



:root { color-scheme:dark; --background:#0b100f; --foreground:#edf2eb; --primary:#b1ef7b; --border:#2b3530; --muted:#a1afa5; --card:#131b17; --radius:.6rem; }
*{box-sizing:border-box}body{margin:0;background:var(--background);color:var(--foreground);font-family:Arial,Helvetica,sans-serif;font-size:16px;line-height:1.65}a{color:inherit;text-decoration:none}button,a{-webkit-tap-highlight-color:transparent}a:focus-visible{outline:2px solid var(--primary);outline-offset:6px}::selection{background:#b1ef7b;color:#0b100f}.wrap,.navwrap{width:min(1180px,calc(100% - 80px));margin:auto}.header{border-bottom:1px solid var(--border)}.navwrap{min-height:88px;display:flex;align-items:center;justify-content:space-between;gap:24px}.brand{display:flex;align-items:center;gap:12px;font-size:20px;font-weight:700;letter-spacing:-.7px}.brandmark{display:grid;place-items:center;width:38px;height:38px;border:1px solid #43583a;border-radius:8px;color:var(--primary);font-family:monospace;font-size:22px}.brandlight{font-weight:400}.branddot{color:var(--primary)}nav{display:flex;gap:30px;font-size:14px;color:#c4cec6}nav a:hover,.textlink:hover,.back:hover{color:var(--primary)}.hero{padding:86px 0 70px;display:grid;grid-template-columns:1.2fr 1fr;gap:64px;align-items:center}.eyebrow{font-family:monospace;letter-spacing:2px;font-size:12px;color:var(--primary);font-weight:600;margin:0 0 24px}.dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--primary);margin-right:8px}h1,h2,h3,p{margin-top:0}h1{font-size:clamp(2.4rem,4.1vw,3.35rem);line-height:1.12;letter-spacing:-2px;margin-bottom:24px;font-weight:600}h1 em{font-style:normal;color:var(--primary)}.intro{font-size:17px;color:var(--muted);max-width:560px;line-height:1.8;margin-bottom:30px}.primary{display:inline-flex;gap:15px;align-items:center;background:var(--primary);color:#17220f;font-size:14px;font-weight:700;padding:13px 21px;border-radius:5px}.primary:hover{background:#c3ffa0}.textlink{display:inline-flex;align-items:center;gap:8px;font-size:14px;margin-left:22px}.terminal{background:#121b17;border:1px solid #354237;border-radius:9px;transform:rotate(1deg);box-shadow:0 20px 60px #0003}.terminalbar{border-bottom:1px solid var(--border);padding:12px 17px;color:#b3bfb6;font:12px monospace;display:flex;justify-content:space-between}.terminalbar span{color:#63705e;letter-spacing:3px}.terminalbody{padding:22px;font:14px/1.6 monospace}.terminalbody p{margin-bottom:11px}.terminalbody b,.terminalbody .output span{color:var(--primary)}.terminalbody b{margin-right:8px}.muted,.output{color:#99a89e}.terminalbody .terminalnote{font-size:12px;color:#a1ada3;margin-top:22px}.topics{display:grid;grid-template-columns:repeat(3,1fr);border-top:1px solid var(--border);border-bottom:1px solid var(--border);padding:25px 0}.topics>div{display:flex;align-items:center;gap:13px;justify-content:center}.topics>div+div{border-left:1px solid var(--border)}.topics svg{width:21px;color:var(--primary)}.topics strong{font-size:14px}.topics span{font-size:12px;color:var(--muted)}.library{padding:66px 0}.sectionhead{display:flex;justify-content:space-between;align-items:end;gap:20px;margin-bottom:30px}.sectionhead .eyebrow{margin-bottom:12px}h2{font-size:28px;font-weight:500;line-height:1.3;letter-spacing:-.6px}.sectionhead h2{margin-bottom:0}.cards{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.lessoncard{display:flex;flex-direction:column;padding:25px;background:var(--card);border:1px solid var(--border);border-radius:7px;transition:border-color .2s,transform .2s}.lessoncard:hover{border-color:#759459;transform:translateY(-3px)}.cardtop{display:flex;justify-content:space-between;align-items:center;margin-bottom:36px}.tag{font-size:12px;padding:4px 9px;border:1px solid #46533c;border-radius:4px;color:#c3dcaa;display:inline-block}.tag1{color:#a6ccee;border-color:#354d5c}.tag2{color:#eac69a;border-color:#60503b}.number{font-family:monospace;color:#859182;font-size:17px}.lessoncard .cardtopic{font:12px monospace;letter-spacing:1.7px;color:#96a38e;margin-bottom:12px}.lessoncard h3{font-size:22px;line-height:1.35;letter-spacing:-.3px;margin-bottom:15px}.lessoncard>p{font-size:14px;color:var(--muted);line-height:1.8;margin-bottom:28px}.cardbottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);padding-top:18px;margin-top:auto;font-size:12px;color:#b2bdb3}.cardbottom svg{color:var(--primary)}.method{padding:45px 0 65px;border-top:1px solid var(--border)}.method .eyebrow{margin-bottom:16px}.methodsteps{display:flex;gap:50px;color:#bbc5bc;font-size:14px;margin-top:28px}.methodsteps b{font:12px monospace;color:var(--primary);margin-right:12px}.footer{border-top:1px solid var(--border);display:flex;justify-content:space-between;padding:25px 0;font-size:12px;color:#9aa59a;gap:20px}.inner{padding-top:70px;padding-bottom:100px;min-height:75vh}.inner h1{max-width:750px}.lessonlist{margin-top:50px}.listrow{display:grid;grid-template-columns:50px 1fr 110px;gap:25px;align-items:center;border-top:1px solid var(--border);padding:30px 0}.listrow:hover h2{color:var(--primary)}.listrow h2{margin:12px 0 8px;font-size:24px}.listrow p{color:var(--muted);margin-bottom:0}.listrow>span:last-child{font-size:14px;color:var(--muted)}.articlewrap{max-width:850px;padding-top:40px;padding-bottom:90px}.back{display:inline-block;font-size:14px;color:var(--muted);margin-bottom:45px}.articlewrap h1{font-size:clamp(2.2rem,5vw,3.3rem)}.articlemeta{font-size:12px;color:#a3b09f;border-bottom:1px solid var(--border);padding-bottom:25px}.callout{background:var(--card);border-left:3px solid var(--primary);padding:25px 28px;margin:30px 0}.callout strong{font-size:14px;color:#d8e3d3}.callout p{color:var(--muted);margin:7px 0 20px}.callout p:last-child{margin-bottom:0}.flow{display:flex;justify-content:center;gap:12px;padding:20px 0;margin-bottom:30px}.flow>div{display:flex;align-items:center;gap:12px;font:14px monospace}.flow span{padding:15px;border:1px solid #4b5b40;border-radius:5px}.flow b{color:var(--primary)}.articlebody{margin-bottom:35px}.articlebody h2{font-size:25px;margin-bottom:14px}.articlebody p,.about>p{color:#b8c5bc;line-height:1.85}pre{overflow-x:auto;max-width:100%;padding:22px;background:#151e18;border:1px solid var(--border);border-radius:6px;font:14px/1.9 monospace;color:var(--primary)}.sources{border-top:1px solid var(--border);padding-top:25px;margin:40px 0}.sources h2{font-size:20px}.sources a{display:block;text-decoration:underline;text-underline-offset:4px;color:var(--primary);margin:10px 0;font-size:14px}.about{max-width:850px}.about>h2{margin-top:35px}.skip{position:absolute;top:-100px;left:20px;background:var(--primary);color:#121b17;padding:10px;z-index:20}.skip:focus{top:10px}@media(max-width:1000px){.wrap,.navwrap{width:calc(100% - 48px)}.hero{gap:30px}.topics span{display:none}.terminalbody{font-size:12px}.textlink{margin-left:12px}.lessoncard{padding:20px}}@media(max-width:760px){.navwrap{flex-wrap:wrap;padding:20px 0;gap:18px}.brand{font-size:18px}nav{gap:22px}.hero{grid-template-columns:1fr;padding:45px 0;gap:35px}h1{letter-spacing:-1.3px}.terminal{transform:none}.terminalbody{font-size:14px}.cards{grid-template-columns:1fr}.cardtop{margin-bottom:24px}.sectionhead{align-items:start}.sectionhead .textlink{white-space:nowrap;margin-top:4px}.sectionhead h2{font-size:24px}.topics>div{gap:8px}.topics strong{font-size:12px}.topics svg{width:17px}.methodsteps{flex-direction:column;gap:14px}.footer{flex-direction:column;gap:5px}.flow{flex-direction:column;align-items:stretch}.flow>div{flex-direction:column}.flow span{width:100%;text-align:center}.flow b{transform:rotate(90deg)}.listrow{grid-template-columns:30px 1fr;gap:15px}.listrow>span:last-child{grid-column:2}.inner{padding-top:45px}.articlewrap{padding-top:30px}}@media(prefers-reduced-motion:reduce){*{transition:none!important}}
