*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}:root{--bg: #0d1f12;--surface: #112918;--card: #1a3d22;--accent: #e8601a;--gold: #f5a623;--text: #eaeaea;--muted: #7a9d82;--green: #4caf50;--p3: #f5a623;--closed: #3a5540;--mark-open: #e8601a;--radius: 12px}html{touch-action:manipulation}html,body{height:100%;background:var(--bg);color:var(--text);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;overflow:hidden;touch-action:manipulation}body{display:flex;flex-direction:column;height:100dvh}#header{display:flex;flex-direction:row;align-items:center;gap:4px;padding:10px 12px 6px;background:var(--surface);border-bottom:1px solid #ffffff18;flex-shrink:0;position:relative}#p3-header{display:none}#header.cutthroat #p3-header{display:flex}#header.cutthroat #options-btn{order:10}#active-slider{position:absolute;border-radius:var(--radius);border:2px solid var(--accent);background:#e8601a18;pointer-events:none;transition:left .38s cubic-bezier(.4,0,.2,1),top .38s cubic-bezier(.4,0,.2,1),width .38s cubic-bezier(.4,0,.2,1),height .38s cubic-bezier(.4,0,.2,1),border-color .38s cubic-bezier(.4,0,.2,1),background .38s cubic-bezier(.4,0,.2,1)}.player-header{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;align-self:flex-start;gap:4px;cursor:pointer;border-radius:var(--radius);padding:6px 8px;-webkit-tap-highlight-color:transparent}.player-header:active{background:#ffffff12}.player-name-wrap{width:100%;min-height:calc(clamp(14px,4vw,18px)*2.6);display:flex;align-items:center;justify-content:center}.player-name{font-size:clamp(14px,4vw,18px);line-height:1.3;font-weight:700;letter-spacing:.02em;text-align:center;width:100%;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow-wrap:break-word;hyphens:auto;-webkit-hyphens:auto}.player-score{font-size:clamp(44px,12vw,66px);font-weight:900;line-height:1;color:var(--gold)}.player-mpr{font-size:clamp(11px,2.8vw,14px);color:var(--muted);letter-spacing:.04em}.player-mpr span{color:var(--text);font-weight:600}.turn-indicator{width:8px;height:8px;border-radius:50%;background:var(--accent);margin-top:2px;opacity:0;transition:opacity .2s}.player-header.active-player .turn-indicator{opacity:1}#options-btn{flex:none;background:transparent;border:none;border-radius:var(--radius);color:var(--muted);width:var(--score-btn-size, 48px);height:48px;cursor:pointer;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:900;letter-spacing:-2px;line-height:1;-webkit-text-stroke:.5px currentColor;transition:background .15s,color .15s}#options-btn:active{background:#ffffff20;color:var(--text)}#options-overlay{display:none;position:fixed;inset:0;background:#000b;z-index:260;align-items:flex-end;justify-content:center}#options-overlay.show{display:flex}#options-panel{background:var(--surface);border-radius:20px 20px 0 0;width:100%;max-width:480px;padding:0 0 32px;display:flex;flex-direction:column}@keyframes slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slide-down{0%{transform:translateY(0)}to{transform:translateY(100%)}}@keyframes backdrop-in{0%{background:transparent}to{background:#000b}}@keyframes backdrop-out{0%{background:#000b}to{background:transparent}}@keyframes pop-out{0%{transform:scale(1);opacity:1}to{transform:scale(.85);opacity:0}}#options-overlay.opening{animation:backdrop-in .18s ease forwards}#options-overlay.closing{display:flex;animation:backdrop-out .18s ease forwards}#options-panel.opening{animation:slide-up .3s cubic-bezier(.4,0,.2,1)}#options-panel.closing{animation:slide-down .3s cubic-bezier(.4,0,.2,1) forwards}#options-titlebar{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 8px;border-bottom:1px solid #ffffff12}#options-titlebar h2{font-size:18px;font-weight:700}#options-close{background:#ffffff18;border:none;color:var(--text);font-size:16px;width:30px;height:30px;border-radius:50%;cursor:pointer;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center}#options-close:active{background:#ffffff28}#options-body{flex:1;padding:8px 0}.options-row{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #ffffff0a}.options-row:last-child{border-bottom:none}.options-row-label{font-size:16px;font-weight:500}.options-row-sub{font-size:12px;color:var(--muted);margin-top:2px}.toggle{position:relative;width:51px;height:31px;flex-shrink:0}.toggle input{display:none}.toggle-track{position:absolute;inset:0;background:#444;border-radius:31px;transition:background .2s;cursor:pointer}.toggle-thumb{position:absolute;width:27px;height:27px;top:2px;left:2px;background:#fff;border-radius:50%;transition:transform .2s cubic-bezier(.4,0,.2,1);pointer-events:none}.toggle input:checked~.toggle-track{background:var(--accent)}.toggle input:checked~.toggle-thumb{transform:translate(20px)}#options-footer{padding:16px 20px 0}#options-save-exit-btn{width:100%;background:var(--card);border:1px solid #ffffff20;border-radius:var(--radius);color:var(--muted);font-size:16px;font-weight:600;padding:14px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s}#options-save-exit-btn:active{background:#ffffff12}#options-abandon-btn{width:100%;background:#ff3b3b22;border:1px solid #ff3b3b66;color:#ff6b6b;font-size:16px;font-weight:600;padding:14px;border-radius:var(--radius);cursor:pointer;margin-top:8px;-webkit-tap-highlight-color:transparent;transition:background .15s}#options-abandon-btn:active{background:#ff3b3b44}#scoreboard{flex:1;display:flex;flex-direction:column;padding:6px 12px;overflow:hidden;gap:4px}.number-row{flex:1;display:flex;flex-direction:row;align-items:center;gap:6px;border-bottom:1px solid #ffffff0a;padding-bottom:4px;-webkit-tap-highlight-color:transparent}.number-row:last-child{border-bottom:none}.marks-side{flex:1;display:flex;align-items:center;gap:4px;padding:0 12px}.marks-side.left{justify-content:flex-end}.marks-side.right{justify-content:flex-start}.mark{width:clamp(16px,4vw,22px);height:clamp(16px,4vw,22px);display:flex;align-items:center;justify-content:center}.mark svg{width:100%;height:100%}.number-btn{flex:none;align-self:stretch;background:var(--card);border:2px solid #ffffff15;border-radius:var(--radius);color:var(--text);font-size:calc(var(--score-btn-size, 48px) * .5);font-weight:800;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .1s,background .15s;-webkit-tap-highlight-color:transparent;position:relative;user-select:none}.number-btn.maxed{opacity:.35;pointer-events:none}.number-btn.closed{background:#1a1a1a;border-color:#333;color:var(--closed)}@keyframes glow-p1{0%,to{box-shadow:0 0 4px #e8601a28;border-color:#e8601a44}50%{box-shadow:0 0 10px #e8601a55;border-color:#e8601a77}}@keyframes glow-p2{0%,to{box-shadow:0 0 4px #4caf5028;border-color:#4caf5044}50%{box-shadow:0 0 10px #4caf5055;border-color:#4caf5077}}.number-btn.p1-owns{border-width:4px;animation:glow-p1 4s ease-in-out infinite}.number-btn.p2-owns{border-width:4px;animation:glow-p2 4s ease-in-out infinite}@keyframes glow-p3{0%,to{box-shadow:0 0 4px #f5a62328;border-color:#f5a62344}50%{box-shadow:0 0 10px #f5a62355;border-color:#f5a62377}}.number-btn.p3-owns{border-width:4px;animation:glow-p3 4s ease-in-out infinite}.number-btn.p1p2-owns{border-width:4px;border-color:transparent;background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(135deg,#e8601a 50%,#4caf50 50%) border-box;animation:glow-split-p1p2 4s ease-in-out infinite}.number-btn.p1p3-owns{border-width:4px;border-color:transparent;background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(135deg,#e8601a 50%,#f5a623 50%) border-box;animation:glow-split-p1p3 4s ease-in-out infinite}.number-btn.p2p3-owns{border-width:4px;border-color:transparent;background:linear-gradient(var(--card),var(--card)) padding-box,linear-gradient(135deg,#4caf50 50%,#f5a623 50%) border-box;animation:glow-split-p2p3 4s ease-in-out infinite}@keyframes glow-split-p1p2{0%,to{box-shadow:-2px -2px 5px #e8601a28,2px 2px 5px #4caf5028}50%{box-shadow:-3px -3px 10px #e8601a44,3px 3px 10px #4caf5044}}@keyframes glow-split-p1p3{0%,to{box-shadow:-2px -2px 5px #e8601a28,2px 2px 5px #f5a62328}50%{box-shadow:-3px -3px 10px #e8601a44,3px 3px 10px #f5a62344}}@keyframes glow-split-p2p3{0%,to{box-shadow:-2px -2px 5px #4caf5028,2px 2px 5px #f5a62328}50%{box-shadow:-3px -3px 10px #4caf5044,3px 3px 10px #f5a62344}}.number-btn.both-closed{border-color:#1a3320;background:#091409}.number-btn.both-closed:after{content:"";position:absolute;inset:0;background:repeating-linear-gradient(45deg,transparent,transparent 4px,#ffffff06 4px,#ffffff06 5px);border-radius:10px}.mark-svg{width:clamp(48px,12vw,68px);height:clamp(48px,12vw,68px);flex-shrink:0}.marks-multi-right{flex:1;display:flex;flex-direction:column;justify-content:center;gap:2px;padding:0 8px}.marks-player-row{display:flex;align-items:center;gap:4px}.marks-mini-dot{width:6px;height:6px;border-radius:50%;flex-shrink:0}.marks-multi-right .mark-svg{width:clamp(26px,6.5vw,38px);height:clamp(26px,6.5vw,38px)}.ct-scoreboard-header{display:flex;flex-direction:row;align-items:center;flex-shrink:0;padding-bottom:4px;border-bottom:1px solid #ffffff18}.ct-col-placeholder{flex:1}.ct-options-cell{flex:0 0 80px;display:flex;align-items:center;justify-content:center}.ct-options-btn{background:none;border:1px solid var(--muted);color:var(--muted);width:32px;height:32px;border-radius:50%;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:all .15s;display:flex;align-items:center;justify-content:center}.ct-options-btn:active{background:#ffffff12;color:var(--text)}.cutthroat-row{flex:1;display:flex;flex-direction:row;align-items:stretch;gap:4px;border-bottom:1px solid #ffffff0a;padding-bottom:4px}.cutthroat-row:last-child{border-bottom:none;padding-bottom:0}.ct-marks-cell{flex:1;min-width:0;overflow:hidden;display:flex;align-items:center;justify-content:center}.ct-btn-cell{flex:none;align-self:stretch;width:var(--score-btn-size);display:flex;align-items:stretch}.ct-btn-cell .number-btn{flex:1}.ct-marks-cell .mark-svg{width:clamp(48px,12vw,68px);height:clamp(48px,12vw,68px)}#scoreboard.three-player .ct-marks-cell .mark-svg{width:clamp(34px,9.5vw,54px);height:clamp(34px,9.5vw,54px)}#enter-bar{flex-shrink:0;padding:14px 22px 32px;background:var(--surface);border-top:1px solid #ffffff18;display:flex;gap:10px}#undo-btn{flex:0 0 64px;background:var(--gold);color:#1a1a00;border:none;border-radius:var(--radius);font-size:26px;-webkit-text-stroke:1px #1a1a00;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s,opacity .1s;display:flex;align-items:center;justify-content:center}#undo-btn:active{transform:scale(.95);opacity:.7}#undo-btn:disabled{opacity:.25;pointer-events:none}#enter-btn{flex:1;background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:clamp(16px,4.5vw,20px);font-weight:800;letter-spacing:.04em;padding:14px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s,opacity .1s;display:flex;align-items:center;justify-content:center;gap:8px}#enter-btn:active{transform:scale(.97);opacity:.85}#enter-btn .arrow{font-size:1.1em}#winner-overlay{display:none;position:fixed;inset:0;background:#000c;z-index:100;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:24px}#winner-overlay.show{display:flex}#winner-text{font-size:clamp(28px,8vw,48px);font-weight:900;color:var(--gold);text-align:center;animation:pop .4s cubic-bezier(.175,.885,.32,1.275)}#winner-scores{font-size:clamp(16px,4vw,22px);color:var(--text);text-align:center;opacity:.85}#play-again-btn{margin-top:8px;background:var(--accent);color:#fff;border:none;font-size:18px;font-weight:700;padding:14px 40px;border-radius:30px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:transform .1s}#play-again-btn:active{transform:scale(.96)}@keyframes pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}@keyframes btn-tap{0%{transform:scale(1)}35%{transform:scale(.88);background:#fff2}70%{transform:scale(1.07)}to{transform:scale(1)}}.number-btn.tapped{animation:btn-tap .28s cubic-bezier(.36,.07,.19,.97)}#name-picker-overlay{display:none;position:fixed;inset:0;background:#000b;z-index:400;align-items:flex-end;justify-content:center}#name-picker-overlay.show{display:flex}#name-picker-panel{background:var(--surface);border-radius:20px 20px 0 0;width:100%;max-width:480px;max-height:70vh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,0px)}#name-picker-overlay.opening{animation:backdrop-in .18s ease forwards}#name-picker-overlay.closing{display:flex;animation:backdrop-out .18s ease forwards}#name-picker-panel.opening{animation:slide-up .3s cubic-bezier(.4,0,.2,1)}#name-picker-panel.closing{animation:slide-down .3s cubic-bezier(.4,0,.2,1) forwards}#name-picker-titlebar{display:flex;align-items:center;justify-content:space-between;padding:20px 20px 12px;border-bottom:1px solid #ffffff12;flex-shrink:0}#name-picker-titlebar h2{font-size:18px;font-weight:700}#name-picker-close{background:#ffffff18;border:none;color:var(--text);font-size:16px;width:30px;height:30px;border-radius:50%;cursor:pointer;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center}#name-picker-close:active{background:#ffffff28}#name-picker-list{overflow-y:auto;-webkit-overflow-scrolling:touch}.name-option{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-bottom:1px solid #ffffff0a;cursor:pointer;-webkit-tap-highlight-color:transparent;font-size:17px;font-weight:500;transition:background .1s}.name-option:last-child{border-bottom:none}.name-option:active{background:#ffffff0f}.name-option.name-selected{color:var(--accent)}.name-option.name-taken{opacity:.3;pointer-events:none}.name-check{color:var(--accent);font-size:18px;font-weight:700}.name-custom-row{display:flex;align-items:center;gap:10px;padding:12px 16px;border-bottom:1px solid #ffffff18;flex-shrink:0}#name-custom-input{flex:1;background:var(--card);border:1px solid #ffffff20;border-radius:8px;color:var(--text);font-size:16px;font-family:inherit;padding:10px 12px;outline:none;-webkit-appearance:none}#name-custom-input::placeholder{color:var(--muted)}#name-custom-input:focus{border-color:var(--accent)}#name-add-btn{background:var(--accent);border:none;color:#fff;font-size:22px;font-weight:700;width:40px;height:40px;border-radius:8px;cursor:pointer;flex-shrink:0;display:flex;align-items:center;justify-content:center;-webkit-tap-highlight-color:transparent;line-height:1}#name-add-btn:active{opacity:.75}.name-section-label{font-size:11px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.08em;padding:10px 20px 4px}#setup-overlay{display:none;position:fixed;inset:0;z-index:300;background:var(--bg);overflow-y:auto}#setup-overlay.show{display:block}#setup-inner{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(24px,8vh,60px);padding:40px 20px 72px;box-sizing:border-box}#setup-heading{text-align:center;flex-shrink:0;width:100%;max-width:460px}#setup-app-label{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin-bottom:8px}#setup-mid{width:100%;max-width:460px;display:flex;flex-direction:column;gap:18px}#add-player-row{display:flex;justify-content:center}#add-player-btn{display:flex;align-items:center;gap:12px;cursor:pointer;-webkit-tap-highlight-color:transparent;padding:8px 14px;border-radius:30px;transition:background .15s}#add-player-btn:active{background:#ffffff0a}.add-player-circle{width:44px;height:44px;border-radius:50%;border:2px solid var(--muted);color:var(--muted);display:flex;align-items:center;justify-content:center;flex-shrink:0}.add-player-label{font-size:14px;font-weight:500;color:var(--muted)}#setup-players{display:flex;flex-wrap:wrap;justify-content:center;gap:14px;width:100%}.setup-player-slot{flex:0 1 calc(50% - 7px);background:var(--card);border:2px solid #ffffff15;border-radius:16px;padding:18px 12px 14px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:10px;-webkit-tap-highlight-color:transparent;transition:border-color .2s,background .15s}.setup-player-slot:active{background:#ffffff0d}.setup-player-slot.has-name{border-color:var(--accent)}.setup-slot-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.setup-slot-name{font-size:clamp(15px,4vw,20px);font-weight:800;text-align:center;line-height:1.2;min-height:1.4em}.setup-chevron{width:20px;height:20px;color:var(--muted);flex-shrink:0}#setup-footer{flex-shrink:0;width:100%;max-width:460px;display:flex;gap:10px}#game-on-btn,#x01-game-on-btn{flex:1;background:var(--accent);border:none;color:#fff;font-size:18px;font-weight:800;letter-spacing:.04em;padding:16px;border-radius:var(--radius);cursor:pointer;-webkit-tap-highlight-color:transparent;transition:opacity .15s,transform .1s}#game-on-btn:active,#x01-game-on-btn:active{transform:scale(.97)}#game-on-btn:disabled,#x01-game-on-btn:disabled{opacity:.3;pointer-events:none}.bot-skill-row{display:flex;align-items:center;padding:14px 20px;border-bottom:1px solid #ffffff0a;cursor:pointer;-webkit-tap-highlight-color:transparent;gap:14px;transition:background .1s}.bot-skill-row:active{background:#ffffff0f}.bot-skill-row.bot-selected{color:var(--accent)}.bot-skill-icon{font-size:22px;flex-shrink:0;width:32px;text-align:center}.bot-skill-info{flex:1;min-width:0}.bot-skill-name{font-size:16px;font-weight:600}.bot-skill-desc{font-size:12px;color:var(--muted);margin-top:2px}.bot-skill-check{color:var(--accent);font-size:18px;font-weight:700;flex-shrink:0}.picker-back-btn{display:flex;align-items:center;gap:8px;padding:14px 20px;border-bottom:1px solid #ffffff18;cursor:pointer;color:var(--muted);font-size:14px;-webkit-tap-highlight-color:transparent}.picker-back-btn:active{background:#ffffff0f}.setup-player-slot.is-bot.has-name{border-color:var(--muted)}#scoreboard.bot-active .number-btn{pointer-events:none}#enter-btn.bot-active{opacity:.45;pointer-events:none}#bot-turn-overlay{display:none;position:fixed;inset:0;z-index:255;pointer-events:none;align-items:center;justify-content:center;padding:16px}#bot-turn-overlay.show{display:flex}#bot-turn-panel{background:var(--surface);border:1px solid #ffffff22;border-radius:18px;padding:14px 16px 16px;width:100%;max-width:320px;box-shadow:0 12px 40px #00000070;display:flex;flex-direction:column;gap:10px;animation:pop .22s cubic-bezier(.175,.885,.32,1.275)}#bot-turn-header{display:flex;align-items:center;justify-content:space-between}#bot-turn-name-wrap{display:flex;align-items:center;gap:6px;font-size:15px;font-weight:700}#bot-turn-skill{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}#bot-dart-row{display:flex;gap:8px}.bot-dart-slot{flex:1;background:var(--card);border:1px solid #ffffff12;border-radius:10px;min-height:54px;display:flex;align-items:center;justify-content:center}.bot-dart-val{font-size:17px;font-weight:800;letter-spacing:-.01em}.bot-dart-val.pending{color:#ffffff18;font-size:22px;font-weight:300}.bot-dart-val.miss{color:var(--muted);font-size:13px;font-weight:600}.bot-dart-val.hit{color:var(--green);animation:pop .22s cubic-bezier(.175,.885,.32,1.275)}.bot-dart-val.double{color:var(--gold);animation:pop .22s cubic-bezier(.175,.885,.32,1.275)}.bot-dart-val.triple{color:var(--accent);animation:pop .22s cubic-bezier(.175,.885,.32,1.275)}#home-overlay{display:none;position:fixed;inset:0;z-index:200;background:var(--bg);align-items:center;justify-content:center;padding:20px;box-sizing:border-box}#home-overlay.show{display:flex}#home-tiles-center{position:relative;display:flex;flex-direction:column;align-items:center;gap:clamp(20px,5vh,32px);width:100%;max-width:380px}#home-logo{position:absolute;bottom:100%;left:0;right:0;text-align:center;padding-bottom:clamp(16px,4vh,32px)}#home-logo-text{font-size:clamp(36px,10vw,52px);font-weight:900;letter-spacing:-.03em}#home-logo-sub{font-size:13px;color:var(--muted);margin-top:4px;letter-spacing:.08em;text-transform:uppercase;font-weight:600}#home-tiles{display:flex;gap:14px;width:100%;max-width:380px}.home-tile{flex:1;background:var(--card);border:2px solid #ffffff15;border-radius:20px;padding:clamp(20px,6vw,32px) 12px;display:flex;flex-direction:column;align-items:center;gap:10px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .15s,background .15s}.home-tile:active{background:#ffffff0d;border-color:var(--accent)}.home-tile-icon{font-size:34px}.home-tile-name{font-size:clamp(17px,5vw,22px);font-weight:800}.home-tile-sub{font-size:12px;color:var(--muted);text-align:center;line-height:1.4}#home-continue{display:none;flex-direction:column;gap:10px;width:100%;max-width:380px}#home-continue.show{display:flex}#home-continue-label{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;color:var(--muted);text-align:center}.home-continue-btn{width:100%;background:var(--card);border:2px solid #4caf5040;border-radius:var(--radius);color:var(--text);font-size:15px;font-weight:600;padding:14px 20px;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:border-color .15s}.home-continue-btn:active{border-color:var(--green)}#home-saves-list{display:flex;flex-direction:column;gap:10px}.save-item{position:relative;overflow:hidden;border-radius:var(--radius);max-height:200px;opacity:1;transition:max-height .3s ease,opacity .22s ease}.save-item.removing{max-height:0;opacity:0;pointer-events:none}.save-item .home-continue-btn{touch-action:pan-y;position:relative;z-index:1;user-select:none;-webkit-user-select:none}.save-delete-btn{position:absolute;right:0;top:0;bottom:0;width:80px;background:#ff3b3b;color:#fff;border:none;font-size:14px;font-weight:700;cursor:pointer;-webkit-tap-highlight-color:transparent}.save-delete-btn:active{background:#c02020}#x01-setup-overlay{display:none;position:fixed;inset:0;z-index:310;background:var(--bg);overflow-y:auto}#x01-setup-overlay.show{display:block}#x01-setup-inner{min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:clamp(20px,6vh,48px);padding:40px 20px 72px;box-sizing:border-box}#x01-setup-heading{text-align:center;width:100%;max-width:460px}#x01-target-picker-card{display:flex;align-items:center;justify-content:center;gap:0;background:var(--card);border:2px solid #ffffff15;border-radius:16px;padding:0 28px;width:100%;max-width:460px;user-select:none}#x01-target-wheel-wrap{position:relative;height:192px;width:72px;overflow:hidden;flex-shrink:0}#x01-target-wheel{height:100%;overflow-y:scroll;scroll-snap-type:y mandatory;scrollbar-width:none;-ms-overflow-style:none}#x01-target-wheel::-webkit-scrollbar{display:none}.x01-wheel-spacer{height:64px;flex-shrink:0}.x01-wheel-item{height:64px;display:flex;align-items:center;justify-content:center;font-size:48px;font-weight:900;color:var(--text);scroll-snap-align:center;cursor:pointer;transition:color .15s,opacity .15s}#x01-target-wheel-fade-top,#x01-target-wheel-fade-bottom{position:absolute;left:0;right:0;height:64px;pointer-events:none;z-index:2}#x01-target-wheel-fade-top{top:0;background:linear-gradient(to bottom,var(--card),transparent)}#x01-target-wheel-fade-bottom{bottom:0;background:linear-gradient(to top,var(--card),transparent)}#x01-target-wheel-selector{position:absolute;top:64px;left:0;right:0;height:64px;border-top:1px solid var(--accent);border-bottom:1px solid var(--accent);pointer-events:none;z-index:1}#x01-target-suffix{font-size:48px;font-weight:900;color:var(--text);line-height:1;padding-left:4px;flex-shrink:0}#x01-setup-players{width:100%;max-width:460px;display:flex;flex-direction:column;gap:10px}#x01-setup-footer{display:flex;gap:10px;width:100%;max-width:460px}#x01-back-btn{background:var(--card);border:1px solid #ffffff20;border-radius:var(--radius);color:var(--muted);font-size:16px;font-weight:600;padding:14px 20px;cursor:pointer;flex-shrink:0;-webkit-tap-highlight-color:transparent}#x01-overlay{display:none;position:fixed;inset:0;z-index:250;background:var(--bg);flex-direction:column}#x01-overlay.show{display:flex}#x01-active-slider{position:absolute;border-radius:var(--radius);border:2px solid var(--accent);background:#e8601a18;pointer-events:none;transition:left .38s cubic-bezier(.4,0,.2,1),top .38s cubic-bezier(.4,0,.2,1),width .38s cubic-bezier(.4,0,.2,1),height .38s cubic-bezier(.4,0,.2,1),border-color .38s cubic-bezier(.4,0,.2,1),background .38s cubic-bezier(.4,0,.2,1)}#x01-cell-slider{position:fixed;border-radius:var(--radius);border:2px solid var(--accent);background:#e8601a18;pointer-events:none;z-index:5;opacity:0;transition:left .38s cubic-bezier(.4,0,.2,1),top .38s cubic-bezier(.4,0,.2,1),width .38s cubic-bezier(.4,0,.2,1),height .38s cubic-bezier(.4,0,.2,1),border-color .38s cubic-bezier(.4,0,.2,1),background .38s cubic-bezier(.4,0,.2,1),opacity .2s ease}#x01-header{position:relative;display:grid;grid-template-columns:1fr auto 48px auto 1fr;align-items:center;gap:4px;padding:10px 12px 6px;background:var(--surface);border-bottom:1px solid #ffffff18;flex-shrink:0}#x01-p0-col{grid-column:1}#x01-legs-col-1{grid-column:2}#x01-options-btn{grid-column:3}#x01-legs-col-2{grid-column:4}#x01-p1-col{grid-column:5}#x01-options-btn{background:transparent;border:none;border-radius:var(--radius);color:var(--muted);width:100%;height:48px;cursor:pointer;-webkit-tap-highlight-color:transparent;display:flex;align-items:center;justify-content:center;font-size:28px;font-weight:900;letter-spacing:-2px;line-height:1;-webkit-text-stroke:.5px currentColor;transition:background .15s,color .15s}#x01-options-btn:active{background:#ffffff20;color:var(--text)}.x01-player-col{display:flex;flex-direction:column;align-items:center;gap:2px;border-radius:var(--radius);padding:6px 8px;transition:background .15s}.x01-player-col.x01-active{background:transparent}#x01-header .player-name{font-size:clamp(14px,4vw,28px)}.x01-avg{font-size:clamp(11px,2.8vw,13px);color:var(--muted);white-space:nowrap}#x01-body{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;display:flex;flex-direction:column}#x01-history{padding:6px 0}#x01-history-header{display:grid;grid-template-columns:1fr 1fr 44px 1fr 1fr;padding:6px 16px;border-bottom:1px solid #ffffff18;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);flex-shrink:0;position:relative;z-index:6;background:var(--bg)}.x01-hdr-p0-scored,.x01-hdr-p0-left,.x01-hdr-visit,.x01-hdr-p1-scored,.x01-hdr-p1-left{text-align:center}.x01-history-row{display:grid;grid-template-columns:1fr 1fr 44px 1fr 1fr;align-items:center;padding:16px;border-bottom:1px solid #ffffff08;font-size:clamp(32px,9vw,76px)}.x01-hist-p0-scored{color:var(--text);text-align:center;font-weight:800}.x01-hist-p0-left{font-weight:800;color:var(--accent);text-align:center}.x01-hist-p1-scored{color:var(--text);text-align:center;font-weight:800}.x01-hist-p1-left{font-weight:800;color:var(--accent);text-align:center}.x01-hist-current{font-size:clamp(48px,13vw,110px);font-weight:900}.x01-hist-old,.x01-hist-dim{opacity:.55}.x01-hist-visit{text-align:center;color:var(--muted);font-size:clamp(13px,3.5vw,22px);opacity:.55}.x01-hist-latest-rem{color:var(--gold)!important}.x01-high-score{position:relative}.x01-high-score:after{content:"";position:absolute;inset:6px 4px;border-radius:12px;border:2px solid var(--gold);pointer-events:none}.x01-hist-scored-tap{cursor:pointer;-webkit-tap-highlight-color:transparent;border-radius:6px;padding:2px 4px;transition:background .1s}.x01-hist-scored-tap:active{background:#ffffff18}.x01-hist-editing{color:var(--accent)!important;font-weight:800}#x01-numpad-area{flex-shrink:0;background:var(--surface);border-top:1px solid #ffffff18;padding:10px 12px 28px;position:relative;z-index:6}#x01-numpad{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.x01-key{background:var(--card);border:1px solid #ffffff15;border-radius:var(--radius);color:var(--text);font-size:clamp(26px,7vw,34px);font-weight:700;padding:13px 0;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .1s}.x01-key:active{background:#ffffff18}#x01-key-clear{background:var(--gold);color:#fff}#x01-key-clear.inactive{background:#f5a62322;border-color:#f5a62344;color:#f5a62399;pointer-events:none}#x01-key-clear.tapped{background:var(--accent)!important}#x01-key-enter{background:var(--accent);border-color:transparent}#x01-key-enter:active{background:#c04e12}#x01-key-enter.inactive{background:#ff3b3b22;border-color:#ff3b3b44;color:#ff6b6b;pointer-events:none}#x01-winner{display:none;position:absolute;inset:0;background:var(--bg);flex-direction:column;align-items:center;justify-content:center;gap:20px;z-index:10;padding:24px;text-align:center}#x01-winner.show{display:flex}#x01-winner-text{font-size:clamp(26px,7vw,36px);font-weight:900}#x01-winner-stats{font-size:15px;color:var(--muted)}#x01-winner-btns{display:flex;flex-direction:column;gap:10px;width:100%;max-width:320px;margin-top:8px}#x01-play-again-btn{background:var(--accent);color:#fff;border:none;border-radius:var(--radius);font-size:18px;font-weight:700;padding:16px;cursor:pointer;width:100%}#x01-home-from-winner-btn{background:var(--card);border:1px solid #ffffff20;border-radius:var(--radius);color:var(--muted);font-size:16px;font-weight:600;padding:14px;cursor:pointer;width:100%}#leg-won-overlay{display:none;position:fixed;inset:0;z-index:460;background:#000b;align-items:center;justify-content:center;padding:24px}#leg-won-overlay.show{display:flex}#leg-won-panel{background:var(--surface);border-radius:20px;padding:28px 24px;width:100%;max-width:320px;display:flex;flex-direction:column;gap:10px;text-align:center}#leg-won-title{font-size:22px;font-weight:900;color:var(--gold);animation:pop .35s cubic-bezier(.175,.885,.32,1.275)}#leg-won-name{font-size:17px;font-weight:700}#leg-won-score{font-size:14px;color:var(--muted);line-height:1.6}#leg-won-btns{display:flex;flex-direction:column;gap:8px;margin-top:8px}#leg-won-next{background:var(--accent);border:none;border-radius:var(--radius);color:#fff;font-size:16px;font-weight:700;padding:14px;cursor:pointer;width:100%;-webkit-tap-highlight-color:transparent}#leg-won-end{background:var(--card);border:1px solid #ffffff20;border-radius:var(--radius);color:var(--muted);font-size:16px;font-weight:600;padding:14px;cursor:pointer;width:100%;-webkit-tap-highlight-color:transparent}#legs-row,#x01-legs-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;max-width:460px;background:var(--card);border:2px solid #ffffff15;border-radius:14px;padding:10px 16px}.legs-row-label{font-size:13px;font-weight:600;color:var(--muted);flex-shrink:0}.legs-stepper{display:flex;align-items:center;gap:16px}.legs-stepper-btn{width:36px;height:36px;border-radius:50%;border:2px solid #ffffff20;background:var(--surface);color:var(--text);font-size:22px;font-weight:700;line-height:1;display:flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:background .15s,border-color .15s;flex-shrink:0}.legs-stepper-btn:active{background:#ffffff18;border-color:var(--accent)}.legs-stepper-btn:disabled{opacity:.3;cursor:default}.legs-stepper-val{font-size:28px;font-weight:900;color:var(--text);min-width:48px;text-align:center;line-height:1}.legs-stepper-unit{font-size:13px;font-weight:600;color:var(--muted);min-width:30px}.player-leg-wins{font-size:clamp(14px,3.5vw,18px);font-weight:700;color:var(--gold);display:none;letter-spacing:.02em}.player-leg-wins.show{display:block}.x01-leg-wins{font-size:clamp(14px,3.5vw,18px);font-weight:700;color:var(--gold);display:none;letter-spacing:.02em;text-align:center}.x01-leg-wins.show{display:block}.legs-col{display:none;flex-direction:column;align-items:center;align-self:flex-start;flex-shrink:0;padding:6px 8px;gap:4px;pointer-events:none;min-width:44px}.legs-col.show{display:flex}#legs-col-1,#x01-legs-col-1{padding-left:20px}#legs-col-2,#x01-legs-col-2{padding-right:20px}.legs-col-label{font-size:11px;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.08em}.legs-col-count{color:var(--text)}#x01-legs-col-1 .legs-col-count,#x01-legs-col-2 .legs-col-count{font-size:clamp(32px,7vw,52px)}#x01-legs-col-1,#x01-legs-col-2{align-self:center;justify-content:center}#x01-legs-col-1 .legs-col-label,#x01-legs-col-2 .legs-col-label{display:none}@media(max-width:519px){.legs-col{display:none!important}.player-leg-wins.show,.x01-leg-wins.show{display:block}}@media(min-width:520px){.player-leg-wins{display:none!important}#header.cutthroat .player-leg-wins.show{display:block!important}.x01-leg-wins{display:none!important}.player-score{font-size:clamp(44px,12vw,96px)}#header.cutthroat .player-score{font-size:clamp(32px,8vw,68px)}.player-name{font-size:clamp(16px,4vw,24px)}.player-name-wrap{min-height:calc(clamp(16px,4vw,24px)*2.6)}.legs-col-label{font-size:14px}.player-mpr{font-size:clamp(11px,2.8vw,18px)}.x01-history-row{font-size:clamp(48px,10vw,90px)}.ct-marks-cell .mark-svg{width:90px;height:90px}#scoreboard.three-player .ct-marks-cell .mark-svg{width:72px;height:72px}.number-btn.p1-owns,.number-btn.p2-owns,.number-btn.p3-owns,.number-btn.p1p2-owns,.number-btn.p1p3-owns,.number-btn.p2p3-owns{border-width:6px}}.clock-board{justify-content:center;gap:24px}.clock-target{display:flex;flex-direction:column;align-items:center;gap:4px}.clock-target-label{font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}.clock-target-value{font-size:clamp(64px,22vw,140px);font-weight:900;line-height:1;color:var(--gold)}.clock-progress{font-size:13px;color:var(--muted)}.clock-pad{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;padding:0 12px}.clock-key{background:var(--card);border:1px solid #ffffff15;border-radius:var(--radius);color:var(--text);font-size:clamp(20px,6vw,28px);font-weight:800;padding:18px 0;cursor:pointer;-webkit-tap-highlight-color:transparent}.clock-key:active{background:#ffffff18}.clock-slots{display:flex;gap:10px;justify-content:center}.clock-slot{flex:1 1 0;max-width:110px;background:var(--card);border:1px solid #ffffff12;border-radius:10px;min-height:54px;display:flex;align-items:center;justify-content:center;font-size:18px;font-weight:800}#app,#match-root{display:flex;flex-direction:column;flex:1;min-height:0}
