:root{--field: oklch(.965 .012 225);--field-deep: oklch(.93 .02 228);--panel: oklch(.9 .035 222 / .58);--cell: oklch(.985 .008 220 / .72);--ink: oklch(.28 .045 235);--ink-dim: oklch(.45 .035 233);--hairline: oklch(.78 .05 224);--accent: oklch(.52 .11 219);--accent-soft: oklch(.87 .055 218 / .7);--accent-ink: oklch(.985 .01 220);--danger: oklch(.54 .19 27);--ok: oklch(.52 .12 155);--glass-blur: 14px;--glow-alpha: 20%;--scheme: light;--line: color-mix(in oklab, var(--ink) 14%, transparent);--line-strong: color-mix(in oklab, var(--ink) 22%, transparent);--edge: color-mix(in oklab, var(--accent) 80%, transparent);--edge-soft: color-mix(in oklab, var(--accent) 42%, transparent);--glass: color-mix(in oklab, var(--field) 72%, transparent);--focus: var(--accent);--selection-bg: color-mix(in oklab, var(--accent) 30%, var(--field));--selection-ink: var(--ink);--font-display: "Karrik", system-ui, sans-serif;--font-body: "Atkinson Hyperlegible Next", system-ui, "Segoe UI", sans-serif;--font-mono: ui-monospace, "SF Mono", Menlo, Consolas, "DejaVu Sans Mono", monospace;--step-5: clamp(2.4rem, 1.6rem + 3.4vw, 4.4rem);--step-4: clamp(1.8rem, 1.35rem + 2vw, 2.8rem);--step-3: clamp(1.3rem, 1.12rem + .9vw, 1.7rem);--step-2: clamp(1.1rem, 1.03rem + .4vw, 1.3rem);--micro: .72rem;--micro-track: .14em;--gutter: clamp(1rem, 4vw, 2.5rem);--page-max: 76rem;--topbar-h: 3.5rem;--text-max: 42rem;--ease: cubic-bezier(.22, 1, .36, 1);--speed: .16s;--speed-panel: .24s;--speed-scene: .48s;--z-base: 0;--z-content: 1;--z-hero-ui: 5;--z-head: 20;--z-menu: 25;--z-skip: 30;color-scheme:light}[data-theme=signal]{--field: #05100f;--field-deep: #030a0a;--panel: rgb(17 51 55 / .91);--cell: rgb(10 30 32 / .92);--ink: #cfe9ef;--ink-dim: #899a9e;--hairline: #1a4d53;--accent: #48d6e6;--accent-soft: rgb(22 64 69 / .92);--accent-ink: #0b2226;--danger: #e34a4a;--ok: #4fd68a;--glass-blur: 16px;--glow-alpha: 14%;--scheme: dark;color-scheme:dark}[data-theme=phosphor]{--field: #04110a;--field-deep: #020a05;--panel: rgb(17 61 29 / .91);--cell: rgb(10 36 17 / .92);--ink: #9cf0b4;--ink-dim: #45b362;--hairline: #195c2c;--accent: #46ff7a;--accent-soft: rgb(21 76 37 / .92);--accent-ink: #0a2913;--danger: #e34a4a;--ok: #46ff7a;--glass-blur: 16px;--glow-alpha: 12%;--scheme: dark;color-scheme:dark}[data-theme=amber]{--field: #120d05;--field-deep: #0a0703;--panel: rgb(61 43 18 / .91);--cell: rgb(36 25 10 / .92);--ink: #ffd98c;--ink-dim: #ad945f;--hairline: #5c401b;--accent: #ffb24a;--accent-soft: rgb(76 53 22 / .92);--accent-ink: #29200b;--danger: #e34a4a;--ok: #7fce6a;--glass-blur: 16px;--glow-alpha: 12%;--scheme: dark;color-scheme:dark}[data-theme=oxide]{--field: #100704;--field-deep: #090402;--panel: rgb(54 25 14 / .91);--cell: rgb(31 14 8 / .92);--ink: #e6d4b8;--ink-dim: #938876;--hairline: #512515;--accent: #e0673a;--accent-soft: rgb(67 31 17 / .92);--accent-ink: #2b130a;--danger: #e34a4a;--ok: #8ec27a;--glass-blur: 16px;--glow-alpha: 13%;--scheme: dark;color-scheme:dark}@media(prefers-contrast:more){:root{--ink: oklch(.2 .045 235);--ink-dim: oklch(.34 .04 233)}[data-theme=signal]{--ink: #e6f5f9;--ink-dim: #a8bcc0}[data-theme=phosphor]{--ink: #c8f7d6;--ink-dim: #6fce8b}[data-theme=amber]{--ink: #ffe7b8;--ink-dim: #c9b083}[data-theme=oxide]{--ink: #f2e6d2;--ink-dim: #b3a894}}*,*:before,*:after{box-sizing:border-box}html{height:100%;scrollbar-gutter:stable}body{margin:0;min-height:100%;background:var(--field);color:var(--ink);font-family:var(--font-body);font-size:1rem;line-height:1.55;-webkit-font-smoothing:antialiased;transition:background-color var(--speed-panel) var(--ease),color var(--speed-panel) var(--ease)}body:before{content:"";position:fixed;inset:0;z-index:var(--z-base);pointer-events:none;background:radial-gradient(70rem 34rem at 24% -8%,color-mix(in oklab,var(--accent) var(--glow-alpha),transparent),transparent 62%),linear-gradient(180deg,transparent 55%,color-mix(in oklab,var(--field-deep) 85%,transparent))}::selection{background:var(--selection-bg);color:var(--selection-ink)}h1,h2,h3{font-family:var(--font-display);font-weight:400;line-height:1.08;letter-spacing:-.015em;margin:0 0 .5em;text-wrap:balance}h1{font-size:var(--step-5)}h2{font-size:var(--step-3)}h3{font-size:var(--step-2)}p{max-width:var(--text-max);margin:0 0 1em;text-wrap:pretty}a{color:var(--ink);text-decoration-color:color-mix(in oklab,var(--accent) 55%,transparent);text-underline-offset:.22em;transition:color var(--speed) var(--ease),text-decoration-color var(--speed) var(--ease)}a:hover{color:var(--accent);text-decoration-color:var(--accent)}:focus-visible{outline:2px solid var(--focus);outline-offset:2px}img,video{max-width:100%;height:auto;display:block}code,kbd{font-family:var(--font-mono);font-size:.92em}.micro{font-family:var(--font-body);font-size:var(--micro);font-weight:600;letter-spacing:var(--micro-track);text-transform:uppercase;color:var(--ink-dim)}.skip-link{position:fixed;top:-100%;left:var(--gutter);z-index:var(--z-skip);padding:.5rem .9rem;background:var(--panel);border:1px solid var(--edge);color:var(--ink);backdrop-filter:blur(var(--glass-blur))}.skip-link:focus-visible{top:.75rem}main{position:relative;z-index:var(--z-content)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.frame{position:relative;background:var(--panel);border:1px solid var(--edge-soft);border-top:2px solid var(--edge);backdrop-filter:blur(var(--glass-blur)) saturate(1.08);-webkit-backdrop-filter:blur(var(--glass-blur)) saturate(1.08)}.frame-caption{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.4rem .85rem;background:linear-gradient(180deg,color-mix(in oklab,var(--accent) 92%,transparent),color-mix(in oklab,var(--accent) 78%,transparent));color:var(--accent-ink);font-size:var(--micro);font-weight:700;letter-spacing:var(--micro-track);text-transform:uppercase}.frame-body{padding:clamp(.9rem,2.5vw,1.4rem)}.ticked:before,.ticked:after,.ticked>.tick:before,.ticked>.tick:after{content:"";position:absolute;width:.85rem;height:.85rem;border:2px solid var(--edge);pointer-events:none}.ticked:before{top:-2px;left:-2px;border-right:0;border-bottom:0}.ticked:after{top:-2px;right:-2px;border-left:0;border-bottom:0}.ticked>.tick:before{bottom:-2px;left:-2px;border-right:0;border-top:0}.ticked>.tick:after{bottom:-2px;right:-2px;border-left:0;border-top:0}.plaque{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;padding:.55rem .85rem;background:var(--cell);border-top:1px solid var(--line)}.plaque b{font-weight:600;font-size:.95rem;letter-spacing:.01em}.plaque span{font-family:var(--font-mono);font-size:.68rem;letter-spacing:.08em;text-transform:uppercase;color:var(--ink-dim);white-space:nowrap}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5ch;min-height:2.6rem;padding:.45rem 1.15rem;border:1px solid var(--edge);background:color-mix(in oklab,var(--accent) 14%,transparent);color:var(--ink);font:600 var(--micro) / 1 var(--font-body);letter-spacing:var(--micro-track);text-transform:uppercase;text-decoration:none;cursor:pointer;transition:background-color var(--speed) var(--ease),color var(--speed) var(--ease),border-color var(--speed) var(--ease)}.btn:hover{background:color-mix(in oklab,var(--accent) 26%,transparent);color:var(--ink)}.btn:active{background:color-mix(in oklab,var(--accent) 38%,transparent)}.btn-primary{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.btn-primary:hover{background:color-mix(in oklab,var(--accent) 86%,var(--ink));color:var(--accent-ink)}.btn-secondary{background:transparent;border-color:var(--line-strong)}.btn-secondary:hover{border-color:var(--edge)}.btn[aria-busy=true]{opacity:.55;pointer-events:none}.btn-danger{border-color:color-mix(in oklab,var(--danger) 70%,transparent);background:transparent;color:var(--danger)}.btn-danger:hover{background:color-mix(in oklab,var(--danger) 16%,transparent);color:var(--danger)}.act{display:inline-block;padding:.35rem 0;border:0;border-bottom:1px solid color-mix(in oklab,var(--accent) 45%,transparent);background:transparent;color:var(--ink);font:600 var(--micro) / 1 var(--font-body);letter-spacing:var(--micro-track);text-transform:uppercase;text-decoration:none;cursor:pointer;transition:color var(--speed) var(--ease),border-color var(--speed) var(--ease)}.act:hover{color:var(--accent);border-bottom-color:var(--accent)}.topbar{position:sticky;top:0;z-index:var(--z-head);display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:1rem;min-height:var(--topbar-h);padding:0 var(--gutter);background:color-mix(in oklab,var(--field) 78%,transparent);border-bottom:1px solid var(--line);backdrop-filter:blur(10px) saturate(1.1);-webkit-backdrop-filter:blur(10px) saturate(1.1)}.topbar .brand{justify-self:start;display:inline-flex;align-items:center;gap:.6rem;text-decoration:none;color:var(--ink)}.topbar .brand img,.topbar .brand svg{height:1.05rem;width:auto}.topbar nav{display:flex;gap:clamp(.8rem,2.5vw,1.6rem)}.topbar nav a{padding:.35rem 0;border-bottom:1px solid transparent;color:var(--ink-dim);font:600 var(--micro) / 1 var(--font-body);letter-spacing:var(--micro-track);text-transform:uppercase;text-decoration:none}.topbar nav a:hover{color:var(--ink)}.topbar nav a[aria-current=page]{color:var(--accent);border-bottom-color:var(--accent)}.topbar .side{justify-self:end;display:inline-flex;align-items:center;gap:.9rem}.theme-deck{display:inline-flex;align-items:center;border:1px solid var(--line-strong);background:var(--glass);backdrop-filter:blur(8px)}.theme-deck button{appearance:none;border:0;margin:0;padding:.42rem .62rem;display:inline-flex;align-items:center;gap:.45ch;background:transparent;color:var(--ink-dim);font:600 .62rem / 1 var(--font-body);letter-spacing:.12em;text-transform:uppercase;cursor:pointer;transition:color var(--speed) var(--ease),background-color var(--speed) var(--ease)}.theme-deck button .swatch{width:.55rem;height:.55rem;border:1px solid var(--line-strong)}.theme-deck button[data-theme-pick=dawn] .swatch{background:#3e93a8}.theme-deck button[data-theme-pick=signal] .swatch{background:#48d6e6}.theme-deck button[data-theme-pick=phosphor] .swatch{background:#46ff7a}.theme-deck button[data-theme-pick=amber] .swatch{background:#ffb24a}.theme-deck button[data-theme-pick=oxide] .swatch{background:#e0673a}.theme-deck button:hover{color:var(--ink)}.theme-deck button[aria-pressed=true]{color:var(--accent-ink);background:var(--accent)}.theme-deck button[aria-pressed=true] .swatch{border-color:var(--accent-ink)}@media(max-width:47.99rem){.theme-deck button span.label{display:none}}.field{display:grid;gap:.35rem;margin-bottom:1rem}.field label{font:600 var(--micro) / 1 var(--font-body);letter-spacing:var(--micro-track);text-transform:uppercase;color:var(--ink-dim)}.field input[type=text],.field input[type=password],.field input[type=email],.field textarea,.field select{width:100%;min-height:2.6rem;padding:.45rem .7rem;border:1px solid var(--line-strong);background:var(--cell);color:var(--ink);font:400 1rem / 1.4 var(--font-body);transition:border-color var(--speed) var(--ease),background-color var(--speed) var(--ease)}.field input:focus-visible,.field textarea:focus-visible{outline:none;border-color:var(--accent);box-shadow:0 0 0 1px color-mix(in oklab,var(--accent) 55%,transparent)}.field input[aria-invalid=true]{border-color:var(--danger)}.field .hint{font-size:.82rem;color:var(--ink-dim)}.field-error{min-height:1em;font-size:.82rem;color:var(--danger)}.form-status{min-height:1.4em;font-size:.9rem}.form-status.is-error{color:var(--danger)}.form-status.is-ok{color:var(--ok)}.check{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem}.check input{margin-top:.2rem;accent-color:var(--accent)}.notice{padding:.7rem .9rem;border:1px solid var(--line-strong);border-left:1px solid var(--line-strong);background:var(--cell);font-size:.9rem}.notice.is-error{border-color:color-mix(in oklab,var(--danger) 60%,transparent);color:var(--danger)}#api-status[hidden]{display:none}.roster-row,.device-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.75rem .2rem;border-bottom:1px solid var(--line)}.dl-row{display:grid;grid-template-columns:minmax(8rem,14rem) minmax(9rem,1fr) auto minmax(0,1.2fr) auto;align-items:center;gap:.4rem 1rem;padding:.75rem .2rem;border-bottom:1px solid var(--line)}@media(max-width:47.99rem){.dl-row{grid-template-columns:1fr auto}}.roster-body{display:grid;gap:.15rem}.roster-name{font-weight:600}.roster-meta,.device-meta,.dl-meta{font-size:.82rem;color:var(--ink-dim)}.dl-client{font-weight:600}.dl-plat{font:600 .62rem / 1 var(--font-body);letter-spacing:.12em;text-transform:uppercase;color:var(--ink-dim)}.dl-list{list-style:none;margin:0;padding:0}.dl-error{color:var(--danger)}.dl-soon{color:var(--ink-dim)}.dl-what{font-size:.85rem;color:var(--ink-dim)}.dl-verify summary{cursor:pointer}.hash{font-family:var(--font-mono);font-size:.72rem;word-break:break-all;color:var(--ink-dim)}kbd{padding:.1rem .4rem;border:1px solid var(--line-strong);border-bottom-width:2px;background:var(--cell);font-size:.72rem;letter-spacing:.08em;text-transform:uppercase}.site-foot{margin-top:clamp(3rem,8vw,6rem);padding:1.4rem var(--gutter) 2.2rem;border-top:1px solid var(--line);display:flex;flex-wrap:wrap;gap:.9rem 1.6rem;align-items:baseline;justify-content:space-between;position:relative;z-index:var(--z-content)}.site-foot nav{display:flex;flex-wrap:wrap;gap:1.1rem}.site-foot a{color:var(--ink-dim);font:600 .68rem / 1 var(--font-body);letter-spacing:.12em;text-transform:uppercase;text-decoration:none}.site-foot a:hover{color:var(--accent)}.site-foot .fine{font-size:.72rem;color:var(--ink-dim)}.cinema{position:relative;min-height:calc(100svh - var(--topbar-h));display:grid;align-items:end;overflow:clip;border-bottom:1px solid var(--line)}.cinema picture,.cinema video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.cinema picture img{width:100%;height:100%;object-fit:cover}.cinema video{opacity:0;transition:opacity var(--speed-scene) var(--ease)}.cinema[data-media-mode=video] video{opacity:1}.cinema:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in oklab,var(--field) 12%,transparent),transparent 34%,color-mix(in oklab,var(--field-deep) 88%,transparent) 96%);pointer-events:none}.cinema-veil{position:relative;z-index:var(--z-hero-ui);padding:0 var(--gutter) clamp(1.2rem,4vh,2.6rem);max-width:var(--page-max);width:100%;margin:0 auto}.cinema-veil .wordmark-hero{width:min(30rem,72vw);height:auto;margin-bottom:.9rem;filter:drop-shadow(0 2px 14px color-mix(in oklab,var(--field-deep) 60%,transparent))}.cinema-veil h1{margin:0 0 1.1rem;font-size:var(--step-4);color:var(--ink);text-shadow:0 1px 10px color-mix(in oklab,var(--field-deep) 70%,transparent)}.cinema-ctas{display:flex;flex-wrap:wrap;gap:.7rem;margin-bottom:1rem}.cinema-sound{position:absolute;right:var(--gutter);bottom:clamp(1.2rem,4vh,2.6rem)}.cinema-sound[hidden]{display:none}.cinema-plaque{display:flex;flex-wrap:wrap;gap:.4rem 1.4rem;padding-top:.7rem;border-top:1px solid color-mix(in oklab,var(--ink) 26%,transparent);font-family:var(--font-mono);font-size:.66rem;letter-spacing:.1em;text-transform:uppercase;color:color-mix(in oklab,var(--ink) 82%,transparent)}.home-section{max-width:var(--page-max);margin:clamp(3rem,9vh,5.5rem) auto 0;padding:0 var(--gutter)}.home-section>h2{margin-bottom:clamp(1.1rem,3vh,1.8rem)}.home-section .section-lede{color:var(--ink-dim);margin-top:-.6rem;margin-bottom:1.4rem}.plate-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:clamp(.9rem,2.2vw,1.5rem)}.plate{position:relative;display:grid;grid-template-rows:auto 1fr;background:var(--panel);border:1px solid var(--line-strong);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur))}.plate img{width:100%;aspect-ratio:16 / 9;object-fit:cover;border-bottom:0}.plate.is-tall img{aspect-ratio:4 / 5}.plate .plaque{border-top:1px solid var(--line-strong)}.plate.is-wide{grid-column:1 / -1}.plate.is-wide img{aspect-ratio:21 / 9}html.js .plate[data-reveal]{opacity:1;transform:none;transition:opacity var(--speed-scene) var(--ease),transform var(--speed-scene) var(--ease)}@media(prefers-reduced-motion:no-preference){html.js .plate[data-reveal]:not(.is-in){opacity:0;transform:translateY(10px)}}.term{font-family:var(--font-mono);font-size:clamp(.72rem,.62rem + .5vw,.9rem);line-height:1.6}.term .frame-body{padding:clamp(.8rem,2vw,1.3rem);overflow-x:auto}.term pre{margin:0;white-space:pre}.term .t-accent{color:var(--accent)}.term .t-dim{color:var(--ink-dim)}.term .t-danger{color:var(--danger)}.term .t-ok{color:var(--ok)}.term-intro,.term-field{display:block}.term [data-crawl]{display:none}.term[data-crawl-state=playing] [data-crawl]{display:block}.term[data-crawl-state=playing] .term-field{display:none}.term[data-crawl-state=playing] [data-crawl] .crawl-line{opacity:0;animation:crawl-in .48s var(--ease) forwards}.term[data-crawl-state=playing] [data-crawl] .crawl-line:nth-child(1){animation-delay:0ms}.term[data-crawl-state=playing] [data-crawl] .crawl-line:nth-child(2){animation-delay:1.05s}.term[data-crawl-state=playing] [data-crawl] .crawl-line:nth-child(3){animation-delay:3.15s}.term[data-crawl-state=playing] [data-crawl] .crawl-line:nth-child(4){animation-delay:6.3s}@keyframes crawl-in{0%{opacity:0;transform:translateY(3px)}to{opacity:1;transform:none}}.term-controls{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:.6rem}.chrome-line{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.2fr);gap:clamp(1.2rem,3vw,2.4rem);align-items:start}@media(max-width:47.99rem){.chrome-line{grid-template-columns:1fr}}.chrome-copy .theme-deck{margin-top:.9rem}.demo-window .frame-body{display:grid;grid-template-columns:repeat(6,1fr);gap:.45rem}.demo-cell{aspect-ratio:1;background:var(--cell);border:1px solid var(--line);display:grid;place-items:center;color:var(--ink-dim);font-family:var(--font-mono);font-size:.62rem}.demo-cell.is-live{border-color:var(--edge);color:var(--accent);box-shadow:inset 0 0 .6rem color-mix(in oklab,var(--accent) 18%,transparent)}.demo-vitals{grid-column:1 / -1;display:grid;gap:.3rem;margin-top:.3rem}.demo-bar{height:6px;background:var(--cell);border:1px solid var(--line);position:relative;overflow:hidden}.demo-bar>span{position:absolute;inset:0;width:60%;background:color-mix(in oklab,var(--accent) 78%,transparent)}.demo-bar-health>span{width:82%}.demo-bar-action>span{width:64%}.demo-bar-mind>span{width:91%}.demo-bar.is-danger>span{background:color-mix(in oklab,var(--danger) 82%,transparent)}.join-band{margin-top:clamp(3rem,9vh,5.5rem);border-top:1px solid var(--line);background:color-mix(in oklab,var(--panel) 55%,transparent);backdrop-filter:blur(8px)}.join-band .inner{max-width:var(--page-max);margin:0 auto;padding:clamp(2rem,6vh,3.4rem) var(--gutter);display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1.2rem}.join-band h2{margin:0;font-size:var(--step-3)}.shell{max-width:var(--page-max);margin:0 auto;padding:0 var(--gutter)}.page-head{margin:clamp(2rem,6vh,3.4rem) 0 1.6rem}.page-head .lede{color:var(--ink-dim);font-size:var(--step-2);margin:0}.page-section{margin:clamp(1.6rem,4vh,2.6rem) 0}.prose p{color:var(--ink-dim)}.note{padding:.7rem .9rem;border:1px solid var(--line-strong);background:var(--cell);font-size:.9rem;max-width:var(--text-max)}.note strong{color:var(--danger)}.visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.bench-pair{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:clamp(.9rem,2.2vw,1.5rem);align-items:start}.bench-pair .frame h2{display:none}.form-grid{display:grid;gap:.2rem}.form-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:.8rem}.check-field{display:flex;gap:.6rem;align-items:flex-start;font-size:.9rem;margin:.4rem 0}.check-field input{margin-top:.2rem;accent-color:var(--accent)}.roster-list,.device-list{list-style:none;margin:.6rem 0 0;padding:0}.roster-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.8rem;margin-top:.8rem}.workshop-stage{position:relative}body[data-page=play]{min-height:100dvh}.game-stage{position:relative;min-height:calc(100dvh - var(--topbar-h));padding-bottom:env(safe-area-inset-bottom)}.creator-stage{position:relative;width:100%;min-height:calc(100dvh - var(--topbar-h));padding-bottom:env(safe-area-inset-bottom);background:var(--field-deep);border-bottom:1px solid var(--line)}.creator-stage iframe,.game-stage iframe,.stage-frame{position:absolute;inset:0;width:100%;height:100%;border:0;background:var(--field-deep)}.stage-veil{position:absolute;inset:0;display:grid;place-content:center;gap:.9rem;text-align:center;padding:var(--gutter)}.creator-stage[data-stage-state=ready] .stage-veil{display:none}.stage-mark{width:2.2rem;height:2.2rem;margin:0 auto;border:2px solid var(--edge);border-right-color:transparent;border-radius:999px;animation:stage-spin .9s linear infinite}@keyframes stage-spin{to{transform:rotate(1turn)}}@media(prefers-reduced-motion:reduce){.stage-mark{animation:none;opacity:.6}}.stage-status{color:var(--ink-dim)}.stage-caption{color:var(--ink-dim);font-size:.9rem;padding:.7rem 0;margin:0}.play-main .game-stage{display:grid;place-items:center;background:radial-gradient(42rem 22rem at 50% 8%,color-mix(in oklab,var(--accent) 10%,transparent),transparent 62%),var(--field-deep)}.stage-panel{position:relative;z-index:1;width:min(30rem,calc(100vw - 2 * var(--gutter)));background:var(--panel);border:1px solid var(--edge-soft);border-top:2px solid var(--edge);backdrop-filter:blur(var(--glass-blur)) saturate(1.08);padding:clamp(1.1rem,3vw,1.6rem);margin:clamp(1.5rem,6vh,3rem) 0}.stage-panel h1{font-size:var(--step-3);margin-bottom:.3rem}.stage-lede{color:var(--ink-dim);margin-bottom:1rem}.stage-hint{color:var(--ink-dim);font-size:.85rem;margin:.6rem 0 0}.game-stage[data-stage-state=live] .stage-panel{display:none}.play-frame-controls{position:absolute;top:calc(.6rem + env(safe-area-inset-top));right:calc(.6rem + env(safe-area-inset-right));z-index:var(--z-head);display:none;gap:.5rem}.game-stage[data-stage-state=live] .play-frame-controls{display:flex}.play-frame-control{appearance:none;border:1px solid var(--edge-soft);background:color-mix(in oklab,var(--field-deep) 82%,transparent);color:var(--ink);font:600 .62rem / 1 var(--font-body);letter-spacing:.12em;text-transform:uppercase;padding:.45rem .7rem;cursor:pointer;backdrop-filter:blur(8px)}.play-frame-control:hover{border-color:var(--edge);color:var(--accent)}body[data-page=play][data-play-state=live][data-play-view=full]{position:fixed;inset:0;height:100dvh;overflow:hidden;padding:0}body[data-page=play][data-play-state=live][data-play-view=full]>.topbar{display:none}body[data-page=play][data-play-state=live][data-play-view=full]>.site-foot{display:none}body[data-page=play][data-play-state=live][data-play-view=full] .play-main{height:100%}body[data-page=play][data-play-state=live][data-play-view=full] .game-stage{height:100%;min-height:0}body[data-page=play][data-play-state=live][data-play-view=framed]{overflow:hidden}body[data-page=account][data-session-state=active] .account-intro{display:none}.route-list{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:clamp(.9rem,2.2vw,1.4rem)}.route-item{display:grid;gap:.5rem;align-content:start;padding:1rem;background:var(--panel);border:1px solid var(--line-strong);backdrop-filter:blur(var(--glass-blur))}.route-item p{margin:0;color:var(--ink-dim);font-size:.9rem}.status-chip{display:inline-block;padding:.25rem .55rem;border:1px solid var(--edge);color:var(--accent);font:700 .62rem / 1 var(--font-body);letter-spacing:.14em;text-transform:uppercase;vertical-align:middle;margin-right:.6rem}.status-chip[data-tone=play]{border-color:var(--line-strong);color:var(--ink-dim)}.status-chip[data-tone=next]{border-color:var(--line);color:var(--ink-dim);border-style:dashed}.roadmap-group-title{vertical-align:middle}.roadmap-list{list-style:none;margin:1rem 0 0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:.9rem}.roadmap-item{padding:.9rem 1rem;background:var(--cell);border:1px solid var(--line)}.roadmap-item h3{font-size:1.05rem;margin-bottom:.25rem}.roadmap-item p{margin:0;color:var(--ink-dim);font-size:.9rem}.legal-prose{max-width:var(--text-max)}.legal-prose h2{margin-top:2rem}.legal-prose p,.legal-prose li{color:var(--ink-dim)}.legal-prose strong{color:var(--ink)}.dl-loading{color:var(--ink-dim)}
