.story-section{position:relative;z-index:10;overflow:hidden;color:var(--c-ink);padding-block:112px 128px;background:linear-gradient(155deg,var(--c-pink),var(--c-peach))}.story-heading h2{margin:28px 0 24px;letter-spacing:-.035em}.story-fiction{font-size:12px;letter-spacing:.12em}.story-invitation{margin-top:76px}.story-quote{font:600 clamp(30px,4.2vw,56px)/1.65 var(--font-serif);letter-spacing:-.025em;max-width:16em}.story-quote-line{display:block;white-space:nowrap}.story-character{display:inline-block;opacity:1;transform:none}.motion-ready .story-quote:not(.is-visible) .story-character{opacity:0;transform:translateY(.35em)}.story-character{transition:opacity var(--story-char-reveal-ms) var(--ease),transform var(--story-char-reveal-ms) var(--ease);transition-delay:calc(var(--character)*var(--story-char-ms))}.story-beats{display:flex;align-items:center;gap:19px;margin:28px 0 38px;height:24px}.story-beat{position:relative;display:block;width:14px;height:14px;border:1px solid var(--c-coral);border-radius:50%;background:transparent;transition:background var(--feedback-ms),transform var(--feedback-ms);flex:none}.story-beat.is-lit{background:var(--c-coral)}.story-beat-last{width:20px;height:20px}.story-beat-last:not(.is-lit)::after{content:'';position:absolute;inset:-6px;border:1px solid var(--c-coral);border-radius:50%;animation:story-breathe var(--story-breath-ms) ease-in-out infinite;animation-play-state:paused}.story-section.is-in-view:not(.is-paused) .story-beat-last::after{animation-play-state:running}.story-intro{font-size:var(--body);line-height:1.9;max-width:28em}.story-intro p+p{margin-top:4px}.story-open{margin-top:30px;background:var(--c-ink);padding-inline:20px;gap:13px;font-size:15px;max-width:100%;text-align:left}.story-open svg{flex:none}.story-accessible{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
@keyframes story-breathe{0%,100%{transform:scale(.88);opacity:.25}50%{transform:scale(1.12);opacity:.7}}
.story-reader{position:fixed;inset:0;z-index:120;display:flex;align-items:stretch;justify-content:center;color:var(--c-ink);background:#0b0f2670;overscroll-behavior:none}.story-reader-paper{position:relative;background:var(--c-cream);width:100%;height:100%;display:flex;flex-direction:column;min-height:0;transform:translate3d(0,100%,0);transition:transform var(--reader-open-ms) var(--ease);box-shadow:0 20px 90px #0b0f2633}.story-reader.is-open .story-reader-paper{transform:translate3d(0,0,0)}.story-reader-paper.is-dragging{transition:none}.story-reader-progress-track{position:absolute;z-index:2;inset:0 0 auto;height:3px;background:#2e3f8610}.story-reader-progress{height:100%;width:100%;transform:scaleX(0);transform-origin:left;background:var(--c-coral)}.story-reader-toolbar{position:relative;display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none;padding:calc(44px + env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) 10px max(20px,env(safe-area-inset-left));border-bottom:1px solid #2e3f8614}.story-reader-handle{position:absolute;top:env(safe-area-inset-top);left:calc(50% - 80px);width:160px;height:44px;display:grid;place-items:center;touch-action:none;cursor:grab}.story-reader-handle span{display:block;width:36px;height:3px;border-radius:3px;background:#2e3f8640}.story-reader-caption{font-size:12px;letter-spacing:.08em;line-height:1.5}.story-reader-close{width:44px;height:44px;border:1px solid #2e3f8640;border-radius:50%;display:grid;place-items:center;flex:none}.story-reader-close svg{width:22px;height:22px;stroke:currentColor;fill:none;stroke-width:1.5}.story-reader-scroll{min-height:0;overflow-y:auto;overscroll-behavior:contain;touch-action:pan-y;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#2e3f864a var(--c-cream);flex:1}.story-reader-article{max-width:32em;margin-inline:auto;padding:46px max(24px,env(safe-area-inset-right)) calc(70px + env(safe-area-inset-bottom)) max(24px,env(safe-area-inset-left));font-family:'Songti SC','STSong','Noto Serif CJK SC','Source Han Serif SC',serif;font-size:18px;line-height:1.9;-webkit-user-select:text;user-select:text;-webkit-touch-callout:default}.story-reader-article *{-webkit-user-select:text;user-select:text}.story-reader-article ::selection{background:var(--c-pink);color:var(--c-ink)}.story-reader-note{font-family:var(--font-body);font-size:12px;line-height:1.8;max-width:23em}.story-reader-title{font-family:var(--font-serif);font-size:clamp(34px,5vw,48px);line-height:1.25;letter-spacing:-.025em;margin:18px 0 34px;outline-offset:6px}.story-reader-author{font-family:var(--font-body);font-size:13px;margin:-18px 0 30px}.story-reader-body p{margin-bottom:1em;max-width:none}.story-reader-body .story-ending{font-size:clamp(25px,3vw,32px);font-weight:600;line-height:1.7;margin-top:44px;max-width:12em}.story-reader-footnote{font-family:var(--font-body);font-size:12px;line-height:1.9;margin-top:42px;padding-top:20px;border-top:1px solid #2e3f8624}.reader-open .music-mini{visibility:hidden}
@media(min-width:768px){.story-quote-line{display:inline}.story-section{padding-block:144px 156px}.story-heading h2{max-width:12em}.story-invitation{margin-top:90px;margin-left:22%;}.story-beats{gap:25px;margin-block:34px 46px}.story-beat{width:16px;height:16px}.story-beat-last{width:24px;height:24px}.story-open{margin-top:36px;padding-inline:26px;gap:22px}.story-reader{align-items:center;padding:38px;backdrop-filter:blur(8px)}.story-reader-paper{width:min(100%,40em);height:min(90vh,1100px);height:min(90svh,1100px);border-radius:18px;overflow:hidden;transform:translate3d(0,36px,0);opacity:0;transition:transform var(--reader-open-ms) var(--ease),opacity var(--reader-open-ms) var(--ease)}.story-reader.is-open .story-reader-paper{opacity:1}.story-reader-toolbar{padding:18px 28px 14px}.story-reader-handle{display:none}.story-reader-article{padding:44px 40px 72px}.story-reader-caption{font-size:13px}}
@media(min-width:1200px){.story-section{padding-block:170px 180px}.story-invitation{margin-top:90px;margin-left:31%;}.story-intro{font-size:17px}.story-fiction{font-size:13px}}
@media(max-width:374px){.story-section{padding-block:100px 112px}.story-open{gap:8px;padding-inline:16px;font-size:15px}.story-reader-article{font-size:17px;padding-inline:22px}}
@media(prefers-reduced-motion:reduce){.story-character{opacity:1!important;transform:none!important}.story-beat-last::after{display:none}.story-reader-paper{transform:none;opacity:1}}
