/* Public website design tokens. Loaded last on every page, including H5/checkout.
   System fonts avoid remote font blocking; business status colours remain semantic. */
:root{--site-font:-apple-system,BlinkMacSystemFont,"Segoe UI","PingFang SC","Hiragino Sans GB","Microsoft YaHei UI","Microsoft YaHei",Arial,sans-serif;--ui-paper:#fff;--ui-bg:#fafafb;--ui-line:#e9ebef;--ui-selected:#fff;--ui-text:#292c31;--ui-sub:#626873;--ui-recess:#f7f8fa;--ui-shadow:0 8px 30px -14px #1720341c,0 1px 3px #17203404;--ui-selection-shadow:0 3px 10px #1720340a,0 1px 2px #17203406;--red:#ec4c32;--warm:#fafafb;--soft:#fafafb;--ink:#292c31;--muted:#626873;--line:#e9ebef}
html{font-size:16px;-webkit-text-size-adjust:100%;text-size-adjust:100%}
body.site-shell,body.checkout-page{font-family:var(--site-font);font-size:16px;line-height:1.65;color:var(--ui-text);background:var(--ui-bg);font-synthesis:none;-webkit-font-smoothing:antialiased}
body.site-shell :is(button,input,select,textarea){font-family:var(--site-font);font-size:15px;letter-spacing:normal}
body.site-shell :is(h1,h2,h3,h4){font-family:var(--site-font);font-weight:600;letter-spacing:-.015em;line-height:1.35}
body.site-shell :is(p,li){line-height:1.75}
body.site-shell :is(small,.eyebrow,.directory-disclaimer,.directory-rule,.directory-rule small,.directory-tier,.directory-rank-number,.portal-directory-link,.portal-section-head>a,.portal-models>footer){font-size:13px;line-height:1.6;letter-spacing:normal}
body.site-shell :is(.page-heading h1,.insights-heading h1,.schedule-command-copy h1){font-size:clamp(28px,3vw,38px);font-weight:600;letter-spacing:-.02em;line-height:1.4}
body.site-shell :is(.site-links,.site-btn,.account-tabs,.detail-tabs,.team-cell,.event-row,.article-body p,.auth-form label,.form-field label){font-size:15px}
body.site-shell .editorial-fixture>span,body.site-shell .expert-rank-number{font-family:var(--site-font);font-style:normal}
body.site-shell.editorial-page{--ed-bg:var(--ui-bg);--ed-paper:var(--ui-paper);--ed-ink:var(--ui-text);--ed-sub:var(--ui-sub);--ed-line:var(--ui-line);--ed-fill:var(--ui-recess);--ed-soft:#fafafb;--ed-accent:#d9472d}
body.site-shell .surface{border-color:var(--ui-line);box-shadow:var(--ui-shadow)}
body.site-shell :is(button,a,input,select,textarea,summary):focus-visible{outline:2px solid #d9472d;outline-offset:3px}
/* Selected controls lift a white surface above an off-white track. No dark or grey fill. */
body.site-shell :is(button.active,button.selected,button[aria-pressed="true"],button[aria-selected="true"],.package-card.active,.channel-card.active,.account-tabs .active,.detail-tabs .active,.page-heading-actions .active){background:var(--ui-selected)!important;color:var(--ui-text)!important;border-color:var(--ui-line)!important;box-shadow:var(--ui-selection-shadow)!important;font-weight:600}
body.site-shell :is(button.active,button.selected,button[aria-pressed="true"]) :is(b,small,span){color:inherit}
body.site-shell :is(.scope-switch,.sport-segment,.schedule-status-row,.insight-play-options,.insight-option-chips) button{font-size:15px}
body.site-shell :is(.compact-team .team-role-chip,.compact-team .team-side,.compact-team .home-tag,.compact-arrow,.row-arrow,.directory-tier,.schedule-result-badge,.package-hot){background:#fafafb;color:var(--ui-sub);border-color:var(--ui-line)}
body.site-shell .compact-team .team-role-chip i{background:#8b919b}
body.site-shell .schedule-day.active b{color:var(--ui-text)}
body.site-shell .schedule-league-head strong,body.site-shell .schedule-league-head b{font-size:17px;font-weight:600}
body.site-shell .schedule-league-head small{font-size:13px}
body.site-shell .schedule-compact-row .compact-team b{font-size:16px!important;font-weight:600;line-height:1.55!important}
body.site-shell .schedule-compact-row :is(.compact-status b,.compact-status small,.compact-score small,.compact-team small){font-size:13px!important;line-height:1.55!important}
body.site-shell .schedule-filter-trigger :is(small,span){font-size:13px}
body.site-shell .schedule-result-head span{font-size:13px}
body.site-shell .schedule-command-kicker{font-size:12px;letter-spacing:.04em}
body.home-page :is(.hero-metrics b,.hero-team b,.hero-live-card>header b,.hero-live-card>header span,.hero-league span,.hero-score>span,.hero-chart-head span,.hero-chart-head b,.hero-live-card>footer b,.focus-meta,.focus-meta span,.focus-meta time,.focus-insight span,.focus-insight b,.focus-insight i){font-size:13px!important;line-height:1.5}
body.home-page .focus-teams b{font-size:15px;line-height:1.5}
body.site-shell .schedule-status-row>button small{background:#fafafb;color:#626873;font-size:13px}
/* The dark footer is a structural brand surface, not a selected state. */
body.site-shell .site-footer{background:#111216;color:#fff;border-top:1px solid #25272e}
body.site-shell .site-footer :is(h4,.site-brand){color:#f5f5f7}
body.site-shell .site-footer a{color:#b1b4bc}
body.site-shell .site-footer a:hover{color:#fff}
body.site-shell .site-footer :is(p,.footer-bottom-v3){color:#a5a9b2;font-size:14px}
body.site-shell .footer-bottom-v3{border-color:#2b2d32}
body.site-shell :is(.auth-availability,.account-consent,.account-consent a,.checkout-safety p,.account-merge-warning,.account-merge-summary span){font-size:13px!important;line-height:1.75}
/* Fixed homepage placements: two equal cards. Never stretch the artwork. */
body.home-page .home-banner{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:1fr;gap:24px;padding:0;margin:32px auto 48px;background:none;border:0;box-shadow:none;overflow:visible;scroll-margin-top:100px}
.home-banner-position{min-width:0;position:relative;background:#fff;border:1px solid var(--ui-line);border-radius:18px;overflow:hidden}
body.home-page .home-banner-position>a{display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;gap:18px;width:100%;height:100%;min-height:166px;padding:22px 24px;box-sizing:border-box;color:var(--ui-text)}
body.home-page .home-banner .home-campaign-copy{display:flex;flex-direction:column;gap:6px;min-width:0}
body.home-page .home-campaign-copy>b{font-size:21px;line-height:1.45;font-weight:600;overflow-wrap:anywhere}
body.home-page .home-campaign-copy>p{font-size:14px;line-height:1.65;color:var(--ui-sub);margin:0}
body.home-page .home-campaign-copy>small{font-size:13px;color:var(--ui-sub)}
body.home-page .home-campaign-copy>span{font-size:13px;color:#d9472d;margin-top:5px}
body.home-page .home-banner img{width:100%;max-width:100%;height:122px;object-fit:contain;border-radius:8px;background:#fafafa}
body.home-page .home-banner-dots{position:absolute;bottom:8px;left:24px;right:auto;display:flex;gap:6px;margin:0}
body.home-page .home-banner-dots button{width:20px;height:5px;min-height:5px;padding:0;background:#dfe2e7;border-radius:4px}
/* Insights: compact top campaign, then two genuinely equal directory panels. */
body.directory-page .insights-heading{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;align-items:center}
body.directory-page .portal-campaign{max-width:none;width:100%;margin:0;padding:18px 22px;display:grid;grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);gap:16px;min-height:130px;box-sizing:border-box}
body.directory-page .portal-campaign>div{min-width:0}
body.directory-page .portal-campaign h2{font-size:19px;margin:5px 0;overflow-wrap:anywhere}
body.directory-page .portal-campaign p{font-size:14px;line-height:1.6;color:var(--ui-sub)}
body.directory-page .portal-campaign>a{width:100%;min-width:0}
body.directory-page .portal-campaign img{height:96px;width:100%;object-fit:contain;border-radius:7px;background:#fafafa}
body.directory-page .portal-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:24px}
body.directory-page .portal-grid>article{display:flex;flex-direction:column;padding:28px;border-radius:20px}
body.directory-page .portal-section-head h2{font-size:24px}
body.directory-page .portal-grid p{font-size:15px;margin-bottom:22px;min-height:28px}
/* Equal outer panels; the model matrix and expert ranking keep different layouts. */
body.directory-page .portal-model-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-rows:1fr;gap:12px;flex:1}
body.directory-page .portal-model-tile{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:12px;min-width:0;min-height:152px;padding:18px 16px;background:linear-gradient(145deg,#fff,#fafbfc);border:1px solid var(--ui-line);border-radius:16px;box-shadow:inset 0 1px 0 #fff,0 2px 5px #17203403}
body.directory-page .portal-model-tile::after{content:'↗';position:absolute;right:14px;top:16px;color:#8c929c;font-size:15px;transition:color .2s,transform .2s}
body.directory-page .portal-model-tile img{width:44px;height:44px;object-fit:contain}
body.directory-page .portal-model-tile b{font-size:16px;font-weight:600}
body.directory-page .portal-model-tile .portal-model-performance{display:flex;flex-direction:column;gap:2px;margin-top:auto;color:var(--ui-sub);text-align:left}
body.directory-page .portal-model-performance strong{font-size:25px;font-weight:600;line-height:1.2;letter-spacing:-.035em;color:var(--ui-text);font-variant-numeric:tabular-nums}
body.directory-page .portal-model-performance small{font-size:12px;line-height:1.6}
body.directory-page .portal-expert-row{min-height:64px;box-sizing:border-box;padding:8px 12px;border:1px solid #f0f1f4;border-radius:13px;background:linear-gradient(110deg,#fff,#fdfdfe);transition:background .2s,box-shadow .2s,border-color .2s}
body.directory-page .portal-expert-row h3{font-size:16px}
body.directory-page .portal-expert-row .directory-expert-rate strong{font-size:22px;line-height:1.15;font-variant-numeric:tabular-nums;letter-spacing:-.025em}
body.directory-page .portal-expert-row .directory-expert-rate small{font-size:12px;line-height:1.6;margin-top:2px}
body.directory-page .portal-expert-row:nth-child(-n+3) .directory-rank-number{color:#d9472d;font-weight:600}
body.directory-page .directory-tier{background:#fafafb;border:1px solid var(--ui-line);font-size:12px;padding:2px 6px;color:#737985}
body.directory-page .directory-expert-rate small{font-size:13px}
body.directory-page .portal-models>footer,body.directory-page .portal-directory-link{margin-top:18px;padding-top:16px;border-top:1px solid var(--ui-line);min-height:40px;box-sizing:border-box}
body.directory-page .portal-ranking [data-portal-rank]{flex:1;display:flex;flex-direction:column;gap:8px}
body.directory-page .portal-expert-row .directory-rank-number{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}
body.directory-page .portal-expert-row img{box-shadow:0 2px 5px #1720340d}
body.directory-page .portal-rank-leader{min-height:92px;position:relative;grid-template-columns:20px 52px minmax(0,1fr) auto;background:linear-gradient(120deg,#fff 20%,#f8f9fc);border-color:#e2e5eb;box-shadow:0 5px 18px -9px #17203426;overflow:hidden}
body.directory-page .portal-rank-leader::before{content:'';position:absolute;left:0;top:22px;bottom:22px;width:3px;border-radius:3px;background:linear-gradient(#ff8e60,#f25236)}
body.directory-page .portal-rank-leader img{width:52px;height:52px;border:3px solid #fff;border-radius:17px;box-sizing:border-box;box-shadow:0 2px 10px #17203412}
body.directory-page .portal-rank-leader .directory-expert-rate strong{font-size:29px;color:#d9472d}
body.directory-page .portal-leader-label{display:block;font-size:12px!important;letter-spacing:.04em!important;color:#737985;margin-bottom:4px}
.portal-feed{margin-top:48px}.portal-feed>.section-head{margin-bottom:20px;align-items:center;gap:16px}.portal-feed h2{font-size:26px;margin:8px 0}.portal-feed>.section-head>span{color:var(--ui-sub);font-size:14px}
.portal-feed-controls{padding:22px 26px;margin-bottom:20px}.feed-kind-tabs{display:flex;gap:8px;padding-bottom:18px;border-bottom:1px solid var(--ui-line)}
.feed-kind-tabs button,.feed-filter-row button{background:#fff;color:var(--ui-sub);border:1px solid transparent;min-height:42px;border-radius:9px;padding:8px 16px;cursor:pointer}
.feed-kind-tabs button{font-size:17px!important;min-width:130px}
.feed-filter-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center;margin-top:14px}.feed-filter-row>span{min-width:68px;font-size:14px;color:var(--ui-sub)}
[data-feed-plays]{display:flex;gap:7px;flex-wrap:wrap;flex:1;min-width:0}.feed-sort{display:flex;align-items:center;gap:10px;margin-left:auto;font-size:14px;color:var(--ui-sub)}.feed-sort select{background:#fff;color:var(--ui-text);border:1px solid var(--ui-line);border-radius:8px;padding:10px;min-height:44px}
.portal-plan-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.portal-plan-grid>.editorial-plan{min-width:0}.portal-plan-grid .editorial-fixture b{font-size:18px}.portal-plan-grid .editorial-plan>header{flex-wrap:wrap}.portal-plan-grid .editorial-plan time{font-size:13px}.portal-plan-grid .editorial-byline{flex-wrap:wrap}
/* Restrained depth and feedback shared by clickable surfaces, never moving fixtures on hover. */
body.site-shell :is(.portal-model-tile,.directory-expert-card,.editorial-plan,.home-banner-position,.portal-campaign,.focus-card){transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
body.site-shell :is(.home-banner-position,.portal-campaign){box-shadow:var(--ui-shadow);background:linear-gradient(120deg,#fff,#fcfcfd)}
body.site-shell .schedule-date-row{background:var(--ui-recess);border-color:#edeff2;box-shadow:inset 0 1px 2px #17203403}
body.site-shell .schedule-day{position:relative;border-radius:12px}
body.site-shell .schedule-day.active::after{content:'';position:absolute;bottom:6px;left:calc(50% - 7px);width:14px;height:2px;border-radius:2px;background:var(--red)}
body.site-shell :is(.sport-segment,.scope-switch,.directory-levels){background:var(--ui-recess);padding:4px;border:1px solid #eff0f3;border-radius:12px;gap:4px}
body.site-shell .feed-kind-tabs{background:var(--ui-recess);border:1px solid #eff0f3;border-radius:13px;padding:5px;gap:5px;margin-bottom:20px;width:fit-content;max-width:100%}
body.site-shell :is(.feed-kind-tabs button,.feed-filter-row button){background:transparent}
body.site-shell .schedule-density{background:var(--ui-recess);border-color:var(--ui-line)}
body.site-shell .schedule-result-head em{background:#fff;color:var(--ui-sub);border:1px solid var(--ui-line)}
body.site-shell .schedule-compact-row{transition:background .18s ease}
body.site-shell .insight-play-options button{transition:background .2s,box-shadow .2s,border-color .2s}
@media(hover:hover) and (pointer:fine){
 body.site-shell :is(.portal-model-tile,.directory-expert-card,.editorial-plan):hover{transform:translateY(-3px);border-color:#dce0e6;box-shadow:0 12px 30px -12px #17203426,0 2px 4px #17203405}
 body.site-shell .portal-model-tile:hover::after{color:var(--red);transform:translate(2px,-2px)}
 body.site-shell :is(.home-banner-position:has(a[href]),.portal-campaign:has(a[href])):hover{transform:translateY(-2px);border-color:#dce0e6;box-shadow:0 12px 30px -12px #17203426}
 body.site-shell .portal-expert-row:hover{background:#fff;border-color:#dce0e6;box-shadow:0 5px 18px -8px #17203420}
 body.site-shell .schedule-compact-row:hover{background:#fcfcfd;transform:none}
 body.site-shell :is(.sport-segment,.scope-switch,.schedule-status-row,.feed-filter-row,.directory-levels) button:not(:disabled):hover{color:var(--ui-text);background:#fff}
}
body.site-shell [hidden]{display:none!important}
@media(max-width:1000px){body.directory-page .portal-section-head{align-items:flex-start;flex-wrap:wrap;gap:0}body.directory-page .portal-grid>article{padding:22px}body.home-page .home-banner-position>a{padding:20px;gap:14px}body.home-page .home-campaign-copy>b{font-size:19px}}
@media(max-width:760px){
 body.site-shell :is(input,textarea,select){font-size:16px}body.site-shell .site-links{font-size:16px}
 body.home-page .home-banner,body.directory-page .insights-heading,body.directory-page .portal-grid,.portal-plan-grid{grid-template-columns:minmax(0,1fr)}
 body.home-page .home-banner{gap:14px;margin:24px auto 34px}body.home-page .home-banner-position>a{min-height:148px}body.home-page .home-banner img{height:108px}
 body.home-page .home-match-arrow.previous{left:0}body.home-page .home-match-arrow.next{right:0}
 body.directory-page .insights-heading{gap:20px}body.directory-page .portal-campaign{min-height:132px;padding:18px}
 body.directory-page .portal-grid{gap:18px}body.directory-page .portal-grid p{min-height:0}body.directory-page .portal-grid>article{padding:20px}
 body.directory-page .portal-model-grid{gap:9px}body.directory-page .portal-model-tile{padding:14px 10px;min-height:150px;gap:10px;border-radius:13px}body.directory-page .portal-model-tile b{font-size:14px}body.directory-page .portal-model-performance strong{font-size:23px}body.directory-page .portal-model-tile::after{right:9px;font-size:13px}
 body.directory-page .portal-expert-row{grid-template-columns:18px 34px minmax(0,1fr) auto;gap:8px}body.directory-page .portal-expert-row .directory-expert-rate{grid-column:auto;display:block;text-align:right}
 body.directory-page .portal-expert-row{padding:10px 8px}body.directory-page .portal-rank-leader{grid-template-columns:16px 40px minmax(0,1fr) auto;min-height:96px}body.directory-page .portal-rank-leader img{width:40px;height:40px;border-width:2px;border-radius:13px}body.directory-page .portal-rank-leader .directory-expert-rate strong{font-size:25px}
 body.directory-page .portal-expert-row h3{font-size:15px}body.directory-page .directory-expert-rate small{font-size:12px}
 .portal-feed{margin-top:32px}.portal-feed>.section-head{align-items:flex-start}.portal-feed h2{font-size:23px}.portal-feed-controls{padding:18px}.feed-filter-row{gap:6px}.feed-filter-row>span{min-width:56px}.feed-filter-row:has([data-feed-plays]){align-items:flex-start}.feed-filter-row>[data-feed-play-label]{padding-top:10px}.feed-filter-row button{padding:8px 11px}.feed-sort{margin-left:0}.feed-filter-row .schedule-search{max-width:none;flex-basis:100%}
 .feed-kind-tabs{width:100%;box-sizing:border-box}.feed-kind-tabs button{flex:1;min-width:0;padding:8px 12px}
 body.site-shell .schedule-compact-row .compact-team b{font-size:15px!important}body.site-shell .schedule-compact-row :is(.compact-status b,.compact-status small,.compact-score small,.compact-team small){font-size:12px!important}
 body.site-shell .schedule-league-head strong,body.site-shell .schedule-league-head b{font-size:16px}
 body.site-shell .schedule-primary-controls{display:flex;flex-wrap:wrap;gap:12px}
 body.site-shell .schedule-primary-controls .sport-segment{flex:1 1 100%;width:100%;display:flex}
 body.site-shell .schedule-primary-controls .sport-segment button{flex:1;min-width:0}
 body.site-shell .schedule-primary-controls .scope-switch{flex:1 1 100%;width:100%;display:flex;gap:8px}
 body.site-shell .schedule-primary-controls .scope-switch button{flex:1;min-width:0;white-space:nowrap;padding:10px 12px;line-height:1.5}
 body.site-shell .schedule-primary-controls .schedule-search{flex:1 1 100%;width:100%;margin:0}
}
@media(max-width:440px){body.directory-page .portal-model-grid{grid-template-columns:repeat(2,minmax(0,1fr))}body.directory-page .portal-model-tile{padding:16px 14px}body.directory-page .portal-model-tile b{font-size:15px}body.directory-page .portal-campaign{grid-template-columns:repeat(2,minmax(0,1fr))}body.directory-page .portal-campaign h2{font-size:17px}}
@media(prefers-reduced-motion:reduce){body.site-shell *,body.site-shell *::before,body.site-shell *::after{scroll-behavior:auto!important;transition:none!important;animation:none!important}body.site-shell :is(.portal-model-tile,.directory-expert-card,.editorial-plan,.home-banner-position,.portal-campaign):hover{transform:none}}
