:root{--bg: #0d0d0d;--bg-subtle: #141414;--text: #d4cfc4;--text-muted: #736e63;--text-faint: #4a463d;--accent: #c41e3a;--accent-glow: rgba(196, 30, 58, .15);--green: #4a7a5a;--green-glow: rgba(74, 122, 90, .12);--separator: rgba(212, 207, 196, .08);--font-accent: "Noto Serif JP", serif;--reading-width: 44em;--transition: .6s cubic-bezier(.23, 1, .32, 1)}[data-theme=light]{--bg: #f5f0e8;--bg-subtle: #ede8df;--text: #2a2520;--text-muted: #8a8279;--text-faint: #b5aea4;--separator: rgba(42, 37, 32, .1)}*{margin:0;padding:0;box-sizing:border-box}::selection{background:var(--accent);color:#fff}html{font-size:17px;-webkit-text-size-adjust:100%;scroll-behavior:smooth;text-rendering:optimizeLegibility;font-kerning:normal;font-optical-sizing:auto;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);color:var(--text);font-family:var(--font-body);transition:background var(--transition),color var(--transition);overflow-x:hidden}html:lang(ja) body{--font-body: "Zen Old Mincho", "Yu Mincho", "Hiragino Mincho ProN", serif;line-height:2;letter-spacing:.05em;font-feature-settings:"palt" 1,"kern" 1;font-variant-east-asian:jis04}html:lang(en) body{--font-body: "Cormorant Garamond", "Garamond", "Georgia", serif;line-height:1.95;letter-spacing:.012em;font-feature-settings:"kern" 1,"liga" 1,"calt" 1;font-variant-ligatures:common-ligatures contextual;font-variant-numeric:oldstyle-nums proportional-nums}.theme-toggle{position:fixed;top:calc(1.2rem + env(safe-area-inset-top,0px));right:calc(1.2rem + env(safe-area-inset-right,0px));z-index:100;width:36px;height:36px;border:1px solid var(--separator);border-radius:50%;background:var(--bg-subtle);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;transition:all var(--transition);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:.6}.theme-toggle:hover{opacity:1}.hero{position:relative;width:100%;display:flex;align-items:center;justify-content:center;background:var(--bg)}.hero:not(:has(.hero-cover)){max-height:50vh;overflow:hidden}.hero:not(:has(.hero-cover)) img{width:100%;height:auto;display:block;opacity:.9;transition:opacity var(--transition)}.hero:not(:has(.hero-cover)):after{content:"";position:absolute;bottom:0;left:0;right:0;height:40%;background:linear-gradient(to top,var(--bg),transparent);pointer-events:none}.hero-cover{max-width:min(400px,70vw);margin:calc(3rem + env(safe-area-inset-top,0px)) auto 0;opacity:0;transform:translateY(8px) scale(.985);animation:hero-cover-enter .4s cubic-bezier(.23,1,.32,1) forwards}@keyframes hero-cover-enter{to{opacity:1;transform:translateY(0) scale(1)}}@media(min-width:768px){.hero-cover{max-width:420px;margin-top:4rem}}@media(prefers-reduced-motion:reduce){.hero-cover{opacity:1;transform:none;animation:none}}.back-cover-section{max-width:min(380px,65vw);margin:2rem auto 3rem}@media(min-width:768px){.back-cover-section{max-width:400px}}.hero-placeholder{width:100%;aspect-ratio:16/9;background:linear-gradient(135deg,var(--bg) 0%,#1a1a18 40%,#0f1a14 60%,var(--bg) 100%);position:relative;overflow:hidden}.hero-placeholder:before{content:"";position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:6px;height:6px;background:var(--green);border-radius:50%;box-shadow:0 0 40px 15px var(--green-glow),0 0 80px 30px var(--green-glow);animation:pulse-green 4s ease-in-out infinite}@keyframes pulse-green{0%,to{opacity:.4;transform:translate(-50%,-50%) scale(1)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.3)}}.scroll-hint{display:flex;flex-direction:column;align-items:center;gap:.6rem;padding:2.5rem 0 1.5rem;opacity:0;animation:scroll-hint-enter .6s ease .9s forwards;transition:opacity .5s ease;cursor:pointer}.scroll-hint.hidden{opacity:0!important;pointer-events:none}.scroll-hint__label{font-size:.85rem;letter-spacing:.22em;text-transform:uppercase;color:var(--text-muted)}html:lang(ja) .scroll-hint__label{font-family:var(--font-accent);letter-spacing:.16em;text-transform:none;font-size:.9rem}html:lang(en) .scroll-hint__label{font-family:var(--font-body)}.scroll-hint__arrow{color:var(--text-muted);animation:scroll-hint-bounce 1.6s ease-in-out 1.5s infinite}@keyframes scroll-hint-enter{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}@keyframes scroll-hint-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(7px)}}html[data-reading-mode=vertical] .scroll-hint{display:none!important}.content{max-width:var(--reading-width);margin:0 auto;padding:3rem 1.5rem 6rem}html:not([data-reading-mode=vertical]) .prose,html:not([data-reading-mode=vertical]) .sep,html:not([data-reading-mode=vertical]) .ending,html:not([data-reading-mode=vertical]) .back-cover-section,html:not([data-reading-mode=vertical]) .colophon{content-visibility:auto;contain-intrinsic-size:900px}.credit{text-align:center;font-size:.8rem;color:var(--text-faint);letter-spacing:.08em;margin-bottom:3rem;line-height:1.8;font-family:var(--font-accent)}.credit a{color:var(--text-muted);text-decoration:none;border-bottom:1px solid var(--separator);transition:color .3s,border-color .3s}.credit a:hover{color:var(--text);border-color:var(--text-muted)}.title-block{text-align:center;margin-bottom:4rem;padding:2rem 0}.title-label{font-size:.75rem;letter-spacing:.3em;color:var(--text-faint);font-weight:300;margin-bottom:1.5rem}html:lang(ja) .title-label{font-family:var(--font-accent)}html:lang(en) .title-label{font-family:var(--font-body);text-transform:uppercase}.title-main{font-weight:700;font-size:clamp(1.8rem,5vw,2.6rem);color:var(--text);text-wrap:balance}html:lang(ja) .title-main{font-family:"Shippori Antique B1",var(--font-accent);line-height:1.6;letter-spacing:.06em}html:lang(en) .title-main{font-family:var(--font-body);line-height:1.35;letter-spacing:.015em;font-style:italic}.title-jp{display:block;margin-top:1rem;font-family:var(--font-accent);font-size:.9rem;color:var(--text-faint);letter-spacing:.04em}.title-yoshi{color:var(--accent)}.prose p{font-size:clamp(1.05rem,2.8vw,1.22rem);margin-bottom:.6em;widows:2;orphans:2}.prose p:last-child{margin-bottom:0}html:lang(ja) .prose p{text-align:justify;text-justify:inter-character;line-break:strict;word-break:normal;overflow-wrap:anywhere;hanging-punctuation:first allow-end last;text-spacing-trim:space-first allow-end;text-autospace:normal;text-wrap:pretty}html:lang(en) .prose p{margin-bottom:.9em;hyphens:auto;hyphenate-limit-chars:6 3 2;text-wrap:pretty}.sep{display:flex;align-items:center;justify-content:center;padding:3rem 0;gap:1rem}.sep:before,.sep:after{content:"";flex:1;height:1px;background:linear-gradient(to right,transparent,var(--separator),transparent)}.sep-dot{width:4px;height:4px;background:var(--text-faint);border-radius:50%;opacity:.5}.prose .dialogue{display:block;padding-left:1em;margin:.8em 0}.prose .emphasis-line{color:var(--text);font-weight:600}.prose .redacted{background:var(--text);color:var(--text);padding:0 .5em;border-radius:2px;font-size:.9em;letter-spacing:.2em;user-select:none}[data-theme=light] .prose .redacted{background:#2a2520;color:#2a2520}.ending{text-align:center;padding:3rem 0;font-size:.95rem;color:var(--text-faint);letter-spacing:.2em}html:lang(ja) .ending{font-family:var(--font-accent)}html:lang(en) .ending{text-transform:uppercase}.colophon{max-width:var(--reading-width);margin:0 auto;padding:3rem 1.5rem 4rem;border-top:1px solid var(--separator);text-align:center;font-size:.8rem;color:var(--text-faint);line-height:2}html:lang(ja) .colophon{font-family:var(--font-accent)}.colophon p{margin-bottom:.5em}.colophon a{color:var(--text-muted);text-decoration:none;border-bottom:1px solid var(--separator);transition:color .3s,border-color .3s;text-underline-offset:.2em}.colophon a:hover{color:var(--text);border-color:var(--text-muted)}.share-strip{margin-top:2.2rem;padding:1rem;border:1px solid var(--separator);border-radius:8px;background:#ffffff05;text-align:left}[data-theme=light] .share-strip{background:#2a252008}.share-strip__title{margin:0;font-size:.72rem;color:var(--text-faint);letter-spacing:.14em;text-transform:uppercase}html:lang(ja) .share-strip__title{font-family:var(--font-accent)}.share-strip__actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.8rem}.share-strip__btn{display:inline-flex;align-items:center;justify-content:center;min-height:2rem;padding:0 .7rem;border:1px solid var(--separator);border-radius:999px;color:var(--text-muted);background:transparent;font-size:.72rem;letter-spacing:.08em;text-decoration:none;text-transform:uppercase;cursor:pointer;transition:color .2s ease,border-color .2s ease,background .2s ease}.share-strip__btn:hover{color:var(--text);border-color:var(--text-muted);background:#ffffff08}[data-theme=light] .share-strip__btn:hover{background:#2a25200d}.share-strip__btn[hidden]{display:none}.share-strip__feedback{margin:.65rem 0 0;min-height:1.2em;font-size:.72rem;color:var(--text-faint)}.story-fade-curtain{position:relative;height:12em;margin-top:-12em;pointer-events:none;z-index:2}.story-fade-overlay{width:100%;height:100%;background:linear-gradient(to bottom,transparent 0%,var(--bg) 90%)}.continue-cta{text-align:center;padding:0 1.5em 2em;max-width:var(--reading-width);margin:0 auto}.continue-cta__teaser{font-size:clamp(1rem,2.5vw,1.15rem);color:var(--text);letter-spacing:.08em;margin-top:2em;line-height:1.8}html:lang(ja) .continue-cta__teaser{font-family:"Shippori Antique B1",var(--font-accent)}.continue-cta__preview{margin-top:1.8em;font-size:.82rem;color:var(--text-muted);line-height:2.2;letter-spacing:.06em}html:lang(ja) .continue-cta__preview{font-family:var(--font-accent)}.continue-cta__preview p{margin-bottom:.3em}.continue-cta__button{display:inline-block;margin-top:2.5em;padding:1em 2.8em;background:var(--accent);color:#fff;border-radius:4px;text-decoration:none;font-size:.9rem;letter-spacing:.12em;transition:opacity .3s ease,transform .2s ease}html:lang(ja) .continue-cta__button{font-family:var(--font-accent)}.continue-cta__button:hover{opacity:.85;transform:translateY(-1px)}.continue-cta__note{margin-top:2em;font-size:.7rem;color:var(--text-faint);letter-spacing:.06em;line-height:1.8}html:lang(ja) .continue-cta__note{font-family:var(--font-accent)}.fade-section{opacity:0;transform:translateY(12px);transition:opacity .8s ease,transform .8s ease}.fade-section.visible{opacity:1;transform:translateY(0)}.progress-bar{position:fixed;top:0;left:0;height:2px;background:var(--accent);opacity:.4;z-index:200;transition:width .1s linear;width:0%}@media(max-width:480px){html{font-size:17px}.content{padding:2rem 1.4rem 5rem}.title-block{margin-bottom:2.5rem}.title-main{font-size:clamp(1.6rem,7vw,2.2rem)}html:lang(ja) body{line-height:2.15;letter-spacing:.04em}html:lang(en) body{line-height:2.05}.prose p{font-size:clamp(1rem,4vw,1.12rem)}.content{padding-left:max(1.4rem,env(safe-area-inset-left));padding-right:max(1.4rem,env(safe-area-inset-right))}.colophon{padding-bottom:max(4rem,calc(2rem + env(safe-area-inset-bottom)))}.hero-cover{max-width:min(320px,75vw);margin-top:calc(2rem + env(safe-area-inset-top,0px))}.back-cover-section{max-width:min(300px,70vw)}.share-strip{padding:.9rem}.share-strip__btn{min-height:2.1rem;font-size:.7rem}}@media(min-width:481px)and (max-width:1023px){html{font-size:18px}.content{padding:3rem 2rem 6rem}}@media(min-width:1024px){html{font-size:19px}.content{padding:4rem 2rem 8rem}.prose p{font-size:clamp(1.1rem,1.5vw,1.28rem)}html:lang(ja) body{line-height:1.95;letter-spacing:.05em}html:lang(en) body{line-height:1.9;letter-spacing:.015em}}@media(min-width:1600px){html{font-size:20px}:root{--reading-width: 48em}}@media print{.theme-toggle,.progress-bar,.reading-mode-toggle,.reader-toolbar{display:none}body{background:#fff;color:#111}.hero-placeholder{display:none}}html[data-font-size="1"]{--font-scale: .72}html[data-font-size="2"]{--font-scale: .85}html[data-font-size="3"]{--font-scale: 1}html[data-font-size="4"]{--font-scale: 1.18}html[data-font-size="5"]{--font-scale: 1.38}html:lang(ja) .prose p{font-size:calc(clamp(1.05rem,2.8vw,1.22rem) * var(--font-scale, 1))}.reading-mode-toggle{position:fixed;top:calc(4rem + env(safe-area-inset-top,0px));right:calc(1.2rem + env(safe-area-inset-right,0px));z-index:100;width:36px;height:36px;border:1px solid var(--separator);border-radius:50%;background:var(--bg-subtle);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:14px;font-family:var(--font-accent);transition:all var(--transition);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:.6}.reading-mode-toggle:hover{opacity:1}.reader-toolbar{position:fixed;bottom:0;left:0;right:0;z-index:300;display:none;align-items:center;justify-content:center;gap:1.2rem;padding:.8rem 1.2rem;padding-bottom:calc(.8rem + env(safe-area-inset-bottom,0px));background:var(--bg-subtle);backdrop-filter:none;-webkit-backdrop-filter:none;transition:opacity .3s ease,transform .3s ease,background .3s ease,backdrop-filter .3s ease;font-family:var(--font-accent)}.reader-toolbar[data-toolbar-bg=blur]{background:transparent;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.reader-toolbar[data-toolbar-bg=none]{background:transparent;backdrop-filter:none;-webkit-backdrop-filter:none}.reader-toolbar.toolbar-hidden{opacity:0;transform:translateY(100%);pointer-events:none}.scrub-rail{position:absolute;top:0;left:0;right:0;height:2px;touch-action:none}.scrub-rail:before{content:"";position:absolute;left:0;right:0;bottom:0;height:24px;transform:translateY(-100%)}.scrub-skip{display:flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;color:var(--text-faint);background:none;border:none;border-radius:50%;padding:0;opacity:.4;transition:opacity .2s,color .2s}.scrub-skip:hover,.scrub-skip:active{opacity:1;color:var(--text)}.scrub-rail__fill{position:absolute;top:0;right:0;bottom:0;width:0%;background:var(--accent);opacity:.5;transition:width .3s ease}.scrub-rail__thumb{position:absolute;top:50%;right:0%;width:10px;height:10px;background:var(--accent);border-radius:50%;transform:translate(50%,-50%) scale(0);transition:right .3s ease,transform .15s ease;pointer-events:none}.scrub-rail.active{height:3px}.scrub-rail.active .scrub-rail__fill{opacity:1;transition:none}.scrub-rail.active .scrub-rail__thumb{transform:translate(50%,-50%) scale(1);transition:transform .15s ease}.toolbar-btn{width:36px;height:36px;border:1px solid var(--separator);border-radius:50%;background:var(--bg-subtle);color:var(--text-muted);cursor:pointer;display:flex;align-items:center;justify-content:center;font-size:13px;font-family:var(--font-accent);transition:color .2s,border-color .2s}.toolbar-btn:hover{color:var(--text);border-color:var(--text-muted)}.toolbar-btn--end{position:absolute;right:1.2rem}.toolbar-page{font-size:.75rem;color:var(--text-faint);letter-spacing:.1em;min-width:4em;text-align:center}.font-slider{display:flex;align-items:center;gap:.5rem;padding:0 .2rem}.font-slider__label{color:var(--text-faint);font-family:var(--font-accent);line-height:1;user-select:none;flex-shrink:0}.font-slider__label--sm{font-size:10px}.font-slider__label--lg{font-size:17px}.font-slider__track{position:relative;display:flex;align-items:center;justify-content:space-between;flex:1;min-width:100px;height:36px;touch-action:none}.font-slider__track:before{content:"";position:absolute;top:50%;left:6px;right:6px;height:2px;background:var(--separator);transform:translateY(-50%);border-radius:1px}.font-slider__fill{position:absolute;top:50%;left:6px;height:2px;width:0;background:var(--accent);transform:translateY(-50%);border-radius:1px;transition:width .25s ease}.font-slider__dot{position:relative;z-index:1;width:14px;height:14px;border:none;border-radius:50%;background:var(--bg-subtle);border:2px solid var(--separator);cursor:pointer;padding:0;transition:background .15s ease,border-color .15s ease,box-shadow .15s ease;transform:scale(var(--dot-scale, 1));will-change:transform}.font-slider__track.dragging .font-slider__dot{transition:background .08s ease,border-color .08s ease,box-shadow .08s ease}.font-slider__dot.active{background:var(--accent);border-color:var(--accent);box-shadow:0 0 8px var(--accent-glow)}.toolbar-progress{position:relative;width:44px;height:44px;display:flex;align-items:center;justify-content:center}.progress-ring{position:absolute;top:0;left:0}.progress-ring__fill{transition:stroke-dashoffset .6s ease}.progress-ring__glow{transition:stroke-dashoffset .6s ease,opacity .4s ease}.progress-ring__text{position:relative;font-size:.55rem;color:var(--text-muted);font-family:var(--font-accent);letter-spacing:.02em;z-index:1;cursor:pointer;text-align:center;line-height:1}.toolbar-progress{cursor:pointer}.page-nav-overlay{position:fixed;inset:0;z-index:500;display:flex;align-items:flex-end;justify-content:center;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .25s ease;writing-mode:horizontal-tb;text-orientation:initial}.page-nav-overlay[hidden]{display:none!important}.page-nav-overlay.visible{opacity:1}.page-nav{width:100%;max-width:400px;margin:0 auto;padding:1.4rem 1.6rem;padding-bottom:calc(1.4rem + env(safe-area-inset-bottom,0px));background:var(--bg-subtle);border-top:1px solid var(--separator);border-radius:16px 16px 0 0;transform:translateY(100%);transition:transform .3s cubic-bezier(.23,1,.32,1);font-family:var(--font-accent);writing-mode:horizontal-tb}.page-nav-overlay.visible .page-nav{transform:translateY(0)}.page-nav:before{content:"";display:block;width:36px;height:4px;background:var(--separator);border-radius:2px;margin:0 auto 1.2rem}.page-nav__header{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:1rem}.page-nav__title{font-size:.9rem;color:var(--text);letter-spacing:.04em}.page-nav__pct{font-size:.8rem;color:var(--accent);font-weight:600;letter-spacing:.04em}.page-nav__scrubber{margin-bottom:1.2rem;touch-action:none}.page-nav__scrubber-track{position:relative;height:32px;display:flex;align-items:center;cursor:pointer}.page-nav__scrubber-track:before{content:"";position:absolute;top:50%;left:0;right:0;height:3px;background:var(--separator);transform:translateY(-50%);border-radius:1.5px}.page-nav__scrubber-fill{position:absolute;top:50%;right:0;height:3px;width:0%;background:var(--accent);transform:translateY(-50%);border-radius:1.5px;transition:width .15s ease}.page-nav__scrubber-thumb{position:absolute;top:50%;right:0%;width:18px;height:18px;background:var(--accent);border:2px solid var(--bg-subtle);border-radius:50%;transform:translate(50%,-50%);transition:right .15s ease,box-shadow .15s ease;box-shadow:0 0 0 0 var(--accent-glow)}.page-nav__scrubber-thumb.dragging{transition:none;box-shadow:0 0 12px 4px var(--accent-glow);transform:translate(50%,-50%) scale(1.2)}.page-nav__scrubber-fill.dragging{transition:none}.page-nav__scrubber-labels{display:flex;justify-content:space-between;margin-top:.15rem;font-size:.65rem;color:var(--text-faint);letter-spacing:.05em}.page-nav__stats{display:flex;justify-content:space-around;padding:.8rem 0;margin-bottom:.8rem;border-top:1px solid var(--separator);border-bottom:1px solid var(--separator)}.page-nav__stat{display:flex;flex-direction:column;align-items:center;gap:.25rem}.page-nav__stat-value{font-size:1.1rem;color:var(--text);font-weight:600;letter-spacing:.02em}.page-nav__stat-label{font-size:.62rem;color:var(--text-faint);letter-spacing:.08em}.page-nav__actions{display:flex;gap:.6rem}.page-nav__btn{flex:1;display:flex;align-items:center;justify-content:center;gap:.4rem;padding:.6rem .8rem;border:1px solid var(--separator);border-radius:8px;background:transparent;color:var(--text-muted);font-size:.72rem;font-family:var(--font-accent);letter-spacing:.06em;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.page-nav__btn:hover,.page-nav__btn:active{color:var(--text);border-color:var(--text-muted);background:#ffffff08}[data-theme=light] .page-nav__btn:hover,[data-theme=light] .page-nav__btn:active{background:#2a25200d}.page-nav__btn svg{flex-shrink:0}.page-number{display:none}html[data-reading-mode=vertical] .page-number{display:block;position:absolute;bottom:calc(.8rem + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:2;writing-mode:horizontal-tb;text-orientation:initial;font-family:var(--font-accent);font-size:.65rem;letter-spacing:.15em;color:var(--text-faint);opacity:.6;pointer-events:none;user-select:none;transition:opacity .3s ease}html[data-reading-mode=vertical] .reader-toolbar:not(.toolbar-hidden)~.page-number,html[data-reading-mode=vertical] .page-number.hidden{opacity:0}@media(max-width:480px){html[data-reading-mode=vertical] .page-number{font-size:.6rem;bottom:calc(.6rem + env(safe-area-inset-bottom,0px))}}html[data-reading-mode=vertical] .hero,html[data-reading-mode=vertical] .sep,html[data-reading-mode=vertical] .scroll-hint{display:none!important}html[data-reading-mode=vertical] .reader-title-page{writing-mode:horizontal-tb;text-orientation:initial;break-after:column;-webkit-column-break-after:always;break-inside:avoid;-webkit-column-break-inside:avoid;display:flex;flex-direction:column;align-items:center;justify-content:center;box-sizing:border-box;padding:2rem 1rem;min-height:100%}html[data-reading-mode=vertical] .reader-title-page .credit,html[data-reading-mode=vertical] .reader-title-page .title-block{writing-mode:horizontal-tb;text-orientation:initial;text-align:center;opacity:1!important;transform:none!important}html[data-reading-mode=vertical] .reader-title-page .credit{padding:0;margin-bottom:1.5rem}html[data-reading-mode=vertical] .reader-title-page .title-block{padding:0;margin-bottom:0}html[data-reading-mode=vertical] .hanko-wrap{writing-mode:horizontal-tb;text-orientation:initial;opacity:1!important;transform:none!important}html[data-reading-mode=vertical] .ending,html[data-reading-mode=vertical] .colophon{writing-mode:horizontal-tb;text-orientation:initial;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;break-before:column;-webkit-column-break-before:always;break-after:column;-webkit-column-break-after:always;break-inside:avoid;-webkit-column-break-inside:avoid;opacity:1!important;transform:none!important}html[data-reading-mode=vertical] .ending{min-height:50%;padding:0;font-size:1.2rem}html[data-reading-mode=vertical] .colophon{-webkit-column-break-after:always;border-top:none;padding:1rem;max-width:none;font-size:.75rem;line-height:2.2}html[data-reading-mode=vertical] .progress-bar,html[data-reading-mode=vertical] .theme-toggle,html[data-reading-mode=vertical] .reading-mode-toggle{display:none!important}html[data-reading-mode=vertical] body{overflow:hidden;height:100dvh}html[data-reading-mode=vertical] .reader-container{writing-mode:vertical-rl;text-orientation:upright;position:fixed;inset:0;overflow:hidden;touch-action:none;overscroll-behavior:none;background:#f3ebe2}html[data-reading-mode=vertical] .reader-container:before,html[data-reading-mode=vertical] .reader-container:after{content:"";position:absolute;inset:0;z-index:0;background:center / cover no-repeat;pointer-events:none}html[data-reading-mode=vertical] .reader-container:before{background-image:url(/novels/ja/yoshi_paper.jpg)}html[data-reading-mode=vertical] .reader-container:after{background-image:url(/novels/ja/yoshi_paper2.jpg);opacity:0;transition:opacity .4s ease}html[data-reading-mode=vertical] .reader-container[data-paper="2"]:after{opacity:1}[data-theme=dark][data-reading-mode=vertical] .reader-container:before{background-image:linear-gradient(#0d0d0de0,#0d0d0de0),url(/novels/ja/yoshi_paper.jpg)}[data-theme=dark][data-reading-mode=vertical] .reader-container:after{background-image:linear-gradient(#0d0d0de0,#0d0d0de0),url(/novels/ja/yoshi_paper2.jpg)}html[data-reading-mode=vertical] .reader-container .content-scroll{--vertical-pad-top: 2.5rem;--vertical-pad-bottom: calc(5.5rem + env(safe-area-inset-bottom, 0px)) ;--vertical-pad-side: 2rem;z-index:1;position:absolute;top:var(--vertical-pad-top);bottom:var(--vertical-pad-bottom);left:var(--vertical-pad-side);right:var(--vertical-pad-side)}html[data-reading-mode=vertical] .reader-container .content{max-width:none;margin:0;padding:0;width:100%;height:100%;overflow-x:scroll;overflow-y:hidden;scrollbar-width:none;column-width:calc(100dvh - var(--vertical-pad-top) - var(--vertical-pad-bottom));column-gap:0;column-fill:auto}html[data-reading-mode=vertical] .reader-container .content::-webkit-scrollbar{display:none}[data-theme=light][data-reading-mode=vertical] .reader-container .content .prose,[data-theme=light][data-reading-mode=vertical] .reader-container .content .reader-cover-page,[data-theme=light][data-reading-mode=vertical] .reader-container .content .reader-title-page,[data-theme=light][data-reading-mode=vertical] .reader-toolbar,[data-theme=light][data-reading-mode=vertical] .page-number,[data-theme=light][data-reading-mode=vertical] .resume-toast,[data-theme=light][data-reading-mode=vertical] .onboard-hint{mix-blend-mode:multiply}[data-theme=dark][data-reading-mode=vertical] .reader-container .content .prose,[data-theme=dark][data-reading-mode=vertical] .reader-container .content .reader-cover-page,[data-theme=dark][data-reading-mode=vertical] .reader-container .content .reader-title-page,[data-theme=dark][data-reading-mode=vertical] .reader-toolbar,[data-theme=dark][data-reading-mode=vertical] .page-number,[data-theme=dark][data-reading-mode=vertical] .resume-toast,[data-theme=dark][data-reading-mode=vertical] .onboard-hint{mix-blend-mode:screen}html[data-reading-mode=vertical] .prose p{text-indent:1em;margin-bottom:0;text-combine-upright:digits 4;hanging-punctuation:allow-end;text-box-trim:none}html[data-reading-mode=vertical] .fade-section{opacity:1!important;transform:none!important;transition:none!important}html[data-reading-mode=vertical] .reader-toolbar{display:flex}html[data-reading-mode=vertical]{cursor:default}html[data-reading-mode=vertical] *,html[data-reading-mode=vertical] a,html[data-reading-mode=vertical] button,html[data-reading-mode=vertical] [role=button],html[data-reading-mode=vertical] label,html[data-reading-mode=vertical] summary{cursor:default}html[data-reading-mode=vertical] input,html[data-reading-mode=vertical] textarea,html[data-reading-mode=vertical] select{cursor:auto}html[data-reading-mode=vertical] .reader-toolbar,html[data-reading-mode=vertical] .reader-toolbar *,html[data-reading-mode=vertical] .anim-settings-overlay,html[data-reading-mode=vertical] .anim-settings-overlay *,html[data-reading-mode=vertical] .page-nav-overlay,html[data-reading-mode=vertical] .page-nav-overlay *,html[data-reading-mode=vertical] .bookmark-viewer-overlay,html[data-reading-mode=vertical] .bookmark-viewer-overlay *{user-select:none;-webkit-user-select:none}.reader-container[data-zone=next]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='15 18 9 12 15 6'/%3E%3C/svg%3E") 12 12,default}.reader-container[data-zone=prev]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' fill='none' stroke='%23888' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='9 6 15 12 9 18'/%3E%3C/svg%3E") 12 12,default}@media(max-width:480px){html[data-reading-mode=vertical] .reader-container .content-scroll{--vertical-pad-top: 2rem;--vertical-pad-bottom: calc(5rem + env(safe-area-inset-bottom, 0px)) ;--vertical-pad-side: 1.2rem}html:lang(ja)[data-reading-mode=vertical] .prose p{font-size:calc(clamp(1rem,4vw,1.12rem) * var(--font-scale, 1))}.reader-toolbar{gap:.6rem;padding:.6rem .8rem;padding-bottom:calc(.6rem + env(safe-area-inset-bottom,0px))}.font-slider{gap:.35rem}.font-slider__track{width:80px}.font-slider__dot{width:12px;height:12px}}@media(min-width:1024px){html[data-reading-mode=vertical] .reader-container .content-scroll{--vertical-pad-top: 3rem;--vertical-pad-bottom: 5.5rem;--vertical-pad-side: 4rem}html:lang(ja)[data-reading-mode=vertical] .prose p{font-size:calc(clamp(1.1rem,1.5vw,1.28rem) * var(--font-scale, 1))}}html[data-reading-mode=horizontal] .reader-cover-front,html:not([data-reading-mode]) .reader-cover-front{display:none!important}html[data-reading-mode=vertical] .reader-cover-page{writing-mode:horizontal-tb;text-orientation:initial;break-after:column;-webkit-column-break-after:always;break-inside:avoid;-webkit-column-break-inside:avoid;display:flex;align-items:center;justify-content:center;box-sizing:border-box;padding:2rem;overflow:hidden}html[data-reading-mode=vertical] .reader-cover-page .book-cover{max-height:80%;max-width:90%}html[data-reading-mode=vertical] .reader-cover-page .book-cover-frame{box-shadow:none;background:transparent!important}@keyframes cover-settle{0%{transform:translateY(-10px);box-shadow:0 40px 50px #00000059,0 18px 20px #0003}60%{transform:translateY(1px);box-shadow:0 8px 20px #00000038,0 3px 8px #0000001f}80%{transform:translateY(-1px);box-shadow:0 10px 22px #0003,0 4px 10px #0000001a}to{transform:translateY(0);box-shadow:0 4px 14px #0000002e,0 1px 4px #0000001a}}html[data-reading-mode=vertical] .reader-cover-page .book-cover-frame:has(.loaded){animation:cover-settle 1.4s cubic-bezier(.22,1,.36,1) forwards}@media(prefers-reduced-motion:reduce){html[data-reading-mode=vertical] .reader-cover-page .book-cover-frame:has(.loaded){animation:none;box-shadow:0 4px 14px #0000002e,0 1px 4px #0000001a}}html[data-reading-mode=vertical] .reader-cover-page .book-cover-img{max-height:100%;object-fit:contain}html[data-reading-mode=vertical] .back-cover-section{max-width:none;margin:0}@media(max-width:480px){html[data-reading-mode=vertical] .reader-cover-page{padding:1rem}}.cube-scene{position:absolute;inset:0;z-index:50;perspective:1200px;overflow:hidden;background:transparent}.cube-rotor{width:100%;height:100%;transform-style:preserve-3d;transition:transform .6s cubic-bezier(.32,.72,0,1)}.cube-face{position:absolute;top:0;left:0;width:100%;height:100%;overflow:hidden;backface-visibility:hidden}.cube-face--front:after,.cube-face--side:after{content:"";position:absolute;inset:0;pointer-events:none;transition:opacity .6s cubic-bezier(.32,.72,0,1)}.cube-face--front:after{background:#00000059;opacity:0}.cube-rotor.cube-rotating .cube-face--front:after{opacity:1}.cube-face--side:after{background:#00000040;opacity:1}.cube-rotor.cube-rotating .cube-face--side:after{opacity:0}@media(max-width:480px){.cube-scene{perspective:800px}}@media(min-width:1024px){.cube-scene{perspective:1400px}}.page-shimmer{position:fixed;inset:0;background:linear-gradient(90deg,transparent 0%,rgba(255,255,255,.04) 45%,rgba(255,255,255,.06) 50%,rgba(255,255,255,.04) 55%,transparent 100%);animation:shimmer-sweep .6s ease-out forwards;pointer-events:none;z-index:40}[data-theme=light] .page-shimmer{background:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.02) 45%,rgba(0,0,0,.04) 50%,rgba(0,0,0,.02) 55%,transparent 100%)}@keyframes shimmer-sweep{0%{transform:translate(-100%)}to{transform:translate(100%);opacity:0}}.resume-toast{position:fixed;top:calc(1.5rem + env(safe-area-inset-top,0px));left:50%;transform:translate(-50%) translateY(-20px);background:var(--bg-subtle);color:var(--text-muted);font-size:.8rem;font-family:var(--font-accent);padding:.6rem 1.2rem;border-radius:8px;border:1px solid var(--separator);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);opacity:0;transition:opacity .4s ease,transform .4s ease;z-index:400;pointer-events:none;white-space:nowrap;max-width:90vw;overflow:hidden;text-overflow:ellipsis}.resume-toast.visible{opacity:1;transform:translate(-50%) translateY(0)}.onboard-glow{position:fixed;left:0;top:0;width:3px;height:100dvh;background:linear-gradient(to bottom,transparent 15%,var(--accent) 50%,transparent 85%);opacity:0;z-index:199;pointer-events:none;animation:glow-breathe 3.5s ease-out forwards}@keyframes glow-breathe{0%{opacity:0}12%{opacity:.35}28%{opacity:.12}44%{opacity:.35}60%{opacity:.12}80%{opacity:.05}to{opacity:0}}.onboard-chevron{position:fixed;left:2rem;top:50%;transform:translateY(-50%) translate(30px);z-index:200;pointer-events:none;opacity:0;animation:onboard-sweep 3.5s ease-out forwards}.onboard-chevron svg{width:28px;height:28px;stroke:var(--accent);stroke-width:1.5;fill:none;filter:drop-shadow(0 0 12px var(--accent-glow))}.onboard-hint{position:fixed;bottom:calc(5.5rem + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:200;pointer-events:none;font-family:var(--font-accent);font-size:.85rem;letter-spacing:.12em;color:var(--accent);white-space:nowrap;text-align:center;opacity:0;animation:onboard-hint-fade 3.5s ease-out forwards}@keyframes onboard-hint-fade{0%{opacity:0;transform:translate(-50%) translateY(8px)}15%{opacity:.9;transform:translate(-50%) translateY(0)}50%{opacity:.9;transform:translate(-50%) translateY(0)}80%{opacity:.3;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-4px)}}@keyframes onboard-sweep{0%{opacity:0;transform:translateY(-50%) translate(30px)}12%{opacity:.7;transform:translateY(-50%) translate(0)}28%{opacity:.3;transform:translateY(-50%) translate(0)}44%{opacity:.7;transform:translateY(-50%) translate(0)}60%{opacity:.3;transform:translateY(-50%) translate(-8px)}80%{opacity:.1;transform:translateY(-50%) translate(-12px)}to{opacity:0;transform:translateY(-50%) translate(-16px)}}@media(prefers-reduced-motion:reduce){.cube-rotor{transition:none!important}.page-shimmer{animation:none!important;display:none}.progress-ring__fill,.progress-ring__glow{transition:none!important}}.anim-settings-overlay{position:fixed;inset:0;z-index:500;display:flex;align-items:flex-end;justify-content:center;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .25s ease;writing-mode:horizontal-tb;text-orientation:initial}.anim-settings-overlay[hidden]{display:none!important}.anim-settings-overlay.visible{opacity:1}.anim-settings{width:100%;max-width:400px;margin:0 auto;padding:1.4rem 1.6rem;padding-bottom:calc(1.4rem + env(safe-area-inset-bottom,0px));background:var(--bg-subtle);border-top:1px solid var(--separator);border-radius:16px 16px 0 0;transform:translateY(100%);transition:transform .3s cubic-bezier(.23,1,.32,1);font-family:var(--font-accent);writing-mode:horizontal-tb}.anim-settings-overlay.visible .anim-settings{transform:translateY(0)}.anim-settings:before{content:"";display:block;width:36px;height:4px;background:var(--separator);border-radius:2px;margin:0 auto 1rem}.anim-settings__title{font-size:.9rem;color:var(--text);letter-spacing:.04em;margin-bottom:1rem;text-align:center}.anim-settings__options{display:flex;gap:.5rem}.anim-settings__btn[hidden]{display:none}.anim-settings__btn{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;padding:.8rem .4rem;border:1.5px solid var(--separator);border-radius:10px;background:transparent;color:var(--text-muted);font-size:.7rem;font-family:var(--font-accent);letter-spacing:.04em;cursor:pointer;transition:color .2s,border-color .2s,background .2s}.anim-settings__btn:hover,.anim-settings__btn:active{color:var(--text);border-color:var(--text-muted);background:#ffffff08}[data-theme=light] .anim-settings__btn:hover,[data-theme=light] .anim-settings__btn:active{background:#2a25200d}.anim-settings__btn.active{color:var(--accent);border-color:var(--accent);background:var(--accent-glow)}.anim-settings__btn.disabled{opacity:.35;cursor:not-allowed}.anim-settings__btn svg{flex-shrink:0}.anim-settings__divider{height:1px;background:var(--separator);margin:.8rem 0}.anim-settings__row{display:flex;align-items:center;justify-content:space-between;writing-mode:horizontal-tb}.anim-settings__row-label{font-size:.8rem;color:var(--text-secondary);letter-spacing:.04em}.anim-settings__toggle{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1.5px solid var(--separator);border-radius:10px;background:transparent;color:var(--text-muted);cursor:pointer;transition:border-color .2s,color .2s,background .2s}.anim-settings__toggle.active{border-color:var(--accent);color:var(--accent);background:rgba(var(--accent-rgb, 180, 160, 120),.08)}.anim-settings__toggle-icon--off{display:none}.anim-settings__toggle-icon--on{display:block}.anim-settings__toggle:not(.active) .anim-settings__toggle-icon--on{display:none}.anim-settings__toggle:not(.active) .anim-settings__toggle-icon--off{display:block}.anim-settings__note{font-size:.65rem;color:var(--text-faint);letter-spacing:.04em;text-align:center;margin-top:.8rem;min-height:1.2em}#pageCurlOverlay{position:fixed;inset:0;z-index:200;pointer-events:none}#pageCurlOverlay canvas{display:block;width:100%!important;height:100%!important}.edge-glow{position:fixed;top:0;width:80px;height:100dvh;pointer-events:none;z-index:250;opacity:0}.edge-glow--left{left:0;background:radial-gradient(ellipse at 0% 50%,var(--accent) 0%,transparent 70%)}.edge-glow--right{right:0;background:radial-gradient(ellipse at 100% 50%,var(--accent) 0%,transparent 70%)}.edge-glow.active{animation:edge-glow-pulse .5s ease-out forwards}@keyframes edge-glow-pulse{0%{opacity:0;transform:scaleX(.7)}25%{opacity:.18;transform:scaleX(1)}to{opacity:0;transform:scaleX(.9)}}@media(prefers-reduced-motion:reduce){.edge-glow.active{animation:none}}html[data-immersive] .page-number{opacity:0!important}.bookmark-dot{position:absolute;top:-4px;width:7px;height:7px;background:var(--accent);border:none;border-radius:50%;transform:translate(50%);cursor:pointer;z-index:2;padding:0;box-shadow:0 0 6px var(--accent-glow);transition:transform .15s ease}.bookmark-dot:hover,.bookmark-dot:active{transform:translate(50%) scale(1.6)}#bookmarkToggle.active{color:var(--accent);border-color:var(--accent)}#bookmarkToggle.active svg{fill:var(--accent)}.bookmark-viewer-overlay{position:fixed;inset:0;z-index:500;display:flex;align-items:flex-end;justify-content:center;background:#0006;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);opacity:0;transition:opacity .25s ease;writing-mode:horizontal-tb;text-orientation:initial}.bookmark-viewer-overlay[hidden]{display:none!important}.bookmark-viewer-overlay.visible{opacity:1}.bookmark-viewer{width:100%;max-width:400px;margin:0 auto;padding:1.4rem 1.6rem;padding-bottom:calc(1.4rem + env(safe-area-inset-bottom,0px));background:var(--bg-subtle);border-top:1px solid var(--separator);border-radius:16px 16px 0 0;transform:translateY(100%);transition:transform .3s cubic-bezier(.23,1,.32,1);font-family:var(--font-accent);writing-mode:horizontal-tb}.bookmark-viewer-overlay.visible .bookmark-viewer{transform:translateY(0)}.bookmark-viewer:before{content:"";display:block;width:36px;height:4px;background:var(--separator);border-radius:2px;margin:0 auto 1.2rem}.bookmark-viewer__header{display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}.bookmark-viewer__title{font-size:.9rem;color:var(--text);letter-spacing:.04em}.bookmark-viewer__count{font-size:.65rem;color:var(--accent);background:var(--accent-glow);padding:.15em .5em;border-radius:999px;letter-spacing:.04em;font-weight:600}.bookmark-viewer__list{display:flex;flex-direction:column;gap:.5rem;max-height:50vh;overflow-y:auto;scrollbar-width:thin}.bookmark-viewer__item{display:flex;align-items:center;justify-content:space-between;padding:.7rem .8rem;border:1px solid var(--separator);border-radius:8px;background:transparent;color:var(--text);font-family:var(--font-accent);font-size:.8rem;letter-spacing:.04em;cursor:pointer;transition:background .15s ease,border-color .15s ease;width:100%;text-align:left}.bookmark-viewer__item:active{background:#ffffff0a;border-color:var(--text-faint)}[data-theme=light] .bookmark-viewer__item:active{background:#2a25200d}.bookmark-viewer__item-info{display:flex;align-items:baseline;gap:.6rem}.bookmark-viewer__item-page{color:var(--text);font-weight:600}.bookmark-viewer__item-pct{font-size:.7rem;color:var(--text-faint)}.bookmark-viewer__item-delete{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border:none;border-radius:50%;background:transparent;color:var(--text-faint);font-size:1rem;cursor:pointer;transition:color .15s,background .15s;flex-shrink:0}.bookmark-viewer__item-delete:hover,.bookmark-viewer__item-delete:active{color:var(--accent);background:var(--accent-glow)}.bookmark-viewer__empty{text-align:center;color:var(--text-faint);font-size:.8rem;letter-spacing:.06em;padding:2rem 0}.book-cover[data-astro-cid-5z3nfdqj]{margin:0;padding:0}.book-cover-frame[data-astro-cid-5z3nfdqj]{position:relative;overflow:hidden;border-radius:4px}.book-cover-img[data-astro-cid-5z3nfdqj]{display:block;width:100%;height:auto}.book-cover-img--reveal[data-astro-cid-5z3nfdqj]{opacity:0;transition:opacity 1.4s ease-in-out}.book-cover-img--reveal[data-astro-cid-5z3nfdqj].loaded{opacity:1}
