@import "https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,400;0,9..40,500;0,9..40,600;0,9..40,700;0,9..40,800&family=JetBrains+Mono:wght@400;500;600;700&display=swap";:root{--navy:#060d1a;--navy-800:#0a1628;--navy-700:#0f1f38;--navy-600:#152a4a;--royal:#2563eb;--royal-light:#3b82f6;--royal-dim:#1d4ed8;--powder:#dbeafe;--powder-light:#2563eb0f;--ice:#0d1626;--red:#ef4444;--red-light:#f87171;--red-dim:#fca5a5;--cyan:#06b6d4;--bg:#060d1a;--surface:#0a1628;--border:#1a2e4a;--border-subtle:#1a2e4a80;--text:#e2e8f0;--text2:#94a3b8;--text3:#475569;--val-elite:#93c5fd;--val-great:#60a5fa;--val-good:#3b82f6;--val-ok:#94a3b8;--val-bad:#f87171}:root.light{--navy:#0a1628;--navy-800:#0f1f38;--navy-700:#152a4a;--navy-600:#1c3a66;--powder:#dbeafe;--powder-light:#eff6ff;--ice:#f0f7ff;--red:#dc2626;--red-light:#ef4444;--red-dim:#991b1b;--bg:#f8fafc;--surface:#fff;--border:#e2e8f0;--border-subtle:#f1f5f9;--text:#0f172a;--text2:#64748b;--text3:#94a3b8;--val-elite:#1d4ed8;--val-great:#2563eb;--val-good:#3b82f6;--val-ok:#64748b;--val-bad:#dc2626}*{box-sizing:border-box;margin:0;padding:0}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:DM Sans,-apple-system,BlinkMacSystemFont,system-ui,sans-serif;line-height:1.5;overflow-x:hidden}#root{min-height:100dvh}.app{flex-direction:column;height:100dvh;display:flex;overflow:hidden}.app-footer{text-align:center;color:var(--text3);border-top:1px solid var(--border);background:var(--surface);flex-shrink:0;padding:6px 0;font-size:10px}.app-footer a{color:var(--royal-light,#60a5fa);font-weight:600;text-decoration:none}.app-footer a:hover{text-decoration:underline}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#243b63}*{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.topbar{background:var(--navy);color:#fff;z-index:20;border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:12px;height:48px;padding:0 20px;display:flex}.topbar-left{flex-shrink:0;align-items:center;gap:12px;display:flex}.topbar .logo{letter-spacing:-.3px;white-space:nowrap;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.topbar .logo .mark{background:var(--red);color:#fff;letter-spacing:1px;padding:2px 6px;font-size:10px;font-weight:800}.context-bar{cursor:pointer;background:#ffffff0a;border:1px solid #ffffff14;border-radius:0;align-items:center;gap:0;height:34px;padding:0 2px;transition:background .15s,border-color .15s;display:flex}.context-bar:hover{background:#ffffff14;border-color:#3b82f64d}.ctx-block{cursor:pointer;flex-direction:column;padding:2px 10px;line-height:1.15;display:flex}.ctx-block:hover{background:#ffffff0a;border-radius:4px}.ctx-label{text-transform:uppercase;letter-spacing:.8px;color:var(--text3);font-size:8px;font-weight:600}.ctx-val{color:#93c5fd;white-space:nowrap;font-size:11px;font-weight:600}.ctx-team{color:#fbbf24}.ctx-div{background:#ffffff1a;flex-shrink:0;width:1px;height:20px}.topbar-center{flex:1;justify-content:center;max-width:400px;margin:0 auto;display:flex}.topbar .search-wrap{width:100%;position:relative}.topbar .search-icon{color:var(--text3);pointer-events:none;font-size:13px;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.search-input{background:var(--navy-800);border:1px solid var(--navy-700);width:100%;color:var(--text);border-radius:6px;outline:none;padding:6px 12px 6px 32px;font-family:inherit;font-size:13px;transition:all .2s}.search-input:focus{background:var(--navy-700);border-color:var(--royal);box-shadow:0 0 0 2px #2563eb40}.search-input::placeholder{color:var(--text3)}.topbar-right{flex-shrink:0;align-items:center;gap:8px;display:flex}.topbar .count{color:var(--text3);white-space:nowrap;font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.filterbar{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:4px;padding:8px 20px;display:flex;overflow-x:auto}.roster-filter{border:1px solid var(--border);color:var(--text);cursor:pointer;background:0 0;border-radius:0;outline:none;margin-left:8px;padding:4px 8px;font-family:inherit;font-size:11px}.roster-filter:focus{border-color:var(--royal-light)}.roster-filter option{background:var(--surface);color:var(--text)}.pos-pill{border:1px solid var(--border);color:var(--text2);cursor:pointer;white-space:nowrap;background:0 0;padding:4px 12px;font-family:inherit;font-size:12px;font-weight:600;transition:all .12s}.pos-pill:hover{border-color:var(--royal-light);color:var(--royal);background:#2563eb0f}.pos-pill.active{background:var(--royal);border-color:var(--royal);color:#fff}.table-container{flex:1;overflow:auto}.player-table{border-collapse:collapse;table-layout:auto;width:100%;font-size:11px}.player-table th,.player-table td{text-align:left;white-space:nowrap;padding:6px 8px}.player-table thead{z-index:10;position:sticky;top:0}.player-table th[data-tip]:hover:after{top:calc(100% + 6px);bottom:auto}.player-table th[data-tip]:hover:before{border-top-color:#0000;border-bottom-color:var(--navy);top:calc(100% + 2px);bottom:auto}.player-table th{background:var(--ice);color:var(--text2);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:10px;font-weight:700;transition:color .12s}.player-table th:hover{color:var(--text)}.player-table th.sorted{color:var(--cyan)}.player-table th .sort-arrow{opacity:.7;margin-left:3px;font-size:8px}.col-group-row th{cursor:default;letter-spacing:.8px;text-transform:uppercase;color:var(--text3);text-align:center;border-bottom:none;padding:3px 8px;font-size:9px;font-weight:600}.col-group{border-right:1px solid var(--border)}.col-group:last-child{border-right:none}.cg-bat{color:var(--royal-light,#60a5fa)}.cg-pitch{color:#a78bfa}.cg-val{color:#fbbf24}.cg-mkt{color:#34d399}.player-table tbody tr{border-bottom:1px solid var(--border-subtle);cursor:pointer;transition:background 80ms}.player-table tbody tr:nth-child(2n){background:var(--surface)}.player-table tbody tr:nth-child(odd){background:0 0}.player-table tbody tr:hover{background:#2563eb0f}.player-table tbody tr.active-row{border-left:3px solid var(--royal);background:#2563eb1f}.col-rank{text-align:right;color:var(--text3);font-variant-numeric:tabular-nums}.col-name strong{color:var(--text);margin-right:6px;font-weight:600}.col-pos{text-align:center;color:var(--text);font-weight:600}.col-team{text-align:center;color:var(--text2);font-weight:500}.col-age{text-align:right;font-variant-numeric:tabular-nums;color:var(--text2)}.col-hand{text-align:center;color:var(--text3)}.col-tier{text-align:center}.col-pa{text-align:right;font-variant-numeric:tabular-nums;color:var(--text2)}.col-ops,.col-fld{text-align:right;font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace;font-size:11px}.col-ip{text-align:right;font-variant-numeric:tabular-nums;color:var(--text2)}.col-era,.col-srar{text-align:right;font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace;font-size:11px}.col-kval{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.krnd-pill{background:var(--navy-700);color:var(--text2);letter-spacing:.3px;vertical-align:1px;border:1px solid var(--border);border-radius:0;margin-left:3px;padding:0 3px;font-size:8px;font-weight:700;line-height:13px;display:inline-block}.tier{letter-spacing:.2px;padding:2px 8px;font-size:10px;font-weight:700;display:inline-block}.tier-a{background:var(--royal);color:#fff}.tier-b{color:#93c5fd;background:#3b82f633;border:1px solid #3b82f64d}.tier-g{color:#fbbf24;background:#eab30826;border:1px solid #eab30840}.tier-ds{color:var(--text2);border:1px solid var(--border);background:#94a3b81a}.tier-dr{color:var(--text3);border:1px solid var(--border-subtle);background:#4755691a}.v-elite{color:#93c5fd;font-weight:700}.v-great{color:#60a5fa;font-weight:600}.v-good{color:#3b82f6}.v-ok{color:var(--text2)}.v-bad{color:var(--red)}.v-terrible{color:var(--red-dim)}.kpct-lock{color:#4ade80;font-weight:600}.kpct-high{color:#86efac}.kpct-mid{color:var(--text2)}.kpct-low{color:var(--text3)}.col-kpct,.col-adr{text-align:right;font-variant-numeric:tabular-nums;font-size:11px}.badge{letter-spacing:.3px;white-space:nowrap;vertical-align:middle;padding:0 5px;font-size:8px;font-weight:700;line-height:14px;display:inline-block}.kp-franchise{color:#93c5fd;background:#2563eb40;border:1px solid #2563eb66}.kp-franchise-future{color:#67e8f9;background:#06b6d433;border:1px solid #06b6d459}.kp-franchise-fading{color:#7dd3fc;background:#2563eb26;border:1px solid #2563eb40}.kp-core{color:#86efac;background:#22c55e2e;border:1px solid #22c55e4d}.kp-core-fading{color:#6ee7b7;background:#22c55e1a;border:1px solid #22c55e33}.kp-borderline{color:#fbbf24;background:#eab30826;border:1px solid #eab30840}.kp-borderline-fade{color:#f59e0b;background:#eab30814;border:1px solid #eab3082e}.kp-stash{color:#c4b5fd;background:#a855f72e;border:1px solid #a855f74d}.kp-future{color:#5eead4;background:#06b6d41f;border:1px solid #06b6d438}.kp-yty{color:var(--text2);border:1px solid var(--border);background:#94a3b81f}.role-top{color:#93c5fd;background:#2563eb2e;border:1px solid #2563eb4d}.role-starting{color:#86efac;background:#22c55e1f;border:1px solid #22c55e38}.role-platoon{color:#fbbf24;background:#eab3081f;border:1px solid #eab30833}.role-depth{color:var(--text2);border:1px solid var(--border);background:#94a3b81a}.role-utility{color:#c4b5fd;background:#a855f71f;border:1px solid #a855f738}.role-defense{color:#67e8f9;background:#06b6d41f;border:1px solid #06b6d438}.role-ace{color:#fca5a5;background:#ef44442e;border:1px solid #ef44444d}.role-sp{color:#f87171;background:#ef44441a;border:1px solid #ef444433}.role-closer{color:#fca5a5;background:#ef444426;border:1px solid #ef444440}.role-quality-rp{color:#fdba74;background:#fb923c1f;border:1px solid #fb923c38}.role-lefty{color:#6ee7b7;background:#22c55e1a;border:1px solid #22c55e2e}.role-spot{color:var(--text2);border:1px solid var(--border-subtle);background:#94a3b814}.role-top-hand{color:#93c5fd;background:#2563eb1f;border:1px solid #2563eb38}.role-crossover{color:#d8b4fe;background:#a855f726;border:1px solid #a855f740}.player-panel{--p-bg:#080f1e;--p-surface:#0d1626;--p-surface-2:#111e33;--p-border:#1a2e4a;--p-border-accent:#1e3d66;--p-accent:#2563eb;--p-accent-glow:#2563eb2e;--p-accent-line:#2563eb80;--p-cyan:#06b6d4;--p-text:#e2e8f0;--p-text2:#94a3b8;--p-text3:#475569;--p-mono:"JetBrains Mono", monospace;--p-sans:"DM Sans", sans-serif}.panel-overlay{-webkit-backdrop-filter:blur(3px);z-index:50;opacity:0;pointer-events:none;background:#040812a6;transition:opacity .22s;position:fixed;inset:0}.panel-overlay.open{opacity:1;pointer-events:auto}.player-panel{background:var(--p-bg);border-left:1px solid var(--p-border);z-index:51;flex-direction:column;width:480px;max-width:100vw;transition:transform .28s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;bottom:0;right:0;overflow:hidden;transform:translate(100%);box-shadow:-12px 0 48px #04081299,-1px 0 #2563eb1f}.player-panel.open{transform:translate(0)}.panel-head{background:var(--p-bg);border-top:2px solid var(--p-accent);flex-shrink:0;padding:0;position:relative}.panel-head:before{content:"";pointer-events:none;background:linear-gradient(135deg,#2563eb14 0%,#0000 60%);position:absolute;inset:0}.panel-head-row{justify-content:space-between;align-items:flex-start;padding:16px 18px 0;display:flex;position:relative}.panel-name{letter-spacing:-.6px;color:#f1f5f9;text-shadow:0 0 28px #2563eb59;font-size:20px;font-weight:800;line-height:1.15}.panel-close{border:1px solid var(--p-border);color:var(--p-text3);cursor:pointer;background:0 0;flex-shrink:0;margin-top:2px;padding:4px 7px;font-size:14px;line-height:1;transition:all .15s}.panel-close:hover{border-color:var(--p-accent-line);color:#e2e8f0;background:#2563eb1a}.panel-meta{color:var(--p-text3);font-size:11px;font-weight:500;font-family:var(--p-sans);flex-wrap:wrap;gap:0;margin-top:7px;padding:0 18px 12px;display:flex;position:relative}.panel-meta>span{align-items:center;display:flex}.panel-meta>span+span:before{content:"";background:var(--p-border-accent);width:1px;height:10px;margin:0 8px;display:inline-block}.panel-meta .pm-val{color:#cbd5e1;letter-spacing:.2px;margin-left:3px;font-weight:700}.panel-hero-stats{background:var(--p-border);border-top:1px solid var(--p-border);grid-template-columns:repeat(4,1fr);gap:1px;margin:0;display:grid}.hero-stat{background:var(--p-surface);text-align:center;padding:10px 8px 9px;transition:background .15s;position:relative}.hero-stat:before{content:"";background:0 0;height:1px;transition:background .15s;position:absolute;top:0;left:0;right:0}.hero-stat:hover{background:var(--p-surface-2)}.hero-stat:hover:before{background:var(--p-accent-line)}.hero-stat .hs-val{font-size:17px;font-weight:700;font-family:var(--p-mono);color:var(--p-text);letter-spacing:-.5px;line-height:1.15}.hero-stat .hs-label{color:var(--p-text3);text-transform:uppercase;letter-spacing:1px;font-size:8.5px;font-weight:700;font-family:var(--p-sans);margin-top:3px}.panel-tabs{border-bottom:1px solid var(--p-border);background:var(--p-surface);flex-shrink:0;gap:0;padding:0 16px;display:flex}.panel-tab{font-size:12px;font-weight:600;font-family:var(--p-sans);text-transform:uppercase;letter-spacing:.5px;color:var(--p-text3);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;padding:8px 0;transition:color .15s,border-color .15s}.panel-tab:hover{color:var(--p-text)}.panel-tab.active{color:var(--p-accent);border-bottom-color:var(--p-accent)}.panel-tab.disabled{opacity:.35;cursor:default}.panel-tab.disabled:hover{color:var(--p-text3)}.panel-body{background:var(--p-bg);scrollbar-width:thin;scrollbar-color:var(--p-border-accent) transparent;flex:1;padding:14px 16px 20px;overflow-y:auto}.panel-body::-webkit-scrollbar{width:4px}.panel-body::-webkit-scrollbar-track{background:0 0}.panel-body::-webkit-scrollbar-thumb{background:var(--p-border-accent);border-radius:2px}.panel-section{background:var(--p-surface);border:1px solid var(--p-border);margin-bottom:16px;padding:0;overflow:hidden}.panel-section:last-child{margin-bottom:0}.ps-title{text-transform:uppercase;letter-spacing:1.2px;color:var(--p-cyan);border-bottom:1px solid var(--p-border);border-left:2px solid var(--p-cyan);font-size:9.5px;font-weight:700;font-family:var(--p-sans);background:#06b6d40f;align-items:center;gap:6px;padding:7px 12px 6px;display:flex}.ps-rank{color:var(--p-accent);letter-spacing:0;text-transform:none;font-size:11px;font-weight:800;font-family:var(--p-mono);margin-left:auto}.stat-cards{background:var(--p-border);gap:1px;padding:1px;display:flex}.stat-card{background:var(--p-bg);text-align:center;flex:1;min-width:0;padding:8px 4px 7px;transition:background .12s;position:relative}.stat-card:hover{background:var(--p-surface-2)}.stat-card:after{content:"";background:0 0;height:1px;transition:background .15s;position:absolute;bottom:0;left:20%;right:20%}.stat-card:hover:after{background:var(--p-accent-line)}.stat-card .sc-val{font-size:14px;font-weight:700;font-family:var(--p-mono);color:var(--p-text);letter-spacing:-.3px;line-height:1.2}.stat-card .sc-label{color:var(--p-text3);text-transform:uppercase;letter-spacing:.8px;font-size:7.5px;font-weight:700;font-family:var(--p-sans);margin-top:3px}.splits-table{border-collapse:collapse;width:100%;font-size:11px;font-family:var(--p-mono)}.splits-table th{color:var(--p-text3);text-transform:uppercase;letter-spacing:.8px;text-align:right;background:var(--p-surface-2);border-bottom:1px solid var(--p-border);font-size:8.5px;font-weight:700;font-family:var(--p-sans);padding:5px 10px}.splits-table th:first-child{text-align:left}.splits-table td{text-align:right;border-bottom:1px solid var(--p-border);color:var(--p-text);padding:5px 10px;font-size:11.5px}.splits-table tbody tr:last-child td{border-bottom:none}.splits-table tbody tr:nth-child(2n) td{background:#ffffff04}.splits-table tbody tr:hover td{background:var(--p-surface-2)}.splits-table td:first-child{text-align:left;color:var(--p-text2);font-weight:700;font-family:var(--p-sans);letter-spacing:.3px;font-size:10.5px}.proj-table{border-collapse:collapse;width:100%;font-size:11px;font-family:var(--p-mono)}.proj-table th{color:var(--p-text3);text-transform:uppercase;letter-spacing:1px;text-align:right;background:var(--p-surface-2);border-bottom:1px solid var(--p-border);font-size:8px;font-weight:700;font-family:var(--p-sans);padding:5px 8px}.proj-table th:first-child{text-align:left}.proj-table td{text-align:right;color:var(--p-text);border-bottom:1px solid #1a2e4a99;padding:4px 8px;font-size:11.5px}.proj-table tbody tr:last-child td{border-bottom:none}.proj-table td:first-child{text-align:left;color:var(--p-text2);font-weight:600}.proj-table tbody tr:nth-child(2n) td{background:#ffffff05}.proj-table tr:hover td{background:#2563eb0f}.proj-current td{font-weight:700;background:#2563eb0f!important}.proj-current td:first-child{border-left:2px solid var(--p-accent);color:var(--p-accent);padding-left:6px}.proj-current .v-elite{color:#93c5fd}.proj-current .v-great{color:#60a5fa}.proj-current .v-good{color:#86efac}.proj-current .v-ok{color:#fde68a}.proj-current .v-bad{color:#fca5a5}.proj-current .v-terrible{color:#f87171}.field-chips{flex-wrap:wrap;gap:4px;padding:9px 12px;display:flex}.field-chip{background:var(--p-surface-2);border:1px solid var(--p-border-accent);font-size:11px;font-family:var(--p-mono);color:var(--p-text);letter-spacing:-.2px;padding:3px 9px;font-weight:600;transition:border-color .12s,background .12s}.field-chip:hover{border-color:var(--p-accent-line);background:var(--p-accent-glow)}.field-chip .fc-pos{color:var(--p-text3);text-transform:uppercase;letter-spacing:.5px;margin-right:5px;font-size:9px;font-weight:500}.def-adj-grid{background:var(--p-border);flex-wrap:nowrap;gap:1px;padding:1px;display:flex}.def-adj-cell{background:var(--p-bg);flex-direction:column;flex:1;align-items:center;min-width:0;padding:7px 4px 6px;transition:background .12s;display:flex}.def-adj-cell:hover{background:var(--p-surface-2)}.def-adj-cell.def-inelig{opacity:.35}.da-pos{color:var(--p-text3);text-transform:uppercase;letter-spacing:.8px;font-size:8px;font-weight:700;font-family:var(--p-sans);margin-bottom:2px}.da-val{font-size:13px;font-weight:700;font-family:var(--p-mono);color:var(--p-text);line-height:1.2}.da-pos-good{color:#34d399}.da-neg{color:#f87171}.da-na{color:var(--p-text3)}.da-range{color:var(--p-text3);font-size:8.5px;font-family:var(--p-mono);margin-top:1px}.intel-filter-ctx{color:var(--p-text3);border-bottom:1px solid var(--p-border);font-size:9.5px;font-family:var(--p-sans);letter-spacing:.2px;padding:5px 12px}.intel-section{border-bottom:1px solid #1a2e4a66;padding:8px 12px}.intel-section:last-child{border-bottom:none}.intel-section-title{text-transform:uppercase;letter-spacing:.8px;color:var(--p-text3);font-size:9px;font-weight:700;font-family:var(--p-sans);margin-bottom:6px}.intel-overall{opacity:.6}.intel-stats{flex-wrap:wrap;gap:12px;display:flex}.intel-stat{flex-direction:column;align-items:center;min-width:48px;display:flex}.is-val{color:var(--p-text);font-size:15px;font-weight:700;font-family:var(--p-mono);font-variant-numeric:tabular-nums;line-height:1.2}.is-big{font-size:18px}.is-range{color:var(--p-text2);font-size:12px}.is-label{color:var(--p-text3);font-size:9px;font-family:var(--p-sans);text-align:center;margin-top:1px;line-height:1.3}.intel-line{grid-template-columns:82px 60px 1fr;align-items:baseline;gap:0;padding:6px 0;font-size:11.5px;display:grid}.il-label{color:var(--p-text3);text-transform:uppercase;letter-spacing:.8px;font-size:9px;font-weight:700;font-family:var(--p-sans);flex-shrink:0}.il-val{color:var(--p-text);font-variant-numeric:tabular-nums;font-weight:700;font-family:var(--p-mono);flex-shrink:0;font-size:12px}.il-ctx{color:var(--p-text3);font-size:9.5px;font-family:var(--p-sans);line-height:1.4}.il-clickable{cursor:pointer;text-underline-offset:2px;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.il-clickable:hover{color:var(--p-accent,#3b82f6)}.intel-trade-wrap{flex-wrap:wrap}.trade-list{border-top:1px solid var(--p-border);flex-direction:column;grid-column:1/-1;gap:2px;margin-top:6px;padding:6px 0 2px;display:flex}.trade-item{font-size:10px;font-family:var(--p-sans);border-bottom:1px solid #ffffff0a;padding:6px 0;line-height:1.5}.trade-item:last-child{border-bottom:none}.trade-top{align-items:baseline;gap:6px;margin-bottom:1px;display:flex}.trade-lg{color:var(--p-text2);font-weight:600}.trade-timing{color:var(--p-text3);font-size:9px;font-style:italic}.trade-detail{color:var(--p-text3);padding-left:2px}.trade-with{color:var(--p-text3);margin-right:4px}.trade-with:after{content:" →"}.trade-names{color:var(--p-text);font-weight:500}.trade-empty{color:var(--p-text3);font-style:italic}.intel-line-overall{opacity:.55;border-top:1px solid var(--p-border);background:#ffffff03;margin-top:2px;padding-top:6px}.player-panel :where(.v-elite){color:#93c5fd;font-weight:700}.player-panel :where(.v-great){color:#60a5fa;font-weight:600}.player-panel :where(.v-good){color:#3b82f6}.player-panel :where(.v-ok){color:var(--p-text2)}.player-panel :where(.v-bad){color:#f87171}.player-panel :where(.v-terrible){color:#fca5a5}.player-panel :where(.kpct-lock){color:#4ade80;font-weight:600}.player-panel :where(.kpct-high){color:#86efac}.player-panel :where(.kpct-mid){color:var(--p-text2)}.player-panel :where(.kpct-low){color:var(--p-text3)}[data-tip]{position:relative}[data-tip]:hover:after{content:attr(data-tip);background:var(--navy);color:#e2e8f0;border:1px solid var(--border);z-index:200;pointer-events:none;white-space:normal;border-radius:2px;max-width:280px;padding:6px 10px;font-family:DM Sans,sans-serif;font-size:11px;font-weight:500;line-height:1.4;position:absolute;bottom:calc(100% + 6px);left:50%;transform:translate(-50%);box-shadow:0 4px 16px #0006}.player-panel [data-tip]:hover:after{top:calc(100% + 6px);bottom:auto}.player-panel [data-tip]:hover:before{border-top-color:#0000;border-bottom-color:var(--navy);top:calc(100% + 2px);bottom:auto}[data-tip]:hover:before{content:"";border:5px solid #0000;border-top-color:var(--navy);z-index:200;pointer-events:none;position:absolute;bottom:calc(100% + 2px);left:50%;transform:translate(-50%)}.pe{flex-direction:column;flex:1;display:flex;overflow:hidden}.pe-teambar{background:var(--surface);border-bottom:1px solid var(--border);flex-wrap:wrap;flex-shrink:0;gap:2px;padding:8px 16px;display:flex}.pe-div{align-items:center;gap:2px;margin-right:8px;display:flex}.pe-div-label{color:var(--text3);text-transform:uppercase;letter-spacing:.5px;min-width:52px;margin-right:2px;font-size:8px;font-weight:700}.pe-team{border:1px solid var(--border);color:var(--text2);cursor:pointer;background:0 0;padding:3px 7px;font-family:inherit;font-size:10px;font-weight:600;transition:all .12s}.pe-team:hover{border-color:var(--royal-light);color:var(--text)}.pe-team.active{background:var(--royal);border-color:var(--royal);color:#fff}.pe-controls{background:var(--surface);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;padding:6px 16px;display:flex}.pe-toggles{align-items:center;gap:4px;display:flex}.pe-toggle{border:1px solid var(--border);color:var(--text2);cursor:pointer;background:0 0;padding:4px 12px;font-family:inherit;font-size:11px;font-weight:600}.pe-toggle.active{background:var(--royal);border-color:var(--royal);color:#fff}.pe-ov-filter{color:var(--text3);cursor:pointer;align-items:center;gap:4px;margin-left:12px;font-size:10px;display:flex}.pe-ov-filter input{cursor:pointer}.pe-actions{align-items:center;gap:8px;display:flex}.pe-count{color:var(--text3);font-size:10px}.pe-btn{background:var(--navy-700);border:1px solid var(--border);color:var(--text2);cursor:pointer;padding:3px 10px;font-family:inherit;font-size:10px;font-weight:600}.pe-btn:hover{background:var(--navy-600);color:var(--text)}.pe-btn-danger{color:var(--red);border-color:#ef44444d}.pe-btn-danger:hover{background:#ef444426}.pe-import-label{cursor:pointer}.proj-btn{background:var(--navy-700);border:1px solid var(--navy-600);color:var(--text2);cursor:pointer;white-space:nowrap;padding:5px 14px;font-family:inherit;font-size:11px;font-weight:700;transition:all .12s}.proj-btn:hover{background:var(--navy-600);color:#fff}.proj-btn.active{background:var(--cyan);border-color:var(--cyan);color:#fff}.pe-grid-wrap{flex:1;overflow:auto}.pe-grid{border-collapse:collapse;width:max-content;min-width:100%;font-family:JetBrains Mono,monospace;font-size:11px}.pe-grid thead{z-index:5;position:sticky;top:0}.pe-th{text-align:right;text-transform:uppercase;letter-spacing:.5px;color:var(--text3);background:var(--surface);border-bottom:1px solid var(--border);white-space:nowrap;padding:5px 6px;font-family:DM Sans,sans-serif;font-size:8.5px;font-weight:700}.pe-th:first-child{text-align:left}.pe-editable-header{color:var(--cyan)}.pe-cell{text-align:right;border-bottom:1px solid var(--border-subtle);white-space:nowrap;color:var(--text);padding:4px 6px}.pe-text{text-align:left;font-family:DM Sans,sans-serif;font-weight:600}.pe-num{font-variant-numeric:tabular-nums}.pe-editable{cursor:pointer}.pe-editable:hover{background:#2563eb0f}.pe-computed{font-weight:700}.pe-overridden{background:#06b6d414;position:relative}.pe-overridden:after{content:"";border:4px solid #0000;border-top-color:var(--cyan);border-right-color:var(--cyan);position:absolute;top:1px;right:1px}.pe-editing{box-shadow:inset 0 0 0 1px var(--royal);background:#2563eb1f;padding:0}.pe-input{width:100%;color:var(--text);text-align:right;background:0 0;border:none;outline:none;padding:4px 6px;font-family:JetBrains Mono,monospace;font-size:11px}.pe-empty{color:var(--text3)}.pe-sr{color:var(--text3);text-transform:uppercase;margin-left:4px;font-size:8px;font-weight:700}.pe-delta{margin-left:2px;font-size:9px}.pe-delta-up{color:#4ade80}.pe-delta-dn{color:#f87171}.pe-row{transition:background 80ms}.pe-row:hover{background:#2563eb08}.pe-has-override{border-left:2px solid var(--cyan)}.pe-row:nth-child(2n) .pe-cell{background:#ffffff03}:root.light .pe-teambar,:root.light .pe-controls{background:#fff}:root.light .pe-th{background:#f8fafc}:root.light .pe-team{color:#64748b;border-color:#e2e8f0}:root.light .pe-team:hover{color:#0f172a;border-color:#3b82f6}:root.light .pe-team.active{color:#fff;background:#2563eb;border-color:#2563eb}:root.light .pe-toggle{color:#64748b;border-color:#e2e8f0}:root.light .pe-toggle.active{color:#fff;background:#2563eb;border-color:#2563eb}:root.light .pe-cell{color:#0f172a;border-bottom-color:#f1f5f9}:root.light .pe-editable:hover{background:#eff6ff}:root.light .pe-overridden{background:#0891b20f}:root.light .pe-editing{background:#eff6ff;box-shadow:inset 0 0 0 1px #2563eb}:root.light .pe-input{color:#0f172a}:root.light .pe-btn{color:#334155;background:#f1f5f9;border-color:#e2e8f0}:root.light .pe-btn:hover{color:#0f172a;background:#e2e8f0}:root.light .pe-row:nth-child(2n) .pe-cell{background:#fafbfc}:root.light .pe-row:hover{background:#eff6ff}:root.light .pe-editable-header{color:#0891b2}:root.light .v-elite{color:#1d4ed8}:root.light .v-great{color:#2563eb}:root.light .v-good{color:#3b82f6}:root.light .v-ok{color:#64748b}:root.light .v-bad{color:#dc2626}:root.light .v-terrible{color:#991b1b}:root.light .kpct-lock{color:#16a34a}:root.light .kpct-high{color:#22c55e}:root.light .kpct-mid{color:#64748b}:root.light .kpct-low{color:#94a3b8}:root.light .player-table tbody tr:hover{background:#eff6ff}:root.light .player-table tbody tr.active-row{background:#dbeafe}:root.light .player-table th{background:#f8fafc}:root.light .cg-bat{color:#2563eb}:root.light .cg-pitch{color:#7c3aed}:root.light .cg-val{color:#d97706}:root.light .cg-mkt{color:#059669}:root.light .player-table tbody tr:nth-child(2n){background:#fafbfc}:root.light .topbar{background:#0a1628}:root.light .context-bar{background:#ffffff0f;border-color:#ffffff1a}:root.light .ctx-val{color:#60a5fa}:root.light .ctx-team{color:#f59e0b}:root.light .filterbar{background:#fff;border-bottom-color:#e2e8f0}:root.light .pos-pill{color:#64748b;border-color:#e2e8f0}:root.light .pos-pill:hover{color:#2563eb;border-color:#3b82f6}:root.light .pos-pill.active{color:#fff;background:#2563eb;border-color:#2563eb}:root.light .roster-filter{color:#0f172a;background:#fff;border-color:#e2e8f0}:root.light .beta-banner{color:#991b1b;background:#dc262614;border-left-color:#dc2626}:root.light .beta-banner strong{color:#dc2626}:root.light .beta-update{color:#64748b}:root.light .krnd-pill{color:#dbeafe;background:#0a1628}:root.light .col-owner.owned{color:#2563eb}:root.light .kp-franchise{color:#fff;background:#2563eb}:root.light .kp-franchise-future{color:#2563eb;background:0 0;border-color:#2563eb}:root.light .kp-core{color:#1d4ed8;background:#dbeafe}:root.light .kp-core-fading{color:#64748b;background:#e2e8f0}:root.light .kp-borderline{color:#475569;background:#f1f5f9}:root.light .kp-borderline-fade{color:#991b1b;background:#fef2f2}:root.light .kp-stash{color:#7c3aed;background:#f3e8ff}:root.light .kp-future{color:#059669;background:#ecfdf5}:root.light .kp-yty{color:#94a3b8;background:#f8fafc;border-color:#e2e8f0}:root.light .role-top{color:#92400e;background:#fef3c7}:root.light .role-starting{color:#166534;background:#dcfce7}:root.light .role-depth{color:#15803d;background:#f0fdf4}:root.light .role-platoon{color:#be185d;background:#fce7f3}:root.light .role-utility{color:#c2410c;background:#fff7ed}:root.light .role-defense{color:#0369a1;background:#e0f2fe}:root.light .role-ace{color:#fff;background:#dc2626}:root.light .role-sp{color:#991b1b;background:#fee2e2}:root.light .role-closer{color:#fca5a5;background:#450a0a}:root.light .role-quality-rp{color:#fecaca;background:#7f1d1d}:root.light .role-lefty{color:#1e40af;background:#dbeafe}:root.light .role-crossover{color:#7c3aed;background:#faf5ff}:root.light .player-panel{--p-bg:#fff;--p-surface:#f8fafc;--p-surface-2:#f1f5f9;--p-border:#e2e8f0;--p-border-accent:#cbd5e1;--p-accent:#2563eb;--p-accent-glow:#2563eb14;--p-accent-line:#2563eb4d;--p-cyan:#0891b2;--p-text:#0f172a;--p-text2:#64748b;--p-text3:#94a3b8}:root.light .panel-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#00000040}:root.light .player-panel{border-left-color:#e2e8f0;box-shadow:-4px 0 24px #0000001a}:root.light .panel-head{border-top-color:#2563eb}:root.light .panel-head:before{background:linear-gradient(135deg,#2563eb0a 0%,#0000 60%)}:root.light .panel-name{color:#0f172a;text-shadow:none}:root.light .panel-close{color:#94a3b8;border-color:#e2e8f0}:root.light .panel-close:hover{color:#0f172a;background:#2563eb0f;border-color:#3b82f6}:root.light .player-panel [data-tip]:hover:before{border-top-color:#0000;border-bottom-color:#0a1628}:root.light .panel-meta .pm-val{color:#334155}:root.light .hero-stat .hs-val{color:#0f172a!important}:root.light .ps-title{color:#0891b2;background:#0891b20a;border-bottom-color:#e2e8f0;border-left-color:#0891b2}:root.light .ps-rank{color:#2563eb}:root.light .player-panel :where(.v-elite){color:#1d4ed8;font-weight:700}:root.light .player-panel :where(.v-great){color:#2563eb;font-weight:600}:root.light .player-panel :where(.v-good){color:#3b82f6}:root.light .player-panel :where(.v-ok){color:#64748b}:root.light .player-panel :where(.v-bad){color:#dc2626}:root.light .player-panel :where(.v-terrible){color:#991b1b}:root.light .player-panel :where(.kpct-lock){color:#16a34a;font-weight:600}:root.light .player-panel :where(.kpct-high){color:#22c55e}:root.light .player-panel :where(.kpct-mid){color:#64748b}:root.light .player-panel :where(.kpct-low){color:#94a3b8}:root.light .da-pos-good{color:#16a34a}:root.light .da-neg{color:#dc2626}:root.light .proj-current td{background:#2563eb0f!important}:root.light .proj-current td:first-child{color:#2563eb}:root.light .splits-table tbody tr:hover td{background:#f1f5f9}:root.light .proj-table tr:hover td{background:#2563eb08}:root.light .field-chip{color:#0f172a;background:#f1f5f9;border-color:#e2e8f0}:root.light .field-chip:hover{background:#2563eb0f;border-color:#3b82f6}:root.light .league-overlay{background:#0003}:root.light .league-panel{background:#fff;border-color:#e2e8f0;box-shadow:4px 0 24px #00000014}:root.light .league-head{background:#f8fafc;border-bottom-color:#e2e8f0}:root.light .league-title{color:#0f172a}:root.light .league-body{background:#fff}:root.light .league-search{color:#0f172a;background:#fff;border-color:#e2e8f0}:root.light .league-search:focus{border-color:#3b82f6}:root.light .league-dropdown-list{background:#fff;border-color:#e2e8f0}:root.light .league-dropdown-item{color:#334155}:root.light .league-dropdown-item:hover{background:#eff6ff}:root.light .league-dropdown-item.active{color:#1d4ed8;background:#dbeafe}:root.light .league-team-card{background:#f8fafc;border-color:#e2e8f0}:root.light .league-team-card:hover{background:#eff6ff;border-color:#3b82f6}:root.light .ltc-number{color:#94a3b8}:root.light .ltc-owner{color:#0f172a}:root.light .ltc-count,:root.light .league-status{color:#64748b}:root.light .league-clear-btn{color:#94a3b8}:root.light .league-clear-btn:hover{color:#dc2626}:root.light .league-back{color:#2563eb;border-color:#dbeafe}:root.light .team-tab{color:#64748b;border-color:#e2e8f0}:root.light .team-tab.active{color:#fff;background:#2563eb;border-color:#2563eb}:root.light .team-tab:hover:not(.active){color:#2563eb;border-color:#3b82f6}:root.light .unmatched-row{border-bottom-color:#f1f5f9}:root.light .league-empty-state{color:#94a3b8}:root.light [data-tip]:hover:after{color:#e2e8f0;background:#0a1628}:root.light .welcome-modal{color:#0f172a;background:#fff;border-color:#e2e8f0}:root.light .welcome-title{color:#0f172a}:root.light .help-panel{background:#fff;border-color:#e2e8f0}:root.light .ops-elite{color:#1d4ed8}:root.light .ops-great{color:#2563eb}:root.light .ops-good{color:#3b82f6}:root.light .ops-avg{color:#64748b}:root.light .ops-bad{color:#dc2626}:root.light .ts-table td.ops-elite{color:#1d4ed8;background:#2563eb26}:root.light .ts-table td.ops-great{color:#2563eb;background:#2563eb1a}:root.light .ts-table td.ops-good{color:#3b82f6;background:#2563eb0d}:root.light .ts-table td.ops-avg{color:#94a3b8}:root.light .ts-table td.ops-bad{color:#dc2626;background:#dc262614}:root.light .dc-grade-A{color:#2563eb;border-left-color:#2563eb}:root.light .dc-grade-B{color:#16a34a;border-left-color:#16a34a}:root.light .dc-grade-D{color:#d97706;border-left-color:#d97706}:root.light .dc-grade-F{color:#dc2626;border-left-color:#dc2626}:root.light .ts-pos-label{color:#0f172a;border-bottom-color:#e2e8f0}:root.light .ts-table{background:#fff}:root.light .ts-table th{color:#64748b;background:#f8fafc;border-bottom-color:#e2e8f0}:root.light .ts-table td{color:#0f172a;border-bottom-color:#f1f5f9}:root.light .ts-table td.ts-name{color:#334155}:root.light .ts-minor td{color:#94a3b8}:root.light .ts-m{color:#3b82f6}:root.light .ts-pitch-header{color:#64748b;border-bottom-color:#e2e8f0}:root.light .ts-pitcher{border-bottom-color:#f1f5f9}:root.light .ts-p-name{color:#0f172a}:root.light .ts-p-stats{color:#64748b}:root.light .ts-pitching{border-top-color:#e2e8f0}:root.light .dc-tbl{background:#fff}:root.light .dc-tbl th{color:#64748b;background:#f8fafc;border-bottom-color:#e2e8f0}:root.light .dc-tbl td{color:#0f172a;border-bottom-color:#f1f5f9}:root.light .dc-name{color:#334155}:root.light .dc-gap td{border-top-color:#e2e8f0}:root.light .dc-pos-break td{border-top-color:#cbd5e1}:root.light .dc-minor td{color:#94a3b8}:root.light .dc-m{color:#3b82f6}:root.light .dc-secondary td{opacity:.5}:root.light .dc-sec-tag{color:#94a3b8}:root.light .ol-header{border-bottom-color:#e2e8f0}:root.light .ol-label{color:#0f172a}:root.light .ol-avg{color:#64748b}:root.light .ol-avg strong{color:#0f172a}:root.light .ol-table{background:#fff}:root.light .ol-table th{color:#64748b;background:#f8fafc;border-bottom-color:#e2e8f0}:root.light .ol-table td{color:#0f172a;border-bottom-color:#f1f5f9}:root.light .ol-table tbody tr:nth-child(2n){background:#fafbfc}:root.light .ol-table tbody tr:hover{background:#eff6ff}:root.light .ol-oop td{background:#fbbf240f}:root.light .ol-pt td{color:#64748b}:root.light .ol-aaa td{color:#94a3b8}:root.light .ol-blend-name{color:#64748b}:root.light .tm-empty{color:#94a3b8}:root.light .tm-table{background:#fff}:root.light .tm-table th{color:#64748b;background:#f8fafc;border-bottom-color:#e2e8f0}:root.light .tm-table td{color:#0f172a;border-bottom-color:#f1f5f9}:root.light .tm-table td.tm-name{color:#334155}:root.light .tm-fv-high{color:#16a34a}:root.light .tm-fv-mid{color:#2563eb}:root.light .welcome-overlay{background:#0000004d}:root.light .welcome-modal{color:#0f172a;background:#fff;border-color:#e2e8f0;box-shadow:0 20px 60px #00000026}:root.light .welcome-title{color:#0f172a;text-shadow:none}:root.light .welcome-sub{color:#64748b}:root.light .ws-num{color:#fff;background:#2563eb}:root.light .ws-hd{color:#0f172a}:root.light .ws-desc{color:#475569}:root.light .ws-desc strong{color:#0f172a}:root.light .wg-title{color:#0891b2;border-bottom-color:#e2e8f0}:root.light .wg-item dt{color:#2563eb;background:#2563eb0f}:root.light .wg-item dd,:root.light .wb-row{color:#475569}:root.light .welcome-close{color:#fff;background:#2563eb}:root.light .welcome-close:hover{background:#1d4ed8}:root.light .welcome-step,:root.light .welcome-glossary,:root.light .welcome-badges{background:#f8fafc;border-color:#e2e8f0}:root.light .help-overlay{background:#0003}:root.light .help-panel{background:#fff;border-color:#e2e8f0;box-shadow:4px 0 24px #00000014}:root.light .help-head{background:#f8fafc;border-bottom-color:#e2e8f0}:root.light .help-title{color:#0f172a}:root.light .help-close-btn{color:#94a3b8;border-color:#e2e8f0}:root.light .help-close-btn:hover{color:#0f172a;border-color:#3b82f6}:root.light .help-body{color:#334155}:root.light .help-sec h3{color:#0f172a;border-bottom-color:#e2e8f0}:root.light .help-sec p{color:#475569}:root.light .help-sec p strong{color:#0f172a}:root.light .help-sec ol,:root.light .help-sec ol li{color:#475569}:root.light .help-sec ol strong{color:#0f172a}:root.light [data-tip]:hover:after{color:#e2e8f0;background:#0a1628;border-color:#1a2e4a}:root.light [data-tip]:hover:before{border-top-color:#0a1628}:root.light .player-table th[data-tip]:hover:before{border-top-color:#0000;border-bottom-color:#0a1628}:root.light .theme-btn{color:#94a3b8;background:#0f1f38;border-color:#152a4a}:root.light .theme-btn:hover{color:#fff;background:#152a4a}:root.light .unmatched-section{border-top-color:#e2e8f0}:root.light .unmatched-title{color:#64748b;border-bottom-color:#e2e8f0}:root.light .unmatched-row{color:#64748b;background:#f8fafc;border-color:#e2e8f0}:root.light .um-pin{color:#dc2626}:root.light .um-pin:hover{color:#2563eb}:root.light .um-team{color:#94a3b8}:root.light .um-minor{color:#2563eb}:root.light .um-map-search{background:#fff;border-color:#e2e8f0}:root.light .um-map-input{color:#0f172a;background:#fff;border-color:#e2e8f0}:root.light .um-map-input:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f626}:root.light .um-map-result{color:#334155}:root.light .um-map-result:hover{color:#1d4ed8;background:#eff6ff}:root.light .um-map-meta,:root.light .um-map-empty{color:#94a3b8}:root.light .league-type-select{color:#fff;background:#2563eb;border-color:#2563eb}:root.light .league-type-select option{color:#0f172a;background:#fff}:root.light .league-ss-link{color:#2563eb}:root.light .les-text,:root.light .league-loading{color:#64748b}:root.light .league-status.error{color:#dc2626}:root.light .team-tabs{border-bottom-color:#e2e8f0}:root.light .intel-filter-ctx{color:#64748b;border-bottom-color:#e2e8f0}:root.light ::-webkit-scrollbar-thumb{background:#cbd5e1}:root.light ::-webkit-scrollbar-track{background:#f1f5f9}.mobile-cards{display:none}@media (width<=768px){.topbar{gap:8px;height:44px;padding:0 12px}.topbar .logo{font-size:13px}.context-bar{display:none}.topbar-center{max-width:none}.filterbar{padding:6px 12px}.table-container{display:none}.mobile-cards{flex-direction:column;gap:6px;padding:8px;display:flex}.mc{background:var(--surface);border:1px solid var(--border);cursor:pointer;border-radius:8px;padding:10px 12px;transition:background .1s}.mc:active{background:var(--ice)}.mc-owned{border-left:3px solid var(--royal)}.mc-top{align-items:baseline;gap:6px;margin-bottom:4px;display:flex}.mc-rank{color:var(--text3);min-width:20px;font-size:10px;font-weight:600}.mc-name{color:var(--text);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:13px;font-weight:700;overflow:hidden}.mc-pos{color:var(--text2);background:var(--ice);border-radius:3px;padding:1px 5px;font-size:10px;font-weight:600}.mc-badges{flex-wrap:wrap;gap:3px;margin-bottom:6px;display:flex}.mc-badges:empty{display:none}.mc-stats{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.mc-stat{flex-direction:column;align-items:center;min-width:32px;display:flex}.mc-sv{font-size:13px;font-weight:700;font-family:var(--mono);font-variant-numeric:tabular-nums;line-height:1.2}.mc-sl{color:var(--text3);text-transform:uppercase;letter-spacing:.5px;font-size:8px}.mc-owner{color:var(--royal-light);margin-top:4px;font-size:10px;font-weight:600}.hide-mobile{display:none}.player-panel{width:100vw}.panel-head-row{padding:12px 14px 0}.panel-meta{padding:6px 14px 10px}.panel-body{padding:10px 12px 16px}.intel-line{grid-template-columns:72px 52px 1fr;padding:5px 10px;font-size:10.5px}.league-panel{width:100vw}.dc-tbl td{padding:3px 5px}.dc-name{text-overflow:ellipsis;max-width:160px;font-size:12px;overflow:hidden}.ol-table{font-size:10px}.ol-table td{padding:2px 3px}.ol-name{text-overflow:ellipsis;max-width:130px;font-size:11px;overflow:hidden}.ol-pt td{font-size:10px}.ol-pt-pa{margin-left:2px;font-size:.8em}.ts-table{font-size:10px}.ts-table td{padding:3px 4px}.ts-table td.ts-name{max-width:110px}.tm-table{font-size:10px}.tm-table td{padding:3px 4px}.tm-table td.tm-name{max-width:120px}.def-adj-grid{gap:1px}.def-adj-cell{min-width:0;padding:5px 2px}.topbar{flex-wrap:wrap;gap:8px;height:auto;padding:8px 12px}.topbar-center{flex-basis:100%;order:10;max-width:none}.league-btn{padding:4px 8px;font-size:10px}.topbar .count{font-size:10px}.proj-btn{padding:3px 8px;font-size:10px}.beta-banner{padding:4px 10px;font-size:9px}.beta-update{font-size:8px}.filterbar{gap:3px}.pos-pill{padding:3px 8px;font-size:10px}.roster-filter{padding:3px 6px;font-size:10px}.panel-name{font-size:17px}.hero-stat .hs-val{font-size:15px}.stat-card .sc-val{font-size:12px}.stat-card .sc-label{font-size:7px}.field-chips{padding:6px 10px}.field-chip{padding:2px 6px;font-size:10px}.intel-filter-ctx{padding:4px 10px;font-size:8.5px}.league-head{padding:10px 12px}.league-search{font-size:12px}.league-team-grid{grid-template-columns:repeat(2,1fr);gap:6px;padding:10px}.team-tabs{padding:0 10px}.team-tab{padding:4px 8px;font-size:10px}.welcome-modal{max-height:90vh;padding:20px 16px;overflow-y:auto}.welcome-title{font-size:18px}.welcome-sub{font-size:11px}.welcome-step{padding:10px}.ws-num{width:24px;height:24px;font-size:12px}.ws-hd{font-size:12px}.ws-desc{font-size:10px}.help-panel{width:100vw}.help-title{font-size:14px}.help-body{padding:12px}.help-sec h3{font-size:12px}.help-sec p,.help-sec li{font-size:11px}.wg-item dt{min-width:50px;font-size:10px}.wg-item dd,.wb-row{font-size:10px}.pe-teambar{gap:2px;padding:6px 10px}.pe-div-label{display:none}.pe-team{padding:3px 5px;font-size:9px}.pe-controls{flex-wrap:wrap;gap:6px;padding:4px 10px}.pe-count{font-size:9px}.pe-btn{padding:2px 6px;font-size:9px}.pe-grid{font-size:10px}.pe-th{padding:4px;font-size:7.5px}.pe-cell{padding:3px 4px}.pe-text{text-overflow:ellipsis;max-width:120px;font-size:10px;overflow:hidden}}.league-overlay{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:50;opacity:0;pointer-events:none;background:#0408128c;transition:opacity .2s;position:fixed;inset:0}.league-overlay.open{opacity:1;pointer-events:auto}.league-panel{background:var(--surface);border-right:1px solid var(--border);z-index:51;flex-direction:column;width:480px;max-width:100vw;transition:transform .25s cubic-bezier(.16,1,.3,1);display:flex;position:fixed;top:0;bottom:0;left:0;overflow:hidden;transform:translate(-100%);box-shadow:12px 0 48px #0006}.league-panel.open{transform:translate(0)}.league-head{background:var(--navy);color:#fff;border-bottom:1px solid var(--border);flex-shrink:0;padding:14px 20px 10px}.league-head-row{justify-content:space-between;align-items:center;display:flex}.league-title{letter-spacing:-.3px;color:var(--cyan);font-size:16px;font-weight:800}.league-close{color:var(--text2);cursor:pointer;background:0 0;border:none;padding:4px;font-size:18px;line-height:1}.league-close:hover{color:#fff}.league-import{gap:6px;margin-top:10px;display:flex}.league-import input{background:var(--navy-800);border:1px solid var(--navy-700);color:var(--text);outline:none;flex:1;padding:6px 10px;font-family:inherit;font-size:12px}.league-import input:focus{border-color:var(--royal);box-shadow:0 0 0 2px #2563eb40}.league-import input::placeholder{color:var(--text3)}.league-import button{background:var(--royal);color:#fff;cursor:pointer;white-space:nowrap;border:none;padding:6px 14px;font-family:inherit;font-size:12px;font-weight:700}.league-import button:hover{background:var(--royal-light)}.league-import button:disabled{opacity:.5;cursor:default}.league-picker{margin-top:8px}.league-search-wrap{position:relative}.league-search{background:var(--navy-800);border:1px solid var(--navy-700);width:100%;color:var(--text);box-sizing:border-box;border-radius:0;padding:6px 10px;font-family:inherit;font-size:12px}.league-search::placeholder{color:var(--text2)}.league-search:focus{border-color:var(--royal);outline:none}.league-dropdown-list{background:var(--navy-800);border:1px solid var(--navy-700);z-index:100;border-top:none;max-height:240px;position:absolute;top:100%;left:0;right:0;overflow-y:auto}.league-dropdown-item{cursor:pointer;color:var(--text2);padding:5px 10px;font-size:12px}.league-dropdown-item:hover{background:var(--navy-700);color:#fff}.league-dropdown-item.active{color:var(--royal);font-weight:600}.league-dropdown-empty{color:var(--text3);padding:8px 10px;font-size:11px}.league-loading{color:var(--royal);margin-left:8px;font-size:11px}.league-body{flex:1;padding:12px 20px;overflow-y:auto}.league-status{color:var(--text3);margin-top:6px;font-size:11px}.league-status.error{color:var(--red)}.league-type-badge{background:var(--royal);color:#fff;letter-spacing:.5px;vertical-align:middle;margin-right:4px;padding:1px 5px;font-size:9px;font-weight:800;display:inline-block}.league-type-select{background:var(--royal);color:#fff;letter-spacing:.5px;vertical-align:middle;cursor:pointer;border:none;border-radius:0;margin-right:4px;padding:1px 2px;font-size:9px;font-weight:800}.league-type-select option{background:var(--surface);color:var(--text)}.league-clear-btn{color:var(--text3);cursor:pointer;text-underline-offset:2px;background:0 0;border:none;margin-left:10px;padding:0;font-size:10px;font-weight:500;-webkit-text-decoration:underline dotted;text-decoration:underline dotted}.league-clear-btn:hover{color:#f87171}.league-ss-link{color:var(--royal);margin-top:6px;font-size:10px;text-decoration:none;display:block}.league-ss-link:hover{text-decoration:underline}.league-team{border-bottom:1px solid var(--border);padding:8px 0}.league-team:last-child{border-bottom:none}.league-team-head{cursor:pointer;justify-content:space-between;align-items:center;padding:2px 0;display:flex}.league-team-head:hover{color:var(--royal)}.league-team-name{color:var(--text);font-size:13px;font-weight:700}.league-team-owner{color:var(--text2);font-size:11px;font-weight:500}.league-team-count{color:var(--text3);font-variant-numeric:tabular-nums;font-size:10px;font-weight:600}.league-team-roster{padding:6px 0 2px 8px;font-size:11px}.league-roster-pos{color:var(--text3);text-transform:uppercase;letter-spacing:.5px;margin-top:4px;margin-bottom:2px;font-size:9px;font-weight:700}.league-roster-player{color:var(--text2);padding:1px 0}.league-roster-player.minor{color:var(--text3);font-style:italic}.league-roster-player .lrp-name{color:var(--text);font-weight:500}.league-import-hero{margin-top:14px}.league-import-label{color:var(--text);margin-bottom:4px;font-size:13px;font-weight:600}.league-import-hint{color:var(--text3);margin-bottom:8px;font-size:11px}.league-reimport{margin-top:8px}.league-import-sm input{padding:4px 8px;font-size:11px}.league-import-sm button{padding:4px 10px;font-size:11px}.league-empty-state{text-align:center;color:var(--text3);padding:40px 20px}.les-icon{margin-bottom:12px;font-size:36px}.les-text{color:var(--text3);font-size:12px;line-height:1.6}.league-back{color:var(--text2);cursor:pointer;background:0 0;border:none;padding:2px 0;font-family:inherit;font-size:12px;font-weight:600}.league-back:hover{color:#fff}.league-team-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.league-team-card{background:var(--ice);border:1px solid var(--border);cursor:pointer;flex-direction:column;align-items:center;gap:2px;padding:14px 8px;font-family:inherit;transition:all .12s;display:flex}.league-team-card:hover{border-color:var(--royal);background:#2563eb0f}.ltc-number{color:var(--royal);font-size:11px;font-weight:800}.ltc-owner{color:var(--text);font-size:13px;font-weight:700}.ltc-count{color:var(--text3);font-size:10px;font-weight:500}.unmatched-section{border-top:1px solid var(--navy-700);margin-top:16px;padding-top:12px}.unmatched-title{color:var(--text3);margin-bottom:6px;font-size:11px;font-weight:700}.unmatched-list{flex-wrap:wrap;gap:4px;display:flex}.unmatched-row{color:var(--text3);background:var(--navy-800);border:1px solid var(--border-subtle);flex-wrap:wrap;align-items:center;gap:4px;padding:2px 6px;font-size:10px;display:inline-flex;position:relative}.um-pin{color:var(--red);cursor:pointer;font-weight:700}.um-pin:hover{color:var(--royal);text-decoration:underline}.um-team{color:var(--text3)}.um-minor{color:var(--royal);font-weight:700}.um-map-search{width:100%;margin-top:4px}.um-map-input{background:var(--navy);border:1px solid var(--royal);width:100%;color:var(--text);box-sizing:border-box;padding:4px 6px;font-family:inherit;font-size:11px}.um-map-input:focus{outline:none}.um-map-result{cursor:pointer;color:var(--text2);padding:4px 6px;font-size:11px}.um-map-result:hover{background:var(--navy-700);color:#fff}.um-map-meta{color:var(--text3);font-size:10px}.um-map-empty{color:var(--text3);padding:4px 6px;font-size:10px}.team-tabs{border-bottom:2px solid var(--border);background:var(--surface);z-index:2;gap:0;display:flex;position:sticky;top:0}.team-tab{letter-spacing:1.5px;text-transform:uppercase;color:var(--text3);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;flex:1;margin-bottom:-2px;padding:10px 0;font-family:inherit;font-size:11px;font-weight:700;transition:color .15s,border-color .15s}.team-tab:hover{color:var(--text)}.team-tab.active{color:var(--cyan);border-bottom-color:var(--cyan)}.team-splits{padding-bottom:20px}.ts-pos-group{margin-bottom:12px}.ts-pos-label{text-transform:uppercase;letter-spacing:.8px;color:var(--cyan);border-bottom:1px solid var(--border);margin-bottom:2px;padding:4px 0;font-size:10px;font-weight:800}.ts-table{border-collapse:collapse;width:100%;font-size:11px}.ts-table th{color:var(--text3);text-transform:uppercase;border-bottom:1px solid var(--border-subtle);padding:3px 4px;font-size:9px;font-weight:700}.ts-table th.ts-name{text-align:left}.ts-table th.ts-stat{text-align:right}.ts-table td{border-bottom:1px solid var(--border-subtle);color:var(--text);padding:3px 4px}.ts-table td.ts-name{white-space:nowrap;text-overflow:ellipsis;max-width:140px;color:var(--text);font-weight:600;overflow:hidden}.ts-table td.ts-stat{text-align:right;font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace;font-size:11px}.ts-table td.ops-elite{color:#93c5fd;background:#2563eb38;border-radius:3px;font-weight:700}.ts-table td.ops-great{color:#60a5fa;background:#2563eb24;border-radius:3px;font-weight:600}.ts-table td.ops-good{color:#3b82f6;background:#2563eb12;border-radius:3px}.ts-table td.ops-avg{color:var(--text3)}.ts-table td.ops-bad{color:var(--red);background:#dc26261f;border-radius:3px}.ts-table tbody tr:nth-child(2n){background:var(--surface)}.ts-table tbody tr:hover{background:#2563eb0f}.ts-minor td{color:var(--text3);font-style:italic}.ts-pitch-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.ts-pitch-header{text-transform:uppercase;color:var(--cyan);letter-spacing:.5px;border-bottom:1px solid var(--border-subtle);margin-bottom:2px;padding-bottom:3px;font-size:9px;font-weight:700}.ts-pitcher{border-bottom:1px solid var(--border-subtle);color:var(--text);justify-content:space-between;align-items:baseline;padding:2px 0;font-size:11px;display:flex}.ts-pitcher.ts-minor{color:var(--text3);font-style:italic}.ts-p-name{white-space:nowrap;text-overflow:ellipsis;min-width:0;font-weight:600;overflow:hidden}.ts-p-stats{color:var(--text2);white-space:nowrap;flex-shrink:0;margin-left:6px;font-family:JetBrains Mono,monospace;font-size:10px}.ts-pitch-empty{color:var(--text3);padding:4px 0;font-size:10px}.ts-m{color:var(--text3);margin-left:3px;font-size:9px;font-style:italic}.ops-elite{color:#93c5fd;font-weight:700}.ops-great{color:#60a5fa;font-weight:600}.ops-good{color:#3b82f6}.ops-avg{color:var(--text2)}.ops-bad{color:var(--red)}.dc{padding:0 0 8px}.dc-tbl{border-collapse:collapse;width:100%}.dc-tbl-pitch{margin-top:8px}.dc-tbl th{color:var(--text3);text-transform:uppercase;letter-spacing:.3px;text-align:left;border-bottom:2px solid var(--border);padding:4px 8px 3px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:700}.dc-tbl td{border-bottom:1px solid var(--border-subtle);color:var(--text);padding:3px 8px;font-size:12px}.dc-pos-col{width:32px}.dc-pos-label{color:var(--royal);vertical-align:top;font-size:10px;font-weight:800}.dc-pos-break td{border-top:2px solid var(--border)}.dc-tbl tbody tr:first-child td{border-top:none}.dc-gap td{border-top:1px dashed var(--text3)}.dc-starter td{background:var(--ice)}.dc-name{white-space:nowrap;font-weight:600}.dc-badge:first-of-type{margin-left:6px}.dc-m{color:var(--royal-light);vertical-align:super;margin-left:1px;font-size:8px}.dc-minor td{color:var(--text3);font-style:italic}.dc-minor .dc-name{font-weight:500}.dc-secondary td{opacity:.55}.dc-secondary .dc-name{font-style:italic}.dc-sec-tag{color:var(--text3);margin-left:4px;font-size:9px;font-style:normal;font-weight:500}.dc-r,th.dc-r{text-align:right}.dc-mono{font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace;font-size:11px}.dc-pt{color:var(--text3)}.dc-hand{color:var(--text3);width:20px}.dc-empty-cell{color:var(--text3);font-size:11px;font-style:italic}.dc-grade-A{color:#60a5fa;border-left:3px solid #60a5fa;padding-left:5px}.dc-grade-B{color:#4ade80;border-left:3px solid #4ade80;padding-left:5px}.dc-grade-C{color:var(--text2)}.dc-grade-D{color:#fbbf24;border-left:3px solid #fbbf24;padding-left:5px}.dc-grade-F{color:#f87171;border-left:3px solid #f87171;padding-left:5px}.team-minors{padding-bottom:20px}.tm-empty{color:var(--text3);text-align:center;padding:30px 10px;font-size:12px}.tm-table{border-collapse:collapse;width:100%;font-size:11px}.tm-table th{color:var(--text3);text-transform:uppercase;border-bottom:1px solid var(--border);padding:4px;font-size:9px;font-weight:700}.tm-table th.tm-name{text-align:left}.tm-table th.tm-stat{text-align:right}.tm-table td{border-bottom:1px solid var(--border-subtle);color:var(--text);padding:5px 4px}.tm-table td.tm-name{white-space:nowrap;color:var(--text);font-weight:600}.tm-table td.tm-stat{text-align:right;font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace}.tm-table tbody tr:nth-child(2n){background:var(--surface)}.tm-table tbody tr:hover{background:#2563eb0f}.tm-fv-high{color:#93c5fd;font-weight:700}.tm-fv-mid{color:#60a5fa;font-weight:600}.tm-krnd{color:var(--text2);font-weight:700}.optimal-lineup{flex-direction:column;gap:16px;padding-bottom:20px;display:flex}.ol-lineup{border:1px solid var(--border);background:var(--surface);padding:8px}.ol-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.ol-label{color:var(--cyan);text-transform:uppercase;letter-spacing:.5px;font-size:12px;font-weight:800}.ol-avg{color:var(--text3);font-size:11px}.ol-avg strong{color:var(--text);font-family:JetBrains Mono,monospace}.ol-table{border-collapse:collapse;width:100%;font-size:11px}.ol-table th{text-align:left;color:var(--text3);text-transform:uppercase;letter-spacing:.5px;border-bottom:1px solid var(--border);padding:3px 4px;font-size:9px;font-weight:700}.ol-table td{border-bottom:1px solid var(--border-subtle);color:var(--text);padding:3px 4px}.ol-table th.ol-stat,.ol-table td.ol-stat{text-align:right;font-variant-numeric:tabular-nums;font-family:JetBrains Mono,monospace}.ol-table tbody tr:nth-child(2n){background:#0a162880}.ol-table tbody tr:hover{background:#2563eb0f}.ol-pos{color:var(--royal);width:28px;font-weight:700}.ol-name{white-space:nowrap;color:var(--text);font-weight:600}.ol-aaa td{color:var(--text2);font-style:italic}.ol-aaa .ol-name{font-weight:400}.ol-blend-name{font-size:.85em}.ol-oop .ol-pos{color:#fbbf24}.ol-oop .ol-name{font-style:italic}.ol-pt td{color:var(--text2)}.ol-pt .ol-name{font-weight:500}.ol-pt-pa{color:var(--text3);margin-left:4px;font-size:.8em}.col-owner{color:var(--text3);text-overflow:ellipsis;max-width:80px;font-size:10px;font-weight:500;overflow:hidden}.col-owner.owned{color:var(--royal);font-weight:600}.league-btn{background:var(--navy-700);border:1px solid var(--navy-600);color:var(--text2);cursor:pointer;white-space:nowrap;padding:4px 10px;font-family:inherit;font-size:11px;font-weight:600}.league-btn:hover{background:var(--navy-600);color:#fff}.league-btn.active{background:var(--royal);border-color:var(--royal);color:#fff}.help-btn{border:1px solid var(--navy-600);background:var(--navy-700);width:28px;height:28px;color:var(--text2);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-family:inherit;font-size:14px;font-weight:700;display:flex}.help-btn:hover{background:var(--navy-600);color:#fff}.theme-btn{border:1px solid var(--navy-600);background:var(--navy-700);width:28px;height:28px;color:var(--text2);cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;transition:all .15s;display:flex}.theme-btn:hover{background:var(--navy-600);color:#fff}.welcome-overlay{z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#040812bf;position:fixed;inset:0}.welcome-modal{z-index:201;background:var(--surface);border:1px solid var(--border);border-radius:10px;width:520px;max-width:92vw;max-height:88vh;padding:28px 28px 20px;position:fixed;top:50%;left:50%;overflow-y:auto;transform:translate(-50%,-50%);box-shadow:0 24px 64px #00000080}.welcome-title{letter-spacing:.5px;color:var(--cyan);margin-bottom:2px;font-size:20px;font-weight:800}.welcome-sub{color:var(--text2);margin-bottom:20px;font-size:13px;line-height:1.5}.welcome-steps{flex-direction:column;gap:14px;margin-bottom:20px;display:flex}.welcome-step{align-items:flex-start;gap:12px;display:flex}.ws-num{background:var(--royal);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:26px;height:26px;margin-top:1px;font-size:13px;font-weight:800;display:flex}.ws-body{flex:1;min-width:0}.ws-hd{color:var(--text);margin-bottom:2px;font-size:13px;font-weight:700}.ws-desc{color:var(--text2);font-size:12px;line-height:1.5}.welcome-glossary,.welcome-badges{margin-bottom:16px}.wg-title{letter-spacing:1.5px;text-transform:uppercase;color:var(--cyan);border-bottom:1px solid var(--border);margin-bottom:8px;padding-bottom:6px;font-size:10px;font-weight:800}.wg-list{flex-direction:column;gap:6px;display:flex}.wg-item{gap:8px;font-size:12px;line-height:1.4;display:flex}.wg-item dt{color:var(--text);flex-shrink:0;min-width:42px;font-family:JetBrains Mono,monospace;font-size:11px;font-weight:700}.wg-item dd{color:var(--text2)}.wb-row{color:var(--text2);align-items:center;gap:8px;margin-bottom:4px;font-size:12px;line-height:1.4;display:flex}.wb-row .badge{flex-shrink:0}.welcome-close{background:var(--royal);color:#fff;cursor:pointer;border:none;border-radius:6px;width:100%;margin-top:8px;padding:10px;font-family:inherit;font-size:14px;font-weight:700;display:block}.welcome-close:hover{background:var(--royal-dim)}.help-overlay{z-index:190;opacity:0;pointer-events:none;background:#0408128c;transition:opacity .2s;position:fixed;inset:0}.help-overlay.open{opacity:1;pointer-events:auto}.help-panel{background:var(--surface);border-left:1px solid var(--border);z-index:191;flex-direction:column;width:380px;max-width:90vw;height:100dvh;transition:transform .2s;display:flex;position:fixed;top:0;right:0;transform:translate(100%);box-shadow:-8px 0 32px #0006}.help-panel.open{transform:translate(0)}.help-head{border-bottom:1px solid var(--border);background:var(--navy);justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.help-title{color:var(--cyan);letter-spacing:.5px;font-size:14px;font-weight:800}.help-close-btn{color:var(--text2);cursor:pointer;background:0 0;border:none;padding:0;font-size:18px}.help-close-btn:hover{color:#fff}.help-body{flex:1;padding:16px;overflow-y:auto}.help-sec{margin-bottom:20px}.help-sec h3{letter-spacing:1.5px;text-transform:uppercase;color:var(--cyan);border-bottom:1px solid var(--border-subtle);margin-bottom:8px;padding-bottom:4px;font-size:11px;font-weight:800}.help-sec p{color:var(--text2);margin-bottom:6px;font-size:12px;line-height:1.5}.help-sec ol{color:var(--text2);margin-bottom:6px;padding-left:20px;font-size:12px;line-height:1.6}.help-sec ol li{margin-bottom:2px}.help-sec .wg-list{margin-bottom:0}.help-sec .wb-row{margin-bottom:3px}
