
/* デザイン定義 v11「ピッチの余白」（ineo-sense を参考に刷新・2026-11-09）
   コンセプト：明るい余白と深い紺。説明は静かに、盤面だけが動く。
   色：淡いミントの地＋深い紺の文字。ミント(--key)は「今どこ・次はこれ」と押せるボタンの面にだけ使う。
   書体：数字・ロゴ・英字は Sora（字間を詰める、斜体は使わない）、日本語は Zen Kaku Gothic New（400/500/700、900は使わない）。
   改行：見出し・短い文は文節で折り返す（Chrome は word-break:auto-phrase、Safari は BudouX）。
   角丸：面は14px、小物は10px。グラデーションはページ上部の淡いにじみ1か所だけ。
   禁止：英大文字の見出しラベル、字間を広げた英字、破線の囲み、黄色、同じ形のカードの羅列。
   Layout: airy single column on phones; board first, its index beside it on wide screens. */
:root{
  --bg:#f1f6f5; --panel:#ffffff; --panel2:#e8f2f0; --line:#d6e4e1; --ink:#0b1140; --muted:#56607e;
  --key:#a6e1d8; --key-ink:#0b1140; --keytext:#11786b; --frame:#0f1848; --lt:#0b1140; --lt-ink:#f2f8f7; --lt-sub:#b6c3d9;
  --wash1:#bfe3e3; --wash2:#e3f1ee; --soft:#dff0ec;
  --f-cond:"Sora","Hiragino Sans","Helvetica Neue",Arial,sans-serif;
  --f-num:"Sora","Helvetica Neue",Arial,sans-serif;
  --f-jp:"Zen Kaku Gothic New","Hiragino Sans","Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;
  --rad:14px; --rad-s:10px; color-scheme:light;
}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]){
  --bg:#080c2a; --panel:#0e1437; --panel2:#141c46; --line:#242e5c; --ink:#edf4f3; --muted:#9ba7c4;
  --key:#93d9cd; --key-ink:#080c2a; --keytext:#93d9cd; --frame:#0b1240; --lt:#141c46; --lt-ink:#edf4f3; --lt-sub:#a9b6d0;
  --wash1:#13305a; --wash2:#0c1538; --soft:#122247; color-scheme:dark}}
:root[data-theme="dark"]{
  --bg:#080c2a; --panel:#0e1437; --panel2:#141c46; --line:#242e5c; --ink:#edf4f3; --muted:#9ba7c4;
  --key:#93d9cd; --key-ink:#080c2a; --keytext:#93d9cd; --frame:#0b1240; --lt:#141c46; --lt-ink:#edf4f3; --lt-sub:#a9b6d0;
  --wash1:#13305a; --wash2:#0c1538; --soft:#122247; color-scheme:dark}
html,body{background:var(--bg)}
body{color:var(--ink);font-family:var(--f-jp);font-size:15px;line-height:1.6;
  padding-left:max(16px,env(safe-area-inset-left,0px));padding-right:max(16px,env(safe-area-inset-right,0px));padding-block:10px 40px}
button{font:inherit;cursor:pointer;color:inherit}
a{color:inherit}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--key);outline-offset:2px}
.wrap{max-width:1200px;margin:0 auto;display:grid;gap:12px}

header{display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:space-between;gap:8px 20px;border-bottom:1px solid var(--line);padding-bottom:6px}
.brand{display:grid;gap:0}
.logo{font-family:var(--f-cond);font-style:italic;font-weight:800;font-size:26px;letter-spacing:.03em;line-height:1;text-decoration:none}
.logo b{color:var(--keytext);font-weight:800}
.tag{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.04em;margin-top:3px}
nav{display:flex;gap:0;flex-wrap:wrap}
header nav a{font-size:13.5px;font-weight:700;text-decoration:none;color:var(--muted);padding:8px 10px;border-bottom:3px solid transparent}
header nav a[aria-current="page"]{color:var(--ink);border-bottom-color:var(--key)}
h1{font-size:20px;font-weight:900;margin:2px 0 0;text-wrap:balance;line-height:1.35}
.lead{margin:0;color:var(--muted);font-size:14px;max-width:72ch}
[hidden]{display:none!important}
.page{display:grid;gap:12px}

.app{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:18px;align-items:start}
@media (max-width:900px){.app{grid-template-columns:minmax(0,1fr)}}
.col{display:grid;gap:10px;min-width:0}
.slot{min-width:0}
#boardcol{display:grid;gap:8px;min-width:0}

.tools{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.seg{display:inline-flex;flex-wrap:wrap;border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;background:var(--panel)}
.seg button{border:0;background:transparent;font-size:13px;font-weight:700;padding:8px 10px;display:inline-flex;align-items:center;gap:6px;border-right:1px solid var(--line)}
.seg button:last-child{border-right:0}
.seg button[aria-pressed="true"]{background:var(--key);color:var(--key-ink)}
.ln{display:inline-block;width:16px;height:0;border-top:2.5px solid currentColor}
.ln.dash{border-top-style:dashed}
.ln.arc{width:16px;height:7px;border:2.5px solid currentColor;border-bottom:0;border-radius:10px 10px 0 0}
.sw{width:24px;height:24px;border-radius:50%;border:2px solid var(--line);padding:0}
.sw[aria-pressed="true"]{border-color:var(--ink);box-shadow:0 0 0 2px var(--bg) inset}
.swatches{display:flex;flex-wrap:wrap;gap:6px;align-items:center}
.btn{border:1px solid var(--line);background:var(--panel);font-size:13px;font-weight:700;padding:8px 12px;border-radius:var(--rad);text-decoration:none;display:inline-flex;align-items:center}
.btn.key{background:var(--key);color:var(--key-ink);border-color:var(--key)}
.btn.ghost{background:transparent}
.btn:disabled{opacity:.4;cursor:default}
.toggle{display:inline-flex;align-items:center;gap:6px;font-size:13px;font-weight:700;cursor:pointer}
.toggle input{width:18px;height:18px;accent-color:var(--key)}

.stage{position:relative;background:var(--frame);border-radius:var(--rad);overflow:hidden;display:flex;justify-content:center}
#board{display:block;width:100%;height:auto;max-height:78vh;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}
.lt-t{align-content:start}
.lt{background:var(--lt);margin-bottom:-8px;display:grid;grid-template-columns:auto minmax(0,1fr);border-radius:var(--rad) var(--rad) 0 0;overflow:hidden;min-height:6.2em}
.lt:not([hidden])+.stage{border-top-left-radius:0;border-top-right-radius:0}
.lt-k{background:var(--key);color:var(--key-ink);font-family:var(--f-cond);font-weight:800;font-size:20px;padding:6px 10px;display:grid;place-items:center;font-variant-numeric:tabular-nums;line-height:1}
.lt-t{background:var(--lt);color:var(--lt-ink);padding:7px 11px 8px;display:grid;gap:1px;min-width:0}
.lt-t b{font-size:12.5px;letter-spacing:.06em}
.lt-t span{font-size:14px;line-height:1.55;color:var(--lt-sub)}
@media (max-width:520px){.lt-t span{font-size:13px}.lt{min-height:8.4em}}
.ctl{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center}
@media (max-width:520px){.ctl{grid-template-columns:minmax(0,1fr)}}
.prog{display:flex;gap:3px;min-width:0}
.prog button{flex:1;height:32px;border:0;background:var(--panel2);font-family:var(--f-cond);font-weight:700;font-size:14px;color:var(--muted);border-radius:2px;font-variant-numeric:tabular-nums;min-width:0}
.prog button.done{background:var(--line);color:var(--ink)}
.prog button[aria-current="step"]{background:var(--key);color:var(--key-ink)}
.ctlbtns{display:flex;gap:6px;flex-wrap:wrap}
.note{border:1px dashed var(--key);border-radius:var(--rad);padding:8px 12px;font-size:13px;line-height:1.6;margin:0}
.note b{font-family:var(--f-cond);letter-spacing:.08em;font-size:12px;color:var(--keytext);margin-right:8px}
.hint{font-size:12.5px;color:var(--muted);margin:0}

aside{display:grid;gap:12px;min-width:0}
.card{background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);padding:12px;display:grid;gap:10px;min-width:0}
.card h2,.eyebrow{margin:0;font-family:var(--f-cond);font-weight:700;font-size:13px;letter-spacing:.14em;color:var(--muted);display:flex;justify-content:space-between;align-items:baseline;gap:8px}
.card h2 span{font-family:var(--f-jp);letter-spacing:0;font-size:12px}
.small{font-size:12px;color:var(--muted);margin:0}

