:root{--paper:#f1f5f3;--paper-2:#e8eeeb;--ink:#12211d;--ink-soft:#4e635c;--ink-faint:#9cb0a9;--line:#d7e1dd;--teal:#0e8c7f;--teal-2:#0a6b61;--teal-ink:#0a6b61;--amber:#e0930f;--amber-ink:#9a5e05;--sos:#e5484d;--sos-2:#be2a2f;--mono:ui-monospace,"JetBrains Mono","SF Mono",Menlo,Consolas,monospace;--disp:"Helvetica Neue",-apple-system,"Segoe UI Semibold","Segoe UI",system-ui,Arial,sans-serif;color-scheme:light}*{box-sizing:border-box;margin:0}body,html{height:100%}body{color:var(--ink);font-family:var(--mono);overflow:hidden;-webkit-font-smoothing:antialiased;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;background:radial-gradient(96% 86% at 72% 46%,rgba(18,40,34,.06),transparent 56%),radial-gradient(64% 62% at 6% 100%,rgba(224,147,15,.045),transparent 62%),radial-gradient(70% 60% at 100% 0,rgba(14,140,127,.035),transparent 60%),var(--paper)}a{text-decoration:none}a,button{color:inherit}button{font:inherit;background:none;border:none;cursor:pointer}:focus-visible{outline:2px solid var(--teal);outline-offset:4px}.skip{position:fixed;left:-9999px;top:0;z-index:99;background:var(--teal);color:#fff;padding:8px 14px;font-size:12px}.skip:focus{left:10px;top:10px}#net{position:fixed;inset:0;width:100vw;height:100dvh;z-index:0;display:block}.scrim{z-index:1;background:linear-gradient(100deg,rgba(241,245,243,.95),rgba(241,245,243,.6) 33%,rgba(241,245,243,.04) 59%,rgba(241,245,243,.42))}.scrim,.vig{position:fixed;inset:0;pointer-events:none}.vig{z-index:2;box-shadow:inset 0 0 180px 30px rgba(18,40,34,.05)}.grain{position:fixed;inset:-50%;z-index:6;pointer-events:none;opacity:.05;mix-blend-mode:multiply;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grain 6s steps(6) infinite}@keyframes grain{0%{transform:translate(0)}25%{transform:translate(-4%,3%)}50%{transform:translate(3%,-2%)}75%{transform:translate(-2%,4%)}to{transform:translate(0)}}.stage{position:relative;z-index:5;height:100dvh;min-height:100vh;width:100vw;display:grid;grid-template-rows:auto 1fr auto;padding:clamp(14px,2.4vw,26px)}.tick{position:absolute;width:15px;height:15px;border-color:var(--ink-faint);pointer-events:none;z-index:6;opacity:0}.tick.tl{left:12px;border-left:1.5px solid}.tick.tl,.tick.tr{top:12px;border-top:1.5px solid}.tick.tr{right:12px;border-right:1.5px solid}.tick.bl{left:12px;border-left:1.5px solid}.tick.bl,.tick.br{bottom:12px;border-bottom:1.5px solid}.tick.br{right:12px;border-right:1.5px solid}.booted .tick{opacity:1;transition:opacity .5s ease .1s}.readout{display:flex;align-items:center;gap:14px;flex-wrap:wrap;position:relative;z-index:6;font-size:clamp(10px,1.15vw,12px);letter-spacing:.18em;text-transform:uppercase;color:var(--ink-soft);padding:2px 6px 12px;border-bottom:1px solid var(--line)}.readout .live{display:inline-flex;align-items:center;gap:8px;color:var(--teal-2)}.readout .live b{width:7px;height:7px;border-radius:50%;background:var(--teal);box-shadow:0 0 0 0 rgba(14,140,127,.5);animation:beat 2.2s ease-out infinite}@keyframes beat{0%{box-shadow:0 0 0 0 rgba(14,140,127,.45)}70%{box-shadow:0 0 0 8px rgba(14,140,127,0)}to{box-shadow:0 0 0 0 rgba(14,140,127,0)}}.readout .sep{flex:1 1 20px;height:1px;background:var(--line)}.readout b.on{color:var(--ink)}.main{position:relative;z-index:6;display:grid;align-items:center;grid-template-columns:1fr;grid-gap:26px;gap:26px;min-height:0}@media(min-width:880px){.main{grid-template-columns:minmax(0,1.06fr) minmax(0,.94fr);gap:clamp(20px,3vw,50px)}}.left{display:flex;flex-direction:column;justify-content:center;min-width:0;gap:clamp(15px,2.4vh,28px)}.rise{opacity:0;transform:translateY(18px)}.booted .rise{opacity:1;transform:none;transition:opacity .7s ease,transform .7s cubic-bezier(.2,.75,.2,1)}.booted .d1{transition-delay:.28s}.booted .d2{transition-delay:.44s}.booted .d3{transition-delay:.6s}.glyph-word{position:relative}.ghost{position:absolute;left:-3px;top:50%;transform:translateY(-52%);font-size:clamp(92px,20vw,240px);color:transparent;-webkit-text-stroke:1px rgba(14,140,127,.12);letter-spacing:-.03em;white-space:nowrap;pointer-events:none;z-index:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.ghost,h1.word{font-family:var(--disp);font-weight:800}h1.word{position:relative;z-index:1;font-size:clamp(52px,9.6vw,132px);line-height:.9;letter-spacing:-.045em;color:var(--ink)}h1.word .o{color:var(--sos);text-shadow:0 0 18px rgba(229,72,77,.28);animation:opulse 3.2s ease-in-out infinite}@keyframes opulse{0%,to{text-shadow:0 0 8px rgba(229,72,77,.18)}50%{text-shadow:0 0 22px rgba(229,72,77,.4)}}.baseline{margin-top:14px;height:2px;width:0;background:linear-gradient(90deg,var(--teal),transparent);max-width:260px}.booted .baseline{width:100%;transition:width 1.1s cubic-bezier(.2,.7,.2,1) .5s}.gloss{margin-top:11px;font-size:clamp(10px,1.25vw,12.5px);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft)}.gloss b{color:var(--teal-2);font-weight:600}.thesis{font-family:var(--disp);font-weight:800;letter-spacing:-.02em;line-height:1.03;font-size:clamp(23px,3.5vw,42px);color:var(--ink);text-wrap:balance;max-width:16ch}.thesis .hl{color:var(--sos)}.contexts{margin-top:14px;font-size:clamp(11px,1.35vw,13px);letter-spacing:.06em;text-transform:uppercase;height:1.4em;overflow:hidden}.contexts,.contexts .pre{color:var(--ink-soft)}.contexts .rot{display:inline-block;color:var(--teal-2);font-weight:600;transition:opacity .4s ease,transform .4s ease}.contexts .rot.out{opacity:0;transform:translateY(-8px)}.controls{display:flex;align-items:center;gap:clamp(14px,2vw,26px);flex-wrap:wrap;margin-top:4px}.download{position:relative;display:inline-flex;align-items:center;gap:14px;font-family:var(--mono);font-size:clamp(12.5px,1.5vw,14px);font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--sos-2);padding:clamp(14px,1.7vh,17px) clamp(18px,2vw,26px);border:1.6px solid var(--sos);background:rgba(229,72,77,.06);-webkit-clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px);clip-path:polygon(11px 0,100% 0,100% calc(100% - 11px),calc(100% - 11px) 100%,0 100%,0 11px);transition:background .18s ease,transform .12s ease,color .18s ease;overflow:hidden}.download .arw{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;background:var(--sos);color:#fff}.download .arw svg{width:15px;height:15px}.download:hover{background:var(--sos);color:#fff}.download:hover .arw{background:#fff;color:var(--sos)}.download:active{transform:translateY(1px)}.download .shine{position:absolute;top:0;left:-45%;width:30%;height:100%;background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.5),transparent);transform:skewX(-20deg);animation:shine 4.8s ease-in-out infinite}@keyframes shine{0%,74%{left:-45%}88%,to{left:130%}}.meta{font-size:clamp(10px,1.2vw,12px);letter-spacing:.1em;text-transform:uppercase;color:var(--ink-soft);line-height:1.7}.meta b{color:var(--ink)}.demo{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:22px;min-width:0;height:100%}@media(max-width:879px){.demo{gap:15px}}.sosbtn{position:relative;width:clamp(140px,26vw,208px);aspect-ratio:1/1;border-radius:50%;display:grid;place-items:center;color:#fff;font-family:var(--disp);font-weight:900;font-size:clamp(30px,6vw,46px);letter-spacing:.02em;background:radial-gradient(circle at 38% 32%,#ff6b63 0,#e5484d 46%,#c22b30 100%);box-shadow:0 0 0 9px rgba(229,72,77,.1),0 16px 40px -10px rgba(229,72,77,.5),inset 0 -12px 26px rgba(120,20,22,.35);transition:transform .12s ease,box-shadow .4s ease}.sosbtn:after{content:"";position:absolute;inset:-3px;border-radius:50%;border:2px solid hsla(0,0%,100%,.4)}.sosbtn .ring{position:absolute;inset:0;border-radius:50%;border:1.5px solid rgba(229,72,77,.4);animation:emit 3s ease-out infinite}.sosbtn .ring.r2{animation-delay:1.5s}@keyframes emit{0%{transform:scale(1);opacity:.7}to{transform:scale(2.15);opacity:0}}.sosbtn:hover{transform:scale(1.03)}.sosbtn:active{transform:scale(.97)}.sosbtn.fire{animation:fire .5s ease}@keyframes fire{0%{transform:scale(.94)}55%{transform:scale(1.06)}to{transform:scale(1)}}.sosbtn.ack{box-shadow:0 0 0 9px rgba(224,147,15,.16),0 16px 44px -8px rgba(224,147,15,.45),inset 0 -12px 26px rgba(120,20,22,.35)}.sosbtn.ack:before{content:"";position:absolute;inset:-12px;border-radius:50%;border:2px solid var(--amber);opacity:0;animation:ackp 1.5s ease-out}@keyframes ackp{0%{transform:scale(.85);opacity:.8}to{transform:scale(1.5);opacity:0}}.demo .hint{font-size:clamp(10px,1.2vw,12px);letter-spacing:.16em;text-transform:uppercase;color:var(--ink-soft);text-align:center;line-height:1.9}.demo .hint b{color:var(--teal-2)}.demo .hint .tag{color:var(--ink-soft)}.demo .hint b.amber{color:var(--amber-ink)}@media (prefers-reduced-motion:reduce){.download .shine,.grain,.readout .live b,.sosbtn .ring,.sosbtn.ack:before,h1.word .o{animation:none}.rise{transform:none}.rise,.tick{opacity:1}.baseline{width:100%;transition:none}}.foot{display:flex;align-items:center;gap:12px 22px;flex-wrap:wrap;position:relative;z-index:6;font-size:clamp(10px,1.15vw,12px);letter-spacing:.14em;text-transform:uppercase;color:var(--ink-soft);padding-top:12px;border-top:1px solid var(--line)}.foot .sep{flex:1 1 20px;height:1px;background:var(--line)}.foot .mg,.foot a:hover{color:var(--teal-2)}.foot .ico{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border:1px solid var(--line);border-radius:9px;color:var(--ink-soft);transition:color .15s,border-color .15s}.foot .ico svg{width:17px;height:17px}.foot .ico:hover{color:var(--teal-2);border-color:var(--teal-2)}@media(max-width:879px){.ghost{display:none}.foot{justify-content:center;text-align:center}.main{gap:18px}.sosbtn{width:clamp(120px,42vw,180px)}.scrim{background:linear-gradient(180deg,rgba(241,245,243,.94),rgba(241,245,243,.86) 30%,rgba(241,245,243,.42) 56%,rgba(241,245,243,.3) 74%,rgba(241,245,243,.6))}}@media(max-height:600px),(max-width:640px){body{overflow-y:auto;overflow-x:hidden}.stage{height:auto;min-height:100dvh}}@media(max-height:560px){.contexts,.gloss{display:none}h1.word{font-size:clamp(40px,13vw,64px)}.demo{gap:12px}}