:root{--ink:#202c25;--paper:#f4efe4;--card:#fffaf0;--line:#cfc6b5;--green:#1f5a43;--lime:#d9ed78;--rust:#a94f35;--muted:#6e756e;--mono:"SFMono-Regular",Consolas,"Liberation Mono",monospace;--serif:"Noto Serif SC","Songti SC",Georgia,serif;--sans:Inter,-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC",sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--sans)}a{color:inherit;text-decoration:none}code,pre{font-family:var(--mono)}.progress{position:fixed;z-index:20;top:0;left:0;height:4px;width:0;background:var(--rust)}.hero{min-height:92vh;padding:24px clamp(22px,5vw,74px) 42px;background:var(--ink);color:#f9f2e5;display:flex;flex-direction:column}.nav{display:flex;align-items:center;justify-content:space-between;padding-bottom:20px;border-bottom:1px solid #ffffff32}.brand{font-weight:800;letter-spacing:.08em}.nav-links{display:flex;gap:26px;font-size:13px}.nav-links a{opacity:.72}.nav-links a:hover{opacity:1}.hero-grid{display:grid;grid-template-columns:1.55fr .65fr;gap:8vw;align-items:end;flex:1;padding:60px 0}.kicker,.section-head>span,.portal-head span{color:var(--lime);font-size:11px;font-weight:800;letter-spacing:.16em}.hero h1{margin:20px 0 0;font:500 clamp(70px,11vw,160px)/.82 var(--serif);letter-spacing:-.08em}.hero h1 span{color:var(--lime);font-style:italic}.hero-note{align-self:end;border-top:1px solid #ffffff55;padding-top:22px}.hero-note p:first-child{font:600 22px/1.4 var(--serif)}.hero-note p:last-child{color:#c7cec8;line-height:1.8}.hero-note code{color:var(--lime)}.stats{display:flex;gap:50px;border-top:1px solid #ffffff32;padding-top:22px;color:#bdc5bf;font-size:13px}.stats b{color:white;font-size:24px;margin-right:8px}.section{padding:110px clamp(22px,6vw,90px);border-bottom:1px solid var(--line)}.section-head{display:grid;grid-template-columns:1fr 2fr;align-items:start;margin-bottom:60px}.section-head>span{color:var(--rust)}.section-head h2{margin:0;font:500 clamp(48px,7vw,92px)/.95 var(--serif);letter-spacing:-.06em}.map-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.map-card{min-height:310px;padding:28px;border:1px solid var(--line);background:var(--card);display:flex;flex-direction:column}.map-card.accent{background:var(--lime)}.map-card span{font-size:11px;font-weight:800;letter-spacing:.12em}.map-card h3{font:500 40px/1.05 var(--serif);margin:42px 0 14px}.map-card p{color:#4e5951;line-height:1.7}.map-card code{margin-top:auto;border-top:1px solid #202c2530;padding-top:18px;font-size:17px}.formula{margin-top:18px;border:1px solid var(--line);padding:25px 30px;display:flex;align-items:center;justify-content:space-between;background:#e7e0d2}.formula span{font-size:11px;font-weight:800;letter-spacing:.12em}.formula strong{font:500 20px var(--serif)}.formula i{color:var(--rust)}.lessons{background:#ece6da}.lesson-list{border-top:1px solid var(--ink)}.lesson{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.6fr);gap:6vw;padding:58px 0;border-bottom:1px solid var(--line);position:relative}.lesson:before{content:attr(data-no);position:absolute;right:0;top:30px;color:#c9c0af;font:600 70px/1 var(--serif)}.lesson-title span{color:var(--rust);font-size:11px;font-weight:800;letter-spacing:.14em}.lesson-title h3{font:500 clamp(35px,4vw,58px)/1 var(--serif);margin:18px 0}.lesson-title p{max-width:360px;color:var(--muted);line-height:1.7}.lesson-body{position:relative;z-index:1}.lesson pre,.editor{margin:0;background:#17211c;color:#eaf0eb;padding:28px;border-radius:4px;overflow:auto;font-size:14px;line-height:1.75;box-shadow:0 18px 45px #24302718}.lesson pre code{font-family:inherit}.notes{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.notes p{margin:0;padding:18px;background:var(--card);border:1px solid var(--line);font-size:14px;line-height:1.7}.notes b{display:block;color:var(--rust);font-size:11px;letter-spacing:.1em;margin-bottom:8px}.notes code{background:#ebe4d8;padding:2px 5px}.code-tabs{display:flex;gap:8px;margin-bottom:10px}.code-tabs button{border:1px solid var(--line);background:transparent;padding:9px 14px;cursor:pointer}.code-tabs button.active{background:var(--ink);color:white;border-color:var(--ink)}.vector{background:var(--green);color:white}.vector .section-head>span{color:var(--lime)}.vector-flow{display:grid;grid-template-columns:repeat(7,auto);align-items:center;gap:14px}.vector-flow>div{min-height:180px;padding:24px;background:#ffffff0e;border:1px solid #ffffff33;display:flex;flex-direction:column}.vector-flow small{color:var(--lime);letter-spacing:.13em}.vector-flow code{font-size:14px;margin:35px 0 10px}.vector-flow p{color:#cad8d0;font-size:13px;margin:auto 0 0}.callout{margin-top:20px;padding:24px;background:var(--lime);color:var(--ink);display:flex;gap:26px;align-items:center;flex-wrap:wrap}.callout strong{font:600 24px var(--serif)}.callout code{background:#202c2512;padding:8px}.callout span{margin-left:auto}.template-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--ink);border-left:1px solid var(--ink)}.template-grid article{min-height:260px;padding:25px;border-right:1px solid var(--ink);border-bottom:1px solid var(--ink);display:flex;flex-direction:column}.template-grid span{color:var(--rust);font-weight:800}.template-grid h3{font:500 30px var(--serif);margin:35px 0}.template-grid code{font-size:13px;background:#e4ddcf;padding:10px}.template-grid p{margin:auto 0 0;color:var(--muted);line-height:1.6}.portal{padding:110px clamp(22px,4vw,60px);background:#121a16;color:#eaf0eb}.portal-head{display:grid;grid-template-columns:1fr 1fr;gap:8vw;align-items:end;margin-bottom:40px}.portal-head h2{font:500 clamp(55px,8vw,100px)/.9 var(--serif);margin:12px 0 0}.portal-head p{max-width:600px;color:#aebcb4;line-height:1.8}.portal-shell{display:grid;grid-template-columns:190px minmax(0,1.35fr) minmax(260px,.72fr);min-height:610px;border:1px solid #ffffff2e;background:#1a2420}.portal-shell aside{border-right:1px solid #ffffff20;padding:12px}.challenge{width:100%;text-align:left;border:0;background:transparent;color:#9aa9a1;padding:15px 12px;cursor:pointer;font-size:13px;border-left:3px solid transparent}.challenge b{display:block;color:#dfe7e2;margin-bottom:5px}.challenge.active{background:#ffffff0b;border-left-color:var(--lime);color:var(--lime)}.workspace{min-width:0;display:flex;flex-direction:column;border-right:1px solid #ffffff20}.workbar{height:52px;display:flex;align-items:center;justify-content:space-between;padding:0 16px;border-bottom:1px solid #ffffff20;font-size:12px;color:#9caaa3}.workbar>div{display:flex;align-items:center;gap:7px}.workbar i{width:8px;height:8px;border-radius:50%;background:#a94f35}.workbar i:nth-child(2){background:#ddae55}.workbar i:nth-child(3){background:#82a963;margin-right:10px}.workbar button{border:1px solid #ffffff2b;background:transparent;color:#c9d3cd;padding:7px 10px;cursor:pointer}.workbar em{margin-left:8px;color:var(--lime);font-style:normal;font-size:10px}.editor-actions{display:flex!important;gap:7px!important}.editor{display:block;width:100%;min-height:0;resize:none;border:0;outline:0;border-radius:0;box-shadow:none;flex:1;white-space:pre;font:13px/1.75 var(--mono);tab-size:4px}.editor:focus{box-shadow:inset 3px 0 0 var(--lime)}.run:disabled{cursor:wait;opacity:.62}.output-head span.is-error{color:#ff8f78!important}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.terminal{padding:20px;display:flex;flex-direction:column;gap:12px}.terminal label,.output-head{font-size:10px;font-weight:800;letter-spacing:.13em;color:#95a49c}.terminal textarea{height:145px;resize:vertical;background:#0d1410;border:1px solid #ffffff24;color:#e9efe9;padding:14px;font:13px/1.6 var(--mono);outline:none}.terminal textarea:focus{border-color:var(--lime)}.run{border:0;background:var(--lime);color:#17211c;padding:14px;font-weight:800;cursor:pointer}.run:active{transform:translateY(1px)}.output-head{display:flex;justify-content:space-between;margin-top:8px}.output-head span:last-child{color:var(--lime)}#output{min-height:130px;margin:0;background:#0d1410;padding:14px;white-space:pre-wrap;color:#d8e5dc;font:13px/1.6 var(--mono)}.hint{color:#829189;font-size:12px;line-height:1.6;margin:auto 0 0}footer{padding:30px clamp(22px,5vw,74px);display:flex;justify-content:space-between;gap:20px;align-items:center;background:#0d1410;color:#9aa69f;font-size:12px}footer a{color:white;font-weight:700}footer p{text-align:center}@media(max-width:900px){.nav-links{display:none}.hero{min-height:760px}.hero-grid{grid-template-columns:1fr;gap:40px}.hero h1{font-size:clamp(72px,22vw,115px)}.hero-note{align-self:auto}.stats{gap:18px;flex-wrap:wrap}.section{padding:75px 20px}.section-head{grid-template-columns:1fr;gap:22px}.map-grid,.template-grid{grid-template-columns:1fr}.formula{align-items:flex-start;gap:12px;flex-wrap:wrap}.lesson{grid-template-columns:1fr}.lesson:before{font-size:48px}.notes{grid-template-columns:1fr}.vector-flow{grid-template-columns:1fr}.vector-flow>b{transform:rotate(90deg);justify-self:center}.callout span{margin-left:0}.portal{padding:75px 12px}.portal-head{grid-template-columns:1fr}.portal-shell{grid-template-columns:1fr}.portal-shell aside{display:flex;overflow-x:auto;border-right:0;border-bottom:1px solid #ffffff20}.challenge{min-width:150px}.workspace{min-height:500px;border-right:0;border-bottom:1px solid #ffffff20}.terminal{min-height:500px}footer{flex-direction:column;text-align:center}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
