@import url('https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Manrope:wght@400;500;600;700;800&display=swap');
:root{color-scheme:dark;--bg:#050914;--panel:#0b1324;--panel-2:#0d1930;--line:#1b2a45;--line-strong:#2b4266;--text:#edf4ff;--muted:#8799b6;--cyan:#32d8f5;--violet:#9586ff;--green:#45e0ad;--amber:#ffc76a;--red:#ff708d;--radius:18px;--space:8px}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:24px}body{margin:0;background:radial-gradient(ellipse at 78% -8%,rgba(40,94,167,.18),transparent 36%),var(--bg);color:var(--text);font-family:Manrope,system-ui,sans-serif;font-size:14px;line-height:1.5}a{color:inherit;text-decoration:none}button,input,select{font:inherit}.shell{min-height:100vh;display:grid;grid-template-columns:244px minmax(0,1fr)}.sidebar{height:100vh;position:sticky;top:0;display:flex;flex-direction:column;padding:24px 16px 18px;border-right:1px solid var(--line);background:rgba(5,10,22,.92);backdrop-filter:blur(18px)}.brand{display:flex;align-items:center;gap:12px;padding:4px 8px 26px}.brand-mark{width:42px;height:42px;display:grid;place-items:center;border:1px solid var(--cyan);border-radius:13px;color:var(--cyan);font-weight:800;font-size:24px;box-shadow:0 0 24px #32d8f522}.brand b{display:block;font-size:22px;letter-spacing:.16em;line-height:1.15}.brand small{display:block;color:var(--cyan);font:9px 'DM Mono',monospace;letter-spacing:.16em;margin-top:4px}.league-chip{display:flex;align-items:center;gap:9px;padding:11px 12px;margin-bottom:22px;background:#0b1930;border:1px solid #1d385b;border-radius:12px;font-weight:800;letter-spacing:.08em}.season{margin-left:auto;color:var(--muted);font:10px 'DM Mono',monospace}.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--green);box-shadow:0 0 12px #45e0ad99;flex:none}.sidebar nav{display:grid;gap:5px}.nav-link{display:flex;align-items:center;gap:13px;padding:12px 13px;border-radius:11px;color:#9aabc5;font-weight:650;transition:background .18s,color .18s}.nav-link span{width:19px;color:#7790b2;font-size:18px;text-align:center}.nav-link:hover,.nav-link.active{color:var(--text);background:linear-gradient(90deg,#123455,#0e1c33);box-shadow:inset 2px 0 var(--cyan)}.nav-link.active span{color:var(--cyan)}.sidebar-bottom{margin-top:auto;display:grid;gap:18px;padding:14px 7px 0}.system-state{display:flex;align-items:center;gap:11px;padding:13px 10px;background:#0a1425;border:1px solid var(--line);border-radius:13px}.state-orb{width:24px;height:24px;border-radius:50%;background:radial-gradient(circle,#e6fbff 0 10%,#32d8f5 18%,#1378ab 40%,#071c37 70%);box-shadow:0 0 18px #32d8f555}.system-state b,.system-state small{display:block}.system-state b{font-size:11px}.system-state small{font-size:10px;color:var(--muted);margin-top:2px}.muted{color:var(--muted);font:9px 'DM Mono',monospace;letter-spacing:.08em}.main{min-width:0;padding:0 clamp(20px,4vw,64px)}.topbar{min-height:91px;display:flex;align-items:center;justify-content:space-between;gap:20px;border-bottom:1px solid var(--line)}.eyebrow{font:10px 'DM Mono',monospace;letter-spacing:.15em;color:var(--cyan);margin:0 0 6px}.date-line{font-size:13px;color:#b4c2d8}.upload-button{display:inline-flex;align-items:center;gap:9px;border:1px solid var(--line-strong);border-radius:11px;padding:11px 15px;background:#0d1a2e;color:var(--text);font-size:12px;font-weight:750;cursor:pointer;white-space:nowrap}.upload-button:hover{border-color:var(--cyan);box-shadow:0 0 22px #32d8f51a}.upload-button input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.hero{min-height:325px;display:grid;grid-template-columns:1.2fr .8fr;align-items:center;position:relative;overflow:hidden;border-bottom:1px solid var(--line)}.hero-copy{position:relative;z-index:2;padding:34px 0}.kicker{display:inline-flex;align-items:center;gap:8px;padding:6px 10px;border:1px solid #1c3e56;border-radius:20px;background:#0b1a2a;color:#9fefff;font:10px 'DM Mono',monospace;letter-spacing:.08em}.hero h1{font-size:clamp(36px,4.2vw,64px);line-height:1.08;letter-spacing:-.055em;margin:19px 0 16px;font-weight:800}.hero h1 em{font-style:normal;color:var(--cyan);text-shadow:0 0 35px #32d8f522}.hero-copy>p{max-width:590px;color:#9aabc5;font-size:14px;line-height:1.8;margin:0}.hero-actions{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-top:25px}.primary-button{display:inline-flex;align-items:center;gap:20px;padding:12px 16px;border-radius:11px;background:linear-gradient(110deg,#16b6df,#3576f4);color:white;font-size:12px;font-weight:800;box-shadow:0 8px 28px #147fe333}.small-note{font-size:10px;color:var(--muted)}.hero-art{height:300px;position:relative;display:grid;place-items:center;isolation:isolate}.hero-art:before{content:"";position:absolute;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,#154b80aa 0,#0a244b77 48%,transparent 70%);filter:blur(8px)}.orbit{position:absolute;border:1px solid #2e9cc755;border-radius:50%;transform:rotate(-26deg)}.orbit-a{width:340px;height:128px}.orbit-b{width:280px;height:210px;transform:rotate(48deg);border-color:#8d7dff44}.ball{width:126px;height:126px;position:relative;border-radius:50%;border:1px solid #5fe8ff99;background:radial-gradient(circle at 30% 28%,#60dfff,#1267ac 38%,#091a3a 76%);box-shadow:0 0 60px #138fe755,inset -12px -14px 30px #02071799;overflow:hidden}.ball:before,.ball:after,.ball span:before,.ball span:after{content:"";position:absolute;border:1.5px solid #b4f6ff9c;border-radius:50%}.ball:before{width:70px;height:135px;left:25px;top:-5px}.ball:after{width:135px;height:54px;left:-5px;top:35px}.ball span:before{height:126px;width:1px;left:61px;top:0;border-width:0 1px 0 0;border-radius:0}.ball span:after{width:126px;height:1px;top:61px;left:0;border-width:0 0 1px;border-radius:0}.art-label{position:absolute;color:#79b9d8;font:9px 'DM Mono',monospace;letter-spacing:.16em}.label-a{top:39px;right:10%}.label-b{bottom:35px;left:11%;color:#a79aff}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:22px 0}.stat-card{padding:18px;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,#0c1629,#080f1e)}.stat-card>span{display:block;color:#8fa4c4;font:9px 'DM Mono',monospace;letter-spacing:.1em}.stat-card strong{display:block;font-size:31px;letter-spacing:-.04em;margin:10px 0 2px}.stat-card small{font-size:10px;color:var(--muted);line-height:1.6}.stat-card .status-text{font-size:18px;color:var(--amber);letter-spacing:0;margin-top:18px;margin-bottom:15px}.section{padding:31px 0;border-top:1px solid var(--line)}.section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:19px}.section-heading h2{font-size:26px;letter-spacing:-.04em;margin:0;font-weight:800}.section-desc{font-size:12px;color:var(--muted);margin:6px 0 0}.count-pill{border:1px solid var(--line);border-radius:30px;padding:7px 11px;color:#a8bad3;font:10px 'DM Mono',monospace;white-space:nowrap}.filter-row{display:flex;gap:9px;margin:0 0 15px;flex-wrap:wrap}.searchbox{display:flex;align-items:center;gap:9px;flex:1;min-width:210px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:#080f1d;color:var(--cyan)}.searchbox input{width:100%;min-width:0;background:transparent;border:0;outline:0;color:var(--text);padding:11px 0;font-size:12px}.searchbox input::placeholder{color:#617493}.filter-row select{min-width:145px;padding:11px 13px;border:1px solid var(--line);border-radius:10px;background:#0a1323;color:#b7c7dc;font-size:11px;outline:none}.filter-row select:focus,.searchbox:focus-within{border-color:var(--cyan)}.games-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.game-card{min-width:0;border:1px solid var(--line);border-radius:15px;background:linear-gradient(145deg,#0d182b,#080f1d);overflow:hidden;transition:border-color .18s,transform .18s}.game-card:hover{border-color:#2e6586;transform:translateY(-2px)}.game-card.selected{border-color:#32d8f5aa;box-shadow:0 0 25px #32d8f50c}.game-card-head{display:flex;justify-content:space-between;gap:8px;padding:13px 15px;border-bottom:1px solid #17243a;color:#8ea4c4;font:9px 'DM Mono',monospace}.game-state{color:var(--amber)}.matchup{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:9px;padding:20px 15px}.team{text-align:center;min-width:0}.team b{display:block;overflow-wrap:anywhere;font-size:15px;letter-spacing:.03em}.team small{display:block;color:var(--muted);font-size:10px;margin-top:3px}.versus{font:9px 'DM Mono',monospace;color:#607694}.game-card-foot{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 15px;background:#0a1424;border-top:1px solid #17243a}.game-card-foot span{font-size:10px;color:var(--muted)}.text-button{background:transparent;border:0;color:var(--cyan);font-size:11px;font-weight:800;cursor:pointer}.text-button:hover{color:white}.empty-state{grid-column:1/-1;min-height:180px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;border:1px dashed #263a59;border-radius:15px;background:#091222;padding:24px}.empty-state>span{font-size:27px;color:var(--cyan);margin-bottom:8px}.empty-state b{font-size:14px}.empty-state p{max-width:380px;color:var(--muted);font-size:11px;margin:7px 0 0}.empty-state.compact{min-height:120px}.table-wrap{width:100%;overflow:auto;border:1px solid var(--line);border-radius:14px;background:#080f1d}table{width:100%;border-collapse:collapse;min-width:790px}th,td{padding:13px 15px;text-align:left;border-bottom:1px solid #17243a;white-space:nowrap}th{color:#7f97b9;background:#0b1527;font:9px 'DM Mono',monospace;letter-spacing:.08em}td{font-size:11px;color:#dce8f8}tbody tr:hover{background:#0e1b30}tbody tr:last-child td{border-bottom:0}.player-name{font-weight:800;color:#f1f6ff}.player-team{display:block;font-size:10px;color:var(--muted);margin-top:2px}.mono{font-family:'DM Mono',monospace;font-variant-numeric:tabular-nums}.metric-value{font-weight:800;color:#d8f8ff}.data-badge{display:inline-block;padding:4px 7px;border-radius:6px;font:9px 'DM Mono',monospace;background:#1d2b42;color:#aabbd3}.data-badge.good{background:#12382f;color:var(--green)}.data-badge.warn{background:#3a2c18;color:var(--amber)}.data-badge.bad{background:#3b1e2a;color:var(--red)}.empty-cell{text-align:center!important;color:var(--muted);padding:28px}.h2h-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.h2h-card{border:1px solid var(--line);border-radius:14px;padding:17px;background:#0a1425}.h2h-title{font-weight:800;font-size:14px}.h2h-meta{font-size:10px;color:var(--muted);margin-top:5px}.h2h-scoreline{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:17px 0}.h2h-scoreline strong{font:19px 'DM Mono',monospace}.h2h-record{font-size:11px;color:#9aadc8}.meeting-list{border-top:1px solid var(--line);padding-top:10px;display:grid;gap:7px}.meeting-row{display:flex;justify-content:space-between;gap:10px;font-size:10px;color:var(--muted)}.meeting-row b{color:#dce8f8}.methodology{margin-top:8px}.method-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.method-grid article{padding:18px;border:1px solid var(--line);border-radius:14px;background:#0a1322}.method-icon{font:11px 'DM Mono',monospace;color:var(--cyan)}.method-grid h3{font-size:13px;margin:13px 0 7px}.method-grid p{font-size:11px;color:var(--muted);line-height:1.75;margin:0}.data-disclaimer{margin-top:15px;padding:13px 15px;border-left:2px solid var(--violet);background:#10152a;color:#aab7d2;font-size:11px}footer{display:flex;justify-content:space-between;gap:15px;flex-wrap:wrap;padding:24px 0 35px;color:#536984;font:9px 'DM Mono',monospace;letter-spacing:.08em}.toast{position:fixed;right:20px;bottom:20px;max-width:380px;padding:13px 16px;border:1px solid var(--line-strong);border-radius:12px;background:#101d31;box-shadow:0 14px 45px #0008;font-size:12px;z-index:20}.toast.error{border-color:#75324a;color:#ff9db2}
@media(max-width:1150px){.shell{grid-template-columns:210px minmax(0,1fr)}.main{padding:0 24px}.hero-art{transform:scale(.85)}.games-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.method-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.shell{display:block}.sidebar{height:auto;position:relative;padding:12px 14px;border-right:0;border-bottom:1px solid var(--line)}.brand{padding:0 2px 13px}.brand-mark{width:35px;height:35px}.brand b{font-size:18px}.sidebar .league-chip,.sidebar-bottom{display:none}.sidebar nav{display:flex;overflow-x:auto;gap:4px;padding-bottom:2px}.nav-link{white-space:nowrap;padding:9px 11px;font-size:11px}.nav-link span{font-size:14px}.main{padding:0 16px}.topbar{min-height:78px}.eyebrow{font-size:9px}.date-line{font-size:11px}.upload-button{padding:10px 11px}.upload-button span{display:none}.hero{grid-template-columns:1fr;min-height:auto}.hero-copy{padding:32px 0 25px}.hero h1{font-size:43px}.hero-art{position:absolute;right:-120px;top:20px;opacity:.25;transform:scale(.75);pointer-events:none}.hero-copy>p{max-width:470px}.stats-grid{gap:8px;padding:15px 0}.stat-card{padding:13px}.stat-card strong{font-size:25px}.stat-card>span{font-size:8px}.stat-card small{font-size:9px}.section{padding:25px 0}.section-heading{align-items:flex-start}.section-heading h2{font-size:22px}.section-desc{font-size:11px}.count-pill{font-size:9px}.games-grid,.h2h-grid{grid-template-columns:1fr}.filter-row{gap:7px}.searchbox{flex-basis:100%}.filter-row select{flex:1;min-width:0}.method-grid{grid-template-columns:1fr 1fr}.method-grid article{padding:13px}.method-grid h3{font-size:12px}.method-grid p{font-size:10px}footer{font-size:8px}}
@media(max-width:390px){.hero h1{font-size:36px}.stats-grid{grid-template-columns:1fr 1fr}.stat-card strong{font-size:22px}.method-grid{grid-template-columns:1fr}.section-heading{display:block}.count-pill{display:inline-block;margin-top:10px}}

.frequency-list{display:flex;flex-wrap:wrap;gap:4px;max-width:210px}.frequency-chip{display:inline-block;padding:4px 6px;border:1px solid #1b5267;border-radius:6px;background:#0a2634;color:#8feaff;font:9px 'DM Mono',monospace;white-space:nowrap}

.source-health{display:flex;align-items:center;gap:7px;margin-top:5px;color:var(--muted);font-size:10px}.source-light{display:inline-block;width:6px;height:6px;border-radius:50%;background:#71839c;flex:none}.source-health.good{color:var(--green)}.source-health.good .source-light{background:var(--green);box-shadow:0 0 9px #45e0ad66}.source-health.warn{color:var(--amber)}.source-health.warn .source-light{background:var(--amber)}.source-health.bad{color:var(--red)}.source-health.bad .source-light{background:var(--red)}

.schedule-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:9px}.schedule-grid article{display:flex;flex-direction:column;gap:7px;min-height:130px;padding:15px 12px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(145deg,#0d182b,#080f1d)}.schedule-grid time{font:18px 'DM Mono',monospace;color:var(--cyan)}.schedule-grid b{font-size:11px}.schedule-grid small{font-size:10px;color:var(--muted);line-height:1.6}.schedule-grid .partial{border-color:#8d6b32;background:linear-gradient(145deg,#241d12,#0d1422)}.schedule-grid .partial time{color:var(--amber)}.schedule-grid .general{border-color:#584d9a;background:linear-gradient(145deg,#1a1734,#0b1222)}.schedule-grid .general time{color:var(--violet)}
@media(max-width:1150px){.schedule-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}

.threshold-field{display:flex;flex-direction:column;gap:4px;min-width:150px;padding:5px 10px;border:1px solid #1b5267;border-radius:10px;background:#081725}.threshold-field span{font:9px 'DM Mono',monospace;color:#7ccde0}.threshold-field input{width:100%;min-width:0;border:0;outline:0;background:transparent;color:var(--text);font-size:12px;padding:3px 0}.threshold-field input::placeholder{color:#617493}