/* library rail */
.lib{padding:0;gap:0}
.lib h2{padding:12px 12px 8px}
.phases{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));border-top:1px solid var(--line);border-bottom:1px solid var(--line)}
.phases button{border:0;border-right:1px solid var(--line);background:transparent;padding:7px 0 6px;display:grid;gap:0;font-size:12px;font-weight:700;color:var(--muted)}
.phases button:last-child{border-right:0}
.phases button i{font-style:normal;font-family:var(--f-cond);font-size:12px;opacity:.85}
.phases button[aria-pressed="true"]{background:var(--key);color:var(--key-ink)}
.libbody{display:grid;grid-template-columns:62px minmax(0,1fr);gap:10px;padding:10px 12px 12px}
.mini{display:grid;gap:6px;align-content:start}
.minipitch{background:#174a2c;border:1.5px solid #cfe3d5;border-radius:2px;display:grid;grid-template-rows:repeat(3,38px);overflow:hidden}
.minipitch button{border:0;border-bottom:1.5px solid #cfe3d5;background:transparent;color:#e6f0e9;font-size:11px;font-weight:700;padding:0}
.minipitch button:last-child{border-bottom:0}
.minipitch button[aria-pressed="true"]{background:var(--key);color:var(--key-ink)}
.minipitch button:disabled{color:#7f9a88;cursor:default}
.mini .all{font-size:11px;font-weight:700;border:1px solid var(--line);background:transparent;border-radius:2px;padding:4px 0}
.mini .all[aria-pressed="true"]{background:var(--ink);color:var(--bg)}
.mini small{font-size:10px;color:var(--muted);text-align:center;line-height:1.3}
.list{display:grid;align-content:start;min-width:0;max-height:520px;overflow:auto}
.row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 8px;align-items:baseline;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;padding:8px 6px;text-decoration:none}
.row b{font-size:14px;line-height:1.4}
.row i{font-style:normal;font-family:var(--f-cond);font-weight:700;font-size:13px;color:var(--muted);font-variant-numeric:tabular-nums}
.row small{grid-column:1 / -1;font-size:11.5px;color:var(--muted)}
.row[aria-current="true"]{background:var(--panel2)}
.row[aria-current="true"] b{text-decoration:underline;text-decoration-color:var(--key);text-decoration-thickness:3px;text-underline-offset:4px}
.empty{font-size:13px;color:var(--muted);padding:12px 4px}

/* dictionary detail */
.dict{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:12px}
.dict h2{margin:0;font-size:22px;font-weight:900;line-height:1.3}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{font-size:12px;font-weight:700;border:1px solid var(--line);border-radius:2px;padding:2px 8px;color:var(--muted)}
.dict dl{margin:0;display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:8px 14px;font-size:14px}
.dict dt{font-weight:700;color:var(--muted);font-size:13px}
.dict dd{margin:0;max-width:62ch}
.dict ol{margin:0;padding-left:1.3em;display:grid;gap:4px;font-size:14px;max-width:66ch}
.rel{display:flex;flex-wrap:wrap;gap:6px}
.rel a{font-size:13px;font-weight:700;text-decoration:none;border-bottom:2px solid var(--key);padding:1px 0}
.rel a .tt{font-family:var(--f-cond);font-size:10px;letter-spacing:.08em;color:var(--muted);margin-left:4px;font-weight:600}
.dict h2 .sub{font-size:14px;font-weight:700;color:var(--muted)}
.dict .src a{color:inherit}
@media (max-width:520px){.dict dl{grid-template-columns:minmax(0,1fr)}.dict dt{margin-top:4px}}

/* positions tabs */
.postabs{display:flex;flex-wrap:wrap;gap:0;border:1px solid var(--line);border-radius:var(--rad);overflow:hidden;background:var(--panel)}
.postabs button{flex:1 1 auto;border:0;border-right:1px solid var(--line);background:transparent;padding:8px 10px;font-size:13px;font-weight:700;display:grid;gap:0;min-width:64px}
.postabs button:last-child{border-right:0}
.postabs button i{font-style:normal;font-family:var(--f-cond);font-size:12px;color:var(--muted)}
.postabs button[aria-pressed="true"]{background:var(--key);color:var(--key-ink)}
.postabs button[aria-pressed="true"] i{color:var(--key-ink)}

/* premier */
.seasonbar{display:flex;flex-wrap:wrap;gap:8px 16px;align-items:center}
#pg-premier{gap:12px}
#pg-premier .seasonbar .seg button{padding:6px 12px}
.tbl{width:100%;border-collapse:collapse;font-size:14px;min-width:520px}
.tblwrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--rad);background:var(--panel)}
.tbl th{font-family:var(--f-cond);font-weight:700;letter-spacing:.12em;font-size:12px;color:var(--muted);text-align:left;padding:8px 10px;border-bottom:1px solid var(--line)}
.tbl td{padding:8px 10px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.tbl button{border:0;background:transparent;font-weight:700;padding:0;text-align:left;text-decoration:underline;text-decoration-color:var(--line);text-underline-offset:4px}
.tbl tr[aria-current="true"] td{background:var(--panel2)}
.tbl tr[aria-current="true"] button{text-decoration-color:var(--key);text-decoration-thickness:3px}
.badge{font-size:11.5px;font-weight:700;border-radius:2px;padding:1px 7px;border:1px solid var(--line);white-space:nowrap}
.badge.new{background:var(--key);color:var(--key-ink);border-color:var(--key)}
.profile{display:grid;gap:10px}
.profile h2{margin:0;font-size:20px;font-weight:900}
.profile ul{margin:0;padding-left:1.2em;display:grid;gap:4px;font-size:14px;max-width:66ch}
.src{font-size:12px;color:var(--muted)}


/* premier: club tabs + board + season summary */
.page>*{min-width:0}
.plmain{display:grid;gap:12px;min-width:0}
.clubbar{display:flex;gap:6px;overflow-x:auto;padding-bottom:6px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}
.clubbar button{flex:0 0 auto;border:1px solid var(--line);background:var(--panel);border-radius:var(--rad);padding:7px 11px;font-size:13px;font-weight:700;color:var(--muted);display:inline-flex;gap:6px;align-items:center;white-space:nowrap}
.clubbar button.has{color:var(--ink)}
.clubbar button .dot2{width:7px;height:7px;border-radius:50%;background:var(--keytext)}
.clubbar button[aria-pressed="true"]{background:var(--key);color:var(--key-ink);border-color:var(--key)}
.clubbar button[aria-pressed="true"] .dot2{background:var(--key-ink)}
.legend{font-size:12px;color:var(--muted);display:inline-flex;gap:6px;align-items:center}
.legend .dot2{width:7px;height:7px;border-radius:50%;background:var(--keytext);display:inline-block}
.list button.row{width:100%;font:inherit;color:inherit;cursor:pointer}
.row .ph{display:inline-block;font-style:normal;font-size:11px;font-weight:700;border-radius:2px;padding:0 6px;margin-right:6px;border:1px solid var(--line);color:var(--muted)}
.row .ph.def{border-color:var(--keytext);color:var(--keytext)}
.xi{list-style:none;margin:0;padding:0;display:grid}
.xi li{display:grid;grid-template-columns:2.8em minmax(0,1fr);gap:0 8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:14px;align-items:baseline}
.xi li:last-child{border-bottom:0}
.xi li i{font-style:normal;font-family:var(--f-cond);font-weight:700;font-size:14px;color:var(--muted);letter-spacing:.06em}
.plsum{display:grid;gap:16px;border-top:1px solid var(--line);padding-top:16px}
.plsum h2{margin:0;font-size:22px;font-weight:900;line-height:1.3;text-wrap:balance}
.plsum h3{margin:0;font-size:16px;font-weight:900}
.plsum .thesis{margin:0;font-size:15.5px;max-width:68ch}
.shapes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));border:1px solid var(--line);border-radius:var(--rad);background:var(--panel)}
.shapes div{padding:12px 14px;border-right:1px solid var(--line);display:grid;gap:2px;align-content:start;min-width:0}
.shapes div:last-child{border-right:0}
.shapes span{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.06em}
.shapes b{font-family:var(--f-cond),var(--f-jp);font-size:26px;font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums}
.shapes b.jp{font-family:var(--f-jp);font-size:18px;font-weight:900;padding-top:4px}
.shapes p{margin:0;font-size:13px;color:var(--muted)}
@media (max-width:640px){.shapes{grid-template-columns:minmax(0,1fr)}.shapes div{border-right:0;border-bottom:1px solid var(--line)}.shapes div:last-child{border-bottom:0}}
.meters{display:grid;gap:14px;max-width:760px}
.meter{display:grid;grid-template-columns:5em minmax(0,1fr) 6em;gap:6px 10px;align-items:center;font-size:12.5px;font-weight:700}
.meter>span:last-of-type{text-align:right}
.track{position:relative;height:6px;background:var(--panel2);border:1px solid var(--line);border-radius:2px}
.track i{position:absolute;top:50%;width:14px;height:14px;margin:-7px 0 0 -7px;background:var(--key);border:2px solid var(--key-ink);border-radius:50%}
.meter p{grid-column:1/-1;margin:0;font-size:13px;font-weight:400;color:var(--muted);max-width:68ch}
.roles{display:grid;border-top:1px solid var(--line)}
.role{display:grid;grid-template-columns:11em minmax(0,1fr) minmax(0,1fr);gap:4px 18px;padding:12px 0;border-bottom:1px solid var(--line);font-size:14px}
.role b{font-size:15px;display:block}
.role small{display:block;color:var(--muted);font-size:12px;font-weight:700}
.role em{font-style:normal;display:block;font-size:11.5px;font-weight:700;color:var(--muted);letter-spacing:.06em;margin-bottom:2px}
.role .lk em{color:var(--keytext)}
@media (max-width:720px){.role{grid-template-columns:minmax(0,1fr)}}
.rules{margin:0;padding-left:1.2em;display:grid;gap:6px;max-width:70ch;font-size:14px}
.srcs{margin:0;padding-left:1.2em;display:grid;gap:3px;font-size:12.5px;color:var(--muted)}
.srcs a{color:inherit}

