:root{--bg-primary: #0e0e10;--bg-secondary: #17171b;--bg-tertiary: #1f1f24;--text-primary: #f5f5f5;--text-secondary: #a0a0ac;--text-dim: #6b6b76;--border: #2b2b33;--accent: #5ea4ff;--accent-dim: #3a6db0;--green-strong: #1f9c4d;--green-mild: #2c7a3e;--red-mild: #7a2c2c;--red-strong: #9c1f1f;--yellow-mild: #8a7515}*{box-sizing:border-box}html,body,#root{margin:0;padding:0;min-height:100vh;background:var(--bg-primary);color:var(--text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:14px}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app{max-width:1800px;margin:0 auto;padding:16px 24px 48px}.app-header{display:flex;align-items:baseline;gap:24px;flex-wrap:wrap;padding-bottom:12px;border-bottom:1px solid var(--border);margin-bottom:16px}.app-header h1{margin:0;font-size:20px;font-weight:600}.app-header .spacer{flex:1}.app-header .updated{color:var(--text-dim);font-size:12px}.picker{display:flex;align-items:center;gap:8px}.picker label{color:var(--text-secondary);font-size:13px}.picker select{background:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:4px 8px;font-size:13px}.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:16px}.tabs button{background:transparent;color:var(--text-secondary);border:none;padding:8px 14px;font-size:13px;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px}.tabs button.active{color:var(--text-primary);border-bottom-color:var(--accent)}.tabs button:hover:not(.active){color:var(--text-primary)}.table-wrap{overflow-x:auto;border:1px solid var(--border);border-radius:6px;background:var(--bg-secondary)}table.data{width:auto;max-width:100%;border-collapse:collapse;font-size:12px}table.data thead th{background:var(--bg-tertiary);color:var(--text-secondary);font-weight:500;padding:7px 16px;border-bottom:1px solid var(--border);white-space:nowrap;position:sticky;top:0;z-index:1;text-align:right}table.data thead th:first-child,table.data thead th.left{text-align:left}table.data tbody td{padding:5px 16px;border-bottom:1px solid var(--border);white-space:nowrap;text-align:right}table.data tbody td:first-child,table.data tbody td.left{text-align:left}table.data tbody tr:hover{background:var(--bg-tertiary)}th.sortable{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable:hover{color:var(--text-primary)}.sort-indicator{margin-left:4px;color:var(--accent)}.val-strong-pos{background-color:#1f9c4d59;color:#e4ffef}.val-mild-pos{background-color:#1f9c4d2e}.val-mild-neg{background-color:#9c1f1f2e}.val-strong-neg{background-color:#9c1f1f59;color:#ffe4e4}.badge{display:inline-block;padding:1px 6px;border-radius:3px;font-size:11px;letter-spacing:.3px}.badge-confirmed{background:var(--green-mild);color:#e4ffef}.badge-projected{background:var(--yellow-mild);color:#fff4d1}.badge-opener{background:var(--accent-dim);color:#e4efff;margin-left:4px}.filter-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:10px}.btn-muted{background:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border);border-radius:4px;padding:5px 10px;font-size:12px;cursor:pointer;height:30px}.btn-muted:hover{background:var(--bg-primary)}.btn-clear{background:transparent;color:var(--text-secondary);border:1px solid var(--border);border-radius:4px;padding:5px 10px;font-size:12px;cursor:pointer;height:30px}.btn-clear:hover{color:var(--text-primary);border-color:var(--accent)}.chip-select{display:flex;flex-direction:column;gap:2px;min-width:180px}.chip-select>label{font-size:11px;color:var(--text-secondary)}.chip-select-box{display:flex;gap:4px;flex-wrap:wrap;align-items:center;padding:4px 6px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;min-height:30px;position:relative;cursor:text}.chip{display:inline-flex;align-items:center;gap:4px;padding:1px 3px 1px 7px;background:var(--accent-dim);color:#e4efff;border-radius:3px;font-size:12px;line-height:1.4}.chip button{background:transparent;border:none;color:inherit;cursor:pointer;padding:0 3px;font-size:14px;line-height:1;opacity:.8}.chip button:hover{opacity:1}.chip-select-box input{flex:1;min-width:60px;background:transparent;border:none;color:var(--text-primary);font-size:13px;outline:none;padding:2px}.chip-suggestions{position:absolute;top:100%;left:0;right:0;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;margin-top:3px;z-index:20;max-height:220px;overflow-y:auto;box-shadow:0 4px 12px #0006}.chip-suggestion{padding:6px 10px;cursor:pointer;font-size:13px;color:var(--text-primary)}.chip-suggestion.active,.chip-suggestion:hover{background:var(--bg-tertiary)}.range-filter{display:flex;flex-direction:column;gap:2px}.range-filter>label{font-size:11px;color:var(--text-secondary)}.range-filter-row{display:flex;align-items:center;gap:6px}.range-filter input[type=number]{width:90px;background:var(--bg-secondary);border:1px solid var(--border);border-radius:4px;color:var(--text-primary);font-size:13px;padding:5px 8px}.range-dash{color:var(--text-dim)}.empty-msg,.error-msg{padding:24px;color:var(--text-dim);text-align:center}.error-msg{color:#ff8080}.diff-pos{color:#5edc7f}.diff-neg{color:#ff8080}.lineup-games{display:grid;grid-template-columns:repeat(2,1fr);gap:14px}.lineup-matchup{display:flex;flex-direction:column;gap:4px}.matchup-header{background:var(--bg-tertiary);border:1px solid var(--border);border-radius:6px;padding:6px 12px;display:flex;justify-content:space-between;align-items:baseline;font-size:13px}.matchup-teams{font-weight:600;color:var(--text-primary)}.matchup-meta{display:flex;gap:10px;color:var(--text-secondary)}.matchup-pk{color:var(--text-dim);font-family:ui-monospace,monospace;font-size:12px}.matchup-cards{display:grid;grid-template-columns:1fr 1fr;gap:6px}@media(max-width:1100px){.lineup-games{grid-template-columns:1fr}}@media(max-width:700px){.matchup-cards{grid-template-columns:1fr}}.lineup-card-empty{display:flex;align-items:center;justify-content:center;color:var(--text-dim);min-height:80px}.lineup-card{background:var(--bg-secondary);border:1px solid var(--border);border-radius:6px;padding:10px 14px}.lineup-card h3{margin:0 0 4px;font-size:15px;font-weight:600;display:flex;justify-content:space-between;align-items:center}.lineup-card .matchup{color:var(--text-dim);font-size:12px;margin-bottom:8px}.lineup-card ol{margin:0;padding:0;list-style:none}.lineup-card li{display:flex;gap:8px;padding:3px 0;border-bottom:1px solid var(--border);font-size:14px}.lineup-card li:last-child{border-bottom:none}.lineup-card .order-num{width:20px;color:var(--text-dim);text-align:right}.lineup-card .pos-badge{width:24px;color:var(--text-secondary);text-align:left}.lineup-card .sp-row{font-weight:600;color:var(--accent);font-size:14px}
