:root{color-scheme:dark;--bg:#111719;--panel:#192124;--panel2:#1c2629;--line:#303b3e;--text:#f2f4ee;--muted:#9ca9ac;--lime:#d6f78a;--blue:#8eb7fc;--a:var(--lime);--b:var(--blue);font-family:Inter,'Noto Sans JP Variable','Hiragino Kaku Gothic ProN',Meiryo,system-ui,sans-serif;font-synthesis:none}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:92px}body{margin:0;background:var(--bg);color:var(--text);font-size:14px;line-height:1.6}button,input,select{font:inherit}button,a,select,input{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.4}button:focus-visible,select:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible{outline:2px solid var(--lime);outline-offset:4px}button{border:0}svg{display:block}h1,h2,h3,p{margin:0}button{transition:background .15s,border-color .15s,transform .15s}button:hover{filter:brightness(1.08)}.topbar{height:84px;border-bottom:1px solid var(--line);padding:0 max(4%,calc((100% - 1440px)/2));display:flex;align-items:center;gap:50px;background:var(--bg)}.brand{display:flex;align-items:center;gap:12px;font-weight:850;font-size:22px;letter-spacing:1px;line-height:1.1}.brand svg{width:31px;stroke:var(--lime);fill:none;stroke-width:1.5}.brand small{display:block;font-size:9px;letter-spacing:3.4px;color:var(--muted);margin-top:6px;font-weight:550}.topbar nav{display:flex;gap:30px;height:100%;align-items:stretch;margin-left:20px}.topbar nav a{display:flex;align-items:center;font-size:12px;color:var(--muted);border-bottom:2px solid transparent;padding-top:2px}.topbar nav a:hover,.topbar nav a.nav-active{color:var(--text);border-color:var(--lime)}.privacy{margin-left:auto;display:flex;align-items:center;gap:7px;font-size:10px;letter-spacing:1.6px;color:#b8c2c3;border:1px solid var(--line);border-radius:30px;padding:6px 12px}.privacy svg{width:14px;fill:none;stroke:currentColor;stroke-width:1.4}main{max-width:1440px;margin:auto;padding:0 4%}.intro{padding:46px 0 39px;display:flex;justify-content:space-between;align-items:center;gap:20px}.eyebrow{font-size:10px;letter-spacing:2px;font-weight:650;color:var(--muted);display:flex;align-items:center;gap:8px}.live-dot{display:inline-block;background:var(--lime);width:6px;height:6px;border-radius:50%}h1{font-size:clamp(25px,3vw,39px);letter-spacing:.01em;font-weight:700;margin:10px 0}.subtitle{color:var(--muted);font-size:13px}.intro-meta{text-align:right;padding-top:20px}.intro-meta>span{font-size:9px;letter-spacing:1.8px;color:var(--muted);display:inline-flex;align-items:baseline;gap:9px}.intro-meta strong{font-size:31px;color:var(--text);font-weight:500;letter-spacing:-1px}.intro-meta i{display:inline-block;width:1px;height:26px;background:var(--line);margin:0 22px;vertical-align:middle}.intro-meta p{color:var(--muted);font-size:10px;margin-top:9px}.intro-meta b{font-weight:400;margin-left:10px;letter-spacing:1px}section{margin-bottom:36px}.section-heading{display:flex;align-items:center;justify-content:space-between;gap:15px;margin:0 0 17px}h2{font-size:16px;font-weight:650;letter-spacing:.03em}h2>span{font-size:11px;font-weight:500;color:var(--muted);margin-right:13px;letter-spacing:1px}.actions{display:flex;align-items:center;gap:10px}.actions>span{color:var(--muted);font-size:10px;margin-right:10px}.button{border:1px solid var(--line);border-radius:6px;padding:7px 12px;font-size:11px;font-weight:550;white-space:nowrap}.subtle{background:transparent;color:#c1ccce}.subtle:hover{background:#253034;border-color:#576466}.primary{background:var(--lime);color:var(--bg);border-color:var(--lime);padding:10px 22px}.rulebar{display:flex;justify-content:space-between;align-items:center;gap:20px;border:1px solid #384631;border-radius:9px;background:linear-gradient(110deg,#212b24,#1c2523);padding:16px 20px;margin-bottom:19px}.rulebar>div:first-child{display:flex;gap:15px;align-items:center}.rule-icon{font-size:24px;color:var(--lime)}.rulebar strong{font-size:12px}.rulebar p{color:#a9b7ae;font-size:11px;margin-top:3px}.segmented{display:flex;background:#101918;padding:4px;border:1px solid #354239;border-radius:7px}.segmented button{background:transparent;color:var(--muted);font-size:11px;padding:9px 13px;border-radius:4px;white-space:nowrap}.segmented button.selected{background:var(--lime);color:#142116;font-weight:700}.segmented button span{font-size:8px;letter-spacing:.7px;margin-left:6px;border:1px solid currentColor;border-radius:3px;padding:1px 3px}.team-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.team-panel{background:var(--panel);border:1px solid var(--line);border-radius:11px;overflow:hidden;--accent:var(--a)}.team-b{--accent:var(--b)}.team-head{padding:22px 24px 17px;border-top:3px solid var(--accent);display:flex;gap:15px;align-items:center}.team-monogram{width:47px;height:47px;flex-shrink:0;border-radius:50%;color:var(--accent);border:1px solid var(--accent);display:grid;place-items:center;font-size:19px;font-weight:600;letter-spacing:-1px;background:color-mix(in srgb,var(--accent) 6%,transparent)}.team-select-wrap{flex:1;min-width:0}.team-label{font-size:9px;letter-spacing:1.7px;color:var(--accent);margin-bottom:2px}.team-select{width:100%;color:var(--text);font-weight:650;font-size:17px;background:var(--panel);padding:4px 20px 4px 0;border:none;border-radius:3px;text-overflow:ellipsis}.team-subline{font-size:10px;color:var(--muted);padding:0 24px 15px;display:flex;align-items:center;justify-content:space-between;gap:10px}.on-court{color:var(--accent);border:1px solid color-mix(in srgb,var(--accent) 25%,transparent);padding:3px 8px;border-radius:4px;font-size:9px;letter-spacing:.5px}.court-wrap{position:relative;margin:0 24px;overflow:hidden;background:#202d2d;border:1px solid #3a4b43;border-radius:7px;height:218px}.team-b .court-wrap{background:#202b34;border-color:#344653}.court-art{position:absolute;inset:0;width:100%;height:100%;stroke:#668275;opacity:.3;fill:none;stroke-width:1}.team-b .court-art{stroke:#7c96b3}.court-label{position:absolute;top:9px;left:12px;font-size:8px;letter-spacing:2px;color:#8fa59a}.court-player{position:absolute;transform:translate(-50%,-50%);text-align:center;background:none;min-width:90px;padding:0;white-space:nowrap}.court-player .shirt{margin:0 auto 3px;background:var(--accent);color:#1a231b;width:34px;height:34px;border-radius:9px 9px 13px 13px;display:grid;place-items:center;font-size:14px;font-weight:750;border:2px solid var(--accent);box-shadow:0 2px 8px #0004}.court-player:hover .shirt{transform:translateY(-2px);box-shadow:0 0 0 3px #ffffff22}.court-player .court-name{font-size:9px;color:#eff4ed;background:#172124dd;padding:1px 5px;border-radius:3px;display:inline-block;max-width:108px;overflow:hidden;text-overflow:ellipsis;vertical-align:middle}.court-player .court-pos{font-size:8px;color:var(--accent);display:block;line-height:1.2}.empty-slot .shirt{background:transparent;color:var(--muted);border-style:dashed;border-color:#687474}.empty-slot .court-name{background:none;color:var(--muted)}.lineup-summary{display:flex;justify-content:space-between;gap:10px;padding:14px 24px;border-bottom:1px solid var(--line)}.summary-item{font-size:9px;color:var(--muted)}.summary-item b{font-size:15px;display:block;color:var(--text);font-weight:550;line-height:1.4}.summary-item b small{font-size:10px;color:var(--muted);font-weight:400}.status-line{padding:9px 24px;min-height:36px;font-size:10px;border-bottom:1px solid var(--line);color:#b9d394;background:#d6f78a06}.status-line.warning{color:#e8bb80;background:#e8bb8008}.status-line.error{color:#f2a69a;background:#f2a69a08}.roster-toolbar{display:flex;justify-content:space-between;padding:16px 24px 11px;gap:12px;align-items:center}.roster-toolbar strong{font-size:11px}.roster-toolbar span{color:var(--muted);font-size:10px;font-weight:400;margin-left:6px}.text-button{background:none;color:var(--muted);padding:0;font-size:10px}.text-button:hover{color:var(--accent,var(--lime))}.roster-search{display:block;position:relative;margin:0 24px 11px}.roster-search input{width:100%;background:#131d20;border:1px solid var(--line);border-radius:5px;color:var(--text);font-size:11px;padding:9px 12px}.roster-search input::placeholder{color:#899a9d}.roster-list{height:266px;overflow:auto;scrollbar-width:thin;scrollbar-color:#435053 transparent;padding:0 14px 9px}.roster-row{display:flex;align-items:center;border:1px solid transparent;gap:8px;border-radius:6px;margin-bottom:2px;padding-right:8px;min-height:45px}.roster-row.active{background:color-mix(in srgb,var(--accent) 7%,var(--panel));border-color:color-mix(in srgb,var(--accent) 22%,transparent)}.roster-row.unavailable{opacity:.55}.select-player{background:none;display:flex;align-items:center;gap:10px;flex:1;min-width:0;padding:9px 9px;text-align:left}.check{border:1px solid #627175;width:16px;height:16px;border-radius:4px;display:grid;place-items:center;font-size:11px;flex-shrink:0}.active .check{background:var(--accent);border-color:var(--accent);color:var(--bg)}.jersey{font-size:10px;color:var(--muted);width:22px;flex-shrink:0}.player-identity{min-width:0;flex:1}.player-name{font-size:11px;font-weight:500;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}.player-meta{font-size:9px;color:var(--muted);display:block;line-height:1.3}.category{font-size:8px;padding:2px 5px;border-radius:3px;border:1px solid #4a5658;color:#a8b5b8;white-space:nowrap}.category.foreign,.category.asian,.category.naturalized{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 30%,transparent)}.edit-player{background:none;color:var(--muted);font-size:9px;padding:7px 4px}.helper{color:var(--muted);font-size:10px;margin:12px 0 0}.helper span{margin-left:8px}.legend{display:flex;align-items:center;gap:8px;font-size:10px;color:#c6d0d2}.legend .dot.b{margin-left:10px}.dot{width:7px;height:7px;border-radius:50%;display:inline-block}.dot.a{background:var(--a)}.dot.b{background:var(--b)}.metric-mode{display:flex;justify-content:space-between;gap:10px;align-items:center;margin:-3px 0 15px}.metric-mode p{font-size:10px;color:var(--muted)}.metric-mode label{display:flex;gap:10px;align-items:center;font-size:10px;color:var(--muted)}select{background:var(--panel);color:var(--text);border:1px solid var(--line);border-radius:5px;padding:6px 10px;font-size:11px}.metric-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.metric{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:19px 20px}.metric-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.metric h3{font-size:12px;font-weight:550}.metric .unit{font-size:9px;color:var(--muted)}.metric-values{display:flex;justify-content:space-between;gap:15px;margin:13px 0 12px;align-items:baseline}.metric-value{font-size:29px;font-weight:450;letter-spacing:-1px;color:var(--a)}.metric-value.b{color:var(--b);text-align:right}.metric-value small{display:block;font-size:9px;color:var(--muted);letter-spacing:0}.metric-diff{font-size:9px;color:var(--muted);text-align:center}.bar-track{height:5px;background:#2b373a;border-radius:4px;overflow:hidden;margin:5px 0}.bar-fill{height:100%;border-radius:3px;background:var(--a);transition:width .25s}.bar-fill.b{background:var(--b)}.metric-foot{font-size:9px;color:var(--muted);margin-top:10px;min-height:14px}.position-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px;margin-top:14px}.positions{border:1px solid var(--line);border-radius:9px;padding:16px 20px;display:flex;align-items:center;gap:15px}.positions>span{font-size:10px;color:var(--muted);min-width:68px}.position-chips{display:flex;gap:7px;flex:1;justify-content:flex-end}.pos-chip{padding:5px 8px;border:1px solid var(--line);border-radius:4px;font-size:9px;color:var(--muted);white-space:nowrap}.pos-chip b{font-size:12px;font-weight:550;margin-left:6px;color:var(--a)}.positions.b .pos-chip b{color:var(--b)}.insight-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.insight-card{background:var(--panel);border:1px solid var(--line);border-radius:9px;padding:23px 24px}.insight-title{display:flex;gap:10px;align-items:center;border-bottom:1px solid var(--line);padding-bottom:14px;font-size:13px;font-weight:600}.insight-title .dot{width:8px;height:8px}.insight-item{margin-top:15px;display:flex;gap:12px;align-items:flex-start}.insight-symbol{font-size:13px;background:#2b3531;color:var(--lime);width:24px;height:24px;border-radius:5px;display:grid;place-items:center;flex-shrink:0}.insight-item.caution .insight-symbol{background:#383229;color:#ddb681}.insight-item h4{margin:0 0 3px;font-size:11px;font-weight:550}.insight-item p{font-size:10px;color:var(--muted);line-height:1.8}.methodology{margin-top:18px;border:1px solid var(--line);border-radius:8px}.methodology summary{cursor:pointer;list-style:none;padding:14px 19px;font-size:11px;color:#b4c0c2;display:flex;justify-content:space-between}.methodology summary::-webkit-details-marker{display:none}.methodology[open] summary{border-bottom:1px solid var(--line)}.method-body{display:grid;grid-template-columns:1fr 1fr 1fr;gap:25px;padding:22px}.method-body h3{font-size:12px;margin-bottom:8px}.method-body p{font-size:10px;line-height:1.8;color:var(--muted);margin:8px 0}.method-body a{display:block;font-size:10px;color:var(--lime);margin:6px 0}.muted{color:var(--muted)}.small{font-size:10px}footer{border-top:1px solid var(--line);padding:22px 0 35px;display:flex;gap:20px;justify-content:space-between;align-items:center;color:var(--muted)}footer>span{font-size:12px;font-weight:750;letter-spacing:1px}footer b{font-size:8px;font-weight:400;letter-spacing:1.2px;display:block}footer p{font-size:9px}dialog{width:500px;max-width:calc(100% - 30px);border:1px solid #4b585b;border-radius:13px;padding:27px;color:var(--text);background:var(--panel);box-shadow:0 30px 100px #0009}dialog::backdrop{background:#080f12ba;backdrop-filter:blur(4px)}.dialog-top{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:9px}.dialog-top h2{font-size:21px;margin-top:6px}.icon-button{background:none;font-size:25px;color:var(--muted);padding:0 4px}.field-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:20px}.field-grid label{font-size:11px;color:#b8c4c7;display:flex;flex-direction:column;gap:6px}.field-grid select,.field-grid input{width:100%;min-width:0;background:#111b1e;border:1px solid #465256;border-radius:5px;padding:10px;color:var(--text);font-size:12px}.scout-fields{margin:21px 0;padding-top:17px;border-top:1px solid var(--line)}.scout-fields h3{font-size:12px;font-weight:550}.scout-fields small{font-size:10px;color:var(--muted);font-weight:400;margin-left:8px}.scout-fields .field-grid{margin-top:8px}.source-info{font-size:10px;line-height:1.8;color:var(--muted);background:#111b1e;padding:12px;border-radius:5px}.source-info a{color:var(--lime)}.dialog-actions{display:flex;justify-content:space-between;gap:10px;margin-top:20px}.toast{position:fixed;bottom:25px;left:50%;transform:translate(-50%,20px);padding:12px 21px;background:var(--lime);color:#15201a;border-radius:8px;font-size:12px;box-shadow:0 6px 30px #0007;opacity:0;pointer-events:none;transition:.2s;z-index:99;max-width:calc(100% - 24px);text-align:center}.toast.show{opacity:1;transform:translate(-50%,0)}.no-results{padding:30px 10px;text-align:center;font-size:12px;color:var(--muted)}
@media(min-width:1600px){main{padding:0 25px}.topbar{padding:0 calc((100% - 1390px)/2)}}
@media(max-width:1000px){.topbar{gap:20px}.topbar nav{gap:20px;margin-left:0}.intro-meta{display:none}.team-head{padding:18px 16px 13px}.team-select{font-size:14px}.team-subline{padding:0 16px 12px}.court-wrap{margin:0 16px;height:200px}.lineup-summary{padding:12px 16px}.roster-toolbar{padding:13px 16px 10px}.roster-search{margin:0 16px 10px}.status-line{padding:9px 16px}.actions>span{display:none}.positions{gap:8px;padding:13px 12px}.positions>span{min-width:0}.position-chips{gap:4px}.pos-chip{padding:4px 5px}.rulebar{padding:13px 15px}.segmented button{padding:8px 9px}.team-grid,.position-grid,.insight-grid{gap:15px}.metric{padding:16px}.metric .unit{font-size:8px}}
@media(max-width:720px){.topbar{height:68px;padding:0 20px}.brand{font-size:19px}.brand small{font-size:7px;letter-spacing:3px}.brand svg{width:26px}.topbar nav{display:none}.privacy{font-size:8px;padding:5px 9px}.intro{padding:31px 0 27px}.subtitle{font-size:11px}.eyebrow{font-size:9px}main{padding:0 18px}.section-heading{align-items:flex-start;flex-wrap:wrap;gap:10px}h2{font-size:14px}h2>span{font-size:10px;margin-right:8px}.actions{gap:6px}.actions .button{font-size:9px;padding:5px 8px}.rulebar{display:block}.rulebar p{font-size:10px}.segmented{margin-top:13px;width:100%}.segmented button{flex:1}.team-grid{grid-template-columns:1fr}.team-select{font-size:17px}.team-head{padding:20px 20px 14px}.court-wrap{margin:0 20px;height:215px}.team-subline{padding:0 20px 14px}.roster-list{height:228px}.player-name{font-size:12px}.player-meta{font-size:10px}.select-player{padding:10px}.helper{font-size:9px}.helper span{display:block;margin-left:0}.metric-grid{grid-template-columns:1fr 1fr;gap:10px}.metric{padding:14px}.metric h3{font-size:11px}.metric-top{display:block}.metric .unit{display:block;margin-top:2px}.metric-values{gap:6px}.metric-value{font-size:25px}.metric-diff{font-size:8px}.metric-mode{align-items:flex-start}.metric-mode p{max-width:53%;font-size:9px}.metric-mode label{display:block;text-align:right;font-size:9px}.metric-mode select{display:block;font-size:10px;margin-top:4px}.position-grid{grid-template-columns:1fr;gap:8px}.positions{justify-content:space-between}.position-chips{flex:0;gap:5px}.pos-chip{padding:5px 8px}.insight-grid{grid-template-columns:1fr}.insight-card{padding:20px}.method-body{grid-template-columns:1fr;gap:14px;padding:18px}section{margin-bottom:29px}footer{flex-wrap:wrap;gap:10px}footer p{order:3;width:100%;font-size:8px}.dialog-actions{flex-wrap:wrap}dialog{padding:22px}.court-player .court-name{font-size:10px}.roster-row{padding-right:5px}.edit-player{font-size:10px}.category{font-size:9px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}}
/* Roster management and sourced previous-season details. */
[hidden]{display:none!important}.roster-management{display:flex;align-items:center;gap:12px;margin:0 24px 12px}.roster-management>span{font-size:12px;color:var(--muted)}.add-roster{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 40%,transparent);background:color-mix(in srgb,var(--accent) 5%,transparent);font-size:14px;padding:8px 12px}.roster-list{height:310px}.roster-row{gap:3px;min-height:68px}.select-player{gap:8px;padding:10px 8px}.player-name{font-size:14px}.player-meta{font-size:12px;margin-top:3px}.jersey{font-size:12px;width:19px}.category{font-size:12px;padding:1px 4px}.player-actions{display:grid;grid-template-columns:1fr 1fr;flex-shrink:0;gap:0 5px}.player-actions button{background:transparent;font-size:12px;padding:5px 4px}.player-actions .stats-player{grid-column:1/-1;color:var(--accent);border:1px solid var(--line);border-radius:4px;font-size:13px}.remove-player{color:var(--muted)}.remove-player:hover{color:#f2a69a}.roster-row.unavailable{opacity:.8}.roster-search input{font-size:14px}.wide-dialog{width:650px;max-height:calc(100dvh - 32px);overflow-y:auto;padding:26px}.dialog-description{font-size:14px;color:var(--muted);line-height:1.8;margin:10px 0 18px}.wide-dialog .eyebrow{font-size:12px}.wide-dialog .button,.wide-dialog .text-button,.wide-dialog input,.wide-dialog select,.wide-dialog label{font-size:14px}.add-search-label{display:block;margin:20px 0 7px;color:var(--text)}#add-search{width:100%;border:1px solid #465256;border-radius:6px;background:#111b1e;color:var(--text);padding:12px}.candidate-heading{display:flex;flex-wrap:wrap;justify-content:space-between;gap:10px;align-items:center;margin:14px 0 9px;font-size:12px;color:var(--muted)}.candidate-heading .text-button{color:var(--lime);font-size:12px}.add-results{max-height:260px;overflow:auto;border-top:1px solid var(--line);border-bottom:1px solid var(--line);scrollbar-width:thin}.candidate{display:flex;align-items:center;justify-content:space-between;gap:15px;padding:12px 4px;border-bottom:1px solid var(--line)}.candidate:last-child{border-bottom:0}.candidate>div{min-width:0}.candidate strong{display:block;font-size:14px;font-weight:500;overflow-wrap:anywhere}.candidate span{display:block;color:var(--muted);font-size:12px;margin-top:3px}.candidate .button{background:#26332a;color:var(--lime);flex-shrink:0}.custom-entry{margin-top:20px;border:1px solid var(--line);border-radius:7px;padding:14px}.custom-entry summary{cursor:pointer;color:var(--lime);font-size:14px}.custom-entry .dialog-description{font-size:13px;margin-bottom:0}.custom-entry .field-grid{margin-top:12px}.full-field{grid-column:1/-1}.custom-entry .dialog-actions{justify-content:flex-end}.stats-segmented{display:inline-flex;margin:0 0 20px}.stats-segmented button{font-size:14px;padding:8px 18px}.season-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:0 0 19px;border-bottom:1px solid var(--line)}.season-summary span{display:block;font-size:12px;color:var(--muted)}.season-summary strong{display:block;font-size:22px;font-weight:500;margin-top:5px;font-variant-numeric:tabular-nums}.season-summary small{font-size:12px;margin-left:4px;color:var(--muted)}.stat-cards{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:20px 0}.stat-card{border:1px solid var(--line);border-radius:7px;padding:14px;background:#131d20}.stat-card>span{font-size:14px;display:block}.stat-card small{color:var(--muted);font-size:12px}.stat-card span small{font-size:10px;margin-left:3px}.stat-card strong{display:block;color:var(--lime);font-size:30px;font-weight:500;margin:6px 0 0;font-variant-numeric:tabular-nums}.shooting-table{width:100%;border-collapse:collapse;font-size:14px;font-variant-numeric:tabular-nums}.shooting-table caption{text-align:left;font-weight:600;padding:6px 0 12px}.shooting-table caption span{font-weight:400;font-size:12px;color:var(--muted);margin-left:10px}.shooting-table th,.shooting-table td{text-align:right;border-bottom:1px solid var(--line);padding:10px}.shooting-table th:first-child{text-align:left}.shooting-table thead th{color:var(--muted);font-size:12px;font-weight:400;background:#131d20}.stats-note{font-size:12px;color:var(--muted);margin-top:16px;line-height:1.9}.stats-source{font-size:14px;display:inline-block;margin-top:18px;color:var(--lime)}.stats-empty{padding:25px 0}.stats-empty>span{font-size:42px;color:var(--muted)}.stats-empty h3{font-size:18px;margin:10px 0}.stats-empty p{font-size:14px;color:var(--muted);line-height:1.8}.sample-warning{font-size:13px;margin-top:14px;padding:12px;background:#383229;border-radius:5px;color:#e8bb80}.source-stats{display:block;margin-top:10px;font-size:12px;color:var(--lime)}.wide-dialog .dialog-top h2{overflow-wrap:anywhere}.dialog-top>div{min-width:0}.dialog-top .icon-button{flex-shrink:0;margin-left:10px;min-width:30px;min-height:36px}
@media(max-width:1000px){.roster-management{margin-left:16px;margin-right:16px}.category{display:none}.select-player{gap:6px}.roster-list{padding-left:8px;padding-right:8px}}
@media(max-width:720px){.roster-management{flex-wrap:wrap;gap:6px}.roster-management>span{font-size:12px}.roster-list{height:290px}.player-actions button{padding:7px 4px}.player-name{font-size:14px}.player-meta{font-size:12px}.wide-dialog{padding:20px;max-width:calc(100% - 20px)}.stat-cards{gap:8px;grid-template-columns:repeat(2,1fr)}.stat-card{padding:12px}.season-summary{grid-template-columns:1fr 1fr;gap:16px}.stats-segmented{width:100%}.stats-segmented button{flex:1}.shooting-table th,.shooting-table td{padding:10px 6px}.shooting-table caption span{display:block;margin:3px 0 0}.candidate-heading{align-items:flex-start}.custom-entry{padding:12px}.candidate span{line-height:1.7}.custom-entry .field-grid{gap:12px}.dialog-top h2{font-size:19px}}

.compact-category{display:none}@media(max-width:1000px){.compact-category{display:inline}}

.rule-badge{display:inline-flex;align-items:center;gap:8px;flex-shrink:0;border-radius:5px;background:var(--lime);color:#142116;padding:9px 14px;font-size:12px;font-weight:700;white-space:nowrap}.rule-badge b{font-size:10px;letter-spacing:.7px;border:1px solid currentColor;border-radius:3px;padding:1px 4px}@media(max-width:720px){.rule-badge{margin-top:12px}}

/* Physical profiles use a separate wrapping line to fit narrow roster panels. */
.age-reference{font-size:12px;color:var(--muted);margin:0 24px 8px}.profile-summary{font-size:14px;line-height:1.7;margin:0 0 18px;color:var(--text)}#player-form .field-grid label{font-size:14px}#player-form .field-grid input,#player-form .field-grid select{font-size:16px}.player-meta{overflow-wrap:anywhere}@media(max-width:1000px){.age-reference{margin-left:16px;margin-right:16px}}
/* Player traits and chemistry: retain the existing court and team colors. */
.court-wrap{height:390px}.court-label{font-size:12px}.court-player{width:32%;min-width:0;white-space:normal}.court-player .court-name{font-size:12px;max-width:100%;display:block;line-height:1.35;margin:0 2px}.court-player .court-pos{font-size:12px;display:block;line-height:1.4}.court-chemistry{display:flex;flex-direction:column;align-items:center;gap:3px;margin-top:4px}.chem-badge{display:inline-block;font-size:12px;line-height:1.5;padding:2px 6px;border:1px solid #536267;border-radius:5px;background:#243034;color:#dee5e7;white-space:nowrap;font-weight:500}.chem-badge.good{background:#203d2d;border-color:#6dba88;color:#baf7c9}.chem-badge.poor{background:#42361c;border-color:#c8a55b;color:#ffdc92}.chem-badge.unknown{background:#252c30;border-color:#4d595e;color:#bec8cc}.player-actions .feature-player{grid-column:1/-1;color:var(--accent);font-size:14px;border:1px solid var(--line);border-radius:4px;margin-bottom:3px}.feature-tags{display:flex;flex-wrap:wrap;gap:8px;margin:15px 0}.feature-tags>span{border:1px solid #5d7350;background:#283325;color:var(--lime);padding:6px 10px;border-radius:5px;font-size:14px}.feature-evidence,.feature-note{font-size:14px;color:#b8c5c8;line-height:1.85;margin:12px 0}.feature-section-title{font-size:18px;margin:26px 0 10px;display:flex;align-items:center;flex-wrap:wrap;gap:8px}.pair-detail{border:1px solid var(--line);background:#141e21;border-radius:8px;padding:14px;margin:10px 0}.pair-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.pair-heading strong{font-size:16px;overflow-wrap:anywhere;min-width:0}.pair-heading small{display:block;font-size:12px;font-weight:400;color:var(--muted)}.pair-detail ul{padding-left:20px;margin-bottom:0;font-size:14px;line-height:1.8;color:#c6d1d3}.feature-table{width:100%;border-collapse:collapse;margin-top:12px;font-size:14px;font-variant-numeric:tabular-nums}.feature-table th,.feature-table td{padding:7px 4px;text-align:right;border-bottom:1px solid var(--line);font-weight:400}.feature-table th:first-child{text-align:left}.feature-table thead{color:var(--muted)}.feature-method{margin-top:24px;font-size:14px;border-top:1px solid var(--line);padding-top:16px}.feature-method summary{cursor:pointer;color:var(--lime)}.feature-method p{margin-top:12px;color:#b8c5c8;line-height:1.85}.feature-remove{margin-top:22px}.helper{font-size:14px;line-height:1.8}@media(max-width:720px){.court-wrap{height:430px;margin-left:12px;margin-right:12px}.court-player .court-name{font-size:12px}.court-player{width:33%}.pair-detail{padding:12px}.feature-section-title{font-size:16px}}@media(min-width:721px) and (max-width:1000px){.court-wrap{height:440px;margin-left:10px;margin-right:10px}}
