:root{--bg: #f1f1f1;--surface: #fff;--line: #d9d9d9;--text: #333;--muted: #8a8a8a;--link: #1ba7c9;--home: #3498db;--away: #27ae60;--foul: #e08a1e;--danger: #c0392b;color-scheme:light}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{margin:0;background:var(--bg);color:var(--text);font:16px/1.35 Cabin,system-ui,-apple-system,Segoe UI,sans-serif;-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;touch-action:manipulation}button{font:inherit;color:inherit;cursor:pointer}h1,h2,p,ul{margin:0}ul{list-style:none;padding:0}.s-badge{flex:none;display:inline-grid;place-items:center;width:40px;height:40px;border-radius:50%;color:#fff;font:1rem Abel,sans-serif}.s-badge.home{background:var(--home)}.s-badge.away{background:var(--away)}.s-link{background:none;border:0;padding:6px 2px;color:var(--link);font-size:1rem}.s-link.danger{color:var(--danger)}.s-link:disabled{opacity:.4}.s-button{min-height:46px;padding:0 18px;border-radius:6px;border:1.5px solid #888;background:var(--surface);font-weight:600}.s-button.primary{background:var(--link);border-color:var(--link);color:#fff}.s-button.outline{border-color:var(--link);color:var(--link)}.s-button:disabled{opacity:.45}.s-empty{padding:48px 20px;text-align:center;color:var(--muted)}.s-error{color:var(--danger);padding:0 16px}.s-login{min-height:100%;display:flex;flex-direction:column;justify-content:center;gap:6px;padding:24px;max-width:420px;margin:0 auto}.s-login h1{font:2rem Abel,sans-serif;letter-spacing:.04em}.s-login>p{color:var(--muted);margin-bottom:18px}.form{display:flex;flex-direction:column;gap:14px}.field{display:flex;flex-direction:column;gap:6px}.field>span{font-weight:600;font-size:.9rem}.field small{color:var(--muted)}.error{color:var(--danger)}input{font:inherit;font-size:max(16px,1.3rem);letter-spacing:.2em;text-align:center;min-height:54px;border:1.5px solid #bbb;border-radius:6px;background:#fff;color:var(--text);width:100%}.s-page{max-width:720px;margin:0 auto;min-height:100%;display:flex;flex-direction:column;background:var(--surface)}.s-top{display:flex;align-items:center;gap:12px;padding:calc(12px + env(safe-area-inset-top)) 16px 12px;border-bottom:1px solid var(--line)}.s-top strong{font:1.25rem Abel,sans-serif}.s-top span{flex:1;color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.s-day{background:var(--bg);text-align:center;font-size:.95rem;font-weight:600;padding:10px 16px;border-bottom:1px solid var(--line)}.s-games li{border-bottom:1px solid var(--line)}.s-game{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding:16px 14px;color:inherit;text-decoration:none}.s-game-team{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;font-size:.9rem}.s-game-team .s-badge{width:56px;height:56px;font-size:1.3rem}.s-game-mid{display:flex;flex-direction:column;align-items:center;gap:2px;color:var(--muted);font-size:.85rem;text-align:center}.s-game-mid b{font:1.7rem Abel,sans-serif;color:var(--text);white-space:nowrap}.s-game-mid .live{color:var(--danger);font-weight:700}.s-roster{flex:1}.s-roster li{border-bottom:1px solid var(--line)}.s-roster button{width:100%;display:flex;align-items:center;gap:14px;min-height:60px;padding:8px 16px;background:none;border:0;text-align:left}.s-roster button[aria-pressed=true]{background:#f6f3d4}.s-roster button span:nth-child(2){flex:1}.s-roster.compact button{min-height:52px;padding:6px 4px}.s-check{color:var(--link);font-weight:700;font-size:.9rem}.s-bottom{position:sticky;bottom:0;display:flex;gap:10px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--surface);border-top:1px solid var(--line)}.s-bottom .s-button{flex:1}.s-game-page{height:100%;display:flex;flex-direction:column;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.s-score{display:grid;grid-template-columns:1fr auto 1fr;align-items:stretch;background:var(--surface);border-bottom:1px solid var(--line)}.s-score-team{display:flex;align-items:center;gap:8px;padding:8px 10px;min-width:0}.s-score-team.away{justify-content:flex-end;text-align:right}.s-score-team span:not(.s-badge){flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;font-size:.9rem;line-height:1.15}.s-score-team b{font:2.2rem/1 Abel,sans-serif}.s-score-team .s-badge{width:40px;height:40px;font-size:1rem}.s-score-mid{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:0;padding:6px 14px;border-left:1px solid var(--line);border-right:1px solid var(--line);min-width:132px}.s-clock{font:2rem/1.05 Abel,sans-serif;background:none;border:0;padding:0;color:var(--text);font-variant-numeric:tabular-nums}.s-clock.big{font-size:3.4rem;text-align:center;padding:8px 0}.s-period{background:none;border:0;padding:2px 4px;color:var(--muted);font-size:.85rem}.s-note{text-align:center;padding:6px 12px;font-size:.85rem;color:var(--muted);background:#fbfbe6}.s-note.bad{color:#fff;background:var(--danger)}.s-floor{flex:1;min-height:0;display:grid;grid-template-columns:1fr 1fr;grid-template-areas:"court court" "home away";gap:8px;padding:8px;overflow-y:auto;align-content:start}.s-court-box{grid-area:court;position:relative;min-width:0;min-height:0}.s-court-box:before{content:"";display:block;padding-top:60%}.s-court{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;display:block;background:var(--surface);touch-action:manipulation}.s-court-floor{fill:#efefef;stroke:#fff;stroke-width:3}.s-court-paint{fill:#dedede}.s-court-line{fill:none;stroke:#fff;stroke-width:3}.s-shot{fill:none;stroke:#999;stroke-width:2}.s-shot.made{fill:var(--foul);stroke:var(--foul)}.s-marker{fill:var(--home);stroke:#fff;stroke-width:2}.s-players{display:flex;flex-direction:column;gap:6px}.s-players.home{grid-area:home}.s-players.away{grid-area:away}.s-player{display:flex;align-items:center;gap:8px;min-height:54px;padding:6px 8px;background:var(--surface);border:0;text-align:left;min-width:0}.s-player[aria-pressed=true]{background:#f0edb4}.s-player-text{display:flex;flex-direction:column;gap:4px;min-width:0}.s-player-name{color:#666;font-size:.9rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-fouls{display:flex;gap:3px}.s-fouls i{width:9px;height:9px;border-radius:50%;background:#333}.s-fouls i.on{background:var(--foul)}.s-foot{display:flex;align-items:center;gap:8px;padding:8px}.s-foot .s-button{min-height:44px;padding:0 10px;font-size:.9rem;white-space:nowrap}.s-foot-mid{flex:1;display:grid;grid-template-columns:repeat(3,1fr);border:1.5px solid #888;border-radius:6px;overflow:hidden}.s-foot-mid button{min-height:44px;background:none;border:0;font-size:.9rem;padding:0 4px}.s-foot-mid button+button{border-left:1.5px solid #888}.s-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;background:#0000008c;display:grid;place-items:center;padding:12px}.s-modal{width:100%;max-width:620px;max-height:100%;display:flex;flex-direction:column;background:var(--surface);border-radius:8px;overflow:hidden}.s-modal>header{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:6px 12px;background:#f0f0f0;border-bottom:1px solid var(--line)}.s-modal>header strong{font-weight:500;color:#555;text-align:center}.s-modal-side.right{text-align:right}.s-modal-body{overflow-y:auto;padding:8px 12px 14px}.s-options{display:flex;flex-direction:column}.s-options button{min-height:62px;background:none;border:0;border-top:1px solid var(--line);font:1.45rem Abel,sans-serif;color:#777}.s-options button:first-child{border-top:0}.s-options button.danger{color:var(--danger)}.s-options.grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding-top:6px}.s-options.grid button{min-height:64px;border:1.5px solid #e3c24a;border-radius:4px;color:#c9a21a;font-size:1.05rem;line-height:1.15;padding:4px}.s-options.grid button.shot{border-color:var(--link);color:var(--link)}.s-group{text-align:center;font-weight:600;padding:8px 0 4px}.s-group.home,.s-linescore .home{color:var(--home)}.s-group.away,.s-linescore .away{color:var(--away)}.s-chips{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;padding:6px 0}.s-chip{display:flex;flex-direction:column;align-items:center;gap:6px;padding:10px 2px;background:none;border:1.5px solid #ccc;color:#888;font-size:.8rem;text-align:center;min-width:0;overflow-wrap:anywhere}.s-chip .s-badge{width:46px;height:46px;font-size:1.2rem}.s-help{color:var(--muted);font-size:.9rem;padding:6px 0}.s-adjust{display:grid;grid-template-columns:repeat(6,1fr);gap:4px;padding-bottom:8px}.s-adjust button{min-height:44px;background:var(--bg);border:0;border-radius:4px;font-size:.85rem}.s-box-wrap{overflow-x:auto}.s-box,.s-linescore{width:100%;border-collapse:collapse;text-align:center;white-space:nowrap;font-size:.88rem}.s-box th,.s-linescore th{color:var(--muted);font-weight:500;padding:6px 7px}.s-box td,.s-linescore td{padding:8px 7px;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}.s-box .left,.s-linescore .left{text-align:left;padding-left:0}.s-linescore td{font:1.15rem Abel,sans-serif}.s-linescore td.left{font:1rem Cabin,sans-serif}.s-logs-title{margin:18px 0 6px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#777;font-size:.85rem}.s-logs li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 8px;border-top:1px solid var(--line)}.s-logs li:nth-child(odd){background:#f4f4f4}.s-logs p{font-size:.9rem}.s-log-when{color:var(--muted)}@media (orientation: landscape) and (min-width: 560px),(min-width: 820px){.s-floor{grid-template-columns:minmax(120px,1fr) minmax(0,3.2fr) minmax(120px,1fr);grid-template-areas:"home court away";align-content:stretch;overflow:hidden}.s-court-box{height:100%}.s-court-box:before{display:none}.s-players{justify-content:space-between}.s-player{flex:1;min-height:0}.s-score-team b{font-size:2.6rem}.s-foot .s-button{padding:0 22px}}@media (orientation: landscape) and (max-height: 430px){.s-score-team{padding:4px 10px}.s-score-team .s-badge{width:34px;height:34px}.s-clock{font-size:1.6rem}.s-foot{padding:4px 8px}.s-foot .s-button,.s-foot-mid button{min-height:38px}.s-player .s-badge{width:32px;height:32px;font-size:.9rem}.s-options button{min-height:50px;font-size:1.25rem}.s-options.grid button{min-height:52px}.s-chip{padding:6px 2px}.s-chip .s-badge{width:38px;height:38px}}@media (max-width: 559px){.s-score-team .s-badge{display:none}.s-score-team span:not(.s-badge){font-size:.8rem}.s-score-mid{min-width:104px;padding:6px 8px}}.s-teambar{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:4px 10px;background:var(--surface);border-bottom:1px solid var(--line);font-size:.8rem;color:#666}.s-teaminfo{display:flex;align-items:center;gap:10px;flex-wrap:wrap;min-width:0}.s-teaminfo.away{justify-content:flex-end}.s-teaminfo .penalty{color:var(--danger);font-weight:700}.s-mini{min-height:30px;padding:0 10px;border-radius:5px;border:1.5px solid var(--link);background:none;color:var(--link);font-size:.8rem;font-weight:600}.s-mini:disabled{opacity:.4}.s-arrow{min-height:30px;padding:0 12px;border-radius:15px;border:0;background:#333;color:#fff;font-size:.78rem;font-weight:700;white-space:nowrap}.s-arrow:disabled{opacity:.4}.s-player.out{background:#f6dedb}.s-player.out .s-player-name{color:var(--danger);font-weight:700}.s-player.out .s-fouls i.on{background:var(--danger)}.s-roster button:disabled{opacity:.5}.s-cancel-play{display:block;margin:12px auto 0}.s-log-line{display:block;width:100%;text-align:left;background:none;border:0;padding:3px 0;font-size:.9rem;color:inherit}.s-log-line:disabled{opacity:.6}@media (orientation: landscape) and (max-height: 430px){.s-teambar{padding:2px 10px;font-size:.75rem}.s-mini,.s-arrow{min-height:26px}}@media (max-width: 559px){.s-teambar{font-size:.72rem;padding:4px 6px;gap:4px}.s-teaminfo{gap:6px}.s-mini{padding:0 7px}.s-arrow{padding:0 9px}}.s-game-mid .stage{color:var(--link);font-weight:700;text-transform:uppercase;letter-spacing:.04em;font-size:.75rem}.s-summary{flex:1;min-height:0;overflow-y:auto;padding:10px;display:flex;flex-direction:column;gap:12px}.s-summary .s-box-wrap,.s-potg{background:var(--surface);padding:10px 12px}.s-potg h2{font-size:1rem;letter-spacing:.06em;text-transform:uppercase;color:#555}.s-potg-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:8px}.s-potg-pick{display:flex;align-items:center;gap:10px;min-height:60px;padding:8px 10px;background:none;border:1.5px solid #ccc;border-radius:6px;text-align:left;font:inherit;color:inherit;min-width:0}.s-potg-pick[aria-pressed=true]{border-color:#c9a21a;background:#f0edb4}.s-potg-pick:disabled{opacity:.6}.s-potg-name{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.s-potg-name strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.s-potg-name span{color:var(--muted);font-size:.8rem}.s-potg-eff{display:flex;flex-direction:column;align-items:center;color:var(--muted);font-size:.7rem}.s-potg-eff b{font:1.6rem/1 Abel,sans-serif;color:var(--text)}.s-potg-pick .s-check{width:18px;font-weight:700}.s-summary>*{flex:none}
