:root{--ink:#191F28;--text:#4E5968;--muted:#667085;--line:#DDE2E7;--surface:#F2F4F6;--soft:#F8F9FA;--accent:#087F73;--accent-soft:#E8F5F1}
*{box-sizing:border-box}body{margin:0;background:#fff;color:var(--ink);font:400 16px/1.7 'Pretendard',system-ui,-apple-system,'Segoe UI',sans-serif;-webkit-font-smoothing:antialiased;word-break:keep-all}
:lang(ja){font-family:'Noto Sans JP','Hiragino Sans','Yu Gothic',sans-serif;word-break:normal}
a{color:inherit;text-decoration:none}h1,h2,p,ol,ul,dl,dd{margin:0}ol,ul{padding:0;list-style:none}
.wrap{width:min(860px,calc(100% - 40px));margin-inline:auto}
.top{position:sticky;top:0;background:#fff;border-bottom:1px solid var(--line);z-index:5}.top-in{display:flex;align-items:center;justify-content:space-between;min-height:64px;gap:16px}
.brand{display:inline-flex;align-items:center;gap:10px;font-weight:800;font-size:18px;letter-spacing:-.03em}.brand img{border-radius:10px}
.top nav{display:flex;align-items:center;gap:20px;font-weight:600;font-size:15px}
.btn{display:inline-flex;align-items:center;justify-content:center;min-height:48px;padding:10px 22px;background:var(--accent);color:#fff;font-weight:700;border-radius:14px}.btn.small{min-height:40px;padding:6px 14px;font-size:14px}
.crumbs{margin:22px 0 10px;font-size:13px;color:var(--muted)}.crumbs a{text-decoration:underline;text-underline-offset:3px}.crumbs span{margin:0 4px}.crumbs b{font-weight:600;color:var(--text)}
h1{font-size:clamp(28px,5vw,40px);font-weight:800;letter-spacing:-.04em;line-height:1.25}h2{font-size:20px;font-weight:800;letter-spacing:-.02em;margin-bottom:12px}
.lead{margin-top:12px;color:var(--text);font-size:17px}section{margin-top:36px}
.lv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;margin-top:28px}
.lv-card{display:flex;flex-direction:column;gap:4px;padding:22px;background:var(--surface);border-radius:20px}.lv-card strong{font-size:22px;letter-spacing:-.03em}.lv-card span{color:var(--accent);font-weight:700}.lv-card em{font-style:normal;color:var(--text);font-size:14px;margin-top:6px}
.levels{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 6px}.levels a{padding:8px 14px;border-radius:999px;background:var(--surface);font-weight:700;font-size:14px}.levels a.on{background:var(--ink);color:#fff}.levels small{font-weight:500;opacity:.7}
.list{width:100%;border-collapse:collapse;margin-top:14px}.list th{text-align:left;font-size:13px;color:var(--muted);font-weight:600;padding:10px 8px;border-bottom:1px solid var(--line)}
.list td{padding:12px 8px;border-bottom:1px solid var(--line);vertical-align:top}.list td:first-child{font-size:19px;font-weight:700;white-space:nowrap}.list td:first-child a{color:var(--accent)}.list td:nth-child(2){color:var(--text);white-space:nowrap}
.pager{display:flex;flex-wrap:wrap;gap:6px;margin-top:22px}.pager a,.pager b{min-width:40px;height:40px;display:grid;place-items:center;border-radius:12px;background:var(--surface);font-weight:600}.pager b{background:var(--ink);color:#fff}
.word-head{margin-top:6px;padding:28px 24px;background:var(--soft);border-radius:24px}.badge{display:inline-block;padding:4px 12px;border-radius:999px;background:var(--accent-soft);color:var(--accent);font-weight:700;font-size:13px}
.word-head h1{margin-top:12px;display:flex;flex-wrap:wrap;align-items:baseline;gap:8px 16px}.hw{font-size:clamp(44px,11vw,72px);font-weight:700;letter-spacing:0;line-height:1.15}.yomi{font-size:22px;font-weight:500;color:var(--accent);letter-spacing:0}
.mean{margin-top:10px;font-size:22px;font-weight:700;letter-spacing:-.02em}
.senses{counter-reset:s}.senses li{counter-increment:s;padding:12px 0 12px 34px;border-bottom:1px solid var(--line);position:relative}.senses li:before{content:counter(s);position:absolute;left:0;top:13px;width:24px;height:24px;border-radius:50%;background:var(--surface);font-size:13px;font-weight:700;display:grid;place-items:center}
.senses strong{font-size:17px}.pos{display:inline-block;margin-left:6px;padding:1px 8px;border-radius:999px;background:var(--surface);color:var(--text);font-size:12px;font-weight:600;vertical-align:2px}.detail{margin-top:4px;color:var(--text);font-size:15px}
.examples li{padding:14px 0;border-bottom:1px solid var(--line)}.ex-ja{font-size:19px;font-weight:500;line-height:2.1}.ex-ja rt{font-size:11px;color:var(--muted);font-weight:400}.ex-ko{color:var(--text)}
.kanji{display:flex;gap:18px;padding:18px;background:var(--soft);border-radius:20px;margin-bottom:12px}.kanji-ch{flex:none;width:84px;height:84px;display:grid;place-items:center;background:#fff;border-radius:16px;font-size:52px;font-weight:700;line-height:1}
.kanji dl{display:grid;grid-template-columns:auto 1fr;gap:4px 14px;font-size:15px}.kanji dt{color:var(--muted);white-space:nowrap}.rel{margin-top:10px;font-size:14px;color:var(--text)}.rel a{color:var(--accent);font-weight:700;font-size:16px}
.prevnext{display:flex;justify-content:space-between;gap:10px;margin-top:36px;font-weight:600}.prevnext a{padding:10px 16px;background:var(--surface);border-radius:12px}
.cta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:18px;margin:48px 0;padding:26px 24px;background:var(--accent-soft);border-radius:24px}.cta strong{font-size:19px;letter-spacing:-.02em}.cta p{color:var(--text);font-size:15px;margin-top:4px}.cta-btns{display:flex;gap:10px;flex-wrap:wrap}
.foot{border-top:1px solid var(--line);padding:28px 0 44px;color:var(--muted);font-size:13px}.foot p+p{margin-top:12px}.foot a{text-decoration:underline;text-underline-offset:3px}.foot p+p a{margin-right:12px}
@media(max-width:560px){.top nav a:not(.btn){display:none}.kanji{flex-direction:column}.list td:nth-child(2){display:none}.list th:nth-child(2){display:none}}
