:root{color:#191915;font-synthesis:none;text-rendering:optimizelegibility;--mono:"Cascadia Code", "SFMono-Regular", Consolas, monospace;background:#f4f1e8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{min-width:320px;min-height:100vh;margin:0}button,input{font:inherit}::selection{color:#151712;background:#b9ff68}:root{--ink:#191915;--muted:#66665d;--paper:#f4f1e8;--surface:#ebe7dc;--green:#b9ff68;--forest:#476b25;--line:#d4cfc2}.app-shell{min-height:100vh;color:var(--ink);background:var(--paper)}.site-header{border-bottom:1px solid var(--line);grid-template-columns:1fr auto;align-items:center;padding:1.1rem clamp(1.2rem,5vw,5rem);display:grid}.brand{color:inherit;font:700 1rem var(--mono);letter-spacing:-.04em;text-decoration:none}.brand span{width:2.3rem;height:2.3rem;color:var(--green);background:var(--ink);border-radius:50%;place-items:center;margin-right:.6rem;display:inline-grid}.site-header nav{gap:2rem;display:flex}.site-header nav a{color:inherit;font-weight:650;text-decoration:none}.site-header nav a:hover{text-underline-offset:.3rem;text-decoration:underline}main:focus{outline:0}.intro{border-bottom:1px solid var(--line);padding:clamp(4rem,10vw,8rem) clamp(1.2rem,8vw,9rem)}.intro.landing{flex-direction:column;justify-content:center;min-height:64vh;display:flex}.eyebrow{color:var(--forest);font:700 .75rem var(--mono);text-transform:uppercase;letter-spacing:.13em;margin:0 0 1.25rem}.intro h1,.catalog-page>h1,.detail-page>h1,.summary-page h1,.not-found h1{letter-spacing:-.07em;max-width:1000px;margin:0;font-size:clamp(3rem,7.5vw,7rem);line-height:.94}.intro>p:not(.eyebrow),.lede{max-width:650px;color:var(--muted);margin:1.6rem 0 0;font-size:1.12rem;line-height:1.65}.hero-actions,.completion-panel>div{flex-wrap:wrap;gap:.8rem;margin-top:2rem;display:flex}.button{border:1px solid var(--ink);min-height:3rem;color:var(--ink);cursor:pointer;background:0 0;border-radius:4px;justify-content:center;align-items:center;padding:.72rem 1.15rem;font-weight:750;text-decoration:none;display:inline-flex}.button.primary{color:var(--green);background:var(--ink)}.button:hover{transform:translateY(-1px);box-shadow:0 5px #bbb5a7}.button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #568522}.feature-grid{grid-template-columns:repeat(3,1fr);padding:0 clamp(1.2rem,8vw,9rem);display:grid}.feature-grid article{border-right:1px solid var(--line);padding:3rem 2rem}.feature-grid article:first-child{border-left:1px solid var(--line)}.feature-grid span,.shell-tag,.progress-mark{font:700 .68rem var(--mono);text-transform:uppercase;letter-spacing:.1em}.feature-grid h2{margin:1.4rem 0 .5rem}.feature-grid p{color:var(--muted)}.catalog-page,.detail-page,.summary-page,.not-found{min-height:70vh;padding:clamp(3rem,7vw,6rem) clamp(1.2rem,8vw,9rem)}.catalog-page>h1,.detail-page>h1,.summary-page h1,.not-found h1{font-size:clamp(2.8rem,6vw,5.5rem)}.card-grid{grid-template-columns:repeat(3,1fr);gap:1rem;margin-top:3rem;display:grid}.catalog-card{min-height:300px;color:inherit;border:1px solid var(--line);background:var(--surface);flex-direction:column;padding:1.6rem;text-decoration:none;display:flex}.catalog-card:hover{border-color:var(--ink)}.catalog-card>div{justify-content:space-between;display:flex}.catalog-card h2{margin:3.5rem 0 .7rem;font-size:1.6rem}.catalog-card p{color:var(--muted);flex:1;line-height:1.55}.catalog-card>strong{margin-top:1.2rem}.catalog-card>strong span{float:right}.progress-mark{color:var(--forest);display:inline-block}.shell-tag{color:var(--muted)}.challenge-groups{margin-top:4rem}.challenge-groups>section{margin-top:3rem}.challenge-groups h2{font-size:1.7rem}.challenge-list{border-top:1px solid var(--line)}.challenge-list a{color:inherit;border-bottom:1px solid var(--line);grid-template-columns:3rem 1fr auto auto;align-items:center;gap:1rem;padding:1.2rem .4rem;text-decoration:none;display:grid}.challenge-list a:hover{background:var(--surface)}.challenge-list strong,.challenge-list small{display:block}.challenge-list small{color:var(--muted);margin-top:.25rem}.challenge-number{color:var(--muted);font:.75rem var(--mono)}.back-link{color:var(--muted);margin-bottom:2.5rem;font-weight:700;text-decoration:none;display:inline-block}.detail-page>.button{margin-top:2rem}.lesson-outline{max-width:800px;margin-top:4rem}.lesson-outline ol{border-top:1px solid var(--line);counter-reset:challenge;padding:0;list-style:none}.lesson-outline li{border-bottom:1px solid var(--line);counter-increment:challenge;justify-content:space-between;align-items:center;gap:1rem;padding:1.2rem 0;display:flex}.lesson-outline li>span:first-child:before{content:counter(challenge, decimal-leading-zero);color:var(--muted);font:.75rem var(--mono);margin-right:1rem}.lesson-outline small{color:var(--muted);margin:.3rem 0 0 2.8rem;display:block}.practice-page{padding:2rem clamp(1.2rem,5vw,5rem) 5rem}.run-bar{color:var(--muted);font:700 .75rem var(--mono);text-transform:uppercase;letter-spacing:.08em;justify-content:space-between;align-items:center;display:flex}.run-bar .back-link{margin:0}.practice{grid-template-columns:minmax(280px,.75fr) minmax(420px,1.25fr);gap:clamp(2rem,7vw,7rem);padding:clamp(2rem,6vw,5rem) clamp(0rem,3vw,4rem);display:grid}.lesson-copy h1{letter-spacing:-.055em;margin:0 0 1rem;font-size:clamp(2.2rem,4vw,4rem);line-height:1}.lesson-copy>p:not(.eyebrow){color:var(--muted);line-height:1.6}.challenge-card{border:1px solid var(--line);background:var(--surface);margin-top:2rem;padding:1.5rem}.challenge-card>span{font:700 .68rem var(--mono);text-transform:uppercase;margin-bottom:.8rem;display:block}.challenge-card code{color:var(--ink);font:700 .95rem var(--mono);background:#d9d4c7;padding:.3rem .55rem;display:inline-block}.challenge-card p{color:var(--muted);margin:.8rem 0 0}.binding-message{background:#fff0cf;border-left:3px solid #b7791f;margin-top:1rem;padding:.8rem 1rem}.terminal-surface{color:#eef9df;min-height:390px;font:.92rem/1.65 var(--mono);background:#151712;border-radius:12px;overflow:hidden;box-shadow:0 25px 60px #24251c2e}.terminal-toolbar{background:#22251e;border-bottom:1px solid #34382f;align-items:center;gap:.45rem;padding:.8rem 1rem;display:flex;position:relative}.terminal-toolbar span{background:#74796c;border-radius:50%;width:.65rem;height:.65rem}.terminal-toolbar span:first-child{background:#ff735f}.terminal-toolbar span:nth-child(2){background:#f3c951}.terminal-toolbar span:nth-child(3){background:#88ce62}.terminal-toolbar strong{text-align:center;color:#aeb4a5;pointer-events:none;font-size:.72rem;font-weight:400;position:absolute;inset-inline:0}.terminal-transcript{white-space:pre-wrap;min-height:280px;padding:1.4rem 1.5rem 0}.terminal-line.coaching{color:#f1d7a0;background:#312a1c;border-left:2px solid #e3aa49;margin:.6rem 0;padding:.55rem .75rem}.terminal-surface form{align-items:center;padding:0 1.5rem 1.5rem;display:flex}.prompt{color:var(--green);flex:none;margin-right:.65rem}.terminal-surface input{width:100%;color:inherit;caret-color:var(--green);font:inherit;background:0 0;border:0;outline:0;padding:.3rem 0}.terminal-surface:focus-within{box-shadow:0 0 0 3px #6d9c3c,0 25px 60px #24251c2e}.completion-panel{background:#e2f3cd;border-left:4px solid #6b9d30;max-width:800px;margin:0 auto;padding:1.3rem 1.5rem}.completion-panel>div{margin-top:1rem}.summary-page>.completion-panel{margin:2rem 0 0}.not-found p:not(.eyebrow),.summary-page>p:not(.eyebrow){color:var(--muted);font-size:1.1rem}.not-found .button{margin-top:1.5rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=800px){.site-header nav{order:3;grid-column:1/-1;justify-content:center;padding-top:1rem}.feature-grid,.card-grid,.practice{grid-template-columns:1fr}.feature-grid article,.feature-grid article:first-child{border:0;border-bottom:1px solid var(--line)}.challenge-list a{grid-template-columns:2.3rem 1fr auto}.challenge-list .progress-mark{display:none}.terminal-surface{min-height:340px}.terminal-transcript{min-height:230px}}
