@layer reset,tokens,base,components,app,utilities;@layer tokens{:root{--space-1: 2px;--space-2: 4px;--space-3: 6px;--space-4: 8px;--space-5: 10px;--space-6: 12px;--space-7: 16px;--space-8: 20px;--space-9: 24px;--space-10: 32px;--text-2xs: 10px;--text-xs: 11px;--text-sm: 12px;--text-md: 13px;--text-lg: 15px;--text-xl: 17px;--text-2xl: 28px;--text-3xl: 40px;--text-4xl: 56px;--icon-sm: 15px;--icon-md: 18px;--icon-lg: 20px;--weight-normal: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--leading-tight: 1.1;--leading-snug: 1.45;--leading-normal: 1.5;--tracking-tight: -.01em;--tracking-wide: .04em;--tracking-wider: .08em;--tracking-widest: .14em;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--radius-circle: 50%;--tap: 44px;--control-sm: 38px;--control-xs: 30px;--control-lg: 54px;--duration-instant: .12s;--duration-fast: .16s;--duration-slow: .7s;--duration-turn: .5s;--duration-turn-flash: .9s;--duration-pop: 1.2s;--duration-pulse: 1.8s;--duration-beef: 3s;--duration-beef-mine: 3.6s;--ease-out: ease-out;--ease-land: cubic-bezier(.2, 1.4, .4, 1);--ease-land-strong: cubic-bezier(.2, 1.5, .4, 1);--snap-back: .22s;--z-modal: 10;--z-drag: 60;color-scheme:light;--bg: #e9e2d7;--panel: #f6f2ec;--panel-2: #e3dacc;--line: #cdc0ad;--text: #241d18;--muted: #6b5e54;--primary: #0b57d0;--ink-on-primary: #ffffff;--primary-strong: #083f9c;--primary-press: #06317a;--player-0: #d0490c;--player-1: #0d7ea8;--board-tint-0: #d0490c14;--board-tint-1: #0d7ea814;--room-0: #e7d6c7;--room-1: #d8dad3;--board-flash-0: #d0490c73;--board-flash-1: #0d7ea873;--cell-turn-0: color-mix(in srgb, var(--player-0) 7%, var(--cell-base));--cell-turn-1: color-mix(in srgb, var(--player-1) 7%, var(--cell-base));--cell-hover-turn-0: color-mix(in srgb, var(--player-0) 7%, var(--cell-hover-base));--cell-hover-turn-1: color-mix(in srgb, var(--player-1) 7%, var(--cell-hover-base));--both: #6f4bc0;--both-dim: color-mix(in srgb, var(--both) 42%, var(--muted));--ink-on-player: #ffffff;--br-p0: #e02d2d;--br-p1: #0d95b0;--br-p2: #b58200;--br-p3: #2563eb;--br-p4: #6f9c00;--br-p5: #db2777;--br-p6: #12a150;--br-p7: #e07000;--timer-early: #f4efe6;--timer-mid: var(--win);--timer-late: var(--danger);--br-p0-dim: color-mix(in srgb, var(--br-p0) 42%, var(--muted));--br-p1-dim: color-mix(in srgb, var(--br-p1) 42%, var(--muted));--br-p2-dim: color-mix(in srgb, var(--br-p2) 42%, var(--muted));--br-p3-dim: color-mix(in srgb, var(--br-p3) 42%, var(--muted));--br-p4-dim: color-mix(in srgb, var(--br-p4) 42%, var(--muted));--br-p5-dim: color-mix(in srgb, var(--br-p5) 42%, var(--muted));--br-p6-dim: color-mix(in srgb, var(--br-p6) 42%, var(--muted));--br-p7-dim: color-mix(in srgb, var(--br-p7) 42%, var(--muted));--br-lighthouse: #b8860b;--br-lighthouse-core: #fff3cf;--br-lighthouse-glow: #b8860b40;--br-lighthouse-off: #9a917f;--br-ground: #e9e2d6;--br-grid: #d3c9b6;--br-taken: #c3b7a1;--br-rock: #9b8d76;--br-rock-edge: #786a54;--br-rock-crater: #857756;--tile: #ffffff;--tile-stroke: #dfdfdf;--cell-base: #d8cdbbb3;--cell-hover-base: #cec2adcc;--cell: var(--cell-base);--cell-hover: var(--cell-hover-base);--cell-stroke: #c3b6a1;--channel: #7d7d7d;--channel-in-hand: #949494;--win: #c98a00;--aim: #241d18;--danger: #c62f34;--ink-on-danger: #ffffff;--danger-strong: #a8262b;--danger-press: #8f2024;--accent-wash: #0b57d014;--accent-wash-press: #0b57d029;--good: #1c6e3e;--bad: #b03236;--good-bg: #dcefe2;--good-ink: #14562f;--bad-bg: #f7dedf;--bad-ink: #8f2226;--error-ink: #a52a2f;--overlay: #3a302acc;--raise: #00000012;--raise-line: #00000024;--shadow: #3a302a33;--shadow-strong: #3a302a59;--lift-rim: #0000;--chrome-max: 640px;--surface-bg: var(--panel);--surface-sunken-bg: var(--panel-2);--surface-radius: var(--radius-lg);--modal-border: 1px solid var(--line);--glass-bg: #ffffff12;--glass-line: #ffffff59;--glass-border: 1px solid var(--glass-line);--glass-highlight: #ffffff8c;--glass-radius: var(--radius-xl);--glass-edge: inset 0 1px 0 var(--glass-highlight), inset 0 0 0 1px var(--glass-line);--glass-sheen: inset 0 1px 0 var(--glass-highlight);--glass-blur: 14px;--glass-saturate: 1.7;--glass-backdrop: blur(var(--glass-blur)) saturate(var(--glass-saturate));--glass-panel-bg: #f6f2ec00;--glass-card-bg: #f6f2ec91;--glass-danger-bg: #f7dedfbf;--hexfield-fill: #3a302a12;--hexfield-stroke: #3a302a08;--hexfield-fade: linear-gradient( to bottom, #000000a6 0%, #000000a6 12%, #000000 19%, #000000 100% );--rim-glow-0: color-mix(in srgb, var(--player-0) 20%, transparent);--rim-glow-1: color-mix(in srgb, var(--player-1) 20%, transparent);--rim-glow-both: color-mix(in srgb, var(--both) 20%, transparent);--rim-glow-core: 3px;--rim-glow-halo: 10px;--rim-surge-halo: 18px;--btn-radius: var(--radius-md);--btn-radius-round: var(--radius-circle);--btn-padding-x: var(--space-9);--btn-padding-x-wide: var(--space-10);--btn-gap: var(--space-3);--btn-weight: var(--weight-semibold);--btn-bg: var(--panel-2);--btn-border-color: var(--line);--btn-ink: var(--text);--btn-primary-bg: color-mix(in srgb, var(--primary) 85%, transparent);--btn-primary-bg-hover: color-mix(in srgb, var(--primary-strong) 85%, transparent);--btn-primary-bg-active: color-mix(in srgb, var(--primary-press) 85%, transparent);--btn-danger-bg: color-mix(in srgb, var(--danger) 85%, transparent);--btn-danger-bg-hover: color-mix(in srgb, var(--danger-strong) 85%, transparent);--btn-danger-bg-active: color-mix(in srgb, var(--danger-press) 85%, transparent);--btn-accent-ink: var(--primary);--btn-accent-ink-hover: var(--primary-strong);--btn-accent-ink-active: var(--primary-press);--btn-accent-bg-hover: var(--accent-wash);--btn-accent-bg-active: var(--accent-wash-press);--btn-secondary-bg: #e3dacc8c;--btn-quiet-ink: var(--muted);--btn-quiet-ink-hover: var(--text);--btn-quiet-bg-hover: var(--panel-2);--btn-quiet-bg-active: var(--raise-line);--btn-bg-floating: color-mix(in srgb, var(--panel-2) 85%, transparent);--btn-primary-bg-floating: color-mix(in srgb, var(--primary) 85%, transparent);--btn-primary-bg-floating-hover: color-mix(in srgb, var(--primary-strong) 85%, transparent);--btn-primary-bg-floating-active: color-mix(in srgb, var(--primary-press) 85%, transparent);--btn-off-bg: var(--panel-2);--btn-off-border-color: var(--line);--btn-off-ink: var(--muted);--btn-off-bg-floating: transparent;--scores-ink-waiting: #5f5349;--clock-track-bg: var(--panel-2);--clock-ink: var(--text);--clock-ink-low: var(--error-ink);--clock-low-bg: var(--danger);--clock-height: var(--space-2);--field-bg: var(--panel-2);--field-radius: var(--radius-lg);--field-border-color: #d9cfbe;--field-border: 1px solid var(--field-border-color);--field-min-height: var(--control-lg);--field-padding-y: var(--space-6);--field-padding-x: var(--space-7);--field-gap: var(--space-4);--field-label-size: var(--text-lg);--field-label-ink: var(--text);--field-label-weight: var(--weight-semibold);--field-text: 18px;--seg-radius: var(--field-radius);--seg-bg: var(--field-bg);--seg-border: var(--field-border);--seg-pad: var(--space-2);--seg-face-height: var(--tap);--seg-face-radius: var(--radius-md);--seg-face-size: var(--text-lg);--seg-face-weight: var(--weight-semibold);--seg-face-ink: var(--text);--seg-face-ink-hover: var(--primary-strong);--seg-face-ink-active: var(--primary-press);--seg-face-bg-hover: var(--accent-wash);--seg-face-bg-active: var(--accent-wash-press);--seg-face-on-bg: var(--primary);--seg-face-on-bg-hover: var(--primary-strong);--seg-face-on-bg-active: var(--primary-press);--seg-face-on-ink: var(--ink-on-primary);--seg-hint-ink: var(--muted);--seg-hint-size: var(--text-sm);--focus-ring-width: 2px;--focus-ring-color: var(--primary);--focus-ring-offset: 1px;--modal-radius: var(--radius-xl);--modal-padding: var(--space-7);--modal-width: 460px;--switch-width: var(--tap);--switch-height: var(--space-9);--switch-knob: var(--space-8);--switch-off-bg: var(--panel-2);--switch-on-bg: var(--primary);--switch-knob-bg: var(--muted);--switch-knob-on-bg: var(--ink-on-primary);--badge-radius: var(--radius-pill);--badge-padding-y: var(--space-1);--badge-padding-x: var(--space-3);--backdrop-fade: radial-gradient( ellipse 62% 52% at 50% 50%, #00000000 0%, #00000000 42%, #00000047 74%, #00000070 100% );--mono: ui-monospace, SFMono-Regular, Menlo, monospace;--font: "Google Sans Flex", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-hand: "Bangers", cursive}:root[data-theme=dark]{color-scheme:dark;--bg: #14100e;--panel: #1e1815;--panel-2: #2a221e;--line: #3a302a;--text: #f0e9e3;--muted: #a2938a;--scores-ink-waiting: #a2938a;--field-border-color: #443a33;--primary: #2ad4ff;--ink-on-primary: #06121e;--primary-strong: #7de5ff;--primary-press: #b3efff;--player-0: #ff6a2b;--player-1: #2ad4ff;--board-tint-0: #ff6a2b14;--board-tint-1: #2ad4ff14;--room-0: #261710;--room-1: #161f21;--board-flash-0: #ff6a2b59;--board-flash-1: #2ad4ff59;--cell-turn-0: color-mix(in srgb, var(--player-0) 7%, var(--cell-base));--cell-turn-1: color-mix(in srgb, var(--player-1) 7%, var(--cell-base));--cell-hover-turn-0: color-mix(in srgb, var(--player-0) 7%, var(--cell-hover-base));--cell-hover-turn-1: color-mix(in srgb, var(--player-1) 7%, var(--cell-hover-base));--both: #9d7cd8;--both-dim: color-mix(in srgb, var(--both) 42%, var(--muted));--ink-on-player: #06121e;--br-p0: #ff5d5d;--br-p1: #22cfe0;--br-p2: #ffcf47;--br-p3: #5b8cff;--br-p4: #b7e04a;--br-p5: #ff6fae;--br-p6: #3ddc84;--br-p7: #ff9838;--timer-early: #eef1f5;--br-lighthouse: #ffe066;--br-lighthouse-core: #fffdf5;--br-lighthouse-glow: #ffe06640;--br-lighthouse-off: #5b6570;--br-ground: #14171c;--br-grid: #23282f;--br-taken: #3a4048;--br-rock: #434852;--br-rock-edge: #5b626d;--br-rock-crater: #2c2f36;--tile: #2f2823;--tile-stroke: #4b3f36;--cell-base: #171310b3;--cell-hover-base: #241d18cc;--cell: var(--cell-base);--cell-hover: var(--cell-hover-base);--cell-stroke: #3d322b;--channel: #8a7a6e;--channel-in-hand: #a3907f;--win: #ffe066;--aim: #f0e9e3;--danger: #e5484d;--ink-on-danger: #06121e;--danger-strong: #ec6165;--danger-press: #f07f82;--accent-wash: #2ad4ff14;--accent-wash-press: #2ad4ff29;--good: #63d68b;--bad: #ff8f8f;--good-bg: #17301f;--good-ink: #9be8b4;--bad-bg: #3a1f24;--bad-ink: #ffb4b4;--error-ink: #ff9a9a;--overlay: #000000dd;--raise: #ffffff14;--raise-line: #ffffff2e;--shadow: #00000059;--shadow-strong: #0000008c;--lift-rim: #ffffff59;--glass-bg: #ffffff0a;--glass-line: #ffffff54;--glass-highlight: #ffffff73;--glass-panel-bg: #1e18150a;--glass-card-bg: #1e181570;--glass-danger-bg: #3a1f24bf;--btn-secondary-bg: #2a221e8c;--hexfield-fill: #ffffff0a;--hexfield-stroke: #ffffff08;--backdrop-fade: radial-gradient( ellipse 62% 52% at 50% 50%, #00000000 0%, #00000000 42%, #00000038 74%, #00000059 100% )}}@layer reset{*{box-sizing:border-box}button,input,select,textarea{font:inherit}}@layer base{html,body{margin:0;height:100%;overflow:hidden;overscroll-behavior:none;background:var(--bg);color:var(--text);font:var(--text-lg) / var(--leading-normal) var(--font);-webkit-tap-highlight-color:transparent}button{cursor:pointer;touch-action:manipulation}:focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}}@layer components{.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--btn-gap);position:relative;--btn-height: var(--tap);min-height:var(--btn-height);padding:var(--space-4) var(--btn-padding-x);border-radius:var(--btn-radius);border:1px solid var(--btn-border-color);background:var(--btn-bg);color:var(--btn-ink);font-weight:var(--btn-weight);transition:background-color var(--duration-instant) var(--ease-out),border-color var(--duration-instant) var(--ease-out),color var(--duration-instant) var(--ease-out)}.btn--primary{background:var(--btn-primary-bg);border-color:var(--btn-primary-bg);color:var(--ink-on-primary);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);box-shadow:var(--glass-sheen)}.btn--secondary{background:var(--btn-secondary-bg);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);box-shadow:var(--glass-sheen);border-color:var(--btn-accent-ink);color:var(--btn-accent-ink)}.btn--tertiary{background:transparent;border-color:transparent;color:var(--btn-accent-ink)}.btn--danger{background:var(--btn-danger-bg);border-color:var(--btn-danger-bg);color:var(--ink-on-danger);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);box-shadow:var(--glass-sheen)}.btn--quiet{background:transparent;border-color:transparent;color:var(--btn-quiet-ink)}@media(hover:hover){.btn--primary:hover:not(:disabled){background:var(--btn-primary-bg-hover);border-color:var(--btn-primary-bg-hover)}.btn--danger:hover:not(:disabled){background:var(--btn-danger-bg-hover);border-color:var(--btn-danger-bg-hover)}.btn--secondary:hover:not(:disabled){background:var(--btn-accent-bg-hover);border-color:var(--btn-accent-ink-hover);color:var(--btn-accent-ink-hover)}.btn--tertiary:hover:not(:disabled){background:var(--btn-accent-bg-hover);color:var(--btn-accent-ink-hover)}.btn--quiet:hover:not(:disabled){background:var(--btn-quiet-bg-hover);color:var(--btn-quiet-ink-hover)}}.btn--primary:active:not(:disabled){background:var(--btn-primary-bg-active);border-color:var(--btn-primary-bg-active)}.btn--danger:active:not(:disabled){background:var(--btn-danger-bg-active);border-color:var(--btn-danger-bg-active)}.btn--secondary:active:not(:disabled){background:var(--btn-accent-bg-active);border-color:var(--btn-accent-ink-active);color:var(--btn-accent-ink-active)}.btn--tertiary:active:not(:disabled){background:var(--btn-accent-bg-active);color:var(--btn-accent-ink-active)}.btn--quiet:active:not(:disabled){background:var(--btn-quiet-bg-active);color:var(--btn-quiet-ink-hover)}.btn--lg{--btn-height: var(--control-lg);font-size:var(--text-xl)}.btn--sm{--btn-height: var(--control-sm);padding:var(--space-3) var(--space-5)}.btn--xs{--btn-height: var(--control-xs);padding:var(--space-2) var(--space-5);font-size:var(--text-sm)}.btn--icon{aspect-ratio:1;padding-inline:0;font-size:var(--icon-lg);line-height:1;flex:none;min-width:var(--btn-height)}.btn--sm.btn--icon,.btn--xs.btn--icon{font-size:var(--icon-sm)}.btn--round{border-radius:var(--btn-radius-round);width:var(--btn-height);height:var(--btn-height);padding:0}@media(prefers-reduced-motion:no-preference){.btn--primary.btn--calling:not(:disabled){animation:btn-calling var(--duration-pulse) var(--ease-out) infinite}.btn--primary.btn--calling:hover,.btn--primary.btn--calling:active{animation:none}@keyframes btn-calling{0%,to{background-color:var(--btn-primary-bg);border-color:var(--btn-primary-bg)}50%{background-color:var(--btn-primary-bg-hover);border-color:var(--btn-primary-bg-hover)}}}.btn--block{width:100%}.btn--wide{padding-inline:var(--btn-padding-x-wide)}.btn:disabled{cursor:default;color:var(--btn-off-ink)}.btn--primary:disabled,.btn--danger:disabled{background:var(--btn-off-bg);border-color:var(--btn-off-border-color)}.btn--secondary:disabled{background:transparent;border-color:var(--btn-off-border-color)}.btn--tertiary:disabled,.btn--quiet:disabled{background:transparent;border-color:transparent}.btn__count{position:absolute;right:var(--space-2);bottom:var(--space-1);font-size:var(--text-2xs);line-height:1;color:var(--muted)}.surface{background:var(--surface-bg);border-radius:var(--surface-radius)}.surface--sunken{background:var(--surface-sunken-bg)}.field{display:flex;flex-direction:column;gap:var(--field-gap);margin:0;border:0;padding:0;text-align:left;min-width:0}.field__label{font-size:var(--field-label-size);font-weight:var(--field-label-weight);color:var(--field-label-ink)}.field-row{display:flex;gap:var(--space-6)}.field-row .field{flex:1}.field--inline{flex-direction:row;align-items:center;gap:var(--space-5)}.field--inline .field__label{font-size:var(--text-md);color:var(--text)}.seg__track{display:flex;position:relative;padding:var(--seg-pad);border-radius:var(--seg-radius);border:var(--seg-border);background:var(--seg-bg)}.seg__thumb{position:absolute;top:var(--seg-pad);left:var(--seg-pad);width:calc((100% - 2 * var(--seg-pad)) / var(--seg-count));height:calc(100% - 2 * var(--seg-pad));border-radius:var(--seg-face-radius);background:var(--seg-face-on-bg);transform:translate(calc(100% * var(--seg-index)));pointer-events:none}.seg__option{flex:1;min-width:0;position:relative;cursor:pointer}.seg__input{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;opacity:0;cursor:pointer}.seg__face{display:flex;align-items:center;justify-content:center;min-height:var(--seg-face-height);padding:0 var(--space-4);border-radius:var(--seg-face-radius);font-size:var(--seg-face-size);font-weight:var(--seg-face-weight);color:var(--seg-face-ink);text-align:center;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.seg__input:checked+.seg__face{color:var(--seg-face-on-ink)}.seg__input:focus-visible+.seg__face{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}@media(hover:hover){.seg__input:not(:checked):hover+.seg__face{background:var(--seg-face-bg-hover);color:var(--seg-face-ink-hover)}}.seg__input:not(:checked):active+.seg__face{background:var(--seg-face-bg-active);color:var(--seg-face-ink-active)}.seg__hint{margin:calc(var(--space-2) - var(--field-gap)) 0 0;min-height:calc(var(--seg-hint-size) * var(--leading-snug));color:var(--seg-hint-ink);font-size:var(--seg-hint-size);line-height:var(--leading-snug)}@media(prefers-reduced-motion:no-preference){.seg__thumb{transition:transform var(--duration-fast) var(--ease-land)}.seg__face{transition:background var(--duration-fast) var(--ease-out),color var(--duration-instant) var(--ease-out)}}.switch{display:flex;align-items:center;justify-content:space-between;gap:var(--space-6);min-height:var(--tap);position:relative;cursor:pointer}.switch__label{font-size:var(--text-lg)}.switch__input{position:absolute;right:0;width:var(--switch-width);height:var(--switch-height);margin:0;opacity:0;cursor:pointer}.switch__track{flex:none;display:flex;align-items:center;width:var(--switch-width);height:var(--switch-height);padding:var(--space-1);border-radius:var(--radius-pill);background:var(--switch-off-bg);border:1px solid var(--line)}.switch__knob{width:var(--switch-knob);height:var(--switch-knob);border-radius:var(--radius-circle);background:var(--switch-knob-bg)}.switch__input:checked~.switch__track{background:var(--switch-on-bg);border-color:var(--switch-on-bg)}.switch__input:checked~.switch__track .switch__knob{background:var(--switch-knob-on-bg);transform:translate(calc(var(--switch-width) - var(--switch-knob) - var(--space-1) * 2 - 2px))}.switch__input:focus-visible~.switch__track{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}@media(prefers-reduced-motion:no-preference){.switch__knob{transition:transform var(--duration-fast) var(--ease-out),background var(--duration-fast) var(--ease-out)}.switch__track{transition:background var(--duration-fast) var(--ease-out)}}select,textarea,input:not([type=checkbox]):not([type=range]){min-height:var(--field-min-height);width:100%;padding:var(--field-padding-y) var(--field-padding-x);border-radius:var(--field-radius);border:var(--field-border);background:var(--field-bg);color:var(--text);font-size:var(--field-text)}textarea{line-height:var(--leading-snug);resize:vertical}::placeholder{color:var(--muted);opacity:.7}input[type=range]{width:100%;height:var(--tap);accent-color:var(--primary)}input[type=checkbox]{flex:none;width:var(--space-8);height:var(--space-8);accent-color:var(--primary)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--overlay);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);display:flex;align-items:flex-end;justify-content:center;z-index:var(--z-modal)}@media(prefers-reduced-motion:no-preference){.modal-backdrop{animation:modal-veil var(--duration-fast) var(--ease-out)}@keyframes modal-veil{0%{opacity:0}to{opacity:1}}.modal:not(.modal--center){animation:modal-rise var(--duration-fast) var(--ease-out)}@keyframes modal-rise{0%{transform:translateY(var(--space-9))}to{transform:none}}.modal--center{animation:modal-grow var(--duration-fast) var(--ease-land)}@keyframes modal-grow{0%{transform:scale(.96);opacity:0}to{transform:none;opacity:1}}}.modal{--field-bg: var(--surface-sunken-bg);position:relative;width:100%;max-height:92dvh;overflow-y:auto;padding:var(--modal-padding);padding-bottom:calc(var(--modal-padding) + env(safe-area-inset-bottom));background:var(--glass-card-bg);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border:var(--modal-border);border-radius:var(--modal-radius) var(--modal-radius) 0 0;box-shadow:var(--glass-edge)}.modal-backdrop--clear{background:transparent;-webkit-backdrop-filter:none;backdrop-filter:none}.modal-backdrop--center{align-items:center;padding:var(--space-8);padding-top:max(var(--space-8),env(safe-area-inset-top));padding-bottom:max(var(--space-8),env(safe-area-inset-bottom))}.modal--center{width:min(var(--modal-width),100%);max-height:100%;border-radius:var(--modal-radius);padding-bottom:var(--modal-padding)}.modal:focus-visible{outline:none}.modal__close{position:absolute;top:var(--space-4);right:var(--space-4);display:inline-flex;align-items:center;justify-content:center;width:var(--control-sm);height:var(--control-sm);padding:0;border:0;border-radius:var(--radius-circle);background:transparent;color:var(--muted);font-size:var(--text-2xl);line-height:1;cursor:pointer}@media(hover:hover){.modal__close:hover{color:var(--text);background:var(--panel-2)}}.modal__close:active{color:var(--text);background:var(--panel-2)}.modal__title{margin:0 0 var(--space-7);font-size:var(--text-xl)}.modal .field{margin-bottom:var(--space-7)}.modal__actions{display:flex;justify-content:flex-end;gap:var(--space-4);margin-top:var(--space-7)}.modal__actions .btn{flex:1}.badge{display:inline-flex;align-items:center;flex:none;padding:var(--badge-padding-y) var(--badge-padding-x);border-radius:var(--badge-radius);font-size:var(--text-2xs);line-height:var(--leading-snug);white-space:nowrap}.badge--caps{font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:var(--tracking-wide)}.badge--neutral{background:var(--panel-2);border:1px solid var(--line);color:var(--muted)}.badge--accent{background:var(--primary);color:var(--ink-on-primary)}.badge--outline{border:1px solid var(--line);color:var(--muted);letter-spacing:var(--tracking-wide)}.badge--seat{background:var(--badge-seat, var(--primary));color:var(--ink-on-player)}.banner{padding:var(--space-4) var(--space-6);font-size:var(--text-md);text-align:center}.banner--error{background:var(--bad-bg);color:var(--bad-ink)}.banner--good{background:var(--good-bg);color:var(--good-ink)}.banner--muted{background:var(--glass-card-bg);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);box-shadow:var(--glass-sheen);color:var(--muted)}.banner--plain{background:var(--glass-panel-bg);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);box-shadow:var(--glass-sheen)}.banner--floating{border-radius:var(--radius-lg);box-shadow:0 4px 20px var(--shadow)}.dot{display:inline-block;flex:none;width:var(--space-5);height:var(--space-5);border-radius:var(--radius-circle);background:var(--dot-color, currentColor)}.spinner{display:inline-block;flex:none;width:var(--space-6);height:var(--space-6);margin-right:var(--space-4);border:2px solid var(--line);border-top-color:var(--primary);border-radius:var(--radius-circle);vertical-align:-1px;animation:spin var(--duration-slow) linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.spinner{animation:pulse 1.4s ease-in-out infinite}}@keyframes pulse{50%{opacity:.35}}------------------------------------------------------------------------- */ .glass{position:relative;background:var(--glass-bg);border:var(--glass-border);border-radius:var(--glass-radius);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop)}.glass:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:linear-gradient(to bottom,var(--glass-highlight),transparent 55%);pointer-events:none}@media(min-width:640px){.modal-backdrop{align-items:center;padding:var(--space-8)}.modal:not(.modal--center){width:var(--modal-width);border-radius:var(--radius-lg)}.modal__actions .btn{flex:none}}}@layer app{#root{height:100dvh;display:flex;flex-direction:column}.app{flex:1;min-height:0;display:flex;flex-direction:column;padding-top:env(safe-area-inset-top);position:relative;isolation:isolate}.menu__items{display:flex;flex-direction:column;gap:var(--space-4)}.menu{position:relative}.menu__close{position:absolute;top:var(--space-5);right:var(--space-5)}.menu__settings{display:flex;flex-direction:column;gap:var(--space-4);margin-top:var(--space-6);padding-top:var(--space-3);border-top:1px solid var(--line)}.menu__theme{align-self:start}.menu__note{display:flex;align-items:center;justify-content:center;gap:var(--space-3);margin:0;padding-top:var(--space-3);color:var(--muted);font-size:var(--text-sm)}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.turn-clock{flex:none;display:flex;align-items:center;gap:var(--space-5);width:min(100% - var(--space-5) * 2,var(--chrome-max));margin:0 auto var(--space-5)}.turn-clock__track{flex:1;height:var(--clock-height);border-radius:var(--radius-pill);background:var(--clock-track-bg);overflow:hidden}.turn-clock__fill{height:100%;border-radius:var(--radius-pill);background:var(--clock-accent);transform-origin:left center;animation:clock-drain var(--clock-seconds) linear forwards}.turn-clock[data-low=true] .turn-clock__fill{background:var(--clock-low-bg)}.turn-clock__count{min-width:var(--space-8);text-align:right;font-size:var(--text-lg);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;color:var(--clock-ink)}.turn-clock[data-low=true] .turn-clock__count{color:var(--clock-ink-low)}@keyframes clock-drain{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(prefers-reduced-motion:reduce){.turn-clock__fill{animation-timing-function:steps(var(--clock-steps),end)}}.scores{flex:none;display:flex;align-items:stretch;gap:var(--space-5);width:min(100% - var(--space-5) * 2,var(--chrome-max));margin:var(--space-5) auto}.scores__side{flex:1;display:flex;align-items:center;gap:var(--space-4);border-radius:var(--radius-lg);overflow:hidden;background:var(--glass-card-bg);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);box-shadow:var(--glass-edge);padding:var(--space-6) var(--space-5);font-size:var(--text-md);min-width:0;position:relative;isolation:isolate}.scores__name{flex:1;font-size:var(--text-2xl);line-height:var(--leading-tight)}.scores__name--xl{font-size:var(--text-xl)}.scores__name--lg{font-size:var(--text-lg)}.scores__name--md{font-size:var(--text-md)}.scores__stat{flex:none;display:flex;align-items:center;gap:var(--space-4)}.scores__pips{display:inline-flex;flex-direction:column;align-items:flex-start;gap:var(--space-1);color:var(--scores-ink-waiting);font-size:var(--text-sm);line-height:var(--leading-tight);font-variant-numeric:tabular-nums}.scores__pip{display:inline-flex;align-items:center;gap:var(--space-2);position:relative}.scores__pipglyph{display:inline-flex}.scores__pip svg{height:var(--text-sm);width:auto}.scores__side:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:var(--side-accent);opacity:0;pointer-events:none;transition:opacity var(--duration-turn) var(--ease-out)}.scores__side--active:before{opacity:.28;animation:scores-surge var(--duration-turn-flash) var(--ease-out)}@keyframes scores-surge{0%{opacity:.42}to{opacity:.28}}@media(prefers-reduced-motion:no-preference){.scores__side--active{animation:scores-pop var(--duration-turn) var(--ease-land-strong)}@keyframes scores-pop{0%{transform:scale(1.06)}to{transform:none}}}.scores__side--waiting b{color:var(--scores-ink-waiting);font-weight:var(--weight-normal)}.scores__side b{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.scores__points{position:relative;font-size:var(--text-2xl);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.scores__value{display:inline-block}@media(prefers-reduced-motion:no-preference){.scores__value--pop,.scores__pipglyph--pop{animation:scores-spring var(--duration-turn) var(--ease-out) both}.scores__pip--closed .scores__pipglyph--pop,.scores__pip--closed .scores__value--pop{animation-delay:var(--duration-instant)}@keyframes scores-spring{0%{transform:scale(1)}28%{transform:scale(1.38)}52%{transform:scale(.92)}72%{transform:scale(1.08)}88%{transform:scale(.98)}to{transform:scale(1)}}}.scores__gain{position:absolute;left:50%;bottom:100%;color:var(--side-accent);font-size:var(--text-md);font-weight:var(--weight-bold);line-height:var(--leading-tight);white-space:nowrap;pointer-events:none}@media(prefers-reduced-motion:no-preference){.scores__gain{animation:scores-gain-float var(--duration-turn-flash) var(--ease-out) both}@keyframes scores-gain-float{0%{opacity:0;transform:translate(-50%,var(--space-2))}25%{opacity:1}to{opacity:0;transform:translate(-50%,calc(-1 * var(--space-6)))}}}.scores__loop{position:absolute;right:calc(100% + var(--space-3));top:50%;color:var(--side-accent);font-size:var(--text-md);font-weight:var(--weight-bold);line-height:var(--leading-tight);white-space:nowrap;pointer-events:none;transform-origin:right center}@media(prefers-reduced-motion:no-preference){.scores__loop{animation:scores-loop-pop var(--duration-turn-flash) var(--ease-out) both}@keyframes scores-loop-pop{0%{opacity:0;transform:translateY(-50%) scale(.5)}18%{opacity:1;transform:translateY(-50%) scale(1.18)}34%{transform:translateY(-50%) scale(1)}70%{opacity:1;transform:translateY(-50%) scale(1)}to{opacity:0;transform:translate(calc(-1 * var(--space-4)),-50%) scale(1)}}}.board-wrap{flex:1;min-height:0;padding:var(--space-3);display:flex;position:relative;overflow:hidden;touch-action:none}.board{width:100%;height:100%;user-select:none;-webkit-user-select:none;transform:translate(var(--board-pan-x, 0),var(--board-pan-y, 0)) scale(var(--board-zoom, 1));transform-origin:center;position:relative;z-index:1}.hex-field{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;width:100%;height:100%;pointer-events:none;stroke-width:2;-webkit-mask-image:var(--hexfield-fade);mask-image:var(--hexfield-fade)}.hex-field polygon{vector-effect:non-scaling-stroke}.board-tint{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none}.board-tint:before,.board-tint:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;transition:opacity var(--duration-turn) var(--ease-out)}.board-tint{--tint-axis-0: to right;--tint-axis-1: to bottom}.board-tint[data-rotated=true]{--tint-axis-0: to bottom;--tint-axis-1: to right}.board-tint:before{background:linear-gradient(var(--tint-axis-0),var(--board-tint-0),transparent 50%,var(--board-tint-0))}.board-tint:after{background:linear-gradient(var(--tint-axis-1),var(--board-tint-1),transparent 50%,var(--board-tint-1))}.board-tint[data-turn="0"]:before,.board-tint[data-turn="1"]:after{opacity:1}.board-flash{position:absolute;top:0;right:0;bottom:0;left:0;z-index:0;pointer-events:none;opacity:0}.board-flash[data-turn="0"]{background:linear-gradient(var(--tint-axis-0),var(--board-flash-0),transparent 50%,var(--board-flash-0))}.board-flash[data-turn="1"]{background:linear-gradient(var(--tint-axis-1),var(--board-flash-1),transparent 50%,var(--board-flash-1))}.board-flash{--tint-axis-0: to right;--tint-axis-1: to bottom}.board-flash[data-rotated=true]{--tint-axis-0: to bottom;--tint-axis-1: to right}@media(prefers-reduced-motion:no-preference){.board-flash{animation:turn-flash var(--duration-turn-flash) var(--ease-out)}}@keyframes turn-flash{0%{opacity:0}18%{opacity:1}to{opacity:0}}.rim{transition:filter var(--duration-turn) var(--ease-out)}.board-wrap[data-turn="0"] .rim--p0{filter:drop-shadow(0 0 var(--rim-glow-core) var(--rim-glow-0)) drop-shadow(0 0 var(--rim-glow-halo) var(--rim-glow-0))}.board-wrap[data-turn="1"] .rim--p1{filter:drop-shadow(0 0 var(--rim-glow-core) var(--rim-glow-1)) drop-shadow(0 0 var(--rim-glow-halo) var(--rim-glow-1))}.rim-surge{opacity:0;pointer-events:none}.rim-surge--p0{filter:drop-shadow(0 0 var(--rim-glow-core) var(--rim-glow-0)) drop-shadow(0 0 var(--rim-surge-halo) var(--rim-glow-0))}.rim-surge--p1{filter:drop-shadow(0 0 var(--rim-glow-core) var(--rim-glow-1)) drop-shadow(0 0 var(--rim-surge-halo) var(--rim-glow-1))}.rim-surge--both{filter:drop-shadow(0 0 var(--rim-glow-core) var(--rim-glow-both)) drop-shadow(0 0 var(--rim-surge-halo) var(--rim-glow-both))}@media(prefers-reduced-motion:no-preference){.rim-surge{animation:rim-surge var(--duration-turn-flash) var(--ease-out)}@keyframes rim-surge{0%{opacity:0}18%{opacity:1}to{opacity:0}}}.board-wrap[data-turn="0"]{--cell: var(--cell-turn-0);--cell-hover: var(--cell-hover-turn-0)}.board-wrap[data-turn="1"]{--cell: var(--cell-turn-1);--cell-hover: var(--cell-hover-turn-1)}.cell polygon{transition:fill var(--duration-turn) var(--ease-out)}.cell{cursor:default}.cell--live{cursor:pointer}.staged{touch-action:none;cursor:grab}.staged:active{cursor:grabbing}.staged--lifted{opacity:.16}.btn--seat-fill,.flying-btn.btn--seat-fill{--btn-primary-bg: var(--seat);--btn-primary-bg-hover: var(--seat);--btn-primary-bg-active: var(--seat)}.btn--seat-ink{--btn-accent-ink: var(--seat);--btn-accent-ink-hover: var(--seat);--btn-accent-ink-active: var(--seat)}.flying-btn{position:absolute;left:var(--flying-left);top:var(--flying-top);z-index:var(--z-modal);--btn-bg: var(--btn-bg-floating);--btn-secondary-bg: var(--btn-bg-floating);--btn-primary-bg: var(--btn-primary-bg-floating);--btn-primary-bg-hover: var(--btn-primary-bg-floating-hover);--btn-primary-bg-active: var(--btn-primary-bg-floating-active);box-shadow:0 0 0 1.5px var(--raise-line),0 2px 10px var(--shadow-strong)}@media(prefers-reduced-motion:no-preference){.flying-btn{animation:tile-land var(--duration-fast) var(--ease-land)}}.zoom-controls{position:absolute;bottom:var(--space-4);right:var(--space-4);z-index:var(--z-modal);display:flex;flex-direction:column;gap:var(--space-2)}.banner-float{position:absolute;top:0;left:0;right:0;z-index:var(--z-modal);display:flex;justify-content:center;padding:var(--space-5);pointer-events:none}.banner-float>*{pointer-events:auto;max-width:100%}@media(prefers-reduced-motion:no-preference){.banner-float{animation:banner-in var(--duration-fast) var(--ease-out)}}@keyframes banner-in{0%{opacity:0;transform:translateY(-8px)}}.hint{--hint-travel: 190px;position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding-bottom:calc(var(--space-7) + env(safe-area-inset-bottom));pointer-events:none}.hint__text{margin:0 0 var(--hint-travel);padding:var(--space-3) var(--space-6);border-radius:var(--radius-pill);background:var(--glass-card-bg);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border:1px solid var(--line);color:var(--muted);font-size:var(--text-sm);box-shadow:0 2px 10px var(--shadow),var(--glass-edge)}.hint__hand{font-size:var(--text-3xl);line-height:0;color:var(--aim);filter:drop-shadow(0 0 2px var(--tile)) drop-shadow(0 2px 8px var(--shadow-strong))}@media(prefers-reduced-motion:no-preference){.hint__hand{animation:hint-drag 3s var(--ease-out) infinite}.hint__text{animation:hint-caption 3s var(--ease-out) infinite}}@keyframes hint-drag{0%{opacity:0;transform:translateY(0) scale(1)}15%{opacity:1;transform:translateY(0) scale(1)}25%{opacity:1;transform:translateY(0) scale(.86)}65%{opacity:1;transform:translateY(calc(-1 * var(--hint-travel))) scale(.86)}75%{opacity:1;transform:translateY(calc(-1 * var(--hint-travel))) scale(1)}90%,to{opacity:0;transform:translateY(calc(-1 * var(--hint-travel))) scale(1)}}@keyframes hint-caption{0%,to{opacity:0}15%,75%{opacity:1}}.score-pop{position:absolute;top:0;right:0;bottom:0;left:0;z-index:var(--z-modal);display:flex;align-items:center;justify-content:center;pointer-events:none}.score-pop__body{display:flex;flex-direction:column;align-items:center;font-family:var(--font-hand);text-shadow:0 0 var(--space-2) var(--shadow-strong),0 0 var(--space-2) currentColor}.score-pop__body--loop{color:var(--side-accent)}.score-pop__body--bad{color:var(--bad)}.score-pop__kicker{font-size:var(--text-xl);font-weight:var(--weight-bold);line-height:var(--leading-tight)}.score-pop__hero{font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);font-variant-numeric:tabular-nums}.score-pop__tag{font-size:var(--text-lg);font-weight:var(--weight-bold);line-height:var(--leading-tight);font-variant-numeric:tabular-nums}.score-pop__count{--reel-step: 1.35em;display:inline-block;height:var(--reel-step);overflow:hidden;vertical-align:middle}.score-pop__reel{display:block;transform:translateY(calc(var(--roll, 0) * var(--reel-step) * -1))}.score-pop__reel--down{transform:translateY(calc((var(--roll, 0) - var(--n, 0)) * var(--reel-step)))}.score-pop__digit{display:block;height:var(--reel-step);line-height:var(--reel-step);text-align:center}@media(prefers-reduced-motion:no-preference){.score-pop__reel{transition:transform var(--duration-turn) var(--ease-out)}}@media(prefers-reduced-motion:no-preference){.score-pop__card{animation:score-pop-burst var(--duration-pop) var(--ease-out) both}@keyframes score-pop-burst{0%{opacity:0;transform:translateY(var(--space-7)) scale(.6);animation-timing-function:var(--ease-land-strong)}12%{opacity:1;transform:translateY(0) scale(1.16)}20%{opacity:1;transform:translateY(0) scale(1)}34%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(calc(-1 * var(--space-5))) scale(1)}}}.flow{stroke-dasharray:1;animation-duration:var(--flow-step, .15s);animation-timing-function:linear;animation-fill-mode:both;animation-delay:var(--flow-delay, 0s)}.flow--downstream{animation-name:flow-downstream}.flow--upstream{animation-name:flow-upstream}@keyframes flow-downstream{0%{stroke-dashoffset:1}to{stroke-dashoffset:0}}@keyframes flow-upstream{0%{stroke-dashoffset:1}to{stroke-dashoffset:2}}.flow__pool{animation:flow-pool var(--duration-instant) var(--ease-out) both;animation-delay:calc(var(--flow-delay, 0s) + var(--flow-step, .15s))}@keyframes flow-pool{0%{opacity:0}to{opacity:1}}@media(prefers-reduced-motion:reduce){.flow,.flow__pool{animation:none}}.commit-bar{flex:none;padding:var(--space-4) var(--space-5);max-width:calc(var(--chrome-max) + var(--space-5) + var(--space-5));margin-inline:auto;width:100%;--btn-off-bg: var(--glass-card-bg);position:relative}.commit-bar .btn{-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);box-shadow:var(--glass-sheen)}.dock{flex:none;display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--space-5);padding:var(--space-6) var(--space-5) var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom))}.dock__tiles{grid-column:2;display:flex;gap:var(--space-2);min-width:0;justify-content:center}.dock__help{grid-column:1;justify-self:start}.dock__controls{grid-column:3;display:flex;align-items:center;justify-content:space-between;gap:var(--space-4)}.dock__help,.dock__controls .btn{background:var(--glass-panel-bg);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);box-shadow:var(--glass-edge)}.tile-btn{position:relative;min-height:0;padding:var(--space-1);border:2px solid transparent;border-radius:var(--radius-lg);background:var(--glass-panel-bg);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);box-shadow:var(--glass-edge);line-height:0;touch-action:none;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.tile-btn__ring{fill:none;stroke:var(--seat);stroke-width:2;opacity:.45;pointer-events:none}.bomb-ring{fill:none;stroke:var(--danger);stroke-width:2;stroke-dasharray:4 4;pointer-events:none}@media(prefers-reduced-motion:no-preference){.bomb-ring{animation:fuse-chase var(--duration-pulse) linear infinite}}@keyframes fuse-chase{to{stroke-dashoffset:-16}}.tile-btn--fresh{animation:tile-arrive var(--duration-fast) var(--ease-land-strong)}@keyframes tile-arrive{0%{opacity:0;transform:scale(.3)}}.tile-btn:active:not(.tile-btn--dragging){transform:scale(.94);background:var(--raise)}.tile-btn--dragging .tile-btn__art,.tile-btn--staged .tile-btn__art{opacity:.12}.tile-btn__socket{fill:none;stroke:var(--seat);stroke-width:2;stroke-dasharray:4 3;opacity:.7;pointer-events:none}.tile-btn--pending{display:inline-flex;opacity:.55;animation:pulse 1.2s ease-in-out infinite;pointer-events:none}.tile-btn__cue{fill:none;stroke:var(--seat);stroke-width:2;opacity:.5;transform-box:fill-box;transform-origin:center;pointer-events:none}@media(prefers-reduced-motion:no-preference){.tile-btn__cue{opacity:0;animation:tile-cue 1.3s var(--ease-out) 3}}@keyframes tile-cue{0%{opacity:.5;transform:scale(1)}to{opacity:0;transform:scale(1.4)}}.tile-btn[aria-disabled=true]{cursor:default}.tile-btn[aria-disabled=true]>svg{filter:grayscale(1);opacity:.5}.tile-btn__said{position:absolute;bottom:calc(100% + var(--space-3));left:50%;z-index:var(--z-modal);padding:var(--space-2) var(--space-5);border-radius:var(--radius-pill);border:1px solid var(--line);background:var(--panel-2);color:var(--text);font-size:var(--text-sm);font-weight:var(--weight-medium);line-height:var(--leading-snug);white-space:nowrap;pointer-events:none;box-shadow:0 2px 10px var(--shadow);transform:translate(-50%)}@media(prefers-reduced-motion:no-preference){.tile-btn__said{animation:said-in var(--duration-fast) var(--ease-land)}}@keyframes said-in{0%{opacity:0;transform:translate(-50%) translateY(var(--space-2))}}@media(prefers-reduced-motion:no-preference){.tile-btn{transition:opacity var(--duration-instant) ease,transform var(--duration-instant) ease,background var(--duration-instant) ease}.tile-btn--snapback>svg{animation:tile-snap-back var(--snap-back) var(--ease-land-strong)}@keyframes tile-snap-back{0%{transform:translateY(-28px) scale(.7);opacity:.2}to{transform:none;opacity:1}}.staged{animation:tile-land var(--duration-fast) var(--ease-land);transform-box:fill-box;transform-origin:center}@keyframes tile-land{0%{transform:scale(.72);opacity:.4}to{transform:none;opacity:1}}.tile-spin{animation:tile-spin var(--duration-fast) var(--ease-out);transform-box:fill-box;transform-origin:center}@keyframes tile-spin{0%{transform:rotate(var(--spin-from, 0deg))}to{transform:none}}.tile-lock{animation:tile-lock var(--duration-fast) var(--ease-land-strong);transform-box:fill-box;transform-origin:center}@keyframes tile-lock{0%{transform:scale(1.12)}55%{transform:scale(.95)}to{transform:none}}.tile-arrive{animation:tile-arrive var(--duration-fast) var(--ease-land-strong);transform-box:fill-box;transform-origin:center}@keyframes tile-arrive{0%{transform:scale(.34);opacity:.3}to{transform:none;opacity:1}}}.boom-wreck__red{fill:var(--danger);opacity:0;animation:boom-red var(--duration-turn-flash) var(--ease-out) forwards}@keyframes boom-red{0%{opacity:0}18%{opacity:.85}to{opacity:.85}}.boom-wreck{animation:boom-go var(--duration-turn-flash) var(--ease-out) forwards;transform-box:fill-box;transform-origin:center}@keyframes boom-go{0%,38%{opacity:1}to{opacity:0}}@media(prefers-reduced-motion:no-preference){.boom-wreck{animation:boom-go var(--duration-turn-flash) var(--ease-out) forwards,boom-shrink var(--duration-turn-flash) var(--ease-out) forwards}@keyframes boom-shrink{0%,38%{transform:none}to{transform:scale(.1)}}}.drag-tile{position:fixed;top:0;left:0;z-index:var(--z-drag);pointer-events:none;will-change:transform}.drag-tile__inner{transform:translate(-50%,-50%);filter:drop-shadow(0 8px 14px var(--shadow-strong)) drop-shadow(0 0 1.5px var(--lift-rim))}@media(prefers-reduced-motion:no-preference){.drag-tile__inner{animation:drag-tile-lift var(--duration-instant) var(--ease-out)}@keyframes drag-tile-lift{0%{transform:translate(-50%,-50%) scale(.8)}to{transform:translate(-50%,-50%) scale(1)}}}.drag-tile__count{position:absolute;top:0;right:0;padding:var(--space-1) var(--space-2);border-radius:var(--radius-pill);background:var(--panel);color:var(--text);font-size:var(--text-sm);font-weight:700;font-variant-numeric:tabular-nums;box-shadow:0 2px 8px var(--shadow)}.drag-tile__note{position:absolute;top:44px;left:0;transform:translate(-50%);padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--danger);color:var(--ink-on-danger);font-size:var(--text-sm);font-weight:600;white-space:nowrap;box-shadow:0 2px 8px var(--shadow)}.hover-tile{position:fixed;top:0;left:0;z-index:var(--z-drag);pointer-events:none;will-change:transform;display:flex;flex-direction:column;align-items:center;gap:var(--space-2)}.hover-tile__inner{transform:translate(-50%,-50%);filter:drop-shadow(0 8px 14px var(--shadow-strong)) drop-shadow(0 0 1.5px var(--lift-rim))}.hover-tile__note{margin-top:calc(-1 * var(--space-6));padding:var(--space-2) var(--space-4);border-radius:var(--radius-pill);background:var(--danger);color:var(--ink-on-danger);font-size:var(--text-sm);font-weight:600;white-space:nowrap;box-shadow:0 2px 8px var(--shadow)}.board-wrap--carrying .board{cursor:none}.tip-anchor{position:relative;display:inline-flex}.tip-catch{position:absolute;top:0;right:0;bottom:0;left:0;cursor:default}.tip-bubble{position:absolute;bottom:calc(100% + var(--space-2));left:50%;transform:translate(-50%);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);background:var(--glass-card-bg);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);color:var(--text);font-size:var(--text-sm);font-weight:600;white-space:nowrap;box-shadow:0 2px 10px var(--shadow-strong),var(--glass-edge);pointer-events:none;z-index:var(--z-modal)}.kbd-tip__bubble{opacity:0;transition:opacity var(--duration-instant) var(--ease-out)}@media(hover:hover){.kbd-tip:hover .kbd-tip__bubble{opacity:1;transition-delay:1s}}.kbd{display:inline-block;min-width:var(--space-8);padding:0 var(--space-2);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--panel-2);font-family:var(--mono);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-align:center}.note{margin:calc(-1 * var(--space-3)) 0 var(--space-7);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--panel-2);color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-snug)}.splash{--field-bg: var(--panel);isolation:isolate;position:relative;display:flex;flex:1;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-8);padding:var(--space-9);text-align:center;color:var(--text)}.splash-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;width:100%;height:100%;pointer-events:none;-webkit-mask-image:var(--backdrop-fade);mask-image:var(--backdrop-fade)}.splash>.field{width:min(380px,100%)}.splash__logo{margin-bottom:calc(-1 * var(--space-5))}.splash__title{margin:0;font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}.splash__error{margin:0;color:var(--error-ink)}.splash__note{margin:0;max-width:34ch;color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.splash__foot{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);width:min(380px,100%)}.splash__doors{display:flex;flex-direction:column;gap:var(--space-5);width:min(380px,100%)}.splash__arena{display:flex;flex-direction:column;gap:var(--space-3)}.splash__join{display:flex;gap:var(--space-4)}.splash__code{flex:1;min-width:0;font-family:var(--mono);letter-spacing:var(--tracking-widest);text-transform:uppercase}.splash__join .btn{flex:none}.howto{--modal-width: 520px}.howto__stage{display:flex;align-items:center;justify-content:center;height:220px;margin-bottom:var(--space-7);border-radius:var(--radius-lg);background:var(--bg)}.demo-board{width:100%;height:100%;padding:var(--space-6)}.howto__seats{display:flex;flex-wrap:wrap;justify-content:center;gap:var(--space-4) var(--space-7);margin:0 0 var(--space-7);padding:0;list-style:none}.howto__seat{display:flex;align-items:center;gap:var(--space-4);color:var(--muted);font-size:var(--text-sm)}.howto__seat b{color:var(--text);font-weight:var(--weight-semibold)}.howto__caption{min-height:4.5em}.howto__chapter{margin:0 0 var(--space-4);font-size:var(--text-lg)}.howto__body{margin:0;color:var(--muted);font-size:var(--text-sm);line-height:var(--leading-normal)}.howto__steps{display:flex;gap:var(--space-3);margin-top:var(--space-7)}.howto__step{flex:1;min-height:var(--control-xs);padding:0;border:0;background:transparent;cursor:pointer}.howto__step:after{content:"";display:block;height:var(--space-2);border-radius:var(--radius-pill);background:var(--line)}.howto__step--on:after{background:var(--primary)}.howto__step-label{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.invite{display:flex;flex-direction:column;gap:var(--space-5);width:min(340px,100%);padding:var(--space-6) var(--space-7);border:1px solid var(--raise-line);border-radius:var(--radius-lg);background:var(--glass-card-bg);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);box-shadow:0 4px 20px var(--shadow),var(--glass-edge)}.invite__label{display:flex;align-items:center;justify-content:center;gap:var(--space-4);color:var(--muted);font-size:var(--text-sm)}.invite__code{padding:var(--space-5);border-radius:var(--radius-md);background:var(--panel-2);font-family:var(--mono);font-size:var(--text-2xl);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wider);text-align:center;-webkit-user-select:all;user-select:all}.invite__manual{text-align:left}.invite__url{font-family:var(--mono);-webkit-user-select:all;user-select:all}.banner--over{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-4);width:min(100% - var(--space-5) * 2,var(--chrome-max));margin:0 auto var(--space-5);text-align:left}@media(prefers-reduced-motion:no-preference){.banner--over{animation:banner-arrive var(--duration-turn) var(--ease-out)}@keyframes banner-arrive{0%{opacity:0;transform:translateY(calc(-1 * var(--space-5)))}to{opacity:1;transform:none}}}.banner__result{font-size:var(--text-xl)}.banner__actions{display:flex;align-items:center;gap:var(--space-4)}@media(max-width:479px){.banner__result,.banner__actions{width:100%}.banner__actions>*{flex:1}}.banner__error{width:100%;color:var(--error-ink);font-size:var(--text-sm)}.gameover{text-align:center;position:relative}.gameover__eyebrow{margin:0;color:var(--muted);font-size:var(--text-xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-widest);text-transform:uppercase}.gameover__headline{margin:var(--space-3) 0 var(--space-2);color:var(--won-color, inherit);font-size:var(--text-3xl);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight)}@media(prefers-reduced-motion:no-preference){.gameover--won .gameover__headline{animation:headline-land var(--duration-fast) var(--ease-land-strong) backwards}}@keyframes headline-land{0%{opacity:0;transform:scale(.8)}}.gameover__crown{flex:none;line-height:1}.gameover__reason{margin:0 0 var(--space-7);color:var(--muted);font-size:var(--text-md)}.gameover__scores{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-8)}.gameover__score{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-6);opacity:.6;text-align:left}.gameover__score--won{opacity:1;border-color:var(--won-color, var(--raise-line))}.gameover__name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gameover__points{margin-left:auto;font-size:var(--text-xl);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums}.gameover__actions{display:flex;flex-direction:column;gap:var(--space-4)}.gameover__actions .btn{width:100%}.gameover__peek{margin-top:var(--space-4)}.confetti{position:absolute;top:0;right:0;bottom:0;left:0;overflow:hidden;pointer-events:none}.confetti__bit{position:absolute;top:calc(-1 * var(--space-8));width:var(--space-8);height:var(--space-8);color:var(--won-color);opacity:0}@media(prefers-reduced-motion:no-preference){.confetti__bit{animation:confetti-fall 1.6s var(--ease-out) forwards}}.confetti__bit[data-bit="0"]{left:6%;animation-delay:0s}.confetti__bit[data-bit="1"]{left:15%;animation-delay:.18s}.confetti__bit[data-bit="2"]{left:23%;animation-delay:.06s}.confetti__bit[data-bit="3"]{left:31%;animation-delay:.3s}.confetti__bit[data-bit="4"]{left:40%;animation-delay:.12s}.confetti__bit[data-bit="5"]{left:48%;animation-delay:.36s}.confetti__bit[data-bit="6"]{left:57%;animation-delay:.02s}.confetti__bit[data-bit="7"]{left:65%;animation-delay:.24s}.confetti__bit[data-bit="8"]{left:73%;animation-delay:.1s}.confetti__bit[data-bit="9"]{left:82%;animation-delay:.33s}.confetti__bit[data-bit="10"]{left:90%;animation-delay:.15s}.confetti__bit[data-bit="11"]{left:96%;animation-delay:.27s}@keyframes confetti-fall{0%{opacity:1;transform:translateY(0) rotate(0)}to{opacity:0;transform:translateY(560px) rotate(540deg)}}.builder__head{display:flex;align-items:center;gap:var(--space-4);font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-5)}.builder__head .btn:first-of-type{margin-left:auto}.builder__group{margin-bottom:var(--space-6)}.builder__group header{display:flex;align-items:center;justify-content:space-between;font-size:var(--text-sm);color:var(--muted);margin-bottom:var(--space-3)}.builder__group header em{font-style:normal;opacity:.7}.builder__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(58px,1fr));gap:var(--space-3)}.chip{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-2) var(--space-1)}.chip--off{opacity:.32}.chip__tile{min-height:0;padding:0;border:0;background:transparent;line-height:0;border-radius:var(--radius-sm)}.chip__weight{display:flex;align-items:center;gap:var(--space-1);font-size:var(--text-xs);color:var(--muted);font-variant-numeric:tabular-nums}.chip__weight span{width:var(--space-6);text-align:center}.chip__step{min-height:22px;width:var(--space-8);padding:0;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--text);font-size:var(--text-md);line-height:1}.chip__step:disabled{opacity:.4;cursor:default}.debug__stats{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-2);color:var(--muted);font-size:var(--text-md);margin-bottom:var(--space-6)}.debug__error{color:var(--error-ink);margin:var(--space-2) 0;font-size:var(--text-md)}.debug .btn--block{margin-bottom:var(--space-4)}.debug pre{max-height:30dvh;overflow:auto;background:var(--bg);padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-xs)}.debug summary{cursor:pointer;color:var(--muted);font-size:var(--text-md);padding:var(--space-4) 0}.feedback-admin__count{color:var(--muted);font-size:var(--text-md);margin:var(--space-2) 0 var(--space-4)}.feedback-admin__list{list-style:none;display:flex;flex-direction:column;gap:var(--space-3);max-height:55dvh;overflow-y:auto}.feedback-admin__note{padding:var(--space-4);border-radius:var(--radius-md);background:var(--surface-sunken-bg);border:1px solid var(--line)}.feedback-admin__body{color:var(--text);font-size:var(--text-md);line-height:var(--leading-snug);white-space:pre-wrap;overflow-wrap:anywhere}.feedback-admin__meta{color:var(--muted);font-size:var(--text-sm);margin-top:var(--space-2)}.namefield{display:flex;align-items:center;min-height:var(--field-min-height);padding-right:var(--space-3);border:var(--field-border);border-radius:var(--field-radius);background:var(--field-bg)}.namefield:focus-within{outline:var(--focus-ring-width) solid var(--focus-ring-color);outline-offset:var(--focus-ring-offset)}.namefield[data-invalid=true]{border-color:var(--danger)}.namefield__input,.namefield__name{flex:1;min-width:0;min-height:0;border:none;background:transparent;padding:var(--field-padding-y) var(--field-padding-x)}.namefield__input:focus-visible,.namefield__name:focus-visible{outline:none}.namefield__name{display:flex;align-items:center;justify-content:space-between;gap:var(--space-5);color:var(--text);text-align:left;font-size:var(--field-text)}.namefield__name b{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.namefield__name span{flex:none;font-size:var(--text-md);opacity:.7}.consent{flex:none;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:var(--space-4) var(--space-6);padding:var(--space-6);padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom));border-top:1px solid var(--line);background:var(--glass-card-bg);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);box-shadow:0 -6px 24px var(--shadow),var(--glass-edge)}.consent__text{flex:1 1 260px;margin:0;color:var(--muted);font-size:var(--text-sm);line-height:1.45}.consent__actions{display:flex;flex-shrink:0;gap:var(--space-4)}@media(min-width:640px){.board-wrap{padding:var(--space-5)}.dock{gap:var(--space-7);padding:var(--space-5);padding-top:var(--space-6)}}}@layer app{.br-app{flex:1;min-height:0;position:relative;overflow:hidden;background:var(--br-ground);user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.br-board-wrap{position:absolute;top:0;right:0;bottom:0;left:0}@media(prefers-reduced-motion:no-preference){.br-board-wrap{animation:br-board-in var(--duration-turn) var(--ease-out) both}}@keyframes br-board-in{0%{opacity:0}to{opacity:1}}.br-board{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;touch-action:none;cursor:pointer;background:var(--br-ground)}.br-board .flow,.br-board .flow__pool{animation:none}.br-tile--dim{opacity:.14}@media(prefers-reduced-motion:no-preference){.br-tile--dim{transition:opacity var(--duration-turn) var(--ease-land)}}.br-cell{fill:var(--br-ground);stroke:var(--br-grid);stroke-width:1}.br-cell--aim{stroke:var(--aim);stroke-width:2}.br-slab{fill:var(--tile);stroke:var(--tile-stroke);stroke-width:1}.br-taken{fill:var(--br-taken);stroke:var(--br-grid);stroke-width:1}.br-dot{fill:var(--c);stroke:var(--ink-on-player);stroke-width:2.5}.br-rock{pointer-events:none}.br-hexclip{clip-path:polygon(var(--br-hexclip)) fill-box}.br-rock-hit{fill:none;pointer-events:all}.br-endglow{pointer-events:none}.br-endglow-grow{transform-origin:var(--eg-x, center) var(--eg-y, center)}@media(prefers-reduced-motion:no-preference){.br-endglow-grow{animation:br-endglow-grow var(--duration-turn) var(--ease-out) both}}@keyframes br-endglow-grow{0%{opacity:0;transform:scale(.35)}to{opacity:1;transform:scale(1)}}.br-home-hint{fill:none;stroke:var(--c);stroke-width:2.5;transform-box:fill-box;transform-origin:center;pointer-events:none}@media(prefers-reduced-motion:no-preference){.br-home-hint{animation:br-home-pulse var(--duration-pulse) var(--ease-out) infinite}}@keyframes br-home-pulse{0%{opacity:.9;transform:scale(.55)}70%{opacity:0;transform:scale(2.3)}to{opacity:0;transform:scale(2.3)}}.br-coach{pointer-events:none}.br-coach__pill{fill:var(--panel);stroke:var(--line);stroke-width:1}.br-coach__label{fill:var(--text);font-size:var(--text-sm);font-weight:700}.br-coach__arrow{fill:var(--c);filter:drop-shadow(0 2px 5px var(--shadow-strong))}@media(prefers-reduced-motion:no-preference){.br-coach__arrow{animation:br-coach-bob var(--duration-pulse) ease-in-out infinite}}@keyframes br-coach-bob{0%,to{transform:translateY(0)}50%{transform:translateY(var(--space-2))}}.br-lh-socket{fill:var(--br-lighthouse-off);stroke:var(--ink-on-player);stroke-width:2}.br-born{transform-box:fill-box;transform-origin:center}@media(prefers-reduced-motion:no-preference){.br-born{animation:br-born .5s cubic-bezier(.5,0,.2,1) both}}@keyframes br-born{0%{transform:scale(.62);opacity:0}55%{opacity:1}72%{transform:scale(1.05)}to{transform:scale(1);opacity:1}}.br-ghost{opacity:.6;pointer-events:none}.br-ghost-slab{fill:var(--tile);stroke:var(--c);stroke-width:1.5;stroke-dasharray:4 3}.br-ghost-slab--rock{fill:var(--br-rock);stroke:var(--br-rock-edge)}.br-ghost--blocked{opacity:.7}.br-ghost--carrying{opacity:1;transform-box:fill-box;transform-origin:center;transform:scale(1.09);filter:drop-shadow(0 0 5px var(--c)) drop-shadow(0 3px 8px var(--shadow-strong))}.br-vanish{transform-box:fill-box;transform-origin:center;pointer-events:none;animation:br-vanish 1.2s cubic-bezier(.4,0,.7,1) both;animation-delay:.35s}@media(prefers-reduced-motion:reduce){.br-vanish{animation-duration:1ms;animation-delay:0s}}@keyframes br-vanish{0%{transform:scale(1);opacity:1}32%{transform:scale(1);opacity:1}to{transform:scale(.4);opacity:0}}.br-drain-flow{stroke-dashoffset:0;animation:br-drain-empty .3s linear both;animation-delay:var(--delay, 0ms)}.br-drain-tile{transform-box:fill-box;transform-origin:center;pointer-events:none;animation:br-drain-pop .19s ease-in both;animation-delay:calc(var(--delay, 0ms) + .3s)}@media(prefers-reduced-motion:reduce){.br-drain-flow,.br-drain-tile{animation-duration:1ms}}@keyframes br-drain-empty{0%{stroke-dashoffset:0}to{stroke-dashoffset:1}}@keyframes br-drain-pop{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.5)}}.br-explode{transform-box:fill-box;transform-origin:center;pointer-events:none;animation:br-explode .52s cubic-bezier(.3,0,.2,1) both;animation-delay:var(--delay, 0ms)}@keyframes br-explode{0%{opacity:1;transform:scale(1)}35%{opacity:1;transform:scale(1.18)}to{opacity:0;transform:scale(1.5)}}.br-explode__burst{fill:none;stroke:var(--c);stroke-width:3;transform-box:fill-box;transform-origin:center;animation:br-burst .52s ease-out both;animation-delay:var(--delay, 0ms)}@keyframes br-burst{0%{opacity:.9;transform:scale(.4)}to{opacity:0;transform:scale(2.6)}}.br-death-msg{pointer-events:none;animation:br-death-msg 1.5s ease both;animation-delay:var(--delay, 0ms)}@keyframes br-death-msg{0%,to{opacity:0}16%,72%{opacity:1}}.br-death-msg__t{fill:var(--text);font-size:var(--text-lg);font-weight:700;paint-order:stroke;stroke:var(--panel);stroke-width:4}.br-lh-slab{fill:var(--tile);stroke:var(--tile-stroke);stroke-width:2}.br-lh-glow{fill:var(--c);opacity:.22}.br-lh-lamp{fill:var(--c);stroke:var(--br-lighthouse-core);stroke-width:2}.br-lh-beam{transform-box:fill-box;transform-origin:center;pointer-events:none;filter:blur(.9px)}.br-lh-beam-trail{opacity:.2}.br-lh-beam-soft{opacity:.5}.br-lh-ray{fill:var(--br-lighthouse-core);opacity:.85}.br-lh-bloom{transform-box:fill-box;transform-origin:center}.br-lh--off .br-lh-glow,.br-lh--off .br-lh-beam,.br-lh--off .br-lh-bloom{display:none}.br-lh--off .br-lh-lamp{fill:var(--br-lighthouse-off);stroke:var(--br-lighthouse-off)}@media(prefers-reduced-motion:no-preference){.br-lh--on .br-lh-beam{animation:br-sweep 5s linear infinite}.br-lh--on .br-lh-ray{animation:br-flash 2.6s ease-in-out infinite}.br-lh--on .br-lh-bloom{animation:br-bloom 2.6s ease-in-out infinite}.br-lh--on .br-lh-glow{animation:br-lh-pulse 2.6s ease-in-out infinite}}@keyframes br-sweep{to{transform:rotate(360deg)}}@keyframes br-flash{0%,to{opacity:.5}10%{opacity:1}24%{opacity:.58}55%{opacity:.8}}@keyframes br-bloom{0%,to{opacity:.7;transform:scale(.92)}12%{opacity:1;transform:scale(1.1)}55%{opacity:.85;transform:scale(1)}}@keyframes br-lh-pulse{0%,to{opacity:.14}12%{opacity:.32}55%{opacity:.2}}.br-top{position:absolute;top:10px;left:10px;right:10px;display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-5);pointer-events:none}.br-top__hud{display:flex;align-items:flex-start;gap:var(--space-3)}.br-clock{background:var(--glass-card-bg);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-4);box-shadow:0 2px 8px var(--shadow),var(--glass-edge);min-width:38px;text-align:center}.br-clock__num{font-size:var(--text-lg);font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.br-tiles{display:flex;align-items:baseline;gap:var(--space-2);background:var(--panel);border-radius:var(--radius-pill);padding:var(--space-1) var(--space-4);box-shadow:0 2px 8px var(--shadow)}.br-tiles__count{font-size:var(--text-lg);font-weight:700;color:var(--text);font-variant-numeric:tabular-nums}.br-tiles__label{font-size:var(--text-sm);color:var(--text)}.br-lead{background:var(--glass-card-bg);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border-radius:var(--radius-lg);box-shadow:0 2px 8px var(--shadow),var(--glass-edge);padding:var(--space-4);min-width:132px;max-width:200px;pointer-events:none}.br-lead--tucked{transform:translate(150%)}@media(prefers-reduced-motion:no-preference){.br-lead{transition:transform var(--duration-turn) var(--ease-land)}}.br-lead__header{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3);pointer-events:auto}.br-lead__title{margin:0;font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text)}.br-lead__toggle{flex-shrink:0}.br-lead__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3);max-height:46dvh;overflow-y:auto;pointer-events:auto}.br-lead__gap{height:0;border-top:1px solid var(--line);margin:var(--space-1) 0}.br-lead__row{display:flex;align-items:center;gap:var(--space-3)}@media(prefers-reduced-motion:no-preference){.br-lead__row{transition:transform var(--duration-turn) var(--ease-land)}}.br-lead__row--tappable{cursor:pointer}.br-lead__row--sel{position:relative;border-radius:var(--radius-md)}.br-lead__row--sel:before{content:"";position:absolute;inset:calc(var(--space-1) * -1) calc(var(--space-2) * -1);background:var(--c);opacity:.14;border-radius:var(--radius-md);pointer-events:none}.br-lead__rank{flex-shrink:0;width:var(--space-6);text-align:center;font-size:var(--text-sm);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;color:var(--text)}.br-lead__crown{font-size:var(--text-lg);color:var(--c)}.br-lead__body{flex:1;min-width:0;display:flex;flex-direction:column;gap:var(--space-1)}.br-lead__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-3)}.br-lead__name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:var(--text-sm);color:var(--text)}.br-lead__row--me .br-lead__name{font-weight:var(--weight-bold)}.br-lead__bot{flex-shrink:0;font-size:var(--text-md);color:var(--muted)}.br-lead__held{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--space-1);line-height:var(--leading-tight)}.br-lead__beacon{font-size:var(--text-md);color:var(--c)}.br-lead__heldnum{font-size:var(--text-sm);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;color:var(--text)}.br-lead__len{position:relative;flex-shrink:0;font-size:var(--text-md);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;line-height:var(--leading-tight);color:var(--text)}.br-lead__num{display:inline-block}.br-lead__gain{position:absolute;right:0;bottom:100%;color:var(--c);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:var(--leading-tight);white-space:nowrap;pointer-events:none}.br-lead__loss{position:absolute;right:0;bottom:100%;color:var(--muted);font-size:var(--text-sm);font-weight:var(--weight-bold);line-height:var(--leading-tight);white-space:nowrap;pointer-events:none}.br-lead__row--out .br-lead__rank,.br-lead__row--out .br-lead__name,.br-lead__row--out .br-lead__num{color:var(--muted)}.br-lead__row--out .br-lead__fill{background:var(--line)}.br-lead__outtag{flex-shrink:0;font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--muted)}.br-lead__idle{flex-shrink:0;padding:0 var(--space-2);border-radius:var(--radius-pill);font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;background:var(--bad-bg);color:var(--bad-ink)}.br-lead__bar{height:var(--space-3);border-radius:var(--radius-pill);background:var(--panel-2);overflow:hidden}.br-lead__fill{display:block;height:100%;width:var(--pct);border-radius:var(--radius-pill);background:var(--c)}@media(prefers-reduced-motion:no-preference){.br-lead__fill{transition:width var(--duration-turn) var(--ease-land)}.br-lead__num--pop{animation:scores-spring var(--duration-turn) var(--ease-out) both}.br-lead__gain,.br-lead__loss{animation:scores-gain-float var(--duration-turn-flash) var(--ease-out) both}}.br-setup{position:absolute;left:10px;bottom:14px;display:flex;flex-direction:column-reverse;align-items:flex-start;gap:var(--space-3);z-index:2}.br-setup__panel{background:var(--glass-card-bg);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border-radius:var(--radius-lg);box-shadow:0 2px 8px var(--shadow),var(--glass-edge);padding:var(--space-4);display:flex;flex-direction:column;gap:var(--space-3);min-width:208px;max-height:76vh;overflow-y:auto}.br-setup__head{margin:0;color:var(--muted);font-size:var(--text-xs);font-weight:700;text-transform:uppercase;letter-spacing:.05em}.br-setup__head:not(:first-child){margin-top:var(--space-2)}.br-setup__row{display:flex;align-items:center;gap:var(--space-3)}.br-setup__pair{display:flex;gap:var(--space-2)}.br-file{display:none}.br-setup__label{flex:1;color:var(--muted);font-size:var(--text-sm)}.br-setup__val{min-width:36px;color:var(--text);font-weight:700;font-variant-numeric:tabular-nums;text-align:center}.br-slider{flex:2;min-width:0;accent-color:var(--primary)}.br-setup__code{margin:0;padding:var(--space-2) var(--space-3);background:var(--panel-2);border-radius:var(--radius-md);color:var(--muted);font-family:monospace;font-size:var(--text-xs);line-height:1.5}.br-dock{position:relative;z-index:1;display:flex;align-items:center;gap:var(--space-5);background:var(--glass-card-bg);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);padding:var(--space-5);border-radius:var(--radius-xl);box-shadow:0 4px 16px var(--shadow-strong),var(--glass-edge)}.br-dock:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:var(--seat);opacity:.12;pointer-events:none}.br-dock__tile{width:64px;height:64px;display:grid;place-items:center;touch-action:none;cursor:grab}.br-held{width:100%;height:100%}.br-dock__wait{font-size:var(--text-sm);color:var(--muted)}.br-more{position:relative;display:flex}.br-more__panel{position:absolute;bottom:calc(100% + var(--space-3));left:0;z-index:4;display:flex;flex-direction:column;gap:var(--space-2);min-width:168px;padding:var(--space-3);background:var(--panel);border-radius:var(--radius-lg);box-shadow:0 4px 16px var(--shadow-strong),var(--glass-edge)}.br-more__panel .btn{justify-content:flex-start}.br-more__panel .switch{padding-inline:var(--btn-padding-x)}.arena-intro{--field-bg: var(--panel);position:relative;isolation:isolate;flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-8);padding:var(--space-9);overflow:hidden;text-align:center;color:var(--text)}.arena-bg{position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;width:100%;height:100%;pointer-events:none;-webkit-mask-image:var(--backdrop-fade);mask-image:var(--backdrop-fade)}@media(prefers-reduced-motion:no-preference){.arena-bg{animation:arena-bg-drift 32s ease-in-out infinite}.arena-worm{stroke-dasharray:.28 .72;animation:arena-worm-crawl 2.4s linear infinite,arena-worm-cascade var(--duration-turn) var(--ease-land) both;animation-delay:calc(var(--wp) * -2.4s),calc(var(--wp) * 1.4s)}}@keyframes arena-worm-crawl{to{stroke-dashoffset:-1}}@keyframes arena-worm-cascade{0%{opacity:0}to{opacity:1}}@keyframes arena-bg-drift{0%,to{transform:rotate(-1.5deg) translate3d(-1%,0,0)}50%{transform:rotate(1.5deg) translate3d(1%,-1%,0)}}.arena-intro__logo{margin-bottom:calc(-1 * var(--space-4))}@media(prefers-reduced-motion:no-preference){.arena-intro__logo{animation:arena-logo-in var(--duration-turn) var(--ease-land) both}}@keyframes arena-logo-in{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:no-preference){.arena-flow-line{stroke-dasharray:1 1;stroke-dashoffset:1;animation:arena-flow-draw var(--duration-slow) var(--ease-out) both;animation-delay:calc(.14s + var(--gi) * .16s)}}@keyframes arena-flow-draw{0%{opacity:0;stroke-dashoffset:1}to{opacity:1;stroke-dashoffset:0}}.arena-intro__slogan{margin:0;max-width:18ch;font-size:var(--text-3xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);letter-spacing:var(--tracking-tight);color:var(--text);opacity:0;transform:translateY(var(--space-5))}.arena-intro__form{display:flex;flex-direction:column;gap:var(--space-5);width:min(380px,100%);opacity:0;transform:translateY(var(--space-5))}.arena-intro__slogan:not(.is-in),.arena-intro__form:not(.is-in){visibility:hidden}.arena-intro__slogan.is-in,.arena-intro__form.is-in{opacity:1;transform:translateY(0)}@media(prefers-reduced-motion:no-preference){.arena-intro__slogan{transition:opacity var(--duration-turn) var(--ease-out),transform var(--duration-turn) var(--ease-land)}.arena-intro__form{transition:opacity var(--duration-turn) var(--ease-out),transform var(--duration-turn) var(--ease-out)}}.arena-intro__ask{margin:0;color:var(--text);font-size:var(--text-xl);font-weight:var(--weight-semibold)}.br-loader{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-5);text-align:center}.br-loader__title{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--text)}@media(prefers-reduced-motion:no-preference){.br-loader-worm{stroke-dasharray:.4 .6;animation:br-loader-worm 2.1s ease-in-out infinite;animation-delay:calc(var(--gi) * -.5s)}}@keyframes br-loader-worm{0%{stroke-dashoffset:1;animation-timing-function:cubic-bezier(.55,0,.85,.35)}46%{stroke-dashoffset:0;animation-timing-function:ease-out}60%{stroke-dashoffset:0}to{stroke-dashoffset:1}}.br-out{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-4);max-width:320px;padding:var(--space-8);text-align:center;background:var(--glass-card-bg);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border:1px solid var(--line);border-radius:var(--radius-xl);box-shadow:0 4px 16px var(--shadow-strong),var(--glass-edge)}.br-out__title{font-size:var(--text-2xl);font-weight:700;color:var(--text)}.br-out__note{font-size:var(--text-md);color:var(--muted)}.br-death{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:var(--space-3);width:300px;max-width:calc(100vw - var(--space-9));padding:var(--space-9) var(--space-8);text-align:center;background:var(--glass-card-bg);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border:2px solid var(--c);border-radius:var(--radius-xl);box-shadow:0 8px 28px var(--shadow-strong),var(--glass-edge)}.br-death__eyebrow{margin:0;font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--text)}.br-death__headline{margin:0;display:inline-flex;align-items:center;gap:var(--space-3);font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:var(--leading-tight);color:var(--text)}.br-death__crown{font-size:var(--text-2xl);color:var(--c)}.br-death__why{margin:0;font-size:var(--text-sm);line-height:var(--leading-snug);color:var(--muted)}.br-death__stat{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);width:100%;margin-top:var(--space-2);padding-top:var(--space-5);border-top:1px solid var(--line)}.br-death__num{font-size:var(--text-3xl);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;line-height:var(--leading-tight);color:var(--text)}.br-death__label{margin:0;font-size:var(--text-sm);color:var(--muted)}.br-death__bar{width:100%;height:var(--space-3);border-radius:var(--radius-pill);background:var(--panel-2);overflow:hidden}.br-death__fill{display:block;height:100%;width:100%;border-radius:var(--radius-pill);background:var(--c)}.br-death__alert{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);width:100%}.br-death__alertnote{margin:0;font-size:var(--text-2xs);color:var(--muted)}.br-dockwrap{position:absolute;bottom:14px;left:50%;transform:translate(-50%);z-index:3;display:flex;flex-direction:column;align-items:center;max-width:calc(100vw - 2 * var(--space-6))}.br-dockwrap--tucked{transform:translate(-50%,200%)}@media(prefers-reduced-motion:no-preference){.br-dockwrap{transition:transform var(--duration-turn) var(--ease-land)}}@media(max-width:430px){.br-dock{gap:var(--space-3);padding:var(--space-4)}.br-dock__hand{--coin-size: 48px;gap:var(--space-2)}.br-coin{height:48px}}.br-note,.br-stay{position:absolute;left:var(--space-8);right:var(--space-8);bottom:calc(100% - var(--space-6));z-index:-1;border-radius:var(--radius-lg) var(--radius-lg) 0 0;padding:var(--space-3) var(--space-6) calc(var(--space-6) + var(--space-4))}@media(prefers-reduced-motion:no-preference){.br-note,.br-stay{animation:br-slip-up var(--duration-fast) var(--ease-land) both}.br-note--exiting,.br-stay--exiting{animation:br-slip-down var(--duration-fast) var(--ease-out) both}}@keyframes br-slip-up{0%{transform:translateY(70%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes br-slip-down{0%{transform:translateY(0);opacity:1}to{transform:translateY(70%);opacity:0}}.br-note{background:var(--glass-card-bg);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);box-shadow:var(--glass-edge);text-align:center}.br-note--error{background:var(--bad-bg)}.br-note__text{margin:0;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--muted);font-variant-numeric:tabular-nums}.br-note--error .br-note__text{color:var(--bad-ink)}.br-stay{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3);background:var(--glass-danger-bg);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);box-shadow:var(--glass-edge)}@media(min-width:480px){.br-stay{flex-direction:row;align-items:center;justify-content:space-between;gap:var(--space-4)}}.br-stay__text{margin:0;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--bad-ink)}.br-stay>.btn{flex:none}.br-death__actions{display:flex;gap:var(--space-3);margin-top:var(--space-4)}@media(prefers-reduced-motion:no-preference){.br-death{animation:br-death-in var(--duration-turn-flash) var(--ease-land) both}.br-death__num{animation:scores-spring var(--duration-slow) var(--ease-out) both}@keyframes br-death-in{0%{opacity:0;transform:translate(-50%,-46%) scale(.9)}to{opacity:1;transform:translate(-50%,-50%) scale(1)}}}.br-toast{position:absolute;top:20%;left:var(--space-5);right:var(--space-5);display:flex;justify-content:center;pointer-events:none;z-index:3}.br-toast__card{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-3);max-width:100%;padding:var(--space-4) var(--space-7);text-align:center;overflow:hidden;white-space:nowrap;background:var(--glass-card-bg);-webkit-backdrop-filter:var(--glass-backdrop);backdrop-filter:var(--glass-backdrop);border-radius:var(--radius-pill);box-shadow:0 6px 20px var(--shadow-strong),var(--glass-edge);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--text);pointer-events:auto}.br-toast__icon{flex-shrink:0;font-size:var(--text-2xl)}.br-toast__dismiss{flex-shrink:0;margin-left:var(--space-2);font-size:var(--text-lg)}.br-toast__card--captured .br-toast__icon{color:var(--win)}.br-toast__card--cut .br-toast__icon{color:var(--danger)}@media(prefers-reduced-motion:no-preference){.br-toast__card{animation:br-beef-life var(--duration-beef) var(--ease-out) both}.br-toast__card--mine{animation-name:br-beef-life-mine;animation-duration:var(--duration-beef-mine)}@keyframes br-beef-life{0%{opacity:0;max-width:2.2em;animation-timing-function:var(--ease-out)}4%{opacity:1;animation-timing-function:var(--ease-land)}16%{max-width:100%;animation-timing-function:linear}82%{opacity:1;max-width:100%;animation-timing-function:var(--ease-out)}97%{opacity:1;max-width:2.2em}to{opacity:0;max-width:2.2em}}@keyframes br-beef-life-mine{0%{opacity:0;max-width:2.2em;transform:scale(.82);animation-timing-function:var(--ease-out)}4%{opacity:1;animation-timing-function:var(--ease-land-strong)}16%{max-width:100%;transform:scale(1.08);animation-timing-function:var(--ease-land)}26%{transform:scale(1);animation-timing-function:linear}82%{opacity:1;max-width:100%;transform:scale(1);animation-timing-function:var(--ease-out)}97%{opacity:1;max-width:2.2em}to{opacity:0;max-width:2.2em;transform:scale(.92)}}}.br-tutorial__body{display:flex;flex-direction:column;align-items:center;gap:var(--space-4);width:100%}.br-tutorial .modal__actions .btn{flex:0 1 auto;white-space:nowrap}.br-tutorial__text{min-width:0;margin:0;text-align:center;font-size:var(--text-lg);font-weight:var(--weight-medium);color:var(--text);line-height:var(--leading-snug);min-height:44px;display:flex;align-items:center;justify-content:center}.br-showcase{position:relative;width:100%;height:240px;border-radius:var(--radius-lg);overflow:hidden}.br-showcase__pop{position:absolute;top:30%;left:50%;transform:translate(-50%);z-index:1;font-size:var(--text-xl);font-weight:var(--weight-bold);font-variant-numeric:tabular-nums;text-shadow:0 1px 3px var(--shadow-strong);pointer-events:none}.br-showcase__pop--plus{color:var(--good)}.br-showcase__pop--big{color:var(--win);font-size:var(--text-2xl)}.br-showcase__pop--minus{color:var(--bad)}@media(prefers-reduced-motion:no-preference){.br-showcase__pop{animation:br-pop var(--duration-pop) var(--ease-out) both}}@keyframes br-pop{0%{opacity:0;transform:translate(-50%,40%) scale(.8)}20%{opacity:1;transform:translate(-50%) scale(1.12)}35%{transform:translate(-50%,-10%) scale(1)}to{opacity:0;transform:translate(-50%,-80%) scale(1)}}.br-board--demo{pointer-events:none;cursor:default}.br-demo-crown{fill:var(--win);stroke:var(--win);stroke-width:1.5;stroke-linejoin:round}.br-admin{width:100%;max-width:460px;margin:0 auto;flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column;gap:var(--space-7);padding:var(--space-9) var(--space-7)}.br-admin__title{margin:0;font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--text)}.br-admin__actions{display:flex;flex-wrap:wrap;gap:var(--space-4)}.br-admin__panel{display:flex;flex-direction:column;gap:var(--space-4)}.br-admin__meta{margin:0;color:var(--muted);font-size:var(--text-sm)}.br-admin__history{display:flex;flex-direction:column;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--line)}.br-admin__subtitle{margin:0;font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wider);text-transform:uppercase;color:var(--muted)}.br-admin__hrow{display:flex;flex-wrap:wrap;align-items:baseline;gap:var(--space-2) var(--space-3);padding:var(--space-3) var(--space-5);border-radius:var(--radius-md);background:var(--panel-2)}.br-admin__htag{flex-shrink:0;font-size:var(--text-2xs);font-weight:var(--weight-bold);letter-spacing:var(--tracking-wide);text-transform:uppercase;color:var(--muted)}.br-admin__hwhen{flex-shrink:0;font-size:var(--text-sm);color:var(--muted)}.br-admin__hacts{flex-basis:100%;font-size:var(--text-sm);color:var(--text)}.br-admin__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3)}.br-admin__row{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);background:var(--panel-2)}.br-admin__row--out .br-admin__who{color:var(--muted);font-weight:var(--weight-normal)}.br-admin__dot{flex-shrink:0;width:var(--space-6);height:var(--space-6);border-radius:var(--radius-circle);background:var(--c)}.br-admin__row--out .br-admin__dot{background:var(--muted)}.br-admin__who{flex:1;min-width:0;color:var(--text);font-weight:var(--weight-medium);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.br-admin__bot{flex-shrink:0;color:var(--muted);font-size:var(--text-md)}.br-admin__held{flex-shrink:0;display:inline-flex;align-items:center;gap:var(--space-1);color:var(--c);font-size:var(--text-sm);font-weight:var(--weight-bold)}.br-admin__len{color:var(--muted);font-variant-numeric:tabular-nums}.br-tutorial__dots{display:flex;gap:var(--space-3)}.br-tutorial__dot{width:var(--space-3);height:var(--space-3);padding:0;border:0;border-radius:var(--radius-circle);background:var(--line);cursor:pointer}.br-tutorial__dot--on{background:var(--text)}.br-blocked-tip,.board-blocked-tip{fill:var(--muted);font-size:var(--text-sm);font-weight:600;paint-order:stroke;stroke:var(--panel);stroke-width:4;pointer-events:none}.bomb-blocked__glyph{opacity:.4;filter:grayscale(1)}@media(prefers-reduced-motion:no-preference){.bomb-blocked{animation:bomb-blocked-in var(--duration-instant) var(--ease-out)}@keyframes bomb-blocked-in{0%{opacity:0}to{opacity:1}}}.br-wait-track{fill:var(--line);pointer-events:none}.br-wait-fill{fill:var(--muted);pointer-events:none}.br-swatch{display:inline-block;width:var(--space-3);height:var(--space-3);margin-right:var(--space-2);border-radius:var(--radius-circle);background:var(--c);vertical-align:middle}}@layer app{.br-dock-timer{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;pointer-events:none;overflow:visible}.br-dock-timer__sweep{fill:none;stroke:var(--timer-early);stroke-width:var(--space-1);stroke-dasharray:100;stroke-dashoffset:100;animation:br-timer-sweep var(--dur) linear forwards,br-timer-warn var(--duration-fast) var(--ease-out) calc(var(--dur) - 6s) forwards,br-timer-crit var(--duration-fast) var(--ease-out) calc(var(--dur) - 3s) forwards,br-timer-pulse var(--duration-pulse) ease-in-out calc(var(--dur) - 3s) infinite}.br-dock-timer--paused .br-dock-timer__sweep{animation-play-state:paused}@keyframes br-timer-sweep{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}@keyframes br-timer-warn{0%{stroke:var(--timer-early)}to{stroke:var(--timer-mid)}}@keyframes br-timer-crit{0%{stroke:var(--timer-mid)}to{stroke:var(--timer-late)}}@keyframes br-timer-pulse{50%{opacity:.45}}.br-dock__bomb{display:grid;place-items:center;width:64px;height:64px;color:var(--danger)}.br-boom-target{fill:none;stroke:var(--danger);stroke-width:3;animation:br-blink .7s ease-in-out infinite;pointer-events:none}.br-boom-glyph{pointer-events:none}.br-boom-glyph--blocked{opacity:.4;filter:grayscale(1)}.br-shield-glyph{pointer-events:none}.br-shield-glyph--blocked{opacity:.4;filter:grayscale(1)}.br-rock-glyph--blocked{opacity:.4;filter:grayscale(1);pointer-events:none}.br-shield-target{fill:none;stroke:var(--good);stroke-width:3;animation:br-blink .7s ease-in-out infinite;pointer-events:none}.br-shield-layer{--tool-color: var(--good)}.br-bomb-layer{--tool-color: var(--danger)}.br-tool-rim{fill:none;stroke:var(--tool-color);stroke-width:3;stroke-dasharray:100 100;pointer-events:none;animation:br-tool-draw var(--duration-slow) var(--ease-out)}@keyframes br-tool-draw{0%{stroke-dashoffset:100}to{stroke-dashoffset:0}}.br-tool-glass{fill:var(--tool-color);fill-opacity:.22;stroke:none;pointer-events:none;animation:br-tool-glass var(--duration-turn) var(--ease-out) var(--duration-slow) both}@keyframes br-tool-glass{0%{fill-opacity:0}to{fill-opacity:.22}}.br-tool-sticker{opacity:.5;pointer-events:none;animation:br-tool-sticker var(--duration-turn) var(--ease-out) var(--duration-slow) both}@keyframes br-tool-sticker{0%{opacity:0}to{opacity:.5}}.br-tool-shine{fill:var(--glass-highlight);opacity:0;pointer-events:none;animation:br-tool-shine var(--duration-turn) var(--ease-out) calc(var(--duration-slow) + var(--duration-instant))}.br-tool-shine-box{fill:none;pointer-events:none}@keyframes br-tool-shine{0%{transform:translate(-70px);opacity:0}30%{opacity:.9}70%{opacity:.9}to{transform:translate(70px);opacity:0}}}@layer app{.br-stage-ctl{position:absolute;left:var(--x);top:var(--y)}.br-stage-ctl__left,.br-stage-ctl__right{position:absolute;top:0;transform:translateY(-50%)}.br-stage-ctl__left{right:calc(var(--r) + var(--space-3))}.br-stage-ctl__right{left:calc(var(--r) + var(--space-3))}}@layer app{.br-recenter{position:absolute;top:10px;right:218px;z-index:2}.br-zoom{position:absolute;right:10px;top:50%;transform:translateY(-50%);display:flex;flex-direction:column;gap:var(--space-2)}}@layer app{.br-dock__hand{display:flex;align-items:center;justify-content:center;gap:var(--space-3);--coin-size: 58px;min-width:calc(var(--hand-slots, 3) * var(--coin-size) + (var(--hand-slots, 3) - 1) * var(--space-3))}.br-coin{display:grid;place-items:center;width:var(--coin-size, 58px);height:58px;padding:0;background:none;border:none;touch-action:none;cursor:grab}}@layer app{.br-bomb-fuse-chip{fill:var(--danger);pointer-events:none}.br-bomb-fuse{fill:var(--ink-on-danger);font-size:var(--text-md);font-weight:700}.bomb-fuse{fill:var(--ink-on-danger);font-size:var(--text-md);font-weight:800}}@layer app{.flowlab{display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4);height:100dvh;background:var(--bg);color:var(--text)}.flowlab__bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2)}.flowlab__title{font-weight:800;margin-right:var(--space-2)}.flowlab__count{margin-left:auto;color:var(--muted);font-variant-numeric:tabular-nums}.flowlab__hint{margin:0;color:var(--muted);font-size:var(--text-sm)}.flowlab__group{display:inline-flex;gap:var(--space-1)}.flowlab__palette{display:flex;flex-wrap:wrap;gap:var(--space-1);padding:var(--space-1);background:var(--panel);border-radius:var(--radius-md)}.flowlab__coin{display:inline-flex;padding:var(--space-1);border:1px solid transparent;border-radius:var(--radius-sm);background:transparent}.flowlab__coin--sel{border-color:var(--primary);background:var(--panel-2)}.flowlab__boardwrap{flex:1;min-height:0;width:100%;position:relative;background:var(--panel);border-radius:var(--radius-lg);overflow:hidden}}
