:root{--ink:#182737;--muted:#687482;--blue:#145c97;--line:#d9dfe4;--paper:#fff;--soft:#f3f5f7;--accent:#d87927;--selected:#eaf3fb;--radius:0px}*{box-sizing:border-box}body{margin:0;background:var(--paper);color:var(--ink);font:14px/1.55 Arial,"Noto Sans TC","Microsoft JhengHei",sans-serif}a{color:var(--blue);text-decoration:none}a:hover{text-decoration:underline}button,input,select{font:inherit;color:inherit}button{cursor:pointer}button:disabled{cursor:default;opacity:.38}button,input,select{border:1px solid var(--line);background:#fff;border-radius:var(--radius)}button{padding:6px 10px}button:hover:not(:disabled){background:var(--soft)}input,select{padding:6px 8px;min-width:0}a:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:3px solid #4a90cb;outline-offset:2px}h1,h2,h3,p{margin-top:0}h1{font-size:30px;line-height:1.25;margin-bottom:10px}h2{font-size:20px;line-height:1.3}h3{font-size:16px}b,strong{font-weight:700}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}.skip-link{position:absolute;left:10px;top:-100px;background:#fff;z-index:100;padding:12px}.skip-link:focus{top:0}[hidden]{display:none!important}.demo-notice{text-align:center;background:#fff1cb;color:#6f4b11;font-size:11px;padding:5px 12px;border-bottom:1px solid #eadcb8}.presentation-bar{display:flex;align-items:center;gap:14px;flex-wrap:wrap;padding:10px 24px;background:#f6f7f8;border-bottom:1px solid #d4d9df;color:#3c4d5d;font-size:12px}.switch-label{font-weight:700;letter-spacing:1px}.presentation-bar nav{display:flex;gap:4px;flex-wrap:wrap}.presentation-bar nav a{color:#42566a;padding:5px 12px;border:1px solid transparent;white-space:nowrap}.presentation-bar nav a.selected{color:#142c42;border-color:#adbbc8;background:#fff;font-weight:700;box-shadow:0 1px 2px #142c420b}.label-preference{display:flex;align-items:center;gap:8px}.label-preference select{padding:3px 6px;font-size:11px}.mode-hint{margin-left:auto;font-size:11px;color:#77818b}.brand{font-size:25px;font-weight:400;letter-spacing:-.8px;display:flex;align-items:center;gap:7px;white-space:nowrap;color:var(--ink)}.brand:hover{text-decoration:none}.brand small{font-size:11px;font-weight:400;letter-spacing:1px;margin-left:12px;color:var(--muted)}.search{display:flex;margin-left:auto;max-width:340px;width:300px;font-size:12px}.search input{flex:1;width:100%;border-right:0;background:#fff}.search button{white-space:nowrap;color:var(--ink)}.main-nav{display:flex;gap:0;overflow:auto;white-space:nowrap}.main-nav a{padding:11px 23px;color:var(--ink);font-weight:700;font-size:14px}.main-nav a.active{background:var(--selected)}.eyebrow{font-size:10px;letter-spacing:1.2px;color:var(--muted);margin-bottom:7px}.page-head{padding:20px 0 18px}.lead{color:var(--muted);font-size:13px;margin:0}.record-index{display:flex;gap:26px;flex-wrap:wrap;padding:8px 0 16px;border-bottom:1px solid var(--line);font-size:13px}.record-index b{margin-left:6px}section{margin:26px 0}.section-title{display:flex;align-items:center;justify-content:space-between;gap:16px;border-bottom:1px solid var(--line);padding:8px 0;margin-bottom:10px}.section-title h2,.section-title h3{margin:0}.section-title>a{font-size:12px}.section-title>a[href^="#"]{font-size:13px;color:#919daa}.table-wrap{width:100%;overflow:auto;border-bottom:1px solid var(--line);background:#fff;overscroll-behavior-x:contain}.data-table{border-collapse:separate;border-spacing:0;width:100%;white-space:nowrap;font-size:12px;font-variant-numeric:tabular-nums}.data-table th,.data-table td{padding:7px 8px;text-align:right;border-right:1px solid #e4e7ea;border-bottom:1px solid #e3e7eb;min-width:36px}.data-table th:first-child,.data-table td:first-child{text-align:left}.data-table thead th{background:#eceff2;font-size:11px;color:#3e4a56;font-weight:600;vertical-align:bottom;border-bottom:1px solid #bdc6cf}.data-table tbody th{font-weight:400}.data-table th[data-key="NAME"],.data-table td[data-key="TEAM"],.data-table th[data-key="YEAR"]{text-align:left}.data-table th[data-key="NAME"],.data-table th[data-key="YEAR"]{position:sticky;left:0;background:#fff;z-index:1;box-shadow:1px 0 #dbe1e6}.data-table thead th[data-key="NAME"],.data-table thead th[data-key="YEAR"]{background:#eceff2;z-index:2}.data-table td[data-key="TEAM"] a{font-size:11px}.data-table tbody tr:nth-child(even)>*{background:#f7f8fa}.data-table tbody tr:hover>*{background:#fff9df}.data-table tfoot>* >*{font-weight:700;background:#e8edf2;border-top:2px solid #94a0ac}.data-table .missing{color:#adb5bd}.data-table .sort{padding:0;border:0;background:transparent;font-size:inherit;display:flex;gap:4px;justify-content:flex-end;width:100%;white-space:nowrap}.data-table thead th:first-child .sort,.data-table th[data-key="NAME"] .sort{justify-content:flex-start}.sort-mark{font-size:9px;color:#a0a9b3}.data-table th[aria-sort="ascending"],.data-table th[aria-sort="descending"]{background:#ddeaf4!important;color:#0d5088}.data-table th[aria-sort="ascending"] .sort-mark,.data-table th[aria-sort="descending"] .sort-mark{color:#0d5088}.table-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:10px 0}.table-views{display:flex;gap:0;font-size:12px}.table-views button{padding:6px 10px}.table-views button+button{border-left:0}.table-views .is-active{color:var(--blue);background:var(--selected);font-weight:700}.filter-label{display:flex;align-items:center;gap:6px;font-size:11px;color:var(--muted)}.filter-label input{width:128px;font-size:12px}.filter-label select{max-width:150px;font-size:12px}.export{border:0;color:var(--blue);font-size:11px;margin-left:auto;padding-right:0;background:transparent}.table-note{font-size:11px;color:var(--muted);margin:7px 0;line-height:1.6}.table-bottom{display:flex;align-items:center;justify-content:space-between;font-size:11px;color:var(--muted);margin:9px 0}.pager{display:flex;align-items:center;gap:10px}.pager button{padding:3px 9px}.tabs,.jump-links,.category-tabs,.period-tabs{display:flex;align-items:center;flex-wrap:wrap;gap:0;border-bottom:1px solid var(--line);margin-bottom:15px}.tabs>a,.jump-links>a,.category-tabs>button,.period-tabs>button{border:0;background:transparent;padding:9px 18px;font-size:13px;color:var(--blue)}.tabs .selected,.category-tabs [aria-pressed="true"],.period-tabs [aria-pressed="true"]{font-weight:700;background:var(--selected);box-shadow:inset 0 -3px var(--blue)}.period-tabs{margin-bottom:8px;border:0}.period-tabs>button{padding:5px 17px;font-size:12px}.season-switch{display:flex;gap:8px;overflow:auto;white-space:nowrap;font-size:11px;padding:6px 0 12px;max-width:100%}.season-switch a{padding:4px 8px;background:var(--soft);flex:none}.season-switch .selected{background:var(--blue);color:white}.kind-heading{margin-top:24px;border-bottom:2px solid var(--blue);padding:10px 0;color:var(--blue);font-size:18px}.bio{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px 24px;border-top:1px solid var(--line);padding:14px 0;margin:0}.bio dt{font-size:11px;color:var(--muted);margin-bottom:3px}.bio dd{margin:0;font-size:13px}.source-note{font-size:11px;color:var(--muted);margin:9px 0 18px}.player-identity{display:flex;align-items:center;gap:20px}.jersey-number{display:none}.summary-title{font-size:11px;color:var(--muted);padding:7px 0;margin:0}.stat-summary{display:flex;border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:0 0 16px;max-width:850px;padding:10px 0}.stat-summary>div{flex:1;text-align:center;border-right:1px solid var(--line);padding:0 14px}.stat-summary>div:last-child{border-right:0}.stat-summary dt{font-size:11px;color:var(--muted)}.stat-summary dd{font-size:25px;font-weight:700;margin:0;font-variant-numeric:tabular-nums}.score-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.score-card{display:block;color:var(--ink);border:1px solid var(--line);padding:12px 15px;background:#fff}.score-card:hover{text-decoration:none;border-color:var(--blue)}.score-card>div{display:flex;justify-content:space-between;gap:10px;margin:4px 0}.score-meta{color:var(--muted);font-size:10px;border-bottom:1px solid var(--line);padding-bottom:8px}.score-card small{display:block;color:var(--muted);font-size:10px;margin-top:10px}.score-card b{font-size:19px}.scoreline{display:flex;gap:40px;align-items:center;justify-content:center;background:var(--soft);padding:20px}.scoreline>div{display:flex;flex-direction:column;text-align:center}.scoreline strong{font-size:48px;line-height:1.4}.scoreline span{font-size:13px}.scoreline>span{font-size:11px;color:var(--muted)}.season-select{display:flex;align-items:center;gap:14px;font-size:13px}.empty{padding:25px 16px;background:var(--soft);border:1px dashed #cdd4db;text-align:center;color:var(--muted);font-size:12px}.empty p{margin:5px 0}.notice{border-left:3px solid #bd8b22;background:#fff3d9;padding:12px;font-size:12px}.prose{max-width:880px;line-height:1.9}.prose h2{margin-top:25px}.prose p{font-size:13px;color:var(--muted)}footer{padding:24px;margin-top:32px;border-top:1px solid var(--line);font-size:10px;color:var(--muted);display:flex;gap:20px;justify-content:space-between;flex-wrap:wrap}footer strong{color:var(--ink);letter-spacing:1px}.sync-summary{display:flex;gap:40px;margin:20px 0}.sync-summary>div{display:flex;flex-direction:column}.sync-summary strong{font-size:35px}.sync-summary small{font-size:16px}.sync-summary b{font-size:25px}.sync-summary span{font-size:12px;color:var(--muted)}progress{width:100%;height:7px;margin-bottom:20px}.admin-panel{border:1px solid var(--line);padding:20px;margin-bottom:24px}.admin-panel form{display:flex;gap:12px;flex-wrap:wrap;align-items:end}.admin-panel label{display:flex;flex-direction:column;gap:6px;font-size:12px}.admin-panel input,.admin-panel select{max-width:250px}.button,.admin-panel button{background:var(--blue);color:#fff;display:inline-block;padding:8px 15px}.login{max-width:480px}.badge{padding:3px 8px;background:#eaf3e9;color:#3c683a;font-size:10px}.sealed{background:#eff0f1;color:var(--muted)}
/* CPBL-001: text-only masthead branding, including existing cached pages. */
.brand > .brand-rule,
.brand > .brand-monogram,
.brand > .plus-mark {
  display: none;
}
/* Reference: broad, dense document; continuous tables and inline year index. */
.theme-reference{--blue:#164c88;--accent:#d47e22}.reference-masthead{padding:21px 24px 18px;display:flex;align-items:center;border-top:5px solid #d78323;gap:24px}.reference-masthead .brand{font-family:Georgia,"Times New Roman",serif;font-size:29px}.brand-rule{display:block;width:7px;height:29px;background:#d78323;margin-right:5px}.reference-nav{background:#eeeae4;border-top:1px solid #d8cabb;border-bottom:1px solid #b8a58e;padding-left:12px}.reference-nav a{font-size:13px;padding:8px 19px}.reference-nav a.active{background:#d7ccc0}.reference-index{padding:9px 24px;border-bottom:1px solid var(--line);font-size:11px;display:flex;gap:14px;flex-wrap:wrap;background:#fafafa}.reference-content{padding:0 24px 20px;max-width:1680px;margin:auto}.theme-reference h1{font-size:27px}.theme-reference .data-table th,.theme-reference .data-table td{padding:4px 6px;min-width:30px;font-size:12px}.theme-reference .data-table thead th{background:#e4e5e6;font-size:11px}.theme-reference .section-title{background:#eee;padding:7px 10px;border-top:1px solid #c3c7ca;border-bottom:1px solid #c3c7ca}.theme-reference .section-title h2{font-size:18px}.theme-reference .category-tabs{background:#f1f1f1}.theme-reference .category-tabs button{font-size:12px;padding:6px 15px;text-decoration:underline}.theme-reference .stat-summary{max-width:700px}.theme-reference .stat-summary dd{font-size:24px}.theme-reference .table-controls{gap:8px}.theme-reference .filter-label input,.theme-reference .filter-label select{padding:3px 6px}.theme-reference .table-views button{padding:3px 8px;font-size:11px}.theme-reference .bio{max-width:1000px}.theme-reference .score-cards{grid-template-columns:repeat(3,minmax(0,1fr))}
/* MLB: wide header, pronounced summary, filtering and one category at a time. */
.theme-mlb{--blue:#153e70;--selected:#e4ecf5;--radius:2px;background:#fff}.mlb-masthead{background:#081d36;color:#fff;display:flex;align-items:center;gap:25px;padding:14px 28px}.mlb-masthead .brand{color:#fff;font-size:20px}.brand-monogram{width:29px;height:34px;border:2px solid #fff;display:grid;place-items:center;font-size:21px;letter-spacing:0;font-weight:700;margin-right:5px}.mlb-masthead .main-nav a{color:#fff;font-size:13px;padding:11px 15px}.mlb-masthead .main-nav a.active{background:#203c5c;border-bottom:3px solid #df3943}.mlb-masthead .search{width:240px}.mlb-stat-rail{display:flex;align-items:center;gap:24px;background:#f0f3f7;padding:17px 32px;border-bottom:1px solid #cbd3de}.mlb-stat-rail strong{font-size:31px;color:#102b4b;letter-spacing:-1px}.mlb-stat-rail>span{font-size:10px;letter-spacing:1.7px;color:#778390}.mlb-stat-rail a{margin-left:auto;font-size:12px}.mlb-content{max-width:1520px;padding:0 32px 20px;margin:auto}.theme-mlb h1{font-size:32px;letter-spacing:-.5px}.theme-mlb .page-head{padding:25px 0}.theme-mlb .jersey-number{display:block;font-size:70px;font-weight:800;line-height:1;color:#d9e2ec;min-width:110px;text-align:center}.theme-mlb .player-identity{border-bottom:1px solid var(--line);margin-bottom:13px}.theme-mlb .stat-summary{max-width:none;border:0;background:#0d2c50;color:#fff;padding:16px 0}.theme-mlb .stat-summary dt{color:#aebfd4;letter-spacing:1px}.theme-mlb .stat-summary>div{border-color:#35516f}.theme-mlb .stat-summary dd{font-size:31px}.theme-mlb .data-table th,.theme-mlb .data-table td{padding:11px 9px;border-right:0;font-size:12px}.theme-mlb .data-table thead th{background:#f0f2f5;font-size:10px;color:#35465b;padding:12px 8px}.theme-mlb .data-table tbody th{font-weight:700}.theme-mlb .data-table td[data-key="TEAM"]{min-width:100px}.theme-mlb .category-tabs{border-bottom:2px solid #132e4d}.theme-mlb .category-tabs button{font-size:15px;font-weight:700;padding:12px 25px}.theme-mlb .category-tabs [aria-pressed="true"]{background:#132e4d;color:white;box-shadow:none}.theme-mlb .table-controls{padding:14px;background:#f4f6f9;border:1px solid #e0e5ec;gap:16px}.theme-mlb .section-title{border:0;margin-top:6px}.theme-mlb .score-card{border-top:3px solid #16395f}.theme-mlb .table-views .is-active{background:#1b4370;color:white}.theme-mlb .table-note{font-size:10px}
/* Sportsnavi: narrower portal, right-side index, compact Japanese-labelled groups. */
.theme-sportsnavi{--blue:#1767a1;--selected:#e8f2f9;background:#f3f4f5;font-family:Arial,"Noto Sans JP","Noto Sans TC","Microsoft JhengHei",sans-serif}.jp-portal{padding:7px max(20px,calc((100vw - 1230px)/2));display:flex;justify-content:space-between;font-size:10px;background:#fff;border-bottom:1px solid #e4e4e4;gap:15px}.jp-masthead{max-width:1230px;margin:auto;background:#fff;padding:20px;display:flex;gap:24px;align-items:center}.jp-masthead .brand{font-size:25px;font-weight:700;letter-spacing:-.6px}.jp-masthead .brand small{font-size:13px;letter-spacing:0;border-left:1px solid #ccc;padding-left:12px}.jp-nav{max-width:1230px;margin:auto;background:#fff;border-top:1px solid #ddd;border-bottom:3px solid #1972ad}.jp-nav a{font-size:13px;padding:11px 26px}.jp-nav a.active{color:#1267a3;border-bottom:3px solid #d23b33;background:#edf5fb;padding-bottom:8px}.jp-content{max-width:1230px;margin:14px auto 0;display:grid;grid-template-columns:minmax(0,1fr) 200px;gap:18px;padding:0 0 25px}.jp-content>main{background:#fff;min-width:0;padding:0 18px 25px;border:1px solid #e0e3e6}.jp-sidebar{font-size:12px}.jp-sidebar h2{font-size:13px;border-top:3px solid #2b6e9d;background:#fff;padding:11px 10px;margin:0 0 7px}.jp-sidebar>a{display:flex;justify-content:space-between;padding:10px;background:#fff;border-bottom:1px solid #e4e8ec}.jp-year-list{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin-bottom:18px}.jp-year-list a{background:#fff;padding:9px 12px}.sidebar-note{background:#fff;padding:14px;color:#78828b;line-height:1.8;font-size:11px;margin-top:20px;border-top:1px solid #dce2e7}.theme-sportsnavi h1{font-size:24px}.theme-sportsnavi .page-head{padding:18px 0 14px}.theme-sportsnavi .eyebrow{font-size:9px;letter-spacing:.6px}.theme-sportsnavi .section-title{background:#edf1f4;border-top:3px solid #3f7fae;border-bottom:1px solid #c5d2dd;padding:8px 10px}.theme-sportsnavi .section-title h2{font-size:16px}.theme-sportsnavi .data-table th,.theme-sportsnavi .data-table td{font-size:12px;padding:7px 8px}.theme-sportsnavi .data-table thead th{background:#edf0f2;font-size:11px}.theme-sportsnavi .category-tabs{background:#f0f2f5;margin-top:14px;border-bottom:2px solid #4589b8}.theme-sportsnavi .category-tabs button{padding:9px 24px;color:#2c526d}.theme-sportsnavi .category-tabs [aria-pressed="true"]{background:#2e7daf;color:#fff;box-shadow:none}.theme-sportsnavi .bio{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 20px}.theme-sportsnavi .bio>div{display:grid;grid-template-columns:90px 1fr;border-bottom:1px solid #ebedef;padding:7px 0}.theme-sportsnavi .bio dt{margin:0}.theme-sportsnavi .stat-summary{background:#f6f9fb;padding:10px 0}.theme-sportsnavi .stat-summary dd{font-size:23px}.theme-sportsnavi .score-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-sportsnavi .score-card{font-size:12px}.theme-sportsnavi .table-controls{gap:9px;font-size:11px}.theme-sportsnavi .filter-label input{width:110px}.theme-sportsnavi .table-views button{padding:4px 8px}.theme-sportsnavi footer{max-width:1230px;margin:auto;background:#fff}.theme-sportsnavi .record-index{font-size:11px;gap:18px}
@media(min-width:1700px){.reference-content{max-width:1660px}.presentation-bar{padding-left:32px}}
@media(max-width:1100px){.mode-hint{display:none}.mlb-masthead{gap:15px;padding:14px 20px;flex-wrap:wrap}.mlb-masthead .search{width:210px}.mlb-masthead .main-nav{order:3;width:100%}.jp-content{padding:0 15px 25px;grid-template-columns:minmax(0,1fr) 170px}.jp-masthead .brand small{display:none}.jp-nav{padding:0 15px}.brand small{display:none}.score-cards{gap:8px}}
@media(max-width:800px){.presentation-bar{gap:8px;padding:9px 12px;font-size:11px}.presentation-bar nav a{padding:5px 7px}.label-preference{margin-left:auto;font-size:10px}.reference-masthead{padding:15px;gap:16px}.reference-masthead .brand{font-size:22px}.search{width:210px;font-size:11px}.reference-index{padding:9px 15px;gap:11px}.reference-content,.mlb-content{padding:0 15px 15px}.mlb-stat-rail{padding:12px 20px;gap:16px}.mlb-stat-rail>span{display:none}.mlb-stat-rail strong{font-size:26px}.jp-content{display:block}.jp-sidebar{display:none}.jp-masthead{padding:15px}.jp-masthead .brand{font-size:21px}.jp-nav a{padding:10px 18px}.jp-content>main{padding:0 12px 20px}.bio{grid-template-columns:repeat(2,minmax(0,1fr))}.stat-summary>div{padding:0 9px}.stat-summary dd{font-size:22px}.theme-mlb .stat-summary dd{font-size:26px}.score-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.theme-reference .score-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.table-controls{gap:8px}.export{margin-left:0}.section-title h2{font-size:17px}.theme-mlb h1{font-size:28px}.theme-mlb .jersey-number{font-size:56px;min-width:80px}.theme-mlb .table-controls{padding:10px}.data-table{font-size:12px}.reference-nav a{padding:8px 16px}.scoreline{gap:20px}.scoreline strong{font-size:40px}}
@media(max-width:500px){.switch-label{width:100%;font-size:10px;letter-spacing:1px}.presentation-bar nav{gap:1px}.presentation-bar nav a{font-size:10px;padding:5px 6px}.label-preference{gap:4px}.label-preference select{font-size:10px;max-width:92px}.reference-masthead,.jp-masthead{flex-wrap:wrap;gap:13px}.search{width:100%;max-width:none}.reference-masthead .brand{font-size:25px}.main-nav a{font-size:12px}.mlb-masthead .search{width:160px;margin-left:auto}.mlb-masthead .brand{font-size:16px}.mlb-masthead{gap:12px}.brand-monogram{width:23px;height:29px;font-size:18px}.brand-rule{height:24px}.page-head h1{font-size:24px}.theme-mlb .jersey-number{font-size:42px;min-width:55px}.theme-mlb h1{font-size:25px}.theme-mlb .stat-summary dd{font-size:22px}.stat-summary dt{font-size:10px}.stat-summary>div{padding:0 6px}.stat-summary dd{font-size:20px}.score-cards,.theme-reference .score-cards,.theme-sportsnavi .score-cards{grid-template-columns:1fr}.theme-sportsnavi .bio{grid-template-columns:1fr}.category-tabs>button,.theme-mlb .category-tabs>button,.theme-sportsnavi .category-tabs>button{font-size:12px;padding:9px 16px}.jp-nav{padding:0}.jp-nav a{padding:10px 16px}.sync-summary{gap:20px}.sync-summary strong{font-size:27px}.sync-summary span{font-size:10px}.table-controls .filter-label select{max-width:130px}.record-index{gap:15px;font-size:12px}.jp-portal{font-size:9px}.scoreline{gap:15px}.scoreline span{font-size:11px}.scoreline strong{font-size:35px}footer{padding:18px 15px;gap:10px}.data-table th,.data-table td{padding:6px}}
@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.theme-sportsnavi .japan-current .table-wrap{margin:0 0 12px}.theme-sportsnavi .summary-table{min-width:650px}.theme-sportsnavi .summary-table th,.theme-sportsnavi .summary-table td{text-align:center;padding:9px 7px}.theme-sportsnavi .summary-table th{font-size:11px}.theme-sportsnavi .summary-table td{font-weight:600;font-size:14px}.theme-sportsnavi .summary-table th:first-child,.theme-sportsnavi .summary-table td:first-child{position:static}

/* CPBL Plus v4 — six presentations; first-party CSS, no external assets. */
.presentation-bar nav a{transition:background .15s,border-color .15s}
.plus-mark{display:grid;place-items:center;width:34px;height:34px;background:var(--blue);color:white;font-size:34px;font-weight:400;line-height:1;margin-right:5px}
main{min-width:0}
/* Encyclopedia: article hierarchy, contents, facts box and chronological tables. */
.theme-wiki{--blue:#2863a7;--selected:#eef3fa;--ink:#202122;--muted:#63676d;--line:#aeb5bd;background:#f6f6f6;font-family:Arial,"Noto Sans TC","Microsoft JhengHei",sans-serif}
.wiki-site{display:grid;grid-template-columns:176px minmax(0,1fr);max-width:1640px;margin:0 auto;gap:0;min-height:75vh}
.wiki-navigation{padding:32px 18px 22px;font-size:12px;color:#54595d}
.wiki-brand{display:block;text-align:center;font-size:23px;line-height:1.2;letter-spacing:-1px;color:#252b32;margin:4px -10px 35px}
.wiki-brand b{font-weight:800}.wiki-brand small{display:block;font-size:10px;letter-spacing:.7px;margin:10px 0 0}
.wiki-nav-heading{border-bottom:1px solid #c8ccd1;padding:0 0 5px;margin:22px 0 5px;color:#72777d;font-size:11px}
.wiki-navigation .main-nav{display:block;overflow:visible;white-space:normal}
.wiki-navigation .main-nav a{display:block;font-size:12px;font-weight:400;padding:5px 3px;color:var(--blue)}
.wiki-navigation .main-nav a.active{font-weight:700;background:none;color:#202122}
.wiki-yearlinks{display:grid;grid-template-columns:1fr 1fr;gap:6px 12px;padding:8px 3px}
.wiki-navigation .sidebar-note{padding:10px 0;font-size:10px;background:transparent;border-top:1px solid #c8ccd1}
.wiki-paper{background:white;border-left:1px solid #a7bdcf;border-bottom:1px solid #a7bdcf;min-width:0;padding:0 28px 40px}
.wiki-tools{display:flex;align-items:center;gap:15px;padding:14px 0;font-size:11px;color:#72777d}
.wiki-tools .search{width:260px}.wiki-page-tabs{display:flex;gap:20px;border-bottom:1px solid #a7bdcf;font-size:12px}
.wiki-page-tabs a{padding:8px 0}.wiki-page-tabs .selected{border-bottom:2px solid #3366a7;color:#202122}
.theme-wiki .page-head{border-bottom:1px solid #a2a9b1;padding:24px 0 9px;margin-bottom:14px}
.theme-wiki h1{font-family:Georgia,"Noto Serif TC","PMingLiU",serif;font-size:30px;font-weight:400;line-height:1.35}
.theme-wiki .eyebrow{font-size:9px;color:#72777d;letter-spacing:.8px}
.theme-wiki .section-title{border-bottom:1px solid #a2a9b1;padding:6px 0}.theme-wiki .section-title h2{font-size:19px;font-weight:500}
.wiki-intro{display:grid;grid-template-columns:minmax(0,1fr) 282px;gap:4px 30px;align-items:start;margin:20px 0}
.wiki-infobox{grid-column:2;grid-row:1/span 3;border:1px solid #a2a9b1;background:#f8f9fa;padding:6px 10px 10px}
.wiki-infobox h2{text-align:center;background:#e8edf3;padding:9px 4px;font-size:18px;margin:0 0 5px;font-weight:700}
.wiki-profile-label{text-align:center;color:#72777d;font-size:10px;padding:5px 0}
.theme-wiki .wiki-infobox .bio{display:block;border:0;padding:0}
.wiki-infobox .bio>div{display:grid;grid-template-columns:74px minmax(0,1fr);padding:7px 0;border-bottom:1px solid #e2e4e7;gap:8px}
.wiki-infobox .bio>div:last-child{border:0}.wiki-infobox .bio dt{font-size:11px;font-weight:700;color:#34383d;margin:0}.wiki-infobox .bio dd{font-size:12px;overflow-wrap:anywhere}
.wiki-description{grid-column:1;grid-row:1;font-size:14px;line-height:1.9;margin-bottom:16px}
.wiki-toc{grid-column:1;grid-row:2;justify-self:start;background:#f8f9fa;border:1px solid #a2a9b1;padding:12px 22px 12px 16px;font-size:12px;min-width:215px}
.wiki-toc strong{display:block;font-size:12px;text-align:center}.wiki-toc ol{padding-left:20px;margin:8px 0 0;line-height:2}
.wiki-timeline{grid-column:1;grid-row:3;margin-top:20px}.wiki-timeline h2{font-family:Georgia,"Noto Serif TC",serif;border-bottom:1px solid #a2a9b1;font-size:20px;font-weight:400;padding-bottom:6px;margin:0 0 12px}
.career-timeline{list-style:none;margin:0;padding:0;font-size:12px}.career-timeline li{display:grid;grid-template-columns:47px minmax(0,1fr);gap:12px;padding:7px 0;border-bottom:1px dotted #c8ccd1;line-height:1.8}.career-timeline strong{font-variant-numeric:tabular-nums}
.theme-wiki #career-record{font-family:Georgia,"Noto Serif TC",serif;border-bottom:1px solid #a2a9b1;font-size:23px;font-weight:400;margin-top:30px;padding-bottom:6px}
.theme-wiki .category-tabs{background:none;border-bottom:1px solid #c8ccd1}.theme-wiki .category-tabs>button{font-size:12px;padding:6px 14px;text-decoration:underline}
.theme-wiki .category-tabs [aria-pressed="true"]{box-shadow:none;background:none;font-weight:700}
.theme-wiki .kind-heading{border-bottom:1px solid #a2a9b1;color:#202122;font-size:17px}
.theme-wiki .data-table{font-size:12px;border-top:1px solid #a2a9b1;border-left:1px solid #a2a9b1}
.theme-wiki .data-table th,.theme-wiki .data-table td{padding:5px 7px;border-color:#bfc4ca}
.theme-wiki .data-table thead th{background:#eaecf0;color:#202122}.theme-wiki .data-table tbody tr:nth-child(even)>*{background:#f8f9fa}.theme-wiki .data-table tfoot>* >*{background:#eaecf0;border-top:1px solid #72777d}
.theme-wiki .table-views button{padding:3px 7px;font-size:11px}.theme-wiki .table-controls{gap:8px}.theme-wiki .record-index{font-size:12px}.theme-wiki .source-note{padding:8px 10px;background:#f8f9fa;border-left:3px solid #a7bdcf}
.theme-wiki .score-cards{grid-template-columns:repeat(3,minmax(0,1fr))}.theme-wiki footer{max-width:1640px;margin:0 auto}
/* Chinese league-statistics presentation: ratios first and familiar competition filters. */
.theme-cpbl{--blue:#176847;--selected:#e8f2ec;--ink:#18312b;--muted:#65786e;--line:#d7e2da;background:#f3f6f4}
.classic-topline{display:flex;justify-content:space-between;gap:12px;padding:7px max(24px,calc((100vw - 1380px)/2));background:#16382c;color:#c7d9ce;font-size:10px;letter-spacing:.5px}.classic-topline a{color:#c7d9ce}
.classic-masthead{max-width:1380px;margin:auto;display:flex;align-items:center;gap:30px;padding:24px;background:white}.classic-masthead .brand{font-size:30px}.classic-masthead .brand b{font-weight:800}.classic-masthead .plus-mark{background:#1b704e}
.classic-nav{max-width:1380px;margin:auto;background:#fff;border-bottom:4px solid #1a704e;border-top:1px solid #e1e8e3}.classic-nav a{font-size:14px;padding:12px 29px}.classic-nav a.active{color:white;background:#1a704e}
.classic-content{max-width:1380px;margin:18px auto 0;padding:0 26px 28px;background:white;border:1px solid #dce5df;min-width:0}
.classic-context{display:flex;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid #dce5df;font-size:11px;color:#7d8d83}.classic-context b{margin-left:9px;color:#176847;font-size:10px;letter-spacing:1px}
.theme-cpbl h1{font-size:30px;letter-spacing:-.6px}.theme-cpbl .section-title{border-bottom:2px solid #1a704e;padding:10px 0}.theme-cpbl .section-title h2{font-size:19px}
.theme-cpbl .record-index{font-size:12px}.theme-cpbl .score-card{border:1px solid #d5e1d9;border-top:3px solid #3c8d66}.theme-cpbl .score-card b{color:#1a704e}
.theme-cpbl .table-controls{padding:12px;background:#f2f6f3;border:1px solid #dce5df;gap:12px}.theme-cpbl .table-views button{font-size:12px}.theme-cpbl .table-views .is-active{background:#1b6c4a;color:white}
.theme-cpbl .category-tabs{border-bottom:2px solid #1b6c4a}.theme-cpbl .category-tabs>button{padding:11px 28px;font-size:14px}.theme-cpbl .category-tabs [aria-pressed="true"]{background:#1b6c4a;color:white;box-shadow:none}
.theme-cpbl .data-table th,.theme-cpbl .data-table td{padding:9px 10px;border-right:0}.theme-cpbl .data-table thead th{background:#e8f0eb;color:#2f5341;font-size:11px}.theme-cpbl .data-table tbody tr:nth-child(even)>*{background:#f6f9f7}.theme-cpbl .data-table td[data-key="AVG"],.theme-cpbl .data-table td[data-key="ERA"]{font-weight:700;color:#145c3b}.theme-cpbl .data-table tbody tr:hover>*{background:#e8f2e8}
.theme-cpbl .stat-summary{max-width:none;background:#193c2e;color:white;border:0;padding:18px 0;margin-bottom:20px}.theme-cpbl .stat-summary dt{color:#b6d2c1}.theme-cpbl .stat-summary dd{font-size:29px}.theme-cpbl .stat-summary>div{border-color:#436555}.theme-cpbl .bio{gap:14px 24px;margin-bottom:12px}
.theme-cpbl .period-tabs [aria-pressed="true"]{background:#1b6c4a;color:white;box-shadow:none}.theme-cpbl .period-tabs>button{border:1px solid #cadbce;padding:7px 22px}.theme-cpbl footer{max-width:1380px;margin:22px auto 0}
/* Analysis workspace: ratios and trends first, then underlying counting statistics. */
.theme-analysis{--blue:#0a6f78;--selected:#e7f4f4;--ink:#18303c;--muted:#637b86;--line:#d8e4e6;background:#f2f6f7}
.analysis-masthead{display:flex;align-items:center;gap:35px;padding:19px 32px;background:#122c39;color:white}.analysis-masthead .brand{color:#fff;font-size:25px}.analysis-masthead .brand small{color:#a1b8c0;font-size:10px;letter-spacing:1.5px}.analysis-masthead .plus-mark{background:#54c3b9;color:#112d37;font-weight:300}.analysis-masthead .main-nav a{color:#d5e3e8;padding:10px 15px;font-size:12px}.analysis-masthead .main-nav a.active{background:#204655;color:#fff}.analysis-masthead .search{width:240px}
.analysis-rail{display:flex;gap:24px;align-items:center;padding:13px 32px;background:#e4eff0;border-bottom:1px solid #cfdee0;font-size:11px;color:#6c8790}.analysis-rail>span:first-child{font-weight:700;letter-spacing:1.2px;color:#0a6f78}.analysis-rail a{margin-left:auto}
.analysis-content{max-width:1500px;margin:auto;padding:0 30px 30px}.theme-analysis h1{font-size:32px;letter-spacing:-.8px}.theme-analysis .page-head{padding:25px 0 19px}.theme-analysis .record-index{border-top:1px solid #cfdee0;padding-top:12px}
.theme-analysis .summary-title{padding:10px 0;font-size:11px}.theme-analysis .stat-summary{background:#fff;max-width:none;padding:20px 0;border-top:3px solid #0a6f78;border-bottom:1px solid #d5e4e6}.theme-analysis .stat-summary dd{font-size:32px;color:#0c606a}.theme-analysis .stat-summary dt{font-size:11px;letter-spacing:.5px}.theme-analysis .bio{margin:20px 0;font-size:12px}.theme-analysis .player-identity{border-bottom:1px solid #cfdee0}
.theme-analysis .section-title{border-bottom:1px solid #a7c4c9;padding:9px 0}.theme-analysis .section-title h2{font-size:20px}.theme-analysis .table-controls{background:#fff;border:1px solid #d7e5e7;padding:12px 14px;margin-bottom:0}.theme-analysis .table-views .is-active{background:#0a6f78;color:white}
.theme-analysis .data-table th,.theme-analysis .data-table td{padding:9px 10px;border-right:0;font-size:12px}.theme-analysis .data-table thead th{background:#e5eff0;color:#3f626a;font-size:10px}.theme-analysis .data-table tbody tr:nth-child(even)>*{background:#f6f9fa}.theme-analysis .data-table tbody tr:hover>*{background:#e5f2f0}.theme-analysis .data-table td[data-key="OPS"],.theme-analysis .data-table td[data-key="ERA"]{font-weight:700;color:#0a6872}
.theme-analysis .category-tabs{border-bottom:2px solid #0a6f78}.theme-analysis .category-tabs>button{font-size:13px;padding:10px 25px}.theme-analysis .category-tabs [aria-pressed="true"]{background:#0a6f78;color:white;box-shadow:none}
.analysis-tag{font-size:10px;color:#5c7d85;border:1px solid #bfd4d8;padding:4px 9px;white-space:nowrap}.trend-kind{font-size:13px;color:#52727c;margin:20px 0 12px}
.trend-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.trend-chart{margin:0;background:#fff;border:1px solid #d7e5e7;padding:17px 18px 12px;min-width:0}.trend-chart figcaption{font-weight:700;font-size:13px;color:#244c58;padding-bottom:5px}.trend-chart svg{display:block;width:100%;height:auto}.chart-grid{stroke:#e1e9eb;stroke-width:1}.chart-axis{fill:#7e959e;font-size:11px;font-family:Arial,sans-serif}.chart-series{stroke:#188b94;stroke-width:2.5}.chart-point{fill:#188b94;stroke:#fff;stroke-width:1.5}.chart-values{display:flex;gap:7px 16px;flex-wrap:wrap;padding-top:8px;border-top:1px solid #e0eaec;font-variant-numeric:tabular-nums;font-size:10px;color:#4f727c}.chart-values b{margin-right:5px;color:#82949c;font-weight:400}.chart-empty{padding:24px 0;color:#82949c;font-size:12px}
.analysis-method{margin-top:16px;background:#e9f1f3;padding:12px 15px;font-size:12px;color:#57717a}.analysis-method summary{cursor:pointer;color:#2b5c66;font-weight:600}.analysis-method p{margin:12px 0 0;line-height:1.8}
.compare-workspace{background:#fff;border:1px solid #cbdfe3;margin:15px 0;padding:0 15px}.compare-workspace summary{font-weight:600;font-size:13px;color:#285964;cursor:pointer;padding:13px 0}.compare-workspace summary span{font-size:10px;font-weight:400;color:#7d9299;margin-left:14px}.compare-controls{display:flex;gap:18px;margin:5px 0 15px}.compare-controls label{display:flex;align-items:center;gap:10px;font-size:12px;color:#607d86;flex:1}.compare-controls select{min-width:0;max-width:100%;flex:1;font-size:12px}.comparison-table{table-layout:fixed}.comparison-table thead th{white-space:normal}.comparison-table td{font-weight:600}.comparison-table th:first-child{width:28%}
.theme-analysis footer{max-width:1500px;margin:0 auto}
@media(max-width:1200px){.analysis-masthead{flex-wrap:wrap;gap:18px;padding:17px 24px}.analysis-masthead .main-nav{order:3;width:100%}.analysis-masthead .search{width:250px}.wiki-site{grid-template-columns:150px minmax(0,1fr)}.wiki-paper{padding:0 20px 30px}.wiki-intro{grid-template-columns:minmax(0,1fr) 250px;gap:4px 20px}.classic-content{margin:15px 15px 0}.presentation-bar{gap:9px}.presentation-bar nav a{padding:5px 8px}}
@media(max-width:800px){.presentation-bar nav{flex-wrap:nowrap;max-width:100%;overflow-x:auto;order:3;width:100%;padding-bottom:3px}.presentation-bar nav a{font-size:11px;padding:6px 10px}.presentation-bar .switch-label{width:auto}.label-preference{margin-left:auto}.wiki-site{display:block}.wiki-navigation{display:none}.wiki-paper{border-left:0;padding:0 16px 25px}.wiki-tools>span{font-size:10px}.wiki-tools .search{max-width:230px}.wiki-intro{grid-template-columns:minmax(0,1fr) 230px;gap:4px 16px}.wiki-infobox .bio>div{grid-template-columns:68px minmax(0,1fr)}.classic-masthead{padding:20px;gap:20px}.classic-masthead .brand{font-size:25px}.classic-content{padding:0 16px 22px}.classic-topline{padding:7px 20px;font-size:9px}.classic-context>span:last-child{display:none}.classic-nav a{padding:11px 20px}.theme-cpbl .stat-summary dd{font-size:23px}.analysis-content{padding:0 18px 25px}.analysis-rail{padding:12px 20px;gap:14px}.analysis-rail>span:nth-child(2){display:none}.theme-analysis .stat-summary dd{font-size:25px}.trend-grid{gap:12px}.trend-chart{padding:14px 10px 10px}.compare-controls{flex-direction:column;gap:10px}.analysis-tag{font-size:9px}}
@media(max-width:550px){.wiki-intro{display:flex;flex-direction:column;gap:15px}.wiki-infobox{width:100%;order:2}.wiki-description{order:0;font-size:13px;margin:0}.wiki-toc{order:1;min-width:0;width:100%;padding:10px 16px}.wiki-toc strong{text-align:left}.wiki-toc ol{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}.wiki-timeline{order:3;width:100%;margin:5px 0}.wiki-infobox .bio>div{grid-template-columns:90px 1fr}.wiki-tools{flex-wrap:wrap;gap:10px}.wiki-tools .search{max-width:none}.theme-wiki .page-head{padding-top:18px}.theme-wiki h1{font-size:26px}.theme-wiki .score-cards{grid-template-columns:1fr}.classic-masthead{flex-wrap:wrap;padding:18px 16px;gap:16px}.classic-masthead .brand{font-size:28px}.classic-masthead .search{width:100%;max-width:none}.classic-topline>span{font-size:9px}.classic-topline a{display:none}.classic-content{margin:12px 8px 0;padding:0 12px 20px}.classic-nav a{padding:11px 17px;font-size:12px}.theme-cpbl h1{font-size:25px}.theme-cpbl .stat-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:14px 0;padding:16px 0}.theme-cpbl .stat-summary>div:nth-child(3){border:0}.theme-cpbl .stat-summary dd{font-size:26px}.theme-cpbl .table-controls{padding:10px}.theme-cpbl .category-tabs>button{font-size:12px;padding:9px 20px}.analysis-masthead{padding:17px 16px;gap:14px}.analysis-masthead .brand{font-size:25px}.analysis-masthead .search{width:100%;max-width:none;order:2}.analysis-masthead .main-nav{order:3}.analysis-masthead .main-nav a{padding:9px 14px}.analysis-content{padding:0 12px 22px}.theme-analysis h1{font-size:27px}.theme-analysis .stat-summary{display:grid;grid-template-columns:repeat(3,1fr);gap:16px 0;padding:16px 0}.theme-analysis .stat-summary>div:nth-child(3){border:0}.theme-analysis .stat-summary dd{font-size:28px}.trend-grid{grid-template-columns:1fr}.compare-workspace summary span{display:block;margin:5px 0 0}.theme-analysis .category-tabs>button{font-size:12px;padding:9px 19px}.trend-chart{padding:14px}.presentation-bar nav a{font-size:11px}.mode-hint{display:none}}

/* Context notes belong after page content, outside tables and controls. */
.season-picker{display:flex;align-items:flex-end;flex-wrap:wrap;gap:12px;margin:20px 0}.season-picker label{display:flex;flex-direction:column;gap:5px;flex:1 1 130px;max-width:260px;font-size:13px;font-weight:600;min-width:0}.season-picker select{width:100%;min-height:44px;font-weight:400}.season-picker .button{display:inline-flex;align-items:center;justify-content:center;min-height:44px;margin:0;padding:8px 18px;white-space:nowrap;border:1px solid var(--line);background:var(--soft);color:var(--blue)}
.page-notes{margin:32px 0 12px;padding-top:16px;border-top:1px solid var(--line);color:var(--muted);font-size:12px;line-height:1.7}.page-notes h2{font-size:14px;margin:0 0 8px}.page-notes p{margin:6px 0}

/* Collection explanations share one reading rhythm across the six themes. */
.collection-page {
  max-width: 1000px;
  padding-bottom: 16px;
  font-size: 14px;
  line-height: 1.85;
  overflow-wrap: anywhere;
}
.collection-page .lead {
  font-size: 14px;
  line-height: 1.85;
}
.collection-nav {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 24px;
  padding: 12px 0;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
  font-size: 13px;
}
.collection-nav a {
  display: inline-block;
  padding: 5px 0;
}
.collection-section {
  margin: 32px 0 0;
  scroll-margin-top: 24px;
}
.collection-section + .collection-section {
  padding-top: 28px;
  border-top: 1px solid var(--line);
}
.collection-section h2 {
  margin: 0 0 18px;
  font-size: 21px;
  line-height: 1.5;
}
.collection-section h3 {
  margin: 0 0 10px;
  font-size: 15px;
  line-height: 1.7;
}
.collection-section p {
  margin: 0 0 12px;
}
.collection-facts {
  margin: 0;
}
.collection-facts > div {
  display: grid;
  grid-template-columns: 112px minmax(0, 1fr);
  gap: 20px;
  padding: 14px 0;
  border-bottom: 1px solid var(--line);
}
.collection-facts > div:first-child {
  padding-top: 0;
}
.collection-facts > div:last-child {
  padding-bottom: 0;
  border-bottom: 0;
}
.collection-facts dt {
  font-weight: 700;
}
.collection-facts dd {
  margin: 0;
}
.collection-formulas {
  display: flex;
  flex-wrap: wrap;
  gap: 4px 24px;
  list-style: none;
  margin: 0 0 6px;
  padding: 0;
  font-variant-numeric: tabular-nums;
}
.collection-section .collection-note {
  margin-bottom: 16px;
  padding: 14px 18px;
  border-left: 3px solid var(--blue);
  background: var(--soft);
}
.review-group {
  margin-top: 26px;
}
.review-list,
.profile-gap-list {
  list-style: none;
  margin: 0;
  padding: 0;
}
.review-list li {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px 24px;
  align-items: baseline;
  padding: 12px 0;
  border-bottom: 1px solid var(--line);
}
.review-list li p {
  margin: 0;
}
.review-list li > a {
  font-size: 13px;
  white-space: nowrap;
}
.profile-gap-list {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0 24px;
}
.profile-gap-list a {
  display: block;
  padding: 10px 0;
  border-bottom: 1px solid var(--line);
}
@media (max-width: 800px) {
  .profile-gap-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}
@media (max-width: 550px) {
  .collection-nav {
    gap: 2px 20px;
  }
  .collection-section {
    margin-top: 26px;
  }
  .collection-section + .collection-section {
    padding-top: 24px;
  }
  .collection-section h2 {
    font-size: 19px;
    margin-bottom: 16px;
  }
  .collection-facts > div {
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
  }
  .review-list li {
    grid-template-columns: minmax(0, 1fr);
    gap: 6px;
  }
  .review-list li > a {
    justify-self: start;
  }
  .profile-gap-list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0 18px;
  }
}

/* Shared display preferences stay together at the upper right in all six themes. */
.presentation-bar {
  justify-content: flex-end;
  gap: 14px;
}
.presentation-bar .presentation-preference,
.presentation-bar .label-preference {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin: 0;
  font-size: 12px;
  white-space: nowrap;
}
.presentation-bar select {
  min-height: 32px;
  max-width: none;
  padding: 5px 8px;
  font-size: 12px;
}
.presentation-preference select {
  width: 144px;
}
.presentation-bar .label-preference select {
  width: 108px;
}
@media (max-width: 500px) {
  .presentation-bar {
    padding: 8px 12px;
    gap: 10px;
  }
  .presentation-bar select {
    min-height: 36px;
    font-size: 12px;
  }
  .presentation-preference select {
    width: 132px;
  }
}

/* TPL-001–TPL-006: one outer frame, including sidebars and existing cached shells. */
:is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis) {
  --frame-width: 1440px;
  --frame-gutter: 24px;
  --frame-padding: 24px;
  background: #f3f5f7;
}
:is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis)
  :is(.presentation-bar, .reference-masthead, .mlb-masthead, .jp-masthead, .classic-masthead, .analysis-masthead, .reference-nav, .jp-nav, .classic-nav, .reference-index,
    .reference-content, .mlb-content, .jp-content, .wiki-site, .classic-content, .analysis-content, footer) {
  width: calc(100% - var(--frame-gutter) * 2);
  max-width: var(--frame-width);
  margin-inline: auto;
  padding-inline: var(--frame-padding);
  min-width: 0;
}
:is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis)
  .presentation-bar {
  padding-block: 12px;
  background: transparent;
  border-bottom: 0;
  color: var(--muted);
}
:is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-cpbl, .theme-analysis) :is(.reference-masthead, .mlb-masthead, .jp-masthead, .classic-masthead, .analysis-masthead) {
  min-height: 84px;
  padding-block: 18px;
  gap: 24px;
}
:is(.theme-reference, .theme-sportsnavi, .theme-cpbl) :is(.reference-masthead, .mlb-masthead, .jp-masthead, .classic-masthead, .analysis-masthead) {
  background: var(--paper);
}
:is(.theme-reference, .theme-sportsnavi, .theme-cpbl) :is(.reference-nav, .jp-nav, .classic-nav) {
  padding-inline: 12px;
}
:is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-cpbl, .theme-analysis)
  .main-nav a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
}
:is(.theme-reference, .theme-mlb, .theme-cpbl, .theme-analysis)
  :is(.reference-content, .mlb-content, .classic-content, .analysis-content) {
  margin-top: 20px;
  padding-bottom: 28px;
  background: var(--paper);
  border: 1px solid var(--line);
}
.theme-sportsnavi .jp-content {
  margin-top: 20px;
  padding-inline: 0;
  padding-bottom: 0;
  gap: 20px;
  grid-template-columns: minmax(0, 1fr) 200px;
}
.theme-sportsnavi .jp-content > main {
  padding-inline: var(--frame-padding);
  padding-bottom: 28px;
}
.theme-wiki .wiki-site {
  margin-top: 8px;
  padding: 0;
  grid-template-columns: 176px minmax(0, 1fr);
  border: 1px solid var(--line);
}
.theme-wiki .wiki-navigation {
  padding: 28px 20px;
  background: #eef1f4;
}
.theme-wiki .wiki-brand {
  display: flex;
  justify-content: flex-start;
  align-items: baseline;
  gap: 2px;
  margin: 0 0 28px;
  font-size: 28px;
}
.theme-wiki .wiki-paper {
  padding-inline: var(--frame-padding);
  border-bottom: 0;
}
:is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis)
  footer {
  margin-top: 24px;
  margin-bottom: 24px;
  padding-block: 20px;
  background: transparent;
  font-size: 12px;
  line-height: 1.8;
}
:is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis)
  .page-head {
  padding-top: 28px;
  padding-bottom: 22px;
}
:is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis)
  .page-head h1 {
  line-height: 1.35;
  margin-bottom: 10px;
}
:is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis)
  .record-index {
  gap: 10px 24px;
  line-height: 1.8;
  padding-bottom: 18px;
}
:is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis)
  .section-title {
  margin-bottom: 16px;
}
:is(.theme-mlb, .theme-sportsnavi, .theme-cpbl, .theme-analysis) .score-card {
  border-radius: 4px;
  padding: 16px 18px;
}
:is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis)
  .score-card:hover {
  box-shadow: 0 2px 8px #1827370d;
}
:is(.theme-mlb, .theme-cpbl, .theme-analysis) .table-controls {
  border-radius: 4px 4px 0 0;
  row-gap: 12px;
}
:is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis)
  .table-wrap {
  scrollbar-color: #aebbc6 #f1f4f6;
}
.theme-reference .reference-masthead {
  border-top-color: #c8792a;
}
.theme-reference .section-title {
  background: #f1eee9;
  border-top-color: #d6ccc0;
  border-bottom-color: #d6ccc0;
}
.theme-mlb .section-title {
  padding-block: 10px;
  border-bottom: 2px solid #153e70;
}
.theme-sportsnavi .jp-sidebar h2 {
  padding: 13px 14px;
}
.theme-sportsnavi .jp-year-list a {
  padding: 10px 14px;
}
.theme-wiki .wiki-page-tabs {
  gap: 24px;
}
.theme-cpbl .classic-masthead {
  border-top: 4px solid #176847;
}
.theme-analysis .analysis-masthead {
  border-top: 4px solid #4dbbb2;
}
.theme-analysis .trend-chart {
  border-radius: 4px;
}
@media (max-width: 1100px) {
  :is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis) {
    --frame-gutter: 16px;
    --frame-padding: 20px;
  }
  .theme-sportsnavi .jp-content {
    grid-template-columns: minmax(0, 1fr) 170px;
    gap: 16px;
  }
  .theme-wiki .wiki-site {
    grid-template-columns: 150px minmax(0, 1fr);
  }
}
@media (max-width: 800px) {
  .theme-sportsnavi .jp-content {
    display: block;
  }
  .theme-wiki .wiki-site {
    display: block;
  }
  .theme-wiki .wiki-navigation {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 14px;
    padding: 18px var(--frame-padding) 0;
  }
  .theme-wiki .wiki-brand {
    margin: 0;
    font-size: 25px;
  }
  .theme-wiki .wiki-navigation > :is(.wiki-nav-heading, .wiki-yearlinks, a:not(.brand)) {
    display: none;
  }
  .theme-wiki .wiki-navigation .main-nav {
    display: flex;
    width: 100%;
    overflow-x: auto;
    white-space: nowrap;
  }
  .theme-wiki .wiki-navigation .main-nav a {
    flex: none;
    padding: 12px;
    min-height: 44px;
  }
  .theme-wiki .wiki-paper {
    border-left: 0;
  }
}
@media (max-width: 550px) {
  :is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis) {
    --frame-gutter: 12px;
    --frame-padding: 16px;
  }
  :is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis)
    .presentation-bar {
    padding-inline: 0;
    gap: 8px 12px;
  }
  :is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-cpbl, .theme-analysis) :is(.reference-masthead, .mlb-masthead, .jp-masthead, .classic-masthead, .analysis-masthead) {
    flex-wrap: wrap;
    gap: 14px;
  }
  :is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-cpbl, .theme-analysis)
    :is(.reference-masthead, .mlb-masthead, .jp-masthead, .classic-masthead, .analysis-masthead) .search {
    width: 100%;
    max-width: none;
  }
  :is(.theme-reference, .theme-sportsnavi, .theme-cpbl) :is(.reference-nav, .jp-nav, .classic-nav) {
    padding-inline: 4px;
  }
  :is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis)
    :is(.reference-content, .mlb-content, .jp-content, .classic-content, .analysis-content) {
    margin-top: 14px;
  }
  :is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis)
    .page-head {
    padding-top: 22px;
    padding-bottom: 18px;
  }
  :is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis)
    .section-title {
    gap: 10px;
    align-items: baseline;
  }
  :is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis)
    .section-title > a {
    flex: none;
  }
}

/* Equal control heights across themes; table sorting and player cards keep their own layout. */
:is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis) {
  --control-height: 44px;
}
:is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis)
  :is(button:not(.sort):not(.lineup-pin):not(.lineup-row-player),
    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]):not([type="file"]),
    select, .button) {
  height: var(--control-height);
  min-height: var(--control-height);
  padding-block: 0;
  line-height: normal;
}
:is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis)
  :is(button:not(.sort):not(.lineup-pin):not(.lineup-row-player), .button) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  white-space: nowrap;
}
:is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis)
  .search {
  align-items: center;
}
:is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis)
  .search button {
  flex: none;
}
/* Keep focus visible inside the same outer rectangle as adjacent controls. */
:is(.theme-reference, .theme-mlb, .theme-sportsnavi, .theme-wiki, .theme-cpbl, .theme-analysis)
  :is(button:not(.sort):not(.lineup-pin):not(.lineup-row-player),
    input:not([type="checkbox"]):not([type="radio"]):not([type="hidden"]):not([type="range"]):not([type="file"]),
    select, .button):focus-visible {
  outline: 2px solid #4a90cb;
  outline-offset: -2px;
}

/* The archive groups only recorded years, from newest to oldest. */
.season-index {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(140px, 1fr));
  gap: 12px;
  margin: 16px 0 40px;
}
.season-index:has(> .season-decade) {
  display: block;
}
/* Older cached archives remain readable until their normal rebuild. */
.season-index > a {
  flex-direction: column;
  align-items: flex-start;
  gap: 6px;
  padding: 18px;
}
.season-index > a span {
  font-size: 12px;
  color: var(--muted);
}
.season-decade {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr);
  align-items: start;
  gap: 24px;
  margin: 0;
  padding: 24px 0;
  border-top: 1px solid var(--line);
}
.season-decade:last-child {
  border-bottom: 1px solid var(--line);
}
.season-decade h2 {
  margin: 0;
  padding: 12px 0;
  color: var(--muted);
  font-size: 14px;
  font-weight: 500;
}
.season-years {
  display: grid;
  grid-template-columns: repeat(10, minmax(0, 1fr));
  gap: 8px;
  min-width: 0;
}
.season-index a {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  min-width: 0;
  padding: 10px 8px;
  border: 1px solid var(--line);
  background: var(--paper);
  color: var(--ink);
}
.season-index strong {
  font-size: 18px;
  font-weight: 600;
  font-variant-numeric: tabular-nums;
}
.season-index a:hover {
  border-color: var(--blue);
  background: var(--selected);
  color: var(--blue);
  text-decoration: none;
}
.season-index a:focus-visible {
  outline-offset: -3px;
}
@media (max-width: 1200px) {
  .season-years { grid-template-columns: repeat(5, minmax(0, 1fr)); }
}
@media (max-width: 650px) {
  .season-decade { grid-template-columns: minmax(0, 1fr); gap: 12px; padding: 20px 0; }
  .season-decade h2 { padding: 0; }
}
@media (max-width: 550px) {
  .season-years { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
