:root{--text-scale:1;--shake:1;--fs--1:calc(.8rem * var(--text-scale));--fs-0:calc(1rem * var(--text-scale));--fs-1:calc(1.25rem * var(--text-scale));--fs-2:calc(1.563rem * var(--text-scale));--fs-3:calc(1.953rem * var(--text-scale));--fs-4:calc(2.441rem * var(--text-scale));--fs-5:calc(3.052rem * var(--text-scale));--lh-tight:1.15;--lh-body:1.45;--font-ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-display:var(--font-ui);--font-num:var(--font-ui);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--space-8:64px;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-pill:999px;--z-world:0;--z-hud:10;--z-menu:20;--z-modal:30;--z-toast:40;--z-tooltip:50;--dur-fast:.12s;--dur-med:.22s;--dur-slow:.4s;--ease-out:cubic-bezier(.2, .8, .2, 1);--ease-in-out:cubic-bezier(.65, 0, .35, 1);--c-bg:#0f1218;--c-surface:#1a1f29;--c-surface-2:#252c38;--c-border:#3a4352;--c-text:#eef1f5;--c-text-dim:#a9b1bd;--c-accent:#ffb347;--c-accent-ink:#1a1200;--c-scrim:#05070ab8;--c-good:#4cc38a;--c-bad:#ff6b6b;--c-warn:#ffd166;--c-info:#6cb6ff;--focus-ring:3px solid var(--c-accent);--focus-offset:3px;--touch-min:44px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px)}[data-input=touch]{--touch-min:48px}[data-reduced-motion]{--dur-fast:.01ms;--dur-med:.01ms;--dur-slow:.01ms;--shake:0}[data-reduced-motion] *,[data-reduced-motion] :before,[data-reduced-motion] :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}[data-high-contrast]{--c-bg:#000;--c-surface:#000;--c-surface-2:#111;--c-border:#fff;--c-text:#fff;--c-text-dim:#e6e6e6;--c-accent:#ffd400;--c-accent-ink:#000;--c-scrim:#000000e6;--focus-ring:4px solid #ffd400}[data-colorblind=protan],[data-colorblind=deuteran]{--c-good:#56b4e9;--c-bad:#e69f00;--c-warn:#f0e442;--c-info:#cc79a7}[data-colorblind=tritan]{--c-good:#2ec4b6;--c-bad:#ff5c8a;--c-warn:#ff9e80;--c-info:#c8a2ff}*,:before,:after{box-sizing:border-box}html,body{overscroll-behavior:none;background:var(--c-bg);height:100dvh;color:var(--c-text);font:var(--fs-0) / var(--lh-body) var(--font-ui);-webkit-text-size-adjust:100%;touch-action:manipulation;-webkit-tap-highlight-color:transparent;margin:0;overflow:hidden}.game-surface,canvas{touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;display:block}.ui-layer{z-index:var(--z-hud);pointer-events:none;padding:var(--safe-top) var(--safe-right) var(--safe-bottom) var(--safe-left);-webkit-user-select:none;user-select:none;position:absolute;inset:0}.ui-layer :is(button,a,input,select,textarea,[data-interactive]){pointer-events:auto}button,[role=button]{min-height:var(--touch-min);min-width:var(--touch-min);font:inherit;color:inherit;cursor:pointer}.num{font-family:var(--font-num);font-variant-numeric:tabular-nums}:focus:not(:focus-visible){outline:none}:focus-visible,[data-input=keyboard] :focus,[data-input=gamepad] :focus{outline:var(--focus-ring);outline-offset:var(--focus-offset)}.sr-only{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}
