:root{color-scheme:dark;--bg:#0b1020;--panel:#141b2d;--panel2:#0f172a;--text:#eef2ff;--muted:#9aa6bd;--border:#29344d;--accent:#4f8cff;--good:#40c98c;--warn:#f4b740;--bad:#f06a6a}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.45 system-ui,-apple-system,Segoe UI,sans-serif}header{position:sticky;top:0;z-index:3;display:flex;justify-content:space-between;align-items:center;padding:14px max(16px,calc((100% - 1280px)/2));background:#0b1020ee;border-bottom:1px solid var(--border);backdrop-filter:blur(12px)}header strong{font-size:1.2rem}.badge,.pill{display:inline-block;margin-left:10px;padding:4px 9px;border:1px solid var(--border);border-radius:999px;font-size:.78rem;color:var(--muted)}.state{font-size:.9rem;color:var(--muted)}main{max-width:1280px;margin:auto;padding:18px;display:grid;gap:18px}.hero-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.panel{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:16px;min-width:0}.panel-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px}.panel h2{font-size:1.05rem;margin:0}.panel p{margin:3px 0 0;color:var(--muted);font-size:.9rem}.image-wrap{aspect-ratio:16/9;background:#060913;border-radius:12px;overflow:hidden;display:grid;place-items:center;border:1px solid #1e293b}.image-wrap.square{aspect-ratio:1/1;max-height:580px}.image-wrap img{width:100%;height:100%;object-fit:contain}.actions,.truth-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:12px}button,.linkbtn,select{min-height:44px;border-radius:10px;border:1px solid var(--border);font:inherit}button,.linkbtn{padding:9px 14px;background:var(--accent);color:white;font-weight:650;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}button.secondary,.linkbtn{background:var(--panel2);color:var(--text)}button.confirm-correct{background:var(--good);border-color:var(--good);color:#07130d}button:disabled{opacity:.45;cursor:not-allowed}select{background:var(--panel2);color:var(--text);padding:8px 12px}.help{color:var(--muted);font-size:.85rem}.prediction{display:flex;align-items:center;justify-content:center;min-height:64px;margin-top:12px;border-radius:12px;background:var(--panel2);font-size:1.6rem;font-weight:800}.prediction small{font-size:.75rem;font-weight:500;color:var(--muted);margin-left:10px}.muted{color:var(--muted);font-size:.9rem;font-weight:500}.stats{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin-top:16px}.stat{background:var(--panel2);border:1px solid var(--border);border-radius:12px;padding:12px}.stat b{display:block;font-size:1.4rem}.stat span{color:var(--muted);font-size:.8rem}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;min-width:650px}th,td{text-align:left;padding:10px;border-bottom:1px solid var(--border);font-size:.9rem}th{color:var(--muted);font-size:.78rem}.ok{color:var(--good)}.bad{color:var(--bad)}dialog{border:0;padding:0;background:transparent;color:var(--text);width:min(1000px,94vw)}dialog::backdrop{background:#000b}.dialog-card{background:var(--panel);border:1px solid var(--border);border-radius:16px;padding:16px}.iconbtn{background:transparent;border:1px solid var(--border);font-size:1.4rem;min-width:44px}.cal-canvas-wrap{margin-top:12px;background:#060913;border-radius:12px;overflow:auto;text-align:center}.cal-canvas-wrap canvas{max-width:100%;height:auto;display:block;margin:auto;touch-action:manipulation}@media(max-width:850px){.hero-grid{grid-template-columns:1fr}.stats{grid-template-columns:repeat(2,minmax(0,1fr))}header{padding:12px 16px}.truth-row>*{flex:1 1 130px}}@media(max-width:460px){main{padding:10px}.panel{padding:12px}.stats{grid-template-columns:1fr 1fr}.panel-head{flex-wrap:wrap}}
.camera-toolbar{display:flex;gap:10px;align-items:end;flex-wrap:wrap;margin:10px 0}.camera-toolbar label{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:.85rem}.camera-toolbar select{min-width:170px}.check-row{display:flex;align-items:center;gap:9px;margin:10px 0;color:var(--text);font-size:.9rem}.check-row input{width:18px;height:18px}.camera-list{display:grid;gap:10px;margin-top:12px}.camera-row{display:grid;grid-template-columns:minmax(130px,1.1fr) minmax(140px,1fr) minmax(140px,1fr) auto;gap:10px;align-items:center;background:var(--panel2);border:1px solid var(--border);border-radius:12px;padding:12px}.camera-row .camera-id{font-size:.78rem;color:var(--muted)}.camera-row label{display:grid;gap:4px;font-size:.78rem;color:var(--muted)}.camera-row .use-check{display:flex;align-items:center;gap:7px;white-space:nowrap;color:var(--text)}.camera-row .use-check input{width:18px;height:18px}.camera-online-dot{font-size:.8rem}.camera-online-dot.ok{color:var(--good)}.camera-online-dot.bad{color:var(--bad)}@media(max-width:760px){.camera-row{grid-template-columns:1fr 1fr}.camera-row .use-check{grid-column:1/-1}}

/* 0.1.6.2 diagnostic export */
.head-actions{display:flex;gap:.55rem;flex-wrap:wrap;justify-content:flex-end;align-items:center}
.diagnostic-export{white-space:nowrap}
@media(max-width:720px){.head-actions{width:100%;justify-content:flex-start}}

/* 0.1.6.4 incremental training export */
.diagnostic-export-group{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.diagnostic-export-group select{min-width:205px}.diagnostic-export{white-space:nowrap}
@media(max-width:720px){.diagnostic-export-group{width:100%}.diagnostic-export-group select,.diagnostic-export-group button{flex:1 1 190px}}

/* 0.1.6.5 – restore side-by-side tip correction on desktop. */
#tipDialog{width:min(1080px,96vw)}
#tipDialog .cal-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(360px,480px);gap:16px;align-items:start}
#tipDialog .cal-grid>section{min-width:0}
#tipDialog .cal-subhead{display:flex;justify-content:space-between;gap:10px;align-items:baseline;min-height:24px;margin-top:4px;color:var(--muted);font-size:.82rem}
#tipDialog .cal-subhead b{color:var(--text);font-size:.9rem}
#tipDialog .cal-zoom-wrap{margin-top:12px;background:#060913;border-radius:12px;overflow:hidden;text-align:center}
#tipDialog .cal-zoom-wrap canvas{display:block;width:100%;height:auto;max-width:480px;margin:auto;touch-action:manipulation}
#tipDialog .cal-zoom-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}
@media(max-width:860px){#tipDialog{width:min(720px,96vw)}#tipDialog .cal-grid{grid-template-columns:1fr}}


/* 0.1.6.6 – PWA install control. */
.header-actions{display:flex;align-items:center;gap:10px}.pwa-install{min-height:36px;padding:6px 11px;font-size:.82rem}.pwa-install.pwa-ready{border-color:var(--good)}
@media(max-width:560px){.header-actions{gap:6px}.pwa-install{padding:6px 9px}.state{display:none}}

/* 0.1.6.8 – DartTrace audio controls / MultiCam UI. */
.audio-settings{min-height:36px;padding:6px 11px;font-size:.82rem}
#audioDialog{width:min(620px,94vw)}
.audio-dialog-card{display:grid;gap:4px}
.audio-field{display:grid;grid-template-columns:110px minmax(0,1fr) auto;gap:10px;align-items:center;margin:9px 0;color:var(--muted);font-size:.9rem}
.audio-field select{width:100%;min-width:0}.audio-field input[type="range"]{width:100%;accent-color:var(--accent)}
#audioVolumeValue{min-width:44px;text-align:right;color:var(--text);font-variant-numeric:tabular-nums}
@media(max-width:560px){.audio-settings{padding:6px 9px}.audio-field{grid-template-columns:1fr}.audio-field #audioVolumeValue{text-align:left}}
/* 0.1.7 camera controls */
.camera-row input[type="text"],.camera-row input:not([type]){min-height:44px;border-radius:10px;border:1px solid var(--border);background:var(--panel2);color:var(--text);padding:8px 12px;font:inherit;min-width:0}
.camera-controls,.camera-controls-unavailable{grid-column:1/-1;border-top:1px solid var(--border);padding-top:9px;margin-top:2px}
.camera-controls>summary{cursor:pointer;color:var(--text);font-weight:650;padding:4px 0}
.camera-controls-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:12px}
.camera-control-field{display:grid;gap:6px;background:#0b1222;border:1px solid var(--border);border-radius:10px;padding:10px;color:var(--muted);font-size:.8rem}
.camera-control-field>span{min-height:19px}.camera-control-bool{grid-template-columns:1fr auto;align-items:center}.camera-control-bool input{width:20px;height:20px}
.camera-control-range{display:grid;grid-template-columns:1fr 72px;gap:8px;align-items:center}.camera-control-range input{width:100%;accent-color:var(--accent)}.camera-control-range output{text-align:right;color:var(--text);font-variant-numeric:tabular-nums}
.camera-control-actions{display:flex;gap:9px;align-items:center;justify-content:flex-end;flex-wrap:wrap;margin-top:12px}.camera-control-state{margin-right:auto;color:var(--muted);font-size:.78rem}
.camera-control-error{color:var(--bad);font-size:.78rem}.control-inactive{color:var(--warn);font-weight:500}.camera-controls-unavailable{color:var(--muted);font-size:.8rem}
@media(max-width:650px){.camera-controls-grid{grid-template-columns:1fr}.camera-control-actions button{flex:1 1 150px}}

/* 0.1.8 – lightweight 301 training game */
.game301-actions{display:flex;gap:.65rem;align-items:end;flex-wrap:wrap}.game301-actions label{display:flex;flex-direction:column;gap:.25rem;font-size:.82rem;color:var(--muted)}
.game301-actions select{min-width:130px}.game301-body{display:grid;grid-template-columns:minmax(180px,260px) 1fr;gap:1rem;align-items:stretch}.game301-score{border:1px solid var(--border);border-radius:16px;padding:1rem 1.2rem;display:flex;flex-direction:column;justify-content:center;align-items:center;min-height:150px;background:rgba(255,255,255,.025)}.game301-score span{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.78rem}.game301-score strong{font-size:4.4rem;line-height:1;font-variant-numeric:tabular-nums}.game301-score small{margin-top:.55rem;color:var(--muted);text-align:center}.game301-turn{border:1px solid var(--border);border-radius:16px;padding:1rem;min-height:150px}.game301-darts{display:flex;gap:.6rem;flex-wrap:wrap;margin-bottom:.9rem}.game301-dart{display:inline-flex;align-items:center;gap:.45rem;padding:.55rem .75rem;border-radius:999px;background:rgba(255,255,255,.055);border:1px solid var(--border)}.game301-dart b{font-size:1rem}.game301-dart span{color:var(--muted);font-size:.82rem}.game301-win{color:#32d583}.game301-bust{color:#ff6b7a}
@media(max-width:760px){.game301-body{grid-template-columns:1fr}.game301-score{min-height:120px}.game301-score strong{font-size:3.8rem}.game301-actions{width:100%}.game301-actions label{flex:1}.game301-actions button{flex:1}}

/* 0.1.8.1 – server-side automatic camera tuning */
#cameraTuneDialog{width:min(720px,94vw)}.camera-tune-card{display:grid;gap:10px}.camera-tune-mode{display:grid;grid-template-columns:150px 1fr;gap:10px;align-items:center;color:var(--muted);font-size:.88rem}.camera-tune-mode select{width:100%}#cameraTuneProgress{width:100%;height:18px;accent-color:var(--accent)}.camera-tune-phase{font-weight:700}.camera-tune-metrics{background:#0b1222;border:1px solid var(--border);border-radius:10px;padding:10px;color:var(--muted);font-size:.82rem}.camera-autotune-open{border-color:#47658e}
@media(max-width:560px){.camera-tune-mode{grid-template-columns:1fr}}

/* 0.2 – multiplayer game control */
.game-head{align-items:center}.game-actions{display:flex;gap:.6rem;flex-wrap:wrap}.game-setup{display:grid;grid-template-columns:minmax(180px,1fr) 110px minmax(260px,2fr) auto;gap:.8rem;align-items:end;margin-bottom:1rem}.game-setup>label:not(.check-row){display:grid;gap:.3rem;color:var(--muted);font-size:.82rem}.game-setup input,.game-setup textarea{min-height:44px;border-radius:10px;border:1px solid var(--border);background:var(--panel2);color:var(--text);padding:8px 12px;font:inherit}.game-setup textarea{resize:vertical}.game-setup .compact{grid-column:1/-2;margin:0}.game-live{display:grid;grid-template-columns:minmax(220px,330px) 1fr;gap:1rem}.current-player-card{border:1px solid var(--border);border-radius:16px;padding:1.1rem;display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:190px;background:rgba(255,255,255,.025);text-align:center}.current-player-card>span{color:var(--muted);text-transform:uppercase;letter-spacing:.07em;font-size:.76rem}.current-player-card>strong{font-size:1.7rem;margin-top:.35rem}.current-score{font-size:4.1rem;font-weight:900;line-height:1.05;font-variant-numeric:tabular-nums}.current-player-card small{color:var(--muted);margin-top:.4rem}.game-roster{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:.65rem;align-content:start}.game-player{border:1px solid var(--border);border-radius:12px;padding:.75rem;background:var(--panel2);min-width:0}.game-player.active{border-color:var(--good);outline:1px solid var(--good)}.game-player.eliminated{opacity:.45}.game-player span,.game-player b{display:block;overflow:hidden;text-overflow:ellipsis}.game-player b{font-size:1.5rem}.game-player small{display:block;color:var(--muted);font-size:.67rem;margin-top:.35rem;line-height:1.35}.life-line{display:flex!important;align-items:center;gap:4px;flex-wrap:wrap}.life-dot{display:inline-block;width:15px;height:6px;border-radius:99px;background:rgba(255,255,255,.10);border:1px solid var(--border)}.life-dot.on{background:var(--good);border-color:var(--good)}.game-turnbar{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-top:1rem;border-top:1px solid var(--border);padding-top:1rem}
@media(max-width:900px){.game-setup{grid-template-columns:1fr 1fr}.game-setup .players-field,.game-setup .compact{grid-column:1/-1}.game-live{grid-template-columns:1fr}.current-player-card{min-height:150px}.current-score{font-size:3.5rem}}@media(max-width:560px){.game-setup{grid-template-columns:1fr}.game-setup .players-field,.game-setup .compact{grid-column:auto}.game-turnbar{align-items:stretch;flex-direction:column}.game-turnbar .game-actions button{width:100%}.game-roster{grid-template-columns:1fr 1fr}}

/* 0.2.1.5 audio preparation */
.audio-pack{margin:14px 0;padding:14px;border:1px solid var(--border,#334155);border-radius:14px;background:rgba(255,255,255,.025)}
.audio-pack-head{display:flex;justify-content:space-between;gap:12px;align-items:center;margin-bottom:8px}.audio-pack progress{width:100%;height:12px;margin:4px 0 8px}.audio-pack button{margin-top:10px}
#gameBouncer{border-style:dashed}

/* 0.2.3 – E-Dart style game selection */
.game-setup-v2{display:grid;grid-template-columns:1.35fr .95fr;gap:14px;align-items:start;margin-bottom:1rem}
.game-select-stage,.game-options-stage{border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.025);padding:14px;min-width:0}
.setup-kicker{color:var(--muted);font-size:.76rem;text-transform:uppercase;letter-spacing:.11em;font-weight:800;margin-bottom:10px}
.game-family-picker{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}
.game-family{min-height:76px;padding:10px 11px;display:flex;flex-direction:column;align-items:flex-start;justify-content:center;text-align:left;background:var(--panel2);border:1px solid var(--border);color:var(--text);border-radius:13px}
.game-family strong{font-size:1rem;line-height:1.1}.game-family span{display:block;color:var(--muted);font-size:.72rem;font-weight:550;margin-top:5px;line-height:1.2}
.game-family.active{border-color:var(--accent);background:linear-gradient(145deg,rgba(79,140,255,.24),rgba(79,140,255,.08));box-shadow:inset 0 0 0 1px rgba(79,140,255,.18)}
.game-options-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-items:end}.game-options-grid>label{display:grid;gap:5px;color:var(--muted);font-size:.82rem}.game-options-grid select,.game-options-grid input[type="number"]{width:100%}
.game-rule-options{display:grid;grid-template-columns:1fr 1fr;gap:8px}.game-rule-options .option-check{margin:0;min-height:44px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);white-space:nowrap}
.game-setup-hint{margin-top:10px;padding:9px 11px;border-radius:10px;background:#0b1222;border:1px solid var(--border);color:var(--muted);font-size:.8rem;min-height:39px;display:flex;align-items:center}
.game-setup-v2>.players-field{grid-column:1/-1;display:grid;gap:5px;color:var(--muted);font-size:.82rem}.game-setup-v2>.players-field textarea{width:100%;min-height:64px}
.game-start-options{grid-column:1/-1;display:grid;grid-template-columns:minmax(280px,1fr) 180px auto;gap:10px;align-items:end}.game-start-options>label:not(.check-row){display:grid;gap:5px;color:var(--muted);font-size:.82rem}.game-start-options .compact{margin:0;min-height:44px}.game-start-options button{min-width:150px}
@media(max-width:1000px){.game-setup-v2{grid-template-columns:1fr}.game-family-picker{grid-template-columns:repeat(3,minmax(0,1fr))}.game-start-options{grid-template-columns:1fr 180px auto}}
@media(max-width:700px){.game-family-picker{grid-template-columns:repeat(2,minmax(0,1fr))}.game-options-grid{grid-template-columns:1fr}.game-rule-options{grid-template-columns:1fr 1fr}.game-start-options{grid-template-columns:1fr}.game-start-options button{width:100%}}
@media(max-width:430px){.game-family-picker{grid-template-columns:1fr 1fr}.game-family{min-height:70px;padding:9px}.game-family strong{font-size:.92rem}.game-family span{font-size:.67rem}.game-rule-options{grid-template-columns:1fr}}
.game-options-stage [hidden]{display:none!important}.game-start-options .compact{grid-column:auto!important}

/* 0.2.4 – Elimination life indicators */
/* 0.2.5 – Shanghai/RTC options and larger Elimination lives */
#gameBullFinishWrap{margin:0;min-height:44px;padding:8px 10px;border:1px solid var(--border);border-radius:10px;background:var(--panel2);display:flex;align-items:center;gap:8px;color:var(--text)}
.game-player.elimination-player{padding:.82rem .9rem}.elim-player-head{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.75rem}.game-player.elimination-player .elim-player-head span,.game-player.elimination-player .elim-player-head b{font-size:1.7rem;font-weight:900;line-height:1}.game-player.elimination-player .life-line{margin-top:.7rem;gap:7px}.game-player.elimination-player .life-dot{width:28px;height:11px}.game-player.elimination-player .life-line em{font-style:normal;font-size:.9rem;font-weight:850;color:var(--muted);margin-left:3px}

/* 0.2.5.1 – Double Down rule fix + clearer TV targets/player plaques */

/* 0.2.6 simulation mode */
.simulation-toggle{grid-column:1/-1!important;align-items:center;justify-content:flex-start;gap:10px;padding:10px 12px;border:1px solid var(--border);border-radius:12px;background:rgba(91,140,255,.06)}
.simulation-toggle span{display:grid;gap:2px}.simulation-toggle b{color:var(--text);font-size:.95rem}.simulation-toggle small{color:var(--muted);font-size:.76rem}.simulation-toggle input{min-height:auto!important}
.simulation-badge{display:inline-flex!important;align-items:center;justify-content:center;width:auto!important;margin-top:8px;padding:5px 10px;border-radius:999px;background:rgba(255,207,90,.12);border:1px solid rgba(255,207,90,.4);color:#fff0b6!important;font-size:.72rem!important;font-weight:950;letter-spacing:.11em}.simulation-badge[hidden]{display:none!important}
.simulation-controls{margin-top:1rem;padding:14px;border:1px solid rgba(91,140,255,.48);border-radius:16px;background:rgba(91,140,255,.055)}.simulation-controls[hidden]{display:none!important}
.simulation-head{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}.simulation-head>div{display:grid;gap:2px}.simulation-head strong{font-size:1.05rem}.simulation-head span{color:var(--muted);font-size:.8rem}.simulation-safe{padding:5px 9px;border-radius:999px;border:1px solid rgba(69,214,160,.35);background:rgba(69,214,160,.08);color:#dcfff2!important;font-weight:850;white-space:nowrap}
.simulation-pad{display:grid;grid-template-columns:130px auto 1fr;gap:10px;align-items:end}.simulation-pad>label{display:grid;gap:5px;color:var(--muted);font-size:.78rem}.simulation-pad select{min-height:44px}.sim-group{display:flex;gap:8px;flex-wrap:wrap}.sim-group button{min-width:88px}.sim-special{justify-content:flex-end}.simulation-controls button:disabled{opacity:.45}
body.simulation-game #gameAutoAcceptWrap,body.simulation-game #gameAutoAcceptDelayWrap{opacity:.45}
@media(max-width:900px){.simulation-pad{grid-template-columns:120px 1fr}.sim-special{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:600px){.simulation-head{align-items:flex-start;flex-direction:column}.simulation-pad{grid-template-columns:1fr}.sim-special{grid-column:auto}.sim-group button{flex:1 1 92px}}

/* 0.3 – cleaner main UI, player picker and computer opponents */
.live-grid{align-items:start}.live-head-pills{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.live-head-pills .pill{margin-left:0}
.recognition-workspace{display:grid;grid-template-columns:minmax(0,1fr) minmax(230px,300px);gap:14px;align-items:start}.recognition-actions{display:grid;gap:10px;position:sticky;top:76px}.recognition-actions .prediction{margin-top:0;min-height:86px;padding:10px}.vertical-actions{display:grid;margin-top:0}.vertical-actions button{width:100%}.compact-settings{width:100%}.training-panel .stats{margin-top:4px}.results-panel{order:2}.training-panel{order:3}.game-panel{order:4}
.settings-dialog-card{display:grid;gap:14px}.settings-section{border:1px solid var(--border);background:rgba(255,255,255,.025);border-radius:14px;padding:14px}.settings-section h3{margin:0 0 10px;font-size:1rem}.settings-camera-toolbar{margin:0}.settings-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.settings-action-grid button:last-child{grid-column:1/-1}
.players-stage{grid-column:1/-1;border:1px solid var(--border);border-radius:16px;background:rgba(255,255,255,.025);padding:14px}.game-player-setup{display:grid;gap:9px}.game-player-row{display:grid;grid-template-columns:34px minmax(220px,1.4fr) minmax(120px,.6fr) minmax(160px,.8fr) 44px;gap:9px;align-items:end;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--panel2)}.player-order{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;background:rgba(79,140,255,.15);border:1px solid rgba(79,140,255,.35);font-weight:900;margin-bottom:7px}.game-player-row label{display:grid;gap:4px;color:var(--muted);font-size:.76rem}.game-player-row select,.game-player-row input{width:100%;min-width:0}.player-name-control{grid-template-columns:minmax(120px,1fr) minmax(120px,1fr)}.player-name-control>span{grid-column:1/-1}.player-name-control input[hidden]{display:none}.player-difficulty-control[hidden]{display:none}.player-remove{width:44px;padding:0;font-size:1.4rem}.player-setup-actions{display:flex;gap:9px;flex-wrap:wrap;margin-top:10px}.player-help{margin-top:8px!important}.computer-badge{display:inline-flex;margin-left:7px;padding:2px 6px;border-radius:999px;border:1px solid rgba(244,183,64,.35);background:rgba(244,183,64,.08);color:#ffd98b;font-size:.58rem;font-style:normal;font-weight:900;vertical-align:middle;white-space:nowrap}.computer-player.active{border-color:var(--warn);outline-color:var(--warn)}
@media(max-width:980px){.recognition-workspace{grid-template-columns:1fr}.recognition-actions{position:static;grid-template-columns:1fr 1fr}.recognition-actions .prediction,.recognition-actions .compact-settings{grid-column:1/-1}.vertical-actions{grid-template-columns:1fr 1fr}.game-player-row{grid-template-columns:34px 1fr 1fr}.player-name-control{grid-column:2/-1}.player-remove{grid-column:3;grid-row:2}.player-difficulty-control{grid-column:2}.player-type-control{grid-column:2}}
@media(max-width:620px){.recognition-actions{grid-template-columns:1fr}.vertical-actions{grid-template-columns:1fr}.settings-action-grid{grid-template-columns:1fr}.settings-action-grid button:last-child{grid-column:auto}.game-player-row{grid-template-columns:32px 1fr 44px}.player-name-control{grid-column:2/4;grid-template-columns:1fr}.player-name-control>span{grid-column:auto}.player-type-control,.player-difficulty-control{grid-column:2}.player-remove{grid-column:3;grid-row:2}.player-setup-actions button{flex:1 1 160px}}
