#app{max-width:520px;margin:0 auto;padding:14px 14px 90px}
.top{display:flex;align-items:center;gap:12px;padding:6px 2px 14px}
.top img{width:52px;height:52px}.top h1{margin:0;font-size:22px;line-height:1.15}.top small{color:var(--mut);font-size:13px}
.notice{display:flex;gap:12px;align-items:center;margin-bottom:12px}.notice img{width:64px;height:64px;object-fit:contain;flex:none}
.now{display:flex;gap:12px;align-items:center;margin-bottom:12px;border-color:var(--line)}.eq{display:flex;gap:3px;align-items:flex-end;height:26px}.eq i{width:5px;background:var(--gold);border-radius:2px;animation:eq 1s infinite ease-in-out}.eq i:nth-child(2){animation-delay:.2s}.eq i:nth-child(3){animation-delay:.4s}.eq i:nth-child(4){animation-delay:.1s}
@keyframes eq{0%,100%{height:6px}50%{height:26px}}
.sug{display:flex;flex-direction:column;gap:6px;margin-top:8px}.sug button{display:flex;gap:10px;align-items:center;text-align:left;padding:8px;border-radius:12px;background:#0b0d13;border:1px solid var(--line2)}.sug img{width:56px;height:42px;border-radius:8px;object-fit:cover}
.tips{display:flex;flex-wrap:wrap;gap:8px}.tips button{padding:9px 14px;border-radius:12px;border:1px solid var(--line2);background:#0b0d13;font-weight:600}.tips button.on{background:var(--gold);color:var(--on);border-color:var(--gold)}
.st{display:flex;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line2)}.st:first-of-type{border-top:0}
.pos{width:46px;height:46px;border-radius:14px;display:grid;place-items:center;background:rgba(var(--acr),.1);border:1px solid var(--line);font-family:var(--fh);font-weight:700;font-size:20px;color:var(--gold2);flex:none}
.pos.singing{background:var(--gold);color:var(--on);animation:flash 1.2s infinite}.pos.done{color:var(--ok);border-color:rgba(53,212,154,.4)}
.conf{text-align:center;animation:pop .5s}.conf img{width:130px;height:130px;object-fit:contain;animation:bob 2.4s infinite}
.ppqr{background:#fff;border-radius:14px;padding:10px;display:inline-block;margin:10px 0}.ppqr img,.ppqr svg{width:200px;height:200px;display:block}
.err{color:#ff9aa0;font-size:14px;margin-top:10px}
.thread{height:200px;overflow:auto;display:flex;flex-direction:column;gap:6px;padding:8px;background:#0b0d13;border-radius:12px;border:1px solid var(--line2);margin-top:10px}
.m{max-width:84%;padding:7px 11px;border-radius:12px;font-size:14px}.m small{display:block;font-size:10px;opacity:.65}.m.me{align-self:flex-end;background:#232838}.m.sg{align-self:flex-start;background:linear-gradient(180deg,var(--ac2),var(--ac3));color:var(--on)}

#nav{position:fixed;left:0;right:0;bottom:0;z-index:40;display:flex;max-width:520px;margin:0 auto;background:#0b0d13f2;backdrop-filter:blur(10px);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom)}
#nav button{flex:1;padding:8px 0 10px;color:var(--mut);font-weight:600;font-size:12px;display:flex;flex-direction:column;align-items:center;gap:2px}#nav button span{font-size:22px}#nav button.on{color:var(--gold2)}#nav button.on span{filter:drop-shadow(0 0 8px var(--ac))}
.pg[hidden],[hidden]{display:none!important}.lvstage{margin-bottom:10px}.mic{font-size:30px}.pinb{background:rgba(var(--acr),.12);border:1px solid var(--line);border-radius:12px;padding:8px 12px;margin-bottom:10px;font-size:14px}
.bd{margin-bottom:10px}.bds{display:flex;gap:6px;overflow:auto;padding:4px 0}.bds .badge{white-space:nowrap}
.feedc{padding:12px}.feed{height:min(46vh,380px);overflow:auto;display:flex;flex-direction:column;gap:6px;padding:4px 2px}
.fr{display:flex;gap:8px;align-items:flex-start;font-size:14px;word-break:break-word;animation:pop .25s}.fr .av{font-size:22px;line-height:1.1}.nk{color:var(--gold2)}.fr.me .nk{color:#9be0ff}
.fr.gift{background:linear-gradient(90deg,rgba(var(--acr),.22),rgba(167,123,255,.14));border:1px solid var(--line);border-radius:12px;padding:7px 10px}.gi2{font-size:20px}
.fr.ann{background:rgba(var(--acr),.18);border-radius:12px;padding:7px 10px;color:var(--gold2);font-weight:700}
.react{display:flex;gap:10px;justify-content:center;margin:10px 0}.react button{font-size:26px;width:56px;height:46px;border-radius:14px;background:#0b0d13;border:1px solid var(--line2);transition:transform .12s}.react button.pop{transform:scale(1.35)}
.avb{width:44px;height:44px;border-radius:12px;background:#0b0d13;border:1px solid var(--line);font-size:22px;flex:none}
.modal{position:fixed;inset:0;z-index:70;background:#000b;display:flex;align-items:flex-end;justify-content:center;padding:0}.modal>.card{width:100%;max-width:520px;border-radius:22px 22px 0 0;max-height:92vh;overflow:auto}
.avg{display:grid;grid-template-columns:repeat(8,1fr);gap:6px}.avg button{font-size:24px;padding:6px 0;border-radius:10px;background:#0b0d13;border:1px solid var(--line2)}.avg button.on{border-color:var(--gold);background:rgba(var(--acr),.18)}
.gg{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}.gg button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:10px 2px;border-radius:14px;background:#0b0d13;border:1px solid var(--line2);font-size:12px}.gg .ic{font-size:34px}.gg em{font-style:normal;color:var(--gold2);font-weight:700}.gg button:active{border-color:var(--gold)}
.gbig{display:flex;gap:12px;align-items:center;margin-bottom:10px}.gbig>span{font-size:46px}.payc{text-align:center}.payc .ppqr{margin:8px auto}
.refc{display:inline-block;background:#0b0d13;border:1px dashed var(--line);border-radius:10px;padding:5px 12px;font-size:13px}.refc b{color:var(--gold2);letter-spacing:2px;font-size:16px}
.pst{margin-top:10px;padding:10px;border-radius:12px;font-weight:700;background:rgba(var(--acr),.12);color:var(--gold2)}.pst.confirmed{background:rgba(53,212,154,.16);color:#35d49a}.pst.rejected,.pst.expired,.pst.cancelled{background:rgba(255,100,110,.14);color:#ff9aa0}
.full{width:100%}.ok{color:#35d49a}
.gg{grid-template-columns:repeat(3,1fr)}

.top{padding:10px 2px 16px;gap:14px}.top img{width:60px;height:60px}.top h1{font-size:23px;letter-spacing:.02em}.top small{display:block;margin-top:2px}
.okb{width:84px;height:84px;margin:6px auto 4px;border-radius:50%;display:grid;place-items:center;color:var(--on);background:var(--grad);box-shadow:0 0 40px rgba(var(--acr),.45),inset 0 1px 0 rgba(255,255,255,.5);animation:pop .5s}
.nic,.nowi{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:var(--ac2);border:1px solid var(--line);background:rgba(var(--acr),.1);flex:none}.nowi{width:44px;height:44px}
.led{display:inline-block;width:8px;height:8px;border-radius:50%;background:var(--ok);box-shadow:0 0 8px var(--ok)}
.mic{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;color:var(--on);background:var(--grad);box-shadow:0 0 22px rgba(var(--acr),.35);flex:none}
#nav{background:rgba(12,10,20,.82);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--line);border-radius:22px 22px 0 0}#nav button span{font-size:0;display:grid;place-items:center;height:28px}#nav button.on{color:var(--ac2)}
.packb{display:inline-flex;align-items:center;gap:6px;margin:8px 0 2px;padding:3px 12px;border-radius:999px;font-size:13px;font-weight:600;color:var(--ac2);border:1px solid var(--line);background:rgba(var(--acr),.1)}
.gg button{padding:12px 4px 10px;border-radius:18px;background:linear-gradient(180deg,rgba(40,34,60,.8),rgba(14,12,22,.9));border:1px solid var(--line2);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);transition:transform .12s,border-color .2s}.gg button:active{transform:scale(.95)}.gg button b{font-size:12.5px;font-weight:600;line-height:1.2;margin-top:4px}.gg em{font-size:15px;font-family:var(--fh)}
.gg .ic{width:76px;height:76px;display:block}.gg .ic .gimg{width:100%;height:100%}.gbig>span{width:84px;height:84px;display:block;flex:none}.gbig>span .gimg{width:100%;height:100%}
.tips button,.avg button,.avb,.react button,.sug button{background:rgba(5,5,10,.6)}
.gemo{font-size:2em}
