@font-face{font-family:Sarabun;font-style:normal;font-weight:200;font-display:swap;src:url(/_next/static/media/cb43f56622f3a8b7-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Sarabun;font-style:normal;font-weight:200;font-display:swap;src:url(/_next/static/media/d2ecdf7d92f6fe71-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Sarabun;font-style:normal;font-weight:200;font-display:swap;src:url(/_next/static/media/830d361210c7d062-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Sarabun;font-style:normal;font-weight:200;font-display:swap;src:url(/_next/static/media/0540592d5ee06e9c-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Sarabun;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/6211ef845df10dad-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Sarabun;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/ae276ebc9070dd85-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Sarabun;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/cb0cc0f907592c8f-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Sarabun;font-style:normal;font-weight:300;font-display:swap;src:url(/_next/static/media/d660c4b004d35ef0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/f8092a6a9ad7a44c-s.p.woff2) format("woff2");unicode-range:u+02d7,u+0303,u+0331,u+0e01-0e5b,u+200c-200d,u+25cc}@font-face{font-family:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/96ad5eed80b1484c-s.woff2) format("woff2");unicode-range:u+0102-0103,u+0110-0111,u+0128-0129,u+0168-0169,u+01a0-01a1,u+01af-01b0,u+0300-0301,u+0303-0304,u+0308-0309,u+0323,u+0329,u+1ea0-1ef9,u+20ab}@font-face{font-family:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/0ab56aae8cf76709-s.woff2) format("woff2");unicode-range:u+0100-02ba,u+02bd-02c5,u+02c7-02cc,u+02ce-02d7,u+02dd-02ff,u+0304,u+0308,u+0329,u+1d00-1dbf,u+1e00-1e9f,u+1ef2-1eff,u+2020,u+20a0-20ab,u+20ad-20c0,u+2113,u+2c60-2c7f,u+a720-a7ff}@font-face{font-family:Sarabun;font-style:normal;font-weight:400;font-display:swap;src:url(/_next/static/media/a1a058a3e6543db0-s.p.woff2) format("woff2");unicode-range:u+00??,u+0131,u+0152-0153,u+02bb-02bc,u+02c6,u+02da,u+02dc,u+0304,u+0308,u+0329,u+2000-206f,u+20ac,u+2122,u+2191,u+2193,u+2212,u+2215,u+feff,u+fffd}@font-face{font-family:Sarabun Fallback;src:local("Arial");ascent-override:109.45%;descent-override:23.78%;line-gap-override:0.00%;size-adjust:97.58%}.__className_785a35{font-family:Sarabun,Sarabun Fallback;font-style:normal}.__variable_785a35{--font-sarabun:"Sarabun","Sarabun Fallback"}:root{--bg-center:#0e0c0a;--bg-mid:#070605;--ink:#ece8e1;--ink-cool:#e9eaec;--ink-emphasis:#f3ece4;--ink-meta:#6a6a6a;--ink-signoff:#8a8076;--ink-faint:rgba(236,232,225,0.14);--maxw:34ch;--dawn:900ms;--ease:cubic-bezier(0.22,1,0.36,1)}*{box-sizing:border-box}body,html{margin:0;padding:0;height:100%}body{background:radial-gradient(ellipse at 50% 40%,var(--bg-center) 0,var(--bg-mid) 55%,#000 100%);color:var(--ink);font-family:var(--font-sarabun),"Sarabun",sans-serif;font-weight:300;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden}button{font-family:inherit;color:inherit;background:none;border:none;cursor:pointer;padding:0}.stage{height:100svh;min-height:100vh;overflow:hidden}.atmos,.stage{position:fixed;inset:0}.atmos{z-index:1}.atmos,.grain{pointer-events:none}.grain{position:fixed;inset:-50%;width:200%;height:200%;opacity:.035;mix-blend-mode:soft-light;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E");animation:grainShift .6s steps(4) infinite}@keyframes grainShift{0%{transform:translate(0)}25%{transform:translate(-4%,2%)}50%{transform:translate(3%,-3%)}75%{transform:translate(-2%,3%)}to{transform:translate(2%,-2%)}}.vignette{position:fixed;inset:0;pointer-events:none;background:radial-gradient(ellipse at 50% 42%,transparent 52%,rgba(0,0,0,.62) 100%);animation:vignettePulse 14s ease-in-out infinite}.vignette.deepen{background:radial-gradient(ellipse at 50% 46%,transparent 40%,rgba(0,0,0,.82) 100%);transition:background 3s var(--ease)}@keyframes vignettePulse{0%,to{opacity:.92}50%{opacity:1}}.stardust{position:fixed;inset:0;pointer-events:none}.star{position:absolute;width:2px;height:2px;border-radius:50%;background:#fff;opacity:0;animation:twinkle var(--dur,9s) ease-in-out var(--delay,0s) infinite,drift var(--ddur,60s) linear var(--delay,0s) infinite}@keyframes twinkle{0%,to{opacity:0}50%{opacity:var(--max,.16)}}@keyframes drift{0%{transform:translateY(0)}to{transform:translateY(-26px)}}.bloom{position:fixed;inset:0;pointer-events:none;z-index:5;background:radial-gradient(circle at 50% 45%,rgba(255,248,236,.09),transparent 60%);opacity:0}.bloom.fire{animation:bloom 1.6s var(--ease) forwards}@keyframes bloom{0%{opacity:0}35%{opacity:1}to{opacity:0}}.heartbeat{position:fixed;left:50%;bottom:16%;width:3px;height:3px;border-radius:50%;background:var(--ink-signoff);transform:translateX(-50%);animation:beat 8s ease-in-out infinite;z-index:3}@keyframes beat{0%,to{opacity:.1}50%{opacity:.28}}.layer{position:fixed;inset:0;z-index:2;display:flex;align-items:center;justify-content:center;padding:24px}.fade-enter{animation:softIn 1.2s var(--ease) both}.fade-exit{animation:softOut 1.2s var(--ease) both}@keyframes softIn{0%{opacity:0}to{opacity:1}}@keyframes softOut{0%{opacity:1}to{opacity:0}}.cover{text-align:center;max-width:36ch;animation:coverBreath 6s ease-in-out infinite}@keyframes coverBreath{0%,to{opacity:.62}50%{opacity:.8}}.cover .greet{font-weight:200;font-size:1.18rem;line-height:1.8;opacity:0;margin:0 0 14px;color:var(--ink)}.cover .greet.show{animation:softIn 1.6s var(--ease) forwards}.cover .timer{margin-top:30px;font-size:1rem;letter-spacing:2px;color:var(--ink-meta);font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.cover .note{margin-top:10px;font-size:.8rem;color:#4f4f4f}.cover .rule{width:0;height:1px;margin:26px auto 0;background:var(--ink-faint);animation:drawRule 1.4s var(--ease) forwards}@keyframes drawRule{to{width:60px}}.open-btn{margin-top:22px;font-size:1.05rem;color:var(--ink);opacity:0;letter-spacing:1px;border-bottom:1px solid transparent;padding-bottom:3px;transition:letter-spacing .5s var(--ease),border-color .5s var(--ease),opacity 1.4s var(--ease);animation:softIn 1.6s var(--ease) .4s forwards}.open-btn:hover{letter-spacing:4px;border-color:rgba(236,232,225,.5)}.envelope-wrap{perspective:1100px;display:flex;flex-direction:column;align-items:center;gap:26px}.envelope{position:relative;width:min(74vw,320px);height:min(48vw,208px);transform-style:preserve-3d;animation:envBreath 4s ease-in-out infinite}@keyframes envBreath{0%,to{transform:scale(1)}50%{transform:scale(1.015)}}.env-body{position:absolute;inset:0;background:linear-gradient(160deg,rgba(216,207,192,.16),rgba(216,207,192,.08));border:1px solid rgba(216,207,192,.22);border-radius:4px;overflow:hidden}.env-body:after,.env-body:before{content:"";position:absolute;bottom:0;width:52%;height:100%;background:linear-gradient(rgba(216,207,192,.05),rgba(216,207,192,.1));border-top:1px solid rgba(216,207,192,.12)}.env-body:before{left:0;transform:skewX(28deg);transform-origin:bottom left}.env-body:after{right:0;transform:skewX(-28deg);transform-origin:bottom right}.env-flap{position:absolute;top:0;left:0;width:100%;height:52%;background:linear-gradient(180deg,rgba(216,207,192,.2),rgba(216,207,192,.1));-webkit-clip-path:polygon(0 0,100% 0,50% 100%);clip-path:polygon(0 0,100% 0,50% 100%);transform-origin:top center;transform:rotateX(0deg);z-index:3;transition:transform .9s var(--ease)}.env-seal{position:absolute;top:38%;left:50%;width:26px;height:26px;margin:-13px 0 0 -13px;border-radius:50%;background:rgba(150,60,60,.42);box-shadow:0 0 14px rgba(150,60,60,.3);z-index:4;transition:opacity .5s var(--ease)}.env-letter{position:absolute;left:8%;width:84%;bottom:8%;height:70%;background:linear-gradient(rgba(236,232,225,.1),rgba(236,232,225,.04));border:1px solid rgba(236,232,225,.12);border-radius:2px;transform:translateY(0);z-index:2;transition:transform 1s var(--ease) .35s}.envelope.opening{animation:none}.envelope.opening .env-flap{transform:rotateX(180deg)}.envelope.opening .env-seal{opacity:0}.envelope.opening .env-letter{transform:translateY(-46%)}.envelope-hint{font-size:.95rem;color:var(--ink-signoff);letter-spacing:1px;border-bottom:1px solid transparent;padding-bottom:3px;transition:letter-spacing .5s var(--ease),border-color .5s var(--ease)}.envelope-hint:hover{letter-spacing:4px;border-color:rgba(138,128,118,.5)}.chapter{text-align:center;color:var(--ink)}.chapter .num{font-size:2.6rem;font-weight:200;letter-spacing:8px;margin:0}.chapter .ch-rule{width:0;height:1px;margin:20px auto;background:var(--ink-faint);animation:drawRule 1.6s var(--ease) .3s forwards}.chapter .sub{font-size:.92rem;font-weight:300;letter-spacing:1px;color:var(--ink-meta);margin:0 auto;max-width:30ch;line-height:1.7}.reader{position:fixed;inset:0;z-index:2;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none;scroll-behavior:smooth}.reader::-webkit-scrollbar{display:none}.reader-inner{min-height:100%;max-width:var(--maxw);margin:0 auto;padding:46vh 26px 52vh;display:flex;flex-direction:column;gap:1.05rem}.line{margin:0;font-size:clamp(1.05rem,2.6vw + .6rem,1.28rem);line-height:1.85;letter-spacing:.01em;text-align:center;color:var(--ink);opacity:0;transform:translateY(10px);filter:blur(6px);transition:opacity 1.2s var(--ease),transform var(--dawn) var(--ease),filter var(--dawn) var(--ease),color 1.2s var(--ease);word-break:normal;overflow-wrap:break-word;will-change:opacity,transform,filter}.line.in{opacity:.32;transform:translateY(0);filter:blur(0)}.line.in.current{opacity:1;text-shadow:0 0 18px rgba(236,232,225,.1)}.line.part2{color:var(--ink-cool)}.line.emphasis{transition:opacity 1.2s var(--ease),transform 1.4s var(--ease),filter 1.4s var(--ease),color 1.2s var(--ease)}.line.emphasis.in.current{font-size:clamp(1.22rem,3vw + .7rem,1.5rem);color:var(--ink-emphasis);text-shadow:0 0 20px rgba(243,236,228,.12);margin:.7rem 0}.line.settled{opacity:.06!important;text-shadow:none!important}.chapter-backdrop{position:fixed;inset:0;z-index:4;background:radial-gradient(ellipse at 50% 42%,var(--bg-center) 0,var(--bg-mid) 60%,#000 100%);animation:softIn 1.4s var(--ease) both}.line.quote.in.current{color:#d9d3c8;font-style:italic}.line.signoff{font-weight:200;margin-top:2.4rem}.line.signoff.in.current{color:var(--ink-signoff);text-shadow:none}.caret:after{content:"|";margin-left:2px;animation:blink 1s steps(1) infinite;opacity:.7}@keyframes blink{0%,to{opacity:.7}50%{opacity:0}}.controls{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:6;display:flex;align-items:center;gap:20px;padding:10px 18px;opacity:.18;transition:opacity .6s var(--ease);-webkit-user-select:none;-moz-user-select:none;user-select:none}.controls.awake{opacity:.72}.ctrl{display:inline-flex;align-items:center;justify-content:center;min-width:44px;min-height:44px;font-size:.86rem;letter-spacing:1px;color:var(--ink);opacity:.85;transition:opacity .3s var(--ease)}.ctrl:hover{opacity:1}.ctrl.active{color:var(--ink-emphasis)}.ctrl.glyph{font-size:1rem}.tempo-group{display:inline-flex;gap:12px;font-size:.82rem}.tempo-group .t{color:var(--ink-meta);transition:color .3s var(--ease);min-height:44px;display:inline-flex;align-items:center}.tempo-group .t.on{color:var(--ink)}.sep{width:1px;height:16px;background:rgba(236,232,225,.16)}.tap-hint{position:fixed;left:50%;bottom:78px;transform:translateX(-50%);z-index:6;font-size:.8rem;letter-spacing:1px;color:var(--ink-meta);animation:hintPulse 2.6s ease-in-out infinite;pointer-events:none}.tap-hint.gone{animation:softOut .8s var(--ease) forwards}@keyframes hintPulse{0%,to{opacity:.3}50%{opacity:.6}}.progress{position:fixed;left:0;bottom:0;height:1px;width:100%;z-index:6;transform-origin:left;background:var(--ink-faint);transform:scaleX(var(--p,0));transition:transform .9s var(--ease),height .5s var(--ease)}.progress.seam{height:2px}.signature{text-align:center;color:var(--ink);max-width:32ch;display:flex;flex-direction:column;align-items:center;gap:18px}.signature .photo{width:132px;height:132px;border-radius:50%;object-fit:cover;filter:grayscale(.25) brightness(.92);border:1px solid rgba(236,232,225,.14);box-shadow:0 0 40px rgba(0,0,0,.6)}.signature .sig-rule{width:70px;height:1px;background:var(--ink-faint)}.signature .from{font-weight:200;font-size:1.5rem;letter-spacing:2px;color:var(--ink-signoff);margin:0}.signature .to{font-size:.92rem;color:var(--ink-meta);letter-spacing:1px;margin:0}.signature .date{font-size:.8rem;color:#555;letter-spacing:2px;font-feature-settings:"tnum";font-variant-numeric:tabular-nums;margin:0}.signature .replay{margin-top:16px;font-size:.95rem;color:var(--ink-signoff);letter-spacing:1px;border-bottom:1px solid transparent;padding-bottom:3px;transition:color .4s var(--ease),border-color .4s var(--ease),letter-spacing .4s var(--ease)}.signature .replay:hover{color:var(--ink);border-color:rgba(138,128,118,.5);letter-spacing:3px}@media (prefers-reduced-motion:reduce){.cover,.envelope,.grain,.heartbeat,.stardust,.vignette{animation:none!important}.line{transform:none!important;filter:none!important;transition:opacity .8s ease,color .8s ease!important}.chapter-backdrop,.index-inner{animation:none!important}.bubble{transform:none!important;filter:none!important;transition:opacity .8s ease!important}}.chapter .ch-title{font-size:1.5rem;font-weight:300;letter-spacing:1px;color:var(--ink);margin:0 auto 6px;max-width:26ch;line-height:1.5}.index{position:fixed;inset:0;z-index:2;overflow-y:auto;scrollbar-width:none;-ms-overflow-style:none}.index::-webkit-scrollbar{display:none}.index-inner{max-width:40ch;margin:0 auto;padding:13vh 26px 16vh;animation:softIn 1.4s var(--ease) both}.index-head{text-align:center;margin-bottom:42px}.ix-to{font-size:.9rem;color:var(--ink-meta);letter-spacing:2px;margin:0 0 8px}.ix-title{font-size:2rem;font-weight:200;letter-spacing:4px;color:var(--ink);margin:0}.ix-sub{font-size:.85rem;color:var(--ink-signoff);margin:14px 0 0;line-height:1.6}.ix-rule{width:60px;height:1px;background:var(--ink-faint);margin:24px auto 0}.act-sec{margin-bottom:36px}.act-head{text-align:center;margin-bottom:20px}.act-label{display:block;font-size:.78rem;letter-spacing:3px;color:var(--ink-meta)}.act-title{display:block;font-size:1.15rem;font-weight:300;letter-spacing:2px;color:var(--ink);margin-top:4px}.act-note{display:block;font-size:.72rem;color:#5a5a5a;letter-spacing:1px;margin-top:6px}.toc-list{display:flex;flex-direction:column;gap:10px}.toc-item{display:flex;gap:14px;text-align:left;width:100%;padding:14px 16px;border-radius:10px;border:1px solid rgba(236,232,225,.07);background:rgba(236,232,225,.015);transition:border-color .4s var(--ease),background .4s var(--ease),opacity .4s var(--ease)}.toc-item:hover{border-color:rgba(236,232,225,.2);background:rgba(236,232,225,.04)}.toc-no{font-size:1.1rem;font-weight:200;color:var(--ink-signoff);min-width:1.7em;line-height:1.5}.toc-body{display:flex;flex-direction:column;gap:3px}.toc-title{font-size:1.04rem;color:var(--ink);letter-spacing:.5px}.toc-date{font-size:.74rem;color:var(--ink-meta);letter-spacing:1px}.toc-blurb{font-size:.82rem;color:#7a766f;line-height:1.55;margin-top:3px}.toc-dot{color:var(--ink-signoff);margin-left:8px}.toc-item.read{opacity:.45}.toc-item.next{border-color:rgba(236,232,225,.26);background:rgba(236,232,225,.05);box-shadow:0 0 26px rgba(0,0,0,.45)}.index-foot{text-align:center;margin-top:32px}.end-btn{font-size:.92rem;color:var(--ink-signoff);letter-spacing:1px;border-bottom:1px solid transparent;padding-bottom:3px;transition:color .4s var(--ease),border-color .4s var(--ease),letter-spacing .4s var(--ease)}.end-btn:hover{color:var(--ink);border-color:rgba(138,128,118,.5);letter-spacing:3px}.ix-mute{min-width:40px;min-height:40px;font-size:1rem;color:var(--ink-meta);opacity:.6;transition:opacity .3s var(--ease),color .3s var(--ease)}.ix-mute:hover{opacity:1}.ix-mute.on{color:var(--ink-emphasis)}.chat-inner{max-width:38ch;align-items:stretch;gap:.5rem;padding:40vh 22px 50vh}.brow{display:flex;width:100%}.brow.her{justify-content:flex-start}.brow.him{justify-content:flex-end}.bcol{display:flex;flex-direction:column;max-width:82%}.brow.him .bcol{align-items:flex-end}.who{font-size:.66rem;letter-spacing:1px;color:#5f5f5f;margin:0 8px 3px}.bubble{margin:0;padding:9px 14px;border-radius:15px;font-size:clamp(.98rem,2.2vw + .55rem,1.12rem);line-height:1.6;letter-spacing:.01em;opacity:0;transform:translateY(8px);filter:blur(5px);transition:opacity 1s var(--ease),transform var(--dawn) var(--ease),filter var(--dawn) var(--ease);will-change:opacity,transform,filter}.bubble.her{background:rgba(212,220,228,.07);border:1px solid rgba(212,220,228,.1);color:var(--ink-cool);border-bottom-left-radius:5px}.bubble.him{background:rgba(236,226,210,.1);border:1px solid rgba(236,226,210,.12);color:var(--ink);border-bottom-right-radius:5px}.bubble.in{opacity:.5;transform:none;filter:blur(0)}.bubble.in.current{opacity:1}.bubble.hi.in.current{box-shadow:0 0 22px rgba(236,232,225,.08)}.bubble.media{font-style:italic;color:var(--ink-meta);background:none;border:1px dashed rgba(236,232,225,.14)}.reflect-sep{display:flex;align-items:center;justify-content:center;gap:12px;margin:2.6rem 4px 1.1rem;opacity:0}.reflect-sep.in{animation:softIn 1.8s var(--ease) forwards}.reflect-sep:after,.reflect-sep:before{content:"";height:1px;width:30px;background:var(--ink-faint)}.reflect-sep span{font-size:.72rem;letter-spacing:2px;color:var(--ink-meta);white-space:nowrap}.reflect{margin:.55rem auto;max-width:30ch;text-align:center;font-size:clamp(1.06rem,2.6vw + .6rem,1.28rem);line-height:1.95;letter-spacing:.01em;color:var(--ink-emphasis);opacity:0;transform:translateY(10px);filter:blur(6px);transition:opacity 1.3s var(--ease),transform 1.3s var(--ease),filter 1.3s var(--ease)}.reflect.in{opacity:.82;transform:none;filter:blur(0)}.reflect.in.current{opacity:1;text-shadow:0 0 22px rgba(243,236,228,.12)}.cover-echo{position:fixed;inset:0;z-index:-1;display:flex;align-items:center;justify-content:center;padding:8vw;pointer-events:none}.cover-echo span{max-width:16ch;text-align:center;font-size:clamp(1.5rem,7vw,2.9rem);font-weight:200;line-height:1.7;letter-spacing:2px;color:rgba(236,232,225,.055);animation:echoBreath 9s ease-in-out infinite}@keyframes echoBreath{0%,to{opacity:.55}50%{opacity:1}}@media (prefers-reduced-motion:reduce){.reflect{transform:none!important;filter:none!important;transition:opacity .8s ease!important}.cover-echo span{animation:none!important}}.ix-music,.music-group{display:inline-flex;align-items:center;gap:8px}.ix-music{position:fixed;top:14px;right:14px;z-index:6;padding:4px 6px}.vol{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:64px;height:20px;background:transparent;cursor:pointer;opacity:.7;transition:opacity .3s var(--ease)}.vol:hover{opacity:1}.vol::-webkit-slider-runnable-track{height:2px;background:rgba(236,232,225,.25);border-radius:2px}.vol::-moz-range-track{height:2px;background:rgba(236,232,225,.25);border-radius:2px}.vol::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:10px;height:10px;margin-top:-4px;border-radius:50%;background:var(--ink)}.vol::-moz-range-thumb{width:10px;height:10px;border:none;border-radius:50%;background:var(--ink)}.controls{flex-wrap:wrap;justify-content:center;max-width:94vw;row-gap:6px}@media (max-width:540px){.controls{gap:12px;bottom:16px;padding:8px 12px}.controls .sep{display:none}.tempo-group{gap:10px;font-size:.8rem}.vol{width:56px}.tap-hint{bottom:70px}.index-inner{padding:9vh 20px 16vh}.ix-title{font-size:1.7rem;letter-spacing:3px}.toc-item{padding:13px;gap:11px}.toc-blurb{font-size:.8rem}.reader-inner{padding:42vh 20px 50vh}.chat-inner{padding:38vh 16px 48vh;max-width:100%}.bcol{max-width:86%}.reflect{max-width:26ch}.chapter .num{font-size:2.2rem}.chapter .ch-title{font-size:1.3rem}}@media (max-width:380px){.tempo-group{gap:8px}.ctrl{min-width:40px}.ix-music{top:10px;right:10px}}.sig-bg{position:fixed;inset:0;z-index:-1;background-image:url(/ending.jpg);background-size:cover;background-position:center 38%;filter:blur(7px) brightness(.42) grayscale(.18);transform:scale(1.06);opacity:0;animation:sigBgIn 4.5s var(--ease) forwards}.sig-bg:after{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 50%,rgba(7,6,5,.4) 0,rgba(7,6,5,.86) 100%)}@keyframes sigBgIn{to{opacity:.5}}.nowplaying{position:fixed;top:14px;left:16px;z-index:6;display:flex;align-items:center;gap:8px;max-width:56vw;font-size:.72rem;letter-spacing:.5px;color:var(--ink-meta);opacity:.55;pointer-events:none;animation:softIn 1.4s var(--ease) both}.np-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.np-eq{display:inline-flex;align-items:flex-end;gap:2px;height:11px;flex:none}.np-eq i{width:2px;height:100%;background:var(--ink-signoff);transform-origin:bottom;transform:scaleY(.3);animation:eq .9s ease-in-out infinite}.np-eq i:nth-child(2){animation-delay:.25s}.np-eq i:nth-child(3){animation-delay:.45s}@keyframes eq{0%,to{transform:scaleY(.3)}50%{transform:scaleY(1)}}.nowplaying.muted .np-eq i{animation:none;transform:scaleY(.3)}@media (prefers-reduced-motion:reduce){.np-eq i{transform:scaleY(.6)}.np-eq i,.sig-bg{animation:none!important}.sig-bg{opacity:.5}}