.xi li.grp{display:block;font-family:var(--f-cond);font-weight:700;font-size:12px;letter-spacing:.14em;color:var(--muted);padding:12px 0 2px;border-bottom:1px solid var(--line)}
.xi li.grp:first-child{padding-top:0}
.xi li.sqli{display:block;padding:0}
.sq{width:100%;display:grid;grid-template-columns:2.2em minmax(0,1fr) auto;gap:0 8px;align-items:baseline;text-align:left;border:0;background:transparent;padding:7px 4px;font:inherit;color:inherit;cursor:pointer}
.sq i{font-style:normal;font-family:var(--f-cond);font-weight:700;font-size:16px;font-variant-numeric:tabular-nums;color:var(--muted);grid-row:span 2}
.sq span{font-weight:700;font-size:14px}
.sq small{grid-column:2;font-size:11.5px;color:var(--muted)}
.sq em{grid-column:3;grid-row:1;font-style:normal;font-size:11px;font-weight:700;border:1px solid var(--line);border-radius:2px;padding:0 6px;color:var(--muted)}
.sq:hover span{text-decoration:underline;text-underline-offset:4px}
.sq[aria-current="true"]{background:var(--panel2)}
.sq[aria-current="true"] span{text-decoration:underline;text-decoration-color:var(--key);text-decoration-thickness:3px;text-underline-offset:4px}
.pcard{scroll-margin-top:12px}
.phead{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}
.pno{font-family:var(--f-cond);font-weight:800;font-size:46px;line-height:1;color:var(--keytext);font-variant-numeric:tabular-nums;min-width:1.2em}
.phead h3{margin:0 0 6px;font-size:19px;font-weight:900;line-height:1.3}
.pintro{margin:0;max-width:66ch;font-size:14.5px}
.pdl{margin:0;display:grid;grid-template-columns:7.5em minmax(0,1fr);gap:8px 14px;font-size:14px}
.pdl dt{font-weight:700;color:var(--muted);font-size:13px}
.pdl dd{margin:0;max-width:62ch}
@media (max-width:520px){.pdl{grid-template-columns:minmax(0,1fr)}.pdl dt{margin-top:4px}}
#boardcol{scroll-margin-top:12px}
.acc>summary{list-style:none;cursor:pointer;display:flex;justify-content:space-between;align-items:baseline;gap:8px;padding:12px;font-family:var(--f-cond);font-weight:700;font-size:13px;letter-spacing:.14em;color:var(--muted)}
.acc>summary::-webkit-details-marker{display:none}
.acc>summary .cnt{font-family:var(--f-jp);letter-spacing:0;font-size:12px;margin-left:auto}
.acc>summary::after{content:"";width:8px;height:8px;border-right:2px solid currentColor;border-bottom:2px solid currentColor;transform:rotate(45deg);margin:0 2px 2px 4px;flex:none;transition:transform .15s}
.acc[open]>summary::after{transform:rotate(-135deg);margin-bottom:-3px}
.acc>summary:focus-visible{outline:2px solid var(--key);outline-offset:-2px}
.acc .cur{display:block;font-family:var(--f-jp);letter-spacing:0;font-size:13px;color:var(--ink);font-weight:700;margin-top:2px}
.card.accc{padding:0;gap:0}
.card.accc .inner{padding:0 12px 12px}
.sqg{border-top:1px solid var(--line)}
.sqg>summary{padding:10px 2px;letter-spacing:.12em}
.sqg .xi{padding-bottom:6px}
.plsum details.sec>summary{list-style:none;cursor:pointer;display:flex;align-items:center;gap:10px;padding:12px 0;border-top:1px solid var(--line);font-size:16px;font-weight:900}
.plsum details.sec>summary::-webkit-details-marker{display:none}
.plsum details.sec>summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);margin-left:auto;transition:transform .15s}
.plsum details.sec[open]>summary::after{transform:rotate(-135deg)}
.plsum details.sec>div{display:grid;gap:12px;padding-bottom:6px}
.crest{border:1px solid var(--line);display:inline-grid;place-items:center;width:34px;height:34px;border-radius:50%;background:var(--crest,#6cabdd);color:#0d2418;font-family:var(--f-cond);font-weight:800;font-size:12px;letter-spacing:.04em;flex:none}
.plhead{display:flex;align-items:center;gap:10px}
.pfacts{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:0;border:1px solid var(--line);border-radius:var(--rad)}
.pfacts div{padding:8px 10px;border-right:1px solid var(--line);border-bottom:1px solid var(--line);display:grid;gap:1px;min-width:0}
.pfacts dt{font-size:11.5px;font-weight:700;color:var(--muted);letter-spacing:.04em}
.pfacts dd{margin:0;font-size:14px;font-weight:700;font-variant-numeric:tabular-nums}
.pfacts dd small{font-weight:400;color:var(--muted);font-size:12px}
.plast{grid-column:1/-1}
.plast table{border-collapse:collapse;font-size:13.5px;width:100%}
.plast td{padding:2px 8px 2px 0;font-variant-numeric:tabular-nums}
.plast td.n{text-align:right;font-family:var(--f-cond);font-weight:700;font-size:16px;white-space:nowrap}
/* articles */
.alist{display:grid;border-top:1px solid var(--line)}
.afil{margin-bottom:2px}
.afind{position:relative;max-width:760px;z-index:12}
.afind-box{display:flex;align-items:center;gap:8px;height:44px;padding:0 6px 0 12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);color:var(--muted);cursor:text}
.afind-box:focus-within{border-color:var(--key);color:var(--ink)}
.afind-box input{flex:1;min-width:0;height:100%;border:0;background:transparent;color:var(--ink);font:inherit;font-size:16px;padding:0;outline:none}
.afind-box input::-webkit-search-cancel-button{display:none}
.afind-box input::placeholder{color:var(--muted)}
.afind-x{border:0;background:transparent;font-size:20px;line-height:1;width:36px;height:36px;color:var(--muted);border-radius:2px}
.afind-pop{position:absolute;left:0;right:0;top:calc(100% + 4px);background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);max-height:min(62vh,520px);overflow:auto;overscroll-behavior:contain;padding:6px 10px 10px}
.afind-pop h4{margin:8px 0 4px;font-size:11.5px;font-weight:700;color:var(--muted);letter-spacing:.06em}
.afind-pop .clubbar{padding-bottom:4px}.afind-pop .clubbar button{padding:6px 10px;font-size:12.5px}
.afind-pop .alist{border-top:0}
.afind-pop .alist a[aria-selected="true"]{background:var(--panel2)}
.afind-pop .alist a .no{font-size:18px}
.afind-pop mark{background:transparent;color:var(--keytext);font-weight:900}
.afind-more{width:100%;margin-top:6px;border:1px solid var(--line);background:transparent;padding:8px;font-size:13px;font-weight:700;border-radius:var(--rad)}
.afind-none{margin:10px 2px;font-size:13.5px;color:var(--muted)}.afil button{padding:6px 10px;font-size:12.5px}
.alist h4{margin:10px 0 0;padding:6px 4px;font-family:var(--f-cond);font-size:15px;color:var(--muted);border-bottom:1px solid var(--line)}
.alist a{display:grid;grid-template-columns:auto minmax(0,1fr);gap:2px 12px;text-decoration:none;padding:10px 4px;border-bottom:1px solid var(--line)}
.alist a .no{font-family:var(--f-cond);font-weight:800;font-size:22px;color:var(--keytext);line-height:1;grid-row:span 2}
.alist a b{font-size:15px}
.alist a small{color:var(--muted);font-size:12px}
.article{display:grid;gap:12px;max-width:760px}
.article h2{margin:0;font-size:22px;font-weight:900;line-height:1.35;text-wrap:balance}
.article h3{margin:6px 0 0;font-size:16px}
.article p{margin:0;max-width:66ch}
.meta{font-size:12.5px;color:var(--muted)}

.fchips{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px}
.fchips button{font-family:var(--f-cond);font-weight:700;font-size:15px;padding:5px 2px;border-radius:2px;border:1px solid var(--line);background:transparent;font-variant-numeric:tabular-nums}
.fchips button[aria-pressed="true"]{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.team{display:grid;gap:8px;padding-top:10px;border-top:1px dashed var(--line)}
.team:first-of-type{border-top:0;padding-top:0}
.tname{display:flex;align-items:center;gap:8px;font-weight:700;font-size:13px}
.dot{width:12px;height:12px;border-radius:50%;display:inline-block;border:1px solid rgba(0,0,0,.35)}
.row2{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap}
input[type=text],textarea{font:inherit;font-size:16px;color:var(--ink);background:var(--bg);border:1px solid var(--line);border-radius:var(--rad);padding:6px 9px;min-width:0}
input[type=text]{width:100%}
textarea{width:100%;min-height:140px;resize:vertical;line-height:1.5}
.ed{display:grid;grid-template-columns:70px minmax(0,1fr);gap:8px}
.lab{font-size:13px;font-weight:700}
.scenes{display:flex;flex-wrap:wrap;gap:4px}
.scenes button{font-family:var(--f-cond);font-weight:700;font-size:15px;width:32px;height:32px;border-radius:2px;border:1px solid var(--line);background:var(--panel2)}
.use{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border-top:1px solid var(--line)}
@media (max-width:720px){.use{grid-template-columns:minmax(0,1fr)}}
.use div{padding:14px 14px 14px 0;border-bottom:1px solid var(--line)}
.use h3{margin:0 0 4px;font-size:14px}
.use p{margin:0;font-size:13.5px;color:var(--muted);max-width:40ch}
.modal{position:fixed;inset:0;background:rgba(4,12,8,.78);display:grid;place-items:center;z-index:20;
  padding:max(16px,env(safe-area-inset-top,0px)) max(16px,env(safe-area-inset-right,0px)) max(16px,env(safe-area-inset-bottom,0px)) max(16px,env(safe-area-inset-left,0px))}
.modal .box{background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);padding:16px;display:grid;gap:10px;max-width:min(520px,100%);max-height:100%;overflow:auto}
.modal img{width:100%;height:auto;max-height:62vh;object-fit:contain;background:var(--frame)}
.toast{position:fixed;left:50%;bottom:calc(20px + env(safe-area-inset-bottom,0px));transform:translateX(-50%);background:var(--key);color:var(--key-ink);font-size:13px;font-weight:700;padding:8px 14px;border-radius:2px;z-index:30;max-width:calc(100% - 32px)}

/* v6：記事の型・全ページ一覧 */
.article ol{margin:0;padding-left:1.3em;display:grid;gap:6px;font-size:14.5px;max-width:66ch}
.article .lede{margin:0;font-size:15.5px;font-weight:500;max-width:66ch}
.article .pfacts dd b{font-family:var(--f-cond);font-size:18px;margin:0 4px}
.dict h2 .sub{margin-left:4px}
.sidx{max-width:1200px;margin:28px auto 0;border-top:1px solid var(--line);padding-top:12px;display:grid;gap:8px}
.sidx summary{cursor:pointer;font-weight:700;font-size:13px;color:var(--muted);padding:6px 0}
.sidx-g{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px 20px;padding-top:10px}
.sidx h3{margin:0 0 4px;font-size:12.5px;color:var(--muted)}
.sidx ul{margin:0;padding:0;list-style:none;display:grid;gap:3px}
.sidx a{font-size:13px;text-decoration:none}
.sidx a:hover{text-decoration:underline}

