.roadmap-meta,.roadmap-thread-meta,.roadmap-card-facts{align-items:center;gap:var(--space-2) var(--space-4);margin:0 0 var(--space-3);font-size:var(--type-meta-size);flex-wrap:wrap;display:flex}.roadmap-origin{margin:0 0 var(--space-4)}.roadmap-status-line{word-break:keep-all}.roadmap-multiline{white-space:pre-wrap;word-break:keep-all;overflow-wrap:anywhere}.roadmap-url{color:var(--text-secondary);overflow-wrap:anywhere;display:block}.roadmap-gated{align-items:flex-start;gap:var(--space-1);flex-direction:column;max-width:100%;display:inline-flex}.roadmap-gated small{font-size:var(--type-small-body-size);word-break:keep-all}.roadmap-list-top{margin-top:0}.roadmap-filters{gap:var(--space-3);margin:var(--space-4) 0;display:grid}.roadmap-search{align-items:flex-end;gap:var(--space-3);max-width:640px;display:flex}.roadmap-search .field{flex:1}.roadmap-grid{gap:var(--space-5);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.roadmap-card{border:1px solid var(--border-strong);background:var(--surface-panel);padding:var(--space-5);min-width:0}.roadmap-card .course-meta{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.roadmap-card .course-meta strong{margin:0}.roadmap-card h3{margin:var(--space-2) 0;word-break:keep-all}.roadmap-card h3 a{color:var(--text-primary)}.roadmap-card-summary{color:var(--text-secondary);word-break:keep-all}.roadmap-card-reason{margin:var(--space-3) 0 0;padding-top:var(--space-3);border-top:1px solid var(--border-subtle);font-size:var(--type-label-size);font-weight:var(--type-label-weight);word-break:keep-all}.roadmap-editor-steps,.roadmap-editor-questions{gap:var(--space-5);margin:0;padding:0;list-style:none;display:grid}.roadmap-route{max-width:100%;position:relative}.roadmap-route:before{content:"";top:calc(var(--target-min-height) / 2);bottom:calc(var(--target-min-height) / 2);left:calc(var(--space-8) / 2 - 1.5px);border-left:3px solid var(--border-strong);position:absolute}.roadmap-route-steps{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.roadmap-route-step{min-width:0;position:relative}.roadmap-route-step>details,.roadmap-route-step>.roadmap-route-static{scroll-margin-top:var(--space-4);padding:0}.roadmap-route-step summary,.roadmap-route-static{grid-template-columns:var(--space-8) minmax(0, 1fr) var(--space-6);align-items:start;column-gap:var(--space-3);min-height:var(--target-min-height);padding:calc((var(--target-min-height) - var(--space-8)) / 2) 0;font-weight:var(--type-body-weight);list-style:none;display:grid}.roadmap-route-step summary::-webkit-details-marker{display:none}.roadmap-route-number{width:var(--space-8);height:var(--space-8);border:2px solid var(--border-strong);background:var(--surface-panel);color:var(--text-primary);font-size:var(--type-label-size);font-weight:var(--type-heading-weight);border-radius:50%;justify-content:center;align-items:center;line-height:1;display:inline-flex;position:relative}.roadmap-route-label{align-items:center;gap:var(--space-1) var(--space-2);min-height:var(--space-8);flex-wrap:wrap;min-width:0;display:flex}.roadmap-route-title{font-weight:var(--type-summary-weight);word-break:keep-all;overflow-wrap:anywhere}.roadmap-route-step summary:hover .roadmap-route-title{text-decoration:underline}.roadmap-route-start{border-color:var(--border-strong);font-weight:var(--type-label-weight)}.roadmap-route-toggle{height:var(--space-8);justify-content:center;align-items:center;display:flex}.roadmap-route-toggle:before{content:"";width:var(--space-2);height:var(--space-2);border-bottom:2px solid;border-right:2px solid;transform:translateY(-25%)rotate(45deg)}.roadmap-route-step details[open]>summary .roadmap-route-toggle:before{transform:translateY(25%)rotate(-135deg)}.roadmap-route-step details[open]>summary .roadmap-route-number{background:var(--action-primary-bg);color:var(--text-on-action)}.roadmap-route-body{gap:var(--space-3);padding:var(--space-2) 0 var(--space-5) calc(var(--space-8) + var(--space-3));justify-items:start;min-width:0;display:grid}.roadmap-route-body>.roadmap-step-body{justify-self:stretch}.roadmap-route-end{grid-template-columns:var(--space-8) minmax(0, 1fr);align-items:center;column-gap:var(--space-3);min-height:var(--target-min-height);margin:var(--space-2) 0 0;font-weight:var(--type-label-weight);display:grid}.roadmap-route-end-dot{width:var(--space-4);height:var(--space-4);background:var(--border-strong);justify-self:center;position:relative}.roadmap-route-hint{margin:0 0 var(--space-4);word-break:keep-all}.roadmap-route-hint a{white-space:nowrap}.roadmap-step-body{gap:var(--space-2) var(--space-4);grid-template-columns:max-content minmax(0,1fr);margin:0;display:grid}.roadmap-step-body dt{font-weight:var(--type-label-weight);font-size:var(--type-label-size)}.roadmap-step-body dd{min-width:0;margin:0}.roadmap-step-body ul{padding-left:var(--space-5);margin:0}.roadmap-resources{gap:var(--space-3);padding:0;list-style:none;display:grid}.roadmap-resource{align-items:baseline;gap:var(--space-2);border:1px solid var(--border-subtle);padding:var(--space-3);flex-wrap:wrap;min-width:0;display:flex}.roadmap-resource small{flex-basis:100%}.roadmap-past-course{grid-template-columns:var(--past-poster-column) minmax(0, 1fr);align-items:start;display:grid}.roadmap-poster-stage{background:var(--surface-subtle);min-height:var(--space-13);justify-content:center;align-items:center;display:flex}.roadmap-poster-stage img{max-width:100%;height:auto;max-height:var(--past-poster-max-height);object-fit:contain;display:block}.roadmap-past-course-body{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.roadmap-resource-missing{color:var(--text-secondary);border-style:dashed}.roadmap-thread-list{margin:var(--space-4) 0 0;gap:var(--space-4);padding:0;list-style:none;display:grid}.roadmap-thread{border-top:1px solid var(--border-subtle);padding-top:var(--space-4);min-width:0}.roadmap-reply{border-left:3px solid var(--border-strong);padding-left:var(--space-4);margin:var(--space-3) 0}.roadmap-row-actions,.roadmap-member-actions>.actions+p.muted{margin-top:var(--space-3)}.roadmap-comments{margin:var(--space-4) 0 0 var(--space-5)}.roadmap-comments ul{padding:0;list-style:none}.roadmap-comments-title,.roadmap-editor-list-title{font-weight:var(--type-label-weight);margin:0 0 var(--space-2)}.roadmap-placeholder{font-style:italic}.roadmap-choices{margin:0 0 var(--space-4);gap:var(--space-2);border:0;padding:0;display:grid}.roadmap-choices legend{font-weight:var(--type-label-weight);margin-bottom:var(--space-2)}.roadmap-write,.roadmap-dialog,.roadmap-result,.roadmap-owner{margin:var(--space-4) 0;gap:var(--space-3);display:grid}.roadmap-dialog h2,.roadmap-dialog h3{margin:0}.roadmap-name-gate p{margin:0 0 var(--space-2)}.roadmap-inline-form{align-items:flex-end;gap:var(--space-3);flex-wrap:wrap;display:flex}.roadmap-compare{margin:var(--space-4) 0;gap:var(--space-6);padding:0;list-style:none;display:grid}.roadmap-compare-row h3,.roadmap-compare-row h4{margin:0 0 var(--space-3);word-break:keep-all}.roadmap-compare-cells{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.roadmap-compare-cells.roadmap-three{grid-template-columns:repeat(3,minmax(0,1fr))}.roadmap-compare-cell{border:1px solid var(--border-subtle);padding:var(--space-4);overflow-wrap:anywhere;min-width:0}.roadmap-compare-cell.changed{border:3px solid var(--border-strong)}.roadmap-compare-label{margin:0 0 var(--space-2);font-size:var(--type-label-size);font-weight:var(--type-label-weight)}.roadmap-mark{font-weight:var(--type-heading-weight)}.roadmap-compare del,.roadmap-struck-block{text-decoration:line-through;display:block}.roadmap-compare-pickers{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;display:grid}.roadmap-history{gap:var(--space-4);padding:0;list-style:none;display:grid}.roadmap-history-item{border-left:3px solid var(--border-strong);padding-left:var(--space-4)}.roadmap-editor{gap:var(--space-8);display:grid}.roadmap-editor-section{gap:var(--space-4);scroll-margin-top:var(--space-8);display:grid}.roadmap-editor-step,.roadmap-editor-question{scroll-margin-top:var(--space-8)}.roadmap-editor fieldset{gap:var(--space-4);border:0;min-width:0;margin:0;padding:0;display:grid}.roadmap-editor legend{font-weight:var(--type-heading-weight);font-size:var(--type-participation-heading-size);word-break:keep-all}.roadmap-editor-list{gap:var(--space-3);display:grid}.roadmap-editor-item{align-items:end;gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.roadmap-editor-choice{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto}.roadmap-resource-adder{align-items:end;gap:var(--space-3);border:1px dashed var(--border-subtle);padding:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.roadmap-submit-bar{border-top:1px solid var(--border-strong);margin-top:var(--space-8);padding-top:var(--space-5)}.roadmap-status-notice{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.roadmap-status-notice p{flex:260px;min-width:0;margin:0}.roadmap-stepper{gap:var(--space-2) var(--space-5);margin:0 0 var(--space-5);font-size:var(--type-meta-size);flex-wrap:wrap;padding:0;list-style:none;display:flex}.roadmap-stepper li[aria-current=step]{font-weight:var(--type-heading-weight);border-bottom:3px solid var(--border-strong)}.roadmap-footer-links p{margin:0 0 var(--space-2)}@media (max-width:1000px){.roadmap-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.roadmap-compare-cells.roadmap-three{grid-template-columns:minmax(0,1fr)}.roadmap-card h3 a,.roadmap-meta a,.roadmap-origin a,.roadmap-thread a,.roadmap-history a,.roadmap-resource a,.roadmap-footer-links a,.roadmap-guide-link a,.roadmap-card-facts a,.roadmap-comments a,.roadmap-result a,.roadmap-route-hint a,.roadmap-dialog p a{position:relative}.roadmap-card h3 a:after,.roadmap-meta a:after,.roadmap-origin a:after,.roadmap-thread a:after,.roadmap-history a:after,.roadmap-resource a:after,.roadmap-footer-links a:after,.roadmap-guide-link a:after,.roadmap-card-facts a:after,.roadmap-comments a:after,.roadmap-result a:after,.roadmap-route-hint a:after,.roadmap-dialog p a:after{content:"";width:max(100%, var(--target-min-height));height:max(100%, var(--target-min-height));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}@media (max-width:700px){.roadmap-grid,.roadmap-compare-cells,.roadmap-compare-pickers,.roadmap-step-body{grid-template-columns:minmax(0,1fr)}.roadmap-past-course{grid-template-columns:var(--past-poster-column-mobile) minmax(0, 1fr)}.roadmap-search .field{min-width:0}.roadmap-editor-item,.roadmap-editor-choice{grid-template-columns:minmax(0,1fr);align-items:start}.roadmap-comments{margin-left:0}}.roadmap-my-results{margin-top:var(--space-6)}.roadmap-row-actions button[aria-pressed=true],.roadmap-member-actions button[aria-pressed=true]{border-color:var(--border-strong);box-shadow:var(--depth-selected);font-weight:var(--type-selected-weight)}.roadmap-row-actions button[aria-pressed=true]:before,.roadmap-member-actions button[aria-pressed=true]:before{content:"";width:var(--selected-marker-size);height:var(--selected-marker-size);background:var(--border-strong);flex:none}@media (max-width:1000px){.roadmap-link-row a:not(.button),.roadmap-link-list a{position:relative}.roadmap-link-row a:not(.button):after,.roadmap-link-list a:after{content:"";width:max(100%, var(--target-min-height));height:max(100%, var(--target-min-height));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.roadmap-thread-meta{min-height:var(--target-min-height)}.roadmap-link-row:not(.actions),.roadmap-footer-links p,.roadmap-link-list li{align-items:center;column-gap:var(--space-2);min-height:var(--target-min-height);flex-wrap:wrap;display:flex}.roadmap-footer-links p{margin:0}.roadmap-link-row:not(.actions)>a:not(.button),.roadmap-link-list li>a{min-height:var(--target-min-height);align-items:center;display:inline-flex}}.roadmap-ladder-section{padding-top:var(--space-4)}.roadmap-ladder-note{margin:0 0 var(--space-3);font-weight:var(--type-label-weight);word-break:keep-all}.roadmap-ladder-hint{margin:0 0 var(--space-5);word-break:keep-all}.roadmap-ladder-frame.has-side{grid-template-columns:minmax(0, 1fr) var(--ladder-side-width);gap:var(--space-8);align-items:start;display:grid}.roadmap-ladder-board{min-width:0;position:relative}.roadmap-ladder-lines{pointer-events:none;position:absolute;top:0;left:0;overflow:visible}.roadmap-ladder-line,.roadmap-ladder-spine,.roadmap-ladder-dot path{fill:none;stroke:var(--border-strong);stroke-width:2px}.roadmap-ladder-line.is-strong{stroke-width:3px}.roadmap-ladder-line.is-dim,.roadmap-ladder-spine,.roadmap-ladder-dot.is-dim path{stroke:var(--border-subtle)}.roadmap-ladder-dot path{stroke-width:1px}.roadmap-ladder-arrow{fill:var(--border-strong)}.roadmap-ladder-arrow.is-dim{fill:var(--border-subtle)}.roadmap-ladder-dot circle{fill:var(--surface-panel);stroke:var(--border-strong);stroke-width:2px}.roadmap-ladder-dot.is-following circle{fill:var(--border-strong)}.roadmap-ladder-dot.is-dim circle{stroke:var(--border-subtle)}.roadmap-ladder{gap:var(--ladder-row-gap);margin:0;padding:0;list-style:none;display:grid;position:relative}.roadmap-ladder-level{grid-template-columns:var(--ladder-label-width) minmax(0, 1fr);column-gap:var(--space-6);align-items:start;display:grid}@media (prefers-reduced-motion:no-preference){.roadmap-ladder-level{animation:block-stack var(--stamp-duration) steps(4, end) backwards;animation-delay:calc(var(--ladder-level,0) * var(--ladder-stagger))}}.roadmap-ladder-level.is-alone{padding-top:var(--space-6);border-top:1px solid var(--border-subtle)}.roadmap-ladder-heading{padding-top:var(--space-3);font-size:var(--type-body-size);font-weight:var(--type-label-weight);word-break:keep-all;margin:0}.roadmap-ladder-row{grid-template-columns:repeat(auto-fill, var(--ladder-node-width));justify-content:center;gap:var(--space-5) var(--space-6);min-width:0;margin:0;padding:0;list-style:none;display:grid}.roadmap-ladder-item{gap:var(--space-3);min-width:0;display:grid}.roadmap-ladder-node{place-content:start stretch;justify-items:start;gap:var(--space-2);width:var(--ladder-node-width);max-width:100%;min-height:var(--target-min-height);padding:var(--space-3) var(--space-4);background:var(--surface-panel);text-align:left;font-weight:var(--type-body-weight);display:grid}.roadmap-ladder-node:hover{background:var(--surface-panel)}.roadmap-ladder-title{font-weight:var(--type-summary-weight);word-break:keep-all;overflow-wrap:anywhere}.roadmap-ladder-facts{align-items:center;gap:var(--space-1) var(--space-2);font-size:var(--type-meta-size);flex-wrap:wrap;display:flex}.roadmap-ladder-node.is-following{border-width:2px}.roadmap-ladder-node.is-active,.roadmap-ladder-node.is-open{box-shadow:var(--depth-map-active), var(--depth-secondary)}.roadmap-ladder-node.is-way{box-shadow:var(--depth-map-near), var(--depth-secondary)}.roadmap-ladder-node.is-dim{border-color:var(--border-subtle);color:var(--text-secondary)}.roadmap-ladder-more{margin-top:var(--space-4);grid-column:2;justify-self:center}.roadmap-mini-route{align-items:center;gap:var(--mini-route-gap);flex-wrap:wrap;display:inline-flex}.roadmap-mini-route i{width:var(--mini-route-dot);height:var(--mini-route-dot);border:2px solid var(--border-strong);background:var(--surface-panel);border-radius:50%;position:relative}.roadmap-mini-route i+i:before{content:"";width:var(--mini-route-gap);border-top:2px solid var(--border-strong);position:absolute;top:50%;right:100%;transform:translateY(-50%)}.roadmap-mini-route i.is-done{background:var(--border-strong)}.roadmap-ladder-preview{align-content:start;justify-items:start;gap:var(--space-3);min-width:0;padding:var(--space-5);border:1px solid var(--border-strong);background:var(--surface-panel);box-shadow:var(--depth-panel);display:grid}.roadmap-ladder-frame.has-side>.roadmap-ladder-preview{top:var(--space-6);position:sticky}.roadmap-ladder-preview.is-empty{box-shadow:none;border-style:dashed}.roadmap-ladder-preview h3,.roadmap-ladder-preview p{word-break:keep-all;overflow-wrap:anywhere;margin:0}.roadmap-ladder-steps{align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;display:flex}.roadmap-ladder-links{gap:var(--space-1);justify-self:stretch;display:grid}.roadmap-ladder-links-label{font-weight:var(--type-label-weight)}.roadmap-ladder-links ul{gap:var(--space-1);margin:0;padding:0;list-style:none;display:grid}.roadmap-ladder-links .text-button{min-height:var(--target-min-height);text-align:left}.roadmap-continue{margin:var(--space-4) 0}.roadmap-continue h2{margin:0 0 var(--space-3);font-size:var(--type-heading-3-size)}.roadmap-continue ul{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.roadmap-continue-item{align-content:start;justify-items:start;gap:var(--space-2);min-width:0;padding:var(--space-4);border:2px solid var(--border-strong);background:var(--surface-panel);display:grid}.roadmap-continue-item p{word-break:keep-all;overflow-wrap:anywhere;margin:0}@media (max-width:1000px){.roadmap-ladder-level{row-gap:var(--space-3);grid-template-columns:minmax(0,1fr)}.roadmap-ladder-heading{padding-top:0}.roadmap-ladder-more{grid-column:1}.roadmap-ladder-item:has(>.roadmap-ladder-preview){grid-column:1/-1;justify-items:center}.roadmap-ladder-item>.roadmap-ladder-preview{justify-self:stretch}.roadmap-continue ul{grid-template-columns:minmax(0,1fr)}}@media (max-width:700px){.roadmap-ladder-board.is-track .roadmap-ladder-row,.roadmap-ladder-board.is-track .roadmap-ladder-heading,.roadmap-ladder-board.is-track .roadmap-ladder-more{margin-left:var(--ladder-track-width)}.roadmap-ladder-row{justify-content:stretch;gap:var(--space-3);grid-template-columns:minmax(0,1fr)}.roadmap-ladder-node{width:100%}.roadmap-ladder-item:has(>.roadmap-ladder-preview){justify-items:stretch}.roadmap-ladder-more{justify-self:start}}.roadmap-linked-step{border-style:dashed}.roadmap-linked-source{align-items:center;gap:var(--space-2) var(--space-3);font-size:var(--type-meta-size);flex-wrap:wrap;margin:0;display:flex}.roadmap-linked-note,.roadmap-linked-unavailable p{word-break:keep-all;margin:0}.roadmap-linked-unavailable{gap:var(--space-2);border:1px dashed var(--border-subtle);padding:var(--space-4);display:grid}.roadmap-linked-detach{justify-items:start;gap:var(--space-2);display:grid}.roadmap-linked-detach>small{font-size:var(--type-small-body-size);word-break:keep-all}.roadmap-step-usage{word-break:keep-all;margin:0}.roadmap-optional-check{align-items:center}.roadmap-step-adders{align-items:flex-start}.roadmap-picker{gap:var(--space-4);border:1px dashed var(--border-subtle);padding:var(--space-4);min-width:0;display:grid}.roadmap-picker h3,.roadmap-picker h4,.roadmap-picker p{word-break:keep-all;margin:0}.roadmap-candidates,.roadmap-import-steps{gap:var(--space-3);min-width:0;display:grid}.roadmap-pick-list{margin:0;padding:0;list-style:none;display:grid}.roadmap-pick-item{align-items:center;gap:var(--space-3);padding:var(--space-3) 0;border-top:1px solid var(--border-subtle);grid-template-columns:minmax(0,1fr) auto;display:grid}.roadmap-pick-item:last-child{border-bottom:1px solid var(--border-subtle)}.roadmap-pick-info{justify-items:start;gap:var(--space-1);word-break:keep-all;overflow-wrap:anywhere;min-width:0;display:grid}.roadmap-pick-info small{font-size:var(--type-meta-size)}.roadmap-pick-marks{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.roadmap-compare-linked{gap:var(--space-1);margin:0;display:grid}.roadmap-compare-step-marks{align-items:center;gap:var(--space-2);margin:0 0 var(--space-2);flex-wrap:wrap;display:flex}@media (max-width:1000px){.roadmap-pick-info a{min-height:var(--target-min-height);align-items:center;display:inline-flex;position:relative}.roadmap-pick-info a:after{content:"";width:max(100%, var(--target-min-height));height:max(100%, var(--target-min-height));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}@media (max-width:700px){.roadmap-pick-item{grid-template-columns:minmax(0,1fr);align-items:start}}.roadmap-route-step.is-optional .roadmap-route-number{border-style:dashed}.roadmap-route-step.is-unavailable .roadmap-route-number{border-color:var(--border-subtle);border-radius:var(--radius-control)}.roadmap-route-step.is-unavailable .roadmap-route-number,.roadmap-route-step.is-unavailable .roadmap-route-title{color:var(--text-secondary)}.roadmap-route-step.is-done .roadmap-route-number{background:var(--action-primary-bg);color:var(--text-on-action)}.roadmap-route-step.is-done .roadmap-route-number:before{content:"";width:var(--space-2);height:var(--space-4);border-bottom:3px solid;border-right:3px solid;transform:translateY(-15%)rotate(45deg)}.roadmap-route-step.is-current .roadmap-route-number{outline:2px solid var(--border-strong);outline-offset:2px;border-width:3px}.roadmap-route-current{border-color:var(--border-strong);font-weight:var(--type-label-weight)}.roadmap-route-changed{border-color:var(--border-strong)}.roadmap-route-change-note{padding-left:var(--space-2);border-left:3px solid var(--border-strong);font-weight:var(--type-label-weight);word-break:keep-all;margin:0}.roadmap-route-step details[open]>.roadmap-route-body{animation:route-open var(--route-open-duration) steps(3, end) backwards}.roadmap-route-step.is-just-done .roadmap-route-number,.roadmap-progress-blocks i.is-new{animation:route-stamp var(--stamp-duration) steps(3, end) backwards}@keyframes route-open{0%{transform:translateY(calc(-1 * var(--route-open-rise)));clip-path:inset(0 0 100%)}to{clip-path:inset(0);transform:none}}@keyframes route-stamp{0%{transform:scale(var(--stamp-scale)) rotate(var(--stamp-tilt))}to{transform:none}}.roadmap-progress-blocks{gap:var(--seat-gauge-gap);margin:var(--space-1) 0;flex-wrap:wrap;display:flex}.roadmap-progress-blocks i{width:var(--progress-block-width);height:var(--seat-gauge-height);border:1px solid var(--border-strong);background:var(--surface-panel)}.roadmap-progress-blocks i.is-done{background:var(--border-strong)}.roadmap-route-source{margin:0}.roadmap-current{gap:var(--space-2);margin:0 0 var(--space-5);justify-items:start;min-width:0;display:grid}.roadmap-current h3,.roadmap-current p{word-break:keep-all;overflow-wrap:anywhere;margin:0}.roadmap-progress-line{font-weight:var(--type-label-weight)}.roadmap-current .actions{margin-top:var(--space-2)}.roadmap-follow{gap:var(--space-2);margin:var(--space-4) 0;justify-items:start;display:grid}.roadmap-follow p{word-break:keep-all;margin:0}.roadmap-prereq-nav{align-items:baseline;gap:var(--space-1) var(--space-3);margin:var(--space-4) 0 0;flex-wrap:wrap;min-width:0;display:flex}.roadmap-prereq-label{margin:0}.roadmap-prereq-line{gap:var(--space-1) var(--space-5);flex-wrap:wrap;min-width:0;margin:0;padding:0;list-style:none;display:flex}.roadmap-prereq-line li{align-items:baseline;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.roadmap-prereq-line a{font-weight:var(--type-summary-weight);word-break:keep-all;overflow-wrap:anywhere}.roadmap-step-follow{gap:var(--space-2);min-width:0;padding-top:var(--space-3);border-top:1px solid var(--border-subtle);justify-self:stretch;justify-items:start;display:grid}.roadmap-step-follow .field{justify-self:stretch}.roadmap-step-follow>small,.roadmap-step-follow form>small{font-size:var(--type-small-body-size);word-break:keep-all}.roadmap-step-follow form.roadmap-step-follow{border-top:0;padding-top:0}.roadmap-step-done,.roadmap-my-result p,.roadmap-follow-first{word-break:keep-all;margin:0}.roadmap-my-result{gap:var(--space-1);min-width:0;display:grid}.roadmap-my-result-head{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.roadmap-result-link{overflow-wrap:anywhere;min-width:0}.roadmap-step-results{gap:var(--space-2);min-width:0;margin-top:var(--space-3);justify-self:stretch;display:grid}.roadmap-step-results h3,.roadmap-step-results p{margin:0}.roadmap-result-list{margin:0;padding:0;list-style:none;display:grid}.roadmap-result-item{gap:var(--space-1);min-width:0;padding:var(--space-2) 0;border-top:1px solid var(--border-subtle);display:grid}.roadmap-result-item:last-child{border-bottom:1px solid var(--border-subtle)}.roadmap-result-meta{align-items:center;gap:var(--space-1) var(--space-3);font-size:var(--type-meta-size);flex-wrap:wrap;display:flex}@media (max-width:1000px){.roadmap-prereq-line li,.roadmap-route-source,.roadmap-result-meta,.roadmap-result-link,.roadmap-result-report{min-height:var(--target-min-height);flex-wrap:wrap;align-items:center;display:flex}.roadmap-prereq-line a,.roadmap-route-source a,.roadmap-result-meta a,.roadmap-result-link a{position:relative}.roadmap-prereq-line a:after,.roadmap-route-source a:after,.roadmap-result-meta a:after,.roadmap-result-link a:after{content:"";width:max(100%, var(--target-min-height));height:max(100%, var(--target-min-height));position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}}
.roadmap-admin{gap:var(--space-4);min-width:0;display:grid}.roadmap-admin-section{padding:var(--space-4);min-width:0;box-shadow:none;border-color:var(--border-subtle);margin:0}.roadmap-admin-section h2{font-size:var(--type-question-heading-size);margin:0;line-height:1.4}.roadmap-admin-section h3{margin:var(--space-4) 0 var(--space-2);font-size:var(--type-compact-size)}.roadmap-admin-section>p.muted{margin:var(--space-2) 0;font-size:var(--type-caption-size)}.roadmap-admin-section-head{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.roadmap-admin-filter{gap:var(--space-2);margin:var(--space-3) 0;flex-wrap:wrap;display:flex}.roadmap-admin-filter button[aria-pressed=true]{background:var(--action-primary-bg);color:var(--text-on-action);border-color:var(--border-strong)}.roadmap-admin-list,.roadmap-admin-rows{gap:var(--space-2);min-width:0;margin:0;padding:0;list-style:none;display:grid}.roadmap-admin-card{border:1px solid var(--border-subtle);border-radius:var(--radius-control);padding:var(--space-3);overflow-wrap:anywhere;word-break:keep-all;min-width:0}.roadmap-admin-card-head{align-items:center;gap:var(--space-2);font-size:var(--type-compact-size);flex-wrap:wrap;display:flex}.roadmap-admin-title{flex:200px;min-width:0}.roadmap-admin-count,.roadmap-admin-card-head time{font-size:var(--type-caption-size);color:var(--text-secondary)}.roadmap-admin-link{font-size:var(--type-caption-size)}.roadmap-admin-sentence{margin:var(--space-2) 0;font-size:var(--type-small-body-size);color:var(--text-secondary)}.roadmap-admin-detail{margin:var(--space-1) 0 0;font-size:var(--type-small-body-size);white-space:pre-wrap}.roadmap-admin-reporters{margin:var(--space-2) 0;border-top:1px solid var(--border-subtle);padding:0;list-style:none}.roadmap-admin-reporters>li{gap:var(--space-1) var(--space-3);padding:var(--space-2) 0;border-bottom:1px solid var(--border-subtle);font-size:var(--type-small-body-size);flex-wrap:wrap;display:flex}.roadmap-admin-reporters>li>.roadmap-admin-detail{color:var(--text-secondary);flex-basis:100%}.roadmap-admin-reporters time{color:var(--text-secondary);font-size:var(--type-caption-size)}.roadmap-admin-reporter{font-weight:var(--type-label-weight)}.roadmap-admin-resolve{gap:var(--space-2);display:grid}.roadmap-admin-resolve .actions{gap:var(--space-2);margin:0}.roadmap-admin-reason{gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;display:grid}.roadmap-admin-reason .field,.roadmap-admin-inline-form .field{margin:0}.roadmap-admin-reason textarea{resize:vertical;min-height:0}.roadmap-admin-field-error{margin:var(--space-1) 0 0;color:var(--text-danger);font-size:var(--type-small-body-size);line-height:1.5}.roadmap-admin [aria-invalid=true]:is(input,select,textarea){border-color:var(--border-danger)}.roadmap-admin-inline-form{align-items:flex-end;gap:var(--space-2);margin:var(--space-2) 0;flex-wrap:wrap;display:flex}.roadmap-admin-inline-form>div:not(.roadmap-admin-feature-action),.roadmap-admin-inline-form>.field{flex:260px;min-width:0}.roadmap-admin-row,.roadmap-admin-found{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-control);flex-wrap:wrap;min-width:0;display:flex}.roadmap-admin-found{margin:var(--space-2) 0;background:var(--surface-subtle)}.roadmap-admin-row-main{gap:var(--space-1);overflow-wrap:anywhere;word-break:keep-all;flex:240px;min-width:0;display:grid}.roadmap-admin-row-main small{color:var(--text-secondary)}.roadmap-admin-row-main .roadmap-admin-sentence{margin:0}.roadmap-admin-feature-action{align-items:center;gap:var(--action-gap);flex-wrap:wrap;display:flex}.roadmap-admin-hide{margin:var(--space-3) 0;border-top:1px solid var(--border-subtle);padding:0}.roadmap-admin-hide>summary{cursor:pointer;font-size:var(--type-compact-size);font-weight:var(--type-summary-weight);align-items:center;display:flex}.roadmap-admin-hide>summary:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.roadmap-admin-hide>form{padding:var(--space-2) 0 var(--space-3);gap:var(--space-3)}.roadmap-admin-preview{margin:var(--space-3) 0;padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-control);font-size:var(--type-small-body-size)}.roadmap-admin-preview ul{padding-left:var(--space-5);margin:0}.roadmap-admin-preview p{margin:var(--space-2) 0 0}.roadmap-admin .actions .danger,.roadmap-admin-feature-action .danger{box-shadow:none}@media (min-width:1001px){.roadmap-admin button,.roadmap-admin .button{min-height:var(--space-10);padding:var(--space-2) var(--space-3);font-size:var(--type-caption-size)}.roadmap-admin-filter button{min-height:var(--space-9)}.roadmap-admin input,.roadmap-admin select{min-height:var(--space-10);padding:var(--space-2) 10px}.roadmap-admin-hide>summary{min-height:var(--space-10)}}@media (max-width:1000px){.roadmap-admin-section{padding:var(--space-3)}.roadmap-admin button,.roadmap-admin .button,.roadmap-admin input,.roadmap-admin select,.roadmap-admin-hide>summary{min-height:var(--target-min-height)}.roadmap-admin-link,.roadmap-admin-row-main>a{align-items:center;display:inline-flex;position:relative}.roadmap-admin-link:after,.roadmap-admin-row-main>a:after{content:"";min-height:var(--target-min-height);position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.roadmap-admin-row-main>a{justify-self:start}}@media (max-width:700px){.roadmap-admin-reason{grid-template-columns:minmax(0,1fr)}.roadmap-admin-inline-form{flex-direction:column;align-items:stretch}.roadmap-admin-inline-form>div:not(.roadmap-admin-feature-action),.roadmap-admin-inline-form>.field{flex-basis:auto}.roadmap-admin-row,.roadmap-admin-found,.roadmap-admin-feature-action{flex-direction:column;align-items:stretch}}
.certificate-page{padding:var(--space-8) 0 var(--space-13)}.certificate-tools{align-items:center;gap:var(--space-2) var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.certificate-page .certificate-tools-hint{color:var(--text-secondary);font-size:var(--type-small-body-size);margin:0}.certificate-stage{width:100%;max-width:760px;margin-inline:auto;container-type:inline-size}.certificate-sheet{--certificate-in:calc(100cqw / 8.268);--certificate-pt:calc(var(--certificate-in) / 72);aspect-ratio:210/297;background:var(--surface-page);width:100%;color:var(--text-primary);letter-spacing:normal;word-break:keep-all;overflow-wrap:anywhere;-webkit-print-color-adjust:exact;print-color-adjust:exact;line-height:1.3;position:relative}.certificate-sheet *,.certificate-sheet :before,.certificate-sheet :after{-webkit-print-color-adjust:exact;print-color-adjust:exact}.certificate-shadow,.certificate-paper{width:calc(var(--certificate-in) * 7.308);height:calc(var(--certificate-in) * 10.733);position:absolute}.certificate-shadow{left:calc(var(--certificate-in) * .54);top:calc(var(--certificate-in) * .54);background:var(--border-strong)}.certificate-paper{left:calc(var(--certificate-in) * .42);top:calc(var(--certificate-in) * .42);background:var(--surface-panel);border:calc(var(--certificate-pt) * 2.5) solid var(--border-strong)}.certificate-frame{left:calc(var(--certificate-in) * .58);top:calc(var(--certificate-in) * .58);width:calc(var(--certificate-in) * 6.988);height:calc(var(--certificate-in) * 10.413);border:calc(var(--certificate-pt) * .75) solid var(--border-strong);padding:calc(var(--certificate-in) * .42) calc(var(--certificate-in) * .3) calc(var(--certificate-in) * .22);grid-template-rows:auto minmax(0,.9fr) auto auto minmax(0,.8fr) auto minmax(0,.45fr) auto minmax(0,.45fr) auto minmax(0,.9fr) auto minmax(0,.25fr) auto minmax(0,.45fr);grid-template-columns:minmax(0,1fr);justify-items:center;display:grid;position:absolute}.certificate-sheet p,.certificate-sheet h1{max-width:none;margin:0}.certificate-steps{width:calc(var(--certificate-in) * .32);height:calc(var(--certificate-in) * .32);position:absolute}.certificate-steps i{width:calc(var(--certificate-in) * .16);height:calc(var(--certificate-in) * .16);background:var(--border-strong);position:absolute}.certificate-steps-start{left:calc(var(--certificate-in) * .18);top:calc(var(--certificate-in) * .18)}.certificate-steps-start i:first-child{top:0;left:0}.certificate-steps-start i:nth-child(2){left:calc(var(--certificate-in) * .16);top:0}.certificate-steps-start i:nth-child(3){left:0;top:calc(var(--certificate-in) * .16)}.certificate-steps-end{right:calc(var(--certificate-in) * .18);bottom:calc(var(--certificate-in) * .18)}.certificate-steps-end i:first-child{bottom:0;right:0}.certificate-steps-end i:nth-child(2){right:calc(var(--certificate-in) * .16);bottom:0}.certificate-steps-end i:nth-child(3){right:0;bottom:calc(var(--certificate-in) * .16)}.certificate-head{justify-content:space-between;justify-self:stretch;align-items:center;gap:calc(var(--certificate-in) * .3);padding:0 calc(var(--certificate-in) * .3) 0 calc(var(--certificate-in) * .342);grid-row:1;display:flex}.certificate-wordmark{width:calc(var(--certificate-in) * 2);height:calc(var(--certificate-in) * .413);flex-shrink:0;display:block;position:relative;overflow:hidden}.certificate-wordmark img{left:calc(var(--certificate-in) * -.1703);top:calc(var(--certificate-in) * -.5456);width:calc(var(--certificate-in) * 2.315);max-width:none;height:auto;position:absolute}.certificate-sheet .certificate-number{color:var(--text-secondary);font-size:calc(var(--certificate-pt) * 11);text-align:right;white-space:nowrap}.certificate-sheet .certificate-title{font-size:calc(var(--certificate-pt) * 54);font-weight:var(--type-heading-weight);letter-spacing:calc(var(--certificate-pt) * 16);margin-right:calc(var(--certificate-pt) * -16);text-align:center;grid-row:3;line-height:1.3}.certificate-sheet .certificate-subtitle{color:var(--text-secondary);font-size:calc(var(--certificate-pt) * 10.5);font-weight:var(--type-heading-weight);letter-spacing:calc(var(--certificate-pt) * 5);margin-right:calc(var(--certificate-pt) * -5);text-align:center;grid-row:4;line-height:1.6}.certificate-sheet .certificate-name{width:fit-content;min-width:calc(var(--certificate-in) * 4.2);max-width:calc(var(--certificate-in) * 6.2);grid-row:6;grid-template-columns:calc(var(--certificate-in) * .8) minmax(0, 1fr) calc(var(--certificate-in) * .8);padding-bottom:calc(var(--certificate-in) * .08);border-bottom:calc(var(--certificate-pt) * 1.5) solid var(--border-strong);align-items:end;display:grid}.certificate-name-label{color:var(--text-secondary);font-size:calc(var(--certificate-pt) * 12);font-weight:var(--type-heading-weight)}.certificate-name-value{font-size:calc(var(--certificate-pt) * 28);font-weight:var(--type-heading-weight);text-align:center}.certificate-sheet .certificate-statement{max-width:calc(var(--certificate-in) * 5.4);font-size:calc(var(--certificate-pt) * 14);text-align:center;grid-row:8;line-height:1.7}.certificate-table{width:calc(var(--certificate-in) * 6.2);border-collapse:collapse;border-top:calc(var(--certificate-pt) * 1.25) solid var(--border-strong);border-bottom:calc(var(--certificate-pt) * 1.25) solid var(--border-strong);text-align:left;grid-row:10}.certificate-table tr+tr{border-top:calc(var(--certificate-pt) * .5) solid var(--border-subtle)}.certificate-table th,.certificate-table td{height:calc(var(--certificate-in) * .42);padding:calc(var(--certificate-in) * .06) calc(var(--certificate-in) * .08);vertical-align:middle}.certificate-table th{width:calc(var(--certificate-in) * 1.1);color:var(--text-secondary);font-size:calc(var(--certificate-pt) * 11);font-weight:var(--type-heading-weight)}.certificate-table td{font-size:calc(var(--certificate-pt) * 12)}.certificate-table tr:first-child td{font-size:calc(var(--certificate-pt) * 13);font-weight:var(--type-heading-weight)}.certificate-sheet .certificate-date{font-size:calc(var(--certificate-pt) * 14);text-align:center;grid-row:12}.certificate-sheet .certificate-issuer{justify-content:center;align-items:center;gap:calc(var(--certificate-in) * .12);font-size:calc(var(--certificate-pt) * 18);text-align:center;grid-row:14;display:flex}.certificate-seal{width:calc(var(--certificate-in) * .75);height:calc(var(--certificate-in) * .75);object-fit:contain;flex-shrink:0;display:block}.certificate-issuer strong{font-weight:var(--type-heading-weight)}.certificate-issuer-role{color:var(--text-secondary);font-size:calc(var(--certificate-pt) * 13);white-space:pre}.certificate-status{padding:var(--space-8) 0}.certificate-status h1{font-size:var(--type-page-title-size);margin-bottom:var(--space-4);line-height:1.25}.certificate-page .certificate-status-number{margin-bottom:var(--space-2);color:var(--text-secondary);font-size:var(--type-small-body-size)}@media (max-width:700px){.certificate-page{padding:var(--space-6) 0 var(--space-11)}.certificate-tools{margin-bottom:var(--space-4)}}@page certificate{size:A4 portrait;margin:0}@media print{body:has(.certificate-sheet){background:var(--surface-page);margin:0}.certificate-page .certificate-tools{display:none}body:has(.certificate-sheet) .skip-link{display:none}body:has(.certificate-sheet) .pwa-install-banner{display:none}body:has(.certificate-sheet) .demo-banner{display:none}body:has(.certificate-sheet) .site-header{display:none}body:has(.certificate-sheet) .site-header+.feedback{display:none}body:has(.certificate-sheet) .site-footer{display:none}body:has(.certificate-sheet) .voxel-stage{display:none}body:has(.certificate-sheet) main{max-width:none;min-height:0;margin:0;padding:0}.certificate-page-issued{page:certificate;break-inside:avoid;justify-content:center;align-items:center;height:100vh;padding:0;display:flex;overflow:hidden}.certificate-page-issued .certificate-stage{width:min(100vw,70.7071vh);max-width:none}}
