:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{font-family:Segoe UI,Tahoma,sans-serif;background:#f2f2f0;color:#141414;font-size:clamp(12px,.9vw,15px)}.app-shell{height:100vh;display:grid;grid-template-rows:auto auto 1fr;gap:10px;padding:10px 12px;overflow:hidden}.app-shell.scrollable{height:auto;min-height:100vh;overflow:auto;display:flex;flex-direction:column;align-items:center}.app-shell.scrollable>*{width:min(860px,100%)}.topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;background:#141414;border:none;border-radius:10px;padding:8px 12px}.topbar-left{display:flex;flex-direction:column;gap:6px;flex:0 0 auto}.icon-btn-row{display:flex;gap:6px}.icon-btn{width:38px;height:38px;border-radius:50%;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#e2e8f0;font-size:18px;display:flex;align-items:center;justify-content:center;padding:0;cursor:pointer;line-height:1}.icon-btn:hover{background:#ffffff29}.game-ctrl-row{display:flex;gap:6px}.game-ctrl-btn{padding:5px 10px;font-size:12px;border-radius:7px;border:1px solid rgba(255,255,255,.15);background:#ffffff14;color:#e2e8f0;cursor:pointer;white-space:nowrap}.game-ctrl-btn:hover{background:#ffffff29}.finish-btn{background:#8c1c1359;border-color:#8c1c1399;color:#ffb3ae}.finish-btn:hover{background:#8c1c1380}.topbar-clock-area{display:flex;align-items:center;gap:10px;flex:1;justify-content:center}.era-chip{display:flex;flex-direction:column;align-items:center;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-radius:10px;padding:6px 12px;min-width:54px}.era-chip-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#8c9aaa}.era-chip-value{font-size:clamp(26px,3vw,44px);font-weight:900;line-height:1;color:#f1f5f9;font-family:Courier New,Courier,monospace}.digital-clock-wrap{display:flex;align-items:center;gap:6px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:10px 18px}.digit-col{display:flex;flex-direction:column;align-items:stretch;gap:4px}.clock-digit{font-size:clamp(36px,4vw,58px);font-weight:900;font-variant-numeric:tabular-nums;line-height:1;color:#8c1c13;font-family:Courier New,Courier,monospace;transition:color .15s;text-align:center;display:block}.clock-digit.running{color:#22c55e}.clock-colon{font-size:clamp(36px,4vw,58px);font-weight:900;line-height:1;color:#8c1c13;font-family:Courier New,Courier,monospace;transition:color .15s;margin-bottom:4px}.clock-colon.running{color:#22c55e}.digit-arrow-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.12);border-radius:4px;color:#8c9aaa;font-size:10px;padding:3px 0;cursor:pointer;line-height:1;text-align:center}.digit-arrow-btn:hover{background:#ffffff29;color:#e2e8f0}.clock-play-btn{width:46px;height:46px;border-radius:50%;border:1px solid rgba(255,255,255,.18);background:#ffffff14;color:#d1d5db;font-size:18px;display:flex;align-items:center;justify-content:center;cursor:pointer;padding:0;transition:background .15s,color .15s;flex-shrink:0}.clock-play-btn:hover{background:#ffffff29;color:#f1f5f9}.clock-play-btn.running{background:#16a34a;color:#fff;border-color:#15803d}.clock-play-btn.running:hover{background:#15803d}.sub-controls-box{display:flex;align-items:center;gap:4px;flex-wrap:wrap;background:#fff;border:1px solid #E0DFDC;border-radius:10px;padding:5px}.small-input{width:74px}.clock-part{width:56px}.color-input{width:44px;padding:2px;height:30px}.team-color-input{width:34px;height:26px;padding:1px;border:1px solid #b8c2d1;border-radius:6px;background:#fff}button,input,select{border:1px solid #b8c2d1;border-radius:8px;padding:7px 9px;font-size:clamp(11px,.8vw,14px);background:#fff}.topbar button,.topbar input,.topbar select,.sub-controls-box button,.sub-controls-box input,.sub-controls-box select{padding:4px 7px;font-size:12px;border-radius:7px}button{cursor:pointer}button:hover{background:#edf2f7}.quick-sub-toggle.active{background:#dc2626;color:#fff;border-color:#991b1b}.status-msg{min-height:24px;background:#fff7e6;border:1px solid #ffd591;border-radius:8px;padding:4px 8px;font-size:clamp(11px,.8vw,14px);display:flex;align-items:center}.quick-sub-banner{min-height:24px;background:#fee2e2;border:1px solid #ef4444;border-radius:8px;padding:4px 8px;font-size:12px;font-weight:700;color:#991b1b;display:flex;align-items:center}.main-grid{min-height:0;overflow:hidden;display:grid;grid-template-columns:1fr clamp(240px,24vw,340px) 1fr;grid-template-rows:1fr;gap:14px}.panel{min-height:0;min-width:0;background:#fff;border:1px solid #E0DFDC;border-radius:10px;padding:20px;display:flex;flex-direction:column}.box-panel{margin-top:2px}.team-box-grid{display:grid;grid-template-columns:1fr;gap:8px}.team-compare-header{display:flex;justify-content:space-between;padding:6px 8px;margin-bottom:4px}.team-compare-name{font-weight:700;font-size:15px;text-transform:uppercase;letter-spacing:.05em}.team-compare-rows{display:flex;flex-direction:column;gap:4px}.team-compare-row{display:flex;align-items:center}.tcr-bar-wrap{flex:1;display:flex;height:46px;position:relative;border-radius:3px;overflow:hidden}.tcr-bar{height:100%;display:flex;align-items:center;transition:width .3s ease;flex-shrink:0;min-width:28px}.tcr-bar.home{justify-content:flex-start;padding-left:8px}.tcr-bar.away{justify-content:flex-end;padding-right:8px}.tcr-bar-val{font-size:15px;font-weight:700;white-space:nowrap;z-index:1}.tcr-label{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;pointer-events:none}.tcr-label-inner{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:#f1f5f9;white-space:nowrap;background:#0000008c;padding:2px 10px;border-radius:3px}.box-table-wrap{overflow:auto;border:1px solid #E0DFDC;border-radius:8px;background:#fff}.box-table-wrap h3{margin:8px 8px 0;font-size:13px}.box-table{width:100%;border-collapse:collapse;font-size:12px;background:#fff}.box-table-fixed{table-layout:fixed}.box-table-fixed td:nth-child(2){overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.box-table th,.box-table td{border-bottom:1px solid #E0DFDC;padding:6px 8px;text-align:left;white-space:nowrap}.box-table th{position:sticky;top:0;background:#f2f2f0;z-index:1;cursor:pointer}.panel h2{margin:0 0 6px;font-size:clamp(14px,1vw,17px)}.team-meta{display:grid;gap:4px;font-size:clamp(11px,.8vw,14px);margin-bottom:6px}.team-meta-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.team-name{font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-score{font-weight:700}.players-grid{flex:1;min-height:0;display:grid;grid-template-columns:1fr;grid-auto-rows:1fr;gap:4px;overflow:hidden}.player-btn{text-align:left;padding:3px 8px;min-height:0;display:flex;align-items:center;gap:10px;border:none;outline:3px solid transparent;outline-offset:-3px}.player-btn.selected{outline:3px solid #0f172a;outline-offset:-3px}.player-btn.on-court{opacity:1;filter:saturate(1.05)}.player-btn.on-bench{opacity:.42}.player-btn[data-quick-changed=true]{outline:3px solid #ea580c;outline-offset:-3px;box-shadow:inset 0 0 0 2px #ffedd5}.player-btn[data-quick-target=on]{opacity:1;filter:saturate(1.08) brightness(1.02)}.player-btn[data-quick-target=off]{opacity:.45;filter:grayscale(.15)}.player-number{font-size:clamp(22px,2.2vw,36px);line-height:1;font-weight:800;flex-shrink:0;min-width:2ch;text-align:right}.player-btn-home{flex-direction:row-reverse;text-align:right}.player-btn-home .player-info{align-items:flex-end}.player-info{display:flex;flex-direction:column;gap:1px;min-width:0}.player-name{font-size:clamp(10px,.8vw,13px);line-height:1.1;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.player-stats-line{font-size:clamp(9px,.65vw,11px);opacity:.8;white-space:nowrap}.events-panel{gap:8px;overflow:hidden}.scoreline{display:flex;justify-content:center;align-items:center;gap:8px;font-size:clamp(14px,1.25vw,20px);font-weight:700;background:#fff;border:1px solid #E0DFDC;border-radius:8px;padding:8px}.event-info-meta{display:grid;gap:3px;font-size:clamp(10px,.72vw,13px);color:#374151;overflow:hidden}.event-info-meta span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.event-groups{display:grid;grid-template-columns:1fr;gap:6px}.view-toggles-row{margin-top:6px;display:flex;gap:8px;flex-wrap:wrap}.event-group h3{margin:0 0 4px;font-size:clamp(11px,.8vw,14px)}.events-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}.events-grid button{font-weight:600;min-height:36px;padding:6px 4px}.empty-state{display:grid;place-items:center;font-size:18px;color:#4b5563;border:1px dashed #c5ceda;border-radius:10px;background:#fff}.modal-backdrop{position:fixed;inset:0;background:#0f172a73;display:grid;place-items:center;z-index:20}.modal-card{width:min(760px,90vw);max-height:82vh;overflow:auto;background:#fff;border-radius:12px;border:1px solid #E0DFDC;padding:14px;display:grid;gap:10px}.modal-card h3{margin:0;font-size:clamp(15px,1vw,19px)}.modal-card p{margin:0}.modal-actions{display:flex;gap:8px;flex-wrap:wrap}.modal-choice-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.modal-choice-grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}.modal-choice-btn{min-height:84px;font-size:clamp(20px,1.8vw,30px);font-weight:700;border-width:2px}.starter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}.starter-btn{text-align:left}.starter-btn.picked{border:2px solid #2563eb;background:#dbeafe}.sub-pairs{display:grid;gap:8px}.sub-row{display:grid;grid-template-columns:1fr 1fr auto;gap:8px}.switch-list{display:grid;gap:6px;max-height:52vh;overflow:auto}.switch-row{display:grid;grid-template-columns:1fr auto auto;gap:8px;align-items:center;border:1px solid #E0DFDC;border-radius:8px;padding:6px 8px}.switch-on{background:#eefbf1}.switch-off{background:#f8fafc;opacity:.78}.switch-player{font-size:13px}.switch-state{font-size:12px;min-width:58px;text-align:right}.draft-list{display:grid;gap:6px;margin-top:8px;margin-bottom:8px;max-height:40vh;overflow:auto}.draft-row{display:grid;grid-template-columns:74px 1fr auto;gap:6px}.games-list{display:grid;gap:8px;max-height:40vh;overflow:auto}.game-item{text-align:left;display:grid;gap:4px;border:1px solid #E0DFDC;background:#fff}.game-main{font-size:14px}.game-meta{font-size:12px;color:#475569;display:flex;gap:12px;flex-wrap:wrap}.game-meta-internal{color:#334155;font-style:italic}.toggle{position:relative;display:inline-block;width:46px;height:24px}.toggle input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;inset:0;background-color:#cbd5e1;transition:.2s;border-radius:999px}.slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;top:3px;background-color:#fff;transition:.2s;border-radius:50%}.toggle input:checked+.slider{background-color:#16a34a}.toggle input:checked+.slider:before{transform:translate(22px)}.modal-player-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.modal-settings-row{display:flex;gap:24px;margin-bottom:12px}.modal-setting-item{display:flex;flex-direction:column;gap:4px}.modal-setting-item label{font-size:12px;color:#94a3b8;text-transform:uppercase;letter-spacing:.05em}.spinner-ctrl{display:flex;align-items:center;gap:0;border:1px solid #334155;border-radius:6px;overflow:hidden;width:fit-content}.spinner-ctrl button{background:#1e293b;color:#e2e8f0;border:none;padding:4px 12px;font-size:16px;cursor:pointer;line-height:1}.spinner-ctrl button:hover{background:#334155}.spinner-ctrl span{min-width:32px;text-align:center;font-size:15px;font-weight:600;color:#f1f5f9;padding:0 6px;background:#0f172a}.modal-player-columns{display:grid;grid-template-columns:1fr 1fr;gap:10px}.modal-team-block h4{margin:0 0 6px;font-size:clamp(12px,.85vw,15px)}.modal-player-btn{min-height:76px;display:grid;align-content:center;gap:2px}.modal-player-number{font-size:clamp(17px,1.25vw,24px);line-height:1;font-weight:700}.modal-player-name{font-size:clamp(10px,.75vw,12px);line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.modal-player-note{font-size:clamp(9px,.68vw,11px);opacity:.9}.ghost-btn{background:#f8fafc}.pm-pos{color:#16a34a;font-weight:700}.pm-neg{color:#dc2626;font-weight:700}.log-edit-btn{background:none;border:1px solid #334155;border-radius:5px;padding:2px 7px;cursor:pointer;font-size:13px;color:#94a3b8;line-height:1}.log-edit-btn:hover{background:#1e293b;color:#e2e8f0}.ft-btn-row{display:flex;gap:12px;margin-top:16px}.ft-btn{flex:1;padding:18px 0;font-size:18px;font-weight:600;border:none;border-radius:10px;cursor:pointer}.ft-btn-in{background:#22c55e;color:#fff}.ft-btn-in:hover{background:#16a34a}.ft-btn-miss{background:#ef4444;color:#fff}.ft-btn-miss:hover{background:#dc2626}.ft-btn-cancel{background:#e2e8f0;color:#475569}.ft-btn-cancel:hover{background:#cbd5e1}.modal-msg-ok{background:#f0fdf4;border-color:#86efac;color:#15803d}
