@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:300;font-display:swap;src:url(./noto-sans-sc-300-CEaNG8BJ.woff2) format("woff2")}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:400;font-display:swap;src:url(./noto-sans-sc-400-jOr-Uoa4.woff2) format("woff2")}@font-face{font-family:Noto Sans SC;font-style:normal;font-weight:500;font-display:swap;src:url(./noto-sans-sc-500-DcA6Ivfh.woff2) format("woff2")}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:400;font-display:swap;src:url(./noto-serif-sc-400-DEO6a6X0.woff2) format("woff2")}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:600;font-display:swap;src:url(./noto-serif-sc-600-BrH5uXt-.woff2) format("woff2")}@font-face{font-family:"Noto Serif SC";font-style:normal;font-weight:700;font-display:swap;src:url(./noto-serif-sc-700-BbbCIU_h.woff2) format("woff2")}*{margin:0;padding:0;box-sizing:border-box}:root{--bg-cream: #FDF7EF;--ink: #4A4038;--ink-soft: #8A7D6F;--coral: #E8877C;--coral-deep: #E06A5E;--sakura: #F9A8C0;--sakura-deep: #F07AA0;--peach: #FFC9A3;--peach-deep: #FFB07D;--mint: #8FD8B4;--mint-deep: #5FBF95;--sky: #8EC5E8;--sky-deep: #6FAEDD;--lemon: #F7D879;--lemon-deep: #EFC135;--lavender: #C9A0DC;--lavender-deep: #A98BB8;--lilac: #E4DAF3;--rose: #FFD9E4;--accent: #E8877C;--accent-deep: #E06A5E;--paper: #FFFDF8;--line: #F0E3D3;--teal: #72C9C9;--teal-deep: #4AAFAF;--amber: #F5B942;--amber-deep: #E09B20;--blush: #FF9EB5;--mx: .5;--my: .5;--font-serif: "Noto Serif SC", "Source Han Serif SC", "STSong", "SimSun", serif;--font-sans: "Noto Sans SC", "Source Han Sans SC", "Microsoft YaHei", sans-serif;--sp-1: 6px;--sp-2: 12px;--sp-3: 20px;--sp-4: 32px;--sp-5: 48px;--r-sm: 10px;--r-md: 16px;--r-lg: 22px;--r-xl: 30px;--r-pill: 999px;--shadow-sm: 0 2px 10px rgba(74, 64, 56, .08);--shadow-md: 0 6px 22px rgba(74, 64, 56, .12);--shadow-lg: 0 14px 40px rgba(74, 64, 56, .18);--shadow-xl: 0 24px 60px rgba(74, 64, 56, .25);--transition-page: .55s;--transition-fast: .16s;--transition-mid: .28s;--transition-slow: .55s}html,body{height:100%}body{font-family:var(--font-sans);color:var(--ink);background:var(--bg-cream);overflow:hidden;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;touch-action:manipulation}#app{height:100vh;height:100dvh}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}.cute-icon{display:inline-block;vertical-align:-3px;flex-shrink:0}.cute-icon-filled{vertical-align:-3px}.icon-label{display:inline-flex;align-items:center;gap:7px;line-height:1}.cursor-glow{position:fixed;left:0;top:0;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(249,168,192,.3) 0%,rgba(255,201,163,.22) 30%,rgba(142,197,232,.12) 60%,transparent 72%);pointer-events:none;z-index:3;mix-blend-mode:soft-light;will-change:transform;transition:opacity .4s ease}.cursor-spark{position:fixed;pointer-events:none;z-index:4;font-weight:700;animation:sparkFloat .72s ease-out forwards;text-shadow:0 0 8px rgba(255,255,255,.8)}@keyframes sparkFloat{0%{opacity:1;transform:translateY(0) scale(1) rotate(0)}to{opacity:0;transform:translateY(-30px) scale(.3) rotate(50deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pageIn{0%{opacity:0;transform:translateY(26px) scale(.985);filter:blur(4px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes pageInLeft{0%{opacity:0;transform:translate(-30px) scale(.99);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes pageInRight{0%{opacity:0;transform:translate(30px) scale(.99);filter:blur(3px)}to{opacity:1;transform:none;filter:blur(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.82) translateY(12px)}60%{opacity:1;transform:scale(1.04) translateY(-3px)}to{opacity:1;transform:scale(1) translateY(0)}}@keyframes popInBounce{0%{opacity:0;transform:scale(.75)}55%{transform:scale(1.08)}75%{transform:scale(.97)}to{opacity:1;transform:scale(1)}}@keyframes slideUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:none}}@keyframes wiggle{0%,to{transform:rotate(0)}25%{transform:rotate(-2.4deg)}75%{transform:rotate(2.4deg)}}@keyframes floatY{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes floatYSlow{0%,to{transform:translateY(0) rotate(0)}33%{transform:translateY(-8px) rotate(2deg)}66%{transform:translateY(-4px) rotate(-1.5deg)}}@keyframes lampSway{0%{transform:translateY(0) rotate(-3deg)}to{transform:translateY(4px) rotate(3deg)}}@keyframes riverShimmer{0%{background-position:0 0}to{background-position:0 24px}}@keyframes veilPulse{0%{opacity:0}to{opacity:1}}@keyframes spinSlow{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.06);opacity:.85}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.flow-wave{position:absolute;left:-50%;width:200%;height:90px;pointer-events:none;background-repeat:repeat-x;background-size:480px 100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 480 90'%3E%3Cpath d='M0 55 Q 60 25 120 55 T 240 55 T 360 55 T 480 55 V90 H0 Z' fill='%23F9A8C0' fill-opacity='.28'/%3E%3Cpath d='M0 65 Q 60 40 120 65 T 240 65 T 360 65 T 480 65 V90 H0 Z' fill='%238EC5E8' fill-opacity='.22'/%3E%3Cpath d='M0 74 Q 60 55 120 74 T 240 74 T 360 74 T 480 74 V90 H0 Z' fill='%23FFC9A3' fill-opacity='.38'/%3E%3C/svg%3E");animation:waveFlow 9s linear infinite}.flow-wave.flow-wave-rev{animation-direction:reverse;opacity:.7}@keyframes waveFlow{0%{transform:translate(0)}to{transform:translate(480px)}}.flow-stream{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 28%,rgba(255,255,255,.14) 40%,rgba(249,168,192,.2) 48%,rgba(255,201,163,.18) 55%,rgba(255,255,255,.12) 63%,transparent 75%);background-size:280% 280%;animation:streamFlow 7s ease-in-out infinite}@keyframes streamFlow{0%{background-position:6% 10%}50%{background-position:94% 90%}to{background-position:6% 10%}}.doodle-dash{position:absolute;pointer-events:none;background-repeat:no-repeat;background-size:100% 100%;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 40'%3E%3Cpath d='M4 30 C 40 6 76 38 110 16 S 180 8 196 24' fill='none' stroke='%23F9A8C0' stroke-width='3' stroke-linecap='round' stroke-dasharray='1 9'/%3E%3C/svg%3E");animation:dashDrift 7s ease-in-out infinite alternate}@keyframes dashDrift{0%{transform:translate(0)}to{transform:translate(18px)}}.bubble-particle{position:absolute;border-radius:50%;pointer-events:none;animation:bubbleRise linear infinite;opacity:0}@keyframes bubbleRise{0%{transform:translateY(0) translate(0) scale(1);opacity:0}10%{opacity:.7}90%{opacity:.4}to{transform:translateY(-100px) translate(var(--drift, 15px)) scale(0);opacity:0}}@keyframes rainbowGlow{0%{filter:hue-rotate(0deg)}to{filter:hue-rotate(360deg)}}@keyframes heartbeat{0%,to{transform:scale(1)}14%{transform:scale(1.3)}28%{transform:scale(1)}42%{transform:scale(1.2)}70%{transform:scale(1)}}@keyframes glowPulse{0%,to{box-shadow:0 0 #f9a8c000}50%{box-shadow:0 0 30px #f9a8c080,0 0 60px #f9a8c040}}@keyframes starTwinkle{0%,to{opacity:1;transform:scale(1)}50%{opacity:.4;transform:scale(.7) rotate(30deg)}}@keyframes ripple{0%{transform:scale(0);opacity:.8}to{transform:scale(4);opacity:0}}@keyframes cardSlideIn{0%{opacity:0;transform:translateY(30px) scale(.96)}to{opacity:1;transform:none}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes confettiFall{0%{transform:translateY(-10px) rotate(0);opacity:1}to{transform:translateY(100vh) rotate(720deg);opacity:0}}@keyframes breatheGlow{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.05)}}.mouse-parallax-layer{transition:transform .15s ease-out;will-change:transform}.glass{background:#fffdf8b8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.5)}.glass-dark{background:#28201ca6;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.08)}.gradient-text{background:linear-gradient(135deg,var(--coral),var(--sakura),var(--lavender));-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent}.candy-dots:before{content:"";display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--sakura);box-shadow:14px 0 0 -1px var(--mint),28px 0 0 -1px var(--sky);margin-right:36px;vertical-align:2px}.ripple-btn{position:relative;overflow:hidden}.ripple-btn:after{content:"";position:absolute;left:var(--rx, 50%);top:var(--ry, 50%);width:0;height:0;background:#ffffff59;border-radius:50%;transform:translate(-50%,-50%);pointer-events:none}.ripple-btn.rippling:after{animation:rippleExpand .5s ease-out forwards}@keyframes rippleExpand{to{width:300px;height:300px;opacity:0}}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f0e3d34d;border-radius:3px}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,var(--sakura),var(--coral));border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--coral-deep)}.bg-bubbles-wrap{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}.bg-bubble{position:absolute;border-radius:50%;animation:bgBubbleFloat linear infinite;opacity:0}@keyframes bgBubbleFloat{0%{transform:translateY(110%) scale(0);opacity:0}5%{opacity:.55}90%{opacity:.25}to{transform:translateY(-10%) scale(1.2);opacity:0}}.curve-divider{position:absolute;left:0;width:100%;pointer-events:none;overflow:hidden;line-height:0}.curve-divider svg{display:block;width:100%}.tag-badge{display:inline-flex;align-items:center;gap:4px;padding:3px 10px 3px 8px;border-radius:var(--r-pill);font-size:11px;font-weight:700;letter-spacing:1px;box-shadow:0 2px 8px #4a403814}.badge-sakura{background:#ffe6ee;color:#e06a8b;border:1px solid #FFCCD9}.badge-mint{background:#e2f8ee;color:#3c9f75;border:1px solid #C4EED9}.badge-sky{background:#e6f3fb;color:#4b90ca;border:1px solid #C8E3F6}.badge-lemon{background:#fef8e3;color:#c99616;border:1px solid #FBEAB2}.badge-lavender{background:#f3ecf8;color:#8c64a6;border:1px solid #E3D3ED}.badge-peach{background:#fff0e6;color:#e27344;border:1px solid #FFDEC8}.frosted-card{background:#fffdf8e0;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1.5px solid rgba(255,255,255,.7);box-shadow:0 8px 32px #4a40381a,inset 0 1px #fffc}.flow-wave-wrap{position:absolute;left:0;right:0;bottom:0;height:120px;pointer-events:none;overflow:hidden;z-index:1}.flow-wave-layer{position:absolute;left:-50%;width:250%;height:100%;background-repeat:repeat-x;background-size:600px 100%;will-change:transform}.flow-wave-back{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 120'%3E%3Cpath d='M0 70 Q 75 35 150 70 T 300 70 T 450 70 T 600 70 V120 H0 Z' fill='%23C9A0DC' fill-opacity='.18'/%3E%3C/svg%3E");animation:waveFlow 14s linear infinite;opacity:.75}.flow-wave-mid{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 120'%3E%3Cpath d='M0 80 Q 75 45 150 80 T 300 80 T 450 80 T 600 80 V120 H0 Z' fill='%238EC5E8' fill-opacity='.22'/%3E%3C/svg%3E");animation:waveFlow 10s linear infinite reverse}.flow-wave-front{background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 600 120'%3E%3Cpath d='M0 90 Q 75 58 150 90 T 300 90 T 450 90 T 600 90 V120 H0 Z' fill='%23F9A8C0' fill-opacity='.28'/%3E%3C/svg%3E");animation:waveFlow 7.5s linear infinite}.water-ripples{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:1}.water-ring{position:absolute;border-radius:50%;border:1.5px solid rgba(249,168,192,.45);box-shadow:0 0 12px #8ec5e84d;animation:waterRingExpand 4.5s ease-out infinite;opacity:0}@keyframes waterRingExpand{0%{transform:scale(.2);opacity:.7}60%{opacity:.35}to{transform:scale(3.2);opacity:0}}.doodle-sparkle{position:absolute;pointer-events:none;animation:doodleTwinkle 3s ease-in-out infinite alternate}@keyframes doodleTwinkle{0%{transform:scale(.8) rotate(-10deg);opacity:.5}50%{transform:scale(1.15) rotate(15deg);opacity:.95}to{transform:scale(.9) rotate(5deg);opacity:.6}}.cute-bouncy{transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s ease,filter .22s ease}.cute-bouncy:active{transform:scale(.95) translateY(2px)!important}.cute-glow-border{position:relative}.cute-glow-border:after{content:"";position:absolute;inset:-3px;border-radius:inherit;background:linear-gradient(135deg,var(--sakura),var(--peach),var(--sky),var(--mint));background-size:300% 300%;animation:gradientShift 6s ease infinite;z-index:-1;opacity:0;transition:opacity .3s ease}.cute-glow-border:hover:after{opacity:.75}@media (prefers-reduced-motion: reduce){.candy,.title-mascot,.mascot-bubble,.flow-wave,.flow-wave-layer,.flow-stream,.doodle-dash,.cursor-spark,.bg-bubble,.bubble-particle,.water-ring,.doodle-sparkle,.cute-glow-border:after{animation:none!important}}.screen{position:relative;height:100vh;height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;animation:pageIn .55s cubic-bezier(.22,.9,.3,1) both;overflow:hidden}.loading-screen{color:var(--ink-soft);font-size:15px;letter-spacing:2px}.title-screen{background:radial-gradient(circle at 82% 20%,rgba(249,168,192,.35),transparent 42%),radial-gradient(circle at 12% 84%,rgba(142,197,232,.3),transparent 46%),radial-gradient(circle at 50% 108%,rgba(255,201,163,.6),transparent 58%),linear-gradient(165deg,#fff9f0,#ffeddd 48%,#ffe0c8)}.title-shapes{position:absolute;inset:0;pointer-events:none;z-index:1}.candy{position:absolute;opacity:.8;filter:drop-shadow(0 4px 10px rgba(232,135,124,.18))}.candy-1{left:8%;top:18%;animation:floatY 4.2s ease-in-out infinite;transform:translate(calc((var(--mx) - .5) * 34px),calc((var(--my) - .5) * 26px))}.candy-2{left:26%;top:64%;animation:floatY 5.1s ease-in-out infinite reverse;transform:translate(calc((var(--mx) - .5) * -22px),calc((var(--my) - .5) * 18px))}.candy-3{right:10%;top:12%;animation:floatY 4.6s ease-in-out infinite;transform:translate(calc((var(--mx) - .5) * -34px),calc((var(--my) - .5) * -20px))}.candy-4{right:30%;top:74%;animation:floatY 5.6s ease-in-out infinite reverse;transform:translate(calc((var(--mx) - .5) * 20px),calc((var(--my) - .5) * -26px))}.candy-5{left:48%;top:8%;animation:floatY 4.9s ease-in-out infinite reverse}.candy-6{right:6%;bottom:26%;animation:floatY 4.4s ease-in-out infinite}.title-wave{bottom:-4px;z-index:1}.title-side{position:relative;z-index:2;align-self:center;margin-left:clamp(20px,12vw,170px);margin-right:auto;transform:translate(calc((var(--mx) - .5) * 10px))}.title-wrap{text-align:left}.title-sub{font-size:12px;letter-spacing:10px;color:var(--coral-deep);margin-bottom:14px}.title-main{font-family:var(--font-serif);font-size:clamp(46px,8vw,78px);font-weight:700;letter-spacing:.14em;color:var(--ink);text-shadow:0 3px 0 #fff,0 10px 26px rgba(232,135,124,.28)}.title-main span,.title-main{animation:none}.title-tagline{margin-top:16px;font-family:var(--font-serif);color:var(--ink-soft);font-size:15px;letter-spacing:3px;position:relative;display:inline-block}.title-tagline:after{content:"";position:absolute;left:0;right:-8px;bottom:-8px;height:12px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 200 12'%3E%3Cpath d='M2 8 C 30 2 60 10 100 5 S 170 2 198 7' fill='none' stroke='%23F9A8C0' stroke-width='4' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat;background-size:100% 100%}.title-menu{margin-top:40px;display:flex;flex-direction:column;gap:12px;width:min(300px,78vw)}.menu-btn{position:relative;display:flex;align-items:center;justify-content:center;padding:13px 20px;border-radius:999px;background:#fffdf8eb;border:2px solid var(--line);color:var(--ink);font-size:15px;letter-spacing:4px;text-indent:2px;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease,background .18s ease;box-shadow:0 4px 14px #e8877c1a}.menu-btn:active{transform:translateY(0) scale(.98)}.menu-btn-play{background:linear-gradient(135deg,var(--coral),var(--coral-deep));color:#fff;border:none;letter-spacing:6px}.menu-btn-continue{background:linear-gradient(135deg,var(--mint),var(--mint-deep));color:#fff;border:none}.menu-btn-gallery{background:linear-gradient(135deg,#FFD9E4,var(--sakura));border-color:#e982a559}.menu-btn-gallery .cute-icon{color:var(--coral-deep)}.menu-btn-music{background:linear-gradient(135deg,#e4daf3,#c9a0dc);border-color:#a98bb861}.menu-btn-music .cute-icon{color:#8c6ba8}.menu-btn-settings{background:linear-gradient(135deg,#D8F3E5,var(--mint));border-color:#5fbf9559}.menu-btn-settings .cute-icon{color:var(--mint-deep)}.menu-btn-ghost{background:transparent;border-color:transparent;color:var(--ink-soft);font-size:13px;box-shadow:none}.menu-btn-stack{display:flex;flex-direction:column;align-items:center;gap:3px}.menu-btn-note{font-size:11px;letter-spacing:1px;color:#ffffffd9;text-indent:0;max-width:220px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.title-mascot{position:absolute;right:clamp(16px,9vw,140px);bottom:12%;z-index:2;animation:mascotBounce 3.4s ease-in-out infinite;transform-origin:bottom center;filter:drop-shadow(0 12px 24px rgba(232,135,124,.22));transition:transform .2s ease}.title-mascot.mascot-react{animation:mascotHop .45s cubic-bezier(.34,1.56,.64,1)}@keyframes mascotHop{0%{transform:translateY(0) scale(1)}40%{transform:translateY(-24px) scale(1.12) rotate(4deg)}70%{transform:translateY(-6px) scale(.96) rotate(-2deg)}to{transform:translateY(0) scale(1)}}@keyframes mascotBounce{0%,to{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-14px) rotate(1.5deg)}}.mascot-bubble{position:absolute;top:-6px;left:-84px;background:#fff;color:var(--coral-deep);font-size:13px;letter-spacing:1px;padding:8px 14px;border-radius:999px 999px 999px 4px;border:2px solid var(--sakura);box-shadow:0 6px 16px #e8877c2e;animation:floatY 2.6s ease-in-out infinite;white-space:nowrap}.mascot-bubble.bubble-pop{animation:bubblePopAnim .35s cubic-bezier(.34,1.56,.64,1) both}@keyframes bubblePopAnim{0%{transform:scale(.7) translateY(8px);opacity:0}60%{transform:scale(1.08) translateY(-2px);opacity:1}to{transform:scale(1) translateY(0);opacity:1}}@media (max-width: 760px){.title-side{margin:0 auto;text-align:center}.title-wrap{text-align:center}.title-mascot{width:130px;right:4%;bottom:2%;opacity:.9}.mascot-bubble{display:none}.title-menu{margin-inline:auto}}.story-select-screen{background:radial-gradient(circle at 88% 8%,rgba(247,216,121,.3),transparent 34%),radial-gradient(circle at 4% 92%,rgba(249,168,192,.28),transparent 40%),linear-gradient(180deg,#fdf7ef,#fbeddc);justify-content:flex-start;padding:24px 20px 40px;overflow-y:auto}.story-select-screen .flow-wave{top:-6px;bottom:auto;opacity:.55}.select-header{width:min(1060px,100%);display:flex;align-items:center;gap:16px;margin:14px 0 24px}.select-title-box{display:flex;flex-direction:column;gap:2px}.select-sub{font-size:12px;letter-spacing:2px;color:var(--ink-soft)}.back-btn{display:inline-flex;align-items:center;gap:4px;font-size:14px;color:var(--ink-soft);padding:8px 16px 8px 12px;border-radius:999px;border:2px solid var(--line);background:#fffdf8e6;transition:all .18s cubic-bezier(.34,1.56,.64,1)}.select-title{font-family:var(--font-serif);font-size:25px;letter-spacing:6px;color:var(--ink);position:relative}.card-top-bar{display:flex;align-items:center;justify-content:space-between;width:100%;margin-bottom:6px}.story-cards{width:min(1060px,100%);display:grid;grid-template-columns:repeat(3,1fr);gap:26px;align-items:start}.story-card{position:relative;text-align:left;background:var(--paper);border:2px solid var(--line);border-radius:22px;padding:28px 22px 20px;overflow:visible;transition:transform .22s cubic-bezier(.34,1.56,.64,1),box-shadow .22s ease;animation:popIn .5s ease both;animation-delay:calc(var(--card-i, 0) * .09s);box-shadow:0 8px 22px #4a403812}.story-card:before{content:"";position:absolute;inset:8px;border-radius:16px;border:2px dashed color-mix(in srgb,var(--theme) 42%,transparent);pointer-events:none}.story-card.card-v1{--theme: #E8877C;transform:rotate(-1.2deg);border-radius:30px 22px}.story-card.card-v1:after{content:"";position:absolute;right:16px;top:14px;width:64px;height:64px;background:radial-gradient(circle at 32% 32%,#FFD9CC,var(--peach) 70%);border-radius:50% 50% 50% 12%;opacity:.5}.story-card.card-v2{--theme: #8EC5E8;border-radius:22px 30px}.story-card.card-v2:after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;opacity:.5;background:repeating-linear-gradient(105deg,transparent 0 14px,rgba(142,197,232,.22) 14px 16px,transparent 16px 30px)}.story-card.card-v3{--theme: #A98BB8;transform:rotate(1.2deg);border-radius:24px}.story-card.card-v3:after{content:"";position:absolute;right:12px;bottom:8px;width:42px;height:32px;background:linear-gradient(135deg,transparent 47%,rgba(169,139,184,.5) 47% 53%,transparent 53%),linear-gradient(#f6effa,#f6effa);border:2px solid rgba(169,139,184,.45);border-radius:8px;transform:rotate(-8deg);pointer-events:none;z-index:0;transition:opacity .2s ease}.story-card.card-v3.bookmarks-open:after{opacity:0}.story-card .card-badge{position:absolute;right:-10px;top:-12px;width:46px;height:46px;display:flex;align-items:center;justify-content:center;background:var(--theme);color:#fff;border-radius:50% 50% 50% 6px;box-shadow:0 6px 14px color-mix(in srgb,var(--theme) 45%,transparent);transform:rotate(8deg);transition:transform .25s cubic-bezier(.34,1.56,.64,1);pointer-events:none;z-index:2}.story-card .card-badge .cute-icon{color:#fff}.story-card .card-badge .card-badge-emoji{display:none}.story-card>.card-subtitle,.story-card>.card-title,.story-card>.card-intro,.story-card>.card-progress,.story-card>.card-bookmarks{position:relative;z-index:1}.card-subtitle{font-size:11px;letter-spacing:4px;color:var(--theme);font-weight:700;display:inline-flex;align-items:center;gap:5px;background:color-mix(in srgb,var(--theme) 12%,#fff);padding:4px 10px;border-radius:999px}.card-title{font-family:var(--font-serif);font-size:26px;letter-spacing:3px;margin:10px 0;color:var(--ink)}.card-intro{font-size:13px;line-height:1.9;color:var(--ink-soft);min-height:50px}.card-progress{margin-top:14px;display:flex;align-items:center;gap:4px;border-top:2px dashed var(--line);padding-top:12px;font-size:12px;color:var(--ink-soft);letter-spacing:1px}.card-progress .prog-heart{display:inline-flex}.card-progress .prog-heart.on{color:var(--theme);animation:heartPop .35s cubic-bezier(.34,1.56,.64,1) both}.card-progress .prog-heart.off{color:#e4d8c8}.card-progress .prog-count{margin-left:auto;color:var(--theme);font-weight:700}@keyframes heartPop{0%{transform:scale(0)}70%{transform:scale(1.25)}to{transform:scale(1)}}.card-bookmarks{margin-top:8px}.bookmark-toggle{font-size:12px;color:var(--ink-soft);padding:6px 0;letter-spacing:1px}.bookmark-list{display:flex;flex-direction:column;gap:4px;margin:4px 0 6px}.bookmark-item{text-align:left;font-size:12.5px;color:var(--ink);background:color-mix(in srgb,var(--theme) 7%,#fff);border:1.5px solid var(--line);border-radius:10px;padding:7px 10px;transition:all .15s ease}.gallery-screen{background:radial-gradient(circle at 10% 6%,rgba(142,197,232,.25),transparent 34%),radial-gradient(circle at 92% 90%,rgba(247,216,121,.28),transparent 38%),linear-gradient(180deg,#fdf7ef,#f6ebdd);justify-content:flex-start;padding:24px 20px 48px;overflow-y:auto}.gallery-screen .flow-wave{top:-6px;bottom:auto;opacity:.5}.gallery-grid{width:min(1060px,100%);display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:14px 0 34px}.gallery-story{position:relative;background:var(--paper);border:2px solid var(--line);border-radius:18px;padding:18px 16px 12px;overflow:hidden;animation:popIn .5s ease both;animation-delay:calc(var(--card-i, 0) * .08s)}.gallery-story:before{content:"";position:absolute;inset:0 0 auto;height:44px;background:linear-gradient(180deg,color-mix(in srgb,var(--theme) 16%,#fff),transparent)}.gallery-story-title{position:relative;font-family:var(--font-serif);font-size:18px;letter-spacing:2px;color:var(--ink);margin-bottom:12px;display:flex;align-items:center;gap:7px}.gallery-story-title .story-glyph{display:inline-flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:10px 10px 10px 3px;background:var(--theme);color:#fff;box-shadow:0 4px 10px color-mix(in srgb,var(--theme) 40%,transparent)}.gallery-story-count{font-size:12px;color:var(--theme);letter-spacing:1px;margin-left:auto}.gallery-card{position:relative;border:1.5px solid var(--line);border-radius:14px;padding:12px 14px 12px 18px;margin-bottom:8px;background:#fff;transition:transform .16s ease,box-shadow .16s ease}.gallery-card-header{display:flex;align-items:center;justify-content:space-between;width:100%;gap:8px}.gallery-type-badge{font-size:10px;font-weight:700;letter-spacing:1px;padding:2px 8px;border-radius:var(--r-pill);flex-shrink:0}.gallery-type-badge.type-true{background:#fff4d8;color:#d48806;border:1px solid #FFE58F}.gallery-type-badge.type-good{background:#ffe6ee;color:#e06a8b;border:1px solid #FFCCD9}.gallery-type-badge.type-normal{background:#fff7e6;color:#d46b08;border:1px solid #FFD591}.gallery-type-badge.type-bad{background:#ebf2f7;color:#5b7b94;border:1px solid #CDE0ED}.gallery-card:before{content:"";position:absolute;left:8px;top:10px;bottom:10px;width:4px;border-radius:4px;background:var(--etype, var(--accent))}.gallery-card-name{font-family:var(--font-serif);font-size:15px;letter-spacing:2px;color:var(--ink);display:flex;align-items:center;gap:6px}.gallery-card-name .cute-icon{color:var(--etype, var(--accent))}.gallery-card-summary{font-size:12px;color:var(--ink-soft);line-height:1.7;margin-top:5px}.gallery-card-date{font-size:11px;color:var(--etype, var(--accent));margin-top:6px;letter-spacing:1px}.gallery-card-cond{margin-top:6px;font-size:10.5px;color:color-mix(in srgb,var(--etype, var(--accent)) 70%,#B8AFA2);letter-spacing:.5px;opacity:.8;border-top:1px dashed var(--line);padding-top:5px}.gallery-card-locked{background:#f5efe6;border-style:dashed}.gallery-card-locked:before{background:#d8ccbb}.gallery-card-locked .gallery-card-name{color:#b8afa2}.gallery-card-locked .gallery-card-summary{color:#bdb4a6}.gallery-card-true{border-color:color-mix(in srgb,var(--etype) 55%,#fff);box-shadow:0 0 0 1.5px color-mix(in srgb,var(--etype) 30%,transparent)}.achievement-section{width:min(1060px,100%)}.achievement-card.achievement-unlocked{background:linear-gradient(135deg,#fff,color-mix(in srgb,var(--acolor) 12%,#fff));border-color:color-mix(in srgb,var(--acolor) 42%,#fff);box-shadow:0 4px 16px color-mix(in srgb,var(--acolor) 20%,transparent)}.achievement-grid{margin-top:16px;display:grid;grid-template-columns:repeat(3,1fr);gap:14px}.achievement-card{position:relative;background:var(--paper);border:2px solid var(--line);border-radius:16px;padding:14px 16px 14px 54px;transition:transform .16s ease}.achievement-card:before{content:"";position:absolute;left:14px;top:50%;width:30px;height:30px;transform:translateY(-50%);border-radius:10px 10px 10px 3px;background:var(--acolor, var(--lemon));opacity:.25}.achievement-name{font-size:14px;letter-spacing:2px;color:var(--ink);font-weight:700;display:flex;align-items:center;gap:6px}.achievement-name .cute-icon{color:var(--acolor, #E0B34D)}.achievement-desc{font-size:12px;color:var(--ink-soft);margin-top:5px;line-height:1.6}.achievement-locked{opacity:.55}.achievement-locked .achievement-name{color:#a79e90}.modal-overlay{position:fixed;inset:0;background:#4a40386b;display:flex;align-items:center;justify-content:center;z-index:90;animation:veilPulse .2s ease both;backdrop-filter:blur(3px)}.modal{width:min(480px,88vw);max-height:78vh;overflow-y:auto;background:var(--paper);border-radius:22px;padding:24px;border:2px solid #FFE8D6;box-shadow:0 22px 60px #4a403852;animation:popIn .3s cubic-bezier(.34,1.56,.64,1) both}.modal h3{font-family:var(--font-serif);font-size:19px;letter-spacing:4px;margin-bottom:16px;color:var(--ink);display:flex;align-items:center;gap:8px}.modal h3:before{content:"";width:10px;height:10px;border-radius:50% 50% 50% 2px;background:var(--sakura);box-shadow:16px 0 0 -2px var(--mint),32px 0 0 -2px var(--sky);margin-right:34px}.modal-close{display:block;width:100%;margin-top:16px;padding:10px;border-radius:12px;border:2px solid var(--line);color:var(--ink-soft);font-size:14px;letter-spacing:3px;transition:all .15s ease}.save-row{display:block;width:100%;text-align:left;padding:12px 14px;border:1.5px solid var(--line);border-radius:12px;font-size:13px;color:var(--ink);background:#fff;margin-bottom:8px;transition:all .15s ease}.save-row:disabled{opacity:.5;cursor:default}.settings-row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;font-size:14px;color:var(--ink)}.settings-row input[type=range]{width:55%;accent-color:var(--coral-deep)}.seg-group{display:flex;gap:6px}.seg-btn{padding:6px 12px;border-radius:10px;border:1.5px solid var(--line);font-size:12.5px;color:var(--ink-soft);transition:all .15s ease}.seg-btn.active{background:var(--coral);border-color:var(--coral);color:#fff;transform:scale(1.05)}.toggle-btn{width:52px;padding:6px 0;border-radius:999px;border:1.5px solid var(--line);font-size:12.5px;color:var(--ink-soft);background:var(--bg-cream);transition:all .18s ease}.toggle-btn.on{background:var(--mint);border-color:var(--mint);color:#fff}.about-body p{font-size:13.5px;line-height:2;color:var(--ink);margin-bottom:10px}.about-fine{font-size:11.5px!important;color:var(--ink-soft)!important}.sync-row{gap:10px;justify-content:stretch}.sync-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;padding:10px 0;border-radius:12px;font-size:13.5px;letter-spacing:2px;color:#fff;transition:transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .16s ease}.sync-export{background:linear-gradient(135deg,var(--mint),var(--mint-deep));box-shadow:0 5px 14px #5fbf9559}.sync-import{background:linear-gradient(135deg,var(--sky),var(--sky-deep));box-shadow:0 5px 14px #6faedd59}.sync-hint{font-size:11.5px;color:var(--ink-soft);line-height:1.7;margin-top:8px}.history-list{max-height:52vh;overflow-y:auto}.history-item{padding:9px 2px;border-bottom:1.5px dashed var(--line);font-size:13.5px;line-height:1.8}.history-who{display:inline-block;font-size:12px;color:var(--coral-deep);font-weight:700;margin-right:8px}.history-narration .history-text{color:var(--ink-soft)}.history-empty{color:var(--ink-soft);font-size:13px;padding:10px 0}#toast-root{position:fixed;top:20px;right:20px;z-index:200;display:flex;flex-direction:column;gap:10px}.toast{position:relative;background:#4a4038f0;color:#fbf6ee;border-radius:16px;padding:12px 18px 12px 48px;min-width:220px;box-shadow:0 12px 30px #4a403859;animation:popIn .35s cubic-bezier(.34,1.56,.64,1) both;transition:opacity .4s ease,transform .4s ease;overflow:hidden}.toast:before{content:"";position:absolute;left:14px;top:50%;width:22px;height:22px;transform:translateY(-50%);border-radius:8px 8px 8px 2px;background:linear-gradient(135deg,var(--lemon),var(--coral))}.toast.out{opacity:0;transform:translate(16px)}.toast-title{font-size:14px;letter-spacing:1px}.toast-desc{font-size:12px;opacity:.75;margin-top:4px}.ending-screen{background:#17140f;color:#f5efe6;text-align:center;overflow:hidden}.ending--normal{background:radial-gradient(circle at 50% 30%,#2b251e,#17140f 70%)}.ending--good{background:radial-gradient(circle at 50% 30%,#3a2731,#1a1210 70%)}.ending--true{background:radial-gradient(circle at 50% 30%,#3d2e1c,#161009 70%)}.ending--bad{background:#12100c}.ending--good .flow-stream,.ending--true .flow-stream{opacity:.9}.ending-inner{position:relative;z-index:2;max-width:620px;padding:0 24px}.ending-type{display:inline-flex;align-items:center;gap:6px;font-size:11px;letter-spacing:8px;color:#f5efe68c;margin-bottom:26px;padding:6px 18px 6px 20px;border:1.5px solid rgba(245,239,230,.22);border-radius:999px}.ending-type .cute-icon{color:var(--sakura)}.ending-name{font-family:var(--font-serif);font-size:clamp(30px,6vw,44px);letter-spacing:8px;font-weight:600;min-height:1.4em}.ending-epilogue{margin-top:30px;font-family:var(--font-serif);font-size:15.5px;line-height:2.3;color:#f5efe6d9;transition:opacity 1.1s ease;white-space:pre-wrap}.ending-meta{margin-top:18px;font-size:12px;color:#f5efe673;letter-spacing:1px;transition:opacity 1s ease}.ending-hint{margin-top:22px;font-size:13px;color:var(--peach);opacity:.9;transition:opacity 1s ease;letter-spacing:1px}.ending-collect{margin-top:26px;font-size:12px;color:#f5efe666;letter-spacing:2px;transition:opacity 1s ease}.ending-actions{margin-top:34px;display:flex;gap:12px;justify-content:center;flex-wrap:wrap;transition:opacity 1s ease}.ending-actions .menu-btn{background:#f5efe614;border-color:#f5efe633;color:#f5efe6}.ending-actions .menu-btn-primary{background:var(--coral);border:none}@media (max-width: 860px){.story-cards,.gallery-grid,.achievement-grid{grid-template-columns:1fr;width:min(480px,100%)}.title-main{letter-spacing:.12em}.title-menu{margin-top:34px}.story-card{transform:none!important}}@media (max-width: 480px){.select-title{font-size:19px;letter-spacing:4px}.card-intro{min-height:0}}@media (prefers-reduced-motion: reduce){.candy,.title-mascot,.mascot-bubble,.flow-wave,.flow-stream,.doodle-dash,.cursor-spark{animation:none!important}}.help-list{display:flex;flex-direction:column;gap:8px;max-height:52vh;overflow-y:auto;padding:4px 2px 8px}.help-row{display:flex;align-items:center;gap:12px;font-size:13.5px;color:var(--ink)}.help-row kbd{flex-shrink:0;min-width:132px;padding:5px 9px;border-radius:8px;background:var(--paper);border:1px solid var(--line);box-shadow:0 2px 0 var(--line);font-family:var(--font-sans);font-size:12px;letter-spacing:.5px;color:var(--ink-soft);text-align:center}.help-note{margin-top:10px;font-size:12.5px;line-height:1.8;color:var(--ink-soft)}.save-warn{margin:10px 0 0;font-size:12.5px;line-height:1.7;color:var(--coral-deep)}.gallery-map{margin:16px 0 8px;padding:12px 10px 6px;border:1px dashed var(--line);border-radius:16px;background:#fffdf8c7;overflow-x:auto}.map-loading{padding:20px;text-align:center;color:var(--ink-soft);font-size:13px;letter-spacing:1px}.story-map{display:block;min-width:760px}.map-edge{fill:none;stroke:#e7dac8;stroke-width:2;transition:stroke .3s ease}.map-edge-lit{stroke:var(--accent);stroke-width:2.6}.map-edge-gated{stroke-dasharray:5 4}.map-node rect{fill:#f4eadb;stroke:#e1d0ba;stroke-width:1.5}.map-node text{font-size:12px;fill:var(--ink-soft);font-family:var(--font-sans)}.map-node-choice rect{fill:#fdede6;stroke:#f0cdbd}.map-pseudo rect{stroke-dasharray:4 3;fill:#fdf7ff;stroke:#c9a9d6}.map-pseudo text{font-style:italic}.map-node-interaction rect{fill:#e9f7f0;stroke:#b9e2ce}.map-node-ending rect{fill:#fff6de;stroke:#f0dca6}.map-lit rect{fill:#fff;stroke:var(--accent);stroke-width:2;filter:drop-shadow(0 3px 8px rgba(224,106,94,.25))}.map-lit text{fill:var(--ink);font-weight:600}.map-dim{opacity:.6}.map-clickable{cursor:pointer}.map-clickable:focus-visible rect{stroke:var(--sky-deep);stroke-width:3}.map-legend{display:flex;flex-wrap:wrap;gap:16px;padding:8px 10px 4px;font-size:12px;color:var(--ink-soft)}.map-legend-item:before{content:"●";margin-right:6px}.map-legend-item.lg-lit:before{color:var(--accent)}.map-legend-item.lg-gated:before{color:#e7dac8}.map-legend-item.lg-dim:before{color:#c9bba8}@media (hover: hover){.menu-btn:hover{transform:translateY(-3px) rotate(-1deg) scale(1.02);box-shadow:0 10px 24px #e8877c42}.menu-btn-play:hover{background:linear-gradient(135deg,#f29a8e,#e8796c)}.menu-btn-continue:hover{background:linear-gradient(135deg,#9ee2c1,#6fcba2)}.menu-btn-ghost:hover{background:#fffdf8cc;box-shadow:none}.back-btn:hover{color:var(--coral-deep);border-color:var(--sakura);transform:translate(-3px)}.story-card:hover{transform:translateY(-8px) rotate(0) scale(1.015);box-shadow:0 20px 40px #4a403824}.story-card:hover .card-badge{transform:rotate(-6deg) scale(1.12)}.bookmark-toggle:hover{color:var(--theme)}.bookmark-item:hover{background:#fff;border-color:var(--theme);transform:translate(3px)}.gallery-card:hover{transform:translate(4px);box-shadow:0 6px 16px #4a40381a}.achievement-card:hover{transform:translateY(-3px) rotate(-.5deg)}.modal-close:hover{background:var(--bg-cream);color:var(--ink);border-color:var(--sakura)}.save-row:hover:not(:disabled){border-color:var(--coral);background:#fff6ef;transform:translate(3px)}.sync-btn:hover{transform:translateY(-2px)}.ending-actions .menu-btn:hover{background:#f5efe629;box-shadow:none}.ending-actions .menu-btn-primary:hover{background:var(--coral-deep)}.map-clickable:hover rect{stroke-width:3}}@media (max-width: 760px),(pointer: coarse){.seg-btn,.toggle-btn,.bookmark-toggle,.bookmark-item,.sync-btn,.modal-close,.back-btn,.save-row{min-height:44px}.seg-btn,.toggle-btn,.bookmark-toggle,.sync-btn,.back-btn{display:inline-flex;align-items:center;justify-content:center}.toggle-btn{width:68px}.bookmark-toggle{padding:0 4px}.save-row,.bookmark-item{display:flex;align-items:center}}.music-room-screen{background:radial-gradient(circle at 88% 10%,rgba(201,160,220,.26),transparent 36%),radial-gradient(circle at 6% 92%,rgba(142,197,232,.24),transparent 40%),linear-gradient(180deg,#fdf7ef,#f5eae1);justify-content:flex-start;padding:24px 20px 48px;overflow-y:auto}.music-room-screen .flow-wave{top:-6px;bottom:auto;opacity:.5}.music-count{margin-left:auto;font-size:12.5px;letter-spacing:2px;color:var(--ink-soft)}.music-hint{grid-column:1 / -1;font-size:12px;line-height:1.7;color:var(--ink-soft)}.music-list{width:min(1060px,100%);display:grid;grid-template-columns:repeat(3,1fr);gap:22px;margin:14px 0 30px;align-items:start}.music-card{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;background:var(--paper);border:2px solid var(--line);border-radius:20px;padding:22px 18px 18px;box-shadow:0 8px 22px #4a403812;animation:popIn .5s ease both;animation-delay:calc(var(--card-i, 0) * .08s);transition:transform .2s cubic-bezier(.34,1.56,.64,1),box-shadow .2s ease}.music-card:before{content:"";position:absolute;inset:0 0 auto;height:54px;border-radius:18px 18px 0 0;background:linear-gradient(180deg,color-mix(in srgb,var(--theme) 16%,#fff),transparent);pointer-events:none}.music-disc-wrap{position:relative;display:inline-flex;align-items:center;justify-content:center}.music-disc{position:relative;width:92px;height:92px;margin:4px 0 14px;border-radius:50%;background:radial-gradient(circle at 32% 26%,rgba(255,255,255,.7),transparent 44%),repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.18) 0 2px,transparent 2px 5px),conic-gradient(from 0deg,color-mix(in srgb,var(--theme) 92%,#fff),color-mix(in srgb,var(--theme) 52%,#fff),color-mix(in srgb,var(--theme) 92%,#fff));box-shadow:0 10px 22px color-mix(in srgb,var(--theme) 34%,transparent),inset 0 0 0 6px #ffffff52}.music-disc:after{content:"";position:absolute;left:50%;top:50%;width:26px;height:26px;transform:translate(-50%,-50%);border-radius:50%;background:var(--paper);box-shadow:inset 0 0 0 3px color-mix(in srgb,var(--theme) 45%,#fff)}.music-floating-notes{position:absolute;inset:-14px;pointer-events:none;opacity:0;transition:opacity .35s ease}.music-card-playing .music-floating-notes{opacity:1}.float-note{position:absolute;font-size:15px;font-weight:700;color:var(--theme);animation:floatNoteAnim 2.6s ease-in-out infinite;text-shadow:0 2px 8px rgba(255,255,255,.8)}.float-note-1{left:-8px;top:12px;animation-delay:0s}.float-note-2{right:-8px;top:16px;animation-delay:.85s}.float-note-3{left:42%;top:-16px;animation-delay:1.7s}@keyframes floatNoteAnim{0%{transform:translateY(0) scale(.8) rotate(-10deg);opacity:0}50%{opacity:.95}to{transform:translateY(-28px) scale(1.2) rotate(25deg);opacity:0}}.music-card-playing .music-disc{animation:musicSpin 3.6s linear infinite}@keyframes musicSpin{to{transform:rotate(360deg)}}.music-title{display:flex;align-items:center;gap:6px;font-family:var(--font-serif);font-size:15.5px;letter-spacing:1px;line-height:1.5;color:var(--ink)}.music-title .cute-icon{color:var(--theme)}.music-story{margin-top:5px;font-size:12px;letter-spacing:1px;color:var(--theme)}.music-note{width:100%;margin-top:12px;padding-top:10px;border-top:1.5px dashed var(--line);text-align:left}.music-note-label{display:flex;font-size:11px;letter-spacing:1px;color:var(--ink-soft);opacity:.85}.music-note-text{margin-top:5px;font-size:12px;line-height:1.8;color:var(--ink-soft)}.music-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:14px}.music-play-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:9px 22px;border-radius:999px;font-size:13.5px;letter-spacing:2px;color:#fff;background:linear-gradient(135deg,color-mix(in srgb,var(--theme) 78%,#fff),var(--theme));box-shadow:0 6px 16px color-mix(in srgb,var(--theme) 34%,transparent);transition:transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .16s ease}.music-play-btn.on{background:linear-gradient(135deg,#f29a8e,#e8796c);box-shadow:0 6px 16px #e8877c52}.music-state{margin-top:8px;font-size:11.5px;letter-spacing:1px;color:var(--ink-soft);display:inline-flex;align-items:center;justify-content:center;gap:4px}.music-eq{display:inline-flex;align-items:flex-end;gap:2.5px;height:12px;margin-right:4px;vertical-align:-1px}.eq-bar{width:3px;background:var(--coral-deep);border-radius:2px;animation:eqJump .8s ease-in-out infinite alternate}.eq-b1{height:4px;animation-delay:0s}.eq-b2{height:11px;animation-delay:.2s}.eq-b3{height:7px;animation-delay:.4s}.eq-b4{height:10px;animation-delay:.1s}@keyframes eqJump{0%{height:3px}to{height:12px}}.music-card-locked{background:#f5efe6;border-style:dashed;box-shadow:none}.music-card-locked:before{display:none}.music-card-locked .music-title{color:#b8afa2}.music-card-locked .music-title .cute-icon{color:#c9bba8}.music-card-locked .music-disc{background:repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.5) 0 2px,transparent 2px 5px),#d8ccbb;box-shadow:none;filter:grayscale(1);opacity:.55}.music-card-locked .music-disc:after{background:#f5efe6;box-shadow:inset 0 0 0 3px #d8ccbb}.music-card-locked .music-hint{margin-top:10px;text-align:center;color:#bdb4a6}@media (hover: hover){.music-card:hover{transform:translateY(-5px);box-shadow:0 16px 32px #4a40381f}.music-play-btn:hover{transform:translateY(-2px) scale(1.03)}}@media (max-width: 860px){.music-list{grid-template-columns:1fr;width:min(480px,100%)}.music-card{transform:none!important}}@media (max-width: 760px),(pointer: coarse){.music-play-btn{min-height:44px;padding:0 26px}}@media (prefers-reduced-motion: reduce){.music-card-playing .music-disc{animation:none!important}}.title-auth-btn{position:absolute;top:22px;right:26px;z-index:5;padding:9px 18px;border-radius:999px;border:2px solid #FFE3D1;background:#fffdf8d1;color:var(--ink-soft);font-size:13px;letter-spacing:1px;box-shadow:0 4px 14px #e8877c24;transition:all .18s ease;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.title-auth-btn:hover{transform:translateY(-2px);border-color:var(--coral);color:var(--coral-deep)}.title-auth-btn.logged-in{border-color:var(--mint);color:#3e9c77;background:#f0fdf6d9}.auth-modal{width:min(400px,88vw)}.auth-tip{font-size:12.5px;color:var(--ink-soft);line-height:1.7;margin-bottom:14px}.auth-field{margin-bottom:12px}.auth-field label{display:block;font-size:12px;letter-spacing:2px;color:var(--ink-soft);margin-bottom:5px}.auth-field input{width:100%;padding:10px 12px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font-size:14px;color:var(--ink);transition:border-color .15s ease,box-shadow .15s ease}.auth-field input:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 3px #e8877c24}.auth-status{min-height:18px;font-size:12px;margin:6px 0 2px;color:var(--ink-soft)}.auth-status.ok{color:#3e9c77}.auth-status.err{color:var(--coral-deep)}.auth-actions{display:flex;gap:10px;margin-top:8px}.auth-btn{flex:1;padding:11px 0;border-radius:13px;font-size:14px;letter-spacing:3px;color:#fff;transition:all .15s ease}.auth-btn:hover{transform:translateY(-1px);filter:brightness(1.05)}.auth-btn-login{background:linear-gradient(135deg,var(--coral),var(--coral-deep))}.auth-btn-register{background:linear-gradient(135deg,#8fd8b4,#5fbf97)}.feedback-modal{width:min(520px,90vw)}.feedback-form{margin-top:14px;padding:16px;border:2px dashed #FFE3D1;border-radius:16px;background:#fff8f099}.feedback-type-row{display:flex;align-items:center;justify-content:space-between;gap:10px}.feedback-label{font-size:13px;color:var(--ink);letter-spacing:1px}.feedback-hint{min-height:16px;font-size:11.5px;color:var(--coral-deep);margin-top:6px}.feedback-input{display:block;width:100%;margin-top:8px;padding:10px 12px;border-radius:12px;border:1.5px solid var(--line);background:#fff;font-size:13.5px;line-height:1.8;color:var(--ink);resize:vertical;min-height:92px;transition:border-color .15s ease,box-shadow .15s ease}.feedback-input:focus{outline:none;border-color:var(--coral);box-shadow:0 0 0 3px #e8877c24}.feedback-submit{display:block;width:100%;margin-top:12px;padding:11px 0;border-radius:13px;background:linear-gradient(135deg,var(--coral),var(--coral-deep));color:#fff;font-size:14px;letter-spacing:4px;box-shadow:0 6px 16px #e06a5e40;transition:all .15s ease}.feedback-submit:hover{transform:translateY(-1px);filter:brightness(1.05)}.feedback-submit:disabled{opacity:.6;transform:none}.feedback-status{min-height:16px;font-size:12px;margin-top:8px;color:var(--ink-soft)}.feedback-status.ok{color:#3e9c77}.feedback-status.err{color:var(--coral-deep)}.cloud-row{gap:10px}.cloud-status{font-size:12px;color:var(--ink-soft);line-height:1.6;flex:1}.cloud-sync-btn{min-width:88px}@media (max-width: 760px),(pointer: coarse){.cloud-row{flex-wrap:wrap}.cloud-sync-btn{width:100%}}@media (max-width: 760px),(pointer: coarse){.title-auth-btn{top:12px;right:12px;padding:7px 14px;font-size:12px}.feedback-type-row{flex-wrap:wrap}}.game-screen{position:relative;height:100vh;height:100dvh;display:flex;flex-direction:column;background:#1a1720;user-select:none;overflow:hidden}.game-screen.effect-shake{animation:screenShake .45s ease}.game-screen.effect-flash:after{content:"";position:absolute;inset:0;background:#fff;animation:flashFade .5s ease forwards;pointer-events:none;z-index:60}@keyframes screenShake{0%,to{transform:none}20%{transform:translate(-7px,3px)}40%{transform:translate(6px,-4px)}60%{transform:translate(-5px,-2px)}80%{transform:translate(4px,3px)}}@keyframes flashFade{0%{opacity:.8}to{opacity:0}}.scene-area{position:relative;flex:1 1 auto;min-height:0;overflow:hidden}.bg-layer{position:absolute;inset:0;opacity:0;transition:opacity .8s ease}.bg-layer.bg-visible{opacity:1}.bg-layer-el{pointer-events:none}.flashback-filter{position:absolute;inset:0;pointer-events:none;opacity:0;transition:opacity 1s ease;background:repeating-conic-gradient(rgba(120,84,48,.06) 0% 25%,transparent 0% 50%) 0 0 / 3px 3px,linear-gradient(180deg,#8c603452,#5a3c2261);mix-blend-mode:multiply}.flashback-filter.active{opacity:1}.particles-layer{position:absolute;inset:0;pointer-events:none;z-index:5}.particle{position:absolute;display:block}.particles-petals .particle{top:-6%;animation-name:fallDrift;animation-iteration-count:infinite;animation-timing-function:linear;opacity:.8}.particles-rain .particle{top:-8%;width:1.5px;height:13%;background:linear-gradient(180deg,transparent,rgba(210,226,248,.75));animation-name:fallStraight;animation-iteration-count:infinite;animation-timing-function:linear;opacity:.7}.particles-fireflies .particle{width:5px;height:5px;border-radius:50%;background:radial-gradient(circle,#ffe9a8,#ffe9a800);animation-name:floatGlow;animation-iteration-count:infinite;animation-timing-function:ease-in-out}.particles-dust .particle{width:3px;height:3px;border-radius:50%;background:#fff0cdcc;animation-name:floatGlow;animation-iteration-count:infinite;animation-timing-function:ease-in-out;opacity:.55}.particles-leaves .particle{top:-6%;animation-name:fallDrift;animation-iteration-count:infinite;animation-timing-function:linear;opacity:.75;font-size:13px}@keyframes fallStraight{0%{transform:translateY(0)}to{transform:translateY(115vh)}}@keyframes fallDrift{0%{transform:translate(0) rotate(0)}25%{transform:translate(2.4vw,26vh) rotate(90deg)}50%{transform:translate(-1.6vw,52vh) rotate(200deg)}75%{transform:translate(2vw,80vh) rotate(290deg)}to{transform:translate(-1vw,112vh) rotate(380deg)}}@keyframes floatGlow{0%,to{transform:translate(0);opacity:.25}50%{transform:translate(1.4vw,-3vh);opacity:.95}}.figures-layer{position:absolute;inset:0;pointer-events:none;z-index:6}.figure{position:absolute;bottom:0;width:11.5%;max-width:150px;aspect-ratio:1 / 2.1;filter:brightness(.62) saturate(.75);transition:filter .5s ease,transform .5s ease;transform:translateY(4%)}.figure.speaking{filter:brightness(1) saturate(1);transform:translateY(0)}.figure--left{left:17%}.figure--right{right:17%}.fig-head{position:absolute;top:0;left:50%;transform:translate(-50%);width:44%;aspect-ratio:1 / 1.08;background:linear-gradient(180deg,#efd3b8,#e2bd9c);border-radius:48% 48% 44% 44%;z-index:3}.fig-fringe{position:absolute;top:-3%;left:50%;transform:translate(-50%);width:48%;aspect-ratio:1 / .62;background:var(--hair);border-radius:52% 52% 30% 30%;z-index:4}.fig-fringe-short{height:58%;border-radius:52% 52% 42% 42%;top:-4%}.fig-body{position:absolute;bottom:0;left:50%;transform:translate(-50%);width:66%;height:66%;background:linear-gradient(180deg,var(--cloth),color-mix(in srgb,var(--cloth) 72%,#4a3a30));border-radius:44% 44% 12% 12%/20% 20% 4% 4%;z-index:2}.fig-hair-back{position:absolute;top:2%;left:50%;transform:translate(-50%);width:58%;height:74%;background:var(--hair);border-radius:46% 46% 26% 26%;z-index:1}.fig-tail{position:absolute;top:16%;width:17%;height:42%;background:var(--hair);border-radius:46% 46% 40% 40%;z-index:1;animation:tailSway 4.5s ease-in-out infinite alternate}.fig-tail-l{left:-4%}.fig-tail-r{right:-4%;animation-delay:-2.2s}@keyframes tailSway{0%{transform:rotate(-4deg)}to{transform:rotate(5deg)}}.fig-ribbon{position:absolute;top:13%;left:16%;width:12%;height:7%;background:var(--accent, #E8877C);border-radius:50%;z-index:5}.chapter-card{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#17130e;color:#f5efe6;font-family:var(--font-serif);font-size:clamp(19px,3.4vw,28px);letter-spacing:8px;z-index:40;opacity:0;pointer-events:none;transition:opacity .55s ease;overflow:hidden}.chapter-card:before,.chapter-card:after{content:"";position:absolute;left:-10%;width:120%;height:46px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 480 46'%3E%3Cpath d='M0 24 Q 60 4 120 24 T 240 24 T 360 24 T 480 24' fill='none' stroke='%23F9A8C0' stroke-opacity='.4' stroke-width='2.5' stroke-linecap='round'/%3E%3C/svg%3E") repeat-x;background-size:480px 100%;animation:waveFlow 7s linear infinite}.chapter-card:before{top:18%}.chapter-card:after{bottom:18%;animation-duration:10s;animation-direction:reverse}.chapter-card.visible{opacity:1}.transition-veil{position:absolute;inset:0;background:#0e0c09;opacity:0;pointer-events:none;transition:opacity .45s ease;z-index:45}.transition-veil.active{opacity:1;pointer-events:all}.dialogue-area{position:relative;z-index:20;padding:0 16px calc(14px + env(safe-area-inset-bottom))}.dialogue-box{position:relative;width:min(880px,100%);margin:0 auto;min-height:118px;background:#fffdf8f0;border:2px solid rgba(255,214,190,.85);border-radius:20px;padding:22px 24px 26px;box-shadow:0 -8px 40px #14100c2e,0 4px #ffecdccc inset;backdrop-filter:blur(6px);cursor:pointer;transition:transform .25s cubic-bezier(.34,1.56,.64,1)}.dialogue-box:after{content:"";position:absolute;left:38px;bottom:-12px;width:24px;height:14px;background:#fffdf8f0;border-radius:0 0 14px 4px;clip-path:polygon(0 0,100% 0,22% 100%)}.speaker-name{position:absolute;top:-16px;left:22px;background:linear-gradient(135deg,var(--coral),var(--coral-deep));color:#fff;font-size:13px;letter-spacing:3px;padding:5px 18px 5px 16px;border-radius:999px 999px 999px 4px;box-shadow:0 4px 14px #d96a5e66;transition:background .3s ease}.speaker-name:before{content:"";display:inline-block;width:7px;height:7px;border-radius:50%;background:#ffffffd9;margin-right:7px;vertical-align:1px}.speaker-name[data-speaker=林小满]{background:linear-gradient(135deg,#f9a8c0,#ee7fa3)}.speaker-name[data-speaker=程遥]{background:linear-gradient(135deg,#8ec5e8,#6faedd);box-shadow:0 4px 14px #6faedd66}.speaker-name[data-speaker=苏叶]{background:linear-gradient(135deg,#c3a5d0,#a98bb8);box-shadow:0 4px 14px #a98bb866}.dialogue-text{font-size:15.5px;line-height:2;color:var(--ink);min-height:3.6em;white-space:pre-wrap}.dialogue-text.read-dim{color:#a79e90}.fx-bold{font-weight:700}.fx-italic{font-style:italic;letter-spacing:.5px}.fx-dim{color:#9a9084}.fx-shake{display:inline-block;animation:textShake .16s ease-in-out infinite}@keyframes textShake{0%,to{transform:translate(0)}25%{transform:translate(-.6px,.5px)}75%{transform:translate(.6px,-.5px)}}.dialogue-text.read-dim .fx-dim{color:inherit}.advance-hint{position:absolute;right:18px;bottom:12px;color:var(--coral-deep);display:flex;align-items:center;justify-content:center;animation:hintHeartBounce 1.2s cubic-bezier(.34,1.56,.64,1) infinite;filter:drop-shadow(0 2px 6px rgba(224,106,94,.35))}@keyframes hintHeartBounce{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(4px) scale(1.22)}}.choice-panel{position:absolute;inset:0;z-index:30;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;padding:20px;background:#18141061;backdrop-filter:blur(2px);opacity:0;pointer-events:none;transition:opacity .3s ease}.choice-panel.visible{opacity:1;pointer-events:all}.choice-prompt{font-family:var(--font-serif);color:#fbf6ee;font-size:15px;letter-spacing:2px;text-align:center;text-shadow:0 2px 12px rgba(0,0,0,.5);max-width:640px;line-height:1.9}.choice-list{display:flex;flex-direction:column;gap:12px;width:min(560px,100%)}.choice-btn{position:relative;text-align:left;font-size:15px;line-height:1.8;padding:15px 22px 15px 46px;border-radius:16px;background:#fffdf8f2;color:var(--ink);border:2px solid rgba(240,227,211,.9);box-shadow:0 6px 20px #0f0c0940;transition:transform .16s cubic-bezier(.34,1.56,.64,1),box-shadow .16s ease,background .16s ease,opacity .3s ease;animation:popIn .4s ease both;animation-delay:var(--enter-delay, 0s)}.choice-btn{display:flex;align-items:center;justify-content:space-between;gap:12px}.choice-btn:before{content:"";position:absolute;left:18px;top:50%;width:12px;height:12px;transform:translateY(-50%);border-radius:50% 50% 50% 3px;background:var(--dot, var(--sakura));transition:transform .16s ease}.choice-text{flex:1;text-align:left}.choice-hotkey{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;font-size:11px;font-weight:700;color:var(--ink-soft);background:#4a403814;border:1px solid rgba(74,64,56,.12);flex-shrink:0}.choice-special-icon{display:inline-flex;align-items:center;margin-right:4px;animation:floatYSlow 2s ease-in-out infinite}.choice-btn:nth-child(1){--dot: #F9A8C0}.choice-btn:nth-child(2){--dot: #8FD8B4}.choice-btn:nth-child(3){--dot: #8EC5E8}.choice-btn:nth-child(4){--dot: #F7D879}.choice-btn-hidden{background:linear-gradient(135deg,#fff6e8,#ffead4);border-color:#f5a623cc;box-shadow:0 8px 24px #f5a62340}.choice-btn-hidden .choice-hotkey{background:#f5a62333;color:#c27803;border-color:#f5a62366}.choice-btn-hidden:after{content:"";position:absolute;right:14px;top:-7px;width:14px;height:14px;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 3l1.8 5.4L19.2 10.2l-5.4 1.8L12 17.4l-1.8-5.4L4.8 10.2l5.4-1.8z' fill='%23F0A860'/%3E%3C/svg%3E") no-repeat center/contain;animation:sparkleTwinkle 1.6s ease-in-out infinite}@keyframes sparkleTwinkle{0%,to{transform:scale(1) rotate(0);opacity:.9}50%{transform:scale(1.25) rotate(20deg);opacity:1}}.choice-btn.choosing{transform:scale(.985);background:linear-gradient(135deg,var(--coral),var(--coral-deep));color:#fff;border-color:transparent}.choice-btn.choosing:before{background:#fff}.choice-btn.choosing .choice-hotkey{background:#ffffff4d;color:#fff;border-color:#ffffff80}.choice-btn-locked{opacity:.42;filter:grayscale(.85);cursor:not-allowed;background:#eee9e2e6;border-style:dashed;border-color:#beb2a4e6;box-shadow:0 3px 10px #0f0c0924;animation:none}.choice-btn-locked:before{background:transparent;border:2px solid rgba(150,140,128,.8);box-sizing:border-box}.choice-btn-locked .choice-locked-hint{display:block;margin-top:3px;font-size:12px;letter-spacing:1px;color:#9a9084}.choice-list.locked .choice-btn:not(.choosing){opacity:.35;pointer-events:none}.quick-bar{position:absolute;right:16px;top:16px;z-index:35;display:flex;gap:8px;padding:5px 8px;background:#19141873;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:999px;box-shadow:0 8px 24px #00000040}.quick-btn{display:inline-flex;align-items:center;gap:5px;font-size:12px;letter-spacing:1.5px;color:#fff;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);padding:6px 12px;border-radius:999px;transition:all .16s cubic-bezier(.34,1.56,.64,1);min-height:32px}.quick-btn:hover{transform:translateY(-2px) scale(1.05)}.qb-save{background:#f28fa5b3;border-color:#f9a8c0cc;box-shadow:0 2px 10px #f28fa559}.qb-load{background:#6faeddb3;border-color:#8ec5e8cc;box-shadow:0 2px 10px #6faedd59}.qb-history{background:#f0b060b3;border-color:#f7d879cc;box-shadow:0 2px 10px #f0b06059}.qb-settings{background:#5fbf95b3;border-color:#8fd8b4cc;box-shadow:0 2px 10px #5fbf9559}.qb-home{background:#e06a5eb3;border-color:#e8877ccc;box-shadow:0 2px 10px #e06a5e59}.qb-rollback{background:#a98bb8b3;border-color:#c3a5d0cc;box-shadow:0 2px 10px #a98bb859}.qb-rollback.disabled{opacity:.35;pointer-events:none}.debug-panel{position:absolute;left:12px;top:12px;z-index:80;background:#000000bf;color:#9fe89f;font-family:monospace;font-size:11.5px;padding:8px 12px;border-radius:8px;max-width:46vw;pointer-events:none}.ff-chip{position:absolute;left:50%;top:18px;transform:translate(-50%);z-index:50;display:inline-flex;align-items:center;gap:4px;background:#e8877ceb;color:#fff;font-size:12.5px;letter-spacing:2px;padding:7px 16px;border-radius:999px;box-shadow:0 6px 18px #e06a5e66;opacity:0;transition:opacity .25s ease;pointer-events:none}.ff-chip.visible{opacity:1}.figure.mood-down .fig-head,.figure.mood-down .fig-fringe{transform:translate(-50%) translateY(9%)}.figure.mood-down .fig-body{transform:translate(-50%) translateY(2%)}.figure.mood-down{filter:brightness(.85) saturate(.8)}.figure.mood-down.speaking{filter:brightness(.96) saturate(.9)}.figure.mood-away{transform:translate(-14%) translateY(3%) rotate(-4deg)}.figure.mood-away .fig-head{transform:translate(-62%) translateY(2%)}.figure.mood-away.speaking{filter:brightness(.92) saturate(.95)}.figure.mood-near{transform:scale(1.07) translateY(-2%);z-index:7}.figure.mood-near.speaking{filter:brightness(1.05) saturate(1.08)}.figure.mood-down,.figure.mood-away,.figure.mood-near{transition:filter .5s ease,transform .7s cubic-bezier(.22,.9,.3,1)}@media (max-width: 640px){.dialogue-box{min-height:104px;padding:16px 18px 24px;border-radius:13px}.dialogue-text{font-size:14px;min-height:3.2em}.choice-btn{font-size:14px;min-height:44px;padding:12px 14px 12px 40px}.choice-btn:before{left:14px}.choice-prompt{font-size:14px;padding:0 4px}.figure{width:17%}.quick-bar{top:10px;right:10px;gap:6px}.quick-btn{width:44px;height:44px;min-height:44px;padding:0;gap:0;justify-content:center}.qb-label{display:none}.chapter-card{letter-spacing:5px}}.ix-layer{position:absolute;inset:0;z-index:40;display:none}.ix-layer.visible{display:block}.ix-layer:before{content:"";position:absolute;inset:0;background:radial-gradient(125% 85% at 50% 40%,#fffdf80f,#3a302a6b);animation:ix-fade .45s ease both}@keyframes ix-fade{0%{opacity:0}to{opacity:1}}.ix-prompt{position:absolute;left:50%;top:8%;transform:translate(-50%);z-index:3;max-width:min(80vw,640px);text-align:center;font-family:var(--font-serif);font-size:clamp(15px,2.2vw,20px);line-height:1.9;letter-spacing:1.5px;color:#fff;text-shadow:0 2px 12px rgba(40,30,26,.6)}.ix-stage{position:absolute;inset:0;z-index:2}.ix-progress{position:absolute;left:50%;bottom:30%;transform:translate(-50%);z-index:3;display:none;padding:6px 16px;border-radius:999px;background:#fffdf8e6;color:var(--ink);font-size:13px;letter-spacing:2px;box-shadow:0 6px 18px #4a403838}.ix-progress.visible{display:block}.ix-item{position:absolute;z-index:3;min-width:62px;padding:13px 17px;border-radius:14px 14px 14px 4px;background:linear-gradient(150deg,#fffdf8,#f6e7d6);color:var(--ink);font-family:var(--font-serif);font-size:15px;letter-spacing:1px;box-shadow:0 10px 22px #3a2e2857,inset 0 0 0 1px #ffffffb3;animation:ix-bob 3.4s ease-in-out infinite;animation-delay:var(--ix-delay, 0s);transition:box-shadow .2s ease,filter .2s ease;touch-action:none;cursor:grab}.ix-item:focus-visible{outline:3px solid var(--sky-deep);outline-offset:4px}@keyframes ix-bob{0%,to{transform:translateY(0) rotate(-1.5deg)}50%{transform:translateY(-11px) rotate(2deg)}}.ix-item.ix-dragging{animation:none;cursor:grabbing;z-index:6}.ix-item.ix-near-drop{box-shadow:0 14px 30px #3a2e2866,0 0 0 4px #8fd8b4cc}.ix-item.ix-got{animation:ix-collect .5s cubic-bezier(.3,.9,.35,1) forwards;pointer-events:none}@keyframes ix-collect{0%{transform:scale(1) rotate(0);opacity:1}40%{transform:scale(1.16) rotate(-6deg)}to{transform:translateY(-64px) scale(.25) rotate(16deg);opacity:0}}.ix-drop{position:absolute;left:50%;bottom:34%;transform:translate(-50%);z-index:2;min-width:210px;padding:26px 30px;border-radius:18px;border:3px dashed rgba(255,253,248,.8);color:#fff;text-align:center;font-family:var(--font-serif);font-size:16px;letter-spacing:2px;text-shadow:0 2px 10px rgba(40,30,26,.55);animation:ix-pulse 2.4s ease-in-out infinite}.ix-drop.ix-drop-hit{border-color:var(--mint);animation:none;box-shadow:0 0 34px #8fd8b4a6}@keyframes ix-pulse{0%,to{box-shadow:0 0 #fffdf800}50%{box-shadow:0 0 26px #fffdf873}}.ix-card{position:absolute;left:50%;top:46%;width:min(46vw,260px);aspect-ratio:3 / 4;margin-left:calc(min(46vw,260px)/-2);z-index:4;display:flex;align-items:center;justify-content:center;border-radius:10px;background:linear-gradient(165deg,#fffdf8,#f3e4d2 60%,#e9d6c2);box-shadow:0 18px 40px #2e242073,0 6px #fffdf859;color:var(--ink-soft);font-family:var(--font-serif);font-size:17px;letter-spacing:2px;touch-action:none;cursor:grab;animation:ix-tilt 4s ease-in-out infinite}.ix-card.ix-held{animation:none;cursor:grabbing}.ix-card:focus-visible{outline:3px solid var(--sky-deep);outline-offset:6px}.ix-card:after{position:absolute;bottom:-40px;left:50%;transform:translate(-50%);font-size:30px;color:#fff;text-shadow:0 2px 12px rgba(40,30,26,.6);animation:ix-arrow 1.5s ease-in-out infinite}.ix-card-left:after{content:"⟵"}.ix-card-right:after{content:"⟶"}.ix-card-up:after{content:"⟰"}.ix-card-down:after{content:"⟱"}.ix-card-left{--ix-fling-t: translate(-155%, -14%) rotate(-22deg)}.ix-card-right{--ix-fling-t: translate(155%, -14%) rotate(22deg)}.ix-card-up{--ix-fling-t: translate(0, -175%) rotate(-10deg)}.ix-card-down{--ix-fling-t: translate(0, 175%) rotate(10deg)}@keyframes ix-arrow{0%,to{opacity:.45}50%{opacity:1}}@keyframes ix-tilt{0%,to{rotate:-2deg}50%{rotate:2deg}}.ix-card.ix-flung{animation:ix-fling .42s ease-in forwards;pointer-events:none}@keyframes ix-fling{to{transform:var(--ix-fling-t, translate(-155%, -14%) rotate(-22deg));opacity:0}}.ix-hold{position:absolute;left:50%;top:44%;transform:translate(-50%,-50%);z-index:4;width:min(40vw,200px);aspect-ratio:1;border-radius:50%;border:4px solid rgba(255,253,248,.85);background:radial-gradient(circle at 50% 34%,#f9a8c080,#e8877c52);color:#fff;overflow:hidden;touch-action:none;cursor:pointer;box-shadow:0 16px 40px #2e24206b;animation:ix-breathe 2.6s ease-in-out infinite}.ix-hold:focus-visible{outline:3px solid var(--sky-deep);outline-offset:6px}@keyframes ix-breathe{0%,to{scale:1}50%{scale:1.035}}.ix-hold-fill{position:absolute;left:0;bottom:0;width:0;height:100%;background:linear-gradient(180deg,#fffdf8eb,#f7d879e6);transition:width .05s linear}.ix-hold-label{position:relative;z-index:2;font-family:var(--font-serif);font-size:16px;letter-spacing:2px;text-shadow:0 2px 10px rgba(40,30,26,.5)}.ix-hold.ix-hold-miss{animation:ix-shake .26s ease}@keyframes ix-shake{0%,to{translate:0 0}25%{translate:-9px 0}75%{translate:9px 0}}.ix-hold.ix-got{animation:ix-pop .5s cubic-bezier(.3,.9,.35,1) forwards}@keyframes ix-pop{45%{scale:1.22;opacity:1}to{scale:.3;opacity:0}}.ix-timer{position:absolute;left:12%;right:12%;top:22%;height:5px;border-radius:999px;background:#fffdf847;display:none}.ix-timer.visible{display:block}.ix-timer-bar{height:100%;width:100%;border-radius:999px;background:linear-gradient(90deg,var(--lemon),var(--coral))}.ix-giveup{position:absolute;right:18px;bottom:30%;z-index:5;padding:8px 14px;border-radius:999px;background:#fffdf82e;color:#fffdf8d1;font-size:12.5px;letter-spacing:1px;transition:background .2s ease,color .2s ease}.choice-btn:focus-visible,.quick-btn:focus-visible,.menu-btn:focus-visible,.seg-btn:focus-visible,.toggle-btn:focus-visible,.modal-close:focus-visible,.save-row:focus-visible,.sync-btn:focus-visible{outline:3px solid var(--sky-deep);outline-offset:3px}@media (max-width: 640px){.ix-prompt{top:6%;padding:0 18px;line-height:1.75}.ix-item{min-width:54px;min-height:44px;padding:11px 14px;font-size:14px}.ix-drop{min-width:160px;padding:20px 22px;bottom:36%}.ix-card{width:58vw;margin-left:-29vw}.ix-giveup{right:10px;min-height:44px;padding:12px 18px;font-size:13px}}@media (prefers-reduced-motion: reduce){.ix-item,.ix-card,.ix-hold,.ix-drop,.ix-card:after{animation:none!important}.ix-item.ix-got,.ix-card.ix-flung{animation:ix-fade .2s ease forwards!important}}@media (hover: hover){.dialogue-box:hover{transform:translateY(-2px)}.choice-btn:hover{transform:translateY(-2px) scale(1.015);background:#fff;box-shadow:0 10px 26px #0f0c0952}.choice-btn:hover:before{transform:translateY(-50%) scale(1.3) rotate(12deg)}.choice-btn-locked:hover{transform:none;background:#eee9e2e6;box-shadow:0 3px 10px #0f0c0924}.choice-btn-locked:hover:before{transform:translateY(-50%)}.quick-btn:hover{transform:translateY(-2px) scale(1.06)}.qb-save:hover{background:#f28fa5d9}.qb-load:hover{background:#6faeddd9}.qb-history:hover{background:#f0b060d9}.qb-settings:hover{background:#7dbf95d9}.qb-home:hover{background:#e06a5ed9}.qb-rollback:hover{background:#a896d0e6}.ix-item:hover{filter:brightness(1.05);box-shadow:0 14px 28px #3a2e2866,0 0 0 3px #f9a8c08c}.ix-giveup:hover{background:#fffdf857;color:#fff}}@media (orientation: landscape) and (max-height: 540px){.dialogue-area{padding:0 calc(16px + env(safe-area-inset-right)) calc(8px + env(safe-area-inset-bottom)) calc(16px + env(safe-area-inset-left))}.dialogue-box{min-height:78px;padding:10px 16px 16px}.dialogue-text{font-size:13.5px;min-height:2.4em}.choice-list{max-height:42vh;overflow-y:auto;gap:8px;padding-right:2px}.choice-btn{min-height:44px;padding:8px 12px 8px 38px;font-size:13.5px}.choice-btn:before{left:13px}.quick-bar{top:8px;right:calc(8px + env(safe-area-inset-right));gap:5px}.figure{width:13%}.figure--left{left:8%}.figure--right{right:8%}.chapter-card{letter-spacing:4px;font-size:22px}.ix-prompt{top:5%;font-size:13.5px;line-height:1.6}.ix-stage{bottom:22%}.ix-item{min-height:44px;padding:9px 13px;font-size:13px}.ix-drop{bottom:26%;padding:16px 22px}.ix-progress{bottom:24%}.ix-card{width:auto;height:30vh;aspect-ratio:3 / 4;margin-left:-11.25vh;top:42%}.ix-hold{width:30vh;height:30vh;top:44%}.ix-giveup{bottom:24%;min-height:44px}}.dialogue-box.hidden,.chat-box.hidden,.activity-indicator.hidden,.hs-layer.hidden,.input-layer.hidden{display:none}.dialogue-box.style-nvl{min-height:46vh;background:linear-gradient(180deg,#fffcf5,#f7efe0);border-color:#d6c4a8e6;border-radius:10px;padding:40px 46px 48px;box-shadow:0 -10px 44px #14100c38,0 1px #fffc inset}.dialogue-box.style-nvl:after{display:none}.dialogue-box.style-nvl .dialogue-text{font-family:var(--font-serif);font-size:17px;line-height:2.15;letter-spacing:1.2px;color:#4a4038}.dialogue-box.style-subtitle{min-height:0;background:transparent;border:none;box-shadow:none;backdrop-filter:none;padding:10px 24px 18px;text-align:center;cursor:pointer}.dialogue-box.style-subtitle:after{display:none}.dialogue-box.style-subtitle .dialogue-text{font-size:15px;letter-spacing:2px;color:#fffdf8eb;text-shadow:0 2px 12px rgba(12,10,8,.75);min-height:0}.dialogue-box.style-subtitle .advance-hint{color:#fffdf8b3}.chat-box{position:relative;width:min(880px,100%);margin:0 auto}.chat-sheet{background:#e9e3dbf5;border:2px solid rgba(255,214,190,.7);border-radius:20px;padding:14px 6px;box-shadow:0 -8px 40px #14100c33;backdrop-filter:blur(6px)}.chat-log{display:flex;flex-direction:column;gap:10px;max-height:min(42vh,340px);overflow-y:auto;padding:4px 16px;scroll-behavior:smooth}.chat-row{display:flex;flex-direction:column;align-items:flex-start;gap:3px;animation:chatIn .32s cubic-bezier(.34,1.4,.64,1)}@keyframes chatIn{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.chat-row.chat-mine{align-items:flex-end}.chat-row.chat-system{align-items:center}.chat-who{font-size:11.5px;color:var(--ink-soft);letter-spacing:1px;padding-left:4px}.chat-time{font-size:11px;color:#8a7d6fbf;letter-spacing:.5px}.chat-bubble{max-width:78%;padding:10px 15px;border-radius:4px 16px 16px;background:#fffdf8;color:var(--ink);font-size:15px;line-height:1.75;box-shadow:0 3px 12px #2e24201a;word-break:break-word}.chat-row.chat-mine .chat-bubble{border-radius:16px 4px 16px 16px;background:linear-gradient(135deg,var(--coral),var(--coral-deep));color:#fff}.chat-row.chat-system .chat-bubble{max-width:92%;background:transparent;box-shadow:none;color:var(--ink-soft);font-size:13px;letter-spacing:1px;text-align:center}.chat-bubble.read-dim{opacity:.72}.activity-indicator{width:min(880px,100%);margin:0 auto 8px;display:flex;align-items:center;gap:8px;padding:0 22px;min-height:24px}.activity-label{font-size:12.5px;color:#fffdf8e6;letter-spacing:1.5px;text-shadow:0 2px 10px rgba(12,10,8,.6)}.activity-dots{display:inline-flex;gap:4px}.activity-dot{width:5px;height:5px;border-radius:50%;background:#fffdf8e6;animation:dotBounce 1.1s ease-in-out infinite}.activity-dot:nth-child(2){animation-delay:.16s}.activity-dot:nth-child(3){animation-delay:.32s}@keyframes dotBounce{0%,60%,to{opacity:.35;transform:translateY(0)}30%{opacity:1;transform:translateY(-4px)}}.activity-indicator.is-read .activity-label:after{content:" · 没有回复";opacity:.75}.activity-note{font-size:12.5px;color:#fffdf8b8;letter-spacing:1px;opacity:0;transition:opacity .5s ease;text-shadow:0 2px 10px rgba(12,10,8,.6)}.activity-note.visible{opacity:1}.letterbox-bar{position:absolute;left:0;right:0;height:0;background:#0b0a0e;z-index:45;pointer-events:none;transition:height .55s cubic-bezier(.4,0,.2,1)}.letterbox-top{top:0}.letterbox-bottom{bottom:0}.game-screen.letterbox-on .letterbox-bar{height:11vh}.game-screen.letterbox-on .dialogue-area{padding-bottom:calc(11vh + 12px)}.game-screen.letterbox-on .quick-bar{top:calc(11vh + 8px)}.game-screen.letterbox-on .ff-chip{top:calc(11vh + 12px)}.hs-layer{position:absolute;inset:0;z-index:42;display:none}.hs-layer.visible{display:block}.hs-layer:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 45%,#0c0a1000 38%,#0c0a106b);pointer-events:none}.hs-prompt{position:absolute;top:7%;left:0;right:0;text-align:center;padding:16px 24px 26px;font-size:15px;line-height:1.85;letter-spacing:1.5px;color:#fffdf8f2;text-shadow:0 2px 14px rgba(10,8,6,.8);white-space:pre-line;background:radial-gradient(ellipse 60% 100% at 50% 0%,#0c0a1094,#0c0a1000 72%);pointer-events:none}.hs-stage{position:absolute;inset:16% 6% 20%}.hs-spot{position:absolute;transform:translate(-50%,-50%);width:74px;height:74px;border-radius:14px;border:2px solid rgba(255,253,248,.55);background:#fffdf829;box-shadow:0 8px 24px #0c0a1059;backdrop-filter:blur(3px);cursor:pointer;animation:hsFloat 4.6s ease-in-out infinite;animation-delay:calc(var(--spot-i) * .45s);transition:background .2s ease,box-shadow .2s ease,transform .2s ease}.hs-shape-1{border-radius:50%}.hs-shape-2{border-radius:12px 12px 4px 4px;width:62px;height:88px}.hs-shape-3{border-radius:4px;width:88px;height:58px}@keyframes hsFloat{0%,to{translate:0 0}50%{translate:0 -7px}}.hs-spot-label{position:absolute;left:50%;top:calc(100% + 6px);transform:translate(-50%);white-space:nowrap;font-size:12px;letter-spacing:1px;color:#fffdf8f2;background:#1410189e;padding:3px 10px;border-radius:999px;opacity:0;transition:opacity .2s ease}.hs-spot:hover .hs-spot-label,.hs-spot:focus-visible .hs-spot-label{opacity:1}.hs-spot:hover,.hs-spot:focus-visible{animation-play-state:paused}.hs-spot:focus-visible{outline:3px solid var(--sky-deep);outline-offset:4px}.hs-spot.hs-seen{opacity:.38;filter:grayscale(.6);animation:none}.hs-feedback{position:absolute;left:0;right:0;bottom:20%;text-align:center;padding:20px 30px 24px;font-family:var(--font-serif);font-size:15px;letter-spacing:1.5px;color:#fffdf8f2;text-shadow:0 2px 14px rgba(10,8,6,.85);background:radial-gradient(ellipse 62% 100% at 50% 100%,#0c0a1080,#0c0a1000 74%);pointer-events:none;opacity:0;transition:opacity .35s ease}.hs-feedback.visible{opacity:1}.hs-progress{position:absolute;left:0;right:0;bottom:6%;text-align:center;font-size:12px;letter-spacing:2px;color:#fffdf899}.hs-giveup{position:absolute;right:18px;bottom:26%;z-index:5;padding:8px 14px;border-radius:999px;background:#fffdf82e;color:#fffdf8d1;font-size:12.5px;letter-spacing:1px;transition:background .2s ease,color .2s ease}.input-layer{position:absolute;inset:0;z-index:44;display:none}.input-layer.visible{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;padding:0 22px;background:#0e0c1275;backdrop-filter:blur(3px)}.input-prompt{max-width:min(760px,100%);text-align:center;font-size:15.5px;line-height:1.9;letter-spacing:1.5px;color:#fffdf8f2;text-shadow:0 2px 14px rgba(10,8,6,.8);white-space:pre-line}.input-field{width:min(620px,100%);resize:none;padding:16px 18px;border-radius:14px;border:2px solid rgba(255,214,190,.8);background:#fffdf8f7;color:var(--ink);font-family:var(--font-serif);font-size:17px;line-height:1.9;letter-spacing:2px;box-shadow:0 12px 36px #0c0a1057}.input-field:focus{outline:3px solid var(--sky-deep);outline-offset:3px}.input-counter{font-size:12px;letter-spacing:2px;color:#fffdf8ad}.input-counter.over{color:var(--coral)}.input-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center}.input-submit,.input-skip{padding:12px 24px;border-radius:999px;font-size:14px;letter-spacing:2px;min-height:44px;transition:transform .16s ease,background .2s ease,opacity .2s ease}.input-submit{background:linear-gradient(135deg,var(--coral),var(--coral-deep));color:#fff;box-shadow:0 8px 22px #e06a5e6b}.input-submit:disabled{opacity:.42;box-shadow:none;cursor:not-allowed}.input-skip{background:#fffdf82e;color:#fffdf8d9}.input-submit:focus-visible,.input-skip:focus-visible{outline:3px solid var(--sky-deep);outline-offset:3px}@media (hover: hover){.hs-spot:hover{background:#fffdf857;box-shadow:0 14px 30px #0c0a107a,0 0 0 3px #f9a8c073;transform:translate(-50%,-50%) scale(1.05)}.hs-giveup:hover{background:#fffdf857;color:#fff}.input-submit:not(:disabled):hover{transform:translateY(-2px)}.input-skip:hover{background:#fffdf84d;color:#fff}}@media (max-width: 640px){.hs-prompt{top:5%;font-size:13.5px;line-height:1.7}.hs-stage{inset:14% 4% 22%}.hs-spot{width:62px;height:62px}.hs-shape-2{width:54px;height:76px}.hs-shape-3{width:76px;height:50px}.hs-giveup{right:10px;bottom:22%;min-height:44px;padding:12px 18px;font-size:13px}.hs-feedback{bottom:15%;font-size:13.5px}.chat-log{max-height:38vh;padding:4px 12px}.chat-bubble{font-size:14px;max-width:86%}.dialogue-box.style-nvl{padding:24px 20px 30px;min-height:40vh}.dialogue-box.style-nvl .dialogue-text{font-size:15px}.input-field{font-size:16px}.game-screen.letterbox-on .letterbox-bar{height:8vh}.game-screen.letterbox-on .dialogue-area{padding-bottom:calc(8vh + 10px)}}@media (prefers-reduced-motion: reduce){.hs-spot,.chat-row{animation:none!important}.activity-dot{animation:none!important;opacity:.8}.letterbox-bar{transition:none}}.bg-hit{pointer-events:auto;cursor:pointer;user-select:none;-webkit-user-select:none;-webkit-tap-highlight-color:transparent}.bg-ripple{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border:2px solid rgba(255,255,255,.55);border-radius:50%;pointer-events:none;animation:bgRipple .95s ease-out forwards}@keyframes bgRipple{0%{transform:scale(.4);opacity:.9}to{transform:scale(7);opacity:0}}.bg-mote{pointer-events:none;border-radius:50%;animation:bgDrift linear infinite alternate}@keyframes bgDrift{0%{transform:translate(0);opacity:.12}50%{opacity:.55}to{transform:translate(16px,-28px);opacity:.08}}.bg-firefly{pointer-events:none;border-radius:50%;background:#ffe9a8;box-shadow:0 0 8px #ffe9a8;animation:bgFirefly ease-in-out infinite alternate}@keyframes bgFirefly{0%{transform:translate(0)}30%{transform:translate(20px,-12px)}60%{transform:translate(-12px,-24px)}to{transform:translate(14px,-4px)}}.bg-rain{pointer-events:none;animation:bgRain linear infinite}@keyframes bgRain{0%{transform:translateY(-10%)}to{transform:translateY(120vh)}}.bg-blink{animation:bgBlink 2.2s ease-in-out infinite}@keyframes bgBlink{0%,to{opacity:.15}50%{opacity:1}}.bg-pulse{animation:bgPulse 2.4s ease-in-out infinite}@keyframes bgPulse{0%,to{box-shadow:0 0 10px #dce8ff59}50%{box-shadow:0 0 34px #dce8ffd9}}.bg-vibrate{animation:bgVibrate .5s linear infinite}@keyframes bgVibrate{0%,to{transform:translate(0)}25%{transform:translate(-1.5px)}75%{transform:translate(1.5px)}}.bg-scene{width:200%;animation:bgScenery linear infinite}@keyframes bgScenery{0%{transform:translate(0)}to{transform:translate(-50%)}}@property --wx{syntax: "<percentage>"; inherits: false; initial-value: 50%;}@property --wy{syntax: "<percentage>"; inherits: false; initial-value: 118%;}.bg-fog{--wx: 50%;--wy: 118%;mask-image:radial-gradient(circle 54px at var(--wx) var(--wy),transparent 55%,#000 80%);-webkit-mask-image:radial-gradient(circle 54px at var(--wx) var(--wy),transparent 55%,#000 80%);transition:--wx .25s ease-out,--wy .25s ease-out;touch-action:none}.bgc-back{font-size:26px;line-height:1;color:#5a503ca6}.bgc-namecol{display:flex;flex-direction:column;gap:2px}.bgc-name{font-size:min(2.6vw,17px);font-weight:700;letter-spacing:.08em}.bgc-status{font-size:min(1.9vw,12px);opacity:.6;letter-spacing:.06em}.bgc-blink{animation:bgBlink 1.6s ease-in-out infinite}.bgc-log{position:absolute;inset:9% 0 0;overflow-y:auto;padding:11% 6% 26%;touch-action:pan-y;z-index:1;scrollbar-width:none}.bgc-log::-webkit-scrollbar{display:none}.bgc-divider{text-align:center;font-size:min(1.8vw,11px);letter-spacing:.12em;color:#807a6ccc;margin:12px 0}.bgc-row{display:flex;align-items:flex-end;gap:8px;margin:9px 0;animation:bgPop .28s cubic-bezier(.34,1.4,.64,1)}.bgc-row.mine{flex-direction:row-reverse}.bgc-row.sys{justify-content:center}.bgc-row.sys .bgc-bubble{font-size:min(1.8vw,11px);letter-spacing:.1em;border-radius:8px}.bgc-time{font-size:min(1.6vw,10px);color:#8a8a86;white-space:nowrap}.bgc-bubble{max-width:58%;padding:9px 13px;border-radius:4px 14px 14px;font-size:min(2.3vw,14.5px);line-height:1.55;letter-spacing:.03em;box-shadow:0 2px 8px #2822161a;word-break:break-word}.bgc-row.mine .bgc-bubble{border-radius:14px 4px 14px 14px}@keyframes bgPop{0%{transform:translateY(10px) scale(.92);opacity:0}to{transform:none;opacity:1}}.bgc-pill{position:absolute;top:12%;right:3%;display:flex;align-items:center;gap:6px;padding:7px 9px;background:#fcfaf4e0;border:1px solid rgba(90,80,60,.22);border-radius:999px;box-shadow:0 4px 18px #2822162e;z-index:3;backdrop-filter:blur(4px)}.bgc-emoji,.bgc-send{border:none;background:transparent;font-size:17px;line-height:1;cursor:pointer;padding:3px;transition:transform .15s ease}.bgc-emoji:hover{transform:scale(1.25)}.bgc-input{width:min(170px,24vw);border:none;outline:none;background:#fffc;border-radius:999px;padding:6px 12px;font-size:min(2vw,12.5px);color:#4a4030}.bgc-send{font-size:min(1.9vw,12px);color:#fff;background:#8fbf72;border-radius:999px;padding:6px 12px;letter-spacing:.1em}.bgc-send:hover{filter:brightness(1.08)}.bg-letter{position:absolute;left:32%;top:26%;width:36%;height:44%;background:#fbf6ea;border:1px solid #d9ccb0;border-radius:3px;box-shadow:0 14px 40px #5a462847;transform:rotate(-2deg);overflow-y:auto;padding:5.5% 4%;touch-action:pan-y;scrollbar-width:none}.bg-letter::-webkit-scrollbar{display:none}.bg-letter-hint{position:absolute;left:44%;top:66.5%;font-size:min(1.8vw,12px);letter-spacing:.3em;color:#6e5c408c;pointer-events:none;animation:bgHintFloat 2.2s ease-in-out infinite}@keyframes bgHintFloat{0%,to{transform:translateY(0);opacity:.55}50%{transform:translateY(4px);opacity:.95}}.bg-letter-inner{min-height:100%}.bg-letter-line{font-family:Kaiti SC,STKaiti,KaiTi,楷体,serif;font-size:min(2vw,14px);line-height:2.1;letter-spacing:.12em;color:#5a4a34;margin:0 0 10px}.bg-letter-line:last-child{text-align:right;opacity:.75}@media (prefers-reduced-motion: reduce){.bg-ripple,.bg-mote,.bg-firefly,.bg-rain,.bg-blink,.bg-pulse,.bg-vibrate,.bg-scene,.bgc-row,.bgc-blink{animation:none!important}}
