:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#080a0d;--bg-2:#0d1117;--panel:#11161d;--panel-2:#151c25;--border:#232c37;--border-soft:#1a222c;--text:#e6edf3;--muted:#8b99a8;--faint:#61707f;--accent:#7ee787;--accent-2:#58a6ff;--ct:#58a6ff;--t:#f2cc60;--danger:#ff7b72;--radius:16px;--mono:"SFMono-Regular", "Cascadia Code", "JetBrains Mono", Consolas, monospace;--sans:"Inter", "Noto Sans SC", "Segoe UI", system-ui, sans-serif}*{box-sizing:border-box}html,body{min-width:320px;margin:0}body{background:radial-gradient(1200px 600px at 70% -10%, #58a6ff14, transparent 60%), radial-gradient(900px 500px at 10% 0%, #7ee7870f, transparent 55%), var(--bg);color:var(--text);font-family:var(--sans);-webkit-font-smoothing:antialiased;line-height:1.5}#app{flex-direction:column;min-height:100vh;display:flex}main.container{flex:1}a{color:inherit}button,input{font:inherit}button{cursor:pointer}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.container{width:100%;max-width:1120px;margin:0 auto;padding:0 24px}.topbar{z-index:10;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);border-bottom:1px solid var(--border-soft);background:#080a0dc7;position:sticky;top:0}.topbar-inner{justify-content:space-between;align-items:center;gap:16px;max-width:1120px;margin:0 auto;padding:16px 24px;display:flex}.brand{align-items:center;gap:10px;text-decoration:none;display:flex}.brand-mark{background:var(--accent);color:#07130a;width:32px;height:32px;font:700 12px var(--mono);letter-spacing:-.5px;border-radius:9px;place-items:center;display:grid}.brand-name{font:600 13px/1 var(--mono);letter-spacing:.14em}.brand-tag{color:var(--accent);font:600 10px var(--mono);letter-spacing:.1em;background:#7ee78714;border:1px solid #7ee7874d;border-radius:6px;padding:3px 7px}.local-note{color:var(--muted);font-size:12px}.hero{padding:64px 0 40px}.eyebrow{color:var(--accent);font:600 11px var(--mono);letter-spacing:.18em;margin:0 0 14px}.hero h1{letter-spacing:-.03em;white-space:pre-line;margin:0;font-size:clamp(34px,5vw,56px);font-weight:650;line-height:1.08}.lede{max-width:560px;color:var(--muted);margin:18px 0 0;font-size:15px}.home-grid{grid-template-columns:1.05fr .95fr;gap:20px;padding-bottom:64px;display:grid}.panel{background:linear-gradient(180deg, #ffffff05, transparent 40%), var(--panel);border:1px solid var(--border);border-radius:var(--radius);padding:22px}.panel-head{justify-content:space-between;align-items:center;margin-bottom:16px;display:flex}.panel-head h2{letter-spacing:.04em;margin:0;font-size:14px;font-weight:600}.panel-tag{color:var(--faint);font:600 10px var(--mono);letter-spacing:.12em}.drop-zone{background:radial-gradient(400px 200px at 50% 0%, #58a6ff14, transparent 70%), var(--bg-2);text-align:center;cursor:pointer;border:1px dashed #2d3a48;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:280px;padding:24px;transition:border-color .15s,background .15s,transform .15s;display:flex}.drop-zone:hover,.drop-zone.is-over{border-color:var(--accent);background:radial-gradient(400px 200px at 50% 0%, #7ee7871a, transparent 70%), var(--bg-2)}.drop-zone.is-over{transform:scale(1.005)}.drop-icon{border:1px solid var(--border);background:var(--panel-2);width:56px;height:56px;color:var(--accent);font:700 12px var(--mono);letter-spacing:.08em;border-radius:14px;place-items:center;display:grid}.drop-title{font-size:17px;font-weight:600}.drop-sub{color:var(--muted);font-size:13px}.drop-hint{color:var(--faint);font:11px var(--mono);margin-top:8px}.hint{color:var(--faint);margin:14px 0 0;font-size:12px}.progress-card{border:1px solid var(--border);background:var(--panel-2);border-radius:12px;align-items:center;gap:12px;margin-top:16px;padding:12px 14px;display:flex}.progress-copy{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.progress-copy strong{font-size:13px}.progress-tick{color:var(--muted);font:11px var(--mono)}.spinner{border:2px solid #ffffff1f;border-top-color:var(--accent);border-radius:50%;flex:none;width:18px;height:18px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.btn{appearance:none;border:1px solid var(--border);background:var(--panel-2);color:var(--text);font:600 12px var(--sans);border-radius:9px;padding:8px 14px}.btn:hover{background:#1a232d;border-color:#3a4654}.btn-primary{background:var(--accent);border-color:var(--accent);color:#07130a}.btn-primary:hover{background:#9bf0a2}.btn-ghost{background:0 0}.icon-btn{appearance:none;color:var(--muted);background:0 0;border:0;border-radius:7px;place-items:center;width:28px;height:28px;font-size:18px;line-height:1;display:grid}.icon-btn:hover{color:var(--text);background:#ffffff0f}.error-banner{color:#ffb4ae;background:#ff7b7214;border:1px solid #ff7b724d;border-radius:10px;justify-content:space-between;align-items:flex-start;gap:12px;margin:0 0 20px;padding:12px 14px;font-size:13px;display:flex}.session-list{flex-direction:column;gap:8px;display:flex}.session-row{border:1px solid var(--border-soft);background:var(--bg-2);cursor:pointer;border-radius:12px;grid-template-columns:minmax(0,1.5fr) auto minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:12px 12px 12px 14px;transition:border-color .15s,background .15s;display:grid}.session-row:hover,.session-row:focus-visible{background:var(--panel-2);border-color:#33404e;outline:none}.session-map{flex-direction:column;gap:2px;min-width:0;display:flex}.session-map strong{font-size:14px}.session-map span{color:var(--faint);font:10px var(--mono);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.session-score{font:700 16px var(--mono);color:var(--text);white-space:nowrap}.session-meta{color:var(--muted);flex-direction:column;gap:2px;min-width:0;font-size:11px;display:flex}.status-chip{font:600 10px var(--mono);white-space:nowrap;border:1px solid var(--border);color:var(--muted);border-radius:999px;padding:3px 8px}.status-chip.ready{color:var(--accent);background:#7ee78712;border-color:#7ee7874d}.status-chip.parsing{color:var(--accent-2);background:#58a6ff12;border-color:#58a6ff4d}.status-chip.error{color:var(--danger);background:#ff7b7212;border-color:#ff7b724d}.empty{color:var(--faint);text-align:center;flex-direction:column;align-items:center;gap:6px;padding:48px 16px;display:flex}.empty strong{color:var(--muted);font-size:14px}.empty-mark{font:300 28px var(--mono);color:var(--border)}.session-view{padding-top:36px;padding-bottom:64px}.back-link{appearance:none;color:var(--muted);font:600 12px var(--sans);background:0 0;border:0;margin-bottom:22px;padding:0}.back-link:hover{color:var(--text)}.session-head{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:22px;display:flex}.session-title h1{letter-spacing:-.03em;margin:0 0 4px;font-size:clamp(32px,4vw,46px);line-height:1.05}.session-title .eyebrow{margin-bottom:8px}.muted{color:var(--muted);margin:0;font-size:13px}.session-actions{gap:8px;display:flex}.scoreboard{grid-template-columns:1fr auto 1fr;align-items:stretch;gap:14px;margin:20px 0 22px;display:grid}.team{border:1px solid var(--border);background:var(--panel);border-radius:14px;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:18px;display:grid}.team.ct,.team.a{background:linear-gradient(180deg, #58a6ff14, transparent), var(--panel);border-color:#58a6ff47}.team.t,.team.b{background:linear-gradient(180deg, #f2cc6012, transparent), var(--panel);border-color:#f2cc603d}.team-label{font:700 11px var(--mono);letter-spacing:.1em;color:var(--ct)}.team.t .team-label,.team.b .team-label{color:var(--t)}.team-name{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.team-score{font:700 30px/1 var(--mono)}.score-divider{color:var(--faint);font:300 24px var(--mono);place-items:center;display:grid}.players-wrap{border:1px solid var(--border);background:var(--panel);border-radius:14px;overflow:hidden}.players-table{border-collapse:collapse;width:100%;font-size:13px}.players-table th{text-align:left;color:var(--faint);font:600 10px var(--mono);letter-spacing:.1em;border-bottom:1px solid var(--border-soft);padding:10px 14px}.players-table td{border-bottom:1px solid var(--border-soft);padding:10px 14px}.players-table tr:last-child td{border-bottom:0}.players-table .num{font-family:var(--mono);color:var(--muted)}.player-name{font-weight:500}.team-badge{min-width:30px;font:700 10px var(--mono);border-radius:5px;justify-content:center;align-items:center;padding:2px 6px;display:inline-flex}.team-badge.ct,.team-badge.a{color:var(--ct);background:#58a6ff1a}.team-badge.t,.team-badge.b{color:var(--t);background:#f2cc601a}.side-note{color:var(--faint);margin:-10px 0 22px;font-size:12px}.empty-cell{text-align:center;color:var(--faint);padding:24px!important}.note{color:var(--faint);margin:20px 0 0;font-size:12px;line-height:1.7}.footer{border-top:1px solid var(--border-soft);margin-top:auto}.footer-inner{max-width:1120px;color:var(--faint);font:11px var(--mono);justify-content:space-between;gap:12px;margin:0 auto;padding:18px 24px;display:flex}.loading{color:var(--muted);padding:80px 0;font-size:14px}@media (max-width:860px){.home-grid{grid-template-columns:1fr}}@media (max-width:720px){.topbar-inner,.footer-inner,.container{padding-left:16px;padding-right:16px}.hero{padding-top:40px}.session-row{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.session-meta{flex-direction:row;grid-column:1/-1;gap:10px}.status-chip{grid-area:1/2}.session-row .icon-btn{grid-area:2/2;justify-self:end}.session-head{flex-direction:column;align-items:flex-start}.scoreboard{grid-template-columns:1fr}.score-divider{display:none}}
