:root{--bg:#100d0a;--paper:#eee3ca;--gold:#c9a35a;--text:#eee5d7;--muted:#9e927f;--line:rgba(224,203,158,.17);--red:#87342d;--dock:rgba(17,14,11,.985)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;width:100%;min-height:100%;background:#0b0907;color:var(--text);font-family:system-ui,-apple-system,"PingFang SC","Microsoft YaHei",sans-serif;overscroll-behavior:none}body{overflow:hidden;background:radial-gradient(circle at 50% -10%,rgba(153,113,47,.16),transparent 36%),linear-gradient(#16110d,#0b0907)}button{font:inherit}.hidden{display:none!important}#app{position:relative;z-index:3;width:100%;max-width:620px;margin:auto;min-height:100dvh}#topbar{position:fixed;z-index:30;top:0;left:50%;transform:translateX(-50%);width:min(100%,620px);height:calc(54px + env(safe-area-inset-top));padding:calc(7px + env(safe-area-inset-top)) 10px 7px;display:flex;align-items:center;gap:6px;background:linear-gradient(rgba(14,12,10,.97),rgba(14,12,10,.84));backdrop-filter:blur(16px);border-bottom:1px solid var(--line)}.chapter-pill,.book-btn,.codex-btn{height:36px;border:1px solid var(--line);background:rgba(255,255,255,.025);color:#cabd9f;padding:0 9px;font-size:11px;white-space:nowrap}.chapter-pill{max-width:76px;overflow:hidden;text-overflow:ellipsis}.book-btn,.codex-btn{position:relative;min-width:45px}.codex-dot{position:absolute;right:4px;top:4px;width:6px;height:6px;border-radius:50%;background:#d4a34e;box-shadow:0 0 8px rgba(212,163,78,.7)}.ep-wrap{flex:1;min-width:62px;text-align:center;font-family:Georgia,"Songti SC",serif}.ep-wrap span{font-size:12px;color:var(--gold);letter-spacing:.08em}.prog{height:2px;margin-top:6px;background:rgba(255,255,255,.08)}.prog i{display:block;height:100%;width:0;background:linear-gradient(90deg,#6d5223,#d4b163);transition:width .6s}#screen{height:100dvh;opacity:1;transition:opacity .32s ease}#screen.stage-hidden{opacity:0;pointer-events:none}.cover{height:100dvh;padding:calc(38px + env(safe-area-inset-top)) 22px calc(30px + env(safe-area-inset-bottom));display:flex;flex-direction:column;justify-content:center;overflow:auto}.cover-seal{width:62px;height:62px;border:1px solid #86332e;color:#b54f48;display:grid;place-items:center;font-family:"Songti SC",serif;font-size:26px;transform:rotate(-3deg)}.eyebrow{margin-top:22px;color:var(--gold);font-size:11px;letter-spacing:.2em}.cover h1{font-family:Georgia,"Songti SC",serif;font-weight:500;font-size:clamp(46px,13vw,68px);line-height:1;margin:9px 0 12px}.cover h2{font-weight:400;font-size:18px;color:#d8ccb6;margin:0 0 22px}.cover-copy{font-family:Georgia,"Songti SC",serif;font-size:15px;line-height:1.95;color:#aa9d88;border-left:1px solid #6b5125;padding-left:14px;margin-bottom:28px}.primary,.secondary{width:100%;min-height:52px;border-radius:0}.primary{border:1px solid #a6813b;color:#241a0e;background:linear-gradient(#d8ba78,#af853a);font-weight:800;letter-spacing:.18em}.secondary{margin-top:10px;border:1px solid var(--line);color:#c9bca5;background:rgba(255,255,255,.02)}.history{margin-top:15px;color:#746d61;font-size:11px}.story-shell{height:100dvh;padding-top:calc(54px + env(safe-area-inset-top));display:flex;flex-direction:column;overflow:hidden}.story-scroll{flex:1;min-height:0;overflow-y:auto;padding:18px 17px 34px;scrollbar-width:none;overscroll-behavior:contain}.story-scroll::-webkit-scrollbar{display:none}.chapter-mark{color:var(--gold);font-size:10px;letter-spacing:.13em;margin-bottom:8px}.scene-title{font-family:Georgia,"Songti SC",serif;font-size:31px;font-weight:500;line-height:1.16;margin:0 0 17px}.speaker{display:inline-flex;align-items:center;gap:7px;color:#b79f76;font-size:11px;letter-spacing:.08em;margin:0 0 11px;padding:0;border:0;background:transparent}.term-speaker{text-decoration:underline dotted rgba(224,190,120,.55);text-underline-offset:4px}.speaker:before{content:"";width:18px;height:1px;background:#725726}.story-text{font-family:Georgia,"Songti SC",serif;font-size:18px;line-height:1.98;color:#ece4d7;letter-spacing:.012em}.reveal-char,.reveal-token{opacity:0;animation:glyphIn .22s ease forwards}.reveal-done .reveal-char,.reveal-done .reveal-token{opacity:1!important;animation:none!important}.term-link{display:inline;padding:0 1px;border:0;background:transparent;color:#e0be78;font-family:inherit;font-size:inherit;line-height:inherit;text-decoration:underline dotted rgba(224,190,120,.75);text-underline-offset:4px}.tap-hint{text-align:right;margin:15px 0 2px;color:#5f584e;font-size:9px}.choice-dock{flex:0 0 auto;z-index:12;width:100%;max-height:47dvh;overflow-y:auto;padding:10px 11px calc(10px + env(safe-area-inset-bottom));background:linear-gradient(180deg,rgba(15,13,11,.78),var(--dock) 22%);border-top:1px solid rgba(205,168,93,.22);box-shadow:0 -18px 36px rgba(5,4,3,.22);backdrop-filter:blur(18px)}.dock-caption{font-size:9px;letter-spacing:.18em;color:#76694f;text-align:center;margin-bottom:7px}.choices{display:grid;gap:9px}.choice{width:100%;min-height:55px;text-align:left;border:1px solid var(--line);background:linear-gradient(#272219,#1d1a15);color:#ebe2d2;padding:11px 13px;font-size:13px;line-height:1.48;display:flex;align-items:flex-start;gap:10px}.choice .letter{flex:0 0 23px;color:var(--gold);font-family:Georgia,serif;font-size:12px}.choice-copy{display:block;flex:1}.condition-hint{display:block;margin:0 0 5px;color:#e4bd6d;font-size:10px;line-height:1.45;font-weight:800}.condition-hint:before{content:"◆ ";font-size:8px;color:#9d7434}.choice.chosen{border-color:#aa8241;background:#30281c}.choice.dim{display:none}.choice-dock.resolved{max-height:72px;overflow:hidden}.choice-dock.resolved .dock-caption{display:none}.choice-dock.resolved .choice{display:none}.choice-dock.resolved .choice.chosen{display:flex;opacity:.72;pointer-events:none}.choice-dock.ending-hide{max-height:0;padding:0;border:0;opacity:0}.reveal-wait{opacity:.2;pointer-events:none;transition:.3s}.dock-ready .reveal-wait{opacity:1;pointer-events:auto}.auto-wrap{flex:0 0 auto;padding:10px 11px calc(10px + env(safe-area-inset-bottom));background:var(--dock);border-top:1px solid rgba(205,168,93,.2)}.auto-btn,.next-inline{width:100%;min-height:54px;border:1px solid #98743a;background:linear-gradient(#c9a65c,#9d7636);color:#19120a;font-weight:800;letter-spacing:.14em}.inline-aftermath{margin:30px -2px 0;padding:22px 2px 20px;border-top:1px solid rgba(205,168,93,.34);animation:afterRise .45s ease both}.aftermath-label{color:#9e7940;font-size:10px;letter-spacing:.2em;margin-bottom:7px}.choice-recap{margin:0 0 20px;padding:11px 12px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:#d7c9b1;font-family:Georgia,"Songti SC",serif;font-size:14px}.choice-recap small{display:block;color:#756a5b;font-size:9px;margin-bottom:3px}.episode-close-line{margin:22px 0 14px;text-align:center;color:#7d715f;font-size:11px}.inline-ending{position:relative;margin:34px 0 0;padding:30px 0 15px;border-top:1px solid rgba(167,61,51,.45)}.ending-seal{width:70px;height:70px;border:2px solid #8d302b;color:#b94942;display:grid;place-items:center;font-size:30px;font-family:"Songti SC",serif;margin:auto;transform:rotate(7deg)}.inline-ending h2{text-align:center;font-family:Georgia,"Songti SC",serif;font-size:36px;font-weight:500}.result-ep{text-align:center;color:var(--gold);font-size:11px}.result-copy{font-family:Georgia,"Songti SC",serif;font-size:16px;line-height:1.9;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:16px 0}.ending-poem{text-align:center;margin:18px 0;padding:16px 0;border-block:1px solid rgba(205,168,93,.2);font-family:Georgia,"Songti SC",serif;line-height:2}.poem-title{color:#9f7d43;font-size:12px}.truth{margin:17px 0;padding:13px;border-left:2px solid var(--red);background:rgba(125,41,38,.08);color:#baa993;font-size:13px;line-height:1.7}.drawer{position:fixed;inset:0;z-index:80;background:rgba(5,4,3,.66);display:none;align-items:flex-end}.drawer.open{display:flex}.drawer-card{width:100%;max-width:620px;margin:auto;max-height:84dvh;overflow:auto;background:#211c16;border-top:1px solid #775b2c;padding:8px 16px calc(20px + env(safe-area-inset-bottom));animation:sheetUp .25s ease-out}.grab{width:42px;height:3px;background:#6b6254;margin:2px auto 16px}.drawer h3{font-family:Georgia,"Songti SC",serif;font-size:25px;font-weight:500;margin:0 0 14px}.drawer-close{width:100%;height:48px;margin-top:16px;border:1px solid var(--line);background:transparent;color:#c6b9a2}.meta{font-size:12px;color:#918675;line-height:1.8}.identity-card{margin:16px 0;border-block:1px solid var(--line);padding:14px 0}.identity-name{font-family:Georgia,"Songti SC",serif;font-size:28px;color:#dfcfb2;margin-bottom:13px}.identity-row{display:flex;justify-content:space-between;gap:18px;padding:9px 0;border-top:1px solid rgba(255,255,255,.045);font-size:12px}.identity-row span{color:#807361}.identity-row b{font-weight:500;color:#c9baa2;text-align:right}.journal-item{border-left:1px solid #6f5428;padding:5px 0 10px 12px;color:#aa9e8a;font-size:12px;line-height:1.6}.codex-head{display:flex;justify-content:space-between}.codex-count{font-family:Georgia,serif;color:#b99654;font-size:18px}.codex-tabs{position:sticky;top:-8px;z-index:5;display:flex;gap:6px;overflow-x:auto;margin:12px -16px 0;padding:9px 16px 10px;background:#211c16;border-bottom:1px solid var(--line);scrollbar-width:none}.codex-tab{flex:0 0 auto;height:34px;border:1px solid rgba(205,168,93,.15);background:transparent;color:#8f8370;padding:0 12px;font-size:11px}.codex-tab.active{border-color:#a78142;background:rgba(205,168,93,.11);color:#ddc18a;font-weight:700}.codex-list{border-top:1px solid var(--line)}.codex-item{width:100%;min-height:58px;border:0;border-bottom:1px solid var(--line);background:transparent;color:#ddd0b9;padding:10px 2px;display:flex;justify-content:space-between;text-align:left}.codex-item b{display:block;font-family:Georgia,"Songti SC",serif;font-size:16px;font-weight:500}.codex-item small{display:block;color:#7f7463;font-size:10px;margin-top:3px}.update-badge{font-size:9px;color:#24190d;background:#cda85d;padding:3px 6px}.term-title{padding:3px 0 11px;border-bottom:1px solid var(--line)}.term-title span{color:#8e806d;font-size:10px}.term-title h3{font-size:31px;margin:3px 0 0}.term-stage{position:relative;margin:0;padding:17px 0 17px 17px;border-left:1px solid #514226}.term-stage:before{content:"";position:absolute;left:-4px;top:22px;width:7px;height:7px;border-radius:50%;background:#5f4b29}.term-stage.latest:before{background:#c69d4f}.term-stage-ep{font-size:9px;color:#7e725f}.term-stage h4{margin:5px 0 7px;font-family:Georgia,"Songti SC",serif;font-size:16px;font-weight:500}.term-stage p{margin:0;color:#a99d89;font-family:Georgia,"Songti SC",serif;font-size:13px;line-height:1.85}#veil{position:fixed;inset:0;z-index:70;background:#090705;opacity:0;pointer-events:none;transition:.2s}#veil.active{opacity:1}.chapter-stage{position:fixed;inset:0;z-index:120;background:#090705;display:flex;align-items:center;justify-content:center;overflow:hidden}.chapter-stage.hidden{display:none}.chapter-door{position:absolute;top:0;bottom:0;width:52%;background:linear-gradient(90deg,#0d0a07,#21160d 50%,#080605);z-index:2}.chapter-door.left{left:0}.chapter-door.right{right:0}.chapter-stage.active .left{animation:doorLeft 2.4s both}.chapter-stage.active .right{animation:doorRight 2.4s both}.chapter-smoke{position:absolute;width:85vw;height:85vw;border-radius:50%;filter:blur(35px);background:radial-gradient(circle,rgba(174,125,55,.12),transparent 65%);z-index:3}.chapter-card{position:relative;z-index:5;width:min(86vw,520px);text-align:center;padding:20px 12px;opacity:0}.chapter-stage.active .chapter-card{animation:chapterCardIn .9s .8s forwards}.chapter-index{font-size:11px;letter-spacing:.3em;color:#9b7c43}.chapter-card h2{font-family:Georgia,"Songti SC",serif;font-size:clamp(46px,14vw,72px);font-weight:500;margin:8px 0 12px;color:#e0cfac}.chapter-lead{color:#9f8f74;font-size:13px}.chapter-rule{height:1px;width:70%;background:linear-gradient(90deg,transparent,#b28743,transparent);margin:20px auto}.chapter-guide{color:#c8b99c;font-family:Georgia,"Songti SC",serif;font-size:15px;line-height:1.9}.chapter-continue{width:100%;max-width:300px;min-height:54px;margin:22px auto 0;border:1px solid #8f6c34;background:rgba(183,139,62,.08);color:#c7a665;letter-spacing:.25em}.fate-stage{position:fixed;inset:0;z-index:150;background:rgba(8,6,5,.97);display:grid;place-items:center;overflow:hidden}.fate-stage.hidden{display:none}.fate-ink{position:absolute;width:62vmax;height:62vmax;border-radius:50%;background:radial-gradient(circle,#241810 0 28%,rgba(35,23,14,.9) 48%,transparent 70%);filter:blur(8px);transform:scale(.05)}.fate-stage.active .fi1{animation:fateInk .9s ease-out forwards}.fate-stage.active .fi2{animation:fateInk 1s .12s ease-out forwards;left:20%;top:10%}.fate-thread{position:absolute;width:2px;height:0;background:linear-gradient(#d2ad63,transparent);box-shadow:0 0 15px rgba(210,173,99,.5)}.fate-stage.active .fate-thread{animation:threadDrop .9s .35s forwards}.fate-card{position:relative;z-index:3;width:min(84vw,440px);text-align:center;opacity:0;transform:scale(.86)}.fate-stage.active .fate-card{animation:fateCard .55s .45s forwards}.fate-seal{width:76px;height:76px;border:2px solid #9b382f;color:#c95b50;display:grid;place-items:center;margin:0 auto 14px;font-family:"Songti SC",serif;font-size:34px;transform:rotate(-7deg)}.fate-kicker{font-size:10px;letter-spacing:.28em;color:#937b55}.fate-card h2{font-family:Georgia,"Songti SC",serif;font-size:34px;font-weight:500;color:#e2cfaa;margin:10px 0}.fate-card p{font-family:Georgia,"Songti SC",serif;font-size:14px;line-height:1.9;color:#afa088}.fate-card button{width:100%;max-width:280px;min-height:50px;margin-top:18px;border:1px solid #8d6b34;background:rgba(205,168,93,.08);color:#d2b16e;letter-spacing:.18em}.splash{position:fixed;inset:0;z-index:200;background:#080604;overflow:hidden;display:grid;place-items:center;transition:opacity .6s,visibility .6s}.splash.done{opacity:0;visibility:hidden;pointer-events:none}.splash-door{position:absolute;top:0;bottom:0;width:51%;background:linear-gradient(90deg,#090705,#28190e 55%,#0b0805);box-shadow:inset 0 0 80px #000;z-index:2}.sd-left{left:0}.sd-right{right:0}.splash.play .sd-left{animation:splashLeft 2.6s .7s cubic-bezier(.55,.02,.18,1) forwards}.splash.play .sd-right{animation:splashRight 2.6s .7s cubic-bezier(.55,.02,.18,1) forwards}.splash-glow{position:absolute;width:28vmax;height:28vmax;border-radius:50%;background:radial-gradient(circle,rgba(206,165,84,.27),transparent 65%);filter:blur(22px);opacity:0}.splash.play .splash-glow{animation:glowIn 2.4s 1.2s forwards}.splash-title{position:relative;z-index:4;text-align:center;opacity:0;transform:translateY(12px)}.splash.play .splash-title{animation:titleReveal 1.1s 1.45s forwards}.splash-title span{color:#9e8455;font-size:11px;letter-spacing:.28em}.splash-title h1{font-family:Georgia,"Songti SC",serif;font-size:clamp(50px,16vw,82px);font-weight:500;margin:10px 0;color:#e0cfaa}.splash-title p{color:#9d907b;font-family:Georgia,"Songti SC",serif;font-size:13px}.splash-skip{position:absolute;z-index:5;bottom:calc(26px + env(safe-area-inset-bottom));border:0;background:transparent;color:#796c59;font-size:10px;letter-spacing:.12em}.lantern{position:absolute;top:-22px;width:42px;height:74px;background:url('assets/lantern.svg') center/contain no-repeat;opacity:.5;transform-origin:50% 0;animation:sway 6s ease-in-out infinite}.l1{left:4vw}.l2{right:5vw;animation-delay:-2.3s}#ambience{position:fixed;inset:0;pointer-events:none;z-index:1;overflow:hidden}.petal{position:absolute;top:-8vh;width:12px;height:12px;background:url('assets/petal.svg') center/contain no-repeat;animation:fall var(--dur) var(--delay) linear infinite}.mist{position:absolute;width:70vw;height:20vh;border-radius:50%;background:rgba(200,186,156,.03);filter:blur(28px)}#toast{position:fixed;z-index:190;left:50%;bottom:calc(18px + env(safe-area-inset-bottom));transform:translate(-50%,12px);background:rgba(25,21,17,.96);border:1px solid var(--line);color:#d4c7b1;padding:9px 12px;font-size:12px;opacity:0;pointer-events:none}#toast.show{animation:toast 2.1s both}@keyframes glyphIn{to{opacity:1}}@keyframes afterRise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes sheetUp{from{transform:translateY(100%)}to{transform:none}}@keyframes doorLeft{to{transform:translateX(-76%)}}@keyframes doorRight{to{transform:translateX(76%)}}@keyframes chapterCardIn{to{opacity:1}}@keyframes fateInk{to{transform:scale(2.6)}}@keyframes threadDrop{to{height:100vh}}@keyframes fateCard{to{opacity:1;transform:none}}@keyframes splashLeft{to{transform:translateX(-76%)}}@keyframes splashRight{to{transform:translateX(76%)}}@keyframes glowIn{to{opacity:1;transform:scale(1.5)}}@keyframes titleReveal{to{opacity:1;transform:none}}@keyframes sway{50%{transform:rotate(3deg)}}@keyframes fall{0%{transform:translate3d(0,-10vh,0) rotate(0);opacity:0}10%{opacity:var(--op)}100%{transform:translate3d(var(--drift),112vh,0) rotate(var(--rot));opacity:0}}@keyframes toast{15%,80%{opacity:1;transform:translate(-50%,0)}100%{opacity:0;transform:translate(-50%,-5px)}}@media(max-width:390px){.story-scroll{padding:14px 15px 28px}.story-text{font-size:17px;line-height:1.92}.scene-title{font-size:29px}.choice{font-size:13px}.chapter-card h2{font-size:52px}.fate-card h2{font-size:31px}}@media(max-height:680px){.story-text{font-size:16px;line-height:1.82}.choice-dock{max-height:50dvh}.chapter-card h2{font-size:44px}.chapter-guide{font-size:13px}.fate-seal{width:62px;height:62px;font-size:28px}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}.reveal-char,.reveal-token{opacity:1!important}}

/* ===== v0.9 · quieter fate notice / nonlinear branches ===== */
.fate-stage{display:none!important}
.fate-inline{display:flex;align-items:flex-start;gap:12px;margin:15px 0 18px;padding:13px 14px;border-top:1px solid rgba(190,145,63,.34);border-bottom:1px solid rgba(190,145,63,.22);background:linear-gradient(90deg,rgba(129,73,35,.15),rgba(183,137,57,.045),transparent);animation:fateInlineIn .55s cubic-bezier(.2,.8,.2,1) both}
.fate-mini-seal{flex:0 0 38px;width:38px;height:38px;border:1px solid #8d302b;color:#bd5a4d;display:grid;place-items:center;font-family:"Songti SC",serif;font-size:18px;transform:rotate(-4deg)}
.fate-inline b{display:block;color:#d6b56d;font-family:Georgia,"Songti SC",serif;font-size:14px;letter-spacing:.08em;margin:1px 0 4px}.fate-inline p{margin:0;color:#a99b84;font-family:Georgia,"Songti SC",serif;font-size:12px;line-height:1.65}
@keyframes fateInlineIn{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
/* Branch/interrupt labels remain compact on mobile. */
.chapter-mark{white-space:normal}.choice .condition-hint{font-weight:800}


/* ===== v1.0 title + cinematic opening ===== */
.cover-subtitle{font-family:Georgia,"Songti SC",serif!important;font-weight:500!important;font-size:22px!important;letter-spacing:.2em!important;color:#bda77d!important;margin:-2px 0 13px!important}
.cover-question{font-family:Georgia,"Songti SC",serif;font-size:16px;color:#d9ccb5;margin:0 0 22px;letter-spacing:.02em}

.splash{background:#050403;isolation:isolate;perspective:1100px}
.splash-night{position:absolute;inset:0;z-index:0;background:radial-gradient(circle at 56% 26%,rgba(151,126,89,.12),transparent 25%),linear-gradient(180deg,#080706 0%,#100c09 53%,#050403 100%)}
.splash-vignette{position:absolute;inset:0;z-index:20;pointer-events:none;box-shadow:inset 0 0 110px 26px rgba(0,0,0,.84);background:linear-gradient(180deg,rgba(0,0,0,.08),transparent 30%,transparent 68%,rgba(0,0,0,.35))}
.splash-moon{position:absolute;z-index:1;left:58%;top:14%;width:84px;height:84px;border-radius:50%;opacity:0;transform:translate(-50%,10px) scale(.8);background:radial-gradient(circle at 42% 38%,#eadbb9 0 22%,#bfae8c 58%,#7e725e 100%);box-shadow:0 0 38px rgba(218,194,144,.16),0 0 110px rgba(174,145,92,.10)}
.splash-moon:after{content:"";position:absolute;left:17%;top:19%;width:18px;height:13px;border-radius:50%;background:rgba(97,87,72,.13);box-shadow:27px 19px 0 5px rgba(97,87,72,.08),6px 39px 0 2px rgba(97,87,72,.08)}
.splash.play .splash-moon{animation:moonRise 2.5s .2s cubic-bezier(.2,.72,.22,1) forwards}
.splash-cloud{position:absolute;z-index:2;height:42px;border-radius:50%;opacity:0;filter:blur(11px);background:linear-gradient(90deg,transparent,rgba(196,184,157,.10),rgba(196,184,157,.18),transparent)}
.sc1{width:58vw;left:-12vw;top:22%}.sc2{width:67vw;right:-21vw;top:32%;transform:scale(.8)}
.splash.play .sc1{animation:cloudPass 5.8s .25s ease-out forwards}.splash.play .sc2{animation:cloudPass2 6.4s .6s ease-out forwards}
.splash-palace{position:absolute;left:-8%;right:-8%;bottom:0;z-index:3;opacity:0;transform:translateY(28px);background-repeat:repeat-x}
.sp-back{height:34%;filter:blur(.4px);background:
linear-gradient(153deg,transparent 0 42%,#100d09 43% 50%,transparent 51%) 0 0/120px 58px repeat-x,
linear-gradient(207deg,transparent 0 42%,#100d09 43% 50%,transparent 51%) 60px 0/120px 58px repeat-x,
linear-gradient(#100d09,#090705);clip-path:polygon(0 35%,6% 35%,9% 22%,14% 35%,25% 35%,29% 13%,34% 35%,46% 35%,50% 25%,54% 35%,67% 35%,72% 16%,77% 35%,90% 35%,94% 24%,98% 35%,100% 35%,100% 100%,0 100%)}
.sp-front{height:22%;z-index:4;background:linear-gradient(180deg,#080605,#030302);clip-path:polygon(0 26%,9% 26%,14% 7%,20% 26%,38% 26%,44% 0,50% 26%,68% 26%,74% 10%,81% 26%,100% 26%,100% 100%,0 100%)}
.splash.play .sp-back{animation:palaceRise 1.7s .55s ease forwards}.splash.play .sp-front{animation:palaceRise 1.5s .78s ease forwards}
.splash-door{top:-2%;bottom:-2%;width:52%;z-index:8;background:linear-gradient(90deg,#080604 0,#28170d 52%,#0b0805 100%);box-shadow:inset 0 0 90px #000,0 0 45px rgba(0,0,0,.85)}
.splash-door:before{content:"";position:absolute;inset:4% 8%;border:1px solid rgba(164,111,49,.12);box-shadow:inset 0 0 0 5px rgba(0,0,0,.18)}
.splash-door b{position:absolute;top:11%;bottom:11%;width:2px;background:linear-gradient(transparent,rgba(174,123,54,.28),transparent);box-shadow:25px 0 0 rgba(174,123,54,.12),-25px 0 0 rgba(174,123,54,.12)}
.sd-left b{right:14%}.sd-right b{left:14%}
.splash.play .sd-left{animation:splashLeftV1 3.05s .62s cubic-bezier(.7,.02,.16,1) forwards}.splash.play .sd-right{animation:splashRightV1 3.05s .62s cubic-bezier(.7,.02,.16,1) forwards}
.splash-beam{position:absolute;z-index:7;top:0;bottom:0;left:50%;width:2px;opacity:0;transform:translateX(-50%) scaleX(1);background:linear-gradient(180deg,transparent 5%,rgba(234,199,119,.12) 26%,rgba(244,211,132,.65) 53%,rgba(234,199,119,.10) 80%,transparent);box-shadow:0 0 24px 8px rgba(215,172,83,.12)}
.splash.play .splash-beam{animation:beamOpen 2.7s .75s ease forwards}
.splash-title{z-index:12;width:min(88vw,520px);padding:18px 16px;opacity:1;transform:none}
.splash-era{display:block;opacity:0;color:#a98d5a!important;font-size:10px!important;letter-spacing:.34em!important;transform:translateY(-7px)}
.splash-rule-top{width:0;height:1px;margin:12px auto 13px;background:linear-gradient(90deg,transparent,#b58b46,transparent);opacity:.8}
.splash-title h1{margin:0;color:#ead8b3;font-size:clamp(46px,14vw,74px);letter-spacing:.10em;opacity:0;filter:blur(8px);transform:translateY(9px) scale(.96);text-shadow:0 6px 34px rgba(0,0,0,.75)}
.splash-title h2{margin:11px 0 0;color:#bca170;font-family:Georgia,"Songti SC",serif;font-weight:500;font-size:clamp(17px,5vw,24px);letter-spacing:.34em;opacity:0;transform:translateY(7px)}
.splash-brush{position:relative;width:0;height:5px;margin:15px auto 10px;opacity:0;background:linear-gradient(90deg,transparent,#7f2e28 12%,#b24e42 52%,#7b2b26 88%,transparent);filter:drop-shadow(0 1px 2px rgba(0,0,0,.6));transform:rotate(-1deg)}
.splash-brush:after{content:"";position:absolute;right:-5px;top:-2px;border-left:10px solid #83302a;border-top:4px solid transparent;border-bottom:5px solid transparent}
.splash-title p{margin:0;color:#968a77;font-size:12px;letter-spacing:.06em;opacity:0;transform:translateY(6px)}
.splash-seal{position:absolute;right:10%;top:34%;width:50px;height:50px;display:grid;place-items:center;border:2px solid rgba(160,50,44,.9);box-shadow:inset 0 0 0 3px rgba(113,31,28,.22);color:#bf5148;font-family:"Songti SC",serif;font-style:normal;font-size:23px;opacity:0;transform:rotate(10deg) scale(1.75)}
.splash.play .splash-era{animation:eraIn .7s 1.75s forwards}.splash.play .splash-rule-top{animation:ruleIn .8s 1.95s forwards}.splash.play .splash-title h1{animation:mainTitleIn 1.05s 2.05s cubic-bezier(.16,.8,.18,1) forwards}.splash.play .splash-title h2{animation:subTitleIn .78s 2.72s forwards}.splash.play .splash-brush{animation:brushDraw .8s 3.0s cubic-bezier(.2,.75,.2,1) forwards}.splash.play .splash-title p{animation:tagIn .7s 3.35s forwards}.splash.play .splash-seal{animation:sealStamp .48s 3.4s cubic-bezier(.15,1.22,.26,1) forwards}
.splash-petals{position:absolute;inset:0;z-index:15;pointer-events:none;overflow:hidden}.splash-petals i{position:absolute;top:-8%;width:11px;height:11px;background:url('assets/petal.svg') center/contain no-repeat;opacity:0}.splash-petals i:nth-child(1){left:13%;animation:splashPetal 4.2s 1.2s linear forwards}.splash-petals i:nth-child(2){left:27%;animation:splashPetal 4.9s 1.75s linear forwards}.splash-petals i:nth-child(3){left:45%;animation:splashPetal 3.9s 2.2s linear forwards}.splash-petals i:nth-child(4){left:63%;animation:splashPetal 4.6s 1.5s linear forwards}.splash-petals i:nth-child(5){left:78%;animation:splashPetal 4.1s 2.55s linear forwards}.splash-petals i:nth-child(6){left:91%;animation:splashPetal 5.0s 1.95s linear forwards}
.splash-skip{z-index:30;bottom:calc(22px + env(safe-area-inset-bottom));padding:10px 16px;color:#786b58;opacity:0}.splash.play .splash-skip{animation:skipIn .7s 2.1s forwards}.splash-skip:after{content:"";display:block;width:34px;height:1px;margin:7px auto 0;background:linear-gradient(90deg,transparent,#725d39,transparent)}

@keyframes moonRise{to{opacity:.86;transform:translate(-50%,0) scale(1)}}
@keyframes cloudPass{0%{opacity:0;transform:translateX(0)}25%{opacity:.8}100%{opacity:0;transform:translateX(55vw)}}
@keyframes cloudPass2{0%{opacity:0;transform:translateX(0) scale(.8)}30%{opacity:.65}100%{opacity:0;transform:translateX(-62vw) scale(1)}}
@keyframes palaceRise{to{opacity:1;transform:translateY(0)}}
@keyframes splashLeftV1{0%,18%{transform:translateX(0) rotateY(0)}100%{transform:translateX(-78%) rotateY(-10deg)}}
@keyframes splashRightV1{0%,18%{transform:translateX(0) rotateY(0)}100%{transform:translateX(78%) rotateY(10deg)}}
@keyframes beamOpen{0%{opacity:0;width:2px}28%{opacity:1;width:3px}100%{opacity:.14;width:38vw}}
@keyframes eraIn{to{opacity:1;transform:none}}
@keyframes ruleIn{to{width:62%;opacity:.85}}
@keyframes mainTitleIn{0%{opacity:0;filter:blur(8px);transform:translateY(9px) scale(.96);letter-spacing:.19em}100%{opacity:1;filter:none;transform:none;letter-spacing:.10em}}
@keyframes subTitleIn{to{opacity:1;transform:none}}
@keyframes brushDraw{0%{opacity:0;width:0}20%{opacity:1}100%{opacity:.9;width:72%}}
@keyframes tagIn{to{opacity:1;transform:none}}
@keyframes sealStamp{0%{opacity:0;transform:rotate(10deg) scale(1.75)}70%{opacity:.95;transform:rotate(-6deg) scale(.92)}100%{opacity:.88;transform:rotate(-4deg) scale(1)}}
@keyframes splashPetal{0%{opacity:0;transform:translate3d(0,-6vh,0) rotate(0)}12%{opacity:.42}100%{opacity:0;transform:translate3d(18vw,112vh,0) rotate(420deg)}}
@keyframes skipIn{to{opacity:1}}

@media(max-width:390px){.splash-title{padding-inline:12px}.splash-seal{right:5%;top:35%;width:44px;height:44px;font-size:20px}.splash-title h1{font-size:48px}.splash-title h2{font-size:17px}.cover-subtitle{font-size:20px!important}}
@media(max-height:680px){.splash-moon{top:10%;width:66px;height:66px}.splash-title h1{font-size:44px}.splash-title h2{margin-top:7px}.splash-brush{margin-top:10px}.splash-seal{top:31%}}
@media(prefers-reduced-motion:reduce){.splash-moon,.splash-palace,.splash-era,.splash-title h1,.splash-title h2,.splash-title p,.splash-seal,.splash-skip{opacity:1!important;transform:none!important;filter:none!important}.splash-door{transform:translateX(78%)!important}.sd-left{transform:translateX(-78%)!important}.splash-rule-top{width:62%!important}.splash-brush{width:72%!important;opacity:.9!important}}
