:root{color-scheme:light;--palette-ink:#1f1d1a;--palette-background:#d6cfc3;--palette-surface:#ebe7dd;--palette-surface-hover:#f4f0e6;--palette-cursor:#fff;--palette-player-one:#d9573f;--palette-player-two:#3975c6;--palette-player-three:#5b8c3e;--palette-player-four:#7d4fa8;--palette-player-five:#2e8a7f;--palette-player-six:#c2497d;--palette-cover:#91a5b4;--palette-shade:#1f1d1a;--palette-key:#fff6e8;--palette-sky:#fff4e0;--palette-ground:#c3b6a2;--light-key:1.25;--light-hemi:.78;--palette-game-background:#ddd5ca;--palette-game-surface:#eee8df;--palette-game-surface-hover:#f7f2eb;--palette-game-hud-ink:#332e29;--palette-game-hud-tray:#d1c8bc;--palette-game-hud-well:#eee8df;--palette-game-hud-well-hover:#f8f3ec;--palette-game-hud-edge:#8e847a;--palette-game-hud-accent:#875b31;--palette-game-hud-accent-well:#eadac8;--palette-game-cover:#91a5b4;--palette-game-cover-emissive:#91a5b4;--palette-game-cover-eye:#3a352e;--palette-game-cover-eye-emissive:#3a352e;--palette-game-cover-eye-halo:#3a352e;--palette-game-shade:#5c554e;--palette-game-key:#fff8ed;--palette-game-sky:#fff7eb;--palette-game-ground:#c8baaa;--light-game-key:1.18;--light-game-hemi:.74;--light-game-cover-emissive:0;--light-game-cover-eye:0;--opacity-game-shadow:.2;--opacity-game-cover-eye-halo:0;--game-vignette-strength:10%;--color-ink:var(--palette-ink);--color-background:var(--palette-background);--color-surface:var(--palette-surface);--color-surface-hover:var(--palette-surface-hover);--color-cursor:var(--palette-cursor);--color-player-one:var(--palette-player-one);--color-player-two:var(--palette-player-two);--color-player-three:var(--palette-player-three);--color-player-four:var(--palette-player-four);--color-player-five:var(--palette-player-five);--color-player-six:var(--palette-player-six);--color-shadow:var(--palette-shade);--color-cover:var(--palette-cover);--color-score-up:var(--palette-player-three);--color-score-down:var(--palette-player-one);--color-key:var(--palette-key);--color-sky:var(--palette-sky);--color-ground:var(--palette-ground);--color-game-background:var(--palette-game-background);--color-game-surface:var(--palette-game-surface);--color-game-surface-hover:var(--palette-game-surface-hover);--color-game-hud-ink:var(--palette-game-hud-ink);--color-game-hud-tray:var(--palette-game-hud-tray);--color-game-hud-well:var(--palette-game-hud-well);--color-game-hud-well-hover:var(--palette-game-hud-well-hover);--color-game-hud-edge:var(--palette-game-hud-edge);--color-game-hud-accent:var(--palette-game-hud-accent);--color-game-hud-accent-well:var(--palette-game-hud-accent-well);--color-game-cover:var(--palette-game-cover);--color-game-cover-emissive:var(--palette-game-cover-emissive);--color-game-cover-eye:var(--palette-game-cover-eye);--color-game-cover-eye-emissive:var(--palette-game-cover-eye-emissive);--color-game-cover-eye-halo:var(--palette-game-cover-eye-halo);--color-game-shadow:var(--palette-game-shade);--color-game-key:var(--palette-game-key);--color-game-sky:var(--palette-game-sky);--color-game-ground:var(--palette-game-ground);--color-tile-seat:var(--palette-game-hud-tray);--color-tile-rim:var(--palette-game-hud-edge);--color-dune-sand:var(--palette-game-ground);--color-dune-crest:var(--palette-game-surface);--color-dune-wind:var(--palette-game-hud-edge);--opacity-dune-wind:.24;--opacity-dune-grain:.34;--motion-dune-breeze-seconds:24;--motion-dune-drift-seconds:48;--font-family-ui:ui-monospace, "SF Mono", Menlo, monospace;--font-size-utility:.75rem;--font-size-game:.8125rem;--font-size-body:.875rem;--font-size-control:.9375rem;--font-size-heading:1.25rem;--font-size-display:2.75rem;--font-weight-regular:400;--font-weight-bold:700;--line-height-ui:1.45;--line-height-body:1.5;--line-height-display:1.1;--letter-spacing-label:.06em;--letter-spacing-control:.08em;--letter-spacing-title:.08em;--letter-spacing-heading:.14em;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1.125rem;--space-5:1.5rem;--space-6:2.125rem;--radius-control:.25rem;--radius-choice:.5rem;--radius-card:.625rem;--radius-molded-cell:.5rem;--radius-molded-tray:.625rem;--radius-hit:12%;--radius-round:50%;--border-molded:1px;--border-control:1.5px;--border-strong:2px;--opacity-faint:.4;--opacity-subtle:.68;--opacity-muted:.68;--opacity-secondary:.7;--opacity-emphasis:.75;--opacity-shadow:.24;--vignette-strength:12%;--vignette-radius-x:72vw;--vignette-radius-y:72vh;--background-vignette:radial-gradient(ellipse var(--vignette-radius-x) var(--vignette-radius-y) at 50% 50%, transparent 52%, color-mix(in srgb, var(--color-shadow) var(--vignette-strength), transparent) 100%);--duration-instant:65ms;--duration-feedback:80ms;--duration-standard:.16s;--duration-flourish:.28s;--duration-progress:.65s;--duration-progress-reduced:1.8s;--duration-ambient:2s;--ease-linear:linear;--ease-standard:ease-out}:root[data-palette=night]{color-scheme:dark;--palette-ink:#e5e3d2;--palette-background:#161616;--palette-surface:#242424;--palette-surface-hover:#303030;--palette-cursor:#e5e3d2;--palette-player-one:#ff5b19;--palette-player-two:#6ea3e8;--palette-player-three:#8fbf63;--palette-player-four:#b48ad4;--palette-player-five:#4db8ac;--palette-player-six:#e078a0;--palette-cover:#aecacd;--palette-shade:#0a0a0a;--palette-key:#f4f1e4;--palette-sky:#2a2a2a;--palette-ground:#101010;--light-key:1.2;--light-hemi:.34;--opacity-shadow:.45;--vignette-strength:18%;--palette-game-background:#101720;--palette-game-surface:#1d2934;--palette-game-surface-hover:#283846;--palette-game-hud-ink:#b9dce5;--palette-game-hud-tray:#2b3b47;--palette-game-hud-well:#101923;--palette-game-hud-well-hover:#172630;--palette-game-hud-edge:#7893a1;--palette-game-hud-accent:#ffd29a;--palette-game-hud-accent-well:#513522;--palette-game-cover:#303c47;--palette-game-cover-emissive:#27465d;--palette-game-cover-eye:#ffc477;--palette-game-cover-eye-emissive:#ffc477;--palette-game-cover-eye-halo:#ff9850;--palette-game-shade:#03070b;--palette-game-key:#d7f3ff;--palette-game-sky:#1c3446;--palette-game-ground:#070b10;--light-game-key:1.45;--light-game-hemi:.42;--light-game-cover-emissive:.32;--light-game-cover-eye:1.55;--opacity-game-shadow:.54;--opacity-game-cover-eye-halo:.72;--game-vignette-strength:38%}*{box-sizing:border-box;margin:0}html,body{height:100%}body{font-family:var(--font-family-ui);font-size:var(--font-size-body);font-weight:var(--font-weight-regular);line-height:var(--line-height-body);color:var(--color-ink);background-color:var(--color-background);background-image:var(--background-vignette)}.render-stage:after{pointer-events:none;content:"";background-image:var(--background-vignette);position:absolute;inset:0}.studio-toggle{top:max(var(--space-3), env(safe-area-inset-top));right:max(var(--space-4), env(safe-area-inset-right));z-index:4;gap:var(--space-1);min-width:2.75rem;min-height:2.75rem;padding:var(--space-1);font:inherit;color:var(--color-ink);pointer-events:auto;cursor:pointer;background:0 0;border:none;justify-items:center;display:grid;position:fixed}.studio-toggle-label{font-size:var(--font-size-utility);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);line-height:1}.studio-toggle-track{background:var(--color-surface);border:var(--border-control) solid var(--color-ink);border-radius:var(--radius-choice);width:2.5rem;height:1.375rem;box-shadow:.125rem .125rem 0 0 color-mix(in srgb, var(--color-shadow) 35%, transparent);transition:background var(--duration-feedback) var(--ease-standard), box-shadow var(--duration-feedback) var(--ease-standard);position:relative}.studio-toggle-knob{background:var(--color-ink);border-radius:var(--radius-round);width:1rem;height:1rem;transition:transform var(--duration-standard) var(--ease-standard);position:absolute;top:50%;left:.125rem;transform:translateY(-50%)}.studio-toggle-knob:before,.studio-toggle-knob:after{content:"";background:var(--color-surface);border-radius:var(--radius-round);width:.1875rem;height:.1875rem;position:absolute;top:28%}.studio-toggle-knob:before{left:18%}.studio-toggle-knob:after{right:18%}.studio-toggle:hover .studio-toggle-track{background:var(--color-surface-hover)}.studio-toggle:active .studio-toggle-track{box-shadow:0 0 0 0 color-mix(in srgb, var(--color-shadow) 35%, transparent)}.studio-toggle[aria-checked=true] .studio-toggle-knob{transform:translate(1.125rem,-50%)}.studio-toggle:focus-visible{outline:var(--border-strong) solid var(--color-ink);outline-offset:var(--space-1)}@media (width<=600px){.studio-toggle{left:50%;right:auto;transform:translate(-50%)}}body[data-game-status] .studio-toggle{display:none}@media (prefers-reduced-motion:reduce){.studio-toggle-track,.studio-toggle-knob{transition:none}}.analytics-toast{right:max(var(--space-4), env(safe-area-inset-right));bottom:max(var(--space-4), env(safe-area-inset-bottom));z-index:10;max-width:min(24rem, calc(100vw - var(--space-4) * 2));pointer-events:none;position:fixed}.analytics-toast[hidden]{display:none}.analytics-toast-card{gap:var(--space-2);padding:var(--space-3);font-family:var(--font-family-ui);font-size:var(--font-size-utility);line-height:var(--line-height-ui);color:var(--color-ink);pointer-events:auto;background:var(--color-surface);border:var(--border-control) solid var(--color-ink);border-radius:var(--radius-choice);box-shadow:.1875rem .1875rem 0 0 color-mix(in srgb, var(--color-shadow) 28%, transparent);flex-direction:column;display:flex}.analytics-toast-text{font-size:var(--font-size-utility);line-height:var(--line-height-ui);margin:0}.analytics-toast-actions{gap:var(--space-2);align-items:center;display:flex}.analytics-toast-btn{padding:var(--space-1) var(--space-3);font-family:var(--font-family-ui);font-size:var(--font-size-utility);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-control);color:var(--color-ink);cursor:pointer;background:var(--color-surface);border:var(--border-control) solid var(--color-ink);border-radius:var(--radius-control);transition:background var(--duration-feedback) var(--ease-standard);justify-content:center;align-items:center;display:inline-flex}.analytics-toast-btn:hover{background:var(--color-surface-hover)}.analytics-toast-btn:active{background:var(--color-surface)}.analytics-toast-btn:focus-visible{outline:var(--border-strong) solid var(--color-ink);outline-offset:var(--space-1)}.analytics-toast-btn-subtle{font-weight:var(--font-weight-regular);opacity:var(--opacity-muted);border-color:color-mix(in srgb, var(--color-ink) 50%, transparent)}.analytics-toast-btn-subtle:hover{opacity:1;border-color:var(--color-ink)}@media (width<=600px){.analytics-toast{width:calc(100vw - var(--space-4) * 2);left:50%;right:auto;transform:translate(-50%)}}@media (prefers-reduced-motion:reduce){.analytics-toast-btn{transition:none}}:root{--color-background:var(--color-game-background);--color-surface:var(--color-game-surface);--color-surface-hover:var(--color-game-surface-hover);--color-hud-ink:var(--color-game-hud-ink);--color-hud-tray:var(--color-game-hud-tray);--color-hud-well:var(--color-game-hud-well);--color-hud-well-hover:var(--color-game-hud-well-hover);--color-hud-edge:var(--color-game-hud-edge);--color-hud-accent:var(--color-game-hud-accent);--color-hud-accent-well:var(--color-game-hud-accent-well);--color-cover:var(--color-game-cover);--color-cover-emissive:var(--color-game-cover-emissive);--color-cover-eye:var(--color-game-cover-eye);--color-cover-eye-emissive:var(--color-game-cover-eye-emissive);--color-cover-eye-halo:var(--color-game-cover-eye-halo);--color-shadow:var(--color-game-shadow);--color-key:var(--color-game-key);--color-sky:var(--color-game-sky);--color-ground:var(--color-game-ground);--light-key:var(--light-game-key);--light-hemi:var(--light-game-hemi);--light-cover-emissive:var(--light-game-cover-emissive);--light-cover-eye:var(--light-game-cover-eye);--opacity-shadow:var(--opacity-game-shadow);--opacity-cover-eye-halo:var(--opacity-game-cover-eye-halo);--vignette-strength:var(--game-vignette-strength);--molded-border-color:color-mix(in srgb, var(--color-hud-edge) 82%, var(--color-shadow));--molded-border-highlight:color-mix(in srgb, var(--color-key) 52%, var(--color-hud-edge));--molded-border-shade:color-mix(in srgb, var(--color-shadow) 58%, var(--color-hud-edge));--molded-tray-background:var(--color-hud-tray);--molded-tray-finish:linear-gradient(180deg, color-mix(in srgb, var(--color-key) 58%, transparent) 0, color-mix(in srgb, var(--color-hud-edge) 20%, transparent) .125rem, transparent .625rem), linear-gradient(112deg, color-mix(in srgb, var(--color-key) 14%, transparent), transparent 38%, color-mix(in srgb, var(--color-shadow) 18%, transparent));--molded-cell-background:var(--color-hud-well);--molded-cell-finish:linear-gradient(180deg, color-mix(in srgb, var(--color-shadow) 22%, transparent), transparent .5rem), linear-gradient(145deg, color-mix(in srgb, var(--color-shadow) 10%, transparent), transparent 52%, color-mix(in srgb, var(--color-hud-edge) 8%, transparent));--molded-tray-shadow:inset 0 .0625rem 0 color-mix(in srgb, var(--color-key) 76%, transparent), inset 0 .25rem .25rem color-mix(in srgb, var(--color-key) 14%, transparent), inset 0 -.1875rem 0 color-mix(in srgb, var(--color-shadow) 42%, transparent), 0 .1875rem 0 color-mix(in srgb, var(--color-shadow) 66%, transparent), 0 .4375rem .625rem color-mix(in srgb, var(--color-shadow) 44%, transparent), 0 0 0 .0625rem color-mix(in srgb, var(--color-hud-edge) 30%, transparent);--molded-cell-shadow:inset 0 .1875rem .25rem color-mix(in srgb, var(--color-shadow) 58%, transparent), inset 0 -.0625rem 0 color-mix(in srgb, var(--color-hud-edge) 40%, transparent), 0 .0625rem 0 color-mix(in srgb, var(--color-key) 10%, transparent);--molded-pressed-shadow:inset .1875rem .25rem .375rem color-mix(in srgb, var(--color-shadow) 62%, transparent), inset -.0625rem -.0625rem .125rem color-mix(in srgb, var(--color-hud-edge) 28%, transparent)}body{--cursor-color:var(--color-cursor);font-size:var(--font-size-game);line-height:var(--line-height-ui);overflow:hidden}#stage{touch-action:none;position:fixed;inset:0}#stage canvas{display:block}#stage:after{z-index:0;pointer-events:none;content:"";background-image:var(--background-vignette);position:fixed;inset:0}#loading-stage{z-index:3;place-content:center;gap:var(--space-4);pointer-events:none;transition:opacity var(--duration-standard) var(--ease-standard), visibility var(--duration-standard) var(--ease-linear);justify-items:center;display:grid;position:fixed;inset:0}body[data-game-status=ready] #loading-stage,body[data-game-status=error] #loading-stage{visibility:hidden;opacity:0}.loading-scene{width:7rem;height:2.75rem;position:relative}.loading-blob{background:var(--color-cover);width:2.5rem;height:2rem;animation:loading-peek var(--duration-ambient) var(--ease-standard) infinite alternate;border-radius:1.25rem 1.25rem 0 0;position:absolute;bottom:-.5rem;left:50%;transform:translate(-50%)}.loading-eye{background:var(--color-cursor);border-radius:var(--radius-round);width:.5rem;height:.5rem;position:absolute;top:32%}.loading-eye:first-child{left:22%}.loading-eye:last-child{right:22%}.loading-eye:after{content:"";background:var(--color-ink);border-radius:var(--radius-round);position:absolute;inset:28%}.loading-ledge{background:var(--color-surface);border:var(--border-control) solid var(--color-ink);border-radius:var(--radius-control);height:.75rem;position:absolute;bottom:0;left:0;right:0}@keyframes loading-peek{0%{transform:translate(-50%)translateY(0)}to{transform:translate(-50%)translateY(-.5rem)}}.loading-label{font-size:var(--font-size-utility);letter-spacing:var(--letter-spacing-label);text-transform:lowercase;opacity:var(--opacity-muted)}#game-cursor{z-index:4;pointer-events:none;opacity:0;width:0;height:0;transform:translate3d(var(--cursor-x,0), var(--cursor-y,0), 0);transition:opacity var(--duration-feedback) var(--ease-linear);position:fixed;top:0;left:0}body[data-cursor-player="1"]{--cursor-color:var(--color-player-one)}body[data-cursor-player="2"]{--cursor-color:var(--color-player-two)}body[data-cursor-player="3"]{--cursor-color:var(--color-player-three)}body[data-cursor-player="4"]{--cursor-color:var(--color-player-four)}body[data-cursor-player="5"]{--cursor-color:var(--color-player-five)}body[data-cursor-player="6"]{--cursor-color:var(--color-player-six)}body[data-cursor-visible=true] #game-cursor{opacity:1}.cursor-shape{--cursor-mask:none;background:var(--cursor-color);filter:drop-shadow(0 0 1px var(--color-ink)) drop-shadow(3px 5px 3px color-mix(in srgb, var(--color-ink) 24%, transparent));mask-image:var(--cursor-mask);mask-position:50%;mask-size:contain;mask-repeat:no-repeat;mask-mode:alpha;-webkit-mask-image:var(--cursor-mask);display:none;position:absolute;-webkit-mask-position:50%;-webkit-mask-size:contain;-webkit-mask-repeat:no-repeat}body[data-cursor-state=rest] .cursor-hand-point,body[data-cursor-state=select] .cursor-hand-open,body[data-cursor-state=waiting] .cursor-busy-circle-fade{display:block}.cursor-hand-point{--cursor-mask:url(/cursors/hand_point.svg);width:44px;height:44px;top:-6px;left:-6px}.cursor-hand-open,.cursor-hand-closed{transform-origin:50%;width:44px;height:44px;transition:transform var(--duration-instant) var(--ease-standard);top:-22px;left:-22px}.cursor-hand-open{--cursor-mask:url(/cursors/hand_open.svg)}.cursor-hand-closed{--cursor-mask:url(/cursors/hand_closed.svg)}.cursor-timer-ring{pointer-events:none;width:52px;height:52px;display:none;position:absolute;top:-26px;left:-26px}body[data-cursor-timer=true] .cursor-timer-ring{display:block}.cursor-timer-track{fill:none;stroke:color-mix(in srgb, var(--cursor-color,var(--color-ink)) 20%, transparent);stroke-width:2.5px}.cursor-timer-fill{fill:none;stroke:var(--cursor-color,var(--color-ink));stroke-dasharray:138.23;stroke-dashoffset:0;stroke-linecap:round;stroke-width:2.5px;transform-origin:26px 26px;transition:stroke-dashoffset .1s linear;transform:rotate(-90deg)}.cursor-timer-ring.urgent .cursor-timer-fill{stroke:var(--palette-player-one);animation:.6s ease-in-out infinite alternate timer-urgent-pulse}@keyframes timer-urgent-pulse{0%{opacity:.6;stroke-width:2.5px}to{opacity:1;stroke-width:3.5px}}body:has(.tile-control:active) .cursor-hand-open{display:none}body:has(.tile-control:active) .cursor-hand-closed{display:block;transform:translate(1px,2px)scale(.9)rotate(-4deg)}.cursor-busy-circle-fade{--cursor-mask:url(/cursors/busy_circle_fade.svg);width:32px;height:32px;animation:cursor-orbit var(--duration-progress) var(--ease-linear) infinite;top:-16px;left:-16px}@keyframes cursor-orbit{to{transform:rotate(1turn)}}#bar{z-index:2;gap:var(--space-2);padding:max(var(--space-2), env(safe-area-inset-top)) max(var(--space-2), env(safe-area-inset-right)) var(--space-2) max(var(--space-2), env(safe-area-inset-left));pointer-events:none;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;display:flex;position:fixed;top:0;left:0;right:0}.hud-group-start,.hud-group-end{gap:var(--space-2);flex-wrap:wrap;align-items:center;min-width:0;display:flex}.hud-group-end{justify-content:flex-end;margin-left:auto}.hud-module{gap:var(--space-1);min-width:0;min-height:4rem;padding:var(--space-2);pointer-events:auto;background-color:var(--molded-tray-background);background-image:var(--molded-tray-finish);border:var(--border-control) solid var(--molded-border-color);border-color:var(--molded-border-highlight) var(--molded-border-color) var(--molded-border-shade);border-radius:var(--radius-molded-tray);box-shadow:var(--molded-tray-shadow);align-items:center;display:inline-flex}.hud-run:not(:has(.hud-control:not([hidden]))){display:none}.hud-stats{gap:var(--space-1);min-width:0;max-width:100%;color:color-mix(in srgb, var(--color-hud-ink) 78%, transparent);font-size:var(--font-size-utility);font-variant-numeric:tabular-nums;flex-wrap:wrap;align-items:center;display:flex}.hud-control{gap:var(--space-2);min-width:2.75rem;min-height:2.75rem;padding:var(--space-1) var(--space-3);font:inherit;font-size:var(--font-size-control);letter-spacing:var(--letter-spacing-label);color:var(--color-hud-ink);cursor:pointer;background-color:var(--molded-cell-background);background-image:var(--molded-cell-finish);border:var(--border-molded) solid var(--molded-border-color);border-radius:var(--radius-molded-cell);box-shadow:var(--molded-cell-shadow);transition:background-color var(--duration-feedback) var(--ease-standard), box-shadow var(--duration-feedback) var(--ease-standard), transform var(--duration-feedback) var(--ease-standard);justify-content:center;align-items:center;text-decoration:none;display:inline-flex}.hud-control:hover{background-color:var(--color-hud-well-hover)}.hud-control:active{background-color:color-mix(in srgb, var(--color-shadow) 8%, var(--color-hud-well));box-shadow:var(--molded-pressed-shadow);transform:translateY(1px)}.hud-control:focus-visible{outline:var(--border-strong) solid var(--color-hud-ink);outline-offset:var(--space-1)}.hud-control[hidden]{display:none}.hud-icon{fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;width:1.125rem;height:1.125rem;stroke-width:var(--border-control);flex-shrink:0;display:block;overflow:visible}#sound[aria-checked=true] #sound-icon-off,#sound[aria-checked=false] #sound-icon-on,#studio-hud[aria-checked=true] #studio-icon-clay,#studio-hud[aria-checked=false] #studio-icon-night{display:none}.hud-icon path,.hud-icon circle,.hud-icon line,.hud-icon polyline{vector-effect:non-scaling-stroke}.hud-stat{gap:var(--space-1);min-height:2.75rem;padding:var(--space-1) var(--space-2);white-space:nowrap;background-color:var(--molded-cell-background);background-image:var(--molded-cell-finish);border:var(--border-molded) solid var(--molded-border-color);border-radius:var(--radius-molded-cell);box-shadow:var(--molded-cell-shadow);align-items:center;display:inline-flex;position:relative}.hud-stat-value{font-size:var(--font-size-body);font-weight:var(--font-weight-bold);color:var(--color-hud-ink);font-variant-numeric:tabular-nums;transform-origin:50%;display:inline-block}.hud-stat-label{font-size:var(--font-size-utility);font-weight:var(--font-weight-regular);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;opacity:var(--opacity-muted)}.hud-stat[data-stat=score] .hud-stat-label{order:-1}.hud-stat[data-stat=score] .hud-stat-label:after{content:":"}.hud-pairs .hud-stat-value{display:none}.hud-pips{flex-wrap:wrap;align-items:center;gap:.125rem;display:inline-flex}.hud-pip{border:var(--border-control) solid var(--color-hud-ink);border-radius:var(--radius-round);background:0 0;width:.5rem;height:.5rem}.hud-pip.is-matched{background:var(--color-hud-ink)}.hud-score-delta{z-index:1;font-size:var(--font-size-utility);font-weight:var(--font-weight-bold);font-variant-numeric:tabular-nums;pointer-events:none;opacity:0;position:absolute;top:0;left:50%;transform:translate(-50%)}.hud-score-delta.show-up{color:var(--color-score-up);animation:hud-delta var(--duration-progress) var(--ease-standard)}.hud-score-delta.show-down{color:var(--color-score-down);animation:hud-delta var(--duration-progress) var(--ease-standard)}@keyframes hud-delta{0%{opacity:0;transform:translate(-50%,.25rem)scale(.9)}25%{opacity:1;transform:translate(-50%,-.35rem)scale(1)}to{opacity:0;transform:translate(-50%,-.6rem)scale(1)}}.hud-score-up{animation:hud-score-up var(--duration-flourish) var(--ease-standard)}.hud-score-down{animation:hud-score-down var(--duration-flourish) var(--ease-standard)}@keyframes hud-score-up{35%{color:var(--color-score-up);transform:scale(1.28)}}@keyframes hud-score-down{35%{color:var(--color-score-down);transform:scale(1.18)}}.hud-stat[hidden]{display:none}.hud-streak{font-weight:var(--font-weight-bold);color:var(--color-ink)}#mode{min-height:2.75rem;padding:var(--space-1) var(--space-2);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);font-size:var(--font-size-control);color:var(--color-hud-ink);text-transform:uppercase;white-space:nowrap;text-overflow:ellipsis;background-color:var(--molded-cell-background);background-image:var(--molded-cell-finish);border:var(--border-molded) solid var(--molded-border-color);border-radius:var(--radius-molded-cell);box-shadow:var(--molded-cell-shadow);align-items:center;display:inline-flex;overflow:hidden}.hud-control,.hud-stat,#mode{border-color:var(--molded-border-shade) var(--molded-border-color) color-mix(in srgb, var(--color-hud-edge) 88%, var(--color-key))}.hud-label{text-transform:uppercase}:root[data-palette=night] #studio-hud{color:var(--color-hud-accent);background-color:color-mix(in srgb, var(--color-hud-well) 72%, var(--color-hud-accent-well));border-color:color-mix(in srgb, var(--color-hud-accent) 42%, var(--molded-border-color));box-shadow:inset .125rem .1875rem .3125rem color-mix(in srgb, var(--color-shadow) 52%, transparent), inset -.0625rem -.0625rem .125rem color-mix(in srgb, var(--color-hud-accent) 30%, transparent), 0 0 .625rem color-mix(in srgb, var(--color-hud-accent) 15%, transparent)}@media (width<=1100px){.hud-control{padding-inline:var(--space-2)}.hud-icon{width:var(--font-size-heading);height:var(--font-size-heading)}.hud-label{display:none}#bar,.hud-group-start,.hud-group-end{gap:var(--space-1)}}#tile-controls{z-index:1;pointer-events:none;position:fixed;inset:0}.tile-control{pointer-events:auto;touch-action:manipulation;cursor:pointer;border-radius:var(--radius-hit);-webkit-tap-highlight-color:transparent;background:0 0;border:0;padding:0;position:absolute}@media (hover:hover) and (pointer:fine){#stage,#tile-controls,.tile-control{cursor:none}}.tile-control:focus{outline:none}.tile-control:focus-visible{outline:3px solid var(--color-ink);outline-offset:var(--space-1)}.tile-control[aria-disabled=true]{pointer-events:none}@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:reduce){.tile-control[data-state=down]:not(:disabled):hover{background:radial-gradient(circle, color-mix(in srgb, var(--cursor-color) 13%, transparent) 0 48%, transparent 72%);box-shadow:0 0 0 2px color-mix(in srgb, var(--color-ink) 28%, transparent)}}@media (prefers-reduced-motion:reduce){#game-cursor,.remote-cursor,#toast,.hud-control,.hud-player-chip{transition:none}.hud-score-up,.hud-score-down,.hud-score-delta.show-up,.hud-score-delta.show-down{animation:none}#toast{transform:translate(-50%)translateY(0)}.cursor-busy-circle-fade,.loading-blob{animation-duration:var(--duration-progress-reduced)}.cursor-hand-open,.cursor-hand-closed{transition:none}}@media (hover:none),(pointer:coarse){#game-cursor{display:none}}#startup-error{z-index:5;padding:var(--space-5);color:var(--color-ink);text-align:center;background:var(--color-background);place-items:center;display:grid;position:fixed;inset:0}#startup-error[hidden]{display:none}#startup-error .card,.card{min-width:260px;padding:var(--space-5) var(--space-6);text-align:center;background:var(--molded-tray-background);border:var(--border-molded) solid var(--molded-border-color);border-radius:var(--radius-molded-tray);box-shadow:var(--molded-tray-shadow)}#startup-error h2,.card h2{font-size:var(--font-size-heading);margin-bottom:8px}#startup-error p,.card p{opacity:var(--opacity-secondary);margin-bottom:4px}#modal,#lobby-modal,#confirm-modal{z-index:100;background:0 0;border:none;justify-content:center;align-items:center;max-width:100vw;max-height:100vh;margin:auto;padding:0;display:none;position:fixed;inset:0}#modal::backdrop,#lobby-modal::backdrop,#confirm-modal::backdrop{background:color-mix(in srgb, var(--color-background) 76%, transparent);backdrop-filter:blur(var(--space-1))}#modal[open],#lobby-modal[open],#confirm-modal[open],#modal.show,#lobby-modal.show,#confirm-modal.show{display:flex}#m-lines{white-space:pre-line}.noto-emoji{object-fit:contain}.result-emoji{width:3rem;height:3rem;margin:0 auto var(--space-2)}#lobby-players{gap:var(--space-1);margin:var(--space-3) 0;flex-direction:column;padding:0;list-style:none;display:flex}.lobby-code-box{gap:var(--space-1);margin-bottom:var(--space-3);flex-direction:column;align-items:center;display:flex}.lobby-code-label{font-size:var(--font-size-utility);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);text-transform:uppercase;opacity:var(--opacity-muted)}.lobby-code-val{padding:var(--space-1) var(--space-4);font-size:var(--font-size-heading);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-heading);color:var(--color-ink);background:var(--molded-cell-background);border:var(--border-molded) solid var(--molded-border-color);border-radius:var(--radius-molded-cell);box-shadow:var(--molded-cell-shadow)}.lobby-share-row{gap:var(--space-2);margin-bottom:var(--space-3);justify-content:center;display:flex}.lobby-target-box{gap:var(--space-1);padding:var(--space-2);margin-bottom:var(--space-3);background:color-mix(in srgb, var(--color-shadow) 6%, transparent);border:var(--border-molded) solid var(--molded-border-color);border-radius:var(--radius-molded-cell);box-shadow:var(--molded-pressed-shadow);flex-direction:column;display:flex}.lobby-target-box[hidden]{display:none}.lobby-target-label{font-size:var(--font-size-utility);opacity:var(--opacity-muted)}.lobby-target-stepper{gap:var(--space-1);justify-content:center;display:flex}.lobby-target-stepper button{width:2rem;height:2rem;font:inherit;font-weight:var(--font-weight-bold);color:var(--color-ink);cursor:pointer;background:var(--color-surface);border:var(--border-molded) solid var(--molded-border-color);border-radius:var(--radius-molded-cell);box-shadow:var(--molded-cell-shadow);padding:0}.lobby-target-stepper button.active{color:var(--color-background);background:var(--color-ink);box-shadow:0 0 0 2px var(--color-background), 0 0 0 3.5px var(--color-ink)}.lobby-player-item{gap:var(--space-2);padding:var(--space-1) var(--space-3);font-size:var(--font-size-game);background:var(--molded-cell-background);border:var(--border-molded) solid var(--molded-border-color);border-radius:var(--radius-molded-cell);box-shadow:var(--molded-cell-shadow);justify-content:space-between;align-items:center;display:flex}.lobby-player-item.is-waiting{opacity:var(--opacity-faint);border-style:dashed}.lobby-player-badge{border-radius:var(--radius-round);width:.625rem;height:.625rem}.card .row{gap:var(--space-2);margin-top:var(--space-4);justify-content:center;display:flex}#modal .card button,#modal .card a,#lobby-modal .card button,#lobby-modal .card a,#confirm-modal .card button,#confirm-modal .card a{font:inherit;color:var(--color-ink);cursor:pointer;background:var(--molded-cell-background);border:var(--border-molded) solid var(--molded-border-color);border-radius:var(--radius-molded-cell);box-shadow:var(--molded-cell-shadow);transition:background-color var(--duration-feedback) var(--ease-standard), box-shadow var(--duration-feedback) var(--ease-standard), transform var(--duration-feedback) var(--ease-standard);padding:5px 14px;text-decoration:none}#modal .card button:hover,#modal .card a:hover,#lobby-modal .card button:hover,#lobby-modal .card a:hover,#confirm-modal .card button:hover,#confirm-modal .card a:hover{background:var(--color-surface-hover)}#modal .card button:active,#modal .card a:active,#lobby-modal .card button:active,#lobby-modal .card a:active,#confirm-modal .card button:active,#confirm-modal .card a:active{box-shadow:var(--molded-pressed-shadow);transform:translateY(1px)}#modal .card button:focus-visible,#modal .card a:focus-visible,#lobby-modal .card button:focus-visible,#lobby-modal .card a:focus-visible,#confirm-modal .card button:focus-visible,#confirm-modal .card a:focus-visible{outline:var(--border-strong) solid var(--color-ink);outline-offset:var(--space-1)}#remote-cursors{z-index:2;pointer-events:none;position:fixed;inset:0}#turn-edge{z-index:3;pointer-events:none;border:var(--border-strong) solid var(--cursor-color,var(--color-hud-accent));box-shadow:inset 0 0 1rem color-mix(in srgb, var(--cursor-color,var(--color-hud-accent)) 34%, transparent), inset 0 0 .25rem color-mix(in srgb, var(--cursor-color,var(--color-hud-accent)) 72%, transparent);opacity:0;position:fixed;inset:0}body[data-online-your-turn=true] #turn-edge{animation:turn-edge-pulse var(--duration-progress) var(--ease-standard) infinite alternate}@keyframes turn-edge-pulse{0%{opacity:.42}to{opacity:.92}}.turn-banner{top:max(18vh, calc(env(safe-area-inset-top) + 5rem));z-index:4;padding:var(--space-2) var(--space-5);font-size:var(--font-size-heading);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-heading);color:var(--color-hud-ink);text-transform:uppercase;pointer-events:none;background-color:color-mix(in srgb, var(--molded-cell-background) 78%, var(--cursor-color,var(--color-hud-accent)));background-image:var(--molded-cell-finish);border:var(--border-control) solid var(--cursor-color,var(--color-hud-accent));border-radius:var(--radius-molded-cell);box-shadow:var(--molded-cell-shadow), 0 0 1rem color-mix(in srgb, var(--cursor-color,var(--color-hud-accent)) 32%, transparent);opacity:0;transform:translate(-50%, calc(-1 * var(--space-2)));transition:opacity var(--duration-feedback) var(--ease-standard), transform var(--duration-feedback) var(--ease-standard);position:fixed;left:50%}.turn-banner.show{opacity:1;transform:translate(-50%)}@media (prefers-reduced-motion:reduce){body[data-online-your-turn=true] #turn-edge{opacity:var(--opacity-emphasis);animation:none}.turn-banner{transition:none}}.remote-cursor{pointer-events:none;flex-direction:column;align-items:center;transition:transform 60ms linear;display:flex;position:absolute;top:0;left:0}.remote-cursor-shape{background-color:var(--color-ink);border-radius:var(--radius-round);width:24px;height:24px;box-shadow:0 2px 4px color-mix(in srgb, var(--color-ink) 30%, transparent)}.remote-cursor-tag{font-size:.625rem;font-weight:var(--font-weight-bold);color:var(--color-background);background-color:var(--color-ink);border-radius:var(--radius-control);margin-top:2px;padding:1px 4px}.hud-timer{font-weight:var(--font-weight-bold)}.hud-timer.urgent{color:var(--palette-player-one);border-color:var(--palette-player-one)}.hud-player-chip{--player-color:var(--color-ink);align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-2);font-size:var(--font-size-utility);background-color:var(--molded-cell-background);background-image:var(--molded-cell-finish);border:var(--border-molded) solid var(--molded-border-color);border-radius:var(--radius-molded-cell);box-shadow:var(--molded-cell-shadow);transition:background-color var(--duration-feedback) var(--ease-standard), border-color var(--duration-feedback) var(--ease-standard), box-shadow var(--duration-feedback) var(--ease-standard);display:inline-flex}.hud-player-chip .hud-stat-value{font-size:inherit;font-weight:inherit}.hud-player-chip.active-turn{font-weight:var(--font-weight-bold);background-color:color-mix(in srgb, var(--molded-cell-background) 72%, var(--player-color));border-color:color-mix(in srgb, var(--player-color) 58%, var(--molded-border-color));box-shadow:inset .125rem .1875rem .3125rem color-mix(in srgb, var(--color-shadow) 52%, transparent), inset -.0625rem -.0625rem .125rem color-mix(in srgb, var(--player-color) 32%, transparent), 0 0 .625rem color-mix(in srgb, var(--player-color) 16%, transparent)}.hud-player-dot{background-color:var(--player-color);border-radius:var(--radius-round);width:6px;height:6px}.hud-player-chip[data-slot="0"]{--player-color:var(--color-player-one)}.hud-player-chip[data-slot="1"]{--player-color:var(--color-player-two)}.hud-player-chip[data-slot="2"]{--player-color:var(--color-player-three)}.hud-player-chip[data-slot="3"]{--player-color:var(--color-player-four)}.hud-player-chip[data-slot="4"]{--player-color:var(--color-player-five)}.hud-player-chip[data-slot="5"]{--player-color:var(--color-player-six)}.hud-player-rail{display:contents}.hud-turn-label{display:none}.hud-player-chip.is-you{text-underline-offset:2px;text-decoration:underline}@media (width>=601px){.hud-status:has(.hud-stats.is-pass){position:absolute;left:50%;transform:translate(-50%)}}#toast{bottom:max(var(--space-4), env(safe-area-inset-bottom));z-index:10;align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-4);font-size:var(--font-size-utility);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);color:var(--color-background);pointer-events:none;background:var(--color-ink);border-radius:var(--radius-control);box-shadow:0 4px 12px color-mix(in srgb, var(--color-ink) 25%, transparent);opacity:0;transition:opacity var(--duration-feedback) var(--ease-standard), transform var(--duration-feedback) var(--ease-standard);display:inline-flex;position:fixed;left:50%;transform:translate(-50%)translateY(16px)}#toast.show{opacity:1;transform:translate(-50%)translateY(0)}#streak-overlay{--streak-color:var(--color-cover);--streak-width:1.5rem;z-index:3;pointer-events:none;position:fixed;inset:0}#streak-overlay[data-tier="3"]{--streak-width:2rem}#streak-overlay[data-tier="4"]{--streak-width:2.5rem}#streak-overlay[data-slot="0"]{--streak-color:var(--color-player-one)}#streak-overlay[data-slot="1"]{--streak-color:var(--color-player-two)}#streak-overlay[data-slot="2"]{--streak-color:var(--color-player-three)}#streak-overlay[data-slot="3"]{--streak-color:var(--color-player-four)}#streak-overlay[data-slot="4"]{--streak-color:var(--color-player-five)}#streak-overlay[data-slot="5"]{--streak-color:var(--color-player-six)}.streak-clamp{top:var(--board-top,18vh);bottom:var(--board-bottom,12vh);width:var(--streak-width);background:var(--color-surface);border:var(--border-strong) solid var(--color-ink);opacity:0;position:absolute}.streak-clamp-left{--streak-out:calc(-100% - var(--space-2));left:max(var(--space-1), env(safe-area-inset-left));clip-path:polygon(0 0,72% 0,100% 15%,72% 30%,100% 50%,72% 70%,100% 85%,72% 100%,0 100%);box-shadow:inset var(--space-2) 0 0 var(--streak-color), var(--space-1) var(--space-1) 0 color-mix(in srgb, var(--color-shadow) 35%, transparent);transform:translateX(var(--streak-out))}.streak-clamp-right{--streak-out:calc(100% + var(--space-2));right:max(var(--space-1), env(safe-area-inset-right));clip-path:polygon(28% 0,100% 0,100% 100%,28% 100%,0 85%,28% 70%,0 50%,28% 30%,0 15%);box-shadow:inset calc(-1 * var(--space-2)) 0 0 var(--streak-color), calc(-1 * var(--space-1)) var(--space-1) 0 color-mix(in srgb, var(--color-shadow) 35%, transparent);transform:translateX(var(--streak-out))}#streak-burst{top:calc(var(--board-top,18vh) + var(--space-4));gap:var(--space-1);padding:var(--space-2) var(--space-3);font-size:var(--font-size-heading);font-weight:var(--font-weight-bold);line-height:var(--line-height-ui);color:var(--color-ink);text-transform:uppercase;letter-spacing:var(--letter-spacing-heading);white-space:nowrap;background:var(--color-surface);border:var(--border-strong) solid var(--color-ink);border-bottom-color:var(--streak-color);border-bottom-width:var(--space-2);border-radius:var(--radius-control);box-shadow:var(--space-1) var(--space-1) 0 color-mix(in srgb, var(--color-shadow) 35%, transparent);opacity:0;transform:translate(-50%, var(--space-3)) scale(.84);align-items:center;display:flex;position:absolute;left:50%}.streak-emoji{width:2em;height:2em;margin-block:-.5em}#streak-overlay.show .streak-clamp{animation:streak-clamp var(--duration-progress) var(--ease-standard)}#streak-overlay.show #streak-burst{animation:streak-burst var(--duration-progress) var(--ease-standard)}@keyframes streak-clamp{0%,to{opacity:0;transform:translateX(var(--streak-out))}18%,72%{opacity:1;transform:translate(0)}}@keyframes streak-burst{0%,to{opacity:0;transform:translate(-50%, var(--space-3)) scale(.84)}22%,72%{opacity:1;transform:translate(-50%)scale(1)}}.streak-live{white-space:nowrap;clip:rect(0 0 0 0);clip-path:inset(50%);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=600px){#bar{--hud-block-size:2.25rem;--hud-module-size:calc(var(--hud-block-size) + var(--space-2) + var(--border-molded));column-gap:var(--space-1);row-gap:var(--space-2);padding:max(var(--space-1), env(safe-area-inset-top)) max(var(--space-1), env(safe-area-inset-right)) var(--space-1) max(var(--space-1), env(safe-area-inset-left));grid-template-columns:max-content minmax(0,1fr) max-content max-content;display:grid}.hud-group-start,.hud-group-end{display:contents}.hud-nav{grid-area:1/1}.hud-run{grid-area:1/3}.hud-studio{grid-area:1/4}.hud-status:not(:has(.hud-stats.is-pass)){grid-area:2/1/auto/-1;width:100%}.hud-status:not(:has(.hud-stats.is-pass)) .hud-stats{flex:1;grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;width:100%;display:grid}.hud-status:not(:has(.hud-stats.is-pass)) .hud-stat{justify-content:center;min-width:0}.hud-module{min-height:var(--hud-block-size);padding:calc(var(--space-1) - var(--border-molded))}.hud-control{min-width:var(--hud-block-size);min-height:var(--hud-block-size);padding:var(--space-1) var(--space-2);font-size:var(--font-size-utility)}#mode,.hud-stats>.hud-stat{min-height:var(--hud-block-size);padding:var(--space-1) var(--space-2);font-size:var(--font-size-utility)}#mode{text-overflow:clip;overflow:hidden}.hud-status:has(.hud-stats.is-pass):not(:has(.hud-stat:not([hidden]):not(.hud-player-chip))){display:contents}.hud-stat-value{font-size:var(--font-size-game)}.hud-player-chip{padding:var(--space-1) var(--space-2);font-size:var(--font-size-utility);flex-shrink:0}.hud-stats.is-pass{max-width:none;padding:0;display:contents;overflow:visible}.hud-stats.is-pass .hud-player-rail{right:max(var(--space-2), env(safe-area-inset-right));left:max(var(--space-2), env(safe-area-inset-left));gap:var(--space-1);min-height:var(--hud-module-size);padding:calc(var(--space-1) - var(--border-molded));background-color:var(--molded-tray-background);background-image:var(--molded-tray-finish);border:var(--border-control) solid var(--molded-border-color);border-color:var(--molded-border-highlight) var(--molded-border-color) var(--molded-border-shade);border-radius:var(--radius-molded-tray);box-shadow:var(--molded-tray-shadow);grid-auto-columns:minmax(0,1fr);grid-auto-flow:column;display:grid;position:fixed}.hud-stats.is-pass .hud-player-rail-top{top:calc(var(--board-top,12vh) - var(--hud-module-size))}.hud-stats.is-pass .hud-player-rail-bottom{bottom:max(calc(env(safe-area-inset-bottom) + var(--space-2)), calc(var(--board-bottom,12vh) - var(--hud-module-size) - var(--space-2)))}.hud-stats.is-pass[data-players="2"] .hud-player-rail{width:50vw;left:50%;right:auto;transform:translate(-50%)}.hud-stats.is-pass .hud-player-chip{min-width:0;min-height:var(--hud-block-size);padding:var(--space-1) var(--space-2);color:var(--color-hud-ink);justify-content:center}.hud-stats.is-pass .hud-player-chip.active-turn{font-size:var(--font-size-body)}.hud-stats.is-pass .hud-player-chip.active-turn .hud-turn-label{font-size:var(--font-size-utility);font-weight:var(--font-weight-bold);letter-spacing:var(--letter-spacing-label);display:inline}}@media (prefers-reduced-motion:reduce){#streak-overlay.show .streak-clamp,#streak-overlay.show #streak-burst{animation:streak-static var(--duration-progress) steps(1, end)}#streak-overlay.show .streak-clamp{transform:translate(0)}#streak-overlay.show #streak-burst{transform:translate(-50%)}}@keyframes streak-static{0%{opacity:1}to{opacity:0}}
