/* B3 public data edition: shared App tokens, desktop reading and navigation. */
.score-league-control{display:flex;align-items:center;gap:var(--jyb-sp-m);min-width:0;font-size:var(--jyb-fs-small);color:var(--muted)}
.score-league-control select{min-width:0;max-width:100%;min-height:44px;border:1px solid var(--row-line);background:var(--card);color:var(--club-navy);padding:var(--jyb-sp-s) var(--jyb-sp-xxl) var(--jyb-sp-s) var(--jyb-sp-m);font:inherit;font-size:var(--jyb-fs-web-form);line-height:var(--jyb-lh-web-form);border-radius:var(--radius-input)}
.league-games-link{display:inline-flex;align-items:center;gap:14px;min-height:44px;margin:var(--jyb-sp-s) 0 var(--jyb-sp-l);color:var(--club-navy);font-size:var(--jyb-fs-small);font-weight:var(--jyb-fw-strong);text-decoration:none}
.league-games-link:hover{text-decoration:underline}
.article-heading{display:contents}
.specials-entry{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:var(--jyb-sp-xl) 0;margin-bottom:var(--jyb-sp-xxl);border-bottom:1px solid var(--row-line)}
.specials-entry p{margin:var(--jyb-sp-s) 0 0;font-size:var(--jyb-fs-body);color:var(--muted)}
.specials-entry>a,.specials-more{color:var(--club-navy);font-weight:var(--jyb-fw-strong);white-space:nowrap;text-decoration:none;padding-block:var(--jyb-sp-m)}
.specials-directory{max-width:1280px;margin:auto}.specials-intro{position:relative;padding:var(--jyb-sp-xl) 180px var(--jyb-sp-xl) 0;border-bottom:2px solid var(--club-navy)}
.specials-intro h1{font-size:var(--jyb-page-heading-size);line-height:var(--jyb-page-heading-line);letter-spacing:-.04em;margin:18px 0;color:var(--club-navy)}
.specials-intro h1 span{display:block;font-size:var(--jyb-fs-web-reading);font-weight:var(--jyb-fw-regular);margin-top:var(--jyb-sp-l);line-height:var(--jyb-lh-web-reading)}.specials-intro>p:last-child{color:var(--muted);line-height:1.8}
.special-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:36px;padding:var(--jyb-sp-xxl) 0}
.special-card{position:relative;display:flex;flex-direction:column;min-height:330px;color:var(--club-navy);text-decoration:none;border-bottom:1px solid var(--row-line);padding:0 0 var(--jyb-sp-xl);min-width:0}
.special-card-top{display:flex;justify-content:space-between;gap:var(--jyb-sp-l);font-size:var(--jyb-fs-caption);color:var(--muted)}.special-card-top>span{color:var(--club-navy);font-weight:var(--jyb-fw-strong)}
.special-card-number{display:block;font-size:52px;line-height:1.3;color:var(--row-line);margin-top:22px;font-variant-numeric:tabular-nums}
.special-card h2{font-size:var(--jyb-fs-headline);line-height:var(--jyb-lh-headline);letter-spacing:-.03em;margin:var(--jyb-sp-m) 0}.special-card p{color:var(--muted);font-size:var(--jyb-fs-body);line-height:1.9;margin:0 0 var(--jyb-sp-xl)}
.special-card:hover h2{text-decoration:underline;text-underline-offset:5px}
.specials-intro .desktop-sport-switch{display:flex;position:absolute;right:0;bottom:28px}
@media(max-width:650px){.specials-intro .desktop-sport-switch{display:none}}
.special-summary{color:var(--muted);font-size:var(--jyb-fs-title);line-height:1.9;margin:var(--jyb-sp-xl) 0}
.special-section{position:relative;padding:30px 0;border-top:1px solid var(--row-line)}
.special-section .section-number{font-size:var(--jyb-fs-caption);letter-spacing:.1em;color:var(--muted);font-weight:var(--jyb-fw-strong)}
#article-body .special-section h2{margin:var(--jyb-sp-m) 0 20px;font-size:var(--jyb-fs-web-heading);line-height:var(--jyb-lh-web-heading);color:var(--club-navy)}
#article-body .special-section p{font-size:var(--jyb-fs-web-reading);line-height:2;margin:0 0 18px}
.special-related{display:flex;flex-direction:column;gap:0;margin:var(--jyb-sp-xl) 0}.special-related a{display:flex;justify-content:space-between;gap:var(--jyb-sp-l);color:var(--club-navy);padding:20px 0;border-block-start:1px solid var(--row-line);font-weight:var(--jyb-fw-strong);text-decoration:none}
.special-sources{font-size:var(--jyb-fs-small);color:var(--muted);line-height:1.9;border-top:1px solid var(--row-line);padding:20px 0}.special-sources summary{cursor:pointer;min-height:var(--jyb-touch-web)}.special-sources a{color:var(--club-navy)}
@media(max-width:650px){
 .specials-directory{padding:0 20px}
 .specials-directory>.back,#special .back{display:none}
 .specials-intro{padding:18px 0 var(--jyb-sp-l);border-bottom:1px solid var(--row-line)}
 .specials-intro .art-imprint{margin:0 0 var(--jyb-sp-s);color:var(--gold-ink);font-size:var(--jyb-fs-micro);line-height:var(--jyb-lh-caption);letter-spacing:.04em}
 .specials-intro h1{margin:0 0 var(--jyb-sp-s);font-size:var(--jyb-page-heading-size);line-height:var(--jyb-page-heading-line);letter-spacing:-.03em}
 .specials-intro h1 span{display:none}
 .specials-intro>p:last-of-type{margin:0;color:var(--muted);font-size:var(--jyb-fs-caption);line-height:20px}
 .special-grid{grid-template-columns:1fr;gap:var(--jyb-sp-xl)}.special-card{min-height:0}.special-card-number{display:none}.special-card h2{font-size:var(--jyb-fs-headline);line-height:var(--jyb-lh-headline)}.specials-entry{margin:0 var(--jyb-sp-l) var(--jyb-sp-xl);padding:20px 0;gap:var(--jyb-sp-m)}.specials-entry p{font-size:var(--jyb-fs-small)}.specials-entry>a{font-size:var(--jyb-fs-caption)}.site-special #article-body{padding:0}
 #scores .score-controls{display:flex;flex-wrap:wrap;gap:var(--jyb-sp-s);padding:var(--jyb-sp-s) var(--jyb-sp-l)}
 .score-league-control{flex:1 1 100%}.score-league-control select{flex:1}
 #scores .score-controls .search-wrap{flex:none;min-width:0}
 .league-games-link{margin:var(--jyb-sp-xs) var(--jyb-sp-l) var(--jyb-sp-m)}
}
@media(min-width:1000px){
 :root{--wide:1328px;--pc-col:1328px;--head-h:88px}
 body{background:var(--card)}
 body>header{background:var(--card);border-bottom:1px solid var(--row-line)}
 .head{min-height:88px;gap:60px}
 .head .brand{gap:14px}.head .brand .monogram{width:42px;height:42px}.head .brand-name{font-size:var(--jyb-fs-title);letter-spacing:.03em}
 .head nav{gap:var(--jyb-sp-xl);align-self:stretch}
 .head nav a,.head nav a:hover,.head nav a.active,.head nav a.active:hover{position:relative;width:auto;min-height:88px;height:auto;padding:0 var(--jyb-sp-m);flex-direction:row;border-radius:0;font-size:var(--jyb-fs-body);line-height:1.5;background:none}
 .head nav .nav-icon{display:none}.head .nav-label{height:auto;font-size:var(--jyb-fs-body);line-height:1.5}
 .head nav a.active:after{content:"";position:absolute;bottom:0;left:12px;right:12px;height:3px;background:var(--club-navy)}
 .shell.head,main.shell,body>footer{max-width:calc(var(--wide) + 2*var(--shell-pad));width:100%}
 main.shell{padding-top:42px;padding-bottom:72px;min-height:calc(100vh - 300px)}
 #scores,#news,#data,#match,#team,#schedule,#me{max-width:none;margin-inline:0}
 :is(#scores,#news,#data) h1{color:var(--club-navy);font-size:var(--jyb-page-heading-size);font-weight:var(--jyb-fw-heavy);letter-spacing:-.03em;line-height:var(--jyb-page-heading-line)}
 :is(#scores,#news)>.intro{margin-bottom:var(--jyb-sp-xxl);padding:0}
 #scores>.intro{display:flex;align-items:center;justify-content:space-between}
 body[data-page=scores] .app-header{display:none}
 #scores .layout{display:block}
 #scores .scores-panel{display:grid;grid-template-columns:190px minmax(0,1fr);gap:0 36px}
 #scores .toolbar{grid-column:1/-1;position:static;justify-content:flex-start;gap:var(--jyb-sp-xl);border-bottom:1px solid var(--row-line);margin-bottom:28px;background:none}
 #scores .toolbar button{flex:none;padding:0 10px;min-height:54px}
 #scores .score-controls{grid-column:1;grid-row:2/7;display:flex;flex-direction:column;align-self:start;gap:var(--jyb-sp-xl);padding:20px 0;border-top:2px solid var(--club-navy);position:sticky;top:24px}
 #scores .score-controls .search-wrap{width:100%;margin:0}
 #scores .score-league-control{display:grid;gap:10px}.score-league-control select{width:100%}
 #scores .fixture-dates{grid-column:2;grid-row:2;position:static;margin-bottom:20px}
 #scores #freshness{grid-column:2;grid-row:3;padding-left:0}
 #scores #match-list{grid-column:2;grid-row:4;min-width:0;border-top:2px solid var(--club-navy)}
 #scores #scores-toast{grid-column:2;grid-row:5}
 #scores .match{min-height:72px}
 #data{display:grid;grid-template-columns:184px minmax(0,1fr);gap:0 38px;align-items:start}
 #data>.data-heading{grid-column:1/-1;margin-bottom:26px}
 #data>.data-leagues[aria-label="榜单球种"]{grid-column:2;grid-row:2;justify-self:end}
 #data>.league-games-link{grid-column:1;grid-row:2;margin:0;align-self:center}
 #data>.data-leagues[aria-label="联赛"],#data>.bb-board-bar{grid-column:1/-1;grid-row:3;margin:var(--jyb-sp-l) 0 28px}
 #data>:is(.football-board-tabs,.bb-board-tabs){grid-column:1;grid-row:4/10;display:flex;flex-direction:column;align-items:stretch;gap:0;border:0;border-top:2px solid var(--club-navy);padding:var(--jyb-sp-m) 0;margin:0;position:sticky;top:24px}
 #data>:is(.football-board-tabs,.bb-board-tabs)>:is(a,button){display:flex;justify-content:flex-start;min-height:56px;padding:var(--jyb-sp-m) var(--jyb-sp-l);border-radius:0;border:0;border-bottom:1px solid var(--row-line);text-align:left;font-size:var(--jyb-fs-small);color:var(--muted);background:none}
 #data>:is(.football-board-tabs,.bb-board-tabs)>.active{background:var(--paper);color:var(--club-navy);font-weight:var(--jyb-fw-strong)}
 #data>:is(.football-board-tabs,.bb-board-tabs)>.active:after{display:none}
 #data>.bb-season-row{grid-column:2;grid-row:4;display:flex;flex-wrap:wrap;gap:14px;align-items:center;min-height:50px;margin:0 0 18px}
 #data>.board-search{grid-column:2;grid-row:4;margin:0 0 20px}
 #data:has(.bb-season-row)>.board-search{grid-row:5}
 #data>:is(.board-panel,.bb-board-panel,.blank){grid-column:2;grid-row:4;min-width:0;border:0;border-top:2px solid var(--club-navy);border-radius:0;padding:var(--jyb-sp-xl) 0;background:var(--card)}
 #data:has(>.board-search:not([hidden]))>:is(.board-panel,.bb-board-panel,.blank){grid-row:5}
 #data:has(>.bb-season-row)>:is(.board-panel,.bb-board-panel,.blank){grid-row:5}
 #data:has(>.bb-season-row):has(>.board-search:not([hidden]))>:is(.board-panel,.bb-board-panel,.blank){grid-row:6}
 #data .standings-table{table-layout:auto}
 #data .standings-table :is(th,td){width:64px;min-width:0;padding:18px var(--jyb-sp-m);font-size:var(--jyb-fs-body);line-height:1.6}
 #data .native-standings :is(.col-played,.col-win,.col-draw,.col-lose,.col-gd,.col-points){width:64px}
 #data .standings-table .col-team{width:auto;min-width:0;text-align:left}
 #data .standings-table .col-rank{width:56px;min-width:0}
 #data .standings-table .col-form{width:126px}
 #data .standings-table thead th{font-size:var(--jyb-fs-caption)}
 #data .standing-team{gap:14px}#data .standing-team>img{width:32px;height:32px}
 #data .board-label-short{display:none}#data .board-label-full{display:inline}
 #data .data-table{width:100%}#data .data-table :is(th,td){padding-block:18px;font-variant-numeric:tabular-nums}
 #data .rank-identity img,#data .ranking-identity img{width:36px;height:36px}
 #news .news-card{border:0;border-top:2px solid var(--club-navy);border-radius:0;padding:var(--jyb-sp-xl) 0;margin-top:28px}
 #news .news-feed{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:0 44px;align-items:start}
 #news .news-row{grid-column:2;min-height:118px;padding:20px 0;grid-template-columns:minmax(0,1fr) 120px;gap:20px}
 #news .news-row.is-lead{grid-column:1;grid-row:1/6;padding:0 0 28px;border:0;grid-template-columns:minmax(0,1fr)}
 #news .news-row.is-lead .news-text strong{font-size:var(--jyb-fs-title);line-height:var(--jyb-lh-title)}
 #news .news-row:not(.is-lead) .news-thumb{aspect-ratio:4/3}
 #news .news-tabs{gap:var(--jyb-sp-xxl)}
 #team .team-summary{max-width:none}.team-identity{padding:28px 0;border-top:2px solid var(--club-navy);gap:var(--jyb-sp-xl)}
 #team .team-hero-crest{width:88px;height:88px}#team .team-hero-crest :is(img,svg){width:76px;height:76px}
 #match .md-hero{max-width:none}#match .md-tabs{gap:var(--jyb-sp-xxl)}
 #schedule .club-schedule{max-width:none}
 #me .me-page{grid-template-columns:240px minmax(0,1fr);gap:64px}
 body[data-page=plaza] #plaza-content{width:100%;max-width:none;display:grid;grid-template-columns:176px minmax(0,1fr);gap:0 38px}
 #plaza-content>.plaza-head{grid-column:1/-1;margin-bottom:28px}
 #plaza-content>.plaza-toolbar{grid-column:1;grid-row:2/8;display:flex;flex-direction:column;align-self:start;align-items:stretch;gap:20px;border-top:2px solid var(--club-navy);padding:var(--jyb-sp-m) 0;position:sticky;top:24px}
 #plaza-content>.plaza-toolbar nav{display:grid;gap:0}
 #plaza-content>.plaza-toolbar nav a{min-height:56px;justify-content:flex-start;border-bottom:1px solid var(--row-line);padding:var(--jyb-sp-m) var(--jyb-sp-l)}
 #plaza-content>.plaza-toolbar form{min-width:0;width:100%;flex-wrap:wrap}
 #plaza-content>.plaza-toolbar input[type=search]{min-width:0;width:100%}
 #plaza-content>:is(#plaza-list,#plaza-message,.plaza-notice,.plaza-search-summary,.plaza-pagination,.plaza-core-note){grid-column:2;min-width:0}
 #plaza-content>.plaza-profile,#plaza-content>.plaza-profile-tabs,#plaza-content>.plaza-return{grid-column:1/-1}
 #plaza-list .plaza-post{border:0;border-top:1px solid var(--row-line);border-radius:0;padding:28px 0;margin:0}
 .plaza-page:not(.plaza-feed-b2){max-width:none}
 :is(#article,#special){max-width:none;margin:0}
 :is(#article,#special) .news-article{padding:0;margin:0;display:grid;grid-template-columns:minmax(260px,.8fr) minmax(0,1.3fr);column-gap:80px;max-width:none;align-items:start}
 .news-article>.back{grid-column:1/-1;margin-bottom:var(--jyb-sp-xxl)}
 .news-article>.article-heading{display:block;grid-column:1;grid-row:2/7;min-width:0}
 :is(#article,#special) .news-article h1{font-size:var(--jyb-page-heading-size);line-height:var(--jyb-page-heading-line);letter-spacing:-.035em;margin:20px 0}
 .news-article>.art-cover,.news-article>#article-body,.news-article>.article-interactions,.news-article>.art-toast{grid-column:2;min-width:0}
 .news-article .art-meta{flex-wrap:wrap;gap:14px;font-size:var(--jyb-fs-caption);line-height:1.8}
 .news-article .art-share{margin-left:0}
 .news-article #article-body{max-width:none;margin:0;padding:0;overflow-wrap:anywhere}
}

.special-card-photo{display:block;margin-top:20px;aspect-ratio:8/5;overflow:hidden;background:var(--paper)}
.special-card-photo img{display:block;width:100%;height:100%;object-fit:cover}
.special-photo{margin:0 0 30px}.special-photo .art-cover{margin:0}.special-photo figcaption{margin-top:10px;color:var(--muted);font-size:var(--jyb-fs-caption);line-height:1.7}

.board-label-full{display:none}
@media(min-width:1000px){#data .board-label-full{display:inline}}

@media(min-width:1000px){
 #scores .score-controls .score-dock{display:block;position:static;transform:none;padding:0;z-index:auto}
 #scores .score-controls .score-tier{position:static;grid-column:auto;grid-row:auto;top:auto;bottom:auto;z-index:auto;margin:0}
 #scores .score-controls:has(#score-league option:checked:not([value=""])) .score-tier{display:none}
}

.score-league-field{display:flex;align-items:center;min-width:0;width:100%;border:1px solid var(--row-line);border-radius:var(--jyb-radius-medium);background:var(--card)}
.score-league-control .score-league-field select{flex:1;border:0;background:transparent}
.score-league-field button{flex:none;width:44px;min-height:44px;border:0;border-left:1px solid var(--row-line);border-radius:0 var(--jyb-radius-medium) var(--jyb-radius-medium) 0;background:none;color:var(--club-navy);font:inherit;font-size:22px}
.score-league-field button[hidden]{display:none}
/* The App's compact close face and its full transparent touch target. */
:is(#match,#data) :is(.md-sheet-close,.bb-sheet-close),#app-open-close,.plaza-ctl:is(.plaza-viewer-close,.plaza-player-close){display:grid;place-items:center;flex:0 0 var(--touch);box-sizing:border-box;width:var(--touch);min-width:var(--touch);max-width:var(--touch);height:var(--touch);min-height:var(--touch);max-height:var(--touch);padding:0;border:0;background:transparent;border-radius:50%;color:var(--club-navy);isolation:isolate}
:is(.md-sheet-close,.bb-sheet-close),#app-open-close{position:relative}
:is(#match,#data) :is(.md-sheet-close,.bb-sheet-close)::before,#app-open-close::before,.plaza-ctl:is(.plaza-viewer-close,.plaza-player-close)::before{content:"";position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:var(--close-face);height:var(--close-face);border-radius:50%;background:var(--close-face-color,var(--paper));pointer-events:none;z-index:-1}
.plaza-ctl:is(.plaza-viewer-close,.plaza-player-close){--close-face-color:var(--photo-scrim);color:var(--icon-on-photo)}
:is(#match,#data) :is(.md-sheet-close,.bb-sheet-close) svg,#app-open-close svg,.plaza-ctl:is(.plaza-viewer-close,.plaza-player-close) svg{display:block;width:var(--close-glyph);height:var(--close-glyph);min-width:var(--close-glyph);flex:none}
:is(#match,#data) :is(.md-sheet-close,.bb-sheet-close):is(:hover,:active),#app-open-close:is(:hover,:active),.plaza-ctl:is(.plaza-viewer-close,.plaza-player-close):is(:hover,:active){background:transparent}
#match .pv-rule{font-size:var(--jyb-fs-body);line-height:1.85;padding-bottom:var(--jyb-sp-l)}
#news .news-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--jyb-sp-l)}
#news .news-row .news-thumb.is-blank{display:none}
#news .news-heading-tools{display:flex;flex-direction:row;align-items:center;gap:var(--jyb-sp-l)}
.news-search-toggle{display:grid;place-items:center;width:44px;min-height:44px;border:1px solid var(--row-line);border-radius:var(--jyb-radius-medium);background:var(--card);color:var(--club-navy)}
.news-search-toggle svg{width:21px;height:21px}
.news-search-panel{margin:0 var(--jyb-sp-l) var(--jyb-sp-l)}
.news-search-panel[hidden],.news-search-count[hidden]{display:none}
.news-search-count{margin:var(--jyb-sp-m) var(--jyb-sp-l);color:var(--muted);font-size:var(--jyb-fs-small)}
#news .specials-entry{min-height:44px;margin:var(--jyb-sp-s) var(--jyb-sp-l) var(--jyb-sp-l);padding:0 0 0 var(--jyb-sp-m);gap:var(--jyb-sp-l);border:0;border-left:2px solid var(--club-navy)}
#news .specials-entry .art-imprint{font-size:var(--jyb-fs-caption);letter-spacing:.08em}
#news .specials-entry>a{padding:var(--jyb-sp-m) 0;font-size:var(--jyb-fs-small)}
.data-heading-tools{display:flex;align-items:center;gap:var(--jyb-sp-l)}
.board-context{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--jyb-sp-s) var(--jyb-sp-l);min-width:0;margin:0 var(--jyb-sp-l) var(--jyb-sp-l);padding-bottom:var(--jyb-sp-m);border-bottom:1px solid var(--row-line)}
.board-context>.data-leagues{flex:1;min-width:0;margin:0;padding:0;border:0}
.board-context>.league-games-link{display:inline-flex;flex:none;justify-content:center;gap:var(--jyb-sp-m);min-height:44px;margin:0;padding:0 var(--jyb-sp-l);border:1px solid var(--club-navy-line);border-radius:var(--jyb-radius-medium);background:var(--paper);color:var(--club-navy);font-size:var(--jyb-fs-small);text-decoration:none}
#data .data-heading-tools>.data-leagues{margin:0;padding:0;border:0}
#data .bb-rules{display:grid;gap:var(--jyb-sp-l);margin:var(--jyb-sp-m) var(--jyb-sp-l);padding:0;border:0;background:none;max-width:880px}
.bb-rule-section{padding:20px;border:1px solid var(--row-line);border-radius:var(--radius-card);background:var(--card)}
.bb-rule-section>header{display:flex;align-items:center;gap:14px;margin-bottom:var(--jyb-sp-l)}
.bb-rule-number{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:10px;background:var(--paper);color:var(--club-navy);font-size:var(--jyb-fs-caption);font-weight:var(--jyb-fw-strong);font-variant-numeric:tabular-nums}
#data .bb-rule-section h3{margin:0;color:var(--club-navy);font-size:var(--jyb-fs-title);line-height:1.5;font-weight:var(--jyb-fw-strong)}
#data .bb-rules .bb-rule-body p{margin:0 0 var(--jyb-sp-m);font-size:var(--jyb-fs-body);line-height:1.8;color:var(--ink-soft)}
#data .bb-rules .bb-rule-body p:last-child{margin-bottom:0}
#scores .toolbar button{border-radius:10px 10px 0 0;font-weight:var(--jyb-fw-strong)}
#scores .toolbar button.active{color:var(--club-navy);font-weight:var(--jyb-fw-heavy);background:var(--paper)}
#scores .score-tier{gap:6px;background:none;border:0;box-shadow:none}
#scores .score-tier button{width:56px;min-height:44px}
#scores .score-tier button>span{height:32px;padding:0 10px;border:1px solid var(--club-navy-line);border-radius:10px;background:var(--card)}
#scores .score-tier button.active>span{color:var(--pill-fg);background:var(--club-navy)}
@media(min-width:1000px){
 #news .news-heading{margin:0 0 var(--jyb-sp-xl);padding:0;max-width:none;width:100%}
 #scores .search-wrap{display:block;position:relative;top:auto;padding:0;border:0}
 #news .news-search-panel{margin-inline:0;max-width:620px}
 #news .news-tabs{justify-content:flex-start;gap:var(--jyb-sp-xl)}
 #news .specials-entry{margin:var(--jyb-sp-m) 0 20px}
 #news .news-card{margin-top:0;padding-top:var(--jyb-sp-xl);border-top:1px solid var(--row-line)}
 #news .news-feed{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px}
 #news .news-row,#news .news-row.is-text{display:grid;grid-column:auto;grid-template-columns:minmax(0,1fr);grid-template-areas:none;gap:var(--jyb-sp-l);padding:0 0 var(--jyb-sp-xl);min-width:0;min-height:0;align-content:start;border-radius:0;background:none}
 #news .news-row:after{display:none}
 #news .news-row .news-thumb.is-blank{display:none}
 #news .news-row.is-text .news-text{grid-row:1}
 #news .news-row .news-thumb{grid-column:1;grid-row:1;aspect-ratio:16/10;width:100%;min-width:0}
 #news .news-row .news-text{grid-column:1;grid-row:2;min-width:0}
 #news .news-row .news-text strong{font-size:var(--jyb-fs-title);line-height:var(--jyb-lh-title)}
 #news .news-row.is-lead{display:grid;grid-column:1/-1;grid-row:auto;grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);grid-template-areas:none;align-items:center;gap:36px;padding-bottom:28px;border-bottom:1px solid var(--row-line)}
 #news .news-row.is-lead .news-thumb{grid-column:1;grid-row:1;max-height:360px}
 #news .news-row.is-lead .news-text{grid-column:2;grid-row:1}
 #news .news-row.is-lead .news-text strong{font-size:var(--jyb-fs-title);line-height:var(--jyb-lh-title)}
 #news .news-row.is-lead.is-text{grid-template-columns:1fr}
 #news .news-row.is-lead.is-text .news-text{grid-column:1}
 #data>.board-context{grid-column:1/-1;grid-row:2;margin:0 0 28px;padding-bottom:20px}
 #data .board-context>.data-leagues{display:flex;flex-wrap:wrap;gap:var(--jyb-sp-s) var(--jyb-sp-l);overflow:visible}
 #data .board-context>.league-games-link{margin:0}
 #data .bb-rules{margin:0}
 .news-search-count{margin-inline:0}
}
@media(max-width:650px){
 #data .board-context>.data-leagues{flex-basis:100%}
 .board-context>.league-games-link{margin-left:auto}
 #news .news-heading{padding:var(--jyb-sp-l);margin:0}
}

/* Public reading surfaces: keep useful space, remove empty desktop bands. */
.article-related{margin-top:28px;padding-top:20px;border-top:1px solid var(--row-line)}
.article-related h2{margin:0 0 var(--jyb-sp-m);color:var(--club-navy);font-size:var(--jyb-fs-title);line-height:1.5}
.article-related>a{display:flex;align-items:center;gap:14px;min-height:76px;padding:14px 0;border-bottom:1px solid var(--row-line);color:var(--ink);text-decoration:none}
.article-related>a:hover strong{text-decoration:underline;text-underline-offset:4px}
.article-related img{flex:none;width:76px;height:56px;object-fit:cover;border-radius:var(--jyb-radius-small)}
.article-related span{min-width:0}.article-related strong{display:block;font-size:var(--jyb-fs-body);line-height:1.7;font-weight:var(--jyb-fw-strong)}
.article-related small{display:block;margin-top:6px;font-size:var(--jyb-fs-caption);color:var(--muted)}
.plaza-frame{max-width:min(100%,calc(var(--plaza-frame-r,1) * 60vh))}
@media(min-width:1000px){
 main.shell{padding-top:var(--jyb-sp-xl);padding-bottom:48px}
 #match .md-page{padding-top:0}
 #scores>.intro{display:flex;align-items:center;justify-content:space-between;margin:0 0 20px;padding:0;min-height:48px}
 #scores>.intro h1{position:static;inset:auto;clip:auto;width:auto;height:auto;overflow:visible;margin:0;padding:0;white-space:normal}
 #scores .desktop-sport-switch{display:inline-flex}
 #scores .scores-panel{grid-template-columns:216px minmax(0,1fr);column-gap:28px}
 #scores .toolbar{gap:var(--jyb-sp-s);margin-bottom:20px;padding-bottom:var(--jyb-sp-s)}
 #scores .toolbar button{min-width:88px;min-height:44px;border-radius:var(--jyb-radius-medium);padding:var(--jyb-sp-s) var(--jyb-sp-l)}
 #scores .score-controls{gap:18px;padding-top:18px;top:112px}
 #scores .score-controls .score-dock{display:flex;align-items:center;justify-content:space-between;gap:var(--jyb-sp-s)}
 #scores .score-tier button{width:52px}
 #scores .score-controls .dock-tool{display:grid;width:var(--jyb-touch-web);height:var(--jyb-touch-web);padding:var(--jyb-sp-s)}
 #match .md-live-cols{align-items:stretch;gap:28px}
 #match .md-live-cols>.md-block:first-child:not(:only-child){position:static}
 #match .md-live-cols>.md-feed:not(:only-child){contain:size;display:flex;flex-direction:column;min-height:0;overflow:hidden;border:1px solid var(--row-line);border-radius:var(--jyb-radius-card);padding-top:var(--jyb-sp-s)}
 #match .md-feed:not(:only-child)>.md-section-row{flex:none}
 #match .md-feed:not(:only-child)>.md-events{flex:1;min-height:0;overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
 #match .md-events:focus-visible{outline:2px solid var(--club-navy);outline-offset:-2px}
 #match .md-pitch-wrap{padding-top:var(--jyb-sp-s)}
 #match .pitch-player{height:72px}
 #match .pitch-player .md-portrait{width:48px;height:48px}
 #match .pitch-player .md-portrait>.md-icon{width:28px;height:28px}
 #match .pitch-player .md-portrait.is-compact{width:40px;height:40px}
 #match .pitch-player>strong{font-size:var(--jyb-fs-small);line-height:18px;margin-top:var(--jyb-sp-xs)}
 #match .md-pitch-rating,#match .md-pitch-sub{font-size:var(--jyb-fs-caption)}
 #match .md-pitch-label b{font-size:14px;line-height:20px}
 #match .md-pitch-label small{font-size:var(--jyb-fs-small);line-height:18px}
 body[data-page=plaza] #plaza-content{max-width:1100px;margin-inline:auto;grid-template-columns:176px minmax(0,760px);gap:0 44px}
 #plaza-content>.plaza-head{margin-bottom:20px}
 #plaza-content>.plaza-toolbar nav{height:auto}
 #plaza-content>.plaza-toolbar nav a.active:after{left:16px;bottom:10px}
 #plaza-list .plaza-post{--plaza-pad-l:0px;--plaza-pad-r:0px;--plaza-origin:54px;padding:var(--jyb-sp-xl) 0}
 #plaza-list .plaza-frame{max-width:min(100%,calc(var(--plaza-frame-r,1) * 480px))}
 #plaza-list .plaza-rail-wrap{--plaza-rail-h:min(360px,calc(var(--plaza-rail-max) / var(--plaza-widest)))}
 #me .me-page{display:block;max-width:1040px;margin:auto;padding-top:0}
 #me .me-page>.intro{padding:0;margin:0 0 var(--jyb-sp-xl);border:0}
 #me .intro h1{font-size:var(--jyb-page-heading-size);line-height:var(--jyb-page-heading-line)}
 #me .me-grid{display:grid;grid-template-columns:minmax(300px,.9fr) minmax(0,1.3fr);gap:var(--jyb-sp-xxl);border:0;align-items:start}
 #me .pass-card{display:flex;flex-direction:column;align-items:stretch;gap:28px;padding:28px;border:1px solid var(--row-line);border-top:4px solid var(--club-navy);border-radius:16px;background:var(--paper)}
 #me .pass-top,#me .pass-card[data-state=member] .pass-top{background:none}
 #me .pass-person{align-items:flex-start;gap:var(--jyb-sp-l);margin-top:18px}
 #me .pass-avatar{flex:none;width:56px;height:56px;background:var(--card)}
 #me .pass-avatar svg{width:28px;height:28px}
 #me .pass-id h2,#me .pass-card[data-state=member] .pass-id h2{font-size:var(--jyb-fs-web-heading);line-height:var(--jyb-lh-web-heading)}
 #me .pass-bottom,#me .pass-card[data-state=member] .pass-bottom{width:100%;min-width:0;max-width:none}
 #me .pass-assets{min-width:0;padding:0;border:0;gap:var(--jyb-sp-l)}
 #me .pass-note{text-align:left;font-size:var(--jyb-fs-caption);line-height:1.8}
 #me .me-side{border-top:2px solid var(--club-navy)}
 #me .jlist>.jrow{min-height:104px;padding:20px var(--jyb-sp-s);gap:18px}
 #me .jrow-title{font-size:var(--jyb-fs-title);line-height:var(--jyb-lh-title)}.jrow-value{overflow-wrap:anywhere}
 #me .jrow-tile{width:44px;height:44px;background:var(--paper)}
 #me .jrow:hover{background:var(--paper)}
 :is(#article,#special) .news-article{grid-template-columns:minmax(280px,.8fr) minmax(0,1.3fr);column-gap:48px}
 .news-article>.back{margin-bottom:var(--jyb-sp-xl)}
 :is(#article,#special) .news-article h1{font-size:var(--jyb-page-heading-size);line-height:var(--jyb-page-heading-line)}
}
@media(min-width:1000px) and (max-width:1100px){#me .me-grid{grid-template-columns:minmax(280px,.9fr) minmax(0,1fr);gap:var(--jyb-sp-xl)}#me .pass-card{padding:var(--jyb-sp-xl)}}
@media(max-width:999px){.news-article:has(.article-related){display:flex;flex-direction:column}.news-article>.article-heading{display:contents}.article-related{order:2;margin:28px var(--jyb-sp-l) 0}.article-related>a{min-height:64px}}

/* The match list owns its scroll; the page keeps a finite, readable frame. */
#scores #match-list{height:clamp(280px,60svh,640px);min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:thin}
#scores #match-list:focus-visible{outline:2px solid var(--club-navy);outline-offset:2px}
.score-league-control>label{flex:none;white-space:nowrap}
.score-league-field{flex:1 1 0;height:48px;box-sizing:border-box}
.score-league-field select{width:0;min-width:0;flex:1 1 0;height:46px;min-height:46px}
.score-league-field>button{height:46px;min-height:46px}
/* Web phone filter controls are separate from the PC form and native App. */
#filter .flt-mobile-search,#filter .flt-mobile-search-empty{display:none}
@media(max-width:650px){
 body[data-page=filter] .app-header .app-search{visibility:visible;grid-column:5;grid-row:1}
 #filter .flt-head>.flt-action{display:none}
 #filter .flt-mobile-search{display:block;margin:0 var(--jyb-sp-l) var(--jyb-sp-m)}
 #filter .flt-mobile-search-empty{display:block;padding:20px var(--jyb-sp-l);color:var(--muted);font-size:var(--jyb-fs-body)}
 /* Owner: one backed floating block overlays the list; it takes no list height. */
 #scores .scores-panel{display:flex;flex-direction:column;align-items:stretch;height:calc(100dvh - var(--band-top) - 68px - env(safe-area-inset-bottom,0px));min-height:280px}
 #scores .score-controls{display:contents}
 #scores .score-league-control{display:none}
 #scores .toolbar,#scores .fixture-dates,#scores .search-wrap,#scores #freshness{flex:none}
 #scores #match-list{flex:1 1 0;height:auto;min-height:0}
 #scores .score-dock .score-tier,#scores .score-dock .score-tier button{background:none;border:0;box-shadow:none}
 #scores .score-dock .score-tier button>span{height:auto;min-height:var(--jyb-sp-xxl);color:var(--muted);background:none;border:1px solid transparent;border-radius:10px;box-shadow:none}
 #scores .score-dock .score-tier button.active>span{color:var(--club-navy);background:none;font-weight:var(--jyb-fw-heavy)}
 #scores .score-dock .dock-tool:before{background:none;box-shadow:none}
 #data .board-context .data-leagues{position:static}
 #data .standings-table thead th{top:48px}
 #news>.news-heading{display:contents}
 #news>.news-heading>h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
 #news .news-heading-tools{display:none}
 body[data-page=news] .app-header .app-search{visibility:visible;grid-column:5;grid-row:1}
 #data>.league-games-link,#data .board-context>.league-games-link{display:none}
 #data .data-heading-tools{display:none}
}
@media(min-width:1000px){
 #scores .scores-panel>.toolbar{grid-column:1/-1;width:auto;border-image:none}
 #scores .fixture-dates,#scores .search-wrap{border-image:none}
 #scores .scores-panel:has(#fixture-dates:not([hidden])) .search-wrap{top:auto}
}
@media(min-width:1000px){
 .head nav a.active:after{top:calc(50% + 17px);bottom:auto;left:calc(50% - 12px);right:auto;width:24px;height:3px;border-radius:2px}
}

/* Basketball stars keep their own rows, apart from the desktop football grid. */
#scores .basketball-match-item{position:relative}
#scores .basketball-match-item>.match .row-main{padding-left:56px}

/* Scroll makes the Web controls quieter without hiding their labels or touch targets. */
.mobile-nav,#scores .score-dock,.head nav,.head .brand{transition:transform var(--jyb-motion-micro) ease}
body.web-scrolled .head nav{transform:scale(.96);transform-origin:right center}
body.web-scrolled .head .brand{transform:scale(.96);transform-origin:left center}
@media(max-width:650px){
 body.web-scrolled .mobile-nav{transform:translateX(-50%) scale(.96);transform-origin:center bottom}
}
@media(prefers-reduced-motion:reduce){.mobile-nav,#scores .score-dock,.head nav,.head .brand{transition:none}}
#match .md-events{max-height:clamp(220px,50svh,560px);overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-gutter:stable}
#match .md-live-cols>.md-feed{max-height:640px}
.standings-penalties{margin:var(--jyb-sp-xl) 0;padding:20px;border:1px solid var(--row-line);border-radius:16px;background:var(--card)}
.standings-penalties h2{margin:0 0 var(--jyb-sp-l);font-size:var(--jyb-fs-body);line-height:var(--jyb-lh-body);color:var(--club-navy)}
.standings-penalties ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:var(--jyb-sp-m);margin:0;padding:0;list-style:none}
.standings-penalties li{min-width:0;padding:14px;border:1px solid var(--row-line);border-radius:var(--jyb-radius-medium);background:var(--surface-2)}
.standings-penalties li>strong{display:block;margin-bottom:10px;font-size:var(--jyb-fs-small);line-height:21px;overflow-wrap:anywhere}
.penalty-details{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.penalty-details>span{padding:var(--jyb-sp-xs) var(--jyb-sp-s);border-radius:6px;font-size:var(--jyb-fs-caption);font-weight:var(--jyb-fw-strong);line-height:18px;font-variant-numeric:tabular-nums}
.penalty-deduction{color:var(--club-navy);background:var(--soft)}
.penalty-fine{color:var(--gold-ink);background:var(--card)}
.penalty-details p{flex-basis:100%;margin:var(--jyb-sp-xs) 0 0;font-size:var(--jyb-fs-caption);line-height:var(--jyb-lh-small);color:var(--muted);overflow-wrap:anywhere}
/* Mobile A continues the board; desktop keeps the existing cards. */
.standings-penalties .penalty-mobile{display:none}
@media(max-width:650px){
 .standings-penalties{margin:18px var(--jyb-sp-l) var(--jyb-sp-xl);padding:10px 0 0;border:0;border-top:2px solid var(--club-navy);border-radius:0;background:none}
 .standings-penalties .penalty-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-bottom:var(--jyb-sp-m)}
 .standings-penalties .penalty-mobile{display:block}
 .standings-penalties .penalty-context{margin-bottom:var(--jyb-sp-xs);color:var(--gold-ink);font-size:var(--jyb-fs-micro);line-height:var(--jyb-lh-micro);letter-spacing:.04em}
 .standings-penalties h2{margin:0;font-size:var(--jyb-fs-body);line-height:23px;letter-spacing:-.02em}
 .standings-penalties .penalty-count{border-left:1px solid var(--row-line);padding-left:10px;color:var(--muted);font-size:var(--jyb-fs-micro);white-space:nowrap}
 .standings-penalties .penalty-columns,.standings-penalties li{display:grid;grid-template-columns:minmax(0,1fr) 52px 92px;column-gap:6px;align-items:center}
 .standings-penalties .penalty-columns{border-top:1px solid var(--row-line);border-bottom:1px solid var(--row-line);min-height:30px;color:var(--muted);font-size:var(--jyb-fs-micro)}
 .penalty-columns>span:not(:first-child){text-align:right}
 .standings-penalties ul{display:block}
 .standings-penalties li{min-height:48px;padding:var(--jyb-sp-s) 0;border:0;border-bottom:1px solid var(--row-line);border-radius:0;background:none}
 .standings-penalties li>strong{display:flex;align-items:center;gap:7px;min-width:0;margin:0;font-size:var(--jyb-fs-caption);font-weight:500;line-height:var(--jyb-lh-small)}
 .standings-penalties li>strong>span:last-child{min-width:0;overflow-wrap:anywhere}
 .standings-penalties .penalty-team-crest{flex:none;width:22px;height:22px}
 .penalty-team-crest img{display:block;object-fit:contain}
 .standings-penalties .penalty-details{display:contents}
 .standings-penalties .penalty-details>span{padding:0;border-radius:0;background:none;text-align:right;font-size:var(--jyb-fs-caption);font-weight:var(--jyb-fw-strong);line-height:var(--jyb-lh-small);white-space:nowrap}
 .standings-penalties .penalty-deduction{grid-column:2;color:var(--gold-ink)}
 .standings-penalties .penalty-fine{grid-column:3;color:var(--club-navy)}
 .standings-penalties .penalty-details p{grid-column:1/-1;margin:5px 0 0;font-size:var(--jyb-fs-micro);line-height:18px}
}

/* Match updates share one reading position; the chosen panel survives live refreshes. */
#match .md-updates{--md-update-image-h:168px;margin:var(--jyb-sp-s) 0 var(--jyb-sp-m);min-width:0}
#match #match-updates-content{height:calc(var(--md-update-image-h) + 78px)}
#match .md-updates [role=tabpanel]{height:100%}
#match .md-updates-tabs{display:flex;gap:var(--jyb-sp-xl);margin:0 var(--jyb-sp-l) var(--jyb-sp-s);border-bottom:1px solid var(--row-line)}
#match .md-updates-tabs button{display:inline-flex;align-items:center;gap:var(--jyb-sp-s);min-height:48px;margin:0;padding:0 2px;border:0;border-bottom:3px solid transparent;border-radius:0;background:none;box-shadow:none;color:var(--muted);font-size:var(--jyb-fs-body);font-weight:var(--jyb-fw-strong)}
#match .md-updates-tabs button[aria-selected=true]{border-bottom-color:var(--club-navy);color:var(--club-navy);font-weight:var(--jyb-fw-heavy)}
#match .md-updates-tabs small{min-width:20px;padding:2px 5px;border-radius:6px;background:var(--paper);font-size:var(--jyb-fs-micro);line-height:var(--jyb-lh-micro);text-align:center}
#match .md-updates .md-news,#match .md-updates .md-gifs{margin-top:0}
#match .md-updates [hidden]{display:none!important}
#match .md-updates :is(.md-news-scroller,.md-gif-list){display:flex;align-items:flex-start;gap:var(--jyb-sp-m);max-width:100%;height:100%;overflow-x:auto;overscroll-behavior-x:contain;padding:var(--jyb-sp-xs) var(--md-gutter) var(--jyb-sp-s);scrollbar-width:thin;scrollbar-color:var(--md-border-2) transparent}
#match .md-updates :is(.md-news-card,.md-gif){display:flex;flex:0 0 clamp(148px,calc(var(--md-update-image-h) * var(--md-update-ratio,1.777778)),380px);flex-direction:column;min-width:0;width:auto;height:calc(var(--md-update-image-h) + 62px);padding:0;overflow:hidden;border:1px solid var(--md-hair);border-radius:var(--jyb-radius-card);background:var(--card)}
#match .md-updates .md-news-card:after{display:none}
#match .md-updates :is(.md-news-cover,.md-gif-cover){flex:none;width:100%;height:var(--md-update-image-h);min-height:0;aspect-ratio:auto;border-radius:0}
#match .md-updates :is(.md-news-cover,.md-gif-cover):has(>img){display:block;aspect-ratio:auto}
#match .md-updates :is(.md-news-cover,.md-gif-cover)>img{position:static;inset:auto;display:block;width:100%;height:100%;aspect-ratio:auto;object-fit:contain}
#match .md-updates .md-news-cover:has(>img)>svg{display:none}
#match .md-updates :is(.md-news-copy,.md-gif-copy){display:flex;flex:1;flex-direction:column;gap:3px;min-height:0;padding:6px var(--jyb-sp-s)}
#match .md-updates :is(.md-news-copy,.md-gif-copy) strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;height:32px;font-size:var(--jyb-fs-caption);line-height:var(--jyb-lh-micro);font-weight:var(--jyb-fw-strong)}
#match .md-updates :is(.md-news-copy,.md-gif-copy) small{margin-top:auto;padding-top:0;font-size:var(--jyb-fs-micro);line-height:14px}
#match .md-updates .md-gif>svg{display:none}
#match .pv-rule-fold>summary{display:flex;align-items:center;justify-content:space-between;gap:var(--jyb-sp-l);min-height:48px;cursor:pointer;list-style:none}
#match .pv-rule-fold>summary::-webkit-details-marker{display:none}
#match .pv-rule-fold>summary>h2{flex:1;min-width:0}
#match .pv-rule-fold .md-section{margin:0}
#match .pv-rule-fold>summary>svg{flex:none;width:20px;height:20px;color:var(--muted);transition:transform var(--jyb-motion-micro) ease}
#match .pv-rule-fold[open]>summary>svg{transform:rotate(180deg)}
#match .pv-rule-fold .pv-rule{margin:var(--jyb-sp-m) 0 0;line-height:1.9}
/* The layout planner measures the complete name and reserves its real height. */
#match .pitch-player{height:var(--md-marker-h);justify-content:flex-start}
#match .pitch-player>strong{box-sizing:border-box;width:100%;max-width:100%;height:auto;margin-top:var(--jyb-sp-xs);padding:0 2px;overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;font-size:var(--jyb-fs-micro);line-height:14px}
#match .lineup-pitch .pitch-player .md-portrait{width:var(--md-avatar);height:var(--md-avatar)}
#match .pitch-player .md-portrait>.md-icon{width:24px;height:24px}
#match .pitch-player .md-portrait img{width:100%;height:100%;object-fit:cover}
@media(max-width:650px){
 /* Every mobile Web page uses one back/title/action bar. */
 body .app-header,body[data-page=match]:has(.md-hero) .app-header{display:grid;grid-template-columns:44px minmax(0,1fr) 44px;height:48px;padding:0 6px;box-sizing:border-box;background:var(--card);border-bottom:1px solid var(--row-line);box-shadow:none}
 .app-header .app-back{position:static;justify-self:start;width:44px;height:48px;grid-column:1;grid-row:1;visibility:visible}
 body:is([data-page=scores],[data-page=data],[data-page=news],[data-page=plaza],[data-page=me]) .app-header .app-back{display:none}
 .app-header .app-filter{display:none}
 body .app-header #app-page-title{position:static;grid-column:2;grid-row:1;max-width:100%;height:48px;display:flex;align-items:center;justify-content:center;transform:none;pointer-events:auto;line-height:20px;font-size:var(--jyb-fs-body)}
 body .app-header .app-search,body[data-page=plaza] .app-header .app-plaza-search,body[data-page=filter] .app-header .app-search,body[data-page=news] .app-header .app-search{grid-column:3;grid-row:1;justify-self:end;width:44px;height:48px}
 body .app-header :is(.app-back,.app-search,.app-plaza-search){padding:0;border:0;border-radius:var(--jyb-radius-medium);background:none;color:var(--club-navy);box-shadow:none}
 body .app-header :is(.app-back,.app-search,.app-plaza-search) svg{width:20px;height:20px}
 .app-header .score-sport-switch{display:flex;align-items:center;justify-content:center;gap:0;height:48px}
 .app-header .score-sport-switch a{position:relative;display:flex;flex-direction:row;gap:0;align-items:center;justify-content:center;min-width:52px;width:auto;height:48px;min-height:48px;padding:0 var(--jyb-sp-s);border-radius:0;font-size:var(--jyb-fs-small);line-height:20px;font-weight:var(--jyb-fw-strong);color:var(--muted)}
 .app-header .score-sport-switch a[aria-current]{color:var(--club-navy);font-weight:var(--jyb-fw-heavy)}
 .app-header .score-sport-switch a:after{content:"";position:absolute;left:calc(50% - 10px);bottom:6px;width:20px;height:2px;border-radius:2px;background:transparent}
 .app-header .score-sport-switch a[aria-current]:after{background:var(--club-navy)}
 #match .md-back{visibility:hidden}
 #match .md-tabs{top:48px}
 #data .board-context{margin:0;padding:0 var(--jyb-sp-l);border-bottom:1px solid var(--row-line)}
 #data .board-context .data-leagues{flex-wrap:nowrap;gap:var(--jyb-sp-xs);margin:0;padding:0;min-height:44px;align-items:center}
 #data .board-context .data-leagues a{position:relative;isolation:isolate;flex:none;min-height:44px;display:flex;align-items:center;padding:0 var(--jyb-sp-m);border:0;background:none;box-shadow:none;white-space:nowrap}
 #data .board-context .data-leagues a:before{content:"";position:absolute;z-index:-1;inset:6px 0;border:1px solid var(--row-line);border-radius:var(--jyb-radius-pill);background:var(--card)}
 #data .board-context .data-leagues a.active:before{border-color:var(--club-navy);background:var(--club-navy)}
 #data>:is(.football-board-tabs,.bb-board-tabs){gap:0;margin:0;padding:0 var(--jyb-sp-s);min-height:44px;align-items:center}
 #data>:is(.football-board-tabs,.bb-board-tabs)>:is(a,button){flex:none;min-height:44px;padding:0 var(--jyb-sp-m);font-size:var(--jyb-fs-small);line-height:20px}
}

/* The same tabs share type, selection colour and indicator; PC keeps its columns. */
:is(#scores .toolbar button,#news .news-tabs button,#data>.football-board-tabs>a,#data>.bb-board-tabs>a,#data>.bb-board-tabs>button,#match .md-tabs button,.plaza-toolbar nav a){font-size:var(--jyb-fs-small);line-height:20px;font-weight:var(--jyb-fw-strong)}
:is(#scores .toolbar button,#news .news-tabs button,#data>.football-board-tabs>a,#data>.bb-board-tabs>a,#data>.bb-board-tabs>button,#match .md-tabs button,.plaza-toolbar nav a).active{color:var(--club-navy)!important;font-weight:var(--jyb-fw-heavy)}
@media(max-width:650px){
 :is(#scores .toolbar button,#news .news-tabs button,#data>.football-board-tabs>a,#data>.bb-board-tabs>a,#data>.bb-board-tabs>button,#match .md-tabs button,.plaza-toolbar nav a){position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;height:44px;min-height:44px;padding-block:0;border:0;border-radius:0;background:none;box-shadow:none;color:var(--muted)}
 :is(#scores .toolbar button,#news .news-tabs button,#data>.football-board-tabs>a,#data>.bb-board-tabs>a,#data>.bb-board-tabs>button,#match .md-tabs button,.plaza-toolbar nav a).active{background:none}
 :is(#scores .toolbar button,#news .news-tabs button,#data>.football-board-tabs>a,#data>.bb-board-tabs>a,#data>.bb-board-tabs>button,#match .md-tabs button,.plaza-toolbar nav a).active:after{content:"";position:absolute;left:calc(50% - 12px);right:auto;bottom:6px;width:24px;height:3px;border-radius:2px;background:var(--club-navy);transform:none}
}
@media(min-width:1000px){
 #match .pitch-player>strong{font-size:var(--jyb-fs-small);line-height:18px}
 #match .md-updates-tabs{margin-inline:0}
}

/* A club identity and a compact grid of facts, with the same order on phone and PC. */
#team .team-identity,#team .basketball-team .team-identity{display:flex;align-items:center;gap:var(--jyb-sp-xl);margin:0 0 var(--jyb-sp-xl);padding:var(--jyb-sp-xl);border:1px solid var(--club-navy-line);border-radius:18px;background:linear-gradient(120deg,var(--paper),var(--card));min-width:0}
#team .team-identity>div{min-width:0}
#team .team-identity h1{margin:6px 0 0;font-size:var(--jyb-page-heading-size);line-height:var(--jyb-page-heading-line);overflow-wrap:anywhere}
#team .team-identity-context{margin:0;color:var(--muted);font-size:var(--jyb-fs-small);line-height:20px;overflow-wrap:anywhere}
#team .team-hero-crest{display:grid;place-items:center;flex:none;width:88px;height:88px;border:1px solid var(--row-line);border-radius:var(--jyb-radius-hero);background:var(--card)}
#team .team-hero-crest img{width:72px;height:72px;object-fit:contain}
#team .team-overview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--jyb-sp-xl);align-items:start}
#team .team-overview>.team-club-facts{grid-column:1/-1}
#team .team-split-section,#team .team-club-facts{margin-top:0}
#team .team-season-card,#team .team-split-card,#team .team-club-facts dl{padding:var(--jyb-sp-xl);border-radius:16px;background:var(--card);border-color:var(--row-line)}
#team .team-record-results{padding-top:var(--jyb-sp-l);border-top:1px solid var(--row-line);gap:var(--jyb-sp-l)}
#team .team-record-results strong{font-size:var(--jyb-fs-display);color:var(--club-navy)}
#team .team-points{margin:20px 0;color:var(--club-navy)}
#team .team-points strong{font-size:40px;line-height:1.1}
#team .team-club-facts dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 var(--jyb-sp-xxl)}
#team .team-club-facts dl>div{min-width:0;padding:var(--jyb-sp-l) 0}
#team .team-club-facts dl>div:first-child{padding-top:var(--jyb-sp-l)}
#team .basketball-team .team-overview:has(.competition-games){display:block}
#team .team-view-tabs a{border-radius:10px;background:var(--card)}
#team .team-view-tabs a[aria-current]{color:var(--pill-fg);background:var(--club-navy);border-color:var(--club-navy)}
@media(max-width:650px){
 #team .team-summary{padding:var(--jyb-sp-l) var(--jyb-sp-l) var(--jyb-sp-xl)}
 #team .team-summary .team-identity{position:relative;isolation:isolate;gap:14px;padding:20px;margin:0 0 14px;border:0;border-radius:18px;background:var(--club-navy);color:var(--card)}
 #team .team-summary .team-identity h1{font-size:var(--jyb-page-heading-size);color:inherit;margin:var(--jyb-sp-xs) 0 0;line-height:var(--jyb-page-heading-line)}
 #team .team-summary .team-identity-context{font-size:var(--jyb-fs-caption);color:inherit;opacity:.82}
 #team .team-hero-crest{width:62px;height:62px;flex-basis:62px;background:var(--card);border:0;border-radius:16px}
 #team .team-hero-crest img{width:100%;height:100%;object-fit:contain}
 #team .team-summary:not(.basketball-team) .team-season-card{display:grid;grid-template-columns:1fr auto;gap:5px var(--jyb-sp-m);padding:18px;border-radius:16px;margin:0}
 #team .team-summary:not(.basketball-team) .team-season-card h2{font-size:var(--jyb-fs-small);margin:0}
 #team .team-summary:not(.basketball-team) .team-season-card>p{grid-column:1;font-size:var(--jyb-fs-caption);margin:0}
 #team .team-points{grid-column:2;grid-row:1/3;padding:0;margin:0;display:flex;align-items:baseline;gap:6px}
 #team .team-points strong{font-size:34px}
 #team .team-points span{font-size:var(--jyb-fs-caption)}
 #team .team-record-results{grid-column:1/-1;margin:var(--jyb-sp-m) 0 0;padding:13px 0 0;border-top:1px solid var(--row-line)}
 #team .team-record-results>div{display:flex;align-items:baseline;justify-content:center;gap:7px}
 #team .team-record-results strong{font-size:var(--jyb-fs-web-heading)}
 #team .team-record-results span{font-size:var(--jyb-fs-caption)}
 #team .team-split-section{margin-top:var(--jyb-sp-xl)}
 #team .team-split-section>h2{font-size:var(--jyb-fs-web-reading);margin:0 0 var(--jyb-sp-m)}
 #team .team-split-card{display:grid;grid-template-columns:64px 1fr 42px;align-items:center;gap:var(--jyb-sp-m);padding:var(--jyb-sp-l);margin:0 0 10px;border-radius:var(--jyb-radius-card)}
 #team .team-split-card header{padding:0;border:0;display:block}
 #team .team-split-card header h3{font-size:var(--jyb-fs-small);margin:0 0 3px}
 #team .team-split-card header span{font-size:var(--jyb-fs-micro)}
 #team .team-split-card .team-record-results{display:flex;justify-content:space-between;margin:0;padding:0;border:0}
 #team .team-split-card .team-record-results>div{display:flex;flex-direction:column;gap:3px}
 #team .team-split-card .team-record-results strong{font-size:var(--jyb-fs-headline)}
 #team .team-split-card .team-record-results span{font-size:var(--jyb-fs-micro)}
 #team .team-split-points{font-size:var(--jyb-fs-caption);line-height:1.5;margin:0;text-align:right}
 #team .team-club-facts{margin-top:var(--jyb-sp-xl)}
 #team .team-club-facts h2{font-size:var(--jyb-fs-web-reading)}
#team .team-overview{display:block}
 #team .team-split-card>header{position:static;min-height:0;height:auto;background:none;box-shadow:none}
 #team .team-club-facts dl{display:block;margin:0;padding:var(--jyb-sp-xs) var(--jyb-sp-l);border-radius:var(--jyb-radius-card)}
 #team .team-club-facts dl>div{display:grid;grid-template-columns:1fr minmax(0,1.3fr);gap:var(--jyb-sp-l);align-items:center;padding:var(--jyb-sp-m) 0;min-height:44px}
 #team .team-club-facts dl>div:last-child{border-bottom:0}
 #team .team-club-facts dt{font-size:var(--jyb-fs-caption);line-height:20px}
 #team .team-club-facts dd{margin:0;font-size:var(--jyb-fs-small);line-height:20px;text-align:right;overflow-wrap:anywhere}
 #team .team-club-facts h2{margin-bottom:var(--jyb-sp-m)}
 #team .team-split-card>header{grid-column:1;grid-row:1}
 #team .team-split-card .team-record-results{grid-column:2;grid-row:1}
 #team .team-split-card .team-split-points{grid-column:3;grid-row:1}
}


/* Shared post actions occupy equal baselines; counts cannot shift their icons. */
.plaza-page .plaza-actions{align-items:center;gap:var(--jyb-sp-xs)}
.plaza-page .plaza-actions .plaza-act{height:48px;min-height:48px;min-width:44px;padding:0 6px;line-height:20px;vertical-align:middle}
.plaza-page .plaza-actions .plaza-act svg{display:block;flex:none;width:20px;height:20px;align-self:center}
.plaza-page .plaza-actions .plaza-act span{line-height:20px}

/* Article type and media keep a comfortable measure on either screen. */
:is(#article,#special) .news-article{min-width:0}
:is(#article,#special) .news-article h1{overflow-wrap:anywhere;text-wrap:pretty}
:is(#article,#special) .art-meta{flex-wrap:wrap;gap:var(--jyb-sp-s) var(--jyb-sp-l);min-width:0}
:is(#article,#special) #article-body{min-width:0;overflow-wrap:anywhere;line-height:1.9}
:is(#article,#special) #article-body img{max-width:100%;height:auto;object-fit:contain;border-radius:var(--jyb-radius-medium)}
:is(#article,#special) #article-body table{display:block;max-width:100%;overflow-x:auto}
:is(#article,#special) .article-related{min-width:0}
:is(#article,#special) .article-related>a{align-items:center;gap:var(--jyb-sp-m)}
:is(#article,#special) .article-related .art-img{flex:0 0 76px;width:76px;height:56px;margin:0;border-radius:var(--jyb-radius-small)}
:is(#article,#special) .article-related .art-img>img{width:100%;height:100%;object-fit:cover}
:is(#article,#special) .article-related>a>span:not(.art-img){flex:1;min-width:0;overflow-wrap:anywhere}
@media(max-width:650px){
 #news .news-search-panel{margin:var(--jyb-sp-s) var(--jyb-sp-l)}
 :is(#article,#special) .news-article h1{font-size:var(--jyb-page-heading-size);line-height:var(--jyb-page-heading-line);margin:var(--jyb-sp-l) var(--jyb-sp-l) 20px;letter-spacing:0}
 :is(#article,#special) #article-body{font-size:var(--jyb-fs-web-reading);line-height:1.9;padding-inline:var(--jyb-sp-l)}
 :is(#article,#special) #article-body p{margin:0 0 20px;line-height:1.9}
 :is(#article,#special) .art-meta{margin:0 var(--jyb-sp-l) 20px;font-size:var(--jyb-fs-caption)}
 :is(#article,#special) .art-cover{border-radius:0}
}

/* Mobile Web main tabs have one small brand; detail pages retain their own title. */
#app-brand-slot,#app-match-share-slot{display:none}
@media(max-width:650px){
 body:is([data-page=scores],[data-page=news],[data-page=plaza],[data-page=data]) .app-header{grid-template-columns:84px minmax(0,1fr) 84px}
 body:is([data-page=scores],[data-page=news],[data-page=plaza],[data-page=data]) #app-brand-slot{display:flex;grid-column:1;grid-row:1;align-items:center;padding-left:6px;min-width:0}
 .mobile-brand{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;color:var(--club-navy);font-size:var(--jyb-fs-body);line-height:20px;font-weight:var(--jyb-fw-strong);letter-spacing:.02em}
 .mobile-brand img{display:block;flex:none;width:24px;height:24px;object-fit:contain;border-radius:6px}
 body[data-page=me] #app-page-title .mobile-brand{font-size:var(--jyb-fs-body);gap:var(--jyb-sp-s)}
 body[data-page=me] #app-page-title .mobile-brand img{width:28px;height:28px}
 body[data-page=match] #app-match-share-slot{display:contents}
 body .app-header .app-match-share{display:flex;align-items:center;justify-content:center;grid-column:3;grid-row:1;justify-self:end;width:44px;height:48px;min-height:44px;margin:0;padding:0;border:0;border-radius:var(--jyb-radius-medium);background:none;box-shadow:none;color:var(--club-navy)}
 .app-match-share svg{width:20px;height:20px}
 #match .md-hero-bar{display:none}
}

#match .md-updates-header{display:flex;align-items:center;gap:var(--jyb-sp-m);margin:0 var(--md-gutter) 6px}
#match .md-updates-tabs{min-width:0;margin:0;flex:1}
#match .md-updates-fold{display:inline-flex;align-items:center;justify-content:center;gap:var(--jyb-sp-xs);flex:none;min-width:44px;min-height:44px;padding:0 var(--jyb-sp-xs);border:0;background:none;box-shadow:none;color:var(--muted);font-size:var(--jyb-fs-caption)}
#match .md-updates-fold svg{width:14px;height:14px;transform:rotate(180deg)}
#match .md-updates.is-collapsed .md-updates-fold svg{transform:none}
#match .md-updates.is-collapsed #match-updates-content{display:none}
#match .md-updates .bb-video-rail{gap:var(--jyb-sp-m);height:100%;scrollbar-width:thin}
#match .md-updates .bb-video-rail>li{flex:0 0 clamp(148px,calc(var(--md-update-image-h) * var(--md-update-ratio,1.777778)),380px);width:auto}
#match .md-updates .bb-video{height:calc(var(--md-update-image-h) + 62px);overflow:hidden;border:1px solid var(--md-hair);border-radius:var(--jyb-radius-card);background:var(--card)}
#match .md-updates .bb-video-title{height:32px;margin:6px var(--jyb-sp-s) 0;font-size:var(--jyb-fs-caption);line-height:var(--jyb-lh-micro)}
#match .md-updates .bb-video-cover{width:100%;height:var(--md-update-image-h);aspect-ratio:auto;min-height:0;border-radius:0}
#match .md-updates .bb-video-cover img{position:static;width:100%;height:100%;object-fit:contain}
#match .md-updates .bb-video-play{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%)}
@media(max-width:650px){
 #match .md-pane:has(>.md-updates){padding-top:6px}
 #match .md-updates{--md-update-image-h:144px;margin:var(--jyb-sp-xs) 0 var(--jyb-sp-s)}
 #match .md-updates-header{display:flex;align-items:center;gap:6px;margin:0 var(--md-gutter) 6px}
 #match .md-updates-tabs{gap:var(--jyb-sp-xs);margin:0;border:0;min-width:0}
 #match .md-updates-tabs button{position:relative;isolation:isolate;gap:3px;height:44px;min-height:44px;padding:0 6px;border:0;border-radius:18px;font-size:var(--jyb-fs-caption);line-height:18px;white-space:nowrap}
 #match .md-updates-tabs button:before{content:"";position:absolute;z-index:-1;inset:6px 0;border-radius:18px;background:transparent}
 #match .md-updates-tabs button[aria-selected=true]{background:none;color:var(--card)}
 #match .md-updates-tabs button[aria-selected=true]:before{background:var(--club-navy)}
 #match .md-updates-tabs small{min-width:0;margin:0;padding:0;border-radius:0;background:none;color:inherit;}
 #match .md-updates-fold{display:inline-flex;align-items:center;justify-content:center;gap:var(--jyb-sp-xs);flex:none;width:auto;min-width:44px;height:44px;min-height:44px;margin:0 0 0 auto;padding:0 3px;border:0;border-radius:var(--jyb-radius-small);background:none;box-shadow:none;color:var(--muted);font-size:var(--jyb-fs-micro);line-height:var(--jyb-lh-micro)}
 #match .md-updates-fold svg{width:14px;height:14px;transform:rotate(180deg)}
 #match .md-updates.is-collapsed .md-updates-fold svg{transform:none}
 #match .md-updates.is-collapsed #match-updates-content{display:none}
 #match .md-updates :is(.md-news-scroller,.md-gif-list){gap:var(--jyb-sp-s);padding:0 var(--md-gutter) 6px;scroll-snap-type:none}
 #match .md-updates :is(.md-news-card,.md-gif){flex-basis:clamp(148px,calc(var(--md-update-image-h) * var(--md-update-ratio,1.777778)),calc(100% - 2 * var(--md-gutter)));min-height:0;border-radius:10px}
 #match .md-updates .bb-video-rail{gap:var(--jyb-sp-s);padding-top:0;padding-bottom:6px}
 #match .md-updates .bb-video-rail>li{flex-basis:clamp(148px,calc(var(--md-update-image-h) * var(--md-update-ratio,1.777778)),calc(100% - 2 * var(--md-gutter)))}
 #match .md-updates .bb-video{border-radius:10px}
 #match .md-updates :is(.md-news-copy,.md-gif-copy){gap:3px;min-height:0;padding:6px var(--jyb-sp-s)}
 #match .md-updates :is(.md-news-copy,.md-gif-copy) strong{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;font-size:var(--jyb-fs-caption);line-height:var(--jyb-lh-micro)}
 #match .md-updates :is(.md-news-copy,.md-gif-copy) small{padding:0;font-size:var(--jyb-fs-micro);line-height:14px}
}

@media(max-width:650px){body[data-page=match] #app-match-share-slot .app-match-share{visibility:visible}}

/* v6「主场·看台」PC（Owner 2026-10-21 選定）：頂部藏青看台帶——字標白、文字導航白（選中白底線 3px）、下緣不畫線；
   內容區第一輪照舊（白底、藏青線），下一輪逐頁精修。真源 design/brand-review-20261019-claude/v6/REPLICATION.md。 */
@media(min-width:651px){
 body>header{background:var(--club-navy);border-bottom:0;color:var(--jx-on-band)}
 .head .brand,.head .brand-name{color:var(--jx-on-band)}
 .head .brand .monogram{border-radius:50%}
 .head nav a,.head nav a:hover,.head nav a.active,.head nav a.active:hover{color:var(--jx-on-band-muted)}
 .head nav a.active,.head nav a.active:hover{color:var(--jx-on-band)}
 .head nav a:hover:not(.active){color:var(--jx-on-band)}
 .head nav a:hover:not(.active) .nav-icon:before{background:var(--jx-on-band-press)}
 .head nav a.active .nav-icon:before{background:var(--jx-on-band-active)}
 .head nav a:focus-visible{outline-color:var(--jx-on-band)}
}
@media(min-width:1000px){
 body>header{border-bottom:0}
 .head nav a.active:after{background:var(--jx-on-band)}
}
/* v6 手機頁首要壓過本檔 415 行的 `body .app-header`（它在 runtime.css 之後載入），所以寫在這裡、用 html body 提高權重。 */
@media(max-width:650px){
 html body .app-header,html body[data-page=match]:has(.md-hero) .app-header{height:52px;background:var(--club-navy);border-bottom:0;color:var(--jx-on-band)}
 html body .app-header strong,html body .app-header #app-page-title{color:var(--jx-on-band);line-height:52px}
 html body .app-header :is(a,button,label,.app-back,.app-search,.app-plaza-search,.app-filter,.app-match-share){color:var(--jx-on-band);background:none}
 html body .app-header :is(a,button):active{background:var(--jx-on-band-press)}
 html body .app-header .score-sport-switch{height:34px;padding:3px;border-radius:var(--jyb-radius-pill);background:var(--jx-on-band-press);gap:0}
 html body .app-header .score-sport-switch a{flex-direction:row;gap:6px;min-width:84px;height:28px;min-height:28px;padding:0 var(--jyb-sp-m);border-radius:var(--jyb-radius-pill);background:none;color:var(--jx-on-band);font-size:var(--jyb-fs-small);font-weight:var(--jyb-fw-strong);line-height:28px}
 html body .app-header .score-sport-switch a:after,html body .app-header .score-sport-switch a[aria-current]:after{content:none}
 html body .app-header .score-sport-switch a[aria-current=page]{background:var(--card);color:var(--club-navy)}
 html body .app-header .score-sport-switch a:last-child[aria-current=page]{background:var(--sharks-orange);color:var(--jx-accent-ink)}
 html body .mobile-brand,html body .mobile-brand span{color:var(--jx-on-band)}
}
@media(max-width:650px){ html body .app-header #app-page-title{height:52px} html body .app-header :is(.app-back,.app-search,.app-plaza-search,.app-match-share){height:52px} }
/* v6 覆核修正（10-21 獨立覆核）：下面幾條原本被本檔前段的手機規則蓋住，所以寫在本檔最後、用 html body 提高權重。 */
@media(max-width:650px){
 :root{--band-top:52px}   /* 吸頂條改從 52px 看台帶的下緣開始（原 48） */
 html body :is(#data,#team) .standings-table thead th,html body .md-tabs,html body #match .md-tabs,html body #match .tabs,html body #data .data-leagues,html body #filter .flt-tabs,html body #data .bb-board-bar{top:52px}   /* 寫死 48px 的吸頂元素 */
 html body.web-scrolled .mobile-nav{transform:none}   /* 本檔 339 行捲動時把浮動導航縮小並左移半格；v6 貼底導航不跟著動 */
 html body[data-page=login] .app-header{background:var(--club-navy)}   /* runtime.css 1344 行把登入頁頁首改回淺底 */
 html body #scores .toolbar button.active:after,html body #news .news-tabs button.active:after{left:10px;right:10px;bottom:0;width:auto;height:3px;border-radius:2px 2px 0 0;background:var(--club-navy);transform:none}   /* 本檔 445 行 :is() 的 24px 短底線 */
}
/* v6 二次覆核（10-21）：①窄螢幕頁首：本檔 547 行左欄 84px，但「Logo＋金银伯」約 91px 會溢進中欄；運動切換兩段各 84px（約 174px）
   在 360 寬就壓到字標、320 寬兩端被裁。380 以下切換段改成貼字寬（約 110px）。
   ②看台帶上的焦點框：全站焦點框是 --gold-ink（＝藏青），疊在藏青帶上看不見；帶上改白框，白底的選中段改藏青框並內縮。 */
@media(max-width:380px){
 html body .app-header .score-sport-switch a{min-width:0;padding:0 var(--jyb-sp-m)}
}
/* 三次覆核（10-22）：切換段只有 28px 高，可點範圍低於 44px（換皮前 48px）。runtime.css 2560 行把 a:before 關掉了，
   這裡把它打開成透明的點擊延伸區：上下各多 8px，28＋16＝44，畫面不變。 */
@media(max-width:650px){
 html body .app-header .score-sport-switch a:before{content:"";position:absolute;inset:-8px 0;z-index:-1;border-radius:0;background:none}
}
@media(max-width:650px){
 html body .app-header :is(a,button,label,input):focus-visible{outline-color:var(--jx-on-band)}
 html:has(#plaza-search-open:focus-visible) body .app-header .app-plaza-search{outline-color:var(--jx-on-band)}
 html body .app-header .score-sport-switch a:focus-visible{outline-offset:-3px}
 html body .app-header .score-sport-switch a[aria-current=page]:focus-visible{outline-color:var(--club-navy)}
}
@media(min-width:651px){
 html body>header :is(a,button):focus-visible{outline-color:var(--jx-on-band)}
}

/* 13 · v6「主场·看台」PC 第二輪（Owner 2026-10-22「PC網頁版也沒做好阿」）。照 design/brand-review-20261019-claude/v4/REPLICATION.md
   「PC 外殼／PC 数据／PC 榜单资讯广场比赛」與 v6/base.css 的 PC 段：看台帶 64（字標左、文字導航、右側搜尋 260＋「我的」膠囊）、
   冷白水泥底、內容最寬 1200（邊距 32）、白磁貼＋細線、12 欄欄距 24。只在 ≥1000px；手機（≤650）與平板照舊。
   比分列表仍自己捲動（288 行），框高改成填滿看台帶與頁首磁貼下的視窗。顏色只引用令牌。 */
.pc-tools,.pc-filter-head,.md-summary{display:none}
@media(min-width:1000px){
 /* 邊距沿用 651–1199 那條（runtime.css：右緣直排「下載 App」頁籤 46＋8，加橫拿手機的瀏海）：1200 欄在 1308 以下靠它讓開頁籤；
    更寬時內容 1200 置中，與 32 的邊距畫出來一樣 */
 :root{--head-h:64px;--wide:var(--jyb-web-data-max);--pc-col:var(--jyb-web-data-max);--shell-pad:calc(54px + max(env(safe-area-inset-left,0px),env(safe-area-inset-right,0px)))}
 html body{background:var(--jx-bg)}
 /* 看台帶 */
 html body>header{border-bottom:0}
 html body .head{min-height:64px;height:64px;gap:var(--jyb-sp-xl);justify-content:flex-start}
 html body .head .brand{gap:10px}
 html body .head .brand .monogram{width:32px;height:32px}
 html body .head .brand{min-height:var(--jyb-touch-web)}
 html body .head .brand-name{font-size:var(--jyb-fs-title);font-weight:var(--jyb-fw-heavy);letter-spacing:.04em}
 html body .head nav{flex:1;gap:var(--jyb-sp-xs);margin-left:var(--jyb-sp-s);align-self:stretch}
 html body .head nav a,html body .head nav a:hover,html body .head nav a.active,html body .head nav a.active:hover{min-height:64px;padding:0 var(--jyb-sp-l);font-size:var(--jyb-fs-body);font-weight:var(--jyb-fw-strong)}
 html body .head nav .nav-label{font-size:var(--jyb-fs-body);font-weight:var(--jyb-fw-strong)}
 html body .head nav a.active:after{top:auto;bottom:0;left:16px;right:16px;width:auto;height:3px;border-radius:2px 2px 0 0;background:var(--jx-on-band)}
 /* 「我的」＝導航自己的第五格，畫成看台帶右端的膠囊（不另做一個連結：導航逐字一份、五格左到右、各頁點亮自己的那格）；
    絕對定位到內容右緣，搜尋框在它左邊讓出 88＋12 */
 html body .head{position:relative}
 html body .head nav a[data-nav=me],html body .head nav a[data-nav=me]:hover,html body .head nav a[data-nav=me].active,html body .head nav a[data-nav=me].active:hover{position:absolute;top:10px;right:var(--shell-pad);display:inline-flex;align-items:center;justify-content:center;gap:6px;box-sizing:border-box;width:88px;min-height:44px;height:44px;padding:0 var(--jyb-sp-m);border:1px solid var(--jx-on-band-muted);border-radius:var(--jyb-radius-pill);color:var(--jx-on-band);font-size:var(--jyb-fs-body);line-height:20px;white-space:nowrap}
 html body .head nav a[data-nav=me] .nav-label{font-size:var(--jyb-fs-body);line-height:20px}
 html body .head nav a[data-nav=me] .nav-icon{display:grid;width:18px;height:18px}
 html body .head nav a[data-nav=me] .nav-icon:before{display:none}
 html body .head nav a[data-nav=me] .nav-icon svg{width:18px;height:18px;transform:none}
 html body .head nav a[data-nav=me]:hover{background:var(--jx-on-band-press)}
 html body .head nav a[data-nav=me].active{background:var(--card);border-color:var(--card);color:var(--club-navy)}
 html body .head nav a[data-nav=me].active:after{display:none}
 html body .head nav a[data-nav=me]:focus-visible{outline:2px solid var(--jx-on-band);outline-offset:2px}
 .pc-tools{display:flex;align-items:center;gap:var(--jyb-sp-m);margin-left:auto;margin-right:100px;flex:none}
 .pc-search{display:flex;align-items:center;gap:var(--jyb-sp-s);box-sizing:border-box;width:clamp(200px,20vw,260px);height:44px;margin:0;padding:0 var(--jyb-sp-m);border-radius:var(--jyb-radius-medium);background:var(--card);color:var(--muted)}
 .pc-search-icon{display:grid;place-items:center;flex:none;width:18px;height:18px}
 .pc-search-icon svg{width:18px;height:18px}
 .pc-search input{flex:1;min-width:0;height:var(--jyb-touch-web);margin:0;padding:0;border:0;background:none;color:var(--ink);font:inherit;outline:0;font-size:var(--jyb-fs-web-form);line-height:var(--jyb-lh-web-form)}
 .pc-search input::placeholder{color:var(--muted)}
 .pc-search input::-webkit-search-cancel-button{-webkit-appearance:none;appearance:none}
 .pc-search:focus-within{outline:2px solid var(--jx-on-band);outline-offset:2px}
 #main-content.shell{padding-top:var(--jyb-sp-xl);padding-bottom:48px}

 /* 比分：頁首磁貼（標題列＋狀態頁籤）→ 左 3 欄「看台区 筛选」粘性磁貼＋右 9 欄列表磁貼 */
 #main-content #scores{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--jyb-sp-xl);row-gap:0;align-items:start}
 #main-content #scores>.intro{grid-column:1/-1;grid-row:1;display:flex;align-items:center;gap:var(--jyb-sp-m);min-height:72px;margin:0;padding:var(--jyb-sp-m) var(--jyb-sp-xl);box-sizing:border-box;background:var(--card);border:1px solid var(--line);border-bottom:0;border-radius:var(--jyb-radius-small) var(--jyb-radius-small) 0 0}
 #main-content #scores>.intro h1{margin:0;color:var(--ink);font-size:var(--jyb-page-heading-size);font-weight:var(--jyb-fw-heavy);line-height:var(--jyb-page-heading-line)}
 #main-content #scores>.intro .desktop-sport-switch{margin-left:auto}
 #main-content #scores .layout,#main-content #scores .scores-panel{display:contents}
 #main-content #scores .toolbar{grid-column:1/-1;grid-row:2;display:flex;justify-content:flex-start;gap:var(--jyb-sp-xs);margin:0 0 var(--jyb-sp-l);padding:0 var(--jyb-sp-m);min-height:48px;background:var(--card);border:1px solid var(--line);border-radius:0 0 var(--jyb-radius-small) var(--jyb-radius-small);position:static}
 #main-content #scores .toolbar button{min-height:48px;padding:0 14px;font-size:var(--jyb-fs-small);font-weight:var(--jyb-fw-strong)}
 #main-content #scores .fixture-dates{grid-column:4/-1;grid-row:3;margin:0 0 var(--jyb-sp-m);padding:var(--jyb-sp-s) var(--jyb-sp-m);background:var(--card);border:1px solid var(--line);border-radius:var(--jyb-radius-small)}
 #main-content #scores .fixture-dates[hidden]{display:none}
 #main-content #scores .score-controls{grid-column:1/span 3;grid-row:3/span 4;display:flex;flex-direction:column;gap:var(--jyb-sp-m);align-self:start;margin:0;padding:var(--jyb-sp-m);background:var(--card);border:1px solid var(--line);border-radius:var(--jyb-radius-small);position:sticky;top:calc(var(--head-h) + 16px)}
 #main-content #scores .score-controls .search-wrap{margin:0}
 #main-content #scores #freshness{grid-column:4/-1;grid-row:4;margin:0}
 #main-content #scores #freshness:not(.sr){margin:0 0 var(--jyb-sp-s)}
 #main-content #scores #match-list{grid-column:4/-1;grid-row:5;height:max(420px,calc(100svh - var(--head-h) - 24px - 136px - 32px));box-sizing:border-box;padding:0;background:var(--card);border:1px solid var(--line);border-radius:var(--jyb-radius-small)}
 /* 賽程／賽果多一條日期列（48＋下距 12），框高同步扣掉，列表底邊仍停在視窗內 */
 #main-content #scores:has(.fixture-dates:not([hidden])) #match-list{height:max(360px,calc(100svh - var(--head-h) - 24px - 136px - 32px - 60px))}
 #main-content #scores #scores-toast{grid-column:4/-1;grid-row:6}
 #main-content #scores .score-section{position:sticky;top:0;z-index:2;margin:0;padding:10px var(--jyb-sp-l) 10px 13px;background:var(--card);border-left:3px solid var(--club-navy);border-bottom:1px solid var(--line);color:var(--ink);font-size:var(--jyb-fs-small);font-weight:var(--jyb-fw-heavy);line-height:20px}
 #main-content #scores .match{min-height:0}

 /* 资讯：頁首磁貼 → 聯賽頁籤磁貼 → 頭條 6 欄＋右 6 欄三列＋每日精華 → 其餘三欄 */
 #main-content #news{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));gap:var(--jyb-sp-l) var(--jyb-sp-xl);align-items:start}
 #main-content #news>.news-heading{grid-column:1/-1;display:flex;align-items:center;gap:var(--jyb-sp-m);min-height:72px;margin:0;padding:var(--jyb-sp-m) var(--jyb-sp-xl);box-sizing:border-box;background:var(--card);border:1px solid var(--line);border-radius:var(--jyb-radius-small)}
 #main-content #news>.news-heading h1{margin:0;color:var(--ink);font-size:var(--jyb-page-heading-size);font-weight:var(--jyb-fw-heavy);line-height:var(--jyb-page-heading-line)}
 #main-content #news .news-heading-tools{margin-left:auto}
 #main-content #news>.news-tabs{grid-column:1/-1;display:flex;flex-wrap:wrap;gap:var(--jyb-sp-s);margin:0;padding:var(--jyb-sp-s) var(--jyb-sp-m);background:var(--card);border:1px solid var(--line);border-radius:var(--jyb-radius-small)}
 #main-content #news>.news-tabs button{flex:none;min-height:var(--jyb-touch-web);padding:0 14px;border:1px solid var(--line);border-radius:var(--jyb-radius-pill);background:var(--card);color:var(--ink);font-size:var(--jyb-fs-small);font-weight:var(--jyb-fw-strong)}
 #main-content #news>.news-tabs button.active{background:var(--gold);border-color:var(--club-navy)}
 #main-content #news>.news-tabs button:after{display:none}
 #main-content #news>*,#main-content #news>.news-card>*{grid-column:1/-1;min-width:0}
 #main-content #news>.news-card,#main-content #news .news-feed{display:contents}
 #main-content #news .news-row{grid-column:span 4;order:5;margin:0;padding:0;min-height:0;display:flex;flex-direction:column;align-items:stretch;gap:0;grid-template-areas:none;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:var(--jyb-radius-small)}
 #main-content #news .news-row .news-thumb{width:100%;aspect-ratio:16/9;height:auto;margin:0;border-radius:0}
 #main-content #news .news-row .news-text{padding:var(--jyb-sp-m) 14px 14px}
 #main-content #news .news-row.is-lead{grid-column:1/span 6;grid-row:span 4;order:2;align-self:stretch;padding:0}
 #main-content #news .news-row.is-lead .news-thumb{aspect-ratio:16/9}
 #main-content #news .news-row.is-lead .news-text strong{font-size:var(--jyb-fs-title);line-height:var(--jyb-lh-title)}
 #main-content #news .news-row:is(:nth-child(2),:nth-child(3),:nth-child(4)){grid-column:7/span 6;order:3;display:grid;grid-template-columns:minmax(0,1fr) 118px;grid-template-areas:"text pic";align-items:center;gap:var(--jyb-sp-m);padding:var(--jyb-sp-m) 14px}
 #main-content #news .news-row:is(:nth-child(2),:nth-child(3),:nth-child(4)) .news-thumb{grid-column:2;grid-row:1;width:118px;height:79px;aspect-ratio:auto;border-radius:var(--jyb-radius-small)}
 #main-content #news .news-row:is(:nth-child(2),:nth-child(3),:nth-child(4)) .news-text{grid-column:1;grid-row:1;padding:0}
 #main-content #news>.specials-entry{grid-column:7/span 6;order:4;margin:0;align-self:end;background:var(--card);border:1px solid var(--line);border-radius:var(--jyb-radius-small)}
 #main-content #news:not(:has(.news-row))>.specials-entry{grid-column:1/-1}
 #main-content #news .news-more{grid-column:1/-1;order:6;margin:0}
 /* 列表裡的狀態行（查找中、載入失敗、伺服器端的失敗塊）佔整列，不擠在一欄裡 */
 #main-content #news .news-feed>:not(.news-row){grid-column:1/-1}

 /* 座位牌（v4 .seat：20 高藏青底白字） */
 .pc-seat{display:inline-flex;align-items:center;min-height:20px;padding:var(--jyb-sp-nudge) var(--jyb-sp-s);border-radius:var(--jyb-radius-badge);background:var(--club-navy);color:var(--jx-on-band);font-size:var(--jyb-fs-micro);font-weight:var(--jyb-fw-heavy);line-height:var(--jyb-lh-micro);letter-spacing:.06em;white-space:nowrap}
 /* 比分左欄「看台区 筛选」與一級／全部整列分段（v4 .stand .tier-seg） */
 #main-content #scores .pc-filter-head{display:flex;align-items:center;gap:var(--jyb-sp-s);margin:0;color:var(--ink);font-size:var(--jyb-fs-body);line-height:var(--jyb-lh-body)}
 #main-content #scores .pc-filter-head strong{font-weight:var(--jyb-fw-heavy)}
 #main-content #scores .score-dock{display:flex;flex-wrap:wrap;align-items:center;gap:var(--jyb-sp-s);margin:0;padding:0;border:0;background:none;box-shadow:none;position:static}
 #main-content #scores .score-dock .score-tier{display:flex;flex:1;align-items:stretch;width:auto;height:auto;gap:0;padding:var(--jyb-sp-nudge);border:1px solid var(--line);border-radius:var(--jyb-radius-pill);background:var(--card)}
 #main-content #scores .score-dock .score-tier button{flex:1;min-height:var(--jyb-touch-web);margin:0;padding:var(--jyb-sp-xs) var(--jyb-sp-s);border:0;border-radius:var(--jyb-radius-pill);background:none;box-shadow:none;color:var(--muted);font-size:var(--jyb-fs-small);font-weight:var(--jyb-fw-strong);white-space:nowrap}
 #main-content #scores .score-dock .score-tier button>span{height:auto;min-height:28px;padding:0;border:0;border-radius:0;background:none;box-shadow:none;color:inherit;font:inherit}
 #main-content #scores .score-dock .score-tier button.active{background:var(--club-navy);color:var(--jx-on-band)}
 #main-content #scores .score-dock .score-tier button{height:auto;min-height:var(--jyb-touch-web)}
 #main-content #scores .toolbar button,#main-content #scores .toolbar button.active{background:none}
 #main-content #scores #match-list .match{padding-block:var(--jyb-sp-xs)}

 /* 比赛：英雄磁貼 12 欄 → 頁籤與內容磁貼；≥1200 才分左 8 欄＋右 4 欄粘性「本场摘要」（見檔尾） */
 #main-content .md-page{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--jyb-sp-xl);row-gap:var(--jyb-sp-l);align-items:start}
 #main-content .md-page>:not(dialog){grid-column:1/-1;min-width:0;margin-inline:0}
 #main-content .md-page>:is(.md-hero,.md-anim){grid-column:1/-1}
 #main-content .md-page>.md-hero{border-radius:var(--jyb-radius-medium)}
 #main-content .md-summary-h{margin:0 0 var(--jyb-sp-xs);color:var(--ink);font-size:var(--jyb-fs-web-reading);font-weight:var(--jyb-fw-heavy);line-height:var(--jyb-lh-title)}
 #main-content .md-summary dl{margin:0}
 #main-content .md-summary dt{padding-top:var(--jyb-sp-m);color:var(--muted);font-size:var(--jyb-fs-caption);line-height:var(--jyb-lh-micro)}
 #main-content .md-summary dd{margin:0;padding:2px 0 var(--jyb-sp-m);border-bottom:1px solid var(--line);color:var(--ink);font-size:var(--jyb-fs-body);font-weight:var(--jyb-fw-strong);line-height:var(--jyb-lh-body);overflow-wrap:anywhere}
 #main-content .md-summary dd:last-child{padding-bottom:0;border-bottom:0}
 #main-content .md-page>.md-tabs{display:flex;justify-content:flex-start;gap:var(--jyb-sp-xs);margin:0;padding:0 var(--jyb-sp-m);background:var(--card);border:1px solid var(--line);border-radius:var(--jyb-radius-small)}
 #main-content .md-page>.md-tabs button{flex:none;min-height:48px;padding:0 var(--jyb-sp-l)}
 #main-content .md-page>#detail-content{margin:0;padding:var(--jyb-sp-l) 20px;background:var(--card);border:1px solid var(--line);border-radius:var(--jyb-radius-small)}

 /* 榜单：頁首磁貼 → 聯賽膠囊磁貼 → 橫排頁籤＋表格磁貼（全寬；舊版左側直排頁籤收成一列） */
 #main-content #data{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));column-gap:var(--jyb-sp-xl);row-gap:var(--jyb-sp-l);align-items:start}
 #main-content #data>*{grid-column:1/-1;grid-row:auto;min-width:0;margin:0}
 #main-content #data>.data-heading{display:flex;align-items:center;gap:var(--jyb-sp-m);min-height:72px;padding:var(--jyb-sp-m) var(--jyb-sp-xl);box-sizing:border-box;background:var(--card);border:1px solid var(--line);border-radius:var(--jyb-radius-small)}
 #main-content #data>.data-heading h1{margin:0;color:var(--ink);font-size:var(--jyb-page-heading-size);font-weight:var(--jyb-fw-heavy);line-height:var(--jyb-page-heading-line)}
 #main-content #data .data-heading-tools{margin-left:auto}
 #main-content #data>.board-context{display:flex;align-items:center;gap:var(--jyb-sp-m);padding:var(--jyb-sp-s) var(--jyb-sp-m);background:var(--card);border:1px solid var(--line);border-radius:var(--jyb-radius-small)}
 #main-content #data>.board-context .league-games-link{margin:0 0 0 auto}
 #main-content #data>:is(.football-board-tabs,.bb-board-tabs){position:static;display:flex;flex-direction:row;align-items:stretch;gap:var(--jyb-sp-xs);margin:0 0 -16px;padding:0 var(--jyb-sp-m);background:var(--card);border:1px solid var(--line);border-bottom:0;border-radius:var(--jyb-radius-small) var(--jyb-radius-small) 0 0}
 #main-content #data>:is(.football-board-tabs,.bb-board-tabs)>:is(a,button){display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:0 14px;border:0;background:none;font-size:var(--jyb-fs-small)}
 #main-content #data>:is(.board-panel,.bb-board-panel,.blank){padding:0;background:var(--card);border:1px solid var(--line);border-radius:0 0 var(--jyb-radius-small) var(--jyb-radius-small);overflow:clip}
 #main-content #data:not(:has(>:is(.football-board-tabs,.bb-board-tabs)))>:is(.board-panel,.bb-board-panel,.blank){border-radius:var(--jyb-radius-small)}
 #main-content #data>:is(.football-board-tabs,.bb-board-tabs)>:is(a,button).active{position:relative;background:none}
 #main-content #data>:is(.football-board-tabs,.bb-board-tabs)>:is(a,button).active:after{content:"";display:block;position:absolute;left:14px;right:14px;bottom:0;height:3px;border-radius:2px 2px 0 0;background:var(--club-navy)}
 #main-content #data .standings-table :is(th,td){padding-block:10px}

 /* 资讯详情：整篇放進白磁貼（版式照舊），長文讀在白底上；我的：帳號卡與選單成磁貼、不再用藏青粗線 */
 #main-content :is(#article,#special) .news-article{box-sizing:border-box;padding:var(--jyb-sp-xxl) 40px;background:var(--card);border:1px solid var(--line);border-radius:var(--jyb-radius-small)}
 #main-content #me .intro h1{color:var(--ink);font-size:var(--jyb-page-heading-size);font-weight:var(--jyb-fw-heavy);line-height:var(--jyb-page-heading-line)}
 #main-content #me .pass-card{background:var(--card);border:1px solid var(--line);border-radius:var(--jyb-radius-medium)}
 #main-content #me .jlist{overflow:clip;background:var(--card);border:1px solid var(--line);border-radius:var(--jyb-radius-small)}
 #main-content #me .me-side{border-top:0;padding-top:0}
}
/* 比赛頁的左 8 欄＋右 4 欄「本场摘要」只在 ≥1200：1000–1199 時 8 欄扣掉磁貼內距只剩約 560，阵容球場（寬 ≥630、頭像 ≥44，
   web-editorial-layout r156）擺不下，這段寬度維持整列、不畫摘要（同平板）。 */
@media(min-width:1200px){
 #main-content .md-page>:not(dialog){grid-column:1/span 8}
 #main-content .md-page>:is(.md-hero,.md-anim){grid-column:1/-1}
 #main-content .md-page>.md-summary{display:block;grid-column:9/-1;grid-row:2/span 3;position:sticky;top:calc(var(--head-h) + 16px);margin:0;padding:var(--jyb-sp-l) 20px;background:var(--card);border:1px solid var(--line);border-radius:var(--jyb-radius-small)}
}
/* #50 手機比賽詳情整頁沉浸（Owner 10-22「網頁手機板進入比賽詳請應該是整頁無導航才對 沉浸是跟APP一樣的」）：
   App 的比賽詳情是整頁推進（matches_screen.dart _pushMatchDetail），沒有底欄也沒有標題列，返回／分享在深色英雄板上
   （match_detail_header.dart MatchDetailBar）。這裡收回本檔 415／553 行「每頁一條頁首」對比賽頁的覆蓋，回到 runtime.css 1390 段：
   看台帶頁首與底部導航都不畫，英雄板自己的返回／分享列（render.mjs mdHero 的 .md-hero-bar）回來，頁籤吸頂到最上緣，
   底部留白只剩安全區。比賽讀不到（沒有 .md-hero）時照舊留頁首與返回。 */
@media(max-width:650px){
 html body[data-page=match]:has(.md-hero) .app-header,html body[data-page=match]:has(.md-hero) .mobile-nav{display:none}
 html body[data-page=match]:has(.md-hero){padding-bottom:env(safe-area-inset-bottom)}
 html body #match .md-hero-bar{display:flex}
 html body #match .md-back{visibility:visible}
 html body[data-page=match]:has(.md-hero) #match :is(.md-tabs,.tabs){top:0}
}

/* 14 · #50 第二輪 數據首頁 PC（spec §3「PC（≥1000）：同一結構橫向展開：近期赛事 6 欄、徽標格 8 欄、國家導軌在左」）。
   頁首磁貼（数据＋聯賽搜尋鈕＋足球／篮球切換，PC 沒有底欄所以切換收在這裡，Owner 核可 10-22）→ 聯賽頁籤磁貼 → 近期赛事／最近访问
   磁貼（6 欄，最多 12 格）→ 排名入口 → 地區膠囊接著國家導軌（左 180）＋徽標格（8 欄）。只在 ≥1000；顏色只引用令牌（runtime.css 14 段）。 */
@media(min-width:1000px){
 #main-content #data>.dh{display:flex;flex-direction:column;gap:var(--jyb-sp-l);min-width:0}
 #main-content #data>.dh>.dh-head{display:flex;align-items:center;gap:var(--jyb-sp-m);min-height:72px;margin:0;padding:var(--jyb-sp-m) var(--jyb-sp-xl);box-sizing:border-box;background:var(--card);border:1px solid var(--line);border-radius:var(--jyb-radius-small)}
 #main-content #data>.dh .dh-title{color:var(--ink);font-size:var(--jyb-page-heading-size);font-weight:var(--jyb-fw-heavy);line-height:var(--jyb-page-heading-line)}
 #main-content #data>.dh>.dh-tabs{padding:0 var(--jyb-sp-m);border:1px solid var(--line);border-radius:var(--jyb-radius-small)}
 #main-content #data>.dh>.dh-search{margin:0}
 #main-content #data>.dh>.dh-recent{margin:0;padding:var(--jyb-sp-s) 20px 20px;background:var(--card);border:1px solid var(--line);border-radius:var(--jyb-radius-small)}
 #main-content #data>.dh .dh-tiles{grid-template-columns:repeat(6,minmax(0,1fr));gap:var(--jyb-sp-m)}
 #main-content #data>.dh .dh-tile{min-height:68px;padding:10px 10px 10px var(--jyb-sp-m);gap:10px}
 #main-content #data>.dh>.dh-ranks{margin:0;grid-auto-columns:minmax(0,260px)}
 #main-content #data>.dh>.dh-regions{margin:0 0 -16px;padding:var(--jyb-sp-xs) var(--jyb-sp-l);border:1px solid var(--line);border-radius:var(--jyb-radius-small) var(--jyb-radius-small) 0 0}
 #main-content #data>.dh>.dh-pane{grid-template-columns:180px minmax(0,1fr);border:1px solid var(--line);border-radius:0 0 var(--jyb-radius-small) var(--jyb-radius-small);overflow:clip}
 #main-content #data>.dh>.dh-pane:first-child,#main-content #data>.dh>:not(.dh-regions)+.dh-pane{border-radius:var(--jyb-radius-small)}
 #main-content #data>.dh .dh-rail{top:calc(var(--head-h) + 16px);max-height:calc(100vh - var(--head-h) - 32px)}
 #main-content #data>.dh .dh-rail a{padding-left:var(--jyb-sp-l)}
 #main-content #data>.dh .dh-logos{grid-template-columns:repeat(8,minmax(0,1fr));gap:var(--jyb-sp-s);padding:var(--jyb-sp-l)}
 #main-content #data>.dh>:is(.dh-follow,.dh-results,.dh-rank){margin:0}
 #main-content #data>.dh .dh-rank-list li{grid-template-columns:48px 28px minmax(0,1fr) 120px 64px;min-height:56px;padding:0 20px}
 /* 聯賽頁（讀到 data-hub）：頁籤磁貼裡左邊聯賽頁籤、右邊關注星與「查看X赛事」 */
 #main-content #data>.board-context.dh-board{gap:var(--jyb-sp-xs);padding:0 var(--jyb-sp-s) 0 var(--jyb-sp-xs)}
 #main-content #data>.dh-board .league-games-link{margin:0 var(--jyb-sp-xs) 0 var(--jyb-sp-s);white-space:nowrap}
}
@media(hover:hover) and (min-width:1000px){
 #main-content #data>.dh .dh-tile:hover{border-color:var(--club-navy)}
 #main-content #data>.dh .dh-logo:hover{background:var(--press)}
 #main-content #data>.dh .dh-rail a:not(.is-on):hover{color:var(--ink)}
}

/* Owner 2026-10-24: one compact sport row, stable tabs and an unobscured page. */
@media(max-width:650px){
 html body:is([data-page=scores],[data-page=data],[data-page=news],[data-page=schedule],[data-page=specials],[data-page=plaza]){--web-header-target:52px;--web-header-h:var(--web-header-measured,var(--web-header-target));--band-top:var(--web-header-h)}
 html body:is([data-page=scores],[data-page=data],[data-page=news],[data-page=schedule],[data-page=specials],[data-page=plaza]).web-scrolled{--web-header-target:44px}
 html body:is([data-page=scores],[data-page=data],[data-page=news],[data-page=schedule],[data-page=specials],[data-page=plaza]) .app-header{height:auto;min-height:var(--web-header-target);grid-template-columns:minmax(44px,1fr) auto minmax(44px,1fr);padding-inline:var(--jyb-sp-s);transition:min-height var(--jyb-motion-micro) var(--jyb-motion-ease)}
 html body:is([data-page=scores],[data-page=data],[data-page=news],[data-page=schedule],[data-page=specials],[data-page=plaza]) #app-brand-slot{padding-left:0;min-width:0;width:100%;container-type:inline-size;container-name:web-brand}
 html body:is([data-page=scores],[data-page=data],[data-page=news],[data-page=schedule],[data-page=specials],[data-page=plaza]) .mobile-brand{gap:var(--jyb-sp-xs)}
 html body:is([data-page=scores],[data-page=data],[data-page=news],[data-page=schedule],[data-page=specials],[data-page=plaza]) .mobile-brand img{width:24px;height:24px}
 html body:is([data-page=scores],[data-page=data],[data-page=news],[data-page=schedule],[data-page=specials],[data-page=plaza]) .mobile-brand span{font-size:var(--jyb-fs-body)}
 html body:is([data-page=scores],[data-page=data],[data-page=news],[data-page=schedule],[data-page=specials],[data-page=plaza]) .app-header #app-page-title{display:flex;align-items:center;justify-content:center;width:max-content;min-width:128px;height:auto;min-height:var(--web-header-target);line-height:normal;max-width:calc(100% - 96px)}
 html body:is([data-page=scores],[data-page=data],[data-page=news],[data-page=schedule],[data-page=specials],[data-page=plaza]) .app-header :is(.app-search,.app-plaza-search){grid-column:3;justify-self:end;width:44px;height:44px;min-height:44px}
 html body #scores .toolbar,html body #news .news-tabs,html body[data-page=data] #data>.dh>.dh-tabs,html body[data-page=data] #data>.board-context.dh-board{top:var(--web-header-h,52px)}
 html body[data-page=data] #data .dh-rail{top:calc(var(--web-header-h) + 44px);max-height:calc(100dvh - var(--web-header-h) - 44px - var(--jx-tabbar) - env(safe-area-inset-bottom))}
 html body[data-page=data] #data:has(>.dh-board) .standings-table thead th{top:calc(var(--web-header-h) + 44px)}
 html body[data-page=data]:has(.dh-fab){padding-bottom:calc(var(--jx-tabbar) + var(--jyb-sp-l) + env(safe-area-inset-bottom))}
}
@media(max-width:650px){
 html body{--web-header-h:var(--web-header-measured,52px);--jx-tabbar:var(--web-nav-measured,var(--jyb-nav-min))}
 html body .app-header{height:auto;min-height:52px}
 html body .app-header #app-page-title{position:static;transform:none;width:100%;max-width:100%;height:auto;min-height:52px;display:flex;align-items:center;justify-content:center;overflow:visible;white-space:normal;line-height:normal}
 html body .app-header strong{line-height:normal}
 html body .mobile-nav{height:auto;min-height:calc(var(--jyb-nav-min) + env(safe-area-inset-bottom))}
 html body .mobile-nav a{height:auto;min-height:58px;grid-template-rows:28px auto}
 html body .mobile-nav a>.nav-label{height:auto;min-height:14px}
 html body #scores .toolbar{height:auto;min-height:48px;overflow-x:auto;scrollbar-width:none}
 html body #scores .toolbar button{flex:1 0 auto;min-width:max-content;width:auto;height:auto;min-height:48px;padding-inline:10px;white-space:nowrap}
 html body #scores .score-dock button{min-width:44px;width:auto;height:auto;min-height:44px;white-space:nowrap}
}
@media(prefers-reduced-motion:reduce){html body:is([data-page=scores],[data-page=data],[data-page=news],[data-page=schedule],[data-page=specials],[data-page=plaza]) .app-header{transition:none}}

.sport-switch-dock{display:none}
/* Sport capsules share one face, hit target and state contract on every page.
   The visible rail is smaller than the real link; large text grows both. */
html body :is(.app-header,#main-content) .score-sport-switch{position:relative;isolation:isolate;display:inline-flex;align-items:stretch;justify-content:center;flex:none;gap:0;box-sizing:border-box;width:max-content;height:auto;min-height:var(--jyb-touch-web);padding:0 var(--jyb-sp-xs);border:0;border-radius:var(--jyb-radius-pill);background:none;box-shadow:none;transform:none;line-height:normal}
html body :is(.app-header,#main-content) .score-sport-switch:before{content:"";position:absolute;z-index:-1;inset:var(--jyb-sp-xs) 0;border:1px solid var(--club-navy-line);border-radius:inherit;background:var(--card);pointer-events:none}
html body :is(.app-header,#main-content) .score-sport-switch a{position:relative;display:flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;min-width:calc(var(--jyb-touch-web) + var(--jyb-sp-m));width:auto;height:auto;min-height:var(--jyb-touch-web);margin:0;padding:var(--jyb-sp-s) 0;border:0;border-radius:var(--jyb-radius-pill);background:none;box-shadow:none;color:var(--ink-soft);font-size:var(--jyb-fs-small);font-weight:var(--jyb-fw-strong);line-height:var(--jyb-lh-small);text-decoration:none;white-space:nowrap;transform:none}
html body :is(.app-header,#main-content) .score-sport-switch a:before,html body :is(.app-header,#main-content) .score-sport-switch a:after{content:none}
html body :is(.app-header,#main-content) .score-sport-switch .sport-label{display:grid;place-items:center;box-sizing:border-box;min-width:calc(var(--jyb-touch-web) + var(--jyb-sp-xs));min-height:calc(var(--jyb-compact-face) - 2 * var(--jyb-sp-xs));height:auto;padding:var(--jyb-sp-xs) var(--jyb-sp-s);border:0;border-radius:var(--jyb-radius-pill);background:none;color:inherit;font:inherit;line-height:var(--jyb-lh-small)}
html body :is(.app-header,#main-content) .score-sport-switch a[aria-current=page]{background:none;color:var(--jx-on-band)}
html body :is(.app-header,#main-content) .score-sport-switch a[aria-current=page] .sport-label{background:var(--club-navy);color:var(--jx-on-band)}
html body :is(.app-header,#main-content) .score-sport-switch a:focus-visible{outline:2px solid var(--club-navy);outline-offset:-2px}
@media(hover:hover){html body :is(.app-header,#main-content) .score-sport-switch a:not([aria-current]):hover .sport-label{background:var(--press)}}
html body :is(.app-header,#main-content) .score-sport-switch a:active .sport-label{background:var(--club-navy);color:var(--jx-on-band)}
@media(max-width:650px){
 .sport-switch-dock{display:contents}
 /* Keep the whole page, including its legal footer, above the fixed controls. */
 html:has(body:is([data-page=data],[data-page=news])){height:100%;overflow:hidden}
 html body:is([data-page=data],[data-page=news]){display:block;box-sizing:border-box;height:calc(100dvh - var(--jx-tabbar) - env(safe-area-inset-bottom));min-height:0;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-width:none;padding-bottom:var(--jyb-sp-l)}
 html body:is([data-page=data],[data-page=news]) #main-content .score-sport-switch{display:none}
 /* One compact floating face for existing score/data/news controls; hit targets never scale. */
 html body:is([data-page=scores],[data-page=data],[data-page=news]) #main-content :is(.score-dock,.sport-switch-dock .score-sport-switch){position:fixed;isolation:isolate;display:inline-flex;align-items:center;left:50%;right:auto;top:auto;bottom:calc(var(--jx-tabbar) + env(safe-area-inset-bottom) + var(--jyb-sp-xs));z-index:23;box-sizing:border-box;gap:0;width:max-content;max-width:calc(100vw - 2 * var(--jyb-sp-l));height:var(--jyb-touch-web);min-height:var(--jyb-touch-web);margin:0;padding:0 var(--jyb-sp-nudge);border:0;border-radius:var(--jyb-radius-pill);background:none;box-shadow:none;transform:translateX(-50%);transition:padding var(--jyb-motion-micro) var(--jyb-motion-easeOut)}
 html body:is([data-page=scores],[data-page=data],[data-page=news]) #main-content :is(.score-dock,.sport-switch-dock .score-sport-switch):before{content:"";position:absolute;z-index:-1;inset:calc(var(--jyb-sp-xs) + var(--jyb-sp-nudge)) 0;border:1px solid var(--club-navy-line);border-radius:inherit;background:var(--card);box-shadow:var(--jyb-shadow-card);pointer-events:none;transition:inset var(--jyb-motion-micro) var(--jyb-motion-easeOut)}
 html body #main-content :is(.score-dock,.sport-switch-dock .score-sport-switch) :is(a,button){display:flex;flex:none;align-items:center;justify-content:center;box-sizing:border-box;width:var(--jyb-touch-web);min-width:var(--jyb-touch-web);height:var(--jyb-touch-web);min-height:var(--jyb-touch-web);margin:0;padding:0;border:0;background:none;box-shadow:none;color:var(--muted);font-size:var(--jyb-fs-small);line-height:var(--jyb-lh-small)}
 html body #main-content .score-dock .score-tier{position:static;display:flex;gap:0;height:var(--jyb-touch-web);margin:0;padding:0;border:0;background:none;box-shadow:none}
 html body #main-content :is(.score-dock,.sport-switch-dock .score-sport-switch) :is(.sport-label,.score-tier button>span){min-width:0;min-height:0;height:auto;padding:0 var(--jyb-sp-nudge);border:0;background:none;box-shadow:none;color:inherit;font:inherit;white-space:nowrap;transition:transform var(--jyb-motion-micro) var(--jyb-motion-easeOut)}
 html body #main-content :is(.score-dock,.sport-switch-dock .score-sport-switch) :is(a[aria-current=page],button.active){color:var(--club-navy);font-weight:var(--jyb-fw-heavy);background:none}
 html body #main-content :is(.score-dock,.sport-switch-dock .score-sport-switch) :is(a[aria-current=page] .sport-label,button.active>span){padding:var(--jyb-sp-nudge) var(--jyb-sp-xs);border-radius:var(--jyb-radius-pill);background:var(--club-navy);color:var(--jx-on-band)}
 html body #main-content .score-dock .dock-tool svg{width:calc(var(--jyb-sp-l) + var(--jyb-sp-nudge));height:calc(var(--jyb-sp-l) + var(--jyb-sp-nudge));transition:transform var(--jyb-motion-micro) var(--jyb-motion-easeOut)}
 html body.web-scrolled #main-content :is(.score-dock,.sport-switch-dock .score-sport-switch){padding-inline:0}
 html body.web-scrolled #main-content :is(.score-dock,.sport-switch-dock .score-sport-switch):before{inset-block:var(--jyb-sp-s)}
 html body.web-scrolled #main-content :is(.score-dock,.sport-switch-dock .score-sport-switch) :is(.sport-label,.score-tier button>span,.dock-tool svg){transform:scale(.94)}
 html body:is([data-page=data],[data-page=news]) #main-content{padding-bottom:var(--jyb-sp-l)}
 html body:is([data-page=data],[data-page=news]) #app-page-title{min-width:0}
 html body.mobile-search-open:is([data-page=data],[data-page=news]) #main-content .score-sport-switch{display:none}
}
@media(max-width:650px){
 html body #main-content:has(#dh-search:focus-within,#news-search-panel:focus-within,#board-search-panel:focus-within) .sport-switch-dock{display:none}
}

@media(max-width:650px) and (prefers-reduced-motion:reduce){html body #main-content :is(.score-dock,.sport-switch-dock .score-sport-switch),html body #main-content :is(.score-dock,.sport-switch-dock .score-sport-switch):before,html body #main-content :is(.score-dock,.sport-switch-dock .score-sport-switch) :is(.sport-label,.score-tier button>span,.dock-tool svg){transition:none}}
