*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body{margin:0;background:#07080b;color:#eef0f4;font:15px/1.4 -apple-system,BlinkMacSystemFont,"Inter",system-ui,sans-serif;overscroll-behavior:none}
#app{max-width:520px;margin:0 auto;min-height:100dvh;position:relative;overflow:hidden}
.screen{display:none;min-height:100dvh}.screen.on{display:block}
.top{position:absolute;z-index:3;top:0;left:0;right:0;display:flex;justify-content:space-between;align-items:center;padding:calc(env(safe-area-inset-top) + 12px) 18px 0}
.brand{display:flex;gap:8px;align-items:center;font-weight:800;letter-spacing:.5px;font-size:19px}.brand img{width:26px;height:26px;border-radius:7px}
.streak{background:#ffffff14;border:1px solid #ffffff22;padding:5px 11px;border-radius:99px;font-weight:700;backdrop-filter:blur(10px)}
.hero{height:78dvh;min-height:520px;background-size:cover;background-position:center 30%;position:relative}
.hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#07080b99 0%,transparent 25%,transparent 45%,#07080b 96%)}
.hero-in{position:absolute;z-index:2;bottom:18px;left:20px;right:20px}
.tag{font-size:11px;letter-spacing:2px;color:#ff5a5f;font-weight:700}
h1{font-size:44px;line-height:1;margin:8px 0;font-weight:900;letter-spacing:-1.5px}.hero p{color:#c9ccd4;margin:0 0 16px}
.cta{width:100%;border:0;border-radius:16px;padding:17px;font-size:17px;font-weight:800;color:#fff;background:linear-gradient(135deg,#e5383b,#a4161a);box-shadow:0 10px 40px #e5383b55;cursor:pointer}
.cta:active{transform:scale(.98)}.hint{text-align:center;color:#9aa0ab;font-size:12.5px;margin-top:10px}
.row-t{font-size:17px;margin:26px 20px 10px}
.eps{padding:0 16px;display:grid;gap:10px}
.ep{display:flex;gap:12px;align-items:center;background:#12141a;border:1px solid #1e212b;border-radius:16px;padding:12px;cursor:pointer}
.ep .n{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-weight:900;background:#1d2029;flex:none}
.ep.ok .n{background:#e5383b}.ep.lock{opacity:.55}.ep b{display:block}.ep small{color:#9aa0ab;display:block;font-size:12.5px}
.rail{display:flex;gap:12px;overflow-x:auto;padding:0 16px 6px;scrollbar-width:none}
.poster{flex:none;width:132px;height:190px;border-radius:14px;background-size:cover;background-position:center;position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:flex-end;padding:10px}
.poster:after{content:"";position:absolute;inset:0;background:linear-gradient(transparent 40%,#000d)}.poster b,.poster i{position:relative;z-index:2}.poster i{font-size:11px;color:#ff8a8d;font-style:normal}
.install{margin:24px 16px 0;padding:14px;border-radius:14px;background:#12141a;border:1px dashed #333846;color:#c9ccd4;font-size:13.5px}
.foot{text-align:center;color:#555b68;font-size:12px;padding:24px 0 calc(env(safe-area-inset-bottom) + 24px)}
.pbg{position:absolute;inset:-40px;background-size:cover;background-position:center;filter:blur(30px) brightness(.35) saturate(1.3);transform:scale(1.1)}
#player,#end{position:relative}
.ptop{position:relative;z-index:2;display:flex;justify-content:space-between;align-items:center;padding:calc(env(safe-area-inset-top) + 10px) 14px 0;text-align:center}
.ptop small{display:block;color:#ff6b6e;letter-spacing:2px;font-size:11px;font-weight:700}
.ghost{background:#ffffff12;border:1px solid #ffffff22;color:#fff;border-radius:99px;width:40px;height:40px;font-size:20px;cursor:pointer}.ghost.wide{width:100%;height:auto;padding:14px;font-size:15px;margin-top:12px;border-radius:14px}
.stage{position:relative;z-index:2;height:52dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 26px;text-align:center}
.orb{position:relative;width:150px;height:150px;margin-bottom:28px}.orb span{position:absolute;inset:0;border-radius:50%;border:2px solid #e5383b88;animation:pulse 2.4s infinite ease-out;opacity:0}
.orb span:nth-child(2){animation-delay:.8s}.orb span:nth-child(3){animation-delay:1.6s}.orb:before{content:"";position:absolute;inset:45px;border-radius:50%;background:radial-gradient(#ff6b6e,#a4161a);box-shadow:0 0 60px #e5383b}
.orb.idle span{animation:none}.orb.M:before{background:radial-gradient(#ff9ec4,#9d174d);box-shadow:0 0 60px #ec4899}.orb.H:before{background:radial-gradient(#9ecbff,#1e3a8a);box-shadow:0 0 60px #3b82f6}.orb.V:before{background:radial-gradient(#c4b5fd,#4c1d95);box-shadow:0 0 60px #8b5cf6}
@keyframes pulse{0%{transform:scale(.5);opacity:.9}100%{transform:scale(1.6);opacity:0}}
.who{font-size:12px;letter-spacing:2.5px;text-transform:uppercase;color:#ff8a8d;font-weight:700;min-height:18px}
.cap{font-size:21px;line-height:1.35;font-weight:600;margin-top:10px;min-height:90px;text-shadow:0 2px 20px #000}
.talk{position:relative;z-index:3;text-align:center;padding:0 22px}.hidden{display:none}
.ask{color:#ffd0d1;font-weight:600;margin-bottom:14px}
.mic{width:96px;height:96px;border-radius:50%;border:0;background:linear-gradient(135deg,#e5383b,#a4161a);box-shadow:0 0 0 10px #e5383b22,0 10px 50px #e5383b88;touch-action:none;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none;cursor:pointer}
.mic svg{width:42px;fill:#fff}.mic.rec{transform:scale(1.12);box-shadow:0 0 0 22px #e5383b33,0 0 80px #ff3b3f}.mic.busy{opacity:.5}
.mhint{margin-top:12px;color:#c9ccd4;font-weight:600}.timer{height:3px;background:#ffffff15;border-radius:9px;margin:12px 40px;overflow:hidden}.timer i{display:block;height:100%;background:#e5383b;width:100%}
.typef{display:flex;gap:8px;margin-top:6px}.typef input{flex:1;background:#ffffff10;border:1px solid #ffffff22;border-radius:12px;color:#fff;padding:12px;font-size:16px}.typef button{background:#ffffff18;border:0;color:#fff;border-radius:12px;width:46px}
.prog{position:absolute;z-index:3;left:20px;right:20px;bottom:calc(env(safe-area-inset-bottom) + 18px);height:4px;background:#ffffff18;border-radius:9px;overflow:hidden}.prog i{display:block;height:100%;width:0;background:#fff;transition:width .3s}
.endc{position:relative;z-index:2;padding:calc(env(safe-area-inset-top) + 70px) 22px 30px;text-align:center}.endc small{color:#ff6b6e;letter-spacing:2px;font-weight:700}
.endc h2{font-size:34px;margin:10px 0 18px;letter-spacing:-1px}
.choice{background:#ffffff0d;border:1px solid #ffffff1c;border-radius:16px;padding:16px;text-align:left;margin-bottom:18px}.choice q{display:block;font-size:18px;font-weight:700;margin:4px 0 8px}.choice small{color:#9aa0ab;letter-spacing:0;font-weight:500}
.unlock{margin-top:18px;padding:16px;border-radius:16px;background:#12141acc;border:1px solid #262a35}.unlock b{font-size:26px;display:block;font-variant-numeric:tabular-nums;margin:4px 0}.unlock button{margin-top:8px;background:none;border:0;color:#7d8391;text-decoration:underline;font-size:12px}
.toast{position:fixed;left:50%;bottom:40px;transform:translateX(-50%);background:#fff;color:#000;padding:10px 16px;border-radius:99px;font-weight:700;z-index:9}
