:root{--bg: #0b1220;--panel: #131c2e;--panel-2: #1b263b;--line: #2a3752;--text: #e8edf6;--muted: #93a1ba;--accent: #f97316;--accent-2: #fb923c;--good: #22c55e;--bad: #ef4444;--warn: #f59e0b;--radius: 10px;color-scheme:dark;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{background:var(--bg);color:var(--text);font-size:15px;line-height:1.4}a{color:var(--accent-2)}h1,h2,h3{margin:0 0 .5rem;line-height:1.2}h1{font-size:1.5rem}h2{font-size:1.15rem}h3{font-size:1rem;display:flex;align-items:center;gap:.4rem;flex-wrap:wrap}input,select,button,textarea{font:inherit;color:inherit}input,select,textarea{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:.45rem .6rem;min-width:0}input[type=checkbox]{width:1.15rem;height:1.15rem;accent-color:var(--accent)}input[type=color]{padding:.1rem;width:2.6rem;height:2.2rem}label{display:flex;flex-direction:column;gap:.25rem;font-size:.85rem;color:var(--muted)}label.inline{flex-direction:row;align-items:center;gap:.4rem}.muted{color:var(--muted)}.small{font-size:.8rem}.center{display:grid;place-items:center;min-height:60vh}.error{background:#3b1219;border:1px solid #7f1d1d;color:#fecaca;padding:.6rem .8rem;border-radius:8px;margin:.5rem 0}.ok{background:#0f2e1d;border:1px solid #166534;color:#bbf7d0;padding:.6rem .8rem;border-radius:8px;margin:.5rem 0}.warn{color:var(--warn);font-size:.8rem;font-weight:500}.good-text{color:var(--good)}.bad-text{color:var(--bad)}.btn,.btn-secondary,.btn-ghost,.btn-danger{display:inline-flex;align-items:center;justify-content:center;gap:.3rem;border-radius:8px;padding:.5rem .9rem;font-weight:600;cursor:pointer;text-decoration:none;border:1px solid transparent;white-space:nowrap}.btn{background:var(--accent);color:#111}.btn:hover{background:var(--accent-2)}.btn-secondary{background:var(--panel-2);border-color:var(--line);color:var(--text)}.btn-secondary:hover{border-color:var(--accent)}.btn-ghost{background:transparent;color:var(--text);border-color:transparent;padding:.35rem .6rem}.btn-ghost:hover{background:var(--panel-2)}.btn-ghost.small,.small.btn-ghost{font-size:.8rem;padding:.25rem .5rem}.btn-danger{background:transparent;color:#fca5a5;border-color:#7f1d1d}.btn-danger:hover{background:#3b1219}button:disabled{opacity:.45;cursor:not-allowed}.topbar{display:flex;align-items:center;gap:1.5rem;padding:.6rem 1rem;background:var(--panel);border-bottom:1px solid var(--line);position:sticky;top:0;z-index:10}.brand{font-weight:800;font-size:1.1rem;color:var(--text);text-decoration:none}.topbar nav{display:flex;gap:.25rem}.topbar nav a{color:var(--muted);text-decoration:none;padding:.35rem .7rem;border-radius:8px;font-weight:600}.topbar nav a.active{color:var(--text);background:var(--panel-2)}.userbox{margin-left:auto;display:flex;align-items:center;gap:.5rem;font-size:.85rem}.app-tracking .topbar{padding:.3rem 1rem}.page{width:100%;padding:1.25rem 1.25rem 3rem;display:flex;flex-direction:column;gap:1rem}.page-head{display:flex;align-items:center;justify-content:space-between;gap:.75rem;flex-wrap:wrap}.page-head h1,.page-head h2{margin:0}.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--radius);padding:1rem;display:flex;flex-direction:column;gap:.75rem}.card.empty{align-items:center;text-align:center;padding:2rem}.two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:start}.actions{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center}.tag{display:inline-block;font-size:.75rem;padding:.1rem .5rem;border-radius:999px;background:var(--panel-2);border:1px solid var(--line);color:var(--muted)}.tag-warn{color:var(--warn);border-color:#78350f}.team-dot{display:inline-block;width:.8rem;height:.8rem;border-radius:50%;flex:none;border:1px solid rgba(255,255,255,.3)}.login-screen{min-height:100vh;display:grid;place-items:center;padding:1rem;background:radial-gradient(circle at 50% 20%,#3b2412 0%,var(--bg) 60%)}.login-card{width:min(380px,100%)}.login-card h1{margin:0}.game-list{display:grid;gap:.75rem}.game-meta{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;font-size:.85rem}.status{text-transform:uppercase;font-size:.7rem;font-weight:700;letter-spacing:.05em;padding:.15rem .5rem;border-radius:999px}.status-scheduled{background:#1e293b;color:#cbd5e1}.status-live{background:#7c2d12;color:#fed7aa}.status-final{background:#14532d;color:#bbf7d0}.matchup{display:flex;align-items:center;gap:.6rem;font-size:1.1rem;flex-wrap:wrap}.team-name{font-weight:700}.score{font-variant-numeric:tabular-nums;font-weight:800;font-size:1.3rem;padding:0 .5rem}.list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.25rem}.list-item{width:100%;display:flex;align-items:center;gap:.5rem;background:transparent;border:1px solid transparent;border-radius:8px;padding:.5rem;cursor:pointer;text-align:left}.list-item .muted{margin-left:auto;font-size:.8rem}.list-item:hover{background:var(--panel-2)}.list-item.active{background:var(--panel-2);border-color:var(--accent)}.inline-form{display:flex;gap:.5rem;flex-wrap:wrap}.inline-form input:not([type=color]){flex:1 1 8rem}.title-input{font-size:1.1rem;font-weight:700;background:transparent;border-color:transparent}.title-input:hover,.title-input:focus{border-color:var(--line)}.num-input{width:3.5rem;flex:none!important}.pos-input{width:4.5rem}.form-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:.75rem}.form-grid .wide{grid-column:1 / -1}.preset-row{display:flex;gap:.5rem;flex-wrap:wrap}table{border-collapse:collapse;width:100%}table.plain th,table.plain td{padding:.4rem .5rem;border-bottom:1px solid var(--line);text-align:left}table.plain th{color:var(--muted);font-size:.8rem;font-weight:600}table.plain td input:not([type=checkbox]){width:100%}tr.inactive{opacity:.5}.table-wrap{overflow-x:auto;background:var(--panel);border:1px solid var(--line);border-radius:var(--radius)}.tracker-side .table-wrap{border:none;background:transparent}table.box{font-variant-numeric:tabular-nums;font-size:.85rem}table.box th,table.box td{padding:.4rem .5rem;text-align:right;border-bottom:1px solid var(--line);white-space:nowrap}table.box th{background:var(--panel-2);color:var(--muted);font-size:.75rem;position:sticky;top:0}table.box .left,table.line-score .left{text-align:left}table.box tr.starter td:first-child{font-weight:600}table.box tr.totals td{font-weight:700;background:var(--panel-2)}table.box .num{color:var(--muted);display:inline-block;min-width:2.2rem}table.box .tag{margin-left:.35rem;padding:0 .35rem}table.line-score th,table.line-score td{padding:.4rem .6rem;text-align:center;border-bottom:1px solid var(--line);font-variant-numeric:tabular-nums}table.line-score th{color:var(--muted);font-size:.8rem}table.line-score .total{font-weight:800;font-size:1.1rem}.admin-strip{flex-direction:row;align-items:center;flex-wrap:wrap;border-color:#78350f}.filters{display:flex;gap:.5rem;flex-wrap:wrap}.court-small{width:100%;margin:0 auto}.tracker-video{width:min(100%,var(--video-w, 100%));justify-self:center}.video-resize-wrap{position:relative}.court-resize-wrap{position:relative;width:min(100%,var(--court-w, 100%));margin:0 auto}.court-resize-wrap.sized .court{max-height:none}.resize-handle{position:absolute;width:26px;height:26px;z-index:5;touch-action:none;border-radius:4px;opacity:.7;transition:opacity .15s}.resize-handle:hover{opacity:1}.video-resize-wrap>.resize-handle{bottom:34px}.court-resize-wrap>.resize-handle{bottom:0}.resize-handle-right{right:-4px;cursor:nwse-resize;background:linear-gradient(135deg,transparent 55%,var(--accent) 55%)}.resize-handle-left{left:-4px;cursor:nesw-resize;background:linear-gradient(225deg,transparent 55%,var(--accent) 55%)}.lineup-when{display:flex;flex-direction:column;gap:.4rem;margin-bottom:.75rem;color:var(--text)}.lineup-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-bottom:.75rem}.lineup-team{display:flex;flex-direction:column;gap:.3rem}.lineup-player{flex-direction:row;align-items:center;gap:.5rem;padding:.45rem .5rem;border-radius:8px;cursor:pointer;background:var(--panel-2);border:1px solid var(--line);border-left-width:4px;color:var(--text);font-size:.9rem}.lineup-player.picked{background:#2a2410}.lineup-player .pnum{font-size:1rem;min-width:1.6rem}body.resizing{cursor:ew-resize;-webkit-user-select:none;user-select:none}body.resizing iframe,body.resizing video{pointer-events:none}.shot-layout{display:grid;gap:1rem;align-items:start;grid-template-columns:minmax(0,1fr) minmax(300px,var(--video-w, 1fr))}.video-sync{flex-direction:row;flex-wrap:wrap;align-items:center;gap:.5rem 1rem;padding:.5rem .75rem;margin-top:.5rem}.ok-text{color:var(--good);font-weight:600;font-variant-numeric:tabular-nums}.timeline{display:flex;flex-direction:column;gap:2px;font-size:.75rem}.tl-row{display:grid;grid-template-columns:9rem 1fr;align-items:center;gap:.5rem}.tl-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.tl-track{position:relative;height:14px;background:var(--panel-2);border-radius:3px}.tl-bar{position:absolute;top:2px;bottom:2px;border-radius:2px;opacity:.85}.tl-mark{position:absolute;top:-2px;bottom:-2px;width:2px;background:var(--warn)}.tl-shot{position:absolute;top:50%;width:10px;height:10px;padding:0;margin:0;border-radius:50%;transform:translate(-50%,-50%);border:2px solid #fff;cursor:pointer;z-index:1}.tl-shot.made{background:#16a34a}.tl-shot.miss{background:#fff;border-color:#dc2626}.tl-shot:hover{transform:translate(-50%,-50%) scale(1.4);z-index:2}.tl-shot.selected{box-shadow:0 0 0 3px #facc15;transform:translate(-50%,-50%) scale(1.4);z-index:3}.tl-shot.static,.tl-mark.static{position:relative;display:inline-block;top:auto;transform:none;vertical-align:middle;cursor:default;margin:0 .15rem 0 .6rem}.tl-mark.static{height:12px;bottom:auto}.tl-legend{margin-bottom:.3rem}.pbp li.now{background:color-mix(in srgb,#facc15 22%,transparent)}.pbp li.now .pbp-bar{width:6px;box-shadow:0 0 6px #facc15}.tl-period{position:absolute;top:0;bottom:0;width:1px;background:var(--line)}.tl-axis .tl-track{background:transparent;height:16px}.tl-axis span{position:absolute;transform:translate(-50%);color:var(--muted)}.shot-list{list-style:none;margin:0;padding:0;max-height:60vh;overflow-y:auto;display:flex;flex-direction:column}.shot-list li{display:grid;grid-template-columns:5rem 1fr auto;gap:.4rem;align-items:center;padding:.35rem .4rem;border-bottom:1px solid var(--line);cursor:pointer;font-size:.85rem}.shot-list li.current{background:#2a2410;outline:2px solid #facc15}.shot-list li.done{opacity:.6}textarea{width:100%;font-family:ui-monospace,monospace;font-size:.8rem;resize:vertical;color:var(--text)}.box-input-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.import-preview{display:flex;flex-direction:column;gap:.35rem}.import-pbp{max-height:300px;overflow-y:auto;margin-top:.4rem}.import-pbp li{cursor:default;grid-template-columns:6rem 4px 1fr}details summary{cursor:pointer}.steps{margin:0;padding-left:1.2rem;display:flex;flex-direction:column;gap:.15rem}.court{width:100%;height:auto;display:block;border-radius:8px;box-shadow:0 6px 20px #0006;touch-action:manipulation;-webkit-user-select:none;user-select:none}.court-col .court{max-height:62vh}.court-tappable{cursor:crosshair}.shot-mark.clickable{cursor:pointer}.pbp-video{display:block;font-size:.68rem;opacity:.75}.pbp-actions{display:inline-flex;gap:.1rem}.stepper{display:inline-flex;align-items:center;gap:.15rem}.stepper button{width:1.6rem;height:1.6rem;border-radius:6px;border:1px solid var(--line);background:var(--panel-2);cursor:pointer;font-weight:800;line-height:1;padding:0}.stepper button:hover:not(:disabled){border-color:var(--accent)}.stepper-n{min-width:1.4rem;text-align:center;font-variant-numeric:tabular-nums}table.box-edit td{padding:.25rem .3rem}.chip-row{display:flex;flex-wrap:wrap;gap:.35rem;margin-bottom:.4rem}.tov-team{display:flex;flex-direction:column;gap:.35rem}.add-player{align-self:flex-start;margin-top:.2rem;color:var(--muted)}.shot-mark.clickable:hover circle:not([fill=transparent]){filter:brightness(1.3)}.court-ends{display:flex;justify-content:space-between;gap:.5rem;padding:.15rem .25rem;font-weight:600}.video-panel{display:flex;flex-direction:column;gap:.4rem}.video-panel video,.video-panel iframe{width:100%;aspect-ratio:16 / 9;background:#000;border:0;border-radius:8px}.video-footer{display:flex;gap:.75rem;align-items:center;flex-wrap:wrap;font-size:.8rem}.video-empty{aspect-ratio:16 / 9;display:grid;place-items:center;text-align:center;padding:1rem;background:var(--panel-2);border:1px dashed var(--line);border-radius:8px;color:var(--muted)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#020617b3;display:grid;place-items:center;z-index:50;padding:1rem}.modal{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:1rem;width:min(560px,100%);max-height:90vh;overflow-y:auto;box-shadow:0 20px 60px #00000080}.modal-head{display:flex;justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.75rem}.modal-head h3{margin:0}.choice-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.5rem}.choice{padding:.8rem .6rem;border-radius:10px;background:var(--panel-2);border:2px solid var(--line);cursor:pointer;font-weight:600;min-height:3.2rem}.choice:hover{filter:brightness(1.2)}.choice-good{background:#14532d;border-color:var(--good);font-size:1.1rem}.choice-bad{background:#450a0a;border-color:var(--bad);font-size:1.1rem}.tracker{padding:.5rem .75rem 2rem;display:flex;flex-direction:column;gap:.5rem;width:100%}.scoreboard{display:grid;grid-template-columns:1fr auto 1fr;gap:.75rem;align-items:stretch;background:linear-gradient(180deg,#0f172a,#020617);border:1px solid var(--line);border-radius:12px;padding:.6rem}.score-side{display:flex;flex-direction:column;align-items:center;gap:.1rem;border-top:4px solid;border-radius:8px;padding:.3rem;background:#ffffff08}.score-team{font-weight:700;font-size:.95rem;text-align:center}.score-pts{font-size:2.8rem;font-weight:800;line-height:1;font-variant-numeric:tabular-nums;font-family:DSEG7 Classic,ui-monospace,monospace;color:#fde68a}.score-sub{font-size:.8rem;color:var(--muted);display:flex;align-items:center;gap:.3rem}.badge-bonus{background:var(--bad);color:#fff;font-size:.65rem;font-weight:800;padding:.05rem .35rem;border-radius:4px}.score-mid{display:flex;flex-direction:column;align-items:center;gap:.2rem;min-width:200px}.period{font-weight:700;color:var(--accent-2);letter-spacing:.08em}.clock{font-size:2.4rem;font-weight:800;font-variant-numeric:tabular-nums;font-family:ui-monospace,monospace;background:#000;color:#f87171;border:2px solid #3f1d1d;border-radius:10px;padding:.1rem 1rem;cursor:pointer;min-width:9rem}.clock.running{color:#4ade80;border-color:#14532d}.shot-clock{display:flex;align-items:center;gap:.25rem;font-family:ui-monospace,monospace}.shot-clock>span{font-size:1.3rem;font-weight:800;color:#fbbf24;min-width:2rem;text-align:center}.shot-clock .urgent{color:var(--bad)}.clock-controls{display:flex;gap:.15rem;flex-wrap:wrap;justify-content:center}.tracker-toolbar{display:flex;gap:.25rem;align-items:center;flex-wrap:wrap}.sync{margin-left:auto;font-size:.8rem;padding:.15rem .6rem;border-radius:999px}.sync-ok{color:var(--good)}.sync-pending{color:var(--warn);border:1px solid #78350f}.banner{background:var(--panel-2);border:1px solid var(--line);border-radius:8px;padding:.5rem .75rem;font-size:.9rem}.warn-banner{border-color:#78350f;color:#fde68a}.tracker-body{display:grid;gap:.75rem;grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"main side";align-items:start}.with-video .tracker-body{grid-template-areas:"video side" "main side"}.tracker-video{grid-area:video}.tracker-main{grid-area:main;display:grid;grid-template-columns:160px minmax(0,1fr) 160px;gap:.6rem;align-items:start}.tracker-side{grid-area:side;max-height:calc(100vh - 220px);overflow:hidden;position:sticky;top:3.5rem;padding:.6rem}.tracker-side .pbp,.tracker-side .table-wrap{overflow-y:auto}.court-col{display:flex;flex-direction:column;gap:.5rem;min-width:0}.hint{font-size:.8rem;text-align:center;min-height:1.2em}.action-bar{display:grid;grid-template-columns:repeat(auto-fill,minmax(72px,1fr));gap:.4rem}.action{padding:.75rem .3rem;border-radius:10px;font-weight:800;background:var(--panel-2);border:1px solid var(--line);cursor:pointer;font-size:.95rem}.action:hover:not(:disabled){border-color:var(--accent)}.action:active:not(:disabled){transform:scale(.97)}.action.good{border-color:#166534;color:#86efac}.action.bad{border-color:#7f1d1d;color:#fca5a5}.player-panel,.oncourt,.bench-list{display:flex;flex-direction:column;gap:.3rem;min-width:0}button{touch-action:manipulation}.player-btn,.action,.choice,.clock{user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.panel-title{font-weight:800;text-transform:uppercase;font-size:.8rem;letter-spacing:.05em}.bench-label{font-size:.7rem;color:var(--muted);text-transform:uppercase;margin-top:.4rem;letter-spacing:.08em}.player-btn{display:grid;grid-template-columns:auto 1fr;grid-template-areas:"num name" "num stats" "num def";column-gap:.45rem;text-align:left;padding:.4rem .5rem;border-radius:9px;background:var(--panel-2);cursor:pointer;border:1px solid var(--line);border-left:5px solid var(--team, var(--accent))}.player-btn.bench{opacity:.65;padding:.25rem .5rem}.player-btn.bench .pstats,.player-btn.bench .pdef{display:none}.player-btn.selected{outline:3px solid #facc15;opacity:1;background:#2a2410}.player-btn.fouled-out{background:repeating-linear-gradient(45deg,var(--panel-2),var(--panel-2) 6px,#3b1219 6px,#3b1219 12px)}.pnum{grid-area:num;font-size:1.3rem;font-weight:800;min-width:1.8rem;text-align:center;align-self:center;font-variant-numeric:tabular-nums}.pname{grid-area:name;font-weight:600;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pstats{grid-area:stats;font-size:.72rem;color:var(--muted)}.pdef{grid-area:def;font-size:.68rem;color:var(--accent-2)}.tabs{display:flex;gap:.25rem;border-bottom:1px solid var(--line)}.tabs button{background:none;border:none;padding:.4rem .6rem;cursor:pointer;color:var(--muted);font-weight:600;border-bottom:2px solid transparent}.tabs button.active{color:var(--text);border-bottom-color:var(--accent)}.pbp{position:relative;list-style:none;margin:0;padding:0;display:flex;flex-direction:column;font-size:.82rem;max-height:calc(100vh - 290px)}.pbp li{display:grid;grid-template-columns:4.6rem 4px 1fr auto;gap:.45rem;align-items:center;padding:.3rem .2rem;border-bottom:1px solid var(--line);cursor:pointer}.pbp li:hover{background:var(--panel-2)}.pbp li.pending{opacity:.6;font-style:italic}.pbp-time{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.75rem}.pbp-bar{width:4px;height:100%;min-height:1.2rem;border-radius:2px}@media(min-width:1650px){.with-video .tracker-body{grid-template-columns:minmax(280px,var(--video-w, .85fr)) minmax(0,1.25fr) 320px;grid-template-areas:"video main side"}}@media(max-width:1100px){.tracker-body{grid-template-columns:minmax(0,1fr);grid-template-areas:"main" "side"}.with-video .tracker-body{grid-template-columns:minmax(0,1fr);grid-template-areas:"video" "main" "side"}.tracker-side{position:static;max-height:none}.pbp{max-height:50vh}}@media(max-width:760px){input,select,textarea{font-size:16px}h1{font-size:1.25rem}.page{padding:.75rem .75rem 4rem;gap:.75rem}.card{padding:.75rem}.two-col,.shot-layout{grid-template-columns:minmax(0,1fr)}.resize-handle{display:none}.lineup-grid{grid-template-columns:minmax(0,1fr)}table.plain{display:block;overflow-x:auto;white-space:nowrap}table.plain td input:not([type=checkbox]){min-width:7rem}.topbar{flex-wrap:wrap;gap:.4rem .75rem;padding:max(.5rem,env(safe-area-inset-top)) .75rem .5rem}.topbar nav{order:3;width:100%;overflow-x:auto}.topbar nav a{flex:1;text-align:center}.user-label{display:none}.btn,.btn-secondary,.btn-danger{min-height:44px}.btn-ghost.small,.small.btn-ghost{min-height:36px;padding:.35rem .6rem}.game-card .actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.game-card .actions>:first-child{grid-column:1 / -1}.matchup{font-size:1rem}.tracker{padding:.4rem .4rem 3rem;gap:.4rem}.scoreboard{grid-template-columns:1fr 1fr;gap:.4rem;padding:.4rem}.score-mid{grid-column:1 / -1;grid-row:1;min-width:0}.score-pts{font-size:2.1rem}.clock{font-size:2rem;min-width:8rem}.tracker-toolbar{flex-wrap:nowrap;overflow-x:auto}.tracker-main{grid-template-columns:minmax(0,1fr);grid-template-areas:"home" "court" "away";gap:.5rem}.tracker-main>.court-col{grid-area:court}.panel-home{grid-area:home}.panel-away{grid-area:away}.oncourt{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.3rem}.bench-list{flex-direction:row;overflow-x:auto;padding-bottom:.2rem}.bench-label{margin-top:.15rem}.player-btn{grid-template-columns:minmax(0,1fr);grid-template-areas:"num" "name" "stats";text-align:center;padding:.3rem .2rem;min-height:58px;border-left-width:1px;border-top:4px solid var(--team, var(--accent))}.player-btn .pdef{display:none}.bench-list .player-btn{flex:0 0 auto;min-width:68px;min-height:46px}.pnum{font-size:1.15rem;min-width:0}.pname{font-size:.7rem}.pstats{font-size:.64rem}.court-col .court{max-height:52vh}.hint{font-size:.75rem}.action-bar{grid-template-columns:repeat(4,minmax(0,1fr));gap:.3rem}.action{min-height:48px;padding:.6rem .2rem;font-size:.85rem}.modal-backdrop{place-items:end stretch;padding:0}.modal{width:100%;max-height:85vh;border-radius:16px 16px 0 0;padding:.9rem .9rem calc(.9rem + env(safe-area-inset-bottom))}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-height:500px)and (orientation:landscape){.tracker-main{grid-template-columns:130px minmax(0,1fr) 130px;grid-template-areas:"home court away"}.oncourt{display:flex;flex-direction:column}.court-col .court{max-height:78vh}.player-btn{min-height:0}}.inj-tag{display:inline-block;margin-left:.35rem;padding:0 .35rem;border-radius:3px;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;color:#fff;background:#64748b;vertical-align:middle}.inj-tag.inj-out{background:#dc2626}.inj-tag.inj-doubtful{background:#ea580c}.inj-tag.inj-questionable{background:#ca8a04}.inj-tag.inj-probable{background:#16a34a}.injury-list .inj-tag,.injury-report .inj-tag{margin-left:0;margin-right:.3rem}select.inj-out{border-color:#dc2626;color:#dc2626}select.inj-doubtful{border-color:#ea580c}select.inj-questionable{border-color:#ca8a04}select.inj-probable{border-color:#16a34a}.injury-cell{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.injury-cell input{flex:1 1 10rem;min-width:0}.injury-report{margin-top:.6rem;padding:.5rem .6rem;border-left:3px solid #dc2626;background:var(--panel-2);border-radius:4px;font-size:.85rem}.injury-report ul,.injury-list{list-style:none;margin:.3rem 0 0;padding:0;display:flex;flex-direction:column;gap:.2rem}.injury-list{font-size:.75rem}tr.dnp td{font-style:italic}.inline-check{display:inline-flex;align-items:center;gap:.3rem;font-size:.85rem;white-space:nowrap}.tracker-box h2{margin:0}.tracker-box .table-wrap{margin-top:.5rem}.seg{display:inline-flex;border:1px solid var(--line);border-radius:6px;overflow:hidden}.seg button{background:transparent;border:none;padding:.3rem .7rem;color:inherit;cursor:pointer;font-size:.85rem}.seg button.active{background:var(--accent, #2563eb);color:#fff}.action.fast-break{border-style:dashed}.action.fast-break.active{background:#facc15;color:#111;border-style:solid;border-color:#eab308;font-weight:700}.compare{display:flex;flex-direction:column;gap:.45rem;max-width:760px;margin:0 auto}.compare-head{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem}.compare-head strong:last-child{text-align:right}.compare-row{display:grid;grid-template-columns:minmax(4.5rem,8rem) 1fr minmax(4.5rem,8rem);align-items:center;gap:.6rem}.compare-val{font-variant-numeric:tabular-nums;font-size:.9rem}.compare-val.right{text-align:right}.compare-val.better{font-weight:800}.compare-mid{display:flex;flex-direction:column;gap:.15rem}.compare-label{text-align:center;font-size:.75rem;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}.compare-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:var(--panel-2);gap:2px}.compare-bar span{display:block;height:100%}.compare-foot{text-align:center;margin:.2rem 0 0}.compare-title{margin:1rem 0 .5rem}@media(max-width:600px){.compare-row{grid-template-columns:4.2rem 1fr 4.2rem;gap:.35rem}.compare-val{font-size:.78rem}}.has-ball{margin-left:.35rem;font-size:.9em;animation:ball-bounce 1s ease-in-out infinite;display:inline-block}@keyframes ball-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-3px)}}@media(prefers-reduced-motion:reduce){.has-ball{animation:none}}.ball-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin:.4rem 0 .6rem}.ball-summary div{display:flex;flex-direction:column;align-items:center;background:var(--panel-2);border-radius:6px;padding:.4rem;text-align:center}.ball-summary strong{font-size:1.25rem;font-variant-numeric:tabular-nums}.ball-endings{display:flex;height:10px;border-radius:5px;overflow:hidden;background:var(--panel-2)}.ball-endings span{display:block;height:100%}.end-score{background:#16a34a}.end-miss{background:#94a3b8}.end-tov{background:#dc2626}.end-other{background:#64748b}.ball-legend{display:flex;flex-wrap:wrap;gap:.3rem .8rem;margin:.3rem 0 .6rem}.ball-legend i{display:inline-block;width:.7rem;height:.7rem;border-radius:2px;vertical-align:middle}.usage-bar{display:inline-block;width:3rem;height:6px;background:var(--panel-2);border-radius:3px;overflow:hidden;margin-right:.35rem;vertical-align:middle}.usage-bar span{display:block;height:100%}.avatar{border-radius:50%;object-fit:cover;flex:none;border:2px solid var(--team, #64748b);background:var(--panel-2)}.avatar-empty{display:inline-flex;align-items:center;justify-content:center;font-weight:800;color:#fff;background:var(--team, #64748b)}.photo-cell{display:flex;align-items:center;gap:.3rem;white-space:nowrap}.photo-cell label{cursor:pointer}.lineup-graphic{position:absolute;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background:#0a0f19db;color:#fff;border-radius:8px;overflow:auto;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px)}.lg-title{display:flex;justify-content:space-between;align-items:center;font-weight:800;text-transform:uppercase;letter-spacing:.1em;font-size:.9rem}.lg-title .btn-ghost{color:#fff}.lg-teams{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;flex:1}.lg-team{display:flex;flex-direction:column;gap:.35rem;border-top:4px solid var(--team);padding-top:.4rem}.lg-team-name{font-weight:800;font-size:1.05rem;color:var(--team);filter:brightness(1.4)}.lg-player{display:grid;grid-template-columns:auto 2rem 1fr;align-items:center;gap:.5rem;background:#ffffff0f;border-left:3px solid var(--team);border-radius:6px;padding:.25rem .4rem}.lg-num{font-weight:900;font-size:1.2rem;text-align:center;font-variant-numeric:tabular-nums}.lg-name{font-weight:700;display:flex;flex-direction:column;line-height:1.15;min-width:0;overflow:hidden;text-overflow:ellipsis}.lg-pos{font-weight:500;font-size:.72rem;opacity:.75;text-transform:uppercase}.lg-show{position:absolute;top:.4rem;left:50%;transform:translate(-50%);z-index:4;background:#0a0f19bf;color:#fff}@media(max-width:600px){.lg-teams{grid-template-columns:1fr}}.tracker.has-score-bug{padding-bottom:4.5rem}.score-bug{position:fixed;left:50%;bottom:.75rem;transform:translate(-50%);z-index:40;display:flex;align-items:stretch;border-radius:8px;overflow:hidden;box-shadow:0 6px 20px #00000073;background:#0b1220;color:#fff;max-width:calc(100vw - 32px);font-variant-numeric:tabular-nums}.sb-team{display:flex;align-items:center;gap:.6rem;padding:.45rem .8rem;border-left:6px solid var(--team);min-width:0}.sb-team+.sb-team{border-left-width:6px;box-shadow:inset 1px 0 #ffffff1f}.sb-name{font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.85rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:11rem;display:inline-flex;align-items:center;gap:.35rem}.sb-ball{width:.55rem;height:.55rem;border-radius:50%;background:#f97316;display:inline-block;flex:none}.sb-pts{font-weight:900;font-size:1.4rem;min-width:2ch;text-align:right}.sb-time{display:flex;align-items:center;gap:.5rem;padding:.45rem .8rem;background:#facc15;color:#111;font-weight:800}.sb-period{font-size:.8rem;text-transform:uppercase}.sb-clock{font-size:1.15rem}@media(max-width:600px){.score-bug{bottom:.4rem}.sb-team{padding:.35rem .5rem;gap:.4rem}.sb-name{max-width:5.5rem;font-size:.72rem}.sb-pts{font-size:1.15rem}.sb-time{padding:.35rem .5rem}}.armed-banner{position:absolute;top:.4rem;left:50%;transform:translate(-50%);z-index:6;white-space:nowrap;max-width:calc(100% - 1rem);overflow:hidden;text-overflow:ellipsis}@media(max-width:600px){.armed-banner{white-space:normal}}.player-btn{position:relative}.pball{position:absolute;top:2px;right:4px;font-size:.85rem;line-height:1}.mark-filters{display:flex;flex-wrap:wrap;gap:.3rem;margin:.3rem 0}.mark-filters button{border:1px solid var(--line);background:transparent;color:inherit;border-radius:999px;padding:.2rem .65rem;font-size:.8rem;cursor:pointer;display:inline-flex;align-items:center;gap:.3rem}.mark-filters button.active{background:var(--accent);border-color:var(--accent);color:#fff}.mf-count{font-size:.7rem;opacity:.85;background:#0003;border-radius:999px;padding:0 .35rem}input.needs-value{border-color:var(--warn, #f59e0b);box-shadow:0 0 0 2px color-mix(in srgb,var(--warn, #f59e0b) 30%,transparent)}.banner.auto-steal{border-color:#2dd4bf;background:color-mix(in srgb,#2dd4bf 14%,transparent)}.pbp li.pbp-sub .pbp-text{color:var(--muted);font-style:italic}.pbp li.pbp-starters{cursor:default;background:var(--panel-2)}.pbp-starter-team{display:block;font-size:.78rem}.clock.stopped{color:#f87171}.quarter-times{width:100%;margin-top:.4rem}.quarter-times summary{cursor:pointer;font-size:.9em}.quarter-times table{border-collapse:collapse;margin-top:.3rem;font-size:.85em}.quarter-times th,.quarter-times td{padding:.15rem .4rem;text-align:left;white-space:nowrap}.btn-ghost.tiny{padding:0 .3rem;font-size:.8em;min-width:0}.btn-ghost.tiny.time{font-variant-numeric:tabular-nums;font-weight:600}.tracker-side{display:flex;flex-direction:column}.tracker-side .pbp{flex:1;min-height:0}.pbp-filters{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.4rem}.pbp-filters select{width:100%}.pbp-filters .mark-filters{margin:0}.pbp-filters .mark-filters button{padding:.1rem .5rem;font-size:.72rem}.pbp-strip{position:relative;height:34px;background:var(--panel-2);border:1px solid var(--line);border-radius:6px;cursor:pointer;overflow:hidden}.pbp-strip-q{position:absolute;top:0;bottom:0;background:color-mix(in srgb,var(--accent) 14%,transparent);border-left:1px solid var(--line);font-size:.6rem;color:var(--muted);padding:1px 3px;pointer-events:none}.pbp-tick{position:absolute;bottom:3px;width:3px;height:14px;margin-left:-1px;border-radius:1px;opacity:.85}.pbp-tick.made{height:22px}.pbp-tick.miss{height:18px;opacity:.55}.pbp-tick:hover{opacity:1;width:5px;z-index:2}.pbp-tick.now{background:#facc15!important;box-shadow:0 0 4px #facc15;width:5px;z-index:3;opacity:1}.pbp-cursor{position:absolute;top:0;bottom:0;width:2px;background:#fff;pointer-events:none;z-index:4}.pbp-made{align-items:center}.plain-fieldset{border:none;margin:0;padding:0;min-width:0}
