/* 승인된 시안 ja-read.html 의 CSS 그대로 */
:root{--bg:#fff;--ink:#26282b;--body:#2f3135;--sub:#6d7076;--line:#e8e8e4;--soft:#f6f6f3;--acc:#2f5d9a;--fs:18px}
[data-theme=dark]{--bg:#16171a;--ink:#e6e6e3;--body:#d4d4d0;--sub:#8e9096;--line:#2a2b30;--soft:#202125;--acc:#8fb4e6}
[data-theme=kinari]{--bg:#f7f2e6;--ink:#3a342a;--body:#3d372c;--sub:#877d6b;--line:#e4dccb;--soft:#efe8d8;--acc:#6b5530}
*{box-sizing:border-box;margin:0;padding:0}
html{-webkit-text-size-adjust:100%}
body{font-family:'Noto Sans JP',system-ui,sans-serif;background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;transition:background .25s,color .25s}
a{color:inherit;text-decoration:none}
button{font:inherit;border:0;background:none;color:inherit;cursor:pointer}
.wrap{max-width:760px;margin:0 auto;padding:0 16px}
.hd{border-bottom:1px solid var(--line)}
.hd .in{display:flex;align-items:center;gap:10px;height:52px}
.logo{display:flex;align-items:center;gap:7px;font-family:'Zen Old Mincho',serif;font-weight:900;font-size:17px}
.logo i{font-style:normal;width:24px;height:24px;border-radius:50%;background:var(--acc);color:var(--bg);display:grid;place-items:center;font-size:13px}
.sp{flex:1}
.lang{display:flex;font-size:12px;gap:8px;color:var(--sub)}
.lang a[aria-current]{color:var(--ink);font-weight:700}
.crumb{font-size:12px;color:var(--sub);padding:14px 0 0;line-height:1.6;overflow-wrap:anywhere}
.crumb a{color:var(--acc)}
.work{font-size:14px;color:var(--acc);font-weight:700;margin-top:18px;line-height:1.6;overflow-wrap:anywhere}
.by{font-size:13px;color:var(--sub);margin-top:2px}
.no{font-size:13px;color:var(--sub);margin-top:22px}
h1{font-family:'Zen Old Mincho',serif;font-weight:900;font-size:24px;line-height:1.5;margin-top:4px}

/* toolbar */
.tools{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:20px 0 24px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--soft)}
.grp{display:flex;align-items:center;border:1px solid var(--line);border-radius:7px;overflow:hidden;background:var(--bg)}
.grp button,.grp span{height:34px;min-width:38px;padding:0 10px;font-size:13px;display:grid;place-items:center;white-space:nowrap}
.grp button+button,.grp span+button,.grp button+span{border-left:1px solid var(--line)}
.grp button.on{background:var(--ink);color:var(--bg);font-weight:700}
.grp span{color:var(--sub);min-width:44px}
.tools .lbl{font-size:12px;color:var(--sub);margin-right:-2px}

/* body */
.bodywrap{position:relative}
#episode-body{font-family:'Noto Serif JP',serif;font-size:var(--fs);line-height:2;color:var(--body);-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;line-break:strict;overflow-wrap:anywhere;letter-spacing:.02em}
#episode-body p{margin:0;text-indent:1em}
#episode-body p.q{text-indent:0}
#episode-body p.br{height:1em}
#episode-body p.c{text-indent:0;text-align:center;color:var(--sub)}
#episode-body rt{font-size:.5em;letter-spacing:0;color:var(--sub)}
.tate #episode-body{width:100%;max-width:100%;writing-mode:vertical-rl;-webkit-writing-mode:vertical-rl;height:min(72vh,640px);overflow-x:auto;overflow-y:hidden;line-height:1.95;padding:4px 2px 14px;text-orientation:mixed}
.tate #episode-body p.br{height:auto;width:1em}
.tate #episode-body p.c{text-align:start;padding-top:3em}
.tate .hint{display:block}
.hint{display:none;font-size:12px;color:var(--sub);text-align:center;margin-top:8px}

.after{margin:44px 0 20px;padding:16px 18px;border-left:3px solid var(--acc);background:var(--soft);font-size:14px;line-height:1.85;color:var(--body)}
.after b{display:block;font-size:12px;color:var(--sub);font-weight:500;margin-bottom:4px}
.pager{display:grid;grid-template-columns:1fr auto 1fr;gap:8px;margin:26px 0}
.pager a{display:flex;align-items:center;justify-content:center;gap:4px;height:48px;border:1px solid var(--line);border-radius:8px;font-size:14px;padding:0 10px;white-space:nowrap}
.pager a.toc{padding:0 16px;color:var(--sub)}
.pager a.next{background:var(--acc);border-color:var(--acc);color:var(--bg);font-weight:700}
.eval{border:1px solid var(--line);border-radius:10px;padding:18px;margin-bottom:26px;text-align:center}
.eval p{font-size:13px;color:var(--sub);margin-bottom:10px}
.stars{display:flex;justify-content:center;gap:6px;font-size:26px;color:#d7d7d2}
.stars button{color:inherit;line-height:1}
.stars button.on{color:#e0a526}
.eval .btns{display:flex;gap:8px;justify-content:center;margin-top:14px;flex-wrap:wrap}
.eval .btns a{font-size:13px;border:1px solid var(--line);border-radius:99px;padding:7px 14px}
footer{border-top:1px solid var(--line);padding:22px 0 30px;font-size:12px;color:var(--sub);text-align:center}
@media (min-width:720px){h1{font-size:28px}.tools{padding:12px 14px}}
