:root{--bg:#fffafc;--panel:#fff;--text:#2a2f38;--muted:#6c727b;--line:#e5e8ee;--purple:#577cbd;--purpleSoft:#e8effa;--pink:#e987ac;--pinkSoft:#fcebf2;--mint:#dff5ef;--shadow:0 10px 28px rgba(60,71,91,.07)}*{box-sizing:border-box}html{background:#fff}body{margin:0;background:#fff;color:var(--text);font-family:Arial,"Noto Sans JP","Noto Sans Thai",sans-serif;font-size:17px;line-height:1.55}a{color:inherit;text-decoration:none}button,input,select,textarea{font:inherit;color:inherit}.desktopSidebar{position:fixed;left:0;top:0;bottom:0;width:226px;padding:28px 18px;background:#fff;border-right:1px solid var(--line);z-index:30;display:flex;flex-direction:column}.sideBrand{padding:5px 9px 25px}.sideBrand strong{display:block;color:#43639b;font-size:22px;line-height:1.02;letter-spacing:-.03em}.sideNav{display:grid;gap:8px}.sideNavItem{display:flex;align-items:center;gap:11px;min-height:50px;padding:0 13px;border-radius:0;font-size:16px;font-weight:800}.sideNavItem span{color:var(--purple);font-size:20px}.sideNavItem.active{background:var(--purpleSoft);color:#3f5f95}.sideLang{margin-top:auto;display:grid;grid-template-columns:1fr;gap:7px}.sideLang a{display:flex;align-items:center;gap:8px;padding:9px 10px;border-radius:0;background:#f5f7fa;font-size:13px;font-weight:800}.sideLang a.active{background:var(--purple);color:#fff}.sideLang b{font-size:17px}.pageShell{max-width:1120px;margin:0 auto;padding:42px 34px 80px 260px;min-height:78vh}.mobileTopbar,.mobileBottomNav{display:none}.homeHero{padding:34px 38px;border:1px solid var(--line);border-radius:0;background:#fff;box-shadow:var(--shadow)}.homeHero h1{margin:0;font-size:clamp(42px,6vw,68px);line-height:1.02;letter-spacing:-.045em;max-width:760px}.seasonMessage{margin:14px 0 22px;font-size:19px;font-weight:800;color:#4f5661}.heroLang{display:flex;flex-wrap:wrap;gap:8px}.heroLang a{padding:10px 15px;border:1px solid #dee2ea;border-radius:0;background:#fff;font-size:15px;font-weight:900}.heroLang a.active{background:var(--purple);border-color:var(--purple);color:#fff}.thaiNote{display:grid;margin-top:10px;color:#556072;font-size:14px}.thaiNote strong{font-size:15px}.findPlayerButton{display:inline-flex;align-items:center;gap:24px;margin-top:25px;padding:13px 20px;border-radius:0;background:var(--purple);color:#fff;font-weight:900;font-size:18px}.findPlayerButton span{font-size:25px;line-height:1}.homeSection{margin-top:18px;padding:23px;background:#fff;border:1px solid var(--line);border-radius:0;box-shadow:var(--shadow)}.sectionHeading{display:flex;justify-content:space-between;align-items:center;gap:15px;margin-bottom:14px}.sectionHeading h2{margin:0;font-size:22px;letter-spacing:.01em}.sectionHeading a{font-weight:900;color:var(--purple);font-size:14px}.pickupPlayerScroll{display:flex;gap:10px;overflow-x:auto;padding-bottom:7px;scroll-snap-type:x mandatory}.pickupPlayerCard{flex:0 0 calc((100% - 20px)/3);min-width:0;padding:15px 12px;border-radius:0;background:#fffafd;border:1px solid #e7eaf0;scroll-snap-align:start;display:grid;align-content:start}.pickupBadge,.teamBadge{display:grid;place-items:center;font-weight:900;border-radius:0}.pickupBadge{width:46px;height:46px;font-size:18px;margin-bottom:10px}.pickupPlayerCard strong{font-size:18px;line-height:1.25}.pickupPlayerCard small{margin-top:5px;color:var(--muted);font-size:13px;font-weight:700}.pickupPlayerCard em{margin-top:5px;color:var(--purple);font-size:13px;font-style:normal;font-weight:900}.pickupTeams{display:grid;grid-template-columns:1fr 1fr;gap:10px}.pickupTeams a{display:grid;grid-template-columns:56px 1fr 18px;align-items:center;gap:12px;padding:13px;border:1px solid var(--line);border-radius:0;background:#fffafd}.pickupTeamBadge{width:54px;height:54px;border-radius:0;display:grid;place-items:center;font-size:20px;font-weight:900}.pickupTeams strong{font-size:18px}.leagueButtons{display:grid;grid-template-columns:repeat(4,1fr);gap:9px;margin-top:16px}.leagueButtons a{display:grid;place-items:center;min-height:55px;border-radius:0;font-size:17px;font-weight:900;border:2px solid transparent}.svWomen{background:#e8effb;color:#466499}.svMen{background:#e8f0fb;color:#315c91}.svgWomen{background:#fce9f1;color:#a94b75}.svgMen{background:#e7f6f1;color:#357c68}.leagueButtons a.selected{border-color:currentColor}.pageHeading{margin-bottom:18px}.pageHeading span{font-size:12px;color:var(--pink);font-weight:900;letter-spacing:.12em}.pageHeading h1{font-size:34px;margin:0}.playerSearchPanel{position:sticky;top:14px;z-index:12;background:rgba(255,255,255,.96);border:1px solid var(--line);border-radius:0;padding:13px;box-shadow:var(--shadow)}.searchBox{position:relative}.searchBox span{position:absolute;left:15px;top:50%;transform:translateY(-50%);font-size:24px;color:#868c95}.searchBox input{width:100%;min-height:52px;padding:0 13px 0 48px;border:1px solid #e1e4ea;border-radius:0;background:#f9fafc;font-size:18px;outline:none}.currentOnlyToggle{display:flex;align-items:center;gap:10px;margin:11px 2px 3px;font-weight:900;font-size:16px}.currentOnlyToggle input{width:21px;height:21px;accent-color:var(--purple)}.filterRow{display:flex;gap:7px;overflow-x:auto;padding:8px 0}.filterRow button{flex:none;border:0;border-radius:0;padding:8px 14px;background:#f1f3f6;font-weight:900;font-size:15px}.filterRow button.active{background:var(--purpleSoft);color:#436297}.playerSearchPanel select{width:100%;min-height:46px;border:1px solid #e1e4ea;border-radius:0;background:#fff;padding:0 12px;font-size:16px}.resultCount{display:flex;justify-content:space-between;align-items:center;margin:18px 3px 8px}.resultCount strong{font-size:18px}.resultCount span{padding:3px 10px;background:var(--purpleSoft);color:var(--purple);border-radius:0;font-weight:900}.playerResults{overflow:hidden;border:1px solid var(--line);border-radius:0;background:#fff}.playerResultRow{display:grid;grid-template-columns:52px minmax(0,1fr) 78px 14px;gap:12px;align-items:center;min-height:88px;padding:11px 14px;border-bottom:1px solid #eaedf1}.playerResultRow:last-child{border-bottom:0}.teamBadge{width:50px;height:50px;font-size:18px}.teamBadge.large{width:58px;height:58px;font-size:20px}.teamBadge.xlarge{width:82px;height:82px;font-size:27px;border-radius:0}.resultMain{min-width:0;display:grid}.resultMain strong{font-size:22px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resultMain small{margin-top:6px;font-size:15px;color:#5e636b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.resultMeta{display:grid;text-align:right;align-content:center}.resultMeta b,.resultMeta strong{font-size:19px;line-height:1.25}.resultMeta b{color:var(--purple)}.chev{font-size:25px;color:#a1a5ad}.teamPageButtons{margin-bottom:15px}.teamGrid{display:grid;grid-template-columns:1fr 1fr;gap:11px}.teamGridCard{display:grid;grid-template-columns:58px 1fr 15px;gap:13px;align-items:center;padding:14px;border:1px solid var(--line);border-radius:0;background:#fff}.teamGridCard div{display:grid}.teamGridCard strong{font-size:18px;line-height:1.3}.teamGridCard small{font-size:13px;color:var(--muted);margin-top:4px}.backLink{display:inline-flex;margin-bottom:12px;color:var(--purple);font-size:16px;font-weight:900}.teamHero{display:flex;gap:18px;align-items:center;padding:22px;border:1px solid var(--line);border-radius:0;background:#fff}.teamHero h1{margin:0;font-size:34px}.teamHero p{margin:4px 0 0;color:var(--muted);font-weight:800}.rosterPanel{margin-top:15px;border:1px solid var(--line);border-radius:0;background:#fff;padding:18px}.rosterRow{display:grid;grid-template-columns:58px minmax(0,1fr) 80px 15px;gap:12px;align-items:center;min-height:76px;border-top:1px solid #eaedf1}.jerseyBadge{width:50px;height:50px;border-radius:0;display:grid;place-items:center;font-size:22px;font-weight:900}.rosterPlayer strong{font-size:20px}.rosterMeta{display:grid;text-align:right}.rosterMeta b{font-size:18px;color:var(--purple)}.rosterMeta small{font-size:14px;color:var(--muted)}.playerHeroCompact{display:grid;grid-template-columns:minmax(0,1fr) 108px;gap:15px;align-items:stretch;padding:20px 22px;border:1px solid var(--line);border-radius:0;background:#fff;box-shadow:var(--shadow)}.playerHeroMain{display:flex;gap:13px;align-items:flex-start;min-width:0}.playerIdentity{min-width:0}.playerIdentity h1{margin:0;font-size:clamp(32px,5vw,48px);line-height:1.05;letter-spacing:-.035em}.playerIdentity p{margin:5px 0 0;font-size:16px;color:#6e747d;font-weight:700}.playerIdentity>strong{display:block;margin-top:10px;font-size:18px;color:#4c5565}.numberStack{border-left:1px solid #dfe3e9;display:grid;place-items:center;align-content:center;gap:1px}.numberStack b{font-size:50px;line-height:1;color:var(--purple)}.numberStack strong{font-size:23px;line-height:1.25}.numberStack span{font-size:21px;font-weight:900}.bioStrip{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin-top:11px}.bioStrip div{min-width:0;padding:12px 13px;border:1px solid var(--line);border-radius:0;background:#fff}.bioStrip span{display:block;font-size:13px;color:var(--muted);font-weight:800}.bioStrip strong{display:block;margin-top:3px;font-size:17px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.currentStatsSection,.historySection{margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:0;background:#fff}.currentStatsTitle{display:flex;justify-content:space-between;align-items:flex-end;gap:10px;margin-bottom:13px}.currentStatsTitle span{font-size:13px;color:var(--pink);font-weight:900}.currentStatsTitle h2{margin:0;font-size:23px}.currentStatsTitle>strong{font-size:18px}.currentStatsGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.currentStatsGrid>div{min-height:105px;padding:13px;border-radius:0;background:#f4f7fb;display:grid;align-content:center}.currentStatsGrid .statWide{grid-column:span 4;min-height:86px;background:#fff}.currentStatsGrid span{font-size:14px;font-weight:900;color:#5e646d}.currentStatsGrid strong{font-size:30px;line-height:1.1;margin-top:3px}.currentStatsGrid .statWide strong{font-size:42px}.currentStatsGrid small{font-size:14px;margin-top:5px;color:#666b74;font-weight:800}.statsPending{padding:24px;border-radius:0;background:#f4f7fb;font-size:18px;font-weight:900;color:#616a7a}.historyList{border-top:1px solid #e7eaef}.historyRow{border-bottom:1px solid #e7eaef}.historyRow summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:82px 52px minmax(0,1fr) auto;gap:10px;align-items:center;min-height:62px}.historyRow summary::-webkit-details-marker{display:none}.historySeason,.historyCategory{font-weight:900}.historyCategory{color:var(--purple)}.historyRow summary strong{font-size:17px}.historyDetail{font-size:14px;color:var(--purple);font-weight:900}.historyStats{display:grid;grid-template-columns:repeat(5,1fr);gap:7px;padding:0 0 13px}.historyStats span{padding:10px;border-radius:0;background:#f5f7fa;font-size:12px;color:var(--muted);display:grid}.historyStats b{font-size:18px;color:var(--text)}.aliasPanel{margin-top:12px;padding:14px 17px;border:1px solid var(--line);border-radius:0;background:#fff}.aliasPanel span{font-size:12px;color:var(--muted);font-weight:800}.aliasPanel strong{display:block;font-size:17px}.textPage{max-width:780px;margin:0 auto;padding:12px}.textPage>span{font-size:11px;color:var(--pink);font-weight:900;letter-spacing:.1em}.textPage h1{font-size:36px;margin:3px 0 20px}.textPage p{font-size:17px;line-height:1.8}.contactPage form{display:grid;gap:14px;margin-top:24px;padding:20px;border:1px solid var(--line);border-radius:0;background:#fff}.contactPage label{display:grid;gap:6px;font-size:15px;font-weight:900}.contactPage input,.contactPage select,.contactPage textarea{width:100%;border:1px solid #d6dae1;border-radius:0;padding:11px;background:#fff;font-size:17px}.contactPage button{border:0;border-radius:0;background:var(--purple);color:#fff;padding:13px;font-size:18px;font-weight:900}.thanks{text-align:center}.siteFooter{margin-left:226px;padding:30px 24px 42px;border-top:1px solid var(--line);text-align:center;color:var(--muted)}.siteFooter strong{display:block;color:#47659a;font-size:16px}.siteFooter nav{display:flex;justify-content:center;gap:20px;margin:9px 0;font-weight:900}.siteFooter small{font-size:11px}.notice,.emptyState{padding:24px;border:1px solid var(--line);border-radius:0;background:#fff;text-align:center}
@media(max-width:920px){body{padding-top:69px;padding-bottom:76px;font-size:17px}.desktopSidebar{display:none}.mobileTopbar{display:flex;position:fixed;top:0;left:0;right:0;height:69px;z-index:40;align-items:center;padding:0 13px;background:rgba(255,255,255,.97);border-bottom:1px solid var(--line)}.mobileBrand{display:grid;margin-right:auto}.mobileBrand strong{font-size:16px;line-height:1.02;color:#426299}.mobileLang{display:flex;gap:3px}.mobileLang a{display:grid;place-items:center;min-width:41px;padding:4px 5px;border-radius:0;font-size:10px;font-weight:900}.mobileLang a span{font-size:15px}.mobileLang a.active{background:var(--purpleSoft);color:#436298}.mobileBottomNav{display:flex;position:fixed;bottom:8px;left:9px;right:9px;height:64px;z-index:40;justify-content:space-around;align-items:center;background:rgba(255,255,255,.97);border:1px solid var(--line);border-radius:0;box-shadow:0 10px 28px rgba(53,61,75,.14)}.mobileBottomNav a{display:grid;place-items:center;min-width:80px;color:#848991}.mobileBottomNav a span{font-size:20px}.mobileBottomNav a small{font-size:10px;font-weight:900}.mobileBottomNav a.active{color:var(--purple)}.pageShell{padding:16px 12px 38px;margin:0;max-width:none}.siteFooter{margin-left:0;padding:22px 15px 30px}.homeHero{padding:24px 18px;border-radius:0}.homeHero h1{font-size:39px}.seasonMessage{font-size:18px;margin:12px 0 18px}.heroLang a{font-size:14px;padding:9px 11px}.thaiNote{font-size:13px}.thaiNote strong{font-size:14px}.findPlayerButton{font-size:17px;margin-top:19px}.homeSection{padding:17px 13px;border-radius:0}.pickupPlayerCard{flex-basis:calc((100% - 16px)/3);padding:12px 8px}.pickupBadge{width:42px;height:42px;margin-bottom:8px}.pickupPlayerCard strong{font-size:15px}.pickupPlayerCard small,.pickupPlayerCard em{font-size:11px}.pickupTeams{grid-template-columns:1fr}.leagueButtons{grid-template-columns:1fr 1fr}.leagueButtons a{font-size:17px;min-height:53px}.playerSearchPanel{top:77px}.resultMain strong{font-size:21px}.resultMain small{font-size:15px}.resultMeta b,.resultMeta strong{font-size:18px}.teamGrid{grid-template-columns:1fr}.teamHero h1{font-size:28px}.rosterPlayer strong{font-size:20px}.playerHeroCompact{grid-template-columns:minmax(0,1fr) 92px;padding:17px 15px}.playerHeroMain{gap:10px}.playerHeroMain .teamBadge{width:46px;height:46px;flex:none}.playerIdentity h1{font-size:31px}.playerIdentity p{font-size:15px}.playerIdentity>strong{font-size:16px}.numberStack b{font-size:45px}.numberStack strong{font-size:21px}.numberStack span{font-size:19px}.bioStrip{gap:6px}.bioStrip div{padding:10px 8px}.bioStrip span{font-size:12px}.bioStrip strong{font-size:15px}.currentStatsSection,.historySection{padding:15px 12px}.currentStatsTitle h2{font-size:22px}.currentStatsTitle>strong{font-size:17px}.currentStatsGrid{grid-template-columns:1fr 1fr}.currentStatsGrid .statWide{grid-column:span 2}.currentStatsGrid>div{min-height:102px}.currentStatsGrid strong{font-size:28px}.currentStatsGrid .statWide strong{font-size:40px}.currentStatsGrid span,.currentStatsGrid small{font-size:13px}.historyRow summary{grid-template-columns:75px 48px minmax(0,1fr);gap:7px;padding:8px 0}.historyDetail{grid-column:3;font-size:13px}.historyRow summary strong{font-size:16px}.historyStats{grid-template-columns:1fr 1fr}.textPage h1{font-size:31px}}
@media(max-width:430px){.homeHero h1{font-size:35px}.pickupPlayerCard strong{font-size:14px}.playerResultRow{grid-template-columns:48px minmax(0,1fr) 70px 12px;padding:10px}.resultMain strong{font-size:20px}.resultMain small{font-size:14px}.playerHeroCompact{grid-template-columns:minmax(0,1fr) 84px}.playerHeroMain .teamBadge{display:none}.playerIdentity h1{font-size:29px}.numberStack b{font-size:42px}.bioStrip{grid-template-columns:1fr 1fr 1fr}.bioStrip strong{font-size:14px}.currentStatsTitle{align-items:flex-start;flex-direction:column}.currentStatsGrid>div{padding:12px 10px}.currentStatsGrid span{font-size:12px}.currentStatsGrid strong{font-size:27px}}


/* v7 refinements */
.sideBrand,.mobileBrand{display:flex;align-items:center;gap:10px}.sideBrand img{width:44px;height:44px;border-radius:0;object-fit:cover}.mobileBrand img{width:38px;height:38px;border-radius:0;object-fit:cover}.sideBrand>span,.mobileBrand>span{display:grid}.homeHero h1 span{display:block}.heroActions{display:flex;gap:10px;flex-wrap:wrap}.myFavoritesButton{display:inline-flex;align-items:center;gap:18px;margin-top:25px;padding:13px 20px;border-radius:0;background:#f8eaf2;color:#8d4167;font-weight:900;font-size:18px;border:1px solid #efd9e5}.pickupBadge,.pickupTeamBadge,.teamBadge,.jerseyBadge{border:1px solid transparent}.searchControls{display:grid;grid-template-columns:minmax(0,1fr) 150px;gap:8px}.resultMeta{display:flex;justify-content:flex-end;align-items:center;gap:8px}.jerseyPlate{display:grid;place-items:center;min-width:32px;height:31px;padding:0 7px;border-radius:0;background:#eef1f7;border:1px solid #d9dfe9;font-size:18px;font-weight:900;color:#444a54}.favoriteButton{width:100%;margin-top:10px;display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:8px;min-height:48px;padding:8px 14px;border-radius:0;border:1px solid #dde2ea;background:#fff;color:#79566a;font-size:15px;cursor:pointer}.favoriteButton span{font-size:25px;color:#df6f9f}.favoriteButton strong{text-align:left}.favoriteButton b{font-size:15px}.favoriteButton.active{background:#fff0f6;border-color:#efcadb}.historyRow.simple{padding:12px 0}.historyTop{display:grid;grid-template-columns:82px 52px minmax(0,1fr);gap:9px;align-items:center}.historyBottom{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:7px;color:var(--muted);font-size:14px}.historyBottom>div{display:flex;gap:8px}.historyBottom a{padding:5px 10px;border-radius:0;background:var(--purpleSoft);color:var(--purple);font-weight:900}.careerSection,.seasonDataPage{margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:0;background:#fff}.careerGrid,.dataStatGrid{display:grid;grid-template-columns:repeat(5,1fr);gap:8px}.careerGrid>div,.dataStatGrid>div{padding:13px;border-radius:0;background:#f4f7fb;display:grid}.careerGrid span,.dataStatGrid span{font-size:13px;color:var(--muted);font-weight:900}.careerGrid b,.dataStatGrid strong{font-size:25px}.dataStatGrid small{font-size:13px;color:var(--muted);font-weight:800}.seasonMeta{display:flex;align-items:baseline;gap:8px;margin-bottom:12px}.seasonMeta b{font-size:25px;color:var(--purple)}.seasonMeta span{margin-right:12px;color:var(--muted);font-weight:900}.matchesButton{display:inline-flex;margin-top:14px;padding:9px 14px;border-radius:0;background:var(--purple);color:#fff;font-weight:900}.matchList{overflow:hidden;border:1px solid var(--line);border-radius:0;background:#fff}.matchRow{display:grid;grid-template-columns:100px 30px minmax(0,1fr) 48px auto 14px;gap:8px;align-items:center;min-height:62px;padding:9px 13px;border-bottom:1px solid #e7eaef}.matchRow:last-child{border-bottom:0}.matchDate{font-size:14px;color:var(--muted)}.matchRow b,.matchVs b{font-size:20px}.win{color:#d44f83}.loss{color:#646a74}.setCount{font-size:18px;font-weight:900}.matchRow em{font-size:11px;font-style:normal;background:#edeff3;padding:3px 6px;border-radius:0}.matchHero{padding:20px;border:1px solid var(--line);border-radius:0;background:#fff}.matchHero>span{color:var(--muted);font-weight:800}.matchHero h1{margin:2px 0 8px;font-size:32px}.matchVs{display:flex;align-items:center;gap:10px}.matchVs strong{font-size:21px}.matchVs em{margin-left:auto;font-size:26px;font-style:normal;font-weight:900}.matchHero p{font-size:14px;color:var(--muted)}.dnpNotice{display:inline-flex;margin-top:8px;padding:4px 9px;border-radius:0;background:#edeff3;font-weight:900}.matchStats{margin-top:12px;display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.matchStats>div{padding:14px;border:1px solid var(--line);border-radius:0;background:#fff}.matchStats span{display:block;font-size:13px;color:var(--muted);font-weight:900}.matchStats strong{display:block;font-size:28px}.matchStats small{font-size:13px;color:var(--muted)}.teamBadge.xlarge{flex:none;aspect-ratio:1/1}.rosterMeta b{font-size:18px}.rosterMeta b+b{color:var(--muted)}.disclaimerPage h1{font-size:25px}.siteFooter nav{font-size:11px;font-weight:700;color:#878c94}.siteFooter nav a{opacity:.75}.siteFooter nav a:not(*){opacity:1}
@media (hover:hover) and (pointer:fine){.siteFooter nav a:hover{opacity:1}}
@media(max-width:920px){.heroActions>a{flex:1;justify-content:space-between;min-width:150px}.searchControls{grid-template-columns:minmax(0,1fr) 120px}.careerGrid,.dataStatGrid{grid-template-columns:1fr 1fr}.careerGrid>div:first-child,.dataStatGrid>div:first-child{grid-column:span 2}.historyTop{grid-template-columns:75px 46px minmax(0,1fr)}.matchStats{grid-template-columns:1fr 1fr}.matchRow{grid-template-columns:86px 26px minmax(0,1fr) 42px 14px}.matchRow em{grid-column:3}.rosterMeta{display:flex;align-items:center;justify-content:flex-end;gap:8px}.rosterMeta b{font-size:18px}.rosterMeta b+b{font-size:18px}.teamHero .teamBadge.xlarge{width:76px;height:76px;min-width:76px}.teamHero h1{line-height:1.14}.playerResultRow{min-height:84px}}
@media(max-width:430px){.sideBrand img{display:none}.homeHero h1{font-size:34px}.searchControls{grid-template-columns:1fr}.resultMeta{gap:5px}.jerseyPlate{min-width:30px;height:29px;font-size:17px}.historyBottom{align-items:flex-start;flex-direction:column}.historyBottom>div{width:100%}.historyBottom a{flex:1;text-align:center}.matchRow{grid-template-columns:78px 24px minmax(0,1fr) 38px 12px;padding:8px 9px}.matchDate{font-size:12px}.setCount{font-size:16px}.matchStats{grid-template-columns:1fr 1fr}.siteFooter nav{font-size:10px}}


/* v8 refinements */
.homeHero h1 { font-size: clamp(44px, 6.1vw, 72px); line-height: .98; }
.playerTopNav { display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:12px; }
.playerTopNav .backLink { margin:0; }
.playerTopNav .favoriteButton { margin:0 0 0 auto; width:auto; min-height:42px; padding:8px 12px; border-radius:0; display:flex; align-items:center; gap:9px; }
.playerTopNav .favoriteButton strong { font-size:14px; }
.playerTopNav .favoriteButton b { font-size:12px; }
.bioGrid { display:grid; grid-template-columns:1fr 1fr; gap:1px; margin-top:12px; border:1px solid var(--line); border-radius:0; overflow:hidden; background:var(--line); }
.bioGrid > div { min-width:0; background:rgba(255,255,255,.95); padding:13px 14px; display:grid; gap:2px; }
.bioGrid span { color:var(--muted); font-size:12px; font-weight:800; }
.bioGrid strong { font-size:16px; line-height:1.35; overflow-wrap:anywhere; }
.seasonQuickLine { display:flex; align-items:center; flex-wrap:wrap; gap:9px 20px; padding:11px 14px; border-radius:0; background:#fff; margin:12px 0; }
.seasonQuickLine strong { font-size:17px; color:var(--ink); }
.seasonQuickLine.detail { margin-top:0; }
.currentStatsGrid.compact,.dataStatGrid.compact { grid-template-columns:repeat(2,minmax(0,1fr)); }
.currentStatsGrid.compact > div,.dataStatGrid.compact > div { min-height:106px; }
.historyDetailButton { flex:none; padding:8px 11px; border-radius:0; background:var(--purple-soft); color:var(--purple-deep); font-size:13px; font-weight:900; }
.seasonMatchSection { margin-top:18px; }
.matchRow.v8 { grid-template-columns:34px minmax(0,1fr) auto auto; gap:11px; align-items:center; min-height:82px; }
.resultSquare { width:28px; height:28px; border-radius:0; display:inline-block; flex:none; box-sizing:border-box; }
.resultSquare.win { border:3px solid #6086c9; background:#fff; box-shadow:inset 0 0 0 4px #ecf3ff; }
.resultSquare.loss { border:3px solid #848a94; background:#848a94; box-shadow:inset 0 0 0 4px #848a94; }
.resultSquare.draw { border:3px solid #b8bdc6; background:linear-gradient(135deg,#fff 50%,#b8bdc6 50%); }
.matchCore { display:grid; min-width:0; }
.matchCore .matchDate { font-size:12px; color:var(--muted); }
.matchCore strong { font-size:16px; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.stageLabel { display:inline-flex; width:max-content; padding:2px 7px; margin:2px 0; border-radius:0; background:#edf1f8; color:#4b628a; font-size:10px; font-style:normal; font-weight:900; }
.stageLabel.large { margin:6px 0 0; font-size:11px; }
.matchDataButton { padding:8px 10px; border-radius:0; background:var(--purple-soft); color:var(--purple-deep); font-size:12px; font-weight:900; white-space:nowrap; }
.matchHero .resultSquare { width:32px; height:32px; }
.rosterRow .rosterMeta b,.rosterRow .rosterMeta span { font-size:15px !important; font-weight:900; }
.teamBadge.xlarge { aspect-ratio:1/1; width:92px !important; height:92px !important; min-width:92px; min-height:92px; }

@media (max-width: 920px) {
  .homeHero h1 { font-size:45px; }
  .playerTopNav .favoriteButton strong { font-size:13px; }
  .bioGrid strong { font-size:15px; }
  .seasonQuickLine strong { font-size:16px; }
  .matchRow.v8 { grid-template-columns:30px minmax(0,1fr) auto; }
  .matchRow.v8 .setCount { grid-column:3; grid-row:1; align-self:start; }
  .matchRow.v8 .matchDataButton { grid-column:2/4; justify-self:stretch; text-align:center; margin-top:2px; }
  .currentStatsGrid.compact,.dataStatGrid.compact { grid-template-columns:1fr 1fr; }
}
@media (max-width: 430px) {
  .homeHero h1 { font-size:42px; }
  .bioGrid { grid-template-columns:1fr 1fr; }
  .bioGrid > div { padding:12px 11px; }
  .bioGrid span { font-size:11px; }
  .bioGrid strong { font-size:14px; }
  .currentStatsGrid.compact > div,.dataStatGrid.compact > div { min-height:96px; }
}


/* v9 — compact home actions, Thai availability note, clearer match results */
.thaiBodyNote{
  margin:9px 0 0;
  font-size:15px;
  line-height:1.35;
  font-weight:900;
  color:#5b6577;
}
.heroActions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  margin-top:20px;
  max-width:540px;
}
.homeActionButton{
  min-height:58px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px 16px;
  border-radius:0;
  border:1px solid var(--line);
  font-size:18px;
  line-height:1.2;
  font-weight:900;
  text-align:center;
}
.homeActionButton.find{
  color:#4269ab;
  background:linear-gradient(135deg,#eaf2ff,#f5f9ff);
  border-color:#d3dff5;
}
.homeActionButton.favorites{
  color:#9a456c;
  background:linear-gradient(135deg,#ffeaf3,#fff5f8);
  border-color:#efd6e2;
}
.matchRow.v9{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:8px 12px;
  align-items:center;
  min-height:86px;
  padding:11px 14px;
}
.matchRow.v9 .matchCore{
  grid-column:1;
  grid-row:1 / span 2;
}
.matchResultScore{
  display:inline-flex;
  align-items:center;
  justify-content:flex-end;
  min-width:74px;
  white-space:nowrap;
  font-size:20px;
  line-height:1;
  font-weight:950;
  letter-spacing:.01em;
  color:#535962;
}
.matchResultScore.win{color:#4e658c}
.matchResultScore.loss{color:#484c54}
.matchResultScore.draw{color:#797f8a}
.matchDataButton{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:35px;
  padding:7px 11px;
  font-size:13px;
  border-radius:0;
}
.matchResultScore.large{
  margin-left:auto;
  min-width:auto;
  font-size:27px;
}
.matchVs{gap:12px}

@media(max-width:920px){
  .homeActionButton{min-height:56px;font-size:17px;padding:11px 10px}
  .thaiBodyNote{font-size:14px}
  .matchRow.v9{grid-template-columns:minmax(0,1fr) auto;padding:11px 12px}
  .matchResultScore{font-size:19px}
  .matchDataButton{font-size:13px;min-height:38px}
}
@media(max-width:430px){
  .heroActions{gap:8px}
  .homeActionButton{font-size:16px;min-height:54px}
}


/* v10 speed hotfix: instant route-transition feedback */
.routeLoading{padding:22px 0 40px}
.routeLoadingBar{height:4px;border-radius:0;background:linear-gradient(90deg,#638ed8,#ef77ae);animation:jvdbLoad 1s ease-in-out infinite alternate}
.routeLoadingCard{margin-top:20px;padding:22px;border:1px solid #e7ecf4;border-radius:0;background:#fff;display:grid;gap:14px}
.routeLoadingCard span{display:block;height:22px;border-radius:0;background:#eef2f8}
.routeLoadingCard span:nth-child(2){width:78%}
.routeLoadingCard span:nth-child(3){width:56%}
@keyframes jvdbLoad{from{opacity:.45;transform:scaleX(.45);transform-origin:left}to{opacity:1;transform:scaleX(1);transform-origin:left}}
@media (prefers-reduced-motion:reduce){.routeLoadingBar{animation:none}}


/* =========================================================
   v11 visual repair
   Keeps v10 caching/performance changes, fixes requested UI.
   ========================================================= */

/* TOP: no warped controls */
.homeHero{
  overflow:hidden;
}
.homeHero h1{
  max-width:none;
}
.heroLang{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  width:100%;
  max-width:520px;
  flex-wrap:nowrap !important;
}
.heroLang a{
  min-width:0;
  min-height:48px;
  padding:8px 8px !important;
  display:flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  text-align:center;
}
.thaiBodyNote{
  display:block !important;
  margin:9px 0 0 !important;
  font-size:15px !important;
  line-height:1.3;
  font-weight:900;
  color:#5b6577;
}
.heroActions{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:10px !important;
  width:100%;
  max-width:520px;
  margin-top:20px !important;
}
.heroActions>a{
  min-width:0 !important;
  width:100%;
}
.homeActionButton{
  min-height:56px !important;
  border-radius:0;
  padding:10px 12px !important;
  font-size:17px !important;
  line-height:1.2;
  box-shadow:none !important;
}

/* TEAM DETAIL: team badge is a small identifier, not a huge logo */
.teamHero{
  gap:14px !important;
  padding:18px !important;
}
.teamHero .teamBadge.xlarge{
  width:58px !important;
  height:58px !important;
  min-width:58px !important;
  min-height:58px !important;
  aspect-ratio:1/1 !important;
  border-radius:0;
  font-size:20px !important;
}
.teamHero h1{
  font-size:30px !important;
  line-height:1.12 !important;
}
.rosterRow{
  grid-template-columns:54px minmax(0,1fr) auto 14px !important;
  gap:10px !important;
}
.rosterMeta{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:8px !important;
  white-space:nowrap !important;
}
.rosterMeta b{
  font-size:18px !important;
  line-height:1 !important;
  font-weight:900 !important;
}
.rosterMeta b+b{
  font-size:18px !important;
  color:var(--muted) !important;
}
.jerseyBadge{
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  aspect-ratio:1/1 !important;
  border-radius:0;
}

/* PLAYER PROFILE: date + age must never split */
.birthDateOneLine{
  white-space:nowrap !important;
  font-size:15px !important;
}

/* MATCHES: exactly one visual row per match */
.matchList{
  overflow:hidden;
  border:1px solid var(--line);
  border-radius:0;
  background:#fff;
}
.matchRow.compactOneLine{
  display:grid !important;
  grid-template-columns:86px minmax(0,1fr) auto auto auto !important;
  align-items:center !important;
  gap:7px !important;
  min-height:58px !important;
  padding:8px 11px !important;
  border-bottom:1px solid #e7eaef;
}
.matchRow.compactOneLine:last-child{
  border-bottom:0;
}
.matchRow.compactOneLine .matchDate{
  font-size:12px !important;
  color:var(--muted);
  white-space:nowrap;
  font-weight:800;
}
.matchOpponent{
  min-width:0;
  font-size:16px !important;
  line-height:1.1;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.matchRow.compactOneLine .stageLabel{
  margin:0 !important;
  padding:3px 6px !important;
  font-size:11px !important;
  white-space:nowrap;
}
.matchRow.compactOneLine .matchResultScore{
  min-width:auto !important;
  justify-content:flex-end;
  font-size:18px !important;
  white-space:nowrap;
  font-weight:950;
}
.matchDetailLink{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:34px;
  padding:5px 8px;
  border-radius:0;
  background:var(--purpleSoft);
  color:var(--purple);
  font-size:12px;
  line-height:1;
  font-weight:900;
  white-space:nowrap;
}
.stageLabel.large{
  font-size:12px !important;
  padding:3px 8px !important;
}

/* Footer disclaimer/contact links should stay quiet */
.siteFooter nav{
  font-size:10px !important;
  font-weight:700 !important;
  color:#878c94 !important;
}

@media (max-width:920px){
  .homeHero{
    padding:24px 18px !important;
  }
  .homeHero h1{
    font-size:42px !important;
    line-height:.99 !important;
  }
  .heroLang{
    max-width:none;
    gap:6px;
  }
  .heroLang a{
    min-height:46px;
    padding:7px 5px !important;
    font-size:14px !important;
  }
  .thaiBodyNote{
    font-size:14px !important;
  }
  .heroActions{
    max-width:none;
    gap:8px !important;
  }
  .homeActionButton{
    min-height:54px !important;
    font-size:16px !important;
    padding:9px 8px !important;
  }

  .teamHero{
    padding:16px !important;
    gap:12px !important;
  }
  .teamHero .teamBadge.xlarge{
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    min-height:54px !important;
    border-radius:0;
    font-size:18px !important;
  }
  .teamHero h1{
    font-size:27px !important;
  }
  .rosterRow{
    grid-template-columns:50px minmax(0,1fr) auto 12px !important;
    min-height:72px !important;
    gap:8px !important;
  }
  .jerseyBadge{
    width:45px !important;
    height:45px !important;
    min-width:45px !important;
  }
  .rosterMeta{
    gap:6px !important;
  }
  .rosterMeta b,
  .rosterMeta b+b{
    font-size:17px !important;
  }

  .matchRow.compactOneLine{
    grid-template-columns:78px minmax(0,1fr) auto auto auto !important;
    gap:5px !important;
    min-height:55px !important;
    padding:7px 9px !important;
  }
  .matchRow.compactOneLine .matchDate{
    font-size:11px !important;
  }
  .matchOpponent{
    font-size:15px !important;
  }
  .matchRow.compactOneLine .matchResultScore{
    font-size:17px !important;
  }
  .matchDetailLink{
    min-height:32px;
    padding:4px 7px;
    font-size:11px;
  }
}

@media (max-width:430px){
  .homeHero h1{
    font-size:39px !important;
  }
  .heroLang a{
    font-size:13px !important;
    padding:6px 3px !important;
  }
  .homeActionButton{
    font-size:15px !important;
  }

  .teamHero h1{
    font-size:25px !important;
  }
  .rosterMeta b,
  .rosterMeta b+b{
    font-size:16px !important;
  }

  .matchRow.compactOneLine{
    grid-template-columns:68px minmax(0,1fr) auto auto auto !important;
    gap:4px !important;
    padding:7px 7px !important;
  }
  .matchRow.compactOneLine .matchDate{
    font-size:10px !important;
  }
  .matchOpponent{
    font-size:14px !important;
  }
  .matchRow.compactOneLine .stageLabel{
    padding:2px 5px !important;
    font-size:10px !important;
  }
  .matchRow.compactOneLine .matchResultScore{
    font-size:16px !important;
  }
  .matchDetailLink{
    font-size:10px;
    padding:4px 5px;
  }
}


/* =========================================================
   v13 — compact data layout + denser match history
   ========================================================= */

/* Attack rate should NOT become a full-width card on season detail or career. */
@media (max-width:920px){
  .careerGrid,
  .dataStatGrid{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
  .careerGrid>div:first-child,
  .dataStatGrid>div:first-child{
    grid-column:auto !important;
  }
}

/* Keep all four primary data blocks equal in the same 2-column rhythm. */
.currentStatsGrid.compact,
.dataStatGrid.compact,
.careerGrid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.currentStatsGrid.compact>div,
.dataStatGrid.compact>div,
.careerGrid>div{
  grid-column:auto !important;
  min-width:0;
}

/* Season history: first line = season/category/team.
   second line = matches/sets, then Details immediately to the right. */
.historyBottom{
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:10px !important;
  margin-top:7px;
}
.historyBottom>span{
  white-space:nowrap;
  font-size:15px;
}
.historyBottom a,
.historyDetailButton{
  flex:none !important;
  width:auto !important;
  text-align:center !important;
  margin-left:0 !important;
  padding:6px 10px !important;
  font-size:13px !important;
}

/* Match list: keep one match per row, but use the available width for bigger text. */
.matchRow.compactOneLine{
  grid-template-columns:88px minmax(0,1fr) auto auto auto !important;
  min-height:62px !important;
  gap:7px !important;
  padding:9px 10px !important;
}
.matchRow.compactOneLine .matchDate{
  font-size:13px !important;
  letter-spacing:-.01em;
}
.matchOpponent{
  font-size:17px !important;
  font-weight:900 !important;
  letter-spacing:-.015em;
}
.matchRow.compactOneLine .stageLabel{
  font-size:11px !important;
}
.matchRow.compactOneLine .matchResultScore{
  font-size:19px !important;
}
.matchDetailLink{
  min-height:36px !important;
  padding:6px 9px !important;
  font-size:12px !important;
}

/* A little less dead space around season data while preserving the current v11 tone. */
.seasonDataPage,
.careerSection{
  padding:16px !important;
}

@media (max-width:430px){
  .historyBottom{
    gap:8px !important;
  }
  .historyBottom>span{
    font-size:14px;
  }

  .matchRow.compactOneLine{
    grid-template-columns:72px minmax(0,1fr) auto auto auto !important;
    min-height:60px !important;
    gap:5px !important;
    padding:8px 7px !important;
  }
  .matchRow.compactOneLine .matchDate{
    font-size:11px !important;
  }
  .matchOpponent{
    font-size:16px !important;
  }
  .matchRow.compactOneLine .matchResultScore{
    font-size:18px !important;
  }
  .matchDetailLink{
    min-height:34px !important;
    padding:5px 6px !important;
    font-size:11px !important;
  }
}

/* v14 privacy page — keeps the existing text-page visual language */
.privacyPage section{margin-top:1.5rem}
.privacyPage section h2{font-size:1rem;margin:0 0 .45rem}
.privacyPage>small{display:block;margin:.15rem 0 1rem;color:#6c727d}
.siteFooter nav{flex-wrap:wrap}


/* =========================================================
   v17 — TOP text, current-player search, aligned match rows
   ========================================================= */
.homeNotice{
  width:100%;
  max-width:620px;
  margin:18px 0 0;
  display:block;
  padding:14px 16px;
  border:1px solid #e0e6ef;
  border-radius:0;
  background:#f3f6fa;
}
.homeNotice p{
  margin:0;
  color:#4b5058;
  font-size:19px;
  font-weight:850;
  line-height:1.45;
}
.homeIntro{
  width:100%;
  max-width:620px;
  margin:14px 0 4px;
  padding:0 2px;
}
.homeIntro p{
  margin:4px 0;
  color:#595f6a;
  font-size:19px;
  font-weight:800;
  line-height:1.45;
}
.homeIntro p:first-child{color:#434a55;font-weight:900}

/* Career data keeps the same balanced 2-column rhythm as season data. */
.careerGrid{
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
}
.careerGrid>div:first-child{grid-column:auto !important}

/*
   Fixed columns keep Date / Opponent / Result / Set marks / Details
   vertically aligned from one match to the next.
*/
.matchRow.compactOneLine.withSetStatus{
  grid-template-columns:92px minmax(0,1fr) 60px 78px 70px !important;
  column-gap:8px !important;
  align-items:center;
}
.matchOpponentWrap{
  min-width:0;
  display:flex;
  align-items:center;
  gap:6px;
}
.matchOpponentWrap .matchOpponent{
  min-width:0;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.matchRow.compactOneLine.withSetStatus .matchResultScore{
  width:60px;
  text-align:left;
  white-space:nowrap;
  font-variant-numeric:tabular-nums;
}
.matchRow.compactOneLine.withSetStatus .matchDetailLink{
  width:70px;
  justify-self:start;
  white-space:nowrap;
}

/* Equal-size graphic marks. Empty sets keep the same slot width but show nothing. */
.setAppearance{
  width:78px;
  display:grid;
  grid-template-columns:repeat(5,11px);
  gap:4px;
  align-items:center;
  justify-content:start;
}
.setMark{
  display:block;
  width:11px;
  height:11px;
  box-sizing:border-box;
}
.setMark.filledSquare{background:currentColor}
.setMark.openSquare{border:2px solid currentColor}
.setMark.filledCircle{background:currentColor;border-radius:50%}
.setMark.openCircle{border:2px solid currentColor;border-radius:50%}
.setMark.empty{visibility:hidden}

@media(max-width:700px){
  .homeNotice{padding:13px 14px}
  .homeNotice p,.homeIntro p{font-size:18px}
  .matchRow.compactOneLine.withSetStatus{
    grid-template-columns:70px minmax(0,1fr) 52px 62px 52px !important;
    column-gap:5px !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchResultScore{width:52px}
  .matchRow.compactOneLine.withSetStatus .matchDetailLink{width:52px}
  .setAppearance{width:62px;grid-template-columns:repeat(5,10px);gap:3px}
  .setMark{width:10px;height:10px}
}

@media(max-width:430px){
  .homeNotice p,.homeIntro p{font-size:17px}
  .matchRow.compactOneLine.withSetStatus{
    grid-template-columns:61px minmax(0,1fr) 46px 54px 44px !important;
    column-gap:4px !important;
    padding:8px 6px !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchDate{font-size:10px !important}
  .matchRow.compactOneLine.withSetStatus .matchOpponent{font-size:14px !important}
  .matchRow.compactOneLine.withSetStatus .matchResultScore{width:46px;font-size:15px !important}
  .setAppearance{width:54px;grid-template-columns:repeat(5,9px);gap:2px}
  .setMark{width:9px;height:9px}
  .matchRow.compactOneLine.withSetStatus .matchDetailLink{width:44px;padding:5px 3px !important;font-size:10px !important}
}

/* =========================================================
   v18 — player-detail cleanup + multilingual match opponents
   ========================================================= */

/* Career header stays on one line even for 3-digit matches / sets and 4-digit points. */
.careerSection .sectionHeading{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  align-items:baseline;
  gap:8px;
}
.careerSection .sectionHeading h2{
  white-space:nowrap;
  min-width:0;
}
.careerTotalsLine{
  white-space:nowrap;
  text-align:right;
  color:var(--muted);
  font-size:clamp(11px,1.7vw,14px);
  font-weight:900;
  letter-spacing:-.02em;
  font-variant-numeric:tabular-nums;
}

/* Public player page intentionally does not expose player_aliases. */
.aliasPanel{display:none !important}

/* The match row uses a language-neutral chevron instead of a translated Details label. */
.matchRow.compactOneLine.withSetStatus{
  grid-template-columns:92px minmax(0,1fr) 60px 78px 34px !important;
}
.matchRow.compactOneLine.withSetStatus .matchDetailLink{
  width:34px !important;
  min-width:34px;
  min-height:34px !important;
  padding:0 !important;
  display:grid;
  place-items:center;
  justify-self:end;
  border-radius:0;
  font-size:24px !important;
  line-height:1;
}
.matchRow.compactOneLine.withSetStatus .matchOpponent{
  font-size:18px !important;
}
.matchRow.compactOneLine.withSetStatus .matchResultScore{
  font-size:20px !important;
}

@media(max-width:700px){
  .matchRow.compactOneLine.withSetStatus{
    grid-template-columns:70px minmax(0,1fr) 52px 62px 34px !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchDetailLink{
    width:34px !important;
    min-width:34px;
  }
  .matchRow.compactOneLine.withSetStatus .matchOpponent{
    font-size:17px !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchResultScore{
    font-size:18px !important;
  }
}

@media(max-width:430px){
  .careerSection .sectionHeading{gap:5px}
  .careerSection .sectionHeading h2{font-size:19px}
  .careerTotalsLine{
    font-size:11px;
    letter-spacing:-.045em;
  }
  .matchRow.compactOneLine.withSetStatus{
    grid-template-columns:61px minmax(0,1fr) 46px 54px 30px !important;
    column-gap:4px !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchDate{
    font-size:11px !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchOpponent{
    font-size:16px !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchResultScore{
    width:46px;
    font-size:17px !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchDetailLink{
    width:30px !important;
    min-width:30px;
    min-height:30px !important;
    font-size:22px !important;
  }
}


/* =========================================================
   v19 — larger match history + unmistakable W/L styling
   ========================================================= */
.matchRow.compactOneLine.withSetStatus{
  grid-template-columns:104px minmax(0,1fr) 84px 78px 34px !important;
  column-gap:9px !important;
  padding:13px 12px !important;
}
.matchRow.compactOneLine.withSetStatus .matchDate{
  font-size:17px !important;
  font-weight:900 !important;
  letter-spacing:-.035em;
  font-variant-numeric:tabular-nums;
  color:#484e59;
}
.matchRow.compactOneLine.withSetStatus .matchOpponent{
  font-size:20px !important;
  line-height:1.2;
  font-weight:900 !important;
}
.matchRow.compactOneLine.withSetStatus .matchResultScore{
  width:84px !important;
  min-height:38px;
  padding:3px 7px;
  border-radius:0;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:3px;
  font-size:23px !important;
  line-height:1;
  font-weight:1000 !important;
  letter-spacing:-.045em;
  box-sizing:border-box;
}
.matchRow.compactOneLine.withSetStatus .matchResultScore .resultMark{
  display:inline-block;
  flex:0 0 auto;
  font-size:1.08em;
  line-height:1;
  font-weight:1000;
}
.matchRow.compactOneLine.withSetStatus .matchResultScore .resultNumbers{
  display:inline-block;
  font-size:1em;
  line-height:1;
  font-weight:1000;
  font-variant-numeric:tabular-nums;
}
.matchRow.compactOneLine.withSetStatus .matchResultScore.win{
  color:#3766b8 !important;
  background:#e8f0ff;
  border:1px solid #b3c9ef;
}
.matchRow.compactOneLine.withSetStatus .matchResultScore.loss{
  color:#b22f45 !important;
  background:#fff0f2;
  border:1px solid #efb5bf;
}
.matchRow.compactOneLine.withSetStatus .matchResultScore.draw{
  color:#5d636d !important;
  background:#f0f1f4;
  border:1px solid #d0d4dc;
}

@media(max-width:700px){
  .matchRow.compactOneLine.withSetStatus{
    grid-template-columns:88px minmax(0,1fr) 76px 62px 34px !important;
    column-gap:6px !important;
    padding:12px 8px !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchDate{
    font-size:15px !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchOpponent{
    font-size:19px !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchResultScore{
    width:76px !important;
    min-height:36px;
    padding:3px 6px;
    font-size:21px !important;
  }
}

@media(max-width:430px){
  .matchRow.compactOneLine.withSetStatus{
    grid-template-columns:80px minmax(0,1fr) 70px 54px 30px !important;
    column-gap:4px !important;
    padding:11px 6px !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchDate{
    font-size:14px !important;
    letter-spacing:-.055em;
  }
  .matchRow.compactOneLine.withSetStatus .matchOpponent{
    font-size:18px !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchResultScore{
    width:70px !important;
    min-height:34px;
    padding:2px 5px;
    font-size:20px !important;
    border-radius:0;
  }
}


/* =========================================================
   v22 — match history MUST stay one line
   Long team abbreviations + QF/SF/F remain visible.
   Win = white outlined score box / Loss = no box.
   ========================================================= */
.matchRow.compactOneLine.withSetStatus{
  grid-template-columns:98px minmax(0,1fr) 66px 48px 28px !important;
  column-gap:5px !important;
  align-items:center !important;
  min-height:62px !important;
  padding:10px 9px !important;
}
.matchRow.compactOneLine.withSetStatus .matchDate{
  font-size:16px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.045em !important;
  white-space:nowrap !important;
  color:#3b4049 !important;
}
.matchRow.compactOneLine.withSetStatus .matchOpponentWrap{
  min-width:0 !important;
  display:grid !important;
  grid-template-columns:minmax(0,1fr) auto !important;
  align-items:center !important;
  gap:4px !important;
  overflow:hidden !important;
}
.matchRow.compactOneLine.withSetStatus .matchOpponent{
  min-width:0 !important;
  font-size:18px !important;
  line-height:1.05 !important;
  font-weight:900 !important;
  letter-spacing:-.035em !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.matchRow.compactOneLine.withSetStatus .matchOpponentWrap.opponentMedium .matchOpponent{
  font-size:16px !important;
  letter-spacing:-.055em !important;
}
.matchRow.compactOneLine.withSetStatus .matchOpponentWrap.opponentLong .matchOpponent{
  font-size:14px !important;
  letter-spacing:-.065em !important;
}
.matchRow.compactOneLine.withSetStatus .stageLabel{
  display:inline-flex !important;
  flex:0 0 auto !important;
  margin:0 !important;
  padding:3px 5px !important;
  font-size:11px !important;
  line-height:1 !important;
  border-radius:0;
  white-space:nowrap !important;
}
.matchRow.compactOneLine.withSetStatus .matchResultScore{
  width:66px !important;
  min-width:66px !important;
  min-height:34px !important;
  padding:2px 5px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:2px !important;
  box-sizing:border-box !important;
  border-radius:0;
  font-size:20px !important;
  line-height:1 !important;
  font-weight:1000 !important;
  letter-spacing:-.045em !important;
  color:#383c44 !important;
  background:transparent !important;
  border:1.5px solid transparent !important;
  box-shadow:none !important;
}
.matchRow.compactOneLine.withSetStatus .matchResultScore .resultMark,
.matchRow.compactOneLine.withSetStatus .matchResultScore .resultNumbers{
  font-size:1em !important;
  line-height:1 !important;
  font-weight:1000 !important;
}
.matchRow.compactOneLine.withSetStatus .matchResultScore.win{
  color:#383c44 !important;
  background:#fff !important;
  border-color:#aeb4be !important;
  box-shadow:0 1px 3px rgba(47,53,63,.08) !important;
}
.matchRow.compactOneLine.withSetStatus .matchResultScore.loss,
.matchRow.compactOneLine.withSetStatus .matchResultScore.draw{
  color:#383c44 !important;
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
}
.matchRow.compactOneLine.withSetStatus .setAppearance{
  width:48px !important;
  grid-template-columns:repeat(5,8px) !important;
  gap:2px !important;
}
.matchRow.compactOneLine.withSetStatus .setMark{
  width:8px !important;
  height:8px !important;
}
.matchRow.compactOneLine.withSetStatus .matchDetailLink{
  width:28px !important;
  min-width:28px !important;
  min-height:32px !important;
  padding:0 !important;
  font-size:22px !important;
  border-radius:0;
}

@media(max-width:700px){
  .matchRow.compactOneLine.withSetStatus{
    grid-template-columns:86px minmax(0,1fr) 62px 44px 28px !important;
    column-gap:4px !important;
    padding:10px 7px !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchDate{font-size:15px !important}
  .matchRow.compactOneLine.withSetStatus .matchOpponent{font-size:17px !important}
  .matchRow.compactOneLine.withSetStatus .matchOpponentWrap.opponentMedium .matchOpponent{font-size:15px !important}
  .matchRow.compactOneLine.withSetStatus .matchOpponentWrap.opponentLong .matchOpponent{font-size:13px !important}
  .matchRow.compactOneLine.withSetStatus .matchResultScore{
    width:62px !important;
    min-width:62px !important;
    font-size:19px !important;
  }
  .matchRow.compactOneLine.withSetStatus .setAppearance{
    width:44px !important;
    grid-template-columns:repeat(5,7px) !important;
    gap:2px !important;
  }
  .matchRow.compactOneLine.withSetStatus .setMark{width:7px !important;height:7px !important}
}

@media(max-width:430px){
  .matchRow.compactOneLine.withSetStatus{
    grid-template-columns:78px minmax(0,1fr) 58px 40px 26px !important;
    column-gap:3px !important;
    min-height:60px !important;
    padding:9px 5px !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchDate{
    font-size:14px !important;
    letter-spacing:-.06em !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchOpponent{
    font-size:16px !important;
    letter-spacing:-.045em !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchOpponentWrap.opponentMedium .matchOpponent{
    font-size:14px !important;
    letter-spacing:-.06em !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchOpponentWrap.opponentLong .matchOpponent{
    font-size:12.5px !important;
    letter-spacing:-.07em !important;
  }
  .matchRow.compactOneLine.withSetStatus .stageLabel{
    padding:3px 4px !important;
    font-size:10px !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchResultScore{
    width:58px !important;
    min-width:58px !important;
    min-height:32px !important;
    padding:2px 3px !important;
    font-size:18px !important;
    border-radius:0;
  }
  .matchRow.compactOneLine.withSetStatus .setAppearance{
    width:40px !important;
    grid-template-columns:repeat(5,6px) !important;
    gap:2px !important;
  }
  .matchRow.compactOneLine.withSetStatus .setMark{width:6px !important;height:6px !important}
  .matchRow.compactOneLine.withSetStatus .matchDetailLink{
    width:26px !important;
    min-width:26px !important;
    min-height:30px !important;
    font-size:21px !important;
  }
}


/* =========================================================
   v23 — QF/SF/F fixed independent column
   One-line match history is preserved.
   ========================================================= */
.matchRow.compactOneLine.withSetStatus{
  grid-template-columns:96px minmax(0,1fr) 28px 64px 46px 28px !important;
  column-gap:4px !important;
}
.matchRow.compactOneLine.withSetStatus .matchOpponentWrap{
  min-width:0 !important;
  display:block !important;
  overflow:hidden !important;
}
.matchRow.compactOneLine.withSetStatus .matchOpponent{
  display:block !important;
  min-width:0 !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-overflow:ellipsis !important;
}
.matchRow.compactOneLine.withSetStatus .stageSlot{
  width:28px !important;
  min-width:28px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  overflow:visible !important;
}
.matchRow.compactOneLine.withSetStatus .stageSlot .stageLabel{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:26px !important;
  margin:0 !important;
  padding:3px 4px !important;
  box-sizing:border-box !important;
  font-size:10px !important;
  line-height:1 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  opacity:1 !important;
  visibility:visible !important;
}

@media(max-width:700px){
  .matchRow.compactOneLine.withSetStatus{
    grid-template-columns:84px minmax(0,1fr) 26px 60px 42px 26px !important;
    column-gap:3px !important;
  }
  .matchRow.compactOneLine.withSetStatus .stageSlot{
    width:26px !important;
    min-width:26px !important;
  }
  .matchRow.compactOneLine.withSetStatus .stageSlot .stageLabel{
    min-width:24px !important;
    padding:3px 3px !important;
    font-size:9.5px !important;
  }
}

@media(max-width:430px){
  .matchRow.compactOneLine.withSetStatus{
    grid-template-columns:76px minmax(0,1fr) 24px 56px 38px 24px !important;
    column-gap:3px !important;
    padding-left:5px !important;
    padding-right:5px !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchDate{
    font-size:14px !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchOpponent{
    font-size:15.5px !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchOpponentWrap.opponentMedium .matchOpponent{
    font-size:13.5px !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchOpponentWrap.opponentLong .matchOpponent{
    font-size:12px !important;
  }
  .matchRow.compactOneLine.withSetStatus .stageSlot{
    width:24px !important;
    min-width:24px !important;
  }
  .matchRow.compactOneLine.withSetStatus .stageSlot .stageLabel{
    min-width:23px !important;
    padding:3px 2px !important;
    font-size:9px !important;
    border-radius:0;
  }
  .matchRow.compactOneLine.withSetStatus .matchResultScore{
    width:56px !important;
    min-width:56px !important;
    font-size:18px !important;
  }
  .matchRow.compactOneLine.withSetStatus .setAppearance{
    width:38px !important;
    grid-template-columns:repeat(5,6px) !important;
    gap:1.5px !important;
  }
  .matchRow.compactOneLine.withSetStatus .matchDetailLink{
    width:24px !important;
    min-width:24px !important;
  }
}


/* =========================================================
   v25 — larger QF / SF / F labels, still one-line
   ========================================================= */
.matchRow.compactOneLine.withSetStatus{
  grid-template-columns:94px minmax(0,1fr) 34px 64px 46px 28px !important;
}
.matchRow.compactOneLine.withSetStatus .stageSlot{
  width:34px !important;
  min-width:34px !important;
}
.matchRow.compactOneLine.withSetStatus .stageSlot .stageLabel{
  min-width:32px !important;
  padding:4px 5px !important;
  font-size:12px !important;
  line-height:1 !important;
  font-weight:900 !important;
  letter-spacing:-.02em !important;
  border-radius:0;
}

@media(max-width:700px){
  .matchRow.compactOneLine.withSetStatus{
    grid-template-columns:82px minmax(0,1fr) 32px 60px 42px 26px !important;
  }
  .matchRow.compactOneLine.withSetStatus .stageSlot{
    width:32px !important;
    min-width:32px !important;
  }
  .matchRow.compactOneLine.withSetStatus .stageSlot .stageLabel{
    min-width:30px !important;
    padding:4px 4px !important;
    font-size:11.5px !important;
    font-weight:900 !important;
  }
}

@media(max-width:430px){
  .matchRow.compactOneLine.withSetStatus{
    grid-template-columns:74px minmax(0,1fr) 30px 56px 38px 24px !important;
    column-gap:3px !important;
  }
  .matchRow.compactOneLine.withSetStatus .stageSlot{
    width:30px !important;
    min-width:30px !important;
  }
  .matchRow.compactOneLine.withSetStatus .stageSlot .stageLabel{
    min-width:28px !important;
    padding:4px 3px !important;
    font-size:11px !important;
    font-weight:900 !important;
    border-radius:0;
  }
}

/* =========================================================
   v26 — clearer set-result marks
   Open/filled set squares stay distinct at phone size.
   ========================================================= */
.matchRow.compactOneLine.withSetStatus .setMark.openSquare,
.matchRow.compactOneLine.withSetStatus .setMark.openCircle{
  border-width:2px !important;
}
@media(max-width:700px){
  .matchRow.compactOneLine.withSetStatus .setAppearance{
    width:44px !important;
    grid-template-columns:repeat(5,8px) !important;
    gap:1px !important;
  }
  .matchRow.compactOneLine.withSetStatus .setMark{
    width:8px !important;
    height:8px !important;
  }
}
@media(max-width:430px){
  .matchRow.compactOneLine.withSetStatus .setAppearance{
    width:38px !important;
    grid-template-columns:repeat(5,7px) !important;
    gap:.5px !important;
  }
  .matchRow.compactOneLine.withSetStatus .setMark{
    width:7px !important;
    height:7px !important;
  }
}

/* =========================================================
   v27 — player-list sort-aware right column
   Height/Age are intentionally large for quick reading.
   ========================================================= */
.resultMetric{
  min-width:78px;
  display:flex;
  align-items:baseline;
  justify-content:flex-end;
  gap:3px;
  white-space:nowrap;
  color:var(--purple);
  font-variant-numeric:tabular-nums;
}
.resultMetric strong{
  font-size:29px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.04em;
}
.resultMetric small{
  font-size:14px;
  line-height:1;
  font-weight:900;
  color:#6c727d;
}
@media(max-width:920px){
  .resultMetric strong{font-size:28px}
}
@media(max-width:430px){
  .playerResultRow{grid-template-columns:48px minmax(0,1fr) 72px 12px}
  .resultMetric{min-width:72px}
  .resultMetric strong{font-size:27px}
  .resultMetric small{font-size:13px}
}

/* =========================================================
   v28 — match hub / grouped playoff history / match pages
   ========================================================= */

/* One line remains mandatory. Removing the per-row QF/SF/F slot gives the
   appearance marks room to breathe. Open squares intentionally stay thin. */
.matchRow.compactOneLine.withSetStatus.v28Grouped{
  grid-template-columns:94px minmax(0,1fr) 66px 72px 28px !important;
  column-gap:7px !important;
  min-height:58px !important;
  padding:9px 10px !important;
}
.matchRow.compactOneLine.withSetStatus.v28Grouped .setAppearance{
  width:72px !important;
  grid-template-columns:repeat(5,12px) !important;
  gap:3px !important;
}
.matchRow.compactOneLine.withSetStatus.v28Grouped .setMark{
  width:12px !important;
  height:12px !important;
}
.matchRow.compactOneLine.withSetStatus.v28Grouped .setMark.openSquare,
.matchRow.compactOneLine.withSetStatus.v28Grouped .setMark.openCircle{
  border-width:1px !important;
}
.stageGroupedMatches{display:grid;gap:15px}
.matchStageGroup{min-width:0}
.matchStageHeading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:0 4px 7px}
.matchStageHeading h3{margin:0;font-size:19px;line-height:1.2;color:#404958;letter-spacing:.01em}
.matchStageHeading span{display:grid;place-items:center;min-width:27px;height:27px;padding:0 7px;border-radius:0;background:#edf0f5;color:#6b727d;font-size:12px;font-weight:900}

/* Player > individual match data */
.individualMatchHero,.publicMatchHero{padding:20px;border:1px solid var(--line);border-radius:0;background:#fff;box-shadow:var(--shadow)}
.matchTitleLine{display:flex;align-items:center;justify-content:space-between;gap:12px}
.matchTitleLine h1,.publicMatchHero>h1{margin:0;font-size:29px;line-height:1.1}
.matchPageLink{display:inline-flex;align-items:center;gap:9px;min-height:42px;padding:8px 12px;border-radius:0;background:var(--purpleSoft);color:var(--purple);font-size:14px;font-weight:900;white-space:nowrap}
.matchPageLink span{font-size:22px;line-height:1}
.matchDateStage{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-top:9px;color:var(--muted);font-weight:900}
.matchDateStage strong{color:#474f5d;font-size:17px}
.matchScoreboard{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:12px;margin-top:12px}
.matchScoreboard>strong{font-size:22px;line-height:1.2;overflow-wrap:anywhere}
.matchScoreboard>strong:last-child{text-align:right}
.bigMatchScore{display:flex;align-items:center;gap:6px;font-size:31px;line-height:1;font-weight:950;font-variant-numeric:tabular-nums;white-space:nowrap}
.bigMatchScore i{font-style:normal;font-weight:800;color:#787e87}
.winningSetBox{display:inline-grid;place-items:center;min-width:34px;height:34px;padding:0 5px;border:2px solid #656a72;border-radius:0;background:#fff;color:#2e3137;line-height:1}
.setScoreLine{margin:10px 0 0;text-align:center;color:#565b64;font-size:17px;font-weight:900;font-variant-numeric:tabular-nums}
.individualAppearance{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:14px;padding-top:12px;border-top:1px solid #e5e8ee}
.individualAppearance>strong{font-size:21px}
.setAppearance.largeMarks{width:auto !important;display:flex !important;gap:5px !important;grid-template-columns:none !important}
.setAppearance.largeMarks .setMark{width:14px !important;height:14px !important}
.setAppearance.largeMarks .setMark.openSquare,.setAppearance.largeMarks .setMark.openCircle{border-width:1px !important}
.setAppearance .dnpBadge{grid-column:1/-1;justify-self:center;align-self:center;font-size:10px;font-weight:700;letter-spacing:.02em;color:#52678b;white-space:nowrap}
.setAppearance.largeMarks .dnpBadge{font-size:13px}
.matchIdText{display:block;margin-top:8px;color:#90969f;font-size:11px;font-weight:800}

/* Public match detail: RDB-like match hub. */
.publicMatchHero{margin-bottom:14px}
.matchScoreboard.public{margin-top:15px}
.matchMetaLine{display:flex;flex-wrap:wrap;gap:7px 18px;margin-top:12px;padding-top:10px;border-top:1px solid #e5e8ee;color:#5d6169;font-size:14px}
.matchMetaLine b{color:#3e434b}
.futureStatsSlot{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:13px;padding:11px 13px;border-radius:0;background:#f4f5f8;color:#787e87}
.futureStatsSlot span{font-weight:900}.futureStatsSlot small{font-size:11px;font-weight:900}
.matchRosterBlock{margin-top:14px;border:1px solid var(--line);border-radius:0;background:#fff;overflow:hidden}
.matchRosterHeading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:14px 15px;background:#f7f8fb;border-bottom:1px solid var(--line)}
.matchRosterHeading h2{margin:0;font-size:22px;line-height:1.25}
.matchRosterHeading span{font-size:13px;color:var(--muted);font-weight:900}
.matchRosterList{display:grid}
.matchRosterRow{display:grid;grid-template-columns:50px minmax(0,1fr) 92px 28px;align-items:center;gap:8px;min-height:58px;padding:7px 12px;border-bottom:1px solid #eaedf1}
.matchRosterRow:last-child{border-bottom:0}
.matchRosterNo{font-size:15px;color:#6d727b;font-weight:900;text-align:center}
.matchRosterRow>strong{font-size:18px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.matchRosterMarks{width:92px !important;grid-template-columns:repeat(5,14px) !important;gap:4px !important;justify-content:end}
.matchRosterMarks .setMark{width:14px !important;height:14px !important}
.matchRosterMarks .setMark.openSquare,.matchRosterMarks .setMark.openCircle{border-width:1px !important}
.rowChevron{display:grid;place-items:center;font-size:24px;color:#92979f;line-height:1}
.emptyRoster,.emptyMatches{margin:0;padding:19px;color:var(--muted);text-align:center;font-weight:800}

/* Team page: season accordions instead of a huge permanent list. */
.teamMatchesSection{margin-top:15px;padding:18px;border:1px solid var(--line);border-radius:0;background:#fff}
.teamSeasonAccordion{display:grid;gap:9px}
.teamSeasonMatches{border:1px solid #e6e9ef;border-radius:0;background:#fff;overflow:hidden}
.teamSeasonMatches>summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:56px;padding:10px 14px;background:#f7f8fb}
.teamSeasonMatches>summary::-webkit-details-marker{display:none}
.teamSeasonMatches>summary strong{font-size:20px}.teamSeasonMatches>summary span{font-size:13px;color:var(--purple);font-weight:900}
.teamSeasonMatchBody{display:grid;gap:13px;padding:13px}
.matchStageGroup.teamCompact .matchStageHeading h3{font-size:17px}

/* Global match list + search */
.matchSearchPanel,.matchCalendarSection,.allMatchesSection{margin-top:15px;padding:18px;border:1px solid var(--line);border-radius:0;background:#fff}
.matchSearchForm{display:grid;grid-template-columns:1.3fr 1fr 1.2fr 1fr 1fr auto;gap:8px}
.matchSearchForm input,.matchSearchForm select{min-width:0;width:100%;min-height:45px;border:1px solid #dee2e8;border-radius:0;background:#fff;padding:0 10px;font-size:14px}
.matchSearchForm button{min-height:45px;border:0;border-radius:0;background:var(--purple);color:#fff;padding:0 17px;font-weight:900;cursor:pointer}
.globalMatchList{border:1px solid var(--line);border-radius:0;background:#fff;overflow:hidden}
.globalMatchRow{display:grid;grid-template-columns:92px minmax(0,1fr) auto 28px;align-items:center;gap:8px;min-height:61px;padding:8px 11px;border-bottom:1px solid #eaedf1}
.globalMatchRow:last-child{border-bottom:0}
.globalMatchDate{font-size:13px;color:var(--muted);font-weight:800;white-space:nowrap}
.globalMatchTeams{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:8px;min-width:0}
.globalMatchTeams>strong{font-size:16px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.globalMatchTeams>strong:last-child{text-align:right}
.globalMatchScore{display:flex;align-items:center;gap:3px;font-size:18px;font-weight:950;white-space:nowrap}
.globalMatchScore i{font-style:normal;color:#81868f}.globalMatchScore .winningSetBox{min-width:27px;height:27px;border-width:1.5px;border-radius:0}
.globalMatchRow>em{font-size:10px;font-style:normal;font-weight:900;color:#525f76;background:#f8edf4;padding:4px 7px;border-radius:0;white-space:nowrap}
.matchPagination{display:grid;grid-template-columns:50px 1fr 50px;align-items:center;margin-top:12px;text-align:center}
.matchPagination a{display:grid;place-items:center;min-height:42px;border-radius:0;background:var(--purpleSoft);color:var(--purple);font-size:25px;font-weight:900}.matchPagination strong{font-size:14px;color:var(--muted)}

/* Calendar */
.matchCalendar{border:1px solid #e6e9ef;border-radius:0;padding:12px;background:#fff}
.calendarHead{display:grid;grid-template-columns:40px 1fr 40px;align-items:center;gap:5px;margin-bottom:7px;text-align:center}
.calendarHead a{display:grid;place-items:center;min-height:38px;border-radius:0;background:#f2f4f8;color:var(--purple);font-size:22px;font-weight:900}
.calendarHead strong{font-size:18px}
.calendarGrid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:3px}
.calendarWeek{margin-bottom:3px;color:#80858e;text-align:center;font-size:11px;font-weight:900}
.calendarDay,.calendarBlank{position:relative;display:grid;place-items:center;min-height:46px;border-radius:0;font-size:14px}
.calendarDay b{font-weight:800}.calendarDay.hasMatch{background:#ebf0fa;color:#426196;font-weight:900}
.calendarDay.hasMatch:after{content:"";position:absolute;bottom:5px;width:6px;height:6px;border-radius:0;background:var(--purple)}
.calendarDay i{position:absolute;right:4px;top:2px;font-size:8px;font-style:normal;font-weight:900;color:#7d889a}
.matchCalendar.compact .calendarDay,.matchCalendar.compact .calendarBlank{min-height:40px}
.homeMatchesSection .globalMatchRow{grid-template-columns:86px minmax(0,1fr) auto 26px}

@media(max-width:920px){
  .mobileBottomNav a{min-width:0 !important;flex:1}
  .matchSearchForm{grid-template-columns:1fr 1fr}
  .matchSearchForm button{grid-column:span 2}
  .matchRow.compactOneLine.withSetStatus.v28Grouped{grid-template-columns:84px minmax(0,1fr) 60px 68px 26px !important;column-gap:5px !important}
  .matchRow.compactOneLine.withSetStatus.v28Grouped .setAppearance{width:68px !important;grid-template-columns:repeat(5,11px) !important;gap:3px !important}
  .matchRow.compactOneLine.withSetStatus.v28Grouped .setMark{width:11px !important;height:11px !important}
  .globalMatchRow{grid-template-columns:82px minmax(0,1fr) auto 25px}
  .globalMatchRow>em{display:none}
}

@media(max-width:560px){
  .matchRow.compactOneLine.withSetStatus.v28Grouped{grid-template-columns:72px minmax(0,1fr) 55px 59px 23px !important;column-gap:3px !important;padding:8px 5px !important;min-height:56px !important}
  .matchRow.compactOneLine.withSetStatus.v28Grouped .matchDate{font-size:12.5px !important;letter-spacing:-.04em !important}
  .matchRow.compactOneLine.withSetStatus.v28Grouped .matchOpponent{font-size:15px !important}
  .matchRow.compactOneLine.withSetStatus.v28Grouped .matchOpponentWrap.opponentMedium .matchOpponent{font-size:13.5px !important}
  .matchRow.compactOneLine.withSetStatus.v28Grouped .matchOpponentWrap.opponentLong .matchOpponent{font-size:12px !important}
  .matchRow.compactOneLine.withSetStatus.v28Grouped .matchResultScore{width:55px !important;min-width:55px !important;font-size:17px !important}
  .matchRow.compactOneLine.withSetStatus.v28Grouped .setAppearance{width:59px !important;grid-template-columns:repeat(5,10px) !important;gap:2px !important}
  .matchRow.compactOneLine.withSetStatus.v28Grouped .setMark{width:10px !important;height:10px !important}
  .matchRow.compactOneLine.withSetStatus.v28Grouped .matchDetailLink{width:23px !important;min-width:23px !important;font-size:20px !important}
  .matchStageHeading h3{font-size:18px}
  .individualMatchHero,.publicMatchHero{padding:16px 13px}
  .matchTitleLine h1,.publicMatchHero>h1{font-size:25px}
  .matchPageLink{font-size:13px;padding:7px 9px}
  .matchDateStage{font-size:14px}.matchDateStage strong{font-size:15px}
  .matchScoreboard{gap:7px}.matchScoreboard>strong{font-size:17px}.bigMatchScore{font-size:26px;gap:4px}.winningSetBox{min-width:31px;height:31px}
  .setScoreLine{font-size:15px;letter-spacing:-.03em;white-space:nowrap}
  .individualAppearance>strong{font-size:19px}
  .matchRosterHeading h2{font-size:19px}
  .matchRosterRow{grid-template-columns:42px minmax(0,1fr) 78px 22px;gap:5px;padding:7px 7px;min-height:56px}
  .matchRosterNo{font-size:13px}.matchRosterRow>strong{font-size:16px}
  .matchRosterMarks{width:78px !important;grid-template-columns:repeat(5,12px) !important;gap:3px !important}.matchRosterMarks .setMark{width:12px !important;height:12px !important}
  .matchSearchPanel,.matchCalendarSection,.allMatchesSection{padding:14px 10px}
  .matchSearchForm{grid-template-columns:1fr}.matchSearchForm button{grid-column:auto}
  .globalMatchRow{grid-template-columns:71px minmax(0,1fr) 22px;gap:5px;padding:8px 6px;min-height:58px}
  .globalMatchDate{font-size:11.5px;letter-spacing:-.03em}.globalMatchTeams{gap:4px}.globalMatchTeams>strong{font-size:13.5px}.globalMatchScore{font-size:16px}.globalMatchScore .winningSetBox{min-width:24px;height:24px;padding:0 3px}
  .globalMatchRow>em{display:none}.globalMatchRow>.rowChevron{grid-column:3}
  .calendarDay,.calendarBlank{min-height:42px}.matchCalendar{padding:9px 6px}
  .teamMatchesSection{padding:14px 10px}.teamSeasonMatchBody{padding:10px 6px}
}

/* =========================================================
   v29 — match navigation / Match Data / Match Stats polish
   ========================================================= */

/* TOP: three compact gateways; keep PICK UP PLAYERS close to first view */
.heroActions.v29{
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  max-width:620px;
  gap:8px !important;
}
.heroActions.v29 .homeActionButton{
  min-height:52px !important;
  padding:9px 7px !important;
  font-size:15px !important;
}
.homeActionButton.matches{
  color:#5078bd;
  background:linear-gradient(135deg,#edf4ff,#fff7fb);
  border-color:#d3dff5;
}

/* Player season page */
.seasonPlayerHeading h1{font-size:42px;line-height:1.08}
.seasonMatchSection>.sectionHeading h2{font-size:27px}
.matchStageGroup.playoffGroup>.matchStageHeading{
  justify-content:flex-start;
  width:max-content;
  min-width:170px;
  padding:8px 14px;
  margin:0 0 8px;
  border-radius:0;
  background:linear-gradient(110deg,#547dc5,#688dce);
}
.matchStageGroup.playoffGroup>.matchStageHeading h3{color:#fff;font-size:19px}
.matchStageGroup:not(.playoffGroup)>.matchStageHeading{padding-left:4px}
.matchRow.compactOneLine.withSetStatus.v28Grouped .matchDate{
  font-size:14px !important;
  letter-spacing:0 !important;
  font-weight:900 !important;
}
.matchRow.compactOneLine.withSetStatus.v28Grouped .matchDetailLink,
.teamSimpleMatchRow .matchDetailLink{
  width:38px !important;
  min-width:38px !important;
  min-height:42px !important;
  font-size:28px !important;
  border-radius:0;
  background:#e6efff !important;
  color:#5078bd !important;
}
.strongChevron{font-weight:950 !important}

/* Team page: seasons stay closed until the user opens 試合一覧 ＞ */
.teamSeasonMatches>summary span{font-size:15px;color:var(--purple);font-weight:950}
.teamSimpleMatchList{overflow:hidden;border-radius:0}
.teamSimpleMatchRow{
  display:grid;
  grid-template-columns:76px minmax(0,1fr) auto 40px;
  align-items:center;
  gap:7px;
  min-height:60px;
  padding:8px 10px;
  border-bottom:1px solid #e7eaef;
  background:#fff;
}
.teamSimpleMatchRow:last-child{border-bottom:0}
.teamSimpleMatchRow .matchDate{font-size:14px;font-weight:900;color:var(--muted);white-space:nowrap}
.teamSimpleMatchRow>strong{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* Shared Match Data header — identical core geometry on personal/public/stats pages */
.matchTitleLine{align-items:center}
.matchTitleLine h1{min-width:0}
.playerTitleLink{display:inline-flex;align-items:center;gap:8px;color:var(--ink)}
.playerTitleLink span{color:var(--purple);font-size:.72em}
.matchPageLink{
  min-height:46px;
  padding:10px 15px;
  border-radius:0;
  background:#e3edff;
  color:#4e74b7;
  font-size:15px;
  font-weight:950;
  display:inline-flex;
  align-items:center;
  gap:8px;
  white-space:nowrap;
}
.matchDateStage.prominent{margin-top:16px;gap:12px}
.matchDateStage.prominent span,.matchDateStage.prominent strong{font-size:19px !important;font-weight:950 !important}
.matchScoreboard.compactNames{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:10px}
.matchTeamLink,.matchTeamText{
  min-width:0;
  font-size:22px;
  line-height:1.15;
  font-weight:950;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.matchTeamLink{color:var(--ink);text-decoration:underline;text-decoration-color:#ccd9ef;text-underline-offset:4px}
.matchTeamLink.right,.matchTeamText.right{text-align:right}
.setScoreLine.prominent{font-size:20px !important;letter-spacing:0 !important;line-height:1.35}
.matchMetaLine{margin-top:13px;display:flex;gap:10px 20px;flex-wrap:wrap;font-size:14px;color:#61666f}
.matchMetaLine b{color:#41464e}

/* Match roster = same language as team player lists: colored jersey tile + full-row tap */
.matchRosterHeading{justify-content:flex-start}
.matchRosterHeading h2{font-size:22px}
.matchRosterNo.jerseyBadge.compact{
  width:40px !important;
  height:40px !important;
  min-width:40px !important;
  border-radius:0;
  font-size:16px !important;
  display:grid;
  place-items:center;
  border:1px solid;
}
.matchRosterRow{grid-template-columns:46px minmax(0,1fr) 100px 40px;min-height:62px;padding:8px 10px}
.matchRosterRow>strong{font-size:18px}
.matchRosterRow>.rowChevron{
  width:38px;height:42px;border-radius:0;background:#e6efff;color:#5078bd;font-size:28px;
}

/* Match Stats */
.teamStatsPanel{margin-top:14px;border:1px solid var(--line);border-radius:0;background:#fff;overflow:hidden}
.teamStatsHead{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:8px;padding:15px;background:#f7f8fb;border-bottom:1px solid var(--line)}
.teamStatsHead>strong{font-size:18px;line-height:1.2}.teamStatsHead>strong:last-child{text-align:right}
.teamStatsHead>span{font-size:11px;font-weight:950;color:#6c81a4;letter-spacing:.08em}
.teamStatsRows{display:grid}
.teamStatsRow{display:grid;grid-template-columns:1fr minmax(150px,1.3fr) 1fr;align-items:center;gap:9px;min-height:78px;padding:12px 16px;border-bottom:1px solid #eaedf1}
.teamStatsRow:last-child{border-bottom:0}
.teamStatsRow>strong{font-size:27px;text-align:center}
.teamStatsRow>span{text-align:center;font-size:14px;font-weight:900;color:#676d77}

/* Search and every compact match list use YY-MM-DD with a larger date. */
.globalMatchDate{font-size:15px !important;letter-spacing:0 !important;font-weight:900 !important}
.globalMatchRow{grid-template-columns:76px minmax(0,1fr) auto 40px}
.globalMatchRow>.rowChevron{width:38px;height:42px;border-radius:0;background:#e6efff;color:#5078bd;font-size:28px}
.matchSearchForm{grid-template-columns:1.2fr 1fr 1fr 1.2fr 1fr auto}
.matchesHeading h1{margin-top:0}

@media(max-width:920px){
  .heroActions.v29{grid-template-columns:repeat(3,minmax(0,1fr)) !important}
  .matchScoreboard.compactNames{gap:7px}
  .matchTeamLink,.matchTeamText{font-size:18px}
  .matchDateStage.prominent span,.matchDateStage.prominent strong{font-size:18px !important}
  .setScoreLine.prominent{font-size:18px !important}
  .matchSearchForm{grid-template-columns:1fr 1fr}
  .matchSearchForm button{grid-column:span 2}
}
@media(max-width:430px){
  .heroActions.v29{gap:6px !important}
  .heroActions.v29 .homeActionButton{font-size:13px !important;padding:8px 4px !important;min-height:49px !important}
  .seasonPlayerHeading h1{font-size:36px}
  .matchStageGroup.playoffGroup>.matchStageHeading{min-width:155px;padding:7px 12px}
  .matchStageGroup.playoffGroup>.matchStageHeading h3{font-size:18px}
  .matchRow.compactOneLine.withSetStatus.v28Grouped .matchDate{font-size:13.5px !important}
  .teamSimpleMatchRow{grid-template-columns:70px minmax(0,1fr) auto 38px;padding:8px 7px;gap:5px}
  .teamSimpleMatchRow .matchDate{font-size:13.5px}
  .teamSimpleMatchRow>strong{font-size:15px}
  .matchTitleLine h1,.publicMatchHero>h1{font-size:27px !important}
  .matchPageLink{min-height:44px;padding:9px 12px;font-size:14px}
  .matchDateStage.prominent span,.matchDateStage.prominent strong{font-size:17px !important}
  .matchTeamLink,.matchTeamText{font-size:16.5px;letter-spacing:-.02em}
  .bigMatchScore{font-size:28px !important}
  .setScoreLine.prominent{font-size:17px !important}
  .matchRosterRow{grid-template-columns:44px minmax(0,1fr) 82px 38px;gap:5px;padding:7px 6px}
  .matchRosterRow>strong{font-size:16px}
  .matchRosterMarks{width:82px !important;grid-template-columns:repeat(5,13px) !important;gap:3px !important}
  .matchRosterMarks .setMark{width:13px !important;height:13px !important}
  .teamStatsHead>strong{font-size:15px}.teamStatsRow{grid-template-columns:1fr minmax(124px,1.25fr) 1fr;padding:10px 8px;gap:5px}.teamStatsRow>strong{font-size:23px}.teamStatsRow>span{font-size:12px}
  .globalMatchRow{grid-template-columns:68px minmax(0,1fr) 38px;gap:5px;padding:8px 6px}
  .globalMatchDate{font-size:13.5px !important}
  .globalMatchTeams>strong{font-size:13.5px}
  .globalMatchRow>.rowChevron{grid-column:3;width:36px;height:40px}
  .matchSearchForm{grid-template-columns:1fr}.matchSearchForm button{grid-column:auto}
}

/* =========================================================
   v30 — stronger TOP / unified match navigation / readability
   ========================================================= */

/* TOP hero: one strong first screen, with PICK UP PLAYERS peeking below. */
.homeHeroV30{
  min-height:min(690px,calc(100vh - 120px));
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:72px 60px 64px;
  overflow:hidden;
  background:#fff;
}
.heroTitleV30 h1{margin:0;max-width:none;font-size:clamp(62px,7.4vw,100px);line-height:.89;letter-spacing:-.062em;color:#2b3342;font-weight:950}
.heroTitleV30 h1 span{display:block;white-space:nowrap}
.heroTitleV30 h1 span:last-child{color:#496ead;margin-top:10px}
.heroDatabaseMeta{margin:34px 0 0;font-size:21px;font-weight:900;color:#565b63;letter-spacing:.01em}
.heroDatabaseMeta b{font-size:1.2em;color:#4c72b5;font-variant-numeric:tabular-nums}
.heroTaglineV30{margin:32px 0 0;font-size:27px;line-height:1.25;font-weight:950;color:#353c48}
.heroActions.v30{display:grid !important;grid-template-columns:repeat(3,minmax(0,1fr)) !important;max-width:650px;gap:9px !important;margin-top:29px !important}
.heroActions.v30 .homeActionButton{display:grid !important;place-items:center !important;text-align:center !important;min-height:54px !important;padding:10px 8px !important;font-size:16px !important}
.thaiAvailabilityV30{margin:18px 0 0;font-size:14px;font-weight:850;color:#676d77}
.thaiAvailabilityV30 b{display:inline-grid;place-items:center;min-width:30px;height:24px;margin-right:6px;border-radius:0;background:#e9f0fb;color:#466baa;font-size:12px}
.pickupPlayersSection{scroll-margin-top:84px}

/* Player search / profile navigation */
.playerTeamLink,.seasonTeamLink{display:inline-flex;align-items:center;max-width:100%;margin-top:10px;margin-left:-8px;padding:5px 8px;border-radius:0;color:#4c5565;font-size:18px;font-weight:900;line-height:1.25;text-decoration:none}
.playerTeamLink:active,.seasonTeamLink:active{background:#eaf0fb;color:#476aa7}
.seasonPlayerHeading h1{font-size:clamp(32px,5vw,48px) !important;line-height:1.05 !important;letter-spacing:-.035em}
.seasonPlayerHeading p{margin:5px 0 0}
.seasonDataTitle{margin-bottom:12px}
.seasonDataTitle h2{margin:0;font-size:27px;line-height:1.1;color:#404958;letter-spacing:-.02em}
.favoritesHelp{margin:0 0 14px;padding:13px 15px;border:1px solid #dee4ef;border-radius:0;background:#f7f9fd;color:#585f6a;font-size:15px;font-weight:850;line-height:1.6}

/* Stage headers: championship is strong, Regular Season is intentionally lighter. */
.matchStageGroup.regularGroup>.matchStageHeading{justify-content:flex-start;width:max-content;min-width:190px;padding:8px 14px;margin:0 0 8px;border-radius:0;background:#e8eef8}
.matchStageGroup.regularGroup>.matchStageHeading h3{margin:0;color:#4f6282;font-size:19px;font-weight:950}

/* All one-line player match lists: larger opponent, smaller chevron, more useful width. */
.matchRow.compactOneLine.withSetStatus.v28Grouped{grid-template-columns:78px minmax(0,1fr) 64px 72px 18px !important;column-gap:6px !important;padding:9px 8px !important}
.matchRow.compactOneLine.withSetStatus.v28Grouped .matchDate{font-size:14.5px !important}
.matchRow.compactOneLine.withSetStatus.v28Grouped .matchOpponent{font-size:19px !important;line-height:1.12;font-weight:950}
.matchRow.compactOneLine.withSetStatus.v28Grouped .matchOpponentWrap.opponentMedium .matchOpponent{font-size:17px !important}
.matchRow.compactOneLine.withSetStatus.v28Grouped .matchOpponentWrap.opponentLong .matchOpponent{font-size:15px !important}
.matchRow.compactOneLine.withSetStatus.v28Grouped .matchDetailLink,.matchListChevron{width:18px !important;min-width:18px !important;height:auto !important;min-height:0 !important;padding:0 !important;border-radius:0;background:transparent !important;color:#a1a5ad !important;font-size:24px !important;line-height:1 !important;display:grid !important;place-items:center !important}

/* Team page match rows: team information only, one row, direct to Match Data. */
.teamSimpleMatchRow{grid-template-columns:72px minmax(0,1fr) auto 18px;gap:6px;padding:8px 8px}
.teamSimpleMatchRow .matchDate{font-size:14.5px}
.teamSimpleMatchRow .teamMatchOpponent{font-size:19px;line-height:1.12;font-weight:950;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.teamSimpleMatchRow .teamMatchOpponent.medium{font-size:17px}
.teamSimpleMatchRow .teamMatchOpponent.long{font-size:15px}

/* Shared block on personal Match Data, Match Data and Match Stats. */
.matchInfoTopLine{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:15px}
.matchInfoTopLine .matchDateStage.prominent{margin:0;min-width:0;flex-wrap:nowrap}
.matchInfoTopLine .matchDateStage.prominent span,.matchInfoTopLine .matchDateStage.prominent strong{font-size:20px !important;white-space:nowrap}
.matchPageLink{flex:none;min-height:42px;padding:8px 12px;border-radius:0;background:#e7eefb;color:#4e74b7;font-size:14px;font-weight:950}
.matchPageLink span{font-size:19px}
.matchScoreboard.compactNames{gap:8px;margin-top:13px}
.matchTeamLink,.matchTeamText{font-size:24px;line-height:1.08;font-weight:950;text-decoration:none !important;overflow:visible;text-overflow:clip}
.matchTeamLink{display:block;max-width:100%;padding:8px 10px;border-radius:0;background:rgba(87,124,189,.055);color:var(--text)}
.matchTeamLink.left,.matchTeamText.left{text-align:right;justify-self:end}
.matchTeamLink.right,.matchTeamText.right{text-align:left;justify-self:start}
.matchTeamLink:active{background:#e1ebfb;color:#42639d}
.matchTeamLink.teamNameMedium,.matchTeamText.teamNameMedium{font-size:21px}
.matchTeamLink.teamNameLong,.matchTeamText.teamNameLong{font-size:18px}
.setScoreLine.prominent{font-size:21px !important}
.individualAppearance.v30{justify-content:flex-start;gap:18px}
.individualAppearance.v30>strong{font-size:17px;color:#575d68;white-space:nowrap}
.individualAppearance.v30 .largeMarks{gap:6px !important}
.individualAppearance.v30 .largeMarks .setMark{width:15px !important;height:15px !important}
.playerTitleLink{text-decoration:none;color:var(--text);padding:3px 7px 3px 0;border-radius:0}
.playerTitleLink:active{background:#ebf0fa}

/* Match Data roster: jersey tile stays, player name becomes the main visual. */
.matchRosterRow{grid-template-columns:46px minmax(0,1fr) 100px 18px;gap:8px;min-height:64px;padding:8px 11px}
.matchRosterRow>strong{font-size:21px;line-height:1.15;font-weight:950}
.matchRosterRow>.rowChevron{width:18px !important;height:auto !important;background:transparent !important;color:#a1a5ad !important;font-size:24px !important;border-radius:0}

/* Global match search / TOP recent rows. No phantom right column on regular-season rows. */
.globalMatchRow{grid-template-columns:76px minmax(0,1fr) 18px !important;gap:6px !important;padding:8px 8px !important}
.globalMatchRow.hasStage{grid-template-columns:76px minmax(0,1fr) auto 18px !important}
.homeMatchesSection .globalMatchRow{grid-template-columns:76px minmax(0,1fr) 18px !important}
.homeMatchesSection .globalMatchRow.hasStage{grid-template-columns:76px minmax(0,1fr) auto 18px !important}
.globalMatchTeams{gap:6px}
.globalMatchTeams>strong:first-child{text-align:right}
.globalMatchTeams>strong:last-child{text-align:left}
.globalMatchTeams>strong{font-size:18px;font-weight:950}
.globalMatchTeams>strong.teamNameMedium{font-size:16px}
.globalMatchTeams>strong.teamNameLong{font-size:14px}
.globalMatchScore{font-size:19px}
.globalMatchRow>.rowChevron{width:18px !important;height:auto !important;background:transparent !important;color:#a1a5ad !important;font-size:24px !important;border-radius:0;grid-column:auto !important}
.globalMatchRow>em{font-size:10px;padding:3px 6px}

/* Unified mobile navigation icon shape. */
.mobileBottomNav a span{width:22px;height:22px;border-radius:0;display:block;background:#e9edf5;color:transparent;font-size:0 !important}
.mobileBottomNav a.active span{background:#577cbb}
.sideNavItem>span{width:17px;height:17px;border-radius:0;display:block;background:#e9edf5;color:transparent;font-size:0 !important;flex:none}
.sideNavItem.active>span{background:#577cbb}

@media(max-width:920px){
  .homeHeroV30{min-height:calc(100svh - 225px);padding:44px 22px 38px;justify-content:center}
  .heroTitleV30 h1{font-size:clamp(36px,10.5vw,56px)}
  .heroDatabaseMeta{margin-top:28px;font-size:17px}
  .heroTaglineV30{margin-top:27px;font-size:23px}
  .heroActions.v30{grid-template-columns:repeat(3,minmax(0,1fr)) !important;margin-top:24px !important;gap:6px !important}
  .heroActions.v30 .homeActionButton{min-height:50px !important;font-size:14px !important;padding:8px 4px !important}
  .thaiAvailabilityV30{margin-top:15px;font-size:13px}
  .seasonPlayerHeading h1{font-size:31px !important}
  .playerTeamLink,.seasonTeamLink{font-size:16px}
  .seasonDataTitle h2{font-size:24px}
  .matchStageGroup.regularGroup>.matchStageHeading{min-width:170px;padding:7px 12px}
  .matchStageGroup.regularGroup>.matchStageHeading h3{font-size:18px}
  .matchRow.compactOneLine.withSetStatus.v28Grouped{grid-template-columns:70px minmax(0,1fr) 57px 62px 18px !important;column-gap:4px !important;padding:8px 6px !important}
  .matchRow.compactOneLine.withSetStatus.v28Grouped .matchDate{font-size:13.5px !important}
  .matchRow.compactOneLine.withSetStatus.v28Grouped .matchOpponent{font-size:17px !important}
  .matchRow.compactOneLine.withSetStatus.v28Grouped .matchOpponentWrap.opponentMedium .matchOpponent{font-size:15.5px !important}
  .matchRow.compactOneLine.withSetStatus.v28Grouped .matchOpponentWrap.opponentLong .matchOpponent{font-size:13.5px !important}
  .matchRow.compactOneLine.withSetStatus.v28Grouped .setAppearance{width:62px !important;grid-template-columns:repeat(5,10px) !important;gap:2px !important}
  .matchRow.compactOneLine.withSetStatus.v28Grouped .setMark{width:10px !important;height:10px !important}
  .teamSimpleMatchRow{grid-template-columns:68px minmax(0,1fr) auto 18px;padding:8px 6px;gap:5px}
  .teamSimpleMatchRow .matchDate{font-size:13.5px}.teamSimpleMatchRow .teamMatchOpponent{font-size:17px}.teamSimpleMatchRow .teamMatchOpponent.medium{font-size:15.5px}.teamSimpleMatchRow .teamMatchOpponent.long{font-size:13.5px}
  .matchInfoTopLine{gap:8px;margin-top:13px}
  .matchInfoTopLine .matchDateStage.prominent span,.matchInfoTopLine .matchDateStage.prominent strong{font-size:17.5px !important}
  .matchPageLink{font-size:13px;padding:7px 9px;min-height:39px}
  .matchTeamLink,.matchTeamText{font-size:20px}.matchTeamLink.teamNameMedium,.matchTeamText.teamNameMedium{font-size:18px}.matchTeamLink.teamNameLong,.matchTeamText.teamNameLong{font-size:15.5px}
  .matchTeamLink{padding:7px 6px}
  .setScoreLine.prominent{font-size:18px !important}
  .matchRosterRow{grid-template-columns:44px minmax(0,1fr) 82px 18px;gap:5px;padding:7px 7px}
  .matchRosterRow>strong{font-size:18.5px}
  .globalMatchRow,.homeMatchesSection .globalMatchRow{grid-template-columns:68px minmax(0,1fr) 18px !important}
  .globalMatchRow.hasStage,.homeMatchesSection .globalMatchRow.hasStage{grid-template-columns:68px minmax(0,1fr) 18px !important}
  .globalMatchRow.hasStage>em{display:none}
  .globalMatchDate{font-size:13.5px !important}.globalMatchTeams>strong{font-size:15px}.globalMatchTeams>strong.teamNameMedium{font-size:13.5px}.globalMatchTeams>strong.teamNameLong{font-size:12px}.globalMatchScore{font-size:17px}
}

@media(max-width:430px){
  .homeHeroV30{min-height:calc(100svh - 225px);padding:38px 15px 32px}
  .heroTitleV30 h1{font-size:10.5vw;letter-spacing:-.057em}
  .heroDatabaseMeta{font-size:15px;line-height:1.55;margin-top:25px}.heroDatabaseMeta b{font-size:1.15em}
  .heroTaglineV30{font-size:21px;margin-top:24px}
  .heroActions.v30 .homeActionButton{font-size:12.5px !important;min-height:48px !important}
  .seasonPlayerHeading h1{font-size:29px !important}
  .matchRow.compactOneLine.withSetStatus.v28Grouped{grid-template-columns:66px minmax(0,1fr) 54px 58px 17px !important;column-gap:3px !important;padding:8px 5px !important}
  .matchRow.compactOneLine.withSetStatus.v28Grouped .matchDate{font-size:13px !important}
  .matchRow.compactOneLine.withSetStatus.v28Grouped .matchOpponent{font-size:16.5px !important}.matchRow.compactOneLine.withSetStatus.v28Grouped .matchOpponentWrap.opponentMedium .matchOpponent{font-size:14.5px !important}.matchRow.compactOneLine.withSetStatus.v28Grouped .matchOpponentWrap.opponentLong .matchOpponent{font-size:12.5px !important}
  .matchRow.compactOneLine.withSetStatus.v28Grouped .matchResultScore{width:54px !important;min-width:54px !important;font-size:16.5px !important}
  .matchRow.compactOneLine.withSetStatus.v28Grouped .setAppearance{width:58px !important;grid-template-columns:repeat(5,10px) !important;gap:2px !important}
  .matchInfoTopLine .matchDateStage.prominent span,.matchInfoTopLine .matchDateStage.prominent strong{font-size:16px !important}
  .matchPageLink{font-size:12px;padding:6px 8px;min-height:36px}
  .matchScoreboard.compactNames{gap:4px}.matchTeamLink,.matchTeamText{font-size:18px}.matchTeamLink.teamNameMedium,.matchTeamText.teamNameMedium{font-size:16.5px}.matchTeamLink.teamNameLong,.matchTeamText.teamNameLong{font-size:14px}.bigMatchScore{font-size:27px !important}
  .setScoreLine.prominent{font-size:17px !important}
  .individualAppearance.v30{gap:13px}.individualAppearance.v30>strong{font-size:16px}
  .matchRosterRow>strong{font-size:18px}
  .globalMatchRow,.homeMatchesSection .globalMatchRow{grid-template-columns:64px minmax(0,1fr) 17px !important;padding:8px 5px !important;gap:4px !important}
  .globalMatchRow.hasStage,.homeMatchesSection .globalMatchRow.hasStage{grid-template-columns:64px minmax(0,1fr) 17px !important}
  .globalMatchDate{font-size:13px !important}.globalMatchTeams{gap:3px}.globalMatchTeams>strong{font-size:14px}.globalMatchTeams>strong.teamNameMedium{font-size:12.5px}.globalMatchTeams>strong.teamNameLong{font-size:11px}.globalMatchScore{font-size:16px}
}

/* =========================================================
   v31 — tighter hero / perfectly shared match header / Excel stat notation
   ========================================================= */

/* TOP: impact comes from type, not empty space. */
.homeHeroV30{
  min-height:0 !important;
  justify-content:flex-start !important;
  padding:50px 52px 38px !important;
}
.heroTitleV30 h1{
  font-size:clamp(64px,7.2vw,96px) !important;
  line-height:.86 !important;
  letter-spacing:-.058em !important;
  font-weight:950 !important;
}
.heroTitleV30 h1 span{display:block;white-space:nowrap}
.heroTitleV30 h1 span:first-child{color:#2b3342;text-transform:uppercase}
.heroTitleV30 h1 span:nth-child(2),
.heroTitleV30 h1 span:nth-child(3){color:#496ead;margin-top:13px}
.heroDatabaseMeta{
  display:grid;
  gap:2px;
  margin:27px 0 0 !important;
  font-size:22px !important;
  line-height:1.35 !important;
  font-weight:950 !important;
}
.heroDatabaseMeta>span{display:block}
.heroDatabaseMeta>span:last-child{font-size:1.08em}
.heroDatabaseMeta b{font-size:1.13em !important}
.heroTaglineV30{margin:24px 0 0 !important;font-size:28px !important}
.heroTaglineV30 em{font-style:normal;color:var(--purple);font-weight:950}
.heroActions.v30{margin-top:22px !important;gap:10px !important;max-width:680px}
.heroActions.v30 .homeActionButton{
  min-height:56px !important;
  border:2px solid #ccd9ef !important;
  border-radius:0;
  box-shadow:0 5px 15px rgba(62,83,118,.08) !important;
  font-size:16px !important;
  font-weight:950 !important;
  text-align:center !important;
  place-items:center !important;
}
.heroActions.v30 .homeActionButton.find{background:#eff5ff !important;color:#44649b !important}
.heroActions.v30 .homeActionButton.matches{background:#fff1f7 !important;color:#8a4669 !important;border-color:#ecd4df !important}
.heroActions.v30 .homeActionButton.favorites{background:#fff !important;color:#4d5b72 !important}
.thaiAvailabilityV30{display:flex;align-items:center;gap:7px;margin:14px 0 0 !important;font-size:15px !important;color:#5c626b}
.thaiAvailabilityV30 span{font-size:20px;line-height:1}
.thaiAvailabilityV30 b{display:inline !important;min-width:0 !important;height:auto !important;margin:0 !important;padding:0 !important;background:transparent !important;color:#5c626b !important;font-size:15px !important}
.pickupPlayersSection{margin-top:12px !important}

/* Personal match / Match Data / Match Stats: only the title changes during navigation. */
.individualMatchHero .matchTitleLine,
.publicMatchHero .matchTitleLine{min-height:39px;display:flex;align-items:center}
.individualMatchHero .matchTitleLine h1,
.publicMatchHero .matchTitleLine h1{
  margin:0 !important;
  font-size:32px !important;
  line-height:1.08 !important;
  font-weight:950 !important;
  letter-spacing:-.025em !important;
}
.playerTitleLink{font:inherit !important;line-height:inherit !important;min-height:39px;align-items:center}
.playerTitleLink span{font-size:.68em;line-height:1}

/* Team links stay easy to tap, but no visible mat/underline. */
.matchTeamLink{
  min-height:50px;
  display:flex !important;
  align-items:center;
  padding:8px 6px !important;
  background:transparent !important;
  border-radius:0;
  text-decoration:none !important;
  font-size:26px;
}
.matchTeamLink:active{background:transparent !important;color:#496ead !important}
.matchTeamLink.teamNameMedium,.matchTeamText.teamNameMedium{font-size:22px}
.matchTeamLink.teamNameLong,.matchTeamText.teamNameLong{font-size:18px}

/* Roster: keep the colored jersey tile, give the player name more presence. */
.matchRosterRow>strong{font-size:22px !important;line-height:1.12 !important}

/* Match Stats follows the Excel display precision. */
.teamStatsRow>strong{font-variant-numeric:tabular-nums}
.teamStatLabel{display:grid;place-items:center;line-height:1.22 !important}
.teamStatLabel>span{display:block}
.teamStatLabel>small{display:block;margin-top:3px;font-size:12px;color:#777d87;font-weight:900}
.betterStatBox{
  justify-self:center;
  min-width:72px;
  padding:3px 8px;
  border:2px solid #464a52;
  border-radius:0;
  line-height:1.15;
}

@media(max-width:920px){
  .homeHeroV30{padding:28px 20px 22px !important}
  .heroTitleV30 h1{font-size:clamp(50px,12.2vw,72px) !important;line-height:.87 !important}
  .heroTitleV30 h1 span:nth-child(2),.heroTitleV30 h1 span:nth-child(3){margin-top:9px}
  .heroDatabaseMeta{margin-top:21px !important;font-size:19px !important}
  .heroTaglineV30{margin-top:18px !important;font-size:24px !important}
  .heroActions.v30{margin-top:18px !important;gap:7px !important}
  .heroActions.v30 .homeActionButton{min-height:50px !important;font-size:14px !important;padding:7px 5px !important}
  .thaiAvailabilityV30{margin-top:11px !important;font-size:14px !important}
  .thaiAvailabilityV30 b{font-size:14px !important}.thaiAvailabilityV30 span{font-size:18px}
  .pickupPlayersSection{margin-top:10px !important}
  .individualMatchHero .matchTitleLine,.publicMatchHero .matchTitleLine{min-height:34px}
  .individualMatchHero .matchTitleLine h1,.publicMatchHero .matchTitleLine h1{font-size:28px !important;line-height:1.08 !important}
  .playerTitleLink{min-height:34px}
  .matchTeamLink{min-height:46px;font-size:21px;padding:7px 3px !important}
  .matchTeamLink.teamNameMedium,.matchTeamText.teamNameMedium{font-size:18.5px}
  .matchTeamLink.teamNameLong,.matchTeamText.teamNameLong{font-size:16px}
  .matchRosterRow>strong{font-size:20px !important}
  .betterStatBox{min-width:62px;padding:3px 6px}
}

@media(max-width:430px){
  .homeHeroV30{padding:22px 13px 18px !important}
  .heroTitleV30 h1{font-size:13.2vw !important;line-height:.88 !important;letter-spacing:-.05em !important}
  .heroTitleV30 h1 span:nth-child(2),.heroTitleV30 h1 span:nth-child(3){margin-top:7px}
  .heroDatabaseMeta{margin-top:18px !important;font-size:17px !important;gap:1px}
  .heroDatabaseMeta>span:last-child{font-size:1.1em}
  .heroTaglineV30{margin-top:16px !important;font-size:21px !important}
  .heroActions.v30{margin-top:15px !important;gap:5px !important}
  .heroActions.v30 .homeActionButton{min-height:47px !important;font-size:12.5px !important;border-radius:0;border-width:1.5px !important;padding:5px 3px !important}
  .thaiAvailabilityV30{margin-top:9px !important;font-size:13px !important}.thaiAvailabilityV30 b{font-size:13px !important}.thaiAvailabilityV30 span{font-size:17px}
  .pickupPlayersSection{margin-top:8px !important;padding-top:14px !important}
  .individualMatchHero .matchTitleLine,.publicMatchHero .matchTitleLine{min-height:32px}
  .individualMatchHero .matchTitleLine h1,.publicMatchHero .matchTitleLine h1{font-size:27px !important}
  .playerTitleLink{min-height:32px}
  .matchTeamLink{font-size:19.5px;min-height:44px;padding:6px 2px !important}
  .matchTeamLink.teamNameMedium,.matchTeamText.teamNameMedium{font-size:17px}
  .matchTeamLink.teamNameLong,.matchTeamText.teamNameLong{font-size:14.5px}
  .matchRosterRow>strong{font-size:19.5px !important}
  .teamStatsRow>strong{font-size:22px !important}
  .teamStatLabel>small{font-size:11px}
  .betterStatBox{min-width:58px;padding:3px 5px;border-width:2px}
}


/* =========================================================
   v32 — compact Match Stats / one-line profile team / unified chevrons
   ========================================================= */

/* TOP: exact requested color balance. */
.heroTitleV30 h1 span:first-child{color:var(--purple) !important}
.heroTitleV30 h1 span:nth-child(2){color:#2b3342 !important}
.heroTitleV30 h1 span:nth-child(3){color:#496ead !important}

/* Player profile card stays visually unchanged; only stop browser CJK line-breaking. */
.playerTeamLink{
  white-space:nowrap !important;
  max-width:none !important;
  width:max-content;
}
.playerTeamLink.veryLong{
  font-size:15px !important;
  letter-spacing:-.025em;
}

/* Match Stats: no duplicate header row; use the recovered height for the values. */
.teamStatsPanel.compactStatsPanel{padding-top:0 !important}
.teamStatsPanel.compactStatsPanel .teamStatsRows{border-top:0 !important}
.teamStatsPanel.compactStatsPanel .teamStatsRow:first-child{border-top:0 !important}

/* Site-wide drill-down cue: identical to the plain chevron in Player Search. */
.matchListChevron,
.matchDetailLink.matchListChevron,
.globalMatchRow>.rowChevron,
.matchRosterRow>.rowChevron{
  width:14px !important;
  min-width:14px !important;
  height:auto !important;
  min-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0;
  background:transparent !important;
  box-shadow:none !important;
  color:#a1a5ad !important;
  font-size:25px !important;
  line-height:1 !important;
  display:grid !important;
  place-items:center !important;
}

/* Give the recovered chevron width back to match content. */
.matchRow.compactOneLine.withSetStatus.v28Grouped{
  grid-template-columns:78px minmax(0,1fr) 64px 72px 14px !important;
}
.teamSimpleMatchRow{grid-template-columns:72px minmax(0,1fr) auto 14px !important}
.globalMatchRow,.homeMatchesSection .globalMatchRow{grid-template-columns:76px minmax(0,1fr) 14px !important}
.globalMatchRow.hasStage,.homeMatchesSection .globalMatchRow.hasStage{grid-template-columns:76px minmax(0,1fr) auto 14px !important}
.matchRosterRow{grid-template-columns:46px minmax(0,1fr) 100px 14px !important}

@media(max-width:920px){
  .playerTeamLink.veryLong{font-size:14.5px !important}
}
@media(max-width:430px){
  .playerTeamLink.veryLong{font-size:14px !important;letter-spacing:-.035em}
  .matchRow.compactOneLine.withSetStatus.v28Grouped{grid-template-columns:66px minmax(0,1fr) 54px 58px 14px !important}
  .teamSimpleMatchRow{grid-template-columns:70px minmax(0,1fr) auto 14px !important}
  .globalMatchRow,.homeMatchesSection .globalMatchRow{grid-template-columns:64px minmax(0,1fr) 14px !important}
  .globalMatchRow.hasStage,.homeMatchesSection .globalMatchRow.hasStage{grid-template-columns:64px minmax(0,1fr) auto 14px !important}
  .matchRosterRow{grid-template-columns:44px minmax(0,1fr) 82px 14px !important}
}


/* =========================================================
   v33 — shared player identity / foreign English subtitle / exact hero colors
   ========================================================= */
/* TOP exact color request: JAPAN purple, Volleyball + Data Bank black. */
.heroTitleV30 h1 span:first-child{color:var(--purple) !important}
.heroTitleV30 h1 span:nth-child(2),
.heroTitleV30 h1 span:nth-child(3){color:#2b3342 !important}

/* Use the same profile identity card on season-data pages. */
.seasonProfileHero{margin-bottom:14px}

/* Keep the completed player-card design; only prohibit accidental final-character wrapping. */
.playerTeamLink{
  white-space:nowrap !important;
  overflow-wrap:normal !important;
  word-break:keep-all !important;
  max-width:none !important;
  width:auto !important;
}
/* Only genuinely exceptional names receive the already-existing minimal fallback. */
.playerTeamLink.veryLong{white-space:nowrap !important}

/* =========================================================
   v34 — Match navigation + Thai hero shortcut
   ========================================================= */
/* TOP: Thai-language notice is a clear, tappable shortcut to TH. */
.thaiAvailabilityV30{
  width:max-content;
  text-decoration:none;
  cursor:pointer;
  font-size:17px !important;
  font-weight:900;
  color:#5c626b !important;
}
.thaiAvailabilityV30 b{
  font-size:17px !important;
  font-weight:900 !important;
}
.thaiAvailabilityV30 span:first-child{font-size:21px !important}
.thaiAvailabilityChevron{
  font-size:22px !important;
  line-height:1 !important;
  color:var(--purple) !important;
  margin-left:1px;
}

/* Match Data / Match Stats use compact in-match navigation labels. */
.matchPageLink{
  min-height:40px !important;
  padding:7px 11px !important;
  gap:6px !important;
  font-size:14px !important;
}
.matchPageLink span{font-size:18px !important}

@media(max-width:920px){
  .thaiAvailabilityV30{font-size:16px !important}
  .thaiAvailabilityV30 b{font-size:16px !important}
  .thaiAvailabilityV30 span:first-child{font-size:20px !important}
  .matchPageLink{min-height:38px !important;padding:6px 9px !important;font-size:13.5px !important}
}
@media(max-width:430px){
  .thaiAvailabilityV30{font-size:15.5px !important}
  .thaiAvailabilityV30 b{font-size:15.5px !important}
  .thaiAvailabilityV30 span:first-child{font-size:19px !important}
  .thaiAvailabilityChevron{font-size:20px !important}
  .matchPageLink{min-height:36px !important;padding:6px 8px !important;font-size:13px !important}
}

/* v35 hero color: JAPAN black / Volleyball purple / Data Bank black */
.heroTitleV30 h1 span:first-child{color:#2b3342 !important}
.heroTitleV30 h1 span:nth-child(2){color:var(--purple) !important}
.heroTitleV30 h1 span:nth-child(3){color:#2b3342 !important}

/* v36 — SV/SVG/V career totals match the season DATA summary */
.careerSection .sectionHeading{display:flex;align-items:center;justify-content:space-between;margin-bottom:0}
.careerQuickLine{
  display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:center;
  gap:8px;width:100%;margin:12px 0;padding:11px 14px;border-radius:0;
  background:#fff;
}
.careerQuickLine strong{
  min-width:0;text-align:center;white-space:nowrap;font-size:17px;
  color:var(--ink);font-weight:900;
}
@media(max-width:920px){.careerQuickLine strong{font-size:16px}}
@media(max-width:430px){
  .careerSection .sectionHeading h2{font-size:22px}
  .careerQuickLine{gap:4px;padding:11px 9px}
  .careerQuickLine strong{font-size:16px;letter-spacing:-.025em}
}

/* v37.6 — every match row, including TOP, uses one canonical grid. */
.globalMatchRow.canonicalMatchRow,
.homeMatchesSection .globalMatchRow.canonicalMatchRow{
  display:grid !important;
  grid-template-columns:108px 118px minmax(0,1fr) 24px !important;
  align-items:center;
  column-gap:12px;
}
.canonicalMatchRow>.globalMatchDate{grid-column:1 !important;}
.globalMatchStage{
  grid-column:2 !important;
  min-width:0;
  font-style:normal;
  font-weight:800;
  color:#5b83c7;
  white-space:nowrap;
  text-align:left;
}
.globalMatchStage.empty{visibility:hidden;}
.canonicalMatchRow>.globalMatchTeams{
  grid-column:3 !important;
  min-width:0;
  width:100%;
  grid-template-columns:minmax(0,1fr) 76px minmax(0,1fr);
}
.globalMatchScore{
  display:grid;
  grid-template-columns:29px 10px 29px;
  column-gap:4px;
  align-items:center;
  justify-content:center;
  width:76px;
  font-variant-numeric:tabular-nums;
}
.globalMatchScore b{
  box-sizing:border-box;
  display:grid;
  place-items:center;
  width:29px;
  min-width:29px;
  height:30px;
  padding:0;
  border:1.5px solid transparent;
  border-radius:0;
  line-height:1;
}
.globalMatchScore b.winningSetBox{
  width:29px;
  min-width:29px;
  height:30px;
  padding:0;
  border-color:#656a72;
}
.globalMatchScore i{
  width:10px;
  text-align:center;
}
.canonicalMatchRow>.rowChevron{grid-column:4 !important;}
.stageMobile{display:none;}
@media(max-width:700px){
  .globalMatchRow.canonicalMatchRow,
  .homeMatchesSection .globalMatchRow.canonicalMatchRow{
    grid-template-columns:66px 30px minmax(0,1fr) 16px !important;
    column-gap:5px;
  }
  .stageDesktop{display:none;}
  .stageMobile{display:inline;}
  .globalMatchStage{font-size:12px;text-align:center;}
  .globalMatchTeams{grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr);}
  .globalMatchScore{
    grid-template-columns:24px 6px 24px;
    column-gap:2px;
    width:58px;
  }
  .globalMatchScore b,
  .globalMatchScore b.winningSetBox{
    width:24px;
    min-width:24px;
    height:26px;
  }
  .globalMatchScore i{width:6px;}
}

/* v15 — responsive team naming for every match surface.
   Desktop shows the full season-appropriate name; mobile shows the short name. */
.teamNameDesktop,.teamNameMobile{
  min-width:0;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  text-align:inherit;
}
.teamNameDesktop{display:block;}
.teamNameMobile{display:none;}

.globalMatchTeams>strong .teamNameDesktop{font-size:18px;font-weight:950;}
.globalMatchTeams>strong .teamNameDesktop.teamNameMedium{font-size:16px;}
.globalMatchTeams>strong .teamNameDesktop.teamNameLong{font-size:14px;}

.matchTeamLink .teamNameDesktop,.matchTeamText .teamNameDesktop{font-size:24px;line-height:1.08;font-weight:950;}
.matchTeamLink .teamNameDesktop.teamNameMedium,.matchTeamText .teamNameDesktop.teamNameMedium{font-size:21px;}
.matchTeamLink .teamNameDesktop.teamNameLong,.matchTeamText .teamNameDesktop.teamNameLong{font-size:18px;}

.matchRosterHeading .teamNameDesktop,.matchRosterHeading .teamNameMobile{font:inherit;}
.teamSimpleMatchRow .teamNameDesktop,.teamSimpleMatchRow .teamNameMobile,
.matchOpponentWrap .teamNameDesktop,.matchOpponentWrap .teamNameMobile{font:inherit;}

@media(max-width:700px){
  .teamNameDesktop{display:none !important;}
  .teamNameMobile{display:block !important;}
  .globalMatchTeams>strong .teamNameMobile{font-size:15px;font-weight:950;}
  .globalMatchTeams>strong .teamNameMobile.teamNameMedium{font-size:13.5px;}
  .globalMatchTeams>strong .teamNameMobile.teamNameLong{font-size:12px;}
  .matchTeamLink .teamNameMobile,.matchTeamText .teamNameMobile{font-size:18px;line-height:1.08;font-weight:950;}
  .matchTeamLink .teamNameMobile.teamNameMedium,.matchTeamText .teamNameMobile.teamNameMedium{font-size:16.5px;}
  .matchTeamLink .teamNameMobile.teamNameLong,.matchTeamText .teamNameMobile.teamNameLong{font-size:14px;}
}

/* v16 — mobile match rows prioritize readable team abbreviations.
   Hide playoff round chips in rows, reclaim that width, and center both team names.
   Match Data itself keeps the full round label above the scoreboard. */
@media(max-width:700px){
  .globalMatchRow.canonicalMatchRow,
  .homeMatchesSection .globalMatchRow.canonicalMatchRow{
    grid-template-columns:66px minmax(0,1fr) 16px !important;
    column-gap:5px !important;
  }
  .canonicalMatchRow>.globalMatchStage{
    display:none !important;
  }
  .canonicalMatchRow>.globalMatchTeams{
    grid-column:2 !important;
  }
  .canonicalMatchRow>.rowChevron{
    grid-column:3 !important;
  }
  .globalMatchTeams{
    grid-template-columns:minmax(0,1fr) 58px minmax(0,1fr) !important;
  }
  .globalMatchTeams>strong:first-child,
  .globalMatchTeams>strong:last-child{
    text-align:center !important;
  }
  .globalMatchTeams>strong .teamNameMobile{
    text-align:center !important;
    margin-inline:auto;
  }

  /* Match Data / Match Stats: center mobile short names in each side of the score. */
  .matchTeamLink.left,.matchTeamText.left,
  .matchTeamLink.right,.matchTeamText.right{
    text-align:center !important;
    justify-self:stretch !important;
  }
  .matchTeamLink .teamNameMobile,.matchTeamText .teamNameMobile{
    text-align:center !important;
    margin-inline:auto;
  }
}

/* v18 profile detail search */
.advancedSearchToggle{width:100%;min-height:44px;margin-top:9px;padding:0 11px;border:1px solid #dee2ea;border-radius:0;background:#f8f9fc;display:flex;align-items:center;gap:8px;cursor:pointer;color:#4b5971}.advancedSearchToggle>span{font-size:20px;line-height:1;color:var(--purple);font-weight:900}.advancedSearchToggle>strong{font-size:15px;text-align:left}.advancedSearchToggle>b{margin-left:auto;display:grid;place-items:center;min-width:26px;height:26px;padding:0 7px;border-radius:0;background:var(--purple);color:#fff;font-size:13px}.advancedSearchToggle.hasFilters{background:var(--purpleSoft);border-color:#d0dbee;color:#436297}.advancedSearchPanel{margin-top:8px;padding:11px;border:1px solid #e3e7ed;border-radius:0;background:#fff}.advancedSearchPanel>p{margin:0 0 9px;color:var(--muted);font-size:12px;font-weight:800}.profileFilterGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.profileFilterGrid select{min-width:0}.advancedSearchFooter{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px;padding-top:8px;border-top:1px solid #e7eaef}.advancedSearchFooter span{font-size:12px;color:var(--muted);font-weight:900}.advancedSearchFooter button{border:0;border-radius:0;background:#edf0f5;padding:7px 10px;color:#556279;font-size:12px;font-weight:900;cursor:pointer}
@media(max-width:620px){.profileFilterGrid{grid-template-columns:1fr}.advancedSearchPanel{padding:9px}.advancedSearchToggle>strong{font-size:14px}}

/* v19 — separate advanced-search menu + dedicated result pages */
.advancedSearchEntry{display:flex;align-items:center;justify-content:space-between;gap:14px;margin:12px 0 4px;padding:14px 16px;border:1px solid #dce2ed;border-radius:0;background:#fff;color:#475d84;box-shadow:var(--shadow)}
.advancedSearchEntry>span{display:grid;min-width:0}.advancedSearchEntry strong{font-size:17px}.advancedSearchEntry small{margin-top:2px;color:var(--muted);font-size:12px;font-weight:800}.advancedSearchEntry>b{font-size:27px;color:var(--purple)}
.searchHubIntro{margin:-7px 0 16px;color:var(--muted);font-size:16px;font-weight:800}.searchHubGrid{display:grid;grid-template-columns:1fr 1fr;gap:13px}.searchHubCard{display:grid;grid-template-columns:74px minmax(0,1fr) 18px;align-items:center;gap:14px;min-height:156px;padding:20px;border:1px solid var(--line);border-radius:0;background:#fff;box-shadow:var(--shadow)}.searchHubCard:not(*){border-color:#ccd9ef}
@media (hover:hover) and (pointer:fine){.searchHubCard:hover{border-color:#ccd9ef}}.searchHubIcon{display:grid;place-items:center;width:70px;height:70px;border-radius:0;background:var(--purpleSoft);color:var(--purple);font-size:11px;font-weight:900;letter-spacing:.06em}.searchHubCard h2{margin:0;font-size:23px}.searchHubCard p{margin:5px 0 0;color:var(--muted);font-size:14px;font-weight:700;line-height:1.55}.searchHubCard>b{font-size:28px;color:var(--purple)}
.searchReturnLink{margin-bottom:10px}.advancedPageHint{margin:-8px 0 14px;color:var(--muted);font-size:14px;font-weight:800}.advancedSearchForm{padding:18px;border:1px solid var(--line);border-radius:0;background:#fff;box-shadow:var(--shadow)}.advancedFieldGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.advancedFieldGrid label{display:grid;gap:5px;min-width:0}.advancedFieldGrid label>span{font-size:13px;color:#5d626c;font-weight:900}.advancedFieldGrid .fieldWide{grid-column:span 2}.advancedFieldGrid select,.advancedFieldGrid input{width:100%;min-width:0;min-height:49px;border:1px solid #dce0e7;border-radius:0;background:#fff;padding:0 12px;font-size:16px}.statsSearchNote{margin:13px 2px 0;color:var(--muted);font-size:12px;font-weight:800}.advancedSearchSubmit{width:100%;min-height:54px;margin-top:16px;border:0;border-radius:0;background:var(--purple);color:#fff;font-size:18px;font-weight:900;display:flex;align-items:center;justify-content:center;gap:16px;cursor:pointer}.advancedSearchSubmit span{font-size:26px;line-height:1}
.searchResultSummary{margin-bottom:14px;padding:15px 17px;border:1px solid #d3dbea;border-radius:0;background:#fff;display:grid;gap:4px}.searchResultSummary small{color:var(--purple);font-size:12px;font-weight:900}.searchResultSummary strong{font-size:18px;line-height:1.45}.searchResultSummary>span{justify-self:start;margin-top:3px;padding:3px 9px;border-radius:0;background:#fff;color:#556175;font-size:12px;font-weight:900;border:1px solid #dee3ec}
.advancedResultList,.statsResultList{overflow:hidden;border:1px solid var(--line);border-radius:0;background:#fff}.advancedPlayerResult{display:grid;grid-template-columns:52px minmax(0,1fr) 74px 14px;gap:12px;align-items:center;min-height:102px;padding:12px 14px;border-bottom:1px solid #eaedf1}.advancedPlayerResult:last-child{border-bottom:0}.advancedPlayerMain{display:grid;min-width:0}.advancedPlayerMain strong{font-size:21px;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.advancedPlayerMain small{margin-top:3px;color:#5a5f67;font-size:14px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.advancedPlayerMain em{margin-top:4px;color:var(--muted);font-size:12px;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.advancedPlayerMeta{display:grid;text-align:right;justify-items:end;gap:3px}.advancedPlayerMeta b{font-size:18px;color:var(--purple)}.advancedPlayerMeta small{font-size:12px;color:var(--muted);font-weight:900}
.statsResultRow{display:grid;grid-template-columns:52px minmax(0,1fr) 112px 14px;gap:12px;align-items:center;min-height:106px;padding:12px 14px;border-bottom:1px solid #eaedf1}.statsResultRow:last-child{border-bottom:0}.statsResultMain{display:grid;min-width:0}.statsResultMain strong{font-size:21px;line-height:1.18;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.statsResultMain small{margin-top:3px;color:#5a5f67;font-size:13px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.statsResultMain em{margin-top:5px;color:var(--muted);font-size:12px;font-style:normal}.statsResultMetric{text-align:right;display:grid}.statsResultMetric small{color:var(--muted);font-size:11px;font-weight:900}.statsResultMetric strong{font-size:25px;color:var(--purple);line-height:1.15}
@media(max-width:920px){.searchHubGrid{grid-template-columns:1fr}.searchHubCard{min-height:132px}.advancedFieldGrid{grid-template-columns:1fr}.advancedFieldGrid .fieldWide{grid-column:auto}.mobileBottomNav a small{font-size:9px}}
@media(max-width:520px){.searchHubCard{grid-template-columns:58px minmax(0,1fr) 15px;padding:15px 13px;gap:11px}.searchHubIcon{width:56px;height:56px;border-radius:0;font-size:9px}.searchHubCard h2{font-size:20px}.searchHubCard p{font-size:12px}.advancedSearchForm{padding:14px 12px}.searchResultSummary{padding:13px 14px}.searchResultSummary strong{font-size:16px}.advancedPlayerResult{grid-template-columns:48px minmax(0,1fr) 50px 11px;gap:8px;padding:10px 9px}.advancedPlayerResult .teamBadge,.statsResultRow .teamBadge{width:46px;height:46px;font-size:16px}.advancedPlayerMain strong,.statsResultMain strong{font-size:18px}.advancedPlayerMain small{font-size:12px}.advancedPlayerMain em{font-size:10px}.advancedPlayerMeta b{font-size:16px}.statsResultRow{grid-template-columns:48px minmax(0,1fr) 86px 11px;gap:8px;padding:10px 9px}.statsResultMain small{font-size:11px}.statsResultMain em{font-size:10px}.statsResultMetric strong{font-size:21px}.statsResultMetric small{font-size:9px}}

/* v22 — separate detailed data analysis for mobile */
.analysisHubForm{display:grid;gap:16px}.analysisFilterPanel{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:16px;border:1px solid var(--line);border-radius:0;background:#fff;box-shadow:var(--shadow)}
.analysisCheckGroup{min-width:0;margin:0;padding:11px 12px 12px;border:1px solid #e0e4ea;border-radius:0}.analysisCheckGroup legend{padding:0 5px;color:#565f6e;font-size:12px;font-weight:900}.analysisCheckGrid{display:flex;flex-wrap:wrap;gap:7px}.analysisCheckGrid label{cursor:pointer}.analysisCheckGrid input{position:absolute;opacity:0;pointer-events:none}.analysisCheckGrid span{display:grid;place-items:center;min-width:58px;min-height:38px;padding:5px 10px;border:1px solid #dce0e7;border-radius:0;background:#f8f9fb;color:#5c6169;font-size:13px;font-weight:900}.analysisCheckGrid label.checked span,.analysisCheckGrid label:has(input:checked) span{background:var(--purple);border-color:var(--purple);color:#fff}
.analysisMenuGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.analysisMenuCard{position:relative;display:grid;grid-template-columns:minmax(0,1fr) 20px;gap:3px 10px;min-height:138px;padding:17px 18px;border:1px solid var(--line);border-radius:0;background:#fff;box-shadow:var(--shadow);text-align:left;cursor:pointer;color:inherit}.analysisMenuCard>span{grid-column:1;color:var(--purple);font-size:10px;font-weight:950;letter-spacing:.06em}.analysisMenuCard>strong{grid-column:1;font-size:20px;line-height:1.25}.analysisMenuCard>small{grid-column:1;margin-top:4px;color:var(--muted);font-size:12px;font-weight:750;line-height:1.45}.analysisMenuCard>b{grid-column:2;grid-row:1/4;align-self:center;font-size:27px;color:var(--purple)}
.analysisDefinitionNote{margin:14px 2px;color:var(--muted);font-size:12px;font-weight:800;line-height:1.55}.analysisFilterSummary{margin:0 0 14px;padding:13px 15px;border:1px solid #d3dbea;border-radius:0;background:#fff;display:grid;gap:3px}.analysisFilterSummary small{color:var(--purple);font-size:11px;font-weight:950}.analysisFilterSummary strong{font-size:16px;line-height:1.45}
.analysisEntityForm{display:grid;gap:12px;padding:17px;border:1px solid var(--line);border-radius:0;background:#fff;box-shadow:var(--shadow)}.analysisEntityForm h2{margin:0;font-size:20px}.analysisEntityForm p{margin:-5px 0 4px;color:var(--muted);font-size:12px;font-weight:750}.analysisEntityForm label{display:grid;gap:5px}.analysisEntityForm label>span{font-size:13px;font-weight:900;color:#5b6069}.analysisEntityForm select{width:100%;min-height:52px;border:1px solid #dce0e6;border-radius:0;background:#fff;padding:0 12px;font-size:16px}.pairSelectorGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.analysisResultList{display:grid;gap:11px}.analysisResultCard{padding:15px;border:1px solid var(--line);border-radius:0;background:#fff;box-shadow:var(--shadow)}.analysisResultCard>header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-bottom:11px;border-bottom:1px solid #e8ebf0}.analysisResultCard>header small{display:block;color:var(--purple);font-size:10px;font-weight:950}.analysisResultCard>header h2{margin:2px 0 0;font-size:20px;line-height:1.2}.analysisResultCard>header>strong{font-size:13px;color:#5a6069;white-space:nowrap}.analysisMetricGrid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px;margin-top:11px}.analysisMetricGrid>div{min-width:0;padding:9px 6px;border-radius:0;background:#f7f8fb;text-align:center}.analysisMetricGrid small{display:block;color:var(--muted);font-size:9px;font-weight:900}.analysisMetricGrid strong{display:block;margin-top:2px;font-size:17px;line-height:1.15;color:#2d2f33}.analysisMetricGrid em{display:block;margin-top:2px;color:#7b8088;font-size:9px;font-style:normal;font-weight:800}.analysisSeriesCount{margin:0 0 12px;padding:10px 13px;border-radius:0;background:#eff3f9;color:#565f6e;font-size:13px;font-weight:900}.analysisSeriesCount strong{color:var(--purple);font-size:18px}.gameCompareGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.analysisResultCard.featured>header h2{font-size:25px;color:var(--purple)}
.clutchHeroGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.clutchHeroGrid article{padding:18px;border:1px solid #d3dbea;border-radius:0;background:#fff;box-shadow:var(--shadow)}.clutchHeroGrid small{color:var(--purple);font-size:10px;font-weight:950}.clutchHeroGrid h2{margin:3px 0 9px;font-size:19px}.clutchHeroGrid strong{display:block;font-size:38px;line-height:1;color:var(--purple)}.clutchHeroGrid p{margin:8px 0 0;color:var(--muted);font-size:12px;font-weight:850}.analysisSubTitle{margin:20px 2px 9px;font-size:18px}.clutchOpponentList{overflow:hidden;border:1px solid var(--line);border-radius:0;background:#fff}.clutchOpponentList article{display:grid;grid-template-columns:minmax(0,1fr) 150px 150px;gap:9px;align-items:center;padding:12px 14px;border-bottom:1px solid #e8ebef}.clutchOpponentList article:last-child{border-bottom:0}.clutchOpponentList strong{font-size:15px}.clutchOpponentList span{text-align:right;font-size:12px;font-weight:900}.clutchOpponentList span small{color:var(--muted);font-weight:800}.pairAttackHero{display:flex;align-items:baseline;gap:8px;margin:12px 0 -2px;padding:9px 11px;border-radius:0;background:#eff3f9}.pairAttackHero small{font-size:11px;color:#5d626b;font-weight:900}.pairAttackHero strong{font-size:27px;color:var(--purple)}.pairAttackHero span{color:var(--muted);font-size:12px;font-weight:900}
@media(max-width:760px){.analysisFilterPanel,.analysisMenuGrid,.pairSelectorGrid,.gameCompareGrid,.clutchHeroGrid{grid-template-columns:1fr}.analysisMetricGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.analysisMenuCard{min-height:112px;padding:14px 15px}.analysisMenuCard>strong{font-size:18px}.clutchOpponentList article{grid-template-columns:minmax(0,1fr) 1fr}.clutchOpponentList article>span:last-child{grid-column:2}.clutchOpponentList article>strong{grid-row:1/3}.clutchHeroGrid strong{font-size:34px}}
@media(max-width:420px){.analysisCheckGrid span{min-width:51px;padding-inline:8px}.analysisMetricGrid{gap:5px}.analysisMetricGrid>div{padding:8px 4px}.analysisMetricGrid strong{font-size:15px}.analysisResultCard{padding:12px}.analysisResultCard>header h2{font-size:18px}.clutchOpponentList article{padding:11px 10px}}

/* v23 — 沼サーチ / Rabbit Hole / สายลึก */
.numaHeroCard{margin-top:14px;display:grid;grid-template-columns:auto minmax(0,1fr) 24px;align-items:center;gap:12px;width:100%;padding:16px 18px;border-radius:0;background:linear-gradient(135deg,#5076b8,#6589c8 55%,#d56f9e);color:#fff;box-shadow:0 14px 30px rgba(73,103,156,.22);border:1px solid rgba(255,255,255,.3)}
.numaHeroKicker{align-self:start;margin-top:3px;padding:4px 7px;border:1px solid rgba(255,255,255,.45);border-radius:0;font-size:9px;font-weight:950;letter-spacing:.08em;white-space:nowrap}
.numaHeroCard>div{display:grid;gap:3px;min-width:0}.numaHeroCard strong{font-size:27px;line-height:1.05;letter-spacing:-.02em}.numaHeroCard small{font-size:13px;font-weight:800;line-height:1.45;color:#fff;opacity:.96}.numaHeroCard>b{font-size:31px;line-height:1}
.numaSearchHubCard{background:#fff;border-color:#cbd7ed}.numaSearchHubCard .searchHubIcon{background:linear-gradient(135deg,#577cbd,#cf76a3);color:#fff}.numaSearchHubCard h2{color:#43649c}
.numaPageHeading h1{font-size:38px}.numaPageIntro{font-size:17px!important;font-weight:850!important;color:#565c65!important;margin-bottom:17px!important}

.analysisFilterPanelV23{grid-template-columns:1fr!important;gap:10px!important}.analysisSeasonFilter{min-width:0}.analysisFilterInline{display:grid;grid-template-columns:1fr 1fr;gap:10px}.analysisFilterHelp{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:0 3px}.analysisFilterHelp span{font-size:12px;color:var(--muted);font-weight:850}.analysisFilterHelp a{font-size:12px;color:var(--purple);font-weight:950}
.analysisCheckGroup legend{font-size:13px}.analysisCheckGrid span{min-width:64px;min-height:42px;font-size:14px}.analysisCheckGrid label:has(input:checked) span{box-shadow:0 4px 12px rgba(87,124,189,.18)}
.analysisMenuSection{display:grid;gap:9px}.analysisMenuSection+.analysisMenuSection{margin-top:4px}.analysisMenuSectionTitle{display:flex;align-items:baseline;gap:9px;padding:1px 3px}.analysisMenuSectionTitle span{font-size:10px;color:var(--pink);font-weight:950;letter-spacing:.08em}.analysisMenuSectionTitle h2{margin:0;font-size:21px;letter-spacing:-.01em}
.analysisMenuCard{min-height:128px}.analysisMenuCard>strong{font-size:22px}.analysisMenuCard>small{font-size:14px;line-height:1.5}.analysisMenuCard>span{font-size:11px}
.analysisDefinitionNote{font-size:13px;line-height:1.65}.analysisFilterSummary{padding:15px 16px}.analysisFilterSummary small{font-size:12px}.analysisFilterSummary strong{font-size:18px;line-height:1.5}
.analysisEntityForm{padding:19px;gap:14px}.analysisEntityForm h2{font-size:23px}.analysisEntityForm p{font-size:14px;line-height:1.55}.analysisEntityForm label>span{font-size:15px}.analysisEntityForm select{min-height:58px;font-size:18px;padding:0 14px}.analysisEntityForm .advancedSearchSubmit{min-height:55px;font-size:17px}
.analysisResultHeading h1{font-size:36px;line-height:1.08;letter-spacing:-.025em}.analysisResultCard{padding:18px}.analysisResultCard>header small{font-size:12px}.analysisResultCard>header h2{font-size:24px}.analysisResultCard>header>strong{font-size:15px}.analysisMetricGrid{gap:9px;margin-top:13px}.analysisMetricGrid>div{padding:12px 8px}.analysisMetricGrid small{font-size:11px}.analysisMetricGrid strong{font-size:21px}.analysisMetricGrid em{font-size:11px}.analysisSeriesCount{font-size:15px;padding:12px 14px}.analysisSeriesCount strong{font-size:22px}.pairAttackHero{padding:12px 13px}.pairAttackHero small{font-size:13px}.pairAttackHero strong{font-size:32px}.pairAttackHero span{font-size:14px}
.clutchHeroGrid article{padding:20px}.clutchHeroGrid small{font-size:12px}.clutchHeroGrid h2{font-size:22px}.clutchHeroGrid strong{font-size:44px}.clutchHeroGrid p{font-size:14px}.analysisSubTitle{font-size:21px}.clutchOpponentList strong{font-size:17px}.clutchOpponentList span{font-size:14px}

@media(max-width:760px){
  .numaHeroCard{grid-template-columns:minmax(0,1fr) 20px;padding:15px 15px}.numaHeroKicker{grid-column:1/3;justify-self:start;margin:0}.numaHeroCard strong{font-size:25px}.numaHeroCard small{font-size:13px}.numaHeroCard>b{grid-column:2;grid-row:2;align-self:center}
  .analysisFilterPanelV23{grid-template-columns:1fr!important}.analysisFilterInline{grid-template-columns:1fr 1fr!important}.analysisMenuGrid{grid-template-columns:1fr!important}
  .analysisMenuCard{min-height:108px;padding:15px 16px}.analysisMenuCard>strong{font-size:21px}.analysisMenuCard>small{font-size:13px}
  .analysisMetricGrid{grid-template-columns:repeat(3,minmax(0,1fr))}.analysisMetricGrid strong{font-size:21px}.analysisMetricGrid small{font-size:11px}.analysisMetricGrid em{font-size:11px}
  .analysisResultHeading h1{font-size:31px}.analysisResultCard>header h2{font-size:23px}
}
@media(max-width:520px){
  .numaHeroCard{margin-top:12px;border-radius:0}.numaHeroCard strong{font-size:24px}.numaHeroCard small{font-size:12.5px;line-height:1.5}
  .numaPageHeading h1{font-size:33px}.numaPageIntro{font-size:15px!important}
  .analysisFilterPanelV23{padding:13px!important}.analysisFilterInline{gap:8px}.analysisCheckGroup{padding:10px}.analysisCheckGrid{gap:6px}.analysisCheckGrid span{min-width:56px;min-height:40px;font-size:13px;padding-inline:8px}
  .analysisMenuSectionTitle h2{font-size:20px}.analysisMenuCard>strong{font-size:20px}.analysisMenuCard>small{font-size:13px}
  .analysisEntityForm select{font-size:18px;min-height:58px}.analysisFilterSummary strong{font-size:17px}
  .analysisResultCard{padding:15px!important}.analysisResultCard>header h2{font-size:22px!important}.analysisResultCard>header>strong{font-size:14px}
  .analysisMetricGrid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important}.analysisMetricGrid>div{padding:12px 7px!important}.analysisMetricGrid small{font-size:12px!important}.analysisMetricGrid strong{font-size:23px!important}.analysisMetricGrid em{font-size:11px!important;margin-top:4px}
  .pairAttackHero strong{font-size:34px}.clutchHeroGrid strong{font-size:40px}.clutchOpponentList article{grid-template-columns:minmax(0,1fr) 1fr!important}.clutchOpponentList strong{font-size:16px}.clutchOpponentList span{font-size:13px}
}


/* v24 — compact four-button hero navigation + small Numa Search note */
.heroActions.v30.heroActionsV24{
  grid-template-columns:repeat(4,minmax(0,1fr)) !important;
  max-width:760px !important;
}
.heroActions.v30.heroActionsV24 .homeActionButton{white-space:nowrap}
.heroActions.v30.heroActionsV24 .homeActionButton.numa{
  background:#edf4ff !important;
  color:#44649b !important;
  border-color:#ccd9ef !important;
}
.numaTopNote{
  margin:9px 2px 0 !important;
  color:#666c76;
  font-size:13px !important;
  line-height:1.45 !important;
  font-weight:800;
}
@media(max-width:920px){
  .heroActions.v30.heroActionsV24{grid-template-columns:repeat(4,minmax(0,1fr)) !important;gap:6px !important}
  .heroActions.v30.heroActionsV24 .homeActionButton{font-size:13px !important;padding:6px 3px !important}
  .numaTopNote{font-size:12.5px !important;margin-top:8px !important}
}
@media(max-width:430px){
  .heroActions.v30.heroActionsV24{gap:4px !important}
  .heroActions.v30.heroActionsV24 .homeActionButton{min-height:45px !important;font-size:11.5px !important;padding:4px 2px !important}
  .numaTopNote{font-size:11.5px !important;line-height:1.42 !important;margin-top:7px !important}
}

/* v25 — team -> player selectors + attack-only setter/attacker analysis */
.analysisEntityForm select:disabled{background:#f3f4f7;color:#a3a7ad;cursor:not-allowed}
.pairSetterResultList{display:grid;gap:11px}.pairSetterResultCard{padding:17px;border:1px solid var(--line);border-radius:0;background:#fff;box-shadow:var(--shadow)}.pairSetterResultCard>header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #e8ebf0}.pairSetterResultCard>header small{display:block;color:var(--purple);font-size:12px;font-weight:950}.pairSetterResultCard>header h2{margin:2px 0 0;font-size:25px;line-height:1.15}.pairSetterResultCard>header>strong{font-size:15px;color:#5a6069;white-space:nowrap}
.pairAttackMetrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-top:11px}.pairAttackMetrics>div{min-width:0;padding:12px 8px;border-radius:0;background:#f7f8fb;text-align:center}.pairAttackMetrics small{display:block;color:var(--muted);font-size:11px;font-weight:950}.pairAttackMetrics strong{display:block;margin-top:3px;color:var(--purple);font-size:25px;line-height:1.1}.pairAttackMetrics em{display:block;margin-top:4px;color:#767c87;font-size:11px;font-style:normal;font-weight:850;white-space:nowrap}
.pairCompactList{overflow:hidden;border:1px solid var(--line);border-radius:0;background:#fff;box-shadow:var(--shadow)}.pairCompactRow{display:grid;grid-template-columns:minmax(150px,.8fr) minmax(0,2fr);gap:14px;align-items:center;padding:12px 14px;border-bottom:1px solid #e8ebf0}.pairCompactRow:last-child{border-bottom:0}.pairCompactName{display:grid;gap:3px;min-width:0}.pairCompactName strong{font-size:20px;line-height:1.18;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pairCompactName small{color:var(--muted);font-size:12px;font-weight:900}.pairCompactRow .pairAttackMetrics{margin:0;gap:7px}.pairCompactRow .pairAttackMetrics>div{padding:8px 6px}.pairCompactRow .pairAttackMetrics small{font-size:10px}.pairCompactRow .pairAttackMetrics strong{font-size:19px}.pairCompactRow .pairAttackMetrics em{font-size:9px;margin-top:2px}
.pairReferenceNote{margin:14px 3px 2px;color:#83878f;font-size:10px;font-weight:750;line-height:1.65}
@media(max-width:700px){.pairCompactRow{grid-template-columns:1fr;gap:8px;padding:12px}.pairCompactName{display:flex;align-items:baseline;justify-content:space-between;gap:10px}.pairCompactName strong{font-size:21px}.pairCompactName small{white-space:nowrap}.pairCompactRow .pairAttackMetrics{grid-template-columns:repeat(3,minmax(0,1fr))}.pairCompactRow .pairAttackMetrics>div{padding:9px 4px}.pairCompactRow .pairAttackMetrics strong{font-size:20px}.pairCompactRow .pairAttackMetrics em{font-size:9px}.pairReferenceNote{font-size:9.5px}.pairSetterResultCard>header h2{font-size:24px}}
@media(max-width:420px){.pairAttackMetrics{gap:6px}.pairAttackMetrics>div{padding:10px 4px}.pairAttackMetrics small{font-size:10px}.pairAttackMetrics strong{font-size:22px}.pairAttackMetrics em{font-size:9px}.pairCompactRow .pairAttackMetrics strong{font-size:18px}.pairCompactName strong{font-size:20px}}

/* v26 — Numa Search: broadcast-readable mobile results */
.heroActions.v30.heroActionsV24.heroActionsV26 .homeActionButton{
  text-align:center !important;
  justify-content:center !important;
  align-items:center !important;
}
.heroActions.v30.heroActionsV24.heroActionsV26 .homeActionButton.numa{
  background:#fff !important;
  color:#3e4e69 !important;
  border-color:#d4dbe8 !important;
}
.numaPageIntro{white-space:pre-line}

.analysisResultFooterV26{display:grid;gap:10px;margin-top:18px}
.analysisResultFooterV26 .analysisFilterSummary{margin:0}
.analysisSeriesCountBottom{margin:0}

/* Result cards: name/month first, duplicate match/record boxes removed */
.analysisResultCardV26{padding:18px 19px}
.analysisResultCardV26>header{align-items:flex-end;gap:12px;padding-bottom:12px}
.analysisResultCardV26>header h2{font-size:27px !important;line-height:1.08;letter-spacing:-.02em}
.analysisResultCardV26>header>strong{font-size:23px !important;line-height:1.08;color:#2f3237;font-weight:950;white-space:nowrap}
.analysisResultCardV26>header small{font-size:12px !important}
.analysisMetricGridV26{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;margin-top:14px !important}
.analysisMetricGridV26>div{padding:16px 10px !important;min-height:116px;display:flex;flex-direction:column;align-items:center;justify-content:center}
.analysisMetricGridV26 small{font-size:15px !important;line-height:1.2;color:#555961 !important}
.analysisMetricGridV26 strong{font-size:31px !important;line-height:1.06;margin-top:7px !important;letter-spacing:-.02em}
.analysisMetricGridV26 em{font-size:14px !important;margin-top:7px !important;color:#6f747e !important}

/* Setter x attacker / attacker x setter */
.pairSetterResultListV26{gap:12px}
.pairSetterResultCardV26{padding:16px 17px}
.pairV26Header{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;row-gap:2px;align-items:baseline;padding-bottom:11px;border-bottom:1px solid #e8ebf0}
.pairV26Header h2{margin:0;font-size:28px;line-height:1.08;letter-spacing:-.02em;min-width:0}
.pairV26AttackLine{display:flex;align-items:baseline;justify-content:flex-end;gap:5px;white-space:nowrap;color:#2a2d31;font-weight:900}
.pairV26AttackLine span{font-size:15px;color:#393c40}
.pairV26AttackLine strong{font-size:28px;line-height:1;color:var(--purple);letter-spacing:-.03em}
.pairV26AttackLine b{font-size:20px;color:#2a2d31}
.pairV26AttackLine em{margin-left:7px;font-size:17px;color:#555a62;font-style:normal;font-weight:900}
.pairV26Header>small{grid-column:2;text-align:right;color:#71767f;font-size:13px;font-weight:850}
.pairV26NoValue{color:#2a2d31 !important}
.pairV26Secondary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:11px}
.pairV26Secondary>div{padding:14px 10px;border-radius:0;background:#f7f8fb;text-align:center}
.pairV26Secondary small{display:block;font-size:15px;color:#50555d;font-weight:950}
.pairV26Secondary strong{display:block;margin-top:6px;font-size:30px;line-height:1;color:var(--purple);letter-spacing:-.02em}
.pairV26Secondary strong b{font-size:20px;color:#2a2d31}
.pairV26Secondary em{display:block;margin-top:6px;font-size:13px;color:#6e747d;font-style:normal;font-weight:850}
.pairCompactListV26{display:grid;gap:0;overflow:hidden}
.pairCompactRowV26{display:block;padding:14px 16px}
.pairCompactRowV26 .pairV26Header{padding-bottom:9px}
.pairCompactRowV26 .pairV26Secondary{margin-top:9px}
.pairReferenceNoteV26{margin-top:2px;font-size:10px !important;line-height:1.6;color:#82868e}

/* Game1 / Game2 — dedicated comparison layout */
.gameCompareV26{overflow:hidden;border:1px solid var(--line);border-radius:0;background:#fff;box-shadow:var(--shadow)}
.gameCompareV26Head,.gameCompareV26Row{display:grid;grid-template-columns:minmax(0,1fr) minmax(128px,.7fr) minmax(0,1fr);align-items:center;text-align:center}
.gameCompareV26Head{padding:15px 10px;background:#eff3f9;border-bottom:1px solid #dfe4ee}
.gameCompareV26Head strong{font-size:28px;color:var(--purple);line-height:1}
.gameCompareV26Head span{font-size:15px;color:#5d6169;font-weight:950}
.gameCompareV26Row{min-height:104px;padding:10px;border-bottom:1px solid #e8ebf0}
.gameCompareV26Row:last-child{border-bottom:0}
.gameCompareV26Row>span{font-size:16px;line-height:1.25;color:#4c5058;font-weight:950;padding:0 8px}
.gameCompareValue{display:flex;min-width:0;flex-direction:column;align-items:center;justify-content:center}
.gameCompareValue strong{font-size:29px;line-height:1.05;color:#2a2d31;letter-spacing:-.02em}
.gameCompareValue small{margin-top:6px;font-size:13px;color:#71767f;font-weight:850}

/* Numa hub text: keep the brand special, not every section heading */
.analysisMenuSectionTitle h2{font-weight:950}

@media(max-width:600px){
  .analysisResultHeading h1{font-size:34px !important}
  .analysisResultCardV26{padding:16px !important}
  .analysisResultCardV26>header{display:flex;align-items:flex-end;justify-content:space-between}
  .analysisResultCardV26>header h2{font-size:25px !important}
  .analysisResultCardV26>header>strong{font-size:21px !important}
  .analysisMetricGridV26>div{min-height:112px;padding:15px 7px !important}
  .analysisMetricGridV26 small{font-size:14px !important}
  .analysisMetricGridV26 strong{font-size:30px !important}
  .analysisMetricGridV26 em{font-size:13px !important}
  .pairV26Header h2,.pairV26AttackLine strong{font-size:26px}
  .pairV26AttackLine span{font-size:14px}.pairV26AttackLine b{font-size:19px}.pairV26AttackLine em{font-size:15px;margin-left:4px}
  .pairV26Secondary strong{font-size:29px}.pairV26Secondary small{font-size:14px}.pairV26Secondary em{font-size:12px}
  .gameCompareV26Head,.gameCompareV26Row{grid-template-columns:minmax(0,1fr) 118px minmax(0,1fr)}
  .gameCompareV26Head strong{font-size:25px}.gameCompareV26Head span{font-size:13px}
  .gameCompareV26Row{min-height:100px;padding:9px 6px}.gameCompareV26Row>span{font-size:14px;padding:0 4px}.gameCompareValue strong{font-size:26px}.gameCompareValue small{font-size:11px}
}
@media(max-width:430px){
  .heroActions.v30.heroActionsV24.heroActionsV26 .homeActionButton{font-size:11.5px !important}
  .analysisResultCardV26>header h2{font-size:24px !important}.analysisResultCardV26>header>strong{font-size:20px !important}
  .analysisMetricGridV26 small{font-size:13px !important}.analysisMetricGridV26 strong{font-size:28px !important}.analysisMetricGridV26 em{font-size:12px !important}
  .pairV26Header{grid-template-columns:minmax(0,1fr) auto;column-gap:8px}.pairV26Header h2,.pairV26AttackLine strong{font-size:24px}.pairV26AttackLine span{font-size:12px}.pairV26AttackLine b{font-size:17px}.pairV26AttackLine em{font-size:13px}.pairV26Header>small{font-size:11px}
  .pairV26Secondary strong{font-size:27px}.pairV26Secondary small{font-size:13px}
  .gameCompareV26Head,.gameCompareV26Row{grid-template-columns:minmax(0,1fr) 106px minmax(0,1fr)}.gameCompareValue strong{font-size:23px}.gameCompareV26Row>span{font-size:13px}
}


/* =========================================================
   v27 — team score consistency + compact pickup + speed UI
   ========================================================= */
.teamSimpleMatchRow .matchResultScore{
  min-width:66px !important;
  min-height:34px !important;
  padding:2px 6px !important;
  justify-content:center !important;
  color:#383c44 !important;
  border:1.5px solid transparent !important;
  border-radius:0;
  background:transparent !important;
  box-shadow:none !important;
  font-weight:1000 !important;
}
.teamSimpleMatchRow .matchResultScore.win{
  color:#383c44 !important;
  background:#fff !important;
  border-color:#aeb4be !important;
  box-shadow:0 1px 3px rgba(47,53,63,.08) !important;
}
.teamSimpleMatchRow .matchResultScore.loss,
.teamSimpleMatchRow .matchResultScore.draw{
  color:#383c44 !important;
  background:transparent !important;
  border-color:transparent !important;
  box-shadow:none !important;
}

/* Exactly three pickup players — no horizontal scrollbar */
.pickupPlayersSection .pickupPlayerScroll{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:10px !important;
  overflow:visible !important;
  padding-bottom:0 !important;
  scroll-snap-type:none !important;
}
.pickupPlayersSection .pickupPlayerCard{
  width:auto !important;
  min-width:0 !important;
  flex:none !important;
}
@media(max-width:430px){
  .pickupPlayersSection .pickupPlayerCard{padding:13px 9px !important}
  .pickupPlayersSection .pickupPlayerCard strong{font-size:clamp(13px,3.8vw,17px) !important}
  .pickupPlayersSection .pickupPlayerCard small{font-size:12px !important}
}

/* Team Numa results: W-L is the headline number */
.teamResultSummaryV27{display:flex !important;align-items:baseline;gap:12px !important;color:#2f3237 !important}
.teamResultSummaryV27 b{font-size:27px !important;line-height:1;color:var(--purple);font-weight:1000;white-space:nowrap}
.teamResultSummaryV27 span{font-size:17px !important;color:#2f3237;font-weight:900;white-space:nowrap}

/* Setter x attacker: AT and distribution are equal, two-column headline metrics */
.pairV27Header{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;padding-bottom:10px;border-bottom:1px solid #e8ebf0}
.pairV27Header h2{margin:0;font-size:28px;line-height:1.08;letter-spacing:-.02em}
.pairV27Header strong{font-size:18px;color:#555a62;white-space:nowrap}
.pairV27Metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:11px}
.pairV27Metrics>div{padding:15px 10px;border-radius:0;background:#f7f8fb;text-align:center}
.pairV27Metrics small{display:block;font-size:15px;color:#50555d;font-weight:950}
.pairV27Metrics strong{display:block;margin-top:6px;font-size:31px;line-height:1;color:#2a2d31;letter-spacing:-.02em}
.pairV27Metrics strong>span{color:var(--purple)}
.pairV27Metrics strong b{font-size:20px;color:#2a2d31}
.pairV27Metrics em{display:block;margin-top:6px;font-size:13px;color:#6e747d;font-style:normal;font-weight:850}
@media(max-width:600px){
  .pairV27Header h2{font-size:26px}.pairV27Header strong{font-size:16px}
  .pairV27Metrics strong{font-size:30px}.pairV27Metrics small{font-size:14px}
}
@media(max-width:430px){
  .teamResultSummaryV27{gap:7px !important}.teamResultSummaryV27 b{font-size:24px !important}.teamResultSummaryV27 span{font-size:15px !important}
  .pairV27Header h2{font-size:24px}.pairV27Header strong{font-size:15px}
  .pairV27Metrics{gap:8px}.pairV27Metrics>div{padding:13px 7px}.pairV27Metrics strong{font-size:28px}.pairV27Metrics small{font-size:13px}.pairV27Metrics em{font-size:11px}
}


/* v28 SPEED: skip layout/paint work for long off-screen data lists on mobile. */
.teamSimpleMatchRow,
.rosterRow,
.matchRosterRow,
.analysisResultCard,
.pairSetterResultCard,
.pairCompactRow,
.globalMatchList > *,
.historyRow,
.playerListRow {
  content-visibility: auto;
  contain-intrinsic-size: 1px 84px;
}


/* v28-3 — mobile bottom nav: real Home / Numa Search icons */
@media(max-width:920px){
  .mobileBottomNav a:nth-child(1) span,
  .mobileBottomNav a:nth-child(3) span{
    width:auto !important;
    height:auto !important;
    display:block !important;
    background:transparent !important;
    color:inherit !important;
    border-radius:0;
    font-size:23px !important;
    line-height:1 !important;
    font-family:"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji",sans-serif !important;
  }
  .mobileBottomNav a:nth-child(1).active span,
  .mobileBottomNav a:nth-child(3).active span{
    background:transparent !important;
  }
}

/* v29 — player history search */
.historicalLoadState{margin:5px 3px 2px;color:var(--purple);font-size:13px;font-weight:800}
.historicalLoadState.error{color:#a04c68}

/* v32 — editorial / AdSense quality pages */
.editorialPage{max-width:860px;margin:0 auto;padding:36px 28px 64px;color:#2d3035}
.editorialKicker{font-size:12px;font-weight:950;letter-spacing:.14em;color:#6d727b;text-transform:uppercase;margin-bottom:9px}
.editorialPage h1{font-size:clamp(30px,5vw,48px);line-height:1.08;letter-spacing:-.035em;margin:0 0 22px}
.editorialPage h2{font-size:22px;line-height:1.3;margin:34px 0 10px;padding-top:2px}
.editorialPage p{font-size:16px;line-height:1.9;margin:0 0 16px}
.editorialLead{font-size:18px !important;font-weight:700;color:#444951}
.editorialLinks,.notFoundLinks{display:flex;gap:10px;flex-wrap:wrap;margin-top:28px !important}
.editorialLinks a,.notFoundLinks a{display:inline-flex;padding:11px 15px;border:1px solid #cfd3d9;border-radius:0;background:#fff;font-weight:900;color:#454e5d;text-decoration:none}
.topicList{display:grid;gap:14px;margin-top:28px}
.topicCard{display:block;padding:22px;border:1px solid #d9dce2;border-radius:0;background:#fff;color:inherit;text-decoration:none;box-shadow:0 3px 14px rgba(43,49,60,.04)}
.topicCard>div{display:flex;justify-content:space-between;gap:14px;color:#6e747f;font-size:12px;font-weight:900;letter-spacing:.06em}
.topicCard h2{font-size:22px;margin:10px 0 7px;padding:0}.topicCard p{font-size:14px;line-height:1.65;margin:0 0 10px;color:#565a62}.topicCard>strong{font-size:13px;color:var(--purple)}
.topicCardCompact{padding:16px 22px}.topicCardCompact h2{font-size:18px;margin:6px 0 0;line-height:1.4}
.columnPagination{display:flex;justify-content:center;align-items:center;gap:20px;margin:28px 0 4px;font-size:15px;font-weight:800}
.columnPagination a{padding:10px 16px;border:1px solid #d0daeb;border-radius:0;color:var(--purple);text-decoration:none;background:#fff}
.homePlayerSearch{max-width:740px;margin:22px auto 24px;padding:0 16px}.homePlayerSearch label{display:block;margin-bottom:9px;font-size:17px;font-weight:800}.homePlayerSearch>div{display:flex;gap:9px}.homePlayerSearch input{flex:1;min-width:0;padding:12px 14px;border:1px solid #d0daeb;border-radius:0;font:inherit}.homePlayerSearch button{padding:10px 22px;border:0;border-radius:0;background:var(--purple);color:#fff;font:inherit;font-weight:800;cursor:pointer}
.homeSearchSection{max-width:740px;margin:32px auto;padding:12px 0 8px}.homeSearchSection .homePlayerSearch{margin:0 auto 14px}.homeNumaButton{display:block;margin:0 16px;padding:13px 18px;border:1px solid #d0daeb;border-radius:0;background:#fff;color:var(--purple);font-weight:800;text-align:center;text-decoration:none}
.homeNumaPrompt{display:flex;align-items:center;justify-content:center;gap:16px;margin:0 16px;padding:17px 20px;border:1px solid #d7e2f5;border-radius:0;background:#f0f6ff;color:#364e78;font-size:17px;font-weight:800}.homeNumaPrompt .homeNumaButton{display:inline-flex;align-items:center;justify-content:center;min-height:54px;margin:0;padding:12px 24px;border:0;border-radius:0;background:var(--purple);color:#fff;font-size:20px;box-shadow:0 5px 14px rgba(70,107,170,.22);transition:transform .15s,box-shadow .15s}.homeNumaPrompt .homeNumaButton:not(*){transform:translateY(-2px);box-shadow:0 7px 18px rgba(70,107,170,.3)}
@media (hover:hover) and (pointer:fine){.homeNumaPrompt .homeNumaButton:hover{transform:translateY(-2px);box-shadow:0 7px 18px rgba(70,107,170,.3)}}.homeNumaPrompt .homeNumaButton:focus-visible{outline:3px solid #20314e;outline-offset:3px}
@media(max-width:680px){.homeNumaPrompt{flex-direction:column;gap:9px;padding:15px 12px;text-align:center;font-size:15px}.homeNumaPrompt .homeNumaButton{width:100%;font-size:18px}}
.topicDate{display:block;margin:-12px 0 23px;color:#737881;font-size:13px;font-weight:800}.topicArticle section{margin-top:28px}
.homeTopicGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.homeTopicCard{display:block;padding:16px;border:1px solid #dbdee4;border-radius:0;background:#fff;color:inherit;text-decoration:none;min-width:0}
.homeTopicCard>span{display:block;font-size:10px;font-weight:950;letter-spacing:.11em;color:#6f747d}.homeTopicCard h3{font-size:16px;line-height:1.35;margin:7px 0 6px}.homeTopicCard p{font-size:12px;line-height:1.55;color:#646870;margin:0}
@media(max-width:680px){.editorialPage{padding:28px 18px 50px}.editorialLead{font-size:16px !important}.editorialPage p{font-size:15px}.homeTopicGrid{grid-template-columns:1fr}.homeTopicCard p{font-size:13px}.siteFooter nav{gap:10px 14px}}

.homeTopicEmpty{margin:0;padding:24px 18px;border:1px solid #e7ecf5;border-radius:0;color:#787f8b;background:#fff;line-height:1.7;}


/* v38 — columns promoted above PICK UP PLAYERS; mobile shows compact title-only list */
@media(max-width:680px){
  .homeTopicsSection .homeTopicGrid{display:block;border-top:1px solid #e5e5e5}
  .homeTopicsSection .homeTopicCard{display:block;padding:12px 2px;border:0;border-bottom:1px solid #e5e5e5;border-radius:0;box-shadow:none;background:transparent}
  .homeTopicsSection .homeTopicCard span,.homeTopicsSection .homeTopicCard p{display:none}
  .homeTopicsSection .homeTopicCard h3{margin:0;font-size:14px;line-height:1.45;font-weight:700}
  .mobileBottomNav{grid-template-columns:repeat(6,minmax(0,1fr))}
  .mobileBottomNav a{min-width:0}
  .mobileBottomNav small{font-size:9px;white-space:nowrap}
}


/* v39 — PC hero tightening + visible Thai flag + scheduled matches */
.thaiFlagV39{display:inline-block !important;width:25px;height:17px;border-radius:0;box-shadow:0 0 0 1px rgba(0,0,0,.08);background:linear-gradient(to bottom,#a51931 0 16.67%,#fff 16.67% 33.33%,#2d2a4a 33.33% 66.67%,#fff 66.67% 83.33%,#a51931 83.33% 100%);flex:none}
.globalMatchScore.scheduled,.bigMatchScore.scheduled{min-width:42px;display:grid;place-items:center}
.scheduledVs{font-size:.78em !important;line-height:1 !important;color:#6c727c;font-weight:900;text-transform:lowercase}
.matchResultScore.scheduled{color:#676f7d !important;font-size:13px !important;font-weight:900 !important;white-space:nowrap}
@media(min-width:921px){
  .pageShell{padding-top:26px !important}
  .homeHeroV30{padding:34px 52px 30px !important}
  .heroTitleV30 h1{font-size:clamp(58px,6.55vw,88px) !important;line-height:.86 !important}
  .heroTitleV30 h1 span:nth-child(2),.heroTitleV30 h1 span:nth-child(3){margin-top:10px !important}
  .heroDatabaseMeta{display:flex !important;align-items:baseline;gap:18px !important;margin-top:20px !important;font-size:19px !important;white-space:nowrap}
  .heroDatabaseMeta>span{display:inline !important;font-size:1em !important}
  .heroDatabaseMeta>span:last-child{font-size:1em !important}
  .heroTaglineV30{margin-top:18px !important;font-size:25px !important}
  .heroActions.v30{margin-top:17px !important}
  .thaiAvailabilityV30{margin-top:10px !important}
  .homeTopicsSection{margin-top:14px !important}
}
@media(max-width:920px){
  .thaiFlagV39{width:23px;height:15px}
}


/* v40: desktop polish only; preserve the completed mobile TOP */
.teamBadge,.pickupBadge,.pickupTeamBadge{color:#1a1e24 !important}
.matchVenueAttendance{display:flex;justify-content:center;flex-wrap:wrap;gap:10px 24px;margin:12px 0 0;color:#5e636b;font-size:14px;font-weight:800}
.matchVenueAttendance span{display:inline-flex;align-items:baseline;gap:7px}
.matchVenueAttendance b{color:#2a2f38;font-size:12px;letter-spacing:.04em}
@media(min-width:921px){
  .desktopSidebar{padding-top:22px;padding-bottom:18px}
  .sideBrand{padding:2px 9px 16px}
  .sideNav{gap:3px}
  .sideNavItem{min-height:43px;padding:0 13px}
  .sideLang{margin-top:14px;gap:5px}
  .sideLang a{padding:7px 10px}
}


/* v41 — desktop sidebar compaction + tighter DATA columns spacing */
@media(min-width:921px){
  .desktopSidebar{padding-top:16px !important;padding-bottom:12px !important}
  .sideBrand{padding:0 9px 10px !important}
  .sideNav{gap:1px !important}
  .sideNavItem{min-height:38px !important;padding:0 13px !important}
  .sideLang{margin-top:8px !important;gap:3px !important}
  .sideLang a{padding:5px 10px !important}
  .homeTopicsSection{margin-top:6px !important}
}

/* v42 — scheduled venue on desktop / compact label on mobile */
.scheduledVenueDesktop{display:inline}
.scheduledVenueMobile{display:none}
@media(max-width:760px){
  .scheduledVenueDesktop{display:none}
  .scheduledVenueMobile{display:inline}
}

/* v42 — Numa free-word search */
.numaFreewordSection{margin-top:28px;padding-top:24px;border-top:1px solid #ddd}
.numaFreewordCard{padding:18px;border:1px solid #ddd;border-radius:0;background:#fff}
.numaFreewordCard h2{margin:2px 0 5px;font-size:23px}
.numaFreewordCard p{margin:0 0 14px;color:#666;font-size:13px;line-height:1.6}
.numaFreewordForm{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}
.numaFreewordForm input{min-width:0;padding:12px 14px;border:1px solid #bbb;border-radius:0;font:inherit;font-size:16px}
.numaFreewordForm button{padding:0 20px;border:0;border-radius:0;background:#111;color:#fff;font-weight:900;cursor:pointer}
.freewordGroups{display:grid;gap:22px;margin-top:20px}
.freewordGroup{display:grid;gap:8px}
.freewordGroupTitle{display:flex;align-items:baseline;gap:8px;border-bottom:1px solid #ddd;padding-bottom:7px}
.freewordGroupTitle h2{margin:0;font-size:20px}.freewordGroupTitle span{font-size:12px;color:#777;font-weight:800}
.freewordResultList{display:grid;gap:7px}
.freewordResultRow{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 14px;border:1px solid #e2e2e2;border-radius:0;background:#fff;color:inherit;text-decoration:none}
.freewordResultRow strong{font-size:16px}.freewordResultRow small{display:block;margin-top:3px;color:#777;line-height:1.45}.freewordResultRow b{font-size:22px}
.freewordEmpty{padding:24px 0;color:#777}
@media(max-width:760px){
 .numaFreewordSection{margin-top:22px;padding-top:20px}.numaFreewordCard{padding:14px;border-radius:0}.numaFreewordCard h2{font-size:20px}
 .numaFreewordForm{grid-template-columns:1fr}.numaFreewordForm button{min-height:44px}
 .freewordResultRow{padding:11px 12px}.freewordResultRow strong{font-size:15px}
}

.playerColumnsSection{margin-top:14px;padding:18px;border:1px solid var(--line);border-radius:0;background:#fff}.playerColumnsSection .sectionHeading{margin-bottom:10px}.playerColumnsSection .sectionHeading h2{font-size:20px}.playerColumnLinks{display:grid;gap:8px}.playerColumnLinks a,.columnPlayerLinks a{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:0;background:var(--purpleSoft);color:#3f5f95;font-weight:900}.playerColumnLinks a span,.columnPlayerLinks a span{font-size:22px}.columnPlayerLinks{display:grid;gap:8px;margin-top:28px;padding-top:20px;border-top:1px solid var(--line)}
@media(max-width:920px){.playerColumnsSection{padding:15px 12px}.playerColumnsSection .sectionHeading h2{font-size:19px}.playerColumnLinks a,.columnPlayerLinks a{font-size:15px}}

/* v50 — home primary navigation: Teams / Players / Matches / Numa / Favorites */
.heroActionsV50{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr))!important;gap:8px!important;}
.heroActionsV50 .homeActionButton{min-width:0!important;width:100%!important;}
@media(max-width:700px){
  .heroActionsV50{grid-template-columns:repeat(6,minmax(0,1fr))!important;gap:8px!important;}
  .heroActionsV50 .homeActionButton:nth-child(1),
  .heroActionsV50 .homeActionButton:nth-child(2),
  .heroActionsV50 .homeActionButton:nth-child(3){grid-column:span 2!important;}
  .heroActionsV50 .homeActionButton:nth-child(4){grid-column:1 / span 3!important;}
  .heroActionsV50 .homeActionButton:nth-child(5){grid-column:4 / span 3!important;}
}

/* v51 — primary navigation: Teams / Players / Matches / Favorites */
.heroActionsV50{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
}
.heroActionsV50 .homeActionButton{
  min-width:0!important;
  width:100%!important;
  grid-column:auto!important;
}
@media(max-width:700px){
  .heroActionsV50{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .heroActionsV50 .homeActionButton{
    grid-column:auto!important;
  }
}

/* v52 — mobile TOP actions: strict 2x2 + larger labels */
@media(max-width:700px){
  .heroActions.v30.heroActionsV24.heroActionsV26.heroActionsV50{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:8px!important;
  }
  .heroActions.v30.heroActionsV24.heroActionsV26.heroActionsV50 .homeActionButton{
    grid-column:auto!important;
    width:100%!important;
    min-width:0!important;
    min-height:58px!important;
    padding:10px 6px!important;
    font-size:17px!important;
    line-height:1.15!important;
    font-weight:900!important;
  }
}
@media(max-width:430px){
  .heroActions.v30.heroActionsV24.heroActionsV26.heroActionsV50 .homeActionButton{
    min-height:56px!important;
    font-size:16.5px!important;
    padding:9px 5px!important;
  }
}


/* v53 — jersey numbers: always black for readability */
.jerseyBadge,
.matchRosterNo.jerseyBadge.compact{
  color:#000 !important;
}


/* v55 — player hero: current-season short team name on mobile */
.playerTeamNameMobile{display:none}
@media(max-width:920px){
  .playerTeamNameDesktop{display:none}
  .playerTeamNameMobile{display:inline}
  .playerTeamLink{max-width:100% !important;width:auto !important;white-space:nowrap !important}
}

.teamOfficialLinkRow{margin:10px 24px 12px}.teamOfficialLink{display:inline-block;font-size:16px;font-weight:600;color:#527dc8;text-decoration:none}.teamOfficialLink:not(*){text-decoration:underline}
@media (hover:hover) and (pointer:fine){.teamOfficialLink:hover{text-decoration:underline}}@media(max-width:700px){.teamOfficialLinkRow{margin:8px 16px 10px}}


/* v64 — adstir JVDB_SP_300x250_01: exact 300x250, minimal surrounding gap */
.adstir300x250 {
  width: 300px;
  height: 250px;
  min-height: 0;
  max-height: 250px;
  margin: 8px auto;
  padding: 0;
  overflow: hidden;
  text-align: left;
  line-height: 0;
}
.adstir300x250 > iframe,
.adstir300x250 > div {
  max-width: 300px !important;
  max-height: 250px !important;
}

/* v65 — keep the provider's native 300x250 slot, remove all extra layout height */
.adstirSlotWrap{
  width:100%;
  height:250px;
  margin:4px 0 0;
  padding:0;
  display:flex;
  justify-content:center;
  align-items:flex-start;
  overflow:hidden;
}
.adstirSlotWrap .adstir300x250{
  flex:0 0 300px;
  width:300px !important;
  height:250px !important;
  min-height:250px !important;
  max-height:250px !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
  line-height:0 !important;
}
.adstirSlotWrap + .homeTopicsSection{
  margin-top:4px !important;
}
/* v86 — PC uses the dedicated 728x90 spot; the smartphone spot keeps its native size. */
.adstirSlotWrap.adstirSlotDesktop{height:90px}
.adstirSlotDesktop .adstir728x90{flex:0 0 728px;width:728px;height:90px;margin:0;padding:0;overflow:hidden}
@media(max-width:700px){
  .adstirSlotWrap{margin-top:2px;height:250px}
  .adstirSlotWrap + .homeTopicsSection{margin-top:2px !important}
}

/* v81: unified Rabbit Hole / advanced search */
.numaProfileEntry{display:grid;grid-template-columns:minmax(0,1fr) 36px;align-items:center;gap:14px;margin:0 0 18px;padding:18px 20px;border:1px solid #cbd7ed;border-radius:0;background:#fff;box-shadow:var(--shadow);color:inherit;text-decoration:none;cursor:pointer}
.numaProfileEntry>div>span{display:block;margin-bottom:4px;color:var(--pink);font-size:11px;font-weight:950;letter-spacing:.08em}.numaProfileEntry h2{margin:0;font-size:23px}.numaProfileEntry p{margin:5px 0 0;color:var(--muted);font-size:14px;font-weight:750;line-height:1.5}.numaProfileEntry>b{display:grid;place-items:center;width:36px;height:54px;color:var(--purple);font-size:30px;font-weight:900;text-decoration:none}.numaProfileEntry:not(*){border-color:#b0c3e5;box-shadow:0 10px 28px rgba(52,84,140,.12)}
@media (hover:hover) and (pointer:fine){.numaProfileEntry:hover{border-color:#b0c3e5;box-shadow:0 10px 28px rgba(52,84,140,.12)}}
@media(max-width:520px){.numaProfileEntry{padding:15px 14px;margin-bottom:15px}.numaProfileEntry h2{font-size:20px}.numaProfileEntry p{font-size:12px}}
/* v83: NUMA hub is menu-only; filters live inside each analysis */
.analysisInsideFilters{margin:18px 0 14px}
.analysisFilterHelp>div{display:flex;align-items:center;gap:12px}
.analysisFilterApply{border:0;border-radius:0;background:var(--purple);color:#fff;font-weight:950;padding:9px 14px;cursor:pointer}
@media(max-width:760px){.analysisInsideFilters{margin-top:14px}.analysisFilterHelp>div{gap:8px}.analysisFilterApply{padding:8px 11px;font-size:12px}}

/* Match companion lineup */
.matchLineupHomeLink{display:block;margin:12px auto 0;max-width:520px;padding:10px 15px;border:1px solid currentColor;border-radius:0;text-align:center;font-weight:700;color:inherit;text-decoration:none}.matchLineupPage{max-width:1200px;margin:0 auto;padding:28px 12px 80px}.matchLineupPage h1{font-size:32px}.matchLineupPage select,.matchLineupPage input,.matchLineupPage textarea{font:inherit;padding:8px;border:1px solid #bcc4ce;border-radius:0;min-width:0;background:#fff;color:#162237}.lineupGender,.lineupSide>label,.lineupMemo{display:grid;gap:6px;font-weight:700}.lineupGender{max-width:270px;margin:20px 0}.lineupSides{display:grid;grid-template-columns:1fr 1fr;gap:16px}.lineupSide{min-width:0;border:1px solid #d3d8e1;border-radius:0;padding:15px}.lineupSide h2{font-size:19px}.lineupEntries{margin:14px 0}.lineupEntry{display:grid;grid-template-columns:88px minmax(0,1fr) 56px;gap:5px;align-items:center;padding:4px 0;border-bottom:1px solid #edf0f3}.lineupRole{font-size:12px;font-weight:700}.lineupEntry select{width:100%}.lineupEntry .lineupNumber{width:100%;text-align:center;padding-left:3px;padding-right:3px}.lineupPlayer{grid-column:2/4;color:#173e87;text-decoration:none;font-weight:700;min-height:36px;padding:8px 2px}.lineupMemo{margin-top:18px}.lineupMemo textarea{min-height:120px}.lineupActions{display:flex;gap:10px;margin:15px 0}.lineupActions button{padding:9px 17px;border:1px solid #333;border-radius:0;background:#fff;cursor:pointer}.lineupActions .lineupPrimary{background:#17233f;color:#fff}@media(max-width:750px){.lineupSides{grid-template-columns:1fr}.lineupEntry{grid-template-columns:75px minmax(0,1fr) 49px}.matchLineupPage h1{font-size:27px}}

/* Drag by the dedicated handle so selects and player links remain tappable. */
.lineupEntry{grid-template-columns:34px 88px minmax(0,1fr) 56px}
.lineupEntry .lineupPlayer{grid-column:3/5}
.lineupDragHandle{width:30px;height:38px;padding:0;border:0;border-radius:0;background:#e9eef5;color:#17233f;font-size:22px;line-height:1;cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none}
.lineupDragHandle:active{cursor:grabbing;background:#c6d7ee}
.lineupDragHandle:disabled{opacity:.3;cursor:default}
.lineupDropTarget{background:#e8f1ff;box-shadow:inset 0 0 0 2px #3980d3;border-radius:0}
@media(max-width:750px){.lineupEntry{grid-template-columns:32px 75px minmax(0,1fr) 49px}}

.bioGrid .kStockLink{display:inline-flex;justify-self:start;margin-top:3px;padding:5px 13px;border:1px solid #bac2cf;border-radius:0;background:#fff;color:#1e293b;font-size:14px;font-weight:700;text-decoration:none}

/* v90: search and match companion buttons */
.homeSearchSection{max-width:920px}.homeNumaPrompt{flex-direction:column;gap:12px}.homeCompanionButtons{display:flex;justify-content:center;gap:12px;width:100%}.homeNumaPrompt .homeNumaButton,.homeNumaPrompt .matchLineupHomeLink{display:inline-flex;align-items:center;justify-content:center;min-height:54px;margin:0;padding:11px 18px;border:0;border-radius:0;text-align:center;font-size:18px;font-weight:800;text-decoration:none;line-height:1.4;flex:1;max-width:370px}.homeNumaPrompt .matchLineupHomeLink{background:#fff;border:2px solid var(--purple);color:var(--purple)}.homeNumaPrompt .matchLineupHomeLink:not(*){background:#e6edfa}
@media (hover:hover) and (pointer:fine){.homeNumaPrompt .matchLineupHomeLink:hover{background:#e6edfa}}.homeNumaPrompt .matchLineupHomeLink:focus-visible{outline:3px solid #20314e;outline-offset:3px}
@media(max-width:680px){.homeCompanionButtons{flex-direction:column;align-items:stretch}.homeNumaPrompt .homeNumaButton,.homeNumaPrompt .matchLineupHomeLink{max-width:none;width:100%;font-size:17px}}

/* RDJ inspired match sheet: numbered shirt icons, starters and bench */
.lineupPreviewGroup{border-top:2px solid #d3d6df;padding-top:11px;margin-top:15px}.lineupPreviewGroup:first-child{margin-top:0}.lineupPreviewGroup h3{font-size:15px;margin:0 0 7px;color:#474b5b}.lineupPreviewGrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.lineupPreviewPlayer{display:flex;align-items:center;gap:10px;min-width:0;min-height:50px;padding:5px 2px;border-bottom:1px solid #dedfe5;color:#17233f;text-decoration:none}.lineupPreviewPlayer strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:16px}.lineupPreviewPlayer:not(*) strong{text-decoration:underline}
@media (hover:hover) and (pointer:fine){.lineupPreviewPlayer:hover strong{text-decoration:underline}}.lineupShirt{display:grid;place-items:center;flex:none;width:38px;height:39px;background:#fff;border:1.5px solid #a8aab1;border-bottom:5px solid var(--lineup-team,#5d77a3);font-weight:900;font-size:16px;color:#111}.lineupChevron{margin-left:auto;font-size:20px}.lineupEmpty{opacity:.5}
@media(max-width:680px){.lineupPreviewGrid{grid-template-columns:1fr}.lineupPreviewPlayer{min-height:58px}.lineupShirt{width:48px;height:48px;font-size:19px}.lineupPreviewPlayer strong{font-size:18px}}

/* Keep drag handles available in the saved match sheet */
.lineupPreviewPlayer .lineupPreviewName{display:flex;align-items:center;gap:4px;min-width:0;flex:1;color:#17233f;text-decoration:none}.lineupPreviewPlayer .lineupPreviewName:not(*) strong{text-decoration:underline}
@media (hover:hover) and (pointer:fine){.lineupPreviewPlayer .lineupPreviewName:hover strong{text-decoration:underline}}.lineupPreviewPlayer .lineupDragHandle{flex:none}.lineupPreviewPlayer.lineupDropTarget{background:#e8f1ff;box-shadow:inset 0 0 0 2px #3980d3}@media(max-width:680px){.lineupPreviewPlayer .lineupPreviewName strong{font-size:18px}}

/* Match note side swap, visual order only */
.lineupFlipButton{display:block;margin:16px auto 4px;padding:10px 17px;border:1px solid #516280;border-radius:0;background:#fff;color:#3c5175;font:inherit;font-weight:800;cursor:pointer}.lineupFlipButton:not(*),.lineupFlipButton[aria-pressed="true"]{background:#e5ebf5}
@media (hover:hover) and (pointer:fine){.lineupFlipButton:hover,.lineupFlipButton[aria-pressed="true"]{background:#e5ebf5}}.lineupSides.lineupFlipped>.lineupSide:first-child{order:2}.lineupSides.lineupFlipped>.lineupSide:last-child{order:1}

.conferencePlayerRow{margin:0 0 22px}.conferencePlayerRow p{margin-bottom:8px}.conferencePlayerRow .columnPlayerLinks{margin:0;padding:0;border:0}

.homeNumaPrompt .matchLineupHomeLinkJa{flex-direction:column;gap:0}.matchLineupHomeLinkJa span{display:block;white-space:nowrap}

/* Mobile team title: same 20px size as roster player names. */
@media(max-width:920px){.teamHero h1{font-size:20px!important}}

.profileSearchLink{color:var(--purple);text-decoration:underline;text-underline-offset:3px;cursor:pointer}

.homeNumaTop{display:flex;justify-content:center;margin:16px 0}.homeNumaTop .homeNumaButton{font-size:18px;font-weight:700;min-height:48px}

/* v130: square blue interface; team colours remain on badge underlines. */
:root{--purple:#155dcc;--purpleSoft:#eaf1fc;--purple-soft:#eaf1fc;--purple-deep:#16458e;--bg:#fff;--text:#172033;--muted:#647084;--line:#dce2eb;--shadow:0 4px 16px rgba(23,32,51,.05)}
*,*::before,*::after{border-radius:0!important}
.pickupBadge,.pickupTeamBadge,.teamBadge,.jerseyBadge{
 background:#fff!important;color:#111827!important;
 border-style:solid!important;border-width:1px 1px 5px!important;
 aspect-ratio:1 / 1;
}
.sideBrand img,.mobileBrand img{filter:hue-rotate(-55deg)}

.pickupBadge,.pickupTeamBadge,.teamBadge,.jerseyBadge{border-top-color:#dce2eb!important;border-left-color:#dce2eb!important;border-right-color:#dce2eb!important}


/* Yellow limited to the logo, subheading rules, and link interaction. */
:root{--yellow:#ffdc00;--yellowSoft:#fff7ce}
.sideBrand img,.mobileBrand img{filter:none!important;object-fit:contain}
.sideBrand img{width:50px;height:50px}.mobileBrand img{width:44px;height:44px}
.sectionHeading h2{border-bottom:3px solid var(--yellow);padding-bottom:4px}
a,button{cursor:pointer;-webkit-tap-highlight-color:#fff7ce}
:is(#jvdb-interaction,a[href],button:not(:disabled)):is(:not(*),:active,:focus-visible){
 background:#fff7ce!important;color:#16458e!important;
}
@media (hover:hover) and (pointer:fine){:is(#jvdb-interaction,a[href],button:not(:disabled)):is(:hover,:active,:focus-visible){
 background:#fff7ce!important;color:#16458e!important;
}}
:is(#jvdb-interaction,a[href],button:not(:disabled)):focus-visible{outline:2px solid #155dcc;outline-offset:3px}

.numberStack .playerNumberBadge{display:grid!important;place-items:center!important;width:64px!important;height:64px!important;aspect-ratio:1/1;background:#fff!important;color:#111827!important;border:1px solid #dce2eb;border-bottom:5px solid;font-size:36px!important;line-height:1!important;margin:0 auto 8px!important;box-sizing:border-box}
@media(max-width:920px){.numberStack .playerNumberBadge{width:56px!important;height:56px!important;font-size:32px!important}}

.playerHeroCompact{grid-template-columns:minmax(0,1fr) 130px}
.numberStack .playerPositionHeight{display:flex!important;align-items:baseline;justify-content:center;gap:7px;white-space:nowrap}
.numberStack .playerPositionHeight strong,.numberStack .playerPositionHeight span{font-size:17px!important;line-height:1.3!important;font-weight:900!important;color:#172033!important;white-space:nowrap}
@media(max-width:920px){.playerHeroCompact{grid-template-columns:minmax(0,1fr) 112px!important}.numberStack{padding-left:10px!important}.numberStack .playerPositionHeight{gap:5px}.numberStack .playerPositionHeight strong,.numberStack .playerPositionHeight span{font-size:16px!important}}
@media(max-width:380px){.playerHeroCompact{grid-template-columns:minmax(0,1fr) 104px!important}}

/* Align profile identity and jersey block within the same compact height. */
.playerHeroCompact{align-items:center!important}
.playerHeroMain{align-items:center!important}
.playerIdentity{display:grid;gap:4px;align-content:center}
.playerIdentity h1{margin:0!important;line-height:1.15!important}
.playerIdentity>p{margin:0!important;line-height:1.3!important}
.playerIdentity .playerTeamLink{margin:0!important;padding:0!important;line-height:1.3!important;min-height:0!important}
.numberStack{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:6px!important;align-self:center!important}
.numberStack .playerNumberBadge{margin:0!important}
@media(max-width:920px){.playerHeroCompact{padding-top:16px!important;padding-bottom:16px!important}.playerIdentity>p{font-size:16px!important}.playerIdentity .playerTeamLink{font-size:16px!important}}
/* Requested four-button palette. */
:is(#jvdb-home-palette,.homeActionButton).teams{background:#ffdc00!important;border-color:#ffdc00!important;color:#172033!important}
:is(#jvdb-home-palette,.homeActionButton).find{background:#155dcc!important;border-color:#155dcc!important;color:#fff!important}
:is(#jvdb-home-palette,.homeActionButton).matches{background:#fff!important;border-color:#dce2eb!important;color:#172033!important}
:is(#jvdb-home-palette,.homeActionButton).favorites{background:#d92d39!important;border-color:#d92d39!important;color:#fff!important}
.homeHero :is(#jvdb-home-palette,.homeActionButton):is(:not(*),:active,:focus-visible){background:#fff7ce!important;color:#16458e!important}
@media (hover:hover) and (pointer:fine){.homeHero :is(#jvdb-home-palette,.homeActionButton):is(:hover,:active,:focus-visible){background:#fff7ce!important;color:#16458e!important}}

/* Soft button colours, dark labels for readability. */
:is(#jvdb-home-palette,.homeActionButton).teams{background:#fff7ce!important;border-color:#eadfaa!important;color:#53471a!important}
:is(#jvdb-home-palette,.homeActionButton).find{background:#eaf1fc!important;border-color:#cbdaf2!important;color:#16458e!important}
:is(#jvdb-home-palette,.homeActionButton).favorites{background:#fdecef!important;border-color:#f0cdd3!important;color:#9e2636!important}
:is(#jvdb-league-palette,.leagueButtons a).svWomen,:is(#jvdb-league-palette,.leagueButtons a).svgWomen{background:#fff7ce!important;color:#53471a!important}
:is(#jvdb-league-palette,.leagueButtons a).svMen,:is(#jvdb-league-palette,.leagueButtons a).svgMen{background:#eaf1fc!important;color:#16458e!important}
:is(#jvdb-league-palette,.leagueButtons a).selected{border-color:#155dcc!important}
.homeHero :is(#jvdb-home-palette,.homeActionButton):is(:not(*),:active,:focus-visible),.leagueButtons :is(#jvdb-league-palette,a):is(:not(*),:active,:focus-visible){background:#fff7ce!important;color:#16458e!important}
@media (hover:hover) and (pointer:fine){.homeHero :is(#jvdb-home-palette,.homeActionButton):is(:hover,:active,:focus-visible),.leagueButtons :is(#jvdb-league-palette,a):is(:hover,:active,:focus-visible){background:#fff7ce!important;color:#16458e!important}}

/* Home discovery: align with the rightmost primary button. */
:is(#jvdb-home-palette,.homeActionButton).teams{background:#eaf1fc!important;border-color:#cbdaf2!important;color:#16458e!important}
.homeHero .homeNumaTop{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:8px 0 16px!important;align-items:center}
.homeNumaLead{grid-column:1 / span 3;margin:0;text-align:right;font-size:16px;font-weight:700;line-height:1.5}
.homeHero .homeNumaTop .homeNumaButton{display:flex;align-items:center;justify-content:center;width:100%;min-width:0;min-height:58px;margin:0!important;padding:10px 6px!important;box-sizing:border-box;background:#fff7ce!important;border:1px solid #eadfaa!important;color:#53471a!important;font-size:17px!important;font-weight:900!important;line-height:1.15!important;box-shadow:none!important}
@media(max-width:700px){.homeHero .homeNumaTop{grid-template-columns:repeat(2,minmax(0,1fr))}.homeNumaLead{grid-column:1;font-size:14px}}
@media(max-width:430px){.homeHero .homeNumaTop .homeNumaButton{min-height:56px!important;font-size:16.5px!important;padding:9px 5px!important}.homeNumaLead{font-size:12px}}
.homeHero :is(#jvdb-home-palette,.homeActionButton):is(:not(*),:active,:focus-visible){background:#fff7ce!important;color:#16458e!important}
@media (hover:hover) and (pointer:fine){.homeHero :is(#jvdb-home-palette,.homeActionButton):is(:hover,:active,:focus-visible){background:#fff7ce!important;color:#16458e!important}}

/* Reviewed home and league palette. */
.homeHero :is(#jvdb-home-palette,.homeActionButton).teams,
.homeHero :is(#jvdb-home-palette,.homeActionButton).find{background:#eaf1fc!important;border-color:#cbdaf2!important;color:#16458e!important}
.homeHero :is(#jvdb-home-palette,.homeActionButton).favorites{background:#fff!important;border-color:#dce2eb!important;color:#172033!important}
.homeHero :is(#jvdb-home-palette,.homeActionButton).favorites:is(:not(*),:active,:focus-visible){background:#fdecef!important;border-color:#f0cdd3!important;color:#9e2636!important}
@media (hover:hover) and (pointer:fine){.homeHero :is(#jvdb-home-palette,.homeActionButton).favorites:is(:hover,:active,:focus-visible){background:#fdecef!important;border-color:#f0cdd3!important;color:#9e2636!important}}
.homeHero .homeNumaTop :is(#jvdb-interaction,.homeNumaButton){background:#fff7ce!important;border-color:#eadfaa!important;color:#53471a!important}
.homeHero .homeNumaTop :is(#jvdb-interaction,.homeNumaButton):is(:not(*),:active,:focus-visible){background:#eaf1fc!important;border-color:#cbdaf2!important;color:#16458e!important}
@media (hover:hover) and (pointer:fine){.homeHero .homeNumaTop :is(#jvdb-interaction,.homeNumaButton):is(:hover,:active,:focus-visible){background:#eaf1fc!important;border-color:#cbdaf2!important;color:#16458e!important}}
.leagueButtons :is(#jvdb-league-palette,a).svWomen,
.leagueButtons :is(#jvdb-league-palette,a).svMen{background:#eaf1fc!important;color:#16458e!important}
.leagueButtons :is(#jvdb-league-palette,a).svgWomen,
.leagueButtons :is(#jvdb-league-palette,a).svgMen{background:#fff!important;color:#172033!important}
.leagueButtons :is(#jvdb-league-palette,a):is(:not(*),:active,:focus-visible){background:#fff7ce!important;color:#16458e!important}
@media (hover:hover) and (pointer:fine){.leagueButtons :is(#jvdb-league-palette,a):is(:hover,:active,:focus-visible){background:#fff7ce!important;color:#16458e!important}}

/* Thin outlines for SVG league choices. */
.leagueButtons :is(#jvdb-league-palette,a).svgWomen,
.leagueButtons :is(#jvdb-league-palette,a).svgMen{border:1px solid #cbd3df!important;box-sizing:border-box}
.leagueButtons :is(#jvdb-league-palette,a).selected{border-color:#155dcc!important}

/* Mobile season history: reserve a consistent statistics column. */
@media(max-width:920px){
.historyList .historyBottom{display:grid!important;grid-template-columns:132px max-content!important;gap:8px!important;align-items:center!important}
.historyList .historyBottom>span{min-width:0;font-variant-numeric:tabular-nums}
.historyList .historyBottom .historyDetailButton{justify-self:start!important;margin-left:0!important}
}

/* Desktop season history uses a fixed statistics column too. */
@media(min-width:921px){
.historyList .historyBottom{display:grid!important;grid-template-columns:150px max-content!important;gap:10px!important;align-items:center!important}
.historyList .historyBottom>span{min-width:0;font-variant-numeric:tabular-nums}
.historyList .historyBottom .historyDetailButton{justify-self:start!important;margin-left:0!important}
}

/* Jersey beside the identity, position and height on the right. */
.playerHeroCompact .playerHeroMain{display:grid!important;grid-template-columns:104px minmax(0,1fr)!important;gap:18px!important;align-items:stretch!important;min-width:0}
.playerHeroCompact .playerIdentity{min-height:104px;gap:4px;justify-content:start}
.playerHeroCompact .playerNumberLeft{display:flex!important;align-items:center;justify-content:center;align-self:stretch!important;margin:0!important;width:100%!important;height:100%!important;min-height:104px;aspect-ratio:auto!important;border:1px solid #d5ddeb!important;border-bottom:5px solid var(--jersey-color,#9ca3af)!important;background:#fff!important;color:#172033!important;font-size:62px!important;line-height:1!important}
.playerHeroCompact .numberStack{padding-left:16px!important;align-self:stretch!important}
.playerHeroCompact .numberStack .playerPositionHeight{display:flex!important;flex-direction:column!important;align-items:center!important;justify-content:center!important;gap:6px!important}
.playerHeroCompact .numberStack .playerPositionHeight strong{font-size:36px!important;line-height:1.1!important}
.playerHeroCompact .numberStack .playerPositionHeight span{font-size:28px!important;line-height:1.2!important}
@media(max-width:920px){
.playerHeroCompact{grid-template-columns:minmax(0,1fr) 82px!important;gap:10px!important;padding:16px 12px!important}
.playerHeroCompact .playerHeroMain{grid-template-columns:76px minmax(0,1fr)!important;gap:10px!important}
.playerHeroCompact .playerIdentity{min-height:80px}
.playerHeroCompact .playerIdentity h1{font-size:23px!important}
.playerHeroCompact .playerIdentity>p{font-size:13px!important}
.playerHeroCompact .playerIdentity .playerTeamLink{font-size:14px!important}
.playerHeroCompact .playerNumberLeft{min-height:80px;font-size:46px!important}
.playerHeroCompact .numberStack{padding-left:8px!important}
.playerHeroCompact .numberStack .playerPositionHeight strong{font-size:30px!important}
.playerHeroCompact .numberStack .playerPositionHeight span{font-size:22px!important}
}

/* More compact jersey badge with a clearer outline. */
.playerHeroCompact .playerHeroMain{grid-template-columns:84px minmax(0,1fr)!important}
.playerHeroCompact .playerNumberLeft{width:84px!important;height:84px!important;min-height:0!important;align-self:center!important;border:1px solid #aab6c8!important;border-bottom:7px solid var(--jersey-color,#9ca3af)!important;font-size:50px!important}
@media(max-width:920px){
.playerHeroCompact .playerHeroMain{grid-template-columns:62px minmax(0,1fr)!important}
.playerHeroCompact .playerNumberLeft{width:62px!important;height:62px!important;min-height:0!important;font-size:38px!important;border-bottom-width:6px!important}
}

/* Illustrated home navigation and left-aligned discovery. */
.homeHero .homeActionButton,.homeHero .homeNumaTop .homeNumaButton{display:flex!important;align-items:center!important;justify-content:center!important;gap:8px!important}
.homeButtonIllustration{display:inline-flex;align-items:center;justify-content:center;font-size:24px;line-height:1;flex:none}
.homeHero .homeNumaTop .homeNumaButton{grid-column:1!important;grid-row:1!important}
.homeHero .homeNumaTop .homeNumaLead{grid-column:2 / -1!important;grid-row:1!important;text-align:left!important}
@media(max-width:430px){.homeButtonIllustration{font-size:22px}.homeHero .homeNumaTop .homeNumaLead{font-size:12px!important}}

/* Keep illustrations and labels together on one line. */
.homeHero .heroActions .homeActionButton,
.homeHero .homeNumaTop .homeNumaButton{flex-direction:row!important;flex-wrap:nowrap!important;white-space:nowrap!important;gap:7px!important}
.homeHero .heroActions .homeActionButton>span,
.homeHero .homeNumaTop .homeNumaButton>span{display:inline-flex!important;width:auto!important;flex:0 0 auto!important;white-space:nowrap!important;margin:0!important}
@media(min-width:701px){
.homeHero .heroActions .homeActionButton{font-size:16px!important;padding-left:5px!important;padding-right:5px!important}
.homeHero .homeButtonIllustration{font-size:22px!important}
}

/* RDJ SVG illustrations; override legacy column layout explicitly. */
.homeHero :is(#jvdb-button-layout,.homeActionButton,.homeNumaButton){display:flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:center!important;gap:8px!important;white-space:nowrap!important}
.homeHero :is(#jvdb-button-layout,.homeActionButton,.homeNumaButton)>span{display:inline-flex!important;flex:none!important;width:auto!important;margin:0!important;white-space:nowrap!important}
.homeHero :is(#jvdb-button-layout,.homeButtonIllustration){width:22px!important;height:22px!important;color:inherit!important}
.homeButtonIllustration svg{display:block;width:22px;height:22px;flex:none}
.homeHero :is(#jvdb-button-layout,.heroActions){grid-template-columns:repeat(4,minmax(0,1fr))!important}
@media(max-width:700px){.homeHero :is(#jvdb-button-layout,.heroActions){grid-template-columns:repeat(2,minmax(0,1fr))!important}}

.homeHero :is(#jvdb-home-palette,.homeActionButton).favorites{color:#c6283b!important}
.homeHero :is(#jvdb-home-palette,.homeActionButton).favorites:is(:not(*),:active,:focus-visible){color:#c6283b!important}
@media (hover:hover) and (pointer:fine){.homeHero :is(#jvdb-home-palette,.homeActionButton).favorites:is(:hover,:active,:focus-visible){color:#c6283b!important}}

/* Yellow accents beneath page and search headings. */
.pageHeading h1,.homePlayerSearch>label{position:relative!important;padding-bottom:10px!important}
.pageHeading h1::after,.homePlayerSearch>label::after{content:"";display:block;position:absolute;left:0;bottom:0;width:104px;height:3px;background:#ffdc00}
.homePlayerSearch>label{display:block!important;margin-bottom:14px!important}
@media(max-width:920px){.pageHeading h1::after,.homePlayerSearch>label::after{width:90px}}

/* Numa blue label and analysis description */
.homeHero .homeNumaTop :is(#jvdb-interaction,.homeNumaButton){color:#155dcc!important}
.homeHero .homeNumaTop .homeNumaLead{color:#155dcc!important;font-weight:800!important;border-left:3px solid #ffdc00!important;padding-left:12px!important;line-height:1.5!important}

.homeHero .homeNumaTop .homeNumaLead{color:#172033!important;font-size:clamp(10px,3vw,16px)!important;padding-left:8px!important}
.homeHero .homeNumaTop .homeNumaLead>span{white-space:nowrap!important}

.homeHero .homeNumaTop :is(#jvdb-interaction,.homeNumaButton),.homeHero .homeNumaTop :is(#jvdb-interaction,.homeNumaButton):is(:not(*),:active,:focus-visible){color:#172033!important}
@media (hover:hover) and (pointer:fine){.homeHero .homeNumaTop :is(#jvdb-interaction,.homeNumaButton),.homeHero .homeNumaTop :is(#jvdb-interaction,.homeNumaButton):is(:hover,:active,:focus-visible){color:#172033!important}}

/* Unified mobile navigation illustrations */
.mobileBottomNav :is(#jvdb-nav-icon,a) .bottomNavIllustration{display:flex!important;align-items:center!important;justify-content:center!important;width:24px!important;height:24px!important;background:transparent!important;border:0!important;border-radius:0!important;color:#697386!important;font-size:0!important;line-height:1!important}
.mobileBottomNav :is(#jvdb-nav-icon,a).active .bottomNavIllustration{color:#155dcc!important;background:transparent!important}
.mobileBottomNav .bottomNavIllustration svg{display:block;width:24px;height:24px;flex:none}
.mobileBottomNav :is(#jvdb-nav-icon,a):is(:not(*),:focus-visible) .bottomNavIllustration{color:#155dcc!important}
@media (hover:hover) and (pointer:fine){.mobileBottomNav :is(#jvdb-nav-icon,a):is(:hover,:focus-visible) .bottomNavIllustration{color:#155dcc!important}}

/* Full-site blue/yellow release */
:root{--purple:#155dcc;--purpleSoft:#eaf1fc;--purple-soft:#eaf1fc;--purple-deep:#155dcc;--pink:#155dcc;--pinkSoft:#eaf1fc;--bg:#fff}button,a,select{cursor:pointer}.playerHeroCompact .playerNumberLeft{border-bottom-color:inherit}.playerHeroCompact .playerIdentity{display:grid;align-content:center;gap:4px}.playerIdentity p,.playerIdentity .playerTeamLink{margin:0!important}.sideNavItem .bottomNavIllustration{width:24px;height:24px;display:flex}.bottomNavIllustration svg{width:24px;height:24px}.playerAnalysisLink{display:inline-flex;margin-top:14px;padding:10px 16px;background:#fff7ce;font-weight:800;border:1px solid #dce2eb}.playerAnalysisLink:not(*){background:#eaf1fc}
@media (hover:hover) and (pointer:fine){.playerAnalysisLink:hover{background:#eaf1fc}}.playerNumberLeft{border-bottom-color:var(--jersey-color,#9ca3af)!important}

.playerHeroCompact .playerNumberLeft{border-bottom-color:var(--jersey-color,#9ca3af)!important}

/* v148: SV women uses a pale yellow base on the team directory. */
.leagueButtons.teamPageButtons :is(#jvdb-league-palette,a).svWomen{background:#fff7ce!important;color:#16458e!important}

/* v150: native touch flash must not force every link to yellow. */
a,button,summary{-webkit-tap-highlight-color:transparent}

.pageShell{--interaction-bg:#f1f3f5}
[data-hover-gender="M"],.svMen,.svgMen{--interaction-bg:#eaf1fc}
[data-hover-gender="W"],.svWomen,.svgWomen{--interaction-bg:#fff7ce}

:is(#jvdb-touch-v150#jvdb-touch-color#jvdb-touch-content,a[href],button:not(:disabled),summary):not(.desktopSidebar *):is(:active,:focus-visible){background:var(--interaction-bg,#f1f3f5)!important}
:is(#jvdb-touch-column#jvdb-touch-column-color#jvdb-touch-column-content#jvdb-touch-neutral,a[href*="/columns"],.columnCard,.playerColumnLinks a):is(:active,:focus-visible){background:#f1f3f5!important}
@media (hover:hover) and (pointer:fine){
:is(#jvdb-touch-v150#jvdb-touch-color#jvdb-touch-content,a[href],button:not(:disabled),summary):not(.desktopSidebar *):hover{background:var(--interaction-bg,#f1f3f5)!important}
:is(#jvdb-touch-column#jvdb-touch-column-color#jvdb-touch-column-content#jvdb-touch-neutral,a[href*="/columns"],.columnCard,.playerColumnLinks a):hover{background:#f1f3f5!important}
}

/* Libero participation marks are circles. */
.setMark.filledCircle,.setMark.openCircle{border-radius:50%!important}
