/* Fiscast 静的ページ（/t/ /m/ /p/ ほか）の共通スタイル。トークンは index.html と同じ。 */
:root{
  --paper:#F5F1E8; --paper2:#FBF9F4; --ink:#1C1B18; --sub:#4A463E; --mute:#8A8478; --rule:#CFC7B6; --rule2:#E4DDCE;
  --indigo:#27466B; --ind2:#9FB0C4; --verm:#B3402A; --focus:#B3402A;
  --f-disp:"Shippori Mincho B1","Hiragino Mincho ProN","Yu Mincho",serif;
  --f-body:"BIZ UDPGothic","Hiragino Sans","Yu Gothic",sans-serif;
  --f-fig:"Newsreader",Georgia,serif;
  --f-type:"Courier Prime","Courier New",monospace;
}
@media (prefers-color-scheme: dark){:root{
  --paper:#15140F; --paper2:#1D1B16; --ink:#ECE6D8; --sub:#B5AE9F; --mute:#7E786C; --rule:#3A372F; --rule2:#2A2822;
  --indigo:#2F5585; --ind2:#5B7699; --verm:#E3957F; --focus:#E3957F; color-scheme:dark}}
*{box-sizing:border-box}
body{margin:0;background:var(--paper);color:var(--ink);font-family:var(--f-body);font-size:15px;line-height:1.8}
a{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-color:var(--rule)}
a:hover{color:var(--verm)}
a:focus-visible{outline:2px solid var(--focus);outline-offset:2px}
.wrap{max-width:1080px;margin:0 auto;padding-inline:clamp(16px,3vw,32px)}
.bar{border-bottom:1px solid var(--ink);background:var(--paper)}
.bar .wrap{display:flex;align-items:center;gap:22px;min-height:54px;flex-wrap:wrap}
.bar .word{font-family:var(--f-fig);font-weight:600;letter-spacing:-.03em;font-size:28px;line-height:1;text-decoration:none}
.bar .word .c{color:var(--verm)}
.bar nav{display:flex;gap:18px;font-weight:700;font-size:14px;flex-wrap:wrap}
.bar nav a{text-decoration:none}
main{padding-block:24px 40px}
.crumb{font-size:13px;color:var(--sub);display:flex;gap:6px;flex-wrap:wrap;margin:0 0 10px}
.crumb span+span::before{content:"›";margin-right:6px}
h1{font-family:var(--f-disp);font-weight:800;font-size:clamp(24px,3.4vw,34px);line-height:1.35;margin:4px 0 10px;text-wrap:balance}
h2{font-family:var(--f-disp);font-weight:800;font-size:clamp(19px,2.2vw,23px);margin:34px 0 10px;padding-top:12px;border-top:2px solid var(--ink)}
h3{font-family:var(--f-disp);font-weight:800;font-size:17px;margin:20px 0 6px}
p{margin:0 0 10px;max-width:72ch}
.lead{font-size:16px;max-width:72ch}
.sub{color:var(--sub)}.mute{color:var(--mute)}.small{font-size:12.5px;line-height:1.7}
.verm{color:var(--verm)}
.fig{font-family:var(--f-fig);font-variant-numeric:tabular-nums lining-nums}
.type{font-family:var(--f-type)}
.meta{display:flex;gap:6px 16px;flex-wrap:wrap;font-size:13px;color:var(--sub);margin:0 0 14px}
.meta b{color:var(--ink)}
.badge{display:inline-block;font-size:12px;padding:0 8px;border:1px solid var(--ink);font-weight:700;margin-right:4px}
.badge.vm{border-color:var(--verm);color:var(--verm)}
.figs{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:16px;margin:16px 0}
.figs div{border-top:2px solid var(--ink);padding-top:6px}
.figs span{display:block;font-size:12.5px;color:var(--sub)}
.figs b{font-family:var(--f-fig);font-weight:400;font-size:28px;line-height:1.2}
.figs b small{font-size:.5em;font-family:var(--f-body)}
table{width:100%;border-collapse:collapse;font-size:14px;margin:6px 0 10px}
th{font-size:12px;color:var(--sub);font-weight:400;text-align:left;padding:6px 8px;border-bottom:1px solid var(--ink);border-top:2px solid var(--ink)}
td{padding:8px;border-bottom:1px solid var(--rule);vertical-align:top}
td.n,th.n{text-align:right;white-space:nowrap;font-family:var(--f-fig);font-variant-numeric:tabular-nums}
.scroll{overflow-x:auto}
.text{white-space:pre-line}
ul.plain{list-style:none;margin:0;padding:0}
ul.plain li{border-bottom:1px solid var(--rule);padding:7px 0}
.read{background:var(--rule2);padding:8px 12px;font-size:14px;margin:6px 0}
.read b{color:var(--verm);margin-right:8px}
.src{font-size:12.5px;color:var(--sub)}
.note{border:1px dashed var(--verm);color:var(--verm);padding:10px 14px;font-size:13px;margin:16px 0}
.cta{display:inline-block;border:1.5px solid var(--ink);padding:6px 14px;font-weight:700;text-decoration:none;margin:4px 0}
.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:10px}
.grid a{display:block;border:1px solid var(--rule);background:var(--paper2);padding:10px 12px;text-decoration:none}
.grid a:hover{border-color:var(--ink)}
.grid a b{display:block;font-family:var(--f-disp)}
footer{border-top:2px solid var(--ink);padding-block:16px 40px;font-size:13px;color:var(--sub)}
footer nav{display:flex;gap:16px;flex-wrap:wrap;margin:6px 0}
footer .word{font-family:var(--f-fig);font-weight:600;font-size:22px;color:var(--ink)}
footer .word .c{color:var(--verm)}
@media (max-width:640px){.figs b{font-size:23px}td,th{padding:6px}}