/* v7：今節のベストバウト */
.article{gap:14px}
.article .theme{font-size:24px;line-height:1.45;font-weight:900;margin:0;text-wrap:balance}
@media (max-width:520px){.article .theme{font-size:20px}}
.bout{background:var(--lt);color:var(--lt-ink);border-radius:var(--rad);overflow:hidden;display:grid}
.bout-top,.bout-foot{display:flex;justify-content:space-between;flex-wrap:wrap;gap:4px 12px;padding:6px 12px;font-size:12px;color:var(--lt-sub)}
.bout-top .ft{font-family:var(--f-cond);font-weight:700;letter-spacing:.14em;color:var(--lt-ink)}
.bout-score{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:10px;padding:12px;border-block:1px solid rgba(242,246,242,.1)}
.tm{display:grid;gap:3px;min-width:0}
.tm.a{justify-items:end;text-align:right}
.tm i{width:30px;height:5px;border-radius:1px;background:var(--home)}
.tm.a i{background:var(--away)}
.tm b{font-size:17px;font-weight:900;line-height:1.3}
.tm small{font-size:12.5px;color:var(--lt-sub)}
.sc{display:flex;align-items:center;gap:10px;font-family:var(--f-cond);font-weight:800;font-size:58px;line-height:1;font-variant-numeric:tabular-nums}
.sc em{font-style:normal;font-size:34px;color:var(--lt-sub)}
@media (max-width:520px){.sc{font-size:44px;gap:6px}.tm b{font-size:14.5px}}
.bstats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;border:1px solid var(--line);border-radius:var(--rad);background:var(--panel)}
.bstats div{display:grid;gap:2px;align-content:start;padding:10px 12px;border-right:1px solid var(--line);min-width:0}
.bstats div:last-child{border-right:0}
.bstats dt{font-size:12px;font-weight:700;color:var(--muted)}
.bstats dd{margin:0;font-family:var(--f-cond),var(--f-jp);font-size:28px;font-weight:800;line-height:1.1;font-variant-numeric:tabular-nums}
.bstats dd small{display:block;margin-top:3px;font-family:var(--f-jp);font-size:11.5px;font-weight:400;line-height:1.45;color:var(--muted)}
@media (max-width:640px){.bstats{grid-template-columns:repeat(2,minmax(0,1fr))}.bstats div:nth-child(2n){border-right:0}.bstats div:nth-child(-n+2){border-bottom:1px solid var(--line)}}
.tl{margin:0;display:grid;gap:6px}
.tl-bar{display:grid;grid-template-rows:44px 20px 44px;padding:0 12px;background:var(--panel);border:1px solid var(--line);border-radius:var(--rad)}
.tl-lane,.tl-axis{position:relative}
.tl-axis{border-top:2px solid var(--line)}
.tl-axis span{position:absolute;left:var(--x);top:3px;transform:translateX(-50%);font-family:var(--f-cond);font-weight:700;font-size:12px;color:var(--muted)}
.tl-axis span:first-child{transform:none}.tl-axis span:last-child{transform:translateX(-100%)}
.tl-name{position:absolute;left:0;font-size:11px;font-weight:700;color:var(--muted)}
.tl-lane.hm .tl-name{top:4px}.tl-lane.aw .tl-name{bottom:4px}
.mk{position:absolute;left:var(--x);width:8px;height:8px;margin-left:-4px;border-radius:50%;background:var(--muted)}
.tl-lane.hm .mk{bottom:5px}.tl-lane.aw .mk{top:5px}
.mk.sub{width:3px;margin-left:-1.5px;height:12px;border-radius:1px;opacity:.7}
.mk.post,.mk.save{background:transparent;border:2px solid var(--muted)}
.mk.yc{width:7px;height:10px;border-radius:1px;background:transparent;border:2px solid var(--muted)}
.mk.scn{width:22px;height:22px;margin-left:-11px;border-radius:50%;border:2px solid var(--ink);background:var(--panel);color:var(--ink);font-family:var(--f-cond);font-weight:800;font-size:13px;line-height:1;display:grid;place-items:center;padding:0;cursor:pointer}
.mk.scn.goal{background:var(--ink);color:var(--bg)}
.mk.scn[aria-current]{background:var(--key);border-color:var(--key);color:var(--key-ink)}
.tl-lane.hm .mk.scn.p2{bottom:22px}.tl-lane.aw .mk.scn.p2{top:22px}
.tl figcaption{font-size:12px;color:var(--muted)}
.tl-list summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--muted);padding:4px 0}
.tl-list ol{list-style:none;margin:6px 0 0;padding:0;display:grid}
.tl-list li{display:grid;grid-template-columns:3em 7.5em minmax(0,1fr);gap:8px;padding:6px 0;border-bottom:1px solid var(--line);font-size:13.5px;align-items:baseline}
.tl-list li b{font-family:var(--f-cond);font-size:15px;font-variant-numeric:tabular-nums}
.tl-list .tg{font-size:12px;color:var(--muted);font-weight:700}
@media (max-width:520px){.tl-list li{grid-template-columns:2.6em minmax(0,1fr)}.tl-list .tg{grid-column:2}.tl-list li>span:last-child{grid-column:2}}
.scene{display:grid;gap:10px;padding-top:18px;border-top:1px solid var(--line);scroll-margin-top:12px}
.sc-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:14px;align-items:center}
.sc-min{font-family:var(--f-cond);font-weight:800;font-style:italic;font-size:46px;line-height:1;font-variant-numeric:tabular-nums}
.sc-k{font-family:var(--f-cond);font-weight:700;font-size:12px;letter-spacing:.14em;color:var(--muted)}
.scene h3{margin:2px 0 0;font-size:18px;font-weight:900;line-height:1.45;text-wrap:balance}
.who{display:flex;flex-wrap:wrap;width:fit-content;max-width:100%;background:var(--lt);border-radius:var(--rad);overflow:hidden}
.who span{display:grid;padding:5px 12px;border-right:1px solid rgba(242,246,242,.14)}
.who span:last-child{border-right:0}
.who b{font-size:14px;color:var(--lt-ink)}
.who small{font-size:11px;font-weight:700;color:var(--lt-sub)}
.sc-slot{min-width:0}
.still{position:relative;display:block;width:100%;padding:0;border:0;border-radius:var(--rad);overflow:hidden;background:var(--frame);text-align:left}
.still-svg svg{display:block;width:100%;height:auto}
.still-cap{position:absolute;left:0;top:0;display:flex;max-width:100%;background:var(--lt);color:var(--lt-ink);font-size:13px;font-weight:700}
.still-cap b{display:grid;place-items:center;padding:4px 10px;background:var(--lt-ink);color:var(--lt);font-family:var(--f-cond);font-size:18px}
.still-cap span{padding:6px 10px;min-width:0}
.play{position:absolute;bottom:10px;right:10px;padding:7px 12px 7px 27px;border-radius:2px;background:var(--key);color:var(--key-ink);font-size:13px;font-weight:700}
.play::before{content:"";position:absolute;left:11px;top:50%;margin-top:-6px;border-left:9px solid currentColor;border-block:6px solid transparent}
.still:focus-visible{outline:2px solid var(--key);outline-offset:2px}
.steps summary{cursor:pointer;font-size:13px;font-weight:700;color:var(--muted)}
.steps ol{margin-top:8px}
.after{display:grid;gap:8px;padding-top:18px;border-top:1px solid var(--line)}
.after h3{margin:0}

/* v8：深掘り型の記事 */
.hero{margin:0;display:grid;gap:4px}
.hero img{display:block;width:100%;height:auto;max-height:420px;object-fit:cover;border-radius:var(--rad);background:var(--panel2)}
.hero figcaption{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2px 12px;font-size:11.5px;color:var(--muted)}
.hero figcaption a{color:inherit}
.qs{display:grid;gap:6px;padding:12px 14px;border:1px solid var(--line);border-radius:var(--rad);background:var(--panel)}
.qs b{font-size:13px;color:var(--muted)}
.qs ol{list-style:none;margin:0;padding:0;display:grid}
.qs a{display:grid;grid-template-columns:2.6em minmax(0,1fr);gap:8px;padding:7px 0;border-top:1px solid var(--line);text-decoration:none;font-size:14.5px;font-weight:700;line-height:1.5}
.qs a span{font-family:var(--f-cond);font-weight:800;font-size:16px;color:var(--keytext)}
.qs a:hover{text-decoration:underline;text-underline-offset:4px}
.scene.ch .sc-min{font-size:34px;font-style:normal;min-width:2.2em}
.sc-q{margin:0;font-size:13.5px;font-weight:700;color:var(--muted)}
.sc-q::before{content:"問い　";color:var(--keytext)}
.est{margin:0;font-size:12.5px;color:var(--muted);display:flex;gap:8px;align-items:baseline}
.est b{flex:none;font-size:11px;font-weight:700;border:1px solid var(--line);border-radius:2px;padding:0 6px}
.evid{display:grid;gap:6px;padding:10px 12px;border-left:3px solid var(--line);background:var(--panel)}
.evid b{font-size:12.5px;color:var(--muted)}
.evid ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.evid li{display:grid;grid-template-columns:5.2em minmax(0,1fr);gap:8px;font-size:14px}
.evid li span{font-family:var(--f-cond),var(--f-jp);font-weight:700;font-variant-numeric:tabular-nums}
.take{margin:0;padding:10px 12px;background:var(--lt);color:var(--lt-ink);border-radius:var(--rad);font-size:15px;font-weight:700;line-height:1.6;display:grid;grid-template-columns:auto minmax(0,1fr);gap:10px}
.take b{color:var(--key);font-size:12px;letter-spacing:.08em;padding-top:3px}


