@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2)format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff)format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2)format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff)format("woff")}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2)format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff)format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-condensed-latin-500-normal-BgYH2mbd.woff2)format("woff2"),url(/assets/barlow-condensed-latin-500-normal-HIEiP5Ov.woff)format("woff")}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2)format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff)format("woff")}:root{--bg-base:#0f1613;--surface-sunken:#141d19;--surface-card:#17211c;--surface-raised:#1f2b25;--line-1:#ede6d312;--line-2:#ede6d31a;--line-3:#ede6d340;--accent-primary:#ff6a3d;--accent-primary-rgb:255, 106, 61;--accent-bone:#ede6d3;--accent-info:#7fb8e8;--accent-pro:#e8c46b;--bg-accent-muted:rgba(var(--accent-primary-rgb), .12);--player-1:#7fb8e8;--player-2:#e8c46b;--player-3:#6fcfc4;--player-4:#d98fc6;--chart-1:#ff6a3d;--chart-2:#e8c46b;--chart-3:#7fb8e8;--chart-4:#6fcfc4;--chart-5:#d98fc6;--chart-6:#63c48a;--chart-7:#ede6d3;--chart-8:#b58a6a;--chart-rest:#5b6560;--heat-none:#ede6d31f;--heat-low:rgba(var(--accent-primary-rgb), .3);--heat-mid:rgba(var(--accent-primary-rgb), .6);--heat-high:var(--accent-primary);--board-dark:#1b2520;--board-light:#7c786e;--board-red:#7a2e29;--board-green:#1f5c3e;--board-quiet-dark:#1a241f;--board-quiet-light:#3a4640;--board-quiet-red:#4a5650;--board-quiet-green:#2c3833;--text-success:#63c48a;--text-danger:#e0564b;--text-danger-rgb:224, 86, 75;--danger-fill:#c4372e;--text-danger-soft:#eb7a70;--text-primary:#ede6d3;--text-secondary:#ede6d38c;--text-tertiary:#ede6d366;--on-accent-primary:#0f1613;--on-accent-bone:#0f1613;--on-text-danger:#ede6d3;--text-label:11px;--text-body:14px;--text-body-lg:16px;--text-card-title:20px;--text-screen-title:24px;--text-display:32px;--text-heading-sm:22px;--text-heading:26px;--text-heading-lg:30px;--text-heading-xl:clamp(34px, 4vw, 44px);--tracking-heading:-.01em;--tracking-heading-lg:-.02em;--tracking-label:.16em;--leading-heading:1;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--font:"Barlow", -apple-system, BlinkMacSystemFont, system-ui, sans-serif;--font-display:"Barlow Condensed", "Arial Narrow", system-ui, sans-serif;--font-heading:var(--font-display);--font-mono:var(--font-display);--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-pill:999px;--radius-card:22px;--radius-tile:18px;--radius-row:16px;--radius-key:14px;--radius-key-sm:12px;--card-padding:var(--space-4);--nav-rail:232px;--safe-top:env(safe-area-inset-top,0px);--safe-right:env(safe-area-inset-right,0px);--safe-bottom:env(safe-area-inset-bottom,0px);--safe-left:env(safe-area-inset-left,0px);--bg:var(--bg-base);--card:var(--surface-card);--surface:var(--surface-card);--text:var(--text-primary);--text-dim:var(--text-secondary);--primary:var(--accent-primary);--green:var(--text-success);--red:var(--text-danger);--radius:var(--radius-card);--blue:var(--heat-low);--orange:var(--heat-mid);--purple:var(--accent-pro);--bg-surface:var(--surface-sunken);--card-border:var(--line-2);--card-border-glow:rgba(var(--accent-primary-rgb), .3);--surface-hover:#ede6d30f;--text-muted:var(--text-tertiary);--primary-glow:rgba(var(--accent-primary-rgb), .25);--red-glow:rgba(var(--text-danger-rgb), .25);--radius-xs:6px;--radius-sm:10px;--radius-lg:var(--radius-key);--radius-xl:var(--radius-card);--motion-color:.2s;--motion-switch:.26s;--motion-slide:.42s;--motion-pop:.25s;--ease-glide:cubic-bezier(.34, 1.36, .5, 1);--ease-switch:cubic-bezier(.34, 1.4, .5, 1);--ease-pop:cubic-bezier(.175, .885, .32, 1.275);--shadow-sm:0 1px 2px #0000004d;--shadow:0 4px 12px #0006;--shadow-md:0 12px 30px #00000059;--shadow-lg:0 30px 60px #00000080;--shadow-glow:0 0 20px var(--primary-glow);--z-content:1;--z-match-shell:10;--z-sticky:20;--z-dock:100;--z-overlay:200;--z-toast:300;--z-screen-effect:400}@media (width>=900px){:root{--card-padding:var(--space-5)}}@media (prefers-reduced-motion:reduce){:root{--motion-color:0s;--motion-switch:0s;--motion-slide:0s;--motion-pop:0s;--ease-glide:linear;--ease-switch:linear;--ease-pop:linear}}.dartboard-art{display:block}.dartboard-art-hero .dba-dark{fill:var(--board-dark)}.dartboard-art-hero .dba-light{fill:var(--board-light)}.dartboard-art-hero .dba-red{fill:var(--board-red)}.dartboard-art-hero .dba-green{fill:var(--board-green)}.dartboard-art-quiet .dba-dark{fill:var(--board-quiet-dark)}.dartboard-art-quiet .dba-light{fill:var(--board-quiet-light)}.dartboard-art-quiet .dba-red{fill:var(--board-quiet-red)}.dartboard-art-quiet .dba-green{fill:var(--board-quiet-green)}.heat-board{width:100%;height:auto;display:block}.heat-board .hb-back{fill:var(--surface-sunken)}.heat-board .hb-seg{fill:var(--line-1);stroke:var(--bg-base);stroke-width:1.4px}.heat-board .hb-seg.is-hit{fill:var(--accent-primary)}.heat-board .hb-seg.is-off{fill:#0000}.heat-board .hb-focus{fill:none;stroke:var(--accent-bone);stroke-width:3px;stroke-linejoin:round}.heat-board .hb-number{font-family:var(--font);font-size:14px;font-weight:var(--weight-semibold);fill:var(--text-secondary);text-anchor:middle;dominant-baseline:central}.sheet-overlay{z-index:var(--z-overlay);background:color-mix(in srgb, var(--bg-base) 72%, transparent);animation:overlayIn var(--motion-color) ease both;flex-direction:column;justify-content:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:600px;max-height:min(88dvh,760px);padding:10px 18px calc(var(--safe-bottom) + 24px);box-sizing:border-box;overscroll-behavior:contain;border-top:1px solid var(--line-2);background:var(--surface-card);color:var(--text-primary);animation:sheetIn var(--motion-slide) var(--ease-glide) both;border-radius:28px 28px 0 0;outline:none;margin:0 auto;overflow-y:auto}.sheet-handle{width:40px;height:5px;margin:0 auto var(--space-2);border-radius:var(--radius-pill);background:var(--line-3);display:block}.sheet-head{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.sheet-title{color:var(--text-primary)}.sheet-close{min-height:44px;padding:0 var(--space-2);font-family:var(--font);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-secondary);background:0 0;border:none}.dialog-overlay{z-index:var(--z-overlay);background:color-mix(in srgb, var(--bg-base) 72%, transparent);animation:overlayIn var(--motion-color) ease both;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.dialog{gap:var(--space-3);box-sizing:border-box;border:1px solid var(--line-2);background:var(--surface-card);width:100%;max-width:420px;box-shadow:var(--shadow-lg);color:var(--text-primary);animation:dialogIn var(--motion-pop) var(--ease-pop) both;border-radius:26px;outline:none;flex-direction:column;padding:24px 22px;display:flex}.dialog-label.is-success{color:var(--text-success)}.dialog-label.is-danger{color:var(--text-danger)}.dialog-title{font-size:30px;line-height:1}.dialog-text{font-size:var(--text-body);color:var(--text-secondary);margin:0;line-height:1.45}.dialog-actions{margin-top:var(--space-1);flex-direction:column;gap:10px;display:flex}.dialog-actions .btn-danger-text{border:1.5px solid var(--text-danger)}@keyframes overlayIn{0%{opacity:0}}@keyframes sheetIn{0%{transform:translateY(100%)}}@keyframes dialogIn{0%{opacity:0;transform:scale(.96)}}@keyframes toastIn{0%{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%)}}.toast-stack{left:50%;bottom:max(calc(var(--safe-bottom) + 92px), 100px);z-index:var(--z-toast);pointer-events:none;flex-direction:column-reverse;gap:10px;width:min(520px,100vw - 28px);display:flex;position:fixed;transform:translate(-50%)}.global-toast{pointer-events:auto;border-radius:var(--radius);background:var(--surface-raised);border:1px solid var(--line-2);width:100%;box-shadow:var(--shadow-lg);align-items:center;gap:12px;padding:14px 16px;animation:.25s cubic-bezier(.2,0,0,1) toastIn;display:flex}.global-toast-error{border-color:color-mix(in srgb, var(--text-danger) 60%, transparent)}.global-toast-success{border-color:color-mix(in srgb, var(--text-success) 60%, transparent)}.global-toast-info{border-color:var(--line-3)}.global-toast-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.global-toast-body strong{font-size:.95em}.global-toast-body span{color:var(--text-secondary);font-size:.84em;line-height:1.4}.app-nav{--nav-pad:5px;background:var(--surface-card);z-index:var(--z-dock);display:flex;position:fixed}.nav-indicator{background:var(--accent-bone);pointer-events:none;z-index:0;transition:transform var(--motion-slide) var(--ease-glide), opacity var(--motion-color) ease;border-radius:19px;position:absolute}.nav-indicator.is-hidden{opacity:0}.nav-item{z-index:1;min-height:0;color:var(--text-secondary);font-family:var(--font);font-size:10px;font-weight:var(--weight-semibold);letter-spacing:.08em;text-transform:uppercase;cursor:pointer;transition:color var(--motion-color) ease;background:0 0;border:none;border-radius:19px;justify-content:center;align-items:center;padding:0;display:flex;position:relative}.nav-item .nav-icon{line-height:1;display:flex}.nav-item:hover{color:var(--text-primary);background:0 0}.nav-item.active,.nav-item.active:hover{color:var(--on-accent-bone)}.app-nav-horizontal{--dock-height:64px;left:max(12px, var(--safe-left));right:max(12px, var(--safe-right));bottom:calc(var(--safe-bottom) + 10px);max-width:600px;height:var(--dock-height);padding:var(--nav-pad);border:1px solid var(--line-2);box-shadow:var(--shadow-md);border-radius:24px;margin:0 auto}.app-nav-horizontal .nav-item{flex-direction:column;flex:1 1 0;gap:4px;min-width:0}.app-nav-horizontal .nav-indicator{top:var(--nav-pad);bottom:var(--nav-pad);left:var(--nav-pad);width:calc((100% - 2 * var(--nav-pad)) / var(--nav-count));transform:translateX(calc(var(--nav-active) * 100%))}@media (orientation:landscape) and (height<=520px){.app-nav.app-nav-horizontal{--dock-height:50px;--nav-pad:4px;bottom:calc(var(--safe-bottom) + 6px);border-radius:20px}.app-nav.app-nav-horizontal .nav-item{border-radius:16px;flex-direction:row;gap:6px}.app-nav.app-nav-horizontal .nav-indicator{border-radius:16px}}.app-nav-vertical{--nav-pad:var(--space-3);--nav-step:54px;--nav-inset:3px;width:calc(var(--nav-rail) + var(--safe-left));height:100%;padding:calc(var(--safe-top) + var(--space-6)) var(--nav-pad) calc(var(--safe-bottom) + var(--space-4)) calc(var(--safe-left) + var(--nav-pad));background:var(--surface-sunken);border-right:1px solid var(--line-1);flex-direction:column;justify-content:flex-start;margin:0;inset:0 auto 0 0}.app-nav-vertical .nav-item{flex:0 0 var(--nav-step);justify-content:flex-start;gap:var(--space-3);width:100%;height:var(--nav-step);padding:0 var(--space-4);border-radius:var(--radius-row);letter-spacing:.12em;flex-direction:row;font-size:12px}.app-nav-vertical .nav-indicator{top:calc(var(--safe-top) + var(--space-6) + var(--nav-inset));left:calc(var(--safe-left) + var(--nav-pad));right:var(--nav-pad);height:calc(var(--nav-step) - 2 * var(--nav-inset));border-radius:var(--radius-row);transform:translateY(calc(var(--nav-active) * var(--nav-step)))}body:has(.app-nav-vertical){padding-left:calc(var(--nav-rail) + var(--safe-left))}body:has(.app-nav-vertical) .app-container{--shell-pad-bottom:calc(var(--safe-bottom) + var(--space-6))}.start-screen{position:relative;overflow:hidden}.start-board{opacity:.9;pointer-events:none;z-index:0;width:330px;height:330px;position:absolute;top:96px;right:-150px}.start-body{z-index:var(--z-content);flex-direction:column;gap:10px;display:flex;position:relative}.start-head{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding-top:var(--space-2);display:flex}.start-title{margin-top:var(--space-2);letter-spacing:-.02em;font-size:40px;line-height:1}.start-avatar{border-radius:var(--radius-pill);background:var(--surface-raised);border:2px solid var(--player-1);width:44px;height:44px;min-height:44px;color:var(--text-primary);flex:none;padding:0;font-size:18px}.start-avatar.is-guest{border:2px dashed var(--line-3);color:var(--text-secondary);background:0 0}.start-main{gap:var(--space-2);flex-direction:column;margin-top:118px;display:flex}.start-hero{justify-content:space-between;align-items:flex-end;gap:var(--space-3);border-radius:var(--radius-card);background:var(--accent-primary);width:100%;min-height:112px;color:var(--on-accent-primary);font-family:var(--font);text-align:left;padding:20px 22px;display:flex}.start-hero:hover{filter:brightness(1.04)}.start-hero.is-center{align-items:center}.start-hero-main{flex-direction:column;min-width:0;display:flex}.start-hero .label-caps{color:color-mix(in srgb, var(--on-accent-primary) 75%, transparent)}.start-hero-title{font-family:var(--font-display);font-size:36px;font-weight:var(--weight-semibold);letter-spacing:-.02em;margin-top:10px;line-height:1}.start-hero-title.is-large{font-size:40px}.start-hero-sub{margin-top:var(--space-2);font-size:13px;font-weight:var(--weight-medium);line-height:1.3}.start-hero-scores{white-space:nowrap;flex:none;font-size:26px;line-height:1}.start-hero-sep{opacity:.55;margin:0 5px}.start-hero-aside{text-align:right;font-size:13px;font-weight:var(--weight-medium);flex:none;line-height:1.3}.start-hero-play{border-radius:var(--radius-pill);background:color-mix(in srgb, var(--on-accent-primary) 14%, transparent);flex:none;place-items:center;width:52px;height:52px;display:grid}.start-hero-actions{justify-content:flex-end;display:flex}.start-tiles{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.start-tile{justify-content:space-between;align-items:flex-start;gap:var(--space-4);border-radius:var(--radius-card);background:var(--surface-card);min-height:132px;color:var(--text-primary);font-family:var(--font);text-align:left;border:none;flex-direction:column;padding:18px 20px;display:flex}.start-tile:hover{background:var(--surface-raised)}.start-tile.is-muted>*{opacity:.55}.start-tile-title{font-family:var(--font-display);font-size:28px;font-weight:var(--weight-semibold);line-height:1;display:block}.start-tile-sub{margin-top:var(--space-1);font-size:13px;font-weight:var(--weight-regular);color:var(--text-secondary);line-height:1.4;display:block}.start-mark{border-radius:var(--radius-pill);width:14px;height:14px;display:block}.start-mark-ring{border:3px solid var(--text-primary)}.start-mark-ring.is-success{border-color:var(--text-success)}.start-mark-solid{background:var(--accent-bone)}.start-tile-figure{align-items:baseline;gap:var(--space-1);display:flex}.start-tile-figure .num{font-size:22px;line-height:1}.start-tile-figure .label-caps{letter-spacing:.1em;font-size:10px}.start-last{justify-content:space-between;align-items:flex-end;gap:var(--space-3);background:var(--surface-card);border-radius:20px;padding:14px 18px;display:flex}.start-last-title{font-family:var(--font-display);font-size:22px;font-weight:var(--weight-semibold);margin-top:6px;line-height:1;display:block}.start-last-meta{color:var(--text-secondary);text-align:right;font-size:12px}.start-footer{align-items:center;gap:var(--space-2) var(--space-3);padding:var(--space-1) 6px;flex-wrap:wrap;display:flex}.start-status-dot{border-radius:var(--radius-pill);background:var(--text-tertiary);flex:none;width:8px;height:8px}.start-status-dot.is-online{background:var(--text-success)}.start-status-text{color:var(--text-secondary);flex:auto;font-size:13px}.start-footer .btn-ghost,.start-footer .btn-danger-text{padding:0 var(--space-2);white-space:nowrap;border-color:#0000}.start-footer .btn-ghost{color:var(--text-primary)}.start-footer .start-version{gap:var(--space-1);letter-spacing:.08em;color:var(--text-tertiary);font-size:11px}@media (width>=900px){.start-board{width:420px;height:420px;top:40px;right:-120px}.start-tiles{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (orientation:landscape) and (height<=520px){.start-board{display:none}.start-main{margin-top:var(--space-3)}.start-hero{min-height:88px;padding:14px 20px}.start-tile{min-height:0;padding:14px 18px}.start-tile-title{font-size:24px}}.play-online{align-items:center;gap:var(--space-3);width:100%;margin-bottom:var(--space-4);border-radius:var(--radius-row);background:var(--surface-card);color:var(--text-primary);font-family:var(--font);text-align:left;border:none;padding:14px 18px;display:flex}.play-online:hover{background:var(--surface-raised)}.play-online-text{flex-direction:column;gap:3px;margin-right:auto;display:flex}.play-online-title{font-family:var(--font-display);font-size:22px;font-weight:var(--weight-semibold);line-height:1}.play-online-sub{color:var(--text-secondary);font-size:13px}.game-screen-layout{gap:var(--space-2);height:100dvh;max-height:100dvh;padding:max(calc(var(--safe-top) + 6px), 10px) max(calc(var(--safe-right) + 14px), 14px) max(calc(var(--safe-bottom) + 8px), 10px) max(calc(var(--safe-left) + 14px), 14px);box-sizing:border-box;-webkit-user-select:none;user-select:none;touch-action:manipulation;--keypad-min:calc(56px + 44px + 4 * 44px + 44px + 6 * var(--space-2));flex-direction:column;display:flex;overflow:hidden}.match-top-header{align-items:center;gap:var(--space-2);flex:none;grid-template-columns:minmax(0,max-content) minmax(0,1fr) auto;min-height:44px;padding:0 4px;display:grid}.match-title,.match-meta{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-family:var(--font);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-secondary);align-items:center;gap:6px;line-height:1;display:flex;overflow:hidden}.match-meta{justify-content:center}.match-header-actions{justify-content:flex-end;align-items:center;gap:2px;display:flex}.match-icon-btn,.btn-sound-toggle{border-radius:var(--radius-pill);width:44px;height:44px;min-height:44px;color:var(--text-primary);background:0 0;border:none;place-items:center;padding:0;display:grid}.match-icon-btn:hover,.btn-sound-toggle:hover{background:var(--surface-hover)}.btn-sound-off{color:var(--text-tertiary)}.match-menu-btn{min-height:44px;padding:0 var(--space-2);font-family:var(--font);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-primary);background:0 0;border:none}.match-header-actions .btn-danger-text{min-height:44px}@media (width<=440px){.btn-abort-text{display:none}}.game-screen-body{gap:var(--space-2);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.game-screen-left{overscroll-behavior:contain;flex-direction:column;flex:42%;min-height:0;max-height:48%;display:flex;overflow-y:auto}.game-screen-right{min-height:min(var(--keypad-min), 100%);flex-direction:column;flex:1.25 58%;justify-content:flex-end;display:flex}.game-screen-stats{display:none}.scoreboard-wrap{gap:var(--space-2);flex-direction:column;flex:1;min-height:0;display:flex}.scoreboard{grid-template-columns:var(--sb-cols,1fr);gap:var(--space-2);flex:1;min-height:0;display:grid}.scoreboard[data-players="4"]{grid-template-columns:repeat(2,minmax(0,1fr))}.player-card{justify-content:space-between;gap:var(--space-2);border-radius:var(--radius-card);background:var(--surface-sunken);box-sizing:border-box;min-width:0;transition:background-color var(--motion-color) ease, border-color var(--motion-color) ease;border:1.5px solid #0000;flex-direction:column;padding:14px 16px 12px;display:flex;position:relative;overflow:hidden}.player-card.is-active{background:var(--surface-card);border-color:var(--accent-primary)}.player-card-head{justify-content:space-between;align-items:center;gap:var(--space-2);min-width:0;display:flex}.player-card-ident{align-items:center;gap:7px;min-width:0;display:flex}.player-dot{border-radius:var(--radius-pill);background:var(--player-color);flex:none;width:8px;height:8px;display:inline-block}.player-card .player-name,.player-card-tag{font-family:var(--font);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;white-space:nowrap;line-height:1}.player-card .player-name{text-overflow:ellipsis;min-width:0;color:var(--text-secondary);margin:0;overflow:hidden}.player-card-tag{color:var(--text-tertiary);flex:none}.player-card.is-active .player-name,.player-card.is-active .player-card-tag{color:var(--accent-primary)}.player-card-tag.is-warning,.player-card.is-active .player-card-tag.is-warning{color:var(--text-danger)}.card-lock{color:var(--text-danger);flex:none;display:inline-flex}.card-lock.is-open{color:var(--text-success)}.score-display{font-family:var(--font-display);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;letter-spacing:-.04em;color:color-mix(in srgb, var(--text-primary) 85%, transparent);align-items:baseline;gap:.12em;font-size:clamp(36px,min(12vw,8vh),64px);line-height:.9;display:flex}.player-card.is-active .score-display{color:var(--text-primary);font-size:clamp(56px,min(26vw,13vh),112px)}.scoreboard[data-players="3"] .player-card.is-active .score-display{font-size:clamp(40px,min(15vw,9vh),76px)}.scoreboard[data-players="3"] .player-card.is-inactive .score-display{font-size:clamp(28px,min(10vw,6vh),48px)}.scoreboard[data-players="4"] .score-display{font-size:clamp(28px,min(10vw,5.5vh),44px)}.scoreboard[data-players="4"] .player-card.is-active .score-display{font-size:clamp(32px,min(13vw,7vh),64px)}.score-anim-pulse{animation:scorePulse .25s var(--ease-pop);will-change:transform;display:inline-block}.live-preview-darts{letter-spacing:0;color:var(--text-secondary);font-size:.32em;animation:.2s ease-out both previewIn}.player-card-stats{flex-wrap:wrap;gap:4px 12px;margin:0;display:flex}.player-card-stats>div,.player-card-stats>.badge-count{font-family:var(--font);font-size:12px;font-weight:var(--weight-semibold);color:var(--text-secondary);background:0 0;border-radius:0;align-items:baseline;gap:4px;margin:0;padding:0;line-height:1;display:flex}.player-card-stats dd{font-variant-numeric:tabular-nums;color:var(--text-primary);margin:0}.player-card.is-inactive .player-card-stats dd{color:var(--text-secondary)}@keyframes scorePulse{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}@keyframes previewIn{0%{opacity:0;transform:translate(-6px)}to{opacity:1;transform:none}}.status-bar{align-items:center;gap:var(--space-3);border-radius:var(--radius-row);box-sizing:border-box;flex:none;min-height:50px;padding:0 16px;display:flex}.status-bar.is-empty{visibility:hidden}.status-bar:not(.is-empty){animation:statusIn var(--motion-pop) var(--ease-pop) both}.status-route,.status-word{font-family:var(--font-display);font-size:26px;font-weight:var(--weight-semibold);white-space:nowrap;line-height:1}.status-route{letter-spacing:.02em}.status-word{letter-spacing:.08em;text-transform:uppercase}.status-bar.is-checkout{background:var(--accent-primary);color:var(--on-accent-primary)}.status-bar.is-checkout .label-caps{color:color-mix(in srgb, var(--on-accent-primary) 75%, transparent)}.status-bar.is-bust{background:var(--accent-bone);color:var(--on-accent-bone);justify-content:center}.status-bar.is-bogey{background:var(--surface-card);box-shadow:inset 0 0 0 1px var(--line-3);color:var(--text-primary);justify-content:center}.status-bar.is-freeze{background:var(--surface-card);box-shadow:inset 0 0 0 1px var(--line-3);color:var(--text-primary)}.status-bar.is-freeze .label-caps{color:var(--text-primary)}.status-bar.is-freeze .status-route{color:var(--text-tertiary);font-size:20px}.status-needed{color:var(--text-danger);margin-left:auto;font-size:20px}.status-bar.is-unlocked{background:color-mix(in srgb, var(--text-success) 14%, transparent);color:var(--text-success)}.status-bar.is-unlocked .label-caps{color:var(--text-success)}@keyframes statusIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.keypad{gap:var(--space-2);flex-direction:column;width:100%;max-width:560px;height:100%;margin:0 auto;display:flex}.dart-display{gap:var(--space-2);flex:none;grid-template-columns:repeat(3,minmax(0,1fr)) 64px;display:grid}.dart-box{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-key);border:1.5px dashed var(--line-3);box-sizing:border-box;height:56px;font-family:var(--font-display);font-size:24px;font-weight:var(--weight-semibold);color:var(--text-primary);line-height:1;display:flex}.dart-empty{color:var(--text-tertiary);font-size:20px}.dart-box.dart-filled{background:var(--surface-raised);animation:dartIn .25s var(--ease-pop) both;border:none}.dart-value{font-family:var(--font);font-size:13px;font-weight:var(--weight-medium);color:var(--text-secondary)}.dart-box.is-struck .dart-label{color:var(--text-secondary);text-decoration:line-through}.btn-undo{border-radius:var(--radius-key);border:1px solid var(--line-3);height:56px;min-height:56px;color:var(--text-primary);background:0 0;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:0;display:flex}.btn-undo-label{font-family:var(--font);font-size:9px;font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase;line-height:1}.btn-undo:disabled{opacity:.35}.modifier-grid{gap:var(--space-2);flex:none;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.mod-btn{border-radius:var(--radius-key);border:1px solid var(--line-1);background:var(--surface-card);height:52px;min-height:44px;color:var(--text-primary);font-family:var(--font-display);font-size:24px;font-weight:var(--weight-semibold);padding:0}.mod-btn.mod-active-double,.mod-btn.mod-active-triple{background:var(--accent-bone);border-color:var(--accent-bone);color:var(--on-accent-bone)}.numpad-grid{gap:var(--space-2);flex:1;grid-template-columns:repeat(5,minmax(0,1fr));grid-auto-rows:minmax(0,1fr);min-height:0;display:grid}.numpad-extra{gap:var(--space-2);flex:none;grid-template-columns:repeat(2,minmax(0,1fr));height:clamp(44px,7vh,56px);display:grid}.num-btn{border-radius:var(--radius-key);border:1px solid var(--line-1);background:var(--surface-card);height:100%;min-height:0;color:var(--text-primary);font-family:var(--font-display);font-size:clamp(24px,7vw,30px);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;place-items:center;padding:0;display:grid}.num-btn:active{background:var(--surface-raised)}.num-btn:disabled{opacity:.35}.mod-special{font-size:28px}.mod-miss{color:var(--text-secondary);font-size:24px}.keypad button{transition:transform 50ms ease-out,background-color .15s}.keypad button:active:not(:disabled){transform:scale(.94)}@keyframes dartIn{0%{opacity:.4;transform:scale(.85)}to{opacity:1;transform:none}}.live-stats{gap:var(--space-4);flex-direction:column;display:flex}.live-stats .slider{margin-bottom:0}.live-stats-who{align-items:center;gap:6px;display:inline-flex}.live-stats-top{gap:var(--space-4);grid-template-columns:150px minmax(0,1fr);align-items:center;display:grid}.live-stats-kpis{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.live-stats-kpis>div{border-radius:var(--radius-key);background:var(--surface-raised);padding:10px 12px}.live-stats-kpis dt{font-family:var(--font);font-size:10px;font-weight:var(--weight-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--text-secondary);line-height:1}.live-stats-kpis dd{margin:var(--space-2) 0 0;font-family:var(--font-display);font-size:26px;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;color:var(--text-primary);line-height:.9}.live-stats-kpis small{color:var(--text-secondary);font-size:14px}.live-stats-visits ol{margin:var(--space-2) 0 0;padding:0;list-style:none}.live-stats-visits li{gap:var(--space-2);border-bottom:1px solid var(--line-2);font-family:var(--font);font-size:14px;font-weight:var(--weight-medium);grid-template-columns:24px minmax(0,1fr) 48px 48px;padding:11px 0;line-height:1;display:grid}.live-stats-visits li>:nth-child(3),.live-stats-visits li>:nth-child(4){text-align:right}.live-stats-visits li>:first-child,.live-stats-visits li>:nth-child(4){color:var(--text-secondary)}.live-stats-visits li:last-child{color:var(--accent-primary)}.live-stats-visits li.is-bust>:nth-child(3){color:var(--text-danger)}.live-stats-empty{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:13px}.turn-banner{background:var(--surface-card);border:1px solid var(--line-2);font-family:var(--font);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;-webkit-backdrop-filter:none}@media (orientation:landscape),(width>=1200px) and (height>=800px){.game-screen-layout{width:100vw;max-width:100vw;margin:0;position:fixed;inset:0}.game-screen-body{gap:var(--space-3);grid-template-columns:minmax(0,1fr) clamp(340px,42vw,480px);display:grid}.game-screen-left{max-height:none;overflow:hidden}.game-screen-right{justify-content:center;min-height:0}.scoreboard{grid-template-columns:minmax(0,1fr);grid-template-rows:var(--sb-rows,auto)}.scoreboard[data-players="4"]{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr))}.keypad{max-width:none}}@media (orientation:landscape) and (height<=520px){.game-screen-layout{padding:max(calc(var(--safe-top) + 4px), 6px) max(calc(var(--safe-right) + 12px), 16px) max(calc(var(--safe-bottom) + 4px), 6px) max(calc(var(--safe-left) + 12px), 16px);gap:4px}.match-top-header{min-height:32px}.match-icon-btn,.btn-sound-toggle,.match-menu-btn{width:auto;min-width:36px;height:32px;min-height:32px}.game-screen-body{gap:var(--space-3);grid-template-columns:minmax(0,1fr) min(380px,46vw)}.scoreboard-wrap,.scoreboard{gap:6px}.player-card{border-radius:18px;gap:2px;padding:8px 14px}.score-display{font-size:clamp(24px,11vh,48px)}.player-card.is-active .score-display{font-size:clamp(36px,20vh,96px)}.player-card.is-inactive .player-card-foot{display:none}.status-bar{min-height:38px;padding:0 12px}.status-route,.status-word{font-size:20px}.keypad,.numpad-grid,.modifier-grid,.numpad-extra,.dart-display{gap:5px}.dart-display{grid-template-columns:repeat(3,minmax(0,1fr)) 54px}.dart-box,.btn-undo{border-radius:10px;height:36px;min-height:36px;font-size:16px}.dart-empty{font-size:15px}.dart-value,.btn-undo-label{display:none}.mod-btn{border-radius:10px;height:34px;min-height:34px;font-size:18px}.num-btn{border-radius:10px;font-size:22px}.numpad-extra{height:34px}.mod-special,.mod-miss{font-size:18px}}@media (width>=768px) and (orientation:landscape) and (height>=521px),(width>=1200px) and (height>=800px){.game-screen-layout{gap:var(--space-3);padding:max(calc(var(--safe-top) + 16px), 20px) max(calc(var(--safe-right) + 24px), 28px) max(calc(var(--safe-bottom) + 16px), 20px) max(calc(var(--safe-left) + 24px), 28px)}.player-card{border-radius:24px;padding:18px 22px}.player-card.is-active .score-display{font-size:clamp(80px,16vh,150px)}.score-display{font-size:clamp(48px,10vh,96px)}.dart-box,.btn-undo{height:60px;font-size:26px}.mod-btn{font-size:26px}.num-btn{font-size:32px}.has-stats-aside .game-screen-body{grid-template:"left stats"minmax(0,.9fr)"right stats"minmax(0,1fr)/minmax(0,1fr) 340px}.has-stats-aside .game-screen-left{grid-area:left}.has-stats-aside .game-screen-right{grid-area:right}.has-stats-aside .scoreboard{grid-template-columns:var(--sb-cols,1fr);grid-template-rows:none}.has-stats-aside .scoreboard[data-players="4"]{grid-template-rows:repeat(2,minmax(0,1fr));grid-template-columns:repeat(2,minmax(0,1fr))}.game-screen-stats{background:var(--surface-card);border-radius:24px;grid-area:stats;min-height:0;padding:18px;display:block;overflow-y:auto}.game-screen-stats .live-stats-top{grid-template-columns:minmax(0,1fr)}.game-screen-stats .live-stats-board{width:210px;margin:0 auto}}@media (width>=1400px) and (orientation:landscape){.game-screen-layout{max-width:1500px;margin:0 auto}}.split-pad{gap:var(--space-2);flex-direction:column;padding:10px 0;display:flex}.split-pad .num-btn{min-height:56px;font-size:22px}.split-pad .numpad-grid .num-btn{font-size:24px}.hero-glow-bg-setup,.hero-glow-bg-profile{background:radial-gradient(circle, var(--bg-accent-muted) 0%, transparent 70%);pointer-events:none;z-index:0;width:min(500px,90vw);height:300px;position:absolute;top:-80px;left:50%;transform:translate(-50%)}.setup-screen,.training-screen{flex-direction:column;gap:20px;display:flex}.setup-title{padding-top:var(--space-2);letter-spacing:-.02em;font-size:40px;line-height:1}.setup-grid,.setup-column{flex-direction:column;gap:20px;min-width:0;display:flex}@media (width>=900px){.setup-grid{align-items:start;gap:var(--space-8);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}}.setup-section{flex-direction:column;gap:10px;min-width:0;display:flex}.setup-screen .slider,.training-settings .slider{margin-bottom:0}.setup-section-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.setup-section-title{font-family:var(--font);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-secondary);margin:0;line-height:1}.setup-link{min-height:44px;padding:0 var(--space-2);font-family:var(--font);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-primary);background:0 0;border:none;align-items:center;gap:6px;display:inline-flex}.setup-custom{justify-content:space-between;align-items:center;gap:var(--space-3);border-radius:var(--radius-row);background:var(--surface-card);border:1.5px solid #0000;padding:10px 10px 10px 16px;display:flex}.setup-custom.is-invalid{border-color:var(--text-danger)}.setup-custom .setup-custom-input{background:var(--bg-base);width:120px;min-height:48px;box-shadow:none;text-align:center;font-family:var(--font-display);font-size:30px;font-weight:var(--weight-semibold);color:var(--text-primary);-moz-appearance:textfield;border:none;border-radius:12px;padding:0 12px}.setup-custom.is-invalid .setup-custom-input{color:var(--text-danger)}.setup-error-text{color:var(--text-danger);margin:0;font-size:13px}.setup-distance{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.setup-stepper{background:var(--surface-card);border-radius:18px;padding:14px 14px 12px}.setup-stepper-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.setup-stepper-hint{color:var(--text-tertiary)}.setup-stepper-row{justify-content:space-between;align-items:center;gap:var(--space-2);margin-top:10px;display:flex}.stepper-btn{border-radius:var(--radius-pill);background:var(--surface-raised);width:44px;height:44px;min-height:44px;color:var(--text-primary);border:none;flex:none;place-items:center;padding:0;display:grid}.stepper-btn:disabled{opacity:.3}.setup-stepper .stepper-input{width:100%;min-width:0;min-height:44px;box-shadow:none;text-align:center;font-family:var(--font-display);font-size:44px;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;color:var(--text-primary);-moz-appearance:textfield;background:0 0;border:none;padding:0;line-height:1}.setup-stepper .stepper-input:focus{box-shadow:none;background:0 0}.stepper-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.stepper-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.setup-custom-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.setup-custom-input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.seat-list{gap:var(--space-2);flex-direction:column;display:flex}.seat-row{align-items:center;gap:var(--space-2);border-radius:var(--radius-row);background:var(--surface-card);min-width:0;padding:6px 10px 6px 4px;display:flex}.seat-handle{width:20px;color:var(--text-tertiary);cursor:grab;flex:none;place-items:center;display:grid}.seat-order{flex-direction:column;flex:none;display:flex}.seat-move-btn{width:36px;height:30px;min-height:30px;color:var(--text-secondary);background:0 0;border:none;place-items:center;padding:0;display:grid}.seat-move-btn:disabled{opacity:.2}.seat-avatar{box-sizing:border-box;border-radius:var(--radius-pill);border:2px solid var(--player-color);background:var(--surface-raised);width:40px;height:40px;font-family:var(--font-display);font-size:17px;font-weight:var(--weight-semibold);color:var(--text-primary);flex:none;place-items:center;display:grid}.seat-main{flex:1;min-width:0}.seat-main .seat-input{min-height:44px;padding:0 var(--space-2);font-family:var(--font);font-size:16px;font-weight:var(--weight-medium);color:var(--text-primary);background:0 0;border:none;border-radius:10px}.seat-main .seat-input:focus{background:var(--surface-raised);box-shadow:none}.seat-input option{color:var(--on-accent-bone);background:var(--accent-bone)}.seat-tag{font-family:var(--font);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-tertiary);flex:none;line-height:1}.seat-tag.is-starter{color:var(--accent-primary)}.seat-bot{min-height:44px;padding:0 var(--space-1);font-family:var(--font);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--text-secondary);cursor:pointer;align-items:center;gap:6px;display:flex}.seat-bot input{width:18px;height:18px;min-height:0;accent-color:var(--accent-primary);margin:0}.setup-error{border-radius:var(--radius-row);border:1px solid var(--text-danger);background:color-mix(in srgb, var(--text-danger) 14%, transparent);font-size:var(--text-body);color:var(--text-primary);align-items:center;gap:10px;padding:12px 14px;display:flex}.toggle-list{gap:var(--space-2);flex-direction:column;display:flex}.toggle-row{border-radius:var(--radius-row);background:var(--surface-card);cursor:pointer;align-items:center;gap:12px;min-height:56px;padding:8px 14px;display:flex;position:relative}.toggle-row.is-disabled{opacity:.45;cursor:not-allowed}.toggle-icon{color:var(--text-secondary);display:flex}.toggle-label{min-width:0;font-size:15px;font-weight:var(--weight-medium);color:var(--text-primary);flex:1;line-height:1.3}.toggle-input{opacity:0;width:1px;height:1px;margin:0;position:absolute}.toggle-track{border-radius:var(--radius-pill);background:var(--surface-raised);width:52px;height:32px;transition:background-color var(--motion-switch) ease;flex:none;position:relative}.toggle-thumb{border-radius:var(--radius-pill);background:var(--text-tertiary);width:24px;height:24px;transition:transform var(--motion-switch) var(--ease-switch), background-color var(--motion-switch) ease;position:absolute;top:4px;left:4px}.toggle-row.is-on .toggle-track{background:var(--accent-bone)}.toggle-row.is-on .toggle-thumb{background:var(--bg-base);transform:translate(20px)}.toggle-input:focus-visible~.toggle-track{outline:2px solid var(--accent-primary);outline-offset:2px}.setup-shuffle{align-self:center}.setup-start{bottom:var(--dock-space);z-index:var(--z-sticky);padding:var(--space-3) 0 var(--space-2);background:linear-gradient(to top, var(--bg-base) 55%, transparent);position:sticky}@media (width>=900px){.setup-start{bottom:calc(var(--safe-bottom) + var(--space-4))}}.setup-start-btn{justify-content:space-between;gap:var(--space-3);padding:0 22px}.setup-start-summary{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-family:var(--font);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:.12em;text-transform:uppercase;color:color-mix(in srgb, var(--on-accent-primary) 70%, transparent);overflow:hidden}.bulloff{gap:var(--space-3);flex-direction:column;display:flex}.bulloff-note{font-family:var(--font);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--accent-primary);margin:0;line-height:1.3}.bulloff-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.bulloff-row{justify-content:space-between;align-items:center;gap:var(--space-3);border-radius:var(--radius-row);background:var(--surface-raised);border:1.5px solid #0000;min-height:52px;padding:0 16px;display:flex}.bulloff-row.is-active{border-color:var(--accent-primary)}.bulloff-row.is-out{opacity:.45}.bulloff-name{font-family:var(--font);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-primary)}.bulloff-state{font-family:var(--font-display);font-size:20px;font-weight:var(--weight-semibold);color:var(--text-secondary)}.bulloff-choices{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.bulloff-choice{border-radius:var(--radius-key);border:1px solid var(--line-2);background:var(--surface-raised);height:56px;font-family:var(--font-display);font-size:24px;font-weight:var(--weight-semibold);color:var(--text-primary)}.training-sub{color:var(--text-secondary);margin:-12px 0 0;font-size:13px}.training-modes{flex-direction:column;gap:10px;display:flex}.training-mode-card{border-radius:var(--radius-card);background:var(--surface-card);width:100%;color:var(--text-primary);font-family:var(--font);text-align:left;border:none;justify-content:space-between;gap:12px;padding:16px 18px;display:flex}.training-mode-card:hover{background:var(--surface-raised)}.training-mode-text{flex-direction:column;gap:6px;min-width:0;display:flex}.training-mode-text .label-caps{letter-spacing:.14em;font-size:10px}.training-mode-title{font-family:var(--font-display);font-size:30px;font-weight:var(--weight-semibold);line-height:1}.training-mode-desc{font-size:13px;font-weight:var(--weight-regular);color:var(--text-secondary);line-height:1.4}.training-mode-best{text-align:right;flex-direction:column;flex:none;align-items:flex-end;gap:4px;display:flex}.training-mode-best .num{font-size:30px;line-height:.9}.training-mode-best-label{color:var(--text-tertiary);font-size:11px}.training-settings{gap:var(--space-4);flex-direction:column;display:flex}@media (width>=900px){.training-modes{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.training-mode-card{flex-direction:column}.training-mode-best{text-align:left;align-items:flex-start}}.result-overlay{z-index:var(--z-overlay);overscroll-behavior:contain;background:var(--bg-base);animation:overlayIn var(--motion-color) ease both;position:fixed;inset:0;overflow-y:auto}.result-screen{max-width:600px;padding:max(calc(var(--safe-top) + 32px), 40px) max(calc(var(--safe-right) + 18px), 18px) max(calc(var(--safe-bottom) + 28px), 28px) max(calc(var(--safe-left) + 18px), 18px);outline:none;flex-direction:column;gap:10px;margin:0 auto;display:flex}.result-grid,.result-column{flex-direction:column;gap:10px;min-width:0;display:flex}@media (width>=900px){.result-screen{max-width:960px}.result-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;display:grid}}.result-head{text-align:center;flex-direction:column;align-items:center;gap:10px;margin-bottom:12px;display:flex}.result-head .label-caps{color:var(--accent-primary);font-size:12px}.result-score{font-family:var(--font-display);font-size:clamp(72px,26vw,110px);font-weight:var(--weight-semibold);letter-spacing:-.03em;font-variant-numeric:tabular-nums;margin:0;line-height:.9}.result-meta{font-size:var(--text-body);color:var(--text-secondary)}.result-hero{border-radius:var(--radius-card);background:var(--accent-primary);color:var(--on-accent-primary);margin-bottom:4px;padding:20px 22px}.result-hero .label-caps{color:color-mix(in srgb, var(--on-accent-primary) 75%, transparent)}.result-hero-value{align-items:baseline;gap:var(--space-2);margin-top:10px;display:flex}.result-hero-value .num-lg{font-size:84px}.result-hero-unit{font-family:var(--font-display);font-size:24px;font-weight:var(--weight-semibold)}.result-hero-sub{margin-top:var(--space-2);font-size:var(--text-body);font-weight:var(--weight-medium)}.result-card{border-radius:var(--radius-card);background:var(--surface-card);flex-direction:column;gap:12px;min-width:0;padding:16px 18px;display:flex}.result-card .slider{margin-bottom:0}.result-actions{gap:var(--space-2);flex-direction:column;margin-top:6px;display:flex}.result-actions-row{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.result-actions-row>:only-child{grid-column:1/-1}.result-share{border-color:#0000;align-self:center}.compare-scroll{overflow-x:auto}.compare-table{border-collapse:collapse;width:100%}.compare-table th,.compare-table td{border-bottom:1px solid var(--line-1);text-align:right;padding:9px 0}.compare-table tbody tr:last-child th,.compare-table tbody tr:last-child td{border-bottom:none}.compare-table thead th{border-bottom-color:var(--line-2);font-family:var(--font);font-size:10px;font-weight:var(--weight-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--text-secondary);padding-top:0;padding-bottom:10px}.compare-table thead th:first-child{text-align:left}.compare-table tbody th{padding-right:var(--space-2);text-align:left;font-family:var(--font);font-size:13px;font-weight:var(--weight-medium);color:var(--text-secondary);line-height:1.2}.compare-table td{white-space:nowrap;font-family:var(--font-display);font-size:20px;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;color:var(--text-primary);padding-left:12px;line-height:1}.compare-table td.is-best{color:var(--accent-primary)}.compare-player{white-space:nowrap;color:var(--text-primary);justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.heatmap-card{flex-direction:column;gap:12px;display:flex}.heatmap-head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.heatmap-total{color:var(--text-tertiary);font-size:12px}.heatmap-detail{border-radius:var(--radius-pill);background:var(--surface-raised);font-size:13px;font-weight:var(--weight-medium);align-self:center;margin:0;padding:8px 14px}.heatmap-board{width:min(100%,320px);margin:0 auto}.heat-board .hb-seg.is-selectable{cursor:pointer}.heatmap-legend{flex-wrap:wrap;justify-content:center;gap:14px;display:flex}.heatmap-legend span{font-size:12px;font-weight:var(--weight-medium);color:var(--text-secondary);align-items:center;gap:6px;display:inline-flex}.heatmap-legend i{border-radius:var(--radius-pill);width:10px;height:10px}.heatmap-legend .is-none{background:var(--heat-none)}.heatmap-legend .is-low{background:var(--heat-low)}.heatmap-legend .is-mid{background:var(--heat-mid)}.heatmap-legend .is-high{background:var(--heat-high)}.heatmap-empty{text-align:center;font-size:var(--text-body);color:var(--text-secondary);flex-direction:column;align-items:center;gap:10px;padding:12px 0;display:flex}.heatmap-empty p{margin:0}.heatmap-empty-board{width:110px;height:110px}.online-screen{flex-direction:column;gap:18px;display:flex}.online-screen .slider{margin-bottom:0}.online-screen:not(.lobby-room){width:100%;max-width:600px;margin-inline:auto}.online-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.online-hint{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.4}.connection-status{flex:none;align-items:center;gap:7px;display:inline-flex}.connection-dot{border-radius:var(--radius-pill);background:var(--text-success);width:8px;height:8px}.connection-status.is-online .label-caps{color:var(--text-success)}.connection-status.is-connecting .connection-dot{background:var(--accent-primary);animation:1.4s ease-in-out infinite waitPulse}.connection-status.is-connecting .label-caps{color:var(--accent-primary)}.connection-status.is-offline .connection-dot{background:var(--text-danger)}.connection-status.is-offline .label-caps{color:var(--text-danger)}.online-offline-bar{margin:0 calc(-1 * var(--space-4));padding:12px var(--space-4);border-bottom:1px solid var(--line-1);background:var(--surface-card);color:var(--text-primary);align-items:center;gap:10px;display:flex}.online-offline-bar .label-caps{color:var(--text-primary)}.online-identity{background:var(--surface-card);border-radius:18px;align-items:center;gap:12px;padding:12px 14px;display:flex}.online-identity-body{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.online-identity-body .label-caps{color:var(--text-secondary);font-size:10px}.online-identity-name{font-size:16px;font-weight:var(--weight-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.online-identity .online-identity-input{min-height:32px;box-shadow:none;font-family:var(--font);font-size:16px;font-weight:var(--weight-medium);color:var(--text-primary);background:0 0;border:none;border-radius:0;padding:0}.online-identity .online-identity-input:focus{box-shadow:none;background:0 0}.code-input{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;display:grid;position:relative}.code-input .code-input-field{z-index:1;width:100%;height:100%;min-height:0;box-shadow:none;color:#0000;caret-color:#0000;opacity:0;background:0 0;border:none;padding:0;font-size:16px;position:absolute;inset:0}.code-box{box-sizing:border-box;border:1.5px solid var(--line-1);background:var(--surface-card);height:78px;font-family:var(--font-display);font-size:44px;font-weight:var(--weight-semibold);color:var(--text-primary);transition:border-color var(--motion-color) ease;border-radius:16px;place-items:center;line-height:1;display:grid}.code-box.is-cursor{border-color:var(--accent-bone)}.code-box.is-cursor:empty:after{content:"";background:var(--accent-bone);width:2px;height:36px;animation:1s step-end infinite codeCaret}.code-input.is-invalid .code-box{border-color:var(--text-danger)}.code-input.is-disabled .code-box{opacity:.45}@keyframes codeCaret{50%{opacity:0}}.online-actions{gap:var(--space-2);flex-direction:column;display:flex}.room-list{gap:var(--space-2);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.room-row{background:var(--surface-card);width:100%;min-height:60px;color:var(--text-primary);font-family:var(--font);text-align:left;border:none;border-radius:16px;align-items:center;gap:12px;padding:10px 14px;display:flex}.room-row:hover{background:var(--surface-raised)}.room-row .seat-avatar{width:36px;height:36px}.room-row svg{color:var(--text-secondary);flex:none}.room-row-text{flex-direction:column;flex:1;gap:3px;min-width:0;display:flex}.room-row-host{font-size:15px;font-weight:var(--weight-medium);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.room-row-rules{color:var(--text-secondary);font-size:12px}.room-row-code{color:var(--text-secondary)}.online-local{justify-content:space-between;align-items:center;gap:var(--space-3);border-radius:var(--radius-card);background:var(--surface-card);width:100%;color:var(--text-primary);font-family:var(--font);text-align:left;border:none;padding:18px;display:flex}.online-local-text{flex-direction:column;gap:6px;display:flex}.online-local-text .label-caps{color:var(--text-secondary);font-size:10px}.online-local-title{font-family:var(--font-display);font-size:24px;font-weight:var(--weight-semibold);line-height:1}.online-local-go{border-radius:var(--radius-pill);background:var(--accent-bone);width:40px;height:40px;color:var(--on-accent-bone);flex:none;place-items:center;display:grid}.online-create,.room-settings{flex-direction:column;gap:18px;display:flex}.online-create .slider,.room-settings .slider{margin-bottom:0}.online-card{border-radius:var(--radius-card);background:var(--surface-card);flex-direction:column;gap:12px;min-width:0;padding:16px 18px;display:flex}.online-card .setup-stepper{background:var(--surface-raised)}.online-card .setup-section-title{white-space:nowrap;flex:none}.online-card-meta{white-space:nowrap;text-overflow:ellipsis;min-width:0;color:var(--text-tertiary);overflow:hidden}.room-code-card{text-align:center;align-items:center}.room-code-value{font-family:var(--font-display);font-size:clamp(60px,20vw,76px);font-weight:var(--weight-semibold);color:var(--text-primary);justify-content:center;gap:.14em;line-height:1;display:flex}.room-code-actions{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));width:100%;margin-top:2px;display:grid}.lobby-player-list{flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.lobby-player{border-bottom:1px solid var(--line-1);align-items:center;gap:12px;min-height:64px;padding:10px 0;display:flex}.lobby-player:last-child{border-bottom:none;padding-bottom:2px}.lobby-player-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-size:15px;font-weight:var(--weight-medium);flex:1;overflow:hidden}.lobby-player.is-empty .lobby-player-name{font-weight:var(--weight-regular);color:var(--text-tertiary)}.lobby-player-slot{box-sizing:border-box;border-radius:var(--radius-pill);border:1.5px dashed var(--line-2);flex:none;width:40px;height:40px}.lobby-player-tag{color:var(--text-success)}.room-rules{gap:var(--space-2);flex-wrap:wrap;margin:0;padding:0;list-style:none;display:flex}.room-rules li{background:var(--surface-raised);font-family:var(--font-display);font-size:16px;font-weight:var(--weight-semibold);border-radius:10px;padding:9px 12px;line-height:1}.room-rules li.is-lead{background:var(--accent-bone);color:var(--on-accent-bone)}.lobby-actions{z-index:var(--z-sticky);gap:var(--space-2);padding:var(--space-3) 0 max(calc(var(--safe-bottom) + 8px), 16px);background:linear-gradient(to top, var(--bg-base) 60%, transparent);grid-template-columns:1.3fr 1fr;display:grid;position:sticky;bottom:0}.waiting-banner{min-height:56px;padding:0 var(--space-3);border-radius:var(--radius-row);background:var(--surface-card);font-family:var(--font);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-secondary);justify-content:center;align-items:center;gap:10px;display:flex}.waiting-dot{border-radius:var(--radius-pill);background:var(--accent-primary);flex:none;width:8px;height:8px;animation:1.4s ease-in-out infinite waitPulse}@keyframes waitPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.35;transform:scale(.8)}}@media (width>=900px){.lobby-room{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:18px;display:grid}.lobby-room>.online-head,.lobby-room>.online-card:nth-of-type(3),.lobby-room>.lobby-actions{grid-column:1/-1}.lobby-room .lobby-actions{bottom:calc(var(--safe-bottom) + var(--space-4))}}.online-game-shell{width:100%;height:100%;position:relative}.online-board{height:100%;transition:opacity var(--motion-color) ease}.online-board.is-waiting{opacity:.72}.turn-banner{top:max(calc(var(--safe-top) + 6px), 10px);z-index:var(--z-sticky);white-space:nowrap;text-overflow:ellipsis;border-radius:var(--radius-pill);max-width:calc(100vw - 32px);color:var(--text-primary);box-shadow:var(--shadow-md);align-items:center;gap:8px;padding:8px 16px;display:flex;position:absolute;left:50%;overflow:hidden;transform:translate(-50%)}.turn-banner-dot{border-radius:var(--radius-pill);background:var(--accent-primary);flex:none;width:8px;height:8px;animation:1.4s ease-in-out infinite waitPulse}.disconnect-label{color:var(--text-primary);align-items:center;gap:10px;display:inline-flex}.disconnect-ring{box-sizing:border-box;border-radius:var(--radius-pill);border:2px solid var(--accent-primary);width:10px;height:10px;animation:1.4s ease-in-out infinite waitPulse}.disconnect-countdown{font-family:var(--font-display);font-size:84px;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;color:var(--accent-primary);line-height:.9}.disconnect-countdown span{margin-left:4px;font-size:28px}.stats-screen{flex-direction:column;gap:12px;width:100%;max-width:720px;margin-inline:auto;display:flex}.stats-screen .slider{margin-bottom:0}.stats-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.stats-place{flex:none;width:190px}.stats-guest{justify-content:space-between;align-items:center;gap:var(--space-2);border-radius:var(--radius-row);background:var(--surface-card);color:var(--text-secondary);padding:4px 4px 4px 14px;font-size:13px;display:flex}.stats-back{min-height:44px;color:var(--text-secondary);background:0 0;border:none;align-self:flex-start;align-items:center;gap:8px;padding:0;display:inline-flex}.stats-filters{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stats-filter{align-items:center;column-gap:var(--space-2);background:var(--surface-card);color:var(--text-secondary);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;row-gap:6px;padding:9px 12px;display:grid;position:relative}.stats-filter .label-caps{color:var(--text-tertiary);grid-column:1;font-size:9px}.stats-filter svg{grid-area:1/2/span 2}.stats-filter-value{grid-column:1;align-items:center;gap:7px;min-width:0;display:flex}.stats-filter select{width:100%;min-width:0;min-height:0;box-shadow:none;font-family:var(--font);font-size:15px;font-weight:var(--weight-medium);color:var(--text-primary);appearance:none;text-overflow:ellipsis;background:0 0;border:none;padding:0}.stats-filter select:after{content:""}.stats-filter select:focus{box-shadow:none;background:0 0}.stats-filter:focus-within{outline:2px solid var(--accent-bone);outline-offset:2px}.stats-inline-select{background:var(--surface-raised);min-height:34px;color:var(--text-secondary);border-radius:10px;align-items:center;gap:6px;padding:0 10px;font-size:13px;display:inline-flex}.stats-inline-select select{min-height:0;box-shadow:none;appearance:none;font-family:var(--font);font-size:13px;font-weight:var(--weight-medium);color:var(--text-primary);background:0 0;border:none;padding:0}.stats-card{border-radius:var(--radius-card);background:var(--surface-card);flex-direction:column;gap:12px;min-width:0;margin:0;padding:16px 18px;list-style:none;display:flex}.stats-card h2.label-caps{color:var(--text-secondary);margin:0;font-size:10px}.stats-card-head{justify-content:space-between;align-items:center;gap:var(--space-2);min-height:20px;display:flex}.stats-card-head .setup-link{min-height:32px;font-size:10px}.stats-card-meta{color:var(--text-tertiary);font-size:10px}.stats-kpis{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}@media (width>=600px){.stats-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}}.stats-kpi,.stats-record{background:var(--surface-card);border-radius:18px;flex-direction:column;gap:8px;min-width:0;padding:12px 14px;display:flex}.stats-kpi .label-caps,.stats-record .label-caps{color:var(--text-secondary);font-size:10px}.stats-kpi-value{align-items:baseline;gap:3px;display:flex}.stats-kpi-value .num{font-size:40px;line-height:.9}.stats-kpi-unit{font-family:var(--font-display);font-size:20px;font-weight:var(--weight-semibold)}.stats-kpi-sub{font-size:12px;font-weight:var(--weight-semibold);color:var(--text-tertiary)}.stats-kpi-sub.is-success{color:var(--text-success)}.stats-records{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.stats-record{border-radius:16px;gap:6px;padding:12px 12px 10px}.stats-record .num{font-size:32px;line-height:1}.stats-record .stats-kpi-sub{font-size:11px}.stats-pair{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.stats-pair .stats-card{border-radius:18px;padding:12px}@media (width<=380px){.stats-pair{grid-template-columns:minmax(0,1fr)}}.stats-range{color:var(--text-tertiary);justify-content:space-between;font-size:11px;display:flex}.stats-minigames{margin:0;padding:0;list-style:none}.stats-minigames li{justify-content:space-between;align-items:center;gap:var(--space-3);border-bottom:1px solid var(--line-1);padding:11px 0;display:flex}.stats-minigames li:last-child{border-bottom:none;padding-bottom:0}.stats-minigames .num{font-size:28px}.stats-minigame-text{flex-direction:column;gap:4px;display:flex}.stats-minigame-title{font-family:var(--font-display);font-size:19px;font-weight:var(--weight-semibold);line-height:1}.stats-empty{text-align:center;align-items:center;gap:14px;padding:26px 18px}.stats-empty-board{width:130px;height:130px}.stats-empty-title{font-size:30px;line-height:1}.match-list{margin:0;padding:0;list-style:none}.stats-card.match-list{gap:0;padding:4px 16px}.match-list>li+li{border-top:1px solid var(--line-1)}.match-row{width:100%;min-height:60px;color:var(--text-primary);font-family:var(--font);text-align:left;background:0 0;border:none;align-items:center;gap:10px;padding:12px 0;display:flex}.match-row>svg{color:var(--text-tertiary);transition:transform var(--motion-color) ease;flex:none}.match-row>svg.is-open{transform:rotate(90deg)}.match-row-text{flex-direction:column;flex:1;gap:4px;min-width:0;display:flex}.match-row-title{white-space:nowrap;text-overflow:ellipsis;font-family:var(--font-display);font-size:20px;font-weight:var(--weight-semibold);line-height:1;overflow:hidden}.match-row.is-lost .match-row-title{color:var(--text-secondary)}.match-row-meta{white-space:nowrap;text-overflow:ellipsis;color:var(--text-secondary);font-size:12px;overflow:hidden}.match-row-value{flex-direction:column;align-items:flex-end;gap:2px;display:flex}.match-row-value .num{font-size:24px;line-height:1}.match-row-value .label-caps{color:var(--text-tertiary);font-size:9px}.match-detail{flex-direction:column;gap:12px;padding:0 0 16px;display:flex}.match-detail-label{color:var(--text-secondary);font-size:10px}.match-detail-table{border-collapse:collapse;width:100%}.match-detail-table th,.match-detail-table td{border-bottom:1px solid var(--line-1);text-align:right;padding:7px 0}.match-detail-table thead th{font-size:10px;font-weight:var(--weight-semibold);letter-spacing:.12em;text-transform:uppercase;color:var(--text-tertiary)}.match-detail-table tbody th{text-align:left;font-size:14px;font-weight:var(--weight-medium);align-items:center;gap:8px;display:flex}.match-detail-table td{font-family:var(--font-display);font-size:18px;font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums;padding-left:12px}.match-detail-table tbody tr:last-child>*{border-bottom:none}.offscreen-export{position:absolute;top:0;left:-15000px}.line-chart{width:100%;position:relative}.line-chart svg{width:100%;height:100%;display:block;overflow:visible}.line-chart-grid{stroke:var(--line-1)}.line-chart-area{opacity:.12}.line-chart-line{fill:none;stroke-width:2.5px;stroke-linejoin:round;stroke-linecap:round}.line-chart-dot{border-radius:var(--radius-pill);pointer-events:none;width:5px;height:5px;position:absolute;transform:translate(-50%,-50%)}.line-chart-dot.is-last{width:10px;height:10px;box-shadow:0 0 0 3px var(--surface-card)}.leg-chart{flex-direction:column;gap:8px;display:flex}.leg-chart-axis{color:var(--text-tertiary);justify-content:space-between;font-size:11px;display:flex}.leg-chart-legend,.donut-legend{flex-wrap:wrap;justify-content:center;gap:7px 12px;margin:0;padding:0;list-style:none;display:flex}.leg-chart-legend li,.donut-legend li{font-size:12px;font-weight:var(--weight-medium);align-items:center;gap:5px;display:inline-flex}.leg-chart-legend i,.donut-legend i{border-radius:var(--radius-pill);width:8px;height:8px}.donut-legend span{color:var(--text-secondary)}.donut{flex-direction:column;align-items:center;gap:12px;display:flex}.donut-ring{position:relative}.donut-ring svg{display:block}.donut-center{flex-direction:column;justify-content:center;align-items:center;gap:4px;display:flex;position:absolute;inset:0}.donut-center .num{font-size:28px;line-height:1}.donut-center .label-caps{color:var(--text-secondary);font-size:9px}.radar{width:100%;max-width:180px;margin:0 auto;display:block;overflow:visible}.radar-ring{fill:none;stroke:var(--line-2)}.radar-spoke{stroke:var(--line-1)}.radar-shape{fill-opacity:.3;stroke-width:2px;stroke-linejoin:round}.radar-label{font-family:var(--font);font-size:11px;font-weight:var(--weight-semibold);fill:var(--text-secondary)}.profile-screen{flex-direction:column;gap:18px;width:100%;max-width:640px;margin-inline:auto;display:flex}.profile-screen .slider{margin-bottom:0}.profile-head{padding-top:var(--space-2);align-items:center;gap:16px;display:flex}.profile-avatar{box-sizing:border-box;border-radius:var(--radius-pill);border:3px solid var(--player-color);background:var(--surface-card);width:72px;height:72px;box-shadow:0 0 0 6px var(--surface-sunken);font-family:var(--font-display);font-size:30px;font-weight:var(--weight-semibold);flex:none;place-items:center;display:grid}.profile-head-text{flex-direction:column;gap:6px;min-width:0;display:flex}.profile-head-text .setup-title{white-space:nowrap;text-overflow:ellipsis;padding-top:0;overflow:hidden}.profile-sub{color:var(--text-secondary);font-size:13px}.profile-kpis{gap:var(--space-2);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.profile-kpis .num{font-size:34px;line-height:1}.profile-kpis .num.is-accent{color:var(--accent-primary)}.profile-rows{border-radius:var(--radius-card);background:var(--surface-card);flex-direction:column;display:flex;overflow:hidden}.profile-rows>*+*{border-top:1px solid var(--line-1)}.profile-rows .toggle-row{background:0 0;border-radius:0;min-height:64px;padding:10px 16px}.profile-row{width:100%;min-height:60px;color:var(--text-primary);font-family:var(--font);text-align:left;background:0 0;border:none;border-radius:0;align-items:center;gap:12px;padding:10px 16px;display:flex}.profile-row:hover{background:var(--surface-raised)}.profile-row>svg{color:var(--text-tertiary);flex:none}.profile-row-icon{color:var(--text-secondary);display:flex}.profile-row-title{font-size:16px;font-weight:var(--weight-medium);flex:1}.profile-row-value{color:var(--text-secondary);font-size:14px}.profile-toggle-text{flex-direction:column;gap:3px;display:flex}.profile-toggle-text>span:first-child{font-size:16px}.profile-toggle-sub{font-size:12px;font-weight:var(--weight-regular);color:var(--text-secondary)}.profile-card,.profile-screen .card{border-radius:var(--radius-card);background:var(--surface-card);border:none;flex-direction:column;gap:12px;min-width:0;margin:0;padding:16px 18px;display:flex}.profile-card>h2.label-caps{color:var(--text-secondary);margin:0;font-size:10px}.profile-card .toggle-row{background:0 0;min-height:44px;padding:0}.profile-card-title{font-size:18px;font-weight:var(--weight-medium)}.profile-screen .card-header{justify-content:space-between;align-items:center;gap:var(--space-2);margin:0;display:flex}.profile-screen .card-header-heading{align-items:center;gap:10px;min-width:0;display:flex}.profile-screen .card-header-heading h2{font-family:var(--font-display);font-size:22px;font-weight:var(--weight-semibold);margin:0;line-height:1.05}.profile-screen .card-header-icon{color:var(--text-secondary);display:flex}.profile-screen .card-header .stat-label{font-size:10px;font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-tertiary);flex:none}.profile-screen .card p{margin:0}.profile-danger-title{color:var(--text-danger)}.profile-create-row{gap:var(--space-2);display:flex}.profile-create-row .profile-create-input{background:var(--bg-base);min-width:0;min-height:52px;box-shadow:none;border:none;border-radius:14px;flex:1;padding:0 14px;font-size:16px}.profile-create-btn{background:var(--accent-bone);width:52px;height:52px;color:var(--on-accent-bone);border:none;border-radius:14px;flex:none;place-items:center;padding:0;display:grid}.profile-select{background:var(--bg-base);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;align-items:center;row-gap:6px;padding:10px 14px;display:grid;position:relative}.profile-select .label-caps{color:var(--text-tertiary);font-size:9px}.profile-select select{min-height:0;box-shadow:none;appearance:none;font-family:var(--font);font-size:15px;font-weight:var(--weight-medium);color:var(--text-primary);background:0 0;border:none;grid-column:1;padding:0}.profile-select svg{color:var(--text-secondary);grid-area:1/2/span 2}.person-list{margin:0;padding:0;list-style:none}.person-row{border-bottom:1px solid var(--line-1);align-items:center;gap:12px;min-height:64px;padding:10px 0;display:flex}.person-color{cursor:pointer;flex:none;position:relative}.person-color .person-color-input{opacity:0;cursor:pointer;border:none;width:100%;height:100%;min-height:0;padding:0;position:absolute;inset:0}.person-color:focus-within .seat-avatar{outline:2px solid var(--accent-bone);outline-offset:2px}.person-main{min-width:0;min-height:44px;color:var(--text-primary);font-family:var(--font);text-align:left;background:0 0;border:none;flex-direction:column;flex:1;justify-content:center;align-items:flex-start;gap:3px;padding:0;display:flex}.person-name{white-space:nowrap;text-overflow:ellipsis;font-size:16px;font-weight:var(--weight-medium);overflow:hidden}.person-sub{white-space:nowrap;text-overflow:ellipsis;color:var(--text-secondary);font-size:12px;overflow:hidden}.person-row .person-avg{background:var(--surface-card);width:auto;min-height:36px;box-shadow:none;font-family:var(--font-display);font-size:15px;font-weight:var(--weight-semibold);color:var(--text-primary);border:none;border-radius:10px;padding:0 10px}.person-you{color:var(--accent-primary)}.person-action{width:44px;height:44px;color:var(--text-tertiary);background:0 0;border:none;flex:none;place-items:center;padding:0;display:grid}.person-action:hover{color:var(--text-danger)}.profile-footer{padding:var(--space-2) 0 var(--space-4);justify-content:center;display:flex}.profile-version{min-height:44px;color:var(--text-tertiary);background:0 0;border:none;align-items:center;gap:8px;padding:0 14px;font-size:12px;display:inline-flex}.profile-version .num{font-size:13px}.auth-screen{flex-direction:column;gap:18px;width:100%;max-width:460px;margin-inline:auto;display:flex}.auth-head{margin-top:var(--space-2);flex-direction:column;gap:8px;display:flex}.auth-title{letter-spacing:-.02em;margin:0;font-size:48px;line-height:1}.auth-lead{color:var(--text-secondary);margin:0;font-size:15px;line-height:1.45}.auth-message{border:1px solid var(--line-2);background:var(--surface-card);border-radius:14px;margin:0;padding:12px 14px;font-size:14px;line-height:1.4}.auth-message.is-error{border-color:color-mix(in srgb, var(--text-danger) 60%, transparent);color:var(--text-danger)}.auth-message.is-success{border-color:color-mix(in srgb, var(--text-success) 60%, transparent);color:var(--text-success)}.auth-form{flex-direction:column;gap:14px;display:flex}.auth-field{flex-direction:column;gap:8px;display:flex}.auth-field .label-caps{color:var(--text-secondary)}.auth-screen .auth-input{border:1.5px solid var(--line-1);background:var(--surface-card);min-height:56px;box-shadow:none;font-family:var(--font);color:var(--text-primary);border-radius:16px;padding:0 16px;font-size:16px}.auth-screen .auth-input:focus{border-color:var(--accent-bone);background:var(--surface-card);box-shadow:none;outline:none}.auth-hint{color:var(--text-tertiary);font-size:12px}.auth-forgot{color:var(--text-secondary);align-self:flex-end}.auth-actions{gap:var(--space-2);flex-direction:column;margin-top:6px;display:flex}.auth-note{margin-top:var(--space-4);color:var(--text-secondary);align-items:flex-start;gap:10px;font-size:13px;line-height:1.45;display:flex}.auth-note svg{flex:none;margin-top:1px}.auth-guest{min-height:0;font:inherit;font-weight:var(--weight-semibold);color:var(--text-primary);text-underline-offset:3px;background:0 0;border:none;padding:0;text-decoration:underline}.game-screen-left,.game-screen-right{position:relative}.keypad-input{gap:inherit;flex-direction:column;flex:1;min-height:0;display:flex;position:relative}.cel-stage{z-index:20;pointer-events:none;justify-content:center;align-items:center;display:flex;position:absolute;inset:0;overflow:hidden;container-type:size}.cel-dim{background:color-mix(in srgb, var(--bg-base) 94%, transparent);animation:2.4s both cel-dim;position:absolute;inset:0}@keyframes cel-dim{0%{opacity:0}7%{opacity:1}84%{opacity:1}to{opacity:0}}.cel-center{align-items:center;gap:var(--space-1);flex-direction:column;display:flex;position:relative}.cel-slash{background:linear-gradient(90deg, transparent, var(--accent-primary) 38%, color-mix(in srgb, var(--accent-primary) 40%, var(--text-primary)) 50%, var(--accent-primary) 62%, transparent);width:140%;height:6px;animation:.42s cubic-bezier(.2,.7,.2,1) both cel-slash;position:absolute;left:-20%;transform:rotate(-16deg)translate(-120%)}@keyframes cel-slash{0%{transform:rotate(-16deg)translate(-120%)}to{transform:rotate(-16deg)translate(120%)}}.cel-ring{border:3px solid var(--accent-primary);box-sizing:border-box;opacity:0;border-radius:50%;width:180px;height:180px;margin:-90px 0 0 -90px;animation:.9s ease-out both cel-ring;position:absolute;top:50%;left:50%}@keyframes cel-ring{0%{opacity:0;transform:scale(.5)}2%{opacity:.9;transform:scale(.52)}to{opacity:0;border-width:1px;transform:scale(3.4)}}.cel-finish-ring{box-sizing:border-box;opacity:0;border:2px solid;border-radius:50%;animation:1.5s cubic-bezier(.2,.8,.2,1) both cel-finish-ring;position:absolute;top:50%;left:50%}@keyframes cel-finish-ring{0%{opacity:0;transform:scale(.15)}25%{opacity:1}70%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(1.25)}}.cel-word{font-family:var(--font-heading);font-size:clamp(18px,8cqh,24px);line-height:var(--leading-heading);color:var(--text-primary);position:relative}.cel-word.is-success{color:var(--text-success)}.cel-sub{font-size:var(--text-body);color:var(--text-secondary);white-space:nowrap;gap:6px;display:flex;position:relative}.cel-sub-score{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-primary)}.cel-rise{animation:1.35s .95s both cel-rise}@keyframes cel-rise{0%{opacity:0;transform:translateY(10px)}18%{opacity:1;transform:none}78%{opacity:1}to{opacity:0;transform:translateY(-6px)}}.cel-number{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--weight-medium);letter-spacing:-.05em;color:var(--accent-primary);text-shadow:0 0 48px color-mix(in srgb, var(--accent-primary) 45%, transparent);font-size:clamp(56px,min(34cqh,30cqw),124px);line-height:1;animation:1.68s cubic-bezier(.2,.9,.25,1) .72s both cel-slam;position:relative}@keyframes cel-slam{0%{opacity:0;filter:blur(10px);transform:scale(1.9)}14%{opacity:1;filter:blur();transform:scale(.94)}22%{transform:scale(1.03)}28%{transform:scale(1)}80%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--cel-fly-x,0px), var(--cel-fly-y,0px)) scale(.3)}}.cel-odometer{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--weight-medium);letter-spacing:-.04em;color:var(--text-primary);text-shadow:0 0 44px color-mix(in srgb, var(--text-success) 55%, transparent);font-size:clamp(52px,min(32cqh,28cqw),112px);line-height:1;animation:1.7s .7s both cel-odometer;display:flex;position:relative}@keyframes cel-odometer{0%{opacity:0;transform:scale(.85)}12%{opacity:1;transform:none}80%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--cel-fly-x,0px), var(--cel-fly-y,0px)) scale(.3)}}.cel-odo-col{height:1em;display:block;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 14% 86%,#0000);mask-image:linear-gradient(#0000,#000 14% 86%,#0000)}.cel-odo-strip{flex-direction:column;animation:.95s cubic-bezier(.15,.85,.25,1) both cel-odo-roll;display:flex}.cel-odo-strip>span{height:1em;line-height:1em}@keyframes cel-odo-roll{0%{transform:translateY(0)}to{transform:translateY(var(--cel-odo-end))}}.cel-stage.is-quiet{padding:0 var(--space-4);overflow:visible}.cel-panel{box-sizing:border-box;width:100%;max-width:520px;padding:var(--space-4) var(--space-5) 14px;border-radius:var(--radius-tile);align-items:center;gap:var(--space-1);background:linear-gradient(180deg, color-mix(in srgb, var(--text-success) 24%, transparent), color-mix(in srgb, var(--text-success) 10%, transparent)), color-mix(in srgb, var(--bg-base) 62%, transparent);border:1.5px solid color-mix(in srgb, var(--text-success) 65%, transparent);box-shadow:0 0 0 4px color-mix(in srgb, var(--text-success) 8%, transparent), 0 0 28px color-mix(in srgb, var(--text-success) 25%, transparent), inset 0 1px 0 color-mix(in srgb, var(--text-primary) 10%, transparent), 0 16px 40px #00000059;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);flex-direction:column;animation:1.8s cubic-bezier(.2,.9,.3,1) both cel-panel;display:flex}@keyframes cel-panel{0%{opacity:0;transform:scale(.92)}14%{opacity:1;transform:none}80%{opacity:1;transform:none}to{opacity:0;transform:scale(.98)}}.cel-panel.is-danger{background:linear-gradient(180deg, color-mix(in srgb, var(--text-danger) 24%, transparent), color-mix(in srgb, var(--text-danger) 10%, transparent)), color-mix(in srgb, var(--bg-base) 62%, transparent);border-color:color-mix(in srgb, var(--text-danger) 65%, transparent);box-shadow:0 0 0 4px color-mix(in srgb, var(--text-danger) 8%, transparent), 0 0 28px color-mix(in srgb, var(--text-danger) 25%, transparent), inset 0 1px 0 color-mix(in srgb, var(--text-primary) 10%, transparent), 0 16px 40px #00000059}.cel-panel-word{font-family:var(--font-heading);color:var(--text-primary);clip-path:inset(-10% 100% -10% 0);font-size:clamp(32px,16cqh,52px);line-height:1.05;animation:.5s cubic-bezier(.4,0,.2,1) .15s both cel-wipe}@keyframes cel-wipe{to{clip-path:inset(-10% 0)}}.cel-panel .cel-sub{animation:.4s ease-out .45s both cel-fade-up}@keyframes cel-fade-up{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}.cel-board-layer{z-index:20;pointer-events:none;border-radius:var(--radius-key);justify-content:center;align-items:center;display:flex;position:absolute;inset:0;container-type:size}.cel-board-layer.is-big{background:color-mix(in srgb, var(--bg-base) 94%, transparent);animation:2.4s both cel-dim}.cel-board-layer.is-quiet{background:color-mix(in srgb, var(--bg-base) 88%, transparent);animation:1.8s both cel-quiet-layer}@keyframes cel-quiet-layer{0%{opacity:0}12%{opacity:1}80%{opacity:1}to{opacity:0}}.cel-board{aspect-ratio:1;width:min(330px,88cqw,92cqh);position:relative}.is-quiet .cel-board{width:min(300px,80cqw,86cqh)}.cel-board>svg{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.is-big .cel-board{animation:2.4s cubic-bezier(.2,.8,.2,1) both cel-board-in}.is-quiet .cel-board{animation:1.8s both cel-board-settle}@keyframes cel-board-in{0%{transform:scale(.7)rotate(-24deg)}12%{transform:none}84%{transform:none}to{transform:scale(.96)}}@keyframes cel-board-settle{0%{transform:scale(.96)}12%{transform:none}to{transform:none}}.cel-board-rim{fill:color-mix(in srgb, var(--text-primary) 3%, transparent);stroke:color-mix(in srgb, var(--text-secondary) 25%, transparent);stroke-width:1px}.is-quiet .cel-board-rim{fill:var(--bg-base);stroke:color-mix(in srgb, var(--text-secondary) 45%, transparent)}.cel-seg{stroke:var(--bg-base);stroke-width:1.2px}.cel-seg.is-single-a{fill:color-mix(in srgb, var(--text-primary) 9%, transparent)}.cel-seg.is-single-b{fill:color-mix(in srgb, var(--text-primary) 4%, transparent)}.cel-seg.is-ring-a{fill:color-mix(in srgb, var(--text-primary) 20%, transparent)}.cel-seg.is-ring-b{fill:color-mix(in srgb, var(--text-primary) 11%, transparent)}.cel-seg.is-bull-out{fill:color-mix(in srgb, var(--text-primary) 12%, transparent)}.cel-seg.is-bull-in{fill:color-mix(in srgb, var(--text-primary) 22%, transparent);stroke:none}.is-quiet .cel-seg.is-single-a{fill:color-mix(in srgb, var(--text-primary) 17%, transparent)}.is-quiet .cel-seg.is-single-b{fill:color-mix(in srgb, var(--text-primary) 8%, transparent)}.is-quiet .cel-seg.is-ring-a{fill:color-mix(in srgb, var(--text-primary) 36%, transparent)}.is-quiet .cel-seg.is-ring-b{fill:color-mix(in srgb, var(--text-primary) 22%, transparent)}.is-quiet .cel-seg.is-bull-out{fill:color-mix(in srgb, var(--text-primary) 24%, transparent)}.is-quiet .cel-seg.is-bull-in{fill:color-mix(in srgb, var(--text-primary) 42%, transparent)}.cel-hit{opacity:0;animation:.5s ease-out both cel-hit}.cel-hit.is-accent{fill:var(--accent-primary);filter:drop-shadow(0 0 10px var(--accent-primary))}.cel-hit.is-success{fill:var(--text-success);filter:drop-shadow(0 0 10px var(--text-success))}.cel-hit.is-flash{animation-name:cel-flash;animation-duration:.36s}.is-quiet .cel-hit{animation:.45s ease-out both cel-hit-quiet}.is-quiet .cel-hit.is-accent{filter:drop-shadow(0 0 12px var(--accent-primary))}.is-quiet .cel-hit.is-success{filter:drop-shadow(0 0 12px var(--text-success))}@keyframes cel-hit{0%{opacity:0;transform:scale(1.08)}30%{opacity:1}to{opacity:.9;transform:none}}@keyframes cel-flash{0%{opacity:0}30%{opacity:1}to{opacity:0}}@keyframes cel-hit-quiet{0%{opacity:0}to{opacity:1}}.cel-halo{fill:none;stroke:var(--accent-primary);stroke-width:3px;opacity:0;transform-box:fill-box;transform-origin:50%;animation:.8s ease-out .7s both cel-halo}@keyframes cel-halo{0%{opacity:0;transform:scale(.9)}2%{opacity:.9;transform:scale(.91)}to{opacity:0;transform:scale(1.35)}}.cel-double-sweep{fill:none;stroke:var(--text-success);stroke-width:8px;stroke-linecap:round;stroke-dasharray:1043;stroke-dashoffset:1043px;animation:.7s cubic-bezier(.4,0,.2,1) .8s both cel-sweep}@keyframes cel-sweep{to{stroke-dashoffset:0}}.keypad:has(.cel-board-layer.is-big) .dart-box.dart-filled{--cel-dart:var(--accent-primary);animation:.45s ease-out both cel-dart}.keypad:has(.cel-board-layer.is-big) .dart-box:first-child{animation-delay:.18s}.keypad:has(.cel-board-layer.is-big) .dart-box:nth-child(2){animation-delay:.4s}.keypad:has(.cel-board-layer.is-big) .dart-box:nth-child(3){animation-delay:.62s}:is(.keypad:has(.cel-board-layer[data-finish="0"]) .dart-box:first-child,.keypad:has(.cel-board-layer[data-finish="1"]) .dart-box:nth-child(2),.keypad:has(.cel-board-layer[data-finish="2"]) .dart-box:nth-child(3)){--cel-dart:var(--text-success)}:is(.keypad:has(.cel-board-layer.is-quiet[data-finish="0"]) .dart-box:first-child,.keypad:has(.cel-board-layer.is-quiet[data-finish="1"]) .dart-box:nth-child(2),.keypad:has(.cel-board-layer.is-quiet[data-finish="2"]) .dart-box:nth-child(3)){animation:.45s ease-out 20ms both cel-dart}@keyframes cel-dart{0%{transform:scale(1)}35%{border-color:var(--cel-dart);background:color-mix(in srgb, var(--cel-dart) 25%, transparent);transform:scale(1.16)}to{transform:scale(1)}}.keypad:has(.cel-board-layer.is-big) .round-total{animation:1.4s cubic-bezier(.175,.885,.32,1.275) .68s both cel-total}@keyframes cel-total{0%{transform:scale(1)}22%{transform:scale(1.7)}80%{transform:scale(1.35)}to{transform:scale(1)}}@property --cel-sweep{syntax:"<angle>";inherits:false;initial-value:0deg}.player-card.cel-card-check>:not(.cel-card-fx),.player-card.cel-card-match>:not(.cel-card-fx){z-index:2;position:relative}.cel-card-fx{border-radius:inherit;pointer-events:none;position:absolute;inset:0}.cel-card-wash{z-index:1;background:radial-gradient(circle at 50% 48%, color-mix(in srgb, var(--text-success) 70%, transparent) 0%, transparent 68%);animation:1.7s ease-out both cel-wash;position:absolute;inset:0}@keyframes cel-wash{0%{opacity:0}14%{opacity:.32}to{opacity:0}}.cel-card-sweep{z-index:3;border-radius:inherit;background:conic-gradient(from var(--cel-sweep), transparent 0deg, transparent 230deg, var(--text-success) 320deg, color-mix(in srgb, var(--text-success) 30%, var(--text-primary)) 348deg, transparent 360deg);-webkit-mask-composite:xor;padding:2px;animation:1.3s cubic-bezier(.4,0,.2,1) both cel-sweep-around;position:absolute;inset:0;-webkit-mask-image:linear-gradient(#000 0 0),linear-gradient(#000 0 0);-webkit-mask-position:0 0,0 0;-webkit-mask-size:auto,auto;-webkit-mask-repeat:repeat,repeat;-webkit-mask-clip:content-box,border-box;-webkit-mask-origin:content-box,border-box;-webkit-mask-composite:xor;mask-composite:exclude;-webkit-mask-source-type:auto,auto;mask-mode:match-source,match-source}@keyframes cel-sweep-around{0%{--cel-sweep:0deg;opacity:0}10%{opacity:1}78%{opacity:1}to{--cel-sweep:720deg;opacity:0}}.cel-spark{z-index:3;opacity:0;border-radius:50%;width:6px;height:6px;margin:-3px 0 0 -3px;animation:.75s cubic-bezier(.1,.7,.3,1) both cel-spark;position:absolute;top:46%;left:50%}.cel-spark.is-success{background:var(--text-success)}.cel-spark.is-accent{background:var(--accent-primary)}@keyframes cel-spark{0%{opacity:0;transform:translate(0)scale(1)}2%{opacity:1;transform:translate(0)scale(1)}to{opacity:0;transform:translate(var(--cel-dx), var(--cel-dy)) scale(.2)}}.cel-card-stamp{z-index:4;justify-content:center;align-items:center;gap:var(--space-1);flex-direction:column;display:flex;position:absolute;inset:0}.cel-card-stamp>*{animation:.5s cubic-bezier(.2,1.5,.4,1) both cel-pop-in}.cel-stamp-word{font-family:var(--font-heading);font-size:var(--text-screen-title);color:var(--text-success);line-height:1;animation-delay:1.75s}.cel-stamp-score{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-card-title);font-weight:var(--weight-medium);color:var(--text-primary);animation-delay:1.85s}.cel-card-stamp.is-late .cel-stamp-word{animation-delay:2.45s}.cel-card-stamp.is-late .cel-stamp-score{animation-delay:2.55s}@keyframes cel-pop-in{0%{opacity:0;transform:translateY(20px)scale(.5)}to{opacity:1;transform:none}}.cel-card-match .score-display{animation:.4s 1.65s both cel-fade-score}.cel-card-match.is-late .score-display{animation-delay:2.35s}@keyframes cel-fade-score{to{opacity:.06;transform:scale(.9)}}.cel-card-lose{animation:.6s .5s both cel-card-lose}@keyframes cel-card-lose{to{opacity:.5}}.cel-card-hit{--cel-hit:var(--accent-primary);animation:.7s ease-out 2.3s cel-card-hit}.cel-card-hit.is-success{--cel-hit:var(--text-success)}@keyframes cel-card-hit{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--cel-hit) 60%, transparent)}35%{box-shadow:0 0 30px 6px color-mix(in srgb, var(--cel-hit) 60%, transparent)}to{box-shadow:0 0 20px color-mix(in srgb, var(--cel-hit) 20%, transparent)}}.cel-tile-pop{--cel-tile:var(--text-success);animation:.6s ease-out .75s cel-tile-pop}.cel-tile-pop.is-missed,.cel-tile-pop.is-split{--cel-tile:var(--text-danger)}.cel-tile-pop.is-booked{animation-delay:1.05s}.cel-tile-pop.is-late{animation-delay:2.35s}.cel-float{top:64px;right:var(--space-5);z-index:5;pointer-events:none;font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-card-title);font-weight:var(--weight-medium);color:var(--text-success);text-shadow:0 0 16px color-mix(in srgb, var(--text-success) 50%, transparent);opacity:0;animation:.85s ease-out .1s both cel-float;position:absolute}@keyframes cel-float{0%{opacity:0;transform:translateY(8px)scale(.8)}20%{opacity:1;transform:none}70%{opacity:1;transform:translateY(-18px)}to{opacity:0;transform:translateY(-30px)}}.cel-outline-area{fill:color-mix(in srgb, var(--text-danger) 18%, transparent);stroke:var(--text-danger);stroke-width:3px;opacity:0;filter:drop-shadow(0 0 10px var(--text-danger));animation:.45s ease-out .3s both cel-hit-quiet}.cel-outline-ring{fill:none;stroke:var(--text-danger);stroke-width:8px;stroke-linecap:round;stroke-dasharray:1100;stroke-dashoffset:1100px;filter:drop-shadow(0 0 10px var(--text-danger));animation:.8s cubic-bezier(.4,0,.2,1) .3s both cel-outline-draw}@keyframes cel-outline-draw{to{stroke-dashoffset:0}}@keyframes cel-tile-pop{0%{transform:scale(1)}40%{box-shadow:0 0 0 3px color-mix(in srgb, var(--cel-tile) 50%, transparent);transform:scale(1.12)}to{transform:scale(1)}}.cel-check-pill{border-radius:var(--radius-xs);background:color-mix(in srgb, var(--text-success) 14%, transparent);color:var(--text-success);font-size:var(--text-label);font-weight:var(--weight-medium);align-items:center;gap:6px;margin:0 auto;padding:4px 10px;animation:.4s cubic-bezier(.2,1.3,.4,1) .15s both cel-pop-in;display:inline-flex}.cel-leg-pop{animation:.7s ease-out .85s cel-leg-pop}.cel-leg-pop.is-late{animation-delay:2.35s}@keyframes cel-leg-pop{0%{box-shadow:0 0 0 0 color-mix(in srgb, var(--text-success) 0%, transparent)}40%{box-shadow:0 0 0 4px color-mix(in srgb, var(--text-success) 35%, transparent);background:color-mix(in srgb, var(--text-success) 25%, transparent)}to{box-shadow:0 0 0 0 color-mix(in srgb, var(--text-success) 0%, transparent)}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);font-family:var(--font);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;touch-action:manipulation;overscroll-behavior-y:none;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;background-attachment:fixed;line-height:1.5;overflow-x:hidden}:focus-visible{outline:2px solid var(--primary);outline-offset:2px}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}h1,h2{font-family:var(--font-heading);font-weight:var(--weight-semibold);line-height:var(--leading-heading);text-wrap:balance;margin:0}h1{font-size:var(--text-heading-xl);letter-spacing:var(--tracking-heading-lg)}h2{font-size:var(--text-heading);letter-spacing:var(--tracking-heading)}h3,h4{font-family:var(--font);font-weight:var(--weight-semibold);letter-spacing:normal;margin:0;line-height:1.35}h3{font-size:var(--text-body-lg);color:var(--text-primary)}h4{font-size:var(--text-body)}.num,.num-lg{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-weight:var(--weight-semibold)}.num{letter-spacing:0}.num-lg{letter-spacing:-.03em;line-height:.9}.label-caps{font-family:var(--font);font-size:var(--text-label);font-weight:var(--weight-semibold);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-secondary);white-space:nowrap;line-height:1}.icon{vertical-align:middle;flex:none;display:inline-block}.icon-inline{vertical-align:-.18em;margin-right:5px}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-container{--dock-height:64px;--dock-offset:10px;--dock-space:calc(var(--dock-height) + var(--dock-offset) + var(--safe-bottom) + 20px);--gutter-top:12px;--gutter-top-min:16px;--gutter-x:12px;--gutter-x-min:16px;--shell-pad-top:max(calc(var(--safe-top) + var(--gutter-top)), var(--gutter-top-min));--shell-pad-bottom:var(--dock-space);--shell-pad-left:max(calc(var(--safe-left) + var(--gutter-x)), var(--gutter-x-min));--shell-pad-right:max(calc(var(--safe-right) + var(--gutter-x)), var(--gutter-x-min));max-width:600px;padding:var(--shell-pad-top) var(--shell-pad-right) var(--shell-pad-bottom) var(--shell-pad-left);min-height:100dvh;margin:0 auto;position:relative}@media (width<=500px){.app-container{--gutter-top:6px;--gutter-top-min:8px;--gutter-x:10px;--gutter-x-min:14px}}@media (width>=600px){.app-container{--dock-offset:12px;--gutter-top:6px;--gutter-top-min:10px;--gutter-x:12px;--gutter-x-min:16px;max-width:600px}}@media (width>=768px) and (orientation:portrait){.app-container{--dock-offset:20px;--gutter-top:20px;--gutter-top-min:24px;--gutter-x:24px;--gutter-x-min:32px;max-width:720px}}@media (width>=900px){.app-container{--gutter-top:12px;--gutter-top-min:16px;--gutter-x:24px;--gutter-x-min:32px;max-width:960px}}@media (width>=1200px){.app-container{max-width:960px}}.app-container-match{z-index:var(--z-match-shell);overscroll-behavior:none!important;touch-action:manipulation!important;width:100vw!important;max-width:100vw!important;height:100dvh!important;min-height:100dvh!important;max-height:100dvh!important;margin:0!important;padding:0!important;position:fixed!important;inset:0!important;overflow:hidden!important}.card{background:var(--surface-card);-webkit-backdrop-filter:blur(16px);border:1px solid var(--card-border);border-radius:var(--radius-card);padding:var(--card-padding);margin-bottom:var(--space-4);box-shadow:var(--shadow-md);transition:border-color .2s,box-shadow .2s,transform .15s}.card-flush{padding:0}.card-interactive{cursor:pointer;transition:transform .15s cubic-bezier(.2,0,0,1),border-color .2s,box-shadow .2s}.card-interactive:active{transform:scale(.98)}.card-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.card-header-heading{align-items:center;gap:var(--space-2);min-width:0;display:flex}.card-header-icon{flex-shrink:0;font-size:1.3em;line-height:1}select,input[type=text],input[type=number],input[type=password],input[type=email]{border:1px solid var(--card-border);width:100%;color:var(--text);background:#ffffff0a;border-radius:12px;outline:none;min-height:48px;margin:0;padding:13px 16px;font-family:inherit;font-size:1em;transition:all .2s}select:focus,input:focus{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-glow);background:#94a3b814}.callout-action{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.slider{--slider-pad:4px;width:100%;padding:var(--slider-pad);background:var(--surface-card);border-radius:var(--radius-pill);margin-bottom:var(--space-3);display:flex;position:relative}.slider-thumb{top:var(--slider-pad);bottom:var(--slider-pad);left:var(--slider-pad);width:calc((100% - 2 * var(--slider-pad)) / var(--slider-count));border-radius:var(--radius-pill);background:var(--accent-bone);pointer-events:none;z-index:0;transform:translateX(calc(var(--slider-active) * 100%));transition:transform var(--motion-slide) var(--ease-glide), opacity var(--motion-color) ease;position:absolute}.slider-thumb.is-hidden{opacity:0}.slider label{z-index:1;min-width:0;min-height:44px;padding:0 var(--space-2);border-radius:var(--radius-pill);cursor:pointer;font-family:var(--font);font-size:12px;font-weight:var(--weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--text-secondary);transition:color var(--motion-color) ease;-webkit-user-select:none;user-select:none;flex:1 1 0;justify-content:center;align-items:center;margin:0;display:flex;position:relative}.slider label.active{color:var(--on-accent-bone)}.slider input[type=radio]{clip:rect(0, 0, 0, 0);border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.slider label:has(input:focus-visible){outline:2px solid var(--accent-primary);outline-offset:2px}.slider label:has(input:disabled){opacity:.45;cursor:not-allowed}.slider span{pointer-events:none;white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.slider-tiles{border-radius:var(--radius-tile);box-shadow:inset 0 0 0 1px var(--line-1)}.slider-tiles .slider-thumb{border-radius:var(--radius-key)}.slider-tiles label{border-radius:var(--radius-key);min-height:50px;font-family:var(--font-display);letter-spacing:0;text-transform:none;font-variant-numeric:tabular-nums;color:var(--text-primary);font-size:24px}.slider-tiles label.active{color:var(--on-accent-bone)}.slider-tiles[data-count="5"] label{padding:0 2px;font-size:20px}.slider-chips{--slider-pad:3px;grid-auto-columns:1fr;grid-auto-flow:column;width:auto;display:inline-grid}.slider-chips .slider-thumb{background:var(--surface-raised);box-shadow:inset 0 0 0 1px var(--line-3)}.slider-chips label{min-height:36px;padding:0 var(--space-4)}.slider-chips label.active{color:var(--text-primary)}.choice{background:var(--surface-card);border-radius:var(--radius-card);color:var(--text-secondary);font-size:var(--text-body);font-weight:var(--weight-regular);min-height:44px;padding:var(--space-2) var(--space-4);border:2px solid #0000;transition:background-color .2s,border-color .2s,color .2s}.choice.active{background:var(--accent-bone);border-color:var(--accent-bone);color:var(--on-accent-bone);font-weight:var(--weight-semibold)}button,.btn{justify-content:center;align-items:center;gap:var(--space-2);border-radius:var(--radius-tile);font-weight:var(--weight-semibold);font-size:20px;line-height:1;font-family:var(--font-display);cursor:pointer;color:var(--text-primary);background:var(--surface-card);-webkit-user-select:none;user-select:none;border:none;min-height:48px;padding:14px 20px;transition:transform .1s ease-out,box-shadow .15s,background-color .15s,opacity .15s;display:inline-flex}button:active,.btn:active{opacity:.9;transform:scale(.97)}button:disabled,.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--accent-primary);color:var(--on-accent-primary)}.btn-primary:hover{filter:brightness(1.05)}.btn-secondary{border:1px solid var(--line-3);color:var(--text-primary);background:0 0}.btn-secondary:hover{background:var(--surface-hover)}.btn-bone{background:var(--accent-bone);color:var(--on-accent-bone)}.btn-ghost{color:var(--text-secondary);border:1px solid var(--line-2);width:auto;font-family:var(--font);letter-spacing:.12em;text-transform:uppercase;background:0 0;font-size:12px}.btn-ghost:hover{color:var(--text-primary);background:var(--surface-card)}.btn-danger{background:var(--danger-fill);color:var(--on-text-danger)}.btn-danger-text{color:var(--text-danger);background:0 0;border:1px solid #0000}.btn-danger-text:hover{background:rgba(var(--text-danger-rgb), .1)}.btn-large{padding:var(--space-5) var(--space-5);border-radius:20px;min-height:64px;font-size:24px}.btn-compact{padding:var(--space-2) var(--space-3);min-height:44px;font-size:17px}.btn-full{width:100%}.player-name{font-size:var(--text-body);font-weight:var(--weight-regular);white-space:nowrap;text-overflow:ellipsis;margin:0;overflow:hidden}.player-name.is-active{font-weight:var(--weight-medium)}.score{font-size:3.2em;font-weight:var(--weight-medium);font-variant-numeric:tabular-nums;letter-spacing:-.03em;margin:6px 0;line-height:1.05}.modal-overlay,.modal{-webkit-backdrop-filter:blur(20px);z-index:var(--z-overlay);background:#000000bf;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal-content{background:var(--bg-surface);border:1px solid var(--card-border);border-top:3px solid var(--primary);border-radius:var(--radius-lg);width:100%;max-width:480px;max-height:90vh;box-shadow:var(--shadow-lg);color:var(--text);padding:26px 22px;overflow-y:auto}.modal-icon{width:72px;height:72px;margin:0 auto var(--space-3);border-radius:var(--radius-pill);background:var(--surface-card);border:1px solid var(--card-border);color:var(--text-secondary);justify-content:center;align-items:center;display:inline-flex}@media (orientation:landscape) and (height<=520px){.app-container{--dock-height:50px;--dock-offset:6px}}.btn-close{background:var(--surface-card);border:1px solid var(--card-border);color:var(--text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;min-height:36px;padding:0;font-size:1.1em;transition:all .2s;display:flex}.btn-close:hover{color:var(--text);background:#ffffff26;transform:scale(1.05)}@media (width>=768px){.score{font-size:3.6em}.modal-overlay{padding:32px}}@media (width<=380px){.app-container{--gutter-x:6px;--gutter-x-min:10px}.score{font-size:2.5em}}.pill{padding:3px var(--space-3);font-size:var(--text-label);font-weight:var(--weight-regular);border:1px solid var(--card-border);background:var(--surface-card);color:var(--text-secondary);border-radius:999px;align-items:center;display:inline-flex}.alert{border-radius:var(--radius-sm);z-index:1;align-items:flex-start;gap:10px;margin-bottom:18px;padding:12px 14px;font-size:.9em;line-height:1.45;display:flex;position:relative}.alert-success{background:color-mix(in srgb, var(--text-success) 12%, transparent);border:1px solid color-mix(in srgb, var(--text-success) 32%, transparent);color:var(--text-success)}.alert-error{background:color-mix(in srgb, var(--text-danger) 12%, transparent);border:1px solid color-mix(in srgb, var(--text-danger) 32%, transparent);color:var(--text-danger)}.center-stage{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:70dvh;display:flex}.center-stage-title{margin:0;font-size:1.3rem}.center-stage-text{color:var(--text-dim);max-width:34ch;font-size:.9rem;line-height:1.5}@keyframes orbSpin{to{transform:rotate(360deg)}}.loading-orb{font-size:2.6rem;animation:2.4s linear infinite orbSpin}@keyframes bounce{0%{transform:translateY(0)}to{transform:translateY(-10px)}}.sync-status{font-size:var(--text-label);color:var(--text-secondary);font-weight:var(--weight-regular)}.sync-status.is-on{color:var(--text-success)}.sync-panel{background:var(--surface-card);padding:var(--space-4);border-radius:var(--radius-card);border:1px solid var(--card-border);gap:var(--space-4);flex-direction:column;display:flex}.sync-code{font-size:var(--text-display);font-weight:var(--weight-medium);letter-spacing:.15em;color:var(--accent-primary);font-family:var(--font-mono)}.sync-host{background:var(--surface-hover);border:1px solid var(--card-border);padding:var(--space-3);border-radius:var(--radius-card);justify-content:space-between;align-items:center;gap:var(--space-3);font-size:var(--text-body);display:flex}.sync-host strong{color:var(--text-primary);font-weight:var(--weight-medium)}.stat-label{font-size:var(--text-label);color:var(--text-secondary);margin-bottom:2px}.split-now{align-items:center;gap:var(--space-3);flex-wrap:wrap;flex-shrink:0;display:flex}.split-now-target{font-family:var(--font-mono);font-size:var(--text-card-title);font-weight:var(--weight-medium);color:var(--accent-primary)}.split-darts{gap:var(--space-2);margin-left:auto;display:flex}.split-dart{border:2px solid var(--card-border);width:40px;height:40px;font-family:var(--font-mono);font-size:var(--text-body);color:var(--text-secondary);border-radius:50%;justify-content:center;align-items:center;display:flex}.split-dart.is-hit{border-color:var(--text-success);color:var(--text-success);background:color-mix(in srgb, var(--text-success) 14%, transparent)}.split-dart.is-miss{border-color:var(--text-danger);color:var(--text-danger)}.split-targets{gap:var(--space-2);overscroll-behavior:contain;flex:1;grid-template-columns:repeat(5,1fr);align-content:start;min-height:0;list-style:none;display:grid;overflow-y:auto}.split-target{padding:var(--space-2) var(--space-1);border-radius:var(--radius-key);background:var(--surface-card);border:2px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:clamp(44px,7.5vh,68px);display:flex}.split-target-label{font-size:var(--text-label);color:var(--text-secondary);line-height:1}.split-target-value{font-family:var(--font-mono);font-size:var(--text-body);font-weight:var(--weight-medium);color:var(--text-secondary);line-height:1}.split-target.is-hit{background:var(--surface-hover)}.split-target.is-hit .split-target-value{color:var(--text-success)}.split-target.is-split{background:color-mix(in srgb, var(--text-danger) 12%, transparent)}.split-target.is-split .split-target-value{color:var(--text-danger);font-size:var(--text-label)}.split-target.is-current{border-color:var(--accent-primary);background:var(--bg-accent-muted)}.split-target.is-current .split-target-value{color:var(--accent-primary)}.num-btn.is-miss{color:var(--text-danger)}.co-now{gap:var(--space-2);flex-wrap:wrap;flex-shrink:0;display:flex}.co-chip{padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);background:var(--surface-card);font-family:var(--font-mono);font-size:var(--text-body);color:var(--text-primary);align-items:baseline;gap:4px;display:inline-flex}.co-route{padding:var(--space-2) var(--space-3);border-radius:var(--radius-card);background:var(--bg-accent-muted);border:2px solid var(--accent-primary);flex-direction:column;flex-shrink:0;gap:2px;display:flex}.co-route-way{font-family:var(--font-mono);font-size:var(--text-card-title);font-weight:var(--weight-medium);color:var(--accent-primary);letter-spacing:.04em;line-height:1.15}@media (height<=740px){.co-route-way{font-size:var(--text-body-lg)}}.co-targets{gap:var(--space-2);overscroll-behavior:contain;flex:1;grid-template-columns:repeat(5,1fr);align-content:start;min-height:0;list-style:none;display:grid;overflow-y:auto}.co-target{padding:var(--space-1);border-radius:var(--radius-key);background:var(--surface-card);border:2px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:clamp(44px,7.5vh,68px);display:flex}.co-target-label{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-body);font-weight:var(--weight-medium);color:var(--text-primary);line-height:1}.co-target-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-label);color:var(--text-secondary);line-height:1}.co-target:not(.is-hit):not(.is-missed):not(.is-current) .co-target-label{color:var(--text-secondary)}.co-target.is-hit{background:color-mix(in srgb, var(--text-success) 14%, transparent)}.co-target.is-hit .co-target-value{color:var(--text-success)}.co-target.is-missed{background:color-mix(in srgb, var(--text-danger) 12%, transparent)}.co-target.is-missed .co-target-value{color:var(--text-danger)}.co-target.is-current{border-color:var(--accent-primary);background:var(--bg-accent-muted)}.co-target.is-current .co-target-value{color:var(--accent-primary)}.stat-strip{gap:var(--space-2);overscroll-behavior-x:contain;scrollbar-width:none;flex-shrink:0;display:flex;overflow-x:auto}.stat-strip::-webkit-scrollbar{display:none}.stat-strip-item{text-align:center;min-width:64px;padding:var(--space-1) var(--space-2);border-radius:var(--radius-xs);background:var(--surface-card);flex:1 0 auto}.stat-strip-label{font-size:var(--text-label);color:var(--text-secondary);white-space:nowrap}.stat-strip-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-body-lg);font-weight:var(--weight-medium);color:var(--text-primary);margin:0;line-height:1.2}@media (height<=740px){.stat-strip-value{font-size:var(--text-body)}}.ps-board{gap:var(--space-3);flex-direction:column;flex:1;min-height:0;display:flex}.ps-card{background:var(--surface-card);border:1px solid var(--card-border);border-left:4px solid var(--player-color);border-radius:var(--radius-card);padding:var(--card-padding);gap:var(--space-3);flex-direction:column;flex:1;min-height:0;display:flex}.ps-card-head{justify-content:space-between;align-items:baseline;gap:var(--space-3);flex-shrink:0;display:flex}.ps-card-name{font-size:var(--text-body-lg);font-weight:var(--weight-medium);color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ps-card-total{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:clamp(var(--text-display), min(9vw, 12vh), 4rem);font-weight:var(--weight-medium);color:var(--player-color);line-height:1}.ps-rounds{gap:var(--space-2);overscroll-behavior:contain;flex:1;grid-template-columns:repeat(5,1fr);align-content:start;min-height:0;list-style:none;display:grid;overflow-y:auto}.ps-round{padding:var(--space-2) var(--space-1);border-radius:var(--radius-key);background:var(--surface-card);border:2px solid #0000;flex-direction:column;justify-content:center;align-items:center;gap:2px;min-height:clamp(44px,7.5vh,68px);display:flex}.ps-round-no{font-size:var(--text-label);color:var(--text-secondary);line-height:1}.ps-round-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-body-lg);font-weight:var(--weight-medium);color:var(--text-secondary);line-height:1}.ps-round.is-filled{background:var(--surface-hover)}.ps-round.is-filled .ps-round-value{color:var(--text-primary)}.ps-round.is-current{border-color:var(--accent-primary);background:var(--bg-accent-muted)}.ps-round.is-current .ps-round-value{color:var(--accent-primary)}.ps-others{gap:var(--space-2);scrollbar-width:none;flex-shrink:0;padding-bottom:2px;list-style:none;display:flex;overflow-x:auto}.ps-others::-webkit-scrollbar{display:none}.ps-other{align-items:center;gap:var(--space-2);max-width:11rem;padding:0 var(--space-3);background:var(--surface-card);border:1px solid var(--card-border);border-radius:var(--radius-pill);font-size:var(--text-label);flex:none;min-height:30px;display:flex}.ps-other-dot{border-radius:var(--radius-pill);flex-shrink:0;width:7px;height:7px}.ps-other-name{min-width:0;color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ps-other-score{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--weight-medium);color:var(--text-primary)}@media (height<=740px){.ps-round,.split-target,.co-target{min-height:38px;padding:var(--space-1)}.ps-card{padding:var(--space-3);gap:var(--space-2)}.split-dart{width:34px;height:34px;font-size:var(--text-label)}}@media (orientation:landscape) and (height<=520px){.ps-round,.split-target,.co-target{min-height:32px}.ps-round-no,.split-target-label,.co-target-label{font-size:10px}.ps-board{gap:var(--space-2);padding:0}.split-now{gap:var(--space-2)}}.badge-count{background:var(--surface-hover);border-radius:var(--radius-xs);font-size:var(--text-label);font-weight:var(--weight-regular);color:var(--text-secondary);padding:2px 5px}.badge-count strong{color:var(--text-primary);font-weight:var(--weight-medium)}.active-screen{animation:screenFade var(--motion-slide) ease-out}@keyframes screenFade{0%{opacity:0}to{opacity:1}}
