:root{color-scheme:dark;--bg-void: #020208;--bg-depth: #070915;--text-main: rgba(236, 237, 246, .94);--text-soft: rgba(211, 217, 238, .58);--line-idle: rgba(195, 203, 238, .18);--line-focus: rgba(214, 222, 255, .58)}*{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;background:var(--bg-void)}body{overflow:hidden;-webkit-user-select:none;user-select:none;font-family:"Noto Serif SC","Source Han Serif SC",Songti SC,Georgia,serif;color:var(--text-main)}.title-screen,.app{position:relative;width:100%;min-height:100dvh;overflow:hidden;background:radial-gradient(130% 85% at 50% 8%,#11172e,#05070f 44%,#020208)}.starfield{position:absolute;inset:0;pointer-events:none;overflow:hidden}.stars{position:absolute;inset:-40%;will-change:transform,opacity}.stars-a{opacity:.24;background-image:radial-gradient(1px 1px at 18px 22px,rgba(241,245,255,.85),transparent),radial-gradient(1.1px 1.1px at 128px 88px,rgba(222,232,255,.72),transparent),radial-gradient(.8px .8px at 72px 164px,rgba(211,221,255,.6),transparent);background-size:210px 210px;animation:starDriftA 140s linear infinite}.stars-b{opacity:.14;background-image:radial-gradient(1px 1px at 34px 108px,rgba(237,243,255,.72),transparent),radial-gradient(.9px .9px at 160px 36px,rgba(220,232,255,.58),transparent),radial-gradient(1px 1px at 102px 168px,rgba(220,228,255,.62),transparent);background-size:260px 260px;animation:starDriftB 220s linear infinite}.stars-c{opacity:.08;background-image:radial-gradient(1.1px 1.1px at 58px 52px,rgba(244,246,255,.7),transparent),radial-gradient(.8px .8px at 188px 150px,rgba(218,224,255,.55),transparent),radial-gradient(.7px .7px at 118px 198px,rgba(230,235,255,.52),transparent);background-size:320px 320px;animation:starDriftC 260s linear infinite}.title-inner{position:relative;z-index:2;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:20px;animation:titleFadeIn 2s ease forwards;opacity:0}.title-main{font-size:clamp(3rem,13vw,5.9rem);letter-spacing:clamp(.8rem,2.6vw,1.8rem);font-weight:400;color:#f1f3fceb;text-indent:clamp(.8rem,2.6vw,1.8rem)}.title-sub{margin-top:10px;font-size:clamp(.78rem,2.8vw,1rem);letter-spacing:.68rem;color:#e8ecff7a}.title-actions{margin-top:clamp(52px,10vh,84px);display:flex;flex-direction:column;gap:12px}.title-btn{min-width:200px;border:1px solid rgba(201,211,248,.24);background:#05081247;color:#e2e7fcb8;padding:12px 26px;border-radius:2px;font-size:.92rem;letter-spacing:.2rem;font-family:inherit;cursor:pointer;transition:border-color .24s ease,box-shadow .24s ease,color .24s ease,transform .24s ease}.title-btn.primary{border-color:#d1dbff61;color:#edf1ffe6}.title-btn:hover{color:#f1f5fff5;border-color:#e0e8ffb8;box-shadow:0 0 18px #bfceff3d;transform:translateY(-1px)}.app-stars{opacity:.58}.reset-link{border:none;background:transparent;color:#d0d8f53d;letter-spacing:.14em;font-size:.62rem;font-family:inherit;cursor:pointer;transition:color .22s ease}.reset-link:hover{color:#dfe6fc94}.story-stage{position:relative;z-index:2;height:100dvh;overflow-y:auto;display:flex;align-items:flex-start;justify-content:center;padding:max(74px,env(safe-area-inset-top) + 40px) 22px 320px;scrollbar-width:none}.narrative-shell{width:min(92vw,880px);min-height:unset;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:26px}.narrative-text{width:100%;white-space:pre-wrap;word-break:break-word;text-align:center;font-size:clamp(1.28rem,3.5vw,2rem);line-height:2.08;letter-spacing:.06em;color:#ecf0fcf0;text-shadow:0 6px 24px rgba(8,12,28,.35)}.narrative-loading{font-size:1.46rem;line-height:1;letter-spacing:.5em;color:#dfe5fc5c;transform:translate(.25em);animation:loadingBreath 1.4s ease-in-out infinite}.cursor{margin-left:2px;color:#ebeefad1;animation:cursorBlink .72s steps(1,end) infinite}.ending-note{font-size:.82rem;letter-spacing:.22em;color:#d8dff857}.music-player{width:min(100%,560px);padding:14px 16px 12px;border-radius:13px;border:1px solid rgba(188,201,242,.3);background:linear-gradient(156deg,#11183280,#060a1685),#060a167a;box-shadow:0 14px 30px #04061075,inset 0 0 0 1px #e2e9ff0a,0 0 24px #a6bbff24;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;flex-direction:column;gap:10px;animation:musicPlayerRise .42s cubic-bezier(.2,.8,.28,1) both}.music-player-head{display:flex;align-items:center;justify-content:space-between;gap:14px}.music-player-title{font-size:.9rem;letter-spacing:.14em;color:#ecf2ffe0}.music-player-toggle{min-width:62px;border:1px solid rgba(201,214,248,.35);background:#0e162c85;color:#e8eeffdb;border-radius:999px;padding:6px 14px;font-size:.75rem;letter-spacing:.1em;font-family:inherit;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease,background-color .2s ease}.music-player-toggle:hover{border-color:#dce6ffb8;background:#172342b8;box-shadow:0 0 14px #acc0ff3d}.music-player-track{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px}.music-player-time{font-size:.66rem;letter-spacing:.06em;color:#d3dcfaa3;font-variant-numeric:tabular-nums}.music-player-progress{width:100%;height:4px;appearance:none;border-radius:999px;background:linear-gradient(to right,#c4d1f8d1,#8698d28f);cursor:pointer;opacity:.9}.music-player-progress::-webkit-slider-thumb{appearance:none;width:12px;height:12px;border-radius:50%;border:1px solid rgba(217,226,254,.78);background:#f0f5fff2;box-shadow:0 0 10px #b8caff75}.music-player-progress::-moz-range-thumb{width:12px;height:12px;border-radius:50%;border:1px solid rgba(217,226,254,.78);background:#f0f5fff2;box-shadow:0 0 10px #b8caff75}.music-player-progress::-moz-range-track{height:4px;border-radius:999px;background:linear-gradient(to right,#c4d1f8d1,#8698d28f)}.music-player-hint{font-size:.68rem;letter-spacing:.12em;color:#d6e0ffb8;text-align:right}.choice-dock{background:linear-gradient(to top,#020208 60%,transparent);padding-top:40px;position:fixed;left:50%;bottom:calc(14px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:12;width:min(92vw,660px);display:flex;flex-direction:column;align-items:center;gap:14px}.choice-echo{font-size:.82rem;line-height:1.3;letter-spacing:.06em;color:#dfe7fd94;font-style:italic;text-align:center;animation:echoRise .36s ease both}.choice-list{width:100%;display:flex;flex-direction:column;gap:11px;animation:choicesRise .38s cubic-bezier(.18,.76,.32,1) both}.choice-card{width:100%;border:1px solid rgba(198,208,246,.26);background:#080d1d33;color:#ecf0ffeb;border-radius:4px;padding:13px 14px;text-align:left;font-size:.98rem;line-height:1.36;letter-spacing:.05em;font-family:inherit;cursor:pointer;transition:border-color .22s ease,box-shadow .22s ease,background-color .22s ease,transform .22s ease}.choice-card:hover{border-color:#dce4ffa8;background:#0f162c66;box-shadow:0 0 18px #b5c6ff29;transform:translateY(-1px)}.choice-card:active{transform:translateY(0)}.choice-card:disabled{opacity:.52;cursor:default}@keyframes titleFadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes loadingBreath{0%,to{opacity:.25}50%{opacity:.62}}@keyframes cursorBlink{0%,45%{opacity:1}46%,to{opacity:0}}@keyframes choicesRise{0%{opacity:0;transform:translateY(18px);filter:blur(.6px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes echoRise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes musicPlayerRise{0%{opacity:0;transform:translateY(8px);filter:blur(1px)}to{opacity:1;transform:translateY(0);filter:blur(0)}}@keyframes starDriftA{0%{transform:translateZ(0)}to{transform:translate3d(-120px,-160px,0)}}@keyframes starDriftB{0%{transform:translateZ(0)}to{transform:translate3d(160px,-220px,0)}}@keyframes starDriftC{0%{transform:translateZ(0)}to{transform:translate3d(-140px,200px,0)}}@media(min-width:768px){.title-actions{margin-top:92px}.reset-link{top:18px;right:18px}.story-stage{padding-left:max(30px,12vw);padding-right:max(30px,12vw);padding-bottom:236px}.choice-dock{background:linear-gradient(to top,#020208 60%,transparent);padding-top:40px;bottom:calc(18px + env(safe-area-inset-bottom))}}.action-bar{position:fixed;top:14px;right:14px;z-index:14;display:flex;gap:12px;align-items:center}.music-hint{margin-top:2rem;font-size:.7rem;letter-spacing:.18em;color:#d0d8f559;font-family:inherit;animation:fadeIn 1.5s ease forwards}
