:root{color-scheme:dark;--page: #0d0d0d;--surface-1: #1a1a19;--surface-2: #222221;--text-primary: #ffffff;--text-secondary: #c3c2b7;--text-muted: #898781;--grid: #2c2c2a;--baseline: #383835;--border: rgba(255, 255, 255, .1);--team-red: #e66767;--team-blue: #3987e5;--team-red-dim: rgba(230, 103, 103, .16);--team-blue-dim: rgba(57, 135, 229, .16);--series-1: #3987e5;--series-2: #d95926;--series-3: #199e70;--series-4: #c98500;--series-5: #d55181;--series-6: #008300;--series-7: #9085e9;--series-8: #e66767;--good: #0ca30c;--warning: #fab219;--critical: #d03b3b;--accent: #3987e5}:root[data-theme=light]{color-scheme:light;--page: #f9f9f7;--surface-1: #fcfcfb;--surface-2: #f0efec;--text-primary: #0b0b0b;--text-secondary: #52514e;--text-muted: #898781;--grid: #e1e0d9;--baseline: #c3c2b7;--border: rgba(11, 11, 11, .1);--team-red: #e34948;--team-blue: #2a78d6;--team-red-dim: rgba(227, 73, 72, .12);--team-blue-dim: rgba(42, 120, 214, .12);--series-1: #2a78d6;--series-2: #eb6834;--series-3: #1baf7a;--series-4: #eda100;--series-5: #e87ba4;--series-6: #008300;--series-7: #4a3aa7;--series-8: #e34948;--good: #006300;--accent: #2a78d6}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh}body{background:var(--page);color:var(--text-primary);font-family:system-ui,-apple-system,Segoe UI,sans-serif;font-size:14px}a{color:inherit;text-decoration:none}button{font:inherit}.app-shell{display:flex;flex-direction:column;min-height:100vh}.topbar{display:flex;align-items:center;flex-wrap:wrap;gap:12px 20px;padding:10px 20px;background:var(--surface-1);border-bottom:1px solid var(--border);position:sticky;top:0;z-index:10}.topbar .brand{font-weight:700;font-size:15px;letter-spacing:.02em}.topbar nav{display:flex;gap:4px}.topbar nav a{padding:6px 12px;border-radius:6px;color:var(--text-secondary);font-weight:500}.topbar nav a.active{background:var(--surface-2);color:var(--text-primary)}.topbar nav a:hover{color:var(--text-primary)}.topbar .spacer{flex:1}.topbar .user{color:var(--text-muted);font-size:13px}.page{max-width:1240px;width:100%;margin:0 auto;padding:20px}.page h1{font-size:20px;margin:0 0 16px}.page h2{font-size:15px;margin:24px 0 10px;color:var(--text-secondary)}.card{background:var(--surface-1);border:1px solid var(--border);border-radius:10px;padding:16px}.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.filters select,.filters input,.form input,.form select{background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font:inherit}.btn{background:var(--accent);color:#fff;border:none;border-radius:6px;padding:7px 14px;font-weight:600;cursor:pointer}.btn:disabled{opacity:.5;cursor:default}.btn.ghost{background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border)}.btn.danger{background:var(--critical)}table.stats{width:100%;border-collapse:collapse;font-variant-numeric:tabular-nums}table.stats th{text-align:right;color:var(--text-muted);font-weight:500;font-size:12px;padding:6px 8px;border-bottom:1px solid var(--baseline);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none}table.stats td{text-align:right;padding:6px 8px;border-bottom:1px solid var(--grid);white-space:nowrap}table.stats th:first-child,table.stats td:first-child{text-align:left}table.stats tr:hover td{background:var(--surface-2)}.team-red{color:var(--team-red);font-weight:600}.team-blue{color:var(--team-blue);font-weight:600}.row-red td:first-child{box-shadow:inset 3px 0 0 var(--team-red)}.row-blue td:first-child{box-shadow:inset 3px 0 0 var(--team-blue)}.row-win td:first-child{box-shadow:inset 3px 0 0 var(--good)}.row-loss td:first-child{box-shadow:inset 3px 0 0 var(--critical)}.team-switch{background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:5px 8px;font:inherit;max-width:180px}.platform-banner{background:var(--warning);color:#1a1a19;padding:6px 16px;font-size:13px;font-weight:600}.toggle{display:inline-flex;align-items:center;gap:6px;background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font:inherit;cursor:pointer;-webkit-user-select:none;user-select:none}.toggle.on{border-color:var(--accent);color:var(--accent)}.toggle input{accent-color:var(--accent);margin:0;cursor:pointer}.toggle[aria-disabled=true]{opacity:.5;cursor:default}.toggle[aria-disabled=true] input{cursor:default}.player-cell{display:flex;align-items:center;gap:8px}.agent-icon{width:26px;height:26px;border-radius:5px;background:var(--surface-2);flex:none}.player-name{font-weight:600}.player-sub{color:var(--text-muted);font-size:11px}.tabs{display:flex;gap:4px;margin:16px 0;border-bottom:1px solid var(--baseline)}.tabs button{background:none;border:none;color:var(--text-secondary);padding:8px 14px;cursor:pointer;font-weight:600;border-bottom:2px solid transparent}.tabs button.active{color:var(--text-primary);border-bottom-color:var(--accent)}.day-header{font-size:14px;font-weight:700;color:var(--text-secondary);margin:20px 0 10px;padding-bottom:6px;border-bottom:1px solid var(--baseline)}.match-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.mcard{position:relative;border-radius:12px;overflow:hidden;cursor:pointer;min-height:132px;background:var(--surface-1) center / cover no-repeat;border:2px solid var(--border);transition:transform .1s ease}.mcard:hover{transform:translateY(-2px)}.mcard-win{border-color:var(--good);box-shadow:inset 0 0 24px #0ca30c2e}.mcard-loss{border-color:var(--critical);box-shadow:inset 0 0 24px #d03b3b2e}.mcard-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(to right,#0a0a0ae0,#0a0a0a9e 55%,#0a0a0a59)}.mcard-body{position:relative;padding:12px 14px;display:flex;flex-direction:column;gap:8px;min-height:108px;color:#fff}.mcard-top{display:flex;justify-content:space-between;align-items:baseline;gap:8px}.mcard-map{font-weight:800;font-size:16px;letter-spacing:.02em}.mcard-meta{font-size:11px;color:#ffffffbf;white-space:nowrap}.mcard-score-row{display:flex;align-items:baseline;gap:10px}.mcard-score{font-size:26px;font-weight:800;font-variant-numeric:tabular-nums}.mcard-score.good{color:#4ade4a}.mcard-score.bad{color:#ff7a7a}.mcard-colon{color:#ffffff80;margin:0 4px;font-size:20px}.mcard-opp{font-size:13px;font-weight:600;color:#ffffffe6;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.chip-row{display:flex;gap:5px;flex-wrap:nowrap;overflow:hidden;margin-top:auto}.role-chip{font-size:11px;font-weight:600;padding:2px 7px;border-radius:999px;background:#ffffff24;border:1px solid rgba(255,255,255,.2);color:#fff;white-space:nowrap}.role-chip .role-mark{margin-left:4px;font-size:10px;opacity:.85}.role-sub{border-color:var(--series-4)}.role-coach{border-color:var(--series-7)}.role-none{opacity:.65}.round-strip{display:flex;gap:4px;flex-wrap:wrap}.round-chip{width:34px;height:40px;border-radius:6px;border:1px solid var(--border);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;cursor:pointer;background:var(--surface-2);font-size:10px;color:var(--text-muted)}.round-chip.win-Red{background:var(--team-red-dim);border-color:var(--team-red)}.round-chip.win-Blue{background:var(--team-blue-dim);border-color:var(--team-blue)}.round-chip.selected{outline:2px solid var(--accent)}.round-chip .n{font-weight:700;font-size:12px;color:var(--text-primary)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:11px;font-weight:600;background:var(--surface-2);color:var(--text-secondary);border:1px solid var(--border)}.badge.buy-pistol{color:var(--series-7)}.badge.buy-eco{color:var(--text-muted)}.badge.buy-semi{color:var(--series-4)}.badge.buy-full{color:var(--series-3)}.chart-tooltip{position:absolute;pointer-events:none;background:var(--surface-2);border:1px solid var(--border);border-radius:6px;padding:6px 10px;font-size:12px;z-index:20;white-space:nowrap;box-shadow:0 4px 12px #00000059}.login-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center}.login-box{width:320px;display:flex;flex-direction:column;gap:10px}.login-box input{background:var(--surface-2);color:var(--text-primary);border:1px solid var(--border);border-radius:6px;padding:10px 12px;font:inherit}.error-text{color:var(--critical);font-size:13px}.muted{color:var(--text-muted)}.mono{font-family:ui-monospace,Consolas,monospace;font-size:12px}.drop-zone{border:2px dashed var(--baseline);border-radius:10px;padding:40px;text-align:center;color:var(--text-muted);cursor:pointer}.drop-zone.over{border-color:var(--accent);color:var(--text-primary)}.legend{display:flex;gap:16px;font-size:12px;color:var(--text-secondary);margin:6px 0;flex-wrap:wrap}.legend .swatch{display:inline-block;width:10px;height:10px;border-radius:2px;margin-right:5px}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:16px}@media(max-width:900px){.grid-2{grid-template-columns:1fr}}.vod-stage:fullscreen{display:flex;flex-direction:column;background:#000;padding:8px}.vod-stage:fullscreen .vod-video{flex:1;min-height:0}.vod-stage:fullscreen .vod-video .yt-aspect{position:absolute!important;top:0;right:0;bottom:0;left:0;height:100%!important;padding-bottom:0!important}.nav-toggle{display:none;background:none;border:1px solid var(--border);border-radius:6px;color:var(--text-primary);font-size:18px;line-height:1;padding:4px 10px;cursor:pointer}.topbar-menu{display:flex;flex:1;min-width:0;flex-wrap:wrap;align-items:center;gap:10px 16px}.vod-split{grid-template-columns:2fr 1fr}.vod-split.theater{grid-template-columns:1fr}.video-controls{flex-wrap:nowrap}.table-scroll{overflow-x:auto}input,select,textarea{max-width:100%}@media(max-width:900px){.vod-split,.vod-split.theater{grid-template-columns:1fr}}@media(max-width:760px){.topbar{flex-wrap:wrap;gap:12px}.nav-toggle{display:inline-flex;align-items:center;min-height:44px;margin-left:auto}.topbar-menu{display:none;flex-basis:100%;flex-direction:column;align-items:stretch;gap:8px}.topbar-menu.open{display:flex}.topbar-menu .spacer{display:none}.topbar nav{flex-direction:column;gap:4px}.topbar nav a,.btn,.tabs button,.toggle{min-height:44px;display:inline-flex;align-items:center}.btn,.toggle{justify-content:center}.tabs{flex-wrap:nowrap;overflow-x:auto;-webkit-overflow-scrolling:touch}.tabs button{flex:0 0 auto;white-space:nowrap}.video-controls{flex-wrap:wrap}.video-controls .scrub{flex-basis:100%;order:1}.round-chip{min-width:40px;height:44px}input,select,textarea{font-size:16px}.page{padding:14px 12px}.card{padding:12px}.login-box{width:100%;max-width:340px}}