/* v9：プレミア戦術の深掘り */
.plpat{display:grid;gap:10px;border-top:1px solid var(--line);padding-top:12px}
.plpat h2{margin:0;font-size:20px;font-weight:900;line-height:1.35;text-wrap:balance}
.plpat .pbody{margin:0;max-width:66ch;font-size:14.5px}
.rec{display:grid;grid-template-columns:auto minmax(0,1fr);gap:8px 18px;align-items:center;padding:10px 12px;background:var(--lt);color:var(--lt-ink);border-radius:var(--rad)}
@media (max-width:640px){.rec{grid-template-columns:minmax(0,1fr)}}
.rec-n{display:grid;gap:1px}
.rec-n b{font-family:var(--f-cond);font-size:30px;font-weight:800;line-height:1;font-variant-numeric:tabular-nums}
.rec-n b small{font-family:var(--f-jp);font-size:12px;font-weight:700;margin:0 8px 0 2px;color:var(--lt-sub)}
.rec-n span{font-size:12px;color:var(--lt-sub)}
.strip{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(26px,1fr));gap:3px;max-width:520px}
.strip li{display:grid;justify-items:center;gap:1px;padding:3px 0;border-radius:2px;border:1px solid rgba(242,246,242,.25)}
.strip li span{font-family:var(--f-cond);font-size:11px;color:var(--lt-sub)}
.strip li b{font-size:13px}
.strip li.r-W{background:var(--lt-ink);color:var(--lt);border-color:var(--lt-ink)}
.strip li.r-W span{color:var(--lt)}
.strip li.r-L{opacity:.55}
.flist{list-style:none;margin:0;padding:0;display:grid}
.flist li{display:grid;grid-template-columns:4em 2em minmax(0,1fr);gap:4px 10px;padding:9px 0;border-bottom:1px solid var(--line);align-items:start}
.flist .fmd{font-size:12px;font-weight:700;color:var(--muted);padding-top:2px}
.fr{display:grid;place-items:center;width:26px;height:26px;border-radius:2px;border:1px solid var(--line);font-size:13px;font-weight:900}
.fr.r-W{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.fr.r-L{color:var(--muted);border-style:dashed}
.flist b{font-size:14.5px}
.flist b small{font-size:11.5px;font-weight:400;color:var(--muted)}
.flist p{margin:2px 0 0;font-size:13.5px;color:var(--muted);max-width:66ch}
.flist .go{display:inline-block;margin-top:4px;font-size:12.5px;font-weight:700;text-decoration:none;border-bottom:2px solid var(--key)}
.story{display:grid;gap:4px}
.story h4{margin:6px 0 0;font-size:13px;color:var(--muted);letter-spacing:.04em}
.story p{margin:0;max-width:68ch;font-size:14.5px}
.patcards{list-style:none;margin:0;padding:0;display:grid;border-top:1px solid var(--line)}
.patcards button{width:100%;display:grid;grid-template-columns:2.4em minmax(0,1fr) auto;gap:10px;align-items:baseline;text-align:left;border:0;border-bottom:1px solid var(--line);background:transparent;padding:10px 4px;font:inherit;color:inherit;cursor:pointer}
.patcards .pn{font-family:var(--f-cond);font-weight:800;font-size:20px;color:var(--keytext)}
.patcards b{display:block;font-size:15px}
.patcards small{display:block;font-size:12.5px;color:var(--muted);margin-top:2px}
.patcards i{font-style:normal;font-family:var(--f-cond);font-weight:700;font-size:13px;color:var(--muted)}
.patcards button[aria-current="true"]{background:var(--panel2)}
.patcards button[aria-current="true"] b{text-decoration:underline;text-decoration-color:var(--key);text-decoration-thickness:3px;text-underline-offset:4px}
.grade{display:inline-block;margin-top:4px;font-size:11.5px;font-weight:700;border:1px solid var(--line);border-radius:2px;padding:0 7px;color:var(--muted)}
.grade.g-up{background:var(--ink);color:var(--bg);border-color:var(--ink)}
.grade.g-down{border-style:dashed}
.issue{display:grid;gap:8px;padding:12px 0;border-bottom:1px solid var(--line)}
.issue:last-child{border-bottom:0}
.issue h4{margin:0;font-size:16px;font-weight:900;display:flex;gap:10px;align-items:baseline;line-height:1.45}
.issue h4 span{font-family:var(--f-cond);font-size:20px;color:var(--keytext)}
.issue p{margin:0;max-width:68ch;font-size:14.5px}
.issue .btn{justify-self:start}

/* v12：深掘りブロックを新デザインに合わせる */
.plpat{border-top:0;padding-top:4px}
.plpat h2,.issue h4{font-weight:700}
.rec{border-radius:var(--rad);padding:16px 18px}
.rec-n b{font-family:var(--f-num);font-weight:500;letter-spacing:-.03em}
.strip li{border-radius:6px}
.strip li span,.patcards .pn,.patcards i,.issue h4 span{font-family:var(--f-num);font-weight:600;letter-spacing:-.02em}
.fr{border-radius:8px;font-weight:700}
.fr.r-L{border-style:solid;opacity:.6}
.flist .go{border-bottom:1.5px solid var(--keytext)}
.patcards{border-top:0;gap:4px}
.patcards button{border-bottom:0;border-radius:var(--rad-s);background:var(--panel);padding:12px 14px}
.patcards button[aria-current="true"]{background:var(--soft)}
.patcards button[aria-current="true"] b{text-decoration:none}
.grade{border-radius:999px;font-weight:500}
.grade.g-down{border-style:solid;opacity:.75}
/* ===== v11 デザイン刷新（上の定義を上書き） ===== */
html{background:var(--bg)}
body{background:radial-gradient(900px 560px at 92% -160px,var(--wash1),transparent 68%),radial-gradient(760px 460px at -12% 60px,var(--wash2),transparent 70%),var(--bg);background-repeat:no-repeat;
  font-size:15px;line-height:1.85;letter-spacing:.03em;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;
  line-break:strict;overflow-wrap:anywhere;padding-block:18px 56px}
p,li,dd{text-wrap:pretty}
h1,h2,h3,h4,.lead,.lede,.theme,.take,.sc-q,.qs a,.row b,.alist a b,.who b,.tm b,.pintro,.thesis,summary,.btn,.chip,.badge,header nav a,.tag,.small,.hint,.lt-t span,.still-cap span,.meta,.evid li,.dict dd,.pdl dd,.xi li,.use p,.shapes p,.bstats dd small,figcaption{
  overflow-wrap:anywhere}
h1,h2,h3,h4,.theme,.lede,.take,.qs a{font-feature-settings:"palt";letter-spacing:.04em}
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible{outline:2px solid var(--keytext);outline-offset:3px}
.wrap{gap:20px;grid-template-columns:minmax(0,1fr)}
.wrap>*,header>*{min-width:0}
header nav{max-width:100%;scrollbar-width:none}header nav::-webkit-scrollbar{display:none}

/* ヘッダー */
header{align-items:center;border-bottom:0;padding:4px 0 6px;gap:14px 24px}
.brand{gap:4px}
.logo{font-family:var(--f-num);font-style:normal;font-weight:600;font-size:27px;letter-spacing:-.045em;line-height:1;color:var(--ink)}
.logo b{color:var(--keytext);font-weight:600;padding:0 .08em}
.tag{font-size:12px;font-weight:500;letter-spacing:.08em;margin-top:2px}
header nav{gap:4px;background:color-mix(in srgb,var(--panel) 70%,transparent);border-radius:999px;padding:4px}
header nav a{font-size:13px;font-weight:500;color:var(--muted);padding:8px 14px;border-bottom:0;border-radius:999px;letter-spacing:.04em}
header nav a:hover{color:var(--ink)}
header nav a[aria-current="page"]{color:var(--key-ink);background:var(--key);font-weight:700}
@media (max-width:640px){header nav{width:100%;justify-content:space-between;overflow-x:auto;flex-wrap:nowrap}header nav a{padding:8px 11px;white-space:nowrap;font-size:12.5px}}
h1{font-size:30px;font-weight:700;line-height:1.45;margin:10px 0 4px}
@media (max-width:520px){h1{font-size:25px}}
.lead{font-size:14.5px;line-height:1.9;max-width:42em}

/* 面と枠 */
.card{border:0;border-radius:var(--rad);padding:16px;gap:12px;background:var(--panel)}
.card h2,.eyebrow{font-family:var(--f-jp);font-weight:700;font-size:13px;letter-spacing:.06em;color:var(--ink);text-transform:none}
.card h2 span{font-size:12px;color:var(--muted)}
.acc>summary,.sqg>summary{font-family:var(--f-jp);font-size:13px;letter-spacing:.06em;color:var(--ink);font-weight:700}
.stage{border-radius:var(--rad)}
.lt{border-radius:var(--rad) var(--rad) 0 0;margin-bottom:-14px;padding-bottom:6px}
.lt-k{background:transparent;color:var(--key);font-family:var(--f-num);font-weight:600;font-size:17px;letter-spacing:-.02em;padding:8px 4px 8px 14px}
.lt-t b{letter-spacing:.06em;font-weight:700}
.note{border:0;background:var(--soft);border-radius:var(--rad-s);padding:12px 14px;line-height:1.8}
.note b{font-family:var(--f-jp);letter-spacing:.06em;font-size:12px;color:var(--keytext)}
.hint,.small{line-height:1.8}

/* ボタン類（押せる面はミント＋点） */
.btn{border:0;background:var(--panel2);font-size:13px;font-weight:700;padding:10px 16px;border-radius:var(--rad-s);gap:8px;letter-spacing:.04em}
.btn:hover{background:var(--soft)}
.btn.key{background:var(--key);color:var(--key-ink);border:0}
.btn.key::before,.play::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}
.btn.ghost{background:transparent;box-shadow:inset 0 0 0 1px var(--line)}
.seg{border:0;border-radius:12px;background:var(--panel);padding:3px;gap:2px}
.seg button{border-right:0;border-radius:9px;font-weight:500;padding:8px 11px}
.seg button[aria-pressed="true"]{background:var(--key);color:var(--key-ink);font-weight:700}
.prog{gap:4px}
.prog button{height:30px;border-radius:8px;font-family:var(--f-num);font-weight:600;font-size:12.5px}
.prog button[aria-current="step"]{background:var(--ink);color:var(--bg)}
.chip,.badge{border-radius:999px;padding:2px 10px;font-weight:500}
.badge.new{background:var(--key);color:var(--key-ink)}
.toggle input{accent-color:var(--keytext)}
.sw[aria-pressed="true"]{border-color:var(--ink)}
.toast{border-radius:999px;padding:10px 18px;background:var(--ink);color:var(--bg)}
.modal{background:rgba(8,12,42,.62)}
.modal .box{border:0;border-radius:18px;padding:20px}

