:root{--ink:#0f1210;--paper:#f3f3ec;--green:#53db76;--amber:#efc87e;--muted:#b2b5ab;--line:rgba(243,243,236,.16);--gutter:max(4.3vw, calc((100vw - 1500px)/2) );color-scheme:dark;font-family:var(--font-text);font-weight:var(--text-weight);background:var(--ink);color:var(--paper)}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:100px}body{margin:0;background:var(--ink)}body:after{content:"";position:fixed;inset:0;background:url(assets/grain.png) repeat;opacity:.035;mix-blend-mode:screen;pointer-events:none;z-index:60}a{color:inherit;text-decoration:none}button{font:inherit;color:inherit;cursor:pointer;background:none;border:0;padding:0}a,button{-webkit-tap-highlight-color:transparent}a:focus-visible,button:focus-visible,.film-stage:focus-visible,input:focus-visible{outline:3px solid #5fb775;outline-offset:6px}code{font-family:var(--font-mono);font-size:.92em;letter-spacing:.01em}.skip{position:fixed;top:-100px;left:20px;z-index:100;background:var(--paper);color:var(--ink);padding:10px 16px}.skip:focus{top:10px}html[data-smooth-scroll],html[data-smooth-scroll] [data-scroll-layer],html[data-smooth-scroll] [data-scroll-spacer]{overflow-anchor:none}main{display:block}main:focus{outline:none}h1,h2,h3,.fc.stmt{text-wrap:balance}h1,h2,h3{font-family:var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-track);margin:0}h1 em,h2 em,h3 em{font-family:var(--font-accent);font-weight:var(--accent-weight);font-style:var(--accent-style);font-variation-settings:var(--accent-vs);color:var(--green);letter-spacing:0}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}:root{--hh:90px}@media(max-width:600px){:root{--hh:76px}}@media(prefers-reduced-motion:reduce),(scripting:none){main{padding-top:var(--hh)}}.film{position:relative;height:min(calc(100svh - var(--hh)),calc(51.5625vw + 64px));min-height:300px}.film-stage{position:absolute;inset:0;background:var(--ink);overflow:hidden;cursor:pointer}.film-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.film-ov{position:absolute;left:0;top:0;width:1920px;height:1080px;transform-origin:0 0;pointer-events:none}.film-fallback{display:none;position:absolute;inset:0;margin:0;place-items:center;padding:10%;text-align:center;font:15px/1.6 var(--font-mono);color:var(--muted)}.film[data-state=unsupported] .film-fallback{display:grid}.film[data-state=unsupported] .film-transport{display:none}.film[data-state=unsupported] .film-stage{cursor:default}.fc{position:absolute;opacity:0;white-space:nowrap}.fc.l{margin-left:var(--lx,0px)}.fc.stmt{font:400 68px/1.04 var(--font-display);letter-spacing:-.01em;color:var(--paper);white-space:normal;max-width:1640px}.fc.stmt.c{white-space:nowrap;max-width:none}.fc.stmt.big{font-size:80px}.fc.stmt em{font:var(--accent-style) var(--accent-weight) 1.1em/1 var(--font-accent);font-variation-settings:var(--accent-vs);color:var(--green);letter-spacing:0}.fc.stmt .w{display:inline-block;opacity:0}.fc.mono{font:24px/1.3 var(--font-mono);letter-spacing:.06em;color:#f3f3ece0}.fc.mono.s{font-size:20px;letter-spacing:.05em;color:#f3f3ecd1}.fc.mono.file{letter-spacing:.02em}.fc.mono.q{letter-spacing:.02em;color:#f3f3ecd6}.fc.mono.q b{font-weight:400;color:var(--paper)}.fc.mono.big{font-size:40px;letter-spacing:.16em}.fc.mono.url{font-size:30px;letter-spacing:.04em}.fc.fc.amb{color:var(--amber)}.fc.fc.grn{color:var(--green)}.fc.lbl{font:600 26px/1 var(--font-text);color:var(--paper);letter-spacing:-.01em}.film-transport{position:absolute;left:0;right:0;bottom:0;height:64px;padding:0 var(--gutter);display:flex;align-items:center;gap:20px;font:12px/1 var(--font-mono);letter-spacing:.08em;color:var(--muted)}.film-play{min-width:92px;padding:11px 16px;border:1px solid #3c5a44;border-radius:999px;color:var(--paper);text-transform:uppercase;letter-spacing:.12em;font-size:11px;transition:border-color .2s,background .2s}.film-play:hover{border-color:var(--green);background:#53db7614}.film-time{min-width:92px;font-variant-numeric:tabular-nums}.film-track{position:relative;flex:1;height:28px}.film-ticks i{position:absolute;top:8px;height:12px;border-left:1px solid #53db7680}.film-scrub{--p:0;position:absolute;inset:0;width:100%;height:28px;margin:0;background:transparent;-webkit-appearance:none;appearance:none;cursor:pointer}.film-scrub::-webkit-slider-runnable-track{height:2px;background:linear-gradient(90deg,var(--green) calc(var(--p)*100%),rgba(243,243,236,.18) 0)}.film-scrub::-moz-range-track{height:2px;background:linear-gradient(90deg,var(--green) calc(var(--p)*100%),rgba(243,243,236,.18) 0)}.film-scrub::-webkit-slider-thumb{-webkit-appearance:none;width:12px;height:12px;margin-top:-5px;border-radius:50%;background:var(--green);box-shadow:0 0 12px #53db76}.film-scrub::-moz-range-thumb{width:12px;height:12px;border:0;border-radius:50%;background:var(--green);box-shadow:0 0 12px #53db76}.log{position:relative;height:calc((100svh - var(--hh)) * 9);min-height:2700px}.log-stage{position:sticky;top:var(--hh);height:calc(100svh - var(--hh));min-height:300px;padding:0 var(--gutter);overflow:hidden;background:var(--ink)}html[data-smooth-scroll] .log-stage{position:absolute;top:0;left:0;right:0}.log-canvas{position:absolute;inset:0;width:100%;height:100%;display:block}.log-ov{position:absolute;left:0;top:0;width:1920px;height:1080px;transform-origin:0 0;pointer-events:none}.log-ov .fc.mono{font-size:26px;line-height:1.4;letter-spacing:.06em;color:#f3f3ece0}.log-ov .fc.mono.s{font-size:22px;letter-spacing:.05em;color:#f3f3eccc}.log-ov .fc.mono.q{font-size:24px;letter-spacing:.02em;color:var(--paper)}.log-ov .fc.mono.big{font-size:44px;letter-spacing:.08em}.log-ov .fc.wrap{white-space:normal;max-width:400px}.log-ov .fc.c{text-align:center}.log-ov .fc.r{text-align:right}.log-ov .fc.fc.fc.amb{color:var(--amber)}.log-ov .fc.fc.fc.grn{color:var(--green)}.log-foot{position:absolute;left:var(--gutter);right:var(--gutter);bottom:0;height:56px;display:flex;align-items:center;gap:20px}.log-bar{--p:0;position:relative;flex:1;height:2px;background:linear-gradient(90deg,var(--green) calc(var(--p)*100%),rgba(243,243,236,.18) 0)}.log-bar i{position:absolute;top:-5px;height:12px;border-left:1px solid #53db7680}.log-skip{padding:9px 14px;border:1px solid #3c5a44;border-radius:999px;font:11px/1 var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--paper);transition:border-color .2s,background .2s}.log-skip:hover{border-color:var(--green);background:#53db7614}.log-text{list-style:none;margin:0;padding:0}.log:not([data-state=static]) .log-text{position:absolute;width:1px;height:1px;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.log[data-state=static]{height:auto;min-height:0;padding:96px var(--gutter) 0}.log[data-state=static] .log-stage{display:none}.log[data-state=static] .log-text{border-top:1px solid var(--line)}.log-text li{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);gap:20px 6vw;padding:34px 0 38px;border-bottom:1px solid var(--line)}.log-text h3{font-size:clamp(30px,3.05vw,54px);line-height:1.04;color:var(--paper)}.log-text p{margin:0;font-size:clamp(18px,1.3vw,21px);line-height:1.5;color:#d3d8cc;text-wrap:pretty}@media(prefers-reduced-motion:reduce),(scripting:none){.log{height:auto;min-height:0;padding:96px var(--gutter) 0}.log .log-stage{display:none}.log .log-text{position:static;width:auto;height:auto;margin:0;overflow:visible;clip:auto;white-space:normal;border-top:1px solid var(--line)}}.log-end{padding:120px var(--gutter) 150px;display:grid;gap:18px;justify-items:start}.cta{font:clamp(22px,1.8vw,30px)/1.1 var(--font-display);font-weight:var(--display-weight);letter-spacing:var(--display-track);color:var(--green);border-bottom:1px solid #53db7666;transition:border-color .2s}.cta:hover{border-color:var(--green)}.log-end p{margin:0;max-width:40em;font-size:17px;line-height:1.55;color:#c2c9ba}.log-end p a{border-bottom:1px solid #53db7666;transition:border-color .2s,color .2s}.log-end p a:hover{color:var(--green);border-color:var(--green)}@media(max-width:900px){.log-text li{grid-template-columns:1fr}}@media(max-width:520px){.film-transport{gap:12px}.film-time{min-width:0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{transition:none!important}html{scroll-behavior:auto}}
