:root{--bg: #0f1117;--surface: #1a1d27;--surface2: #242836;--surface3: #2c3044;--border: #2e3348;--text: #e4e6f0;--text-dim: #8b8fa8;--text-faint: #5c6080;--accent: #6c8cff;--accent-dim: rgba(108,140,255,.12);--accent2: #ff6c6c;--green: #4caf84;--green-dim: rgba(76,175,132,.1);--gold: #ffc857;--gold-dim: rgba(255,200,87,.12);--orange: #f0883e;--font: "Segoe UI", system-ui, -apple-system, sans-serif;--mono: "SF Mono", "Cascadia Code", "Consolas", monospace;--radius: 10px;--radius-sm: 6px;--transition: .18s ease;--bracket-line: #3a3f5c;--bracket-line-w: 1.5px}*{margin:0;padding:0;box-sizing:border-box}body{font-family:var(--font);background:var(--bg);color:var(--text);min-height:100vh}header{background:var(--surface);border-bottom:1px solid var(--border);padding:0 24px;display:flex;align-items:center;gap:32px;position:sticky;top:0;z-index:100;height:52px}header h1{font-size:17px;font-weight:700;white-space:nowrap;background:linear-gradient(135deg,var(--accent),var(--gold));-webkit-background-clip:text;-webkit-text-fill-color:transparent;display:flex;align-items:center;gap:6px}.logo-icon{-webkit-text-fill-color:initial;font-size:20px;line-height:1}header .subtitle{font-size:10px;color:var(--text-faint);font-weight:400;letter-spacing:.5px;margin-left:8px;align-self:center;-webkit-text-fill-color:var(--text-faint)}.tabs{display:flex;height:100%}.tab{padding:0 18px;height:100%;border:none;background:transparent;color:var(--text-dim);cursor:pointer;font-size:13px;font-weight:500;transition:color var(--transition);position:relative;font-family:var(--font)}.tab:hover,.tab.active{color:var(--text)}.tab.active:after{content:"";position:absolute;bottom:0;left:12px;right:12px;height:2px;background:var(--accent);border-radius:2px 2px 0 0}.controls{display:flex;gap:12px;align-items:center;padding:8px 24px;background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap}.control-group{display:flex;align-items:center;gap:8px}.control-group label{font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;font-weight:600}select,button.btn{background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:5px 10px;border-radius:var(--radius-sm);font-size:12px;cursor:pointer;font-family:var(--font);transition:all var(--transition)}select:focus{outline:2px solid var(--accent);outline-offset:-1px}.model-pills{display:flex;gap:5px;flex-wrap:wrap}.model-pill{padding:4px 12px;border-radius:16px;border:1px solid var(--border);background:var(--surface2);color:var(--text-dim);cursor:pointer;font-size:11px;font-weight:500;transition:all var(--transition);font-family:var(--font);white-space:nowrap}.model-pill:hover{border-color:var(--accent);color:var(--text)}.model-pill.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.timestamp{font-size:10px;color:var(--text-faint);margin-left:auto;font-family:var(--mono)}.toggle-label{display:flex;align-items:center;gap:6px;cursor:pointer;font-size:11px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;font-weight:600;-webkit-user-select:none;user-select:none}.toggle-label input{accent-color:var(--accent)}main{padding:20px 24px}.panel{display:none}.panel.active{display:block}.full-bracket{display:flex;align-items:stretch;overflow-x:auto;padding:8px 0 16px;gap:0}.bracket-left-col,.bracket-right-col{display:flex;flex-direction:column;gap:12px;flex-shrink:0}.bracket-center-col{display:flex;flex-direction:column;justify-content:center;align-items:stretch;min-width:160px;padding:0 2px;flex-shrink:0}.region-wrap{position:relative}.region-title{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-faint);padding:0 4px 6px}.region-grid{display:grid;grid-template-rows:repeat(16,26px);gap:0}.region-grid.ltr,.region-grid.rtl{grid-template-columns:136px 18px 136px 18px 136px 18px 136px}.bkt-matchup{display:flex;align-items:center;padding:1px 3px;position:relative;z-index:2}.matchup-card{width:100%;background:var(--surface);border:1px solid var(--border);border-radius:4px;overflow:hidden;transition:border-color var(--transition);position:relative}.matchup-card:hover{border-color:var(--text-faint)}.matchup-card.correct{border-left:3px solid var(--green)}.matchup-card.wrong{border-left:3px solid var(--accent2)}.team-line{display:flex;align-items:center;padding:2px 6px;gap:4px;font-size:11px;min-height:22px;transition:background var(--transition)}.team-line+.team-line{border-top:1px solid var(--border)}.team-line.is-winner{background:var(--green-dim);font-weight:600}.team-line.is-wrong-pick{background:#ff6c6c0f;text-decoration:line-through;text-decoration-color:var(--accent2);opacity:.7}.team-line.actual-winner{background:var(--gold-dim);font-weight:600}.team-line .t-seed{color:var(--text-dim);font-family:var(--mono);font-size:10px;min-width:22px;text-align:right}.team-line .t-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.team-line .t-prob{color:var(--text-faint);font-family:var(--mono);font-size:9px;min-width:28px;text-align:right}.team-line .t-icon{font-size:11px;min-width:14px;text-align:center}.t-icon.correct{color:var(--green)}.t-icon.wrong{color:var(--accent2)}.bkt-conn{position:relative;z-index:1}.conn-shape{position:absolute;top:25%;bottom:25%}.ltr .conn-shape{left:-3px;right:0;border-top:var(--bracket-line-w) solid var(--bracket-line);border-right:var(--bracket-line-w) solid var(--bracket-line);border-bottom:var(--bracket-line-w) solid var(--bracket-line)}.rtl .conn-shape{left:0;right:-3px;border-top:var(--bracket-line-w) solid var(--bracket-line);border-left:var(--bracket-line-w) solid var(--bracket-line);border-bottom:var(--bracket-line-w) solid var(--bracket-line)}.bkt-matchup.has-output:after{content:"";position:absolute;top:50%;height:var(--bracket-line-w);background:var(--bracket-line);z-index:0}.bkt-matchup.has-input:before{content:"";position:absolute;top:50%;height:var(--bracket-line-w);background:var(--bracket-line);z-index:0}.region-grid.ltr .bkt-matchup.has-output:after{right:0;width:3px}.region-grid.ltr .bkt-matchup.has-input:before{left:0;width:3px}.region-grid.rtl .bkt-matchup.has-output:after{left:0;width:3px}.region-grid.rtl .bkt-matchup.has-input:before{right:0;width:3px}.center-section{display:flex;flex-direction:column;justify-content:center;align-items:center;height:100%;gap:0;position:relative}.center-slot{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;position:relative;min-width:150px;padding:2px 0}.center-slot .matchup-card{width:148px}.center-slot.champ-slot .matchup-card{border:2px solid var(--gold);background:var(--surface2)}.center-label{font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:1px;color:var(--text-faint);margin-bottom:4px}.champ-banner{margin-top:6px;padding:4px 14px;border-radius:12px;background:var(--gold-dim);border:1px solid var(--gold);font-size:11px;font-weight:700;color:var(--gold);letter-spacing:.5px}.center-vline{width:var(--bracket-line-w);background:var(--bracket-line);flex:0 0 12px}.center-slot.ff-slot:before{content:"";position:absolute;top:50%;height:var(--bracket-line-w);background:var(--bracket-line);width:8px}.center-slot.ff-top:before{left:-8px}.center-slot.ff-bot:before{left:-8px}.round-pills{display:flex;gap:4px;padding:10px 16px;flex-wrap:wrap;background:var(--surface);border-bottom:1px solid var(--border)}.round-pill{padding:3px 10px;border-radius:14px;border:1px solid var(--border);background:transparent;color:var(--text-dim);cursor:pointer;font-size:11px;font-weight:500;font-family:var(--font);transition:all var(--transition)}.round-pill:hover{border-color:var(--text-dim);color:var(--text)}.round-pill.active{background:var(--accent-dim);border-color:var(--accent);color:var(--accent)}.games-section{margin-top:0}.round-header{font-size:13px;font-weight:600;color:var(--accent);padding:10px 16px 6px;border-bottom:1px solid var(--border);background:var(--surface);position:sticky;top:0;z-index:5}.game-row{display:grid;grid-template-columns:36px 1fr 36px 1fr 70px 60px 40px;gap:5px;padding:6px 16px;border-bottom:1px solid var(--border);font-size:12px;align-items:center;transition:background var(--transition)}.game-row:hover{background:var(--surface2)}.game-row .seed{color:var(--text-dim);text-align:right;font-family:var(--mono);font-size:11px}.game-row .winner{color:var(--green);font-weight:600}.game-row .loser{color:var(--text-dim)}.game-row .prob{font-family:var(--mono);font-size:11px;text-align:right}.game-row .prob-bar{height:3px;background:var(--surface2);border-radius:2px;overflow:hidden}.game-row .prob-bar-fill{height:100%;border-radius:2px}.game-row .upset{color:var(--accent2);font-size:10px;font-weight:700}.game-row .correct-icon{font-size:13px;text-align:center}.bracket-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.bracket-card-header{padding:8px 16px;font-size:13px;font-weight:600;background:var(--surface2);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.zoom-controls{display:flex;align-items:center;gap:4px}.zoom-controls button{background:var(--bg);border:1px solid var(--border);color:var(--text);width:26px;height:26px;border-radius:var(--radius-sm);cursor:pointer;font-size:14px;display:flex;align-items:center;justify-content:center;line-height:1;transition:background var(--transition)}.zoom-controls button:hover{background:var(--border)}.zoom-controls .zoom-label{font-size:10px;color:var(--text-dim);font-family:var(--mono);min-width:32px;text-align:center}.bracket-scroll{overflow:auto;max-height:75vh;cursor:grab}.bracket-scroll:active{cursor:grabbing}.bracket-scroll img{display:block;min-width:max-content;transform-origin:top left}.dash-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:14px;margin-bottom:32px}.dash-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;transition:border-color var(--transition);cursor:pointer}.dash-card:hover{border-color:var(--accent)}.dash-card-head{padding:14px 18px 10px;display:flex;justify-content:space-between;align-items:flex-start}.dash-model-name{font-size:15px;font-weight:700}.dash-accuracy{font-size:22px;font-weight:800;font-family:var(--mono);color:var(--green)}.dash-card-body{padding:0 18px 14px}.dash-champion{display:flex;align-items:center;gap:10px;padding:8px 12px;background:var(--gold-dim);border-radius:var(--radius-sm);margin-bottom:8px}.dash-champ-trophy{font-size:20px}.dash-champ-name{font-weight:700;font-size:14px}.dash-champ-detail{font-size:11px;color:var(--text-dim);font-family:var(--mono)}.dash-sparkline{display:flex;gap:3px;align-items:flex-end;height:30px;margin-top:6px}.dash-spark-bar{flex:1;border-radius:2px 2px 0 0;min-width:10px;opacity:.6;position:relative;transition:opacity var(--transition)}.dash-spark-bar:hover{opacity:1}.dash-spark-bar .spark-tip{display:none;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%);background:var(--surface3);color:var(--text);padding:2px 6px;border-radius:4px;font-size:9px;white-space:nowrap;font-family:var(--mono);z-index:10;pointer-events:none}.dash-spark-bar:hover .spark-tip{display:block}.dash-f4{display:flex;gap:4px;flex-wrap:wrap;margin-top:6px}.dash-f4-chip{font-size:10px;padding:2px 7px;border-radius:10px;background:var(--surface2);color:var(--text-dim);border:1px solid var(--border)}.dash-mc-row{display:flex;gap:6px;align-items:center;padding:2px 0;font-size:11px}.dash-mc-bar-wrap{flex:1;height:5px;background:var(--surface2);border-radius:3px;overflow:hidden}.dash-mc-bar{height:100%;background:var(--accent);border-radius:3px}.dash-mc-pct{font-family:var(--mono);color:var(--text-dim);min-width:40px;text-align:right}.dash-section-title{font-size:10px;font-weight:600;color:var(--text-faint);text-transform:uppercase;letter-spacing:.5px;margin:10px 0 4px}.mc-toolbar{display:flex;align-items:center;gap:16px;margin-bottom:14px;flex-wrap:wrap}.mc-toolbar h2{font-size:17px;white-space:nowrap}.mc-toolbar .sim-count{color:var(--text-dim);font-size:12px}.mc-search{background:var(--surface2);border:1px solid var(--border);color:var(--text);padding:5px 10px;border-radius:var(--radius-sm);font-size:12px;font-family:var(--font);width:180px;transition:border-color var(--transition)}.mc-search:focus{outline:none;border-color:var(--accent)}.mc-search::placeholder{color:var(--text-faint)}table.mc-table{width:100%;border-collapse:collapse;font-size:12px;background:var(--surface);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.mc-table th{background:var(--surface2);padding:8px 12px;text-align:right;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-dim);border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;transition:color var(--transition);white-space:nowrap}.mc-table th:hover{color:var(--text)}.mc-table th.sort-asc:after{content:" ▲";font-size:8px}.mc-table th.sort-desc:after{content:" ▼";font-size:8px}.mc-table th:nth-child(1),.mc-table th:nth-child(2){text-align:left}.mc-table td{padding:6px 12px;border-bottom:1px solid var(--border);text-align:right;font-family:var(--mono);font-size:11px}.mc-table td:nth-child(1){text-align:center;font-size:10px}.mc-table td:nth-child(2){text-align:left;font-family:var(--font);font-weight:500}.mc-table tr{transition:background var(--transition)}.mc-table tr:hover{background:var(--surface2)}.mc-table .bar-cell{position:relative}.mc-table .bar-cell .bar{position:absolute;left:0;top:0;bottom:0;background:var(--accent);opacity:.12;border-radius:0 4px 4px 0}.mc-table tr:nth-child(-n+3) td:nth-child(2){color:var(--gold);font-weight:700}.fi-intro{font-size:13px;color:var(--text-dim);margin-bottom:16px;line-height:1.5}.fi-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.fi-chart{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.fi-chart-head{padding:10px 16px;font-size:13px;font-weight:600;background:var(--surface2);border-bottom:1px solid var(--border);display:flex;align-items:center;justify-content:space-between}.fi-chart-head .fi-method{font-size:10px;color:var(--text-faint);font-weight:400}.fi-row{display:flex;align-items:center;padding:3px 16px;gap:8px;font-size:11px;transition:background var(--transition)}.fi-row:hover{background:var(--surface2)}.fi-row .fi-rank{color:var(--text-faint);font-family:var(--mono);font-size:10px;min-width:20px;text-align:right}.fi-row .fi-name{min-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fi-row .fi-bar-wrap{flex:1;height:14px;background:var(--surface2);border-radius:3px;overflow:hidden;position:relative}.fi-row .fi-bar{height:100%;border-radius:3px;transition:width .3s ease}.fi-row .fi-pct{font-family:var(--mono);font-size:10px;color:var(--text-dim);min-width:44px;text-align:right}.fi-row:nth-child(-n+3) .fi-name{color:var(--gold);font-weight:600}.fi-row:nth-child(-n+3) .fi-bar{background:var(--gold);opacity:.7}.fi-row:nth-child(n+4) .fi-bar{background:var(--accent);opacity:.5}.fi-compare-table{width:100%;border-collapse:collapse;font-size:11px;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);overflow:hidden}.fi-compare-table th{background:var(--surface2);padding:8px 10px;text-align:right;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-dim);border-bottom:1px solid var(--border)}.fi-compare-table th:first-child,.fi-compare-table th:nth-child(2){text-align:left}.fi-compare-table td{padding:4px 10px;border-bottom:1px solid var(--border);text-align:right;font-family:var(--mono);font-size:10px}.fi-compare-table td:first-child{text-align:right;min-width:24px;color:var(--text-faint)}.fi-compare-table td:nth-child(2){text-align:left;font-family:var(--font);font-weight:500}.fi-compare-table tr{transition:background var(--transition)}.fi-compare-table tr:hover{background:var(--surface2)}.fi-compare-table .top{color:var(--gold);font-weight:700}@media(max-width:900px){.fi-grid{grid-template-columns:1fr}.fi-row .fi-name{min-width:120px}}.section-title{font-size:14px;font-weight:700;margin-bottom:14px}table.cmp-table{width:100%;border-collapse:collapse;font-size:12px;background:var(--surface);border-radius:var(--radius);overflow:hidden;border:1px solid var(--border)}.cmp-table th{background:var(--surface2);padding:8px 12px;text-align:center;font-weight:600;font-size:10px;text-transform:uppercase;letter-spacing:.4px;color:var(--text-dim);border-bottom:1px solid var(--border)}.cmp-table th:first-child{text-align:left}.cmp-table td{padding:6px 12px;border-bottom:1px solid var(--border);text-align:center;font-family:var(--mono);font-size:11px}.cmp-table td:first-child{text-align:left;font-family:var(--font);font-weight:500}.cmp-table tr{transition:background var(--transition)}.cmp-table tr:hover{background:var(--surface2)}.cmp-table .best{color:var(--green);font-weight:700}.cmp-table .worst{color:var(--accent2)}.champ-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;margin-top:16px}.champ-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);padding:14px 16px;cursor:pointer;transition:border-color var(--transition)}.champ-card:hover{border-color:var(--gold)}.champ-card .model-name{font-size:10px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.6px;font-weight:600}.champ-card .team-name{font-size:18px;font-weight:700;margin:4px 0 2px}.champ-card .team-seed{color:var(--gold);font-family:var(--mono);font-size:12px}.champ-card .team-prob{color:var(--text-dim);font-size:11px;font-family:var(--mono)}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 24px;color:var(--text-dim);font-size:13px;gap:6px}.empty-state .empty-icon{font-size:32px;opacity:.3}.score-badge{font-size:10px;font-family:var(--mono);color:var(--text-dim);padding:0 4px;min-width:34px;text-align:right}@media(max-width:900px){header{padding:0 12px;gap:12px}header h1{font-size:14px}.tab{padding:0 10px;font-size:12px}.controls{padding:6px 12px}main{padding:12px}.dash-grid{grid-template-columns:1fr}.region-grid.ltr,.region-grid.rtl{grid-template-columns:110px 14px 110px 14px 110px 14px 110px}.team-line{font-size:10px;padding:2px 4px}.team-line .t-prob{display:none}}
