@font-face{font-family:SakuraText;src:url('../assets/fonts/SakuraText.woff2') format('woff2');font-style:normal;font-weight:400;font-display:swap}
@font-face{font-family:SakuraTitle;src:url('../assets/fonts/SakuraTitle.woff2') format('woff2');font-style:normal;font-weight:200 900;font-display:swap}
h1,.ending-card h2,.modal-panel h2,.reader-logo{font-family:SakuraTitle,'STSong','SimSun',serif;font-weight:430}
h1{letter-spacing:.045em;font-size:clamp(66px,6.7vw,104px);line-height:1.18}h1 i{font-family:Georgia,serif;letter-spacing:3px}.tagline{font-family:SakuraTitle,serif;font-weight:450;letter-spacing:2px}.start-button>span{font-family:SakuraTitle,serif;font-weight:550}.eyebrow{letter-spacing:1.6px}
#line-text{font-family:SakuraText,'Microsoft YaHei',sans-serif;font-size:var(--text-size);font-weight:400;line-height:1.9;letter-spacing:.025em;color:#463f4d}body.narrating #line-text{font-family:SakuraTitle,'STSong',serif;font-weight:440;letter-spacing:.04em}#speaker{font-family:SakuraText,sans-serif;font-size:16px;letter-spacing:1px}.speaker-chun #speaker{background:#9685b0}.speaker-yb #speaker{background:#bd7893}
#backdrop-next{position:absolute;inset:0;background:center/cover no-repeat;transform:scale(1.015);pointer-events:none;z-index:-5;opacity:0;transition:opacity .5s ease}#backdrop{z-index:-6}#reader{overflow:clip}.reader-top{background:linear-gradient(#2f28345c,transparent);height:90px}.scene-label{font-family:SakuraTitle,serif;letter-spacing:.5px}.scene-label span:last-child{font-size:15px}
#reader #character,#reader #companion{position:absolute;top:auto;bottom:15%;left:65%;right:auto;width:39%;height:66%;max-width:680px;object-fit:contain;object-position:center bottom;transform:translateX(-50%);pointer-events:none;z-index:1;filter:drop-shadow(0 8px 18px #33203820);animation:none;transition:opacity .18s ease,filter .2s ease}
#reader.shot-long #character{left:67%;height:79%;width:37%;bottom:7%}
#reader.shot-medium #character{height:66%;width:39%;bottom:15%}
#reader.shot-close #character{height:86%;width:48%;left:59%;bottom:1%}
#reader.shot-two #character{height:64%;width:33%;left:32%;bottom:15%}#reader.shot-two #companion{height:64%;width:33%;left:70%;bottom:15%}
#reader .listening{opacity:.83;filter:brightness(.94) saturate(.9)!important}
#scene-badge{font-family:SakuraTitle,serif;letter-spacing:6px;font-size:13px;color:#fff9}
#dialogue{background:rgba(255,250,248,.955);min-height:180px;padding-top:31px;border-radius:5px;border-color:#fffafa;box-shadow:0 8px 35px #281d3129}#dialogue:hover:not(:disabled){background:rgba(255,250,248,.975)}#dialog-area{bottom:20px}.dialog-bottom{letter-spacing:1px;color:#99798b}#voice-status{margin-left:13px;font:10px 'Microsoft YaHei',sans-serif;letter-spacing:.5px;color:#b07892;min-height:14px}.quick-tools{gap:15px}.quick-tools button{letter-spacing:.3px}.quick-tools button:disabled{opacity:.42}.quick-tools button.active{color:#ffdf9a}.cg-tile img{transition:filter .2s}.cg-tile:hover img{filter:brightness(1.04)}
.shot-cg #scene-badge{display:none}.choices:before{content:none}.choices button{font-family:SakuraText,sans-serif;font-size:17px;letter-spacing:.2px}.choices.many{padding-top:15px}.log-entry p{font-family:SakuraText,sans-serif;font-size:17px;line-height:1.8}.ending-card p:not(.eyebrow){font-family:SakuraTitle,serif;font-size:15px}.ending-card h2{font-size:37px;letter-spacing:3px}.modal-panel p{font-family:SakuraText,sans-serif;font-size:15px}.modal-panel .muted{font-family:'Microsoft YaHei',sans-serif;font-size:12px;line-height:1.9}
@media(max-width:799px){h1{font-size:64px;line-height:1.16}.tagline{font-size:15px;line-height:1.95}#reader #character,#reader #companion{height:60%;width:74%;left:62%;bottom:25%;max-width:none}#reader.shot-long #character{height:75%;width:65%;left:65%;bottom:12%}#reader.shot-medium #character{height:60%;width:76%;bottom:24%;left:60%}#reader.shot-close #character{height:71%;width:94%;left:52%;bottom:13%}#reader.shot-two #character{height:55%;width:63%;left:27%;bottom:28%}#reader.shot-two #companion{height:55%;width:63%;left:73%;bottom:28%}#line-text{font-size:calc(var(--text-size) - 2px);line-height:1.78;min-height:112px}#dialogue{padding:30px 20px 17px;min-height:205px}.choices button{font-size:15px;line-height:1.5}.quick-tools{gap:6px;row-gap:7px}.quick-tools button{font-size:10px;padding:3px 1px}.reader-top{height:79px}.scene-label span:last-child{font-size:11px}.ending-card h2{font-size:28px}.ending-card p:not(.eyebrow){font-size:14px}.cg-grid{grid-template-columns:1fr}.home-character{opacity:.9}#voice-status{font-size:9px;margin-left:4px}.dialog-bottom{font-size:8px}.modal-panel p{font-size:14px}}
@media(max-height:650px) and (min-width:800px){h1{font-size:68px}#reader #character,#reader #companion{bottom:19%;height:65%}#reader.shot-long #character{bottom:8%;height:79%}#reader.shot-close #character{height:83%;bottom:4%}#reader.shot-two #character,#reader.shot-two #companion{height:65%;bottom:19%}#dialogue{min-height:145px;padding:25px 30px 14px}#line-text{font-size:calc(var(--text-size) - 2px);min-height:60px}.reader-top{height:70px}#dialog-area{bottom:10px}.quick-tools{padding-top:8px}.choices.many{top:16%;max-height:65%}}
@media(max-height:550px) and (max-width:799px){h1{font-size:49px}#reader #character,#reader #companion{height:75%;bottom:12%;width:42%;left:67%}#reader.shot-long #character{height:90%;bottom:0;width:40%}#reader.shot-medium #character{height:74%;bottom:12%;width:42%}#reader.shot-close #character{height:92%;bottom:0;width:55%}#reader.shot-two #character,#reader.shot-two #companion{height:73%;width:35%;bottom:13%}#reader.shot-two #character{left:32%}#reader.shot-two #companion{left:70%}#dialogue{min-height:118px;padding:24px 24px 11px}#line-text{font-size:17px;min-height:48px}.reader-top{height:57px}#dialog-area{bottom:5px}.choices button{font-size:13px;padding:9px 17px}.choices.many{top:18%;max-height:61%}.quick-tools{padding-top:7px}}

/* 透出场景颜色的磨玻璃；文字区域保留足够乳白底色。 */
#dialogue{background:rgba(255,250,248,.66);backdrop-filter:blur(24px) saturate(1.15);-webkit-backdrop-filter:blur(24px) saturate(1.15);border:1px solid rgba(255,255,255,.72);box-shadow:inset 0 1px 0 #fff8,0 9px 32px #241b3026}
#dialogue:hover:not(:disabled){background:rgba(255,250,248,.72)}
#line-text{color:#342c3c;text-shadow:0 1px 1px #fff7}.dialog-bottom{color:#795566}
.choices button{background:rgba(255,250,248,.67);backdrop-filter:blur(22px) saturate(1.12);-webkit-backdrop-filter:blur(22px) saturate(1.12);border:1px solid rgba(255,255,255,.78);box-shadow:inset 0 1px 0 #fffa,0 5px 22px #30223620;color:#3d3144}
.choices button:hover,.choices button:focus-visible{background:rgba(255,245,249,.81);border-color:#c97994}.choices button:before{color:#965471}
.name-form{max-width:460px;margin:24px auto 10px}.name-form label{display:block;font:17px SakuraText,sans-serif;margin-bottom:10px;color:#796477}.name-form input{display:block;width:100%;padding:14px 15px;border:1px solid #cfaebb;border-radius:4px;background:#fffc;color:#4b3650;font:22px SakuraText,sans-serif;outline-offset:4px}.name-form input:focus{outline:2px solid #c884a0}.name-form .sub-actions{flex-wrap:wrap}.name-form button{font-family:SakuraText,sans-serif}.name-form button:disabled{opacity:.4;cursor:default}
@supports not (backdrop-filter:blur(1px)){#dialogue{background:rgba(255,250,248,.88)}.choices button{background:rgba(255,250,248,.9)}}
.cg-frame{display:none}#reader.choosing #character,#reader.choosing #companion{opacity:.48;mask-image:linear-gradient(#000 80%,transparent);-webkit-mask-image:linear-gradient(#000 80%,transparent)}
@media(max-width:799px) and (min-height:651px){#reader.shot-two #character,#reader.shot-two #companion{height:46%;width:auto;max-width:none;bottom:28%}#reader.shot-cg .cg-frame{display:block;position:absolute;top:15%;left:0;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;z-index:0;box-shadow:0 8px 35px #2119294d}body.cg-scene #backdrop,body.cg-scene #backdrop-next{filter:blur(22px) brightness(.72);transform:scale(1.08)}}
