*,:before,:after{box-sizing:border-box}html,body,#root{height:100%}html{-webkit-text-size-adjust:100%}body{background:var(--stage);color:var(--paper);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-size:1rem;line-height:1.5;overflow:hidden}canvas{display:block}button{font:inherit}.stage{isolation:isolate;background:linear-gradient(to bottom, var(--sky-top) 0%, #858586 16%, var(--sky-horizon) 30%, #8e8e8f 42%, var(--stage) 100%);width:100%;height:100%;position:relative;overflow:hidden}.stage .floor{opacity:0;transition:opacity .8s;inset:0;position:absolute!important}.stage.is-ready .floor{opacity:1}.grain{z-index:1;pointer-events:none;opacity:.22;mix-blend-mode:overlay;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='220' height='220'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 .5  0 0 0 0 .5  0 0 0 0 .5  0 0 0 1.4 -.2'/></filter><rect width='100%' height='100%' filter='url(%23n)'/></svg>");position:absolute;inset:0}.vignette{z-index:1;pointer-events:none;background:radial-gradient(85% 80% at 50% 48%,#0000 40%,#0808098c 100%);position:absolute;inset:0}.topbar{z-index:4;left:var(--gutter);right:var(--gutter);height:var(--topbar-h);font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:#fbfbfbd1;font-variant-numeric:tabular-nums;justify-content:space-between;align-items:center;gap:16px;font-size:11px;display:flex;position:absolute;top:0}.topbar__tag{color:inherit;white-space:nowrap;text-decoration:none}.topbar__tag b{color:var(--accent);font-weight:700}.topbar__tag:hover{color:var(--paper)}.topbar__tag:focus-visible{outline:2px solid var(--paper);outline-offset:3px}.topbar__live{white-space:nowrap;text-align:right}@media (max-width:720px){.topbar__live,.topbar__tagline{display:none}}.nav{z-index:4;left:var(--gutter);right:var(--gutter);bottom:calc(var(--gutter) + env(safe-area-inset-bottom,0px));background:var(--panel-ink);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);clip-path:polygon(0 0,calc(100% - 16px) 0,100% 16px,100% 100%,16px 100%,0 calc(100% - 16px));padding:12px 16px;position:absolute}.nav__row{min-height:38px;font-family:var(--font-mono);flex-wrap:wrap;align-items:center;gap:8px 14px;display:flex}.nav__prompt{color:var(--accent);letter-spacing:.06em;white-space:pre;align-items:center;gap:6px;font-size:13px;display:inline-flex}.nav__cmds{flex-wrap:nowrap;align-items:center;gap:8px;min-width:0;display:flex}.nav__btn{appearance:none;cursor:pointer;color:var(--paper);font-family:var(--font-mono);letter-spacing:.1em;white-space:pre;clip-path:polygon(0 0,calc(100% - 8px) 0,100% 8px,100% 100%,8px 100%,0 calc(100% - 8px));background:0 0;border:1px solid #fbfbfb61;border-radius:0;flex:none;align-items:center;gap:10px;margin:0;padding:8px 13px;font-size:13px;font-weight:700;transition:background .15s,color .15s,border-color .15s,gap .18s;display:inline-flex}.nav__btn[hidden]{display:none}.nav__btn kbd{box-sizing:border-box;max-width:2.6em;font-family:var(--font-mono);opacity:.7;border:1px solid;padding:1px 5px;font-size:10px;font-weight:400;transition:max-width .18s,opacity .18s,padding .18s;overflow:hidden}.nav__btn.is-typing{color:var(--paper);cursor:default;background:0 0;border-color:#0000;gap:0}.nav__btn.is-typing kbd{opacity:0;border-color:#0000;max-width:0;padding-inline:0}.nav__btn.is-typing .nav__cursor{margin-left:2px}.nav__btn:not(.is-typing):hover{border-color:var(--paper)}.nav__btn[aria-pressed=true]:not(.is-typing){background:var(--accent);border-color:var(--accent);color:var(--ink)}.nav__btn:focus-visible{outline:2px solid var(--paper);outline-offset:3px}.nav__cursor{background:var(--accent);flex:none;width:.6em;height:1.05em;animation:1.1s steps(2,start) infinite nav-blink;display:inline-block}.nav.is-booting .nav__cursor{animation:none}@keyframes nav-blink{to{opacity:0}}@media (hover:none){.nav__btn kbd{display:none}.nav__btn{gap:0}}@media (max-width:480px){.nav{padding:12px 14px}.nav__cmds{gap:6px}.nav__btn{letter-spacing:.06em;padding:8px 10px;font-size:12px}}@media (prefers-reduced-motion:reduce){.nav__cursor{animation:none}}.panel{--glass-alpha:1;--glass-blur:7px;z-index:3;left:var(--gutter);right:var(--gutter);top:var(--panel-top);bottom:var(--panel-bottom);background:rgba(222, 219, 215, calc(.74 * var(--glass-alpha)));min-width:0;max-width:920px;color:var(--ink);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(.9);backdrop-filter:blur(var(--glass-blur)) saturate(.9);position:absolute;overflow:hidden}.panel.is-full,.panel.is-filling{clip-path:polygon(0 0,calc(100% - 18px) 0,100% 18px,100% 100%,18px 100%,0 calc(100% - 18px))}.panel.is-filling:not([style*=clip-path]){clip-path:polygon(0 0,100% 0,100% 0,0 0)}.panel.is-draining,.panel.is-drained{pointer-events:none}.panel__water{pointer-events:none;z-index:2;width:100%;height:100%;position:absolute;inset:0;overflow:visible}.panel__water-glow{fill:none;stroke:var(--accent);stroke-width:12px;stroke-opacity:.45;vector-effect:non-scaling-stroke}.panel__water-glow path{vector-effect:non-scaling-stroke}.panel__water-line{fill:none;stroke:var(--paper);stroke-width:2px;stroke-opacity:.95;vector-effect:non-scaling-stroke}.panel.is-full .panel__water,.panel.is-drained .panel__water{display:none}.panel__scroll{overscroll-behavior:contain;scrollbar-color:var(--ink) transparent;height:100%;overflow-y:auto}.panel__inner{gap:36px;min-width:0;max-width:76ch;padding:clamp(24px,4vw,48px) clamp(20px,4vw,56px) clamp(32px,5vw,64px);display:grid}.panel__head{gap:10px;display:grid}.panel__readout{min-height:1.4em;font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);margin:0;font-size:11px}.panel__heading{min-height:1.05em;font-family:var(--font-ui);letter-spacing:-.005em;text-wrap:balance;outline:none;margin:0;font-size:clamp(1.7rem,4.2vw,3rem);font-weight:600;line-height:1.05}.panel__caret{vertical-align:-.12em;background:var(--accent-ink);width:.55em;height:1em;margin-left:.08em;animation:.9s steps(2,start) infinite panel-caret;display:inline-block}@keyframes panel-caret{to{opacity:0}}.panel__body,.panel__foot{opacity:0;transition:opacity .5s,transform .5s;transform:translateY(6px)}.panel.is-settled .panel__body,.panel.is-settled .panel__foot{opacity:1;transform:none}.panel.is-draining .panel__inner{opacity:0;transition:opacity .2s}.panel__body{font-family:var(--font-ui);gap:28px;font-size:clamp(16px,1.25vw,18px);font-weight:500;line-height:1.55;display:grid}.panel__body p{margin:0}.panel__body a{color:inherit;-webkit-text-decoration-color:var(--accent-ink);text-decoration-color:var(--accent-ink);text-underline-offset:3px}.panel__body a:hover{color:var(--accent-ink)}.panel__body a:focus-visible,.panel__close:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.panel__foot{display:flex}.panel__close{appearance:none;cursor:pointer;border:1px solid var(--ink);color:var(--ink);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:0 0;border-radius:0;align-items:center;gap:10px;margin:0;padding:8px 12px;font-size:12px;display:inline-flex}.panel__close:before{content:"> ";color:var(--accent-ink)}.panel__close kbd{opacity:.7;border:1px solid;padding:1px 5px;font-family:inherit;font-size:10px}.panel__close:hover{background:var(--ink);color:var(--paper)}.sect{gap:8px;display:grid}.sect__h{font-family:var(--font-mono);letter-spacing:.16em;text-transform:uppercase;color:var(--accent-ink);margin:0;font-size:11px}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (hover:none){.panel__close kbd{display:none}}@media (prefers-reduced-motion:reduce){.panel__caret{animation:none}.panel__body,.panel__foot{transition:none}}.title{z-index:2;left:var(--gutter);right:var(--gutter);pointer-events:none;opacity:1;gap:12px;min-width:0;transition:opacity .45s,transform .45s;display:grid;position:absolute;top:clamp(72px,12vh,140px);transform:translateY(0)}.title.is-hidden{opacity:0;transform:translateY(-8px)}.title__mark{font-family:var(--font-logo);letter-spacing:.02em;text-transform:uppercase;color:var(--paper);text-shadow:0 2px 30px #00000040;overflow-wrap:anywhere;margin:0;font-size:clamp(3rem,14vw,11rem);font-weight:800;line-height:.9}.title__lede{border-left:2px solid var(--accent);max-width:46ch;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:#fbfbfbe6;margin:0;padding-left:10px;font-size:clamp(11px,1.4vw,13px)}@media (prefers-reduced-motion:reduce){.title{transition:none}}.contact__email{flex-wrap:wrap;align-items:center;gap:12px 16px;min-width:0;display:flex}.contact__email a{font-family:var(--font-mono);overflow-wrap:anywhere;font-size:clamp(15px,2.2vw,20px)}.contact__copy{appearance:none;cursor:pointer;border:1px solid var(--ink);color:var(--ink);font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;background:0 0;border-radius:0;min-width:7ch;margin:0;padding:6px 10px;font-size:11px}.contact__copy:before{content:"> ";color:var(--accent-ink)}.contact__copy:hover{background:var(--ink);color:var(--paper)}.contact__copy:focus-visible{outline:2px solid var(--ink);outline-offset:3px}.contact__links{flex-wrap:wrap;gap:10px 22px;margin:0;padding:0;list-style:none;display:flex}.contact__links a{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;font-size:13px}.creations{margin:0;padding:0;list-style:none;display:grid}.creation{border-top:1px solid var(--line);grid-template-columns:7ch 1fr;gap:8px 24px;min-width:0;padding-block:22px;display:grid}.creation:last-child{border-bottom:1px solid var(--line)}.creation__meta{font-family:var(--font-mono);letter-spacing:.12em;font-variant-numeric:tabular-nums;align-content:start;gap:4px;font-size:11px;display:grid}.creation__code{color:var(--accent-ink);font-weight:700}.creation__year{color:var(--grey)}.creation__main{gap:6px;min-width:0;display:grid}.creation__name{font-family:var(--font-ui);text-wrap:balance;margin:0;font-size:1.25em;font-weight:600;line-height:1.2}.creation__kind{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--grey);margin:0;font-size:11px}.creation__summary{margin:0}.creation__scope{flex-wrap:wrap;gap:6px;margin:4px 0 0;padding:0;list-style:none;display:flex}.creation__scope li{font-family:var(--font-mono);letter-spacing:.06em;border:1px solid var(--line-strong);clip-path:polygon(0 0,calc(100% - 6px) 0,100% 6px,100% 100%,6px 100%,0 calc(100% - 6px));padding:3px 8px;font-size:11px}@media (max-width:480px){.creation{grid-template-columns:1fr}.creation__meta{grid-auto-flow:column;justify-content:start;gap:14px}}
