:root{color-scheme:dark;--bg:#07110f;--surface:#0c1916;--surface-raised:#12221e;--line:#29413a;--line-soft:#1d322c;--text:#f4f6e9;--muted:#a7b8b0;--mint:#9df8c9;--mint-strong:#57e79b;--ink:#07110f;--danger:#ff9c91;--success:#7ce7aa;background:var(--bg);color:var(--text);font-synthesis:none;font-family:ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.spike-shell{width:min(900px,100% - 32px);margin:0 auto;padding:64px 0}.spike-shell>header{max-width:720px;margin-bottom:32px}.spike-shell h1{letter-spacing:-.055em;margin:8px 0 16px;font-size:clamp(2.25rem,7vw,4.75rem);line-height:.98}.spike-shell h2,.spike-shell h3,.spike-shell p{margin-top:0}.spike-shell .lede{color:#bec8e6;font-size:1.125rem;line-height:1.7}.spike-shell .runner{background:#111932e0;border:1px solid #303c68;border-radius:24px;padding:clamp(20px,5vw,36px);box-shadow:0 24px 80px #00000047}.spike-shell .runner-heading{justify-content:space-between;align-items:start;gap:16px;display:flex}.spike-shell .badge{color:#cbd5ff;border:1px solid #4a5d9c;border-radius:999px;padding:7px 11px;font-size:.8rem}.spike-shell label{margin:14px 0 8px;font-weight:700;display:block}.spike-shell textarea{resize:vertical;color:#f3f5ff;background:#080d1c;border:1px solid #3b4d81;border-radius:14px;width:100%;min-height:260px;padding:16px;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;line-height:1.55;display:block}.spike-shell button{color:#07111e;cursor:pointer;background:#8dd8ff;border:0;border-radius:12px;min-height:48px;margin:16px 0 24px;padding:0 20px;font-weight:800}.spike-shell button:disabled{opacity:.65;cursor:progress}.spike-shell .result{border-top:1px solid #303c68;padding-top:20px}.spike-shell pre{white-space:pre-wrap;color:#bff7d0;background:#080d1c;border-radius:12px;min-height:58px;padding:14px;overflow:auto}.spike-shell .meta,.spike-shell aside{color:#a9b4d1;font-size:.875rem;line-height:1.6}.spike-shell aside{border-left:3px solid #8dd8ff;margin-top:20px;padding:8px 0 8px 16px}@media (width<=520px){.spike-shell{padding-top:36px}.spike-shell .runner-heading{display:block}.spike-shell .badge{margin-bottom:12px;display:inline-block}}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 78% -10%, #4ce09a1c, transparent 27rem), linear-gradient(#ffffff04 1px, transparent 1px), linear-gradient(90deg, #ffffff04 1px, transparent 1px), var(--bg);background-size:auto,52px 52px,52px 52px,auto;min-width:320px;min-height:100vh;margin:0}button,textarea,input{font:inherit}a{color:inherit}button,a{-webkit-tap-highlight-color:transparent}:focus-visible{outline-offset:4px;outline:3px solid #bbffdc}.visually-hidden{clip:rect(0, 0, 0, 0)!important;white-space:nowrap!important;border:0!important;width:1px!important;height:1px!important;margin:-1px!important;padding:0!important;position:absolute!important;overflow:hidden!important}.skip-link{z-index:100;background:var(--mint);color:var(--ink);border-radius:.5rem;padding:.75rem 1rem;font-weight:800;position:fixed;top:1rem;left:1rem;transform:translateY(-180%)}.skip-link:focus{transform:translateY(0)}.site-shell{max-width:1500px;margin:0 auto;padding:0 clamp(1rem,4vw,4.5rem)}.site-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:1rem;min-height:80px;display:flex}.brand{letter-spacing:-.02em;align-items:center;gap:.75rem;font-size:1.05rem;text-decoration:none;display:inline-flex}.brand strong{color:var(--mint)}.brand-mark{width:2.45rem;height:2.45rem;color:var(--mint);background:#10231d;border:1px solid #5b8e79;border-radius:.55rem;place-items:center;display:grid;box-shadow:inset 0 0 18px #57e79b1a}.brand-mark span{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.8rem}.local-pill{border:1px solid var(--line);color:var(--muted);text-transform:uppercase;letter-spacing:.08em;border-radius:100px;align-items:center;gap:.5rem;padding:.5rem .75rem;font-size:.73rem;font-weight:700;display:inline-flex}.local-pill span{color:var(--mint-strong);font-size:.65rem}.dashboard-hero{grid-template-columns:minmax(0,1.25fr) minmax(310px,.75fr);align-items:center;gap:clamp(3rem,8vw,8rem);min-height:610px;padding:6rem 0 5.5rem;display:grid}.hero-copy{max-width:760px}.eyebrow{color:var(--mint);letter-spacing:.12em;text-transform:uppercase;margin:0 0 .9rem;font-family:DM Mono,monospace;font-size:.76rem;font-weight:500}h1,h2,h3,p{overflow-wrap:break-word}h1{letter-spacing:-.065em;max-width:13ch;margin:0;font-size:clamp(3rem,6.3vw,6.25rem);line-height:.98}.hero-lede{color:#c3cfc9;max-width:620px;margin:1.75rem 0 0;font-size:clamp(1.02rem,1.5vw,1.2rem);line-height:1.72}.hero-actions{flex-wrap:wrap;align-items:center;gap:.75rem;margin-top:2rem;display:flex}.button{cursor:pointer;border:1px solid #0000;border-radius:.55rem;justify-content:center;align-items:center;gap:.6rem;min-height:46px;padding:.76rem 1.05rem;font-weight:800;text-decoration:none;transition:transform .15s,background .15s,border-color .15s;display:inline-flex}.button:hover{transform:translateY(-1px)}.button:disabled{cursor:not-allowed;opacity:.58;transform:none}.button.primary{background:var(--mint);color:var(--ink);box-shadow:0 12px 36px #57e79b1f}.button.primary:hover{background:#b4ffda}.button.secondary{color:var(--text);background:#11221e;border-color:#436358}.button.secondary:hover{border-color:var(--mint)}.button.text{color:#c9d5cf;background:0 0}.button.text:hover{color:#fff;background:#ffffff0a}.button.small{min-height:38px;padding:.5rem .75rem;font-size:.84rem}.danger-text{color:var(--danger)!important}.trail-card{background:linear-gradient(145deg,#19322af0,#0a1915f7);border:1px solid #406456;border-radius:1rem;min-height:405px;padding:1.25rem;position:relative;overflow:hidden;box-shadow:0 26px 80px #00000052}.trail-card:before,.trail-card:after{content:"";pointer-events:none;position:absolute}.trail-card:before{border:1px solid #9df8c929;border-radius:50%;width:260px;height:260px;top:-95px;right:-80px;box-shadow:0 0 0 28px #9df8c908,0 0 0 62px #9df8c908}.trail-card:after{opacity:.18;background-image:radial-gradient(#b9f5d5 1px,#0000 1px);background-size:18px 18px;inset:0;mask-image:linear-gradient(#0000,#000 60%)}.trail-topline{z-index:1;color:#84a898;letter-spacing:.12em;justify-content:space-between;font-family:DM Mono,monospace;font-size:.67rem;display:flex;position:relative}.xp-readout{z-index:1;flex-direction:column;margin-top:4.8rem;display:flex;position:relative}.xp-readout strong{color:var(--mint);font-family:DM Mono,monospace;font-size:clamp(3.3rem,6vw,5.2rem);font-weight:500;line-height:1}.xp-readout span{color:#b7c8c0;margin-top:.3rem}.progress-meter{z-index:1;background:#294038;border-radius:100px;height:8px;margin-top:2rem;position:relative;overflow:hidden}.progress-meter span{border-radius:inherit;background:var(--mint-strong);min-width:0;height:100%;transition:width .3s;display:block}.trail-stats{z-index:1;color:#9eb2aa;justify-content:space-between;gap:1rem;margin-top:.75rem;font-size:.78rem;display:flex;position:relative}.trail-stats strong{color:#fff;font-family:DM Mono,monospace}.empty-note{z-index:1;color:#9db2a9;max-width:35ch;margin:1.6rem 0 0;font-size:.82rem;line-height:1.55;position:relative}.signal-lines{z-index:0;opacity:.27;gap:.4rem;display:grid;position:absolute;bottom:.8rem;left:1rem;right:1rem;transform:rotate(-7deg)}.signal-lines i{background:linear-gradient(90deg, transparent, var(--mint), transparent);height:1px;display:block}.signal-lines i:nth-child(2){transform:translate(9%)}.signal-lines i:nth-child(3){transform:translate(-14%)}.signal-lines i:nth-child(4){transform:translate(20%)}.skeleton-stack{gap:1rem;margin-top:5rem;display:grid}.skeleton{background:linear-gradient(90deg,#1e372f,#315044,#1e372f) 0 0/200% 100%;border-radius:100px;width:60%;height:1rem;animation:1.3s linear infinite shimmer;display:block}.skeleton.wide{width:82%;height:4.3rem}.skeleton.narrow{width:40%}@keyframes shimmer{to{background-position:-200% 0}}.inline-error{z-index:1;margin-top:5rem;position:relative}.inline-error strong{color:var(--danger)}.inline-error p{color:var(--muted);line-height:1.5}.section-block{border-top:1px solid var(--line-soft);padding:5.5rem 0;scroll-margin-top:1rem}.section-heading{justify-content:space-between;align-items:end;gap:2rem;margin-bottom:2.4rem;display:flex}.section-heading h2,.progress-tools h2{letter-spacing:-.045em;margin:0;font-size:clamp(2.1rem,4vw,3.5rem);line-height:1.08}.state-legend{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;gap:.6rem 1rem;font-size:.73rem;display:flex}.state-legend>span{align-items:center;gap:.35rem;display:inline-flex}.status-mark,.locked-dot,.lock-mini{width:1.25rem;height:1.25rem;color:var(--muted);border:1px solid #456258;border-radius:50%;flex:none;place-items:center;font-size:.7rem;font-weight:800;display:inline-grid}.status-mark.in-progress{color:#72d8f0;border-color:#72d8f0}.status-mark.completed{border-color:var(--mint);background:var(--mint);color:var(--ink)}.phase-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.phase-card{--accent:var(--mint);border:1px solid #315146;border-top:3px solid var(--accent);background:linear-gradient(160deg,#142721f7,#091713f7);border-radius:.8rem;flex-direction:column;min-height:520px;padding:1.5rem;display:flex;position:relative}.phase-card.accent-sky{--accent:#76dcef}.phase-card.accent-violet{--accent:#bba3ff}.phase-card.accent-amber{--accent:#ffc76d}.phase-card.accent-coral{--accent:#ff9c88}.phase-card.accent-rose{--accent:#ff9fba}.phase-card.accent-lime{--accent:#c8ef7b}.phase-card.locked{filter:saturate(.75);border-top-color:#40544d}.capstone-preview{background:linear-gradient(135deg,#12241ef5,#081411f5);border:1px dashed #577064;border-radius:.8rem;grid-template-columns:1fr auto;align-items:center;gap:2rem;margin-top:1rem;padding:1.5rem;display:grid}.capstone-preview h3{margin:.2rem 0 .55rem;font-size:clamp(1.5rem,3vw,2.2rem)}.capstone-preview p:not(.eyebrow){max-width:68ch;color:var(--muted);margin:0;line-height:1.6}.capstone-lock{justify-items:end;gap:.6rem;min-width:210px;display:grid}.capstone-lock small,.capstone-lock code{color:#8fa39a;font-size:.7rem}.capstone-lock code{overflow-wrap:anywhere}.capstone-preview.complete{background:linear-gradient(135deg,#183d2df5,#081913f5);border-style:solid;border-color:#65c88f}.capstone-shell{background:radial-gradient(circle at 85% 5%, #78ffb214, transparent 31rem), var(--bg);min-height:100vh}.capstone-shell>main{width:min(1180px,100% - 2rem);margin:0 auto;padding:5rem 0 8rem}.capstone-hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) 290px;align-items:end;gap:3rem;padding:4rem 0;display:grid}.capstone-hero h1{color:#c8ffdf;letter-spacing:-.065em;max-width:11ch;margin:.5rem 0 1.2rem;font-size:clamp(3.6rem,8vw,7.5rem);line-height:.92}.capstone-hero>div>p:not(.eyebrow){color:#bdcbc5;max-width:65ch;font-size:1.15rem;line-height:1.75}.capstone-meta{flex-wrap:wrap;gap:.5rem;margin-top:1.3rem;display:flex}.capstone-meta span{color:#9eb5ab;border:1px solid #3c5e51;border-radius:100px;padding:.45rem .65rem;font-family:DM Mono,monospace;font-size:.68rem}.capstone-hero aside{background:#0b1b16;border:1px solid #416253;border-radius:.7rem;padding:1.2rem}.capstone-hero aside>strong{color:var(--mint);font-size:1.15rem;display:block}.capstone-hero aside .progress-meter{margin:1rem 0 .7rem}.capstone-hero aside p{color:var(--muted);margin:0;font-size:.75rem}.capstone-locked{background:#0d1a17;border:1px solid #52665d;border-radius:.8rem;max-width:760px;margin:4rem auto;padding:2rem}.capstone-locked h2{font-size:clamp(2rem,6vw,4rem)}.capstone-locked p,.capstone-locked li{color:var(--muted);line-height:1.65}.capstone-locked .button{margin-top:1rem}.capstone-panel{background:linear-gradient(145deg,#10241df5,#081612f5);border:1px solid #335247;border-radius:.85rem;margin-top:2rem;padding:clamp(1.25rem,4vw,2.2rem)}.capstone-panel h2{letter-spacing:-.04em;margin:.2rem 0 .9rem;font-size:clamp(2rem,5vw,3.5rem)}.capstone-panel h3{margin:.2rem 0 .8rem}.capstone-panel li,.capstone-guidance{color:#aebfb7;line-height:1.65}.capstone-brief{grid-template-columns:1.05fr .95fr;gap:2rem;display:grid}.capstone-brief>div:last-child{background:#57e79b12;border-radius:.6rem;padding:1.2rem}.capstone-brief p{color:#becbc5;line-height:1.75}.capstone-section-heading{justify-content:space-between;align-items:start;gap:1.5rem;display:flex}.capstone-section-heading>span{color:var(--mint);border:1px solid #45675a;border-radius:100px;flex:none;padding:.5rem .7rem;font-family:DM Mono,monospace;font-size:.7rem}.planning-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem;margin-top:1.5rem;display:grid}.planning-grid label,.milestone-notes{background:#081713;border:1px solid #304d43;border-radius:.6rem;align-content:start;gap:.55rem;padding:1rem;display:grid}.planning-grid label>span{color:#93a89f;min-height:3.3rem;font-size:.78rem;line-height:1.55}.planning-grid textarea,.milestone-notes textarea,.final-review textarea{resize:vertical;width:100%;color:var(--text);background:#06110e;border:1px solid #395a4d;border-radius:.45rem;padding:.8rem;line-height:1.55}.planning-grid small,.milestone-notes small{color:#718a80;font-size:.67rem}.capstone-file-tree{gap:.5rem;margin:1.5rem 0;display:grid}.capstone-file-tree>div{background:#071510;border:1px solid #315044;border-radius:.45rem;grid-template-columns:minmax(180px,.8fr) .4fr 1fr;align-items:baseline;gap:1rem;padding:.8rem 1rem;display:grid}.capstone-file-tree code{color:#b8f5d5;overflow-wrap:anywhere}.capstone-file-tree span,.capstone-file-tree small{color:#859b91}.workflow-steps{color:#9dafa7;line-height:1.6}.capstone-milestones{gap:.7rem;margin-top:1.5rem;display:grid}.capstone-milestones details{background:#091713;border:1px solid #335147;border-radius:.65rem;overflow:hidden}.capstone-milestones summary{cursor:pointer;grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;padding:1rem;display:grid}.capstone-milestones summary>span{width:1.8rem;height:1.8rem;color:var(--mint);border:1px solid #476c5e;border-radius:50%;place-items:center;display:grid}.capstone-milestones summary div{gap:.2rem;display:grid}.capstone-milestones summary small{color:#8fa39b;line-height:1.45}.capstone-milestones summary em{color:#829a8f;font-size:.7rem;font-style:normal}.milestone-body{gap:.6rem;padding:0 1rem 1rem 3.8rem;display:grid}.milestone-body>label:not(.milestone-notes),.final-review>label:not(.reflection-label){color:#b5c3bd;grid-template-columns:auto 1fr;align-items:start;gap:.7rem;font-size:.82rem;line-height:1.55;display:grid}.milestone-body input,.final-review input{width:1.1rem;height:1.1rem;accent-color:var(--mint-strong)}.rubric-table{border:1px solid #36554a;border-radius:.6rem;margin-top:1.5rem;overflow:hidden}.rubric-row{grid-template-columns:.45fr 1fr 1fr;display:grid}.rubric-row>*{color:#abbcb4;border-bottom:1px solid #29463c;min-width:0;padding:.9rem;font-size:.78rem;line-height:1.55}.rubric-row>*+*{border-left:1px solid #29463c}.rubric-row>strong:first-child{color:var(--mint);text-transform:capitalize}.rubric-head{background:#122920}.rubric-head strong{color:#e9f3ed!important;text-transform:none!important}.final-review{border-color:#4d775f;gap:.75rem;display:grid}.final-review .reflection-label{margin-top:1rem}.capstone-complete-button{justify-self:start;margin-top:.6rem}.gated-reference{color:#94a79f;border:1px dashed #53675e;border-radius:.5rem;margin-top:1rem;padding:.9rem 1rem;font-size:.78rem}.course-complete{background:radial-gradient(circle at 100% 0,#57e79b29,#0000 25rem),#0b1d16;border:1px solid #62a77f;border-radius:.9rem;margin-top:2rem;padding:clamp(1.5rem,5vw,3rem)}.course-complete h2{color:#c8ffdf;margin:.2rem 0 1rem;font-size:clamp(2.5rem,7vw,5rem)}.course-complete>p{color:#b5c5bd;max-width:70ch;line-height:1.7}.reference-design{background:#071510;border:1px solid #3b6753;border-radius:.7rem;margin:2rem 0;padding:1.3rem}.reference-design p,.reference-design li{color:#abbcb4;line-height:1.65}.phase-card-top{justify-content:space-between;align-items:center;display:flex}.phase-number{color:var(--accent);font-family:DM Mono,monospace;font-size:2rem}.phase-lock{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:.35rem;font-family:DM Mono,monospace;font-size:.7rem;display:inline-flex}.phase-eyebrow{text-transform:uppercase;letter-spacing:.08em;margin:1.8rem 0 .45rem;font-weight:800;color:var(--accent)!important;font-size:.72rem!important}.phase-card h3{letter-spacing:-.03em;margin:0;font-size:clamp(1.4rem,2vw,1.9rem)}.phase-card>p{color:var(--muted);margin:.8rem 0 1.4rem;font-size:.88rem;line-height:1.62}.lesson-list{border-top:1px solid var(--line-soft);margin:0;padding:0;list-style:none}.lesson-list li{border-bottom:1px solid var(--line-soft)}.lesson-list a,.lesson-list li>div{grid-template-columns:auto 1fr auto;align-items:center;gap:.7rem;min-height:62px;padding:.6rem .15rem;text-decoration:none;display:grid}.lesson-list a{border-radius:.3rem}.lesson-list a:hover{background:#ffffff08}.lesson-list small{color:#70877e;text-transform:uppercase;letter-spacing:.08em;margin-bottom:.15rem;font-family:DM Mono,monospace;font-size:.61rem;display:block}.lesson-list li>div{color:#91a199}.state-chip{color:#9fb4ab;white-space:nowrap;border:1px solid #345248;border-radius:100px;padding:.28rem .45rem;font-size:.61rem}.state-chip.in-progress{color:#85def2;border-color:#4a93a4}.state-chip.completed{color:var(--mint);border-color:#4d9c71}.state-chip.locked{color:#71857c;border-color:#2c413a}.phase-project{color:#a7b8b0;justify-content:space-between;align-items:center;gap:1rem;margin-top:auto;padding-top:1.4rem;font-size:.77rem;display:flex}.phase-project span{color:var(--accent);letter-spacing:.08em;font-family:DM Mono,monospace;font-size:.62rem}.phase-project strong{text-align:right;margin-left:auto}.phase-project em{font-style:normal}.phase-project-link{border-radius:.4rem;margin-inline:-.35rem;padding:1.1rem .35rem .35rem;text-decoration:none}.phase-project-link:hover{background:#ffffff0a}.unlock-note{text-align:right;margin:.6rem 0 0!important;font-size:.7rem!important}.progress-tools{background:linear-gradient(130deg,#142a23,#0c1d18);border:1px solid #35594b;border-radius:1rem;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:2rem 3rem;margin:1rem 0 5.5rem;padding:clamp(1.4rem,4vw,2.8rem);display:grid}.progress-tools h2{font-size:clamp(1.8rem,3vw,2.6rem)}.progress-tools .muted{max-width:58ch;margin-bottom:0}.workflow-settings{border:0;grid-column:1/-1;grid-template-columns:repeat(3,1fr);gap:.75rem;margin:0;padding:0;display:grid}.workflow-settings legend{color:var(--mint);margin-bottom:.75rem;font-weight:800}.workflow-settings label{cursor:pointer;background:#0b1814;border:1px solid #35594b;border-radius:.65rem;align-items:flex-start;gap:.75rem;padding:1rem;display:flex}.workflow-settings label:has(input:checked){border-color:var(--mint);box-shadow:inset 0 0 0 1px var(--mint)}.workflow-settings input{accent-color:var(--mint);margin-top:.2rem}.workflow-settings span{gap:.25rem;display:grid}.workflow-settings small{color:#a8b8b1;line-height:1.45}.muted{color:var(--muted);line-height:1.65}.progress-tool-actions,.cluster{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.import-preview{background:#57e79b0f;border:1px solid #568d76;border-radius:.6rem;grid-column:1/-1;justify-content:space-between;align-items:center;gap:2rem;padding:1rem;display:flex}.import-preview p{color:var(--muted);margin:.35rem 0 0;font-size:.82rem;line-height:1.5}.status-region{grid-column:1/-1;min-height:0}.notice{background:#ffffff08;border-left:3px solid;margin:0;padding:.75rem 1rem;font-size:.84rem}.success-notice{color:var(--success)}.error-notice{color:var(--danger)}.site-footer{border-top:1px solid var(--line-soft);color:#80958c;justify-content:space-between;align-items:center;gap:1rem;min-height:92px;font-size:.75rem;display:flex}.site-footer strong{color:#b8c7c0}@media (width>=1150px){.phase-card:first-child{grid-column:span 2;grid-template-columns:1fr 1.35fr;column-gap:3rem;min-height:445px;display:grid}.phase-card:first-child .phase-card-top,.phase-card:first-child .phase-eyebrow,.phase-card:first-child h3,.phase-card:first-child>p{grid-column:1}.phase-card:first-child .lesson-list{border-top:0;grid-area:1/2/span 5}.phase-card:first-child .phase-project{grid-column:1}}@media (width<=860px){.dashboard-hero{grid-template-columns:1fr;gap:2.5rem;padding:4rem 0}.trail-card{min-height:360px}.section-heading{flex-direction:column;align-items:start}.state-legend{justify-content:flex-start}.phase-grid,.progress-tools{grid-template-columns:1fr}.progress-tools>*{grid-column:1}.workflow-settings{grid-template-columns:1fr}}@media (width<=560px){.site-shell{padding:0 1rem}.site-header{min-height:68px}.local-pill{justify-content:center;width:2rem;height:2rem;padding:0;font-size:0}.local-pill span{font-size:.75rem}h1{font-size:clamp(2.8rem,14vw,4.2rem)}.hero-actions .button{width:100%}.trail-card{min-height:345px;padding:1rem}.phase-card{min-height:auto;padding:1.15rem}.lesson-list a,.lesson-list li>div{grid-template-columns:auto minmax(0,1fr)}.lesson-list .state-chip{grid-column:2;justify-self:start}.phase-project{flex-direction:column}.phase-project strong,.unlock-note{text-align:left}.progress-tool-actions .button{width:100%}.import-preview{flex-direction:column;align-items:stretch}.import-preview .button{flex:1}.site-footer{flex-direction:column;justify-content:center;align-items:flex-start;padding:1.5rem 0}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.lesson-shell{min-height:100vh}.lesson-header{z-index:30;border-bottom:1px solid var(--line);backdrop-filter:blur(14px);background:#07110ff0;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;height:72px;padding:0 clamp(1rem,3vw,3rem);display:grid;position:sticky;top:0}.lesson-header>.button{justify-self:end}.lesson-save-state{color:#91a79d;text-transform:uppercase;letter-spacing:.08em;align-items:center;gap:.45rem;font-size:.7rem;display:inline-flex}.lesson-save-state span{color:var(--mint-strong)}.lesson-frame{grid-template-columns:260px minmax(0,1fr);max-width:1500px;margin:0 auto;display:grid}.lesson-rail{border-right:1px solid var(--line-soft);background:#07110fb8;flex-direction:column;height:calc(100vh - 72px);padding:2.2rem 1.5rem 1.5rem clamp(1rem,3vw,3rem);display:flex;position:sticky;top:72px}.rail-back{color:#aabbb3;margin-bottom:2.4rem;font-size:.78rem;text-decoration:none}.lesson-rail>p{color:var(--mint);letter-spacing:.1em;font-family:DM Mono,monospace;font-size:.64rem}.lesson-rail nav{gap:.1rem;margin-top:.8rem;display:grid;overflow-y:auto}.lesson-rail nav a{color:#83998f;border-left:2px solid #0000;padding:.5rem .7rem;font-size:.73rem;text-decoration:none}.lesson-rail nav a:hover,.lesson-rail nav a:focus-visible{border-left-color:var(--mint);color:#fff;background:#ffffff08}.rail-progress{color:#879c92;margin-top:auto;font-size:.7rem}.rail-progress>div{background:#233b33;border-radius:10px;height:5px;margin:.6rem 0}.rail-progress i{border-radius:inherit;background:var(--mint-strong);height:100%;display:block}.rail-progress strong{color:#cad6d0;font-family:DM Mono,monospace;font-weight:400}.lesson-main{min-width:0}.lesson-main>.notice{margin:1rem clamp(1rem,6vw,6rem) 0}.lesson-main article{max-width:930px;margin:0 auto;padding:0 clamp(1.25rem,5vw,4.5rem) 7rem}.lesson-hero{padding:clamp(4rem,9vw,8rem) 0 5rem;scroll-margin-top:90px}.lesson-hero h1{max-width:11ch;font-size:clamp(3.4rem,7vw,6.4rem)}.lesson-deck{color:#c0cdc7;max-width:690px;margin:1.6rem 0 0;font-size:clamp(1.1rem,2vw,1.35rem);line-height:1.65}.lesson-meta{flex-wrap:wrap;gap:.5rem;margin-bottom:2.2rem;display:flex}.lesson-meta span{color:#9db4aa;letter-spacing:.07em;border:1px solid #35574b;border-radius:100px;padding:.35rem .55rem;font-family:DM Mono,monospace;font-size:.62rem}.objectives{border-left:3px solid var(--mint);background:#57e79b0d;margin-top:3rem;padding:1.3rem 1.5rem}.objectives strong{color:var(--mint)}.objectives ul{grid-template-columns:repeat(2,1fr);gap:.65rem 1.5rem;margin:1rem 0 0;padding:0;list-style:none;display:grid}.objectives li:before{content:"↳";color:var(--mint);margin-right:.55rem}.concept-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin-top:2rem;display:grid}.concept-summary>div{border:1px solid var(--line);background:#ffffff05;border-radius:12px;padding:1rem 1.1rem}.concept-summary strong{color:var(--mint);margin-bottom:.45rem;display:block}.concept-summary p{color:#b6c8c0;margin:0;line-height:1.55}.lesson-section{border-top:1px solid var(--line-soft);padding:5.5rem 0;scroll-margin-top:72px}.lesson-section h2,.lesson-finish h2{letter-spacing:-.05em;max-width:18ch;margin:0 0 1.4rem;font-size:clamp(2.2rem,5vw,4rem);line-height:1.08}.lesson-section h3{letter-spacing:-.02em;margin:2.5rem 0 .65rem;font-size:1.3rem}.lesson-section>p,.prose-section>p{color:#bdcac4;max-width:70ch;font-size:1.04rem;line-height:1.82}code,pre{font-family:DM Mono,ui-monospace,SFMono-Regular,Consolas,monospace}.prose-section p code,.requirements-list code,.instruction-steps code{color:#b7f5d5;background:#10201c;border:1px solid #345047;border-radius:.25rem;padding:.15rem .35rem;font-size:.88em}.concept-callout{background:#57e79b0d;border:1px solid #365b4c;border-radius:.6rem;gap:1rem;margin:2.2rem 0;padding:1.2rem;display:flex}.concept-callout>span{background:var(--mint);width:2rem;height:2rem;color:var(--ink);border-radius:50%;flex:none;place-items:center;font-weight:800;display:grid}.concept-callout>div{min-width:0}.concept-callout p{color:#aebfb7;overflow-wrap:anywhere;margin:.35rem 0 0;font-size:.88rem;line-height:1.65}.concept-callout.caution{background:#ffc76d0d;border-color:#66563b}.concept-callout.caution>span{background:#ffc76d}.runner-card{background:#0b1714;border:1px solid #3a5a50;border-radius:.75rem;margin:2.6rem 0;overflow:hidden;box-shadow:0 18px 50px #0000002e}.runner-heading{justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.2rem .5rem;display:flex}.runner-heading h3{margin:.25rem 0 0;font-size:1.15rem}.runner-kicker,.code-label{color:#7f9d91;letter-spacing:.1em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.61rem}.safe-runtime{color:#8fc9ad;align-items:center;gap:.4rem;font-size:.68rem;display:inline-flex}.safe-runtime span{color:var(--mint)}.runner-card>p{color:#9eb1a8;margin:.2rem 1.2rem 1rem;font-size:.82rem;line-height:1.55}.code-label{border-top:1px solid var(--line-soft);padding:.6rem 1.2rem;display:block}.example-expected{background:#57e79b0a;border:1px solid #29473c;border-radius:.4rem;grid-template-columns:auto 1fr;align-items:start;gap:1rem;margin:.6rem 1.2rem 1rem;padding:.75rem;display:grid}.example-expected>span{color:#7f9d91;letter-spacing:.09em;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:.58rem}.example-expected pre{color:#cef6df;white-space:pre-wrap;margin:0;font-size:.76rem;line-height:1.55}.code-editor{resize:vertical;border:0;border-block:1px solid var(--line-soft);color:#d8f7e7;tab-size:2;background:#07110f;border-radius:0;width:100%;min-height:115px;padding:1.2rem;font-family:DM Mono,ui-monospace,Consolas,monospace;font-size:.89rem;line-height:1.7;display:block}.code-editor:focus-visible{z-index:2;outline-offset:-4px;position:relative}.runner-controls{justify-content:space-between;align-items:center;gap:1rem;padding:.8rem 1.2rem;display:flex}.runner-controls>span{color:#779087;text-align:right;font-size:.67rem}.output-panel{border-top:1px solid var(--line-soft);background:#050c0a;min-height:105px;padding:1rem 1.2rem}.output-title{color:#658278;letter-spacing:.1em;justify-content:space-between;margin-bottom:.8rem;font-family:DM Mono,monospace;font-size:.58rem;display:flex}.output-panel pre,.challenge-output pre{color:#f1f6ea;white-space:pre-wrap;margin:0;line-height:1.65}.output-placeholder{color:#64776f;margin:0;font-size:.78rem}.runtime-error{color:var(--danger)}.runtime-error strong{text-transform:capitalize}.runtime-error p{margin:.35rem 0;font-size:.8rem;line-height:1.5}.runtime-error span{color:#cc8b83;font-size:.7rem}.code-anatomy{background:#0a1713;border:1px solid #3d5c52;border-radius:.7rem;margin:2rem 0 3rem;padding:2rem;overflow:hidden}.code-anatomy>code{text-align:center;font-size:clamp(1.5rem,6vw,3.7rem);display:block}.code-anatomy code span{color:#72dcef}.code-anatomy code em{color:#b9f0a4;font-style:normal}.code-anatomy code b{color:#d7c4ff}.code-anatomy>div{color:#81978e;justify-content:center;gap:2.5rem;margin-top:1.5rem;font-size:.68rem;display:flex}.code-anatomy>div span{align-items:center;gap:.4rem;display:inline-flex}.code-anatomy i{background:#72dcef;border-radius:50%;width:.55rem;height:.55rem}.code-anatomy span:nth-child(2) i{background:#d7c4ff}.code-anatomy span:nth-child(3) i{background:#b9f0a4}.compare-grid{grid-template-columns:repeat(3,1fr);gap:.6rem;display:grid}.compare-grid>div{background:#0d1b17;border:1px solid #2d483f;border-radius:.5rem;padding:1rem}.compare-grid span{color:#769187;letter-spacing:.1em;font-family:DM Mono,monospace;font-size:.6rem;display:block}.compare-grid code{color:var(--mint);margin:1rem 0;font-size:1.08rem;display:block}.compare-grid p{color:#90a39a;margin:0;font-size:.72rem;line-height:1.5}.studio-window-card{background:#121b19;border:1px solid #3b4e49;border-radius:.7rem;margin:2.5rem 0;overflow:hidden}.fake-window-bar{color:#b9c2bf;background:#202a28;border-bottom:1px solid #35423f;grid-template-columns:1fr auto 1fr;align-items:center;min-height:43px;padding:0 .85rem;font-size:.72rem;display:grid}.fake-window-bar>span:last-child{text-align:right}.fake-window-bar i{background:#fd7d71;border-radius:50%;width:.55rem;height:.55rem;margin-right:.3rem;display:inline-block}.fake-window-bar i:nth-child(2){background:#f5c767}.fake-window-bar i:nth-child(3){background:#66cf8c}.fake-output{color:#d5dedb;align-content:start;gap:.55rem;min-height:155px;padding:1.1rem;font-family:DM Mono,monospace;font-size:.73rem;display:grid}.fake-output b{color:#849991;margin-right:1rem;font-weight:400}.fake-output .fake-error{color:#ff9a90}.studio-window-card>p{color:#9eaea8;border-top:1px solid #35423f;margin:0;padding:1rem;font-size:.78rem;line-height:1.5}.compact-steps{grid-template-columns:repeat(3,1fr);gap:.6rem;margin:2rem 0;padding:0;list-style:none;display:grid}.compact-steps li{color:#a8b8b1;border:1px solid #2c473e;border-radius:.5rem;padding:1rem;font-size:.78rem;line-height:1.55}.compact-steps li span{width:1.6rem;height:1.6rem;color:var(--mint);background:#213a31;border-radius:50%;place-items:center;margin-bottom:.8rem;font-family:DM Mono,monospace;display:grid}.activity-section{position:relative}.activity-heading{justify-content:space-between;align-items:flex-start;gap:2rem;display:flex}.activity-heading h2{margin-bottom:0}.activity-badge{color:#9caea6;border:1px solid #3a564d;border-radius:100px;flex:none;align-items:center;gap:.45rem;padding:.48rem .65rem;font-size:.69rem;display:inline-flex}.activity-badge.done{color:var(--mint);border-color:#4f9e74}.activity-badge.done span{color:var(--mint)}.quiz-list{gap:.8rem;margin-top:2.5rem;display:grid}.quiz-question{background:#0c1916;border:1px solid #304b42;border-radius:.65rem;margin:0;padding:1.2rem}.quiz-question.correct{border-color:#3f7f5e}.quiz-question.incorrect{border-color:#79544e}.quiz-question legend{align-items:center;gap:.8rem;padding:0 .4rem;font-weight:800;line-height:1.45;display:flex}.quiz-question legend>span{color:#719085;font-family:DM Mono,monospace;font-size:.65rem;font-weight:400}.inline-code-block{color:#c9f4dc;background:#06100d;border-radius:.4rem;margin:.9rem 0;padding:.8rem;font-size:.8rem;overflow-x:auto}.quiz-choices{gap:.45rem;margin-top:1rem;display:grid}.quiz-choice{cursor:pointer;color:#abbab3;border:1px solid #2b423b;border-radius:.45rem;grid-template-columns:auto 1fr;gap:.75rem;padding:.8rem;font-size:.84rem;line-height:1.45;display:grid}.quiz-choice:hover{background:#ffffff05;border-color:#4f7165}.quiz-choice.selected{color:#fff;background:#57e79b0a;border-color:#72a78f}.quiz-choice input{width:1.05rem;height:1.05rem;accent-color:var(--mint-strong);margin:.1rem 0 0}.quiz-choice small{color:#9eb0a8;grid-column:2;line-height:1.5}.quiz-choice small.choice-correct{color:var(--success)}.quiz-choice small.choice-wrong{color:#e8a49b}.question-explanation{color:#a7b7b0;background:#ffffff05;border-left:2px solid #557265;gap:.35rem;margin-top:.8rem;padding:.8rem;font-size:.76rem;line-height:1.5;display:grid}.question-explanation strong{color:#fff}.activity-submit{justify-content:space-between;align-items:center;gap:2rem;margin-top:1.5rem;display:flex}.success-text{color:var(--success)}.error-text{color:var(--danger)}.question-explanation a{color:var(--mint);justify-self:start}.mission-target{background:#57e79b0d;border:1px solid #446d5d;border-radius:.6rem;align-items:stretch;margin:2rem 0 1.5rem;display:flex;overflow:hidden}.mission-target>span{color:#8cb09f;letter-spacing:.1em;writing-mode:vertical-rl;border-right:1px solid #446d5d;place-items:center;padding:1rem;font-family:DM Mono,monospace;font-size:.58rem;display:grid}.mission-target pre{color:#d8f9e7;margin:0;padding:1.2rem;line-height:1.7}.challenge-section>.code-label{border:0;padding-left:0}.challenge-editor{border:1px solid #37574c;border-radius:.55rem}.challenge-section>.runner-controls{padding-inline:0}.challenge-results{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:1rem;display:grid}.challenge-output,.test-checks{background:#07110f;border:1px solid #2c473e;border-radius:.55rem;min-height:150px;margin:0;padding:1rem}.challenge-output>span{color:#6f8c80;letter-spacing:.1em;margin-bottom:.8rem;font-family:DM Mono,monospace;font-size:.58rem;display:block}.challenge-output>p{color:#70847b;font-size:.78rem}.test-checks{align-content:center;gap:.7rem;list-style:none;display:grid}.test-checks li{color:#9cafa6;align-items:center;gap:.6rem;font-size:.76rem;display:flex}.test-checks li span{border-radius:50%;place-items:center;width:1.2rem;height:1.2rem;font-weight:800;display:grid}.test-checks .passed span{background:var(--mint);color:var(--ink)}.test-checks .failed{color:#e2a39b}.test-checks .failed span{color:#ffaea5;border:1px solid #b36b62}.hints-box{border:1px dashed #516c62;border-radius:.6rem;gap:.7rem;margin-top:2rem;padding:1rem;display:grid}.hints-box>div{justify-content:space-between;gap:1rem;display:flex}.hints-box>div span{color:#7f948b;font-size:.72rem}.hints-box .button{justify-self:start}.hint{color:#afbeb7;background:#10211c;border-radius:.4rem;grid-template-columns:auto 1fr;gap:.8rem;margin:0;padding:.8rem;font-size:.78rem;line-height:1.55;display:grid}.hint span{color:var(--mint);text-transform:uppercase;letter-spacing:.06em;font-family:DM Mono,monospace;font-size:.62rem}.solution-details{border:1px solid #2c453d;border-radius:.5rem;margin-top:1rem}.solution-details summary{cursor:pointer;color:#aebdb6;padding:.9rem 1rem;font-size:.78rem;font-weight:700}.solution-details[open] summary{border-bottom:1px solid #2c453d}.solution-details>p{color:#899e94;margin:1rem;font-size:.76rem}.solution-details pre{color:#c9f4dc;background:#06100d;border-radius:.4rem;margin:1rem;padding:1rem;font-size:.8rem;line-height:1.7;overflow-x:auto}.studio-grid{grid-template-columns:1.2fr .8fr;gap:.8rem;margin:2.2rem 0;display:grid}.studio-grid h3{margin-top:0}.studio-grid>div{background:#0c1916;border:1px solid #304a42;border-radius:.6rem;padding:1.2rem}.requirements-list{color:#adbbb5;gap:.65rem;margin:1rem 0 0;padding-left:1.2rem;font-size:.82rem;line-height:1.55;display:grid}.expected-behavior>span{color:#81a093;letter-spacing:.1em;font-family:DM Mono,monospace;font-size:.59rem}.expected-behavior strong{margin:1rem 0 .4rem;font-size:1.05rem;display:block}.expected-behavior p{color:#9bada5;margin:0;font-size:.8rem;line-height:1.6}.instruction-steps{gap:.55rem;margin:1.3rem 0 2rem;padding:0;list-style:none;display:grid}.instruction-steps li{border:1px solid #2c453d;border-radius:.5rem;grid-template-columns:2.4rem 1fr;gap:1rem;padding:1rem;display:grid}.instruction-steps li>span{color:var(--mint);font-family:DM Mono,monospace;font-size:.7rem}.instruction-steps strong{color:#e8eee7}.instruction-steps p{color:#9eafa7;margin:.3rem 0 0;font-size:.8rem;line-height:1.55}.completion-checklist{background:linear-gradient(140deg,#10241d,#0a1814);border:1px solid #477060;border-radius:.7rem;gap:.55rem;margin-top:2rem;padding:1.2rem;display:grid}.completion-checklist h3{margin:0 0 .8rem}.completion-checklist>label:not(.reflection-label){color:#aebdb6;cursor:pointer;border:1px solid #2d493f;border-radius:.45rem;grid-template-columns:auto 1fr;align-items:start;gap:.7rem;padding:.75rem;font-size:.8rem;line-height:1.5;display:grid}.completion-checklist input{width:1.1rem;height:1.1rem;accent-color:var(--mint-strong)}.reflection-label{color:#cbd5d0;margin-top:1rem;font-size:.8rem;font-weight:700}.completion-checklist textarea{resize:vertical;width:100%;color:var(--text);background:#07110f;border:1px solid #3a5a4f;border-radius:.45rem;padding:.8rem;line-height:1.6}.lesson-finish{background:#0b1915;border:1px solid #39574d;border-radius:.8rem;grid-template-columns:auto 1fr auto;align-items:center;gap:1.4rem;margin-top:2rem;padding:2rem;display:grid}.lesson-finish.complete{background:linear-gradient(130deg,#57e79b17,#0b1915);border-color:#5a9875}.lesson-finish h2{margin-bottom:.5rem;font-size:clamp(1.7rem,4vw,2.7rem)}.lesson-finish p{color:#9eafa7;margin:0;font-size:.82rem;line-height:1.55}.finish-mark{width:3.4rem;height:3.4rem;color:var(--mint);border:1px solid #4b6e61;border-radius:50%;place-items:center;font-family:DM Mono,monospace;font-weight:500;display:grid}.lesson-finish.complete .finish-mark{background:var(--mint);color:var(--ink)}.finish-actions{justify-items:end;gap:.7rem;display:grid}.finish-actions strong{color:var(--mint);font-family:DM Mono,monospace;font-size:.78rem}.lesson-loading{justify-content:center;align-items:center;gap:1rem;min-height:100vh;display:flex}.lesson-loading p{color:var(--muted);margin:.25rem 0 0;font-size:.8rem}.fatal-state{flex-direction:column;justify-content:center;align-items:flex-start;max-width:700px;min-height:100vh;margin:0 auto;padding:2rem;display:flex}.fatal-state h1{font-size:clamp(2.5rem,7vw,5rem)}.fatal-state>p:not(.eyebrow){color:var(--muted);line-height:1.6}.content-subsection>p{color:#bdcac4;max-width:70ch;font-size:1.04rem;line-height:1.82}.predict-details{background:#0c1b17;border:1px solid #46675b;border-radius:.65rem;margin:2rem 0}.predict-details summary{cursor:pointer;color:var(--mint);padding:1rem 1.2rem;font-weight:800}.predict-details>p{color:#c1cec8;margin:0;padding:0 1.2rem 1.2rem;line-height:1.7}.predict-details>div{background:#57e79b0a;border-top:1px solid #324e44;padding:1rem 1.2rem}.predict-details>div p{color:#aebfb7;margin:.35rem 0 0;line-height:1.65}.independent-practice{background:linear-gradient(140deg,#57e79b14,#0c1916);border:1px solid #4c765f;border-radius:.7rem;margin:2rem 0;padding:1.3rem}.independent-practice h3{margin-top:0}.independent-practice>p:not(.eyebrow):not(.hint){color:#c0cec7;line-height:1.7}.practice-success{border-left:2px solid var(--mint);color:#aebdb6;background:#00000029;gap:.35rem;margin:1rem 0;padding:.8rem;font-size:.8rem;line-height:1.55;display:grid}.practice-success strong{color:#fff}.common-mistakes{margin-top:2rem}.common-mistakes>h3{margin-top:0}.common-mistakes>div{background:#ffc76d0a;border:1px solid #4b423a;border-radius:.5rem;gap:.25rem;margin-top:.6rem;padding:1rem;display:grid}.common-mistakes>div>strong{color:#f2c984}.common-mistakes p{color:#aebbb5;margin:0;font-size:.78rem;line-height:1.55}.common-mistakes p span{color:#e5ece8;font-weight:800}.concept-callout.studio-tone{background:#72dcef0d;border-color:#426579}.concept-callout.studio-tone>span{background:#76dcef}.compact-content-steps{margin-top:1rem}.context-notice{flex-wrap:wrap;align-items:baseline;gap:.35rem 1rem;display:flex}.context-notice strong,.studio-execution-card>strong,.debugging-card>strong{color:var(--mint)}.studio-context strong{color:#ffd080}.studio-execution-card ul,.debugging-card ol{margin:.55rem 0;padding-left:1.25rem}.studio-execution-card li+li,.debugging-card li+li{margin-top:.3rem}.studio-example{border-color:#6d5832}.studio-example .safe-runtime{color:#ffd080}.studio-copy-code{border-block:1px solid var(--line-soft);color:#dbe8e2;background:#07110e;margin:0;padding:1.2rem;font-size:.8rem;line-height:1.55;overflow:auto}.workflow-grid{grid-template-columns:1fr 1fr;gap:.8rem;margin:1rem 0 2rem;display:grid}.workflow-grid>div{background:#0b1814;border:1px solid #36544a;border-radius:.55rem;padding:1rem}.workflow-grid strong{color:var(--mint)}.workflow-grid ol{color:#a8b8b1;margin:.8rem 0 0;padding-left:1.25rem;font-size:.78rem;line-height:1.55}.workflow-grid li+li{margin-top:.45rem}.expected-behavior small{color:#849a90;border-top:1px solid #304a42;margin-top:.8rem;padding-top:.8rem;line-height:1.5;display:block}.self-check-note{color:#91a69c;font-size:.75rem;line-height:1.5}.prerequisite-line{color:#95aaa0;margin:1.4rem 0 0;font-size:.78rem}.prerequisite-line strong{color:#d4ded9}.project-hero h1{color:#c8ffdf}.locked-activities{background:#0d1916;border:1px solid #526359;border-radius:.7rem;padding:3rem}.locked-activities h2{max-width:16ch}.locked-activities>p:not(.eyebrow){color:var(--muted);line-height:1.65}.studio-verification{background:linear-gradient(145deg,#183138d1,#091817f5);border:1px solid #4b6f7e;border-radius:.75rem;margin:2rem 0;padding:1.25rem}.studio-verification>h3{margin:.25rem 0 1rem}.studio-verification.compact{padding:0;overflow:hidden}.studio-verification.compact>summary{cursor:pointer;color:#bcecf4;padding:1rem 1.15rem;font-weight:800}.studio-verification.compact[open]>summary{border-bottom:1px solid #365661}.studio-verification.compact .studio-verification-body{padding:1rem}.learner-verification-note{color:#b9c9c4;background:#76dcef0f;border-left:3px solid #76dcef;margin:0 0 1rem;padding:.9rem 1rem;font-size:.82rem;line-height:1.55}.learner-verification-note strong{color:#bcecf4}.verification-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;margin-bottom:.65rem;display:grid}.verification-summary>div{background:#00000024;border:1px solid #34545d;border-radius:.5rem;gap:.3rem;padding:.8rem;display:grid}.verification-summary span{color:#7d9aa1;letter-spacing:.08em;text-transform:uppercase;font-family:DM Mono,monospace;font-size:.58rem}.verification-summary strong{color:#e3f3ef}.verification-block{background:#051312a8;border:1px solid #34545d;border-radius:.55rem;margin-top:.65rem;padding:1rem}.verification-block h4{color:#d8e8e3;margin:0 0 .8rem}.verification-block ul,.verification-block ol{color:#acbdb7;margin:.55rem 0 0;padding-left:1.25rem;font-size:.79rem;line-height:1.55}.verification-block li+li{margin-top:.4rem}.verification-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;display:grid}.verification-files{gap:.45rem;margin-top:.9rem;display:grid}.verification-files>div{background:#071513;border:1px solid #2f4d55;border-radius:.4rem;grid-template-columns:minmax(120px,.7fr) 1fr;align-items:baseline;gap:.8rem;padding:.65rem .75rem;display:grid}.verification-files code{color:#b7f5d5;overflow-wrap:anywhere}.verification-files span{color:#829b94;font-size:.72rem}.success-evidence{background:#57e79b0a;border-color:#3e7458}.failure-evidence{background:#ff9f9108;border-color:#70544c}.failure-evidence>div+div{border-top:1px solid #4a3d38;margin-top:1rem;padding-top:1rem}.failure-evidence>div>strong{color:#efb2a9}.site-footer a,.local-data-help a{color:var(--mint);text-underline-offset:.2em}.local-data-help{color:var(--muted);grid-column:1/-1;margin:.25rem 0 0;font-size:.82rem}.reset-dialog{width:min(560px,100% - 2rem);color:var(--text);background:#0c1916;border:1px solid #5e776d;border-radius:.8rem;padding:1.5rem;box-shadow:0 30px 100px #000000b3}.reset-dialog::backdrop{backdrop-filter:blur(3px);background:#000000b8}.reset-dialog h3{margin:0 0 .8rem;font-size:1.6rem}.reset-dialog>p:not(.eyebrow){color:#b8c6c0;line-height:1.65}.reset-dialog .cluster{justify-content:flex-end;margin-top:1.25rem}.danger-button{color:#32110d!important;background:#ffb2a9!important}.policy-shell{max-width:1080px;margin:0 auto;padding:0 clamp(1rem,5vw,4rem) 5rem}.policy-header{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:1rem;min-height:80px;display:flex}.policy-content{padding-top:clamp(4rem,10vw,8rem)}.policy-content h1{max-width:12ch}.policy-lede{color:#c3cfc9;max-width:68ch;margin:1.5rem 0 4rem;font-size:1.12rem;line-height:1.75}.policy-content section{border-top:1px solid var(--line);max-width:760px;padding:2rem 0}.policy-content h2{letter-spacing:-.035em;margin:0 0 1rem;font-size:clamp(1.7rem,4vw,2.6rem)}.policy-content p,.policy-content li{color:#b5c3bd;line-height:1.75}.policy-content li+li{margin-top:.45rem}.not-found{flex-direction:column;justify-content:center;max-width:900px;min-height:100vh;margin:0 auto;padding:2rem;display:flex}.not-found .brand{align-self:flex-start;margin-bottom:5rem}.not-found h1{max-width:10ch}.not-found>p:not(.eyebrow){max-width:55ch;color:var(--muted);line-height:1.7}.recovery-notice{color:#e4d2aa;background:#211a0d;border:1px solid #8a6b37;border-radius:.55rem;flex-wrap:wrap;align-items:baseline;gap:.45rem 1rem;width:min(1180px,100% - 2rem);margin:1rem auto;padding:.85rem 1rem;font-size:.8rem;line-height:1.55;display:flex}.recovery-notice strong{color:#ffe0a3}.recovery-notice a,.inline-error a{color:var(--mint);text-underline-offset:.2em}.completion-note{color:var(--mint);font-weight:700}@media (width<=980px){.lesson-header{grid-template-columns:1fr auto}.lesson-save-state{display:none}.lesson-frame{grid-template-columns:1fr}.lesson-rail{border-right:0;border-bottom:1px solid var(--line-soft);height:auto;padding:1rem clamp(1rem,5vw,4rem);display:block;position:static}.lesson-rail .rail-back,.lesson-rail>p,.lesson-rail nav{display:none}.rail-progress{grid-template-columns:auto 1fr auto;align-items:center;gap:1rem;display:grid}.rail-progress>div{margin:0}}@media (width<=680px){.capstone-preview{grid-template-columns:1fr;gap:1.2rem}.capstone-lock{justify-items:start;min-width:0}.capstone-shell>main{width:min(100% - 1.1rem,1180px);padding-top:2rem}.capstone-hero,.capstone-brief{grid-template-columns:1fr;gap:1.5rem}.capstone-hero{padding:2.5rem .3rem}.capstone-hero h1{font-size:clamp(3.2rem,16vw,5rem)}.capstone-section-heading{flex-direction:column}.planning-grid{grid-template-columns:1fr}.planning-grid label>span{min-height:0}.capstone-file-tree>div{grid-template-columns:1fr;gap:.25rem}.capstone-milestones summary{grid-template-columns:auto 1fr}.capstone-milestones summary em{grid-column:2}.milestone-body{padding-left:1rem}.rubric-table{border:0;gap:.7rem;display:grid}.rubric-head{display:none}.rubric-row{border:1px solid #36554a;border-radius:.55rem;grid-template-columns:1fr;overflow:hidden}.rubric-row>*+*{border-left:0}.capstone-complete-button{width:100%}.lesson-header{height:64px;padding:0 .8rem}.lesson-header .brand>span:last-child{display:none}.lesson-header .brand-mark{width:2.15rem;height:2.15rem}.lesson-header>.button{min-height:38px}.lesson-hero{padding:3.5rem 0}.lesson-hero h1{font-size:clamp(3rem,15vw,4.5rem)}.objectives ul,.concept-summary{grid-template-columns:1fr}.lesson-section{padding:4rem 0}.lesson-section h2{font-size:clamp(2rem,11vw,3.2rem)}.lesson-section>p,.prose-section>p{font-size:.98rem}.runner-heading{align-items:flex-start}.safe-runtime{font-size:0}.safe-runtime span{font-size:.7rem}.runner-controls{flex-direction:column;align-items:stretch}.runner-controls .button{width:100%}.runner-controls>span{text-align:left}.code-anatomy{padding:1.2rem .6rem}.code-anatomy>div{flex-wrap:wrap;gap:.7rem 1.1rem}.compare-grid,.compact-steps,.studio-grid,.challenge-results,.workflow-grid,.verification-summary,.verification-grid{grid-template-columns:1fr}.verification-files>div{grid-template-columns:1fr;gap:.25rem}.example-expected{grid-template-columns:1fr}.activity-heading,.activity-submit,.hints-box>div{flex-direction:column;align-items:flex-start}.activity-submit .button{width:100%}.mission-target{flex-direction:column}.mission-target>span{writing-mode:initial;border-bottom:1px solid #446d5d;border-right:0}.hint,.lesson-finish{grid-template-columns:1fr}.finish-actions{justify-items:stretch}.finish-actions .button{width:100%}.rail-progress{gap:.6rem;font-size:.62rem}}
