@font-face{font-family:Instrument Serif;font-style:normal;font-weight:400;font-display:swap;src:url(/_astro/instrument-serif-latin-400-normal.DnYpCC2O.woff2)format("woff2")}@font-face{font-family:Instrument Serif;font-style:italic;font-weight:400;font-display:swap;src:url(/_astro/instrument-serif-latin-400-italic.DKMiL14s.woff2)format("woff2")}@font-face{font-family:Geist Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_astro/geist-latin-wght-normal.BgDaEnEv.woff2)format("woff2-variations")}@font-face{font-family:Geist Mono Variable;font-style:normal;font-weight:100 900;font-display:swap;src:url(/_astro/geist-mono-latin-wght-normal.XN7g48iV.woff2)format("woff2-variations")}:root{--paper:#dad8d0;--paper-2:#d2d0c7;--card:#f1efe7;--ink:#1c1a17;--ink-2:#4a463f;--mute:#76716a;--rule:#1c1a174d;--header-bg:#dad8d0d1;--accent-l:#d9481f;--accent-d:#f06a3c;--accent-text-l:#b83a14;--accent-text-d:#f27e55;--on-accent:#fff;--accent:var(--accent-l);--accent-text:var(--accent-text-l);--serif:"Instrument Serif", "Iowan Old Style", Georgia, serif;--sans:"Geist Variable", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--mono:"Geist Mono Variable", ui-monospace, SFMono-Regular, Menlo, monospace;--hdr:56px}:root[data-accent=blue]{--accent-l:#2f4be0;--accent-d:#7088ff;--accent-text-l:#2a42c4;--accent-text-d:#8c9fff}:root[data-accent=chartreuse]{--accent-l:#a9b41a;--accent-d:#d4e157;--accent-text-l:#5f6900;--accent-text-d:#d4e157;--on-accent:#1c1a17}:root[data-accent=teal]{--accent-l:#0f7a6c;--accent-d:#3cc4ae;--accent-text-l:#0b6a5d;--accent-text-d:#4fd2bc}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#161513;--paper-2:#1e1c19;--card:#25221e;--ink:#ece9df;--ink-2:#c3beb2;--mute:#8d887e;--rule:#ece9df38;--header-bg:#161513d1;--accent:var(--accent-d);--accent-text:var(--accent-text-d)}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--paper:#161513;--paper-2:#1e1c19;--card:#25221e;--ink:#ece9df;--ink-2:#c3beb2;--mute:#8d887e;--rule:#ece9df38;--header-bg:#161513d1;--accent:var(--accent-d);--accent-text:var(--accent-text-d)}*{box-sizing:border-box}[hidden]{display:none!important}html{scroll-behavior:smooth}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}body{background:var(--paper);color:var(--ink);font:16px/1.6 var(--sans);-webkit-font-smoothing:antialiased;margin:0;padding:0}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px;border-radius:2px}.wrap{max-width:1180px;margin:0 auto;padding-inline:24px}@media (width<=600px){.wrap{padding-inline:16px}}.mono{font-family:var(--mono);letter-spacing:.08em;text-transform:uppercase;font-size:11.5px}.num{font-variant-numeric:tabular-nums}.hdr{z-index:20;padding-top:env(safe-area-inset-top,0px);background:var(--header-bg);-webkit-backdrop-filter:blur(10px);border-bottom:1px dashed var(--rule);position:sticky;top:0}.hdr .wrap{height:var(--hdr);justify-content:space-between;align-items:center;gap:16px;display:flex}.brand{align-items:baseline;gap:12px;text-decoration:none;display:flex}.brand b{font:400 22px/1 var(--serif);letter-spacing:-.01em}.brand span{color:var(--mute)}.nav{gap:22px;display:flex}.nav a{color:var(--ink-2);text-decoration:none}.nav a:hover{color:var(--accent-text)}@media (width<=760px){.brand span,.nav a:not(.keep){display:none}}footer{color:var(--mute);padding-block:28px 130px}footer .wrap{flex-wrap:wrap;justify-content:space-between;gap:16px;display:flex}footer b{color:var(--accent-text);font-weight:500}.anim .rv{opacity:0;transition:opacity .7s,transform .7s cubic-bezier(.2,.7,.2,1);transform:translateY(18px)}.anim .rv.in{opacity:1;transform:none}.anim .wipe{clip-path:inset(0 100% 0 0);transition:clip-path .9s cubic-bezier(.6,0,.2,1)}.anim .wipe.in{clip-path:inset(0)}section.block{padding-block:112px}body{transition:background-color 1.1s}body.tone-2{background:var(--paper-2)}@media (prefers-reduced-motion:reduce){body{transition:none}}@media (width<=600px){section.block{padding-block:68px}}#about.block{padding-bottom:56px}#contact.block{padding-top:40px}@media (width<=600px){#about.block{padding-bottom:40px}#contact.block{padding-top:28px}}.sec-head{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:20px;margin-bottom:44px;display:flex}.sec-head h2{font:400 clamp(38px, 5.4vw, 64px)/1 var(--serif);letter-spacing:-.015em;text-wrap:balance;margin:10px 0 0}.sec-head h2 em{color:var(--accent-text)}.sec-head .mono{color:var(--mute)}.draft{border:1px dashed var(--accent);color:var(--accent-text);border-radius:3px;padding:4px 8px;font-size:10.5px}.stats{border-top:1px solid var(--ink);border-bottom:1px solid var(--ink);grid-template-columns:repeat(4,1fr);display:grid}.stat{flex-direction:column;gap:14px;padding:26px 22px 24px;display:flex}.stat+.stat{border-left:1px dashed var(--rule)}.stat .big{font:400 clamp(52px, 6vw, 76px)/.9 var(--serif);letter-spacing:-.02em}.stat .big small{color:var(--accent-text);margin-left:2px;font-size:.5em}.stat .lbl{color:var(--ink-2);font-size:14.5px;line-height:1.4}.stat .src{color:var(--mute);margin-top:auto;font-size:10.5px}.mini{align-items:center;height:54px;display:flex}.dotgrid{gap:3px;display:grid}.dotgrid i{background:var(--rule);border-radius:50%;width:5px;height:5px;transition:background .25s,transform .25s}.dotgrid i.on{background:var(--accent)}.dotgrid i.x.on{background:var(--rule)}.bars{gap:7px;width:100%;display:grid}.bars div{background:var(--rule);transform-origin:0;border-radius:1px;width:100%;height:9px;transition:transform 1.4s cubic-bezier(.2,.7,.2,1)}.bars div.after{background:var(--accent)}.bars span{font:10px var(--mono);color:var(--mute);letter-spacing:.06em}@media (width<=900px){.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(3){border-left:0}.stat:nth-child(n+3){border-top:1px dashed var(--rule)}}@media (width<=460px){.stats{grid-template-columns:1fr}.stat+.stat{border-left:0;border-top:1px dashed var(--rule)}}.case{border-top:1px dashed var(--rule);grid-template-columns:1fr 1.08fr;align-items:center;gap:56px;padding-block:56px;display:grid}.case:first-child{border-top:1px solid var(--ink)}.case:nth-child(2n) .fig{order:-1}.case .when{color:var(--mute)}.case h3{font:400 clamp(30px, 3.4vw, 40px)/1.08 var(--serif);letter-spacing:-.01em;text-wrap:balance;margin:10px 0 14px}.case p{color:var(--ink-2);max-width:54ch;margin:0 0 18px}.pillars{grid-template-columns:1fr 1fr;gap:12px 18px;max-width:58ch;margin:0 0 18px;padding:0;list-style:none;display:grid}.pillars li{border-top:1px dashed var(--rule);gap:3px;padding-top:8px;display:grid}.pillars b{font:500 11px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--accent-text)}.pillars span{color:var(--ink-2);font-size:14px;line-height:1.45}@media (width<=560px){.pillars{grid-template-columns:1fr}}.kpis{flex-wrap:wrap;gap:28px;margin:4px 0 18px;display:flex}.kpi b{font:400 38px/1 var(--serif);color:var(--accent-text);letter-spacing:-.01em;display:block}.kpi span{color:var(--mute);font-size:13px}.chips{flex-wrap:wrap;gap:6px;display:flex}.chips span{font:11px/1 var(--mono);border:1px dashed var(--rule);color:var(--ink-2);border-radius:3px;padding:5px 7px}.fig{border:1px dashed var(--rule);background:var(--paper-2);border-radius:6px;margin:0;padding:18px}.fig canvas,.fig .stagebox,.fig .fig-slot{aspect-ratio:16/10;width:100%;display:block}.fig figcaption{color:var(--mute);justify-content:space-between;gap:12px;margin-top:12px;font-size:10.5px;display:flex}.fig figcaption b{color:var(--ink);font-weight:500}@media (width<=900px){.case{grid-template-columns:1fr;gap:28px;padding-block:44px}.case:nth-child(2n) .fig{order:0}}.career{height:620vh;position:relative}.career-sticky{top:calc(env(safe-area-inset-top,0px) + var(--hdr));height:calc(100vh - var(--hdr));height:calc(100svh - var(--hdr) - env(safe-area-inset-top,0px));flex-direction:column;justify-content:center;gap:26px;padding-block:20px;display:flex;position:sticky;overflow:hidden}.track{height:54px;margin-top:30px;position:relative}.career-head{margin-bottom:0}.career-head h2{font-size:clamp(34px,4.2vw,52px)}.stop.first{align-items:flex-start;transform:none}.stop.last{align-items:flex-end;transform:translate(-100%)}.track .line{border-top:1px dashed var(--rule);position:absolute;top:18px;left:0;right:0}.track .fill{background:var(--accent);width:0;height:3px;transition:width .6s cubic-bezier(.2,.7,.2,1);position:absolute;top:17px;left:0}.stop{cursor:pointer;color:var(--mute);background:0 0;border:0;flex-direction:column;align-items:center;gap:8px;padding:0;display:flex;position:absolute;top:0;transform:translate(-50%)}.stop i{border:1.5px solid var(--ink-2);background:var(--paper-2);border-radius:50%;width:13px;height:13px;margin-top:12px;transition:background .3s,transform .3s,border-color .3s}.stop span{font:10.5px var(--mono);letter-spacing:.06em;white-space:nowrap}.stop.past i{background:var(--ink);border-color:var(--ink)}.stop.cur i{background:var(--accent);border-color:var(--accent);transform:scale(1.5)}.stop.cur span{color:var(--ink)}.reloc{color:var(--accent-text);font:10px var(--mono);letter-spacing:.06em;white-space:nowrap;opacity:0;transition:opacity .4s;position:absolute;top:-22px;transform:translate(-50%)}.reloc.on{opacity:1}.role-wrap{grid-template-columns:1.35fr 1fr;align-items:start;gap:56px;display:grid}.role{min-height:330px}.role .meta{color:var(--mute);flex-wrap:wrap;gap:14px;display:flex}.role h3{font:400 clamp(46px, 6.5vw, 84px)/.95 var(--serif);letter-spacing:-.02em;margin:12px 0 6px}.role .title{color:var(--ink-2);margin:0 0 22px;font-size:18px}.role ul{gap:10px;margin:0 0 20px;padding:0;list-style:none;display:grid}.role li{border-top:1px dashed var(--rule);grid-template-columns:96px 1fr;align-items:baseline;gap:14px;padding-top:10px;display:grid}.role li b{font:400 26px/1 var(--serif);color:var(--accent-text)}.role li span{color:var(--ink-2);font-size:15px;line-height:1.45}.anim .role.swap{animation:.6s cubic-bezier(.2,.7,.2,1) both roleIn}@keyframes roleIn{0%{opacity:0;filter:blur(3px);transform:translateY(26px)}}.finger h4{color:var(--mute);margin:0 0 14px;font-weight:400}.frow{border-top:1px dashed var(--rule);grid-template-columns:120px 1fr;align-items:center;gap:12px;padding-block:7px;display:grid}.frow>span{color:var(--ink-2);font-size:13.5px}.fdots{gap:6px;display:flex}.fdots i{border:1.5px solid var(--rule);border-radius:50%;width:12px;height:12px;transition:background .45s,border-color .45s,transform .45s}.fdots i.on{background:var(--accent);border-color:var(--accent)}.finger .note{color:var(--mute);margin-top:12px;font-size:10px}@media (width<=900px){.career{height:560vh}.career-sticky{justify-content:flex-start;gap:14px;padding-top:18px}.career-head .mono:last-child{display:none}.track{margin-top:18px}.role-wrap{grid-template-columns:1fr;gap:18px}.role{min-height:0}.role h3{font-size:46px}.role .title{margin-bottom:12px;font-size:16px}.role li{grid-template-columns:80px 1fr}.role li b{font-size:22px}.role li:nth-child(n+3),.stop span{display:none}.stop.cur span{display:block}.frow{padding-block:4px}.finger h4{margin-bottom:6px}}@media (height<=760px) and (width>=901px){.role h3{font-size:56px}.role{min-height:260px}.career-head h2{font-size:36px}}@media (width<=600px) and (height<=820px){.finger{display:none}}.lanes-wrap{overflow-x:auto}.lanes{border-top:1px solid var(--ink);grid-template-columns:200px repeat(6,1fr);min-width:640px;display:grid}.lanes>div{border-bottom:1px dashed var(--rule);align-items:center;padding-block:11px;display:flex}.lanes .yr{color:var(--mute);font:11px var(--mono);letter-spacing:.06em;justify-content:flex-start}.lanes .nm{color:var(--ink);font-size:14.5px}.cell{gap:4px}.cell i{background:var(--rule);opacity:.55;border-radius:50%;width:9px;height:9px;transition:background .4s,opacity .4s}.cell i.on{background:var(--accent);opacity:1}.lanes-note{color:var(--mute);margin-top:14px;font-size:13.5px}.filters{flex-wrap:wrap;gap:8px;display:flex}.filters button{font:11.5px/1 var(--mono);letter-spacing:.06em;text-transform:uppercase;color:var(--ink-2);border:1px dashed var(--rule);cursor:pointer;background:0 0;border-radius:99px;padding:8px 11px}.filters button[aria-pressed=true]{background:var(--ink);color:var(--paper);border-color:var(--ink)}.feed{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}@media (width<=900px){.feed{grid-template-columns:1fr}}.post{background:var(--card);border:1px solid var(--rule);border-radius:6px;flex-direction:column;gap:12px;padding:22px;text-decoration:none;transition:transform .2s,border-color .2s;display:flex}.post:hover{border-color:var(--accent);transform:translateY(-2px)}.post.sample{background:0 0;border-style:dashed}.post .top{color:var(--mute);justify-content:space-between;gap:10px;display:flex}.post .src{color:var(--accent-text)}.post h3{font:400 25px/1.15 var(--serif);text-wrap:balance;margin:0}.post p{color:var(--ink-2);margin:0;font-size:15px}.post .chips{margin-top:auto}.post .demos{flex-wrap:wrap;gap:14px;display:flex}.post .demos a{color:var(--accent-text);text-decoration:none}.post .demos a:hover{text-decoration:underline}.feed-note{color:var(--mute);margin-top:18px;font-size:14px}.about{grid-template-columns:1fr 1.25fr;align-items:center;gap:64px;display:grid}.photo{margin:0;position:relative}.photo img{aspect-ratio:3/4;object-fit:cover;filter:saturate(.92);border-radius:6px;width:100%;max-width:100%;display:block}.photo figcaption{color:var(--mute);justify-content:space-between;margin-top:10px;font-size:10.5px;display:flex}.about-copy p{color:var(--ink-2);max-width:56ch;margin:0 0 18px;font-size:18px}.about-copy p.big{font:400 clamp(28px, 3vw, 36px)/1.22 var(--serif);color:var(--ink);text-wrap:balance}.facts{border-top:1px solid var(--ink);grid-template-columns:repeat(3,1fr);margin-top:28px;display:grid}.facts div{padding:14px 14px 0 0}.facts div+div{border-left:1px dashed var(--rule);padding-left:14px}.facts b{font:400 30px/1.05 var(--serif);display:block}.facts span{color:var(--mute);font-size:13px}@media (width<=860px){.about{grid-template-columns:1fr;gap:32px}.photo{max-width:420px}}.contact h2{font:400 clamp(44px, 7.5vw, 96px)/.98 var(--serif);letter-spacing:-.02em;text-wrap:balance;max-width:14ch;margin:10px 0 32px}.contact h2 em{color:var(--accent-text)}.links{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.email{font:15px var(--mono);border:1px solid var(--ink);-webkit-user-select:all;user-select:all;border-radius:4px;padding:12px 14px}.btn{font:500 14px var(--sans);cursor:pointer;background:var(--accent);color:var(--on-accent);border:1px solid var(--accent);border-radius:4px;padding:12px 16px;text-decoration:none}.btn.ghost{color:var(--ink);border:1px dashed var(--rule);background:0 0}.btn.ghost:hover{border-color:var(--accent);color:var(--accent-text)}.week{grid-template-columns:repeat(5,1fr);gap:6px;height:100%;display:grid;position:relative}.week .day{border-left:1px dashed var(--rule);color:var(--mute);font:10px var(--mono);letter-spacing:.06em;padding:6px 0 0 6px}.mtg{background:var(--ink);height:17%;color:var(--paper);font:10.5px/1.2 var(--mono);letter-spacing:.04em;border-radius:4px;padding:6px 8px;transition:all .9s cubic-bezier(.6,0,.2,1);position:absolute;overflow:hidden}.mtg.m1{width:19%;top:22%;left:0%}.mtg.m2{width:19%;top:46%;left:40.5%}.mtg.m3{width:19%;top:30%;left:81%}.mtg.one{background:var(--accent);width:19%;height:17%;color:var(--on-accent);opacity:0;transition:opacity .5s .7s;position:absolute;top:22%;left:0}.merged .mtg.m1,.merged .mtg.m2,.merged .mtg.m3{opacity:0;width:19%;top:22%;left:0%}.merged .mtg.one{opacity:1}.saved{color:var(--mute);font:10px var(--mono);letter-spacing:.06em;align-items:center;gap:4px;display:flex;position:absolute;bottom:4%;left:21%;right:0}.saved i{background:var(--rule);border-radius:2px;flex:1;height:10px;transition:background .4s}.merged .saved i{background:var(--accent)}.merged .saved i:first-child{transition-delay:.9s}.merged .saved i:nth-child(2){transition-delay:1.05s}.merged .saved i:nth-child(3){transition-delay:1.2s}.merged .saved i:nth-child(4){transition-delay:1.35s}.merged .saved i:nth-child(5){transition-delay:1.5s}.flow{grid-template-rows:auto 1fr;gap:14px;height:100%;display:grid}.dc{grid-template-columns:1fr 1fr;gap:12px;min-height:0;display:grid;overflow:hidden}.audit{border-left:1px dashed var(--rule);flex-direction:column;justify-content:flex-end;gap:7px;padding-left:10px;display:flex;overflow:hidden}.audit .ah{color:var(--mute);font:9.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;margin-bottom:auto}.arow{font:9.5px var(--mono);color:var(--ink-2);letter-spacing:.04em;gap:4px;animation:.35s both pop;display:grid}.arow .tags{flex-wrap:wrap;gap:3px;display:flex}.arow .tags span{border:1px solid var(--rule);color:var(--mute);border-radius:3px;padding:1px 3px;font-size:8.5px;transition:color .25s,border-color .25s}.arow .tags span.on{border-color:var(--accent);color:var(--accent-text)}.bub.policy{border:1px dashed var(--accent);max-width:90%;color:var(--accent-text);font:10px var(--mono);letter-spacing:.05em;text-transform:uppercase;background:0 0;align-self:center;padding:6px 9px}.states{grid-template-columns:repeat(5,1fr);gap:4px;display:grid}.states span{font:9.5px/1.25 var(--mono);letter-spacing:.04em;text-transform:uppercase;color:var(--mute);border-top:3px solid var(--rule);padding-top:8px;transition:color .3s,border-color .3s}.states span.on{color:var(--ink);border-color:var(--accent)}.chat{flex-direction:column;justify-content:flex-end;gap:8px;display:flex;overflow:hidden}.bub{border-radius:10px;gap:5px;max-width:82%;padding:9px 11px;animation:.35s both pop;display:grid}.bub i{opacity:.35;background:currentColor;border-radius:3px;height:6px;display:block}.bub.agent{background:var(--card);color:var(--ink);border:1px solid var(--rule);align-self:flex-start}.bub.cust{background:var(--ink);color:var(--paper);align-self:flex-end}.bub.done{background:var(--accent);color:var(--on-accent);font:11px var(--mono);letter-spacing:.06em;text-transform:uppercase;align-self:center}@keyframes pop{0%{opacity:0;transform:translateY(8px)scale(.97)}}.stage{height:400vh;position:relative}.stage-sticky{top:calc(env(safe-area-inset-top,0px) + var(--hdr));height:calc(100vh - var(--hdr));height:calc(100svh - var(--hdr) - env(safe-area-inset-top,0px));position:sticky;overflow:hidden}#scene,#gl{touch-action:pan-y;width:100%;height:100%;display:block;position:absolute;inset:0}#gl{pointer-events:none}.stage.grab #scene{cursor:grab}.stage.grabbing #scene{cursor:grabbing}.intro{pointer-events:none;align-items:center;display:flex;position:absolute;inset:0}.intro .wrap{width:100%}.intro-copy{pointer-events:auto;max-width:520px}.eyebrow{color:var(--accent-text);align-items:center;gap:10px;display:flex}.eyebrow:before{content:"";background:var(--accent);border-radius:50%;width:8px;height:8px}.stage h1{font:400 clamp(46px, 7vw, 92px)/.98 var(--serif);letter-spacing:-.02em;text-wrap:balance;margin:18px 0 20px}.stage h1 em{color:var(--accent-text);font-style:italic}.lead{color:var(--ink-2);max-width:44ch;margin:0 0 28px;font-size:18px}.cue{color:var(--mute);align-items:center;gap:10px;display:inline-flex}.cue i{background:var(--rule);width:1px;height:26px;display:inline-block;position:relative;overflow:hidden}.cue i:after{content:"";background:var(--accent);width:1px;height:10px;animation:1.8s ease-in-out infinite drip;position:absolute;top:-10px;left:0}@keyframes drip{to{top:26px}}@media (prefers-reduced-motion:reduce){.cue i:after{animation:none;top:8px}}@media (width<=899px){.intro{align-items:flex-start;padding-top:28px}.stage h1{margin:12px 0 14px;font-size:clamp(42px,11vw,60px)}.lead{margin-bottom:16px;font-size:16px}}.gui{pointer-events:none;opacity:0;position:absolute;inset:0}.gui .wrap{height:100%;position:relative}.yearbox{position:absolute;top:28px;left:24px}.year{font:400 clamp(56px, 8vw, 104px)/.9 var(--serif);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.year-cap{color:var(--ink-2);max-width:30ch;margin-top:10px;font-size:15px}.legend{color:var(--mute);flex-wrap:wrap;gap:16px;margin-top:14px;display:flex}.legend span{align-items:center;gap:6px;display:inline-flex}.legend b{border-radius:50%;width:7px;height:7px;display:inline-block}.hint{color:var(--mute);position:absolute;bottom:22px;left:24px}.plist{pointer-events:auto;width:240px;position:absolute;top:50%;right:24px;transform:translateY(-50%)}.plist h3{color:var(--mute);margin:0 0 10px;font-weight:400}.plist ul{border-top:1px dashed var(--rule);margin:0;padding:0;list-style:none}.plist li{border-bottom:1px dashed var(--rule)}.plist button{all:unset;box-sizing:border-box;cursor:pointer;width:100%;color:var(--ink-2);justify-content:space-between;gap:10px;padding:10px 2px;font-size:14px;display:flex}.plist button span{color:var(--mute);font:11px var(--mono)}.plist button:hover,.plist button:focus-visible{color:var(--accent-text)}@media (width<=899px){.yearbox{top:20px;left:16px}.year-cap{font-size:14px}.plist{display:none}.hint{bottom:16px;left:16px}}.tip{z-index:5;pointer-events:none;background:var(--card);border:1px solid var(--rule);border-radius:6px;width:250px;padding:12px 14px;font-size:14px;line-height:1.45;position:absolute;box-shadow:0 10px 30px #0000001a}.tip .mono{color:var(--accent-text);font-size:10.5px}.tip strong{font:400 21px/1.15 var(--serif);margin:4px 0 6px;display:block}.tip p{color:var(--ink-2);margin:0}html #gl{top:calc(env(safe-area-inset-top,0px) + var(--hdr));width:100%;height:calc(100svh - var(--hdr) - env(safe-area-inset-top,0px));z-index:2;position:fixed;left:0}.stage .fallback{display:none}.stage.no-webgl{height:auto}.stage.no-webgl .stage-sticky{height:calc(100vh - var(--hdr));height:calc(100svh - var(--hdr) - env(safe-area-inset-top,0px));position:relative}.stage.no-webgl canvas{display:none}.stage.no-webgl .fallback{pointer-events:none;z-index:0;justify-content:flex-end;align-items:center;padding-right:max(24px,50vw - 566px);display:flex;position:absolute;inset:0}.stage.no-webgl .fallback img{mix-blend-mode:multiply;max-width:44vw;max-height:86%;display:block}.stage.no-webgl .intro{z-index:1}:root[data-theme=dark] .stage.no-webgl .fallback img{mix-blend-mode:screen}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .stage.no-webgl .fallback img{mix-blend-mode:screen}}@media (width<=899px){.stage.no-webgl .fallback{justify-content:center;align-items:flex-end;padding:0 16px 24px}.stage.no-webgl .fallback img{max-width:78vw;max-height:46%}}.stage.no-webgl .cue{display:none}
