@font-face{font-family:JetBrains Mono;src:url(/fonts/jetbrains-mono.woff2)format("woff2");font-weight:100 800;font-display:optional}:root{color-scheme:dark;--bg:#050505;--panel:#0b0d0a;--green:#85bb65;--green-hi:#a9d68b;--green-lo:#65904d;--line:#1f2b19;--line-hi:#34482a;--mono:"JetBrains Mono", ui-monospace, "Cascadia Mono", Consolas, Menlo, monospace;--gutter:16px;--dock-h:84px}*,:before,:after{box-sizing:border-box;text-shadow:none!important;box-shadow:none!important;border-radius:0!important;transition:none!important;animation:none!important}html{background:var(--bg);touch-action:manipulation;-webkit-text-size-adjust:100%;text-size-adjust:100%;scroll-padding-bottom:calc(var(--dock-h) + env(safe-area-inset-bottom,0px) + 16px)}body{background:var(--bg);min-height:100vh;color:var(--green);font-family:var(--mono);padding-bottom:calc(var(--dock-h) + env(safe-area-inset-bottom,0px) + 24px);margin:0;font-size:15px;line-height:1.65;overflow-x:hidden}img,video,iframe{max-width:100%;display:block}a,a:visited{color:var(--green-hi);text-underline-offset:3px}:focus-visible{outline:2px solid var(--green-hi);outline-offset:2px}.skip{background:var(--bg);color:var(--green-hi);border:1px solid var(--green);z-index:50;padding:8px 12px;position:absolute;top:-60px;left:8px}.skip:focus{top:8px}.wrap{width:100%;max-width:1040px;padding-inline:max(var(--gutter), env(safe-area-inset-left,0px)) max(var(--gutter), env(safe-area-inset-right,0px));margin-inline:auto}h1,h2,h3{color:var(--green-hi);overflow-wrap:anywhere;letter-spacing:0;margin:0 0 .6em;font-weight:700;line-height:1.2}h1{font-size:clamp(1.7rem,6.4vw,2.6rem)}h2{font-size:clamp(1.15rem,4vw,1.4rem)}h3{font-size:1rem}p{margin:0 0 1em}.muted{color:var(--green-lo)}.small{font-size:.86rem}.mt{margin-top:16px}.top{border-bottom:1px solid var(--line)}.top .wrap{justify-content:space-between;align-items:center;gap:12px;min-height:56px;display:flex}.brand,.brand:visited{white-space:nowrap;color:var(--green-hi);align-items:center;gap:10px;font-weight:700;text-decoration:none;display:inline-flex}.brand img{width:auto;height:35px;display:block}@media (width<=359px){.brand span{display:none}}.top nav a{font-size:.86rem}section{border-bottom:1px solid var(--line);padding-block:40px}section:last-of-type{border-bottom:0}.hero{padding-block:44px 40px}.lead{max-width:58ch;margin-bottom:.8em}.uses{color:var(--green-lo);margin-bottom:1.4em}.box{border:1px solid var(--line-hi);background:var(--panel);padding:18px 16px}.box>:last-child{margin-bottom:0}.media{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.tile{margin:0}.frame{border:1px solid var(--line-hi);background:#000;width:100%;position:relative;overflow:hidden}.frame.r16x9{aspect-ratio:16/9}.frame.r9x16{aspect-ratio:9/16}.frame video,.frame iframe,.frame img{object-fit:cover;border:0;width:100%;height:100%;position:absolute;inset:0}.tile figcaption{color:var(--green-lo);padding-top:10px;font-size:.86rem}.tile figcaption strong{color:var(--green);font-weight:700;display:block}.tile.vertical .frame{max-width:360px}.rows{counter-reset:row;border-top:1px solid var(--line);margin:0;padding:0;list-style:none}.rows li{counter-increment:row;border-bottom:1px solid var(--line);grid-template-columns:3ch minmax(0,1fr);gap:4px 12px;padding:16px 0;display:grid}.rows li:before{content:counter(row, decimal-leading-zero);color:var(--green-lo);grid-row:1/span 2}.rows h3,.rows p{margin:0}.price{color:var(--green-hi);margin:0 0 .5em;font-size:clamp(1.4rem,6vw,2rem);font-weight:700}.placeholder{border:1px solid var(--green-lo);color:var(--green-lo);padding:1px 6px;font-size:.86em}.lines{margin:0 0 1em;padding:0;list-style:none}.lines li{border-bottom:1px solid var(--line);padding:8px 0}details{border-top:1px solid var(--line);padding:14px 0}details:last-of-type{border-bottom:1px solid var(--line)}summary{cursor:pointer;color:var(--green-hi);font-weight:700;list-style:none}summary::-webkit-details-marker{display:none}summary:before{content:"+ ";color:var(--green-lo)}details[open] summary:before{content:"- "}details p{margin:10px 0 0}.prose{max-width:76ch}.prose h2{margin-top:1.8em;font-size:1.05rem}.prose ul{padding:0;list-style:none}.prose li{margin-bottom:.5em;padding-left:2ch;position:relative}.prose li:before{content:"-";color:var(--green-lo);position:absolute;left:0}.draft{border:1px solid var(--green-lo);color:var(--green-lo);margin:0 0 24px;padding:10px 12px;font-size:.86rem}label{margin-bottom:6px;font-size:.86rem;display:block}input[type=text]{width:100%;font:inherit;color:var(--green-hi);border:1px solid var(--line-hi);background:#000;padding:12px;font-size:16px}.btn{font:inherit;color:#000;background:var(--green);border:1px solid var(--green);cursor:pointer;padding:12px 18px;font-weight:700;text-decoration:none;display:inline-block}.btn.ghost{color:var(--green-hi);border-color:var(--line-hi);background:0 0}.row{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.status{color:var(--green-hi);min-height:1.4em;font-size:.86rem}.lessons{border-top:1px solid var(--line);margin:0 0 16px;padding:0;list-style:none}.lessons button{text-align:left;width:100%;font:inherit;color:var(--green);border:0;border-bottom:1px solid var(--line);cursor:pointer;background:0 0;padding:12px 0}.lessons button[aria-current=true]{color:var(--green-hi);font-weight:700}#player-note{padding:16px}#player .wm{z-index:2;pointer-events:none;user-select:none;color:#ffffff52;text-shadow:0 0 2px #0009;white-space:nowrap;font:600 13px/1 ui-monospace,Menlo,Consolas,monospace;transition:left 2s,top 2s;position:absolute}#player:fullscreen{aspect-ratio:auto;border:0;width:100%;height:100%}#player:fullscreen .wm{font-size:18px}#player:-webkit-full-screen{aspect-ratio:auto;border:0;width:100%;height:100%}[hidden]{display:none!important}footer{border-top:1px solid var(--line);color:var(--green-lo);padding-block:28px 10px;font-size:.82rem}footer nav{flex-wrap:wrap;gap:8px 20px;margin-bottom:16px;display:flex}footer p{margin-bottom:.7em}.dock{z-index:40;padding:10px max(var(--gutter), env(safe-area-inset-right,0px)) calc(10px + env(safe-area-inset-bottom,0px)) max(var(--gutter), env(safe-area-inset-left,0px));border-top:1px solid var(--line-hi);background:#000;position:fixed;bottom:0;left:0;right:0}.dock-inner{max-width:640px;margin-inline:auto}.dock-row{align-items:stretch;gap:8px;display:flex}.cta,a.cta:visited{text-align:center;border:1px solid var(--green);background:var(--green);color:#000;min-width:0;min-height:52px;font:inherit;cursor:pointer;flex:auto;justify-content:center;align-items:center;padding:8px 14px;font-size:.92rem;font-weight:700;line-height:1.2;text-decoration:none;display:flex}.cta .hl{background-image:linear-gradient(#ff7a1a,#ff7a1a),linear-gradient(#000,#000);background-position:1px calc(100% - 1px),0 100%;background-repeat:no-repeat;background-size:calc(100% - 2px) 2px,100% 4px;padding-bottom:8px;line-height:1;display:inline-block}.dock .status{min-height:0;margin:0 0 8px;font-size:.8rem}@media (width>=768px){:root{--gutter:28px}body{font-size:16px}.hero{padding-block:72px 56px}.media{grid-template-columns:minmax(0,1.8fr) minmax(0,1fr);align-items:start}.media .tile.wide{grid-area:1/1}.media .tile.vertical{grid-area:1/2/span 2}.media .note{grid-area:2/1}.rows li{grid-template-columns:4ch minmax(0,18rem) minmax(0,1fr);gap:0 24px}.rows li:before{grid-row:1}.box{padding:24px}}.desc{border-bottom:1px solid var(--line);margin-top:20px;padding-bottom:8px}.desc h2{font-size:1.05rem}.addon{background:#140c05;border:2px solid #ff7a1a;margin:18px 0;padding:18px}.addon-tag{color:#ff9a4d;letter-spacing:.08em;text-transform:uppercase;margin:0 0 6px;font-size:.8rem;font-weight:700}.addon h3{color:#fff;margin:0 0 .6em;font-size:1.15rem;line-height:1.35}.addon p{color:#f1e7dc;line-height:1.6}.files-note{border:2px solid var(--green);background:var(--panel);margin:18px 0 0;padding:16px 18px}.files-note h3{color:var(--green-hi);margin:0 0 8px;font-size:1.05rem}.files-note p{margin:0 0 8px;line-height:1.6}.files-note p:last-child{margin-bottom:0}.extras{border:1px solid var(--line-hi);background:var(--panel);margin:0 0 18px;padding:16px 18px}.extras h3{margin:0 0 10px;font-size:1rem}.extras-list{margin:0;padding:0;list-style:none}.extras-list li+li{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.extras-list p{margin:0 0 4px;line-height:1.55}.extras-tag{color:var(--green-hi);white-space:nowrap;font-size:.8rem;font-weight:700}.extras-tag.paid{color:#ff9a4d}.addon-points{color:#f1e7dc;margin:0 0 1em;padding-left:1.2em;line-height:1.6}.addon-points li+li{margin-top:6px}.addon-points li::marker{color:#ff9a4d}.addon-btn{color:#000;background:#ff7a1a;border-color:#ff7a1a;margin-top:6px}.btn:disabled{opacity:.6;cursor:default}.buy-box{border-color:var(--green);margin-bottom:16px}.chapters{border-top:1px solid var(--line);margin:1em 0 0;padding:0;list-style:none}.chapters li{border-bottom:1px solid var(--line);grid-template-columns:6ch minmax(0,1fr);gap:12px;padding:10px 0;display:grid}.chapters .t{color:var(--green-lo)}.inside{grid-template-columns:minmax(0,1fr);gap:20px;display:grid}.frame.r-still{aspect-ratio:960/465}@media (width>=768px){.inside{grid-template-columns:repeat(2,minmax(0,1fr))}}.effort{grid-template-columns:minmax(0,1fr);gap:16px;display:grid}.effort h3{margin-top:0}@media (width>=768px){.effort{grid-template-columns:repeat(2,minmax(0,1fr))}}.nf-cmd{color:var(--green-lo);overflow-wrap:anywhere;margin-bottom:1.2em;font-size:.9rem}.nf-err{color:var(--green-hi)}.nf-links{padding-left:1.2em}.nf-links li{margin-bottom:.5em}
