@font-face{font-family:Othello Display;src:url(/fonts/othello-display.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}:root{--bg: #0f1a14;--surface: #172620;--surface-2: #1f3129;--ink: #f3efe6;--ink-dim: #b3bdb3;--accent: #d9a441;--accent-ink: #1c1405;--line: rgba(243, 239, 230, .12);--scrim: rgba(4, 9, 6, .55);--shadow: rgba(0, 0, 0, .45);--sheen: rgba(255, 255, 255, .18);--danger: #f08a7a;--accent-line: rgba(217, 164, 65, .5);--accent-soft: rgba(217, 164, 65, .22);--scrim-blur: rgba(4, 9, 6, .45);--surface-glass: rgba(23, 38, 32, .92);--pip-rim-light: rgba(255, 255, 255, .6);--pip-rim-dark: rgba(255, 255, 255, .34);--pip-hi-dark: rgba(255, 255, 255, .22);--pip-contact: rgba(0, 0, 0, .5);--switch-inset: rgba(0, 0, 0, .05);--disc-light: #f3efe6;--disc-dark: #141416;--disc-light-edge: #c6bba5;--disc-light-rim: #b8ac95;--disc-face-light: #e2dbcb;--disc-dark-hi: #1a1b1f;--disc-dark-edge: #0f0f12;--disc-wall-top: #948d80;--disc-wall-mid: #26262a;--disc-wall-bottom: #1e1e22;--ghost-black: var(--disc-dark);--board: #1f6b3f;--frame: #5b3a22;--grid-line: rgba(0, 0, 0, .34);--hint-tick: rgba(255, 45, 45, .75);--ghost-alpha-dark: .58;--ghost-alpha-light: .42;--focus-ring: var(--accent);--focus-ring-width: 3px;--font-display: "Othello Display", ui-serif, Georgia, "Times New Roman", serif;--font-ui: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--radius-sheet: 14px;--radius-card: 12px;--radius-pill: 999px;--tap: max(44px, 2.75rem);--gap: 8px;color-scheme:dark}@media(prefers-color-scheme:light){:root:not([data-theme=dark]){--bg: #eee9df;--surface: #faf7f1;--surface-2: #ffffff;--ink: #1b1f1c;--ink-dim: #4d554f;--accent: #8a5d0c;--accent-ink: #fff8ea;--line: rgba(27, 31, 28, .14);--scrim: rgba(20, 24, 21, .38);--shadow: rgba(48, 36, 12, .2);--sheen: rgba(255, 255, 255, .5);--danger: #a3301f;--accent-line: rgba(138, 93, 12, .5);--accent-soft: rgba(138, 93, 12, .22);--scrim-blur: rgba(20, 24, 21, .3);--surface-glass: rgba(250, 247, 241, .92);--pip-rim-light: rgba(27, 31, 28, .22);--pip-contact: rgba(48, 36, 12, .28);--pip-rim-dark: rgba(255, 255, 255, .14);--disc-face-light: #e2dbcb;color-scheme:light}}:root[data-theme=classic]{--disc-face-light: #e2dbcb;--disc-light-edge: #c6bba5;--disc-light-rim: #b8ac95;--board: #1f6b3f;--frame: #5b3a22;--grid-line: rgba(0, 0, 0, .34);--hint-tick: rgba(255, 45, 45, .75);--ghost-alpha-dark: .58;--ghost-alpha-light: .42}:root[data-theme=dark]{--bg: #0e100f;--surface: #191c1a;--surface-2: #232724;--ink: #f3efe6;--ink-dim: #a9aea9;--accent: #f0a830;--accent-ink: #1d1203;--line: rgba(243, 239, 230, .1);--scrim: rgba(0, 0, 0, .6);--shadow: rgba(0, 0, 0, .55);--sheen: rgba(255, 255, 255, .14);--danger: #f08a7a;--accent-line: rgba(240, 168, 48, .5);--accent-soft: rgba(240, 168, 48, .22);--scrim-blur: rgba(0, 0, 0, .5);--surface-glass: rgba(25, 28, 26, .92);--board: #17201a;--frame: #2a2320;--grid-line: rgba(0, 0, 0, .5);--hint-tick: rgba(255, 45, 45, .75);--ghost-alpha-dark: .55;--ghost-alpha-light: .5;--ghost-black: #e9e2d3;--pip-rim-dark: rgba(255, 255, 255, .34);--pip-hi-dark: rgba(255, 255, 255, .22);--disc-face-light: #e2dbcb;--disc-light-edge: #c6bba5;--disc-light-rim: #b8ac95;color-scheme:dark}html,body{height:100%;margin:0;overflow:hidden;overscroll-behavior:none;background:var(--bg);color:var(--ink)}body{font-family:var(--font-ui);-webkit-text-size-adjust:100%;text-size-adjust:100%}#root{height:100%}.ui-root{position:relative;box-sizing:border-box;width:100%;height:100dvh;overflow:hidden;container:app / size;padding:max(16px,env(safe-area-inset-top)) max(16px,env(safe-area-inset-right)) 8px max(16px,env(safe-area-inset-left));background:var(--bg);color:var(--ink);font-family:var(--font-ui);touch-action:manipulation;-webkit-tap-highlight-color:transparent}.ui-root *,.ui-root *:before,.ui-root *:after{box-sizing:border-box}.ui-game{--side: 0px;position:relative;height:100%;display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"p1 title p2" "board board board" "bar bar bar";column-gap:var(--gap);row-gap:8px;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none}.ui-game [data-area=p1]{grid-area:p1}.ui-game [data-area=p2]{grid-area:p2}.ui-game [data-area=title]{grid-area:title;min-width:120px}.ui-game [data-area=board]{grid-area:board}.ui-game [data-area=bar],.ui-game [data-area=bar2]{grid-area:bar}.ui-board-slot{position:relative;min-width:0;min-height:0;container:slot / size;display:grid;place-items:center;overflow:hidden;border-radius:0;background:none;touch-action:none}.ui-board-box{position:relative;width:min(100cqw,100cqh);height:min(100cqw,100cqh);max-width:960px;max-height:960px}@container app (orientation: portrait) and (min-width: 700px) and (min-height: 700px){.ui-game{grid-template-columns:minmax(0,1fr) minmax(0,960px) minmax(0,1fr);grid-template-rows:auto auto minmax(0,1fr) auto auto;grid-template-areas:". title ." ". p2 ." "board board board" ". p1 ." ". bar .";row-gap:14px}.ui-game [data-area=title]{align-self:start}.ui-game [data-area=p1],.ui-game [data-area=p2]{justify-self:center;width:min(100%,440px)}.ui-board-box{max-width:min(900px,84cqmin);max-height:min(900px,84cqmin)}.ui-game[data-table=true] [data-area=p2]{transform:rotate(180deg)}.ui-game>.ui-gameover{position:absolute;left:0;right:0;bottom:0;margin:0 auto;width:min(100%,560px)}.ui-game [data-area=p1],.ui-game [data-area=bar]{transition:opacity .2s}.ui-game[data-gameover] [data-area=p1],.ui-game[data-gameover] [data-area=bar]{visibility:hidden;opacity:0}}@container app (orientation: landscape){.ui-game{--side: clamp(150px, 26cqw, 260px);grid-template-columns:var(--side) min(100cqh,100cqw - 2 * var(--side) - 2 * var(--gap)) var(--side);grid-template-rows:auto minmax(0,1fr) auto;grid-template-areas:"title board ." "p1 board p2" "bar board bar2";justify-content:center;row-gap:12px}.ui-game [data-area=p1],.ui-game [data-area=p2]{align-self:center}.ui-game [data-area=title]{align-self:start;min-width:0}.ui-game [data-area=bar],.ui-game [data-area=bar2]{align-self:end}.ui-game [data-area=bar2]{grid-area:bar2}.ui-game{--go-panel: 300px;--go-air: 12px;transition:grid-template-columns .2s ease-out}.ui-game[data-gameover]{grid-template-columns:var(--side) min(100cqh,100cqw - var(--side) - var(--go-panel) - 2 * var(--gap)) var(--go-panel)}.ui-game[data-gameover] [data-area=p2],.ui-game[data-gameover] [data-area=bar2]{display:none}.ui-game[data-gameover] [data-area=board]{margin-right:var(--go-air)}}@container app (orientation: landscape) and (max-height: 340px){.ui-game{column-gap:4px;grid-template-columns:var(--side) min(100cqh,100cqw - 2 * var(--side) - 8px) var(--side)}.ui-game[data-gameover]{grid-template-columns:var(--side) min(100cqh,100cqw - var(--side) - var(--go-panel) - 8px) var(--go-panel)}}@media(orientation:landscape)and (max-height:360px){.ui-root{padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right))}}@container app (orientation: landscape) and (min-width: 700px) and (min-height: 700px){.ui-game{--side: clamp(200px, 19cqw, 300px);column-gap:20px;grid-template-columns:var(--side) min(100cqh,100cqw - 2 * var(--side) - 40px) var(--side);--go-panel: 360px;--go-air: 0px}.ui-game[data-gameover]{grid-template-columns:var(--side) min(100cqh,100cqw - var(--side) - var(--go-panel) - 40px) var(--go-panel)}.ui-game[data-table=true] [data-area=p2]{transform:rotate(180deg)}.ui-board-box{max-width:min(900px,84cqmin);max-height:min(900px,84cqmin)}.ui-game>.ui-gameover{top:0;bottom:0;height:fit-content;max-height:100%;margin:auto 0;border-radius:var(--radius-sheet)}}.ui-actionbar{display:flex;align-items:center;gap:var(--gap);padding-bottom:max(12px,env(safe-area-inset-bottom))}.ui-actionbar[data-undo=left]{flex-direction:row-reverse}.ui-actionbar .ui-spacer{flex:1}@container app (orientation: landscape){.ui-actionbar{flex-wrap:wrap}}.ui-actionbar-split{display:contents}.ui-actionbar-split .ui-actionbar-part{flex-direction:row;min-width:0}.ui-actionbar-split .ui-actionbar-part .ui-actionbar-group{flex-direction:row;flex-wrap:wrap}.ui-actionbar-split [data-area=bar]{justify-self:start;justify-content:flex-start}.ui-actionbar-split [data-area=bar2]{justify-self:end;justify-content:flex-end}.ui-actionbar-split [data-area=bar2] .ui-actionbar-group{justify-content:flex-end}.ui-root button,.ui-root [role=button],.ui-root [role=switch],.ui-root [role=radio]{touch-action:manipulation}.ui-tap{min-width:var(--tap);min-height:var(--tap)}.ui-screen{position:relative;height:100%}.ui-overlay{position:absolute;inset:0;z-index:20}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:var(--focus-ring-width) solid var(--focus-ring);outline-offset:2px}:root[data-modality=pointer] :where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline-color:transparent}.ui-sr-only{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap;border:0}.ui-btn{appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:var(--tap);padding:0 1.1rem;border:1px solid var(--line);border-radius:var(--radius-pill);background:var(--surface-2);color:var(--ink);font:600 1rem/1.1 var(--font-ui);cursor:pointer;transition:transform .12s ease-out,background-color .16s ease-out,opacity .16s ease-out}.ui-btn:active:not(:disabled){transform:scale(.97)}.ui-btn:disabled{opacity:.38;cursor:default}.ui-btn-wide{width:100%}.ui-btn-primary,.ui-btn[data-tone=accent]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.ui-btn[data-tone=danger]{color:var(--danger)}.ui-btn-quiet{background:transparent;border-color:transparent;color:var(--ink-dim)}.ui-btn-row{background:transparent;border-color:var(--line);font-weight:600}.ui-icon-btn{appearance:none;display:inline-grid;place-items:center;min-width:var(--tap);min-height:var(--tap);padding:0;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--ink);cursor:pointer;transition:background-color .16s ease-out}.ui-icon-btn:active{background:var(--line);box-shadow:inset 0 0 0 1px var(--line)}@media(hover:hover)and (pointer:fine){.ui-btn:hover:not(:disabled){background:var(--surface)}.ui-btn-primary:hover:not(:disabled){background:var(--accent);filter:brightness(1.06)}.ui-icon-btn:hover{background:var(--line)}}.ui-pip{--pip: 1.2rem;display:inline-block;flex:none;width:var(--pip);height:var(--pip);border-radius:50%;vertical-align:middle;box-shadow:0 1px 2px var(--shadow),inset 0 -2px 0 var(--shadow)}.ui-pip[data-side=black]{background:radial-gradient(circle at 35% 30%,var(--sheen),transparent 55%),var(--disc-dark);box-shadow:0 1px 2px var(--shadow),inset 0 1px 0 var(--pip-hi-dark),inset 0 0 0 1px var(--pip-rim-dark)}.ui-pip[data-side=white]{background:radial-gradient(circle at 35% 30%,var(--sheen),transparent 55%),linear-gradient(180deg,var(--disc-light),var(--disc-light-edge));box-shadow:0 1px 2px var(--pip-contact),inset 0 0 0 1px var(--pip-rim-light),inset 0 -2px 0 var(--shadow)}.ui-pip[data-size=sm]{--pip: .8rem}.ui-pip[data-size=lg]{--pip: 1.6rem}.ui-pip[data-size=xl]{--pip: 3rem}.ui-pip[data-size=md]{--pip: 1.2rem}.ui-player{position:relative;display:flex;flex-direction:column;gap:4px;min-width:0;padding:6px 12px;border-radius:14px;background:var(--surface);border:1px solid var(--line);box-shadow:0 1px 2px var(--shadow),0 10px 26px -14px var(--shadow);transition:background-color .18s ease-out,border-color .18s ease-out}.ui-player[data-to-move]{background:var(--surface-2);border-color:var(--accent-line)}.ui-player-row{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;min-width:0}.ui-player[data-area=p2] .ui-player-row{flex-direction:row-reverse}.ui-player-name{order:3;flex:1 0 100%;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;letter-spacing:.01em;color:var(--ink-dim)}.ui-player[data-area=p2] .ui-player-name{text-align:right}.ui-player[data-to-move] .ui-player-name{color:var(--ink)}.ui-player-under{position:relative;height:3px}.ui-underline{position:absolute;inset:0;height:3px;border-radius:var(--radius-pill);background:var(--accent);transform-origin:left center}.ui-player[data-area=p2] .ui-underline{transform-origin:right center}.ui-thinking{display:inline-block;vertical-align:top;line-height:1rem;font-size:.78rem;color:var(--ink-dim);white-space:nowrap}.ui-thinking-inline,.ui-turn[data-thinking] .ui-turn-text{display:none}.ui-ellipsis span{animation:ui-ellipsis 1.2s steps(1,end) infinite}.ui-ellipsis span:nth-child(2){animation-delay:.2s}.ui-ellipsis span:nth-child(3){animation-delay:.4s}@keyframes ui-ellipsis{0%{opacity:.2}33%{opacity:1}to{opacity:.2}}@media(prefers-reduced-motion:reduce){.ui-root:not([data-reduced-motion=off]) .ui-ellipsis span,.ui-root:not([data-reduced-motion=off]) .ui-underline,.ui-root:not([data-reduced-motion=off]) .ui-player{animation:none;transition:none}}.ui-root[data-reduced-motion=on] .ui-ellipsis span,.ui-root[data-reduced-motion=on] .ui-underline,.ui-root[data-reduced-motion=on] .ui-player{animation:none;transition:none}.ui-odo{display:inline-flex;font-family:var(--font-display);font-weight:600;font-size:1.85rem;line-height:1;font-kerning:none;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:var(--ink)}.ui-odo-col{display:inline-block;height:1.42em;overflow:hidden}.ui-odo-strip{display:flex;flex-direction:column}.ui-odo-digit{display:block;height:1.42em;line-height:1.42em;text-align:center}.ui-title-wrap{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:0}.ui-title{appearance:none;display:inline-flex;align-items:baseline;min-height:var(--tap);padding:0 6px;border:0;background:transparent;color:var(--ink);font-family:var(--font-display);font-weight:600;font-size:1.7rem;letter-spacing:.01em;cursor:default;perspective:400px}.ui-title-o{display:inline-block;transform-style:preserve-3d}.ui-turn{font-size:.8rem;letter-spacing:.02em;color:var(--ink-dim);white-space:nowrap}@container app (orientation: landscape){.ui-title-wrap{align-items:flex-start;gap:6px}.ui-turn{font-size:1rem}.ui-turn[data-human]{color:var(--ink)}.ui-player{justify-content:center;padding:12px 18px;min-height:64px;overflow:hidden}.ui-player .ui-odo{font-size:2rem;margin-block:-.21em}.ui-player[data-area=p2] .ui-player-row{flex-direction:row}.ui-player-row{flex-wrap:nowrap;gap:12px}.ui-player .ui-pip{--pip: 1.5rem}.ui-player-name{order:0;flex:1 1 auto;font-size:1.05rem}.ui-player[data-area=p2] .ui-player-name{text-align:left}.ui-player-under{position:absolute;left:18px;right:18px;bottom:0;height:3px}.ui-underline{border-radius:3px 3px 0 0}.ui-thinking-inline{display:inline-block;flex:none;text-align:left}.ui-turn[data-thinking] .ui-turn-text{display:inline}.ui-turn-thinking{display:none}}@container app (min-width: 700px) and (min-height: 700px){.ui-title-wrap{gap:6px}.ui-turn{font-size:1rem}.ui-turn[data-human]{color:var(--ink)}.ui-player{justify-content:center;padding:12px 18px;min-height:64px;overflow:hidden}.ui-player-row{flex-wrap:nowrap;gap:12px}.ui-player .ui-pip{--pip: 1.5rem}.ui-player-name{order:0;flex:1 1 auto;font-size:1.05rem}.ui-title{font-size:2.3rem}.ui-odo,.ui-player .ui-odo{font-size:2.4rem;margin-block:-.21em}.ui-player-under{position:absolute;left:18px;right:18px;bottom:0;height:3px}.ui-underline{border-radius:3px 3px 0 0}.ui-thinking-inline{display:inline-block;flex:none;text-align:left}.ui-turn[data-thinking] .ui-turn-text{display:inline}.ui-turn-thinking{display:none}.ui-player[data-area=p2] .ui-player-row{flex-direction:row}.ui-player[data-area=p2] .ui-player-name{text-align:left}}@container app (orientation: portrait) and (min-width: 700px) and (min-height: 700px){.ui-player{padding:12px 20px}.ui-player .ui-pip{--pip: 1.5rem}.ui-player-name{flex:0 1 auto;font-size:1.05rem}.ui-player .ui-odo{font-size:2.4rem;margin-left:auto}.ui-player-under{left:20px;right:20px}}.ui-board-fill{position:absolute;inset:0}.ui-board-error{position:absolute;inset:0;display:grid;place-content:center;gap:.6rem;padding:1.5rem;text-align:center;border-radius:var(--radius-card);background:var(--surface);border:1px solid var(--line)}.ui-board-error-title{margin:0;font-weight:600}.ui-board-error-body{margin:0;color:var(--ink-dim)}.ui-board-error-actions{display:flex;gap:var(--gap);justify-content:center;flex-wrap:wrap;margin-top:.4rem}.ui-toast-slot{position:absolute;top:0;left:0;right:0;display:flex;justify-content:center;pointer-events:none;z-index:5}.ui-toast{display:inline-flex;align-items:center;gap:.5rem;margin-top:8px;padding:.55rem 1rem;border-radius:var(--radius-pill);background:var(--surface-2);color:var(--ink);font-size:.95rem;font-weight:600;border:1px solid var(--line);box-shadow:0 6px 20px var(--shadow)}.ui-actionbar-group{display:flex;align-items:center;gap:var(--gap)}.ui-actionbar[data-undo=left] .ui-actionbar-group{flex-direction:row-reverse}.ui-btn-undo{padding:0 1.3rem 0 1rem;font-weight:650}.ui-actionbar svg{width:24px;height:24px;stroke-width:1.75}.ui-sheet-layer{display:flex;align-items:flex-end;justify-content:center;z-index:40}.ui-scrim{position:absolute;inset:0;background:var(--scrim)}@supports (backdrop-filter: blur(1px)){.ui-scrim{background:var(--scrim-blur);backdrop-filter:blur(6px)}}.ui-sheet{position:relative;display:flex;flex-direction:column;width:100%;max-height:calc(100% - max(24px,env(safe-area-inset-top)));border-radius:var(--radius-sheet) var(--radius-sheet) 0 0;background:var(--surface);color:var(--ink);border:1px solid var(--line);border-bottom:0;box-shadow:0 -12px 40px var(--shadow);outline:none;touch-action:pan-y}@container app (min-width: 700px) and (min-height: 700px){.ui-sheet-layer{align-items:center}.ui-sheet{width:min(520px,100% - 48px);max-height:min(760px,100% - 64px);border-radius:var(--radius-sheet);border-bottom:1px solid var(--line);box-shadow:0 24px 60px var(--shadow)}}@container app (orientation: landscape) and (max-height: 496px){.ui-sheet-layer{align-items:center}.ui-sheet{width:min(680px,100% - 32px);max-height:calc(100% - 16px);border-radius:var(--radius-sheet);border-bottom:1px solid var(--line);box-shadow:0 24px 60px var(--shadow)}.ui-sheet-foot{padding:10px 20px 12px}.ui-sheet-head{min-height:44px}}.ui-sheet-grab{display:grid;place-items:center;height:22px;cursor:grab;touch-action:none}.ui-sheet-grab span{width:40px;height:5px;border-radius:var(--radius-pill);background:var(--line)}.ui-sheet-head{display:grid;grid-template-columns:var(--tap) 1fr var(--tap);align-items:center;padding:0 8px;touch-action:none}.ui-sheet-title{margin:0;text-align:center;font-size:1.05rem;font-weight:650}.ui-sheet-body{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch;padding:8px 20px max(20px,env(safe-area-inset-bottom));user-select:text}@container app (min-width: 700px) and (min-height: 700px){.ui-sheet-body{padding-bottom:20px}}.ui-sheet-foot{flex:none;padding:12px 20px max(16px,env(safe-area-inset-bottom));border-top:1px solid var(--line)}.ui-sheet-foot>.ui-btn-wide{display:flex;max-width:560px;margin-inline:auto}.ui-stack{display:flex;flex-direction:column;gap:10px;padding-top:4px}.ui-confirm{display:flex;align-items:center;gap:var(--gap);min-height:var(--tap);padding:0 4px 0 16px;border-radius:var(--radius-pill);background:var(--surface-2);border:1px solid var(--line)}.ui-confirm-q{flex:1;font-weight:600}.ui-pause-score{display:flex;justify-content:center;align-items:center;gap:10px;margin:0 0 4px;font-size:1rem;font-variant-numeric:tabular-nums;color:var(--ink-dim)}.ui-pause-score>span{display:inline-flex;align-items:center;gap:6px}.ui-pause-score b{color:var(--ink);font-weight:650}.ui-section{display:flex;flex-direction:column;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}.ui-section:last-child{border-bottom:0}.ui-section-title{margin:0;font-size:.72rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-dim)}.ui-field{display:flex;flex-direction:column;gap:6px}.ui-field-label,.ui-row-label{font-size:.95rem;font-weight:600}.ui-field-hint{margin:0;font-size:.82rem;color:var(--ink-dim)}.ui-segmented{display:flex;gap:4px;padding:3px;border-radius:var(--radius-pill);background:var(--bg);border:1px solid var(--line)}.ui-segment{position:relative;flex:1;min-width:0;padding:0 8px;border:0;border-radius:var(--radius-pill);background:transparent;color:var(--ink-dim);font:600 .9rem/1.1 var(--font-ui);cursor:pointer}.ui-segment[data-on=true]{color:var(--accent-ink);font-weight:650}.ui-segment-thumb{position:absolute;inset:0;border-radius:var(--radius-pill);background:var(--accent);box-shadow:0 1px 2px var(--shadow)}.ui-segment-text{position:relative}.ui-row{display:flex;align-items:center;gap:12px}.ui-row-text{flex:1;display:flex;flex-direction:column;gap:2px}.ui-row-detail{font-size:.82rem;color:var(--ink-dim)}.ui-switch{position:relative;flex:none;width:52px;padding:0;border:0;background:transparent;cursor:pointer}.ui-switch:before{content:"";position:absolute;left:0;top:50%;width:52px;height:32px;margin-top:-16px;border-radius:var(--radius-pill);background:var(--line);border:1px solid var(--line);transition:background-color .18s ease-out}.ui-switch[data-on=true]:before{background:var(--accent);border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--switch-inset)}.ui-switch-knob{position:absolute;left:3px;top:50%;width:26px;height:26px;margin-top:-13px;border-radius:50%;background:var(--disc-light);box-shadow:0 1px 3px var(--shadow),0 0 0 1px var(--line)}.ui-link-row{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0 4px;border:0;background:transparent;color:var(--ink);font:600 .95rem/1.2 var(--font-ui);cursor:pointer}.ui-prose{line-height:1.5;font-size:.95rem}.ui-prose h3{margin:1.1rem 0 .2rem;font-size:.95rem}.ui-prose p{margin:.4rem 0;color:var(--ink)}.ui-setup{display:flex;flex-direction:column;gap:14px}.ui-setup .ui-section{border-bottom:0;padding-bottom:0}.ui-setup>*{width:100%;max-width:560px;margin-inline:auto}.ui-colour-pick{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--gap)}.ui-colour{display:flex;flex-direction:column;align-items:center;gap:6px;padding:12px 6px 10px;border-radius:var(--radius-card);border:2px solid var(--line);background:var(--surface-2);color:var(--ink);font:600 .95rem/1.1 var(--font-ui);cursor:pointer;transition:border-color .16s ease-out,box-shadow .16s ease-out}.ui-colour[data-on=true]{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft)}.ui-colour-note{font-size:.72rem;font-weight:500;color:var(--ink-dim)}.ui-colour-random{display:grid;place-items:center;width:3rem;height:3rem;border-radius:50%;background:linear-gradient(90deg,var(--disc-dark) 50%,var(--disc-light) 50%);color:var(--accent)}.ui-names{display:flex;flex-direction:column;gap:var(--gap)}.ui-name-field{display:flex;align-items:center;gap:10px;padding:0 14px;min-height:var(--tap);border-radius:var(--radius-card);background:var(--bg);border:1px solid var(--line)}.ui-name-field input{flex:1;min-width:0;min-height:var(--tap);border:0;background:transparent;color:var(--ink);font:500 max(16px,1rem) / 1.2 var(--font-ui)}.ui-name-field input::placeholder{color:var(--ink-dim)}@container app (orientation: landscape) and (max-height: 496px){.ui-setup{gap:4px}.ui-setup .ui-section{padding-top:0;gap:6px}.ui-setup .ui-field{gap:4px}.ui-setup .ui-colour{min-height:96px;padding:8px 6px;gap:4px}.ui-setup .ui-colour .ui-pip[data-size=xl],.ui-setup .ui-colour-random{--pip: 2.4rem;width:2.4rem;height:2.4rem}.ui-sheet-body{padding-top:0;padding-bottom:24px;-webkit-mask-image:linear-gradient(to bottom,black calc(100% - 24px),transparent);mask-image:linear-gradient(to bottom,black calc(100% - 24px),transparent)}}.ui-home{position:relative;height:100%;display:flex;flex-direction:column;padding-bottom:max(8px,env(safe-area-inset-bottom));overflow-y:auto}.ui-home-top{position:relative;z-index:1;display:flex;justify-content:flex-end;flex:none}.ui-home-top .ui-icon-btn{opacity:.8;transition:background-color .16s ease-out,opacity .16s ease-out}.ui-home-top .ui-icon-btn:hover,.ui-home-top .ui-icon-btn:active{opacity:1}.ui-home-main{flex:1;display:flex;flex-direction:column;justify-content:center;gap:14px;width:100%;max-width:500px;margin:0 auto;padding-bottom:24px;pointer-events:none}.ui-home-main>*{pointer-events:auto}@container app (orientation: portrait){.ui-home-main{margin-top:-4cqh}}@container app (min-width: 700px) and (min-height: 700px){.ui-home-main{max-width:560px}}.ui-home-mark{position:relative;isolation:isolate;display:flex;justify-content:center;width:fit-content;margin:0 auto;padding-left:1.1rem}.ui-home-mark:before{content:"";position:absolute;inset:-40% -60%;border-radius:50%;background:radial-gradient(closest-side,var(--accent-soft),transparent 70%);opacity:.5;z-index:-1;pointer-events:none}.ui-home-mark .ui-pip{position:relative;--pip: 3rem;box-shadow:0 2px 6px var(--shadow),0 1px 2px var(--shadow),inset 0 1px 0 var(--pip-hi-dark),inset 0 0 0 1px var(--pip-rim-dark)}.ui-home-mark .ui-pip[data-side=white]{box-shadow:0 2px 6px var(--shadow),0 1px 2px var(--shadow),inset 0 0 0 1px var(--pip-rim-light),inset 0 -2px 0 var(--shadow)}.ui-home-mark .ui-pip+.ui-pip{margin-left:-1.1rem}@container app (min-width: 700px) and (min-height: 700px){.ui-home-mark{padding-left:1.5rem}.ui-home-mark .ui-pip{--pip: 4.6rem}.ui-home-mark .ui-pip+.ui-pip{margin-left:-1.5rem}}.ui-home-title{margin:10px 0 0;text-align:center;font-family:var(--font-display);font-weight:600;font-size:clamp(3.1rem,15cqw,5rem);letter-spacing:-.01em;line-height:.95}.ui-home-sub{margin:0 0 20px;text-align:center;font-size:1.05rem;color:var(--ink-dim)}@container app (orientation: landscape) and (max-height: 496px){.ui-home-top{position:absolute;top:0;right:0;z-index:1}.ui-home-main{gap:8px;padding-bottom:8px}.ui-home-mark .ui-pip{--pip: 2rem}.ui-home-mark .ui-pip+.ui-pip{margin-left:-.75rem}.ui-home-title{margin-top:2px;font-size:clamp(2.4rem,13cqh,3.1rem)}.ui-home-sub{margin-bottom:6px}.ui-card{min-height:4.25rem;padding:10px 16px}}.ui-home-foot{flex:none;margin:0;padding-bottom:4px;text-align:center;font-size:.72rem;color:var(--ink-dim)}.ui-modes{display:flex;flex-direction:column;gap:10px}.ui-card{appearance:none;display:flex;align-items:center;gap:14px;width:100%;min-height:4.9rem;padding:14px 16px;border-radius:var(--radius-card);border:1px solid var(--line);background:var(--surface);color:var(--ink);font:inherit;text-align:left;cursor:pointer;box-shadow:0 1px 2px var(--shadow),0 12px 28px -16px var(--shadow);transition:transform .12s ease-out}.ui-card:active{transform:scale(.985)}@media(hover:hover)and (pointer:fine){.ui-card:hover{background:var(--surface-2)}}.ui-card>svg{flex:none;color:var(--ink-dim);opacity:.7}.ui-card-text{flex:1;display:flex;flex-direction:column;gap:2px;min-width:0}.ui-card-title{font-weight:650;font-size:1.12rem}.ui-card-blurb{font-size:.88rem;color:var(--ink-dim)}.ui-card-score{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;font-variant-numeric:tabular-nums}.ui-continue{border-color:var(--accent);box-shadow:inset 3px 0 0 var(--accent),0 1px 2px var(--shadow),0 12px 28px -16px var(--shadow)}.ui-mode-pips{display:inline-flex;flex:none}.ui-mode-pips .ui-pip[data-size=lg]{--pip: 2rem}.ui-mode-pips .ui-pip+.ui-pip{margin-left:-.7rem}@container app (min-width: 700px) and (min-height: 700px){.ui-home-title{font-size:clamp(3.1rem,9cqw,5.6rem)}.ui-home-sub{font-size:1.15rem}.ui-card{min-height:5.4rem}.ui-card-title{font-size:1.2rem}.ui-mode-pips .ui-pip[data-size=lg]{--pip: 2.3rem}}@container app (orientation: landscape) and (max-height: 496px){.ui-home .ui-card{min-height:4.25rem;padding:10px 16px}}@container app (orientation: portrait) and (max-height: 640px){.ui-home-main{margin-top:0;gap:10px;padding-bottom:8px}.ui-home-mark .ui-pip{--pip: 2.4rem}.ui-home-sub{margin-bottom:8px}.ui-home .ui-card{min-height:4.25rem;padding:10px 16px}}@container app (orientation: landscape) and (max-height: 360px){.ui-home-mark{display:none}.ui-home-main{gap:6px;padding-bottom:4px}.ui-home-sub{margin-bottom:2px}.ui-home .ui-card{min-height:3.6rem;padding:6px 16px}}.ui-install{position:absolute;left:0;right:0;bottom:max(8px,env(safe-area-inset-bottom));display:flex;align-items:flex-start;gap:8px;padding:12px 8px 12px 16px;border-radius:var(--radius-card);background:var(--surface-2);border:1px solid var(--line);box-shadow:0 10px 30px var(--shadow)}.ui-install-text{flex:1;display:flex;flex-direction:column;gap:4px;font-size:.88rem;line-height:1.4}.ui-install-text svg{vertical-align:-3px;color:var(--accent)}.ui-gameover{position:absolute;left:0;right:0;bottom:0;z-index:10;margin:0 auto;width:min(100%,480px);padding:0 18px 18px;border-radius:var(--radius-sheet);background:var(--surface);color:var(--ink);border:1px solid var(--line);box-shadow:0 24px 60px -16px var(--shadow);outline:none}@supports (backdrop-filter: blur(1px)){.ui-gameover{background:var(--surface-glass);backdrop-filter:blur(8px)}}@container app (orientation: landscape){.ui-gameover{inset:0 0 0 auto;width:min(100%,var(--go-panel));margin:0;padding:12px 18px 18px;border-radius:var(--radius-sheet) 0 0 var(--radius-sheet);display:flex;flex-direction:column;justify-content:center;justify-content:safe center;overflow-y:auto;overscroll-behavior:contain}.ui-gameover .ui-sheet-grab{position:absolute;left:0;top:0;bottom:0;width:22px;height:auto}.ui-gameover .ui-sheet-grab span{width:5px;height:40px}.ui-gameover-body{flex-direction:column;align-items:center;text-align:center;padding-right:0}.ui-gameover>.ui-gameover-body{padding-right:0}.ui-gameover-title{justify-content:center;box-sizing:border-box;max-width:100%;padding-inline:28px}.ui-gameover-sub{justify-content:center;margin:0}.ui-gameover-actions{flex-direction:column}}.ui-gameover-close{position:absolute;top:4px;right:4px}.ui-gameover-body{display:flex;align-items:center;gap:12px;padding-right:36px}.ui-gameover-text{flex:1;min-width:0}.ui-gameover-kicker{margin:0;font-size:.7rem;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:var(--accent)}.ui-gameover-title{display:flex;align-items:center;gap:.3em;margin:2px 0 6px;font-family:var(--font-display);font-weight:600;font-size:clamp(2rem,7cqw,2.8rem);line-height:1.05;font-kerning:none;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;white-space:nowrap}.ui-gameover-dash{color:var(--ink-dim)}.ui-nowrap{white-space:nowrap;font-variant-numeric:tabular-nums}.ui-gameover-sub{display:flex;margin:0;font-size:.8rem;font-variant-numeric:tabular-nums;color:var(--ink-dim)}.ui-gameover-tournament{white-space:nowrap}.ui-gameover-actions{display:flex;gap:var(--gap);margin-top:14px}.ui-gameover-actions .ui-btn{flex:1}.ui-thumb{flex:none;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);padding:3px;border-radius:5px;background:var(--board);box-shadow:0 0 0 3px var(--frame),0 2px 6px var(--shadow)}.ui-gameover .ui-thumb{box-shadow:inset 0 0 0 2px var(--frame),0 0 0 1px var(--line),0 2px 6px var(--shadow)}.ui-thumb-cell{display:grid;place-items:center;box-shadow:inset 0 0 0 .5px var(--grid-line)}.ui-thumb-disc{width:76%;height:76%;border-radius:50%}.ui-thumb-disc[data-side=black]{background:var(--disc-dark)}.ui-thumb-disc[data-side=white]{background:var(--disc-light)}.ui-home-wordmark{display:flex;flex-direction:column;align-items:center;gap:10px}.ui-brand-badge{display:inline-flex;align-items:center;gap:.7em;font-family:var(--font-display);font-weight:600;font-size:.74rem;line-height:1;letter-spacing:.26em;text-transform:uppercase;color:var(--ink-dim);white-space:nowrap;pointer-events:none;user-select:none}.ui-brand-badge:before,.ui-brand-badge:after{content:"";width:1.6em;height:1px;background:var(--line)}.ui-brand-badge:after{margin-left:-.26em}.ui-brand-badge[data-size=sm]{font-size:.56rem;letter-spacing:.22em;margin-top:-6px;opacity:.85}.ui-brand-badge[data-size=sm]:before,.ui-brand-badge[data-size=sm]:after{display:none}@container app (min-width: 700px) and (min-height: 700px){.ui-brand-badge{font-size:.86rem}.ui-brand-badge[data-size=sm]{font-size:.62rem}}@container app (orientation: landscape) and (max-height: 496px){.ui-home-wordmark{gap:6px}.ui-brand-badge{font-size:.64rem}.ui-gameover-title{font-size:clamp(30px,8vh,56px)}.ui-gameover-title .ui-pip{--pip: 18px}}.ui-player-level{display:block;margin-top:1px;color:var(--ink-dim);font-weight:400;font-size:.66rem;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}.ui-player-level-dot{display:none}@container app (min-width: 700px) and (min-height: 700px){.ui-player-level{display:inline;margin-top:0;font-size:inherit;line-height:inherit;letter-spacing:inherit;text-transform:none}.ui-player-level-dot{display:inline}}.ui-follow{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:var(--tap);padding:0 12px;border-radius:var(--radius-pill);color:var(--ink-dim);font-size:.82rem;text-decoration:none;transition:color .16s ease-out}.ui-follow strong{font-weight:600;color:var(--ink)}.ui-follow:hover{color:var(--ink)}.ui-follow-glyph{flex:none;opacity:.8}.ui-home-follow{flex:none;display:flex;justify-content:center}.ui-gameover-follow{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;column-gap:4px;margin-top:6px;margin-bottom:-6px}.ui-gameover-follow .ui-brand-badge{margin-top:0}.ui-pause-level{display:flex;flex-direction:column;gap:8px}.o2d-board{--frame-ratio: .04338;--cell-px: 40px;--disc: calc(var(--cell-px) * .84);--disc-thickness: calc(var(--disc) * .186);position:relative;box-sizing:border-box;width:100%;aspect-ratio:1 / 1;padding:calc(var(--frame-ratio) * 100%);border-radius:1.6%;background:linear-gradient(135deg,color-mix(in srgb,var(--frame) 90%,var(--disc-light)) 0%,var(--frame) 38%,color-mix(in srgb,var(--frame) 80%,var(--disc-dark)) 100%);box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--frame) 72%,var(--disc-light)),0 6px 18px var(--shadow);touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent}.o2d-grid{position:relative;display:grid;grid-template-columns:repeat(8,1fr);grid-template-rows:repeat(8,1fr);width:100%;height:100%;perspective:900px;transform-style:preserve-3d;background:repeating-radial-gradient(circle at 1.5px 1.5px,color-mix(in srgb,var(--disc-light) 1.5%,transparent) 0 1px,transparent 1px 3px),repeating-radial-gradient(circle at 4.5px 4.5px,color-mix(in srgb,var(--disc-dark) 1.5%,transparent) 0 1px,transparent 1px 3px),var(--board);background-size:6px 6px,6px 6px,auto;box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--disc-dark) 25%,transparent),inset 0 3px calc(var(--cell-px) * .09) color-mix(in srgb,var(--disc-dark) 34%,transparent),inset 0 -2px calc(var(--cell-px) * .09) color-mix(in srgb,var(--disc-dark) 18%,transparent),inset 3px 0 calc(var(--cell-px) * .09) color-mix(in srgb,var(--disc-dark) 26%,transparent),inset -3px 0 calc(var(--cell-px) * .09) color-mix(in srgb,var(--disc-dark) 26%,transparent)}.o2d-star{position:absolute;width:1.27%;height:1.27%;border-radius:50%;transform:translate(-50%,-50%);background:color-mix(in srgb,var(--board) 45%,var(--disc-dark));pointer-events:none}.o2d-cell{--theta: 0deg;--ax: 1;--ay: 0;--lift: 0;--sxy: 1;--sz: 1;--fade: 1;position:relative;transform-style:preserve-3d;box-shadow:inset 0 0 0 .5px var(--grid-line)}.o2d-disc{position:absolute;inset:8%;transform-style:preserve-3d;opacity:var(--fade);transform:translateY(calc(var(--lift) * -22%)) translateZ(calc(var(--lift) * var(--cell-px) * .84)) rotate3d(var(--ax),var(--ay),0,var(--theta)) scale3d(var(--sxy),var(--sxy),var(--sz));pointer-events:none}.o2d-cell[data-c="0"] .o2d-disc,.o2d-cell[data-c="0"] .o2d-shadow{display:none}.o2d-face,.o2d-rim{position:absolute;inset:0;border-radius:50%;backface-visibility:hidden;-webkit-backface-visibility:hidden}.o2d-face.top{transform:translateZ(calc(var(--disc-thickness) / 2))}.o2d-face.bottom{transform:rotateX(180deg) translateZ(calc(var(--disc-thickness) / 2))}.o2d-rim{backface-visibility:visible;-webkit-backface-visibility:visible;transform:translateZ(calc((var(--i) - 1) * var(--disc-thickness) / 3));background:var(--disc-wall-mid)}.o2d-cell[data-c="2"] .o2d-rim[data-i="2"],.o2d-cell[data-c="1"] .o2d-rim[data-i="0"]{background:var(--disc-wall-top)}.o2d-cell[data-c="2"] .o2d-rim[data-i="0"],.o2d-cell[data-c="1"] .o2d-rim[data-i="2"]{background:var(--disc-wall-bottom)}.o2d-cell[data-c="1"] .o2d-face.top,.o2d-cell[data-c="2"] .o2d-face.bottom,.o2d-ghost[data-pressed=true][data-side="0"]{background:radial-gradient(circle at 30% 26%,color-mix(in srgb,color-mix(in srgb,var(--disc-light),white) 22%,transparent),transparent 28%),radial-gradient(circle at 38% 32%,color-mix(in srgb,var(--disc-dark) 90%,var(--disc-light)) 0%,var(--disc-dark-hi) 30%,var(--disc-dark-edge) 80%);box-shadow:inset 1px 1px color-mix(in srgb,var(--disc-light) 26%,transparent)}.o2d-cell[data-c="2"] .o2d-face.top,.o2d-cell[data-c="1"] .o2d-face.bottom,.o2d-ghost[data-pressed=true][data-side="1"]{background:radial-gradient(circle at 30% 26%,color-mix(in srgb,color-mix(in srgb,var(--disc-light),white) 55%,transparent),transparent 28%),radial-gradient(circle at 38% 32%,var(--disc-face-light) 0%,var(--disc-light-edge) 70%,var(--disc-light-rim) 100%)}.o2d-shadow{position:absolute;inset:3%;border-radius:50%;background:radial-gradient(closest-side,var(--disc-dark) 78.6%,transparent 100%);transform:translate(calc(var(--disc) * -.03),calc(var(--disc) * .05)) scale(calc(1 + .6 * var(--lift)));opacity:calc(.45 * (1 - .5 * var(--lift)) * var(--fade));pointer-events:none}.o2d-ghost{position:absolute;left:50%;top:50%;box-sizing:border-box;width:calc(var(--disc) * .78);height:calc(var(--disc) * .78);border:calc(var(--disc) * .09) solid currentColor;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.o2d-ghost[data-side="0"]{color:var(--ghost-black);opacity:var(--ghost-alpha-dark)}.o2d-ghost[data-side="1"]{color:var(--disc-light);opacity:var(--ghost-alpha-light)}.o2d-ghost[data-pressed=true]{width:var(--disc);height:var(--disc);border:0;opacity:.62;outline:calc(var(--cell-px) * .04) solid var(--accent);outline-offset:calc(var(--cell-px) * .02);transform:translate(-50%,calc(-50% - var(--disc-thickness) * .15));animation:o2d-ghost-rise 90ms cubic-bezier(.25,.46,.45,.94) both}@media(prefers-reduced-motion:reduce){.o2d-ghost[data-pressed=true]{animation:none}}@keyframes o2d-ghost-rise{0%{transform:translate(-50%,-50%)}to{transform:translate(-50%,calc(-50% - var(--disc-thickness) * .15))}}.o2d-marker{position:absolute;left:50%;top:50%;width:18%;height:18%;border-radius:50%;transform:translate(-50%,-50%) translateZ(calc(var(--cell-px) * .2));box-shadow:0 0 0 calc(var(--cell-px) * .03) var(--accent);animation:o2d-marker-fade 1s ease-out 1s forwards;pointer-events:none}@keyframes o2d-marker-fade{to{opacity:.4}}.o2d-overlay{position:absolute;inset:0;pointer-events:none}.hint-tick{position:absolute;width:2px;height:2px;background:var(--hint-tick);transform:translate(-50%,-50%);pointer-events:none}.o2d-a11y{position:absolute;display:grid;grid-template-rows:repeat(8,1fr);pointer-events:none}.o2d-a11y-row{display:grid;grid-template-columns:repeat(8,1fr)}.o2d-a11y-cell{appearance:none;margin:0;padding:0;border:0;background:transparent;color:transparent;font-size:1px;pointer-events:none}.o2d-a11y-cell:focus{outline:none}.o2d-a11y-cell:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;border-radius:3px}.o2d-confetti{position:absolute;inset:0;overflow:hidden;pointer-events:none;container-type:size}.o2d-confetto{position:absolute;left:calc(50% - 2px);top:-3px;width:4px;height:6px;will-change:transform;animation:o2d-confetto-fly var(--dur, 2.8s) linear var(--del, 0ms) both}@keyframes o2d-confetto-fly{0%{opacity:1;transform:translateY(var(--dy0, 35cqh)) rotate(0);animation-timing-function:cubic-bezier(.15,.7,.35,1)}28%{opacity:1;transform:translate(calc(var(--dx, 0cqw) * .72),calc(var(--dy0, 35cqh) - var(--up, 12cqh))) rotate(calc(var(--rot, 720deg) * .3));animation-timing-function:cubic-bezier(.45,0,.8,.6)}90%{opacity:1}to{opacity:0;transform:translate(var(--dx, 0cqw),var(--dy, 110cqh)) rotate(var(--rot, 720deg))}}.o2d-confetto:before{content:"";position:absolute;inset:0;border-radius:.5px;animation:o2d-confetto-flutter var(--fl, .7s) linear var(--fd, 0ms) infinite}@keyframes o2d-confetto-flutter{0%{transform:rotateX(0)}to{transform:rotateX(360deg)}}.o2d-confetto[data-k="0"]:before{background:var(--disc-dark)}.o2d-confetto[data-k="1"]:before{background:var(--disc-light)}.o2d-confetto[data-k="2"]:before{background:var(--accent)}.app-board{position:absolute;inset:0;z-index:1;touch-action:none;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.app-board-layer{position:absolute;inset:0}.app-stage-layer{position:absolute;inset:0;z-index:0;touch-action:none;-webkit-touch-callout:none;user-select:none;-webkit-user-select:none}.app-board-layer>canvas,.app-stage-layer>canvas{display:block;width:100%;height:100%}.app-board[data-active=render3d],.ui-board-box:has(>.ui-board-fill>.app-board[data-active=render3d]),.ui-board-fill:has(>.app-board[data-active=render3d]){pointer-events:none}.ui-board-box:has(.app-board[data-active=render3d]) :is(button,a,[role=button]):not(.o2d-a11y-cell){pointer-events:auto}.app-grid-map{position:absolute;inset:0;transform-origin:0 0;pointer-events:none}.app-shake{animation:app-shake .12s linear}@keyframes app-shake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}
