:root{--bg:#fff;--surface:#f6f6f3;--fg:#222;--muted:#6b6b6b;--rule:#e2e2de;--accent:#b0402a;--serif:"Noto Serif JP", "Noto Serif CJK JP", "Hiragino Mincho ProN", "Yu Mincho", "YuMincho", serif;--gutter:clamp(16px, 5vw, 32px);--text-size:17px;color-scheme:light}:root[data-theme=paper]{--bg:#f5f0e6;--surface:#fbf8f1;--fg:#2b2622;--muted:#7b7165;--rule:#ddd2bf;--accent:#a6402a}:root[data-theme=dark]{--bg:#1a1917;--surface:#23221f;--fg:#e4ddd0;--muted:#9b9285;--rule:#38352f;--accent:#de7a60;color-scheme:dark}@media (prefers-color-scheme:dark){:root:not([data-theme]){--bg:#1a1917;--surface:#23221f;--fg:#e4ddd0;--muted:#9b9285;--rule:#38352f;--accent:#de7a60;color-scheme:dark}}:root[data-size=small]{--text-size:15px}:root[data-size=large]{--text-size:20px}@media (width>=768px){:root{--text-size:18px}:root[data-size=small]{--text-size:16px}:root[data-size=large]{--text-size:22px}}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);min-height:100svh;color:var(--fg);font-family:var(--serif);flex-direction:column;margin:0;font-size:16px;line-height:1.8;display:flex}main{width:100%;max-width:44rem;padding:0 var(--gutter) 4rem;flex:1;margin:0 auto}a{color:inherit}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}[hidden]{display:none!important}.site-header{width:100%;max-width:44rem;padding:1.25rem var(--gutter) 0;margin:0 auto}.site-name{letter-spacing:.12em;color:var(--muted);font-size:.9rem;text-decoration:none}.site-footer{padding:2rem var(--gutter) 2.5rem;letter-spacing:.06em;color:var(--muted);flex-direction:column;align-items:center;gap:.4rem;font-size:.8rem;display:flex}.site-footer a{text-underline-offset:.3em;padding:.25rem 0}.site-footer a:hover{color:var(--fg)}.page-head{text-align:center;padding:3rem 0 1rem}.page-title{letter-spacing:.12em;font-feature-settings:"palt";margin:0;font-size:clamp(1.5rem,5.5vw,1.9rem);font-weight:600}.prose{line-height:1.95}.prose h2{border-bottom:1px solid var(--rule);letter-spacing:.3em;color:var(--muted);margin:2.5rem 0 .75rem;padding-bottom:.5rem;font-size:.8rem;font-weight:400}.prose p{margin:0 0 .9rem}.prose ul{margin:0 0 .9rem;padding-left:1.25rem}.prose li{margin:.2rem 0}.prose a{color:var(--accent);text-underline-offset:.25em;overflow-wrap:anywhere}.prose strong{letter-spacing:.08em;font-size:1.15rem;font-weight:600}.page-back{text-align:center;margin-top:3rem;font-size:.85rem}.page-back a{color:var(--muted)}.page-kicker{letter-spacing:.1em;color:var(--muted);margin-bottom:.5rem;font-size:.85rem;text-decoration:none;display:inline-block}.page-kicker:hover{color:var(--fg)}.ref-filter{background:var(--surface);color:var(--muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;margin:1rem 0 0;padding:.75rem 1rem;font-size:.85rem;display:flex}.ref-show-all{border:1px solid var(--rule);color:var(--fg);font:inherit;cursor:pointer;background:0 0;border-radius:2px;padding:.3rem .8rem;font-size:.82rem}.ref-show-all:hover{border-color:var(--fg)}.ref-intro{color:var(--muted);margin:1.5rem 0 0;line-height:1.95}.ref-intro p{margin:0}.ref-group{margin-top:2.5rem}.ref-list{margin:0}.ref-item{border-bottom:1px solid var(--rule);padding:1.25rem 0}.ref-group>.section-label+.ref-list .ref-item:first-child{padding-top:1.1rem}.ref-item dt{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem 1rem;display:flex}.ref-name{letter-spacing:.08em;font-size:1.2rem;font-weight:600;line-height:1.8}.ref-from{letter-spacing:.08em;color:var(--muted);font-size:.75rem}.ref-body{margin:.4rem 0 0;line-height:1.95}.ref-body p{margin:0}.section-label{border-bottom:1px solid var(--rule);letter-spacing:.3em;color:var(--muted);margin:0;padding-bottom:.6rem;font-size:.8rem;font-weight:400}.empty{color:var(--muted);padding:1.5rem 0}.meta{letter-spacing:.05em;color:var(--muted);font-size:.82rem}.status{letter-spacing:.12em;white-space:nowrap;color:var(--accent);border:1px solid;border-radius:2px;padding:.05rem .55rem;font-size:.72rem;display:inline-block}.status.done{color:var(--muted)}.intro{text-align:center;padding:4.5rem 0 3.5rem}.site-title{letter-spacing:.14em;font-feature-settings:"palt";margin:0;font-size:clamp(1.9rem,7.5vw,2.6rem);font-weight:600;line-height:1.4}.site-title:after{content:"";background:var(--accent);width:2.25rem;height:2px;margin:1.4rem auto 0;display:block}.intro .lead{color:var(--muted);margin:1.4rem 0 0}.intro .by{letter-spacing:.1em;color:var(--muted);margin:.2rem 0 0;font-size:.9rem}.works{margin:0;padding:0;list-style:none}.works li{border-bottom:1px solid var(--rule)}.work-card{grid-template-columns:1fr auto;gap:.4rem 1rem;padding:1.5rem 0;text-decoration:none;display:grid}.work-title{letter-spacing:.06em;font-size:1.3rem;font-weight:600;line-height:1.5}.work-card .status{align-self:start;margin-top:.3rem}.work-desc,.work-card .meta{grid-column:1/-1}.work-card:hover .work-title{color:var(--accent)}.work-group+.work-group{margin-top:3.5rem}.work-card.compact{padding:1.1rem 0}.work-card.compact .work-title{font-size:1.1rem}.work-order{letter-spacing:.2em;color:var(--accent);grid-column:1/-1;margin-bottom:-.2rem;font-size:.78rem}.series-head{border-bottom:1px solid var(--fg);grid-template-columns:1fr auto;align-items:end;gap:1rem;padding-bottom:.9rem;display:grid}.series-text{gap:.15rem;min-width:0;display:grid}.series-kicker{letter-spacing:.3em;color:var(--accent);font-size:.75rem;display:block}.series-name{letter-spacing:.12em;font-feature-settings:"palt";margin:0;font-size:1.6rem;font-weight:600;line-height:1.45}.series-head .meta{margin:0;display:block}.series-note{padding-top:.9rem;line-height:1.95}.series-note>summary{cursor:pointer;letter-spacing:.1em;color:var(--muted);font-size:.9rem}.series-note>summary:hover{color:var(--fg)}.series-note[open]>summary{margin-bottom:.6rem}.series-note p{margin:0}.series-side{align-items:center;gap:.75rem;padding-bottom:.2rem;display:flex}.fold>summary{cursor:pointer;padding-top:1.4rem;list-style:none}.fold>summary::-webkit-details-marker{display:none}.fold>summary:hover .series-name{color:var(--accent)}.work-group.fold+.work-group.fold{margin-top:0}.fold:not([open])>summary{border-bottom-color:var(--rule)}.fold[open]{margin-bottom:1.5rem}.fold .series-name{font-size:1.4rem}.fold-icon{color:var(--muted);display:flex}.fold-icon svg{transition:transform .2s}.fold[open] .fold-icon svg{transform:rotate(180deg)}@media (prefers-reduced-motion:reduce){.fold-icon svg{transition:none}}.work-series{letter-spacing:.1em;color:var(--muted);flex-wrap:wrap;justify-content:center;gap:.2rem .9em;margin:0 0 .9rem;font-size:.85rem;display:flex}.work-series span:first-child{color:var(--fg)}.series-more{margin-top:3.5rem}.series-list{margin:0;padding:0;list-style:none}.series-list li{border-bottom:1px solid var(--rule)}.series-row{grid-template-columns:4.5em 1fr auto;align-items:baseline;gap:.75rem;padding:1rem 0;text-decoration:none;display:grid}.series-num{letter-spacing:.1em;color:var(--muted);font-size:.8rem}.series-title{letter-spacing:.05em;font-weight:600}a.series-row:hover .series-title,.series-row.current .series-num{color:var(--accent)}.series-here{letter-spacing:.1em;color:var(--accent);font-size:.75rem}.work-head{text-align:center;padding:3rem 0 1.25rem}.work-title-lg{letter-spacing:.1em;font-feature-settings:"palt";margin:.9rem 0 .4rem;font-size:clamp(1.7rem,6.5vw,2.3rem);font-weight:600;line-height:1.45}.work-head .meta{margin:0}.synopsis{background:var(--surface);border-left:2px solid var(--accent);margin:1.25rem 0 2rem;padding:1.25rem;line-height:1.95}.synopsis p{margin:0}.actions{flex-direction:column;gap:.75rem;margin:0 0 3rem;display:flex}.btn{border:1px solid var(--fg);letter-spacing:.12em;justify-content:center;align-items:center;min-height:3rem;padding:.6rem 1rem;font-size:.95rem;text-decoration:none;display:flex}.btn.primary{background:var(--fg);color:var(--bg)}.btn:not(.primary):hover{background:var(--surface)}.resume-label{letter-spacing:.04em}@media (width>=600px){.actions{flex-flow:wrap;justify-content:center}.btn{min-width:12rem}}.toc-head{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:baseline;gap:1rem;padding-bottom:.6rem;display:flex}.toc-head .section-label{border:0;padding:0}.toc-sides{flex-wrap:wrap;justify-content:flex-end;gap:.25rem 1rem;display:flex}.toc-side{letter-spacing:.08em;color:var(--accent);font-size:.85rem;text-decoration:none}.toc-side:hover{text-underline-offset:.3em;text-decoration:underline}.toc{margin:0;padding:0;list-style:none}.toc li{border-bottom:1px solid var(--rule)}.toc a{grid-template-columns:2rem 1fr auto;align-items:baseline;gap:.75rem;padding:1rem 0;text-decoration:none;display:grid}.toc-num{color:var(--muted);font-variant-numeric:tabular-nums;font-size:.85rem}.toc time{color:var(--muted);font-size:.78rem}.toc a:hover .toc-title{color:var(--accent)}.toc-title.untitled{grid-column:1/3}.toc-part{letter-spacing:.12em;padding:1.75rem 0 .5rem;font-weight:600}.reader-bar{border-bottom:1px solid var(--rule);justify-content:space-between;align-items:center;gap:1rem;padding:.9rem 0;display:flex}.back{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.85rem;text-decoration:none;overflow:hidden}.back:before{content:"‹ "}.reader-tools{flex:none;gap:.5rem;display:flex}@media (width<=440px){.wide-only{display:none}}.tool-btn{border:1px solid var(--rule);color:var(--fg);font:inherit;letter-spacing:.1em;white-space:nowrap;cursor:pointer;background:0 0;border-radius:2px;padding:.35rem .95rem;font-size:.85rem;text-decoration:none}.tool-btn:hover,.display-btn[aria-expanded=true]{border-color:var(--fg)}.display-panel{border-bottom:1px solid var(--rule);gap:.7rem;padding:1rem 0;display:grid}.ctl{grid-template-columns:3.5em 1fr;align-items:center;gap:.75rem;display:grid}.ctl-label{letter-spacing:.1em;color:var(--muted);font-size:.8rem}.seg{border:1px solid var(--rule);border-radius:2px;display:flex;overflow:hidden}.seg button{border:0;border-left:1px solid var(--rule);min-height:2.6rem;color:var(--fg);font:inherit;cursor:pointer;background:0 0;flex:1;padding:.4rem .25rem;font-size:.85rem}.seg button:first-child{border-left:0}.seg button[aria-pressed=true]{background:var(--fg);color:var(--bg)}:root{--leading:2;--measure:36em;--side:0em;--v-max:44rem;--v-off:12rem}:root[data-leading=tight]{--leading:1.75}:root[data-leading=loose]{--leading:2.35}:root[data-margin=small]{--measure:44em;--v-max:56rem;--v-off:10rem}:root[data-margin=large]{--measure:30em;--side:1em;--v-max:34rem;--v-off:16rem}.chapter{max-width:var(--measure);padding:2.75rem var(--side) 1rem;font-size:var(--text-size);margin:0 auto}.chapter:focus{outline:none}.chapter:focus-visible{outline:2px solid var(--accent);outline-offset:4px}.chapter-head{margin-block-end:2.5em}.chapter-part{letter-spacing:.15em;color:var(--muted);margin:0 0 .4em;font-size:.8em}.chapter-num{letter-spacing:.2em;color:var(--accent);margin:0;font-size:.8em}.chapter-title{letter-spacing:.08em;font-feature-settings:"palt";margin:.3em 0 0;font-size:1.45em;font-weight:600;line-height:1.5}.text{line-height:var(--leading);line-break:strict;overflow-wrap:anywhere;hanging-punctuation:allow-end}.text p{margin:0}.text .scene{text-align:center;letter-spacing:.4em;color:var(--muted);margin-block:1em}ruby rt{font-size:.5em;line-height:1}.bouten{font-style:normal;-webkit-text-emphasis:sesame;text-emphasis:sesame}.v-hint{display:none}[data-mode=vertical] main.reader,[data-mode=vertical] .site-header.reader{max-width:76rem}[data-mode=vertical] .chapter{writing-mode:vertical-rl;width:100%;max-width:none;height:clamp(20rem, calc(100svh - var(--v-off)), var(--v-max));overscroll-behavior-x:contain;scrollbar-width:thin;scrollbar-color:var(--rule) transparent;padding:1.75rem 0 1.25rem 1.5rem;overflow:auto hidden}[data-mode=vertical] .chapter-head{margin-block-end:2em}[data-mode=vertical] .chapter .blank.single,[data-mode=vertical] .chapter .blank.extra{display:none}[data-mode=vertical] .tcy{-webkit-text-combine:horizontal;text-combine-upright:all}[data-mode=vertical]:not([data-flip=scroll]) .chapter{touch-action:pan-y;overflow-x:hidden}[data-mode=vertical]:not([data-flip=scroll]) .v-hint{display:none!important}.pagebar{display:none}[data-mode=vertical] .pagebar{grid-template-columns:1fr auto 1fr;align-items:center;gap:.5rem 1rem;margin-top:.75rem;display:grid}.pg-btn{border:1px solid var(--rule);color:var(--fg);font:inherit;letter-spacing:.1em;cursor:pointer;background:0 0;border-radius:2px;padding:.4rem 1rem;font-size:.85rem}.pg-btn:hover:not(:disabled){border-color:var(--fg)}.pg-btn:disabled{opacity:.35;cursor:default}.pg-next{justify-self:start}.pg-prev{justify-self:end}.pg-count{letter-spacing:.08em;color:var(--muted);font-variant-numeric:tabular-nums;font-size:.8rem}.pg-hint{text-align:center;letter-spacing:.05em;color:var(--muted);grid-column:1/-1;margin:0;font-size:.75rem}[data-mode=vertical] .v-hint{letter-spacing:.1em;text-align:right;color:var(--muted);margin:.75rem 0 0;font-size:.75rem;display:block}.feedback{flex-direction:column;align-items:center;gap:.35rem;margin:2.75rem 0 0;display:flex}.feedback a{border:1px solid var(--rule);letter-spacing:.15em;padding:.55rem 1.5rem;font-size:.9rem;text-decoration:none}.feedback a:hover{border-color:var(--fg)}.feedback small{letter-spacing:.08em;color:var(--muted);font-size:.75rem}.pager{gap:.5rem;max-width:36rem;margin:3rem auto 0;display:grid}.next{border:1px solid var(--fg);padding:1rem 1.25rem;text-decoration:none;display:block}.next small{letter-spacing:.15em;color:var(--muted);font-size:.75rem;display:block}.next span{margin-top:.15rem;font-weight:600;display:block}.next span:after{content:" ›";color:var(--accent)}.next:hover{background:var(--surface)}.end-note{border-top:1px solid var(--rule);border-bottom:1px solid var(--rule);text-align:center;letter-spacing:.2em;color:var(--muted);margin:0;padding:1rem 0}.pager-sub{justify-content:space-between;font-size:.85rem;display:flex}.pager-sub a{color:var(--muted);padding:.6rem 0;text-decoration:none}.pager-sub a:hover{color:var(--fg)}