/* ライブラリーの一覧 */
.lib{padding:0}
.phases{border:0;gap:4px;padding:0 12px 4px}
.phases button{border-right:0;border-radius:10px;background:var(--panel2);padding:8px 0}
.phases button i{font-family:var(--f-num);font-size:11px}
.phases button[aria-pressed="true"]{background:var(--key);color:var(--key-ink)}
.minipitch{background:var(--frame);border:0;border-radius:8px}
.minipitch button{border-bottom:1px solid rgba(207,233,228,.35);color:#dceeeb}
.minipitch button[aria-pressed="true"]{background:var(--key);color:var(--key-ink)}
.mini .all{border-radius:8px}
.row{padding:11px 8px;border-radius:0}
.row b{font-weight:500;letter-spacing:.04em}
.row i{font-family:var(--f-num);font-weight:500;font-size:12px}
.row[aria-current="true"]{background:var(--soft);border-radius:10px}
.row[aria-current="true"] b{text-decoration:none;font-weight:700}
.row .ph{border-radius:999px}
.dict{border-top:0;padding-top:4px;gap:14px}
.dict h2{font-size:26px;font-weight:700;line-height:1.45}
.dict dt{letter-spacing:.06em}
.rel a{border-bottom:1.5px solid var(--keytext);font-weight:500}
.rel a .tt{font-family:var(--f-jp);letter-spacing:.04em}
.postabs{border:0;padding:3px;gap:2px;border-radius:12px}
.postabs button{border-right:0;border-radius:9px}
.postabs button i{font-family:var(--f-num);font-size:11px}
.fchips button{font-family:var(--f-num);font-weight:600;font-size:13px;border-radius:8px}
.scenes button{font-family:var(--f-num);font-weight:600;font-size:13px;border-radius:8px}

/* プレミア */
.clubbar button{border:0;border-radius:999px;background:var(--panel);padding:8px 14px;font-weight:500}
.clubbar button[aria-pressed="true"]{background:var(--key);color:var(--key-ink);font-weight:700}
.tblwrap{border:0;border-radius:var(--rad)}
.tbl th{font-family:var(--f-jp);letter-spacing:.06em}
.shapes,.pfacts,.bstats{border:0;border-radius:var(--rad);background:var(--panel)}
.shapes b,.bstats dd,.plast td.n,.xi li i,.sq i,.pno,.alist a .no,.qs a span,.evid li span,.tl-axis span,.tl-list li b,.mk.scn,.still-cap b,.sc,.sc-min,.alist h4,.article .pfacts dd b{
  font-family:var(--f-num);font-style:normal;font-weight:600;letter-spacing:-.03em}
.shapes b.jp{font-family:var(--f-jp);font-weight:700;letter-spacing:.04em}
.plsum h2{font-size:24px;font-weight:700}
.plsum h3,.profile h2,.phead h3{font-weight:700}
.plsum details.sec>summary{font-weight:700}
.crest{color:#0b1140;border:0;font-family:var(--f-num);font-weight:600;letter-spacing:-.02em}
.track{border:0;border-radius:999px;height:6px}
.track i{background:var(--key);border:2px solid var(--ink)}
.role .lk em{color:var(--keytext)}
.sq[aria-current="true"]{background:var(--soft);border-radius:10px}
.sq[aria-current="true"] span{text-decoration:none}
.sq em{border-radius:999px}
.pno{color:var(--keytext);font-size:40px}

/* 記事 */
.afind-box{border:0;border-radius:999px;padding:0 8px 0 18px;background:var(--panel)}
.afind-box:focus-within{box-shadow:inset 0 0 0 1.5px var(--keytext)}
.afind-pop{border:0;border-radius:var(--rad);box-shadow:0 18px 40px -18px rgba(11,17,64,.35)}
.afind-pop mark{color:var(--keytext);font-weight:700}
.alist{border-top:0}
.alist a{padding:14px 6px;gap:4px 14px}
.alist a .no{color:var(--keytext);font-size:20px}
.alist a b{font-weight:700;line-height:1.6}
.alist h4{font-size:14px;border-bottom:0;padding:16px 6px 4px}
.article{gap:18px}
.article>*,.page>*,.col>*{min-width:0}
.article h2{font-size:26px;font-weight:700;line-height:1.5}
.article .theme{font-size:28px;font-weight:700;line-height:1.55}
@media (max-width:520px){.article .theme{font-size:22px}.article h2{font-size:22px}}
.article .lede{font-size:16px;line-height:1.95;font-weight:400}
.article p{line-height:1.95}
.bout{border-radius:18px}
.bout-top .ft{font-family:var(--f-num);letter-spacing:.06em;font-weight:500}
.bout-score{border-block:1px solid rgba(242,248,247,.08);padding:18px 14px}
.tm b{font-weight:700;letter-spacing:.04em}
.sc{font-weight:500;font-size:56px;letter-spacing:-.05em}
.sc em{font-size:28px}
.tm i{border-radius:999px;height:4px;width:34px}
.bstats div{border-right:1px solid var(--line)}
.bstats dt{letter-spacing:.06em;font-weight:500}
.bstats dd{font-weight:500;font-size:30px}
.tl-bar{border:0;border-radius:var(--rad)}
.mk.scn{border-width:1.5px}
.scene{border-top:1px solid var(--line);padding-top:26px;gap:12px}
.sc-min{font-size:44px;font-weight:500}
.scene.ch .sc-min{font-size:32px}
.sc-k{font-family:var(--f-num);letter-spacing:.02em;font-weight:500}
.scene h3{font-size:20px;font-weight:700;line-height:1.6}
.who{border-radius:999px}
.who span{padding:6px 16px}
.still{border-radius:var(--rad)}
.still-cap{border-radius:0 0 var(--rad-s) 0}
.play{display:inline-flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;font-weight:700}
.play::before{position:static;margin:0;border:0}
.qs{border:0;border-radius:var(--rad);padding:16px 18px}
.qs a{font-weight:500;padding:10px 0}
.qs a span{color:var(--keytext)}
.sc-q::before{content:"問い　";color:var(--keytext);font-weight:700}
.est b{border-radius:999px;font-weight:500}
.evid{border-left:0;border-radius:var(--rad-s);background:var(--panel);padding:14px 16px}
.take{border-radius:var(--rad);padding:16px 18px;font-weight:500;line-height:1.85}
.take b{color:var(--key);letter-spacing:.08em}
.hero img{border-radius:var(--rad)}
.sidx{border-top:1px solid var(--line)}
.afind-more{border:0;background:var(--panel2);border-radius:999px}
input[type=text],textarea{border-radius:var(--rad-s);background:var(--panel)}

/* ===== v12：トップ・カード・クラブカラー ===== */
.crumb{display:flex;flex-wrap:wrap;align-items:center;gap:2px 8px;font-size:12px;color:var(--muted);letter-spacing:.04em;margin:0 0 2px}
.crumb a{text-decoration:none;color:var(--keytext);font-weight:500}
.crumb a:hover{text-decoration:underline;text-underline-offset:3px}
.crumb i{font-style:normal;opacity:.5}
.crumb span:last-child{color:var(--ink)}
.more{display:inline-flex;align-items:center;gap:8px;width:fit-content;background:var(--key);color:var(--key-ink);font-size:13px;font-weight:700;letter-spacing:.04em;padding:9px 16px;border-radius:var(--rad-s)}
.more::before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}

#home{display:grid;gap:44px}
.hero{display:grid;gap:16px;padding:18px 0 4px}
.hero-k{margin:0;font-family:var(--f-num);font-size:12.5px;font-weight:500;letter-spacing:.02em;color:var(--keytext)}
.hero-k i,.mc-meta i,.tc-sub i,.ct-foot i{font-style:normal;margin:0 .45em;opacity:.6}
.hero-h{margin:0;font-size:clamp(32px,8.6vw,58px);line-height:1.32;font-weight:700;letter-spacing:.02em;font-feature-settings:"palt"}
.hero-p{margin:0;max-width:34em;font-size:15px;line-height:1.95;color:var(--muted)}
.hero-cta{display:flex;flex-wrap:wrap;gap:10px}
.hero-cta .btn{padding:13px 18px;font-size:14px;text-decoration:none}

.gsearch{display:grid;gap:10px;max-width:760px}
.gsearch .afind-box{height:52px;box-shadow:0 1px 0 var(--line)}
.gs-hint{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:12px;color:var(--muted)}
.gs-hint button{border:0;background:var(--panel);border-radius:999px;padding:5px 12px;font-size:12.5px;color:var(--ink)}
.gres{display:grid;gap:14px}
.gres:empty{display:none}
.gr-g h3{margin:0 0 4px;font-size:12.5px;color:var(--muted);display:flex;gap:8px;align-items:baseline;letter-spacing:.06em}
.gr-g h3 span{font-weight:500}
.gr-g ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.gr-g a{display:grid;gap:0;padding:10px 14px;background:var(--panel);border-radius:var(--rad-s);text-decoration:none}
.gr-g a b{font-size:14.5px;font-weight:700}
.gr-g a small{font-size:12px;color:var(--muted)}
.gr-g a.gr-club{background:linear-gradient(120deg,var(--c1),var(--c2));color:var(--ci)}
.gr-g a.gr-club small{color:inherit;opacity:.8;font-family:var(--f-num)}
.gr-more{font-size:13px;color:var(--keytext);display:inline-block;margin-top:6px}

.hsec{display:grid;gap:16px;min-width:0}
.hsec-head h2{margin:0;font-size:22px;font-weight:700;line-height:1.5}
.hsec-head p{margin:4px 0 0;font-size:13.5px;color:var(--muted);max-width:40em}
.rail{display:grid;grid-auto-flow:column;grid-auto-columns:min(82%,340px);gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 2px 6px;scrollbar-width:none;overscroll-behavior-x:contain}
.rail::-webkit-scrollbar{display:none}
.rail>*{scroll-snap-align:start}
.rail:focus-visible{outline:2px solid var(--keytext);outline-offset:4px;border-radius:var(--rad)}
.rail-ctl{display:grid;grid-template-columns:52px minmax(0,1fr) 52px;gap:10px;align-items:center;max-width:520px;width:100%;justify-self:center}
.rail-ctl .btn{justify-content:center;text-decoration:none;padding:13px 16px}
.rbtn{height:46px;border:0;border-radius:var(--rad-s);background:var(--panel2);font-family:var(--f-num);font-size:18px;color:var(--ink)}
.rbtn:hover{background:var(--key)}

/* 試合カード：クラブカラーの濃淡で2段のスコアボード */
.mcard{display:grid;align-content:start;gap:12px;padding:14px 14px 16px;background:var(--panel);border-radius:18px;text-decoration:none;color:var(--ink);min-width:0}
.mc-board{display:grid;gap:4px}
.mc-team{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-rows:auto auto;column-gap:10px;padding:10px 14px;border-radius:12px;color:var(--ci);
  background:linear-gradient(118deg,var(--c0) 0%,var(--c1) 46%,var(--c2) 100%)}
.mc-team::after{content:"";position:absolute;right:-18%;top:-60%;width:62%;height:220%;background:var(--c2);opacity:.38;transform:rotate(18deg);border-radius:40%}
.mc-team>*{position:relative;z-index:1}
.mc-en{font-family:var(--f-num);font-weight:600;font-size:19px;letter-spacing:-.03em;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.mc-ja{grid-row:2;font-size:11px;font-weight:500;letter-spacing:.06em;opacity:.86}
.mc-sc{grid-row:1/3;grid-column:2;align-self:center;font-family:var(--f-num);font-weight:500;font-size:34px;letter-spacing:-.04em;line-height:1}
.mc-meta{font-family:var(--f-num);font-size:12px;color:var(--muted);letter-spacing:.02em}
.mc-t{font-size:15px;font-weight:700;line-height:1.65;letter-spacing:.04em;font-feature-settings:"palt";display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;min-height:4.95em}
.mcard:hover .more,.tcard:hover .more{background:var(--ink);color:var(--bg)}

/* 戦術カード：ミントの面＋盤面の線画 */
.tcard{position:relative;display:grid;grid-template-rows:auto auto 1fr auto;gap:8px;padding:20px 20px 18px;background:var(--key);color:var(--key-ink);border-radius:18px;text-decoration:none;overflow:hidden;min-height:400px}
.tc-h{font-size:22px;font-weight:700;line-height:1.45;letter-spacing:.04em;font-feature-settings:"palt"}
.tc-sub{font-size:13px;font-weight:500;opacity:.8}
.tc-pic{align-self:end;margin:6px -6px 0;border-radius:12px;overflow:hidden;background:var(--frame);display:block}
.tc-pic svg{display:block;width:100%;height:auto}
.tcard .more{background:var(--panel);color:var(--ink);margin-top:6px}

/* クラブタイル：クラブカラーの濃淡で奥行き */
.ctiles{display:grid;grid-template-columns:repeat(auto-fill,minmax(158px,1fr));gap:10px}
.ctile{position:relative;overflow:hidden;display:grid;align-content:end;gap:2px;min-height:132px;padding:14px;border-radius:16px;text-decoration:none;color:var(--ci);
  background:linear-gradient(150deg,var(--c1) 0%,var(--c1) 38%,var(--c2) 100%)}
.ctile::before{content:"";position:absolute;width:140%;height:120%;left:38%;top:-62%;background:var(--c2);opacity:.5;transform:rotate(-24deg);border-radius:42%}
.ctile::after{content:"";position:absolute;width:90%;height:90%;left:-40%;bottom:-62%;background:var(--c0);opacity:.35;border-radius:50%}
.ctile>*{position:relative;z-index:1}
.ct-code{position:absolute;top:12px;right:14px;font-family:var(--f-num);font-weight:600;font-size:12px;letter-spacing:.04em;opacity:.85}
.ct-en{font-family:var(--f-num);font-weight:600;font-size:18px;letter-spacing:-.03em;line-height:1.15}
.ct-ja{font-size:11.5px;font-weight:500;letter-spacing:.04em;opacity:.88}
.ct-foot{font-size:11px;opacity:.78;margin-top:6px}
.ctile:hover{transform:translateY(-2px)}
@media (prefers-reduced-motion:no-preference){.ctile{transition:transform .2s}}

/* サイトの地図 */
.smap{list-style:none;margin:0;padding:0;display:grid;gap:8px;max-width:760px}
.smap a{display:grid;grid-template-columns:5.6em minmax(0,1fr);gap:14px;align-items:center;padding:16px 18px;background:var(--panel);border-radius:var(--rad);text-decoration:none}
.smap a:hover{background:var(--soft)}
.sm-n{font-family:var(--f-num);font-weight:500;font-size:32px;letter-spacing:-.04em;line-height:1;color:var(--keytext)}
.sm-n small{font-family:var(--f-jp);font-size:12px;letter-spacing:.04em;margin-left:3px;color:var(--muted)}
.sm-i{display:grid;place-items:start}
.sm-t{display:grid;gap:2px}
.sm-t b{font-size:16px}
.sm-t span{font-size:13px;color:var(--muted);line-height:1.75}

/* クラブページの見出し */
.chero{position:relative;overflow:hidden;display:grid;align-content:end;min-height:190px;padding:20px 22px;border-radius:20px;color:var(--ci);
  background:linear-gradient(135deg,var(--c0) 0%,var(--c1) 40%,var(--c2) 100%)}
.chero::before{content:"";position:absolute;width:80%;height:200%;right:-22%;top:-40%;background:var(--c2);opacity:.45;transform:rotate(22deg);border-radius:46%}
.chero::after{content:"";position:absolute;width:52%;height:150%;right:-14%;top:-10%;background:var(--c3);opacity:.35;transform:rotate(22deg);border-radius:46%}
.chero>*{position:relative;z-index:1}
.ch-code{position:absolute;top:16px;right:20px;font-family:var(--f-num);font-weight:600;font-size:14px;letter-spacing:.06em;opacity:.9}
.ch-txt{display:grid;gap:2px}
.ch-en{font-family:var(--f-num);font-weight:600;font-size:clamp(28px,7.5vw,44px);letter-spacing:-.04em;line-height:1.05}
.chero .ch-ja{margin:2px 0 0;font-size:15px;font-weight:700;letter-spacing:.06em}
.ch-mgr{font-size:12.5px;opacity:.85}
.ch-arts{display:grid;gap:6px}
.ch-arts h3{margin:0;font-size:13px;color:var(--muted);letter-spacing:.06em}
.ch-arts ul{list-style:none;margin:0;padding:0;display:grid;gap:4px}
.ch-arts a{display:grid;grid-template-columns:4.2em minmax(0,1fr);gap:8px;padding:10px 14px;background:var(--panel);border-radius:var(--rad-s);text-decoration:none;font-size:14px;font-weight:500}
.ch-arts a span{color:var(--muted);font-size:12.5px}
.linkbtn{border:0;background:transparent;padding:4px 0;color:var(--keytext);font-size:13px;font-weight:700;width:fit-content;text-decoration:underline;text-underline-offset:3px}
.clubbar button.has{font-weight:700}
.clubbar button .cdot{width:10px;height:10px;border-radius:50%;background:linear-gradient(135deg,var(--c1),var(--c2));flex:none}

/* 記事の英語名・前後リンク */
.tm .en{font-family:var(--f-num);font-weight:600;font-size:18px;letter-spacing:-.03em;line-height:1.1;color:var(--lt-ink)}
.tm b{font-size:12px!important;font-weight:500;color:var(--lt-sub)}
@media (max-width:520px){.tm .en{font-size:15px}}
.pager{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:8px}
.pager a{display:grid;gap:2px;padding:14px 16px;background:var(--panel);border-radius:var(--rad);text-decoration:none;min-width:0}
.pager a:last-child{text-align:right}
.pager small{font-size:11.5px;color:var(--muted);letter-spacing:.06em}
.pager b{font-size:13.5px;line-height:1.6}
.alist a .no{font-size:15px}
.ateams{display:inline-flex;gap:3px;margin-right:6px;vertical-align:1px}
.ateams i{width:9px;height:9px;border-radius:50%;background:linear-gradient(135deg,var(--c1),var(--c2))}

/* v13：ベストバウトの上部・ライブラリー検索 */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
#home{gap:36px}
#home .gsearch{padding-top:6px}
#pg-articles{gap:10px}
.abar{display:grid;gap:8px;min-width:0}
.arow{display:grid;grid-template-columns:3.2em minmax(0,1fr);align-items:center;gap:6px;min-width:0}
.alab{font-size:12px;font-weight:700;color:var(--muted);letter-spacing:.06em}
.abar .clubbar{flex-wrap:nowrap;overflow-x:auto;padding-bottom:0;scrollbar-width:none;min-width:0}
.abar .clubbar::-webkit-scrollbar{display:none}
.abar .clubbar button{padding:6px 12px;font-size:12.5px;display:inline-flex;gap:6px;align-items:center}
.amatch{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(176px,46%);gap:8px;overflow-x:auto;scroll-snap-type:x proximity;padding:2px 0 4px;scrollbar-width:none;min-width:0;border-top:0}
.amatch::-webkit-scrollbar{display:none}
.am{scroll-snap-align:start;display:grid;gap:3px;padding:8px;background:var(--panel);border-radius:12px;text-decoration:none;min-width:0;box-shadow:inset 0 0 0 1.5px transparent}
.am[aria-current]{box-shadow:inset 0 0 0 2px var(--keytext)}
.am-md{font-size:11px;color:var(--muted);letter-spacing:.04em;padding:0 2px}
.am-t{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:6px;padding:4px 9px;border-radius:7px;color:var(--ci);background:linear-gradient(110deg,var(--c1) 0%,var(--c1) 55%,var(--c2) 100%)}
.am-t span{font-family:var(--f-num);font-weight:600;font-size:13px;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.am-t b{font-family:var(--f-num);font-weight:600;font-size:15px}
#article{max-width:760px}
.lsearch{display:grid;gap:8px;max-width:760px}
.lres .gr-g a{background:var(--panel)}

/* v14：ライブラリーの上部・プレミア戦術のタブ */
.lapp>aside{display:none}
.lapp{grid-template-columns:minmax(0,1fr)!important;max-width:760px}
.abar .clubbar button i{font-style:normal;font-family:var(--f-num);font-size:11px;opacity:.6;margin-left:2px}
.lcar-h{font-size:12px;color:var(--muted);letter-spacing:.04em;margin-top:-2px}
.lcar{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(150px,42%);gap:8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:2px 0 4px;min-width:0}
.lcar::-webkit-scrollbar{display:none}
.lc{scroll-snap-align:start;display:grid;align-content:start;gap:2px;padding:10px 12px;border:0;border-radius:12px;background:var(--panel);text-decoration:none;text-align:left;color:var(--ink);min-width:0;font:inherit;cursor:pointer}
.lc-k{font-size:11px;color:var(--keytext);font-weight:700;letter-spacing:.04em;display:flex;gap:6px;white-space:nowrap;overflow:hidden}
.lc-k i{font-style:normal;color:var(--muted);font-weight:500;overflow:hidden;text-overflow:ellipsis}
.lc b{font-size:14px;line-height:1.45;font-weight:700;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lc small{font-size:11px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lc[aria-current="true"]{background:var(--key);color:var(--key-ink)}
.lc[aria-current="true"] .lc-k,.lc[aria-current="true"] .lc-k i,.lc[aria-current="true"] small{color:var(--key-ink)}
#pg-library{gap:12px}

.pltabs{position:sticky;top:env(safe-area-inset-top,0px);z-index:8;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;padding:6px 0;background:var(--bg)}
.pltabs button{display:grid;gap:0;justify-items:center;border:0;border-radius:12px;background:var(--panel);padding:8px 4px 7px;font-size:13px;font-weight:700;color:var(--muted);line-height:1.3}
.pltabs button small{font-size:10.5px;font-weight:500;opacity:.8}
.pltabs button[aria-selected="true"]{background:var(--ink);color:var(--bg)}
.pltabs button[hidden]{display:none}
.plmain{gap:14px}
.plpane{display:grid;gap:16px;min-width:0}
.pphead{display:grid;gap:4px}
.pphead h2{margin:0;font-size:22px;font-weight:700;line-height:1.45}
.pphead .scope,.scope{width:fit-content;font-size:11px;font-weight:700;letter-spacing:.06em;color:var(--keytext);background:var(--soft);border-radius:999px;padding:2px 10px}
.plsum{border-top:0;padding-top:0}
.tldr{display:grid;gap:4px;padding:16px 18px;background:var(--panel);border-radius:var(--rad)}
.tldr b{font-size:12px;color:var(--keytext);letter-spacing:.06em}
.tldr p{margin:0;font-size:15.5px;line-height:1.9}
.blk{display:grid;gap:10px}
.blk h3{margin:0;font-size:17px;font-weight:700;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.blk h3 small{font-size:12px;color:var(--muted);font-weight:500}
.isl{list-style:none;margin:0;padding:0;display:grid;gap:6px}
.isl .issue{display:block;padding:0;border:0;background:var(--panel);border-radius:var(--rad)}
.isl .issue>summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:1.6em minmax(0,1fr) auto;gap:10px;align-items:baseline;padding:14px 16px;font-size:15px;font-weight:700;line-height:1.6}
.isl .issue>summary::-webkit-details-marker{display:none}
.isl .issue>summary span{font-family:var(--f-num);font-weight:600;color:var(--keytext);font-size:17px}
.isl .issue>summary::after{content:"";width:8px;height:8px;border-right:2px solid var(--muted);border-bottom:2px solid var(--muted);transform:rotate(45deg);align-self:center}
.isl .issue[open]>summary::after{transform:rotate(-135deg)}
.isl .issue>:not(summary){margin:0 16px 12px}
.isl .issue[open]{padding-bottom:6px}
.jumps{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.jump{display:grid;gap:2px;text-align:left;border:0;border-radius:var(--rad);background:var(--key);color:var(--key-ink);padding:14px 16px}
.jump b{font-size:14.5px}
.jump small{font-size:12px;opacity:.8}
.plcar{grid-auto-columns:minmax(170px,48%)}
.plcar .lc{min-height:84px}
.plarts{grid-auto-columns:minmax(176px,46%)}
.plsrc{border-top:1px solid var(--line)}
.plsrc>summary{list-style:none;cursor:pointer;padding:12px 0;font-size:13px;font-weight:700;color:var(--muted)}
#seasonNote[hidden]{display:none}
.meter{grid-template-columns:6.4em minmax(0,1fr) 6.4em;font-size:12px}
.meter>span{word-break:keep-all}
#clubHero .chero{min-height:128px;padding:16px 20px}
#clubHero .ch-en{font-size:clamp(26px,7vw,40px)}

/* v16：記事の冒頭で動きを見せる */
.dek{margin:-6px 0 0;font-size:15px;line-height:1.85;color:var(--muted);max-width:40em}
.hero-b{display:grid;gap:10px;padding:14px;background:var(--panel);border-radius:18px;min-width:0}
.hb-head{display:flex;flex-wrap:wrap;gap:4px 12px;align-items:baseline}
.hb-head b{font-size:16px;font-weight:700}
.hb-head span{font-size:12px;color:var(--muted)}
.hb-tabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(64px,1fr);gap:4px;overflow-x:auto;scrollbar-width:none}
.hb-tabs::-webkit-scrollbar{display:none}
.hb-tabs button{display:grid;gap:0;justify-items:center;border:0;border-radius:10px;background:var(--panel2);padding:7px 4px;font-size:12px;color:var(--muted);font-family:var(--f-num);font-weight:500;white-space:nowrap}
.hb-tabs button i{font-style:normal;font-family:var(--f-jp);font-size:11.5px;font-weight:700;color:var(--ink)}
.hb-tabs button[aria-selected="true"]{background:var(--ink);color:var(--bg)}
.hb-tabs button[aria-selected="true"] i{color:var(--bg)}
.hb-cap{display:grid;gap:4px;padding:2px 2px 0}
.hb-cap b{font-size:15.5px;line-height:1.6}
.hb-cap p{margin:0;font-size:14px;line-height:1.85;color:var(--muted)}
.hb-cap a{font-size:13px;color:var(--keytext);font-weight:700;width:fit-content}
.readh{display:flex;align-items:baseline;gap:10px;border-top:1px solid var(--line);padding-top:22px;margin-top:6px}
.readh h3{margin:0;font-size:18px}
.readh span{font-size:12px;color:var(--muted)}

.evc{line-height:1.7}.evc b{font-size:14px;color:var(--ink)}
/* v16：選手カード・ポップアップ・特性ページ */
.pgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px}
.pcard{position:relative;overflow:hidden;display:grid;align-content:start;gap:2px;text-align:left;border:0;border-radius:14px;padding:12px 12px 11px;background:var(--panel);color:var(--ink);min-width:0;font:inherit;cursor:pointer;box-shadow:inset 3px 0 0 var(--c1)}
.pcard:hover{background:var(--soft)}
.pc-top{display:flex;gap:6px;align-items:center;margin-bottom:2px}
.pc-no{font-family:var(--f-num);font-weight:600;font-size:22px;letter-spacing:-.04em;line-height:1;color:var(--c1);margin-right:auto}
.pc-xi{font-size:10.5px;font-weight:700;border-radius:999px;padding:1px 8px;background:var(--panel2);color:var(--muted)}
.pc-en{font-family:var(--f-num);font-weight:600;font-size:12px;letter-spacing:-.01em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-ja{font-size:15px;font-weight:700;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pc-meta,.pc-club{font-size:11.5px;color:var(--muted);line-height:1.5}
.pc-meta i{font-style:normal;margin:0 .35em;opacity:.6}
.pcard .grade{font-size:10.5px;padding:1px 8px}
.sqbar,.tbar{gap:8px}
.postabs2 button i{font-family:var(--f-num)}
#ttabs button{font-weight:500}
#ttabs button[aria-pressed="true"]{font-weight:700}
.tpl{margin-top:8px}
.pmodal{border:0;padding:0;margin:auto;width:min(560px,calc(100vw - 24px));max-height:min(86vh,860px);border-radius:20px;background:var(--bg);color:var(--ink);overflow:auto;box-shadow:0 30px 80px -20px rgba(8,12,42,.5)}
.pmodal::backdrop{background:rgba(8,12,42,.55)}
.pm-in{display:grid}
.pm-hero{position:sticky;top:0;z-index:2;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:end;padding:18px 18px 16px;color:var(--ci);background:linear-gradient(135deg,var(--c0) 0%,var(--c1) 45%,var(--c2) 100%)}
.pm-no{font-family:var(--f-num);font-weight:600;font-size:46px;letter-spacing:-.05em;line-height:.9}
.pm-en{font-family:var(--f-num);font-weight:600;font-size:13px;opacity:.9;letter-spacing:-.01em}
.pm-hero h2{margin:0;font-size:20px;line-height:1.35}
.pm-club{font-size:12px;opacity:.85}
.pm-x{align-self:start;border:0;background:rgba(255,255,255,.22);color:inherit;width:36px;height:36px;border-radius:50%;font-size:20px;line-height:1}
.pm-body{display:grid;gap:12px;padding:16px 18px 20px}
.pm-body .chips a{text-decoration:none}
.pm-act{display:flex;flex-wrap:wrap;gap:8px}
.pm-act .btn{text-decoration:none}

/* ---- 公開サイト用の追加（固定ページ・フッターの規約リンク） ---- */
.legal-links{display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:center;padding:18px 16px 28px;font-size:12.5px;color:var(--muted)}
.legal-links a{color:var(--muted);text-decoration:underline;text-underline-offset:3px}
.legal-links span{width:100%;text-align:center}
.doc{max-width:720px;margin:8px auto 40px;background:var(--panel);border:1px solid var(--line);border-radius:var(--rad);padding:24px 20px;line-height:1.9;letter-spacing:.03em}
.doc h1{font-size:24px;margin:0 0 6px;line-height:1.5}
.doc h2{font-size:17px;margin:26px 0 6px;line-height:1.6}
.doc p,.doc li{font-size:15px}
.doc ul{padding-left:1.3em}
.doc .date{font-size:13px;color:var(--muted)}
.doc a{color:var(--keytext)}
.doc .btn-link{display:inline-block;margin-top:10px;padding:10px 18px;border-radius:var(--rad-s);background:var(--key);color:var(--key-ink);font-weight:700;text-decoration:none}
@media (min-width:700px){.doc{padding:36px 40px}}
