.novel-page{width:min(100% - 40px,680px);margin:0 auto;padding:32px 0 72px}.novel-back{min-height:44px;color:var(--ink-soft);align-items:center;font-size:.875rem;display:inline-flex}.novel-heading{padding:26px 0 24px}.novel-heading h1{letter-spacing:-.035em;word-break:keep-all;overflow-wrap:anywhere;margin:12px 0 18px;font-size:clamp(1.6rem,5vw,2.2rem);line-height:1.45}.novel-heading p{color:var(--ink-soft);font-size:1rem;line-height:1.8}.novel-heading>p:first-child,.novel-language-note{font-size:.875rem}.episode-start{background:var(--ink);min-height:48px;color:var(--paper);border-radius:6px;align-items:center;margin-top:18px;padding:12px 22px;display:inline-flex}.episode-list{border-top:1px solid var(--line);margin:28px 0;padding:0;list-style:none}.episode-list li{border-bottom:1px solid var(--line)}.episode-list a{grid-template-columns:3rem 1fr 1rem;align-items:center;gap:12px;min-height:72px;padding:22px 0;display:grid}.episode-list strong{word-break:keep-all;overflow-wrap:anywhere;font-size:1rem;font-weight:550;line-height:1.6}.episode-list span{color:var(--ink-soft);font-size:.875rem}.episode-list a:hover strong,.novel-back:hover{text-underline-offset:4px;text-decoration:underline}.episode-controls{border-block:1px solid var(--line);align-items:center;gap:8px;padding:10px 0;font-size:.875rem;display:flex}.episode-controls>span{margin-right:auto}.episode-controls button{min-width:44px;min-height:44px}.episode-controls output{text-align:center;min-width:24px}.episode-prose{word-break:keep-all;overflow-wrap:anywhere;padding:32px 0 16px;line-height:1.95}.episode-prose p{white-space:pre-line;margin:0 0 1.25em}.episode-prose hr{border:0;border-top:1px solid var(--line);width:40px;margin:48px auto}.episode-finish{text-align:center;color:var(--ink-soft);margin:24px 0 36px;font-size:.875rem}.episode-nav{border-top:1px solid var(--line);grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;padding-top:20px;font-size:.875rem;display:grid}.episode-nav a{align-items:center;min-height:48px;padding:8px;display:flex}.episode-nav>:last-child{justify-self:end}.episode-last{color:var(--ink-soft);text-align:right;line-height:1.5}.novel-page a:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.episode-list .episode-count{margin-top:5px;font-size:.8125rem;font-weight:400;line-height:1.7;display:block}.episode-engagement{color:var(--ink-soft);margin:-8px 0 18px;font-size:.8125rem}.episode-engagement-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.episode-engagement-row button{border:1px solid var(--line);min-height:44px;color:var(--ink);border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:8px 12px;font-size:.875rem;display:inline-flex}.episode-engagement button:focus-visible{outline:2px solid var(--ink);outline-offset:4px}.episode-engagement output:not(:empty){margin-top:8px;line-height:1.6;display:block}.episode-engagement input{border:1px solid var(--line);width:100%;margin-top:8px;padding:12px;font-size:1rem}@media (max-width:420px){.novel-page{width:calc(100% - 36px);padding-top:18px}.episode-list a{grid-template-columns:2.5rem 1fr 1rem;gap:8px}.episode-nav{gap:4px}}
