*{box-sizing:border-box;margin:0;padding:0}html,body{overscroll-behavior:none;background:#070309;height:100dvh;font-family:Songti SC,Noto Serif SC,STSong,serif;overflow:hidden}#scene{touch-action:none;display:block;position:fixed;inset:0}.caption{left:28px;bottom:calc(26px + env(safe-area-inset-bottom));color:#ffdce7e6;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:0;transition:opacity 2.4s,transform 2.4s;position:fixed;transform:translateY(10px)}.caption.show{opacity:1;transform:none}.caption h1{letter-spacing:.3em;font-size:24px;font-weight:600}.caption p{letter-spacing:.22em;color:#ffdce780;margin-top:10px;font-size:13px}.hint{right:28px;bottom:calc(26px + env(safe-area-inset-bottom));letter-spacing:.12em;color:#ffdce74d;-webkit-user-select:none;user-select:none;pointer-events:none;opacity:0;font-family:PingFang SC,sans-serif;font-size:11px;transition:opacity 2.4s;position:fixed}.hint.show{opacity:1}.overlay{cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;background:#070309db;justify-content:center;align-items:center;transition:opacity 1.6s;display:flex;position:fixed;inset:0}.overlay.hide{opacity:0;pointer-events:none}.ovl-line{text-align:center;color:#eed9c8;letter-spacing:.28em;text-indent:.28em;opacity:0;text-shadow:0 0 24px #eeb4a059;width:100%;padding:0 24px;font-size:clamp(20px,5.6vw,32px);font-weight:500;transition:opacity 1s,transform 1s;position:absolute;transform:translateY(10px)}.ovl-line.on{opacity:1;transform:none}.ovl-line #starCount{color:#f3b8ac;font-variant-numeric:tabular-nums}.ovl-tap{bottom:calc(18vh + env(safe-area-inset-bottom));text-align:center;color:#eed9c8a6;letter-spacing:.34em;text-indent:.34em;opacity:0;width:100%;font-size:clamp(13px,3.6vw,16px);transition:opacity 1.6s;position:absolute}.ovl-tap.on{opacity:1;animation:2.6s ease-in-out infinite breathe}@keyframes breathe{0%,to{opacity:.35}50%{opacity:.9}}@media (width<=640px){.caption{text-align:center;left:0;right:0}.caption h1{letter-spacing:.32em;text-indent:.32em;font-size:22px}.caption p{letter-spacing:.2em;text-indent:.2em;font-size:12px}.hint{text-align:center;left:0;right:0;bottom:calc(8px + env(safe-area-inset-bottom));font-size:10px}}
