/* 漢字りゅう：熟語の一覧ページ（tools/publish/gen_pages.py が作るページ用） */
:root{--sumi:#1b1714;--shu:#c8372d;--shu-d:#8f2414;--ai:#1e3557;--washi:#f7f0e1;--washi-d:#e2d4b8;--muted:#6b6257;--card:#fffaf0}
*{box-sizing:border-box}
html{-webkit-text-size-adjust:100%}
body{margin:0;background:var(--washi);color:var(--sumi);font-family:"Hiragino Kaku Gothic ProN","Hiragino Sans","Noto Sans JP","Yu Gothic UI","Yu Gothic",Meiryo,sans-serif;line-height:1.8}
.wrap{max-width:820px;margin:0 auto;padding:18px 16px 48px}
a{color:var(--ai);text-underline-offset:3px}
.crumbs{font-size:12px;color:var(--muted);margin-bottom:10px;overflow-wrap:anywhere}
.crumbs a{color:var(--muted)}
h1{font-size:clamp(21px,5vw,28px);line-height:1.4;margin:0 0 12px;font-family:"Klee One","Yu Mincho","Hiragino Mincho ProN",serif}
h1 small{display:block;font-size:.62em;color:var(--muted);font-family:inherit}
h2{font-size:18px;margin:28px 0 10px;padding:4px 0 4px 10px;border-left:5px solid var(--shu);scroll-margin-top:12px}
.lead{margin:0 0 10px;font-size:15px}
.play{margin:16px 0}
.btn{display:inline-block;background:var(--shu);color:#fff;font-weight:800;text-decoration:none;padding:11px 20px;border-radius:12px;box-shadow:0 4px 0 var(--shu-d)}
.btn:active{transform:translateY(2px);box-shadow:0 2px 0 var(--shu-d)}
.courses,.gyo{display:flex;flex-wrap:wrap;gap:6px;margin:12px 0}
.courses a,.gyo a{border:1.5px solid var(--washi-d);background:#fff;border-radius:999px;padding:3px 12px;font-size:13px;text-decoration:none;font-weight:700}
.courses a[aria-current]{background:var(--ai);border-color:var(--ai);color:#fff}
.words{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.words li{display:grid;grid-template-columns:8.5em 1fr;gap:4px 12px;background:var(--card);border:1px solid var(--washi-d);border-radius:12px;padding:10px 12px}
.words .w{font-family:"Klee One","Yu Mincho","Hiragino Mincho ProN",serif;font-size:22px;font-weight:600;line-height:1.5}
.words .w rt{font-size:10px;font-family:"Hiragino Kaku Gothic ProN","Noto Sans JP",sans-serif;font-weight:400;color:var(--muted)}
.words .star{color:var(--shu);font-size:13px;margin-left:4px;vertical-align:top}
.words p{margin:0}
.words .imi{font-size:14.5px}
.words .bun{font-size:13.5px;color:#3f372f}
.words .bun b{color:var(--shu-d)}
.words .ng{font-size:12.5px;color:var(--muted)}
.words rt{font-size:.55em}
@media (max-width:520px){.words li{grid-template-columns:1fr}.words .w{font-size:24px}}
.cards{list-style:none;padding:0;margin:14px 0;display:grid;gap:10px}
.cards li{background:var(--card);border:1px solid var(--washi-d);border-radius:12px;padding:12px 14px}
.cards li>a{display:flex;align-items:baseline;gap:10px;text-decoration:none;font-size:18px}
.cards .cnt{font-size:13px;color:var(--muted)}
.cards p{margin:4px 0 0;font-size:14px}
.cards .ex{font-size:13px;color:var(--muted)}
.kr-foot{margin-top:40px;border-top:1px solid var(--washi-d);padding-top:16px;font-size:13px}
.kr-foot-ttl{font-weight:800;margin:0 0 6px}
.kr-tools{display:flex;flex-wrap:wrap;gap:4px 14px;margin-bottom:10px}
.kr-foot p{margin:6px 0}
.kr-fb{display:inline-block;border:2px solid var(--ai);border-radius:999px;padding:4px 14px;text-decoration:none;font-weight:700}
.kr-note{font-size:11.5px;color:var(--muted)}
