:root{
  --pink:#fa466b; --pink2:#ff8fb3; --hot:#fa466b; --grad1:#ff6e92; --grad2:#ffa470;
  --purple:#9b7bd6; --ink:#1f2330; --sub:#a2a7b2; --line:#f2eff3;
}
*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;font-family:-apple-system,system-ui,"PingFang SC","Helvetica Neue",sans-serif;}
html,body{height:100%;}
body{background:#0c0c12;display:flex;align-items:center;justify-content:center;}
#stage{width:100%;height:100%;display:flex;align-items:center;justify-content:center;padding:14px;}
#phone{position:relative;width:auto;height:100%;max-height:880px;aspect-ratio:390/844;background:#fff;border-radius:42px;overflow:hidden;box-shadow:0 18px 60px rgba(0,0,0,.5);}
@media(max-width:440px){#stage{padding:0;background:#0b0408;}#phone{border-radius:0;height:100%;width:auto;max-height:100%;aspect-ratio:390/844;}}
.screen{position:absolute;inset:0;display:flex;flex-direction:column;background:#fff;}
.hidden{display:none !important;}

/* 锁屏 */
#lock{background:radial-gradient(130% 90% at 50% -10%,#3a0c20 0%,#1c0712 48%,#0b0408 100%);align-items:center;justify-content:center;color:#fff;text-align:center;padding:30px;position:absolute;inset:0;overflow:hidden;}
#lock::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,60,120,.05) 0 1px,transparent 1px 3px);pointer-events:none;opacity:.5;}
#lock>*{position:relative;z-index:1;}
.lock-time{text-shadow:0 0 22px rgba(255,45,106,.5);}
.lock-sub{color:#ff9dba;letter-spacing:1px;}
#lock .pin-dots span{border-color:rgba(255,140,175,.85);}
#lock .pin-dots span.on{background:#ff5f8f;border-color:#ff5f8f;box-shadow:0 0 10px rgba(255,45,106,.7);}
#lock .pin-key{background:rgba(255,90,140,.12);border:1px solid rgba(255,90,140,.3);}
#lock .pin-key:active{background:rgba(255,90,140,.32);}
#lock .pin-key.blank{background:none;border:0;}
.lock-err{color:#ff6f97;min-height:18px;font-size:13.5px;margin-top:10px;font-weight:600;}
.lock-time{font-size:70px;font-weight:200;}
.lock-date{font-size:14px;opacity:.92;}
.lock-logo{font-family:Georgia,serif;font-size:40px;font-weight:800;font-style:italic;margin:26px 0 4px;text-shadow:0 0 24px rgba(255,45,106,.6);}
.lock-logo span{display:block;font-family:ui-monospace,monospace;font-size:11.5px;font-style:normal;letter-spacing:2.5px;color:#ff8db0;margin-top:6px;font-weight:400;}
.lock-code{width:100%;max-width:300px;margin:16px auto 0;display:block;background:rgba(255,90,140,.1);border:1.5px solid rgba(255,110,155,.55);border-radius:14px;padding:14px 16px;color:#fff;font-size:16px;font-weight:700;letter-spacing:1.5px;text-align:center;outline:none;text-transform:uppercase;}
.lock-code::placeholder{color:#a86e84;letter-spacing:1px;font-weight:500;}
.lock-code:focus{border-color:#ff5f8f;box-shadow:0 0 16px rgba(255,45,106,.35);}
.lock-enter{width:100%;max-width:300px;margin:12px auto 0;display:block;background:linear-gradient(135deg,#ff2e74,#d4124a);color:#fff;border:none;border-radius:26px;padding:14px;font-size:15.5px;font-weight:800;cursor:pointer;box-shadow:0 8px 24px rgba(255,45,106,.4);}
.lock-enter:disabled{opacity:.6;}
.lock-enter:active{transform:scale(.98);}
.lock-note{margin-top:22px;font-size:12px;color:#9a6b7e;opacity:.85;}
.lock-title{font-size:24px;font-weight:800;margin-top:38px;letter-spacing:5px;}
.lock-sub{font-size:13px;opacity:.85;margin-top:7px;}
.pin-dots{display:flex;gap:17px;margin-top:28px;}
.pin-dots span{width:12px;height:12px;border-radius:50%;border:2px solid #fff;}
.pin-dots span.on{background:#fff;}
.pin-pad{display:grid;grid-template-columns:repeat(3,66px);gap:18px;margin-top:30px;}
.pin-key{width:66px;height:66px;border-radius:50%;background:rgba(255,255,255,.24);color:#fff;font-size:27px;font-weight:300;display:flex;align-items:center;justify-content:center;cursor:pointer;}
.pin-key:active{background:rgba(255,255,255,.5);}
.pin-key.blank{background:none;cursor:default;}
.lock-err{height:20px;margin-top:13px;font-size:13px;font-weight:600;}

/* 框架 */
.statusbar{height:28px;display:flex;align-items:center;justify-content:space-between;padding:0 20px;font-size:13px;font-weight:600;color:#111;flex-shrink:0;}
.topbar{height:40px;display:flex;align-items:center;justify-content:center;font-size:16px;font-weight:700;color:#1f2330;flex-shrink:0;}
.content{flex:1;overflow-y:auto;overflow-x:hidden;padding:0 0 86px;background:#fff;}
.tabbar{height:54px;background:#fff;border-top:1px solid var(--line);display:flex;flex-shrink:0;}
.tabbar .tab{flex:1;display:flex;align-items:center;justify-content:center;font-size:13px;color:var(--sub);cursor:pointer;}
.tabbar .tab.on{color:var(--hot);font-weight:700;}

.muted{color:var(--sub);font-size:14px;}
.center{text-align:center;}
.btn{border:0;border-radius:13px;padding:12px 14px;font-size:14px;font-weight:700;color:#fff;background:linear-gradient(95deg,var(--grad1),var(--grad2));cursor:pointer;width:100%;}
.btn:active{transform:scale(.99);}
.btn.sec{background:#fdeef4;color:var(--hot);}
.btn.ghost{background:#f3f2f6;color:#555;}
.btn.sm{padding:8px 15px;font-size:13px;width:auto;border-radius:20px;}

/* 顶部头部行 */
.hdr{display:flex;align-items:center;justify-content:space-between;padding:9px 16px 7px;}
.hdr .nm{font-size:16px;font-weight:700;color:#1f2330;display:flex;align-items:center;gap:5px;}
.hdr .nm .ar{color:#c2c2cc;font-size:12.5px;}
.hdr .acts2{display:flex;align-items:center;gap:13px;}
.hdr .ic2{font-size:18px;color:#4a4d56;cursor:pointer;line-height:1;}
.hdr .save2{display:flex;align-items:center;gap:5px;background:#f3f1f5;border-radius:10px;padding:6px 11px;font-size:13px;font-weight:600;color:#4a4d56;}

/* 资料区 */
.prof{padding:4px 18px 12px;}
.prof-top{display:flex;align-items:center;gap:8px;}
.ring{width:74px;height:74px;border-radius:50%;padding:2.5px;background:linear-gradient(135deg,#f98aa6,#f7b29a);flex-shrink:0;cursor:pointer;position:relative;}
.ring .av{width:100%;height:100%;border-radius:50%;background-size:cover;background-position:center;background-color:#ffe6ee;display:flex;align-items:center;justify-content:center;font-size:32px;border:2px solid #fff;}
.ring .cam{position:absolute;right:0;bottom:0;width:22px;height:22px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;font-size:12.5px;box-shadow:0 2px 5px rgba(0,0,0,.14);}
.nums{display:flex;flex:1;justify-content:space-around;text-align:center;}
.nums b{font-size:17px;display:block;color:#1f2330;font-weight:700;line-height:1.1;}
.nums span{font-size:13px;color:#33363d;margin-top:3px;display:block;}
.name-row{display:flex;align-items:center;gap:7px;margin-top:12px;}
.name-row .nm{font-size:15.5px;font-weight:800;color:#1f2330;}
.tag{font-size:13.5px;font-weight:700;padding:2px 9px;border-radius:7px;}
.tag.tier{background:#ffe3ec;color:var(--hot);}
.traits{color:#a2a7b2;font-size:14px;margin-top:7px;}
.bio{font-size:13px;color:#3a3d46;margin-top:7px;line-height:1.55;}
.club{display:flex;align-items:center;gap:6px;color:var(--hot);font-size:13px;font-weight:600;margin-top:10px;}
.club .dot{width:8px;height:8px;border-radius:50%;background:var(--hot);}
.dateline{font-size:13.5px;color:var(--sub);margin-top:6px;}
.pills{display:flex;gap:9px;margin-top:11px;}
.pill-money{display:inline-flex;align-items:center;gap:6px;border:1.5px solid #f5cd93;color:#d28a23;border-radius:11px;padding:8px 13px;font-weight:800;font-size:14.5px;}
.pill-detail{display:inline-flex;align-items:center;gap:5px;background:#f6eef1;color:#8a7480;border-radius:11px;padding:8px 12px;font-size:14px;font-weight:600;}

/* 旬卡 */
.wrapx{padding:4px 16px 0;}
.xunbox{background:#fdf3f7;border-radius:16px;padding:12px 14px;}
.xunrow{display:flex;align-items:center;}
.xunrow .t1{font-size:14.5px;font-weight:800;color:#1f2330;}
.xunrow .ops{font-size:14px;color:#8a8e97;margin-left:9px;}
.pill-ok{display:inline-block;background:#e1f6ea;color:#23a865;font-size:12.5px;font-weight:800;padding:3px 9px;border-radius:8px;margin-left:9px;}
.xunrow .grow{flex:1;}
.jump{background:linear-gradient(95deg,var(--grad1),var(--grad2));color:#fff;border:0;border-radius:22px;padding:8px 15px;font-size:13px;font-weight:800;cursor:pointer;}
.xbars{display:flex;gap:7px;margin-top:10px;}
.xbars i{flex:1;height:6px;border-radius:6px;background:#f4dbe5;}
.xbars i.on{background:linear-gradient(90deg,#f5476e,#ff8e7a);}
.autorow{display:flex;align-items:center;margin-top:10px;color:#8a8e97;font-size:14px;}
.autorow .grow{flex:1;}
.toggle-on{display:inline-flex;align-items:center;gap:4px;background:#e7f7ef;color:#23a865;font-weight:700;font-size:14px;padding:5px 12px;border-radius:18px;cursor:pointer;}

/* 主操作行 */
.acts{display:flex;gap:10px;padding:12px 16px 2px;}
.act-main{flex:1.4;background:linear-gradient(95deg,#f0566f,#ff9e66);color:#fff;border:0;border-radius:13px;padding:11px;font-size:14px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;}
.act-light{flex:1.4;background:#fdeef2;color:#414550;border:0;border-radius:13px;padding:11px;font-size:14px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:7px;}
.act-save{width:46px;background:#f3f1f5;border:0;border-radius:13px;font-size:17px;color:#555;cursor:pointer;}

/* 快捷功能 */
.qfh{display:flex;align-items:center;gap:6px;font-size:14px;font-weight:800;color:#2c2f37;padding:13px 18px 9px;}
.qfh .lt{color:var(--hot);}
.tiles{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;padding:0 16px 8px;}
.tile{border-radius:17px;padding:10px 4px 8px;text-align:center;cursor:pointer;}
.tile .ic{font-size:21px;line-height:1;}
.tile .t{font-size:13.5px;color:#41454e;font-weight:600;margin-top:7px;}
.tile:active{transform:scale(.96);}

/* 紧凑属性 */
.statstrip{display:flex;justify-content:space-between;gap:6px;}
.statstrip .si{flex:1;text-align:center;background:#fbf3f7;border-radius:12px;padding:9px 2px;}
.statstrip .si .e{font-size:17px;} .statstrip .si .v{font-size:15px;font-weight:800;color:#33363f;margin-top:1px;} .statstrip .si .n{font-size:12.5px;color:var(--sub);}

/* 列表 */
.list{padding:12px 16px 0;}
.sect-h{font-size:13.5px;font-weight:800;color:#3a3d46;margin:14px 2px 9px;display:flex;align-items:center;gap:6px;}
.card{background:#fff;border:1px solid var(--line);border-radius:16px;padding:14px;margin-bottom:12px;box-shadow:0 2px 9px rgba(190,170,185,.06);}
.lcard{display:flex;gap:11px;align-items:center;}
.lav{width:42px;height:42px;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;font-size:15px;flex-shrink:0;}
.lbody{flex:1;min-width:0;}
.ltitle{font-weight:700;font-size:14px;color:#26282f;display:flex;align-items:center;gap:6px;}
.ltext{font-size:13px;color:#8a8e97;margin-top:3px;line-height:1.45;}
.bubble{background:#faf6f9;border-radius:14px;padding:11px 13px;margin-top:8px;font-size:14px;color:#3c3f47;line-height:1.55;}
.ttag{font-size:11.5px;font-weight:800;padding:2px 7px;border-radius:8px;color:#fff;}
.row{display:flex;gap:11px;}
.hotitem{display:flex;align-items:center;gap:11px;padding:13px 4px;border-bottom:1px solid var(--line);}
.hotrank{width:18px;font-weight:900;font-size:15px;text-align:center;}
.hotitem .ht{flex:1;font-size:14px;color:#26282f;}
.hotfire{font-size:13px;color:var(--sub);}
.money-pill{display:inline-flex;align-items:center;gap:6px;background:#fff7ea;color:#c8881e;border-radius:11px;padding:8px 13px;font-weight:800;font-size:14px;}

/* 弹窗 */
.overlay{position:absolute;inset:0;background:rgba(20,18,28,.5);backdrop-filter:blur(3px);display:flex;align-items:center;justify-content:center;z-index:50;padding:24px;}
.overlay.sheet{align-items:stretch;padding:0;}
.modal{background:#fff;border-radius:24px;width:100%;max-width:340px;padding:22px;max-height:86%;overflow-y:auto;animation:pop .22s ease;}
@keyframes pop{from{transform:scale(.92);opacity:0}to{transform:scale(1);opacity:1}}
.modal h3{font-size:17px;text-align:center;margin-bottom:6px;color:#1f2330;}
.modal .em{font-size:44px;text-align:center;display:block;margin-bottom:8px;}
.modal .desc{font-size:14px;color:#6b6f78;text-align:center;line-height:1.65;margin-bottom:15px;}
.modal .desc.spot-info{font-size:15px;color:#3a3f4d;}
.modal .desc.spot-info b{color:#111;}
.opt{background:#fdf2f7;border-radius:15px;padding:12px 14px;margin-bottom:9px;cursor:pointer;}
.opt:active{background:#fde4ef;}
.opt.lock{opacity:.45;pointer-events:none;}
.opt .ot{font-size:14px;font-weight:600;color:#26282f;}
.opt .od{font-size:13.5px;margin-top:6px;display:flex;gap:11px;flex-wrap:wrap;}
.pos{color:#16a34a;font-weight:800;}.neg{color:#e0455e;font-weight:800;}.pop{color:#e08a1e;font-weight:800;}
.full-sheet{position:absolute;inset:0;background:#fff;display:flex;flex-direction:column;z-index:60;animation:slideup .25s ease;}
@keyframes slideup{from{transform:translateY(40px);opacity:.4}to{transform:translateY(0);opacity:1}}
.sheet-top{height:50px;background:#fff;display:flex;align-items:center;justify-content:center;position:relative;font-weight:700;color:#222;border-bottom:1px solid var(--line);}
.sheet-top .x{position:absolute;left:16px;font-size:19px;cursor:pointer;color:#999;}
.sheet-body{flex:1;overflow-y:auto;padding:14px;}

.milestone{text-align:center;}
.milestone .crown{font-size:56px;}
.milestone .mt{font-size:13.5px;color:var(--sub);letter-spacing:3px;}
.milestone .mn{font-size:28px;font-weight:900;background:linear-gradient(90deg,var(--hot),var(--purple));-webkit-background-clip:text;background-clip:text;color:transparent;margin:7px 0;}
.milestone .story{font-size:14px;color:#4a4d55;line-height:1.9;text-align:left;margin:15px 4px;}

.chat-body{flex:1;overflow-y:auto;padding:14px;background:#f6f5f8;display:flex;flex-direction:column;gap:10px;}
.msg{max-width:78%;padding:10px 14px;border-radius:16px;font-size:14px;line-height:1.5;}
.msg.them{background:#fff;align-self:flex-start;border-bottom-left-radius:5px;box-shadow:0 2px 8px rgba(180,150,170,.1);}
.msg.me{background:linear-gradient(95deg,var(--grad1),var(--grad2));color:#fff;align-self:flex-end;border-bottom-right-radius:5px;}
.chat-input{display:flex;gap:8px;padding:11px;background:#fff;border-top:1px solid var(--line);}
.chat-input input{flex:1;border:0;background:#f3f2f6;border-radius:21px;padding:10px 15px;font-size:14px;outline:none;}
.chat-input button{border:0;background:var(--pink);color:#fff;border-radius:50%;width:40px;height:40px;font-size:16px;cursor:pointer;}

/* 设置 */
.setup-wrap{flex:1;overflow-y:auto;padding:26px 22px;}
.setup-wrap h2{font-size:22px;font-weight:900;color:#1f2330;}
.setup-wrap p.s{color:var(--sub);font-size:13px;margin:6px 0 20px;}
.field{margin-bottom:18px;}
.field label{font-size:13px;font-weight:800;color:#44474f;display:block;margin-bottom:8px;}
.field input{width:100%;border:1.5px solid #efe6ec;border-radius:13px;padding:12px;font-size:14.5px;outline:none;}
.field input:focus{border-color:var(--pink2);}
.field textarea{width:100%;box-sizing:border-box;border:1.5px solid #efe6ec;border-radius:13px;padding:12px;font-size:14.5px;outline:none;font-family:inherit;min-height:86px;line-height:1.5;resize:vertical;}
.field textarea:focus{border-color:var(--pink2);}
.setup-wrap .field textarea{background:rgba(255,255,255,.05);border-color:rgba(255,90,140,.26);color:#fff;padding:15px;font-size:16px;border-radius:14px;}
.setup-wrap .field textarea::placeholder{color:#7d7390;}
.setup-wrap .field textarea:focus{border-color:var(--pink2);box-shadow:0 0 0 3px rgba(250,70,107,.2);}
.chips{display:flex;flex-wrap:wrap;gap:8px;}
.chip{border:1.5px solid #efe6ec;border-radius:20px;padding:8px 15px;font-size:13.5px;cursor:pointer;background:#fff;color:#666;font-weight:600;}
.chip.on{background:linear-gradient(95deg,var(--grad1),var(--grad2));color:#fff;border-color:transparent;}
.start-card{border:1.5px solid #efe6ec;border-radius:15px;padding:13px;margin-bottom:9px;cursor:pointer;display:flex;justify-content:space-between;align-items:center;}
.start-card.on{border-color:var(--hot);background:#fff5f9;}
.start-card .sc-n{font-weight:800;color:#26282f;}
.start-card .sc-d{font-size:13px;color:var(--sub);margin-top:3px;}

/* 滚轮 */
.wheel{position:relative;display:flex;height:160px;background:#fff;border:1.5px solid #efe6ec;border-radius:15px;overflow:hidden;}
.wheel-band{position:absolute;left:8px;right:8px;top:60px;height:40px;border-top:1px solid #f0d7e3;border-bottom:1px solid #f0d7e3;background:rgba(255,92,147,.05);border-radius:10px;pointer-events:none;z-index:1;}
.wheel-fade{position:absolute;left:0;right:0;height:55px;z-index:2;pointer-events:none;}
.wheel-fade.t{top:0;background:linear-gradient(#fff,rgba(255,255,255,0));}
.wheel-fade.b{bottom:0;background:linear-gradient(rgba(255,255,255,0),#fff);}
.wheel-col{flex:1;overflow-y:scroll;scroll-snap-type:y mandatory;text-align:center;scrollbar-width:none;}
.wheel-col::-webkit-scrollbar{display:none;}
.wheel-col .pad{height:60px;}
.wheel-item{height:40px;line-height:40px;scroll-snap-align:center;font-size:15px;color:#c8c8d0;}
.wheel-item.sel{color:#1f2330;font-weight:800;font-size:17px;}

.empty{text-align:center;color:#c3c3cc;font-size:13px;padding:44px 0;}
.toast{position:absolute;bottom:82px;left:50%;transform:translateX(-50%);background:rgba(28,26,36,.92);color:#fff;padding:10px 19px;border-radius:22px;font-size:13px;z-index:80;white-space:nowrap;box-shadow:0 8px 24px rgba(0,0,0,.3);}

/* ============ 报名/出道剧情 ============ */
/* 双语小工具 */
.kc{display:block;}
.kc .k{color:inherit;}
.kc .c{opacity:.72;font-size:.86em;}

/* 报名长表补充 */
.seg{display:flex;flex-wrap:wrap;gap:8px;}
.seg .s{border:1.5px solid #efe6ec;border-radius:13px;padding:8px 13px;font-size:13px;cursor:pointer;background:#fff;color:#555;text-align:center;line-height:1.25;}
.seg .s .c{display:block;font-size:12.5px;color:#aaa;}
.seg .s.on{background:linear-gradient(95deg,var(--grad1),var(--grad2));color:#fff;border-color:transparent;}
.seg .s.on .c{color:rgba(255,255,255,.85);}
.talent-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;}
.tcell{border:1.5px solid #efe6ec;border-radius:13px;padding:10px;cursor:pointer;background:#fff;}
.tcell.on{border-color:var(--hot);background:#fff5f9;}
.tcell .tk{font-weight:700;color:#26282f;font-size:13.5px;}
.tcell .tc{font-size:13px;color:#8a8e97;margin-top:2px;}
.tcell .td{font-size:12px;color:#9aa0ac;margin-top:5px;line-height:1.4;}
.tcell .td span{display:block;color:#c6c0ca;font-size:11px;margin-top:1px;}
.photo-up{display:flex;flex-direction:column;align-items:center;gap:8px;margin:4px 0 4px;}
.photo-up .pring{width:96px;height:96px;border-radius:50%;padding:3px;background:linear-gradient(135deg,#f98aa6,#f7b29a);cursor:pointer;position:relative;}
.photo-up .pav{width:100%;height:100%;border-radius:50%;background:#ffe6ee center/cover;display:flex;align-items:center;justify-content:center;font-size:38px;border:2px solid #fff;}
.photo-up .ptip{font-size:13.5px;color:var(--sub);}
.hint-line{font-size:13px;color:var(--sub);margin-top:6px;}

/* 报名表卡片 */
.repwrap{flex:1;overflow-y:auto;padding:22px 18px;background:#f6f5f8;display:flex;flex-direction:column;}
.repcard{background:#fff;border-radius:20px;box-shadow:0 10px 30px rgba(180,150,170,.18);overflow:hidden;}
.repcard .rhead{background:linear-gradient(95deg,#f0566f,#ff9e66);color:#fff;padding:16px 18px;}
.repcard .rhead .rt{font-size:17px;font-weight:800;}
.repcard .rhead .rs{font-size:13.5px;opacity:.9;margin-top:2px;}
.repcard .rbody{padding:16px 18px;display:flex;gap:14px;}
.repcard .rphoto{width:84px;height:104px;border-radius:12px;background:#ffe6ee center/cover;display:flex;align-items:center;justify-content:center;font-size:38px;flex-shrink:0;}
.repcard .rrows{flex:1;}
.rrow{display:flex;font-size:13px;padding:5px 0;border-bottom:1px dashed #f0eef2;}
.rrow .rl{color:#9aa0ac;width:64px;flex-shrink:0;}
.rrow .rv{color:#33363d;font-weight:600;}
.repcard .rfull{padding:0 18px 16px;}
.rtag{display:inline-block;background:#fff0f5;color:var(--hot);border-radius:8px;padding:3px 9px;font-size:13px;font-weight:700;margin:3px 5px 0 0;}

/* KakaoTalk 风聊天 */
.kk{position:absolute;inset:0;display:flex;flex-direction:column;background:#b2c7d9;z-index:60;}
.kk-top{height:48px;background:#a8bfd0;display:flex;align-items:center;padding:0 14px;font-weight:700;color:#2a2f37;font-size:15px;gap:8px;flex-shrink:0;}
.kk-body{flex:1;overflow-y:auto;padding:16px 13px;display:flex;flex-direction:column;gap:14px;}
.kk-line{display:flex;gap:9px;align-items:flex-end;max-width:88%;}
.kk-line.them{align-self:flex-start;}
.kk-line.me{align-self:flex-end;flex-direction:row-reverse;}
.kk-av{width:46px;height:46px;border-radius:15px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:25px;flex-shrink:0;box-shadow:0 1px 3px rgba(0,0,0,.1);}
.kk-col{display:flex;flex-direction:column;gap:4px;}
.kk-name{font-size:13.5px;color:#3a4654;margin-left:3px;}
.kk-bub{padding:11px 15px;border-radius:16px;line-height:1.5;max-width:100%;display:flex;flex-direction:column;}
.kk-line.them .kk-bub{background:#fff;color:#1f2330;border-top-left-radius:5px;}
.kk-line.me .kk-bub{background:#ffe94d;color:#2a2410;border-top-right-radius:5px;}
.kk-bub .c{order:1;font-size:16px;font-weight:600;display:block;}
.kk-bub .k{order:2;opacity:.55;font-size:12.5px;font-weight:400;display:block;margin-top:4px;}
.kk-time{font-size:11.5px;color:#5a6b7a;align-self:flex-end;}
.kk-replies{padding:10px 12px 14px;background:#dfe7ee;display:flex;flex-direction:column;gap:9px;flex-shrink:0;}
.kk-rep{background:#fff;border-radius:14px;padding:13px 15px;font-size:15.5px;cursor:pointer;color:#26282f;line-height:1.45;}
.kk-rep .c{opacity:.62;font-size:13px;display:block;margin-top:3px;}
.kk-rep:active{background:#f2f4f7;}
.kk-next{background:linear-gradient(95deg,#f0566f,#ff9e66);color:#fff;border:0;border-radius:13px;padding:13px;font-size:14.5px;font-weight:800;cursor:pointer;}
.kk-typing{align-self:flex-start;background:#fff;border-radius:14px;padding:11px 14px;color:#aaa;font-size:14px;}

/* 仪式感界面 */
.cer{position:absolute;inset:0;background:#08060c;z-index:70;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;perspective:520px;}
.cer-hole{position:absolute;left:50%;top:50%;width:120px;height:120px;border-radius:50%;transform:translate(-50%,-50%);background:radial-gradient(circle,#000 38%,rgba(255,60,140,.22) 70%,transparent 75%);box-shadow:0 0 60px 14px rgba(255,46,116,.18),inset 0 0 30px rgba(0,0,0,.9);animation:holepulse 2.4s ease-in-out infinite;}
@keyframes holepulse{0%,100%{transform:translate(-50%,-50%) scale(1);}50%{transform:translate(-50%,-50%) scale(1.12);}}
.cer-comments{position:absolute;inset:0;transform-style:preserve-3d;pointer-events:none;}
.ccmt{position:absolute;left:50%;top:50%;font-size:13px;font-weight:600;white-space:nowrap;will-change:transform,opacity;animation:suck 2.3s ease-in forwards;}
.ccmt.good{color:#ff7ab0;text-shadow:0 0 10px rgba(255,90,160,.5);}
.ccmt.bad{color:#3a3a44;text-shadow:0 0 8px rgba(0,0,0,.6);}
@keyframes suck{
  0%{opacity:0;transform:translate(calc(-50% + var(--x)),calc(-50% + var(--y))) scale(1.15) rotate(var(--r));}
  18%{opacity:1;}
  100%{opacity:0;transform:translate(calc(-50% + var(--x)*0.04),calc(-50% + var(--y)*0.04)) scale(.1) rotate(var(--r));filter:blur(1.5px);}
}
.cer-prompt{position:relative;z-index:5;text-align:center;color:#fff;padding:0 30px;opacity:0;transition:opacity 1.2s ease;}
.cer-prompt.show{opacity:1;}
.cer-prompt .pk{font-size:22px;font-weight:800;letter-spacing:.5px;}
.cer-prompt .pc{font-size:15px;color:#ffb3d0;margin-top:8px;}
.cer-btn{position:relative;z-index:5;margin-top:40px;opacity:0;transition:opacity 1s ease;}
.cer-btn.show{opacity:1;}
.cer-press{position:relative;width:200px;height:60px;border-radius:30px;border:1.5px solid rgba(255,90,160,.6);background:rgba(255,46,116,.12);color:#fff;font-size:16px;font-weight:800;cursor:pointer;overflow:hidden;display:flex;align-items:center;justify-content:center;flex-direction:column;line-height:1.2;-webkit-user-select:none;user-select:none;}
.cer-press .pc{font-size:13px;color:#ffb3d0;font-weight:600;}
.cer-press .fill{position:absolute;left:0;top:0;bottom:0;width:0;background:linear-gradient(90deg,#ff2e74,#ff7a9c);z-index:-1;}
.cer-tip{position:absolute;bottom:46px;color:rgba(255,255,255,.5);font-size:13.5px;z-index:5;}
.cer-flash{position:absolute;inset:0;background:#fff;opacity:0;z-index:9;pointer-events:none;}

/* 带描述的单选列表(身材/学历) */
.olist{display:flex;flex-direction:column;gap:8px;}
.ocell{border:1.5px solid #efe6ec;border-radius:13px;padding:10px 12px;cursor:pointer;background:#fff;}
.ocell.on{border-color:var(--hot);background:#fff5f9;}
.oc-h{display:flex;align-items:baseline;gap:7px;}
.oc-h b{font-size:14px;color:#26282f;font-weight:800;}
.oc-h span{font-size:13.5px;color:#8a8e97;}
.ocell.on .oc-h b{color:var(--hot);}
.oc-d{font-size:13px;color:#9aa0ac;margin-top:4px;line-height:1.45;}
.oc-dk{display:block;color:#c6c0ca;font-size:12px;margin-top:1px;}

/* 填表时·家族群紧急消息 */
.ob-fab{position:absolute;right:16px;bottom:22px;width:54px;height:54px;border-radius:50%;background:linear-gradient(135deg,#3a4a5a,#222b35);color:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;z-index:45;cursor:pointer;box-shadow:0 8px 22px rgba(0,0,0,.32);}
.ob-fab.buzz{animation:fabbuzz .9s ease-in-out infinite;}
@keyframes fabbuzz{0%,100%{transform:rotate(0)}20%{transform:rotate(-13deg)}40%{transform:rotate(11deg)}60%{transform:rotate(-7deg)}80%{transform:rotate(5deg)}}
.ob-badge{position:absolute;top:-3px;right:-3px;min-width:21px;height:21px;padding:0 5px;border-radius:11px;background:#fa2b56;color:#fff;font-size:13.5px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #fff;}
.ob-toast{position:absolute;top:14px;left:12px;right:12px;background:rgba(252,252,253,.97);backdrop-filter:blur(6px);border-radius:16px;padding:11px 13px;display:flex;gap:10px;z-index:66;cursor:pointer;box-shadow:0 12px 32px rgba(0,0,0,.24);transform:translateY(-150%);transition:transform .34s cubic-bezier(.2,.9,.3,1.25);border:1px solid rgba(0,0,0,.05);}
.ob-toast.in{transform:translateY(0);}
.obt-av{width:38px;height:38px;border-radius:12px;background:#eef1f4;display:flex;align-items:center;justify-content:center;font-size:21px;flex-shrink:0;}
.obt-body{flex:1;min-width:0;}
.obt-nm{font-size:14px;font-weight:800;color:#1c1f25;}
.obt-nm span{color:#aab0b8;font-weight:500;font-size:12.5px;margin-left:4px;}
.obt-tx{font-size:14px;color:#3a3d45;margin-top:2px;line-height:1.4;}
.obt-c{color:#9aa0a8;font-size:12.5px;}
.ob-chat{z-index:64;}
.kk-back{font-size:25px;color:#2a2f37;margin-right:1px;cursor:pointer;line-height:1;font-weight:300;}
.kk-live{margin-left:auto;font-size:12px;color:#e0455e;font-weight:700;}

/* 真实报名表(繁/韩/英) */
.afwrap{flex:1;overflow-y:auto;padding:16px 26px 24px;background:#e7e5e8;display:flex;flex-direction:column;}
.afsheet{position:relative;background:#fff;box-shadow:0 14px 36px rgba(0,0,0,.3);overflow:hidden;}
.af-wm{position:absolute;left:50%;top:55%;width:120%;transform:translate(-50%,-50%) rotate(-18deg);filter:brightness(0);opacity:.045;pointer-events:none;z-index:0;}
.af-hd{position:relative;z-index:1;background:#0d0d11;color:#fff;display:flex;align-items:center;gap:11px;padding:11px 14px;}
.af-logo{height:27px;width:auto;flex-shrink:0;}
.af-hd-t{flex:1;line-height:1.15;}
.af-hd-t b{font-size:14.5px;letter-spacing:3px;font-weight:800;}
.af-hd-t span{display:block;font-size:10.5px;letter-spacing:1.3px;color:#ff6f97;margin-top:3px;}
.af-no{font-size:8.5px;color:#5a5a5a;letter-spacing:.5px;text-align:right;line-height:1.5;}
.af-top{position:relative;z-index:1;display:flex;}
.af-tl{flex:1;min-width:0;}
.af-r{display:flex;border-bottom:1px solid #5a5a5a;}
.af-tl .af-r:last-child{border-bottom:0;}
.af-l{width:92px;flex-shrink:0;background:#fff;border-right:1px solid #5a5a5a;padding:7px 6px;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;}
.af-l .l1{font-size:13px;color:#15151a;font-weight:800;letter-spacing:1px;}
.af-l .l2{font-size:8.5px;color:#555;margin-top:2px;letter-spacing:.5px;}
.af-l .l3{font-size:7px;color:#9a9aa0;margin-top:1px;letter-spacing:.8px;}
.af-v{flex:1;min-width:0;padding:8px 11px;font-size:12.5px;color:#15151a;display:block;font-weight:600;line-height:1.5;}
.af-v .sub{color:#9a9aa0;font-weight:500;font-size:11.5px;margin-left:5px;}
.af-photo2{width:88px;flex-shrink:0;border-left:1px solid #5a5a5a;background:#dcdce0 center/cover;display:flex;align-items:center;justify-content:center;text-align:center;font-size:8px;color:#8a8a90;line-height:1.5;}
/* 两列网格 */
.af-grid{position:relative;z-index:1;display:grid;grid-template-columns:1fr 1fr;border-top:1px solid #5a5a5a;}
.af-g{padding:5px 9px;border-right:1px solid #5a5a5a;border-bottom:1px solid #5a5a5a;min-width:0;}
.af-g:nth-child(2n){border-right:0;}
.af-g:nth-last-child(-n+2){border-bottom:0;}
.af-gl .l1{font-size:11.5px;color:#15151a;font-weight:800;letter-spacing:.5px;}
.af-gl .l2{font-size:8px;color:#8a8a90;font-weight:500;margin-left:4px;}
.af-gv{font-size:13px;color:#15151a;font-weight:600;margin-top:2px;word-break:break-all;}
.af-gv .sub{color:#9a9aa0;font-weight:500;font-size:11.5px;margin-left:4px;}
.af-wide{position:relative;z-index:1;border-top:1px solid #5a5a5a;}
.af-wide .af-r:last-child{border-bottom:0;}
.af-wide .af-l{width:84px;}
.af-foot{position:relative;z-index:1;border-top:1px solid #d8d8dc;margin:0 15px;display:flex;align-items:center;justify-content:space-between;padding:11px 0;background:#fff;}
.af-sign{font-size:8px;color:#8a8a90;letter-spacing:.4px;line-height:1.55;}
.af-sg{font-size:19px;color:#15151a;font-family:"Snell Roundhand","Brush Script MT",cursive;letter-spacing:1px;margin-top:1px;}
.af-stamp{border:2px solid #d62b53;color:#d62b53;border-radius:7px;padding:5px 9px;text-align:center;font-size:8.5px;font-weight:800;line-height:1.35;transform:rotate(-9deg);opacity:.92;letter-spacing:1px;}
/* ===== 报名表 v3:模板图为背景 + 手写答案叠加(格内居中) ===== */
.afwrap2{flex:1;overflow-y:auto;padding:16px 16px 26px;background:radial-gradient(125% 80% at 50% -5%,#3a0c20 0%,#1c0712 42%,#0c0509 100%);box-shadow:inset 0 -130px 130px -70px rgba(0,0,0,.7);display:flex;flex-direction:column;}
.formsheet{position:relative;width:100%;aspect-ratio:720/1280;background:#fff url("img/form.png") center/100% 100% no-repeat;box-shadow:0 14px 36px rgba(0,0,0,.3);flex-shrink:0;}
.formsheet>div{position:absolute;}
.formsheet .fv{box-sizing:border-box;padding:2px 5px;display:flex;flex-wrap:wrap;align-items:center;align-content:center;justify-content:center;text-align:center;overflow:hidden;font-family:"Apple SD Gothic Neo","Malgun Gothic","PingFang SC",-apple-system,sans-serif;font-size:11.5px;color:#283250;line-height:1.1;}
.formsheet .fphoto{background-size:cover;background-position:center;border-radius:1px;}
.formsheet .fessay{box-sizing:border-box;padding:4px 7px;overflow:hidden;display:flex;flex-direction:column;justify-content:center;}
.formsheet .fessay .ek{display:block;font-family:"Apple SD Gothic Neo","Malgun Gothic",sans-serif;font-size:8px;color:#46506a;line-height:1.3;}
.formsheet .fessay .ec{display:block;font-family:"PingFang SC","Apple SD Gothic Neo",sans-serif;font-size:8.5px;color:#283250;line-height:1.34;margin-top:1px;}
.formsheet .fwm{left:50%;top:50%;transform:translate(-50%,-50%) rotate(-22deg);font-family:Arial,sans-serif;font-weight:900;font-style:italic;font-size:58px;letter-spacing:3px;color:#ff2d5a;opacity:.12;white-space:nowrap;pointer-events:none;}
.formsheet .fno{right:3.5%;top:1.5%;font-size:8px;color:#b0b0b6;text-align:right;}

/* 报名表·合成长文 */
.af-essay{position:relative;z-index:1;border-top:1px solid #d8d8dc;margin:8px 15px 0;padding:12px 0;}
.af-es{margin-bottom:11px;}
.af-es:last-child{margin-bottom:0;}
.af-es-l{font-size:11.5px;font-weight:800;color:#15151a;letter-spacing:1px;border-left:3px solid #d62b53;padding-left:7px;margin-bottom:5px;}
.af-es-l span{color:#a0a0a6;font-weight:500;font-size:8.5px;margin-left:3px;letter-spacing:0;}
.af-es-k{font-size:11px;color:#6a6a72;line-height:1.7;}
.af-es-c{font-size:12.5px;color:#2a2a30;line-height:1.8;margin-top:3px;}

/* 家族群·输入栏 */
.kk-foot{flex-shrink:0;background:#dfe7ee;}
.kk-foot .kk-replies{padding:8px 10px 5px;background:transparent;}
.kk-input{display:flex;gap:9px;padding:9px 11px 13px;align-items:center;}
.kk-input input{flex:1;border:0;background:#fff;border-radius:24px;padding:14px 17px;font-size:16.5px;outline:none;}
.kk-input button{border:0;background:#f0566f;color:#fff;border-radius:50%;width:44px;height:44px;font-size:17px;cursor:pointer;flex-shrink:0;}

/* 祝贺横幅(复用 ob-toast,喜报色) */
.ob-toast.joy,.ob-toast.bestie{z-index:90;}
#bestieChat.ob-chat{z-index:88;}
.ob-toast.joy{background:rgba(255,243,248,.98);border:1px solid rgba(255,90,150,.28);}
.ob-toast.joy .obt-av{background:#ffe1ec;}
.ob-toast.joy .obt-nm{color:#d62b6f;}

/* 面试·叙事黑场 */
.aud-narr{position:absolute;inset:0;background:#08060c;z-index:70;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 34px;text-align:center;overflow:hidden;}
.aud-narr>*{position:relative;z-index:2;}
.an-bg{position:absolute;inset:0;background:center/cover no-repeat;z-index:0;animation:kenburns 14s ease-out forwards;}
.an-ov{position:absolute;inset:0;z-index:1;background:linear-gradient(rgba(8,6,12,.5),rgba(8,6,12,.78) 60%,rgba(8,6,12,.92));}
@keyframes kenburns{from{transform:scale(1.14)}to{transform:scale(1)}}
.aud-narr .an-k{color:#c4c8d2;font-size:13.5px;line-height:1.95;opacity:0;transform:translateY(8px);transition:opacity 1s,transform 1s;}
.aud-narr .an-c{color:#fff;font-size:15px;line-height:2;margin-top:14px;font-weight:600;opacity:0;transform:translateY(8px);transition:opacity 1s .5s,transform 1s .5s;}
.aud-narr .an-c.fail{color:#9aa0ac;font-weight:500;}
.aud-narr.show .an-k,.aud-narr.show .an-c{opacity:1;transform:none;}
.aud-narr .an-boss{margin-top:24px;color:#ff9ec4;font-size:14px;line-height:1.9;opacity:0;transform:translateY(8px);transition:opacity 1.3s,transform 1.3s;}
.aud-narr .an-boss.show{opacity:1;transform:none;}
.aud-narr .an-boss b{color:#ffd0e2;}
.aud-narr .an-boss .bk{color:#c98aa6;font-size:13px;margin-top:6px;background:none;min-height:0;}
.aud-narr .an-btn{margin-top:38px;opacity:0;transition:opacity .8s 1.5s;}
.aud-narr.show .an-btn{opacity:1;}
.aud-narr.late .an-btn{transition-delay:3.6s;}
.aud-narr .an-btn button{background:rgba(255,46,116,.14);border:1.5px solid rgba(255,90,160,.55);color:#fff;border-radius:26px;padding:12px 28px;font-size:14.5px;font-weight:700;cursor:pointer;}
.kk-next.dim{background:#cfd8e0;color:#7a8794;}

/* ===== 剧情模式:互动影游 全屏层 ===== */
.story-layer{position:absolute;inset:0;z-index:120;background:#07060b;opacity:0;pointer-events:none;transition:opacity .38s;}
.story-layer.on{opacity:1;pointer-events:auto;}
.st-scene{position:absolute;inset:0;overflow:hidden;display:flex;flex-direction:column;}
.st-scene>*{position:relative;z-index:2;}
.st-bg{position:absolute;inset:0;background:center/cover no-repeat;z-index:0;animation:kenburns 16s ease-out forwards;}
.st-ov{position:absolute;inset:0;z-index:1;background:linear-gradient(rgba(7,6,11,.28),rgba(7,6,11,.5) 52%,rgba(7,6,11,.92));}
/* 过场旁白(居中) */
.st-scene.narr,.st-scene.endcard{align-items:center;justify-content:center;text-align:center;padding:0 34px;}
.st-scene.narr .st-narr,.st-scene.endcard .st-narr{display:flex;flex-direction:column;}
.st-narr .k{color:#b6bcc8;font-size:12.5px;line-height:1.7;animation:stFade 1s both;order:2;margin-top:12px;}
.st-narr .c{color:#fff;font-size:17px;line-height:1.75;font-weight:600;animation:stFade 1s .2s both;order:1;}
@keyframes stFade{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
/* 立绘 */
.st-port{position:absolute;top:9%;z-index:2;pointer-events:none;animation:stFace .5s both;}
.st-port.l{left:7%;} .st-port.r{right:7%;}
.st-emoji{font-size:92px;filter:drop-shadow(0 8px 22px rgba(0,0,0,.55));}
.st-face{width:172px;height:230px;border-radius:18px;background:center/cover no-repeat;box-shadow:0 14px 36px rgba(0,0,0,.6);border:2px solid rgba(255,255,255,.16);}
.st-mono{width:122px;height:122px;border-radius:26px;background:linear-gradient(140deg,#3a3350,#5c4a86);display:flex;align-items:center;justify-content:center;font-family:"Playfair Display",serif;font-size:56px;font-weight:900;color:rgba(255,255,255,.92);box-shadow:0 12px 30px rgba(0,0,0,.5);border:1.5px solid rgba(255,255,255,.14);}
@keyframes stFace{from{opacity:0;transform:translateY(14px) scale(.96)}to{opacity:1;transform:none}}
/* 对白框(底部) */
.st-dialog{margin-top:auto;background:linear-gradient(rgba(14,12,20,.62),rgba(14,12,20,.93));backdrop-filter:blur(6px);border-top:1.5px solid rgba(255,120,170,.32);padding:16px 20px 20px;animation:stUp .4s both;}
@keyframes stUp{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:none}}
.st-spk{display:inline-block;background:linear-gradient(90deg,#ff3d74,#ff8a5a);color:#fff;font-size:14px;font-weight:800;padding:4px 12px;border-radius:20px;margin-bottom:9px;letter-spacing:.3px;}
.st-dialog{display:flex;flex-direction:column;}
.st-dialog .st-spk{order:0;align-self:flex-start;}
.st-dialog .c{order:1;color:#fff;font-size:17px;line-height:1.6;font-weight:600;margin-top:0;}
.st-dialog .k{order:2;color:#a9afbc;font-size:12.5px;line-height:1.5;font-weight:500;margin-top:6px;}
.st-dialog .scn-card,.st-dialog .st-typing{order:1;}
.st-tap{position:absolute;right:18px;bottom:12px;color:#ff9ec4;font-size:15px;animation:stBlink 1.1s infinite;}
@keyframes stBlink{0%,100%{opacity:.25}50%{opacity:1}}
.st-scene.line,.st-scene.choose{cursor:pointer;}
.st-dialog.q{cursor:default;}
/* 分支选项 */
.st-choices{background:rgba(9,8,14,.9);padding:0 16px 20px;display:flex;flex-direction:column;gap:9px;}
.st-rep{background:rgba(255,255,255,.06);border:1.4px solid rgba(255,120,170,.32);border-radius:14px;padding:13px 15px;cursor:pointer;transition:background .15s,transform .1s;animation:stUp .4s both;}
.st-rep:active{background:rgba(255,120,170,.18);transform:scale(.99);}
.st-rep{display:flex;flex-direction:column;}
.st-rep .k{color:#aab0bc;font-size:12px;font-weight:500;line-height:1.4;display:block;order:2;margin-top:4px;}
.st-rep .c{color:#fff;font-size:15.5px;font-weight:600;display:block;order:1;line-height:1.4;}
/* 演出爽点 beat */
.st-scene.beat{align-items:center;justify-content:center;text-align:center;padding:0 30px;cursor:pointer;}
.st-scene.beat.up .st-ov{background:radial-gradient(circle at 50% 40%,rgba(255,60,120,.32),rgba(7,6,11,.9) 70%);}
.st-scene.beat.tension .st-ov{background:radial-gradient(circle at 50% 40%,rgba(70,120,255,.22),rgba(7,6,11,.94) 68%);}
.st-beat-h{font-size:26px;font-weight:900;line-height:1.35;letter-spacing:.5px;background:linear-gradient(90deg,#ff5e8a,#ffd36b);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;animation:stPop .6s cubic-bezier(.2,1.4,.4,1) both;text-shadow:0 0 30px rgba(255,90,150,.4);}
.st-scene.beat.tension .st-beat-h{background:linear-gradient(90deg,#8ab4ff,#dfe8ff);-webkit-background-clip:text;background-clip:text;}
@keyframes stPop{from{opacity:0;transform:scale(.7)}to{opacity:1;transform:none}}
.st-beat .k{color:#dfe3ec;font-size:14px;line-height:1.9;margin-top:18px;animation:stFade 1s .3s both;}
.st-beat .c{color:#fff;font-size:15.5px;font-weight:600;line-height:1.95;margin-top:10px;animation:stFade 1s .5s both;}
/* 章终卡 */
.st-clear{background:rgba(12,10,18,.82);border:1.5px solid rgba(255,120,170,.4);border-radius:20px;padding:30px 26px;max-width:340px;animation:stPop .5s both;}
.st-clear-t{font-size:19px;font-weight:900;color:#ffd36b;letter-spacing:1px;margin-bottom:16px;}
.st-clear .k{color:#c8ccd6;font-size:13.5px;line-height:1.9;}
.st-clear .c{color:#fff;font-size:15px;font-weight:600;line-height:1.9;margin-top:10px;margin-bottom:22px;}
.st-later{display:block;margin:10px auto 0;background:none;border:none;color:#9aa0ac;font-size:13.5px;cursor:pointer;text-decoration:underline;}
/* 剧情内可打字对话(KakaoTalk 式,浮在场景上) */
.stc-hd{position:absolute;top:0;left:0;right:0;padding:15px 18px 12px;background:linear-gradient(rgba(9,7,14,.88),rgba(9,7,14,.35));color:#fff;font-size:15px;font-weight:800;z-index:4;display:flex;align-items:center;gap:9px;}
.stc-hav{font-size:21px;}
.stc-body{position:absolute;top:54px;bottom:118px;left:0;right:0;overflow-y:auto;padding:14px 14px 8px;display:flex;flex-direction:column;gap:10px;z-index:2;}
.stc-line{display:flex;gap:8px;max-width:84%;}
.stc-line.me{align-self:flex-end;}
.stc-line.them{align-self:flex-start;}
.stc-av{width:36px;height:36px;border-radius:50%;background:rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0;align-self:flex-end;}
.stc-av.img{background-size:cover;background-position:center top;font-size:0;border:1.5px solid rgba(255,120,170,.4);}
.stc-bub{background:rgba(28,24,38,.92);backdrop-filter:blur(6px);border:1px solid rgba(255,120,170,.22);border-radius:16px;padding:11px 14px;color:#fff;font-size:15px;line-height:1.5;}
.stc-line.me .stc-bub{background:linear-gradient(120deg,#ff3d74,#ff7a5a);border-color:transparent;}
.stc-bub span{display:block;font-size:14px;opacity:.85;margin-top:4px;}
.stc-foot{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(rgba(9,7,14,.3),rgba(9,7,14,.95) 40%);padding:12px 12px 15px;z-index:4;}
.stc-reps{display:flex;flex-direction:column;gap:7px;margin-bottom:10px;}
.stc-rep{background:rgba(255,255,255,.08);border:1.2px solid rgba(255,120,170,.34);border-radius:14px;padding:12px 14px;cursor:pointer;transition:background .15s;}
.stc-rep:active{background:rgba(255,120,170,.2);}
.stc-rep .k{color:#fff;font-size:14.5px;font-weight:600;display:block;line-height:1.4;}
.stc-rep .c{color:#b9bec9;font-size:13.5px;margin-top:2px;display:block;}
.stc-input{display:flex;gap:8px;align-items:center;}
.stc-input input{flex:1;border:0;background:rgba(255,255,255,.15);color:#fff;border-radius:22px;padding:13px 16px;font-size:15px;outline:none;}
.stc-input input::placeholder{color:rgba(255,255,255,.5);}
.stc-input button{border:0;background:linear-gradient(120deg,#ff3d74,#ff7a5a);color:#fff;border-radius:50%;width:46px;height:46px;font-size:18px;cursor:pointer;flex-shrink:0;}
/* 剧情↔App 联动卡片(第一条ins / 첫 생카) */
.st-scene.stapp{align-items:center;justify-content:center;padding:0 22px;}
.sta-card{width:100%;max-width:330px;background:rgba(20,17,28,.9);backdrop-filter:blur(8px);border:1px solid rgba(255,120,170,.28);border-radius:22px;padding:20px 18px;z-index:3;animation:stUp .4s both;}
.sta-hd{font-size:15px;font-weight:800;color:#fff;text-align:center;margin-bottom:14px;}
.sta-ig-img{width:100%;aspect-ratio:1;border-radius:16px;background:linear-gradient(135deg,#ffd1e0,#ffe6c0) center/cover;display:flex;align-items:center;justify-content:center;font-size:64px;margin-bottom:12px;}
.sta-cap{width:100%;box-sizing:border-box;min-height:78px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);border-radius:14px;padding:12px 14px;color:#fff;font-size:15px;line-height:1.5;outline:none;resize:none;font-family:inherit;}
.sta-cap::placeholder{color:rgba(255,255,255,.5);}
.sta-post{width:100%;margin-top:14px;border:0;background:linear-gradient(120deg,#ff3d74,#ff7a5a);color:#fff;border-radius:16px;padding:15px;font-size:15.5px;font-weight:800;cursor:pointer;}
.sta-post:active{transform:scale(.98);}
.sta-saenka-av{width:96px;height:96px;border-radius:50%;background:#2a2036 center/cover;display:flex;align-items:center;justify-content:center;font-size:44px;margin:0 auto 14px;border:2.5px solid #ff8ab4;}
.sta-saenka-t{font-size:16px;font-weight:800;color:#fff;text-align:center;}
.sta-saenka-d{font-size:13px;color:#c9bcd0;line-height:1.6;text-align:center;margin-top:8px;}
.sta-badge{width:66px;height:66px;border-radius:50%;margin:4px auto 14px;display:flex;align-items:center;justify-content:center;font-size:32px;background:linear-gradient(135deg,rgba(255,90,150,.92),rgba(255,140,90,.86));box-shadow:0 8px 24px rgba(255,90,150,.42);animation:stPop .5s cubic-bezier(.2,1.4,.4,1) both;}
.sta-letter{background:rgba(255,250,245,.94);color:#4a3038;border-radius:14px;padding:16px 15px;font-size:14.5px;line-height:1.7;font-family:"Nanum Pen Script","Zhi Mang Xing",cursive;margin-bottom:12px;}
.sta-letter span{display:block;font-family:inherit;font-size:14px;color:#9a7585;margin-top:8px;}
/* 可玩舞台 mini-game */
.st-scene.stagegame{align-items:center;justify-content:center;}
.stg-hud{position:absolute;top:20px;left:20px;right:20px;z-index:3;}
.stg-t{font-size:13px;font-weight:800;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.6);}
.stg-prog{height:7px;border-radius:6px;background:rgba(255,255,255,.16);margin-top:8px;overflow:hidden;}
.stg-prog i{display:block;height:100%;background:linear-gradient(90deg,#ff5e8a,#ffd36b);transition:width .4s;}
.stg-step{position:absolute;right:0;top:0;font-size:13.5px;font-weight:800;color:#ffd36b;}
.stg-mid{display:flex;flex-direction:column;align-items:center;gap:20px;z-index:3;}
.stg-cue{text-align:center;}
.stg-cue b{display:block;font-size:22px;font-weight:900;color:#fff;text-shadow:0 2px 14px rgba(255,60,120,.6);}
.stg-cue span{display:block;font-size:13px;color:#e6b9c8;margin-top:4px;}
.stg-tap{position:relative;width:130px;height:130px;border-radius:50%;border:none;background:radial-gradient(circle,rgba(255,60,120,.35),rgba(255,60,120,.08));cursor:pointer;display:flex;align-items:center;justify-content:center;}
.stg-ring{position:absolute;width:130px;height:130px;border-radius:50%;border:4px solid #ff9ec4;box-shadow:0 0 22px rgba(255,90,150,.7);}
.stg-hit{font-size:20px;font-weight:900;color:#fff;letter-spacing:1px;z-index:2;text-shadow:0 2px 10px rgba(0,0,0,.5);}
.stg-tap:active{transform:scale(.94);}
.stg-hint{font-size:13.5px;color:#b9bec9;text-align:center;}
.stg-grade{position:absolute;top:44%;left:0;right:0;text-align:center;font-size:34px;font-weight:900;letter-spacing:2px;opacity:0;transform:scale(.6);transition:opacity .2s,transform .2s;z-index:4;pointer-events:none;}
.stg-grade.show{opacity:1;transform:scale(1);}
.stg-grade.perfect{color:#ffd36b;text-shadow:0 0 24px rgba(255,211,107,.9);}
.stg-grade.good{color:#8ab4ff;}
.stg-grade.soft{color:#c9cdd6;}
.stg-grade.miss{color:#ff6b6b;}
/* 继续提示 */
.st-next{position:absolute;bottom:26px;left:0;right:0;text-align:center;color:#ff9ec4;font-size:14px;letter-spacing:.5px;animation:stBlink 1.3s infinite;z-index:3;}

/* 面试·通过 */
.aud-pass{position:absolute;inset:0;z-index:70;background:linear-gradient(165deg,#ff7aa6,#ff9e7a 70%,#ffd2b0);display:flex;flex-direction:column;align-items:center;justify-content:center;color:#fff;text-align:center;}
.aud-pass .ap-badge{font-size:60px;transform:scale(.4);opacity:0;transition:transform .6s cubic-bezier(.2,1.3,.4,1),opacity .6s;}
.aud-pass.show .ap-badge{transform:scale(1);opacity:1;}
.aud-pass .ap-k{font-size:40px;font-weight:900;letter-spacing:6px;margin-top:10px;text-shadow:0 4px 18px rgba(0,0,0,.18);}
.aud-pass .ap-c{font-size:18px;font-weight:800;letter-spacing:4px;margin-top:4px;}
.aud-pass .ap-sub{font-size:13px;opacity:.92;margin-top:12px;letter-spacing:1px;}
.aud-pass .an-btn{margin-top:40px;opacity:0;transition:opacity .8s 3.8s;}
.aud-pass.show .an-btn{opacity:1;}
.aud-pass .an-btn button{background:rgba(255,255,255,.22);border:1.5px solid rgba(255,255,255,.7);color:#fff;border-radius:26px;padding:12px 30px;font-size:14.5px;font-weight:800;cursor:pointer;}

/* ===== 报名表 v2:参考风白纸 + 手写体 + 大水印 ===== */
.afsheet{background:#fff;}
/* 居中白纸抬头 */
.af-hd2{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;padding:16px 16px 13px;}
.af-no2{position:absolute;right:14px;top:13px;font-size:8px;color:#a0a0a6;text-align:right;line-height:1.5;}
/* 表格内嵌纸内、四周留白、细线外框 */
.af-table{position:relative;z-index:1;margin:0 15px 4px;border:1px solid #5a5a5a;}
.af-mark{width:30px;height:30px;flex-shrink:0;background:#1f2c4a;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;}
.af-htitle{flex:1;text-align:center;line-height:1.25;}
.af-htitle b{display:block;font-size:15.5px;font-weight:800;color:#15151a;letter-spacing:1px;}
.af-htitle span{display:block;font-size:11px;color:#555;letter-spacing:.5px;}
.af-htitle span.en{font-size:7.5px;color:#9a9aa0;letter-spacing:1px;margin-top:1px;}
.af-no2{font-size:8px;color:#a0a0a6;text-align:right;line-height:1.5;flex-shrink:0;}
/* 大水印(logo 蒙版上色) */
.af-wm2{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) rotate(-22deg);font-family:Arial,"Helvetica Neue",sans-serif;font-size:66px;font-weight:900;font-style:italic;letter-spacing:3px;color:#ff2d5a;opacity:.13;white-space:nowrap;pointer-events:none;z-index:0;text-shadow:0 0 1px #ff2d5a;}
/* 底部留白 */
.af-tail{position:relative;z-index:1;height:34px;}
/* 手写体(填写内容) */
.hand-c{font-family:"Zhi Mang Xing","Nanum Pen Script",cursive;}
.hand-k{font-family:"Nanum Pen Script","Zhi Mang Xing",cursive;}
.af-v.hand-c{font-size:14.5px;color:#283250;font-weight:400;letter-spacing:.5px;}
.af-gv.hand-c{font-size:14px;color:#283250;font-weight:400;letter-spacing:.5px;}
.af-v.hand-c .sub,.af-gv.hand-c .sub{font-size:13px;color:#7a8098;}
.af-sg.hand-c{font-family:"Nanum Pen Script","Zhi Mang Xing",cursive;font-size:19px;color:#283250;}
.af-es-k.hand-k{font-size:13.5px;color:#46506a;line-height:1.55;letter-spacing:.3px;}
.af-es-c.hand-c{font-size:13.5px;color:#283250;line-height:1.6;letter-spacing:.3px;margin-top:2px;}

/* 长相两列 + MBTI 四列 */
.olist.cols2{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.olist.cols2 .ocell{padding:9px 10px;}
.mbti-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;}
.mbti-grid .s{padding:9px 4px;text-align:center;}

/* 面试·理事登场旁白 */
.an-lead{margin-top:20px;color:#dfe2ea;font-size:13px;line-height:1.8;opacity:0;transform:translateY(8px);transition:opacity 1.1s,transform 1.1s;}
.an-lead.show{opacity:1;transform:none;}
.an-lead span{display:block;color:#9aa0ac;font-size:13px;margin-top:3px;}
.aud-narr .an-boss{margin-top:16px;}
.aud-narr.late .an-btn{transition-delay:4.8s;}

/* ===== 暗夜 onboarding(仅填写/选择界面) ===== */
#setup{background:#0b0408;}
.setup-wrap{background:radial-gradient(125% 80% at 50% -5%,#3a0c20 0%,#1c0712 42%,#0c0509 100%);box-shadow:inset 0 -130px 130px -70px rgba(0,0,0,.7);}
.setup-wrap h2{color:#fff;}
.setup-wrap p.s{color:#b3a9c4;}
.setup-wrap .field label{color:#ded6ec;}
.setup-wrap .field label span{color:#8d83a4 !important;}
.setup-wrap .field input{background:rgba(255,255,255,.05);border-color:rgba(255,90,140,.26);color:#fff;}
.setup-wrap .field input::placeholder{color:#7d7390;}
.setup-wrap .field input:focus{border-color:var(--pink2);box-shadow:0 0 0 3px rgba(250,70,107,.2);}
.setup-wrap .hint-line{color:#9a90ac;}
/* 段选项 */
.setup-wrap .seg .s{background:rgba(255,255,255,.045);border-color:rgba(255,90,140,.22);color:#c7bdd8;}
.setup-wrap .seg .s .c{color:#8a7fa0;}
.setup-wrap .seg .s.on{background:linear-gradient(95deg,var(--grad1),var(--grad2));color:#fff;border-color:transparent;box-shadow:0 0 16px rgba(250,70,107,.5);}
.setup-wrap .seg .s.on .c{color:rgba(255,255,255,.85);}
/* 描述卡 */
.setup-wrap .ocell{background:rgba(255,255,255,.045);border-color:rgba(255,90,140,.2);}
.setup-wrap .oc-h b{color:#ece6f5;}
.setup-wrap .oc-h span{color:#9a90ac;}
.setup-wrap .oc-d{color:#9a90ac;}
.setup-wrap .oc-dk{color:#6f6584;}
.setup-wrap .ocell.on{border-color:var(--hot);background:rgba(250,70,107,.13);box-shadow:0 0 16px rgba(250,70,107,.38);}
.setup-wrap .ocell.on .oc-h b{color:#ff8fb3;}
/* 天赋卡 */
.setup-wrap .tcell{background:rgba(255,255,255,.045);border-color:rgba(255,90,140,.2);}
.setup-wrap .tcell .tk{color:#ece6f5;}
.setup-wrap .tcell .tc{color:#9a90ac;}
.setup-wrap .tcell .td{color:#9a90ac;}
.setup-wrap .tcell .td span{color:#6f6584;}
.setup-wrap .tcell.on{border-color:var(--hot);background:rgba(250,70,107,.13);box-shadow:0 0 16px rgba(250,70,107,.38);}
/* 形象照 */
.setup-wrap .photo-up .pav{background-color:#241a33;color:#9a90ac;}
.setup-wrap .photo-up .ptip{color:#9a90ac;}
/* 日期滚轮 */
.setup-wrap .wheel{background:rgba(255,255,255,.045);border-color:rgba(255,90,140,.24);}
.setup-wrap .wheel-item{color:#6f6584;}
.setup-wrap .wheel-item.sel{color:#fff;}
.setup-wrap .wheel-band{background:rgba(250,70,107,.13);border-color:rgba(250,70,107,.4);}
.setup-wrap .wheel-fade.t{background:linear-gradient(#1c0712,rgba(26,17,48,0));}
.setup-wrap .wheel-fade.b{background:linear-gradient(rgba(26,17,48,0),#150509);}
/* 提交按钮微光 */
.setup-wrap .btn{box-shadow:0 6px 26px rgba(250,70,107,.42);}

/* ===== 填表组件整体放大(约 +18%) ===== */
.setup-wrap h2{font-size:24px;}
.setup-wrap p.s{font-size:14px;}
.setup-wrap .field{margin-bottom:20px;}
.setup-wrap .field label{font-size:14.5px;margin-bottom:9px;}
.setup-wrap .field input{padding:15px;font-size:16px;border-radius:14px;}
.setup-wrap .seg{gap:9px;}
.setup-wrap .seg .s{padding:11px 16px;font-size:14.5px;border-radius:14px;}
.setup-wrap .seg .s .c{font-size:13.5px;}
.setup-wrap .mbti-grid{gap:8px;}
.setup-wrap .mbti-grid .s{padding:12px 4px;}
.setup-wrap .olist{gap:9px;}
.setup-wrap .ocell{padding:13px 14px;}
.setup-wrap .olist.cols2 .ocell{padding:11px 12px;}
.setup-wrap .oc-h b{font-size:15.5px;}
.setup-wrap .oc-h span{font-size:13px;}
.setup-wrap .oc-d{font-size:14px;}
.setup-wrap .oc-dk{font-size:12.5px;}
.setup-wrap .talent-grid{gap:10px;}
.setup-wrap .tcell{padding:12px;}
.setup-wrap .tcell .tk{font-size:15px;}
.setup-wrap .tcell .tc{font-size:14px;}
.setup-wrap .tcell .td{font-size:13px;}
.setup-wrap .tcell .td span{font-size:12px;}
.setup-wrap .photo-up .pring{width:112px;height:112px;}
.setup-wrap .photo-up .pav{font-size:44px;}
.setup-wrap .photo-up .ptip{font-size:13px;}
.setup-wrap .hint-line{font-size:14px;}
.setup-wrap .wheel{height:180px;}
.setup-wrap .wheel-col .pad{height:70px;}
.setup-wrap .wheel-band{top:70px;}
.setup-wrap .wheel-fade{height:68px;}
.setup-wrap .wheel-item{font-size:16px;}
.setup-wrap .wheel-item.sel{font-size:19px;}

/* ===== 厚重按钮(生成/投递报名表) ===== */
.btn-heavy{position:relative;overflow:hidden;padding:18px;font-size:17px;font-weight:800;letter-spacing:1px;border-radius:16px;color:#fff;background:linear-gradient(95deg,#f5476e,#ff8e5a);box-shadow:0 12px 34px rgba(140,80,215,.5),0 3px 10px rgba(0,0,0,.22),inset 0 0 0 1.4px rgba(205,175,255,.55),inset 0 1px 0 rgba(255,255,255,.4);}
.btn-heavy::after{content:"";position:absolute;inset:0;border-radius:inherit;background:linear-gradient(135deg,rgba(170,130,245,.55),transparent 38%,transparent 62%,rgba(125,75,225,.48));pointer-events:none;}
.btn-heavy:active{transform:translateY(1px) scale(.995);}

/* ===== 绯红高科技主题(开场/前段) ===== */
.tech-screen{position:absolute;inset:0;z-index:62;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 26px;text-align:center;color:#fff;background:radial-gradient(130% 90% at 50% -10%,#3a0c20 0%,#1c0712 46%,#0b0408 100%);}
.tech-screen::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,60,120,.05) 0 1px,transparent 1px 3px);pointer-events:none;opacity:.55;}
.hud-corner{position:absolute;width:22px;height:22px;border:2px solid rgba(255,90,140,.55);z-index:3;}
.hud-corner.tl{left:14px;top:14px;border-right:0;border-bottom:0;}
.hud-corner.tr{right:14px;top:14px;border-left:0;border-bottom:0;}
.hud-corner.bl{left:14px;bottom:14px;border-right:0;border-top:0;}
.hud-corner.br{right:14px;bottom:14px;border-left:0;border-top:0;}
.hud-tag{position:absolute;top:20px;left:0;right:0;text-align:center;font-family:ui-monospace,Menlo,monospace;font-size:11.5px;letter-spacing:3px;color:rgba(255,130,165,.75);z-index:3;}

/* 序 */
.prologue .pro-wrap{position:relative;z-index:2;max-width:340px;opacity:0;transform:translateY(12px);transition:opacity 1s ease,transform 1s ease;}
.prologue.show .pro-wrap{opacity:1;transform:none;}
.pro-title{font-family:Georgia,"Songti SC",serif;font-size:54px;font-weight:800;letter-spacing:4px;text-shadow:0 0 26px rgba(255,45,106,.65);line-height:1;}
.pro-title span{display:block;font-family:ui-monospace,monospace;font-size:13.5px;letter-spacing:7px;color:#ff8db0;margin-top:6px;font-weight:400;}
.pro-sub{font-size:17px;color:#ffc0d2;margin-top:16px;font-weight:800;}
.pro-sub span{display:block;font-size:14px;color:#c98aa0;margin-top:4px;font-weight:400;letter-spacing:1px;}
.pro-body{margin:24px 0 28px;text-align:left;}
.pro-body p{line-height:1.65;}
.pro-body p.k{font-size:13.5px;color:#d98aa6;}
.pro-body p.c{font-size:14px;color:#f4e3ea;margin-bottom:13px;}

/* 闹钟 */
.alarm .alarm-clock{position:relative;z-index:2;font-family:ui-monospace,monospace;font-size:66px;font-weight:200;color:#fff;text-shadow:0 0 22px rgba(255,45,106,.55);letter-spacing:2px;}
.alarm .alarm-hint{position:relative;z-index:2;font-family:ui-monospace,monospace;font-size:12.5px;letter-spacing:4px;color:#ff7da6;margin-top:6px;animation:blink 1s steps(2) infinite;}
@keyframes blink{50%{opacity:.25;}}
.alarm-card{position:relative;z-index:2;margin-top:34px;width:300px;max-width:88%;display:flex;align-items:center;gap:12px;padding:15px 16px;border-radius:15px;background:rgba(255,45,106,.13);border:1px solid rgba(255,100,150,.55);box-shadow:0 0 24px rgba(255,45,106,.35);cursor:pointer;opacity:0;transform:translateY(-18px);transition:opacity .5s,transform .5s;}
.alarm-card.in{opacity:1;transform:none;animation:alarmpulse 1.5s ease-in-out infinite;}
@keyframes alarmpulse{0%,100%{box-shadow:0 0 22px rgba(255,45,106,.32);}50%{box-shadow:0 0 40px rgba(255,45,106,.62);}}
.alarm-card .ac-ic{font-size:27px;}
.alarm-card .ac-body{flex:1;text-align:left;}
.alarm-card .ac-t{font-size:12.5px;color:#ffb3c8;letter-spacing:1px;}
.alarm-card .ac-d{font-size:15.5px;font-weight:800;color:#fff;margin-top:2px;}
.alarm-card .ac-go{font-size:25px;color:#ff7da6;}
.alarm-tip{position:relative;z-index:2;margin-top:18px;font-size:13.5px;color:#c98aa0;letter-spacing:1px;opacity:0;transition:opacity .6s .5s;}
.alarm-tip.in{opacity:1;}

/* 今天 */
.today .today-wrap{position:relative;z-index:2;max-width:330px;opacity:0;transform:translateY(12px);transition:opacity .9s,transform .9s;}
.today.show .today-wrap{opacity:1;transform:none;}
.today-ic{font-size:42px;}
.today-t{font-size:21px;font-weight:800;color:#fff;margin-top:14px;line-height:1.4;}
.today-t span{display:block;font-size:13.5px;color:#ffc0d2;font-weight:500;margin-top:5px;}
.today-d{font-size:13px;color:#d98aa6;margin:16px 0 28px;line-height:1.6;}
.today-d span{display:block;color:#b9788e;font-size:13.5px;margin-top:3px;}

/* 玻璃绯红科技按钮 */
.btn-tech{position:relative;display:flex;align-items:center;justify-content:center;text-align:center;width:100%;border:0;cursor:pointer;padding:18px 22px;border-radius:8px;background:linear-gradient(180deg,#ff447e 0%,#d4124a 100%);color:#fff;font-size:18px;font-weight:800;letter-spacing:1px;text-shadow:0 1px 2px rgba(120,0,30,.5);box-shadow:inset 0 1px 0 rgba(255,205,220,.6),inset 0 0 0 1px rgba(255,140,175,.55),0 0 26px rgba(255,45,106,.55),0 6px 16px rgba(0,0,0,.4);}
.modal .btn-tech{margin-left:auto;margin-right:auto;}   /* 弹窗里的按钮整体水平居中(有 max-width 时) */
.btn-tech::before{content:"";position:absolute;inset:-5px;border:1px solid rgba(255,110,155,.45);border-radius:12px;pointer-events:none;}
.btn-tech:active{transform:translateY(1px) scale(.995);}

/* 聊天里的按钮 → 绯红 */
.kk-next{background:linear-gradient(180deg,#ff447e,#d4124a)!important;box-shadow:0 0 18px rgba(255,45,106,.45),inset 0 0 0 1px rgba(255,140,175,.5);font-size:15.5px!important;letter-spacing:.5px;}
.kk-next.dim{background:#5a3a48!important;box-shadow:none;color:#caa;}
/* 面试黑场按钮 + 通过页按钮 → 绯红 */
.aud-narr .an-btn button,.aud-pass .an-btn button{background:linear-gradient(180deg,rgba(255,68,126,.22),rgba(212,18,74,.22));border:1.5px solid rgba(255,110,155,.6);color:#fff;box-shadow:0 0 18px rgba(255,45,106,.4);}

/* ===== 手机桌面(springboard) ===== */
.content.fullview{padding:0;}
.home{position:relative;height:100%;overflow:hidden;display:flex;flex-direction:column;padding:16px 16px 18px;color:#fff;background:radial-gradient(125% 75% at 50% -8%,#3a0c20 0%,#1c0712 46%,#0b0408 100%);}
.home::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,60,120,.04) 0 1px,transparent 1px 3px);pointer-events:none;}
.home>*{position:relative;z-index:1;}
.home-top{display:flex;align-items:center;justify-content:space-between;}
.ht-l{display:flex;align-items:center;gap:9px;}
.ht-av{width:38px;height:38px;border-radius:50%;background:#3a1426 center/cover;display:flex;align-items:center;justify-content:center;font-size:18px;border:1.5px solid rgba(255,120,160,.5);}
.ht-nm{font-size:14.5px;font-weight:800;line-height:1.2;}
.ht-nm span{display:block;font-size:12px;color:#ff9dba;font-weight:500;margin-top:1px;}
.ht-stats{display:flex;gap:12px;font-size:13px;color:#ffc0d2;font-family:ui-monospace,monospace;}
/* 日历/剧情组件 */
.home-cal{margin-top:14px;border:1px solid rgba(255,100,150,.4);border-radius:16px;background:rgba(255,45,106,.08);overflow:hidden;box-shadow:0 0 22px rgba(255,45,106,.18) inset;}
.hc-head{display:flex;gap:0;border-bottom:1px solid rgba(255,100,150,.25);}
.hc-tab{flex:1;text-align:center;padding:9px;font-size:14px;font-weight:700;color:#c98aa0;cursor:pointer;}
.hc-tab.on{color:#fff;background:rgba(255,45,106,.18);box-shadow:inset 0 -2px 0 #ff3d7a;}
/* 剧情视图 */
.sv{padding:14px 15px;cursor:pointer;}
.sv-top{display:flex;align-items:center;gap:8px;margin-bottom:8px;}
.sv-day{font-family:ui-monospace,monospace;font-size:12.5px;color:#ff9dba;letter-spacing:1px;}
.sv-stage{margin-left:auto;font-size:12.5px;font-weight:800;color:#fff;background:rgba(255,45,106,.25);border:1px solid rgba(255,110,155,.5);padding:3px 10px;border-radius:20px;}
.sv-goal{font-size:13px;color:#ffd9e4;line-height:1.5;}
.sv-goal b{color:#fff;font-size:14px;}
.sv-brief{font-size:12.5px;color:#c98aa0;line-height:1.5;margin-top:8px;}
.sv-go{margin-top:10px;font-size:13.5px;font-weight:800;color:#ff5f8f;text-align:right;}
.sv-prog{display:flex;align-items:center;gap:8px;margin-top:10px;}
.sv-dots{display:flex;gap:6px;}
.sv-dot{width:9px;height:9px;border-radius:50%;border:1.5px solid rgba(255,120,160,.6);}
.sv-dot.on{background:#ff3d7a;border-color:#ff3d7a;box-shadow:0 0 8px rgba(255,45,106,.7);}
.sv-dot.past{background:rgba(255,120,160,.6);}
.sv-cnt{margin-left:auto;font-size:12.5px;color:#c98aa0;font-family:ui-monospace,monospace;}
/* 日历视图 */
.cal{padding:12px 14px 14px;}
.cal-m{font-family:ui-monospace,monospace;font-size:14px;color:#fff;letter-spacing:2px;text-align:center;margin-bottom:8px;}
.cal-w,.cal-g{display:grid;grid-template-columns:repeat(7,1fr);}
.cal-w span{text-align:center;font-size:11.5px;color:#b97a90;padding-bottom:5px;}
.cal-g span{text-align:center;font-size:13px;color:#e8d2da;padding:5px 0;}
.cal-g span.today{color:#fff;font-weight:800;background:radial-gradient(circle,#ff2d6a,#c8123e);border-radius:50%;box-shadow:0 0 12px rgba(255,45,106,.6);}
/* App 宫格 */
.home-pager{flex:1;margin-top:16px;display:flex;overflow-x:auto;overflow-y:hidden;scroll-snap-type:x mandatory;scrollbar-width:none;}
.home-pager::-webkit-scrollbar{display:none;}
.home-page{min-width:100%;scroll-snap-align:start;display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:min-content;gap:18px 8px;align-content:start;padding-top:2px;}
.home-dots{display:flex;justify-content:center;gap:7px;padding:8px 0 4px;}
.hp-dot{width:7px;height:7px;border-radius:50%;background:rgba(255,255,255,.25);}
.hp-dot.on{background:#ff5f8f;box-shadow:0 0 6px rgba(255,45,106,.6);}
.home-grid{margin-top:18px;display:grid;grid-template-columns:repeat(4,1fr);gap:20px 8px;}
.app-ico{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer;}
.app-ico:active{transform:scale(.92);}
.ai-img{width:63px;height:63px;border-radius:17px;display:flex;align-items:center;justify-content:center;font-size:31px;box-shadow:0 8px 18px rgba(0,0,0,.5),0 0 18px rgba(255,80,135,.16),inset 0 1px 0 rgba(255,255,255,.3);}
.ai-name{font-size:14px;color:#fff;text-align:center;line-height:1.25;font-weight:800;letter-spacing:.3px;text-shadow:0 1px 3px rgba(0,0,0,.6),0 0 8px rgba(255,120,160,.35);}
/* 底部 Dock */
.home-dock{margin-top:auto;display:flex;justify-content:space-around;gap:8px;padding:13px 10px 6px;background:rgba(255,255,255,.06);border:1px solid rgba(255,120,160,.22);border-radius:22px;backdrop-filter:blur(8px);}
.home-dock .ai-name{display:none;}
.home-dock .ai-img{width:60px;height:60px;}
/* App 占位 / 全屏剧情页 */
.tech-page{position:relative;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:34px 26px;text-align:center;color:#fff;background:radial-gradient(130% 90% at 50% -10%,#3a0c20 0%,#1c0712 46%,#0b0408 100%);overflow:hidden;}
.tech-page::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,60,120,.05) 0 1px,transparent 1px 3px);pointer-events:none;opacity:.55;}
.tech-page>*{position:relative;z-index:2;}
.ai-img.big{width:100px;height:100px;border-radius:27px;font-size:50px;box-shadow:0 12px 26px rgba(0,0,0,.55),0 0 26px rgba(255,80,135,.2),inset 0 1px 0 rgba(255,255,255,.3);}
.ap-t{font-size:21px;font-weight:800;margin-top:16px;}
.ap-d{font-size:14px;color:#c98aa0;line-height:1.7;margin-top:10px;}
.ai-img.logo{background-size:cover;background-position:center;font-size:0;}
.ai-name .ai-kn{display:block;font-size:14px;color:#ffaccf;margin-top:5px;font-weight:800;letter-spacing:.3px;text-shadow:0 1px 2px rgba(0,0,0,.5),0 0 7px rgba(255,130,170,.35);}
.ai-img .ai-svg{width:56%;height:56%;}
.ai-img.big .ai-svg{width:54%;height:54%;}

/* ===== 模式选择 ===== */
.tech-screen.modesel{overflow-y:auto;justify-content:flex-start;padding-top:30px;padding-bottom:calc(40px + env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;}
.modesel .ms-wrap{position:relative;z-index:2;width:100%;max-width:340px;margin:0 auto;opacity:0;transform:translateY(12px);transition:opacity .9s,transform .9s;}
.modesel.show .ms-wrap{opacity:1;transform:none;}
.ms-logo{text-align:center;font-family:Georgia,serif;font-size:46px;font-weight:800;font-style:italic;color:#fff;text-shadow:0 0 26px rgba(255,45,106,.6);margin-bottom:26px;}
.ms-logo span{display:block;font-family:ui-monospace,monospace;font-size:12.5px;font-style:normal;letter-spacing:3px;color:#ff8db0;margin-top:7px;font-weight:400;}
.ms-card{position:relative;border:1px solid rgba(255,100,150,.5);border-radius:18px;background:rgba(255,45,106,.09);padding:18px 18px 16px;margin-bottom:15px;cursor:pointer;box-shadow:0 0 22px rgba(255,45,106,.15) inset;transition:transform .15s,box-shadow .2s;}
.ms-card:active{transform:scale(.985);}
.ms-card.free{border-color:rgba(255,160,90,.55);background:rgba(255,120,60,.1);box-shadow:0 0 26px rgba(255,120,60,.2) inset;}
.ms-t{font-size:13px;color:#ffb3c8;font-weight:700;letter-spacing:1px;}
.ms-t b{display:block;font-size:22px;color:#fff;font-weight:800;margin-top:2px;letter-spacing:1px;}
.ms-d{font-size:13.5px;color:#d9bcc6;line-height:1.6;margin-top:9px;}
.ms-go{margin-top:11px;text-align:right;font-size:13px;font-weight:800;color:#ff6f9c;}
.ms-card.free .ms-go{color:#ff9a5a;}
.ms-card.trainee{border-color:rgba(120,220,150,.55);background:rgba(60,200,120,.1);box-shadow:0 0 26px rgba(60,200,120,.18) inset;}
.ms-card.trainee .ms-t{color:#a7ecc0;}
.ms-card.trainee .ms-go{color:#6fe0a0;}
.ms-sandbox{text-align:center;font-size:12px;color:#8a8496;opacity:.7;padding:8px;margin:2px 0 14px;cursor:pointer;letter-spacing:.5px;}
.ms-sandbox:active{opacity:1;}
.lg-wrap{margin-top:6px;border:1px solid rgba(180,170,210,.22);border-radius:16px;background:rgba(255,255,255,.03);padding:13px 15px;}
.lg-hd{font-size:13.5px;font-weight:800;color:#cfc6e6;margin-bottom:9px;}
.lg-hd span{font-weight:500;font-size:11.5px;color:#8a7ea8;margin-left:5px;}
.lg-row{padding:8px 0;border-top:1px solid rgba(180,170,210,.1);}
.lg-row:first-of-type{border-top:none;}
.lg-l{display:flex;align-items:baseline;gap:7px;}
.lg-l b{font-size:13px;color:#efeaf8;}
.lg-peak{font-size:11.5px;color:#e8a33a;font-weight:700;}
.lg-r{display:flex;gap:9px;margin-top:2px;font-size:11.5px;color:#9a8ec0;}
.lg-how{font-weight:700;}
.lg-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;}
.lg-tags span{font-size:11px;background:rgba(180,170,210,.12);color:#bcb2d8;border-radius:5px;padding:1px 6px;}

/* ===== 仪式精修 ===== */
.cer-hudtag{position:absolute;top:22px;left:0;right:0;text-align:center;font-family:ui-monospace,monospace;font-size:11.5px;letter-spacing:3px;color:rgba(255,130,165,.7);z-index:6;}
.cer-glow{position:absolute;left:50%;top:50%;width:340px;height:340px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(255,46,116,.35),transparent 62%);filter:blur(8px);animation:cerglow 3.2s ease-in-out infinite;pointer-events:none;}
@keyframes cerglow{0%,100%{opacity:.55;transform:translate(-50%,-50%) scale(1);}50%{opacity:.9;transform:translate(-50%,-50%) scale(1.1);}}
.cer-ring2{position:absolute;left:50%;top:50%;width:230px;height:230px;transform:translate(-50%,-50%);border-radius:50%;border:1px solid rgba(255,90,150,.3);box-shadow:0 0 40px rgba(255,46,116,.25) inset;animation:cerspin 14s linear infinite;pointer-events:none;}
.cer-ring2::before{content:"";position:absolute;inset:14px;border-radius:50%;border:1px dashed rgba(255,120,170,.22);}
@keyframes cerspin{to{transform:translate(-50%,-50%) rotate(360deg);}}
.cer-prog{position:absolute;inset:0;width:100%;height:100%;transform:rotate(-90deg);pointer-events:none;}
.cer-prog .bg{fill:none;stroke:rgba(255,255,255,.12);stroke-width:3;}
.cer-prog .fg{fill:none;stroke:#ff3d7a;stroke-width:4;stroke-linecap:round;filter:drop-shadow(0 0 6px rgba(255,45,106,.9));transition:stroke-dashoffset .05s linear;}
.cer-press{position:relative;width:148px;height:148px;border-radius:50%;border:1px solid rgba(255,90,160,.4);background:radial-gradient(circle,rgba(255,46,116,.18),rgba(255,46,116,.04));color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer;-webkit-user-select:none;user-select:none;box-shadow:0 0 30px rgba(255,46,116,.3);}
.cer-press.charging{box-shadow:0 0 48px rgba(255,46,116,.65);}
.cer-press .cp-k{font-size:19px;font-weight:800;letter-spacing:1px;text-shadow:0 0 12px rgba(255,45,106,.8);}
.cer-press .cp-c{font-size:12.5px;color:#ffb3d0;}
.cer-title{position:absolute;left:0;right:0;top:50%;transform:translateY(-50%) scale(.6);text-align:center;z-index:10;opacity:0;transition:opacity .8s,transform .8s cubic-bezier(.2,1.3,.4,1);pointer-events:none;}
.cer-title.show{opacity:1;transform:translateY(-50%) scale(1);}
.cer-title .ct-k{font-family:ui-monospace,monospace;font-size:15px;letter-spacing:6px;color:#ff8db0;}
.cer-title .ct-c{font-family:Georgia,"Songti SC",serif;font-size:52px;font-weight:900;letter-spacing:10px;color:#fff;text-shadow:0 0 30px rgba(255,45,106,.9),0 0 60px rgba(255,45,106,.5);margin-top:6px;}

/* 桌面存档按钮 */
.ht-save{cursor:pointer;background:rgba(255,90,140,.18);border:1px solid rgba(255,120,160,.4);border-radius:9px;padding:2px 8px;}
.ht-save:active{background:rgba(255,90,140,.4);}

/* ===== 回归周期 ===== */
.cyc{position:relative;min-height:100%;padding:30px 18px 26px;color:#fff;background:radial-gradient(130% 85% at 50% -8%,#3a0c20 0%,#1c0712 46%,#0b0408 100%);overflow:hidden;}
.cyc::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(0deg,rgba(255,60,120,.05) 0 1px,transparent 1px 3px);pointer-events:none;opacity:.5;}
.cyc>*{position:relative;z-index:1;}
.cyc-head{text-align:center;margin-bottom:18px;}
.cyc-no{font-family:ui-monospace,monospace;font-size:13.5px;letter-spacing:6px;color:#ff8db0;}
.cyc-noN{font-size:19px;font-weight:800;margin-top:3px;text-shadow:0 0 16px rgba(255,45,106,.5);}
.cyc-steps{display:flex;align-items:center;justify-content:center;margin-bottom:18px;}
.cyc-step{display:flex;flex-direction:column;align-items:center;gap:5px;opacity:.5;}
.cyc-step.on{opacity:1;}
.cyc-step.past{opacity:.8;}
.cs-dot{width:13px;height:13px;border-radius:50%;border:2px solid rgba(255,120,160,.6);background:transparent;}
.cyc-step.on .cs-dot{background:#ff3d7a;border-color:#ff3d7a;box-shadow:0 0 12px rgba(255,45,106,.8);}
.cyc-step.past .cs-dot{background:rgba(255,120,160,.6);}
.cs-n{font-size:12px;color:#e8d2da;text-align:center;line-height:1.2;}
.cs-n b{display:block;font-size:8px;color:#b97a90;font-weight:400;}
.cyc-line{flex:1;height:1px;background:rgba(255,120,160,.3);margin:0 4px 18px;}
.cyc-phase{font-size:15px;font-weight:800;color:#ffc0d2;text-align:center;margin-bottom:12px;letter-spacing:1px;}
.cyc-acts{display:flex;flex-direction:column;gap:9px;}
.cyc-act{display:flex;align-items:center;gap:11px;padding:12px 13px;border-radius:14px;background:rgba(255,45,106,.08);border:1px solid rgba(255,100,150,.32);cursor:pointer;transition:transform .12s;}
.cyc-act:active{transform:scale(.985);}
.cyc-act.done{opacity:.5;background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12);cursor:default;}
.ca-ic{font-size:24px;}
.ca-body{flex:1;min-width:0;}
.ca-n{font-size:14.5px;font-weight:700;color:#fff;}
.ca-n span{font-size:12.5px;color:#c98aa0;font-weight:400;margin-left:4px;}
.ca-g{font-size:12.5px;color:#ff9dba;margin-top:3px;}
.ca-go{font-size:20px;color:#ff6f9c;font-weight:700;}
.btn-skip{width:100%;margin-top:10px;border:1px solid rgba(255,120,160,.4);background:rgba(255,90,140,.08);color:#ffc0d2;border-radius:12px;padding:12px;font-size:14px;font-weight:700;cursor:pointer;}
.btn-skip:active{background:rgba(255,90,140,.2);}
.cyc-foot{display:flex;justify-content:space-between;margin-top:18px;font-size:14px;color:#c98aa0;}
.cyc-foot span{cursor:pointer;}
/* 回归记录 */
.arc-list{display:flex;flex-direction:column;gap:10px;}
.arc-row{display:flex;align-items:center;gap:12px;padding:12px;border-radius:13px;background:#fff5f8;border:1px solid #ffd9e4;}
.arc-no{font-family:ui-monospace,monospace;font-size:15px;font-weight:800;color:#ff3d7a;}
.arc-b{flex:1;}
.arc-t{font-size:14px;font-weight:700;color:#26282f;}
.arc-t span{font-size:12.5px;color:#ff6f9c;margin-left:6px;}
.arc-g{font-size:13.5px;color:#8a8e97;margin-top:3px;}

/* ===== App 通用顶栏 ===== */
.content.fullview .ig,.content.fullview .bb,.content.fullview .wv,.content.fullview .nt,.content.fullview .ml,.content.fullview .bk,.content.fullview .cg,.content.fullview .kt,.content.fullview .sm,.content.fullview .ph,.content.fullview .cam-app,.content.fullview .al,.content.fullview .fl,.content.fullview .st,.content.fullview .meapp{min-height:100%;}
.app-bar{position:sticky;top:0;z-index:5;height:48px;display:flex;align-items:center;padding:0 12px;background:#fff;border-bottom:1px solid #eee;}
.app-bar .ab-back{font-size:26px;color:#222;cursor:pointer;width:30px;font-weight:300;}
.app-bar .ab-t{flex:1;text-align:center;font-size:16px;font-weight:800;color:#1a1a1a;}
.app-bar .ab-t i{font-style:normal;font-size:12.5px;color:#aaa;font-weight:400;margin-left:3px;}
.app-bar .ab-r{width:30px;}
.mini-av{background-size:cover;background-position:center;background-color:#ffe6ee;display:flex;align-items:center;justify-content:center;}

/* ===== Instagram ===== */
.ig{background:#fff;color:#222;}
.ig-bar .ab-t{font-family:Georgia,cursive;font-size:20px;font-style:italic;}
.ig-topbar{display:flex;align-items:center;justify-content:space-between;padding:12px 16px 8px;border-bottom:1px solid #f2f2f2;}
.ig-logo{font-family:Georgia,cursive;font-size:22px;font-style:italic;font-weight:700;}
.ig-dmbtn{font-size:20px;cursor:pointer;position:relative;}
.ig-dmun,.ig-dmbtn .ig-dmun{position:absolute;top:-5px;right:-8px;background:#ff2d55;color:#fff;font-size:10.5px;font-weight:800;min-width:15px;height:15px;line-height:15px;text-align:center;border-radius:8px;padding:0 3px;}
/* 스토리 트레이 */
.ig-stories{display:flex;gap:14px;overflow-x:auto;padding:12px 14px;border-bottom:1px solid #f2f2f2;}
.igst-item{display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;flex-shrink:0;width:64px;}
.igst-ring{width:60px;height:60px;border-radius:50%;padding:2.5px;background:linear-gradient(45deg,#f09433,#dc2743,#bc1888);position:relative;}
.igst-ring.me{background:#dbdbdb;}
.igst-av{width:100%;height:100%;border-radius:50%;background:#ffe6ee center/cover;border:2.5px solid #fff;display:flex;align-items:center;justify-content:center;font-size:24px;font-weight:700;color:#fff;}
.igst-plus{position:absolute;bottom:-1px;right:-1px;width:20px;height:20px;border-radius:50%;background:#0095f6;color:#fff;font-size:14px;line-height:20px;text-align:center;border:2px solid #fff;}
.igst-nm{font-size:12.5px;color:#333;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:64px;}
/* feed/grid 切换 */
.ig-vtabs{display:flex;border-top:1px solid #eee;border-bottom:1px solid #eee;}
.ig-vtabs span{flex:1;text-align:center;padding:11px;font-size:13px;font-weight:700;color:#bbb;cursor:pointer;}
.ig-vtabs span.on{color:#111;box-shadow:inset 0 -2px 0 #111;}
.ig-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:2px;}
.ig-gcell{position:relative;aspect-ratio:1;background:#eee center/cover;cursor:pointer;overflow:hidden;}
.ig-gcell img{width:100%;height:100%;object-fit:cover;}
.ig-gk{position:absolute;bottom:4px;left:5px;color:#fff;font-size:11.5px;font-weight:700;text-shadow:0 1px 3px rgba(0,0,0,.6);}
/* 스토리 뷰어 */
.overlay.igstory{background:#000;padding:0;align-items:stretch;}
.igs{position:relative;width:100%;height:100%;background:#111 center/cover;display:flex;flex-direction:column;}
.igs-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.45),transparent 22%,transparent 70%,rgba(0,0,0,.5));}
.igs-bars{display:flex;gap:4px;padding:10px 10px 0;position:relative;z-index:3;}
.igs-seg{flex:1;height:2.5px;border-radius:2px;background:rgba(255,255,255,.35);overflow:hidden;}
.igs-seg i{display:block;height:100%;width:0;background:#fff;}
.igs-seg i.done{width:100%;}
.igs-top{display:flex;align-items:center;gap:9px;padding:12px;position:relative;z-index:3;}
.igs-av{width:34px;height:34px;border-radius:50%;background:#ffe6ee center/cover;display:flex;align-items:center;justify-content:center;font-size:17px;color:#fff;font-weight:700;border:1.5px solid rgba(255,255,255,.5);}
.igs-nm{flex:1;color:#fff;font-size:14px;font-weight:700;text-shadow:0 1px 4px rgba(0,0,0,.6);}
.igs-x{color:#fff;font-size:22px;cursor:pointer;}
.igs-cap{margin-top:auto;padding:20px;color:#fff;font-size:16px;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.7);position:relative;z-index:3;}
.igs-cap span{display:block;font-size:13.5px;font-weight:400;opacity:.85;margin-top:4px;}
.igs-repost{position:absolute;bottom:70px;left:0;right:0;text-align:center;color:#fff;font-size:13.5px;opacity:.9;z-index:3;text-shadow:0 1px 4px rgba(0,0,0,.7);}
.igs-tapL{position:absolute;left:0;top:0;bottom:0;width:32%;z-index:2;}
.igs-tapR{position:absolute;right:0;top:0;bottom:0;width:68%;z-index:2;}
/* IG DM */
.igdm-app{min-height:100%;background:#fff;}
.igdm-list{padding:4px 0;}
.igdm-row{display:flex;align-items:center;gap:12px;padding:11px 16px;cursor:pointer;}
.igdm-av{width:46px;height:46px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;color:#fff;font-weight:700;flex-shrink:0;}
.igdm-b{flex:1;min-width:0;}
.igdm-n{font-size:14.5px;font-weight:700;}
.igdm-tag{font-size:10.5px;color:#fff;padding:1px 6px;border-radius:6px;vertical-align:middle;}
.igdm-t{font-size:13px;color:#8a8a8a;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.igdm-new{width:9px;height:9px;border-radius:50%;background:#0095f6;flex-shrink:0;}
.igdmc{background:#fff;}
.igdm-body{background:#fff;}
.igdmc .kkc-av{color:#fff;font-weight:700;font-size:16px;}
.ig-prof{display:flex;align-items:center;gap:20px;padding:16px;}
.ig-ring{width:78px;height:78px;border-radius:50%;padding:2.5px;background:linear-gradient(45deg,#f09433,#e6683c,#dc2743,#cc2366,#bc1888);flex-shrink:0;}
.ig-pa{width:100%;height:100%;border-radius:50%;background:#ffe6ee center/cover;border:2.5px solid #fff;display:flex;align-items:center;justify-content:center;font-size:32px;}
.ig-nums{flex:1;display:flex;justify-content:space-around;text-align:center;}
.ig-nums b{font-size:17px;font-weight:800;display:block;}
.ig-nums span{font-size:13.5px;color:#666;}
.ig-binfo{padding:0 16px 8px;}
.ig-bn{font-size:15px;font-weight:800;}
.ig-verify{color:#3897f0;font-size:13.5px;}
.ig-bb{font-size:14px;color:#333;margin-top:3px;line-height:1.5;}
.ig-btns{display:flex;gap:8px;padding:4px 16px 14px;}
.ig-edit{flex:1;border:0;background:#0095f6;color:#fff;border-radius:9px;padding:9px;font-size:13.5px;font-weight:700;cursor:pointer;}
.ig-edit.ghost{background:#efefef;color:#222;}
.ig-feed{border-top:1px solid #eee;}
.ig-post{border-bottom:1px solid #f0f0f0;padding-bottom:10px;}
.ig-ph{display:flex;align-items:center;gap:9px;padding:10px 13px;}
.ig-ava{width:32px;height:32px;border-radius:50%;background:#ffe6ee center/cover;display:flex;align-items:center;justify-content:center;font-size:16px;}
.ig-nm{font-size:15px;font-weight:700;flex:1;}
.ig-more{color:#888;}
.ig-img{width:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.ig-img img{width:100%;height:100%;object-fit:cover;}
.ig-acts{display:flex;gap:15px;padding:10px 13px 4px;font-size:21px;}
.ig-acts .ig-save{margin-left:auto;}
.ig-acts span{cursor:pointer;}
.ig-likes{padding:3px 13px;font-size:14.5px;font-weight:700;}
.ig-cap{padding:4px 13px;font-size:14.5px;line-height:1.45;}
.ig-cap b{font-weight:700;}
.ig-cmt{padding:3px 13px;font-size:14px;color:#444;}
.ig-cmt b{font-weight:700;color:#222;}

/* ===== bubble ===== */
/* ===== v372 bubble 重做:真·아티스트 버블 紫色系 ===== */
.bb{background:linear-gradient(180deg,#efe7fb,#e7ddf7);color:#333;display:flex;flex-direction:column;min-height:100%;}
.bb-topbar{background:#fff;}
.bb-topbar .ab-t{color:#8b5cf6;font-weight:900;}
.bb-head{display:flex;align-items:center;gap:12px;padding:14px 15px;background:linear-gradient(135deg,#a78bfa,#8b5cf6);color:#fff;box-shadow:0 4px 16px rgba(120,80,200,.28);}
.bb-ha{width:50px;height:50px;border-radius:16px;background:#fff center/cover;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;border:2px solid rgba(255,255,255,.6);}
.bb-hn{flex:1;min-width:0;}
.bb-hnm{font-size:17px;font-weight:900;display:flex;align-items:center;gap:5px;}
.bb-hchk{font-size:13px;}
.bb-hco{font-size:12.5px;opacity:.9;margin-top:2px;}
.bb-hstats{display:flex;gap:12px;flex-shrink:0;text-align:center;}
.bb-hst b{display:block;font-size:15px;font-weight:900;}
.bb-hst span{font-size:11px;opacity:.85;}
.bb-daytag{text-align:center;font-size:12.5px;font-weight:700;color:#8b5cf6;background:rgba(255,255,255,.55);padding:7px;}
.bb-body{flex:1;overflow-y:auto;padding:14px;display:flex;flex-direction:column;gap:11px;}
.bb-line{display:flex;gap:8px;align-items:flex-end;max-width:85%;}
.bb-line.me{align-self:flex-end;}
.bb-av{width:34px;height:34px;border-radius:50%;background:linear-gradient(135deg,#c4b5fd,#a78bfa);color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:800;flex-shrink:0;}
.bb-col{display:flex;flex-direction:column;gap:3px;}
.bb-nm{font-size:13px;color:#7c6a9c;margin-left:3px;display:flex;align-items:center;gap:5px;}
.bb-type{font-size:10.5px;font-weight:800;color:#fff;padding:1px 6px;border-radius:6px;}
.bb-bub{background:#fff;padding:11px 14px;border-radius:16px;border-top-left-radius:5px;font-size:14.5px;line-height:1.45;box-shadow:0 2px 6px rgba(120,80,200,.1);}
.bb-line.me .bb-bub,.bb-bub.me{background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border-top-left-radius:16px;border-top-right-radius:5px;box-shadow:0 4px 12px rgba(124,58,237,.32);}
.bb-line.wild .bb-bub{background:linear-gradient(135deg,#fdf2ff,#fff);border:1px solid #e9d5ff;}
.bb-bub .bb-c{display:block;font-size:13px;opacity:.75;margin-top:3px;}
.bb-line.me .bb-bub .bb-c{opacity:.85;}
.bb-input{display:flex;align-items:center;gap:8px;padding:11px;background:#fff;border-top:1px solid #e5d9f7;}
.bb-inico{font-size:22px;cursor:pointer;flex-shrink:0;}
.bb-input input{flex:1;border:0;background:#f1ecfa;border-radius:22px;padding:13px 16px;font-size:15px;outline:none;}
.bb-input button{border:0;background:linear-gradient(135deg,#8b5cf6,#7c3aed);color:#fff;border-radius:50%;width:44px;height:44px;font-size:19px;cursor:pointer;box-shadow:0 4px 12px rgba(124,58,237,.35);flex-shrink:0;}

/* ===== Weverse ===== */
.wv{background:#000;color:#fff;min-height:100%;}
.wv-bar{background:#000;border-bottom:1px solid #1a1a1a;}
.wv-bar .ab-back{color:#fff;}
.wv-bar .ab-t{color:#fff;}
.wv-live{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:70px 30px;text-align:center;gap:14px;}
.wv-prevAv{width:96px;height:96px;border-radius:50%;background:#222 center/cover;display:flex;align-items:center;justify-content:center;font-size:40px;border:2px solid #00c3ff;}
.wv-prevT{font-size:22px;font-weight:800;}
.wv-prevD{font-size:14.5px;color:#b5b5b5;line-height:1.65;}
.wv{display:flex;flex-direction:column;}
.wv-stage{position:relative;flex:1;min-height:520px;background:#111 center/cover;}
.wv-live{flex:1;}
.wv-noav{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:90px;}
.wv-top{position:absolute;top:12px;left:12px;right:12px;display:flex;justify-content:space-between;}
.wv-livetag{background:#ff2d55;color:#fff;font-size:12.5px;font-weight:800;padding:4px 10px;border-radius:6px;}
.wv-view{background:rgba(0,0,0,.5);color:#fff;font-size:13.5px;padding:4px 10px;border-radius:14px;}
.wv-cmts{position:absolute;left:12px;bottom:64px;right:80px;display:flex;flex-direction:column;gap:6px;}
.wv-cmt{font-size:14px;color:#fff;text-shadow:0 1px 3px rgba(0,0,0,.8);}
.wv-cmt.me{background:linear-gradient(90deg,rgba(255,90,160,.55),rgba(255,90,160,.1));border-radius:8px;padding:3px 8px;margin:2px 0;}
.wv-cmt.me b{color:#fff;}
/* 입덕 스토리 */
.wv-ipd-hd{margin:18px 16px 10px;font-size:16px;font-weight:800;color:#17131c;}
.wv-ipd-hd span{color:#9a93a5;font-weight:600;font-size:13px;}
.wv-ipd{padding:0 15px 20px;display:flex;flex-direction:column;gap:9px;}
.ipd-empty{background:#f6f4fb;border-radius:13px;padding:16px;text-align:center;font-size:14px;color:#7a7288;line-height:1.6;}
.ipd-empty span{font-size:12.5px;opacity:.75;}
.ipd-card{background:#fff;border:1px solid #f0d8ea;border-radius:14px;padding:12px 14px;box-shadow:0 3px 12px rgba(180,120,160,.06);}
.ipd-who{font-size:13.5px;font-weight:800;color:#c7407f;display:flex;justify-content:space-between;}
.ipd-who span{color:#23a865;font-size:13px;font-weight:800;}
.ipd-via{font-size:12.5px;color:#9a93a5;margin:4px 0 6px;}
.ipd-line{font-size:13px;font-weight:700;color:#2a2530;line-height:1.5;}
.ipd-line span{display:block;font-size:12.5px;font-weight:500;color:#9a93a5;margin-top:2px;}
.wv-cmt b{color:#00c3ff;}
.wv-hearts{position:absolute;right:20px;bottom:64px;width:60px;height:300px;pointer-events:none;}
.wv-heart{position:absolute;bottom:0;font-size:22px;animation:wvfloat 2.6s ease-out forwards;}
@keyframes wvfloat{0%{transform:translateY(0) scale(.6);opacity:0;}15%{opacity:1;}100%{transform:translateY(-280px) translateX(-30px) scale(1.2);opacity:0;}}
.wv-bottom{position:absolute;left:12px;right:12px;bottom:14px;display:flex;gap:8px;}
.wv-bottom input{flex:1;border:0;background:rgba(255,255,255,.16);color:#fff;border-radius:22px;padding:13px 16px;font-size:15px;outline:none;}
.wv-bottom input::placeholder{color:rgba(255,255,255,.6);}
.wv-bottom button{border:0;background:#ff2d55;color:#fff;border-radius:20px;padding:0 16px;font-size:13px;font-weight:700;cursor:pointer;}

/* ===== nate ===== */
.nt{background:#fff;color:#222;}
.nt-bar .ab-t{color:#ff2d2d;font-weight:900;}
.nt-tabs{display:flex;border-bottom:1px solid #eee;position:sticky;top:48px;background:#fff;z-index:4;}
.nt-tabs span{flex:1;text-align:center;padding:14px 12px;font-size:15px;font-weight:700;color:#999;cursor:pointer;}
.nt-tabs span.on{color:#ff2d2d;box-shadow:inset 0 -2px 0 #ff2d2d;}
.nt-list{padding:6px 0;}
.nt-row{display:flex;align-items:center;gap:12px;padding:15px 16px;border-bottom:1px solid #f5f5f5;}
.nt-rank{width:22px;font-size:16px;font-weight:900;color:#bbb;text-align:center;}
.nt-rank.top{color:#ff2d2d;}
.nt-kw{flex:1;font-size:15.5px;color:#222;}
.nt-fire{font-size:14px;color:#8f8f8f;}
/* 实검榜 v2:卡片化+爬升 */
.nt-livehd{display:flex;align-items:center;gap:6px;padding:15px 16px 10px;font-size:15px;font-weight:800;color:#ff2d2d;}
.nt-livehd em{margin-left:auto;font-style:normal;font-size:11.5px;font-weight:600;color:#c4c4c4;}
.nt-list2{padding:0 0 12px;}
.nt-row2{display:flex;align-items:center;gap:13px;padding:15px 16px;border-bottom:1px solid #f4f4f4;cursor:pointer;}
.nt-row2:active{background:#fafafa;}
.nt-row2.ev{background:linear-gradient(90deg,#fff4f4,#fff);}
.nt-row2.climbing{background:linear-gradient(90deg,#ffe9e9,#fff);}
.nt-rk{flex-shrink:0;width:26px;text-align:center;font-size:19px;font-weight:900;font-style:italic;color:#cfcfcf;}
.nt-rk.r1{color:#ff2d2d;}.nt-rk.r2{color:#ff7a3d;}.nt-rk.r3{color:#ffab3d;}
.nt-mid{flex:1;min-width:0;}
.nt-k2{font-size:15.5px;font-weight:700;color:#1a1a1a;line-height:1.3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.nt-sub{font-size:14px;color:#a0a0a0;margin-top:5px;display:flex;align-items:center;gap:7px;}
.nt-chg{font-weight:800;font-size:12px;}
.nt-chg.up{color:#e0455e;}.nt-chg.dn{color:#3a8dff;}.nt-chg.eq{color:#cfcfcf;}.nt-chg.nw{color:#ff8c00;}
.nt-chg.live{color:#fff;background:#ff2d2d;padding:1px 7px;border-radius:6px;animation:ntpulse 1s infinite;}
.nt-hot{flex-shrink:0;width:18px;text-align:center;font-size:14px;}
@keyframes ntpulse{0%,100%{opacity:1;}50%{opacity:.45;}}
.nt-board{padding:4px 0;}
/* CP·恋爱 App */
/* ===== CP app · 핑크&화이트 로맨스 UI(磕CP/恋爱 调性:白粉底+玫瑰强调+发光卡+爱心/风险计,大字号) ===== */
.cp{background:radial-gradient(120% 62% at 50% 0%,#ffedf5 0%,#fff8fc 52%,#fdf2f8 100%);color:#4a2f42;min-height:100%;}
.cp-bar{background:transparent;}
.cp-bar .ab-t{color:#ff4d86;font-weight:900;}
.cp-bar .ab-back,.cp-bar .ab-r{color:#5a3a4e;}
.cp-tip{margin:12px 14px 6px;font-size:14px;line-height:1.6;color:#8a6d80;background:linear-gradient(135deg,#fff2f8,#ffeaf3);border:1px solid rgba(255,140,175,.28);border-radius:15px;padding:12px 14px;box-shadow:0 4px 14px rgba(255,120,160,.1);}
.cp-tip b{color:#ff4d86;}
/* 团队列表(参考图样式:大按钮 + 裸emoji + 粉色细团名 + X位成员) */
.cpg-title{padding:16px 16px 12px;font-size:16px;font-weight:600;color:#c26a92;}
.cpg-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 14px;}
.cpg-card{display:flex;align-items:center;gap:13px;background:#fff;border:1px solid rgba(255,150,185,.18);border-radius:20px;padding:24px 17px;cursor:pointer;box-shadow:0 5px 16px rgba(255,120,160,.1);transition:transform .12s;position:relative;overflow:hidden;}
.cpg-card:active{transform:scale(.98);}
.cpg-card.active{border-color:color-mix(in srgb,var(--gc,#ff5e8a) 40%,#ffcede);box-shadow:0 6px 20px color-mix(in srgb,var(--gc,#ff5e8a) 20%,transparent);}
.cpg-av{position:relative;flex:none;font-size:40px;line-height:1;}
.cpg-heart{position:absolute;bottom:-2px;right:-8px;font-size:15px;filter:drop-shadow(0 1px 2px rgba(255,120,160,.4));}
.cpg-b{min-width:0;flex:1;}
.cpg-n{font-size:19px;font-weight:500;color:#ff7aa0;line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.cpg-m{font-size:13px;color:#c3a8ba;margin-top:4px;font-weight:400;}
.cp-fil{display:flex;gap:9px;padding:8px 14px 10px;}
.cp-fil span{font-size:15px;font-weight:700;color:#b58aa2;padding:8px 17px;border-radius:22px;background:#fff;border:1px solid rgba(255,150,185,.3);cursor:pointer;transition:.15s;box-shadow:0 2px 8px rgba(255,120,160,.08);}
.cp-fil span.on{color:#fff;background:linear-gradient(135deg,#ff5e8a,#b06bd8);border-color:transparent;box-shadow:0 5px 15px rgba(255,94,138,.35);}
.cp-sec{padding:20px 16px 11px;font-size:16px;font-weight:800;color:#5a3a4e;display:flex;align-items:center;gap:9px;letter-spacing:.2px;}
.cp-sec-g{display:inline-flex;align-items:center;justify-content:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,#ff5e8a,#b06bd8);color:#fff;font-size:13px;font-weight:900;}
.cp-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding:0 14px;}
.cp-gcard{position:relative;background:linear-gradient(165deg,#fff,color-mix(in srgb,var(--gc,#ff5e8a) 9%,#fff));border:1px solid color-mix(in srgb,var(--gc,#ff5e8a) 20%,#ffe0ec);border-radius:20px;padding:16px;cursor:pointer;overflow:hidden;box-shadow:0 8px 22px color-mix(in srgb,var(--gc,#ff5e8a) 13%,rgba(255,120,160,.1));transition:transform .12s;}
.cp-gcard::before{content:'';position:absolute;top:-34%;right:-22%;width:130px;height:130px;border-radius:50%;background:radial-gradient(closest-side,color-mix(in srgb,var(--gc,#ff5e8a) 26%,transparent),transparent);pointer-events:none;}
.cp-gcard>*{position:relative;}
.cp-gcard:active{transform:scale(.98);}
.cp-gcard.active{border-color:color-mix(in srgb,var(--gc,#ff5e8a) 44%,#ffcede);box-shadow:0 8px 24px color-mix(in srgb,var(--gc,#ff5e8a) 26%,transparent);}
.cp-gtop{display:flex;align-items:flex-start;justify-content:space-between;margin-bottom:11px;}
.cp-gorb{width:54px;height:54px;border-radius:17px;background:linear-gradient(135deg,var(--gc,#ff5e8a),color-mix(in srgb,var(--gc,#ff5e8a) 55%,#fff));color:#fff;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:900;letter-spacing:.5px;box-shadow:0 6px 16px color-mix(in srgb,var(--gc,#ff5e8a) 42%,transparent);}
.cp-gheart{font-size:19px;filter:drop-shadow(0 2px 4px rgba(255,120,160,.4));}
.cp-gname{font-size:18px;font-weight:900;color:#3a2436;line-height:1.15;}
.cp-gkn{font-size:13.5px;color:#a889a0;margin-top:3px;}
.cp-gmeta{font-size:13.5px;color:#b09aac;margin-top:12px;display:flex;align-items:center;gap:8px;}
.cp-gbadge{font-size:12.5px;font-weight:800;color:#fff;background:var(--gc,#ff5e8a);padding:3px 10px;border-radius:8px;}
/* group header + member grid */
.cp-ghd{color:#fff;padding:22px 18px;display:flex;align-items:center;gap:15px;position:relative;overflow:hidden;}
.cp-ghd::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.13));}
.cp-ghd>*{position:relative;z-index:1;}
.cp-ghd-orb{width:60px;height:60px;border-radius:18px;background:rgba(255,255,255,.28);border:2px solid rgba(255,255,255,.55);display:flex;align-items:center;justify-content:center;font-size:21px;font-weight:900;letter-spacing:.5px;flex-shrink:0;}
.cp-ghd-tx b{font-size:24px;font-weight:900;display:block;line-height:1.1;}
.cp-ghd-tx span{font-size:14.5px;opacity:.95;}
.cp-pick{padding:18px 16px 8px;font-size:15px;font-weight:800;color:#7a5a6e;}
.cp-mgrid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:12px;padding:4px 14px;}
.cp-mcard{display:flex;flex-direction:column;align-items:center;gap:9px;padding:15px 6px;background:#fff;border:1px solid rgba(255,150,185,.25);border-radius:18px;cursor:pointer;transition:transform .12s;box-shadow:0 5px 15px rgba(255,120,160,.1);}
.cp-mcard:active{transform:scale(.96);}
.cp-mcav{position:relative;width:62px;height:62px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:26px;font-weight:800;color:#fff;box-shadow:0 5px 14px rgba(255,120,160,.28);border:2px solid #fff;}
.cp-mcheart{position:absolute;bottom:-2px;right:-2px;font-size:17px;filter:drop-shadow(0 1px 3px rgba(255,120,160,.5));}
.cp-mcn{font-size:15px;font-weight:800;color:#3a2436;text-align:center;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;}
.cp-mkn{font-size:11px;font-weight:500;color:#b09aac;text-align:center;line-height:1.1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;margin-top:1px;}
.cp-mcx{font-size:13px;min-height:16px;}
.cp-mtag{font-size:11.5px;font-weight:800;color:#fff;padding:3px 9px;border-radius:8px;}
/* idol hero(粉白底 + 组合色 orb 作强调) */
.cp-ihero{position:relative;text-align:center;padding:30px 18px 22px;overflow:hidden;color:#4a2f42;}
.cp-ihero-bg{position:absolute;inset:0;background:radial-gradient(92% 82% at 50% 0%,#ffe1ee,#fff6fb 74%);}
.cp-ihero>*{position:relative;z-index:1;}
.cp-iav{width:90px;height:90px;border-radius:50%;background:linear-gradient(135deg,var(--gc,#ff5e8a),color-mix(in srgb,var(--gc,#ff5e8a) 55%,#fff));display:flex;align-items:center;justify-content:center;font-size:40px;font-weight:800;color:#fff;margin:0 auto 13px;border:3px solid #fff;box-shadow:0 8px 24px color-mix(in srgb,var(--gc,#ff5e8a) 38%,transparent);}
.cp-in{font-size:27px;font-weight:900;color:#3a2436;}
.cp-ig{font-size:14.5px;color:#8a6d80;margin-top:5px;}
.cp-istage{display:inline-block;margin-top:12px;font-size:13.5px;font-weight:800;color:#c23e6d;background:#fff;border:1px solid rgba(255,150,185,.4);padding:5px 16px;border-radius:22px;box-shadow:0 3px 10px rgba(255,120,160,.15);}
/* stat card + 计量条 */
.cp-icard{margin:2px 14px 16px;position:relative;z-index:2;background:#fff;border:1px solid rgba(255,150,185,.22);border-radius:20px;padding:18px 16px 10px;box-shadow:0 8px 26px rgba(255,120,160,.16);}
.cp-meter{margin-bottom:16px;}
.cp-mlab{display:flex;justify-content:space-between;align-items:center;font-size:15px;color:#7a5a6e;margin-bottom:7px;}
.cp-mlab b{font-size:16px;font-weight:800;color:#3a2436;}
.cp-mlab b.mid{color:#f59a34;} .cp-mlab b.hi{color:#ff3d5f;}
.cp-mbar{height:10px;border-radius:7px;background:#fbe6ef;overflow:hidden;}
.cp-mfill{height:100%;border-radius:7px;transition:width .45s;}
.cp-mfill.love{background:linear-gradient(90deg,#ffb0d0,#ff4d86);}
.cp-mfill.lo{background:linear-gradient(90deg,#6fe0af,#3fc98a);}
.cp-mfill.mid{background:linear-gradient(90deg,#ffd27a,#ff9e3d);}
.cp-mfill.hi{background:linear-gradient(90deg,#ff8080,#ff3d5f);}
.cp-mhint{font-size:13px;margin-top:6px;}
.cp-mhint.lo{color:#35b483;} .cp-mhint.mid{color:#e8912a;} .cp-mhint.hi{color:#ff4d68;font-weight:700;}
.cp-irows{border-top:1px solid #fbe6ef;padding-top:3px;}
.cp-irow{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid #fdeef5;font-size:14.5px;}
.cp-irow:last-child{border-bottom:none;}
.cp-irow span{color:#a889a0;}
.cp-irow b{color:#3a2436;font-weight:700;}
.cp-edit{color:#ff4d86;font-weight:700;cursor:pointer;margin-left:4px;}
/* 动作按钮 */
.cp-acts{padding:0 16px;display:flex;flex-direction:column;gap:11px;}
.cp-act{position:relative;width:100%;border:1px solid rgba(255,150,185,.3);border-radius:16px;padding:16px;font-size:17px;font-weight:800;color:#c23e6d;cursor:pointer;text-align:center;background:#fff;box-shadow:0 4px 14px rgba(255,120,160,.1);transition:transform .1s;}
.cp-act:active{transform:scale(.985);}
.cp-act span{display:block;font-size:13px;font-weight:500;margin-top:3px;color:#b58aa2;}
.cp-act.primary{background:linear-gradient(135deg,#ff5e8a,#b06bd8);border-color:transparent;color:#fff;box-shadow:0 7px 20px rgba(255,94,138,.35);}
.cp-act.primary span{color:rgba(255,255,255,.9);}
.cp-act.risk{background:linear-gradient(135deg,#fff0f4,#ffe6ef);border-color:rgba(255,120,150,.4);color:#e0567f;}
.cp-act.special{background:linear-gradient(135deg,#ffcf6b,#ff8fb0);border-color:transparent;color:#fff;box-shadow:0 7px 20px rgba(255,160,100,.3);}
.cp-act.special span{color:rgba(255,255,255,.9);}
.cp-act.ghost{background:transparent;border-color:rgba(200,150,175,.4);color:#a889a0;font-weight:700;box-shadow:none;}
.cp-note{margin:18px 18px 4px;font-size:13px;line-height:1.65;color:#b09aac;}
/* CP 恋爱聊天 */
/* CP 私聊 DM(粉白调性,与主界面统一,大字号) */
.cpchat{display:flex;flex-direction:column;height:100%;background:radial-gradient(120% 55% at 50% 0%,#ffedf5,#fff7fb 60%,#fdf2f8);}
.cpc-top{display:flex;align-items:center;gap:11px;padding:14px 15px;color:#fff;position:relative;overflow:hidden;}
.cpc-top::after{content:'';position:absolute;inset:0;background:linear-gradient(180deg,transparent,rgba(0,0,0,.1));}
.cpc-top>*{position:relative;z-index:1;}
.cpc-top .x{font-size:27px;cursor:pointer;line-height:1;}
.cpc-tt{flex:1;}
.cpc-tt b{font-size:18px;font-weight:900;display:block;line-height:1.1;}
.cpc-tt span{font-size:13px;opacity:.92;}
.cpc-heart{font-size:14px;}
.cpc-body{flex:1;overflow-y:auto;padding:16px 14px;display:flex;flex-direction:column;gap:11px;}
.cpc-msg{display:flex;}
.cpc-msg.me{justify-content:flex-end;}
.cpc-bub{max-width:76%;padding:11px 15px;border-radius:18px;font-size:12.5px;line-height:1.45;opacity:.72;display:flex;flex-direction:column;}
.cpc-msg.me .cpc-bub{opacity:1;font-size:15.5px;}
.cpc-msg.her .cpc-bub{background:#fff;color:#3a2436;border-top-left-radius:6px;box-shadow:0 3px 12px rgba(255,120,160,.14);border:1px solid rgba(255,150,185,.16);}
.cpc-msg.me .cpc-bub{background:linear-gradient(135deg,#ff7aa6,#ff5e8a);color:#fff;border-top-right-radius:6px;box-shadow:0 4px 14px rgba(255,94,138,.3);}
.cpc-c{display:block;font-size:16px;opacity:1;font-weight:600;order:-1;margin-bottom:2px;}
.cpc-bub .cpc-c+*{opacity:.85;}
.cpc-foot{background:rgba(255,255,255,.9);backdrop-filter:blur(6px);border-top:1px solid rgba(255,150,185,.22);padding:10px 12px 14px;}
.cpc-exp{font-size:13px;color:#b58aa2;text-align:center;margin-bottom:8px;font-weight:600;}
.cpc-exp b{font-size:14px;font-weight:800;}
.cpc-in{display:flex;gap:9px;align-items:center;}
.cpc-in input{flex:1;border:1.5px solid rgba(255,150,185,.35);background:#fff;border-radius:22px;padding:12px 17px;font-size:15.5px;outline:none;color:#3a2436;}
.cpc-in input::placeholder{color:#c3a8ba;}
.cpc-in button{width:44px;height:44px;border:none;border-radius:50%;background:linear-gradient(135deg,#ff7aa6,#ff5e8a);color:#fff;font-size:18px;cursor:pointer;flex-shrink:0;box-shadow:0 4px 12px rgba(255,94,138,.3);}
.cpe-archs{display:flex;flex-wrap:wrap;gap:7px;}
.cpe-arch{font-size:14px;font-weight:700;color:#a99bb0;padding:7px 13px;border-radius:13px;background:#fff;border:1.5px solid #eee;cursor:pointer;}
.cpe-arch.on{color:#fff;background:linear-gradient(135deg,#ff5e8a,#b026ff);border-color:transparent;}
/* 巡演 setlist + 单站 */
.tr-segs{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:6px 14px 4px;}
.tr-seg{background:#fff;border:1.5px solid #eee;border-radius:12px;padding:11px 12px;cursor:pointer;}
.tr-seg.on{border-color:#b026ff;background:linear-gradient(135deg,#fbf2ff,#fff);}
.tr-seg b{display:block;font-size:13.5px;color:#1a1a1a;}
.tr-seg span{font-size:12px;color:#a99bb0;}
.tr-arc{margin:12px 16px;font-size:13px;font-weight:700;color:#333;}
.tr-arc b{color:#b026ff;font-size:16px;}
.tr-arc span{font-size:12.5px;color:#999;font-weight:500;}
.tr-bar{height:10px;border-radius:6px;background:#eee;overflow:hidden;margin-top:7px;}
.tr-bar span{display:block;height:100%;background:linear-gradient(90deg,#b026ff,#ff2d6a);transition:width .4s;}
.tr-city{color:#fff;text-align:center;padding:24px 18px;margin:0;}
.tr-cn{font-size:22px;font-weight:900;}
.tr-cev{font-size:13px;margin-top:8px;opacity:.95;}
.tr-cev span{opacity:.7;}
/* CP 结局演出 */
.cp-end{position:relative;min-height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:40px 26px;background:radial-gradient(120% 70% at 50% 0%,var(--ec,#ff5e8a),#1a0e1f 70%,#0f0712);color:#fff;overflow:hidden;}
.cpe-glow{position:absolute;top:8%;left:50%;transform:translateX(-50%);width:280px;height:280px;background:radial-gradient(circle,rgba(255,255,255,.3),transparent 65%);pointer-events:none;}
.cpe-stamp{position:relative;font-size:12.5px;font-weight:800;letter-spacing:4px;color:rgba(255,255,255,.7);border:1.5px solid rgba(255,255,255,.4);border-radius:8px;padding:4px 12px;transform:rotate(-5deg);margin-bottom:24px;}
.cpe-em{font-size:62px;filter:drop-shadow(0 0 20px rgba(255,255,255,.5));}
.cpe-t{font-size:23px;font-weight:900;margin-top:14px;}
.cpe-sub{font-size:14px;opacity:.85;margin-top:6px;}
.cpe-d{font-size:13.5px;line-height:1.8;opacity:.92;margin-top:20px;max-width:320px;}
.cp-end-badge{margin:2px 16px 10px;background:linear-gradient(135deg,#fff0f5,#ffe6ef);border:1px solid rgba(255,140,175,.4);border-radius:14px;padding:13px;text-align:center;font-size:14.5px;font-weight:800;color:#c23e6d;}
/* 生涯结算屏 */
.csettle{position:relative;min-height:100%;display:flex;flex-direction:column;align-items:center;text-align:center;padding:36px 22px;background:radial-gradient(120% 60% at 50% 0%,#241a3a,#140d24 65%,#0d0818);color:#fff;overflow:hidden;}
.cst-glow{position:absolute;top:4%;left:50%;transform:translateX(-50%);width:300px;height:300px;pointer-events:none;}
.cst-stamp{position:relative;font-size:12px;font-weight:800;letter-spacing:4px;color:rgba(255,255,255,.6);border:1.5px solid rgba(255,255,255,.3);border-radius:8px;padding:4px 12px;}
.cst-em{font-size:54px;margin-top:18px;}
.cst-t{font-size:24px;font-weight:900;margin-top:6px;}
.cst-m{font-size:13px;color:#c9b8ee;margin-top:6px;}
.cst-card{width:100%;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:15px;padding:6px 15px;margin:20px 0 8px;text-align:left;}
.cst-row{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.08);font-size:13px;}
.cst-row:last-child{border-bottom:none;}
.cst-row span{color:#a99bc8;}
.cst-row b{color:#fff;font-weight:700;text-align:right;}
.cst-row.up b{color:#5ee89b;}
.cst-row.dn b{color:#ff7a9c;}
.cst-retire{margin:12px 0;font-size:13px;font-weight:700;color:#ff7a9c;background:rgba(255,45,106,.12);border:1px solid rgba(255,45,106,.3);border-radius:12px;padding:12px;}
.cst-next{font-size:13.5px;color:#c9b8ee;opacity:.9;margin:8px 0 4px;line-height:1.6;}
/* NPC 集体反应(表层→行动) */
.nr-list{display:flex;flex-direction:column;gap:8px;margin:6px 0 4px;text-align:left;}
.nr-row{background:#f5f5f7;border:1px solid #ececf0;border-radius:11px;padding:9px 12px;}
.nr-row.betray{background:#fff0f4;border-color:#ffd0db;}
.nr-row.surprise{background:#eafff2;border-color:#b8f0cf;}
.nr-who{display:block;font-size:12.5px;font-weight:800;color:#c8123e;margin-bottom:3px;}
.nr-say{font-size:14px;color:#333;line-height:1.5;}
.nt-post{padding:13px 16px;border-bottom:1px solid #f3f3f3;}
.nt-pt{font-size:14.5px;color:#1a1a1a;line-height:1.4;}
.nt-pm{font-size:13px;color:#999;margin-top:6px;}

/* ===== Melon ===== */
.ml{background:#fff;color:#222;}
.ml-bar .ab-t{color:#0fd46c;font-weight:900;}
.ml-h{padding:15px 16px 9px;font-size:16px;font-weight:800;color:#1a1a1a;}
.ml-row{display:flex;align-items:center;gap:11px;padding:9px 16px;border-bottom:1px solid #f5f5f5;}
.ml-row.mine{background:#effbf3;}
.ml-rank{width:24px;text-align:center;font-size:15px;font-weight:800;color:#333;}
.ml-art{width:46px;height:46px;border-radius:8px;flex-shrink:0;}
.ml-info{flex:1;min-width:0;}
.ml-title{font-size:15px;font-weight:700;color:#1a1a1a;}
.ml-tag{font-size:10.5px;background:#0fd46c;color:#fff;padding:1px 5px;border-radius:4px;vertical-align:middle;}
.ml-artist{font-size:14px;color:#999;margin-top:2px;}
.ml-play{font-size:12.5px;color:#0fd46c;}
.ml-row{cursor:pointer;}
.ml-art{display:flex;align-items:center;justify-content:center;color:rgba(255,255,255,.85);font-size:20px;}
.ml-tabs{display:flex;align-items:center;gap:4px;padding:10px 14px 8px;border-bottom:1px solid #f0f0f0;}
.ml-tab{font-size:16px;font-weight:800;color:#bbb;cursor:pointer;padding:4px 8px;}
.ml-tab.on{color:#0fd46c;}
.ml-tab i{font-style:normal;font-size:11.5px;opacity:.7;margin-left:3px;}
.ml-ak{margin-left:auto;background:#0fd46c;color:#fff;border:0;border-radius:14px;padding:7px 13px;font-size:13.5px;font-weight:800;cursor:pointer;}
.ml-empty{text-align:center;color:#aaa;padding:60px 30px;font-size:15px;font-weight:700;}
.ml-empty span{font-size:13.5px;font-weight:500;display:block;margin-top:8px;}
/* Melon 播放详情 */
.mld{background:linear-gradient(180deg,#0c2a1c,#071410);min-height:100%;color:#fff;display:flex;flex-direction:column;align-items:center;padding-bottom:20px;}
.mld-hd{width:100%;display:flex;align-items:center;gap:8px;padding:13px 14px;font-size:13px;font-weight:800;letter-spacing:1px;opacity:.85;}
.mld-hd .kkc-back{color:#fff;}
.mld-art{width:240px;height:240px;border-radius:20px;margin-top:14px;display:flex;align-items:center;justify-content:center;box-shadow:0 12px 40px rgba(0,0,0,.5);position:relative;}
.mld-disc{width:74px;height:74px;border-radius:50%;background:rgba(0,0,0,.35);display:flex;align-items:center;justify-content:center;font-size:32px;color:#fff;border:6px solid rgba(255,255,255,.15);}
.mld-disc.spin{animation:mldspin 3s linear infinite;}
@keyframes mldspin{to{transform:rotate(360deg);}}
.mld-title{font-size:23px;font-weight:900;margin-top:22px;text-align:center;padding:0 24px;}
.mld-artist{font-size:14px;opacity:.7;margin-top:6px;}
.mld-bar{width:calc(100% - 60px);height:4px;border-radius:2px;background:rgba(255,255,255,.18);margin-top:22px;overflow:hidden;}
.mld-in{height:100%;background:#0fd46c;border-radius:2px;transition:width .4s;}
.mld-time{width:calc(100% - 60px);display:flex;justify-content:space-between;font-size:12.5px;opacity:.6;margin-top:6px;}
.mld-ctrl{display:flex;align-items:center;gap:32px;margin-top:18px;font-size:26px;opacity:.85;}
.mld-play{width:64px;height:64px;border-radius:50%;border:0;background:#0fd46c;color:#04140c;font-size:26px;cursor:pointer;box-shadow:0 6px 20px rgba(15,212,108,.4);}
.mld-stats{display:flex;gap:10px;margin-top:26px;width:calc(100% - 40px);}
.mld-stats>div{flex:1;background:rgba(255,255,255,.07);border-radius:14px;padding:12px 6px;text-align:center;cursor:pointer;}
.mld-stats b{font-size:16px;font-weight:800;display:block;}
.mld-stats span{font-size:11.5px;opacity:.6;}
.mld-like.on{background:rgba(255,60,110,.18);}
.mld-sec{width:calc(100% - 40px);font-size:13px;font-weight:800;opacity:.8;margin:24px auto 8px;}
.mld-tracks{width:calc(100% - 40px);}
.mld-tk{display:flex;align-items:center;gap:12px;padding:9px 0;font-size:14px;border-bottom:1px solid rgba(255,255,255,.06);}
.mld-tk span{opacity:.5;font-size:13.5px;width:22px;}
.mld-tk.title{color:#0fd46c;font-weight:700;}
.mld-tk b{font-size:10.5px;background:#0fd46c;color:#04140c;padding:1px 5px;border-radius:4px;margin-left:auto;}
.mld-lyr{width:calc(100% - 40px);font-size:14px;line-height:2;opacity:.85;text-align:center;}
.mld-lyr-more{opacity:.4;}
.mld-albbtn{margin:22px auto 0;background:rgba(255,255,255,.12);border:0;color:#fff;border-radius:14px;padding:13px 22px;font-size:14px;font-weight:700;cursor:pointer;}

/* ===== 银行 ===== */
.bk{background:#f3f5f9;color:#222;min-height:100%;}
.bk-bar{background:#fff;}
.bk-card{margin:16px;padding:24px 22px;border-radius:22px;background:linear-gradient(135deg,#2bd4c0,#1b9be0);color:#fff;box-shadow:0 10px 26px rgba(27,155,224,.35);}
.bk-lbl{font-size:13.5px;opacity:.9;font-weight:600;}
.bk-bal{font-size:36px;font-weight:900;margin-top:8px;letter-spacing:.5px;}
.bk-sub{font-size:13px;opacity:.85;margin-top:10px;}
.bk-h{padding:12px 18px 6px;font-size:16px;font-weight:800;color:#444;}
.bk-row{display:flex;align-items:center;gap:13px;padding:16px 18px;background:#fff;border-bottom:1px solid #f0f0f0;}
.bk-ic{width:42px;height:42px;border-radius:50%;background:#eef4ff;color:#1b9be0;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:800;}
.bk-b{flex:1;}
.bk-t{font-size:15.5px;font-weight:700;}
.bk-d{font-size:14px;color:#a2a2a2;margin-top:3px;}
.bk-a{font-size:16.5px;font-weight:800;}
.bk-a.in{color:#1bb55b;}
.bk-a.out{color:#e0455e;}

/* ===== 打歌 ===== */
.cg{background:#13101c;color:#fff;min-height:100%;}
.cg-bar{background:#13101c;border-bottom:1px solid #2a2438;}
.cg-bar .ab-back,.cg-bar .ab-t{color:#fff;}
.cg-hero{margin:14px;border-radius:18px;padding:26px 18px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.4);box-shadow:0 8px 24px rgba(0,0,0,.4);}
.cg-htag{font-size:14px;font-weight:700;opacity:.95;}
.cg-htitle{font-size:30px;font-weight:900;margin-top:8px;font-family:Georgia,serif;letter-spacing:1px;}
.cg-hsub{font-size:13.5px;margin-top:8px;opacity:.95;}
.cg-h{padding:10px 18px 6px;font-size:15.5px;font-weight:800;color:#ffc0d2;}
.cg-cand{display:flex;align-items:center;gap:11px;padding:11px 16px;border-bottom:1px solid #221c30;}
.cg-cand.mine{background:rgba(255,45,106,.12);}
.cg-r{width:22px;text-align:center;font-size:16px;font-weight:900;color:#ff5f8f;}
.cg-art{width:44px;height:44px;border-radius:8px;flex-shrink:0;}
.cg-b{flex:1;min-width:0;}
.cg-s{font-size:15px;font-weight:700;}
.cg-n{font-size:14px;color:#a99;margin-top:2px;}
.cg-sc{font-size:14px;font-weight:800;color:#ffc0d2;}
.cg-foot{text-align:center;padding:16px;font-size:14px;color:#c98aa0;}

/* ===== KakaoTalk 列表 ===== */
.kt{background:#b2c7d9;color:#222;min-height:100%;}
.kt-bar{background:#9bb3c7;}
.kt-list{padding:4px 0;}
.kt-row{display:flex;align-items:center;gap:12px;padding:13px 16px;cursor:pointer;border-bottom:1px solid rgba(0,0,0,.04);}
.kt-row.task{background:linear-gradient(90deg,#fff6e9,transparent);}
.kt-task{display:inline-block;font-size:11.5px;font-weight:800;color:#fff;background:#ff9500;padding:1px 7px;border-radius:7px;vertical-align:middle;margin-left:2px;}
.kt-row.task .kt-last{color:#e07a00;font-weight:700;}
.kt-av{width:46px;height:46px;border-radius:15px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;box-shadow:0 1px 3px rgba(0,0,0,.12);}
.kt-b{flex:1;min-width:0;}
.kt-nm{font-size:15px;font-weight:700;color:#1a1a1a;}
.kt-last{font-size:14px;color:#5a6b7a;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}

/* ===== 短信 / 电话 ===== */
.sm,.ph{background:#fff;color:#222;min-height:100%;}
.sm-row,.ph-row{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid #f3f3f3;}
.sm-row.danger,.ph-row.danger{background:#fff5f5;}
.sm-av,.ph-av{width:42px;height:42px;border-radius:50%;background:#eef4ff;display:flex;align-items:center;justify-content:center;font-size:19px;flex-shrink:0;}
.sm-row.danger .sm-av,.ph-row.danger .ph-av{background:#ffe6e6;}
.sm-b,.ph-b{flex:1;min-width:0;}
.sm-n,.ph-n{font-size:15.5px;font-weight:700;display:flex;align-items:center;gap:6px;}
.ph-n.miss{color:#e0455e;}
.sm-dot{width:8px;height:8px;border-radius:50%;background:#ff3b30;display:inline-block;}
.sm-t,.ph-t{font-size:13.5px;color:#808080;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ph-time{font-size:14px;color:#aaa;}
.sm-arw{color:#c3ccd6;font-size:20px;flex-shrink:0;}
.sm-tag{font-size:11px;font-weight:800;color:#fff;background:#6a8cff;padding:1px 6px;border-radius:6px;}

/* ===== KakaoTalk 完整 App:in-app 导航 / 친구 / 프로필 / 全屏聊天 ===== */
.content.fullview .kt,.content.fullview .kkc,.content.fullview .kkp,.content.fullview .cd,.content.fullview .smt{min-height:100%;}
/* 全屏子页 header 提到通知横幅(z66)之上,返回键永远可点 */
.kkc-hd,.mld-hd,.cd-hd,.kkp-cover{position:relative;z-index:70;}
.kt{display:flex;flex-direction:column;height:100%;}
.kt-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.kknav{flex-shrink:0;display:flex;background:#f7f8fa;border-top:1px solid #e3e7ec;padding:5px 0 8px;}
.kkn-tab{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;cursor:pointer;color:#9aa3ad;padding:4px 0;}
.kkn-tab.on{color:#3a2f00;}
.kkn-ic{font-size:20px;position:relative;}
.kkn-dot{position:absolute;top:-4px;right:-10px;background:#ff3b30;color:#fff;font-size:10.5px;font-weight:800;min-width:15px;height:15px;line-height:15px;text-align:center;border-radius:8px;padding:0 3px;}
.kkn-tx{font-size:12.5px;font-weight:700;}
.kkn-tx i{font-size:8.5px;font-style:normal;opacity:.7;margin-left:2px;}
/* 我的名片 */
.kkf-me{display:flex;align-items:center;gap:13px;padding:18px 16px;background:linear-gradient(135deg,#fbe94d,#ffd84d);}
.kkf-me-av{width:56px;height:56px;border-radius:20px;background:#fff center/cover;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0;box-shadow:0 2px 6px rgba(0,0,0,.12);}
.kkf-me-b{flex:1;min-width:0;}
.kkf-me-nm{font-size:18px;font-weight:800;color:#2a2410;}
.kkf-me-st{font-size:13.5px;color:#6b5f2a;margin-top:3px;}
.kkf-me-qr{font-size:20px;color:#7a6f38;}
.kkf-hd,.kkm-list .kkm-hd{font-size:13.5px;font-weight:800;color:#8b95a1;padding:12px 16px 6px;background:#fff;}
.kkf,.kkm{background:#fff;min-height:100%;}
.kkf-row{display:flex;align-items:center;gap:12px;padding:11px 16px;cursor:pointer;}
.kkf-row:active{background:#f4f6f8;}
.kkf-av{width:44px;height:44px;border-radius:15px;background:#eef2f6;display:flex;align-items:center;justify-content:center;font-size:23px;flex-shrink:0;}
.kkf-b{flex:1;min-width:0;}
.kkf-nm{font-size:15px;font-weight:700;color:#1a1a1a;}
.kkf-role{font-size:12.5px;font-weight:600;color:#9aa3ad;}
.kkf-st{font-size:13.5px;color:#9aa3ad;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.kkm-row{display:flex;align-items:center;gap:13px;padding:15px 16px;border-bottom:1px solid #f2f4f6;cursor:pointer;}
.kkm-ic{font-size:20px;width:26px;text-align:center;}
.kkm-tx{flex:1;font-size:15px;font-weight:600;color:#2a2f37;}
.kkm-tx i{font-style:normal;font-size:12.5px;color:#aab2bb;margin-left:6px;}
.kkm-arw{color:#c3ccd6;font-size:20px;}
.kkm-ver{text-align:center;font-size:12.5px;color:#c0c7cf;padding:22px 0;}
/* 프로필 全屏 */
.kkp{background:linear-gradient(180deg,#5a6d80,#25313f);min-height:100%;display:flex;flex-direction:column;align-items:center;color:#fff;}
.kkp-cover{width:100%;height:120px;position:relative;}
.kkp-x{position:absolute;top:14px;right:16px;font-size:20px;color:#fff;opacity:.85;cursor:pointer;}
.kkp-av{width:100px;height:100px;border-radius:32px;background:#fff center/cover;display:flex;align-items:center;justify-content:center;font-size:52px;margin-top:-30px;box-shadow:0 4px 16px rgba(0,0,0,.3);}
.kkp-av.emo{background:#eef2f6;}
.kkp-nm{font-size:23px;font-weight:800;margin-top:14px;}
.kkp-role{font-size:13px;opacity:.75;margin-top:4px;}
.kkp-st{font-size:13px;opacity:.85;text-align:center;margin-top:14px;line-height:1.5;padding:0 30px;}
.kkp-st span{font-size:13.5px;opacity:.75;}
.kkp-acts{margin-top:auto;display:flex;gap:10px;padding:24px 20px 34px;width:100%;justify-content:center;}
.kkp-act{background:rgba(255,255,255,.14);border:0;color:#fff;border-radius:14px;padding:12px 18px;font-size:14px;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;min-width:96px;}
.kkp-act i{font-style:normal;font-size:11.5px;opacity:.7;}
.kkp-act:active{background:rgba(255,255,255,.24);}
/* 全屏聊天 header */
.kkc{display:flex;flex-direction:column;height:100%;background:#b2c7d9;}
.smt.danger .kkc-hd{background:#c98a8a;}
.kkc-hd{flex-shrink:0;display:flex;align-items:center;gap:11px;padding:14px 13px;background:#9bb3c7;color:#1f2530;}
.kkc-back{font-size:29px;line-height:1;cursor:pointer;color:#1f2530;margin-right:-2px;}
.kkc-av{width:40px;height:40px;border-radius:13px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:22px;flex-shrink:0;}
.kkc-ttl{flex:1;font-size:18.5px;font-weight:800;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.kkc-ttl i{font-style:normal;font-weight:500;opacity:.65;font-size:13.5px;margin-left:5px;}
.kkc-act{display:flex;gap:15px;font-size:19px;}
.kkc-act span{cursor:pointer;opacity:.8;}
.kkc-body{flex:1;overflow-y:auto;}
/* 短信会话气泡 */
.smt-body{background:#eef1f5;}
.smt.danger .smt-body{background:#fbeeee;}
.smt-line{display:flex;max-width:82%;}
.smt-line.them{align-self:flex-start;}
.smt-line.me{align-self:flex-end;margin-left:auto;}
.smt-bub{padding:10px 13px;border-radius:16px;font-size:14px;line-height:1.45;}
.smt-line.them .smt-bub{background:#fff;color:#1f2330;border-top-left-radius:4px;box-shadow:0 1px 2px rgba(0,0,0,.06);}
.smt-line.me .smt-bub{background:#3a86ff;color:#fff;border-top-right-radius:4px;}
.smt.danger .smt-line.them .smt-bub{background:#fff;color:#a01c1c;}
.smt-cta{padding:10px 12px 14px;}
.smt-cta button{width:100%;border:0;background:#6a8cff;color:#fff;border-radius:14px;padding:14px;font-size:14px;font-weight:800;cursor:pointer;}
/* 通话详情 */
.cd{background:linear-gradient(180deg,#25313f,#1a2430);min-height:100%;display:flex;flex-direction:column;align-items:center;color:#fff;}
.cd-hd{width:100%;display:flex;align-items:center;gap:8px;padding:13px 14px;font-size:15px;font-weight:700;opacity:.9;}
.cd-hd .kkc-back{color:#fff;}
.cd-av{width:96px;height:96px;border-radius:50%;background:#eef2f6;display:flex;align-items:center;justify-content:center;font-size:48px;margin-top:26px;}
.cd-nm{font-size:24px;font-weight:800;margin-top:16px;}
.cd-num{font-size:14px;opacity:.7;margin-top:5px;letter-spacing:.5px;}
.cd-meta{font-size:13px;opacity:.6;margin-top:10px;}
.cd.danger .cd-meta{color:#ff9a9a;opacity:.9;}
.cd-acts{display:flex;gap:14px;margin-top:40px;}
.cd-act{background:rgba(255,255,255,.14);border:0;color:#fff;border-radius:16px;padding:14px 20px;font-size:14px;font-weight:700;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:3px;min-width:104px;}
.cd-act.call{background:#2fbf5a;}
.cd-act i{font-style:normal;font-size:11.5px;opacity:.75;}
.cd-warn{margin-top:26px;font-size:14px;color:#ffb3b3;background:rgba(255,80,80,.12);padding:10px 16px;border-radius:12px;}
/* 拨号中 */
.calldial{display:flex;flex-direction:column;align-items:center;gap:14px;padding:34px 30px;background:#1c2836;color:#fff;}
.cdl-av{width:88px;height:88px;border-radius:50%;background:#eef2f6;display:flex;align-items:center;justify-content:center;font-size:44px;}
.cdl-nm{font-size:22px;font-weight:800;}
.cdl-st{font-size:14px;opacity:.75;}
.cdl-end{margin-top:10px;width:60px;height:60px;border-radius:50%;border:0;background:#ff3b30;color:#fff;font-size:26px;cursor:pointer;}

/* ===== 相机 ===== */
.cam-app{background:#000;color:#fff;min-height:100%;display:flex;flex-direction:column;}
.cam-bar{background:#000;}
.cam-bar .ab-back,.cam-bar .ab-t{color:#fff;}
.cam-view{flex:1;display:flex;align-items:center;justify-content:center;padding:14px 20px 8px;min-height:0;}
.cam-frame{width:100%;max-width:330px;aspect-ratio:3/4;border-radius:18px;background:#1a1a1a center/cover;display:flex;align-items:center;justify-content:center;border:1px solid #333;position:relative;overflow:hidden;}
.cam-frame video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1);}
.cam-grid{position:absolute;inset:0;background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);background-size:33.33% 33.33%;pointer-events:none;}
.cam-empty{font-size:56px;opacity:.4;display:flex;flex-direction:column;align-items:center;gap:10px;}
.cam-empty span{font-size:13.5px;opacity:.7;}
.cam-filters{display:flex;gap:8px;overflow-x:auto;padding:6px 14px;flex-shrink:0;}
.cam-fchip{flex-shrink:0;font-size:13.5px;font-weight:700;color:#bbb;background:#1c1c1c;border:1px solid #333;border-radius:14px;padding:6px 12px;cursor:pointer;text-align:center;line-height:1.15;}
.cam-fchip.on{color:#000;background:#ffd84d;border-color:#ffd84d;}
.cam-fchip i{font-style:normal;font-size:8.5px;display:block;opacity:.7;}
.cam-fchip.on i{opacity:.85;}
.cam-gal{display:flex;gap:6px;overflow-x:auto;padding:2px 14px 4px;flex-shrink:0;}
.cam-gal-th{width:44px;height:44px;border-radius:9px;overflow:hidden;flex-shrink:0;border:1px solid #333;}
.cam-gal-th img{width:100%;height:100%;object-fit:cover;}
.cam-ctl{display:flex;align-items:center;justify-content:center;gap:44px;padding:14px 18px;flex-shrink:0;}
.cam-flip,.cam-gal-btn{font-size:26px;cursor:pointer;opacity:.85;width:44px;text-align:center;}
.cam-shutter{width:68px;height:68px;border-radius:50%;background:#fff;border:4px solid #888;cursor:pointer;}
.cam-shutter:active{transform:scale(.94);}
.cam-modes{display:flex;justify-content:center;gap:26px;flex-shrink:0;padding-bottom:6px;}
.cam-mode{font-size:13px;font-weight:700;color:#777;cursor:pointer;text-align:center;line-height:1.1;}
.cam-mode.on{color:#ffd84d;}
.cam-mode i{font-style:normal;font-size:10.5px;display:block;opacity:.7;}
.cam-tip{text-align:center;font-size:13px;color:#888;padding:4px 20px 20px;flex-shrink:0;}
.cam-review{width:100%;max-width:260px;aspect-ratio:1;border-radius:14px;background:#222 center/cover;margin:6px auto 0;}

/* ===== 专辑 / 机票 ===== */
.al,.fl{background:#fff;color:#222;min-height:100%;}
.al-h,.fl-h{padding:14px 16px 8px;font-size:14px;font-weight:800;}
.fl-stat{display:flex;gap:10px;margin:0 16px 4px;}
.fl-stat span{flex:1;background:#f4f4f7;border-radius:10px;padding:11px;text-align:center;font-size:14px;font-weight:800;color:#3a3f4d;}
.fl-t2{padding:13px 16px 7px;font-size:14px;font-weight:800;color:#8a8a96;}
.fl-empty{padding:34px 20px;text-align:center;color:#9a9aa8;font-size:14px;line-height:1.6;}
.fl-empty span{font-size:13.5px;color:#b8b8c2;}
.fl-step{margin:10px 16px 0;font-size:14px;font-weight:800;color:#3aa0ff;}
.fl-step span{background:#e8f3ff;color:#2b7fd0;border-radius:6px;padding:2px 8px;margin-right:6px;font-size:12.5px;}
.fl-step.ok{color:#1a9d5a;} .fl-step.ok span{background:#e7f8ee;color:#1a9d5a;}
.fl-trip{margin:10px 16px 0;background:#f6f8fb;border:1px solid #e6ebf2;border-radius:14px;padding:14px;}
.fl-trip-h{font-size:16px;font-weight:900;color:#1f2330;}
.fl-trip-r{display:flex;justify-content:space-between;align-items:center;margin-top:10px;font-size:14px;color:#3a3f4d;}
.fl-trip-r b{font-size:16px;font-weight:900;color:#e2660a;}
.fl-trip-n{font-size:13.5px;color:#8a8a96;margin-top:8px;line-height:1.5;}
.fl-cancel{text-align:center;font-size:13px;color:#b0b0ba;margin:16px 0 6px;cursor:pointer;}
.al-row,.fl-row{display:flex;align-items:center;gap:13px;padding:12px 16px;border-bottom:1px solid #f3f3f3;}
.al-art{width:54px;height:54px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;}
.al-b,.fl-b{flex:1;}
.al-t{font-size:15px;font-weight:700;}
.al-d{font-size:13.5px;color:#999;margin-top:3px;}
.fl-ic{width:42px;height:42px;border-radius:50%;background:#eef6ff;display:flex;align-items:center;justify-content:center;font-size:20px;}
.fl-c{font-size:15px;font-weight:700;}
.fl-s{font-size:14px;color:#909090;margin-top:2px;}
.fl-tag{font-size:11.5px;font-weight:800;color:#aaa;border:1px solid #ddd;border-radius:6px;padding:3px 8px;}
.fl-tag.open{color:#fff;background:#3aa0ff;border-color:#3aa0ff;}
.al .empty{padding:50px 30px;text-align:center;line-height:1.8;}

/* ===== 设置 ===== */
.st{background:#f3f5f9;color:#222;min-height:100%;}
.st-group{margin:14px;border-radius:14px;overflow:hidden;background:#fff;}
.st-row{display:flex;align-items:center;justify-content:space-between;padding:16px;font-size:15.5px;border-bottom:1px solid #f2f2f2;cursor:pointer;}
.st-row:last-child{border-bottom:0;}
.st-row.danger{color:#e0455e;}
.st-go{color:#ccc;}
.st-about{text-align:center;font-size:14px;color:#aaa;line-height:1.8;padding:20px;}

/* ===== 我 ===== */
.meapp{background:#fff;color:#222;min-height:100%;}
.me-hero{display:flex;flex-direction:column;align-items:center;gap:6px;padding:24px;background:linear-gradient(135deg,#ff7aa6,#ff9e7a);color:#fff;}
.me-av{width:84px;height:84px;border-radius:50%;background:#fff center/cover;display:flex;align-items:center;justify-content:center;font-size:38px;border:3px solid rgba(255,255,255,.6);}
.me-nm{font-size:20px;font-weight:800;}
.me-tier{font-size:13.5px;opacity:.95;}
.me-stats{display:flex;justify-content:space-around;padding:16px 8px;border-bottom:1px solid #f0f0f0;}
.me-st{text-align:center;}
.me-se{font-size:20px;}
.me-sv{font-size:17px;font-weight:800;margin-top:2px;}
.me-sn{font-size:13.5px;color:#999;}
.me-card{margin:14px;padding:14px;border-radius:14px;background:#faf7f9;}
.me-ch{font-size:15px;font-weight:800;margin-bottom:8px;}
.me-tline{font-size:13.5px;padding:5px 2px;color:#444;}

/* ===== 人设档案 ===== */
.pf,.pe{min-height:100%;background:radial-gradient(125% 70% at 50% -8%,#3a0c20 0%,#1c0712 46%,#0b0408 100%);color:#fff;}
.pf-bar{background:rgba(20,7,14,.85);border-bottom:1px solid rgba(255,90,140,.25);}
.pf-bar .ab-back,.pf-bar .ab-t{color:#fff;}
.pf-hero{display:flex;flex-direction:column;align-items:center;gap:6px;padding:22px 0 18px;}
.pf-av{width:80px;height:80px;border-radius:50%;background:#2a1020 center/cover;display:flex;align-items:center;justify-content:center;font-size:36px;border:2px solid rgba(255,120,160,.6);box-shadow:0 0 22px rgba(255,45,106,.4);}
.pf-nm{font-size:19px;font-weight:800;}
.pf-sub{font-size:14px;color:#ffaccf;}
.pf-list{margin:6px 14px;border:1px solid rgba(255,100,150,.25);border-radius:14px;overflow:hidden;background:rgba(255,45,106,.05);}
.pf-sec{font-family:ui-monospace,monospace;font-size:12px;letter-spacing:2px;color:#ff8db0;padding:11px 14px 5px;background:rgba(255,45,106,.08);}
.pf-row{display:flex;justify-content:space-between;gap:14px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.06);}
.pf-row:last-child{border-bottom:0;}
.pf-l{font-size:14px;color:#c98aa0;flex-shrink:0;}
.pf-l i{font-style:normal;color:#7a5566;font-size:11.5px;}
.pf-v{font-size:13px;color:#fff;text-align:right;line-height:1.5;}
.pf-swatch{display:inline-block;width:20px;height:20px;border-radius:50%;border:1.5px solid #fff;vertical-align:middle;}
/* 编辑表单 */
.pe-list{padding:8px 14px;}
.pe-f{margin-bottom:14px;}
.pe-f label{display:block;font-size:14px;font-weight:700;color:#ffc0d2;margin-bottom:6px;}
.pe-f label i{font-style:normal;color:#8a6575;font-size:12px;font-weight:400;margin-left:3px;}
.pe-f input,.pe-f textarea{width:100%;background:rgba(255,255,255,.06);border:1px solid rgba(255,120,160,.3);border-radius:11px;padding:11px 13px;font-size:14px;color:#fff;outline:none;font-family:inherit;}
.pe-f textarea{height:64px;resize:none;line-height:1.5;}
.pe-f input:focus,.pe-f textarea:focus{border-color:#ff5f8f;box-shadow:0 0 0 2px rgba(255,45,106,.25);}
.pe-seg{display:flex;flex-wrap:wrap;gap:7px;}
.pe-s{border:1px solid rgba(255,120,160,.3);border-radius:11px;padding:8px 11px;font-size:14px;color:#d9bcc6;cursor:pointer;line-height:1.2;}
.pe-s b{display:block;font-size:10.5px;color:#8a6575;font-weight:400;margin-top:1px;}
.pe-s.on{background:linear-gradient(95deg,#f5476e,#ff8e5a);color:#fff;border-color:transparent;}
.pe-s.on b{color:rgba(255,255,255,.85);}
.pe-colors{display:flex;gap:10px;}
.pe-col{width:30px;height:30px;border-radius:50%;cursor:pointer;border:2px solid transparent;}
.pe-col.on{border-color:#fff;box-shadow:0 0 10px rgba(255,255,255,.5);}

/* ===== 通用爽引擎:霸屏庆祝 ===== */
.overlay.fxpop{background:rgba(10,4,8,.82);backdrop-filter:blur(4px);}
.fx-card{position:relative;text-align:center;color:#fff;padding:30px;max-width:330px;animation:fxpop .5s cubic-bezier(.2,1.3,.4,1);}
@keyframes fxpop{from{transform:scale(.6);opacity:0;}to{transform:scale(1);opacity:1;}}
.fx-rays{position:absolute;left:50%;top:42%;width:360px;height:360px;transform:translate(-50%,-50%);background:conic-gradient(from 0deg,rgba(255,45,106,.28) 0 8deg,transparent 8deg 22deg);border-radius:50%;animation:fxspin 9s linear infinite;pointer-events:none;}
@keyframes fxspin{to{transform:translate(-50%,-50%) rotate(360deg);}}
.fx-sparks{position:absolute;left:50%;top:42%;width:0;height:0;}
.fx-spark{position:absolute;width:7px;height:7px;border-radius:50%;background:#ffd23a;box-shadow:0 0 8px #ff5f8f;transform:rotate(var(--a)) translateY(-10px);opacity:0;animation:fxspark 1.1s ease-out var(--d) forwards;}
@keyframes fxspark{0%{opacity:1;transform:rotate(var(--a)) translateY(-10px) scale(1);}100%{opacity:0;transform:rotate(var(--a)) translateY(-130px) scale(.3);}}
.fx-tk{position:relative;font-size:30px;font-weight:900;font-family:Georgia,serif;text-shadow:0 0 26px rgba(255,45,106,.9),0 0 50px rgba(255,45,106,.5);}
.fx-tc{position:relative;font-size:18px;font-weight:800;color:#ffc0d2;margin-top:8px;}
.fx-sub{position:relative;font-size:14px;color:#d9bcc6;margin-top:12px;line-height:1.5;}

/* IG 里程碑条 + 帖子详情 */
.ig-mile{padding:0 16px 12px;}
.ig-mtxt{font-size:12.5px;color:#888;margin-bottom:4px;}
.ig-mbar{height:6px;border-radius:6px;background:#eee;overflow:hidden;}
.ig-mbar i{display:block;height:100%;background:linear-gradient(90deg,#f09433,#dc2743,#bc1888);}
.ig-cmtmore{padding:3px 13px 2px;font-size:13px;color:#999;cursor:pointer;}
.ig-acts span.liked{}
.igd .ig-img{cursor:default;}
.igd-cmts{padding:6px 0;border-top:1px solid #f0f0f0;}
.igd-cmt{display:flex;align-items:center;gap:9px;padding:9px 13px;border-bottom:1px solid #f7f7f7;}
.igd-cmt.hate{background:#fff5f5;}
.igd-cmt.pin{background:#fff6fb;}
.igd-ca{width:30px;height:30px;border-radius:50%;background:#f1f1f4;display:flex;align-items:center;justify-content:center;font-size:15px;flex-shrink:0;}
.igd-cb{flex:1;min-width:0;}
.igd-cn{font-size:14px;font-weight:700;}
.igd-pinT{font-size:11.5px;color:#ff3d7a;font-weight:400;}
.igd-ct{font-size:13px;color:#333;margin-top:1px;}
.igd-del{font-size:12.5px;color:#e0455e;font-weight:700;cursor:pointer;flex-shrink:0;}
.igd-pin{font-size:12.5px;color:#ff8db0;font-weight:700;cursor:pointer;flex-shrink:0;}

/* bubble 爱心 */
.bb-heart{margin-left:auto;font-size:13px;font-weight:800;background:rgba(255,255,255,.25);padding:4px 10px;border-radius:14px;}
.bb-hearts{position:absolute;left:0;right:0;bottom:60px;height:300px;pointer-events:none;z-index:3;}
.bb-heart-fly{position:absolute;bottom:0;font-size:22px;animation:bbfly 2.4s ease-out forwards;}
@keyframes bbfly{0%{transform:translateY(0) scale(.5);opacity:0;}15%{opacity:1;}100%{transform:translateY(-260px) translateX(-20px) scale(1.3);opacity:0;}}
.bb-line.wild .bb-bub{box-shadow:0 0 0 2px #ff5f8f,0 0 14px rgba(255,45,106,.4);}
.bb-line.wild .bb-nm{color:#ff3d7a;font-weight:700;}

/* Weverse 动作 + 打赏榜 */
.wv-acts{position:absolute;left:12px;right:12px;bottom:60px;display:flex;gap:8px;justify-content:center;}
.wv-acts button{border:0;background:rgba(255,255,255,.18);color:#fff;border-radius:20px;padding:9px 14px;font-size:13px;font-weight:700;cursor:pointer;backdrop-filter:blur(4px);}
.wv-acts button:active{background:rgba(255,45,106,.5);}
.wv-rank{position:absolute;top:46px;right:12px;background:rgba(0,0,0,.45);border-radius:10px;padding:8px 11px;font-size:12px;color:#ffd23a;font-weight:700;}
.wv-rk{color:#fff;font-weight:400;font-size:12px;margin-top:3px;}
.wv-rk span{color:#ffd23a;font-weight:800;}
.wv-rk b{color:#ff9ec4;}

/* nate 箭头/发帖 */
.nt-up{font-size:12.5px;color:#e0455e;font-weight:800;}
.nt-dn{font-size:12.5px;color:#3a8dff;font-weight:800;}
.nt-eq{font-size:12.5px;color:#bbb;}
.nt-write{margin:10px 16px;width:calc(100% - 32px);border:1px solid #ffd0d0;background:#fff5f5;color:#e0455e;border-radius:11px;padding:11px;font-size:13px;font-weight:700;cursor:pointer;}
.nt-post{cursor:pointer;}

/* Melon all-kill */
.ml-ak{float:right;border:0;background:#0fd46c;color:#fff;border-radius:14px;padding:5px 12px;font-size:12.5px;font-weight:800;cursor:pointer;}

/* 银行 进账 */
.bk-income{margin:0 16px 8px;width:calc(100% - 32px);border:0;background:linear-gradient(135deg,#2bd4c0,#1b9be0);color:#fff;border-radius:16px;padding:16px;font-size:15.5px;font-weight:800;cursor:pointer;box-shadow:0 6px 16px rgba(27,155,224,.3);}

/* 打歌 开奖 */
.cg-reveal{padding:34px 26px;}
/* 打歌 1위 团队现场(后台等待 + 夺冠反应) */
.cg-team{text-align:left;max-width:340px;}
.cg-team-hd{font-size:15.5px;font-weight:800;color:#ff5f8f;text-align:center;margin-bottom:12px;}
.cg-team-hd.win{font-size:20px;color:#ffcb68;}
.cg-team-hd.win span{display:block;font-size:13.5px;font-weight:600;color:#c98aa0;margin-top:4px;}
.cg-tl-list{display:flex;flex-direction:column;gap:10px;max-height:52vh;overflow-y:auto;margin-bottom:12px;}
.cg-tl{display:flex;gap:10px;align-items:flex-start;}
.cg-tl-av{width:38px;height:38px;border-radius:50%;background:rgba(255,255,255,.12);display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.cg-tl-b{flex:1;background:rgba(255,255,255,.06);border-radius:14px;padding:9px 12px;}
.cg-tl-b b{font-size:13.5px;font-weight:800;color:#ffb3d0;}
.cg-tl-k{font-size:14px;font-weight:600;color:#fff;margin-top:3px;line-height:1.45;}
.cg-tl-c{font-size:13.5px;color:#c9bcd0;margin-top:2px;line-height:1.4;}
.cgr-show{font-family:ui-monospace,monospace;font-size:13px;letter-spacing:4px;color:#ff8db0;}
.cgr-q{font-size:22px;font-weight:800;margin-top:18px;}
.cgr-q2{font-size:13px;color:#c98aa0;margin-top:4px;}
.cgr-win{font-size:26px;font-weight:900;color:#666;margin-top:22px;letter-spacing:4px;transition:all .5s;}
.cgr-win.reveal{color:#fff;font-size:34px;letter-spacing:2px;text-shadow:0 0 26px rgba(255,45,106,.9);animation:fxpop .5s;}
.cgr-win span{display:block;font-size:15px;color:#ffc0d2;font-weight:700;letter-spacing:1px;margin-top:6px;}

/* Weverse 摄像头 */
#wvVideo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;transform:scaleX(-1);}
.wv-live .btn-tech{width:100%;}

/* nate 评论大战 */
.ntpost{background:#fff;color:#222;min-height:100%;}
.ntp-head{padding:14px 16px;border-bottom:1px solid #f0f0f0;}
.ntp-t{font-size:15.5px;font-weight:700;line-height:1.4;}
.ntp-m{font-size:13px;color:#999;margin-top:7px;}
/* 讨论页 v2:찬반+베플+流式 */
.ntp-live{font-size:13px;color:#999;margin-top:8px;}
.ntp-live .lv-dot{font-size:10.5px;animation:ntpulse 1s infinite;}
.ntp-vs{padding:13px 16px;border-bottom:1px solid #f0f0f0;}
.vs-bar{height:13px;border-radius:7px;background:#e7e7e7;overflow:hidden;}
.vs-pro{display:block;height:100%;background:linear-gradient(90deg,#ff5f8f,#ff2d6a);transition:width .5s ease;}
.vs-lab{display:flex;align-items:center;justify-content:space-between;margin-top:8px;font-size:13.5px;font-weight:800;}
.vs-lab .pro{color:#ff2d6a;}.vs-lab .con{color:#8a8a8a;}.vs-lab .vs-x{color:#ccc;font-size:13px;}
.ntw-sec{padding:13px 16px 6px;font-size:13px;font-weight:800;color:#444;}
.ntw-sec.live{color:#e0455e;}
.ntw-sec span{font-weight:600;font-size:12.5px;color:#aaa;margin-left:5px;}
.ntw-list2{padding:2px 0 8px;}
.ntw2{display:flex;gap:9px;padding:11px 16px;align-items:flex-start;animation:ntfade .4s ease;}
.ntw2.anti{background:#fafafa;}
.ntw2.best{background:#fff6f8;border-left:3px solid #ff2d6a;}
.ntw2.anti.best{background:#f6f6f6;border-left-color:#9a9a9a;}
.ntw-bp{flex-shrink:0;align-self:center;font-size:10.5px;font-weight:800;color:#fff;background:#ff2d6a;padding:2px 6px;border-radius:5px;}
.ntw2.anti .ntw-bp{background:#9a9a9a;}
.ntw-tag{flex-shrink:0;font-size:11px;font-weight:800;color:#fff;padding:3px 7px;border-radius:6px;white-space:nowrap;}
.ntw-bd{flex:1;min-width:0;}
.ntw-k{font-size:13.5px;color:#1f1f1f;line-height:1.4;font-weight:600;}
.ntw-c{font-size:13px;color:#9a9a9a;margin-top:2px;line-height:1.4;}
.ntw-vote{display:flex;gap:13px;margin-top:6px;font-size:12.5px;font-weight:700;}
.ntw-vote .up{color:#e0455e;}.ntw-vote .dn{color:#9aa;}
@keyframes ntfade{from{opacity:0;transform:translateY(7px);}to{opacity:1;transform:none;}}
.nt-resp{display:flex;flex-direction:column;align-items:flex-start;width:calc(100% - 32px);margin:0 16px 8px;background:#fff5f7;border:1.5px solid #ffd0db;border-radius:12px;padding:11px 13px;cursor:pointer;text-align:left;}
.nt-resp:active{background:#ffe9ee;}
.nt-resp b{font-size:14px;color:#1f1f1f;font-weight:700;}
.nt-resp span{font-size:12.5px;color:#b0959e;margin-top:3px;}
.ntw-title{padding:12px 16px 4px;font-size:13.5px;font-weight:800;color:#e0455e;}
.ntw-list{padding:4px 0 10px;}
.ntw-cmt{display:flex;align-items:center;gap:9px;padding:10px 16px;border-bottom:1px solid #f7f7f7;}
.ntw-tag{flex-shrink:0;font-size:11.5px;font-weight:800;color:#fff;padding:3px 8px;border-radius:7px;}
.ntw-t{flex:1;font-size:13.5px;color:#222;line-height:1.4;}
.ntw-l{flex-shrink:0;font-size:12.5px;color:#999;}
.ntw-foot{padding:14px 0 0;}

/* ===== 粉丝来信 ===== */
.lt{background:#fff5f9;color:#333;min-height:100%;}
.lt-bar{background:#fff;}
.lt-h{padding:15px 16px 9px;font-size:16px;font-weight:800;color:#c84a7a;}
.lt-row{display:flex;align-items:center;gap:12px;padding:13px 16px;background:#fff;border-bottom:1px solid #fbe5ee;cursor:pointer;}
.lt-stamp{font-size:24px;}
.lt-b{flex:1;min-width:0;}
.lt-n{font-size:15.5px;font-weight:700;}
.lt-new{font-size:10.5px;background:#ff3d7a;color:#fff;padding:1px 5px;border-radius:4px;vertical-align:middle;}
.lt-meta{font-size:14px;color:#c98aa0;margin-top:2px;}
.lt-prev{font-size:13.5px;color:#999;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.lt-go{font-size:18px;color:#e0a8c2;}
.lt-recv{display:block;margin:12px 16px 4px;width:calc(100% - 32px);border:0;background:linear-gradient(135deg,#ff8fb3,#ff5e8a);color:#fff;border-radius:15px;padding:15px;font-size:15.5px;font-weight:800;cursor:pointer;box-shadow:0 6px 16px rgba(255,94,138,.3);}
.ltread{background:#fbe9f0;}
.lt-paper{margin:16px;padding:22px 20px;background:#fffdfa;border-radius:14px;box-shadow:0 8px 24px rgba(200,120,150,.18);}
.lt-to{font-size:14px;font-weight:700;color:#c84a7a;margin-bottom:6px;}
.lt-sender{font-size:13px;color:#b08;color:#bb8aa0;margin-bottom:16px;padding-bottom:12px;border-bottom:1px dashed #f0d8e2;}
.lt-fk{font-size:15.5px;line-height:1.75;color:#3a3038;}
.lt-cn{font-size:14px;line-height:1.75;color:#9a8590;margin-top:10px;}
.lt-from{text-align:right;font-size:14px;font-weight:700;color:#c84a7a;margin-top:18px;}
.lt-done{text-align:center;font-size:13px;color:#1bb55b;font-weight:700;padding:14px;}

/* ===== 역조공 ===== */
.rs{background:#fff8ec;color:#333;min-height:100%;}
.rs-bar{background:#fff;}
.rs-hero{margin:14px;padding:20px;border-radius:18px;background:linear-gradient(135deg,#ffd23a,#ff8f3d);color:#fff;text-shadow:0 1px 4px rgba(150,80,0,.25);}
.rs-htitle{font-size:20px;font-weight:900;}
.rs-hsub{font-size:14px;margin-top:8px;line-height:1.6;opacity:.95;}
.rs-bal{font-size:14px;font-weight:800;margin-top:12px;background:rgba(255,255,255,.25);display:inline-block;padding:4px 12px;border-radius:14px;}
.rs-list{padding:4px 14px 20px;display:flex;flex-direction:column;gap:11px;}
.rs-card{display:flex;gap:13px;padding:14px;background:#fff;border-radius:15px;box-shadow:0 3px 12px rgba(200,160,80,.12);cursor:pointer;}
.rs-card:active{transform:scale(.99);}
.rs-ic{font-size:30px;}
.rs-b{flex:1;min-width:0;}
.rs-n{font-size:15px;font-weight:800;}
.rs-n span{font-size:13.5px;color:#999;font-weight:500;margin-left:4px;}
.rs-d{font-size:13px;color:#808080;margin-top:4px;line-height:1.5;}
.rs-meta{display:flex;justify-content:space-between;margin-top:8px;font-size:14px;font-weight:700;}
.rs-cost{color:#e0455e;}
.rs-gain{color:#1bb55b;}

/* ===== 签售会 ===== */
.fs{background:#1a0e16;color:#fff;min-height:100%;}
.fs-bar{background:#1a0e16;border-bottom:1px solid #3a2030;}
.fs-bar .ab-back,.fs-bar .ab-t{color:#fff;}
.fs-intro{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 30px;text-align:center;gap:14px;}
.fs-ic{font-size:50px;}
.fs-t{font-size:21px;font-weight:800;}
.fs-d{font-size:14px;color:#caa;line-height:1.7;}
.fs-desk{padding:14px;}
.fs-tbar{height:5px;background:rgba(255,255,255,.1);border-radius:3px;margin:0 14px;overflow:hidden;}
.fs-tbar-in{height:100%;background:linear-gradient(90deg,#ff5e8a,#ffb0c8);border-radius:3px;transition:width 1s linear;}
.fs-tbar-in.low{background:linear-gradient(90deg,#ff3b30,#ff7a6e);}
.fs-stage{position:relative;display:flex;align-items:flex-end;gap:12px;padding:14px 14px 12px;background:radial-gradient(120% 100% at 50% 0%,rgba(255,120,160,.22),rgba(255,255,255,.03));border-radius:16px 16px 0 0;margin-bottom:-2px;}
.fs-port{width:110px;height:150px;border-radius:14px;overflow:hidden;background:rgba(255,255,255,.06);flex-shrink:0;position:relative;box-shadow:0 6px 18px rgba(255,90,140,.25);}
.fs-port img{width:100%;height:100%;object-fit:cover;object-position:center top;display:block;}
.fs-port-e{display:none;}
.fs-port.noimg{display:flex;align-items:center;justify-content:center;}
.fs-port.noimg .fs-port-e{display:block;font-size:60px;}
.fs-meta{flex:1;padding-bottom:4px;}
.fs-age{font-size:14px;color:#ffc0d2;margin-top:5px;line-height:1.4;font-weight:600;}
.fs-timer{position:absolute;top:12px;right:14px;font-size:15px;font-weight:800;color:#ff8fb3;background:rgba(0,0,0,.28);padding:4px 10px;border-radius:20px;}
.fs-timer.low{color:#fff;background:#ff3b30;animation:fsPulse .8s infinite;}
@keyframes fsPulse{50%{opacity:.5;}}
.fs-fanrow{display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.06);border:1px solid rgba(255,120,160,.25);border-radius:0 0 14px 14px;padding:12px;}
.fs-fanb{flex:1;min-width:0;}
.fs-fann{font-size:18px;font-weight:800;}
.fs-fansay{font-size:13.5px;color:#ffc0d2;margin-top:3px;line-height:1.4;}
.fs-chatlog{max-height:150px;overflow-y:auto;margin-top:6px;display:flex;flex-direction:column;gap:6px;}
.fs-c-fan{background:rgba(255,255,255,.08);border-radius:12px;padding:8px 11px;font-size:14px;color:#fff;line-height:1.45;align-self:flex-start;max-width:92%;}
.fs-c-fan span{display:block;font-size:13.5px;color:#ffc0d2;margin-top:2px;}
.fs-c-me{background:linear-gradient(120deg,#ff5e8a,#ff8fb3);color:#fff;border-radius:12px;padding:8px 11px;font-size:14px;align-self:flex-end;max-width:88%;}
.fs-talk{display:flex;gap:7px;align-items:center;margin-top:8px;}
.fs-talk input{flex:1;border:0;background:rgba(255,255,255,.14);color:#fff;border-radius:18px;padding:10px 14px;font-size:14px;outline:none;}
.fs-talk input::placeholder{color:rgba(255,255,255,.5);}
.fs-talk button{border:0;background:#ff5e8a;color:#fff;border-radius:50%;width:38px;height:38px;font-size:16px;cursor:pointer;flex-shrink:0;}
.fs-album{margin-top:14px;background:#fff;border-radius:14px;padding:14px;text-align:center;position:relative;}
.fs-cover{width:60px;height:60px;border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:28px;margin:0 auto 10px;}
.fs-pad{width:100%;height:130px;background:#fbfaf7;border:1.5px dashed #d8c6cf;border-radius:10px;touch-action:none;cursor:crosshair;}
.fs-padtip{font-size:13px;color:#b09;color:#bb8aa0;margin-top:7px;}
.fs-msgshow{font-family:cursive;font-size:16.5px;color:#c84a7a;margin-top:8px;}
.fs-msgs{display:flex;flex-wrap:wrap;gap:7px;margin-top:12px;}
.fs-msgbtn{font-size:13.5px;color:#ffc0d2;border:1px solid rgba(255,120,160,.35);border-radius:14px;padding:6px 11px;cursor:pointer;}
.fs-msgbtn.on{background:#ff5e8a;color:#fff;border-color:transparent;}
.fs-acts{display:flex;gap:9px;margin-top:13px;}
.fs-act{flex:1;border:1px solid rgba(255,120,160,.35);background:rgba(255,255,255,.06);color:#fff;border-radius:12px;padding:14px 4px;font-size:14.5px;font-weight:700;cursor:pointer;}
.fs-act.on{background:linear-gradient(135deg,#f5476e,#ff8e5a);border-color:transparent;}
.fs-react{min-height:22px;text-align:center;font-size:13px;color:#ffd23a;margin-top:12px;opacity:0;transition:opacity .3s;}
.fs-react.show{opacity:1;}

/* ===== 桌面铃铛 ===== */
.ht-bell{position:relative;cursor:pointer;background:rgba(255,90,140,.18);border:1px solid rgba(255,120,160,.4);border-radius:9px;padding:2px 8px;}
.ht-bell:active{background:rgba(255,90,140,.4);}
.ht-bdg{position:absolute;top:-7px;right:-6px;min-width:16px;height:16px;padding:0 4px;border-radius:8px;background:#fa2b56;color:#fff;font-size:11.5px;font-weight:800;display:flex;align-items:center;justify-content:center;border:1.5px solid #1c0712;}

/* ===== 事件中心面板 ===== */
.hub-sheet .sheet-top{background:#1c0712;color:#fff;border-bottom:1px solid rgba(255,90,140,.25);}
.hub-sheet .sheet-top .x{color:#ffaccf;}
.hb-body{background:radial-gradient(125% 70% at 50% -8%,#3a0c20,#0b0408);}
.hb-empty{text-align:center;color:#c98aa0;padding:50px 20px;font-size:13px;}
.hb-item{margin:12px 14px;border:1px solid rgba(255,100,150,.3);border-radius:14px;background:rgba(255,45,106,.06);overflow:hidden;}
.hb-item.event{border-color:rgba(255,140,90,.45);background:rgba(255,120,60,.08);}
.hb-head{display:flex;align-items:center;gap:10px;padding:12px 13px;}
.hb-ic{font-size:24px;}
.hb-tt{flex:1;min-width:0;}
.hb-tt b{font-size:15px;color:#fff;font-weight:800;}
.hb-tt span{display:block;font-size:12.5px;color:#c98aa0;margin-top:2px;}
.hb-stat{font-size:12px;color:#ff8db0;font-weight:700;background:rgba(255,45,106,.18);padding:3px 9px;border-radius:10px;}
.hb-todo{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 13px;border-top:1px solid rgba(255,255,255,.06);font-size:13.5px;color:#ffd9a0;}
.hb-todo.done{color:#7a8a6a;text-decoration:line-through;}
.hb-todo button,.hb-opt button{border:0;background:linear-gradient(135deg,#f5476e,#ff8e5a);color:#fff;border-radius:9px;padding:7px 13px;font-size:14px;font-weight:800;cursor:pointer;flex-shrink:0;}
.hb-opt{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 13px;border-top:1px solid rgba(255,255,255,.05);}
.hb-opt.done{opacity:.5;}
.hb-ol{flex:1;font-size:13px;color:#ffc0d2;}
.hb-ol span{display:block;font-size:12.5px;color:#1bd47a;margin-top:2px;}
.hb-opt button{background:rgba(255,255,255,.12);}
.hb-ok{color:#1bd47a;font-weight:800;}

/* ===== 练习室 ===== */
.pr{background:#13101c;color:#fff;min-height:100%;}
.pr-bar{background:#13101c;border-bottom:1px solid #2a2438;}
.pr-bar .ab-back,.pr-bar .ab-t{color:#fff;}
.pr-hero{margin:14px;padding:22px 18px;border-radius:18px;background:linear-gradient(135deg,#7b5cff,#b06bff);color:#fff;}
.pr-htitle{font-size:21px;font-weight:900;}
.pr-hsub{font-size:14px;margin-top:6px;opacity:.95;}
.pr-sta{font-size:13px;font-weight:700;margin-top:12px;background:rgba(255,255,255,.22);display:inline-block;padding:4px 12px;border-radius:14px;}
.pr-list{padding:4px 14px 20px;display:flex;flex-direction:column;gap:10px;}
.pr-card{display:flex;align-items:center;gap:13px;padding:14px;background:rgba(255,255,255,.06);border:1px solid rgba(160,130,255,.3);border-radius:14px;cursor:pointer;}
.pr-card:active{transform:scale(.99);}
.pr-ic{font-size:26px;}
.pr-b{flex:1;}
.pr-n{font-size:15px;font-weight:800;}
.pr-n span{font-size:13.5px;color:#b3a4d8;font-weight:500;margin-left:4px;}
.pr-g{font-size:14px;color:#a99bd0;margin-top:3px;}
.pr-go{font-size:20px;color:#b06bff;}

/* ===== 粉丝构成面板 ===== */
.fp{font-size:13px;}
.fp-total{font-size:14px;color:#888;margin-bottom:10px;}
.fp-total b{font-size:16px;color:#ff3d7a;}
.fp-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid #f3f3f3;}
.fp-row.anti{border-bottom:0;}
.fp-l{flex:1;min-width:0;}
.fp-l b{font-size:13.5px;}
.fp-l span{font-size:11.5px;color:#bbb;margin-left:3px;}
.fp-l i{display:block;font-size:12px;color:#aaa;font-style:normal;margin-top:1px;}
.fp-r{width:96px;flex-shrink:0;text-align:right;}
.fp-n{font-size:13.5px;font-weight:800;color:#333;}
.fp-bar{height:5px;border-radius:5px;background:#f0e6ec;overflow:hidden;margin-top:3px;}
.fp-bar div{height:100%;background:linear-gradient(90deg,#ff6a88,#ff99ac);}
.fp-pct{font-size:11.5px;color:#bb8aa0;margin-top:1px;}

/* ===== KakaoTalk 全局通知横幅 ===== */
.kk-noti{z-index:95;}
.kk-noti .obt-av{background:#ffe24d;}
.kk-noti .obt-nm span{color:#caa400;font-weight:700;}
/* App 图标未读角标 */
.ai-wrap{position:relative;display:inline-block;}
.ai-badge{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:#fa2b56;color:#fff;font-size:12.5px;font-weight:800;display:flex;align-items:center;justify-content:center;border:2px solid #1c0712;}
.kt-un{display:inline-block;min-width:17px;height:17px;padding:0 5px;border-radius:9px;background:#fa2b56;color:#fff;font-size:12px;font-weight:800;text-align:center;line-height:17px;vertical-align:middle;}

/* ===== KakaoTalk 对话(双语 + 任务) ===== */
.kkchat{background:#b2c7d9;}
.kkchat-top{background:#9bb3c7;color:#2a2f37;}
.kkchat .kk-body{flex:1;overflow-y:auto;}
.kkchat .kk-foot{flex-shrink:0;background:#dfe7ee;}
.kk-questcta{padding:10px 12px 4px;}
.kk-questcta button{width:100%;border:0;background:linear-gradient(135deg,#f5476e,#ff8e5a);color:#fff;border-radius:13px;padding:15px;font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 4px 14px rgba(250,70,107,.35);}
.kk-rep.quest{flex-direction:column;align-items:flex-start;}
.kk-rep-out{display:block;font-size:14px;color:#1b9be0;font-weight:700;margin-top:4px;}

/* 双语补充小字 */
.bb-type{display:inline-block;font-size:10.5px;color:#fff;padding:1px 6px;border-radius:6px;margin-left:4px;vertical-align:middle;font-weight:700;}
.bb-bub .bb-c{display:block;font-size:13px;opacity:.62;margin-top:2px;}
.nt-ptc{font-size:13.5px;color:#999;margin-top:3px;}
.ntp-tc{font-size:13px;color:#888;margin-top:5px;}
.ntw-t .ntw-tc{display:block;font-size:13px;color:#999;margin-top:2px;}

/* ===== 私生惊魂 ===== */
#saLayer{position:absolute;inset:0;z-index:100;overflow:hidden;display:flex;flex-direction:column;color:#fff;}
/* 居中来电卡 */
.sa-callwrap{position:absolute;inset:0;z-index:100;display:flex;align-items:center;justify-content:center;padding:18px;background:rgba(8,2,5,.72);backdrop-filter:blur(3px);}
.sa-card{width:100%;max-width:330px;max-height:84%;display:flex;flex-direction:column;background:#fff;border:1px solid #ffd0d8;border-radius:20px;overflow:hidden;box-shadow:0 0 0 2px rgba(255,45,74,.35),0 24px 60px rgba(0,0,0,.5),0 0 36px rgba(255,0,40,.3);color:#222;animation:saShake 4s ease-in-out infinite,fxpop .35s ease;}
@keyframes saShake{0%,90%,100%{transform:translate(0,0);}91%{transform:translate(-2px,1px);}93%{transform:translate(2px,-1px);}95%{transform:translate(-2px,0);}97%{transform:translate(1px,1px);}}
@keyframes saPulse{50%{opacity:.5;}}
/* iOS 来电感 头部 */
.sa-callhead{display:flex;flex-direction:column;align-items:center;padding:18px 14px 12px;border-bottom:1px solid #f0e0e4;}
.sa-phicon{width:40px;height:40px;border-radius:50%;background:#2bd24a;color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;box-shadow:0 0 0 0 rgba(43,210,74,.6);animation:saRing 1.2s ease-out infinite;}
@keyframes saRing{0%{box-shadow:0 0 0 0 rgba(43,210,74,.55);}100%{box-shadow:0 0 0 16px rgba(43,210,74,0);}}
.sa-tag{font-size:14px;font-weight:800;color:#ff4d62;letter-spacing:.5px;margin-top:10px;animation:saPulse 1.2s ease-in-out infinite;}
.sa-alarm{display:flex;align-items:center;justify-content:center;gap:9px;margin-top:12px;padding:8px 16px;border-radius:12px;background:linear-gradient(90deg,rgba(255,0,40,.15),rgba(255,0,40,.35),rgba(255,0,40,.15));border:1.5px solid #ff2d4a;box-shadow:0 0 18px rgba(255,0,40,.45);animation:saAlarm 1s ease-in-out infinite;}
@keyframes saAlarm{0%,100%{box-shadow:0 0 14px rgba(255,0,40,.35);}50%{box-shadow:0 0 26px rgba(255,0,40,.75);}}
.sa-alarm-ic{font-size:20px;animation:saPulse .8s steps(2) infinite;}
.sa-alarm-t{font-size:22px;font-weight:900;color:#e0143a;letter-spacing:3px;text-shadow:0 0 12px rgba(255,45,74,.5);}
.sa-alarm-sub{font-family:ui-monospace,monospace;font-size:11.5px;letter-spacing:3px;color:#c84a5a;margin-top:6px;}
.sa-cnum{font-size:19px;font-weight:800;color:#1a1a1a;text-align:center;margin-top:12px;}
.sa-cnum span{display:block;font-size:12.5px;color:#999;font-weight:400;margin-top:3px;}
.sa-status{font-size:12.5px;color:#e0455e;margin-top:5px;letter-spacing:1px;}
.sa-lines{flex:1;min-height:160px;overflow-y:auto;padding:10px 14px;display:flex;flex-direction:column;gap:9px;background:#f5f3f4;}
.sa-line{align-self:flex-start;max-width:88%;background:#fff;border-left:2px solid #ff4d62;border-radius:4px 12px 12px 4px;padding:9px 12px;font-size:13.5px;color:#333;opacity:0;transform:translateX(-8px);transition:opacity .4s,transform .4s;box-shadow:0 1px 3px rgba(0,0,0,.06);}
.sa-line.show{opacity:1;transform:none;}
.sa-line span{display:block;font-size:13px;color:#999;margin-top:2px;}
.sa-line.me{align-self:flex-end;background:#ffe1e6;border-left:0;border-right:2px solid #ff7a3d;border-radius:12px 4px 4px 12px;color:#3a2226;}
.sa-line.esc{border-color:#e0143a;background:#ffe0e4;font-weight:600;color:#a00;animation:saPulse 1s infinite;}
.sa-replyrow{display:flex;gap:8px;padding:8px 12px;border-top:1px solid #f0e0e4;background:#fff;}
.sa-replyrow input{flex:1;border:0;background:#f1eef0;color:#222;border-radius:18px;padding:9px 13px;font-size:13px;outline:none;}
.sa-replyrow input::placeholder{color:#aaa;}
.sa-replyrow button{border:0;background:#ff2d4a;color:#fff;border-radius:50%;width:36px;height:36px;font-size:14px;cursor:pointer;flex-shrink:0;}
.sa-opts2{padding:8px 12px 10px;background:#fbf6f7;max-height:34%;overflow-y:auto;border-top:1px solid #f0e0e4;}
.sa-opts-h{font-size:13px;color:#c84a5a;font-weight:700;margin-bottom:7px;}
/* 底部红色挂断键(听筒) */
.sa-hangbar{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 0 14px;background:#fff;border-top:1px solid #f0e0e4;}
.sa-hangbtn{width:56px;height:56px;border-radius:50%;border:0;background:#e0143a;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 6px 18px rgba(224,20,58,.45);}
.sa-hangbtn span{font-size:24px;display:inline-block;transform:rotate(135deg);}
.sa-hangbtn:active{transform:scale(.92);}
.sa-hanglbl{font-size:12.5px;color:#999;}
.sa-opt{width:100%;display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid #f0d0d6;background:#fff;color:#222;border-radius:12px;padding:13px;margin-bottom:9px;cursor:pointer;text-align:left;}
.sa-opt:active{transform:scale(.99);}
.sa-opt-t{font-size:14px;font-weight:600;}
.sa-opt-r{font-size:12px;flex-shrink:0;color:#1bb55b;}
.sa-opt.danger{border-color:#ff2d4a;}
.sa-opt.danger .sa-opt-r{color:#ff5a6e;font-weight:700;}
.sa-opt.safe .sa-opt-r{color:#5bd6a0;}
/* 实时剧情 */
.sa-narr{background:radial-gradient(120% 80% at 50% 20%,#1a0008,#000);display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px 28px;}
.sa-narr-box{width:100%;max-width:330px;display:flex;flex-direction:column;gap:16px;max-height:70%;overflow-y:auto;}
.sa-nline{font-size:15px;line-height:1.7;color:#e8d2d6;text-align:center;opacity:0;transform:translateY(8px);transition:opacity .7s,transform .7s;text-shadow:0 0 16px rgba(255,0,40,.3);}
.sa-nline.show{opacity:1;transform:none;}
.sa-narr-btn{margin-top:26px;min-height:50px;}

/* ===== 专辑/打歌 制作子动作按钮 ===== */
.al-acts,.cg-acts{display:flex;gap:9px;padding:0 16px 8px;flex-wrap:wrap;}
.al-act,.cg-act{flex:1;min-width:90px;border:0;border-radius:13px;padding:13px 8px;font-size:14px;font-weight:800;cursor:pointer;color:#fff;display:flex;flex-direction:column;align-items:center;gap:3px;}
.al-act{background:linear-gradient(135deg,#6a6488,#3a3550);}
.cg-act{background:linear-gradient(135deg,#b026ff,#ff2d6a);width:100%;flex:none;}
.al-act span,.cg-act span{font-size:12.5px;font-weight:500;opacity:.9;}
.al-act:active,.cg-act:active{transform:scale(.97);}

/* ===== 开局存款滚轮 ===== */
.money-wheel{height:120px !important;}
.money-wheel .wheel-col{flex:1;}
.setup-wrap .money-wheel{height:130px !important;}
#moneyHint,.hint-line{font-size:13.5px;color:#ff7aa6;margin-top:7px;font-weight:600;}

/* ===== 人设确认(onboarding) ===== */
.pf-tip{margin:10px 16px 0;padding:11px 13px;background:rgba(255,90,140,.1);border:1px solid rgba(255,90,140,.25);border-radius:12px;font-size:13.5px;line-height:1.6;color:#ffb3cc;}
.pf-confirm{display:flex;gap:10px;margin:16px;}
.pf-confirm .btn,.pf-confirm .btn-tech{flex:1;margin:0 !important;width:auto !important;}

/* ===== 爽屏(成就总结) ===== */
.brag{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;overflow-y:auto;padding:26px 20px 30px;background:radial-gradient(120% 70% at 50% 0%,#2a1840,#140a26 60%,#0a0614);color:#fff;text-align:center;opacity:0;transition:opacity .6s;}
.brag.show{opacity:1;}
.brag-glow{position:absolute;top:-10%;left:50%;transform:translateX(-50%);width:300px;height:300px;background:radial-gradient(circle,rgba(255,210,80,.35),transparent 65%);pointer-events:none;}
.brag-crown{font-size:46px;filter:drop-shadow(0 0 16px rgba(255,210,80,.7));animation:bragPop .7s ease;}
@keyframes bragPop{0%{transform:scale(.3);opacity:0;}60%{transform:scale(1.2);}100%{transform:scale(1);opacity:1;}}
.brag-title{display:flex;flex-direction:column;gap:3px;margin-top:8px;}
.bt-k{font-size:13px;letter-spacing:3px;color:#ffd86b;}
.bt-c{font-size:13px;color:#d8c8ff;}
.bt-big{font-size:40px;font-weight:900;letter-spacing:4px;margin-top:4px;background:linear-gradient(90deg,#ffe08a,#ff9ec4,#ffe08a);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 30px rgba(255,180,120,.4);}
.brag-av{width:84px;height:84px;border-radius:50%;background:#23173f center/cover;display:flex;align-items:center;justify-content:center;font-size:38px;margin:16px 0 8px;border:2px solid rgba(255,210,120,.55);box-shadow:0 0 26px rgba(255,180,120,.4);}
.brag-nm{font-size:20px;font-weight:800;}
.brag-nm span{display:block;font-size:13.5px;font-weight:500;color:#c9b8ee;margin-top:3px;}
.brag-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px;width:100%;margin:18px 0 16px;}
.brag-cell{background:rgba(255,255,255,.06);border:1px solid rgba(255,210,120,.2);border-radius:14px;padding:13px 10px;}
.bc-ic{font-size:20px;}
.bc-v{font-size:20px;font-weight:900;color:#ffe08a;margin:4px 0 2px;}
.bc-k{font-size:13.5px;color:#d8c8ff;line-height:1.4;}
.bc-k i{display:block;font-style:normal;font-size:11px;color:#9a86c4;}
.brag-foot{font-size:13.5px;color:#c9b8ee;margin-bottom:18px;}

/* ===== 商业价值 App:顶流战报 + 收藏馆 ===== */
.bz{background:#0a0612;color:#fff;}
.bz .bz-bar{background:#0a0612;color:#fff;border-color:#241a33;}
.bz .bz-bar .ab-t,.bz .bz-bar .ab-back{color:#fff;}
/* —— 战报 HERO —— */
.bz .report{position:relative;padding:20px 15px 24px;overflow:hidden;
  background:radial-gradient(120% 70% at 15% 0%,rgba(255,111,174,.4),transparent 55%),radial-gradient(120% 70% at 90% 10%,rgba(122,108,255,.45),transparent 55%),radial-gradient(90% 60% at 50% 100%,rgba(255,216,107,.28),transparent 60%),linear-gradient(160deg,#1a1030,#120a24 55%,#0c0716);}
.bz .report::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(115deg,rgba(255,255,255,.05) 0 2px,transparent 2px 9px);mix-blend-mode:overlay;pointer-events:none;}
.bz .rp-tag{display:flex;align-items:center;justify-content:center;gap:8px;font-family:"Bebas Neue",sans-serif;letter-spacing:4px;font-size:14px;color:#ffd86b;}
.bz .rp-tag::before,.bz .rp-tag::after{content:"";height:1px;width:36px;background:linear-gradient(90deg,transparent,#ffd86b);}
.bz .rp-tag::after{background:linear-gradient(90deg,#ffd86b,transparent);}
.bz .rp-sub{text-align:center;font-size:12.5px;color:#cbb8ff;letter-spacing:2px;margin-top:3px;}
.bz .rp-hero{display:flex;align-items:center;gap:14px;margin:15px 4px 4px;}
.bz .rp-av{width:74px;height:74px;border-radius:50%;flex-shrink:0;background:linear-gradient(150deg,#ff9ec4,#b06bff) center/cover;display:flex;align-items:center;justify-content:center;font-size:32px;border:2.5px solid rgba(255,216,107,.7);box-shadow:0 0 24px rgba(255,160,200,.5);}
.bz .rp-id{flex:1;min-width:0;}
.bz .rp-badge{display:inline-flex;align-items:center;gap:5px;font-size:12.5px;font-weight:800;color:#3a2400;background:linear-gradient(90deg,#ffe9a8,#ffd05a,#ffe9a8);padding:3px 11px;border-radius:20px;box-shadow:0 2px 10px rgba(255,200,80,.4);}
.bz .rp-nm{font-family:"Playfair Display",serif;font-weight:900;font-size:28px;line-height:1.05;margin-top:7px;background:linear-gradient(90deg,#fff,#ffe0ef,#fff);-webkit-background-clip:text;background-clip:text;color:transparent;}
.bz .rp-nm small{display:block;font-family:-apple-system,sans-serif;font-size:12.5px;font-weight:600;color:#c9b8ee;letter-spacing:1px;margin-top:4px;-webkit-text-fill-color:#c9b8ee;}
.bz .rp-feature{margin:15px 0 4px;text-align:center;}
.bz .rp-fl{font-size:12.5px;letter-spacing:3px;color:#ffb3d4;font-family:"Bebas Neue",sans-serif;}
.bz .rp-fv{font-family:"Anton",sans-serif;font-size:54px;line-height:.95;letter-spacing:1px;background:linear-gradient(180deg,#fff 30%,#ffd86b);-webkit-background-clip:text;background-clip:text;color:transparent;text-shadow:0 0 40px rgba(255,200,120,.35);}
.bz .rp-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin-top:15px;}
.bz .rp-cell{background:rgba(255,255,255,.06);border:1px solid rgba(255,216,107,.22);border-radius:14px;padding:11px 7px;text-align:center;}
.bz .rp-cv{font-family:"Bebas Neue",sans-serif;font-size:24px;line-height:1;color:#ffe08a;letter-spacing:.5px;}
.bz .rp-cv small{font-size:13px;}
.bz .rp-ck{font-size:12px;color:#e6daff;margin-top:4px;}
.bz .rp-ck i{display:block;font-style:normal;font-size:10.5px;color:#9a86c4;font-family:"Bebas Neue",sans-serif;letter-spacing:1px;}
.bz .rp-foot{display:flex;align-items:center;justify-content:center;gap:7px;margin-top:15px;font-family:"Nanum Pen Script",cursive;font-size:18px;color:#ffd0e4;}
.bz .rp-foot span{height:1px;width:36px;background:rgba(255,208,228,.5);}
/* —— 收藏馆 VAULT —— */
.bz .vault{background:linear-gradient(180deg,#0c0816,#0a0612);padding:6px 14px 22px;}
.bz .vault-h{text-align:center;padding:18px 0 8px;}
.bz .vault-ht{font-family:"Playfair Display",serif;font-weight:900;font-size:21px;letter-spacing:1px;}
.bz .vault-hs{font-size:12px;color:#7e72a0;letter-spacing:3px;font-family:"Bebas Neue",sans-serif;margin-top:2px;}
.bz .sec{margin-top:18px;}
.bz .sec-h{display:flex;align-items:center;gap:7px;margin-bottom:11px;}
.bz .sec-h .e{font-size:17px;}
.bz .sec-h .t{font-size:16.5px;font-weight:900;color:#fff;}
.bz .sec-h .k{font-family:"Bebas Neue",sans-serif;font-size:13.5px;letter-spacing:1.5px;color:#7e72a0;}
.bz .sec-h .n{margin-left:auto;font-family:"Bebas Neue",sans-serif;font-size:13px;color:#3a2400;background:linear-gradient(90deg,#ffe9a8,#ffd05a);padding:2px 11px;border-radius:11px;letter-spacing:1px;}
.bz .shelf{display:grid;gap:10px;}
.bz .shelf.c3{grid-template-columns:1fr 1fr 1fr;}
.bz .shelf.c2{grid-template-columns:1fr 1fr;}
.bz .shelf.c1{grid-template-columns:1fr;}
.bz .revoked{opacity:.6;filter:grayscale(.5);}
.bz .lux.revoked{cursor:pointer;border-color:#5a3030;}
.bz .lux.revoked:active{transform:scale(.97);}
.bz .lux-reac{z-index:1;font-size:10.5px;font-weight:800;color:#ff9a9a;letter-spacing:.3px;margin-top:2px;}
/* 奢牌字标卡 */
.bz .lux{position:relative;aspect-ratio:1/1;border-radius:13px;overflow:hidden;padding:11px 9px;background:linear-gradient(155deg,#161013,#0a0608);border:1px solid #3a2e1c;display:flex;flex-direction:column;justify-content:space-between;box-shadow:inset 0 0 0 1px rgba(255,216,107,.12);}
.bz .lux-mono{position:absolute;top:48%;left:50%;transform:translate(-50%,-50%);font-family:"Playfair Display",serif;font-weight:900;font-size:62px;color:rgba(255,216,107,.09);}
.bz .lux-tag{font-family:"Bebas Neue",sans-serif;font-size:10.5px;letter-spacing:2px;color:#caa84e;z-index:1;}
.bz .lux-bd{font-family:"Playfair Display",serif;font-weight:900;font-size:15px;letter-spacing:.5px;color:#f3e7c8;z-index:1;line-height:1.05;}
.bz .lux-gmv{z-index:1;}
.bz .lux-gmv b{font-family:"Bebas Neue",sans-serif;font-size:20px;color:#ffd86b;letter-spacing:.5px;}
.bz .lux-gmv i{display:block;font-style:normal;font-size:8.5px;color:#9a8a5e;}
/* 杂志封面 */
.bz .mag{position:relative;aspect-ratio:3/4;border-radius:11px;overflow:hidden;color:#fff;background:linear-gradient(160deg,#ff9ec4,#b06bff);box-shadow:0 6px 18px rgba(0,0,0,.4);}
.bz .mag .photo{position:absolute;inset:0;display:flex;align-items:flex-end;justify-content:center;font-size:58px;background:radial-gradient(120% 80% at 50% 30%,rgba(255,255,255,.25),transparent),linear-gradient(170deg,#ffb3d2,#9d6bff);background-size:cover;background-position:center;}
.bz .mag::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.18),transparent 30%,transparent 60%,rgba(0,0,0,.45));}
.bz .mag .mast{position:absolute;top:7px;left:0;right:0;text-align:center;font-family:"Playfair Display",serif;font-weight:900;font-size:25px;letter-spacing:1px;z-index:2;text-shadow:0 1px 6px rgba(0,0,0,.3);}
.bz .mag .iss{position:absolute;top:34px;left:0;right:0;text-align:center;font-family:"Bebas Neue",sans-serif;font-size:10.5px;letter-spacing:3px;z-index:2;opacity:.9;}
.bz .mag .line{position:absolute;left:9px;bottom:28px;font-size:8.5px;line-height:1.5;font-weight:700;z-index:2;text-shadow:0 1px 4px rgba(0,0,0,.5);}
.bz .mag .sold{position:absolute;left:9px;right:9px;bottom:8px;z-index:2;font-family:"Bebas Neue",sans-serif;font-size:12.5px;letter-spacing:1px;color:#ffe08a;}
/* 海报类 */
.bz .poster{position:relative;aspect-ratio:3/4;border-radius:11px;overflow:hidden;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;padding:11px 10px;box-shadow:0 6px 18px rgba(0,0,0,.45);}
.bz .poster .ph{position:absolute;inset:0;z-index:0;}
.bz .poster::after{content:"";position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(0,0,0,.1) 30%,rgba(0,0,0,.82));}
.bz .poster>*{position:relative;z-index:2;}
.bz .po-kind{font-family:"Bebas Neue",sans-serif;font-size:10.5px;letter-spacing:2px;color:#ffd86b;}
.bz .po-t{font-family:"Playfair Display",serif;font-weight:900;font-size:16px;line-height:1.1;margin-top:3px;}
.bz .po-cn{font-size:11.5px;color:#e7ddff;margin-top:1px;}
.bz .po-stat{margin-top:7px;display:flex;align-items:baseline;gap:5px;}
.bz .po-stat b{font-family:"Anton",sans-serif;font-size:21px;color:#ffe08a;}
.bz .po-stat i{font-style:normal;font-size:10.5px;color:#cbb8e8;}
.bz .po-laurel{position:absolute;top:8px;left:8px;z-index:2;font-size:11.5px;}
.bz .ph-movie{background:radial-gradient(80% 60% at 50% 20%,#3a2350,#0c0814);}
.bz .ph-drama{background:radial-gradient(80% 60% at 50% 25%,#26405a,#0a1018);}
.bz .ph-concert{background:radial-gradient(60% 40% at 50% 75%,rgba(255,216,107,.5),transparent 60%),linear-gradient(170deg,#2a103a,#120a24);}
.bz .poster.concert .stage{position:absolute;left:0;right:0;bottom:0;height:42%;z-index:1;background:repeating-linear-gradient(90deg,rgba(255,216,107,.18) 0 3px,transparent 3px 8px);-webkit-mask:linear-gradient(0deg,#000,transparent);mask:linear-gradient(0deg,#000,transparent);}
/* 综艺 */
.bz .tv{position:relative;border-radius:12px;overflow:hidden;padding:13px 12px;min-height:74px;background:linear-gradient(125deg,#1d2740,#0e1322);border:1px solid #2a3a5c;display:flex;flex-direction:column;justify-content:center;}
.bz .tv .show{font-size:14px;font-weight:900;}
.bz .tv .meta{font-size:11px;color:#8aa0c8;margin-top:2px;font-family:"Bebas Neue",sans-serif;letter-spacing:1px;}
.bz .tv .hot{position:absolute;right:10px;top:50%;transform:translateY(-50%);text-align:right;}
.bz .tv .hot b{font-size:17px;}
.bz .tv .hot i{display:block;font-style:normal;font-size:10.5px;color:#9fb3d6;margin-top:2px;}
/* 颁奖 */
.bz .award{position:relative;border-radius:12px;overflow:hidden;padding:12px 13px;display:flex;align-items:center;gap:11px;background:linear-gradient(120deg,#2a2008,#43350f 55%,#2a2008);border:1px solid #6e561c;box-shadow:inset 0 0 18px rgba(255,216,107,.12);}
.bz .award::before{content:"";position:absolute;inset:0;background:repeating-linear-gradient(125deg,rgba(255,216,107,.06) 0 2px,transparent 2px 10px);}
.bz .award .tr{font-size:25px;z-index:1;filter:drop-shadow(0 0 8px rgba(255,216,107,.5));}
.bz .award .ab{z-index:1;flex:1;}
.bz .award .an{font-family:"Playfair Display",serif;font-weight:900;font-size:14px;color:#ffe9b8;}
.bz .award .ay{font-family:"Bebas Neue",sans-serif;font-size:12.5px;letter-spacing:2px;color:#bfa04e;margin-top:1px;}
.bz .award .crown{z-index:1;font-size:13px;}

/* ===== ①기획期(P1):回归企划 ===== */
.plan{padding-bottom:12px;background:#0d0a14;color:#fff;}
.plan .plan-bar{background:#0d0a14;color:#fff;border-color:#241a33;}
.plan .plan-bar .ab-t,.plan .plan-bar .ab-back{color:#fff;}
.pl-hd{padding:14px 15px 4px;}
.pl-h1{font-family:"Playfair Display",serif;font-weight:900;font-size:23px;}
/* #4 做专辑 场景横幅(写真棚 + 스타일리스트 立绘 + 铺垫) */
.amk-scene{position:relative;margin:8px 15px 4px;height:132px;border-radius:16px;overflow:hidden;box-shadow:0 8px 24px rgba(0,0,0,.28);}
.amk-scene-bg{position:absolute;inset:0;background-size:cover;background-position:center 32%;}
.amk-scene-v{position:absolute;inset:0;background:linear-gradient(100deg,rgba(14,9,20,.82) 40%,rgba(14,9,20,.25) 100%);}
.amk-scene-face{position:absolute;right:6px;bottom:0;height:130px;object-fit:contain;object-position:bottom;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5));}
.amk-scene-b{position:absolute;left:14px;right:118px;bottom:12px;top:12px;display:flex;flex-direction:column;justify-content:flex-end;}
.amk-scene-spk{font-size:12.5px;font-weight:800;color:#ffbcd2;letter-spacing:.3px;margin-bottom:5px;}
.amk-scene-say{color:#e9dff2;font-size:12.5px;line-height:1.4;font-weight:500;display:flex;flex-direction:column;}
.amk-scene-say span{order:-1;color:#fff;font-size:15px;font-weight:600;line-height:1.45;margin-bottom:2px;}
.pl-h2{font-size:13px;color:#a99ec8;margin-top:3px;}
.pl-preview{margin:12px 15px;background:rgba(255,255,255,.05);border:1px solid #2c2340;border-radius:14px;padding:12px 13px;}
.pv-h{font-size:12.5px;color:#c9b8ee;letter-spacing:1px;margin-bottom:9px;font-family:"Bebas Neue",sans-serif;}
.pv-row{display:flex;align-items:center;gap:9px;margin-bottom:6px;}
.pv-l{font-size:12.5px;width:48px;flex-shrink:0;color:#e6daff;}
.pv-l i{font-style:normal;color:#7e72a0;font-size:10.5px;margin-left:2px;}
.pv-bar{flex:1;height:8px;background:rgba(255,255,255,.08);border-radius:5px;overflow:hidden;}
.pv-bar span{display:block;height:100%;background:linear-gradient(90deg,#ff6fae,#ffd86b);border-radius:5px;transition:width .3s;}
.pv-v{width:26px;text-align:right;font-family:"Bebas Neue",sans-serif;font-size:15px;color:#ffe08a;}
.pl-sec{margin:16px 15px 9px;font-size:14px;font-weight:900;}
.pl-codycost{font-size:11.5px;font-weight:500;color:#a99ec8;margin-left:4px;}
.pl-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;padding:0 15px;}
.pl-grid.c1{grid-template-columns:1fr;}
.pl-card{position:relative;background:rgba(255,255,255,.05);border:1.5px solid #2c2340;border-radius:13px;padding:9px;cursor:pointer;transition:border-color .15s,transform .1s;}
.pl-card.wide{display:flex;align-items:center;justify-content:space-between;gap:10px;}
.pl-card.on{border-color:#ffd86b;background:rgba(255,216,107,.1);}
.pl-card:active{transform:scale(.98);}
.pl-mood{height:46px;border-radius:9px;margin-bottom:7px;}
.mv-mood{display:flex;align-items:center;justify-content:center;font-size:22px;}
.pl-nm{font-size:13px;font-weight:800;}
.pl-nm i{font-style:normal;font-weight:500;font-size:11.5px;color:#9a8ec0;margin-left:4px;}
.pl-lean{margin-top:5px;display:flex;flex-wrap:wrap;gap:4px;}
.lt{font-size:10.5px;background:rgba(255,111,174,.18);color:#ffb3d4;border-radius:5px;padding:1px 6px;}
.lt.mute{background:rgba(255,255,255,.06);color:#8a7ea8;}
.lt.pw{background:rgba(95,208,255,.18);color:#9fe0ff;}
.pl-sub{margin:12px 15px 7px;font-size:13.5px;color:#c9b8ee;}
.pl-sub i{font-style:normal;color:#7e72a0;font-size:11.5px;}
.cody-row{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:0 15px;}
.cody-card{cursor:pointer;border:1.5px solid #2c2340;border-radius:11px;overflow:hidden;background:rgba(255,255,255,.04);transition:border-color .15s,transform .1s;}
.cody-card.on{border-color:#ffd86b;}
.cody-card:active{transform:scale(.97);}
.cody-sw{aspect-ratio:3/4;display:flex;align-items:center;justify-content:center;}
.cody-x{font-size:12.5px;color:rgba(255,255,255,.5);}
.cody-nm{font-size:11.5px;text-align:center;padding:5px 2px 2px;font-weight:700;}
.cody-cost{font-size:8.5px;text-align:center;color:#caa84e;padding-bottom:5px;font-family:"Bebas Neue",sans-serif;}
.pl-locked{display:flex;align-items:center;gap:11px;margin:0 15px;background:rgba(255,216,107,.08);border:1.5px solid #ffd86b;border-radius:13px;padding:10px;cursor:pointer;transition:transform .1s;}
.pl-locked:active{transform:scale(.99);}
.pl-locked .pl-mood{height:46px;width:46px;flex:none;margin:0;border-radius:10px;}
.pl-lk-b{flex:1;}
.pl-lk-sub{margin-top:4px;font-size:11.5px;color:#caa84e;font-weight:700;}

/* ===== T2 会议室【概念会议】===== */
.mtg{padding-bottom:12px;background:#0d0a14;color:#fff;}
.mtg-room{margin:12px 15px 0;background:linear-gradient(160deg,#1a1426,#120e1c);border:1px solid #2c2340;border-radius:15px;padding:13px;}
.mtg-roomh{font-size:13px;font-weight:900;}
.mtg-roomh i{display:block;font-style:normal;font-weight:500;font-size:11.5px;color:#9a8ec0;margin-top:3px;}
.mtg-table{display:flex;justify-content:center;gap:9px;margin-top:11px;}
.mtg-seat{width:42px;height:42px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#2e2542,#171120);border:1.5px solid #3a2f54;display:flex;align-items:center;justify-content:center;font-size:21px;box-shadow:0 3px 9px rgba(0,0,0,.35);}
.mtg-chips{display:flex;gap:7px;overflow-x:auto;padding:13px 15px 3px;-webkit-overflow-scrolling:touch;}
.mtg-chips::-webkit-scrollbar{display:none;}
.mtg-chip{flex:none;display:flex;align-items:center;gap:6px;background:rgba(255,255,255,.05);border:1.5px solid #2c2340;border-radius:20px;padding:7px 12px;cursor:pointer;transition:border-color .15s,transform .1s;}
.mtg-chip:active{transform:scale(.96);}
.mtg-chip.on{border-color:#ffd86b;background:rgba(255,216,107,.12);}
.mtg-chip .mtg-dot{width:11px;height:11px;border-radius:50%;flex:none;}
.mtg-chip b{font-size:14px;font-weight:800;}
.mtg-chip i{font-style:normal;font-size:11.5px;color:#9a8ec0;}
.mtg-stage{margin:13px 15px 0;border-radius:14px;padding:15px;position:relative;overflow:hidden;box-shadow:inset 0 0 60px rgba(0,0,0,.45);}
.mtg-stg-nm{font-size:20px;font-weight:900;text-shadow:0 2px 10px rgba(0,0,0,.6);}
.mtg-stg-nm i{font-style:normal;font-weight:600;font-size:13.5px;opacity:.92;margin-left:6px;}
.mtg-stg-lean{margin-top:8px;display:flex;flex-wrap:wrap;gap:4px;}
.mtg-debate{margin:13px 15px 0;display:flex;flex-direction:column;gap:9px;}
.mtg-line{display:flex;gap:9px;background:rgba(255,255,255,.04);border:1px solid #241c34;border-left-width:3px;border-radius:11px;padding:9px 11px;}
.mtg-line.pro{border-left-color:#46d39a;}
.mtg-line.con{border-left-color:#ff6a88;}
.mtg-line.data{border-left-color:#5fd0ff;}
.mtg-lav{font-size:20px;flex:none;line-height:1.3;}
.mtg-lb{flex:1;}
.mtg-who{font-size:12px;color:#b3a6d6;font-weight:700;display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.mtg-tag{font-size:10.5px;border-radius:5px;padding:1px 6px;font-weight:800;}
.mtg-tag.pro{background:rgba(70,211,154,.18);color:#7ff0c2;}
.mtg-tag.con{background:rgba(255,106,136,.18);color:#ffb0c0;}
.mtg-tag.data{background:rgba(95,208,255,.18);color:#9fe0ff;}
.mtg-k{font-size:13px;font-weight:700;margin-top:4px;}
.mtg-c{font-size:13px;color:#b9accf;margin-top:2px;line-height:1.45;}
.mtg-preview{margin:14px 15px 0;background:rgba(255,255,255,.04);border:1px solid #241c34;border-radius:13px;padding:12px;}
.mtg-tip{text-align:center;font-size:12px;color:#7e72a0;margin-top:8px;}

/* ===== T3 录音棚【录歌】===== */
.stu{padding-bottom:12px;background:#0b0810;color:#fff;}
.stu-booth{display:flex;align-items:center;gap:12px;margin:12px 15px 0;background:linear-gradient(160deg,#1c1230,#120c1c);border:1px solid #2c2340;border-radius:15px;padding:14px;}
.stu-mic,.stu-head{font-size:26px;flex:none;filter:drop-shadow(0 3px 8px rgba(0,0,0,.5));}
.stu-song{flex:1;}
.stu-sn{font-size:14px;font-weight:900;}
.stu-ss{font-size:12px;color:#9a8ec0;margin-top:3px;}
.stu-lyrics{margin:13px 15px 0;height:230px;overflow:hidden;background:radial-gradient(120% 80% at 50% 0,#1a1330,#0c0814);border:1px solid #241c34;border-radius:14px;padding:14px 12px;scroll-behavior:smooth;-webkit-mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);mask-image:linear-gradient(180deg,transparent,#000 22%,#000 78%,transparent);}
.stu-ly{padding:7px 4px;text-align:center;opacity:.35;transition:opacity .25s,transform .25s,color .25s;}
.stu-ly.past{opacity:.3;}
.stu-ly.on{opacity:1;transform:scale(1.06);}
.stu-lk{font-size:15px;font-weight:800;}
.stu-ly.on .stu-lk{color:#ffd86b;text-shadow:0 0 14px rgba(255,216,107,.5);}
.stu-lc{font-size:12.5px;color:#b9accf;margin-top:2px;}
.stu-transport{margin:14px 15px 0;}
.stu-rec{width:100%;display:flex;align-items:center;justify-content:center;gap:9px;background:linear-gradient(180deg,#ff3d6e,#d11a4c);color:#fff;border:none;border-radius:30px;padding:15px;font-size:15px;font-weight:900;cursor:pointer;box-shadow:0 6px 20px rgba(255,46,116,.35);font-family:inherit;}
.stu-rec:active{transform:scale(.98);}
.stu-rec.on{background:linear-gradient(180deg,#2c2340,#1a1426);box-shadow:0 0 0 2px #ff3d6e inset;animation:stuPulse 1s ease-in-out infinite;}
@keyframes stuPulse{50%{box-shadow:0 0 0 2px #ff3d6e inset,0 0 22px rgba(255,46,116,.5);}}
.stu-dot{width:13px;height:13px;border-radius:50%;background:#fff;}
.stu-sq{width:12px;height:12px;border-radius:3px;background:#ff3d6e;}
.stu-done{display:flex;gap:9px;}
.stu-play{flex:1;background:rgba(255,216,107,.12);border:1.5px solid #ffd86b;color:#ffd86b;border-radius:30px;padding:13px;font-size:13px;font-weight:800;cursor:pointer;font-family:inherit;}
.stu-redo{flex:none;background:rgba(255,255,255,.05);border:1.5px solid #2c2340;color:#c9b8ee;border-radius:30px;padding:13px 16px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;}
.stu-play:active,.stu-redo:active{transform:scale(.97);}
.stu-tip{text-align:center;font-size:12px;color:#8a7ea8;margin-top:10px;}
/* 录歌产线:曲风/作曲/完成度 */
.stu-sec{margin:16px 15px 8px;font-size:13px;font-weight:800;color:#e7dcff;display:flex;justify-content:space-between;align-items:baseline}
.stu-sec span{font-size:12px;font-weight:700;color:#8a7ea8}
.stu-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 15px}
.stu-chip{background:#160f22;border:1.5px solid #2c2340;color:#c9b8ee;border-radius:12px;padding:8px 12px;font-size:13.5px;font-weight:800;cursor:pointer;display:flex;flex-direction:column;align-items:flex-start;gap:2px;font-family:inherit}
.stu-chip i{font-style:normal;font-size:11px;color:#8a7ea8;font-weight:700}
.stu-chip.on{border-color:#ff3d6e;background:#26101c;color:#ff9ec2}
.stu-tiers{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:0 15px}
.stu-tier{background:#160f22;border:1.5px solid #2c2340;border-radius:13px;padding:11px 8px;cursor:pointer;text-align:center;font-family:inherit}
.stu-tier b{display:block;font-size:13.5px;font-weight:900;color:#e7dcff}
.stu-tier span{display:block;font-size:11.5px;color:#8a7ea8;margin:2px 0 4px}
.stu-tier i{font-style:normal;font-size:11px;font-weight:800;color:#ffd86b}
.stu-tier.on{border-color:#ffd86b;background:#241d10}
.stu-qual{margin:14px 15px 0;background:linear-gradient(160deg,#1c1230,#120c1c);border:1px solid #2c2340;border-radius:15px;padding:14px}
.stu-take{font-size:14px;color:#c9b8ee;margin-bottom:9px}
.stu-take b{color:#ffd86b;font-weight:900;font-size:15px}
.stu-qbar{height:10px;border-radius:6px;background:#0d0916;overflow:hidden;border:1px solid #2c2340}
.stu-qbar-in{height:100%;background:linear-gradient(90deg,#ff3d6e,#ffd86b);border-radius:6px;transition:width .4s}
.stu-qrow{display:flex;justify-content:space-between;font-size:13px;color:#a99ec6;margin-top:7px}
.stu-qrow b{color:#fff;font-weight:900}
.stu-qbtns{display:flex;gap:9px;margin-top:12px}
.stu-mix{flex:1;background:rgba(134,103,255,.14);border:1.5px solid #6a52c0;color:#c9b8ee;border-radius:26px;padding:12px;font-size:13.5px;font-weight:800;cursor:pointer;font-family:inherit}
.stu-mix.done{border-color:#3aa865;color:#7fd6a3;background:rgba(58,168,101,.12)}
.stu-qbtns .btn-tech{flex:1;margin:0}
.stu-qtip{font-size:11.5px;color:#8a7ea8;margin-top:9px;line-height:1.5}
.stu-qtip b{color:#ffb0cb}

/* ===== T4 포토카드【小卡】chrome:逐行移植 SocialAIApp web 版(NJ Matrix V8) ===== */
/* 翻卡外壳 */
.pc-example-flip{margin:0;perspective:800px;}
.pc-example-flip.big{perspective:1000px;width:min(74vw,300px);}
.pc-example-inner{position:relative;transform-style:preserve-3d;transition:transform .45s ease;aspect-ratio:55/85;width:100%;container-type:size;}
.pc-example-inner.is-back{transform:rotateY(180deg);}
.pc-example-face{position:absolute;inset:6px;backface-visibility:hidden;border-radius:min(14px,7.5cqw);overflow:hidden;border:1px solid rgba(0,0,0,.06);background:rgb(247,247,247);box-shadow:0 6px 5px rgba(0,0,0,.07),0 15px 26px rgba(0,0,0,.12);box-sizing:border-box;}
.pc-example-face.pc-has{background:rgb(228,228,231);box-shadow:0 7px 11px rgba(0,0,0,.1),0 26px 34px rgba(0,0,0,.22);}
.pc-example-face::after{content:"";position:absolute;inset:1px;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);pointer-events:none;z-index:2;}
.pc-example-face.back{transform:rotateY(180deg);}
.pc-example-face .pc-card-body{position:absolute;inset:0;border-radius:inherit;overflow:hidden;transform-style:preserve-3d;transition:transform .1s ease-out;cursor:pointer;}
.pc-example-face .pc-card-body>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block;z-index:0;border-radius:inherit;}
/* 动态炫光(soft-light 漫反射) */
.pc-physical-shine{position:absolute;inset:0;border-radius:inherit;background:linear-gradient(125deg,rgba(255,255,255,0) 0%,rgba(255,255,255,0) 40%,rgba(255,255,255,.3) 50%,rgba(255,255,255,0) 60%,rgba(255,255,255,0) 100%);background-size:250% 250%;background-position:100% 100%;z-index:3;pointer-events:none;mix-blend-mode:soft-light;transition:background-position .1s ease-out;}
/* 毛玻璃 55mm 圆标 */
.pc-55mm-tape{display:none;position:absolute;top:6.25%;right:6.25%;width:min(32px,13.333cqw);height:min(32px,13.333cqw);z-index:8;border-radius:50%;align-items:center;justify-content:center;pointer-events:none;line-height:1;box-sizing:border-box;background:rgba(255,255,255,.2);-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);box-shadow:inset 0 0 1px rgba(0,0,0,.05);}
.pc-55mm-tape>span{position:relative;z-index:1;font-size:clamp(5px,calc(13.333cqw*8/32),8px);font-weight:900;font-family:ui-monospace,Menlo,monospace;color:#000;}
.pc-example-face.front.pc-has .pc-55mm-tape{display:flex;}
.pc-example-stars{position:absolute;left:0;right:0;bottom:0;z-index:6;padding-bottom:5.95%;display:flex;justify-content:center;align-items:center;gap:5px;font-size:clamp(14px,9.17cqw,22px);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.18),0 0 1px rgba(0,0,0,.35);pointer-events:none;line-height:1;opacity:0;transition:opacity .12s ease;}
.pc-example-face.pc-has .pc-example-stars{opacity:1;}
.pc-star-glyph{display:inline-block;}
.pc-empty-face{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#9aa0ac;font-size:13px;font-weight:700;z-index:1;}
.pc-empty-face.logo{color:#c9b8ee;font-size:18px;font-weight:900;letter-spacing:1px;background:linear-gradient(160deg,#241a33,#140e1f);}
/* 上传格(同 chrome,带倾斜) */
.pc-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;padding:0 15px;}
.pc-slot{container-type:size;aspect-ratio:55/85;width:100%;position:relative;overflow:visible;perspective:1400px;cursor:pointer;}
.pc-slot-chrome{position:absolute;inset:4px;border-radius:min(14px,7.5cqw);overflow:hidden;background:rgb(247,247,247);border:1px solid rgba(0,0,0,.06);box-shadow:0 6px 5px rgba(0,0,0,.07),0 15px 26px rgba(0,0,0,.12);box-sizing:border-box;transform-style:preserve-3d;transition:transform .1s ease-out;}
.pc-slot.pc-has .pc-slot-chrome{background:rgb(228,228,231);box-shadow:0 7px 11px rgba(0,0,0,.1),0 26px 34px rgba(0,0,0,.22);}
.pc-slot-chrome::after{content:"";position:absolute;inset:1px;border-radius:inherit;box-shadow:inset 0 0 0 1px rgba(255,255,255,.4);pointer-events:none;z-index:9;}
.pc-slot-fill{position:absolute;inset:0;border-radius:inherit;overflow:hidden;z-index:0;}
.pc-slot-fill img{width:100%;height:100%;object-fit:cover;display:block;}
.pc-slot.pc-has .pc-55mm-tape{display:flex;}
.pc-slot-stars{position:absolute;left:0;right:0;bottom:0;z-index:5;padding-bottom:5.95%;display:flex;justify-content:center;gap:4px;font-size:clamp(13px,9.17cqw,20px);color:#fff;text-shadow:0 1px 1px rgba(0,0,0,.18),0 0 1px rgba(0,0,0,.35);pointer-events:none;line-height:1;opacity:0;transition:opacity .12s;}
.pc-slot.pc-has .pc-slot-stars{opacity:1;}
.pc-slot-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#aab;font-size:22px;font-weight:300;z-index:2;}
.pc-slot-empty i{font-style:normal;font-size:10.5px;font-weight:700;margin-top:4px;color:#8890a0;}
/* 制作场景外壳 */
.pcmk{padding-bottom:12px;background:#0b0810;color:#fff;}
.pcmk-hd{padding:12px 15px 4px;}
.pcmk-h1{font-size:17px;font-weight:900;}
.pcmk-h2{font-size:12.5px;color:#9a8ec0;margin-top:3px;}
.pc-face-seg{display:flex;gap:8px;margin:12px 15px;}
.pc-face-seg button{flex:1;background:rgba(255,255,255,.05);border:1.5px solid #2c2340;color:#c9b8ee;border-radius:20px;padding:9px;font-size:14px;font-weight:700;cursor:pointer;font-family:inherit;}
.pc-face-seg button.on{border-color:#ffd86b;background:rgba(255,216,107,.12);color:#ffd86b;}
.pcmk-tip{text-align:center;font-size:12px;color:#8a7ea8;margin:12px 15px 0;}
/* 小卡集相册 */
.pca{padding-bottom:12px;background:#0b0810;color:#fff;}
.pca-body{padding:6px 0;}
.pca-set{margin-top:8px;}
.pca-setname{margin:10px 15px 10px;font-size:14px;font-weight:900;}
.pca-setname i{font-style:normal;font-weight:500;font-size:12.5px;color:#9a8ec0;margin-left:6px;}
.pca-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;padding:0 15px;}
/* 专辑 App 入口 */
.al-pcentry{display:flex;align-items:center;gap:12px;margin:12px 15px;background:linear-gradient(135deg,#2a2440,#3a3358);border:1px solid #4a4170;border-radius:14px;padding:13px;cursor:pointer;}
.al-pcentry:active{transform:scale(.99);}
.al-pcic{font-size:26px;}
.al-pcb{flex:1;}
.al-pct{font-size:14px;font-weight:900;}
.al-pcd{font-size:12px;color:#bcaee6;margin-top:3px;}
.al-pcgo{font-size:22px;color:#9a8ec0;}
/* 全屏翻卡 viewer */
.pc-viewer{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:18px;background:radial-gradient(80% 60% at 50% 40%,rgba(40,30,60,.6),rgba(0,0,0,.92));}
.pc-viewer-card{filter:drop-shadow(0 20px 40px rgba(0,0,0,.55));}
.pc-viewer-meta{font-size:13px;color:#fff;font-weight:700;}
.pc-viewer-bar{display:flex;gap:10px;}
.pc-viewer-bar button{background:rgba(255,255,255,.1);border:1.5px solid rgba(255,255,255,.25);color:#fff;border-radius:22px;padding:10px 20px;font-size:13px;font-weight:700;cursor:pointer;font-family:inherit;}
.pc-viewer-bar button:active{transform:scale(.97);}

/* ===== T5 데모 试听 ===== */
.demo{padding-bottom:12px;background:#0d0a14;color:#fff;}
.demo-list{padding:6px 15px;display:flex;flex-direction:column;gap:11px;}
.demo-card{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.05);border:1.5px solid #2c2340;border-radius:14px;padding:12px;cursor:pointer;transition:border-color .15s,background .15s;}
.demo-card.on{border-color:#ffd86b;background:rgba(255,216,107,.1);}
.demo-card:active{transform:scale(.99);}
.demo-play{flex:none;width:44px;height:44px;border-radius:50%;background:linear-gradient(180deg,#5b8def,#33347e);border:none;color:#fff;font-size:15px;cursor:pointer;box-shadow:0 4px 12px rgba(91,141,239,.35);}
.demo-play.on{background:linear-gradient(180deg,#ff3d6e,#c01a4c);box-shadow:0 4px 12px rgba(255,61,110,.4);}
.demo-b{flex:1;min-width:0;}
.demo-nm{font-size:13px;font-weight:800;}
.demo-nm i{font-style:normal;font-weight:500;font-size:11.5px;color:#9a8ec0;margin-left:5px;}
.demo-eq{display:flex;align-items:flex-end;gap:3px;height:16px;margin:7px 0;}
.demo-eq span{width:3px;height:28%;background:#6a7ad0;border-radius:2px;}
.demo-eq.playing span{background:#7fa8ff;animation:demoEq .7s ease-in-out infinite;}
.demo-eq.playing span:nth-child(2n){animation-duration:.52s;}
.demo-eq.playing span:nth-child(3n){animation-duration:.9s;}
.demo-eq.playing span:nth-child(4n){animation-duration:.64s;}
@keyframes demoEq{0%,100%{height:22%}50%{height:100%}}
.demo-sel{flex:none;width:20px;text-align:center;color:#ffd86b;font-weight:900;font-size:16px;}
/* ===== T5 안무 연습 ===== */
.choreo-prac{display:flex;align-items:center;gap:13px;margin:12px 15px;background:linear-gradient(160deg,#1c1230,#120c1c);border:1px solid #2c2340;border-radius:15px;padding:14px;}
.cp-l{text-align:center;flex:none;min-width:62px;}
.cp-reps{font-size:32px;font-weight:900;color:#ffd86b;line-height:1;font-family:"Bebas Neue",sans-serif;}
.cp-reps small{font-size:13px;margin-left:2px;}
.cp-sub{font-size:11.5px;color:#9a8ec0;margin-top:4px;}
.cp-go{flex:1;background:linear-gradient(180deg,#ff6fae,#d83d7a);border:none;color:#fff;border-radius:14px;padding:13px;font-size:15px;font-weight:900;cursor:pointer;font-family:inherit;box-shadow:0 5px 16px rgba(255,111,174,.3);}
.cp-go span{display:block;font-size:11.5px;font-weight:600;opacity:.92;margin-top:2px;}
.cp-go:active{transform:scale(.98);}

/* ===== T6c 앨범 제작(封面+版本) / 写真集 / 专辑详情 ===== */
.amk,.pbk,.addt{padding-bottom:12px;background:#0d0a14;color:#fff;}
.amk-cover-wrap{display:flex;justify-content:center;margin:14px 0 4px;}
.amk-cover{position:relative;width:min(62vw,250px);aspect-ratio:1/1;border-radius:14px;overflow:hidden;background:linear-gradient(160deg,#241a33,#140e1f);border:1.5px solid #2c2340;cursor:pointer;box-shadow:0 10px 30px rgba(0,0,0,.4);}
.amk-cover.has{border-color:#ffd86b;}
.amk-cover img{width:100%;height:100%;object-fit:cover;display:block;}
.amk-cover-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#9aa0ac;font-size:30px;font-weight:300;}
.amk-cover-empty i{font-style:normal;font-size:12.5px;font-weight:700;margin-top:8px;text-align:center;line-height:1.5;color:#8890a0;}
.amk-cover-edit{position:absolute;bottom:0;left:0;right:0;padding:7px;text-align:center;font-size:12.5px;font-weight:700;color:#fff;background:linear-gradient(0deg,rgba(0,0,0,.6),transparent);}
.amk-vers{display:flex;flex-direction:column;gap:10px;padding:0 15px;}
.amk-ver{background:rgba(255,255,255,.05);border:1.5px solid #2c2340;border-radius:14px;padding:12px;cursor:pointer;transition:border-color .15s,background .15s;}
.amk-ver.on{border-color:#ffd86b;background:rgba(255,216,107,.1);}
.amk-vtop{display:flex;align-items:center;gap:9px;}
.amk-ve{font-size:22px;}
.amk-vn{flex:1;font-size:15px;font-weight:900;}
.amk-vn i{font-style:normal;font-weight:500;font-size:12.5px;color:#9a8ec0;margin-left:5px;}
.amk-vck{color:#ffd86b;font-weight:900;}
.amk-vinc{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px;}
.amk-vinc span{font-size:11.5px;background:rgba(255,111,174,.16);color:#ffb3d4;border-radius:5px;padding:2px 7px;}
.amk-vnote{font-size:12px;color:#8a7ea8;margin-top:7px;}
.pb-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:0 15px;}
.pb-slot{position:relative;aspect-ratio:3/4;border-radius:12px;overflow:hidden;background:linear-gradient(160deg,#241a33,#140e1f);border:1.5px solid #2c2340;cursor:pointer;}
.pb-slot.has{border-color:#ffd86b;}
.pb-slot img{width:100%;height:100%;object-fit:cover;display:block;}
.pb-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#aab;font-size:24px;font-weight:300;}
.pb-empty i{font-style:normal;font-size:11.5px;font-weight:700;margin-top:4px;color:#8890a0;}
.al-cov{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit;}
.al-art{position:relative;overflow:hidden;}
.al-row{cursor:pointer;}
.al-go{margin-left:auto;font-size:20px;color:#9a8ec0;align-self:center;}
.ad-hero{display:flex;gap:14px;margin:14px 15px 0;align-items:center;}
.ad-cover{position:relative;width:128px;aspect-ratio:1/1;border-radius:12px;overflow:hidden;background:linear-gradient(160deg,#241a33,#140e1f);flex:none;display:flex;align-items:center;justify-content:center;font-size:34px;box-shadow:0 8px 22px rgba(0,0,0,.4);}
.ad-cover img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.ad-meta{flex:1;min-width:0;}
.ad-t{font-size:16px;font-weight:900;}
.ad-v{font-size:13px;color:#ffd86b;margin-top:5px;font-weight:700;}
.ad-s{font-size:12.5px;color:#9a8ec0;margin-top:5px;}
.ad-pbgrid{display:grid;grid-template-columns:1fr 1fr;gap:10px;padding:0 15px;}
.ad-pb{aspect-ratio:3/4;border-radius:10px;overflow:hidden;background:#181221;}
.ad-pb img{width:100%;height:100%;object-fit:cover;display:block;}
.ad-none{margin:12px 15px;padding:14px;text-align:center;font-size:13px;color:#8a7ea8;background:rgba(255,255,255,.04);border-radius:12px;}

/* ===== T7 概念会议 v2(LLM 自由讨论 + 波折 + 爽点)=====*/
.cm{position:absolute;inset:0;display:flex;flex-direction:column;color:#fff;overflow:hidden;}
.cm-bg{position:absolute;inset:0;background:url('img/meeting.png') center/cover no-repeat;z-index:0;}
.cm-ov{position:absolute;inset:0;background:linear-gradient(180deg,rgba(8,6,14,.62),rgba(8,6,14,.82));z-index:0;}
.cm>.app-bar{position:relative;z-index:2;background:rgba(8,6,14,.55);backdrop-filter:blur(4px);}
.cm-tag{position:relative;z-index:2;text-align:center;font-size:12.5px;color:#cbb9f0;padding:7px;background:rgba(0,0,0,.25);}
.cm-log{position:relative;z-index:1;flex:1;overflow-y:auto;padding:14px 13px 4px;display:flex;flex-direction:column;gap:11px;}
.cm-msg{display:flex;gap:8px;max-width:88%;}
.cm-msg.me{align-self:flex-end;flex-direction:row-reverse;}
.cm-av{width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 50% 35%,#2e2542,#171120);border:1px solid #3a2f54;display:flex;align-items:center;justify-content:center;font-size:18px;flex:none;}
.cm-bub{background:rgba(28,20,42,.92);border:1px solid #3a2f54;border-radius:14px;padding:9px 12px;}
.cm-msg.me .cm-bub{background:linear-gradient(135deg,#ff5e9a,#c8407a);border-color:transparent;}
.cm-who{font-size:11.5px;color:#b3a6d6;font-weight:700;margin-bottom:3px;}
.cm-k{font-size:14px;font-weight:700;}
.cm-c{font-size:14px;color:#e8def7;margin-top:2px;line-height:1.45;}
.cm-msg.me .cm-c,.cm-msg.me .cm-bub{color:#fff;font-size:13px;}
.cm-typing{display:flex;gap:4px;align-items:center;padding:12px;}
.cm-typing span{width:6px;height:6px;border-radius:50%;background:#9a8ec0;animation:cmTy 1s infinite;}
.cm-typing span:nth-child(2){animation-delay:.15s;}.cm-typing span:nth-child(3){animation-delay:.3s;}
@keyframes cmTy{0%,60%,100%{opacity:.3;transform:translateY(0)}30%{opacity:1;transform:translateY(-3px)}}
.cm-foot{position:relative;z-index:2;background:rgba(8,6,14,.8);backdrop-filter:blur(6px);border-top:1px solid #2c2340;padding:9px 12px calc(9px + env(safe-area-inset-bottom));}
.cm-chips{display:flex;gap:7px;overflow-x:auto;padding-bottom:8px;}
.cm-chips::-webkit-scrollbar{display:none;}
.cm-chip{flex:none;background:rgba(255,255,255,.08);border:1px solid #3a2f54;color:#d7c9f5;border-radius:16px;padding:6px 11px;font-size:13px;cursor:pointer;font-family:inherit;white-space:nowrap;}
.cm-input{display:flex;gap:8px;}
.cm-input input{flex:1;background:rgba(255,255,255,.07);border:1px solid #3a2f54;border-radius:20px;padding:10px 14px;color:#fff;font-size:13px;font-family:inherit;}
.cm-input button{flex:none;width:42px;border:none;border-radius:50%;background:linear-gradient(135deg,#ff5e9a,#c8407a);color:#fff;font-size:15px;cursor:pointer;}
/* 拍板 picker */
.cm-pk-grid{display:grid;grid-template-columns:1fr 1fr;gap:9px;margin-top:6px;}
.cm-pk{background:rgba(255,255,255,.05);border:1.5px solid #2c2340;border-radius:12px;padding:10px;cursor:pointer;text-align:left;}
.cm-pk:active{transform:scale(.98);}
.cm-pk-dot{display:inline-block;width:11px;height:11px;border-radius:50%;vertical-align:middle;margin-right:5px;}
.cm-pk b{font-size:13px;}.cm-pk i{font-style:normal;font-size:11.5px;color:#9a8ec0;margin-left:3px;}
/* 波折/爽点 */
.cm-crisis,.cm-payoff,.cm-sum{position:relative;z-index:1;flex:1;overflow-y:auto;padding:14px 15px;}
.cm-loading{text-align:center;color:#ff9ec4;font-size:14px;padding:60px 0;}
.cm-breaking{background:linear-gradient(135deg,#b91c3a,#7a1024);border-radius:12px;padding:13px;font-size:14px;font-weight:900;text-align:center;}
.cm-hot{margin:11px 0;font-size:13px;font-weight:800;color:#ff6a88;text-align:center;}
.cm-hot.win{color:#46d39a;}
.cm-haters,.cm-praises{display:flex;flex-direction:column;gap:8px;margin-bottom:14px;}
.cm-hater,.cm-praise{display:flex;gap:9px;background:rgba(255,255,255,.04);border:1px solid #241c34;border-radius:11px;padding:9px 11px;}
.cm-hater{border-left:3px solid #ff6a88;}.cm-praise{border-left:3px solid #46d39a;}
.cm-hav,.cm-pav{font-size:18px;flex:none;}
.cm-hb{flex:1;}
.cm-resp-h{font-size:13px;font-weight:800;margin:6px 0 9px;}
.cm-rev{background:linear-gradient(135deg,#7a5cff,#b06bff);border-radius:12px;padding:14px;font-size:15px;font-weight:900;text-align:center;}
.cm-surge{text-align:center;margin:14px 0;font-size:15px;}
.cm-surge b{display:block;font-size:34px;font-weight:900;color:#46d39a;font-family:"Bebas Neue",sans-serif;}
.cm-surge span{font-size:12.5px;color:#9a8ec0;}
.cm-sum-card{background:rgba(20,14,28,.92);border:1px solid #3a2f54;border-radius:16px;padding:16px;}
.cm-sum-h{font-size:13px;font-weight:900;text-align:center;margin-bottom:12px;}
.cm-sum-concept{border-radius:12px;padding:18px;text-align:center;font-size:20px;font-weight:900;text-shadow:0 2px 8px rgba(0,0,0,.5);margin-bottom:12px;}
.cm-sum-concept i{font-style:normal;font-size:13.5px;font-weight:600;margin-left:6px;opacity:.9;}
.cm-sum-row{display:flex;justify-content:space-between;font-size:14px;padding:7px 0;border-top:1px solid #241c34;}
.cm-sum-row.hl b{color:#ffd86b;}
.cm-sum-bar{height:8px;background:rgba(255,255,255,.08);border-radius:5px;overflow:hidden;margin:8px 0;}
.cm-sum-bar span{display:block;height:100%;background:linear-gradient(90deg,#ff6fae,#ffd86b);}
.cm-sum-note{font-size:12px;color:#8a7ea8;margin-top:6px;}
/* 设置里的 AI key */
.st-ai-h{font-size:15.5px;font-weight:800;padding:4px 2px;}
.st-ai-h span{font-size:11.5px;border-radius:5px;padding:1px 7px;margin-left:6px;}
.st-ai-on{background:rgba(70,211,154,.2);color:#7ff0c2;}
.st-ai-off{background:rgba(255,255,255,.08);color:#9a8ec0;}
.st-ai-d{font-size:13.5px;color:#8a7ea8;margin:4px 2px 10px;}
.st-sl-h{font-size:15px;font-weight:800;color:#fff;}
.st-sl-d{font-size:13px;color:#8a7ea8;margin:4px 2px 10px;line-height:1.5;}
.st-segs{display:flex;gap:8px;}
.st-seg{flex:1;padding:11px 0;border-radius:11px;border:1px solid rgba(255,120,160,.28);background:rgba(255,255,255,.05);color:#c7bfe0;font-size:14.5px;font-weight:700;}
.st-seg.on{background:linear-gradient(120deg,#ff5e8a,#ff8fb3);border-color:transparent;color:#fff;}
.st-ai-key{width:100%;background:rgba(255,255,255,.06);border:1px solid #2c2340;border-radius:10px;padding:10px 12px;color:#fff;font-size:13.5px;font-family:ui-monospace,monospace;box-sizing:border-box;}
.st-ai-left{margin-top:9px;font-size:13px;color:#bcaee6;}
.st-ai-left b{color:#ffd86b;font-family:"Bebas Neue",sans-serif;font-size:15px;}

/* ===== ③티저期(P2):预告放料 + 期待值 ===== */
.teaser{padding-bottom:12px;background:#0d0a14;color:#fff;}
.teaser .ts-bar{background:#0d0a14;color:#fff;border-color:#241a33;}
.teaser .ts-bar .ab-t,.teaser .ts-bar .ab-back{color:#fff;}
.ts-hd{padding:14px 15px 4px;}
.ts-h1{font-family:"Playfair Display",serif;font-weight:900;font-size:22px;}
.ts-h2{font-size:12.5px;color:#a99ec8;margin-top:3px;}
.ts-hype{margin:14px 15px;background:linear-gradient(150deg,rgba(255,111,174,.16),rgba(122,108,255,.16));border:1px solid #3a2c52;border-radius:16px;padding:14px 15px;}
.ts-hl{font-size:12.5px;color:#ffd0e4;letter-spacing:1px;font-family:"Bebas Neue",sans-serif;}
.ts-hbar{height:14px;background:rgba(0,0,0,.3);border-radius:8px;overflow:hidden;margin:8px 0 6px;}
.ts-hbar span{display:block;height:100%;background:linear-gradient(90deg,#ff6fae,#ffd86b);border-radius:8px;transition:width .5s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 14px rgba(255,180,120,.5);}
.ts-hv{text-align:right;font-family:"Anton",sans-serif;font-size:26px;color:#ffe08a;line-height:1;}
.ts-hv small{font-size:13px;color:#9a86c4;}
.ts-react{margin:0 15px 6px;}
.ts-rrow{display:flex;justify-content:space-between;gap:6px;font-size:12.5px;color:#c9b8ee;font-family:"Bebas Neue",sans-serif;letter-spacing:.5px;}
.ts-fx{min-height:18px;margin-top:6px;font-size:12.5px;color:#ffd86b;opacity:0;transform:translateY(4px);transition:opacity .3s,transform .3s;text-align:center;}
.ts-fx.show{opacity:1;transform:none;}
.ts-list{padding:8px 15px 0;display:flex;flex-direction:column;gap:9px;}
.ts-card{display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.05);border:1px solid #2c2340;border-radius:13px;padding:11px 13px;transition:opacity .2s;}
.ts-card.done{opacity:.55;}
.ts-e{font-size:22px;width:30px;text-align:center;flex-shrink:0;}
.ts-b{flex:1;min-width:0;}
.ts-n{font-size:13.5px;font-weight:800;}
.ts-n i{font-style:normal;font-weight:500;font-size:11.5px;color:#9a8ec0;margin-left:4px;}
.ts-meta{font-size:12px;color:#a99ec8;margin-top:2px;}
.ts-go{flex-shrink:0;border:0;background:linear-gradient(90deg,#ff6fae,#b06bff);color:#fff;font-weight:800;font-size:13.5px;border-radius:18px;padding:7px 16px;cursor:pointer;}
.ts-go:active{transform:scale(.95);}
.ts-ok{flex-shrink:0;color:#5bd6a0;font-size:18px;font-weight:900;}
.ts-tip{text-align:center;font-size:12px;color:#8a7ea8;}
.teaser .btn-tech:disabled{opacity:.4;filter:grayscale(.4);}

/* ===== ④컴백日(P3):回归日 MV + 实时音源榜 ===== */
.release{padding-bottom:12px;background:#0b0a12;color:#fff;}
.release .rel-bar{background:#0b0a12;color:#fff;border-color:#241a33;}
.release .rel-bar .ab-t,.release .rel-bar .ab-back{color:#fff;}
.rel-mv{display:flex;align-items:center;gap:13px;margin:14px 15px;padding:13px;background:linear-gradient(150deg,#1a1030,#0c0716);border:1px solid #2c2340;border-radius:16px;}
.rel-cover{width:74px;height:74px;border-radius:12px;flex-shrink:0;background:#23173f center/cover;display:flex;align-items:center;justify-content:center;font-size:30px;box-shadow:0 0 22px rgba(255,111,174,.3);}
.rel-mvi{flex:1;min-width:0;}
.rel-mvk{font-size:12px;color:#a99ec8;font-family:"Bebas Neue",sans-serif;letter-spacing:1px;}
.rel-views{font-family:"Anton",sans-serif;font-size:34px;line-height:1.05;background:linear-gradient(180deg,#fff 40%,#ff6fae);-webkit-background-clip:text;background-clip:text;color:transparent;}
.rel-allkill{margin:0 15px 10px;text-align:center;font-family:"Anton",sans-serif;font-size:19px;letter-spacing:1px;color:#3a2400;background:linear-gradient(90deg,#ffe9a8,#ffd05a,#ffe9a8);border-radius:12px;padding:9px;box-shadow:0 0 24px rgba(255,200,80,.55);animation:akPulse 1s ease-in-out infinite;}
@keyframes akPulse{50%{box-shadow:0 0 34px rgba(255,200,80,.85);}}
.rel-no1{margin:0 15px 10px;text-align:center;font-weight:900;font-size:16px;color:#ffd86b;}
.rel-chart{margin:0 15px;background:rgba(255,255,255,.04);border:1px solid #2c2340;border-radius:14px;overflow:hidden;}
.rel-ch{font-size:13.5px;font-weight:800;padding:11px 13px;border-bottom:1px solid #2c2340;color:#9fe0a0;}
.ml-row{display:flex;align-items:center;gap:11px;padding:9px 13px;border-bottom:1px solid rgba(255,255,255,.04);}
.ml-row:last-child{border-bottom:0;}
.ml-rk{width:20px;text-align:center;font-family:"Bebas Neue",sans-serif;font-size:17px;color:#9a8ec0;flex-shrink:0;}
.ml-info{flex:1;min-width:0;}
.ml-info b{font-size:14px;display:block;}
.ml-info i{font-style:normal;font-size:13px;color:#8a7ea8;}
.ml-row.me{background:linear-gradient(90deg,rgba(255,111,174,.2),rgba(255,216,107,.12));}
.ml-row.me .ml-rk{color:#ffd86b;font-size:20px;}
.ml-row.me .ml-info b{color:#ffd0e4;}
.ml-up{color:#5bd6a0;font-size:13.5px;}

/* ===== ⑤打歌期(P4):음악방송 1위 ===== */
.promo{padding-bottom:12px;background:#0d0a14;color:#fff;}
.promo .pr-bar{background:#0d0a14;color:#fff;border-color:#241a33;}
.promo .pr-bar .ab-t,.promo .pr-bar .ab-back{color:#fff;}
.pr-hd{display:flex;align-items:baseline;justify-content:space-between;padding:14px 15px 6px;}
.pr-wk{font-family:"Anton",sans-serif;font-size:26px;}
.pr-wk i{font-style:normal;font-size:14px;color:#7e72a0;}
.pr-tro{font-family:"Bebas Neue",sans-serif;font-size:16px;color:#ffd86b;}
.pr-rivals{display:flex;flex-wrap:wrap;gap:7px;padding:0 15px 4px;}
.pr-rival{font-size:12.5px;background:rgba(255,80,110,.16);color:#ff9ab0;border:1px solid #5a2436;border-radius:14px;padding:3px 10px;}
.promo .pl-preview{margin:12px 15px;}
.pr-shows-h{margin:15px 15px 9px;font-size:15px;font-weight:800;}
.pr-shows{padding:0 15px;display:flex;flex-direction:column;gap:7px;}
.pr-show{display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.05);border:1px solid #2c2340;border-radius:11px;padding:9px 12px;}
.ps-d{width:20px;text-align:center;font-size:13.5px;color:#9a8ec0;flex-shrink:0;}
.ps-n{flex:1;font-size:13px;font-weight:700;}
.ps-n i{font-style:normal;font-weight:500;font-size:11.5px;color:#8a7ea8;margin-left:5px;}
.ps-v{font-family:"Bebas Neue",sans-serif;font-size:18px;color:#ffe08a;}
/* 周结算 overlay */
.wk-list{width:100%;margin:4px 0 2px;}
.wk-row{display:flex;align-items:center;justify-content:space-between;padding:8px 12px;border-radius:9px;margin-bottom:5px;background:rgba(0,0,0,.05);}
.wk-row.win{background:linear-gradient(90deg,rgba(255,190,60,.28),rgba(255,111,174,.16));}
.wk-s{font-size:14px;font-weight:800;color:#2a2333;}
.wk-1{font-size:13.5px;font-weight:900;color:#c8891a;}
.wk-n{font-size:12.5px;font-weight:700;color:#8a7fa5;}
.wk-promise{font-size:13px;font-weight:700;color:#c2185b;background:rgba(255,111,174,.14);border-radius:9px;padding:8px 10px;margin-top:6px;}

/* ===== P5:打歌期 총공 + 活动牌 ===== */
.pr-sec{margin:16px 15px 9px;font-size:15px;font-weight:800;display:flex;align-items:center;gap:8px;}
.pr-energy{margin-left:auto;font-family:"Bebas Neue",sans-serif;font-size:13px;color:#ffd86b;font-weight:400;}
.pr-push{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px;padding:0 15px;}
.pp-pill{cursor:pointer;background:linear-gradient(150deg,rgba(255,111,174,.16),rgba(122,108,255,.16));border:1px solid #3a2c52;border-radius:12px;padding:10px 8px;text-align:center;transition:transform .1s;}
.pp-pill:active{transform:scale(.96);}
.pp-k{font-size:12.5px;font-weight:700;}
.pp-k i{display:block;font-style:normal;font-size:10.5px;color:#9a8ec0;margin-top:1px;}
.pp-v{font-family:"Anton",sans-serif;font-size:20px;color:#ffe08a;margin-top:4px;}
.pr-pushreset{text-align:center;font-size:12px;color:#8a7ea8;margin:7px 0 2px;cursor:pointer;}
.pr-acts{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:0 15px;}
.pr-act{cursor:pointer;display:flex;flex-direction:column;background:rgba(255,255,255,.05);border:1px solid #2c2340;border-radius:12px;padding:10px;transition:transform .1s,opacity .2s;}
.pr-act:active{transform:scale(.97);}
.pr-act.done{opacity:.5;border-color:#5bd6a0;}
.pa-e{font-size:18px;}
.pa-n{font-size:13px;font-weight:800;margin-top:3px;}
.pa-n i{font-style:normal;font-weight:500;font-size:11.5px;color:#9a8ec0;margin-left:4px;}
.pa-d{font-size:11.5px;color:#a99ec8;margin-top:3px;}
/* ===== 打歌期 重做:舞台服装 / 사녹 / 팬반응 / 앵콜소감 / 기록 ===== */
.pr-sec span{margin-left:auto;font-size:11.5px;font-weight:600;color:#8a7ea8;}
.pr-recs{display:flex;flex-wrap:wrap;gap:6px;padding:0 15px 4px;}
.pr-rec{font-size:12.5px;font-weight:800;background:linear-gradient(90deg,rgba(255,216,107,.2),rgba(255,111,174,.15));color:#ffd86b;border:1px solid #6a5220;border-radius:13px;padding:3px 10px;}
.pr-rivh{font-size:11.5px;color:#8a7ea8;font-weight:700;}
/* 舞台服装(带立绘图) */
.po-outs{display:grid;grid-template-columns:1fr 1fr;gap:9px;padding:0 15px;}
.po-out{cursor:pointer;background:#fff;border:1.5px solid #ececf2;border-radius:13px;overflow:hidden;transition:transform .1s;}
.po-out:active{transform:scale(.97);}
.po-out.on{border-color:#ff5aa0;box-shadow:0 0 0 2px rgba(255,90,160,.25);}
.po-img{position:relative;width:100%;aspect-ratio:3/4;background-size:cover;background-position:center top;background-color:#1a1420;}
.po-lockic{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:26px;background:rgba(10,6,16,.5);}
.po-info{padding:8px 10px 10px;}
.po-e{font-size:15px;}
.po-n{font-size:14px;font-weight:800;}
.po-n i{display:block;font-style:normal;font-weight:500;font-size:11.5px;color:#9a8ec0;margin-top:1px;}
.po-l{font-size:11.5px;color:#ffb0cb;font-weight:700;margin-top:4px;}
.po-out.lock{cursor:default;}
.po-out.lock .po-img{filter:grayscale(.7) brightness(.8);}
/* 待解锁通用 */
.pr-act.lock,.pr-rehearse.lock,.pp-pill.lock{opacity:.55;cursor:default;pointer-events:none;}
.pr-rehearse.lock{border-style:dashed;}
/* 打歌 app 战绩 hub(非打歌期) */
.promo.cl .cl-hd{padding:14px 16px 4px;}
.cl-h1{font-family:"Anton",sans-serif;font-size:24px;}
.cl-h2{font-size:13px;color:#8a7ea8;margin-top:2px;}
.cl-stats{display:grid;grid-template-columns:1fr 1fr 1fr 1fr;gap:8px;padding:10px 15px 4px;}
.cl-stat{background:rgba(255,255,255,.05);border:1px solid #2c2340;border-radius:11px;padding:10px 6px;text-align:center;}
.cl-sv{font-family:"Bebas Neue",sans-serif;font-size:19px;color:#ffe08a;}
.cl-sl{font-size:10.5px;color:#9a8ec0;margin-top:2px;line-height:1.3;}
.cl-nudge{margin:12px 15px 4px;background:linear-gradient(150deg,rgba(122,108,255,.18),rgba(255,111,174,.12));border:1px solid #4a3c72;border-radius:13px;padding:12px 14px;cursor:pointer;}
.cl-nudge b{display:block;font-size:13.5px;}
.cl-nudge span{display:block;font-size:12.5px;color:#b9acdd;margin-top:3px;}
.cl-lockhd{margin:16px 15px 4px;font-size:13.5px;font-weight:800;color:#8a7ea8;}
.cl-note{margin:8px 15px 0;font-size:12.5px;color:#8a7ea8;line-height:1.6;background:rgba(255,255,255,.03);border-radius:11px;padding:11px 13px;}
/* 打歌 app = 专辑app 风格(浅色):把深色组件在 .alm 里改成浅色 */
.alm .po-n,.alm .po-e{color:#17131c;}
.alm .pr-shows{padding:0;display:flex;flex-direction:column;gap:8px;}
.alm .pr-show{background:#fff;border:1px solid #ececf2;border-radius:12px;color:#2a2530;}
.alm .ps-d{color:#9a93a5;}
.alm .ps-n i{color:#9a93a5;}
.alm .ps-v{color:#c79a2e;}
.alm .cl-stats{padding:0;grid-template-columns:1fr 1fr 1fr 1fr;gap:9px;}
.alm .cl-stat{background:#fff;border:1px solid #ececf2;}
.alm .cl-sv{color:#c79a2e;}
.alm .cl-sl{color:#9a93a5;}
.alm .pr-recs{padding:0;}
.alm .pr-rec{background:#fff6e6;border-color:#f2d98f;color:#a5701e;}
.pr-fanfeed.light{padding:0;}
.pr-fanfeed.light .pf-msg{background:#faf7ff;}
.pr-fanfeed.light .pf-k{color:#8667FF;}
.pr-fanfeed.light .pf-c{color:#9a93a5;}
/* 无锁定 outfit(app 内待解锁灰显) */
.alm .po-out.lock{opacity:1;}
/* 打歌任务卡:中文名 + 韩文小字 */
.alm-nmk{font-size:11.5px;color:#b3aac2;font-weight:600;}
/* KakaoTalk 好友申请(邀约方) */
.kt-row.freq{background:linear-gradient(90deg,#eef3ff,#f6f0ff);}
.kt-freq{font-size:11px;font-weight:800;color:#6a6bff;background:#e6e9ff;border-radius:8px;padding:1px 6px;margin-left:4px;}
/* 邀约详情 overlay */
.ofd{text-align:left;}
.ofd-top{display:flex;gap:12px;align-items:center;margin-bottom:10px;}
.ofd-ic{width:46px;height:46px;border-radius:13px;background:#EEF2FF;display:flex;align-items:center;justify-content:center;font-size:24px;flex-shrink:0;}
.ofd-t{font-size:17px;font-weight:900;color:#1f2330;}
.ofd-k{font-size:14px;color:#8a8496;margin-top:2px;}
.ofd-from{background:#f6f4fb;border-radius:12px;padding:10px 12px;font-size:14px;font-weight:700;color:#4a4560;margin-bottom:10px;}
.ofd-from span{display:block;font-size:12px;font-weight:500;color:#9a93a5;margin-top:2px;}
.ofd-fee{font-size:13px;font-weight:800;color:#6a5a10;background:#fff6e0;border-radius:11px;padding:10px 12px;margin-bottom:9px;}
.ofd-fee b{color:#c7920e;font-size:16.5px;}
.ofd-desc{font-size:13.5px;color:#5a5568;line-height:1.6;margin-bottom:12px;}
.ofd-cast{font-size:14.5px;font-weight:800;color:#8667FF;margin-bottom:8px;}
.ofd-done{font-size:14px;font-weight:800;color:#23a865;text-align:center;line-height:1.7;padding:8px 0;}
.ofd-btns{display:flex;gap:9px;}
.ofd-no{flex:none;background:#f2f0f5;color:#8a8496;border:none;border-radius:15px;padding:0 18px;font-size:13px;font-weight:800;cursor:pointer;font-family:inherit;}
/* 기획사·CEO */
.ag-step{display:flex;align-items:center;gap:12px;background:#fff;border:1.5px solid #ececf2;border-radius:14px;padding:12px 14px;margin-bottom:9px;cursor:pointer;}
.ag-step.on{border-color:#5bd6a0;background:#f2fcf6;}
.ag-step-ic{width:40px;height:40px;border-radius:12px;background:#F0E8FF;display:flex;align-items:center;justify-content:center;font-size:21px;flex-shrink:0;}
.ag-step-b{flex:1;min-width:0;}
.ag-step-t{font-size:15.5px;font-weight:800;color:#17131c;}
.ag-step-d{font-size:13.5px;color:#9a93a5;margin-top:2px;}
.ag-step-bd{font-size:12.5px;font-weight:800;color:#8667FF;flex-shrink:0;}
.ag-step-bd.done{color:#23a865;}
.ag-glist{max-height:300px;overflow-y:auto;margin-top:6px;display:flex;flex-direction:column;gap:6px;}
.ag-g{display:flex;align-items:center;gap:10px;background:#f8f6fc;border-radius:11px;padding:9px 11px;cursor:pointer;text-align:left;}
.ag-gc{width:12px;height:12px;border-radius:50%;flex-shrink:0;}
.ag-gn{flex:1;font-size:14.5px;font-weight:800;color:#2a2530;}
.ag-gn i{font-style:normal;font-weight:500;font-size:13px;color:#9a93a5;margin-left:4px;}
.ag-gm{font-size:12px;color:#9a93a5;}
.ag-arts{display:flex;flex-direction:column;gap:8px;}
.ag-art{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #ececf2;border-radius:13px;padding:11px 13px;}
.ag-art-c{width:10px;height:34px;border-radius:5px;flex-shrink:0;}
.ag-art-b{flex:1;min-width:0;}
.ag-art-n{font-size:15px;font-weight:800;color:#2a2530;}
.ag-art-n i{font-style:normal;font-weight:500;font-size:12px;color:#9a93a5;margin-left:4px;}
.ag-art-i{font-size:13.5px;color:#a5701e;margin-top:2px;}
.ag-art-v{font-size:13px;font-weight:800;color:#23a865;flex-shrink:0;}
.ag-collect{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#fff6e0,#ffeecb);border:1px solid #f2d98f;border-radius:15px;padding:14px 15px;}
.ag-collect-b{flex:1;}
.ag-collect-l{font-size:13px;font-weight:700;color:#a5701e;}
.ag-collect-v{font-family:"Bebas Neue",sans-serif;font-size:26px;color:#c7920e;margin-top:2px;}
.ag-collect-btn{flex-shrink:0;background:linear-gradient(95deg,#FFCB68,#FFB43E);color:#5a3d00;border:none;border-radius:13px;padding:12px 17px;font-size:14px;font-weight:900;cursor:pointer;line-height:1.3;font-family:inherit;}
.ag-collect-note{font-size:12px;color:#9a93a5;margin-top:7px;line-height:1.5;}
/* 杂志封面 payoff */
.magcov{position:relative;width:150px;aspect-ratio:3/4;margin:4px auto 12px;border-radius:8px;overflow:hidden;background:#241a2e;box-shadow:0 8px 24px rgba(0,0,0,.25);container-type:inline-size;}
.magcov-ph{position:absolute;inset:0;background-size:cover;background-position:center;display:flex;align-items:center;justify-content:center;font-size:40px;}
.magcov-mast{position:absolute;top:5cqw;left:0;right:0;text-align:center;font-family:'Playfair Display',serif;font-weight:900;font-size:16cqw;color:#fff;letter-spacing:.5cqw;text-shadow:0 .4cqw 2cqw rgba(0,0,0,.5);}
.magcov-lines{position:absolute;left:5cqw;bottom:14cqw;}
.magcov-l{margin-bottom:3cqw;}
.magcov-l b{display:block;font-size:5cqw;font-weight:900;color:#fff;text-shadow:0 .3cqw 1cqw rgba(0,0,0,.7);line-height:1;}
.magcov-l span{font-size:3cqw;color:#ffd0e4;font-weight:700;text-shadow:0 .2cqw .8cqw rgba(0,0,0,.7);}
.magcov-issue{position:absolute;right:5cqw;bottom:5cqw;font-size:2.8cqw;font-weight:800;color:#fff;letter-spacing:.3cqw;text-shadow:0 .2cqw .8cqw rgba(0,0,0,.7);}
/* 응원봉·MD 스튜디오 */
.md-stickimg{position:relative;width:100%;aspect-ratio:2/3;background-size:contain;background-repeat:no-repeat;background-position:center;}
.md-stickimg.big{width:150px;margin:0 auto;}
.md-glow{position:absolute;inset:0;mix-blend-mode:screen;pointer-events:none;}
.md-prevbig{display:flex;justify-content:center;margin-bottom:10px;}
.md-prevbig .md-empty{width:150px;height:225px;display:flex;align-items:center;justify-content:center;background:#1a1420;color:#9a8ec0;border-radius:14px;font-size:13.5px;text-align:center;padding:20px;}
.md-shapes{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;}
.md-shape{background:#1a1420;border:2px solid transparent;border-radius:12px;padding:6px 4px 8px;cursor:pointer;overflow:hidden;}
.md-shape.on{border-color:#ff5aa0;}
.md-shape .md-stickimg{aspect-ratio:1/1.6;}
.md-shape-n{font-size:11px;font-weight:700;color:#c9bdd8;text-align:center;margin-top:3px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.md-shape-n i{font-style:normal;color:#8a7ea8;font-size:8px;display:block;}
.md-name{width:100%;box-sizing:border-box;background:#fff;border:1.5px solid #e6dff0;border-radius:11px;padding:12px;font-size:15px;color:#17131c;}
.md-name:focus{outline:none;border-color:#8667FF;}
.md-goods{display:flex;flex-direction:column;gap:8px;}
.md-good{display:flex;align-items:center;gap:11px;background:#fff;border:1.5px solid #ececf2;border-radius:13px;padding:11px 13px;cursor:pointer;}
.md-good.on{border-color:#ff5aa0;background:#fff5f9;}
.md-good-e{font-size:24px;flex-shrink:0;}
.md-good-b{flex:1;}
.md-good-n{font-size:15px;font-weight:800;color:#2a2530;}
.md-good-n i{font-style:normal;font-weight:500;font-size:13px;color:#9a93a5;margin-left:4px;}
.md-good-p{font-size:14px;color:#a5701e;margin-top:2px;}
.md-good-ck{width:28px;height:28px;border-radius:50%;border:2px solid #e0d8ee;color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;flex-shrink:0;}
.md-good.on .md-good-ck{background:#ff5aa0;border-color:#ff5aa0;}
.mdr-row{display:flex;align-items:center;gap:8px;font-size:13.5px;padding:6px 0;border-bottom:1px solid rgba(0,0,0,.06);}
.mdr-row span:first-child{flex:1;color:#5a5568;font-weight:600;}
.mdr-row b{color:#2a2530;}
.mdr-rv{color:#c7920e;font-weight:800;min-width:74px;text-align:right;}
.mdr-tot{margin-top:8px;font-size:14px;font-weight:700;color:#4a4560;}
.mdr-tot b{color:#23a865;font-size:14px;}
/* 经纪人建议 box */
.ofd-mgr{border-radius:12px;padding:10px 12px;margin-bottom:9px;border:1px solid #e6dff0;background:#f8f6fc;}
.ofd-mgr.grab{background:#eafaf0;border-color:#b8ebcd;}
.ofd-mgr.careful{background:#fff4e6;border-color:#f2d9a8;}
.ofd-mgr-h{font-size:13px;font-weight:800;color:#5a5568;display:flex;align-items:center;gap:6px;}
.ofd-verd{font-size:11.5px;font-weight:900;padding:2px 8px;border-radius:8px;background:#eceef2;color:#7a828f;}
.ofd-verd.grab{background:#d5f3e0;color:#1e9d5e;}
.ofd-verd.careful{background:#fbe6c2;color:#b5851c;}
.ofd-mgr-c{font-size:13px;color:#4a4560;line-height:1.55;margin-top:5px;font-weight:600;}
/* 试戏 台词场景 */
.aud-slate{background:#1f1a2e;color:#ffd86b;border-radius:11px;padding:9px 12px;font-size:13.5px;font-weight:700;margin:2px 0 8px;}
.aud-slate span{display:block;font-size:12px;color:#c9b8ee;font-weight:500;margin-top:3px;}
.aud-line{background:#faf7ff;border-left:4px solid #8667FF;border-radius:0 11px 11px 0;padding:12px 14px;font-size:15px;font-weight:800;color:#2a2530;line-height:1.5;margin-bottom:8px;font-family:'Playfair Display',serif;}
.aud-line span{display:block;font-family:inherit;font-size:13.5px;font-weight:600;color:#8a8496;margin-top:4px;font-style:normal;}
.aud-q{font-size:14px;font-weight:800;color:#5a5568;margin:6px 0 8px;text-align:center;}
/* ===== 试镜/拍摄 role-play 全场景 ===== */
.aud-scene{position:relative;min-height:100%;display:flex;flex-direction:column;background:#070510;}
.aud-scene .reh-bg{filter:brightness(.62) saturate(1.05);}
.aud-veil{position:absolute;inset:0;z-index:1;background:linear-gradient(180deg,rgba(6,4,14,.55) 0,rgba(6,4,14,.12) 30%,rgba(6,4,14,.55) 66%,rgba(6,4,14,.96) 100%);}
.aud-scene .app-bar{position:relative;z-index:6;background:transparent;}
.aud-scene .app-bar .ab-t{color:#fff;text-shadow:0 2px 10px rgba(0,0,0,.8);}
.aud-scene .app-bar .ab-back{color:#fff;}
.aud-npc{position:relative;z-index:5;display:flex;align-items:center;gap:11px;margin:2px 16px 0;padding:9px 12px;background:rgba(18,12,32,.72);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);border-radius:14px;}
.aud-npc-av{width:42px;height:42px;flex:none;border-radius:50%;background:linear-gradient(135deg,#8667FF,#ff6ea6);display:flex;align-items:center;justify-content:center;font-size:22px;box-shadow:0 3px 12px rgba(134,103,255,.5);}
.aud-npc-nm{font-size:14.5px;font-weight:900;color:#fff;line-height:1.25;}
.aud-npc-nm span{display:block;font-size:12px;font-weight:600;color:#c9b8ee;margin-top:1px;}
.sh-prog{position:relative;z-index:5;display:flex;align-items:center;gap:9px;margin:9px 16px 0;}
.sh-prog-bar{flex:1;height:7px;border-radius:4px;background:rgba(255,255,255,.16);overflow:hidden;}
.sh-prog-in{height:100%;border-radius:4px;background:linear-gradient(90deg,#ffd86b,#ff6ea6);transition:width .4s;}
.sh-prog span{font-size:12px;font-weight:800;color:#ffd86b;white-space:nowrap;}
.aud-body{position:relative;z-index:5;flex:1;display:flex;flex-direction:column;justify-content:flex-end;padding:14px 16px 4px;}
.aud-say{background:rgba(18,12,32,.82);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.15);border-radius:16px;padding:14px 16px;font-size:15px;font-weight:700;color:#fff;line-height:1.55;margin-top:9px;box-shadow:0 8px 30px rgba(0,0,0,.5);}
.aud-say b:first-child{display:block;font-size:12.5px;font-weight:800;color:#ffd86b;margin-bottom:5px;letter-spacing:.3px;}
.aud-say span{display:block;font-size:13.5px;font-weight:600;color:#c4bcd6;margin-top:6px;}
.aud-slate2{display:inline-block;background:#1f1a2e;color:#ffd86b;border-radius:9px;padding:7px 12px;font-size:13.5px;font-weight:800;margin-top:9px;border:1px solid rgba(255,216,107,.35);}
.aud-scene .aud-line{margin-top:10px;}
.aud-line.big{font-size:19px;padding:16px 16px;background:rgba(250,247,255,.96);}
.aud-line.big span{font-size:13px;}
.aud-scene .aud-q{color:#e7dffb;margin-top:10px;text-shadow:0 2px 8px rgba(0,0,0,.7);}
.aud-ctrl{display:flex;flex-direction:column;gap:9px;}
.aud-opt{width:100%;text-align:left;background:rgba(255,255,255,.94);border:1px solid rgba(134,103,255,.3);border-radius:14px;padding:13px 15px;font-size:14.5px;font-weight:800;color:#2a2530;cursor:pointer;font-family:inherit;line-height:1.3;box-shadow:0 4px 16px rgba(0,0,0,.3);}
.aud-opt small{display:block;font-size:12.5px;font-weight:600;color:#8a8496;margin-top:2px;}
.aud-opt:active{transform:scale(.98);}
.aud-opt.wide{background:linear-gradient(180deg,rgba(255,255,255,.97),rgba(245,240,255,.95));}
.aud-result{text-align:center;font-size:19px;font-weight:900;padding:13px;border-radius:15px;margin-bottom:4px;box-shadow:0 8px 30px rgba(0,0,0,.5);}
.aud-result.pass{background:linear-gradient(135deg,#ffd86b,#ff9a5a);color:#3a2410;}
.aud-result.fail{background:linear-gradient(135deg,#4a4358,#2a2438);color:#e7dffb;}
.sh-gain{text-align:center;font-size:13px;font-weight:900;color:#c4bcd6;margin-top:8px;}
.sh-gain.up{color:#7bffb0;}
.sh-gain.dn{color:#ff9ab0;}
/* ===== 场景内聊天(试镜/拍摄)===== */
.scn-log{position:relative;z-index:5;flex:1;overflow-y:auto;padding:12px 14px 8px;display:flex;flex-direction:column;gap:9px;-webkit-overflow-scrolling:touch;}
.scn-line{display:flex;gap:8px;max-width:88%;}
.scn-line.me{align-self:flex-end;flex-direction:row-reverse;}
.scn-av{width:32px;height:32px;flex:none;border-radius:50%;background:linear-gradient(135deg,#8667FF,#ff6ea6);display:flex;align-items:center;justify-content:center;font-size:17px;align-self:flex-end;}
.scn-col{min-width:0;}
.scn-nm{font-size:12px;font-weight:800;color:#ffd86b;margin:0 0 3px 2px;}
.scn-bub{background:rgba(24,17,40,.86);border:1px solid rgba(255,255,255,.14);border-radius:15px;padding:10px 13px;font-size:12px;font-weight:500;color:#ccc4de;line-height:1.45;box-shadow:0 4px 16px rgba(0,0,0,.4);display:flex;flex-direction:column;}
.scn-line.me .scn-bub{background:linear-gradient(180deg,#ffe45c,#ffcf2e);color:#3a2c00;border-color:transparent;}
.scn-bub span{font-size:15.5px;font-weight:600;color:#fff;order:-1;}
.scn-slate{align-self:center;background:#1f1a2e;color:#ffd86b;border:1px solid rgba(255,216,107,.35);border-radius:9px;padding:6px 13px;font-size:13.5px;font-weight:800;}
.scn-linebox{align-self:stretch;background:rgba(250,247,255,.97);border-left:4px solid #8667FF;border-radius:0 12px 12px 0;padding:13px 15px;font-size:18px;font-weight:900;color:#2a2530;line-height:1.45;font-family:'Playfair Display',serif;}
.scn-linebox span{display:block;font-family:inherit;font-size:14px;font-weight:600;color:#8a8496;margin-top:5px;font-style:normal;}
.scn-log .aud-result{align-self:center;margin:4px 0;}
.aud-ctrl .scn-q{font-size:14px;font-weight:800;color:#e7dffb;text-align:center;margin-bottom:8px;text-shadow:0 2px 8px rgba(0,0,0,.7);}
.aud-ctrl .scn-opts{display:flex;flex-direction:column;gap:8px;}
.scn-input{display:flex;gap:8px;margin-top:10px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:24px;padding:5px 5px 5px 15px;backdrop-filter:blur(8px);}
.scn-input input{flex:1;background:none;border:none;outline:none;color:#fff;font-size:14px;font-family:inherit;}
.scn-input input::placeholder{color:rgba(255,255,255,.5);}
.scn-input button{flex:none;width:38px;height:38px;border:none;border-radius:50%;background:linear-gradient(135deg,#8667FF,#ff6ea6);color:#fff;font-size:16px;cursor:pointer;}
.aud-scene .aud-npc{margin-bottom:2px;}
/* ★对话过关挑战 talkChallenge:目标横幅 + 说服게이지 + 目标NPC立绘 */
/* ★会议室 VN 互动格式(iscene):场景背景压暗 + 立绘右上角(当前说话人,透明抠图) + 一句大字台词 + 底部话术/输入 */
.iscene{position:absolute;inset:0;overflow:hidden;background:#0d0a14;color:#f3eefb;display:flex;flex-direction:column;}
.iscene.tappable{cursor:pointer;}
.isc-bg{position:absolute;inset:0;background:center/cover no-repeat;filter:brightness(.34) saturate(.9);}
.isc-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,7,16,.55),rgba(10,7,16,.2) 40%,rgba(10,7,16,.85));}
.isc-port{position:absolute;top:8px;right:10px;width:38%;max-width:180px;height:52%;z-index:6;pointer-events:none;}
.isc-port img{width:100%;height:100%;object-fit:contain;object-position:top right;filter:drop-shadow(-4px 6px 16px rgba(0,0,0,.55));animation:iscPort .5s ease both;}
.isc-port.emo{display:flex;align-items:flex-start;justify-content:flex-end;font-size:64px;}
@keyframes iscPort{from{opacity:0;transform:translateX(14px);}to{opacity:1;transform:none;}}
.isc-top{position:relative;z-index:5;padding:10px 12px;}
.isc-back{font-size:30px;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.7);cursor:pointer;line-height:1;}
.isc-goalwrap{position:relative;z-index:5;margin:2px 14px 0;padding:11px 14px;background:linear-gradient(120deg,rgba(125,92,255,.32),rgba(255,90,140,.24));border:1px solid rgba(255,255,255,.2);border-radius:15px;backdrop-filter:blur(6px);box-shadow:0 6px 22px rgba(0,0,0,.4);max-width:52%;}
.isc-goal{font-size:18px;font-weight:800;color:#fff;line-height:1.3;text-shadow:0 1px 6px rgba(0,0,0,.5);}
.isc-goal span{display:block;font-size:13.5px;font-weight:600;color:#ffdcea;margin-top:3px;}
.isc-meter{height:9px;background:rgba(0,0,0,.4);border-radius:6px;overflow:hidden;margin:10px 0 6px;}
.isc-meter-in{height:100%;background:linear-gradient(90deg,#ff5e8a,#ffb0c8);border-radius:6px;transition:width .45s ease;}
.isc-meter-in.win{background:linear-gradient(90deg,#5ee89b,#8ff0b8);}
.isc-meta{font-size:12.5px;color:#e3d8f5;font-weight:600;}
.isc-meta b{color:#ffd45e;} .isc-meta b.low{color:#ff6b6b;}
.isc-body{position:relative;z-index:5;margin-top:auto;padding:0 14px;}
/* 会议室场景内的"聊天气泡累积区"(带头像·可滚动;不是聊天软件外壳) */
.isc-log{position:relative;z-index:5;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:10px 12px 6px;display:flex;flex-direction:column;gap:10px;}
.isc-log::-webkit-scrollbar{width:0;}
.isc-msg{display:flex;align-items:flex-end;gap:8px;max-width:100%;}
.isc-msg.them{justify-content:flex-start;padding-right:26%;}
.isc-msg.me{justify-content:flex-end;}
.isc-mav{width:38px;height:38px;border-radius:50%;background:#2a2140 center 14%/cover no-repeat;flex-shrink:0;border:1.5px solid rgba(255,255,255,.45);box-shadow:0 2px 8px rgba(0,0,0,.4);}
.isc-mav.emo{display:flex;align-items:center;justify-content:center;font-size:19px;}
.isc-mcol{display:flex;flex-direction:column;max-width:82%;}
.isc-mnm{font-size:11.5px;font-weight:700;color:#e5d8ff;margin:0 0 3px 4px;text-shadow:0 1px 4px rgba(0,0,0,.7);}
.isc-mbub{background:rgba(18,13,26,.9);border:1px solid rgba(255,255,255,.14);border-radius:5px 16px 16px 16px;padding:9px 13px;font-size:13px;color:#e6dff5;line-height:1.45;display:flex;flex-direction:column;backdrop-filter:blur(4px);box-shadow:0 3px 12px rgba(0,0,0,.35);}
.isc-mbub span{order:-1;color:#fff;font-size:16px;font-weight:700;line-height:1.5;margin-bottom:2px;}
.isc-mbub.me{background:linear-gradient(120deg,rgba(255,94,138,.95),rgba(212,18,74,.9));border-color:transparent;border-radius:16px 5px 16px 16px;}
.isc-mbub.me span{color:#fff;}
.isc-gain{align-self:center;font-size:12px;font-weight:800;padding:5px 14px;border-radius:20px;backdrop-filter:blur(4px);}
.isc-gain.up{background:rgba(94,232,155,.2);color:#8ff0b8;}
.isc-gain.dn{background:rgba(255,120,140,.18);color:#ffa6b2;}
.isc-line{background:rgba(14,9,22,.9);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:15px 18px;backdrop-filter:blur(8px);box-shadow:0 10px 34px rgba(0,0,0,.5);animation:iscUp .35s ease both;}
@keyframes iscUp{from{opacity:0;transform:translateY(12px);}to{opacity:1;transform:none;}}
.isc-line.me{background:linear-gradient(120deg,rgba(255,94,138,.9),rgba(212,18,74,.85));border-color:transparent;}
.isc-spk{display:inline-block;font-size:13px;font-weight:800;color:#fff;background:linear-gradient(120deg,#7d5cff,#a273ff);padding:3px 13px;border-radius:20px;margin-bottom:9px;box-shadow:0 2px 8px rgba(125,92,255,.4);}
.isc-line.me .isc-spk{background:rgba(255,255,255,.28);}
.isc-say{display:flex;flex-direction:column;color:#d6cdea;font-size:13.5px;line-height:1.45;font-weight:500;}
.isc-say span{order:-1;color:#fff;font-size:20px;font-weight:700;line-height:1.5;margin-bottom:4px;}
.isc-line.me .isc-say{color:#ffe6ee;} .isc-line.me .isc-say span{color:#fff;}
.isc-bottom{position:relative;z-index:5;padding:12px 12px 22px;min-height:56px;}
.isc-hint{text-align:center;color:#d7c3ff;font-size:14px;font-weight:600;letter-spacing:.4px;padding:10px 0;}
.isc-hint.tap{animation:iscTap 1.4s ease-in-out infinite;}
@keyframes iscTap{50%{opacity:.45;}}
.isc-chips{display:flex;gap:9px;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:10px;scrollbar-width:none;}
.isc-chips::-webkit-scrollbar{display:none;}
.isc-chip{flex-shrink:0;white-space:nowrap;background:rgba(125,92,255,.2);border:1px solid rgba(150,120,255,.5);color:#efe8ff;font-size:14px;font-weight:700;padding:11px 16px;border-radius:22px;cursor:pointer;}
.isc-chip.risk{background:rgba(255,120,90,.16);border-color:rgba(255,140,100,.5);color:#ffcdb8;}
.isc-chip:active{transform:scale(.96);}
.isc-inbar{display:flex;gap:9px;align-items:center;}
.isc-inbar input{flex:1;border:0;background:rgba(255,255,255,.13);border-radius:24px;padding:14px 18px;font-size:16px;color:#fff;outline:none;}
.isc-inbar input::placeholder{color:#a99fc4;}
.isc-send{border:0;background:linear-gradient(120deg,#ff5e8a,#d4124a);color:#fff;border-radius:50%;width:46px;height:46px;font-size:17px;cursor:pointer;flex-shrink:0;}
.isc-tt{color:#fff;font-size:14.5px;font-weight:800;margin-left:8px;text-shadow:0 2px 8px rgba(0,0,0,.7);}
.isc-goalwrap.plain{background:rgba(14,9,22,.66);border-color:rgba(255,255,255,.14);}
.isc-goalwrap.plain .isc-goal{font-size:15.5px;}
.isc-choices{display:flex;flex-direction:column;gap:9px;}
.isc-choice{position:relative;text-align:left;background:rgba(125,92,255,.16);border:1px solid rgba(150,120,255,.42);border-radius:14px;padding:13px 15px;cursor:pointer;}
.isc-choice:active{transform:scale(.99);}
.isc-choice .k{display:block;color:#fff;font-size:16.5px;font-weight:700;line-height:1.35;}
.isc-choice .c{display:block;color:#d8cff0;font-size:13px;font-weight:500;margin-top:2px;}
.isc-choice i{position:absolute;top:11px;right:13px;font-style:normal;font-size:11.5px;font-weight:700;color:#ffd0b0;background:rgba(255,140,90,.16);padding:2px 8px;border-radius:12px;}
/* ★通用计时点击关卡 minigame */
.mgame{position:absolute;inset:0;overflow:hidden;background:#0b0810;color:#fff;user-select:none;}
.mg-bg{position:absolute;inset:0;background:center/cover no-repeat;filter:brightness(.4);}
.mg-veil{position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 40%,rgba(20,12,30,.2),rgba(10,7,16,.78));}
.mg-top{position:relative;z-index:5;display:flex;align-items:center;gap:8px;padding:10px 12px;}
.mg-title{font-size:15px;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.7);}
.mg-hud{position:relative;z-index:5;margin:0 14px;padding:9px 13px;background:rgba(125,92,255,.2);border:1px solid rgba(255,255,255,.16);border-radius:12px;font-size:13.5px;font-weight:700;color:#efe8ff;text-align:center;}
.mg-hud b{color:#ffd45e;font-size:16px;}
.mg-field{position:absolute;inset:56px 0 0;z-index:4;}
.mg-note{position:absolute;width:74px;height:74px;transform:translate(-50%,-50%);display:flex;align-items:center;justify-content:center;cursor:pointer;}
.mg-dot{position:relative;z-index:2;width:60px;height:60px;border-radius:50%;background:radial-gradient(circle at 40% 35%,#ff9ec4,#ff2d6a);display:flex;align-items:center;justify-content:center;font-size:26px;box-shadow:0 0 22px rgba(255,45,106,.7),inset 0 0 0 2px rgba(255,255,255,.5);}
.mg-ring{position:absolute;left:50%;top:50%;width:60px;height:60px;margin:-30px 0 0 -30px;border-radius:50%;border:3px solid #fff;opacity:.9;animation:mgRing var(--w,1000ms) linear forwards;}
@keyframes mgRing{from{transform:scale(3.3);opacity:.15;}70%{opacity:.85;}to{transform:scale(1);opacity:1;}}
.mg-introbox{position:relative;z-index:5;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:0 28px;gap:14px;}
.mg-ic{font-size:56px;}
.mg-goal{font-size:20px;font-weight:800;color:#fff;line-height:1.35;}
.mg-goal span{display:block;font-size:14px;font-weight:600;color:#ffd0e0;margin-top:5px;}
.mg-rule{font-size:13.5px;color:#c9bfe0;line-height:1.55;background:rgba(255,255,255,.06);border-radius:12px;padding:11px 14px;}
.mg-nowop{font-size:13px;font-weight:800;color:#5ee89b;letter-spacing:.4px;}
.mg-skip{margin-top:2px;font-size:13px;color:#9a8fbd;padding:8px;cursor:pointer;}
/* ★回归前 브리핑(纯铺垫:理事立绘右上角 + 排版重点突出 + 单个开始按钮) */
.brief2{position:absolute;inset:0;overflow:hidden;background:#0d0a14;color:#fff;display:flex;flex-direction:column;}
/* 顶部:立绘区(理事立绘 + 名字职位),文字内容在其下方 */
.b2-hero{position:relative;z-index:5;height:30%;min-height:172px;flex-shrink:0;}
.b2-heroport{position:absolute;top:2px;right:6px;width:46%;max-width:210px;height:100%;}
.b2-heroport img{width:100%;height:100%;object-fit:contain;object-position:top right;filter:drop-shadow(-4px 6px 16px rgba(0,0,0,.55));}
.b2-role{position:absolute;bottom:2px;right:14px;text-align:right;font-size:14px;font-weight:800;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.85);}
.b2-role span{display:block;font-size:11.5px;font-weight:600;color:#ffd0e0;margin-top:2px;}
.b2-headline{font-size:15px;font-weight:800;color:#fff;margin-bottom:2px;}
.b2-body{position:relative;z-index:5;flex:1;min-height:0;overflow-y:auto;padding:6px 15px 12px;}
.b2-label{font-size:12.5px;font-weight:800;color:#ffd45e;letter-spacing:.5px;margin:14px 0 6px;}
.b2-pos{font-size:17px;font-weight:700;color:#fff;line-height:1.4;max-width:66%;text-shadow:0 1px 6px rgba(0,0,0,.6);}
.b2-pos span{display:block;font-size:14px;font-weight:600;color:#e3d8f5;margin-top:2px;}
.b2-pos i{display:block;font-style:normal;font-size:12.5px;color:#a99fc4;margin-top:5px;}
.b2-quote{margin:14px 0 2px;padding:12px 15px;background:rgba(14,9,22,.82);border-left:3px solid #ff5e8a;border-radius:0 12px 12px 0;font-size:17px;font-weight:700;color:#fff;line-height:1.45;}
.b2-quote b{display:block;font-size:12px;font-weight:800;color:#ff9ec4;margin-bottom:4px;}
.b2-quote span{display:block;font-size:13.5px;font-weight:500;color:#d8cff0;margin-top:3px;}
.b2-goal{display:flex;gap:12px;align-items:center;margin-top:9px;padding:14px 15px;border-radius:15px;}
.b2-goal.team{background:linear-gradient(120deg,rgba(255,180,80,.22),rgba(255,120,90,.16));border:1px solid rgba(255,190,90,.4);}
.b2-goal.ctr{background:linear-gradient(120deg,rgba(125,92,255,.24),rgba(255,90,140,.18));border:1px solid rgba(180,140,255,.4);}
.b2-gic{font-size:30px;flex-shrink:0;}
.b2-gt{font-size:12px;font-weight:800;color:#ffe1b0;}
.b2-gv{font-size:20px;font-weight:900;color:#fff;line-height:1.25;margin-top:2px;}
.b2-gv em{font-style:normal;color:#ffd45e;font-size:26px;}
.b2-gs{font-size:12.5px;font-weight:600;color:#e0d6f2;margin-top:2px;}
.b2-final{margin-top:12px;padding:10px 13px;border-radius:12px;background:linear-gradient(120deg,rgba(255,46,116,.2),rgba(180,107,255,.16));border:1px dashed rgba(255,140,190,.5);font-size:12.5px;font-weight:700;color:#ffd0e2;text-align:center;}
.b2-final b{color:#fff;font-weight:900;}
.b2-mates{display:flex;flex-direction:column;gap:8px;margin-top:4px;}
.b2-mate{display:flex;align-items:center;gap:10px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:13px;padding:8px 12px 8px 8px;}
.b2-mav{width:38px;height:38px;border-radius:50%;background:#2a2140 center 14%/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;border:1.5px solid rgba(255,255,255,.35);}
.b2-mt{font-size:14.5px;font-weight:700;color:#fff;line-height:1.3;flex:1;min-width:0;}
.b2-mt b{color:#fff;font-weight:800;font-size:14.5px;}
.b2-mt i{display:block;font-style:normal;font-size:11.5px;color:#c3b6e6;font-weight:600;margin:1px 0 3px;}
.b2-mt em{display:block;font-style:normal;font-size:12.5px;font-weight:700;color:#ffe1ec;}
.b2-mt em span{color:#c8bfe0;font-size:12px;font-weight:500;margin-left:5px;}
.b2-foot{position:relative;z-index:5;padding:12px 16px 24px;}
.tk-res{margin:6px 2px 2px;text-align:left;}
.tk-res-line{font-size:14px;color:#fff;line-height:1.5;margin-bottom:10px;}
.tk-res-line b{display:inline-block;font-size:12px;font-weight:800;color:#fff;background:linear-gradient(120deg,#7d5cff,#a273ff);padding:2px 10px;border-radius:20px;margin-right:6px;}
.tk-res-line span{display:block;color:#c9bfe0;font-size:12.5px;margin-top:3px;}
.tk-res-gain{padding:11px 13px;border-radius:12px;font-size:14.5px;font-weight:800;line-height:1.5;}
.tk-res-gain.win{background:rgba(94,232,155,.14);border:1px solid rgba(94,232,155,.4);color:#8ff0b8;}
.tk-res-gain.lose{background:rgba(255,90,110,.12);border:1px solid rgba(255,90,110,.38);color:#ff9aa8;}
.tk-res-gain span{display:block;color:#e9e2f2;font-weight:600;font-size:13px;margin-top:3px;}
/* 制作场景 = 剧情模式 VN 对话(复用 .st-* + 补 appBar/进度/选项/输入) */
.scn-vn .app-bar{position:relative;z-index:6;background:transparent;}
.scn-vn .app-bar .ab-t,.scn-vn .app-bar .ab-back{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.7);}
.scn-vn .sh-prog{position:relative;z-index:6;margin-top:8px;}
.scn-vn .st-port.r.me{right:auto;left:6%;}
.scn-vn .st-dialog{position:relative;z-index:5;}
.scn-vn-acts{position:relative;z-index:6;background:rgba(9,8,14,.92);padding:12px 16px 10px;}
.scn-vn-acts .scn-q{font-size:14px;font-weight:800;color:#e7dffb;text-align:center;margin-bottom:9px;}
.scn-vn-acts .scn-opts{display:flex;flex-direction:column;gap:9px;}
.scn-vn-act{display:block;width:100%;text-align:left;background:linear-gradient(120deg,rgba(255,94,138,.22),rgba(176,38,255,.16));border:1px solid rgba(255,140,190,.4);border-radius:13px;padding:11px 14px;margin-bottom:8px;color:#fff;font-size:14.5px;font-weight:800;cursor:pointer;}
.scn-vn-act:active{transform:scale(.99);}
.scn-vn-act span{display:block;font-size:12px;font-weight:600;color:#e0d0f0;margin-top:2px;}
/* 💕 恋爱线 */
.lv-enter{display:block;width:calc(100% - 28px);margin:12px 14px 4px;padding:14px 16px;border:none;border-radius:16px;background:linear-gradient(120deg,#ff7eb0,#b026ff);color:#fff;font-size:16px;font-weight:900;text-align:left;box-shadow:0 8px 24px rgba(255,94,168,.4);cursor:pointer;}
.lv-enter b{background:rgba(255,255,255,.28);border-radius:10px;padding:1px 8px;font-size:14px;}
.lv-enter span{display:block;font-size:12px;font-weight:600;opacity:.92;margin-top:3px;}
.lovedash{min-height:100%;background:linear-gradient(180deg,#2a1526,#160a14);}
.lv-hero{margin:12px 14px;padding:16px;border-radius:18px;background:linear-gradient(135deg,rgba(255,126,176,.28),rgba(176,38,255,.2));border:1px solid rgba(255,140,190,.35);text-align:center;}
.lv-hero-t{font-size:19px;font-weight:900;color:#fff;}
.lv-hero-s{font-size:13px;color:#ffd7ea;margin-top:4px;}.lv-hero-s b{color:#fff;font-size:15px;}
.lv-risk{margin-top:8px;font-size:12.5px;font-weight:800;color:#ff9bb5;background:rgba(255,60,95,.14);border-radius:10px;padding:7px 10px;}
.lv-risk.safe{color:#7fe0a8;background:rgba(60,220,140,.12);}.lv-risk b{color:#fff;}
.lv-lines{margin:4px 14px;display:flex;flex-direction:column;gap:9px;}
.lv-line{display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.06);border:1px solid rgba(255,140,190,.22);border-radius:14px;padding:10px 12px;cursor:pointer;}
.lv-line.ended{opacity:.6;cursor:default;}.lv-line.ended.good{border-color:rgba(120,230,160,.4);}.lv-line.ended.bad{border-color:rgba(255,80,110,.4);}
.lv-line-av{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:20px;font-weight:900;color:#fff;flex-shrink:0;box-shadow:0 0 10px rgba(255,94,168,.4);}
.lv-line-b{flex:1;min-width:0;}
.lv-line-n{font-size:15px;font-weight:900;color:#fff;}.lv-line-n span{font-size:12px;font-weight:600;color:#c9b8e0;margin-left:4px;}
.lv-line-m{font-size:12px;font-weight:700;color:#d8c5e8;margin-top:3px;}
.lv-aff{color:#ff9bc4;}.lv-exp.lo{color:#7fe0a8;}.lv-exp.mid{color:#ffcf6b;}.lv-exp.hi{color:#ff6b81;}
.lv-line-go{font-size:18px;color:#ff8fc0;font-weight:900;}
.lv-empty{margin:24px 14px;text-align:center;color:#c9b8e0;font-size:14px;font-weight:700;line-height:1.7;}.lv-empty span{font-size:12px;opacity:.7;}
.lv-new{display:block;width:calc(100% - 28px);margin:14px 14px;padding:13px;border:1px dashed rgba(255,140,190,.5);border-radius:14px;background:rgba(255,94,168,.12);color:#ffd0e4;font-size:14.5px;font-weight:800;cursor:pointer;}
.lv-full{text-align:center;margin:14px;color:#c9b8e0;font-weight:700;}
.scn-vn-input{position:relative;z-index:6;display:flex;gap:9px;background:rgba(9,8,14,.92);padding:8px 14px 16px;align-items:center;}
.scn-vn-input input{flex:1;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.22);border-radius:22px;padding:12px 16px;color:#fff;font-size:15px;outline:none;}
.scn-vn-input input::placeholder{color:rgba(255,255,255,.5);}
.scn-vn-input button{flex:none;width:42px;height:42px;border:none;border-radius:50%;background:linear-gradient(135deg,#ff3d74,#ff8a5a);color:#fff;font-size:17px;cursor:pointer;}
.scn-card{text-align:center;font-weight:800;padding:8px 4px;}
.scn-card.slate{color:#ffd86b;font-size:16px;letter-spacing:.5px;}
.scn-card.gain{color:#7bffb0;font-size:15px;}
.scn-card.res{font-size:20px;font-weight:900;}
.scn-card.res.pass{color:#7bffb0;} .scn-card.res.fail{color:#ff9ab0;}
.scn-vn .st-dialog .k.script{font-family:'Playfair Display',serif;font-style:italic;color:#ffe9c0;}
.st-typing{display:inline-flex;gap:6px;padding:6px 0;}
.st-typing i{width:9px;height:9px;border-radius:50%;background:#ff9ec4;animation:tbblink 1s infinite;}
.st-typing i:nth-child(2){animation-delay:.2s;} .st-typing i:nth-child(3){animation-delay:.4s;}
.act-badge{display:inline-block;min-width:17px;height:17px;line-height:17px;text-align:center;background:#ff2d6a;color:#fff;font-size:12.5px;font-weight:900;border-radius:9px;padding:0 5px;vertical-align:middle;}
/* ===== 目标(双轴脊椎)===== */
.ms-card.tier .ms-d span{font-size:12.5px;}
.goal-banner{display:flex;align-items:center;gap:10px;margin:0 2px 12px;padding:14px 16px;border-radius:16px;background:linear-gradient(120deg,#2a1b4a,#5b2e8a);color:#fff;cursor:pointer;box-shadow:0 6px 20px rgba(90,46,138,.4);}
.goal-banner .gb-l{flex:1;min-width:0;}
.gb-t{font-size:15px;font-weight:900;}
.gb-s{font-size:13.5px;opacity:.82;margin-top:3px;}
.gb-go{font-size:13.5px;font-weight:800;background:rgba(255,255,255,.18);padding:6px 12px;border-radius:12px;flex:none;}
.goal{min-height:100%;background:linear-gradient(180deg,#171226,#0d0a18);}
.goal-bar{background:transparent!important;}.goal-bar .ab-t,.goal-bar .ab-back{color:#fff!important;}
.goal-hero{text-align:center;padding:16px 20px 8px;color:#fff;}
.gh-t{font-size:19px;font-weight:900;}.gh-t b{color:#ffd86b;}
.gh-s{font-size:14px;color:#c9c0e0;margin-top:5px;}
.goal-sec{margin:12px 16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:16px;padding:14px;}
.goal-sec-t{font-size:13px;font-weight:900;color:#ffd86b;margin-bottom:12px;}
.gl-ladder{display:flex;align-items:center;justify-content:space-between;}
.gl-step{text-align:center;color:#8a83a0;flex:none;}
.gl-step b{display:block;font-size:13px;font-weight:800;margin-top:4px;color:inherit;}
.gl-step i{font-size:11px;font-style:normal;opacity:.7;}
.gl-step .gl-dot{display:inline-flex;width:26px;height:26px;border-radius:50%;background:rgba(255,255,255,.12);align-items:center;justify-content:center;font-size:13.5px;}
.gl-step.done{color:#7bffb0;}.gl-step.done .gl-dot{background:rgba(123,255,176,.2);}
.gl-step.cur{color:#ffd86b;}.gl-step.cur .gl-dot{background:#ffd86b;color:#3a2c00;box-shadow:0 0 0 4px rgba(255,216,107,.2);}
.gl-conn{flex:1;height:2px;background:rgba(255,255,255,.14);margin:0 2px 16px;}
.goal-gate{margin-top:14px;}
.gg-row{display:flex;justify-content:space-between;font-size:14px;color:#e0d8ee;font-weight:700;margin-bottom:6px;}
.gg-bar{height:9px;border-radius:5px;background:rgba(255,255,255,.14);overflow:hidden;}
.gg-in{height:100%;border-radius:5px;background:linear-gradient(90deg,#8667FF,#ff6ea6);}
.gg-ms{font-size:13px;color:#ffb3d0;margin-top:8px;font-weight:700;}
.goal-gate.top{color:#ffd86b;font-weight:800;font-size:13px;text-align:center;}
.gshare{margin-top:4px;}
.gshare-bar{position:relative;height:16px;border-radius:8px;background:rgba(255,120,150,.18);overflow:hidden;}
.gshare-you{height:100%;background:linear-gradient(90deg,#ff6ea6,#ffd86b);border-radius:8px;}
.gshare-mark{position:absolute;top:-3px;width:2px;height:22px;background:#fff;box-shadow:0 0 6px #fff;}
.gshare-lb{display:flex;justify-content:space-between;font-size:12.5px;color:#c9c0e0;margin-top:6px;}
.gshare-lb b{color:#ffd86b;}
.goal-hint{font-size:13px;color:#a99fc0;margin-top:10px;line-height:1.5;}
/* 结算屏:정산 + 진도 */
.st-jeongsan{margin:12px 16px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.1);border-radius:15px;padding:13px 14px;}
.stj-t{font-size:13px;font-weight:900;color:#ffd86b;margin-bottom:10px;}
.stj-row{display:flex;justify-content:space-between;align-items:baseline;padding:6px 0;border-top:1px dashed rgba(255,255,255,.1);font-size:13px;color:#e0d8ee;}
.stj-row:first-of-type{border-top:none;}
.stj-row span{font-weight:700;}.stj-row span i{font-style:normal;font-size:12px;opacity:.6;margin-left:5px;}
.stj-row b{font-weight:800;}
.stj-row.dn b{color:#ff9ab0;}
.stj-row.mine{border-top:1.5px solid rgba(255,216,107,.4);margin-top:3px;padding-top:9px;}
.stj-row.mine span,.stj-row.mine b{color:#ffd86b;font-size:15px;font-weight:900;}
.stj-debt{margin-top:9px;font-size:12.5px;font-weight:700;color:#ff9ab0;background:rgba(255,60,90,.12);border-radius:9px;padding:8px 10px;}
.st-prog{margin:12px 16px;background:rgba(134,103,255,.1);border:1px solid rgba(134,103,255,.25);border-radius:15px;padding:12px 14px;}
.stp-row{display:flex;justify-content:space-between;font-size:13px;color:#e0d8ee;font-weight:700;padding:5px 0;}
.stp-row b.up{color:#7bffb0;}.stp-row b.dn{color:#ff9ab0;}
.stp-big{text-align:center;font-size:14px;font-weight:900;padding:9px;border-radius:11px;margin-top:8px;}
.stp-big.up{background:rgba(123,255,176,.16);color:#7bffb0;}
.stp-big.dn{background:rgba(255,60,90,.14);color:#ff9ab0;}
.stp-big.win{background:linear-gradient(135deg,#ffd86b,#ff9a5a);color:#3a2410;}
/* 任务板 */
.sch-tasks{display:flex;flex-direction:column;gap:8px;}
.sch-task{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #eee;border-radius:13px;padding:11px 13px;cursor:pointer;}
.sch-task.done{opacity:.62;}
.sch-task.locked{opacity:.5;background:#f6f5f8;cursor:default;}
.sch-task.open{border-color:#ffcf2e;box-shadow:0 3px 12px rgba(255,180,60,.16);}
.stk-ic{width:34px;height:34px;flex:none;border-radius:10px;background:linear-gradient(135deg,#ffe6c2,#ffd0e0);display:flex;align-items:center;justify-content:center;font-size:18px;}
.stk-b{flex:1;min-width:0;}
.stk-n{font-size:14px;font-weight:900;color:#241f30;}
.stk-n span{font-size:12.5px;font-weight:600;color:#9a93a5;margin-left:5px;}
.stk-d{font-size:12.5px;color:#8a8496;margin-top:3px;line-height:1.4;font-weight:600;}
.stk-st{flex:none;font-size:12.5px;font-weight:800;padding:4px 9px;border-radius:10px;}
.stk-st.done{background:#eafaf0;color:#16a34a;}
.stk-st.open{background:#fff1cc;color:#c98a00;}
.stk-st.locked{background:#eee;color:#a89fb2;}
.sch-decs{margin-top:10px;font-size:12.5px;color:#8a8496;font-weight:600;line-height:1.9;}
.sch-dec{display:inline-block;background:#f2eefc;color:#7a5bd0;padding:3px 9px;border-radius:9px;margin:0 5px 3px 0;font-weight:700;}
.stu-chatbtn{margin:2px 14px 10px;padding:11px 14px;border-radius:13px;background:linear-gradient(135deg,#3a3550,#5b4b8a);color:#fff;font-size:13px;font-weight:800;text-align:center;cursor:pointer;box-shadow:0 4px 14px rgba(90,75,138,.35);}
/* ===== 情景大场面·里程碑演出 ===== */
.ms-scene{text-align:center;padding:6px 4px;}
.ms-em{font-size:52px;line-height:1;filter:drop-shadow(0 6px 16px rgba(0,0,0,.3));}
.ms-t{font-size:21px;font-weight:900;color:#d18a00;margin:12px 0 10px;}
.ms-body{font-size:14px;line-height:1.7;color:#3a3446;font-weight:600;}
.ms-body b{color:#c26a00;}
.ms-sub{display:block;font-size:13.5px;color:#8a8496;margin-top:8px;font-weight:500;}
.ms-collapse{text-align:center;padding:6px 2px;}
.msc-em{font-size:50px;filter:grayscale(.3) drop-shadow(0 6px 16px rgba(0,0,0,.5));}
.msc-t{font-size:20px;font-weight:900;color:#c9c0d8;letter-spacing:2px;margin:10px 0 12px;}
.msc-story{font-size:13.5px;line-height:1.75;color:#a49db8;font-weight:600;}
.msc-story span{display:block;font-size:13.5px;color:#8a83a0;margin-top:6px;}
.msc-letter{margin:16px 4px 4px;background:linear-gradient(160deg,#fffdf6,#fff4e0);border-radius:14px;padding:15px 16px;text-align:left;box-shadow:0 10px 30px rgba(0,0,0,.4);position:relative;}
.msc-lh{font-size:13.5px;font-weight:900;color:#c98a00;margin-bottom:10px;}
.msc-lbody{font-size:14px;line-height:1.75;color:#4a4230;font-weight:700;font-family:'Nanum Pen Script','Playfair Display',serif;}
.msc-lbody span{display:block;font-family:inherit;font-size:14px;color:#8a7e60;margin-top:8px;font-weight:600;}
/* ===== CP 回家房间对话 ===== */
.cphome{position:relative;min-height:100%;display:flex;flex-direction:column;background:#0e0a16;overflow:hidden;}
.cph-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.66) saturate(1.05);}
.cph-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,6,20,.45) 0,transparent 30%,rgba(10,6,20,.55) 62%,rgba(10,6,20,.95) 100%);}
.cphome .app-bar{position:relative;z-index:5;background:transparent;}
.cphome .app-bar .ab-t,.cphome .app-bar .ab-back{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.7);}
.cph-tag{position:relative;z-index:5;margin:2px 14px 0;align-self:center;background:rgba(20,12,32,.7);backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:7px 14px;font-size:13.5px;font-weight:800;color:#fff;}
.cph-log{position:relative;z-index:5;flex:1;overflow-y:auto;padding:12px 14px 6px;display:flex;flex-direction:column;gap:8px;}
.cph-msg{display:flex;max-width:82%;}
.cph-msg.me{align-self:flex-end;}
.cph-msg.her{align-self:flex-start;}
.cph-bub{padding:10px 13px;border-radius:15px;font-size:14px;font-weight:600;line-height:1.5;box-shadow:0 4px 14px rgba(0,0,0,.4);}
.cph-msg.her .cph-bub{background:rgba(24,17,40,.86);border:1px solid rgba(255,255,255,.14);color:#fff;}
.cph-msg.me .cph-bub{background:linear-gradient(135deg,#ff7aa6,#b06bd8);color:#fff;}
.cph-bub span{display:block;font-size:13px;opacity:.72;margin-top:4px;}
.cph-foot{position:relative;z-index:5;padding:8px 14px 22px;}
.cph-in{display:flex;gap:8px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.2);border-radius:24px;padding:5px 5px 5px 15px;backdrop-filter:blur(8px);}
.cph-in input{flex:1;background:none;border:none;outline:none;color:#fff;font-size:14px;font-family:inherit;}
.cph-in input::placeholder{color:rgba(255,255,255,.5);}
.cph-in button{flex:none;width:38px;height:38px;border:none;border-radius:50%;background:linear-gradient(135deg,#ff7aa6,#b06bd8);color:#fff;font-size:16px;cursor:pointer;}
.co-modimg{height:128px;margin:-4px -4px 12px;border-radius:14px;background-size:cover;background-position:center;box-shadow:inset 0 -30px 40px -20px rgba(0,0,0,.5);}
/* ===== 사원증 工牌 ===== */
.badge-app{min-height:100%;background:linear-gradient(180deg,#1a1730,#0d0b1a);}
.ba-hero{display:flex;justify-content:center;padding:22px 0 6px;}
.ba-note{margin:8px 22px 0;font-size:14px;line-height:1.6;color:#c9c2e0;text-align:center;font-weight:600;}
.ba-note b{color:#ffd86b;}
.ba-tapbtn{margin:18px auto 6px;max-width:260px;text-align:center;background:linear-gradient(180deg,#8667FF,#6a4bd8);color:#fff;font-size:15px;font-weight:900;padding:15px;border-radius:15px;cursor:pointer;box-shadow:0 8px 24px rgba(134,103,255,.4);}
.badge-bar{background:transparent!important;}
.badge-bar .ab-t,.badge-bar .ab-back{color:#fff!important;}
.bc-cerewrap{display:flex;justify-content:center;margin:6px 0 2px;}
/* 卡片本体 */
.badge-card{width:210px;position:relative;font-family:inherit;}
.badge-card.big{width:236px;}
.badge-card.mini{width:150px;}
.bc-lanyard{height:26px;background:var(--lc,#ff2d6a);border-radius:6px 6px 0 0;display:flex;align-items:center;justify-content:center;position:relative;box-shadow:inset 0 -6px 10px -6px rgba(0,0,0,.4);}
.bc-lanyard::before,.bc-lanyard::after{content:'';position:absolute;top:0;width:40%;height:100%;background:linear-gradient(180deg,rgba(255,255,255,.25),transparent);}
.bc-lanyard::before{left:0;} .bc-lanyard::after{right:0;}
.bc-lan-txt{font-size:11.5px;font-weight:900;letter-spacing:2px;color:rgba(255,255,255,.9);z-index:2;}
.bc-hole{width:46px;height:9px;background:#0d0b1a;border-radius:0 0 8px 8px;margin:0 auto;box-shadow:inset 0 -2px 3px rgba(0,0,0,.6);position:relative;z-index:3;}
.bc-body{background:linear-gradient(160deg,#fff,#f1eef8);border-radius:0 0 15px 15px;padding:12px 13px 11px;box-shadow:0 14px 34px rgba(0,0,0,.5);border:1px solid rgba(255,255,255,.5);}
.bc-head{display:flex;justify-content:space-between;align-items:center;border-bottom:1.5px solid #eceaf2;padding-bottom:7px;margin-bottom:9px;}
.bc-brand{font-size:12.5px;font-weight:900;color:#2a2540;}
.bc-kind{font-size:8px;font-weight:900;letter-spacing:1px;color:#8667FF;background:#efeafc;padding:2px 6px;border-radius:6px;}
.bc-main{display:flex;gap:11px;}
.bc-photo{width:66px;height:80px;flex:none;border-radius:8px;background:#ddd6ea center/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:30px;border:2px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.18);}
.badge-card.mini .bc-photo{width:48px;height:58px;font-size:22px;}
.bc-info{min-width:0;flex:1;}
.bc-nm{font-size:16px;font-weight:900;color:#211c34;line-height:1.15;}
.badge-card.mini .bc-nm{font-size:13px;}
.bc-real{font-size:13px;color:#8a83a0;font-weight:600;margin-top:1px;}
.bc-role{font-size:11px;font-weight:800;color:#8667FF;margin-top:4px;background:#f2eefc;display:inline-block;padding:2px 7px;border-radius:7px;}
.bc-fields{margin-top:8px;display:flex;flex-direction:column;gap:4px;}
.bc-f{display:flex;justify-content:space-between;gap:6px;font-size:11px;}
.bc-f span{color:#a49dba;font-weight:700;}
.bc-f b{color:#3a3452;font-weight:800;letter-spacing:.3px;}
.badge-card.mini .bc-fields{display:none;}
.bc-foot{display:flex;align-items:center;justify-content:space-between;margin-top:10px;padding-top:8px;border-top:1px dashed #ddd8e8;}
.bc-chip{font-size:8.5px;font-weight:900;color:#b06bd8;letter-spacing:1px;}
.bc-barcode{flex:1;height:20px;margin-left:10px;background-image:repeating-linear-gradient(90deg,#2a2540 0,#2a2540 1.5px,transparent 1.5px,transparent 3px),repeating-linear-gradient(90deg,#2a2540 0,#2a2540 2.5px,transparent 2.5px,transparent 6px);background-size:100% 100%;opacity:.8;border-radius:2px;}
.badge-card.mini .bc-foot{display:none;}
.turn-badge{transform:rotate(-4deg);filter:drop-shadow(0 10px 24px rgba(0,0,0,.6));}
/* 练习室 POV 房间图 */
.pr-room{position:relative;height:168px;background-size:cover;background-position:center;border-radius:0 0 20px 20px;overflow:hidden;}
.pr-room-v{position:absolute;inset:0;background:linear-gradient(180deg,transparent 40%,rgba(10,8,18,.82));}
.pr-room-t{position:absolute;left:16px;bottom:12px;right:16px;z-index:2;color:#fff;font-size:17px;font-weight:900;text-shadow:0 2px 10px rgba(0,0,0,.7);}
.pr-room-t span{display:block;font-size:13.5px;font-weight:600;color:#e0d8ee;margin-top:3px;}
/* ===== 公司过渡场景:闸机 / 电梯(第一视角)===== */
.cotrans{position:relative;min-height:100%;display:flex;flex-direction:column;background:#08060f;color:#fff;overflow:hidden;}
.cotrans-bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.cotrans-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,4,14,.35) 0,transparent 32%,rgba(6,4,14,.5) 70%,rgba(6,4,14,.95) 100%);}
.cotrans .app-bar{position:relative;z-index:5;background:transparent;}
.cotrans .app-bar .ab-t,.cotrans .app-bar .ab-back{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.7);}
.cotrans-mid{position:relative;z-index:5;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;}
.cotrans-badge{width:76px;height:76px;border-radius:18px;background:linear-gradient(135deg,#8667FF,#ff6ea6);display:flex;align-items:center;justify-content:center;font-size:38px;box-shadow:0 8px 26px rgba(134,103,255,.55);animation:tvgFloat 1.4s ease-in-out infinite;}
.cotrans-t{font-size:17px;font-weight:900;text-align:center;text-shadow:0 2px 12px rgba(0,0,0,.8);}
.cotrans-t span{display:block;font-size:14px;font-weight:600;color:#c9c2d8;margin-top:5px;}
.cotrans-foot{position:relative;z-index:5;padding:16px 18px 28px;}
.elev-panel{position:relative;z-index:5;margin:auto 16px 26px;background:rgba(18,12,32,.72);backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.16);border-radius:18px;padding:16px 14px;}
.elev-hd{font-size:14px;font-weight:900;text-align:center;margin-bottom:12px;color:#ffd86b;}
.elev-btn{width:100%;display:flex;align-items:center;gap:14px;background:rgba(255,255,255,.94);border:none;border-radius:14px;padding:13px 16px;margin-bottom:9px;cursor:pointer;font-family:inherit;text-align:left;}
.elev-btn:last-child{margin-bottom:0;}
.elev-btn.here{opacity:.45;}
.elev-btn b{width:34px;height:34px;flex:none;border-radius:50%;background:linear-gradient(135deg,#8667FF,#ff6ea6);color:#fff;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;}
.elev-btn.here b{background:#bbb;}
.elev-btn span{font-size:14px;font-weight:800;color:#241f30;}
/* ===== 房产上架(带实景图)===== */
.es-list{padding:4px 2px 20px;}
.es-intro{font-size:13.5px;font-weight:700;color:#8a7ea8;padding:6px 6px 12px;line-height:1.5;}
.es-card{background:#fff;border-radius:16px;margin-bottom:14px;overflow:hidden;box-shadow:0 4px 18px rgba(0,0,0,.08);border:1px solid #f0ecf4;}
.es-card.on{border-color:#ffcf2e;box-shadow:0 6px 22px rgba(255,180,60,.25);}
.es-photo{position:relative;height:150px;background-size:cover;background-position:center;background-color:#e8e4ee;}
.es-ptag{position:absolute;left:10px;top:10px;background:rgba(20,14,32,.72);color:#fff;font-size:13.5px;font-weight:800;padding:5px 11px;border-radius:12px;backdrop-filter:blur(4px);}
.es-live{position:absolute;right:10px;top:10px;background:#ff2d6a;color:#fff;font-size:12.5px;font-weight:800;padding:4px 10px;border-radius:11px;}
.es-pprice{position:absolute;right:10px;bottom:10px;background:rgba(255,255,255,.94);color:#2a2530;font-size:14px;font-weight:900;padding:5px 12px;border-radius:12px;box-shadow:0 3px 10px rgba(0,0,0,.2);}
.es-pprice.free{color:#16a34a;}
.es-info{display:flex;align-items:center;justify-content:space-between;padding:12px 14px 4px;}
.es-nm{font-size:16px;font-weight:900;color:#241f30;}
.es-nm i{font-style:normal;font-size:13px;font-weight:700;color:#9a93a5;margin-left:6px;background:#f2f0f4;padding:2px 8px;border-radius:9px;}
.es-req{font-size:13px;color:#8a8496;font-weight:600;padding:0 14px 10px;line-height:1.5;}
.es-prog{color:#b06bd8;}
.es-act{padding:0 14px 14px;}
.es-act .si-buy{width:100%;padding:13px;border:none;border-radius:13px;background:linear-gradient(180deg,#ffe45c,#ffcf2e);color:#3a2c00;font-size:14.5px;font-weight:900;cursor:pointer;font-family:inherit;}
.es-act .si-buy.lk{background:#f2f0f4;color:#a89fb2;cursor:default;}
.es-owned{text-align:center;font-size:13px;font-weight:800;color:#16a34a;padding:11px;background:#eafaf0;border-radius:13px;}
.es-decor{border-top:1px solid #f0ecf4;padding:12px 14px 4px;}
.es-decor .es-lbh{font-size:14px;font-weight:800;color:#6d4bd8;margin-bottom:8px;}
.es-decor .es-lbh span{font-size:12px;font-weight:600;color:#9a93a5;margin-left:5px;}
/* ===== KakaoTalk 好友申请 ===== */
.kt-freqhd{font-size:13.5px;font-weight:800;color:#8a8496;padding:12px 16px 5px;}
.kt-row.freq{background:#fff8ea;}
.kt-add{align-self:center;background:#ffe08a;color:#7a5b00;font-size:13.5px;font-weight:800;padding:6px 13px;border-radius:16px;margin-left:auto;flex:none;}
.kt-freq{font-size:12px;font-weight:700;color:#c98a00;background:#fff1cc;padding:1px 7px;border-radius:8px;}
.kkfriend{display:flex;flex-direction:column;height:100%;background:#b2c7d9;}
.kkfriend .sheet-top{background:#a1b8cc;color:#1a2733;font-weight:800;}
.kf-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:24px 22px;gap:16px;}
.kf-card{width:100%;background:#fff;border-radius:20px;padding:26px 20px;text-align:center;box-shadow:0 10px 34px rgba(0,0,0,.16);}
.kf-av{width:82px;height:82px;margin:0 auto 12px;border-radius:24px;background:linear-gradient(135deg,#8667FF,#ff6ea6);display:flex;align-items:center;justify-content:center;font-size:42px;box-shadow:0 6px 18px rgba(134,103,255,.4);}
.kf-nm{font-size:22px;font-weight:900;color:#1f1a2e;}
.kf-role{font-size:13px;font-weight:700;color:#8667FF;margin-top:3px;}
.kf-org{font-size:13.5px;color:#8a8496;margin-top:6px;}
.kf-note{margin-top:15px;padding:13px 14px;background:#f5f2fb;border-radius:13px;font-size:13px;font-weight:600;color:#3a3446;line-height:1.5;text-align:left;}
.kf-note span{display:block;font-size:13px;color:#8a8496;margin-top:5px;}
.kf-tag{font-size:13.5px;font-weight:800;color:#5a6b7a;background:rgba(255,255,255,.6);padding:6px 14px;border-radius:14px;}
.kf-foot{display:flex;gap:11px;padding:14px 18px 26px;}
.kf-no{flex:1;background:rgba(255,255,255,.7);color:#5a6b7a;border:none;border-radius:16px;padding:15px;font-size:15px;font-weight:800;cursor:pointer;font-family:inherit;}
.kf-yes{flex:2;background:linear-gradient(180deg,#ffe45c,#ffcf2e);color:#3a2c00;border:none;border-radius:16px;padding:15px;font-size:15px;font-weight:900;cursor:pointer;font-family:inherit;box-shadow:0 6px 18px rgba(255,207,46,.45);}
/* ===== 邀约对话 CTA ===== */
.of-ctas{display:flex;gap:7px;padding:9px 10px 7px;}
.of-cta{flex:1;border:none;border-radius:13px;padding:13px 6px;font-size:14.5px;font-weight:900;cursor:pointer;font-family:inherit;line-height:1.15;}
.of-cta.yes{background:linear-gradient(180deg,#ffe45c,#ffcf2e);color:#3a2c00;}
.of-cta.neg{background:#efe9fb;color:#6d4bd8;}
.of-cta.neg.done,.of-cta.neg:disabled{opacity:.5;}
.of-cta.no{background:#f2f0f4;color:#8a8496;flex:.7;}
.of-cta.go{flex:1;background:linear-gradient(180deg,#8ad,#79c);color:#fff;}
.of-done{text-align:center;font-size:13px;font-weight:800;color:#9a93a5;padding:14px;}
/* ===== 邀约详情:约定卡 ===== */
.ofd-appt{background:#f7f4fd;border:1px solid #e6ddf7;border-radius:14px;padding:13px 14px;margin:4px 0 10px;}
.ofd-appt-hd{font-size:14.5px;font-weight:900;color:#6d4bd8;margin-bottom:9px;}
.ofd-appt-row{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;padding:6px 0;border-top:1px dashed #e6ddf7;font-size:13px;}
.ofd-appt-row:first-of-type{border-top:none;}
.ofd-appt-row span{color:#8a8496;font-weight:700;white-space:nowrap;}
.ofd-appt-row b{text-align:right;color:#2a2530;font-weight:800;line-height:1.35;}
.ofd-appt-row b i{font-weight:600;font-style:normal;color:#8a8496;font-size:13px;}
/* ===== 出行 travel ===== */
.travel{position:relative;min-height:100%;display:flex;flex-direction:column;background:#070510;color:#fff;overflow:hidden;}
.tv-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.4) saturate(1.1);}
.tv-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,4,14,.6),rgba(6,4,14,.9));}
.travel .app-bar{position:relative;z-index:5;background:transparent;}
.travel .app-bar .ab-t,.travel .app-bar .ab-back{color:#fff;}
.tv-destcard{position:relative;z-index:5;margin:6px 18px 0;padding:11px 13px;display:flex;gap:13px;align-items:center;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:16px;backdrop-filter:blur(8px);}
.tv-destthumb{width:72px;height:72px;border-radius:13px;background:center/cover no-repeat;flex-shrink:0;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 12px rgba(0,0,0,.35);}
.tv-destb{flex:1;min-width:0;}
.tv-dest{position:relative;z-index:5;margin:6px 18px 0;padding:15px 16px;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.16);border-radius:16px;backdrop-filter:blur(8px);}
.tv-dest-l{font-size:12.5px;font-weight:800;color:#ffd86b;letter-spacing:.5px;}
.tv-dest-nm{font-size:19px;font-weight:900;margin-top:4px;}
.tv-dest-c{font-size:14px;color:#c4bcd6;margin-top:2px;}
.tv-dest-tag{display:inline-block;margin-top:9px;font-size:13px;font-weight:800;background:rgba(134,103,255,.28);color:#e7dffb;padding:4px 11px;border-radius:12px;}
.tv-center{position:relative;z-index:5;flex:1;min-height:0;display:flex;flex-direction:column;justify-content:center;}
.tv-pick{position:relative;z-index:5;text-align:center;font-size:14px;font-weight:900;margin:18px 0 12px;color:#fff;}
.tv-opts{position:relative;z-index:5;display:flex;flex-direction:column;gap:11px;padding:0 16px;}
.tv-opt{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.95);border-radius:16px;padding:13px 14px;cursor:pointer;box-shadow:0 6px 20px rgba(0,0,0,.35);}
.tv-opt.off{opacity:.4;}
.tv-opt:active{transform:scale(.985);}
.tv-ic{font-size:30px;flex:none;}
.tv-mid{flex:1;min-width:0;}
.tv-nm{font-size:15px;font-weight:900;color:#241f30;}
.tv-ds{font-size:13px;color:#6a6478;margin-top:3px;line-height:1.35;font-weight:600;}
.tv-ds span{color:#9a93a5;}
.tv-rt{flex:none;text-align:right;}
.tv-min{font-size:13px;font-weight:900;color:#8667FF;}
.tv-cost{font-size:13px;font-weight:800;color:#e0723a;margin-top:2px;}
.tv-sta{font-size:12.5px;font-weight:700;color:#9a93a5;margin-top:1px;}
.tv-money{position:relative;z-index:5;text-align:center;font-size:14px;font-weight:800;color:#ffd86b;margin:16px 0 24px;}
.tv-going{text-align:center;}
.tvg-ic{font-size:52px;animation:tvgFloat 1s ease-in-out infinite;}
@keyframes tvgFloat{0%,100%{transform:translateX(-6px)}50%{transform:translateX(6px)}}
.tvg-t{font-size:16px;font-weight:900;color:#241f30;margin:12px 0 4px;}
.tvg-t span{display:block;font-size:13.5px;font-weight:600;color:#8a8496;margin-top:4px;}
.tvg-bar{height:8px;border-radius:5px;background:#eee;overflow:hidden;margin:16px 6px 0;}
.tvg-in{height:100%;width:6%;border-radius:5px;background:linear-gradient(90deg,#8667FF,#ff6ea6);transition:width 1.4s ease;}
.tvg-note{margin-top:14px;font-size:13.5px;font-weight:700;color:#6a6478;background:#f5f2fb;border-radius:11px;padding:10px 12px;line-height:1.4;}
/* 片场/试戏室 图 */
.ofd-setimg{position:relative;height:116px;border-radius:13px;background-size:cover;background-position:center;margin-bottom:10px;overflow:hidden;}
.ofd-setimg.aud{height:100px;}
.ofd-setlbl{position:absolute;left:10px;bottom:9px;background:rgba(10,6,18,.62);color:#fff;font-size:12.5px;font-weight:800;padding:3px 9px;border-radius:9px;}
/* 拍摄过程 */
.ofd-shoot-hd{font-size:15px;font-weight:900;color:#2a2530;display:flex;justify-content:space-between;align-items:baseline;}
.ofd-shoot-hd span{font-size:12.5px;color:#9a93a5;font-weight:700;}
.ofd-shoot-bar{height:7px;border-radius:5px;background:#eee6f5;overflow:hidden;margin:8px 0 10px;}
.ofd-shoot-in{height:100%;background:linear-gradient(90deg,#8667FF,#ff7ac2);border-radius:5px;transition:width .4s;}
.ofd-scene{background:#1f1a2e;color:#eadfff;border-radius:11px;padding:13px 15px;font-size:14px;font-weight:600;line-height:1.5;margin-bottom:9px;}
.ofd-scene span{color:#b8a9e0;font-size:13px;}
.ofd-qual{font-size:13px;font-weight:800;color:#8667FF;text-align:right;margin-bottom:10px;}
/* ===== 사전녹화 灯海 现场 ===== */
.rehearsal{position:relative;min-height:100%;background:#070510;color:#fff;overflow:hidden;display:flex;flex-direction:column;}
.reh-bg{position:absolute;inset:0;background-size:cover;background-position:center;}
.reh-scrim{position:absolute;inset:0;background:linear-gradient(180deg,rgba(6,4,14,.55) 0,rgba(6,4,14,.15) 30%,rgba(6,4,14,.35) 60%,rgba(6,4,14,.92) 100%);}
.rehearsal.live .reh-scrim{background:linear-gradient(180deg,rgba(6,4,14,.4) 0,transparent 34%,rgba(6,4,14,.3) 62%,rgba(6,4,14,.95) 100%);}
/* 应援棒灯海 */
.reh-sticks{position:absolute;left:0;right:0;bottom:26%;height:32%;pointer-events:none;z-index:2;}
.reh-stick{position:absolute;width:5px;height:15px;border-radius:3px;opacity:.4;transform:translateY(2px);}
.reh-sticks.on .reh-stick{animation:rehPulse 1.05s ease-in-out infinite;animation-delay:var(--d);}
@keyframes rehPulse{0%,100%{opacity:.35;transform:translateY(3px) scale(.85);}50%{opacity:1;transform:translateY(-4px) scale(1.2);}}
.reh-top{position:relative;z-index:4;}
.reh-bar{background:transparent!important;border:none!important;}
.reh-bar .ab-t,.reh-bar .ab-back{color:#fff!important;}
.reh-song{text-align:center;font-size:16px;font-weight:900;margin-top:2px;text-shadow:0 2px 12px rgba(0,0,0,.7);}
.reh-song span{display:block;font-size:12.5px;font-weight:600;opacity:.8;margin-top:3px;}
/* 灯海占比 대전 meter */
.reh-share{margin:12px 16px 0;}
.reh-share-bar{height:9px;border-radius:5px;overflow:hidden;background:linear-gradient(90deg,#5aa0ff,#5fd6a0,#ffd24d,#b980ff,#ff8a3d);box-shadow:0 1px 6px rgba(0,0,0,.5);}
.reh-share-mine{height:100%;border-radius:5px;box-shadow:0 0 10px 1px var(--fc);transition:width .5s ease;}
.reh-share-t{font-size:12px;font-weight:700;color:#fff;margin-top:5px;text-align:center;text-shadow:0 1px 6px rgba(0,0,0,.7);}
.reh-share-t b{color:var(--fc);font-size:13.5px;}
.reh-share-t i{font-style:normal;opacity:.65;font-size:11px;margin-left:4px;}
.reh-fans{text-align:center;font-size:12.5px;font-weight:800;color:#fff;margin-top:4px;text-shadow:0 1px 6px rgba(0,0,0,.7);}
.reh-up{color:#7fe0a8;font-size:12.5px;margin-left:3px;}
.reh-payoff{margin:10px 0;background:linear-gradient(90deg,rgba(255,90,160,.2),rgba(255,216,107,.14));border:1px solid #6a5220;border-radius:11px;padding:10px 12px;font-size:13.5px;font-weight:700;color:#ffe0ef;line-height:1.5;}
.reh-payoff b{color:var(--fc);font-size:14px;}
/* 应援弹幕 */
.reh-feed{position:absolute;left:16px;right:16px;top:120px;bottom:200px;z-index:3;display:flex;flex-direction:column;justify-content:flex-end;gap:7px;overflow:hidden;pointer-events:none;}
.reh-msg{align-self:flex-start;background:rgba(10,6,20,.5);backdrop-filter:blur(2px);border-left:3px solid var(--fc);border-radius:10px;padding:7px 12px;animation:rehIn .35s ease;max-width:82%;}
.reh-msg:nth-child(even){align-self:flex-end;}
.reh-msg b{display:block;font-size:13px;font-weight:800;color:#fff;}
.reh-msg span{font-size:12px;color:#d8cfe8;}
@keyframes rehIn{from{opacity:0;transform:translateY(8px) scale(.96);}to{opacity:1;transform:none;}}
/* 底部控制 */
.reh-bottom{position:relative;z-index:5;margin-top:auto;padding:16px 18px 26px;}
.reh-rec{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:linear-gradient(180deg,#ff3d6e,#d11a4c);color:#fff;border:none;border-radius:30px;padding:16px;font-size:16px;font-weight:900;cursor:pointer;box-shadow:0 8px 26px rgba(255,46,116,.45);font-family:inherit;}
.reh-dot{width:13px;height:13px;border-radius:50%;background:#fff;}
.reh-dot.on{background:#ff3d6e;animation:rehBlink .8s infinite;}
@keyframes rehBlink{50%{opacity:.3;}}
.reh-tip{text-align:center;font-size:12.5px;color:#c9bce6;margin-top:12px;line-height:1.5;text-shadow:0 1px 6px rgba(0,0,0,.6);}
.reh-recing{text-align:center;font-size:14px;font-weight:800;color:#ff9ab0;display:flex;align-items:center;justify-content:center;gap:8px;text-shadow:0 2px 10px rgba(0,0,0,.7);}
.reh-prog{height:8px;border-radius:5px;background:rgba(255,255,255,.16);margin-top:12px;overflow:hidden;}
.reh-prog-in{height:100%;width:0;background:linear-gradient(90deg,var(--fc),#fff);border-radius:5px;transition:width .12s linear;}
/* 역조공 面板 */
.reh-done{background:rgba(10,7,18,.72);backdrop-filter:blur(6px);border:1px solid #2c2340;border-radius:18px;padding:15px;}
.reh-done-h{font-size:14px;font-weight:900;color:#8fe0b6;display:flex;justify-content:space-between;align-items:baseline;}
.reh-done-h span{font-size:12px;font-weight:600;color:#9a8ec0;}
.reh-gift-h{font-size:14px;font-weight:800;margin:12px 0 8px;color:#ffd0e4;}
.reh-gifts{display:grid;grid-template-columns:1fr 1fr;gap:8px;}
.reh-gift{display:flex;gap:9px;align-items:center;background:rgba(255,255,255,.05);border:1.5px solid #2c2340;border-radius:12px;padding:9px 10px;cursor:pointer;}
.reh-gift.on{border-color:#5bd6a0;background:rgba(58,168,101,.14);}
.reh-gift.dim{opacity:.4;}
.rg-e{font-size:20px;flex-shrink:0;}
.rg-n{font-size:13.5px;font-weight:800;}
.rg-n i{font-style:normal;font-weight:500;font-size:11px;color:#9a8ec0;margin-left:3px;}
.rg-d{font-size:11px;color:#ffb0cb;margin-top:2px;}
.reh-close{width:100%;margin-top:12px;background:linear-gradient(95deg,#FFCB68,#FFB43E);color:#5a3d00;border:none;border-radius:15px;padding:14px;font-size:15px;font-weight:900;cursor:pointer;}
/* ===== 단독 콘서트 무대 ===== */
.con-body{position:relative;z-index:3;flex:1;display:flex;flex-direction:column;justify-content:center;padding:14px 18px;overflow:hidden;}
.con-mid{text-align:center;}
.con-big{font-family:"Anton",sans-serif;font-size:30px;color:#fff;text-shadow:0 3px 20px rgba(255,150,200,.5);}
.con-sub{font-size:13.5px;color:#e0d6f0;line-height:1.6;margin-top:10px;text-shadow:0 2px 10px rgba(0,0,0,.7);}
.con-sub b{color:var(--fc);}
.con-hd{font-size:15px;font-weight:900;color:#ffd0e4;text-align:center;text-shadow:0 2px 12px rgba(0,0,0,.7);margin-bottom:8px;}
.con-encore{font-family:"Anton",sans-serif;font-size:34px;color:var(--fc);text-align:center;animation:rehBlink .6s infinite;text-shadow:0 3px 22px rgba(255,90,160,.6);}
.con-md{background:rgba(10,6,18,.6);backdrop-filter:blur(3px);border:1px solid #6a5220;border-radius:14px;padding:12px 14px;max-width:320px;margin:0 auto;}
.con-md-r{display:flex;justify-content:space-between;align-items:center;font-size:14px;color:#e0d6f0;padding:5px 0;}
.con-md-r b{color:#ffd86b;}
.con-md-r.tot{border-top:1px solid rgba(255,255,255,.15);margin-top:4px;padding-top:8px;font-weight:800;}
.con-md-r.tot b{color:#7fe0a8;font-size:15px;}
/* ===== 연말 시상식 名场面 ===== */
.award-cer{position:relative;min-height:100%;background:#0a0714;color:#fff;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:26px 20px;text-align:center;}
.award-cer .reh-bg{position:absolute;inset:0;background-size:cover;background-position:center;filter:brightness(.5);}
.aw-veil{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 20%,rgba(255,200,90,.14),transparent 55%),linear-gradient(180deg,rgba(8,5,16,.7),rgba(8,5,16,.35) 40%,rgba(8,5,16,.9));}
.award-cer .reh-sticks{bottom:0;height:40%;}
.award-cer>*{position:relative;z-index:3;}
.aw-cat{font-size:15px;font-weight:900;color:#ffd86b;letter-spacing:.5px;margin-bottom:18px;text-shadow:0 2px 12px rgba(0,0,0,.7);}
.aw-noms{display:flex;flex-direction:column;gap:9px;width:100%;max-width:280px;margin-bottom:22px;}
.aw-nom{background:rgba(255,255,255,.07);border:1px solid #2c2340;border-radius:12px;padding:11px 14px;font-size:14px;font-weight:700;}
.aw-nom.me{background:linear-gradient(90deg,rgba(255,216,107,.25),rgba(255,111,174,.15));border-color:#8a6a20;color:#ffe08a;}
.aw-reveal-line{font-size:13px;color:#c9b8ee;margin-bottom:16px;font-weight:700;}
.aw-drum{font-size:34px;animation:rehBlink .5s infinite;margin-bottom:10px;}
.aw-crown-big{font-size:64px;animation:awPop .5s ease;filter:drop-shadow(0 6px 24px rgba(255,200,90,.6));}
@keyframes awPop{0%{transform:scale(.3);opacity:0;}60%{transform:scale(1.2);}100%{transform:scale(1);opacity:1;}}
.aw-won-t{font-size:15px;font-weight:800;color:#ffd86b;margin-top:6px;}
.aw-won-nm{font-family:"Anton",sans-serif;font-size:40px;color:#fff;margin:2px 0 8px;text-shadow:0 4px 24px rgba(255,150,200,.5);}
.aw-won-sub{font-size:13.5px;color:#d8cfe8;line-height:1.6;margin-bottom:22px;}
.aw-mic{font-size:46px;margin-bottom:8px;filter:drop-shadow(0 4px 16px rgba(0,0,0,.6));}
.aw-speech-q{font-size:14px;font-weight:800;color:#fff;margin-bottom:14px;text-shadow:0 2px 10px rgba(0,0,0,.7);}
.award-cer.speech .opt{width:100%;max-width:300px;}
.aw-speech-box{background:rgba(10,6,18,.6);backdrop-filter:blur(3px);border:1px solid #6a5220;border-radius:15px;padding:15px;max-width:320px;margin-bottom:20px;}
.aw-speech-h{font-size:13px;font-weight:900;color:#ffd86b;margin-bottom:10px;}
.aw-line{font-size:13.5px;font-weight:700;color:#fff;line-height:1.5;margin-bottom:9px;text-align:left;}
.aw-line span{display:block;font-size:12.5px;font-weight:500;color:#c9b8ee;margin-top:2px;}
.aw-tears{font-size:13px;color:#ffb0cb;margin-top:6px;line-height:1.5;text-align:left;}
.award-cer .reh-rec{max-width:320px;}
/* 日程:回归周期时间线 */
.sch-tl{display:flex;flex-direction:column;}
.sch-row{display:flex;align-items:stretch;gap:12px;}
.sch-line{display:flex;flex-direction:column;align-items:center;width:26px;flex-shrink:0;}
.sch-dot{font-size:17px;line-height:1;}
.sch-conn{flex:1;width:2px;background:#e6dff0;margin:2px 0;}
.sch-row.done .sch-conn{background:#c7ebd5;}
.sch-b{flex:1;min-width:0;padding-bottom:16px;}
.sch-k{font-size:14px;font-weight:800;color:#17131c;}
.sch-d{font-size:12.5px;color:#9a93a5;margin-top:3px;}
.sch-row.upcoming .sch-k{color:#b3aac2;}
.sch-badge{align-self:flex-start;margin-top:1px;font-size:11.5px;font-weight:800;height:fit-content;padding:3px 8px;border-radius:9px;flex-shrink:0;}
.sch-badge.done{background:#E4F7EC;color:#23a865;}
.sch-badge.current{background:#EFE8FF;color:#8667FF;}
.sch-badge.upcoming{background:#f2f0f5;color:#b3aac2;}
/* 日程里的拍摄档期 */
.sch-shoot{display:flex;align-items:center;gap:11px;background:linear-gradient(135deg,#fff0f4,#ffe8ef);border:1px solid #f6c8d8;border-radius:14px;padding:12px 13px;cursor:pointer;}
.sch-shoot-ic{width:38px;height:38px;border-radius:11px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;flex-shrink:0;}
.sch-shoot-b{flex:1;min-width:0;}
.sch-shoot-n{font-size:14px;font-weight:800;color:#a5324f;}
.sch-shoot-n i{font-style:normal;font-weight:600;font-size:12px;color:#c76d97;margin-left:4px;}
.sch-shoot-d{font-size:12px;color:#b06a82;margin-top:2px;}
.sch-row.nav{cursor:pointer;}
.sch-row.nav:active .sch-b{opacity:.6;}
.sch-arr{color:#c3bcd0;font-weight:700;font-size:15px;vertical-align:1px;}
.sch-row.current .sch-arr{color:#8667FF;}
.sch-row.done .sch-arr{color:#7fcfa0;}
/* 사전녹화 */
.pr-rehearse{margin:0 15px;background:rgba(122,108,255,.14);border:1.5px solid #4a3c72;border-radius:12px;padding:12px 14px;font-size:14px;font-weight:700;color:#cbbdf0;text-align:center;cursor:pointer;}
.pr-rehearse:active{transform:scale(.99);}
.pr-rehearse.done{border-color:#5bd6a0;color:#8fe0b6;background:rgba(58,168,101,.12);}
/* 各台 favored 底色微提示 */
.pr-show.fav-digital{border-left:3px solid #6ab0ff;}
.pr-show.fav-sns{border-left:3px solid #ff7ac2;}
.pr-show.fav-voting{border-left:3px solid #ffd86b;}
/* 팬 반응 feed */
.pr-fanfeed{padding:0 15px;display:flex;flex-direction:column;gap:6px;}
.pf-msg{display:flex;gap:9px;align-items:flex-start;background:rgba(255,255,255,.04);border-radius:11px;padding:8px 11px;}
.pf-av{font-size:15px;flex-shrink:0;}
.pf-b{flex:1;min-width:0;}
.pf-k{font-size:13.5px;font-weight:700;color:#ffd0e4;}
.pf-c{font-size:12px;color:#9a8ec0;margin-top:1px;}
/* 앵콜 소감 ceremony */
.wk-encore{margin:8px 0 2px;background:linear-gradient(160deg,rgba(255,216,107,.14),rgba(255,111,174,.1));border:1px solid #6a5220;border-radius:12px;padding:11px 12px;}
.wk-enc-h{font-size:13.5px;font-weight:900;color:#ffd86b;margin-bottom:6px;}
.wk-sogam{font-size:14px;font-weight:700;color:#fff;line-height:1.4;}
.wk-sogam span{display:block;font-size:12px;font-weight:500;color:#c9b8ee;margin-top:2px;}
.wk-chant{margin-top:8px;font-size:13.5px;font-weight:700;color:#ffb0cb;line-height:1.4;}
.wk-chant span{font-size:12px;color:#9a8ec0;font-weight:500;}

/* ===== ⑥결산(P6):回归战报 ===== */
.settle{padding-bottom:14px;color:#fff;background:radial-gradient(120% 70% at 50% 0%,#2a1840,#140a26 60%,#0a0614);min-height:100%;}
.settle .st-bar{background:transparent;color:#fff;border-color:rgba(255,255,255,.08);}
.settle .st-bar .ab-t,.settle .st-bar .ab-back{color:#fff;}
.st-crown{text-align:center;font-size:42px;margin-top:8px;filter:drop-shadow(0 0 14px rgba(255,210,80,.6));}
.st-title{text-align:center;display:flex;flex-direction:column;gap:3px;margin-top:4px;}
.stt-k{font-family:"Bebas Neue",sans-serif;font-size:13px;letter-spacing:2px;color:#ffd86b;}
.stt-c{font-size:13.5px;color:#cbb8ff;}
.stt-big{font-family:"Playfair Display",serif;font-weight:900;font-size:26px;margin-top:4px;background:linear-gradient(90deg,#ffe08a,#ff9ec4,#ffe08a);-webkit-background-clip:text;background-clip:text;color:transparent;}
.st-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px;margin:16px 15px;}
.st-cell{background:rgba(255,255,255,.06);border:1px solid rgba(255,216,107,.2);border-radius:14px;padding:11px 7px;text-align:center;}
.sc-ic{font-size:18px;}
.sc-v{font-family:"Bebas Neue",sans-serif;font-size:21px;color:#ffe08a;margin:3px 0 2px;line-height:1;}
.sc-k{font-size:11.5px;color:#e6daff;}
.sc-k i{display:block;font-style:normal;font-size:8.5px;color:#9a86c4;font-family:"Bebas Neue",sans-serif;}
.st-offers{margin:6px 15px;background:rgba(255,216,107,.08);border:1px solid rgba(255,216,107,.25);border-radius:14px;padding:12px;}
.st-oh{font-size:13px;color:#ffd86b;margin-bottom:9px;line-height:1.5;}
.st-offer{display:flex;align-items:center;gap:10px;background:rgba(0,0,0,.25);border-radius:11px;padding:9px 11px;margin-bottom:7px;}
.st-omono{width:30px;height:30px;flex-shrink:0;border-radius:8px;background:linear-gradient(150deg,#161013,#0a0608);border:1px solid #caa84e;display:flex;align-items:center;justify-content:center;font-family:"Playfair Display",serif;font-weight:900;color:#ffd86b;}
.st-on{flex:1;font-size:13px;font-weight:700;}
.st-on i{display:block;font-style:normal;font-size:11px;color:#9a8a5e;}
.st-oinc{font-family:"Bebas Neue",sans-serif;font-size:16px;color:#5bd6a0;}
.st-links{text-align:center;font-size:12.5px;color:#a99ec8;margin:10px 0 2px;}

/* ===== 休息期(P7) ===== */
.rest{padding-bottom:12px;background:#0d0a14;color:#fff;}
.rest .rt-bar{background:#0d0a14;color:#fff;border-color:#241a33;}
.rest .rt-bar .ab-t,.rest .rt-bar .ab-back{color:#fff;}
.rt-hd{padding:14px 15px 4px;}
.rt-h1{font-family:"Playfair Display",serif;font-weight:900;font-size:22px;}
.rt-h2{font-size:12.5px;color:#a99ec8;margin-top:3px;}
.rt-meter{display:flex;justify-content:space-between;margin:12px 15px;padding:10px 13px;background:rgba(255,255,255,.05);border:1px solid #2c2340;border-radius:12px;font-size:13.5px;color:#c9b8ee;}
.rt-meter b{color:#ffe08a;font-family:"Bebas Neue",sans-serif;font-size:16px;}
.rt-acts{padding:0 15px;display:flex;flex-direction:column;gap:9px;}
.rt-act{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.05);border:1px solid #2c2340;border-radius:13px;padding:12px 13px;cursor:pointer;transition:transform .1s;}
.rt-act:active{transform:scale(.98);}
.rt-act.lock{opacity:.45;}
.rt-path-hd{margin:18px 15px 4px;font-size:13px;font-weight:800;color:#ffd86b;letter-spacing:.5px;}
.rt-act.path{background:linear-gradient(100deg,rgba(255,208,90,.12),rgba(255,158,196,.08));border-color:rgba(255,208,90,.45);}
.rt-act.path .rt-n i{color:#e8c889;}
.rt-act.path .rt-d{color:#d8c39a;}
.rt-act.path .rt-w{background:rgba(255,208,90,.22);color:#ffe1a8;}
.rt-e{font-size:24px;width:32px;text-align:center;flex-shrink:0;}
.rt-b{flex:1;min-width:0;}
.rt-n{font-size:14px;font-weight:800;}
.rt-n i{font-style:normal;font-weight:500;font-size:12px;color:#9a8ec0;margin-left:3px;}
.rt-w{font-size:10.5px;background:rgba(122,108,255,.25);color:#c9b8ee;border-radius:5px;padding:1px 6px;margin-left:4px;}
.rt-d{font-size:12px;color:#a99ec8;margin-top:3px;}
.rt-tip{text-align:center;font-size:12px;color:#8a7ea8;}

/* ===== ⑦大赏季(P8):红毯 + 颁奖 ===== */
.rt-daesang{background:linear-gradient(90deg,#ffd05a,#ff9ec4)!important;color:#3a2400!important;}
.rt-daesang-hint{margin:14px 15px 2px;padding:11px 13px;border-radius:12px;background:linear-gradient(90deg,rgba(255,208,90,.16),rgba(255,158,196,.16));border:1px solid rgba(255,208,90,.4);font-size:13px;color:#ffe1a8;text-align:center;}
.rt-daesang-hint b{color:#ffd86b;}
/* 红毯 */
.carpet{padding-bottom:12px;background:#0c0810;color:#fff;}
.carpet .ct-bar{background:#0c0810;color:#fff;border-color:#241a33;}
.carpet .ct-bar .ab-t,.carpet .ct-bar .ab-back{color:#fff;}
.ct-hd{padding:14px 15px 6px;}
.ct-h1{font-family:"Playfair Display",serif;font-weight:900;font-size:23px;}
.ct-h2{font-size:12.5px;color:#a99ec8;margin-top:3px;}
.ct-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:8px 15px 0;}
.ct-card{cursor:pointer;border:1px solid #3a2c52;border-radius:13px;overflow:hidden;background:rgba(255,255,255,.04);transition:transform .1s;}
.ct-card:active{transform:scale(.97);}
.ct-sw{aspect-ratio:3/4;}
.ct-n{font-size:14px;font-weight:800;padding:8px 9px 1px;}
.ct-n i{display:block;font-style:normal;font-weight:500;font-size:11.5px;color:#9a8ec0;margin-top:1px;}
.ct-p{font-size:12.5px;color:#ffd86b;padding:3px 9px 10px;}
/* 颁奖 */
.awards{padding-bottom:14px;color:#fff;background:radial-gradient(120% 70% at 50% 0%,#3a2a08,#1a1206 55%,#0c0a06);min-height:100%;}
.awards .aw-bar{background:transparent;color:#fff;border-color:rgba(255,255,255,.08);}
.awards .aw-bar .ab-t,.awards .aw-bar .ab-back{color:#fff;}
.aw-crown{text-align:center;font-size:48px;margin-top:10px;filter:drop-shadow(0 0 18px rgba(255,210,80,.7));animation:akPulse 1.2s ease-in-out infinite;}
.aw-hd{text-align:center;margin-top:4px;}
.aw-big{font-family:"Playfair Display",serif;font-weight:900;font-size:26px;background:linear-gradient(90deg,#ffe08a,#fff,#ffe08a);-webkit-background-clip:text;background-clip:text;color:transparent;}
.aw-sub{font-size:13.5px;color:#e9d8a8;margin-top:3px;}
.aw-list{margin:16px 15px;}
.aw-row{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.06);border:1px solid rgba(255,216,107,.2);border-radius:11px;padding:11px 13px;margin-bottom:8px;}
.aw-row.daesang{background:linear-gradient(90deg,rgba(255,216,107,.3),rgba(255,158,196,.16));border-color:#ffd86b;}
.aw-t{font-size:13px;font-weight:700;color:#ffe9b8;}
.aw-w{font-family:"Bebas Neue",sans-serif;font-size:13px;color:#ffd86b;}
.aw-collab{margin:4px 15px;text-align:center;font-size:13.5px;color:#e9d8a8;background:rgba(255,255,255,.05);border-radius:12px;padding:11px;line-height:1.6;}
.aw-speech{margin:10px 15px;font-family:"Nanum Pen Script",cursive;font-size:18px;color:#ffe9b8;text-align:center;line-height:1.5;}

/* ===== 场景交互壳层(docs/scene-interaction-spec.md §13 骨架,CSS占位) ===== */
.shellbar{position:absolute;left:0;right:0;bottom:0;height:58px;display:flex;background:rgba(20,16,28,.94);backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.1);z-index:60;}
.shtab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;color:#8a7ea8;cursor:pointer;font-size:11.5px;font-weight:700;}
.shtab .shic{font-size:19px;filter:grayscale(.4);opacity:.7;}
.shtab.on{color:#ff6f9c;}
.shtab.on .shic{filter:none;opacity:1;}
.shtab:active{transform:scale(.95);}

.scene{position:relative;min-height:100%;display:flex;flex-direction:column;padding-bottom:58px;color:#fff;background:#15101e center/cover no-repeat;}
/* 회사 사옥 占位底色(出图后被图覆盖) */
.scene.company{background-color:#c9d2dc}
.scene.company.co-lobby{background-color:#d3dae2}
.scene.company.co-f2{background-color:#cbc6d6}
.scene.company.co-f3{background-color:#c2d1d3}
/* 家具特写:全屏淡入层(叠在场景之上,原画在下=交叉淡化) */
.content.fullview{position:relative;}
.closeup{position:absolute;inset:0;z-index:60;opacity:0;transition:opacity .38s ease;pointer-events:none;background:#1a1420;}
.closeup.show{opacity:1;pointer-events:auto;}
.cu-bg{position:absolute;inset:0;background-size:cover;background-position:center;background-repeat:no-repeat;}
.cu-fade{opacity:0;transition:opacity .42s ease;}
.cu-fade.in{opacity:1;}
.cu-back{position:absolute;top:16px;left:14px;z-index:2;background:rgba(0,0,0,.42);color:#fff;padding:8px 15px;border-radius:20px;font-size:13px;font-weight:800;cursor:pointer;backdrop-filter:blur(4px);}
.cu-back:active{transform:scale(.96);}
/* 特写动作面板 */
.cu-panel{position:absolute;left:0;right:0;bottom:0;z-index:3;padding:16px 14px calc(16px + env(safe-area-inset-bottom));background:linear-gradient(transparent,rgba(0,0,0,.55) 40%);}
.cu-title{color:#fff;font-size:13px;font-weight:800;text-align:center;margin-bottom:11px;text-shadow:0 1px 4px rgba(0,0,0,.5);}
.cu-acts{display:flex;gap:9px;justify-content:center;flex-wrap:wrap;}
.cu-act{background:rgba(255,255,255,.92);border:none;border-radius:15px;padding:10px 6px;min-width:74px;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:2px;box-shadow:0 3px 10px rgba(0,0,0,.25);}
.cu-act:active{transform:scale(.95);}
.cu-ai{font-size:24px;}
.cu-act b{font-size:13.5px;font-weight:800;color:#222;}
.cu-act i{font-style:normal;font-size:10.5px;color:#999;}
.cu-black{position:absolute;inset:0;z-index:5;background:#000;opacity:0;transition:opacity .7s ease;pointer-events:none;}
.cu-black.on{opacity:1;}
.cu-status{position:absolute;top:16px;left:50%;transform:translateX(-50%);z-index:6;background:rgba(0,0,0,.5);color:#fff;font-size:13.5px;font-weight:700;padding:8px 16px;border-radius:20px;backdrop-filter:blur(4px);max-width:78%;text-align:center;box-shadow:0 3px 12px rgba(0,0,0,.3);}
.cu-status.done{background:rgba(0,150,90,.9);}
.cu-act-btn{position:absolute;left:50%;bottom:calc(34px + env(safe-area-inset-bottom));transform:translateX(-50%);z-index:6;background:linear-gradient(135deg,#7b5cff,#a94dff);color:#fff;border:none;font-size:16px;font-weight:800;padding:15px 40px;border-radius:30px;cursor:pointer;box-shadow:0 8px 26px rgba(120,70,255,.5);white-space:nowrap;}
.cu-act-btn:active{transform:translateX(-50%) scale(.96);}
/* 餐厅动作栏 */
.din-acts{display:flex;gap:8px;padding:6px 14px 0;justify-content:center;flex-wrap:wrap;}
.din-acts button{background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:13.5px;font-weight:800;border-radius:14px;padding:9px 13px;cursor:pointer;}
.din-acts button:active{transform:scale(.97);}
/* 发ins 粉丝评论刷屏 */
.insflood .sheet-top.insf-top{background:linear-gradient(135deg,#ff5e8a,#b06bff);color:#fff;}
.insf-post{padding:14px 16px;background:#fff;border-bottom:1px solid #eee;}
.insf-cap{font-size:14px;font-weight:800;color:#222;}
.insf-stat{font-size:13px;color:#c8123e;font-weight:700;margin-top:6px;}
.insf-cmts{padding:10px 14px;background:#fafafa;min-height:200px;}
.insf-c{display:flex;align-items:baseline;gap:7px;font-size:14px;margin-bottom:10px;opacity:0;transform:translateX(-8px);transition:opacity .25s,transform .25s;}
.insf-c.in{opacity:1;transform:translateX(0);}
.insf-av{font-size:15px;}
.insf-cn{font-weight:800;color:#333;white-space:nowrap;}
.insf-ct{color:#555;}
/* ===== 배달·外卖 App(美团风·黄色主题) ===== */
.deli{min-height:100%;background:#f5f5f7;color:#222;padding-bottom:20px;}
.deli-bar{background:#ffcf00;color:#222;}
.deli-bar .ab-back,.deli-bar .ab-t,.deli-bar .ab-t i,.deli-bar .ab-r{color:#222;}
.deli-bar .ab-t i{opacity:.7;}
.deli-search{margin:0 12px;background:#fff;border-radius:20px;padding:10px 15px;font-size:14px;color:#9aa0a8;box-shadow:0 1px 4px rgba(0,0,0,.04);}
.deli-top{display:flex;align-items:center;gap:8px;padding:10px 14px 8px;font-size:13.5px;font-weight:700;color:#444;}
.deli-top>span:first-child{flex:1;}
.deli-chip{background:#fff;border:1px solid #eceef1;border-radius:15px;padding:6px 11px;cursor:pointer;}
.deli-chip b{color:#ff6a00;}
.deli-track-banner{margin:2px 12px 10px;background:linear-gradient(135deg,#fff6d6,#ffe9a8);border:1px solid #ffd95e;border-radius:12px;padding:11px 14px;font-size:14px;font-weight:800;color:#8a6a00;cursor:pointer;display:flex;justify-content:space-between;align-items:center;gap:8px;}
.deli-track-banner b{color:#ff3b1d;white-space:nowrap;}
.deli-cats{display:flex;gap:4px;overflow-x:auto;padding:4px 10px 12px;-webkit-overflow-scrolling:touch;}
.deli-cats::-webkit-scrollbar{display:none;}
.deli-cat{flex:none;width:62px;text-align:center;cursor:pointer;}
.dc-e{width:48px;height:48px;margin:0 auto;border-radius:14px;background:#fff;display:flex;align-items:center;justify-content:center;font-size:26px;box-shadow:0 1px 4px rgba(0,0,0,.04);}
.dc-n{font-size:11.5px;color:#555;margin-top:5px;font-weight:600;line-height:1.2;}
.deli-h{font-size:14px;font-weight:900;color:#222;padding:6px 14px 9px;}
.deli-list{padding:0 12px;display:flex;flex-direction:column;gap:9px;}
.deli-shop{display:block;background:#fff;border-radius:16px;padding:15px;cursor:pointer;box-shadow:0 2px 8px rgba(0,0,0,.05);}
.deli-shop:active{transform:scale(.995);}
.ds-head{display:flex;align-items:flex-start;gap:13px;}
.ds-logo{width:84px;height:84px;border-radius:16px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;font-size:46px;flex:none;}
.ds-b{flex:1;min-width:0;}
.ds-n{font-size:17px;font-weight:900;}.ds-n i{font-style:normal;font-size:13.5px;font-weight:600;color:#b0b4bb;}
.ds-meta1{font-size:13.5px;color:#777;margin-top:5px;}
.ds-rate{color:#ff8000;font-weight:800;}
.ds-meta2{font-size:13px;color:#9aa0a8;margin-top:3px;}
.ds-promo{display:inline-block;margin-top:7px;font-size:12.5px;font-weight:800;color:#ff3b1d;background:#fff0ec;border:1px solid #ffd3c8;border-radius:6px;padding:2px 8px;}
.ds-preview{display:flex;gap:9px;margin-top:13px;}
.ds-pv{flex:1;min-width:0;cursor:pointer;}
.ds-pv-t{width:100%;aspect-ratio:1/1;border-radius:12px;background:#f3f4f6;display:flex;align-items:center;justify-content:center;font-size:42px;overflow:hidden;}
.ds-pv-t img{width:100%;height:100%;object-fit:cover;}
.ds-pv-n{font-size:12.5px;font-weight:700;color:#444;margin-top:5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.ds-pv-p{font-size:13px;font-weight:900;color:#ff3b1d;margin-top:1px;}
/* 店铺页 */
.dshop-hero{background:#fff;padding:16px 16px 14px;text-align:center;border-bottom:8px solid #f0f1f3;}
.dsh-logo{font-size:46px;}
.dsh-n{font-size:19px;font-weight:900;margin-top:4px;}.dsh-n span{font-size:13.5px;color:#b0b4bb;font-weight:600;}
.dsh-meta{font-size:13px;color:#777;margin-top:5px;}.dsh-meta b{color:#ff8000;}
.dsh-promo{display:inline-block;margin-top:8px;font-size:12.5px;font-weight:800;color:#ff3b1d;background:#fff0ec;border:1px solid #ffd3c8;border-radius:7px;padding:3px 10px;}
.dsh-intro{font-size:13.5px;color:#888;margin-top:10px;line-height:1.5;font-style:italic;}
.dshop-menu-h{font-size:13px;font-weight:900;color:#333;padding:14px 14px 8px;}
.dshop-menu{padding:0 12px;display:flex;flex-direction:column;gap:9px;}
.dm-item{display:flex;align-items:flex-start;gap:11px;background:#fff;border-radius:13px;padding:11px;cursor:pointer;box-shadow:0 1px 4px rgba(0,0,0,.03);}
.dm-item:active{transform:scale(.99);}
.dm-thumb{position:relative;width:74px;height:74px;border-radius:11px;background:#f3f4f6;flex:none;display:flex;align-items:center;justify-content:center;font-size:40px;overflow:hidden;}
.dm-thumb img{width:100%;height:100%;object-fit:cover;}
.dm-sig{position:absolute;top:0;left:0;background:#ff3b1d;color:#fff;font-size:10.5px;font-weight:800;padding:2px 5px;border-radius:11px 0 8px 0;}
.dm-b{flex:1;min-width:0;}
.dm-n{font-size:14px;font-weight:800;}.dm-n i{font-style:normal;font-size:12px;font-weight:600;color:#b0b4bb;}
.dm-d{font-size:12.5px;color:#9aa0a8;margin:3px 0 4px;line-height:1.35;}
.dm-sold{font-size:12px;color:#aaa;margin-bottom:5px;}
.dm-p{font-size:15px;font-weight:900;color:#ff3b1d;}
.dm-go{color:#ccc;font-size:17px;align-self:center;}
.deli-cartbtn{cursor:pointer;font-weight:700;}
/* 菜品详情 */
.ddish-img{position:relative;width:100%;aspect-ratio:1/1;background:linear-gradient(150deg,#f3f4f6,#e6e8ec);display:flex;align-items:center;justify-content:center;}
.ddish-img img{width:100%;height:100%;object-fit:cover;}
.ddish-e{font-size:135px;}
.ddish-back{position:absolute;top:14px;left:12px;width:34px;height:34px;border-radius:50%;background:rgba(0,0,0,.38);color:#fff;display:flex;align-items:center;justify-content:center;font-size:20px;cursor:pointer;}
.ddish-gallery{position:absolute;bottom:12px;right:12px;background:rgba(0,0,0,.5);color:#fff;font-size:12.5px;font-weight:700;border-radius:12px;padding:3px 10px;}
.ddish-card{background:#fff;padding:15px 16px 14px;}
.ddish-prow{display:flex;align-items:baseline;gap:10px;}
.ddish-p{font-size:23px;font-weight:900;color:#ff3b1d;}
.ddish-sold{font-size:13px;color:#aaa;font-weight:600;}
.ddish-n{font-size:18px;font-weight:900;margin-top:7px;}.ddish-n i{font-style:normal;font-size:13px;color:#b0b4bb;font-weight:600;}
.ddish-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:9px;}
.dtag{font-size:12px;font-weight:700;color:#c8123e;background:#fff0f3;border:1px solid #ffd3dd;border-radius:6px;padding:3px 8px;}
.ddish-shopline{font-size:13.5px;color:#888;margin-top:11px;padding-top:11px;border-top:1px solid #f0f1f3;font-weight:600;}
.ddish-sec{background:#fff;margin-top:8px;padding:14px 16px;}
.ddish-sec-h{font-size:13.5px;font-weight:900;color:#222;margin-bottom:9px;}
.ddish-sec-h span{color:#aaa;font-weight:600;font-size:12.5px;}
.ddish-desc{font-size:14px;color:#555;line-height:1.65;}
.ddish-fx{font-size:13.5px;color:#c8860b;font-weight:800;margin-top:11px;background:#fff9e6;border:1px solid #ffe8a3;border-radius:9px;padding:9px 12px;display:inline-block;}
.drev{padding:11px 0;border-bottom:1px solid #f4f5f6;}
.drev:last-child{border-bottom:none;}
.drev-top{display:flex;align-items:center;gap:7px;}
.drev-av{width:26px;height:26px;border-radius:50%;background:#f3f4f6;display:flex;align-items:center;justify-content:center;font-size:15px;}
.drev-n{font-size:13.5px;font-weight:700;color:#555;flex:1;}
.drev-star{color:#ffb400;font-size:12.5px;letter-spacing:1px;}
.drev-t{font-size:13.5px;color:#666;line-height:1.5;margin-top:6px;}
.ddish-foot{position:sticky;bottom:0;display:flex;gap:9px;padding:11px 14px;background:#fff;border-top:1px solid #eef0f3;box-shadow:0 -2px 10px rgba(0,0,0,.04);}
.ddish-cart{flex:none;background:#fff;border:1.5px solid #ffcf00;color:#8a6a00;font-size:13px;font-weight:800;border-radius:22px;padding:12px 16px;cursor:pointer;}
.ddish-buy{flex:1;background:#ffcf00;border:none;color:#222;font-size:13.5px;font-weight:900;border-radius:22px;padding:12px;cursor:pointer;}
.ddish-buy:active,.ddish-cart:active{transform:scale(.98);}
/* 购物车 */
.dcart-list{padding:12px;display:flex;flex-direction:column;gap:9px;}
.dcart-row{display:flex;align-items:center;gap:11px;background:#fff;border-radius:12px;padding:11px;box-shadow:0 1px 4px rgba(0,0,0,.03);}
.dcr-e{font-size:30px;}
.dcr-b{flex:1;min-width:0;}
.dcr-n{font-size:13px;font-weight:800;}.dcr-n i{font-style:normal;font-size:12px;color:#b0b4bb;font-weight:600;}
.dcr-p{font-size:13px;font-weight:900;color:#ff3b1d;margin-top:2px;}
.dcr-q{display:flex;align-items:center;gap:9px;}
.dcr-q button{width:26px;height:26px;border-radius:50%;border:1px solid #ddd;background:#fff;font-size:16px;font-weight:700;cursor:pointer;}
.dcr-q b{min-width:16px;text-align:center;}
.dcart-empty{text-align:center;color:#aaa;font-size:14px;padding:40px 20px;}
.dcart-foot{margin:12px;background:#fff;border-radius:14px;padding:14px;box-shadow:0 1px 5px rgba(0,0,0,.04);}
.dcf-row{display:flex;justify-content:space-between;font-size:14px;color:#666;margin-bottom:7px;}
.dcf-total{display:flex;justify-content:space-between;font-size:15px;font-weight:900;color:#222;border-top:1px dashed #e3e6ea;padding-top:9px;margin-top:2px;}
.dcf-total b{color:#ff3b1d;}
.dcf-pay{width:100%;background:#ffcf00;color:#222;margin-top:12px;border-radius:22px;}
.dcf-note{font-size:12px;color:#f08a00;text-align:center;margin-top:8px;}
/* 订单追踪 */
.dord-h{font-size:13px;font-weight:900;color:#333;padding:14px 14px 8px;}
#dordActive{padding:0 12px;display:flex;flex-direction:column;gap:10px;}
.dtrack{background:#fff;border-radius:14px;padding:13px;box-shadow:0 1px 5px rgba(0,0,0,.04);}
.dtrack.arrived{background:#fffbe8;box-shadow:0 2px 10px rgba(255,180,0,.25);}
.dt-top{display:flex;align-items:center;gap:10px;}
.dt-e{font-size:26px;}
.dt-b{flex:1;min-width:0;}
.dt-n{font-size:13.5px;font-weight:800;}
.dt-i{font-size:12.5px;color:#9aa0a8;margin-top:2px;}
.dt-eta{font-size:13px;font-weight:900;color:#ff8000;}.dt-eta b{color:#ff3b1d;}
.dt-route{display:flex;align-items:center;gap:6px;margin:14px 2px 9px;}
.dt-dot{font-size:16px;flex:none;}
.dt-line{position:relative;flex:1;height:4px;border-radius:3px;background:#eceef1;}
.dt-fill{position:absolute;left:0;top:0;height:100%;border-radius:3px;background:#ffb400;transition:width 1s linear;}
.dt-rider{position:absolute;top:-11px;transform:translateX(-50%);font-size:17px;transition:left 1s linear;}
.dt-stage{font-size:13.5px;color:#c8860b;font-weight:800;}
.dord-hist{background:#fff;border-radius:11px;padding:11px 13px;margin:0 12px 8px;font-size:14px;font-weight:700;color:#555;box-shadow:0 1px 3px rgba(0,0,0,.03);}
.dord-hist span{float:right;color:#aaa;font-weight:600;font-size:12.5px;}
/* 餐厅场景(占位) */
.scene.room-dining{background:linear-gradient(180deg,#3a2e2a,#241a18);}
.dining{color:#fff;}
.din-bar{display:flex;align-items:center;gap:8px;padding:14px;font-size:15px;font-weight:800;background:rgba(0,0,0,.25);}
.din-bar .ab-back{cursor:pointer;font-size:20px;}
.din-list{padding:14px;display:flex;flex-direction:column;gap:10px;}
.din-meal{display:flex;align-items:center;gap:12px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:14px;padding:13px;cursor:pointer;}
.din-meal:active{transform:scale(.99);}
.din-e{font-size:32px;}
.din-b{flex:1;min-width:0;}
.din-n{font-size:14px;font-weight:800;}
.din-i{font-size:13px;color:#cbb8c8;margin-top:3px;}
.din-eat{background:#ffcf00;border:none;color:#222;font-size:14px;font-weight:800;border-radius:14px;padding:9px 16px;cursor:pointer;}
.din-empty{text-align:center;color:#b7a9b6;font-size:14px;padding:40px 20px;}
/* 走廊取餐/享用 badge */
.hall-food{position:absolute;left:50%;transform:translateX(-50%);bottom:96px;z-index:3;background:linear-gradient(135deg,#ffcf00,#ffe27a);color:#222;font-size:13px;font-weight:800;padding:11px 18px;border-radius:22px;cursor:pointer;box-shadow:0 6px 18px rgba(210,160,0,.45);animation:hallFoodPop .5s ease;}
.hall-food.eat{background:linear-gradient(135deg,#ff8f3d,#ffb86b);color:#fff;box-shadow:0 6px 18px rgba(230,130,40,.4);}
.hall-food b{margin-left:4px;}
@keyframes hallFoodPop{from{opacity:0;transform:translateX(-50%) translateY(8px);}to{opacity:1;transform:translateX(-50%) translateY(0);}}
.scene.dorm-rookie{background:#241a2c url('img/scenes/room/sushe/A/woshi.png?v=198') center/cover no-repeat;}
.scene.dorm-mid{background:linear-gradient(180deg,#2e3a44,#1c242c);}
.scene.dorm-penthouse{background:linear-gradient(180deg,#3a2e1c,#241c10);}
.scene.dorm-decline{background:linear-gradient(180deg,#23262c,#15171c);}
/* 照片场景:顶/底暗角,保证目标牌·地点名·tab 可读 */
.scene::before{content:'';position:absolute;left:0;right:0;top:0;height:130px;background:linear-gradient(rgba(10,8,14,.5),transparent);pointer-events:none;z-index:1;}
.scene::after{content:'';position:absolute;left:0;right:0;bottom:0;height:150px;background:linear-gradient(transparent,rgba(10,8,14,.6));pointer-events:none;z-index:1;}
.sc-top{padding:14px 14px 0;position:relative;z-index:5;}
.sc-obj{display:flex;align-items:center;gap:11px;background:linear-gradient(100deg,rgba(255,45,106,.92),rgba(176,38,255,.85));border-radius:15px;padding:12px 15px;box-shadow:0 6px 22px rgba(255,45,106,.3);cursor:pointer;}
.sc-obj.idle{background:rgba(255,255,255,.08);box-shadow:none;}
.sc-obj-ic{font-size:22px;flex-shrink:0;}
.sc-obj-b{display:flex;flex-direction:column;line-height:1.25;min-width:0;}
.sc-obj-b b{font-size:14px;font-weight:800;color:#fff;}
.sc-obj-b span{font-size:12.5px;color:rgba(255,255,255,.85);}
.sc-obj.summon{animation:scSummon .5s cubic-bezier(.2,.9,.3,1.3);}
@keyframes scSummon{0%{transform:translateY(-16px) scale(.9);opacity:0;}60%{transform:translateY(2px) scale(1.02);}100%{transform:none;opacity:1;}}
.sc-stage{flex:1;position:relative;margin:0;min-height:300px;z-index:2;}
.sc-place{position:absolute;left:0;right:0;bottom:8px;text-align:center;font-size:12px;color:rgba(255,255,255,.55);letter-spacing:1px;text-shadow:0 1px 6px rgba(0,0,0,.7);z-index:3;}
.sc-hot{position:absolute;transform:translate(-50%,-50%);display:flex;flex-direction:column;align-items:center;gap:5px;cursor:pointer;}
.sc-dot{width:50px;height:50px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:23px;background:rgba(22,16,30,.52);backdrop-filter:blur(5px);border:1.5px solid rgba(255,255,255,.92);box-shadow:0 3px 12px rgba(0,0,0,.4),0 0 16px rgba(255,200,120,.45);animation:scGlow 2.2s ease-in-out infinite;}
@keyframes scGlow{0%,100%{box-shadow:0 3px 12px rgba(0,0,0,.4),0 0 12px rgba(255,200,120,.35);transform:scale(1);}50%{box-shadow:0 3px 14px rgba(0,0,0,.45),0 0 24px rgba(255,200,120,.7);transform:scale(1.05);}}
.sc-hot:active .sc-dot{transform:scale(.92);}
.sc-hot.target .sc-dot{border-color:#ff8ab4;animation:scTarget 1s ease-in-out infinite;}
.sc-hot.target .sc-lab{background:linear-gradient(90deg,#ff3d74,#ff8a5a);color:#fff;}
@keyframes scTarget{0%,100%{box-shadow:0 3px 12px rgba(0,0,0,.4),0 0 14px rgba(255,90,150,.55);transform:scale(1.04);}50%{box-shadow:0 4px 18px rgba(0,0,0,.5),0 0 30px rgba(255,90,150,.95);transform:scale(1.14);}}
.sc-lab{font-size:11.5px;font-weight:800;color:#fff;background:rgba(18,14,26,.62);backdrop-filter:blur(3px);border-radius:8px;padding:2px 8px;}
.sc-lab i{color:rgba(255,255,255,.7);}
.sc-lab i{font-style:normal;color:rgba(255,255,255,.6);margin-left:2px;}

.metab{min-height:100%;padding:16px 14px 74px;color:#fff;background:linear-gradient(180deg,#1c1626,#120e1a);}
.mt-card{display:flex;align-items:center;gap:13px;background:linear-gradient(110deg,rgba(255,122,166,.16),rgba(255,158,122,.1));border:1px solid rgba(255,140,170,.25);border-radius:18px;padding:16px;margin-bottom:16px;}
.mt-av{width:60px;height:60px;border-radius:50%;background:#2a2036 center/cover;display:flex;align-items:center;justify-content:center;font-size:28px;flex-shrink:0;}
.mt-id b{display:block;font-size:18px;font-weight:800;}
.mt-id span{font-size:14px;color:#bcb2d8;}
.mt-sec{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:13px;padding:14px;margin-bottom:10px;cursor:pointer;}
.mt-sec:active{transform:scale(.99);}
.mt-sl b{display:block;font-size:15px;font-weight:700;}
.mt-sl span{font-size:13.5px;color:#9a8ec0;}
.mt-go{color:#8a7ea8;font-size:15px;}
.mt-sec.col{flex-direction:column;align-items:stretch;gap:10px;cursor:default;}
.mt-seg{display:flex;gap:6px;}
.mt-seg button{flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);color:#cbb8e0;font-size:13px;font-weight:700;border-radius:9px;padding:8px 4px;cursor:pointer;}
.mt-seg button.on{background:linear-gradient(135deg,#ff7aa6,#b06bff);border-color:transparent;color:#fff;}
.mt-seg button:active{transform:scale(.97);}
.mt-ver{text-align:center;font-size:11.5px;color:#6a5e88;margin-top:14px;}

.content.fullview > .home{padding-bottom:64px;}

/* 场景转场闪屏 + 「我」tab 券码/生涯 */
.sc-trans{position:absolute;inset:0;z-index:120;display:flex;align-items:center;justify-content:center;background:rgba(10,8,14,.0);opacity:0;transition:opacity .28s,background .28s;pointer-events:none;}
.sc-trans.show{opacity:1;background:rgba(10,8,14,.92);}
.sc-trans.out{opacity:0;background:rgba(10,8,14,0);}
.sc-trans-in{font-size:19px;font-weight:800;color:#fff;letter-spacing:1px;transform:translateY(10px);transition:transform .4s cubic-bezier(.2,.9,.3,1.2);text-shadow:0 2px 20px rgba(255,45,106,.5);}
.sc-trans.show .sc-trans-in{transform:none;}
.mt-chips{display:flex;gap:10px;margin-top:5px;}
.mt-chips span{font-size:13.5px;color:#cfc6e6;background:rgba(255,255,255,.07);border-radius:6px;padding:1px 8px;}
.mt-careline{display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);border-radius:12px;padding:11px 14px;margin-bottom:12px;font-size:12.5px;color:#9a8ec0;}
.mt-careline b{font-size:14px;color:#e8c889;font-weight:800;}
.mt-vbox{background:rgba(255,210,90,.06);border:1px solid rgba(255,210,90,.25);border-radius:14px;padding:14px;margin-bottom:12px;}
.mt-vh{font-size:14.5px;font-weight:800;color:#ffe1a8;}margin-bottom:6px;}
.mt-vstat{font-size:14px;color:#cfc6e6;margin-bottom:10px;}
.mt-vrow{display:flex;gap:8px;}
.mt-vin{flex:1;min-width:0;background:rgba(0,0,0,.3);border:1px solid rgba(255,255,255,.15);border-radius:9px;padding:9px 11px;color:#fff;font-size:13.5px;letter-spacing:1px;}
.mt-vbtn{background:linear-gradient(100deg,#ffd05a,#ff9e3d);color:#3a2400;font-weight:800;border:none;border-radius:9px;padding:0 16px;font-size:13px;cursor:pointer;}
.mt-vbtn:active{transform:scale(.96);}
.mt-vhint{font-size:11.5px;color:#9a8ec0;margin-top:8px;line-height:1.5;}

/* 多房间居家:房间占位背景 + 走廊门 + 房间头 */
.scene.room-hall{background:#16121e url('img/scenes/room/sushe/A/zoulang.png?v=198') center/cover no-repeat;}
.scene.room-living{background:#1a1d26 url('img/scenes/room/sushe/A/keting.png?v=198') center/cover no-repeat;}
.scene.room-dressing{background:#1f1824 url('img/scenes/room/sushe/A/yimaojian.png?v=198') center/cover no-repeat;}
.scene.room-bathroom{background:#1f1824 url('img/scenes/room/sushe/A/xishoujian.png?v=198') center/cover no-repeat;}
/* 夜景变体(19:00~5:00 或手动切换) */
.scene.dorm-rookie.night{background:#100a18 url('img/scenes/room/sushe/A/night/woshi-n.png?v=198') center/cover no-repeat;}
.scene.room-living.night{background:#100a18 url('img/scenes/room/sushe/A/night/keting-n.png?v=198') center/cover no-repeat;}
.scene.room-dressing.night{background:#100a18 url('img/scenes/room/sushe/A/night/yimaojian-n.png?v=198') center/cover no-repeat;}
.scene.room-bathroom.night{background:#100a18 url('img/scenes/room/sushe/A/night/xishoujian-n.png?v=198') center/cover no-repeat;}
.scene.room-hall.night{background:#100a18 url('img/scenes/room/sushe/A/night/zoulang-n.png?v=198') center/cover no-repeat;}
.scene.room-gym{background:linear-gradient(180deg,#26323a,#161d22);}
.scene.room-studio{background:linear-gradient(180deg,#2a2640,#161426);}
.scene.room-garden{background:linear-gradient(180deg,#2a3a2e,#16201a);}
.sc-roomhd{display:flex;flex-direction:column;background:rgba(0,0,0,.4);backdrop-filter:blur(6px);border-radius:14px;padding:11px 15px;line-height:1.3;}
.sc-roomhd b{font-size:15px;font-weight:800;color:#fff;}
.sc-roomhd span{font-size:12.5px;color:rgba(255,255,255,.7);}
.sc-roomhd.back{cursor:pointer;}
.sc-roomhd.back:active{transform:scale(.99);}
.hall-doors{position:absolute;inset:0;display:flex;flex-direction:column;gap:11px;align-items:center;justify-content:center;padding:20px;}
.hall-door{display:flex;align-items:center;gap:13px;width:78%;max-width:300px;background:rgba(28,22,38,.7);backdrop-filter:blur(6px);border:1.5px solid rgba(255,255,255,.85);border-radius:14px;padding:13px 16px;cursor:pointer;box-shadow:0 3px 14px rgba(0,0,0,.35);transition:transform .1s;}
.hall-door:active{transform:scale(.98);}
.hall-door.lock{opacity:.4;border-color:rgba(255,255,255,.25);cursor:default;box-shadow:none;}
.hd-ic{font-size:26px;width:34px;text-align:center;flex-shrink:0;}
.hd-nm{font-size:15px;font-weight:800;color:#fff;}
.hd-nm i{display:block;font-style:normal;font-size:12px;font-weight:500;color:rgba(255,255,255,.65);}

/* 商城(手机app·浅色) */
.shop{min-height:100%;background:#faf7fa;padding-bottom:24px;}
.shop-money{padding:10px 16px 2px;font-size:13.5px;color:#999;}
.shop-money b{color:#ff2d6a;font-weight:800;}
.shop-tabs{display:flex;gap:7px;overflow-x:auto;padding:8px 14px 10px;-webkit-overflow-scrolling:touch;}
.shop-tabs::-webkit-scrollbar{display:none;}
.shop-tab{flex-shrink:0;font-size:13.5px;font-weight:700;color:#999;background:#fff;border:1px solid #eee;border-radius:16px;padding:6px 13px;cursor:pointer;}
.shop-tab.on{background:#ff2d6a;color:#fff;border-color:#ff2d6a;}
.shop-list{padding:0 14px;display:flex;flex-direction:column;gap:9px;}
.shop-item{display:flex;align-items:center;gap:11px;background:#fff;border:1px solid #f0e8ee;border-radius:14px;padding:11px 13px;}
.shop-item.lock{opacity:.55;}
.si-e{font-size:29px;width:40px;text-align:center;flex-shrink:0;}
.si-b{flex:1;min-width:0;}
.si-n{font-size:13.5px;font-weight:800;color:#222;}
.si-n i{font-style:normal;font-weight:500;font-size:12px;color:#aaa;margin-left:3px;}
.si-m{font-size:12px;color:#999;margin-top:2px;}
.si-m b{color:#c8123e;font-weight:700;}
.si-r{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;}
.si-stock,.si-own{font-size:11px;color:#2bb673;font-weight:700;}
.si-buy{background:#ff2d6a;color:#fff;border:none;border-radius:9px;padding:7px 11px;font-size:13.5px;font-weight:800;cursor:pointer;white-space:nowrap;}
.si-buy:active{transform:scale(.96);}
.si-buy.lk{background:#ddd;color:#999;cursor:default;}
.si-buy.got{background:#eef7f0;color:#2bb673;cursor:default;}
.shop-tip{text-align:center;font-size:11.5px;color:#c4b8c0;margin:12px 14px 0;line-height:1.5;}

/* 화장대 造型站(深色·场景内) */
.makeup{min-height:100%;background:linear-gradient(180deg,#241a2c,#15101e);color:#fff;padding-bottom:24px;}
.makeup .app-bar{background:rgba(0,0,0,.25);}
.makeup .ab-back,.makeup .ab-t{color:#fff;}
.makeup .ab-t i{color:#bcb2d8;}
.mk-cur{margin:12px 14px;padding:12px 14px;border-radius:13px;background:rgba(255,45,106,.14);border:1px solid rgba(255,45,106,.3);font-size:13.5px;color:#fff;}
.mk-cur b{color:#ff9ec0;}
.mk-cur span{display:block;font-size:12px;color:#bcb2d8;margin-top:3px;}
.mk-cur.off{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.1);color:#9a8ec0;}
.mk-list{padding:0 14px;display:flex;flex-direction:column;gap:9px;}
.mk-item{display:flex;align-items:center;gap:11px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.09);border-radius:13px;padding:11px 13px;}
.mk-item.on{border-color:#ff6f9c;background:rgba(255,45,106,.12);}
.mk-item.empty{opacity:.5;}
.mk-e{font-size:26px;width:36px;text-align:center;flex-shrink:0;}
.mk-b{flex:1;min-width:0;}
.mk-n{font-size:13px;font-weight:800;}
.mk-n i{font-style:normal;font-weight:500;font-size:11.5px;color:#9a8ec0;margin-left:3px;}
.mk-fx{font-size:11.5px;color:#9a8ec0;margin-top:2px;}
.mk-r{display:flex;flex-direction:column;align-items:flex-end;gap:4px;flex-shrink:0;}
.mk-stock{font-size:11px;color:#5ee89b;font-weight:700;}
.mk-use{background:#ff2d6a;color:#fff;border:none;border-radius:8px;padding:6px 12px;font-size:13px;font-weight:800;cursor:pointer;}
.mk-use:active{transform:scale(.96);}
.mk-use.lk{background:rgba(255,255,255,.12);color:#bcb2d8;}
.mk-tip{text-align:center;font-size:11.5px;color:#7a6e98;margin:12px 14px 0;}

/* 衣帽间换装站(深色·场景内) */
.wardrobe{min-height:100%;background:linear-gradient(180deg,#241a2c,#15101e);color:#fff;padding-bottom:24px;}
.wardrobe .app-bar{background:rgba(0,0,0,.25);}
.wardrobe .ab-back,.wardrobe .ab-t{color:#fff;}
.wardrobe .ab-t i{color:#bcb2d8;}
.wd-look{margin:12px 14px;padding:12px 14px;border-radius:13px;background:linear-gradient(100deg,rgba(255,45,106,.16),rgba(176,38,255,.12));border:1px solid rgba(255,45,106,.3);}
.wd-lk-t{font-size:12.5px;color:#ffb3cd;font-weight:700;}
.wd-lk-b{font-size:14px;font-weight:800;margin-top:3px;}
.wd-lk-b span{display:block;font-size:11.5px;font-weight:500;color:#bcb2d8;margin-top:2px;}
.wd-list{padding:0 14px;display:flex;flex-direction:column;gap:13px;}
.wd-slot{}
.wd-sh{font-size:12.5px;font-weight:800;color:#cbb8e0;margin-bottom:6px;letter-spacing:.5px;}
.wd-empty{font-size:12.5px;color:#6a5e88;background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.1);border-radius:10px;padding:9px 12px;}
.wd-items{display:flex;flex-wrap:wrap;gap:8px;}
.wd-it{display:flex;align-items:center;gap:7px;background:rgba(255,255,255,.05);border:1.5px solid rgba(255,255,255,.1);border-radius:11px;padding:8px 11px;cursor:pointer;}
.wd-it.on{border-color:#ff6f9c;background:rgba(255,45,106,.14);}
.wd-it:active{transform:scale(.97);}
.wd-e{font-size:21px;}
.wd-n{font-size:13.5px;font-weight:700;line-height:1.1;}
.wd-n i{display:block;font-style:normal;font-size:10.5px;font-weight:500;color:#9a8ec0;}
.wd-ok{font-size:11px;color:#ff9ec0;font-weight:800;margin-left:2px;}

/* 商场场景(即时购+出门事件) */
.scene.room-mall,.mall.scene{background:linear-gradient(180deg,#2a2030,#15101c);}
.mall{min-height:100%;color:#fff;padding-bottom:24px;}
.mall-bar{display:flex;align-items:center;gap:8px;padding:14px 14px 8px;}
.mall-bar .ab-back{font-size:24px;color:#fff;cursor:pointer;width:24px;}
.mb-t{font-size:16px;font-weight:800;}
.mb-t i{font-style:normal;font-size:12px;font-weight:500;color:#bcb2d8;margin-left:5px;}
.mall-go{margin:4px 14px 10px;text-align:center;background:linear-gradient(100deg,#ff9e3d,#ff5e8a);color:#fff;font-weight:800;font-size:13px;border-radius:12px;padding:11px;cursor:pointer;box-shadow:0 4px 16px rgba(255,94,138,.3);}
.mall-go:active{transform:scale(.98);}
.mall .shop-money{color:#cbb8e0;}
.mall .shop-tab{background:rgba(255,255,255,.06);color:#bcb2d8;border-color:rgba(255,255,255,.12);}
.mall .shop-tab.on{background:#ff2d6a;color:#fff;border-color:#ff2d6a;}
.mall .shop-item{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.09);}
.mall .si-n{color:#fff;}
.mall .si-n i{color:#9a8ec0;}
.mall .si-m{color:#9a8ec0;}
.mall .si-m b{color:#ffb3cd;}
.hall-door.out{border-color:rgba(255,158,109,.7);background:rgba(255,120,60,.14);margin-top:6px;}
.hall-door.out .hd-nm i{display:block;font-style:normal;font-size:11.5px;font-weight:500;color:rgba(255,210,180,.7);}

/* 装修主题(re-skin据点·占位渐变,主题图后补;放在 dorm 类之后→覆盖) */
.scene.decor-warm{background:linear-gradient(180deg,#efe6dc,#cdbfb0);}
.scene.decor-coquette{background:linear-gradient(180deg,#ffe3ef,#f3b9d4);}
.scene.decor-cottage{background:linear-gradient(180deg,#e7f0dd,#c2d6b0);}
.scene.decor-dark{background:linear-gradient(180deg,#26302a,#161c1a);}
.scene.decor-y2k{background:linear-gradient(180deg,#3a2a4e,#1c1530);}
.scene.decor-neo{background:linear-gradient(180deg,#3a2e1c,#241a12);}
.scene.decor-mono{background:linear-gradient(180deg,#e8e8ec,#bfbfc8);}
.si-buy.app{background:#7b5cff;}

/* 商城 부동산 房产 */
.shop-estate{padding:0 14px;display:flex;flex-direction:column;gap:12px;}
.es-house{background:#fff;border:1px solid #f0e8ee;border-radius:14px;padding:12px 13px;}
.es-house.on{border-color:#ffc46b;box-shadow:0 0 0 1px #ffe0b0;}
.es-h{display:flex;align-items:center;gap:10px;}
.es-e{font-size:26px;flex-shrink:0;}
.es-n{flex:1;font-size:14px;font-weight:800;color:#222;}
.es-n i{font-style:normal;font-weight:500;font-size:11.5px;color:#aaa;margin-left:4px;}
.es-st{flex-shrink:0;}
.es-cur{font-size:12.5px;font-weight:800;color:#2bb673;}
.es-old{font-size:11.5px;color:#bbb;}
.es-styles{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px;}
.es-style{display:flex;align-items:center;gap:6px;background:#faf5f8;border:1px solid #f0e6ee;border-radius:9px;padding:5px 8px;font-size:12.5px;color:#555;}
.es-sb{background:#ff2d6a;color:#fff;border:none;border-radius:7px;padding:3px 9px;font-size:12px;font-weight:800;cursor:pointer;}
.es-sb.app{background:#7b5cff;}
.es-sb.on{background:#eef7f0;color:#2bb673;}
.es-lock{font-size:12px;color:#bbb;padding:4px 0;}
/* 装修 lookbook 卡 */
.es-lbh{font-size:13.5px;font-weight:800;color:#444;margin:12px 0 8px;}
.es-lbh span{font-size:11.5px;color:#aaa;font-weight:500;}
.es-lb{display:flex;flex-direction:column;gap:11px;}
.lb-card{background:#fff;border:1px solid #f0e8ee;border-radius:14px;overflow:hidden;cursor:pointer;box-shadow:0 1px 5px rgba(0,0,0,.04);}
.lb-card.on{border-color:#7b5cff;box-shadow:0 0 0 1.5px #c9bcff;}
.lb-card:active{transform:scale(.995);}
.lb-cover{position:relative;width:100%;aspect-ratio:16/10;background:#f3f0f5 center/cover no-repeat;}
.lb-eye{position:absolute;bottom:8px;right:8px;background:rgba(0,0,0,.45);color:#fff;font-size:11.5px;font-weight:700;border-radius:12px;padding:3px 9px;backdrop-filter:blur(3px);}
.lb-b{padding:11px 13px;}
.lb-n{font-size:14.5px;font-weight:900;color:#222;}.lb-n i{font-style:normal;font-size:12.5px;color:#b0a8bb;font-weight:600;}
.lb-fx{font-size:12.5px;color:#9a8ec0;margin:3px 0 9px;}
.lb-btn{background:#ff2d6a;color:#fff;border:none;border-radius:9px;padding:8px 16px;font-size:13.5px;font-weight:800;cursor:pointer;}
.lb-btn.app{background:#7b5cff;}
.lb-on{font-size:13.5px;font-weight:800;color:#2bb673;}
/* 装修全屋预览画廊 */
.lbprev .sheet-top{background:linear-gradient(135deg,#7b5cff,#b06bff);color:#fff;}
.lbp-toggle{display:flex;gap:8px;justify-content:center;padding:12px;background:#faf7fc;}
.lbp-toggle button{background:#fff;border:1px solid #e6dff2;color:#777;font-size:13.5px;font-weight:800;border-radius:16px;padding:7px 18px;cursor:pointer;}
.lbp-toggle button.on{background:#7b5cff;border-color:transparent;color:#fff;}
.lbp-track{display:flex;gap:12px;overflow-x:auto;padding:14px;scroll-snap-type:x mandatory;-webkit-overflow-scrolling:touch;}
.lbp-track::-webkit-scrollbar{display:none;}
.lbp-slide{flex:0 0 78%;scroll-snap-align:center;}
.lbp-img{width:100%;aspect-ratio:9/16;border-radius:16px;background:#eee center/cover no-repeat;box-shadow:0 4px 16px rgba(0,0,0,.15);}
.lbp-rn{text-align:center;font-size:13.5px;font-weight:700;color:#555;margin-top:8px;}
.lbp-foot{padding:12px 16px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #eee;background:#fff;}
.lbp-fx{font-size:13px;color:#9a8ec0;text-align:center;margin-bottom:10px;}
.lbp-apply{width:100%;background:#7b5cff;color:#fff;border:none;border-radius:14px;padding:13px;font-size:14px;font-weight:900;cursor:pointer;}
.lbp-apply.buy{background:#ff2d6a;}
.lbp-apply.on{background:#eef7f0;color:#2bb673;}
.lbp-apply:active{transform:scale(.98);}

/* 商品大卡(2列网格·种草) */
.shop-grid{padding:0 12px;display:grid;grid-template-columns:1fr 1fr;gap:11px;}
.sp-card{background:#fff;border:1px solid #f0e8ee;border-radius:15px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 2px 8px rgba(0,0,0,.04);}
.sp-card.lock{opacity:.6;}
.sp-img{position:relative;aspect-ratio:1/1;background:linear-gradient(150deg,#fbeef4,#f3e9f5);display:flex;align-items:center;justify-content:center;}
.sp-e{font-size:62px;filter:drop-shadow(0 4px 8px rgba(0,0,0,.12));}
.sp-img.has-ph,.mall .sp-img.has-ph{background:#fff;}
.sp-ph{width:100%;height:100%;object-fit:cover;display:block;}
.sp-tag{position:absolute;top:7px;left:7px;font-size:11px;font-weight:800;border-radius:6px;padding:2px 7px;}
.sp-tag.stock{background:rgba(43,182,115,.92);color:#fff;}
.sp-tag.own{background:rgba(43,182,115,.92);color:#fff;}
.sp-body{padding:9px 10px 11px;display:flex;flex-direction:column;gap:2px;flex:1;}
.sp-brand{font-size:11px;font-weight:800;color:#c8123e;letter-spacing:.3px;text-transform:uppercase;min-height:12px;}
.sp-name{font-size:13px;font-weight:800;color:#222;line-height:1.15;}
.sp-fx{font-size:11.5px;color:#999;margin-bottom:7px;flex:1;}
.sp-buy{background:#ff2d6a;color:#fff;border:none;border-radius:9px;padding:8px;font-size:14px;font-weight:800;cursor:pointer;width:100%;}
.sp-buy:active{transform:scale(.97);}
.sp-buy.lk{background:#eee;color:#aaa;cursor:default;font-size:11.5px;}
.sp-buy.got{background:#eef7f0;color:#2bb673;cursor:default;}
.sp-buy.app{background:#7b5cff;}
.mall .sp-card{background:rgba(255,255,255,.06);border-color:rgba(255,255,255,.1);}
.mall .sp-img{background:linear-gradient(150deg,rgba(255,45,106,.1),rgba(176,38,255,.08));}
.mall .sp-brand{color:#ffb3cd;}
.mall .sp-name{color:#fff;}
.mall .sp-fx{color:#9a8ec0;}
/* 购买确认弹窗 */
.buy-modal{text-align:center;}
.buy-ph{width:150px;height:150px;object-fit:cover;border-radius:16px;background:#fff;margin:0 auto 6px;display:block;box-shadow:0 4px 14px rgba(0,0,0,.12);}
.buy-brand{font-size:12.5px;font-weight:800;color:#c8123e;letter-spacing:.4px;text-transform:uppercase;}
.buy-fx{font-size:13px;color:#999;margin-bottom:6px;}
.buy-price{font-size:22px;font-weight:900;color:#ff2d6a;margin-bottom:8px;}
.buy-where{font-size:12.5px;color:#7a7a8a;line-height:1.5;background:#faf4f7;border-radius:10px;padding:8px 10px;margin-bottom:12px;}
.buy-ok{max-width:240px;margin:0 auto 8px;display:block;}
.buy-cancel{background:none;border:none;color:#aaa;font-size:14px;font-weight:700;cursor:pointer;padding:4px;}
/* 商城:我的衣橱/化妆台入口 */
.shop-mine{display:flex;gap:8px;padding:0 12px 4px;}
.shop-mine button{flex:1;background:#fff;border:1px solid #f0d7e4;color:#c8123e;font-size:13.5px;font-weight:800;border-radius:11px;padding:9px;cursor:pointer;}
.shop-mine button:active{transform:scale(.97);}
.mall .shop-mine button{background:rgba(255,255,255,.08);border-color:rgba(255,255,255,.14);color:#ffb3cd;}
/* 衣帽间/化妆台:商品实拍缩略 */
.wd-ph{width:46px;height:46px;object-fit:cover;border-radius:9px;background:#fff;flex:none;}
.mk-ph{width:52px;height:52px;object-fit:cover;border-radius:9px;background:#fff;flex:none;}
/* 我的物品/소장품 总览 */
.closet{min-height:100%;background:linear-gradient(180deg,#241a2c,#15101e);color:#fff;padding-bottom:24px;}
.closet .app-bar{background:rgba(0,0,0,.25);}
.closet .ab-back,.closet .ab-t{color:#fff;}
.closet .ab-t i{color:#bcb2d8;}
.cl-sum{margin:12px;padding:12px 14px;border-radius:14px;background:linear-gradient(135deg,#ff5e8a,#b06bff);color:#fff;font-size:14px;font-weight:700;text-align:center;box-shadow:0 4px 14px rgba(176,107,255,.28);}
.cl-sum b{font-size:16px;}
.cl-sec{margin:0 12px 18px;}
.cl-sh{display:flex;align-items:center;justify-content:space-between;margin-bottom:9px;}
.cl-st{font-size:13.5px;font-weight:900;color:#eee;}
.cl-go{background:rgba(255,45,106,.16);border:1px solid rgba(255,111,156,.4);color:#ff9ebc;font-size:12px;font-weight:800;border-radius:9px;padding:5px 10px;cursor:pointer;}
.cl-go:active{transform:scale(.96);}
.cl-hint{font-size:11.5px;color:#8a7e9c;}
.cl-empty{font-size:12.5px;color:#6a5e88;background:rgba(255,255,255,.03);border:1px dashed rgba(255,255,255,.1);border-radius:10px;padding:12px;text-align:center;}
.closet .shop-grid{padding:0;}

/* 走廊:门热点(圆角矩形=门) + 出门底栏 */
.sc-hot.door .sc-dot{width:56px;height:50px;border-radius:12px;}
.hall-out{margin:0 14px 8px;text-align:center;background:rgba(255,120,60,.14);border:1px solid rgba(255,158,109,.55);border-radius:13px;padding:11px;font-size:13px;font-weight:800;color:#ffd2b4;cursor:pointer;position:relative;z-index:3;}
.hall-out span{display:block;font-size:11.5px;font-weight:500;color:rgba(255,210,180,.6);}
.hall-out:active{transform:scale(.99);}

/* 应援:지하철 광고站 */
.subway{min-height:100%;background:linear-gradient(180deg,#15131f,#0c0a14);color:#fff;padding-bottom:24px;}
.sb-bar{display:flex;align-items:center;gap:8px;padding:14px 14px 6px;}
.sb-bar .ab-back{font-size:24px;color:#fff;cursor:pointer;width:24px;}
.sb-t{font-size:15px;font-weight:800;}
.sb-banner{margin:8px 14px;border-radius:16px;padding:18px 16px;text-align:center;background:linear-gradient(120deg,#ff2d6a,#b026ff);box-shadow:0 8px 26px rgba(255,45,106,.35);}
.sb-bn-tag{font-size:11.5px;font-weight:700;color:rgba(255,255,255,.8);letter-spacing:1px;margin-bottom:7px;}
.sb-bn-k{font-size:17px;font-weight:800;line-height:1.4;}
.sb-bn-c{font-size:13.5px;color:rgba(255,255,255,.9);margin-top:5px;}
.sb-board{margin:12px 14px;display:flex;align-items:center;gap:14px;background:#0a0814;border:2px solid #2a2440;border-radius:14px;padding:14px;box-shadow:inset 0 0 24px rgba(176,38,255,.18);}
.sb-av{width:78px;height:78px;border-radius:12px;background:#241a2c center/cover;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:32px;box-shadow:0 0 18px rgba(255,45,106,.4);}
.sb-info{flex:1;min-width:0;}
.sb-cl{font-family:"Bebas Neue",sans-serif;font-size:13px;letter-spacing:2px;color:#ffd86b;}
.sb-nm{font-size:22px;font-weight:900;line-height:1.1;margin:2px 0;}
.sb-fc{font-size:12.5px;color:#bcb2d8;letter-spacing:1px;}
.sb-stats{display:flex;gap:8px;margin:0 14px;}
.sb-stats>div{flex:1;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:11px;padding:10px 4px;text-align:center;}
.sb-stats b{display:block;font-size:18px;font-weight:900;color:#ff6f9c;}
.sb-stats span{font-size:10.5px;color:#9a8ec0;}
.sb-tq{margin:11px 14px 0;text-align:center;background:linear-gradient(90deg,rgba(255,208,90,.16),rgba(255,158,196,.16));border:1px solid rgba(255,208,90,.4);border-radius:11px;padding:11px;font-size:13.5px;font-weight:700;color:#ffe1a8;}
.sb-msgs{display:flex;flex-wrap:wrap;gap:7px;margin:14px 14px 0;justify-content:center;}
.sb-msg{font-size:12.5px;color:#e9dff5;background:rgba(255,255,255,.06);border-radius:14px;padding:5px 11px;}

/* 应援:真实场景图 + 显示区贴头像 + 图外双语数据条(重做) */
.spt-bar{display:flex;align-items:center;gap:8px;padding:14px 14px 6px;}
.spt-bar .ab-back{font-size:24px;color:#fff;cursor:pointer;width:24px;}
.spt-t{font-size:17px;font-weight:800;}
.spt-stage{position:relative;margin:8px 14px;border-radius:14px;overflow:hidden;aspect-ratio:3/4;background:#0c0a12 center/cover no-repeat;}
.sub-bg{aspect-ratio:1072/1920;background:#0c0a12 url('img/scenes/subway.png') center/cover no-repeat;}
.cafe-bg{aspect-ratio:4/3;background:linear-gradient(160deg,#3a2630,#241820);}
.tsq-bg{aspect-ratio:3/4;background:linear-gradient(180deg,#0e1430,#05060f);}
.spt-board{position:absolute;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 6px 22px rgba(0,0,0,.5);}
.spt-photo{flex:1;background:#241a2c center/cover no-repeat;display:flex;align-items:center;justify-content:center;font-size:44px;min-height:0;}
.spt-cap{background:linear-gradient(0deg,#0a0810,rgba(10,8,16,.5));padding:8px 10px;}
.spt-cl{font-family:"Bebas Neue",sans-serif;font-size:12.5px;letter-spacing:2px;color:#ffd86b;}
.spt-nm{font-size:18px;font-weight:900;color:#fff;line-height:1.05;}
.spt-sl{font-size:12.5px;color:#fff;margin-top:2px;line-height:1.3;}
.spt-fr{font-size:10.5px;color:#cbb8e0;margin-top:3px;letter-spacing:.5px;}
.spt-cn{position:absolute;left:8px;right:8px;bottom:7px;text-align:center;font-size:13px;color:rgba(255,255,255,.88);text-shadow:0 1px 4px rgba(0,0,0,.8);z-index:2;}
.spt-data{display:flex;gap:8px;margin:10px 14px 0;overflow-x:auto;}
.spt-data::-webkit-scrollbar{display:none;}
.spt-d{flex:1;min-width:96px;background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.08);border-radius:11px;padding:10px 10px;text-align:center;}
.spt-d b{display:block;font-size:14px;font-weight:800;color:#ff9ec0;line-height:1.3;}
.spt-d span{font-size:12.5px;color:#bcb2d8;}

/* 应援:生카 + 时代广场 */
.cafe-sp,.tsq-sp{min-height:100%;color:#fff;padding-bottom:24px;}
.cafe-sp{background:linear-gradient(180deg,#241820,#14101a);}
.tsq-sp{background:linear-gradient(180deg,#0a0e22,#06070f);}
.cafe-banner{position:absolute;left:6%;right:6%;top:3%;text-align:center;background:linear-gradient(90deg,#ff6f9c,#ffb86b);color:#3a1020;font-weight:900;font-size:13px;padding:6px;border-radius:8px;box-shadow:0 4px 14px rgba(0,0,0,.4);z-index:3;}
.spt-frame{position:absolute;background:#fff;padding:3.5%;border-radius:4px;box-shadow:0 6px 16px rgba(0,0,0,.45);transform:rotate(-1.5deg);}
.spt-frame:nth-child(odd){transform:rotate(2deg);}
.spt-frame .spt-photo{width:100%;height:100%;border-radius:2px;}
.cafe-fr{position:absolute;overflow:hidden;border-radius:2px;}
.cafe-fr .spt-photo{width:100%;height:100%;font-size:16px;}
.cafe-fr .spt-cam{font-size:8px;padding:0 3px;}
.cafe-decor{position:absolute;left:0;right:0;bottom:5%;text-align:center;font-size:22px;letter-spacing:4px;z-index:2;}
.cafe-sl{text-align:center;font-size:13.5px;color:rgba(255,255,255,.88);margin:10px 14px 0;line-height:1.4;}
.tsq-screen{box-shadow:0 0 30px rgba(90,140,255,.6),0 0 0 2px rgba(120,160,255,.5);border-radius:4px;}
.tsq-screen .spt-photo{font-size:44px;}
.tsq-msg{position:absolute;left:0;right:0;bottom:0;background:linear-gradient(0deg,rgba(8,10,30,.92),transparent);font-family:"Bebas Neue",sans-serif;font-size:15px;letter-spacing:2px;text-align:center;color:#fff;padding:8px 4px 6px;}
.tsq-crowd{position:absolute;left:0;right:0;bottom:4%;text-align:center;font-size:12.5px;color:rgba(200,210,255,.8);z-index:2;}

/* 应援:"这些地方都有你"画廊 + 옥외 전광판 */
.sg-wrap{margin:14px 14px 0;}
.sg-hd{font-size:13px;font-weight:800;color:#e0cdf0;margin-bottom:9px;}
.sg-row{display:flex;gap:9px;overflow-x:auto;padding-bottom:4px;-webkit-overflow-scrolling:touch;}
.sg-row::-webkit-scrollbar{display:none;}
.sg-card{flex-shrink:0;width:98px;}
.sg-ph{width:98px;height:64px;border-radius:8px;background:#241a2c center/cover no-repeat;box-shadow:0 3px 10px rgba(0,0,0,.4),inset 0 0 0 2px rgba(255,255,255,.18);display:flex;align-items:center;justify-content:center;font-size:26px;}
.sg-ph.flag{font-size:34px;background:rgba(255,255,255,.05);}
.sg-nm{font-size:12.5px;color:#bcb2d8;margin-top:5px;text-align:center;line-height:1.25;}
.sg-nm b{display:block;color:#fff;font-size:13px;font-weight:700;}
.sg-card.more .sg-ph{background:rgba(255,255,255,.06);font-size:18px;font-weight:900;color:#ff9ec0;flex-direction:column;line-height:1;}
.sg-card.more span{font-size:8px;color:#9a8ec0;font-weight:500;margin-top:3px;}
.out-bg{aspect-ratio:4/3;background:linear-gradient(180deg,#141a30,#0a0c18);}
.out-screen{box-shadow:0 0 28px rgba(120,160,255,.5),0 0 0 2px rgba(150,180,255,.45);border-radius:6px;}
.out-tag{position:absolute;left:0;right:0;top:58%;text-align:center;font-family:"Bebas Neue",sans-serif;font-size:13.5px;letter-spacing:2px;color:#9bb4ff;z-index:2;}

/* 应援:场景国家徽章 + 世界地图 */
/* 浮动返回键(替代顶栏标题,让内容占更大屏) */
.subway,.cafe-sp,.tsq-sp,.world{position:relative;}
.subway{min-height:100%;padding:10px 0 24px;background:linear-gradient(180deg,#161019,#0c0a12);}
.cafe-sp,.tsq-sp{padding-top:10px;}
.sc-back{position:absolute;top:10px;left:10px;z-index:30;width:36px;height:36px;border-radius:50%;background:rgba(10,8,16,.62);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.22);color:#fff;font-size:23px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0 0 3px;box-shadow:0 3px 12px rgba(0,0,0,.45);}
.spt-loc{position:absolute;right:8px;top:8px;z-index:5;background:rgba(10,8,16,.74);backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);border-radius:14px;padding:6px 12px;color:#fff;display:flex;flex-direction:column;line-height:1.25;max-width:72%;text-align:right;}
.spt-loc b{font-size:14px;font-weight:800;}
.spt-loc span{font-size:12.5px;color:#cbd2e6;margin-top:1px;}
/* 点应援屏换图:可点击 + 📷 角标 + 提示条 */
.spt-photo{position:relative;cursor:pointer;}
.spt-cam{position:absolute;right:4px;bottom:4px;font-size:12.5px;background:rgba(0,0,0,.55);border-radius:7px;padding:1px 5px;line-height:1.4;pointer-events:none;opacity:.9;}
.spt-uphint{text-align:center;font-size:13.5px;color:#ffc4dd;font-weight:700;margin:10px 14px 0;}
.world{min-height:100%;background:linear-gradient(180deg,#0a1024,#06080f);color:#fff;padding-bottom:24px;}
.wm-head{text-align:center;padding:8px 14px 4px;}
.wm-top{display:flex;align-items:center;gap:10px;margin:0 2px 8px;text-align:left;}
.wm-fans{margin-left:auto;text-align:right;flex-shrink:0;}
.wm-fans b{font-family:"Bebas Neue",sans-serif;font-size:34px;font-weight:900;line-height:1;color:#ffe98a;letter-spacing:.5px;display:block;text-shadow:0 0 8px #ffd86b,0 0 18px rgba(255,180,90,.8),0 0 30px rgba(255,126,179,.5);}
.wm-fans span{font-size:11px;color:#ffe9c2;font-weight:800;}
/* 标语横幅(强化突出) */
.wm-slogan{margin:2px 2px 8px;padding:8px 12px 7px;border-radius:13px;background:linear-gradient(96deg,rgba(255,180,90,.22),rgba(255,110,160,.26),rgba(170,120,255,.2));border:1px solid rgba(255,200,130,.5);box-shadow:0 0 22px rgba(255,130,175,.32),inset 0 0 16px rgba(255,180,210,.1);position:relative;overflow:hidden;}
.wm-slogan::after{content:"";position:absolute;top:-60%;left:-30%;width:50%;height:220%;background:linear-gradient(100deg,transparent,rgba(255,255,255,.28),transparent);transform:rotate(8deg);animation:wmShine 3.4s ease-in-out infinite;}
@keyframes wmShine{0%,72%{left:-40%}100%{left:130%}}
.wm-sl-zh{display:block;font-size:16px;font-weight:900;color:#fff;letter-spacing:.6px;line-height:1.25;text-shadow:0 0 14px rgba(255,190,215,.85),0 1px 2px rgba(120,0,40,.4);position:relative;z-index:1;}
.wm-sl-ko{display:block;font-size:12px;font-weight:700;color:#ffe1cf;margin-top:4px;letter-spacing:.3px;opacity:.92;position:relative;z-index:1;}
/* 点亮国家国旗(左滑) */
.wm-flags{display:flex;gap:9px;overflow-x:auto;margin:8px 0 1px;padding-bottom:3px;-webkit-overflow-scrolling:touch;}
.wm-flags::-webkit-scrollbar{display:none;}
.wm-fl{flex-shrink:0;font-size:42px;line-height:1;filter:drop-shadow(0 2px 5px rgba(0,0,0,.5));}
/* 顶部头像+名字(居中) */
.wm-av{width:44px;height:44px;border-radius:50%;background:#241a2c center/cover no-repeat;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-size:21px;box-shadow:0 0 0 2px rgba(255,158,196,.55),0 0 16px rgba(255,90,140,.45);}
.wm-id-tx{min-width:0;}
.wm-id-tx b{display:block;font-size:17px;font-weight:900;color:#fff;line-height:1.1;}
.wm-id-tx span{display:block;font-size:12.5px;color:#cdb8e6;font-weight:700;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
/* 爽感双大数字:国家数 + 花费 */
.wm-bigrow{display:flex;gap:9px;margin:0 2px;}
.wm-big{flex:1;background:linear-gradient(160deg,rgba(255,216,107,.14),rgba(255,126,179,.1));border:1px solid rgba(255,200,120,.3);border-radius:13px;padding:8px 8px;}
.wm-big.spend{background:linear-gradient(160deg,rgba(126,182,255,.16),rgba(186,140,255,.12));border-color:rgba(140,180,255,.34);}
.wm-big b{display:block;font-family:"Bebas Neue",sans-serif;font-size:34px;font-weight:900;line-height:1;color:#ffe07a;text-shadow:0 0 16px rgba(255,200,90,.4);}
.wm-big.spend b{color:#9fc4ff;text-shadow:0 0 16px rgba(120,170,255,.4);}
.wm-big b u{font-size:17px;text-decoration:none;margin-left:1px;}
.wm-big span{display:block;font-size:12px;color:#cdd6ee;font-weight:700;margin-top:3px;line-height:1.2;}
.wm-h2{font-size:13px;color:#cdd6ee;margin-top:4px;font-weight:600;}
.wm-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:8px;}
.wm-st{display:flex;align-items:center;gap:8px;background:rgba(255,255,255,.055);border-radius:11px;padding:6px 10px;border-left:3px solid var(--c,#ffd86b);}
.wm-st b{font-family:"Bebas Neue",sans-serif;font-size:25px;font-weight:900;color:var(--c,#ffd86b);line-height:1;min-width:36px;text-align:left;text-shadow:0 0 12px var(--c,#ffd86b);}
.wm-st i{font-style:normal;font-size:13px;font-weight:800;color:#e6ecff;line-height:1.2;text-align:left;}
.wm-st i em{font-style:normal;display:block;font-size:11.5px;font-weight:600;color:#9bb0e0;}
.wm-prog{margin:9px 4px 0;background:rgba(255,255,255,.05);border:1px solid rgba(255,158,196,.22);border-radius:13px;padding:9px 13px;}
.wm-prog.done{font-size:13.5px;font-weight:800;color:#ffe1a8;line-height:1.45;}
.wm-prog-top{display:flex;justify-content:space-between;align-items:center;gap:8px;margin-bottom:6px;}
.wm-pl{font-size:13.5px;color:#cdd6ee;font-weight:800;flex-shrink:0;}
.wm-pn{font-weight:900;color:#cdd6ee;text-align:right;font-size:13px;}
.wm-pn b{font-family:"Bebas Neue",sans-serif;font-size:23px;color:#ffe07a;text-shadow:0 0 12px rgba(255,200,90,.55);}
.wm-pn u{text-decoration:none;color:#9bb0e0;font-weight:700;}
.wm-goal{font-size:13px;color:#ffc4dd;font-weight:700;margin-top:8px;text-align:center;line-height:1.4;}
.wm-goal b{color:#ff9ec0;font-size:13px;}
.wm-bar{height:9px;border-radius:6px;background:rgba(255,255,255,.1);overflow:hidden;}
.wm-bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#ffd86b,#ff6f9c);box-shadow:0 0 10px rgba(255,111,156,.6);transition:width .5s;}
.wm-prog-rem{font-size:13.5px;color:#cbd6ee;margin-top:7px;text-align:center;}
.wm-prog-rem b{color:#ff9ec0;}
.wm-mapwrap{position:relative;margin:8px 14px;border-radius:16px;overflow:hidden;aspect-ratio:100/64;background:#0c1430;border:1px solid rgba(120,150,220,.2);}
.wm-map{position:absolute;inset:0;transform-origin:center;transition:transform .15s;cursor:grab;}
.wm-map:active{cursor:grabbing;}
.wm-svg{position:absolute;inset:0;width:100%;height:100%;}
.wm-flag{position:absolute;transform:translate(-50%,-100%);display:flex;flex-direction:column;align-items:center;cursor:pointer;z-index:2;}
.wm-flag .wm-fi{font-size:20px;filter:drop-shadow(0 2px 3px rgba(0,0,0,.5));animation:wmBob 2s ease-in-out infinite;}
@keyframes wmBob{0%,100%{transform:translateY(0)}50%{transform:translateY(-3px)}}
.wm-fn{font-size:10.5px;font-weight:800;color:#fff;background:rgba(10,8,20,.8);border-radius:9px;padding:1px 6px;white-space:nowrap;display:flex;gap:4px;align-items:center;margin-top:-2px;}
.wm-fn b{color:#ff9ec0;}
.wm-zoom{position:absolute;right:8px;bottom:8px;display:flex;flex-direction:column;gap:6px;z-index:3;}
.wm-zoom button{width:32px;height:32px;border-radius:9px;border:none;background:rgba(20,16,30,.85);color:#fff;font-size:18px;font-weight:800;cursor:pointer;}
.wm-tip{text-align:center;font-size:13.5px;color:#8a9ec8;margin:9px 14px 0;}
.wc-city{margin:8px 0 4px;}
.wc-cn{font-size:13.5px;font-weight:800;color:#ffd86b;margin:6px 0 4px;}

/* 3D 地球(amCharts) */
.wm-globewrap{margin:4px 4px 0;border-radius:16px;overflow:hidden;background:radial-gradient(circle at 50% 45%,#0e1838,#04060f);border:1px solid rgba(80,110,180,.16);}
.wm-globe{width:100%;aspect-ratio:1/1.04;position:relative;}
.world .wm-head{padding:8px 14px 4px;}
.wm-loading{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;color:#9bb0e0;font-size:14px;}
.wm-globe .wm-mapwrap{border-radius:0;border:none;}

/* 应援地球:类型图例 */
.wm-legend{display:flex;gap:13px;justify-content:center;flex-wrap:wrap;margin:9px 14px 0;}
.wm-legend span{font-size:14px;color:#cbd6ee;display:flex;align-items:center;gap:5px;}
.wm-legend i{width:10px;height:10px;border-radius:50%;display:inline-block;}

/* ===== A·满屏沉浸式地球 ===== */
.world.wm-imm{position:relative;height:100%;min-height:0;padding:0;overflow:hidden;background:radial-gradient(130% 100% at 50% 42%,#0a1024 0%,#06080f 55%,#04050b 100%);display:flex;flex-direction:column;}
.wm-stars{position:absolute;inset:0;z-index:0;overflow:hidden;pointer-events:none;}
.wm-star{position:absolute;background:#fff;border-radius:50%;box-shadow:0 0 2px rgba(255,255,255,.55);}
.wm-star.tw{animation:wmTwinkle 3.4s ease-in-out infinite;}
@keyframes wmTwinkle{0%,100%{opacity:.2}50%{opacity:1}}
.wm-imm .wm-globe{position:relative;flex:1;min-height:0;width:100%;height:auto;aspect-ratio:auto;z-index:1;}
.wm-imm .sc-back{z-index:30;}
/* 顶部浮层:身份+标语+征服(背景渐变,空白处可穿透拖地球) */
.wm-topbar{position:absolute;top:0;left:0;right:0;z-index:20;padding:10px 12px 16px;background:linear-gradient(180deg,rgba(5,7,16,.86) 0%,rgba(5,7,16,.55) 64%,transparent);pointer-events:none;}
.wm-topbar>*{pointer-events:auto;}
.wm-topbar .wm-top{margin:0 0 6px 42px;}
.wm-imm .wm-slogan{margin:0 0 7px;padding:6px 11px;}
.wm-imm .wm-sl-zh{font-size:14px;}
.wm-conq{background:rgba(10,12,22,.62);backdrop-filter:blur(6px);border:1px solid rgba(255,158,196,.24);border-radius:13px;padding:8px 12px;}
.wm-conq-l{display:flex;justify-content:space-between;align-items:baseline;font-size:14px;font-weight:800;color:#cdd6ee;margin-bottom:6px;}
.wm-conq-l b{font-family:"Bebas Neue",sans-serif;font-size:22px;color:#ffe07a;text-shadow:0 0 12px rgba(255,200,90,.55);}
.wm-conq-l u{text-decoration:none;color:#9bb0e0;font-weight:700;}
.wm-conq .wm-bar{height:8px;border-radius:6px;background:rgba(255,255,255,.1);overflow:hidden;}
.wm-conq .wm-bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#ffd86b,#ff6f9c);box-shadow:0 0 10px rgba(255,111,156,.6);}
.wm-conq-rem{font-size:13px;color:#cbd6ee;margin-top:6px;text-align:center;}
.wm-conq-rem b{color:#ff9ec0;}
/* 🎨 切色按钮 */
.wm-cbtn{position:absolute;top:10px;right:10px;z-index:30;width:36px;height:36px;border-radius:50%;background:rgba(10,8,16,.6);backdrop-filter:blur(5px);border:1px solid rgba(255,255,255,.22);font-size:17px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 3px 12px rgba(0,0,0,.45);}
/* 应援色战况(顶部) */
.wm-pk{background:rgba(10,12,22,.58);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.14);border-radius:13px;padding:9px 12px;}
.wm-pk-bar{display:flex;height:13px;border-radius:7px;overflow:hidden;background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.1);}
.wm-pk-bar i{display:block;height:100%;}
.wm-pk-hd{display:flex;justify-content:space-between;align-items:baseline;gap:8px;margin-top:7px;}
.wm-pk-hd b{font-size:14px;font-weight:900;color:#fff;flex-shrink:0;}
.wm-pk-hd span{font-size:12.5px;color:#ffc4dd;font-weight:700;text-align:right;}
.wm-hwa{display:flex;align-items:center;gap:7px;margin-top:8px;}
.wm-hwa-l{font-size:12.5px;font-weight:800;color:#ffca6a;flex-shrink:0;}
.wm-hwa-bar{flex:1;height:7px;border-radius:5px;background:rgba(255,255,255,.1);overflow:hidden;}
.wm-hwa-bar i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#ffd86b,#ff7a3d);box-shadow:0 0 8px rgba(255,140,60,.6);}
.wm-hwa-n{font-family:"Bebas Neue",sans-serif;font-size:15px;color:#ffca6a;flex-shrink:0;}
/* 战况列表(面板) */
.wm-pkstand{margin:2px 0 12px;}
.wm-mine-hd{font-size:13px;font-weight:800;color:#ffd0e2;margin:2px 0 7px;}
.wm-mine-hd b{color:#ffe07a;font-size:15px;}
.wm-mineflags{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px;margin-bottom:12px;-webkit-overflow-scrolling:touch;}
.wm-mineflags::-webkit-scrollbar{display:none;}
.wm-mf{flex-shrink:0;font-size:21px;line-height:1;}
.wm-mf0{font-size:13.5px;color:#9bb0e0;}
.wm-pk-row{display:flex;align-items:center;gap:9px;padding:7px 9px;border-radius:10px;}
.wm-pk-row.me{background:rgba(255,255,255,.08);box-shadow:inset 0 0 0 1px rgba(255,255,255,.14);}
.wm-pk-sw{width:15px;height:15px;border-radius:5px;flex-shrink:0;box-shadow:0 0 7px rgba(255,255,255,.35);}
.wm-pk-nm{flex:1;font-size:13.5px;font-weight:700;color:#fff;}
.wm-pk-ct{font-family:"Bebas Neue",sans-serif;font-size:19px;color:#ffe07a;}
.wm-pk-ct u{font-size:12.5px;text-decoration:none;color:#9bb0e0;margin-left:2px;}
/* 切色选择器 */
.pk-cols{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:8px;}
.pk-col{width:52px;height:52px;border-radius:14px;cursor:pointer;display:flex;align-items:center;justify-content:center;color:#fff;font-size:22px;font-weight:900;box-shadow:0 2px 10px rgba(0,0,0,.3),inset 0 0 0 2px rgba(255,255,255,.28);position:relative;text-shadow:0 1px 3px rgba(0,0,0,.5);}
.pk-col.cur{outline:3px solid #222;outline-offset:2px;}
.pk-col.dis{opacity:.3;cursor:not-allowed;filter:grayscale(.55);}
.pk-col-x{position:absolute;bottom:2px;right:3px;font-size:10.5px;font-weight:700;background:rgba(0,0,0,.55);border-radius:5px;padding:0 3px;}
/* 圈粉弹窗:条件/出行/火力 */
.pk-cond{margin:12px 0;display:flex;flex-direction:column;gap:8px;}
.pk-c{display:flex;align-items:center;gap:8px;background:#f4f4f7;border-radius:10px;padding:9px 12px;font-size:13px;color:#3a3f4d;}
.pk-c>span{font-weight:700;}
.pk-c b{margin-left:auto;font-weight:800;color:#111;}
.pk-c em{font-style:normal;font-weight:900;}
.pk-c.ok{background:#e7f8ee;} .pk-c.ok em{color:#1a9d5a;}
.pk-c.no{background:#fdeef0;} .pk-c.no em{color:#e23b57;}
.pk-travel-t{font-size:13px;font-weight:700;color:#3a3f4d;margin:4px 0 8px;text-align:center;}
.pk-travel{display:flex;flex-direction:column;gap:8px;}
.pk-travel button{display:flex;align-items:center;gap:8px;justify-content:center;background:linear-gradient(135deg,#3aa0ff,#6cd0ff);color:#fff;border:0;border-radius:12px;padding:11px;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 3px 10px rgba(58,160,255,.35);}
.pk-travel button i{font-style:normal;font-size:12.5px;font-weight:600;opacity:.9;}
.pk-travel-n{font-size:12.5px;color:#9a9aa8;text-align:center;margin-top:8px;}
.pk-need{background:#fff6e6;border:1px solid #ffd9a0;border-radius:12px;padding:12px;text-align:center;font-size:14px;font-weight:800;color:#a8620a;margin-top:4px;}
.pk-need b{color:#e2660a;}
.pk-need span{display:block;font-size:12.5px;font-weight:500;color:#b0894a;margin-top:5px;}
.pk-close{text-align:center;font-size:13px;color:#8a8a96;margin-top:14px;cursor:pointer;font-weight:600;}
/* 落地滚动粉丝刷屏 */
.pk-flood{height:158px;overflow:hidden;background:#0e0e16;border-radius:12px;position:relative;text-align:left;-webkit-mask:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent);mask:linear-gradient(180deg,transparent,#000 14%,#000 86%,transparent);}
.pk-flood-in{animation:pkFlood 15s linear infinite;}
@keyframes pkFlood{0%{transform:translateY(0)}100%{transform:translateY(-50%)}}
.pk-fl-line{font-size:13.5px;color:#ecdffb;padding:6px 12px;border-bottom:1px solid rgba(255,255,255,.05);line-height:1.35;}
.pk-fl-line span{display:block;font-size:12px;color:#9a8ec0;margin-top:1px;}
/* 圈粉成功结算屏(爽感) */
.pk-set{text-align:center;margin:-4px 0 8px;}
.pk-set-top{display:flex;flex-direction:column;align-items:center;gap:6px;}
.pk-set-flag{font-size:54px;line-height:1;filter:drop-shadow(0 4px 10px rgba(0,0,0,.25));animation:pkPop .5s cubic-bezier(.2,1.4,.5,1);}
@keyframes pkPop{0%{transform:scale(0) rotate(-20deg)}100%{transform:scale(1) rotate(0)}}
.pk-set-t{font-size:24px;font-weight:900;color:#1f2330;line-height:1.1;}
.pk-set-t span{display:block;font-size:14px;color:#e2126a;font-weight:800;margin-top:2px;}
.pk-set-hero{margin:12px 0;font-size:14px;font-weight:700;color:#3a3f4d;line-height:1.5;background:linear-gradient(96deg,#fff2f6,#ffeef8);border-radius:12px;padding:11px;}
.pk-set-hero span{color:#8a8a96;font-size:14px;font-weight:500;}
.pk-set-new{font-size:15px;font-weight:800;color:#a8620a;margin:6px 0 9px;}
.pk-set-new b{color:#e2660a;font-size:22px;font-family:"Bebas Neue",sans-serif;margin-left:2px;}
.pk-set-chips{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;margin-bottom:14px;}
.pk-chip{font-size:13px;font-weight:700;color:#5a4b6e;background:#f3eefb;border:1px solid #e6dcf5;border-radius:14px;padding:4px 10px;}
.pk-set-stats{display:flex;gap:8px;}
.pk-set-stats>div{flex:1;background:#f6f6fa;border-radius:12px;padding:11px 4px;}
.pk-set-stats b{display:block;font-family:"Bebas Neue",sans-serif;font-size:26px;font-weight:900;color:#ff2d6a;line-height:1;}
.pk-set-stats span{display:block;font-size:11.5px;color:#8a8a96;font-weight:600;margin-top:4px;}
/* 底部浮层:可收起数据条 */
.wm-bottom{position:absolute;left:0;right:0;bottom:0;z-index:20;transform:translateY(calc(100% - 44px));transition:transform .32s cubic-bezier(.4,0,.2,1);}
.wm-bottom.open{transform:translateY(0);}
.wm-handle{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;width:100%;height:44px;border:0;background:rgba(10,12,22,.94);color:#ffd0e2;font-weight:800;font-size:13px;cursor:pointer;border-radius:18px 18px 0 0;box-shadow:0 -6px 20px rgba(0,0,0,.4);}
.wm-grip{position:absolute;top:7px;left:50%;transform:translateX(-50%);width:38px;height:4px;border-radius:3px;background:rgba(255,255,255,.32);}
.wm-bottom.open .wm-handle::after{content:"▾";margin-left:2px;}
.wm-bottom:not(.open) .wm-handle::after{content:"▴";margin-left:2px;}
.wm-panel{background:rgba(8,10,20,.95);backdrop-filter:blur(8px);padding:4px 14px 18px;max-height:62vh;overflow-y:auto;}
.wm-imm .wm-bigrow{margin:4px 0 8px;}
.wm-imm .wm-flags{margin:9px 0 2px;}
.wm-imm .wm-legend{margin:10px 0 0;justify-content:flex-start;}

/* ===== 별장 대문 抵达序列 villa gate ===== */
.vgate{position:absolute;inset:0;z-index:60;background:#0a0a0f center/cover no-repeat;display:flex;align-items:flex-end;justify-content:center;animation:vgfade .45s ease}
@keyframes vgfade{from{opacity:0}to{opacity:1}}
.vg-mask{position:absolute;inset:0;background:linear-gradient(transparent 28%,rgba(0,0,0,.5) 62%,rgba(0,0,0,.82))}
.vg-box{position:relative;z-index:1;width:100%;padding:0 26px 42px;text-align:center;color:#fff}
.vg-t{font-size:20px;font-weight:800;margin-bottom:4px;text-shadow:0 2px 10px rgba(0,0,0,.7)}
.vg-s{font-size:13.5px;color:#e2ddec;margin-bottom:16px;text-shadow:0 1px 6px rgba(0,0,0,.7)}
.vg-dots{display:flex;gap:14px;justify-content:center;margin-bottom:16px}
.vg-dots span{width:12px;height:12px;border-radius:50%;border:1.5px solid rgba(255,255,255,.55);transition:.15s}
.vg-dots span.on{background:#fff;border-color:#fff;box-shadow:0 0 8px #fff8}
.vg-pad{display:grid;grid-template-columns:repeat(3,1fr);gap:11px;max-width:250px;margin:0 auto}
.vg-pad button{height:50px;border-radius:14px;border:none;background:rgba(255,255,255,.14);color:#fff;font-size:20px;font-weight:600;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.vg-pad button:active{background:rgba(255,255,255,.32)}
.vg-go{margin-top:4px;width:100%;max-width:280px;height:52px;border:none;border-radius:16px;background:linear-gradient(135deg,#ffd86b,#ffb84d);color:#3a2a0a;font-size:15.5px;font-weight:800;box-shadow:0 6px 18px rgba(255,180,70,.35)}
.vg-go:active{transform:translateY(1px)}
.vg-skip{margin-top:15px;font-size:13.5px;color:#c8c0d8;opacity:.85}

/* 外卖商家门脸图 */
.ds-logo.hasimg,.dsh-logo.hasimg{overflow:hidden;padding:0}
.ds-logo.hasimg img,.dsh-logo.hasimg img{width:100%;height:100%;object-fit:cover;border-radius:inherit}
.dsh-banner{width:100%;height:120px;overflow:hidden;border-radius:14px 14px 0 0;margin-bottom:-8px}
.dsh-banner img{width:100%;height:100%;object-fit:cover}

/* ===== 앨범 제작 封面模板 + CD/黑胶 ===== */
.amk-tpls{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:0 2px 4px}
.amk-tpl{border-radius:12px;overflow:hidden;cursor:pointer;border:2px solid transparent;background:#1a1420;text-align:center}
.amk-tpl.on{border-color:#ffd86b;box-shadow:0 0 0 2px rgba(255,216,107,.25)}
.amk-tpl-img{position:relative;width:100%;aspect-ratio:1;background-size:cover;background-position:center}
.amk-tpl-tag{position:absolute;top:4px;left:4px;background:rgba(20,12,30,.72);color:#ffd86b;font-size:8px;font-weight:900;letter-spacing:.6px;padding:1px 4px;border-radius:4px}
.cvx-plain{background:linear-gradient(160deg,#3a2f45,#241a2e)}
.amk-tpl span{display:block;font-size:11.5px;padding:4px 2px;color:#c9bdd8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.amk-cover-wrap{position:relative;display:flex;flex-direction:column;align-items:center;margin:6px 0 4px}
.amk-cover{width:230px;height:230px;border-radius:14px;overflow:hidden;background:#241a2e;display:flex;align-items:center;justify-content:center;box-shadow:0 10px 26px rgba(0,0,0,.45)}
.amk-cover img{width:100%;height:100%;object-fit:cover}
.amk-cover-empty{color:#8a7ea8;text-align:center;font-size:14px;line-height:1.5}
.amk-cover-empty i{display:block;font-size:12.5px;margin-top:6px;font-style:normal}
.amk-repl{margin-top:9px;padding:7px 16px;border:none;border-radius:20px;background:rgba(255,255,255,.14);color:#fff;font-size:14px;cursor:pointer}
.ad-disc{position:relative;width:200px;height:200px;margin:12px auto 4px}
.ad-disc-base{width:100%;height:100%;object-fit:contain}
.ad-disc-cover{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;object-fit:cover;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.ad-disc.cd .ad-disc-cover{width:60%;height:60%}
.ad-disc.vinyl .ad-disc-cover{width:25%;height:25%}

/* ③ 小卡卡背模板 + 手写画板 */
.amk-tpl-img.cb{aspect-ratio:2/3}
.pc-backprev{display:flex;flex-direction:column;align-items:center;gap:10px;margin:6px 0}
.hw-wrap{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:88%;max-width:360px;background:#1c1526;border-radius:18px;padding:18px 16px;text-align:center;box-shadow:0 12px 40px rgba(0,0,0,.5)}
.hw-t{font-size:17px;font-weight:800;color:#fff}
.hw-sub{font-size:13px;color:#b6a9c8;margin:4px 0 12px}
.hw-canvas{width:100%;aspect-ratio:600/380;background:#fff;border-radius:12px;touch-action:none;cursor:crosshair}
.hw-bar{display:flex;gap:8px;margin-top:12px}
.hw-bar button{flex:1;height:42px;border:none;border-radius:12px;background:rgba(255,255,255,.14);color:#fff;font-size:13px}
.hw-bar .hw-ok{background:linear-gradient(135deg,#ffd86b,#ffb84d);color:#3a2a0a;font-weight:800}

/* 专辑 app 做专辑入口 */
.al-pcentry.make{background:linear-gradient(120deg,rgba(255,216,107,.16),rgba(255,150,180,.12))}
.al-pcentry.make.off{opacity:.72}
.al-pcentry.make .al-pcic{filter:none}

/* 专辑 app 做专辑步骤(大号) */
.al-studio{margin:6px 0 14px;background:linear-gradient(135deg,rgba(255,216,107,.12),rgba(255,150,180,.09));border-radius:18px;padding:15px 13px}
.al-sh{font-size:15.5px;font-weight:800;color:#fff;margin-bottom:11px;display:flex;justify-content:space-between;align-items:center}
.al-sh span{font-size:12.5px;font-weight:600;color:#ffd86b;opacity:.92}
.al-steps{display:flex;flex-direction:column;gap:9px}
.al-step{display:flex;align-items:center;gap:13px;background:rgba(255,255,255,.07);border-radius:14px;padding:15px 14px;cursor:pointer}
.al-step:active{background:rgba(255,255,255,.14)}
.al-step .as-ic{font-size:29px;flex:0 0 auto;line-height:1}
.al-step .as-b{flex:1;min-width:0}
.al-step .as-b b{display:block;font-size:15.5px;color:#fff;font-weight:700}
.al-step .as-b span{display:block;font-size:13px;color:#c6b9d8;margin-top:3px}
.al-step .as-go{font-size:22px;color:#9385ad}
.al-pcentry.big{padding:17px 15px}
.al-pcentry.big .al-pcic{font-size:30px}
.al-pcentry.big .al-pct{font-size:16px}

/* ===== 专辑 app 重构(深色可读) ===== */
.al-studio{margin:6px 0 14px;background:#251c30;border:1px solid #3a2f48;border-radius:18px;padding:15px 13px}
.al-sh{font-size:15.5px;font-weight:800;color:#fff;margin-bottom:12px;display:flex;justify-content:space-between;align-items:center}
.al-sh span{font-size:12.5px;font-weight:700;color:#ffd86b}
.al-stpgrid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}
.al-stp{background:#1a1424;border-radius:13px;padding:9px 7px 10px;text-align:center;cursor:pointer;border:1px solid #322843}
.al-stp.done{border-color:rgba(255,216,107,.45)}
.al-stp:active{background:#221a2e}
.al-stp-prev{position:relative;width:100%;aspect-ratio:1;border-radius:9px;overflow:hidden;background:#0f0b16;display:flex;align-items:center;justify-content:center;margin-bottom:6px}
.al-stp-prev img{width:100%;height:100%;object-fit:cover}
.al-stp-plus{position:absolute;font-size:24px;color:#6a5d80}
.al-stp-ck{position:absolute;right:5px;bottom:5px;background:#ffd86b;color:#3a2a0a;font-size:12.5px;font-weight:800;width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center}
.al-stp-t{font-size:13px;font-weight:700;color:#fff}
.al-stp-s{font-size:12px;color:#a99bc0;margin-top:1px}
.al-acts{display:flex;gap:9px;margin-top:12px}
.al-act{flex:1;border-radius:13px;padding:12px 11px;cursor:pointer}
.al-act b{display:block;font-size:14px}
.al-act span{display:block;font-size:12px;margin-top:3px}
.al-act.draft{background:#2e2440;border:1px solid #46385c}
.al-act.draft b{color:#fff}.al-act.draft span{color:#bcaad6}
.al-act.rel{background:linear-gradient(135deg,#ffd86b,#ffb84d)}
.al-act.rel b{color:#3a2a0a}.al-act.rel span{color:#6b5010}
.dr-cover{width:200px;margin:6px auto;border-radius:14px;overflow:hidden;aspect-ratio:1;background:#241a2e;display:flex;align-items:center;justify-content:center;font-size:40px}
.dr-cover img{width:100%;height:100%;object-fit:cover}
.dr-discs{display:flex;gap:14px;justify-content:center;margin:6px 0}
.lyr-book{display:flex;gap:10px;justify-content:center;margin:12px 0}
.lyr-cover{width:120px;aspect-ratio:1;border-radius:8px;overflow:hidden;position:relative;background:#241a2e}
.lyr-cover img{width:100%;height:100%;object-fit:cover}
.lyr-cap{position:absolute;bottom:0;left:0;right:0;background:rgba(0,0,0,.5);color:#fff;font-size:10.5px;padding:3px;text-align:center}
.lyr-page{flex:1;max-width:180px;background:#faf6ef;border-radius:8px;padding:14px 12px}
.lyr-line{height:7px;background:#e6ddd0;border-radius:4px;margin-bottom:9px}
.lyr-line.l1{width:60%}.lyr-line.l2{width:75%}.lyr-line.l3{width:45%}
.lyr-note{font-size:11px;color:#a89a86;margin-top:10px;line-height:1.5}

/* ===== 🚀 발행 决策 + 打包 ===== */
.rls{padding-bottom:20px}
.rl-vers{display:flex;flex-direction:column;gap:9px}
.rl-ver{background:#1a1424;border:1px solid #322843;border-radius:13px;overflow:hidden}
.rl-ver.on{border-color:rgba(255,216,107,.5)}
.rl-vh{display:flex;align-items:center;gap:10px;padding:13px 13px;cursor:pointer}
.rl-vck{font-size:16px}.rl-ve{font-size:24px}
.rl-vn{flex:1;font-size:15px;font-weight:700;color:#fff}
.rl-vn i{display:block;font-size:12px;color:#a99bc0;font-weight:400;margin-top:2px}
.rl-vset{padding:0 13px 13px;display:flex;gap:10px;flex-wrap:wrap}
.rl-step{flex:1;min-width:130px;display:flex;align-items:center;gap:7px;background:#0f0b16;border-radius:10px;padding:8px 10px}
.rl-step span{font-size:12.5px;color:#a99bc0}
.rl-step b{flex:1;text-align:center;font-size:13px;color:#fff;font-weight:700}
.rl-step button{width:28px;height:28px;border:none;border-radius:8px;background:rgba(255,255,255,.14);color:#fff;font-size:16px}
.rl-toggle{display:flex;align-items:center;justify-content:space-between;background:#1a1424;border:1px solid #322843;border-radius:12px;padding:13px 14px;cursor:pointer}
.rl-toggle.on{border-color:rgba(94,232,155,.5)}
.rl-toggle span{font-size:14px;color:#fff;font-weight:600}.rl-toggle i{font-size:12px;color:#a99bc0}
.rl-chips{display:flex;flex-wrap:wrap;gap:7px}
.rl-chip{padding:9px 12px;border:1px solid #322843;border-radius:20px;background:#1a1424;color:#c9bdd8;font-size:13.5px}
.rl-chip.on{background:#ffd86b;color:#3a2a0a;border-color:#ffd86b;font-weight:700}
.rl-proj{background:#251c30;border:1px solid #3a2f48;border-radius:14px;padding:13px;margin-top:14px}
.rl-ph{font-size:13px;font-weight:800;color:#fff;margin-bottom:8px}
.rl-pr{display:flex;justify-content:space-between;padding:4px 0;font-size:13px;color:#cabfda}
.rl-pr b{color:#fff;font-weight:700}
.rl-pr.sub{font-size:13px;color:#a99bc0}.rl-pr.sub b{color:#c9a0a0}
.rl-pr.net{border-top:1px solid #3a2f48;margin-top:4px;padding-top:8px}.rl-pr.net b{color:#5ee89b;font-size:15px}
.pkgs{display:flex;flex-direction:column;gap:10px}
.pkg{background:#1a1424;border:1px solid #322843;border-radius:13px;padding:12px}
.pkg-top{display:flex;align-items:center;gap:12px}
.pkg-b{flex:1}.pkg-n{font-size:15px;font-weight:700;color:#fff}.pkg-price{font-size:13px;color:#a99bc0;margin-top:2px}
.pkg-inc{display:flex;flex-wrap:wrap;gap:6px;margin-top:10px}
.pkg-inc span{font-size:12px;background:#0f0b16;color:#c9bdd8;border-radius:8px;padding:4px 8px}
.pkg-inc .pkg-pob{background:#3a2a12;color:#ffd86b}
.rl-back{display:block;width:100%;background:none;border:none;color:#a99bc0;font-size:13px;padding:8px;margin-top:2px}

/* ===== 实时封面合成 cvx(DOM,file://也能显示) ===== */
.cvx{position:relative;width:100%;aspect-ratio:1;border-radius:14px;overflow:hidden;background:#241a2e;container-type:inline-size}
.cvx.empty{display:flex;align-items:center;justify-content:center}
.cvx-emptxt{color:#8a7ea8;text-align:center;font-size:13px;line-height:1.6}
.cvx-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.cvx-photo{position:absolute;inset:0;overflow:hidden}
.cvx-photo img{width:100%;height:100%;object-fit:cover}
.cvx-scrim{position:absolute;left:0;right:0;bottom:0;height:52%;background:linear-gradient(transparent,rgba(0,0,0,.58))}
.cvx-spark{position:absolute;inset:0;pointer-events:none;color:#fff;filter:drop-shadow(0 0 1.5cqw rgba(255,255,255,.85))}
.cvx-spark b{position:absolute;font-size:5cqw;opacity:.9}
.cvx-spark b:nth-child(1){top:6%;left:8%;font-size:6cqw}
.cvx-spark b:nth-child(2){top:12%;right:10%;font-size:3.6cqw}
.cvx-spark b:nth-child(3){top:30%;right:16%;font-size:4.4cqw}
.cvx-txt{position:absolute;left:0;right:0;bottom:5.5%;padding:0 7%;text-align:center;color:#fff}
.cvx-sub{font-size:3cqw;font-weight:800;letter-spacing:.7cqw;opacity:.92;text-transform:uppercase;margin-bottom:2cqw;text-shadow:0 0.2cqw 1cqw rgba(0,0,0,.7)}
.cvx-art{font-size:4cqw;font-weight:800;letter-spacing:.6cqw;margin-top:2.4cqw;text-transform:uppercase;opacity:.95;text-shadow:0 0.2cqw 1.2cqw rgba(0,0,0,.7)}
.cvx-title{font-size:12.5cqw;line-height:.98;font-weight:900;word-break:break-word}
.cvti-serif{font-family:'Playfair Display',serif;font-weight:700;font-style:italic;text-shadow:0 0.5cqw 2cqw rgba(0,0,0,.6)}
.cvti-chrome{font-family:'Playfair Display',serif;font-style:italic;font-weight:900;background:linear-gradient(180deg,#ffffff 6%,#e7edf5 34%,#9aa6b8 52%,#f2f6fb 70%,#c3ccda 100%);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:transparent;filter:drop-shadow(0 0.4cqw 0.8cqw rgba(0,0,0,.55))}
.cvti-bubble{font-family:'Arial Rounded MT Bold',system-ui,sans-serif;font-weight:900;color:#ffd7e6;-webkit-text-stroke:0.9cqw #fff;paint-order:stroke fill;text-shadow:0 1cqw 0 rgba(0,0,0,.18),0 0.5cqw 1.5cqw rgba(0,0,0,.4);letter-spacing:-0.2cqw}
.cvti-script{font-family:'Snell Roundhand','Segoe Script','Brush Script MT',cursive;font-weight:600;font-size:14cqw;text-shadow:0 0.5cqw 2cqw rgba(0,0,0,.6)}
/* ===== 照片封面·实时排版样式 ===== */
.cov-band .cvx-photo{position:absolute;inset:0}
.cov-band .cvx-photo img{width:100%;height:100%;object-fit:cover}
.cov-band-bar{position:absolute;left:0;right:0;bottom:0;height:32%;padding:0 6cqw;display:flex;flex-direction:column;justify-content:center}
.cov-band-t{font-size:9cqw;line-height:.94;font-weight:900;word-break:break-word;text-shadow:none}
.cov-band-t.cvti-serif{font-family:'Playfair Display',serif;font-style:italic}
.cov-band-meta{display:flex;justify-content:space-between;gap:2cqw;font-size:2.7cqw;font-weight:800;letter-spacing:.3cqw;text-transform:uppercase;margin-top:2.4cqw;opacity:.9}
.cov-band-foot{display:flex;justify-content:space-between;gap:2cqw;font-size:2.3cqw;font-weight:700;letter-spacing:.2cqw;margin-top:1.2cqw;opacity:.62}
/* 拍立得 */
.cov-pola{background:#fdfcf9}
.cov-pola-photo{position:absolute;top:6%;left:6%;right:6%;bottom:22%;overflow:hidden;background:#e8e3ec;box-shadow:0 .6cqw 2cqw rgba(0,0,0,.14)}
.cov-pola-photo img{width:100%;height:100%;object-fit:cover;display:block}
.cov-pola-cap{position:absolute;left:6%;right:6%;bottom:3.5%;height:15%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;color:#2a2530}
.cov-pola-t{font-size:8cqw;line-height:1;font-weight:900;word-break:break-word;text-shadow:none}
.cov-pola-t.cvti-serif{font-family:'Playfair Display',serif;font-style:italic}
.cov-pola-sub{font-size:2.6cqw;font-weight:700;letter-spacing:.3cqw;text-transform:uppercase;opacity:.58;margin-top:1.6cqw}
/* 极简留白 */
.cov-min .cvx-photo{position:absolute;inset:0}
.cov-min .cvx-photo img{width:100%;height:100%;object-fit:cover}
.cov-min-grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.32),transparent 20%,transparent 60%,rgba(0,0,0,.46))}
.cov-min-top{position:absolute;top:6cqw;left:0;right:0;text-align:center;color:#fff;font-size:2.8cqw;font-weight:800;letter-spacing:1cqw;text-transform:uppercase;text-shadow:0 .2cqw 1cqw rgba(0,0,0,.55)}
.cov-min-low{position:absolute;bottom:7cqw;left:0;right:0;text-align:center;color:#fff;padding:0 6cqw}
.cov-min-t{font-size:9cqw;line-height:1;font-weight:900;word-break:break-word;text-shadow:0 .3cqw 1.4cqw rgba(0,0,0,.5)}
.cov-min-t.cvti-serif{font-family:'Playfair Display',serif;font-style:italic}
.cov-min-rule{width:10cqw;height:0;border-top:.4cqw solid rgba(255,255,255,.72);margin:2.8cqw auto}
.cov-min-sub{font-size:2.5cqw;font-weight:700;letter-spacing:.5cqw;text-transform:uppercase;opacity:.9;text-shadow:0 .2cqw 1cqw rgba(0,0,0,.5)}
/* 邮票边(白框印刷) */
.cov-stamp{background:#efe7d6}
.cov-stamp-inner{position:absolute;inset:7%;background:#fff;padding:4%;box-shadow:0 1cqw 2.6cqw rgba(0,0,0,.14)}
.cov-stamp-photo{position:relative;width:100%;height:100%;overflow:hidden;background:#e8e3ec}
.cov-stamp-photo img{width:100%;height:100%;object-fit:cover;display:block}
.cov-stamp-grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.34),transparent 26%,transparent 58%,rgba(0,0,0,.55))}
.cov-stamp-top{position:absolute;left:4cqw;right:4cqw;top:3.5cqw;display:flex;justify-content:space-between;color:#fff;font-size:2.5cqw;font-weight:800;letter-spacing:.3cqw;text-transform:uppercase;text-shadow:0 .2cqw .8cqw rgba(0,0,0,.6)}
.cov-stamp-low{position:absolute;left:4cqw;right:4cqw;bottom:4cqw;color:#fff}
.cov-stamp-t{font-size:8.5cqw;line-height:.96;font-weight:900;word-break:break-word;text-shadow:0 .3cqw 1.4cqw rgba(0,0,0,.55)}
.cov-stamp-t.cvti-serif{font-family:'Playfair Display',serif;font-style:italic}
.cov-stamp-sub{font-size:2.5cqw;font-weight:700;letter-spacing:.35cqw;text-transform:uppercase;opacity:.9;margin-top:2cqw;text-shadow:0 .2cqw 1cqw rgba(0,0,0,.55)}
.cts-chips{margin:0 15px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.cts-chip{background:#241a33;border:2px solid #e6e0f0;border-radius:14px;padding:0;cursor:pointer;overflow:hidden;display:flex;flex-direction:column}
.cts-chip.on{border-color:#8667FF}
.cts-demo{display:flex;align-items:center;justify-content:center;height:56px;background:linear-gradient(135deg,#4a3a6a,#2a1f45);color:#fff;font-size:26px;line-height:1;padding:6px 10px;overflow:hidden;white-space:nowrap}
.cts-demo.cvti-bubble{-webkit-text-stroke:2px #fff}
.cts-chip i{font-style:normal;font-size:12.5px;font-weight:700;color:#4a4356;padding:8px 6px;background:#fff;text-align:center}
.amk-cvx-box{width:240px;margin:0 auto 4px}
/* ===== 专辑 app 单列图标行 ===== */
.al-rows{display:flex;flex-direction:column;gap:8px}
.al-row{display:flex;align-items:center;gap:12px;background:#1a1424;border:1px solid #322843;border-radius:13px;padding:14px 14px;cursor:pointer}
.al-row.done{border-color:rgba(255,216,107,.4)}
.al-row:active{background:#221a2e}
.al-row-ic{font-size:26px;flex:0 0 auto;width:32px;text-align:center}
.al-row-b{flex:1;min-width:0}
.al-row-b b{display:block;font-size:15px;color:#fff;font-weight:700}
.al-row-b span{display:block;font-size:13px;color:#a99bc0;margin-top:2px}
.al-row-st{font-size:12.5px;color:#8a7ea8;font-weight:600}
.al-row-st.ok{color:#ffd86b}
.al-row-go{font-size:20px;color:#6a5d80}

/* ===== DOM 卡背 cbx ===== */
.cbx{position:relative;width:100%;aspect-ratio:2/3;border-radius:10px;overflow:hidden;background:#2a1e30;container-type:inline-size}
.cbx.empty{display:flex;align-items:center;justify-content:center;color:#8a7ea8;font-size:13.5px}
.cbx-bg{position:absolute;inset:0;background-size:cover;background-position:center}
.cbx-hw{position:absolute;left:11%;right:11%;top:50%;transform:translateY(-50%);height:40%;display:flex;align-items:center;justify-content:center}
.cbx-hw img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;margin:0 auto}
.pc-backprev-card{width:150px}
.pc-card-body .cbx.pc-cbx{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;border-radius:0}
/* ===== DOM 碟面圆形封面 ===== */
.ad-disc-cvx{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;overflow:hidden}
.ad-disc.cd .ad-disc-cvx{width:60%;height:60%}
.ad-disc.vinyl .ad-disc-cvx{width:26%;height:26%}
.ad-disc-cvx .cvx{border-radius:0;aspect-ratio:auto;width:100%;height:100%}
.amk-disc-box{width:210px;height:210px;margin:8px auto}
.dr-disc-box{width:150px;height:150px}
.pkg-disc{width:76px;height:76px;flex:0 0 auto}
.ad-disc-box{width:200px;height:200px;margin:12px auto 4px}
.amk-disc-box .ad-disc,.dr-disc-box .ad-disc,.pkg-disc .ad-disc,.ad-disc-box .ad-disc{width:100%;height:100%;margin:0}
.al-art .cvx.al-cov{aspect-ratio:auto;width:100%;height:100%;border-radius:8px}

/* 卡背名字 + 小卡制作预览/名字输入 */
.cbx-name{position:absolute;left:0;right:0;text-align:center;font-size:4.6cqw;font-weight:800;color:#5a4763;letter-spacing:0.3cqw;text-transform:uppercase;font-family:'Playfair Display',serif;padding:0 8%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-shadow:0 0.3cqw 1cqw rgba(255,255,255,.45)}
.cbx-name-top{top:4.5%}
.cbx-name-bot{bottom:4.5%}
.pcmk-preview{background:#251c30;border:1px solid #3a2f48;border-radius:14px;padding:12px;margin-bottom:12px}
.pcmk-prevh{font-size:14px;color:#cabfda;font-weight:700;margin-bottom:9px;text-align:center}
.pcmk-prevgrid{padding:0}
.pcmk-noprev{color:#8a7ea8;font-size:13.5px;text-align:center;padding:18px 8px}
.pc-nameinp{margin:12px 0 4px}
.pc-nameinp label{display:block;font-size:13.5px;color:#c9bdd8;margin-bottom:6px}
.pc-nameinp input{width:100%;box-sizing:border-box;background:#1a1424;border:1px solid #322843;border-radius:10px;padding:11px 12px;color:#fff;font-size:14px}
.pc-nameinp input:focus{outline:none;border-color:#ffd86b}

/* ===== 앨범 App 라이트 리스타일 (mockup) + 专辑收藏 ===== */
.alm{background:#F7F4FA;min-height:100%;color:#17131C}
.alm-hero{margin:16px 14px;background:#fff;border-radius:24px;padding:22px 20px;text-align:center;box-shadow:0 6px 20px rgba(120,90,180,.06)}
.alm-cover{width:158px;margin:0 auto;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.16)}
.alm-cover .cvx{border-radius:16px}
.alm-name{margin-top:16px;font-size:22px;font-weight:900;font-family:"Playfair Display",serif}
.alm-info{margin-top:5px;font-size:14px;color:#9a93a5}
.alm-preview{margin-top:16px;height:38px;padding:0 20px;border-radius:20px;border:none;background:#F0E8FF;color:#8667FF;font-size:13px;font-weight:800;cursor:pointer}
.alm-preview:active{background:#e6d9ff}
.alm-sec{margin:22px 14px}
.alm-sec-t{font-size:17px;font-weight:800;margin-bottom:12px}
.alm-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px}
.alm-item{background:#fff;border-radius:18px;padding:15px;position:relative;cursor:pointer;min-height:104px}
.alm-item:active{background:#faf7ff}
.alm-ic{width:36px;height:36px;border-radius:11px;background:#F0E8FF;color:#8667FF;display:flex;align-items:center;justify-content:center;font-size:19px;margin-bottom:10px}
.alm-item.done .alm-ic{background:#E4F7EC}
.alm-nm{font-size:15px;font-weight:800}
.alm-desc{font-size:13px;color:#9a93a5;margin-top:5px}
.alm-st{position:absolute;right:13px;top:15px;font-size:12.5px;font-weight:700;color:#c3bcd0}
.alm-st.ok{color:#23a865}
.alm-rels{display:flex;flex-direction:column;gap:10px}
.alm-rel{display:flex;align-items:center;gap:12px;background:#fff;border-radius:16px;padding:11px 13px;cursor:pointer}
.alm-rel:active{background:#faf7ff}
.alm-rel-cov{width:52px;height:52px;border-radius:10px;overflow:hidden;flex:none;box-shadow:0 3px 8px rgba(0,0,0,.12)}
.alm-rel-cov .cvx{border-radius:10px}
.alm-rel-b{flex:1;min-width:0}
.alm-rel-t{font-size:14.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alm-rel-d{font-size:13px;color:#9a93a5;margin-top:3px}
.alm-rel-go{color:#cbc4d6;font-size:20px}
.alm-empty{background:#fff;border-radius:16px;padding:26px 16px;text-align:center;color:#9a93a5;font-size:13px;line-height:1.7}
.alm-release{position:sticky;bottom:14px;margin:0 auto;display:block;width:calc(100% - 40px);max-width:352px;height:54px;border-radius:18px;border:none;background:linear-gradient(95deg,#FFCB68,#FFB43E);color:#5a3d00;font-size:16px;font-weight:900;box-shadow:0 8px 22px rgba(255,180,60,.42);cursor:pointer;z-index:20}
.alm-release:active{transform:scale(.98)}
.alm-today{margin:10px 16px 4px;padding:12px 14px;border-radius:14px;background:linear-gradient(100deg,rgba(255,203,104,.16),rgba(255,138,90,.1));border:1px solid rgba(255,180,60,.3);}
.alm-today .alt-hd{font-size:13px;font-weight:800;color:#ffcb68;letter-spacing:.3px;margin-bottom:6px;}
.alm-today .alt-main b{display:block;font-size:15px;font-weight:800;color:#fff;line-height:1.35;}
.alm-today .alt-main span{display:block;font-size:13px;color:#b9bec9;margin-top:3px;line-height:1.4;}
.alm-sleep{margin:10px auto 0;display:block;width:calc(100% - 40px);max-width:352px;padding:12px;border-radius:16px;border:1px solid rgba(140,120,220,.4);background:linear-gradient(95deg,rgba(60,50,110,.55),rgba(90,70,150,.4));color:#e6e0ff;font-size:14.5px;font-weight:800;cursor:pointer;}
.alm-sleep span{display:block;font-size:12px;font-weight:500;color:#b3aad8;margin-top:3px;}
.alm-sleep:active{transform:scale(.98)}
.sc-trans.sleep.show{background:rgba(6,5,14,.96);}
.alm-hero.detail .alm-cover{width:140px}

/* 收藏卡 */
.coll-card{background:linear-gradient(135deg,#EFE8FF,#F6EFFF);border-radius:22px;padding:18px}
.coll-head{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.coll-lbl{font-size:13px;font-weight:700;color:#6b5b8a}
.coll-num{font-size:30px;font-weight:900;color:#3a2b5e;line-height:1.1;margin-top:2px}
.coll-owns{display:flex;flex-wrap:wrap;gap:5px;margin-top:8px}
.coll-owntag{font-size:12px;font-weight:700;background:rgba(255,255,255,.7);color:#7a6aa0;padding:3px 8px;border-radius:8px}
.coll-stack{display:flex;align-items:center;padding-top:4px}
.coll-thumb{width:50px;height:50px;border-radius:10px;overflow:hidden;border:2px solid #fff;box-shadow:0 3px 8px rgba(90,60,140,.2);flex:none}
.coll-thumb .cvx{border-radius:8px}
.coll-thumb.empty{display:flex;align-items:center;justify-content:center;background:#fff;font-size:24px}
.coll-line{margin-top:18px;font-size:13px;font-weight:600;color:#4a3d63}
.coll-line b{font-weight:900;color:#8667FF}
.coll-prog{height:8px;background:#fff;border-radius:10px;margin-top:9px;overflow:hidden}
.coll-prog-in{height:100%;background:linear-gradient(90deg,#B49BFF,#8667FF);border-radius:10px;transition:width .4s}
.coll-buys-lbl{margin:18px 2px 10px;font-size:13px;font-weight:800;color:#4a3d63;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:4px}
.coll-cap{font-size:12px;font-weight:700;color:#9a8f6a;background:#fff;padding:3px 8px;border-radius:8px}
.coll-buys{display:grid;grid-template-columns:1fr 1fr 1fr;gap:9px}
.coll-buy{display:flex;flex-direction:column;align-items:center;gap:3px;background:#fff;border:1.5px solid #ece5f6;border-radius:16px;padding:13px 6px;cursor:pointer}
.coll-buy:active{background:#f7f2ff}
.coll-buy.off{opacity:.42}
.coll-buy-e{font-size:22px}
.coll-buy-c{font-size:13px;font-weight:800;color:#4a3d63}
.coll-buy-p{font-size:12.5px;font-weight:700;color:#8667FF}
.coll-hint{margin-top:10px;font-size:12.5px;color:#9a93a5;text-align:center}
/* 收藏格 */
.coll-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.coll-c{position:relative;cursor:pointer}
.coll-c-inner{position:relative;aspect-ratio:55/87;border-radius:9px;overflow:hidden;background:#efeaf6}
.coll-c-inner .pc-card-body{position:absolute;inset:0;border-radius:9px;overflow:hidden}
.coll-c-inner .pc-card-body img{width:100%;height:100%;object-fit:cover}
.coll-c.lock .coll-c-inner{background:repeating-linear-gradient(45deg,#efeaf6,#efeaf6 6px,#e7e0f0 6px,#e7e0f0 12px)}
.coll-c-lock{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.coll-c-lock b{font-size:13.5px;letter-spacing:1px;color:#d0a83e}
.coll-c-lock i{font-size:26px;font-weight:900;font-style:normal;color:#c3b9d6}
.coll-x{position:absolute;top:5px;right:5px;background:rgba(30,16,40,.82);color:#fff;font-size:12.5px;font-weight:900;padding:2px 7px;border-radius:9px;z-index:3}

/* ===== 개봉(拆专辑/抽小卡)演出 ===== */
.ubx{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 50% 38%,rgba(66,44,98,.94),rgba(12,8,20,.97));z-index:50}
.ubx-stage{width:84%;max-width:322px;text-align:center;color:#fff;animation:ubxIn .35s ease}
@keyframes ubxIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
.ubx-box{font-size:104px;line-height:1;filter:drop-shadow(0 12px 26px rgba(0,0,0,.5));animation:ubxShake 1.1s ease-in-out infinite;display:inline-block}
@keyframes ubxShake{0%,100%{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}
.ubx-cap{margin-top:20px;font-size:20px;font-weight:900}
.ubx-sub{margin-top:7px;font-size:13px;color:#c9bfe0}
.ubx-btn{margin-top:26px;width:100%;height:52px;border:none;border-radius:16px;background:linear-gradient(95deg,#FFCB68,#FF9EC4);color:#3a2000;font-size:16px;font-weight:900;cursor:pointer;box-shadow:0 8px 22px rgba(255,150,180,.4)}
.ubx-btn:active{transform:scale(.97)}
.ubx-album{width:200px;margin:0 auto;border-radius:16px;overflow:hidden;box-shadow:0 16px 40px rgba(0,0,0,.5);animation:ubxPop .4s ease}
.ubx-album .cvx{border-radius:16px}
@keyframes ubxPop{from{transform:scale(.7);opacity:0}to{transform:scale(1);opacity:1}}
.ubx-sleeve{width:150px;height:210px;margin:0 auto;border-radius:14px;background:linear-gradient(135deg,#b49bff,#8667ff);display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;box-shadow:0 16px 40px rgba(90,60,180,.5);animation:ubxShake 1.4s ease-in-out infinite}
.ubx-sleeve span{font-size:70px;font-weight:900;color:rgba(255,255,255,.85)}
.ubx-sleeve-shine{position:absolute;inset:0;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.55) 50%,transparent 70%);background-size:250% 250%;animation:ubxSweep 1.6s linear infinite}
@keyframes ubxSweep{from{background-position:180% 0}to{background-position:-80% 0}}
.ubx-reveal{margin:0 auto;position:relative;display:flex;justify-content:center;animation:ubxReveal .5s cubic-bezier(.2,1.3,.5,1)}
.ubx .pc-example-flip.big{width:min(58vw,236px)}
@keyframes ubxReveal{0%{transform:scale(.5) rotate(-8deg);opacity:0}100%{transform:none;opacity:1}}
.ubx-reveal.new{filter:drop-shadow(0 0 24px rgba(255,220,120,.7))}
.ubx-flash{position:absolute;inset:-30%;border-radius:50%;background:radial-gradient(circle,rgba(255,240,180,.6),transparent 60%);animation:ubxFlash .7s ease-out;pointer-events:none;z-index:0}
@keyframes ubxFlash{0%{transform:scale(.2);opacity:.9}100%{transform:scale(1.6);opacity:0}}
.ubx-badge{margin-top:18px;display:inline-block;font-size:15px;font-weight:900;padding:7px 16px;border-radius:20px}
.ubx-badge.new{background:linear-gradient(95deg,#ffe08a,#ffb14e);color:#5a3d00}
.ubx-badge.dup{background:rgba(255,255,255,.16);color:#e6dcff}
.ubx-meta{margin-top:12px;font-size:13px;color:#d6cbe8}
.ubx-note{margin-top:8px;font-size:13px;color:#a99cc4}

/* ===== 발행(发行) 界面 라이트 통일 ===== */
.rls2{background:#F7F4FA;min-height:100%;color:#17131C;padding-bottom:8px}
.rl2-hd{padding:16px 16px 6px}
.rl2-h1{font-size:22px;font-weight:900;font-family:"Playfair Display",serif}
.rl2-h2{margin-top:4px;font-size:14px;color:#9a93a5}
.rl2-info{margin:12px 16px;background:#EFE8FF;border-radius:16px;padding:14px 15px;font-size:13px;line-height:1.65;color:#4a3d63}
.rl2-info b{color:#8667FF;font-weight:900}
.rl2-sec{margin:20px 16px 10px;font-size:16px;font-weight:800;display:flex;align-items:baseline;gap:8px;flex-wrap:wrap}
.rl2-sec span{font-size:13px;font-weight:600;color:#a49cb4}
/* 版本卡 */
.rl2-vers{margin:0 14px;display:flex;flex-direction:column;gap:11px}
.rv{background:#fff;border:2px solid #eee;border-radius:18px;overflow:hidden;transition:border-color .15s}
.rv.on{border-color:#8667FF}
.rv-h{display:flex;align-items:center;gap:12px;padding:15px 16px;cursor:pointer}
.rv-ck{width:24px;height:24px;flex:none;border-radius:8px;border:2px solid #d8d0e6;display:flex;align-items:center;justify-content:center;font-size:15px;font-weight:900;color:#fff}
.rv.on .rv-ck{background:#8667FF;border-color:#8667FF}
.rv-e{font-size:26px}
.rv-nm{flex:1;min-width:0}
.rv-nm b{display:block;font-size:16px;font-weight:800}
.rv-nm i{display:block;font-size:13px;color:#9a93a5;font-style:normal;margin-top:3px}
.rv-set{border-top:1px solid #f0ecf6;padding:12px 16px 15px;display:flex;flex-direction:column;gap:12px}
.rv-step{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rv-step label{font-size:13.5px;font-weight:700;color:#5a4f70}
.rv-stp{display:flex;align-items:center;gap:12px}
.rv-stp button{width:34px;height:34px;border:none;border-radius:11px;background:#F0E8FF;color:#8667FF;font-size:20px;font-weight:700;cursor:pointer;line-height:1}
.rv-stp button:active{background:#e2d5fa}
.rv-stp b{min-width:78px;text-align:center;font-size:15px;font-weight:900}
/* 开关 */
.rl2-toggle{margin:0 16px;background:#fff;border-radius:16px;padding:15px 16px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;border:2px solid #eee}
.rl2-toggle.on{border-color:#23a865}
.rl2-tg-b b{font-size:15px;font-weight:800}
.rl2-tg-b i{display:block;font-size:13px;color:#9a93a5;font-style:normal;margin-top:3px}
.rl2-sw{font-size:13px;font-weight:900;color:#c3bcd0;background:#f2eff6;padding:6px 14px;border-radius:20px}
.rl2-toggle.on .rl2-sw{color:#fff;background:#23a865}
/* chips */
.rl2-chips{margin:0 14px;display:flex;flex-wrap:wrap;gap:9px}
.rl2-chip{background:#fff;border:1.5px solid #ece5f6;border-radius:22px;padding:11px 15px;font-size:13.5px;font-weight:700;color:#5a4f70;cursor:pointer}
.rl2-chip:active{background:#f7f2ff}
.rl2-chip.on{background:#8667FF;border-color:#8667FF;color:#fff}
/* 预估 */
.rl2-proj{margin:20px 14px 0;background:#fff;border-radius:20px;padding:18px}
.rl2-proj-h{font-size:15px;font-weight:900;margin-bottom:12px}
.rl2-pr{display:flex;justify-content:space-between;align-items:baseline;padding:9px 0;border-top:1px solid #f2eff6;font-size:14px}
.rl2-pr:first-of-type{border-top:none}
.rl2-pr span{color:#7a7288;font-weight:600}
.rl2-pr b{font-size:16px;font-weight:900}
.rl2-pr.big b{font-size:24px;color:#8667FF}
.rl2-pr.big b i{font-size:13px;font-weight:700;font-style:normal;color:#a99;margin-left:2px}
.rl2-pr.sub b{color:#e0678a;font-weight:800;font-size:14px}
.rl2-pr.net{border-top:2px solid #efeaf6;margin-top:4px;padding-top:12px}
.rl2-pr.net b{color:#23a865;font-size:19px}
/* 按钮 */
.rl2-btn{margin:18px 14px 0;width:calc(100% - 28px);height:54px;border:none;border-radius:18px;background:linear-gradient(95deg,#9a7bff,#8667FF);color:#fff;font-size:16px;font-weight:900;cursor:pointer;box-shadow:0 8px 22px rgba(134,103,255,.34)}
.rl2-btn:active{transform:scale(.98)}
.rl2-btn[disabled]{opacity:.4;box-shadow:none}
.rl2-btn.go{background:linear-gradient(95deg,#ff7ba6,#ff3d6e);box-shadow:0 8px 22px rgba(255,80,120,.36)}
.rl2-back{display:block;margin:12px auto 0;background:none;border:none;color:#9a93a5;font-size:13.5px;font-weight:700;cursor:pointer}
.rl2-warn{margin:12px 16px 0;text-align:center;font-size:14px;color:#e0678a;font-weight:700}
/* 打包卡 */
.rpkgs{margin:0 14px;display:flex;flex-direction:column;gap:12px}
.rpkg{background:#fff;border-radius:18px;padding:15px;display:flex;gap:14px;align-items:flex-start}
.rpkg-disc{width:96px;flex:none}
.rpkg-disc .ad-disc{width:96px;height:96px;margin:0}
.rpkg-b{flex:1;min-width:0}
.rpkg-n{font-size:16px;font-weight:800}
.rpkg-price{font-size:14px;color:#8667FF;font-weight:700;margin-top:4px}
.rpkg-inc{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.rpkg-inc span{font-size:12.5px;font-weight:700;background:#f2eff6;color:#6b6280;padding:4px 9px;border-radius:8px}
.rpkg-inc .rpkg-pob{background:#FFF0D8;color:#c98a1e}

/* ===== 收藏格:金框 + 稀有度 + 按等级排序 ===== */
.coll-grid{align-items:start}
.coll-c-frame{position:relative;border-radius:12px;padding:3px;background:#e6dff0}
.coll-c-inner{border-radius:9px}
.coll-c.r3 .coll-c-frame{background:linear-gradient(135deg,#ffe89a,#d9a319 45%,#fff3c4 70%,#c98f10);box-shadow:0 5px 16px rgba(210,150,20,.4)}
.coll-c.r2 .coll-c-frame{background:linear-gradient(135deg,#e7e2f5,#b3a9d6 55%,#efeaff);box-shadow:0 4px 12px rgba(150,120,200,.28)}
.coll-c.r1 .coll-c-frame{background:linear-gradient(135deg,#eee7f5,#d8cfe6)}
.coll-c.lock .coll-c-frame{filter:grayscale(.5);opacity:.85}
.coll-c-rar{margin-top:6px;text-align:center;font-size:12px;font-weight:800;line-height:1.2}
.coll-c-rar b{display:block;letter-spacing:1px;font-size:12.5px}
.coll-c-rar.r3{color:#c9931a}
.coll-c-rar.r2{color:#8b74c6}
.coll-c-rar.r1{color:#9a93a5}
.coll-c-rar.lock{color:#bcb3cc}
.coll-c.got.r3{position:relative}
.coll-c.got.r3 .coll-c-frame::after{content:"레어 RARE";position:absolute;left:5px;top:5px;background:linear-gradient(95deg,#ffcf5a,#e0951a);color:#5a3d00;font-size:8.5px;font-weight:900;padding:2px 6px;border-radius:7px;letter-spacing:.3px;z-index:3}

/* ===== 实体专辑整本翻看 ===== */
.abk-open{display:block;width:100%;margin-top:14px;height:46px;border:none;border-radius:14px;background:#fff;color:#8667FF;font-size:14px;font-weight:800;cursor:pointer;box-shadow:0 3px 10px rgba(120,90,180,.12)}
.abk-open:active{background:#faf7ff}
.abk-hd{padding:16px 16px 4px}
.abk-hd b{font-size:20px;font-weight:900;font-family:"Playfair Display",serif}
.abk-hd span{display:block;font-size:13.5px;color:#9a93a5;margin-top:4px}
.abk-sec{margin:22px 16px 10px;font-size:15px;font-weight:800}
.abk-cover{width:210px;margin:0 auto;border-radius:16px;overflow:hidden;box-shadow:0 12px 30px rgba(0,0,0,.16)}
.abk-cover .cvx{border-radius:16px}
.abk-disc{width:180px;margin:0 auto}
.abk-disc .ad-disc{width:180px;height:180px;margin:0 auto}
.abk-pages{margin:0 14px;display:grid;grid-template-columns:1fr 1fr;gap:10px}
.abk-page{position:relative;border-radius:12px;overflow:hidden;background:#efeaf6;box-shadow:0 4px 10px rgba(0,0,0,.1)}
.abk-page img{width:100%;display:block;aspect-ratio:3/4;object-fit:cover}
.abk-pg{position:absolute;right:7px;bottom:7px;background:rgba(20,12,30,.62);color:#fff;font-size:11.5px;font-weight:800;padding:2px 7px;border-radius:8px}
.abk-none{margin:0 16px;background:#fff;border-radius:14px;padding:20px;text-align:center;color:#9a93a5;font-size:14px}
.abk-lyric{margin:0 16px;background:#fff;border-radius:16px;padding:18px;text-align:center}
.abk-lyric-h{font-family:"Playfair Display",serif;font-weight:900;font-size:16px;letter-spacing:1px}
.abk-lyric-b{margin-top:8px;font-size:13.5px;color:#9a93a5}
.abk-pchint{margin:0 16px;background:#EFE8FF;border-radius:14px;padding:14px 15px;font-size:14px;color:#5a4f70;line-height:1.6}
.abk-pchint b{color:#8667FF;font-weight:900}
.abk-link{color:#8667FF;font-weight:800;cursor:pointer}
.abk-inc{margin:18px 16px 0;background:#fff;border-radius:16px;padding:16px;font-size:13px;font-weight:800;color:#4a3d63}
.abk-inc-tags{margin-top:10px;display:flex;flex-wrap:wrap;gap:6px}
.abk-inc-tags span{font-size:12.5px;font-weight:700;background:#f2eff6;color:#6b6280;padding:4px 9px;border-radius:8px}

/* ===== 小卡 6/12 규격 선택 + 확률 ===== */
.pc-cntseg{margin:14px 15px 4px;background:#fff;border-radius:16px;padding:14px}
.pc-cntseg-t{font-size:13.5px;font-weight:800;color:#2a2333;margin-bottom:10px}
.pc-cntbtns{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.pc-cntbtns button{background:#f6f2fb;border:2px solid #eee;border-radius:13px;padding:12px 8px;cursor:pointer;text-align:center}
.pc-cntbtns button.on{border-color:#8667FF;background:#f2ecff}
.pc-cntbtns button b{display:block;font-size:17px;font-weight:900;color:#2a2333}
.pc-cntbtns button i{display:block;font-size:12px;font-style:normal;color:#9a93a5;margin-top:4px}
.pc-cntbtns button.on b{color:#8667FF}
.pc-odds{margin-top:11px;font-size:12.5px;color:#7a7288;line-height:1.7}
.pc-odds b{font-weight:800;padding:2px 6px;border-radius:7px;margin-right:2px}
.pc-odds b.r3{color:#a9781a;background:#fbeecb}
.pc-odds b.r2{color:#6f57a8;background:#ece5fa}
.pc-odds b.r1{color:#6b6280;background:#eeeaf3}

/* ===== 制作页版本标注 + 图例 ===== */
.alm-item{padding-bottom:30px}
.alm-tag{position:absolute;left:13px;bottom:11px;font-size:11px;font-weight:800;padding:3px 7px;border-radius:7px;letter-spacing:.2px}
.alm-tag.t-all{background:#eceef2;color:#7a828f}
.alm-tag.t-std{background:#e6f0ff;color:#4a7fc0}
.alm-tag.t-vinyl{background:#efe7f7;color:#8a5bc0}
.alm-tag.t-deluxe{background:#fdeccf;color:#b5851c}
.alm-tag.t-pob{background:#ffe6ef;color:#d05a86}
.alm-legend{background:#fff;border-radius:16px;padding:14px 15px;margin-bottom:13px}
.alm-lg-row{display:flex;align-items:center;gap:9px;padding:5px 0;font-size:13.5px;color:#5a5268;flex-wrap:wrap}
.alm-lg-row i{font-style:normal}
.alm-lg-row i b{color:#c9931a;font-weight:900}
.alm-lg-b{font-size:12.5px;font-weight:800;padding:3px 9px;border-radius:8px;flex:none}
.alm-lg-b.std{background:#e6f0ff;color:#4a7fc0}
.alm-lg-b.deluxe{background:#fdeccf;color:#b5851c}
.alm-lg-note{margin-top:9px;padding-top:9px;border-top:1px solid #f2eff6;font-size:12px;color:#9a93a5;line-height:1.6}

/* 购买按钮含卡标 */
.coll-buy{position:relative;padding-bottom:22px}
.coll-buy-tag{position:absolute;left:0;right:0;bottom:6px;font-size:10.5px;font-weight:800}
.coll-buy-tag.d{color:#c9931a}
.coll-buy-tag.s{color:#a9a2b6}
.coll-buy.hascard{border-color:#f2d999}

/* ===== 예약특전(POB) 제작 ===== */
.pobmk-prevwrap{display:flex;justify-content:center;margin:6px 16px 2px}
.pobmk-stage{position:relative;margin:0 auto}
.pobmk-stage.poster{width:min(56%,198px);aspect-ratio:2/3}
.pobmk-stage.postcard{width:min(94%,338px);aspect-ratio:3/2}
.pobmk-stage.sticker{width:min(76%,268px);aspect-ratio:1}
.pobmk-flip{display:block;margin:10px auto 0;background:#efeaf6;color:#6a5a8a;border:none;border-radius:20px;padding:8px 18px;font-size:14px;font-weight:800;cursor:pointer}
.pob-empty{display:flex;align-items:center;justify-content:center;width:100%;height:100%;font-size:34px;color:#c3b9d6}
/* ===== POSTER ===== */
.pob-poster{position:absolute;inset:0;container-type:inline-size;overflow:hidden;border-radius:10px;background:#1a1620;box-shadow:0 10px 26px rgba(0,0,0,.28)}
.pob-po-photo{position:absolute;inset:0}
.pob-po-photo img{width:100%;height:100%;object-fit:cover;display:block}
.pob-po-grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.5) 0,transparent 20%,transparent 46%,rgba(0,0,0,.82) 100%)}
.pob-po-top{position:absolute;left:6cqw;right:6cqw;top:5cqw;display:flex;align-items:center;gap:2.4cqw;color:#fff}
.pob-po-wm{font-size:3.4cqw;font-weight:900;letter-spacing:.35cqw;text-transform:uppercase;white-space:nowrap;text-shadow:0 .3cqw 1cqw rgba(0,0,0,.6)}
.pob-po-rule{flex:1;height:0;border-top:.4cqw solid rgba(255,255,255,.6)}
.pob-po-sub{font-size:2.4cqw;font-weight:700;letter-spacing:.3cqw;text-transform:uppercase;opacity:.9;white-space:nowrap;text-shadow:0 .3cqw 1cqw rgba(0,0,0,.6)}
.pob-po-side{position:absolute;right:2.2cqw;top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;font-size:2.3cqw;font-weight:700;letter-spacing:.5cqw;text-transform:uppercase;color:#fff;opacity:.72;text-shadow:0 .2cqw .8cqw rgba(0,0,0,.6)}
.pob-po-low{position:absolute;left:6cqw;right:6cqw;bottom:6cqw;color:#fff}
.pob-po-ttl{font-size:12cqw;line-height:.92;font-weight:900;word-break:break-word;text-shadow:0 .5cqw 2cqw rgba(0,0,0,.6)}
.pob-po-ttl.cvti-serif{font-family:'Playfair Display',serif;font-style:italic}
.pob-po-meta{font-size:2.6cqw;font-weight:700;letter-spacing:.35cqw;text-transform:uppercase;opacity:.9;margin-top:3cqw;text-shadow:0 .3cqw 1cqw rgba(0,0,0,.6)}
/* ===== POSTCARD (flip) ===== */
.pob-pc{position:absolute;inset:0;container-type:inline-size;perspective:1400px}
.pob-pc-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .55s cubic-bezier(.4,.1,.2,1)}
.pob-pc.flip .pob-pc-inner{transform:rotateY(180deg)}
.pob-pc-face{position:absolute;inset:0;backface-visibility:hidden;-webkit-backface-visibility:hidden;border-radius:8px;overflow:hidden;box-shadow:0 10px 24px rgba(0,0,0,.24)}
.pob-pc-face.front img{width:100%;height:100%;object-fit:cover;display:block}
.pob-pc-fcap{position:absolute;left:4cqw;bottom:3.5cqw;color:#fff;text-shadow:0 .3cqw 1.2cqw rgba(0,0,0,.7)}
.pob-pc-fcap b{display:block;font-family:'Playfair Display',serif;font-style:italic;font-size:6cqw;font-weight:900;line-height:1}
.pob-pc-fcap span{font-size:2.3cqw;font-weight:700;letter-spacing:.3cqw;text-transform:uppercase;opacity:.9}
.pob-pc-face.back{transform:rotateY(180deg);background:#f7f2e9;display:flex;padding:5cqw;gap:3cqw}
.pob-pc-left{flex:1.25;position:relative;display:flex;flex-direction:column}
.pob-pc-greet{font-size:4.6cqw;color:#3a3330;font-style:italic}
.pob-pc-lines{flex:1;margin:3cqw 0;background-image:repeating-linear-gradient(transparent 0 5.2cqw,rgba(60,50,45,.18) 5.2cqw 5.5cqw)}
.pob-pc-sign{align-self:flex-end;font-size:2.8cqw;font-weight:800;color:#6a5a52;letter-spacing:.2cqw}
.pob-pc-div{width:0;border-left:.4cqw dashed rgba(60,50,45,.28)}
.pob-pc-right{flex:1;position:relative}
.pob-pc-stamp{position:absolute;right:0;top:0;width:26cqw;height:32cqw;border:.6cqw dashed #b7a99a;background:linear-gradient(135deg,#ffe0ec,#e7ddff);display:flex;align-items:center;justify-content:center;padding:1.5cqw}
.pob-pc-stampin{text-align:center;color:#8a5a72;line-height:1.15}
.pob-pc-stampin b{display:block;font-size:2.6cqw;font-weight:900;letter-spacing:.2cqw;text-transform:uppercase;margin-top:.6cqw}
.pob-pc-stampin i{font-size:1.9cqw;font-style:normal;opacity:.75;font-weight:700}
.pob-pc-mark{position:absolute;right:16cqw;top:8cqw;width:22cqw;height:22cqw;border-radius:50%;border:.5cqw solid rgba(120,90,70,.55);color:rgba(120,90,70,.72);display:flex;flex-direction:column;align-items:center;justify-content:center;transform:rotate(-11deg);text-align:center}
.pob-pc-mark span{font-size:1.9cqw;font-weight:800;letter-spacing:.2cqw;text-transform:uppercase}
.pob-pc-mark b{font-size:2.4cqw;font-weight:900}
.pob-pc-addr{position:absolute;left:0;right:2cqw;bottom:2cqw}
.pob-pc-addr i{display:block;height:0;border-top:.4cqw solid rgba(60,50,45,.22);margin-top:6cqw}
.pob-pc-cat{position:absolute;right:0;bottom:-4cqw;font-size:2cqw;font-weight:800;color:#a2917f;letter-spacing:.2cqw}
/* ===== STICKER SHEET ===== */
.pob-sheet{position:absolute;inset:0;container-type:inline-size;overflow:hidden;border-radius:12px;background:radial-gradient(120% 120% at 30% 10%,#fff 0,#f3eefb 55%,#ece3fb 100%);border:2px dashed #d3c4f0;box-shadow:0 10px 26px rgba(0,0,0,.16)}
.pob-sheet-hd{position:absolute;left:5.5cqw;right:5.5cqw;top:4.5cqw;display:flex;justify-content:space-between;align-items:baseline;color:#8a7fb0;font-size:2.7cqw;font-weight:800;letter-spacing:.35cqw;text-transform:uppercase}
.pob-sheet-hd b{color:#e0468b;font-size:3cqw}
.pob-stk{position:absolute;aspect-ratio:1;filter:drop-shadow(0 1.8cqw 2.6cqw rgba(80,50,110,.24))}
.pob-stk-back,.pob-stk-img{position:absolute;inset:0}
.pob-stk-back{inset:-9%;background:#fff}
.pob-stk-img{background-size:cover;background-position:center;display:flex;flex-direction:column;align-items:center;justify-content:center;font-size:8cqw;color:#c9bce6}
/* pinker sheet + empty slots */
.pob-sheet.pink{background:radial-gradient(120% 120% at 30% 8%,#fff 0,#ffe9f3 48%,#ffcfe4 100%);border-color:#f6b3d3}
.pob-sheet.pink .pob-sheet-hd{color:#c76d97}
.pob-stk[onclick]{cursor:pointer}
.pob-stk.empty{filter:drop-shadow(0 1cqw 1.6cqw rgba(200,80,140,.16))}
.pob-stk.empty .pob-stk-back{background:rgba(255,255,255,.72)}
.pob-stk-img.empty{background:rgba(255,255,255,.5);color:#eb9cc4;font-size:9cqw;font-weight:900}
.pob-stk-img.empty i{font-size:3cqw;font-style:normal;font-weight:800;opacity:.85;margin-top:.5cqw}
.pob-stk.circle .pob-stk-back,.pob-stk.circle .pob-stk-img{border-radius:50%}
.pob-stk.rsq .pob-stk-back,.pob-stk.rsq .pob-stk-img{border-radius:26%}
.pob-stk.blob .pob-stk-back,.pob-stk.blob .pob-stk-img{border-radius:47% 53% 44% 56%/52% 46% 54% 48%}
.pob-stk.star .pob-stk-back,.pob-stk.star .pob-stk-img{clip-path:polygon(50% 1%,61% 35%,97% 35%,68% 57%,79% 92%,50% 70%,21% 92%,32% 57%,3% 35%,39% 35%)}
.pob-stk-word{position:absolute;background:#fff;color:#e0468b;font-weight:900;font-size:3.2cqw;letter-spacing:.25cqw;padding:1.6cqw 3.2cqw;border-radius:6cqw;box-shadow:0 1.6cqw 2.6cqw rgba(80,50,110,.22);white-space:nowrap;border:.6cqw solid #ffd6e8}
.pob-stk-mini{position:absolute;font-size:5.2cqw;color:#f5b73a;filter:drop-shadow(0 1cqw 1.4cqw rgba(80,50,110,.22))}

/* ===== 小卡 4 种主流表面工艺(倾斜才反光,克制,非常亮滤镜) =====
   静止时几乎看不出;倾斜/晃动手机时高光/虹彩沿手指移动(pcMoveChrome/gyro 改 background-position)。 */
.pc-mat{position:absolute;inset:0;pointer-events:none;z-index:2;background-position:50% 50%;background-repeat:no-repeat;transition:background-position .12s ease-out}
/* 무광 Matte:无反光,轻微磨砂压光(静态) */
.pc-mat.m-matte{background:rgba(150,150,158,.12);mix-blend-mode:multiply}
/* 유광 Glossy:一小片高光跟着倾斜走(镜面反射) */
.pc-mat.m-glossy{background:radial-gradient(circle at 50% 50%,rgba(255,255,255,.5),rgba(255,255,255,.12) 30%,rgba(255,255,255,0) 52%);background-size:200% 200%;mix-blend-mode:screen;opacity:.6}
/* 홀로그램 Holo:淡虹彩膜,倾斜时色相移动(克制) */
.pc-mat.m-holo{background:linear-gradient(115deg,rgba(255,120,190,.24),rgba(120,215,255,.24),rgba(255,235,150,.24),rgba(150,255,190,.24),rgba(190,150,255,.24));background-size:230% 230%;mix-blend-mode:soft-light;opacity:.62}
/* 펄 Pearl:柔和珠光,倾斜时柔移 */
.pc-mat.m-pearl{background:radial-gradient(circle at 50% 50%,rgba(255,242,248,.42),rgba(228,236,255,.16) 38%,rgba(255,246,236,0) 66%);background-size:200% 200%;mix-blend-mode:soft-light;opacity:.6}
/* 材质选择 chip */
.pc-matseg{margin:0 15px 4px;background:#fff;border-radius:16px;padding:14px}
.pc-matchips{display:flex;flex-direction:column;gap:8px;margin-top:10px}
.pc-mat-chip{display:flex;align-items:center;gap:11px;background:#f8f6fc;border:2px solid #eee;border-radius:13px;padding:9px 12px;cursor:pointer;text-align:left}
.pc-mat-chip.on{border-color:#8667FF;background:#f2ecff}
.pc-mat-txt b{display:block;font-size:14px;font-weight:800;color:#2a2333}
.pc-mat-txt span{display:block;font-size:12px;color:#9a93a5;font-weight:600;margin-top:2px}
.pc-mat-sw{width:34px;height:46px;border-radius:6px;flex:none;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px rgba(0,0,0,.08),0 1px 3px rgba(0,0,0,.15);background:#cdc7d8}
.pc-mat-sw.m-matte{background:linear-gradient(135deg,#d3cdda,#bcb6c8)}
.pc-mat-sw.m-glossy{background:radial-gradient(circle at 38% 32%,#fff,#9fb6dd 60%)}
.pc-mat-sw.m-holo{background:linear-gradient(115deg,#ff9ecf,#9fe4ff,#fff0a8,#a8ffcf,#c9a8ff)}
.pc-mat-sw.m-pearl{background:radial-gradient(circle at 40% 34%,#fff6fb,#e7eeff 55%,#fff4ea)}

/* ===== 黑胶 품질(质感)效果 ===== */
.ad-disc-vfx{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:100%;height:100%;border-radius:50%;pointer-events:none}
.ad-disc.v-splatter .ad-disc-vfx{background:
  radial-gradient(circle at 28% 30%,rgba(255,110,180,.85) 0 2.2%,transparent 2.6%),
  radial-gradient(circle at 68% 24%,rgba(120,200,255,.85) 0 1.6%,transparent 2%),
  radial-gradient(circle at 74% 66%,rgba(255,220,90,.85) 0 2%,transparent 2.4%),
  radial-gradient(circle at 36% 72%,rgba(150,255,160,.8) 0 1.8%,transparent 2.2%),
  radial-gradient(circle at 52% 46%,rgba(190,120,255,.8) 0 1.4%,transparent 1.8%);mix-blend-mode:screen}
.ad-disc.v-audio .ad-disc-vfx{background:radial-gradient(circle,transparent 55%,rgba(255,255,255,.16) 70%,transparent 80%),conic-gradient(from 0deg,rgba(255,255,255,.12),transparent 25%,rgba(255,255,255,.12) 50%,transparent 75%,rgba(255,255,255,.12));mix-blend-mode:screen;opacity:.7}
.ad-disc.v-picture .ad-disc-cvx{width:96%!important;height:96%!important;border-radius:50%!important;overflow:hidden}
.ad-disc.v-picture .ad-disc-base{opacity:.25}
/* 黑胶品质 chip */
.vq-chips{margin:0 15px;display:flex;flex-direction:column;gap:8px}
.vq-chip{display:flex;align-items:center;justify-content:space-between;gap:10px;background:#fff;border:2px solid #eee;border-radius:13px;padding:12px 14px;cursor:pointer}
.vq-chip.on{border-color:#8667FF;background:#faf7ff}
.vq-c{font-size:13.5px;font-weight:800;color:#2a2333}
.vq-chip i{font-style:normal;font-size:13px;font-weight:700;color:#8667FF}

/* ===== 발행 单件成本展示 ===== */
.rv-cost{margin-top:6px;background:#faf7ff;border-radius:12px;padding:11px 12px}
.rv-cost-h{font-size:14px;font-weight:800;color:#5a4f70;display:flex;justify-content:space-between}
.rv-cost-h b{color:#8667FF;font-size:14px}
.rv-cost-rows{margin-top:8px;display:flex;flex-wrap:wrap;gap:5px}
.rv-cost-rows span{font-size:12px;font-weight:700;background:#efeaf6;color:#6b6280;padding:3px 8px;border-radius:7px}
.rv-cost-tot{margin-top:8px;font-size:13.5px;font-weight:800;color:#e0678a;text-align:right}
.rpkg-cost{font-size:12.5px;font-weight:700;color:#c98a1e;margin-top:4px}

/* ===== 오피셜 卡背(솔리드 + 타이포) ===== */
.cbx-of{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:space-between;background:var(--bg);color:var(--ink);container-type:inline-size;padding:8.5cqw 7.5cqw;overflow:hidden;border-radius:inherit}
.cbx-of-top{text-align:left}
.cbx-of-logo{font-size:13.5cqw;font-weight:900;font-style:italic;letter-spacing:-0.4cqw;text-transform:uppercase;line-height:.9;word-break:break-word;text-shadow:0 0.4cqw 0 rgba(0,0,0,.06)}
.cbx-of-sub{font-size:3.2cqw;font-weight:700;letter-spacing:.35cqw;margin-top:2.4cqw;opacity:.7;text-transform:uppercase}
.cbx-of-mid{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:3.5cqw;padding:4cqw 1cqw}
.cbx-of-msg{font-size:6cqw;line-height:1.5;font-weight:600;white-space:pre-wrap;max-width:100%;font-family:"Playfair Display","PingFang SC",serif}
.cbx-of-msg.ph{opacity:.38;font-weight:500}
.cbx-of-sign{max-width:54%;margin-top:.5cqw}
.cbx-of-sign img{width:100%;height:auto;display:block}
.cbx-of-dk .cbx-of-sign img{filter:invert(1) brightness(1.6)}
.cbx-of-foot{display:flex;justify-content:space-between;align-items:center;font-size:2.7cqw;font-weight:700;letter-spacing:.35cqw;opacity:.5;text-transform:uppercase}
.cbx-of-foot span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:60%}

/* 프레임형 커버:照片嵌入边框中央开口 */
.cvx-frame .cvx-photo{top:18.5%;left:18.5%;right:18.5%;bottom:23.5%;inset:auto;border-radius:1.5cqw;overflow:hidden;box-shadow:0 0.4cqw 1.5cqw rgba(0,0,0,.18)}
.cvx-frame .cvx-photo img{width:100%;height:100%;object-fit:cover}
.cvx-frame .cvx-spark{display:none}
.cvx-frame .cvx-scrim{height:34%;background:linear-gradient(transparent,rgba(0,0,0,.32))}

/* 데코-풀 卡背:이미지 배경 위 타이포 */
.cbx-of-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.cbx-of-img>.cbx-of-top,.cbx-of-img>.cbx-of-mid,.cbx-of-img>.cbx-of-foot{position:relative;z-index:1}
.cbx-of-img .cbx-of-logo,.cbx-of-img .cbx-of-sub,.cbx-of-img .cbx-of-msg,.cbx-of-img .cbx-of-foot{text-shadow:0 0.3cqw 1.2cqw rgba(255,255,255,.55)}
.cbx-of-img.cbx-of-dk .cbx-of-logo,.cbx-of-img.cbx-of-dk .cbx-of-sub,.cbx-of-img.cbx-of-dk .cbx-of-msg,.cbx-of-img.cbx-of-dk .cbx-of-foot{text-shadow:0 0.3cqw 1.4cqw rgba(0,0,0,.6)}
.cbx-of-img .cbx-of-msg{background:rgba(255,255,255,.32);padding:2cqw 4cqw;border-radius:3cqw;backdrop-filter:blur(1px)}
.cbx-of-img.cbx-of-dk .cbx-of-msg{background:rgba(20,16,30,.34)}

/* ===== 卡背 5槽 排版(图片底 + 拼音印刷体 + 手写) ===== */
.pcb{position:absolute;inset:0;container-type:inline-size;overflow:hidden;border-radius:inherit;color:#2a2620}
.pcb.pcb-dk{color:#f4f1ea}
.pcb-bg{position:absolute;inset:0;background-size:cover;background-position:center;z-index:0}
.pcb-top{position:absolute;top:7.5%;left:0;right:0;padding:0 9%;text-align:center;z-index:1}
.pcb-title{font-size:12.5cqw;line-height:.95;font-weight:900;word-break:break-word;letter-spacing:-.2cqw}
.pcb-sub{font-size:2.9cqw;font-weight:700;letter-spacing:.55cqw;opacity:.66;margin-top:2.4cqw;text-transform:uppercase}
.pcb-hand{position:absolute;top:40%;left:13%;right:13%;bottom:21%;display:flex;align-items:center;justify-content:center;z-index:1}
.pcb-hand img{max-width:100%;max-height:100%;object-fit:contain}
.pcb.pcb-dk .pcb-hand img{filter:invert(1) brightness(1.7)}
.pcb-bottom{position:absolute;bottom:6.5%;left:0;right:0;padding:0 12%;text-align:center;font-size:5.4cqw;font-weight:800;letter-spacing:.2cqw;z-index:1}
/* 字标字体预设 */
.pcbf-serif{font-family:'Playfair Display',serif;font-style:italic;font-weight:800}
.pcbf-condensed{font-family:'Arial Narrow',system-ui,sans-serif;font-weight:800;letter-spacing:.05cqw}
.pcbf-stamp{font-family:'Arial Black','Arial',sans-serif;font-weight:900;-webkit-text-stroke:.45cqw currentColor;color:transparent}
.pcbf-mono{font-family:'Courier New',monospace;font-weight:700;letter-spacing:.06cqw}
.pcbf-script{font-family:'Snell Roundhand','Segoe Script','Brush Script MT',cursive;font-weight:600;font-style:italic}
/* 三槽内容选择 + 字体 chip */
.cb-slots{margin:0 15px;display:flex;flex-direction:column;gap:8px}
.cb-slot{display:flex;align-items:center;justify-content:space-between;background:#fff;border:1px solid #eee;border-radius:12px;padding:9px 13px}
.cb-slot>span{font-size:13px;font-weight:700;color:#4a4356}
.cb-slot-sel{border:1px solid #e0d8ec;border-radius:9px;padding:7px 10px;font-size:13px;font-weight:700;color:#2a2333;background:#faf7ff}
.pcbf-chips{margin:0 15px;display:flex;flex-wrap:wrap;gap:7px}
.pcbf-chip{display:flex;flex-direction:column;align-items:center;gap:0;background:#241a33;border:2px solid #e6e0f0;border-radius:11px;padding:0;cursor:pointer;overflow:hidden;width:calc(20% - 6px)}
.pcbf-chip.on{border-color:#8667FF}
.pcbf-demo{display:flex;align-items:center;justify-content:center;height:40px;width:100%;background:linear-gradient(135deg,#4a3a6a,#2a1f45);color:#fff;font-size:19px;line-height:1}
.pcbf-chip i{font-style:normal;font-size:8.5px;font-weight:700;color:#4a4356;padding:5px 2px;background:#fff;text-align:center;width:100%}

/* ===== 卡背/卡面 大预览框(占2/3,真实小卡圆角≈5.5%) ===== */
.pcmk-bigprev{display:flex;justify-content:center;margin:16px 0 10px}
.pc-frame{width:66%;max-width:300px;aspect-ratio:55/87;border-radius:16px;overflow:hidden;position:relative;background:#efeaf4;box-shadow:0 14px 36px rgba(0,0,0,.32)}
.pc-frame-photo{width:100%;height:100%;object-fit:cover;display:block}
.pc-frame-empty{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#b3a9c6;font-size:44px;cursor:pointer}
.pc-frame-empty span{font-size:14px;font-weight:800}
.pc-frame-tape{position:absolute;right:8px;bottom:8px;font-size:10.5px;font-weight:800;color:rgba(255,255,255,.78);letter-spacing:1px;background:rgba(0,0,0,.2);padding:2px 6px;border-radius:6px}
.pc-backprev-actions{display:flex;justify-content:center;margin:2px 0 8px}
.pc-frame.pc-backprev-card{background:#efeaf4}

/* ===== 大预览:用真·小卡组件(与最终一致)+ 点击放大翻转 ===== */
.pcmk-bigprev{display:flex;justify-content:center}
.pcmk-bigwrap{display:flex;flex-direction:column;align-items:center;gap:9px;margin:16px 0 6px;cursor:pointer}
.pcmk-bigwrap .pc-example-flip.big{width:min(66vw,270px)}
.pcmk-bigwrap.show-back .pc-example-inner{transform:rotateY(180deg)}
.pcmk-bighint{font-size:13px;color:#9a93a5;font-weight:700}

/* ===== 卡背·白色双带版式(顶/底文字在白带里·深字,中间手写) ===== */
.pcb-band-top{position:absolute;top:0;left:0;right:0;height:13%;background:#f5f5f7;z-index:1}
.pcb-band-bot{position:absolute;bottom:0;left:0;right:0;height:12%;background:#f5f5f7;z-index:1}
.pcb-bands .pcb-top{top:0;height:13%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0 7%;z-index:2}
.pcb-bands .pcb-title{font-size:7.2cqw;color:#1b2452;letter-spacing:.25cqw;line-height:1}
.pcb-bands .pcb-bottom{bottom:0;height:12%;display:flex;align-items:center;justify-content:center;padding:0 7%;color:#1b2452;font-size:6cqw;letter-spacing:.2cqw;z-index:2}
.pcb-bands .pcb-hand{z-index:1}

/* 等级显示移到卡下面(卡上不再显示星星) */
.pcmk-biglvl{font-size:13px;font-weight:800;color:#c9a24b;text-align:center;letter-spacing:.4px}
.pc-slot{display:flex;flex-direction:column}
.pc-slot-lvl{font-size:11px;font-weight:700;color:#9a93a5;text-align:center;margin-top:4px}
.pc-example-stars,.pc-slot-stars{display:none!important}

/* 卡背选择:더보기 折叠 + 小图网格 */
.cb-more-tog{margin:10px 15px 4px;background:#f3eff7;border-radius:12px;padding:11px;text-align:center;font-size:13px;font-weight:800;color:#7a6aa0;cursor:pointer}
.cb-more-tog:active{background:#eae2f4}
.amk-tpls.sm{grid-template-columns:repeat(6,1fr);gap:6px}
.amk-tpls.sm .amk-tpl{cursor:pointer}
.amk-tpls.sm .amk-tpl-img{border-radius:6px}

/* ===== 组件制作状态(主页角标 + 进度) ===== */
.alm-st.s-none{color:#c3bcd0}
.alm-st.s-design{color:#4a7fc0}
.alm-st.s-making{color:#e08a1e}
.alm-st.s-done{color:#23a865}
.alm-item.s-making{border:1px solid #ffe0b0}
.alm-prog{position:absolute;left:0;right:0;bottom:0;height:3px;background:#f0ebf5}
.alm-prog-in{height:100%;background:linear-gradient(90deg,#ffd08a,#e08a1e)}
/* ===== 下厂演出 modal ===== */
.fac-disp{text-align:center}
.fac-ship{font-size:46px;letter-spacing:6px;margin-bottom:6px}
.fac-ship b{font-size:26px;opacity:.55;vertical-align:middle;font-weight:400}
/* ===== 工厂制作中/完成 视图 ===== */
.fac{background:#F7F4FA;min-height:100%;color:#17131C}
.fac-hero{margin:18px 16px 12px;background:#fff;border-radius:22px;padding:26px 22px;text-align:center;box-shadow:0 6px 20px rgba(120,90,180,.08)}
.fac-ic{font-size:60px;line-height:1;display:inline-block}
.fac-ic.spin{animation:facSpin 2.2s ease-in-out infinite}
@keyframes facSpin{0%,100%{transform:rotate(-7deg) scale(1)}50%{transform:rotate(7deg) scale(1.06)}}
.fac-t{font-size:19px;font-weight:900;margin-top:14px}
.fac-s{font-size:13px;color:#9a93a5;margin-top:6px}
.fac-thumb{width:180px;margin:6px auto 0;position:relative}
.fac-thumb .pc-example-flip.big{width:180px}
.fac-cov{width:180px;border-radius:14px;overflow:hidden;box-shadow:0 8px 22px rgba(0,0,0,.16)}
.fac-thumb.making{filter:saturate(.92)}
.fac-belt{position:absolute;left:-12%;right:-12%;bottom:-12px;height:9px;background:repeating-linear-gradient(90deg,#cdc2e6 0 12px,#b1a4cf 12px 24px);border-radius:5px;animation:facBelt .7s linear infinite}
@keyframes facBelt{from{background-position:0 0}to{background-position:24px 0}}
.fac-bar{margin:26px 22px 10px;height:11px;background:#eae3f2;border-radius:8px;overflow:hidden}
.fac-bar-in{height:100%;background:linear-gradient(90deg,#ffd08a,#e08a1e);border-radius:8px;transition:width .5s}
.fac-remain{text-align:center;font-size:14px;font-weight:800;color:#e08a1e}
.fac-hero.done{box-shadow:0 6px 20px rgba(35,168,101,.14)}
.fac-redo{text-align:center;margin:20px auto 0;color:#9a93a5;font-size:13px;font-weight:700;cursor:pointer}
/* 发行未完成提示 */
.rl2-pend{margin:12px 16px 0;background:#fff3e0;border:1px solid #ffd9a0;border-radius:12px;padding:12px 14px;font-size:14px;color:#a5701e;line-height:1.55}
.rl2-pend b{color:#d07a10}

/* 工厂页顶栏加高更舒适 */
.fac .app-bar{height:58px;padding-top:6px}
.fac .app-bar .ab-back{font-size:30px}
.fac .app-bar .ab-t{font-size:17px}

/* ===== 碟面独立标签 + 中心孔 + 涂鸦 + 旋转质感 ===== */
.ad-label{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);border-radius:50%;overflow:hidden;container-type:inline-size;color:#fff}
.ad-label.dk{color:#f0e6c8}
.ad-label.cd{width:90%;aspect-ratio:1;height:auto}
.ad-label.vinyl{width:33%;aspect-ratio:1;height:auto;color:#2a2530;box-shadow:0 0 0 1px rgba(0,0,0,.15)}
.ad-lbl-cctop{position:absolute;top:9%;left:0;right:0;text-align:center;font-size:3.6cqw;font-weight:800;letter-spacing:1.6cqw;opacity:.85}
.ad-lbl-top{position:absolute;top:15%;left:0;right:0;text-align:center;padding:0 12%;z-index:1}
.ad-lbl-t.cd{font-size:12cqw;font-weight:900;font-family:'Playfair Display',serif;line-height:.95;word-break:break-word;text-shadow:0 .3cqw 1cqw rgba(0,0,0,.2)}
.ad-label.vinyl .ad-lbl-t{position:absolute;top:22%;left:0;right:0;text-align:center;font-size:12cqw;font-weight:900;font-family:'Playfair Display',serif;padding:0 8%;line-height:.95}
.ad-lbl-meta{position:absolute;bottom:20%;left:0;right:0;display:flex;justify-content:space-between;padding:0 13%;font-size:5.5cqw;font-weight:700;opacity:.85}
.ad-dood{position:absolute;font-size:11cqw;filter:drop-shadow(0 .3cqw .6cqw rgba(0,0,0,.2))}
.ad-hub{position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:19cqw;height:19cqw;border-radius:50%;background:radial-gradient(circle at 40% 35%,#f0f0f4,#c0c3ca);box-shadow:inset 0 0 0 1px rgba(255,255,255,.6)}
.ad-hub::after{content:'';position:absolute;left:50%;top:50%;transform:translate(-50%,-50%);width:40%;height:40%;border-radius:50%;background:#0c0c12;box-shadow:inset 0 0 3px rgba(0,0,0,.8)}
.ad-hub.sm{width:11cqw;height:11cqw;background:radial-gradient(circle,#e6e6ea,#bcbfc6)}
.ad-hub.sm::after{width:34%;height:34%}
/* 旋转质感 sheen */
.ad-disc-shine{position:absolute;inset:0;border-radius:50%;pointer-events:none;background:conic-gradient(from 0deg,transparent 0deg,rgba(255,255,255,.4) 26deg,transparent 74deg,transparent 176deg,rgba(255,255,255,.28) 210deg,transparent 260deg);mix-blend-mode:screen}
@keyframes discShine{to{transform:rotate(360deg)}}
/* 设计页大预览 */
.disc-prev{display:flex;flex-direction:column;align-items:center;gap:9px;margin:16px 0 8px;cursor:pointer}
.disc-spin{width:min(60vw,236px);aspect-ratio:1;position:relative}
.disc-spin .ad-disc{width:100%;height:100%;margin:0}
.disc-prev-hint{font-size:13px;color:#9a93a5;font-weight:700}
.disc-cols{display:flex;gap:10px;margin:0 15px;flex-wrap:wrap}
.disc-col{width:34px;height:34px;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 1px #ddd;cursor:pointer;padding:0}
.disc-col.on{box-shadow:0 0 0 2px #8667FF}
.disc-cover-tog{margin:14px 15px 0;background:#fff;border:2px solid #eee;border-radius:14px;padding:13px 15px;display:flex;justify-content:space-between;align-items:center;cursor:pointer}
.disc-cover-tog.on{border-color:#8667FF}
.disc-cover-tog b{font-size:14px;font-weight:800}
.disc-cover-tog i{display:block;font-size:12.5px;color:#9a93a5;font-style:normal;margin-top:3px}
.disc-sw{font-size:13px;font-weight:900;color:#c3bcd0}
.disc-cover-tog.on .disc-sw{color:#8667FF}
.disc-dood-row{display:flex;flex-wrap:wrap;gap:8px;margin:0 15px}
.disc-dood-chip{background:#fff;border:2px solid #eee;border-radius:20px;padding:8px 13px;font-size:15px;cursor:pointer}
.disc-dood-chip.on{border-color:#8667FF;background:#f4effb}
.disc-dood-chip i{font-style:normal;font-size:12.5px;font-weight:700;color:#6b6280;margin-left:3px}
/* 全屏碟面查看器 */
.disc-viewer{position:fixed;inset:0;background:radial-gradient(circle at 50% 42%,rgba(50,36,74,.92),rgba(10,8,16,.96));display:flex;flex-direction:column;align-items:center;justify-content:center;gap:24px;z-index:50}
.disc-view-spin{width:min(82vw,350px);aspect-ratio:1;position:relative}
.disc-view-spin .ad-disc{width:100%;height:100%;margin:0}
@keyframes discSpin{to{transform:rotate(360deg)}}
.disc-view-bar button{background:rgba(255,255,255,.14);color:#fff;border:none;border-radius:22px;padding:11px 26px;font-size:14px;font-weight:800;cursor:pointer}

/* ===== 写真集 翻书预览 ===== */
.pbk-preview{display:flex;flex-direction:column;align-items:center;margin:16px 0 8px}
.pbk-zoom{margin-top:10px;background:#241a33;border:1px solid #3a2c52;color:#e7dcff;border-radius:20px;padding:7px 16px;font-size:13.5px;font-weight:800;cursor:pointer}
.pb-slot-x{position:absolute;top:5px;right:5px;width:22px;height:22px;border:none;border-radius:50%;background:rgba(10,6,16,.66);color:#fff;font-size:13.5px;font-weight:800;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;z-index:2}
/* 写真集全屏大图查看 */
.pbfull{position:fixed;inset:0;background:rgba(8,5,14,.9);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;z-index:50;padding:24px}
.pbfull .pbook{width:min(84vw,430px)}
.pbfull-bar{display:flex;gap:12px}
.pbfull-bar button{background:rgba(255,255,255,.14);border:none;color:#fff;border-radius:22px;padding:11px 26px;font-size:14px;font-weight:800;cursor:pointer}
.pbfull .pbook-nav{width:46px;height:46px;font-size:26px}
.pbook{position:relative;width:min(64vw,246px);aspect-ratio:3/4;border-radius:6px 13px 13px 6px;overflow:hidden;box-shadow:0 14px 34px rgba(0,0,0,.28);background:#fff}
.pbook-page{position:absolute;inset:0;transform-origin:left center}
.pbook-page img{width:100%;height:100%;object-fit:cover;display:block}
.pbook-shadow{position:absolute;left:0;top:0;bottom:0;width:15%;background:linear-gradient(90deg,rgba(0,0,0,.24),transparent);pointer-events:none}
.pbook-nav{position:absolute;top:50%;transform:translateY(-50%);width:36px;height:36px;border-radius:50%;border:none;background:rgba(255,255,255,.88);color:#333;font-size:22px;font-weight:700;cursor:pointer;box-shadow:0 3px 10px rgba(0,0,0,.25);display:flex;align-items:center;justify-content:center;z-index:3;line-height:1}
.pbook-nav.l{left:8px}.pbook-nav.r{right:8px}
.pbook-nav:disabled{opacity:.28}
.pbook-pg{position:absolute;bottom:8px;right:10px;background:rgba(20,12,30,.62);color:#fff;font-size:12.5px;font-weight:800;padding:3px 8px;border-radius:8px;z-index:3}
.pbook-pg i{font-style:normal;opacity:.7;font-weight:600}
.pbook-ph{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#b3a9c6;font-size:40px;background:#f2eef6}
.pbook-ph span{font-size:13.5px;font-weight:700}
@keyframes pbTurnR{0%{transform:perspective(720px) rotateY(-44deg);opacity:.4}100%{transform:none;opacity:1}}
@keyframes pbTurnL{0%{transform:perspective(720px) rotateY(44deg);opacity:.4}100%{transform:none;opacity:1}}

/* ===== CD 双面圆盘(正面手绘标签 / 反面裸盘)· 无白底 ===== */
.ad-disc.cd{perspective:820px;background:none}
.ad-disc.cd .ad-inner{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .55s ease}
.ad-disc.cd.flipped .ad-inner{transform:rotateY(180deg)}
.ad-face{position:absolute;inset:0;border-radius:50%;overflow:hidden;backface-visibility:hidden;container-type:inline-size}
.ad-face.back{transform:rotateY(180deg)}
.ad-label-img{position:absolute;inset:0;border-radius:50%;background-size:cover;background-position:center}
/* 裸盘反面 = 反光读取面 */
.ad-bare{position:absolute;inset:0;border-radius:50%;background:
  repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.05) 0 1px,rgba(0,0,0,.05) 1px 2.6px),
  conic-gradient(from 0deg at 50% 50%,#cfd6e2,#ecd2e2,#d0e2ea,#d8ecd2,#ece2d2,#e2d2e2,#cfd6e2),
  radial-gradient(circle at 50% 44%,#eef1f6 12%,#cfd3db 64%,#b6bac4 100%)}
.ad-bare-sheen{position:absolute;inset:0;border-radius:50%;pointer-events:none;background:conic-gradient(from 0deg,transparent,rgba(255,255,255,.42) 38deg,transparent 92deg,transparent 200deg,rgba(255,255,255,.3) 236deg,transparent 290deg);mix-blend-mode:screen}
/* 黑胶圆盘裁切,无白底 */
/* 黑胶 = 纯CSS沟纹(不再用会变形的图) */
.ad-vinyl-face{position:absolute;inset:0;border-radius:50%;overflow:hidden;container-type:inline-size;background:radial-gradient(circle at 50% 46%,#26262e 0%,#141419 55%,#08080b 100%)}
.ad-vinyl-grooves{position:absolute;inset:0;border-radius:50%;pointer-events:none;background:repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.055) 0 1px,rgba(0,0,0,.55) 1px 2.6px)}
.ad-vinyl-face.vq-color{background:radial-gradient(circle at 50% 46%,#f0aec6 0%,#d97fa0 55%,#c26286 100%)}
.ad-vinyl-face.vq-color .ad-vinyl-grooves{background:repeating-radial-gradient(circle at 50% 50%,rgba(255,255,255,.22) 0 1px,rgba(150,55,90,.45) 1px 2.6px)}
.ad-vinyl-face.vq-splatter{background:radial-gradient(circle at 50% 46%,#f0aec6,#c26286)}
.ad-vinyl-face.vq-audio{background:radial-gradient(circle at 50% 44%,#2e2e38 0%,#101014 55%,#040406 100%)}
.ad-vinyl-pic{position:absolute;inset:0;border-radius:50%;background-size:cover;background-position:center}
.ad-vinyl-face.vq-picture .ad-vinyl-grooves{opacity:.3}
/* CD 正面标签选择 */
.disc-lbls{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:0 15px}
.disc-lbl{text-align:center;cursor:pointer}
.disc-lbl-img{width:100%;aspect-ratio:1;border-radius:50%;background-size:cover;background-position:center;border:3px solid transparent;box-shadow:0 3px 8px rgba(0,0,0,.12)}
.disc-lbl.on .disc-lbl-img{border-color:#8667FF}
.disc-lbl span{font-size:12.5px;font-weight:700;color:#6b6280;display:block;margin-top:4px}
/* 翻面按钮 */
.disc-flip-wrap{display:flex;justify-content:center;margin:0 0 6px}
.disc-flip-btn{background:#f2eef7;border:none;border-radius:20px;padding:9px 18px;font-size:13px;font-weight:800;color:#7a6aa0;cursor:pointer}
.disc-flip-btn:active{background:#e8e0f2}
/* ===== 专辑信息 表单 + 入口 ===== */
.alm-info-entry{display:flex;align-items:center;gap:12px;background:linear-gradient(135deg,#EFE8FF,#F6EFFF);border-radius:16px;padding:14px 15px;margin-bottom:13px;cursor:pointer}
.aie-ic{font-size:24px}
.aie-b{flex:1;min-width:0}
.aie-b b{font-size:14.5px;font-weight:800;display:block}
.aie-b span{font-size:13px;color:#7a6aa0;display:block;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.aie-go{color:#b3a4d0;font-size:20px}
.ainfo{margin:0 15px;display:flex;flex-direction:column;gap:5px}
.ainfo label{font-size:14px;font-weight:800;color:#5a4f70;margin-top:11px}
.ainfo input,.ainfo textarea{width:100%;box-sizing:border-box;background:#fff;border:1.5px solid #e6dff0;border-radius:11px;padding:11px 12px;font-size:14px;color:#17131c}
.ainfo input:focus,.ainfo textarea:focus{outline:none;border-color:#8667FF}
.ainfo-chips{display:flex;flex-wrap:wrap;gap:8px}
.ainfo-chip{background:#fff;border:2px solid #eee;border-radius:20px;padding:8px 14px;font-size:14px;font-weight:700;color:#5a4f70;cursor:pointer}
.ainfo-chip.on{border-color:#8667FF;background:#f4effb;color:#8667FF}
.ainfo-auto{margin-top:12px;background:#faf7ff;border-radius:11px;padding:11px 13px;font-size:13.5px;color:#7a7288}
.ainfo-auto b{color:#8667FF;font-weight:900}
.ainfo-hint{font-weight:700;color:#c79a2e;font-size:12.5px;margin-left:6px}
.ainfo-title{margin-top:9px;background:#fff6e6;border:1px solid #f2d98f;border-radius:11px;padding:10px 12px;font-size:13.5px;color:#a5701e}
.ainfo-title b{color:#8a5a10;font-weight:900}
/* 专辑app 录音入口 */
.alm-info-entry.rec{background:linear-gradient(135deg,#fff0f4,#ffe6ef)}
.alm-info-entry.rec.done{background:linear-gradient(135deg,#eafaf0,#dff5e8)}
/* 发行小字备注 */
.rl2-note2{margin:8px 16px -2px;background:#f3eeff;border-radius:12px;padding:9px 13px;font-size:13px;font-weight:700;color:#7a5ad0;line-height:1.5}

/* ===== CD 正面纯色 + 专辑信息 + DIY 涂鸦(multiply 去白) ===== */
.ad-lbl-sub{font-size:3.2cqw;font-weight:700;letter-spacing:.4cqw;opacity:.72;margin-top:1.6cqw}
.ad-lbl-foot{position:absolute;bottom:10.5%;left:0;right:0;text-align:center;font-size:2.9cqw;font-weight:700;letter-spacing:.3cqw;opacity:.55}
.ad-dood-img{position:absolute;width:17%;aspect-ratio:1;background-size:contain;background-repeat:no-repeat;background-position:center;mix-blend-mode:multiply}
.cd-doods{display:grid;grid-template-columns:repeat(6,1fr);gap:8px;margin:0 15px}
.cd-dood{background:#fff;border:2px solid #eee;border-radius:12px;padding:5px;cursor:pointer;aspect-ratio:1;display:flex}
.cd-dood.on{border-color:#8667FF;background:#f4effb}
.cd-dood img{width:100%;height:100%;object-fit:contain}

/* CD 涂鸦贴哪面 */
.cd-dood-side{display:flex;gap:8px;margin:0 15px 8px}
.cd-dood-side button{flex:1;background:#fff;border:2px solid #eee;border-radius:11px;padding:9px;font-size:14px;font-weight:800;color:#6b6280;cursor:pointer}
.cd-dood-side button.on{border-color:#8667FF;background:#f4effb;color:#8667FF}
.ad-dood-img.onbare{mix-blend-mode:multiply;opacity:.85}

/* 黑胶中心标签 = CD正面风格(纯色+专辑信息) */
.ad-vlbl-t{position:absolute;top:12%;left:0;right:0;text-align:center;font-size:10cqw;font-weight:900;font-family:'Playfair Display',serif;line-height:.9;padding:0 9%;word-break:break-word}
.ad-vlbl-sub{position:absolute;top:29%;left:0;right:0;text-align:center;font-size:3.3cqw;font-weight:700;letter-spacing:.2cqw;opacity:.72}
.ad-vlbl-meta{position:absolute;bottom:12%;left:0;right:0;text-align:center;font-size:3.4cqw;font-weight:700;letter-spacing:.2cqw;opacity:.6}

/* 写真集 硬皮封面(第一页) */
.pbook{container-type:inline-size}
.pbook.is-cover{border-radius:4px 15px 15px 4px}
.pbook-hard{position:absolute;inset:0}
.pbook-hard .cvx{width:100%;height:100%;border-radius:0;aspect-ratio:auto}
.pbook-hard-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.12),transparent 28%,transparent 58%,rgba(0,0,0,.55))}
.pbook-hard-band{position:absolute;left:0;right:0;bottom:9%;text-align:center;color:#fff;padding:0 8%;z-index:2}
.pbook-hard-t{font-family:'Playfair Display',serif;font-weight:900;font-size:9.5cqw;line-height:1;text-shadow:0 .4cqw 1.5cqw rgba(0,0,0,.6);word-break:break-word}
.pbook-hard-sub{font-size:2.8cqw;font-weight:800;letter-spacing:.4cqw;opacity:.92;margin-top:2.2cqw;text-transform:uppercase;text-shadow:0 .3cqw 1cqw rgba(0,0,0,.6)}
.pbook-hard-tag{position:absolute;top:6%;left:7%;background:rgba(255,255,255,.9);color:#2a2530;font-size:2.5cqw;font-weight:900;letter-spacing:.8cqw;padding:1cqw 2.6cqw;border-radius:2cqw;z-index:2}

/* ===== 编辑式封面版式(原创:色块面板+曲目标注+条形码) ===== */
.cvx.cve{position:relative;overflow:hidden;container-type:inline-size;background:#222;aspect-ratio:1;width:100%;border-radius:14px;color:#fff}
.cve-photo{position:absolute;inset:0}
.cve-photo img{width:100%;height:100%;object-fit:cover;display:block}
.cve-vign{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.42) 0,transparent 20%,transparent 52%,rgba(0,0,0,.6) 100%)}
/* masthead row */
.cve-mast{position:absolute;left:5.5cqw;right:5.5cqw;top:5cqw;display:flex;align-items:baseline;justify-content:space-between;gap:2cqw}
.cve-mk{font-size:3.4cqw;font-weight:900;letter-spacing:.35cqw;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 .2cqw .8cqw rgba(0,0,0,.5)}
.cve-mk i{color:var(--acc);font-style:normal;margin-right:1.2cqw}
.cve-iss{font-size:2.5cqw;font-weight:700;letter-spacing:.35cqw;text-transform:uppercase;opacity:.92;white-space:nowrap;text-shadow:0 .2cqw .8cqw rgba(0,0,0,.5);flex:none}
.cve-rule{position:absolute;height:0;border-top:.4cqw solid rgba(255,255,255,.75)}
.cve-rule.top{left:5.5cqw;right:5.5cqw;top:9.6cqw}
/* left spine */
.cve-spine{position:absolute;left:2.4cqw;top:50%;transform:translateY(-50%) rotate(180deg);writing-mode:vertical-rl;font-size:2.3cqw;font-weight:700;letter-spacing:.55cqw;text-transform:uppercase;opacity:.8;text-shadow:0 .2cqw .8cqw rgba(0,0,0,.55);max-height:66cqw;overflow:hidden}
/* lower title block */
.cve-lower{position:absolute;left:5.5cqw;right:5.5cqw;bottom:9cqw}
.cve-title{font-size:15cqw;line-height:.9;font-weight:900;word-break:break-word;text-shadow:0 .4cqw 1.6cqw rgba(0,0,0,.55)}
.cve-title.cvti-serif{font-family:'Playfair Display',serif;font-style:italic;font-weight:900}
.cve-rule.mid{position:relative;width:16cqw;margin:3.2cqw 0 2.6cqw;border-top-color:var(--acc);border-top-width:.7cqw}
.cve-metarow{display:flex;align-items:center;justify-content:space-between;gap:2cqw}
.cve-meta{font-size:2.7cqw;font-weight:700;letter-spacing:.3cqw;text-transform:uppercase;opacity:.9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-shadow:0 .2cqw .8cqw rgba(0,0,0,.5)}
.cve-cat{font-size:2.5cqw;font-weight:800;letter-spacing:.35cqw;opacity:.85;white-space:nowrap;flex:none;text-shadow:0 .2cqw .8cqw rgba(0,0,0,.5)}
.cve-corner{position:absolute;right:5.5cqw;bottom:3.4cqw;width:24cqw}
.cve-barcode{height:5cqw;background:repeating-linear-gradient(90deg,#fff 0 .5cqw,transparent .5cqw 1cqw,#fff 1cqw 1.3cqw,transparent 1.3cqw 2.3cqw);opacity:.8}

/* 封面版式切换 */
.cov-lay{display:flex;gap:8px;margin:0 15px}
.cov-lay button{flex:1;background:#fff;border:2px solid #eee;border-radius:12px;padding:11px 8px;font-size:14px;font-weight:800;color:#5a4f70;cursor:pointer}
.cov-lay button.on{border-color:#8667FF;background:#f4effb;color:#8667FF}

/* 写真集:硬皮上传图 + 最后信息页 */
.pbook-hard-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.pbk-cover-row{display:flex;gap:8px;justify-content:center;margin:2px 0 6px}
.pbk-cover-rm{background:#f2eef7;border:none;border-radius:20px;padding:9px 14px;font-size:13.5px;font-weight:700;color:#7a6aa0;cursor:pointer}
.pbook.is-info{border-radius:13px 4px 4px 13px}
.pbook-info{position:absolute;inset:0;background:#faf7f2;color:#2a2530;padding:9cqw 8cqw;container-type:inline-size;display:flex;flex-direction:column}
.pbi-h{font-family:'Playfair Display',serif;font-weight:900;font-size:9cqw;line-height:1}
.pbi-artist{font-size:3cqw;font-weight:800;letter-spacing:.3cqw;opacity:.7;margin-top:2cqw;text-transform:uppercase}
.pbi-list{margin-top:6cqw;flex:1;overflow:hidden}
.pbi-tk{font-size:3.4cqw;font-weight:600;padding:1.2cqw 0;border-bottom:1px solid rgba(0,0,0,.06);display:flex;gap:2.5cqw}
.pbi-tk b{color:#8667FF;font-weight:900;min-width:6cqw}
.pbi-tk.empty{opacity:.4;border:none}
.pbi-foot{font-size:2.5cqw;font-weight:600;opacity:.6;line-height:1.8}
.pbi-bar{height:6cqw;margin-top:2cqw;background:repeating-linear-gradient(90deg,#2a2530 0 .5cqw,transparent .5cqw 1cqw,#2a2530 1cqw 1.3cqw,transparent 1.3cqw 2.2cqw);opacity:.8}
/* photobook inner pages */
.pbook-photo{position:absolute;inset:0;container-type:inline-size}
.pbook-photo.bleed img{width:100%;height:100%;object-fit:cover;display:block}
.pbp-grad{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.42) 0,transparent 20%,transparent 48%,rgba(0,0,0,.78) 100%);pointer-events:none}
.pbp-folio{position:absolute;left:7cqw;right:7cqw;top:5.5cqw;display:flex;justify-content:space-between;align-items:baseline;font-size:2.7cqw;font-weight:800;letter-spacing:.35cqw;text-transform:uppercase;z-index:2}
.pbp-folio i{font-style:normal;opacity:.6;font-weight:600}
.pbp-folio.light{color:#fff;text-shadow:0 .2cqw .8cqw rgba(0,0,0,.55)}
.pbp-cap{position:absolute;left:7cqw;right:22cqw;bottom:6cqw;display:flex;flex-direction:column;align-items:flex-start;gap:1.8cqw;z-index:2}
.pbp-caprow{display:flex;align-items:center;gap:2.4cqw}
.pbp-tick{width:6cqw;height:.6cqw;background:#8667FF;flex:none}
.pbp-cap.light .pbp-tick{background:#fff}
.pbp-scene{font-size:2.6cqw;font-weight:800;letter-spacing:.45cqw;text-transform:uppercase;opacity:.85}
.pbp-tk{font-family:'Playfair Display',serif;font-style:italic;font-weight:700;font-size:6cqw;line-height:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.pbp-cap.light{color:#fff;text-shadow:0 .3cqw 1cqw rgba(0,0,0,.6)}
.pbp-cap.dark{color:#2a2530}
.pbook-photo.margin{background:#f7f3ec;padding:6.5cqw 6.5cqw 0}
.pbook-photo.margin .pbp-frame{position:absolute;left:6.5cqw;right:6.5cqw;top:12.5cqw;bottom:16cqw;overflow:hidden;box-shadow:0 1.2cqw 3cqw rgba(0,0,0,.14)}
.pbook-photo.margin .pbp-frame img{width:100%;height:100%;object-fit:cover;display:block}
.pbook-photo.margin .pbp-folio{color:#2a2530}
.pbook-photo.margin .pbp-cap{bottom:5.5cqw}

.fl-h{font-size:16px;padding:15px 16px 9px;}

/* ===== v358 深化:Weverse 모먼트 / nate 뉴스 / bank 补充 ===== */
/* 通用 in-app 顶部 tabs(weverse) */
.wv-tabs{display:flex;background:#0d0d0d;border-bottom:1px solid #222;}
.wv-tabs span{flex:1;text-align:center;padding:12px 6px;font-size:14px;font-weight:700;color:#777;cursor:pointer;}
.wv-tabs span.on{color:#00d1c1;box-shadow:inset 0 -2px 0 #00d1c1;}
.wv-tabs span i{font-style:normal;font-size:10.5px;opacity:.7;margin-left:3px;}
.wv-feed{padding:8px 0 24px;background:#0b0b0b;min-height:60vh;}
.wvm-write{display:block;width:calc(100% - 28px);margin:10px 14px 14px;background:#14e0cf;color:#04241f;border:0;border-radius:12px;padding:13px;font-size:13.5px;font-weight:800;cursor:pointer;}
.wvm-post{background:#151515;border:1px solid #232323;border-radius:16px;margin:0 14px 12px;padding:14px;}
.wvm-hd{display:flex;align-items:center;gap:10px;}
.wvm-av{width:40px;height:40px;border-radius:50%;background:#2a2a2a center/cover;display:flex;align-items:center;justify-content:center;font-size:20px;}
.wvm-nm{font-size:14px;font-weight:800;color:#fff;}
.wvm-of{font-size:10.5px;background:#00d1c1;color:#04241f;padding:1px 6px;border-radius:5px;margin-left:5px;}
.wvm-tm{font-size:12.5px;color:#777;font-weight:400;margin-left:6px;}
.wvm-img{margin:10px 0;border-radius:12px;overflow:hidden;}
.wvm-img img{width:100%;display:block;}
.wvm-tx{font-size:14.5px;color:#eee;line-height:1.55;margin-top:10px;}
.wvm-txc{display:block;font-size:13.5px;color:#8a8a8a;margin-top:3px;}
.wvm-acts{display:flex;gap:18px;margin-top:12px;font-size:13px;color:#9a9a9a;}
.wvm-acts span{cursor:pointer;}
.wvm-acts span.on{color:#a06bff;}
.wvm-cmts{margin-top:12px;border-top:1px solid #232323;padding-top:10px;display:flex;flex-direction:column;gap:8px;}
.wvm-cmt{font-size:14px;color:#cfcfcf;line-height:1.4;}
.wvm-cmt b{color:#fff;font-weight:700;}
.wvm-cc{color:#7a7a7a;margin-left:6px;}
/* nate 3-tab 变窄 */
.nt-tabs span{font-size:13px;padding:13px 6px;}
.nt-tabs span i{display:none;}
/* nate 뉴스 */
.ntn-list{padding:2px 0 24px;}
.ntn-row{display:flex;gap:12px;padding:13px 16px;border-bottom:1px solid #f2f2f2;cursor:pointer;}
.ntn-thumb{width:74px;height:74px;border-radius:10px;flex-shrink:0;}
.ntn-b{flex:1;min-width:0;}
.ntn-t{font-size:15px;font-weight:800;color:#1a1a1a;line-height:1.35;}
.ntn-c{font-size:14px;color:#888;margin-top:4px;line-height:1.4;}
.ntn-m{font-size:12.5px;color:#aaa;margin-top:6px;}
.ntn-tag{background:#ffe3e3;color:#e0455e;font-weight:800;font-size:11.5px;padding:1px 6px;border-radius:5px;}
.ntnews{background:#fff;color:#222;min-height:100%;}
.ntn-art{padding:16px;}
.ntn-atag{font-size:13.5px;font-weight:800;color:#e0455e;}
.ntn-at{font-size:21px;font-weight:900;line-height:1.35;margin-top:8px;}
.ntn-atc{font-size:14px;color:#888;margin-top:8px;line-height:1.5;}
.ntn-hero{width:100%;height:180px;border-radius:14px;margin:14px 0;}
.ntn-body p{font-size:14.5px;color:#333;line-height:1.75;margin:0 0 12px;}
.ntn-meta2{font-size:13.5px;color:#aaa;border-top:1px solid #f0f0f0;padding-top:12px;}
/* bank 补充 */
.bk-card-top{display:flex;justify-content:space-between;align-items:center;}
.bk-visa{font-style:italic;font-weight:900;font-size:15px;letter-spacing:1px;opacity:.9;}
.bk-acct{font-size:13.5px;opacity:.8;margin-top:8px;letter-spacing:.5px;}
.bk-sum{display:flex;gap:10px;margin:0 16px 12px;}
.bk-sum-c{flex:1;background:#fff;border:1px solid #eef0f4;border-radius:14px;padding:12px 14px;}
.bk-sum-c span{font-size:13px;color:#8a8f9a;}
.bk-sum-c b{display:block;font-size:16px;font-weight:800;margin-top:4px;}
.bk-sum-c.in b{color:#1aa860;}
.bk-sum-c.out b{color:#e0556a;}
.bk-cats{margin:0 16px 8px;display:flex;flex-direction:column;gap:11px;}
.bk-cat-l{display:flex;justify-content:space-between;font-size:14px;color:#4a4f5a;margin-bottom:5px;}
.bk-cat-l b{font-weight:800;color:#2a2f37;}
.bk-cat-bar{height:8px;border-radius:5px;background:#eef0f4;overflow:hidden;}
.bk-cat-bar i{display:block;height:100%;border-radius:5px;}

/* ===== v361 节拍卡(beat card):自由模式每拍的 前情+反馈+新钩子 ===== */
.overlay.beatov{align-items:center;}
.beatcard{width:min(340px,88%);background:linear-gradient(180deg,#1b1726,#141019);border:1px solid rgba(255,255,255,.08);border-radius:22px;padding:22px 20px 18px;color:#f3eefb;box-shadow:0 24px 70px rgba(0,0,0,.55);animation:btcPop .28s cubic-bezier(.2,.9,.3,1.25);}
@keyframes btcPop{from{opacity:0;transform:translateY(14px) scale(.97)}to{opacity:1;transform:none}}
.btc-top{display:flex;align-items:center;gap:12px;}
.btc-ic{font-size:30px;flex-shrink:0;}
.btc-ttl{font-size:17px;font-weight:800;line-height:1.2;}
.btc-ttl span{display:block;font-size:13px;font-weight:500;opacity:.6;margin-top:2px;}
.btc-lead{margin-top:14px;font-size:13px;font-style:italic;color:#b3a7cf;line-height:1.5;border-left:2px solid rgba(255,255,255,.15);padding-left:11px;}
.btc-lead span{font-style:normal;opacity:.75;font-size:13.5px;}
.btc-body{margin-top:14px;font-size:15px;font-weight:600;line-height:1.55;color:#f3eefb;}
.btc-body span{display:inline;font-size:14px;font-weight:400;opacity:.72;}
.btc-chips{display:flex;flex-wrap:wrap;gap:7px;margin-top:14px;}
.btc-chip{font-size:13.5px;font-weight:700;background:rgba(255,255,255,.09);border:1px solid rgba(255,255,255,.08);color:#e7dffb;border-radius:9px;padding:5px 10px;}
.btc-hook{margin-top:16px;background:linear-gradient(135deg,rgba(255,92,147,.16),rgba(176,38,255,.14));border:1px solid rgba(255,92,147,.28);border-radius:14px;padding:12px 13px;}
.btc-hook-lbl{display:block;font-size:12px;font-weight:800;letter-spacing:.5px;color:#ff9ec4;margin-bottom:5px;}
.btc-hook-t{font-size:13.5px;font-weight:700;line-height:1.45;}
.btc-hook-t i{display:block;font-style:normal;font-size:13.5px;font-weight:400;opacity:.8;margin-top:2px;}
.btc-go{width:100%;margin-top:18px;border:0;border-radius:13px;padding:13px;font-size:14.5px;font-weight:800;cursor:pointer;color:#fff;background:linear-gradient(135deg,#ff5c93,#b026ff);box-shadow:0 8px 22px rgba(176,38,255,.3);}
.btc-go:active{transform:scale(.98);}

/* (v363 旧 .tintro/.ti-* 任务导入卡样式已废弃 → 统一并入下方 .tb-* story-beat) */

/* ===== 任务导入卡 = story beat(全屏房间图 + NPC 立绘 + 当面台词) ===== */
.content.fullview .tb-scene{min-height:100%;}
.tb-scene{position:relative;min-height:100%;display:flex;flex-direction:column;background:#120e1c;overflow:hidden;color:#f3eefb;}
.tb-scene>*{position:relative;z-index:2;}
.tb-bg{position:absolute!important;inset:0;z-index:0!important;background:center/cover no-repeat;}
.tb-ov{position:absolute!important;inset:0;z-index:1!important;background:linear-gradient(180deg,rgba(10,7,16,.32) 0%,rgba(10,7,16,.46) 42%,rgba(10,7,16,.9) 100%);}
.tb-top{display:flex;align-items:center;gap:10px;padding:16px 15px 0;}
.tb-back{font-size:30px;line-height:1;color:#fff;cursor:pointer;text-shadow:0 2px 8px rgba(0,0,0,.6);}
.tb-place{font-size:14px;color:#e8def7;font-weight:700;letter-spacing:.5px;text-shadow:0 2px 8px rgba(0,0,0,.75);}
.tb-port{position:absolute!important;z-index:1!important;right:0;bottom:0;height:66%;display:flex;align-items:flex-end;pointer-events:none;animation:tbFace .6s ease both;}
.tb-face-wrap{position:relative;height:100%;}
.tb-face{height:100%;width:auto;object-fit:contain;object-position:bottom right;filter:drop-shadow(0 8px 20px rgba(0,0,0,.6)) drop-shadow(-6px 0 16px rgba(0,0,0,.35));-webkit-mask-image:linear-gradient(to bottom,#000 78%,transparent 98%);mask-image:linear-gradient(to bottom,#000 78%,transparent 98%);}
.tb-emoji{position:absolute;right:26px;bottom:38%;font-size:104px;filter:drop-shadow(0 6px 18px rgba(0,0,0,.6));}
.tb-emoji.big{font-size:120px;right:30px;}
@keyframes tbFace{from{opacity:0;transform:translateX(24px);}to{opacity:1;transform:none;}}
.tb-body{margin-top:auto;padding:0 15px;}
/* 情境旁白:一层薄底,中韩都清晰(中文不再小一号灰一号) */
/* 旁白/剧情描写:斜体 + 左竖条 + 半透明底(无实心气泡)——一眼区别于对话气泡 */
.tb-narr{padding:7px 13px;margin-bottom:12px;background:rgba(8,5,14,.4);border-left:3px solid rgba(210,192,255,.5);border-radius:0 10px 10px 0;backdrop-filter:blur(2px);display:flex;flex-direction:column;}
.tb-narr span{color:#aaa0c2;font-size:12px;line-height:1.42;font-weight:500;font-style:italic;text-shadow:0 1px 6px rgba(0,0,0,.85);order:2;margin-top:4px;}
.tb-narr i{color:#ece6f6;font-size:15px;font-style:italic;font-weight:500;line-height:1.5;text-shadow:0 1px 6px rgba(0,0,0,.85);order:1;}
.tb-narr .tb-tone{order:3;}
.tb-narr span+span{margin-top:8px;}
.tb-narr .tb-tone{display:block;color:#bfe6c9;font-size:13.5px;font-style:italic;font-weight:500;margin-top:8px;}
.tb-dialog{background:rgba(20,15,30,.92);border:1px solid rgba(255,255,255,.16);border-radius:16px;padding:15px 17px;backdrop-filter:blur(10px);box-shadow:0 8px 30px rgba(0,0,0,.5);opacity:0;animation:tbUp .5s .3s forwards;}
.tb-dialog2{margin-top:9px;background:rgba(30,20,45,.9);}
/* P0 群像:队友围过来发言(比主 NPC 台词略小,说话人用青绿胶囊区分「队友」) */
/* ★回归前 브리핑 目标卡 */
.brief-goals{margin:11px 0;display:flex;flex-direction:column;gap:9px;}
.bg-row{display:flex;gap:11px;align-items:flex-start;background:linear-gradient(120deg,rgba(125,92,255,.2),rgba(255,90,140,.16));border:1px solid rgba(255,255,255,.16);border-radius:14px;padding:12px 14px;}
.bg-ic{font-size:24px;line-height:1;flex-shrink:0;}
.bg-b b{font-size:13px;font-weight:800;color:#ffd45e;display:block;margin-bottom:3px;}
.bg-b>span{font-size:15px;font-weight:700;color:#fff;line-height:1.45;}
.bg-b em{font-style:normal;color:#ff9ec4;font-size:18px;}
.bg-b i{display:block;font-style:normal;font-size:12.5px;font-weight:500;color:#c8bfe0;margin-top:2px;}
.brief-foot{padding:12px 15px 24px;}
.brief-q{font-size:13px;font-weight:800;color:#ffd45e;text-align:center;margin-bottom:9px;}
/* 结算目标判定卡 */
.st-goals{margin:0 15px 14px;padding:13px 15px;border-radius:14px;}
.st-goals.ok{background:rgba(94,232,155,.12);border:1px solid rgba(94,232,155,.4);}
.st-goals.miss{background:rgba(255,120,140,.1);border:1px solid rgba(255,120,140,.34);}
.stg-h{font-size:15px;font-weight:800;color:#fff;margin-bottom:9px;}
.stg-h span{font-size:12.5px;opacity:.7;font-weight:600;}
.stg-row{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:#e7dff2;padding:4px 0;}
.stg-row b{font-weight:800;} .stg-row b.ok{color:#8ff0b8;} .stg-row b.no{color:#ff9aa8;}
.tb-mates{margin-top:9px;display:flex;flex-direction:column;gap:7px;}
.tb-mate{padding:10px 13px;background:rgba(18,26,32,.9);border-color:rgba(120,220,200,.22);animation:tbUp .4s forwards;}
.tb-mate .tb-say{font-size:12px;}
.tb-mate .tb-say span{font-size:15px;}
.tb-spk.mate{background:linear-gradient(120deg,#2bb89e,#3ad0b4);box-shadow:0 2px 8px rgba(43,184,158,.35);}
.tb-tap{padding:16px 15px 30px;text-align:center;color:#d7c3ff;font-size:13.5px;font-weight:600;letter-spacing:.4px;opacity:.9;animation:tbTapPulse 1.4s ease-in-out infinite;}
@keyframes tbTapPulse{50%{opacity:.45;}}
/* 对话:说话人做成彩色胶囊标签 + 실心气泡(.tb-dialog)——清楚表示"有人在说话" */
.tb-spk{display:inline-block;font-size:12.5px;font-weight:800;color:#fff;background:linear-gradient(120deg,#7d5cff,#a273ff);padding:3px 12px;border-radius:20px;margin-bottom:8px;letter-spacing:.3px;box-shadow:0 2px 8px rgba(125,92,255,.4);}
.tb-dialog .tb-say span::before{content:"「";opacity:.5;}
.tb-dialog .tb-say span::after{content:"」";opacity:.5;}
.tb-say{color:#c8bfe0;font-size:13px;line-height:1.45;font-weight:500;min-height:22px;display:flex;flex-direction:column;}
.tb-say span{color:#fff;font-size:17.5px;font-weight:600;line-height:1.5;order:-1;}
.tb-say .tb-dots{order:0;}
.tb-dots{display:inline-flex;gap:6px;padding:5px 0;}
.tb-dots i{width:8px;height:8px;border-radius:50%;background:#cbb6f5;animation:tbblink 1s infinite;}
.tb-dots i:nth-child(2){animation-delay:.18s;} .tb-dots i:nth-child(3){animation-delay:.36s;}
@keyframes tbblink{0%,65%,100%{opacity:.22;}32%{opacity:1;}}
@keyframes tbUp{from{opacity:0;transform:translateY(10px);}to{opacity:1;transform:none;}}
.tb-stake{margin-top:11px;color:#ffe1a6;font-size:14.5px;font-weight:700;text-shadow:0 2px 8px rgba(0,0,0,.75);}
.tb-stake span{color:#f5e6c6;font-weight:500;margin-left:6px;font-size:14px;}
.tb-stake.next{color:#a9e8c0;}
.tb-stake.next span{color:#cfeeda;}
.tb-stake.season{margin-top:11px;font-size:15.5px;color:#ffd9ec;background:rgba(90,30,80,.4);border:1px solid rgba(255,150,200,.32);border-radius:12px;padding:11px 13px;}
.tb-stake.season span{display:block;color:#f6dcec;font-weight:500;font-size:14px;margin:3px 0 0;}
.tb-place.done{color:#b6f0c4;}
.tb-place.confront{color:#ff9f9f;}
.tb-foot.cf{gap:8px;}
.tb-choice{background:rgba(24,18,34,.88);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:13px 15px;cursor:pointer;backdrop-filter:blur(8px);transition:transform .08s;}
.tb-choice:active{transform:scale(.985);}
.tb-choice .k{display:block;color:#fff;font-size:15.5px;font-weight:700;line-height:1.4;}
.tb-choice .c{display:block;color:#cdbfe6;font-size:13px;margin-top:2px;}
/* ⑥ 季 HUD(日程顶部常驻:这一季的戏剧问题 + center 战况) */
.season-hud{margin:12px 15px 4px;padding:12px 14px;border-radius:15px;background:linear-gradient(135deg,rgba(58,28,74,.92),rgba(40,26,58,.92));border:1px solid rgba(255,150,200,.3);box-shadow:0 6px 20px rgba(90,30,80,.25);}
.sh-q{font-size:14.5px;font-weight:800;color:#ffd9ec;line-height:1.4;}
.sh-meter{margin:9px 0 7px;height:8px;border-radius:6px;background:rgba(255,255,255,.13);overflow:hidden;}
.sh-fill{height:100%;border-radius:6px;background:linear-gradient(90deg,#ff5f8f,#ffab5e);transition:width .45s;}
.sh-nums{font-size:12.5px;color:#e9dcf3;}
.sh-nums b{color:#fff;font-weight:800;}
.sh-pend.up{color:#8fe6b0;} .sh-pend.dn{color:#ff9a9a;}
.sh-rival{margin-left:7px;opacity:.68;font-size:11.5px;}
.sh-goal{margin-top:7px;padding-top:7px;border-top:1px solid rgba(255,255,255,.1);font-size:12.5px;font-weight:600;color:#ffe1b0;}
.sh-goal b{color:#fff;font-weight:800;} .sh-goal b.ok{color:#8ff0b8;}
/* ③ 结算 beat 里的 center 지분 播报 */
.tb-share{margin-top:10px;color:#ffcf8f;font-size:14px;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.7);}
.tb-share span{display:block;color:#f3e2c4;font-weight:500;font-size:13px;margin-top:2px;}
.tb-debt{margin-top:8px;font-size:12.5px;color:#e6adad;font-style:italic;line-height:1.45;text-shadow:0 1px 6px rgba(0,0,0,.7);}
.tb-foot{padding:15px 15px 26px;display:flex;flex-direction:column;gap:9px;}
.tb-go{width:100%;border:0;border-radius:14px;padding:16px;font-size:16.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,#f5476e,#ff8e5a);box-shadow:0 8px 24px rgba(250,70,107,.4);cursor:pointer;}
.tb-go:active{transform:scale(.98);}
.tb-later{width:100%;border:0;background:transparent;color:rgba(255,255,255,.52);font-size:13.5px;cursor:pointer;padding:4px;}
/* KakaoTalk:当面聊过的记忆分隔线(非DM,不伪装成气泡) */
.kk-scenemark{align-self:center;text-align:center;color:#5c6b7a;font-size:12.5px;margin:6px 10px;line-height:1.5;max-width:82%;}
.kk-scenemark span{display:block;color:#7a8a99;font-style:italic;opacity:.9;font-size:12px;margin-top:2px;}

/* ===== v364 主线 Quest 卡(日程 hub 顶部) ===== */
.mq-card{margin:14px 15px 6px;padding:15px 16px;border-radius:18px;background:linear-gradient(135deg,#3a1f4e,#2a1f3e);border:1px solid rgba(255,158,196,.35);box-shadow:0 10px 28px rgba(120,30,90,.28);cursor:pointer;position:relative;overflow:hidden;}
.mq-card::after{content:'';position:absolute;top:-40%;right:-10%;width:120px;height:180%;background:radial-gradient(closest-side,rgba(255,158,196,.18),transparent);pointer-events:none;}
.mq-card:active{transform:scale(.99);}
.mq-hd{font-size:12.5px;font-weight:800;letter-spacing:1px;color:#ff9ec4;}
.mq-t{font-size:18px;font-weight:900;color:#fff;margin-top:6px;}
.mq-obj{font-size:13.5px;font-weight:600;color:#e7dffb;margin-top:9px;background:rgba(255,255,255,.07);border-radius:10px;padding:9px 11px;}
.mq-obj span{display:block;font-size:13px;font-weight:400;opacity:.7;margin-top:2px;}
.mq-go{margin-top:11px;display:inline-block;font-size:13.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,#ff5c93,#b026ff);border-radius:11px;padding:9px 16px;box-shadow:0 6px 16px rgba(176,38,255,.3);}
.mq-card.mq-done{cursor:default;border-color:rgba(255,255,255,.14);background:linear-gradient(135deg,#2a2540,#1f1c30);}
.mq-card.mq-done .mq-t{font-size:14px;font-weight:700;opacity:.85;}

/* ===== v365 支线 Quest(日程 hub) ===== */
.sq-sec{margin-top:8px;}
.sq-row{display:flex;align-items:center;gap:11px;padding:11px 12px;margin:0 15px 7px;border-radius:14px;background:linear-gradient(135deg,#241f36,#1e1a2c);border:1px solid rgba(255,255,255,.07);}
.sq-ic{font-size:22px;flex-shrink:0;width:30px;text-align:center;}
.sq-b{flex:1;min-width:0;}
.sq-t{font-size:14px;font-weight:800;color:#f0ecf8;}
.sq-o{font-size:13px;color:#b3a7cf;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.sq-acts{display:flex;flex-direction:column;gap:5px;flex-shrink:0;}
.sq-go{border:0;border-radius:9px;padding:6px 13px;font-size:13.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,#ff5c93,#b026ff);cursor:pointer;}
.sq-skip{border:0;border-radius:9px;padding:5px 13px;font-size:12.5px;font-weight:600;color:rgba(255,255,255,.45);background:rgba(255,255,255,.06);cursor:pointer;}

/* ===== v370 据点场景任务牌:核心任务(主线)最前 + 支线折叠 ===== */
.scn-tasks{position:absolute;left:12px;right:12px;top:56px;z-index:8;display:flex;flex-direction:column;gap:7px;animation:ssIn .4s ease;}
.scn-story{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:15px;cursor:pointer;backdrop-filter:blur(4px);background:linear-gradient(135deg,rgba(255,92,147,.92),rgba(176,38,255,.9));border:1px solid rgba(255,255,255,.25);box-shadow:0 8px 24px rgba(140,20,120,.4);}
.scn-story .stk-b b{color:#fff;}
.scn-story .stk-b i{color:rgba(255,255,255,.85);}
.scn-story .stk-go{background:rgba(255,255,255,.22);}
@keyframes ssIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
.scn-task{display:flex;align-items:center;gap:10px;padding:11px 13px;border-radius:15px;cursor:pointer;backdrop-filter:blur(4px);}
.scn-task.main{background:linear-gradient(135deg,rgba(58,31,78,.95),rgba(42,31,62,.95));border:1px solid rgba(255,158,196,.4);box-shadow:0 8px 24px rgba(0,0,0,.45);}
.scn-task.side{background:rgba(28,24,40,.9);border:1px solid rgba(255,255,255,.08);padding:8px 13px;}
.stk-ic{font-size:22px;flex-shrink:0;}
.scn-task.side .stk-ic{font-size:17px;}
.stk-b{flex:1;min-width:0;}
.stk-b b{display:block;font-size:14px;font-weight:800;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.scn-task.side .stk-b b{font-size:14px;font-weight:700;color:#d8cfe8;}
.stk-b i{display:block;font-style:normal;font-size:12.5px;color:#c3b6e0;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.scn-task.side .stk-b i{font-size:12px;color:#9a90b4;}
.stk-go{flex-shrink:0;font-size:13.5px;font-weight:800;color:#fff;background:linear-gradient(135deg,#ff5c93,#b026ff);border-radius:9px;padding:6px 12px;}

/* ===== v369 Instagram 完整 App:多tab底部导航 + 홈/탐색/릴스/알림 + 返回键 ===== */
.content.fullview .ig-app{min-height:100%;}
.ig-app{display:flex;flex-direction:column;height:100%;background:#fff;}
.ig-scroll{flex:1;overflow-y:auto;-webkit-overflow-scrolling:touch;}
.ig-topbar{display:flex;align-items:center;gap:10px;padding:11px 14px;border-bottom:1px solid #f2f2f2;flex-shrink:0;}
.ig-back{font-size:26px;line-height:1;cursor:pointer;color:#222;flex-shrink:0;}
.ig-back.light{color:#fff;}
.ig-topbar b{flex:1;font-size:17px;font-weight:800;}
.ig-topbar .ig-logo{flex:1;}
.ig-dmbtn{margin-left:auto;}
/* 底部导航 */
.ig-nav{display:flex;flex-shrink:0;border-top:1px solid #eee;background:#fff;padding:7px 0 9px;}
.ign-tab{flex:1;text-align:center;font-size:22px;cursor:pointer;opacity:.55;filter:grayscale(1);}
.ign-tab.on{opacity:1;filter:none;}
.ign-av{display:inline-block;width:26px;height:26px;border-radius:50%;background:#eee center/cover;border:1.5px solid #333;vertical-align:middle;}
.ig-reelsmode{background:#000;}
.ig-reelsmode .ig-scroll{overflow:hidden;}
.ig-reelsmode .ig-nav{background:#000;border-top-color:#222;}
.ig-reelsmode .ign-tab{color:#fff;}
/* 탐색 */
.ig-search{margin:12px 14px;background:#efefef;border-radius:11px;padding:11px 14px;font-size:14px;color:#8a8a8a;}
.ig-search span{margin-left:4px;}
.ig-explore .ig-gcell{aspect-ratio:1;}
.ig-gbadge{position:absolute;top:5px;right:6px;font-size:14px;text-shadow:0 1px 3px rgba(0,0,0,.5);}
/* 릴스 */
.ig-reel{position:relative;width:100%;height:100%;min-height:70vh;background:#111 center/cover;color:#fff;overflow:hidden;}
.ig-reel-veil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.35),transparent 30%,transparent 55%,rgba(0,0,0,.6));}
.ig-reel-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;gap:8px;padding:14px;z-index:3;font-size:15px;font-weight:800;}
.ig-reel-play{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:60px;opacity:.55;z-index:2;}
.ig-reel-side{position:absolute;right:12px;bottom:96px;display:flex;flex-direction:column;gap:20px;z-index:3;text-align:center;font-size:26px;}
.ig-reel-side div{cursor:pointer;}
.ig-reel-side span{display:block;font-size:12.5px;font-weight:700;margin-top:2px;}
.ig-reel-bottom{position:absolute;left:0;right:60px;bottom:16px;padding:0 16px;z-index:3;}
.ig-reel-acc{font-size:14px;font-weight:800;display:flex;align-items:center;gap:8px;}
.ig-reel-follow{font-size:12.5px;font-weight:700;border:1px solid rgba(255,255,255,.6);border-radius:7px;padding:2px 9px;}
.ig-reel-cap{font-size:13.5px;margin-top:8px;line-height:1.4;}
.ig-reel-cap span{display:block;font-size:13px;opacity:.75;}
.ig-reel-next{margin-top:12px;font-size:13.5px;font-weight:700;opacity:.85;background:rgba(255,255,255,.12);border-radius:20px;padding:8px 15px;display:inline-block;cursor:pointer;}
/* 알림 */
.ig-actsec{font-size:14px;font-weight:800;padding:14px 16px 6px;color:#222;}
.ig-actrow{display:flex;align-items:center;gap:12px;padding:9px 16px;}
.ig-actav{width:44px;height:44px;border-radius:50%;background:#ffd6e6;display:flex;align-items:center;justify-content:center;font-size:19px;font-weight:800;color:#c0396a;flex-shrink:0;}
.ig-actb{flex:1;min-width:0;}
.ig-actt{font-size:13.5px;line-height:1.4;color:#222;}
.ig-actt b{font-weight:800;}
.ig-actt span{display:block;font-size:12.5px;color:#999;}
.ig-acttime{font-size:12.5px;color:#b0b0b0;margin-top:2px;}
.ig-actfollow{border:0;background:#0095f6;color:#fff;border-radius:8px;padding:6px 15px;font-size:14px;font-weight:700;cursor:pointer;flex-shrink:0;}
.ig-actfollow.done{background:#efefef;color:#222;}
.ig-actthumb{width:44px;height:44px;border-radius:7px;flex-shrink:0;}

/* ===== v371 剧情中途「잠깐 나가기」退出键(常驻剧情层之上) ===== */
.st-exitbtn{position:absolute;top:14px;right:12px;z-index:130;background:rgba(0,0,0,.55);backdrop-filter:blur(6px);color:#fff;font-size:13.5px;font-weight:700;padding:8px 13px;border-radius:20px;cursor:pointer;border:1px solid rgba(255,255,255,.18);box-shadow:0 4px 14px rgba(0,0,0,.4);}
.st-exitbtn:active{transform:scale(.96);}

/* ===== v373 美化:粉丝来信/签售/机票护照/经纪公司锁 ===== */
/* 粉丝来信:信封卡片 */
.lt{background:linear-gradient(180deg,#fff2f7,#ffe9f1);}
.lt-list{padding:6px 14px 20px;display:flex;flex-direction:column;gap:10px;}
.lt-row{border-radius:16px;border:1px solid #ffdfeb;border-bottom:1px solid #ffdfeb;background:#fff;padding:13px 14px;box-shadow:0 3px 10px rgba(255,120,160,.08);position:relative;overflow:hidden;}
.lt-row::before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;background:linear-gradient(180deg,#ff8fb3,#ff5e8a);}
.lt-row:active{background:#fff5f9;}
.lt-stamp{width:44px;height:44px;border-radius:12px;background:linear-gradient(135deg,#ffe0ec,#ffd0e2);display:flex;align-items:center;justify-content:center;font-size:22px;border:2px dashed #ffb3cd;flex-shrink:0;}
.lt-n{font-size:15px;font-weight:800;color:#2a1a22;display:flex;align-items:center;gap:6px;}
.lt-new{font-size:10.5px;font-weight:900;color:#fff;background:#ff2d6a;padding:1px 6px;border-radius:6px;}
.lt-meta{font-size:12.5px;color:#c99bb0;margin-top:2px;}
.lt-prev{font-size:14px;color:#8a7580;margin-top:5px;font-style:italic;}
.lt-go{color:#ffc0d5;font-size:20px;}
/* 签售 hero */
.fs{background:radial-gradient(120% 70% at 50% 0%,#3a1528,#160a12 75%);}
.fs-intro{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:78vh;padding:24px;text-align:center;gap:8px;}
.fs-icwrap{width:110px;height:110px;border-radius:50%;background:radial-gradient(circle,rgba(255,94,138,.35),transparent 70%);display:flex;align-items:center;justify-content:center;margin-bottom:6px;}
.fs-ic{font-size:56px;filter:drop-shadow(0 4px 12px rgba(255,94,138,.5));}
.fs-t{font-size:25px;font-weight:900;letter-spacing:1px;}
.fs-d{font-size:13.5px;line-height:1.7;color:#e6c6d4;opacity:.9;margin-top:6px;}
.fs-d span{display:block;font-size:13.5px;opacity:.7;margin-top:4px;}
.fs-queue{margin-top:16px;font-size:14px;font-weight:700;color:#ffb3cd;background:rgba(255,94,138,.12);border:1px solid rgba(255,94,138,.25);border-radius:20px;padding:9px 16px;}
.fs-queue b{color:#fff;}
.fs-start{max-width:260px;margin-top:20px;background:linear-gradient(135deg,#ff5e8a,#ff2d6a)!important;box-shadow:0 8px 22px rgba(255,45,106,.4)!important;}
/* 机票:护照卡 */
.fl-passport{margin:14px;border-radius:18px;background:linear-gradient(150deg,#2b5a8c,#1e3a5f);color:#fff;padding:16px;box-shadow:0 10px 28px rgba(30,58,95,.4);border:1px solid rgba(255,255,255,.12);}
.fl-pp-top{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid rgba(255,255,255,.18);padding-bottom:9px;margin-bottom:12px;}
.fl-pp-ttl{font-size:13.5px;font-weight:900;letter-spacing:2px;opacity:.85;}
.fl-pp-em{font-size:20px;}
.fl-pp-body{display:flex;gap:14px;align-items:center;}
.fl-pp-av{width:64px;height:78px;border-radius:8px;background:#dbe5f0 center/cover;display:flex;align-items:center;justify-content:center;font-size:30px;border:2px solid rgba(255,255,255,.5);flex-shrink:0;}
.fl-pp-nm{font-size:19px;font-weight:900;margin-bottom:8px;}
.fl-pp-row{display:flex;justify-content:space-between;font-size:14px;padding:3px 0;border-bottom:1px dotted rgba(255,255,255,.2);}
.fl-pp-row b{font-weight:800;}
.fl-pp-stamps{margin-top:12px;font-size:19px;letter-spacing:3px;background:rgba(255,255,255,.08);border-radius:10px;padding:8px 12px;text-align:center;}
.fl-worldbtn{width:calc(100% - 28px)!important;margin:0 14px 8px!important;background:linear-gradient(135deg,#3aa0ff,#6cd0ff)!important;}
.fl-empty{padding:30px 20px;text-align:center;color:#9a9aa8;font-size:14px;line-height:1.7;}
/* 经纪公司锁:进度条 */
.ag-lock{background:radial-gradient(120% 60% at 50% 0%,#2a2540,#15121f 78%);color:#fff;min-height:100%;}
.ag-lock-hero{text-align:center;padding:26px 20px 10px;}
.ag-lock-ic{font-size:52px;filter:drop-shadow(0 4px 14px rgba(138,107,216,.5));}
.ag-lock-t{font-size:20px;font-weight:900;margin-top:10px;}
.ag-lock-s{font-size:14px;opacity:.72;margin-top:6px;line-height:1.6;}
.ag-lock-card{margin:18px 18px 0;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.1);border-radius:18px;padding:18px;text-align:center;}
.ag-lock-lock{font-size:30px;}
.ag-lock-need{font-size:13px;font-weight:800;color:#c4b5fd;margin:8px 0 12px;}
.ag-lock-bar{height:12px;border-radius:7px;background:rgba(255,255,255,.12);overflow:hidden;}
.ag-lock-bar i{display:block;height:100%;border-radius:7px;background:linear-gradient(90deg,#a78bfa,#8b5cf6);box-shadow:0 0 12px rgba(139,92,246,.6);}
.ag-lock-num{font-size:14px;margin-top:10px;opacity:.85;}
.ag-lock-num b{font-size:16px;font-weight:900;color:#fff;}
.ag-lock-num span{color:#c4b5fd;font-weight:800;margin-left:6px;}
.ag-lock-road{margin:20px 18px;display:flex;flex-direction:column;gap:10px;}
.ag-lock-step{display:flex;align-items:center;gap:12px;font-size:13px;font-weight:600;color:#d8cfe8;background:rgba(255,255,255,.04);border-radius:12px;padding:11px 14px;}
.ag-lock-step span{width:24px;height:24px;border-radius:50%;background:rgba(139,92,246,.3);color:#c4b5fd;font-weight:900;display:flex;align-items:center;justify-content:center;font-size:13.5px;flex-shrink:0;}

/* ===== v375 公司房间全屏场景背景 ===== */
/* 录音棚 */
.stu{position:relative;}
.stu>*{position:relative;z-index:1;}
.stu-bg{position:absolute;inset:0;background:center/cover no-repeat;z-index:0!important;}
.stu-bgveil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(11,8,16,.52),rgba(11,8,16,.86));z-index:0!important;}
/* 합练(练舞室/声乐室)全屏 */
.pr-scene{position:relative;background:#15101e;}
.pr-scene>*{position:relative;z-index:1;}
.pr-scbg{position:absolute;inset:0;background:center/cover no-repeat;z-index:0!important;}
.pr-scveil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,12,26,.45),rgba(16,12,26,.9));z-index:0!important;}
.pr-scene .pr-bar{background:transparent;}
.pr-scene .pr-bar .ab-t,.pr-scene .pr-bar .ab-back{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.7);}
.pr-hero.glass{background:rgba(30,24,44,.5);backdrop-filter:blur(6px);border:1px solid rgba(255,255,255,.1);border-radius:16px;margin:12px 14px;padding:16px;color:#fff;}
.pr-hero.glass .pr-htitle{color:#fff;}
.pr-hero.glass .pr-hsub,.pr-hero.glass .pr-sta{color:#e0d6ee;}
.pr-scene .pr-list{padding:0 14px;}
.pr-scene .pr-card{background:rgba(28,22,40,.82);border:1px solid rgba(255,255,255,.08);}
.pr-scene .pr-n{color:#fff;}
.pr-scene .pr-g{color:#c3b6e0;}
/* 화장대(파우더룸)全屏场景 */
.mk-scene{position:relative;background:#15101e;}
.mk-scene>*{position:relative;z-index:1;}
.mk-scbg{position:absolute;inset:0;background:center/cover no-repeat;z-index:0!important;}
.mk-scveil{position:absolute;inset:0;background:linear-gradient(180deg,rgba(16,12,26,.4),rgba(16,12,26,.9));z-index:0!important;}
.mk-scene .mk-bar{background:transparent;}
.mk-scene .mk-bar .ab-t,.mk-scene .mk-bar .ab-back{color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.7);}
.mk-scene .mk-bar .ab-t i{color:#e0d6ee;}
.mk-scene .mk-cur{background:rgba(28,22,40,.72);backdrop-filter:blur(6px);color:#fff;}
.mk-scene .mk-cur.off{color:#cdbde6;}
.mk-scene .mk-item{background:rgba(28,22,40,.82);border:1px solid rgba(255,255,255,.08);}
.mk-scene .mk-n{color:#fff;}
.mk-scene .mk-tip{color:#bcaede;}
/* 打歌任务·房间场景横幅(候场室/造型间…) */
.pm-room{position:relative;height:96px;border-radius:14px;overflow:hidden;background:center/cover no-repeat;margin:-2px 0 2px;box-shadow:0 4px 14px rgba(0,0,0,.25);}
.pm-room-v{position:absolute;inset:0;background:linear-gradient(180deg,rgba(10,7,16,.15),rgba(10,7,16,.72));}
.pm-room-t{position:absolute;left:12px;bottom:9px;color:#fff;font-size:13.5px;font-weight:800;text-shadow:0 2px 8px rgba(0,0,0,.8);}
.tz-prep-note{background:rgba(255,120,160,.1);border:1px solid rgba(255,120,160,.28);border-radius:12px;padding:11px 13px;font-size:13.5px;color:#ffd0de;line-height:1.55;font-weight:600;}
.tz-prep-note b{color:#fff;}
.tz-prep-note span{display:inline-block;margin-top:4px;color:#c7bfe0;font-weight:700;font-size:13px;}
.tz-guide{margin:8px 10px 0;background:rgba(10,7,16,.72);border:1px solid rgba(255,255,255,.14);border-radius:14px;padding:9px 10px;backdrop-filter:blur(6px);z-index:6;position:relative;}
.tzg-steps{display:flex;align-items:stretch;justify-content:center;gap:2px;}
.tzg-step{flex:1;text-align:center;padding:6px 3px;border-radius:10px;opacity:.5;line-height:1.2;}
.tzg-step span{font-size:17px;display:block;}
.tzg-step b{display:block;font-size:12px;color:#fff;font-weight:800;margin-top:1px;}
.tzg-step i{display:block;font-size:9.5px;color:#c3b6e6;font-style:normal;}
.tzg-step.done{opacity:.85;}
.tzg-step.now{opacity:1;background:linear-gradient(120deg,rgba(255,94,138,.32),rgba(180,107,255,.24));border:1px solid rgba(255,140,190,.5);box-shadow:0 0 14px rgba(255,94,138,.3);}
.tzg-arr{align-self:center;color:#6b5f80;font-size:14px;font-weight:800;}
.tzg-cue{margin-top:7px;text-align:center;font-size:12.5px;font-weight:800;color:#ffd45e;letter-spacing:.2px;}
/* 🎤 打歌沉浸直播 */
.live-stage{position:absolute;inset:0;overflow:hidden;display:flex;flex-direction:column;background:#08060e;}
.lv-bg{position:absolute;inset:0;background:center/cover no-repeat;filter:brightness(.4);}
.lv-veil{position:absolute;inset:0;background:radial-gradient(120% 80% at 50% 100%, var(--c), transparent 70%);mix-blend-mode:screen;transition:opacity .25s;}
.lv-top{position:relative;z-index:3;display:flex;align-items:center;gap:8px;padding:12px 14px 6px;}
.lv-top .isc-back{font-size:24px;color:#fff;cursor:pointer;line-height:1;}
.lv-show{color:#fff;font-weight:800;font-size:16px;line-height:1.25;}
.lv-show i{display:block;font-style:normal;font-size:11.5px;color:#c9bfe4;font-weight:600;margin-top:1px;}
.lv-mid{position:relative;z-index:3;flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:0 22px;text-align:center;}
.lv-cue{color:#fff;font-weight:800;font-size:16px;text-shadow:0 2px 10px rgba(0,0,0,.6);}
.lv-gauge{width:100%;max-width:280px;height:14px;background:rgba(0,0,0,.5);border-radius:8px;overflow:hidden;border:1px solid rgba(255,255,255,.2);}
.lv-gauge-in{height:100%;border-radius:8px;transition:width .12s;box-shadow:0 0 12px currentColor;}
.lv-gv{color:#ffe1ec;font-weight:700;font-size:13px;}.lv-gv b{color:#fff;font-size:15px;}
.lv-ocean{position:relative;z-index:3;height:64px;margin:0 6px;overflow:hidden;}
.lv-stick{width:7px;height:24px;border-radius:4px;background:var(--c);box-shadow:0 0 8px var(--c);transition:opacity .15s;}
.lv-stk{position:absolute;width:5px;height:18px;border-radius:3px;animation:lvStk 1.05s ease-in-out infinite;animation-delay:var(--dl);transition:background .25s;}
@keyframes lvStk{0%,100%{transform:translateY(2px) scaleY(.9)}50%{transform:translateY(-3px) scaleY(1.1)}}
/* 应援色图例 */
.lv-legend{position:relative;z-index:4;display:flex;flex-wrap:wrap;gap:6px 10px;justify-content:center;padding:6px 14px 2px;}
.lv-leg{display:flex;align-items:center;gap:4px;font-size:11.5px;font-weight:700;color:#e8def5;text-shadow:0 1px 4px rgba(0,0,0,.7);}
.lv-leg-dot{width:11px;height:11px;border-radius:50%;box-shadow:0 0 6px 1px currentColor;}
.lv-leg.me{font-size:12.5px;color:#fff;}.lv-leg.me b{color:var(--myc);font-size:14px;margin-left:2px;}
/* 应援色占比 */
.lv-share{position:relative;z-index:4;height:11px;margin:4px 16px 0;border-radius:6px;overflow:hidden;background:linear-gradient(90deg,#ff4d6d,#5b8def,#ffb02e,#5fd6a0);box-shadow:0 1px 6px rgba(0,0,0,.5);}
.lv-share-in{height:100%;border-radius:6px;box-shadow:0 0 10px 1px var(--myc);transition:width .3s ease;}
.lv-share-t{position:relative;z-index:4;font-size:12.5px;font-weight:700;color:#fff;text-align:center;margin-top:5px;text-shadow:0 1px 6px rgba(0,0,0,.7);}
.lv-share-t b{color:var(--myc);font-size:15px;}.lv-share-t i{font-style:normal;opacity:.7;font-size:11px;margin-left:5px;}
/* 弹幕:左下角垂直往上 */
.lv-feed{position:absolute;left:12px;right:70px;bottom:150px;max-height:34%;z-index:5;display:flex;flex-direction:column;justify-content:flex-end;align-items:flex-start;gap:5px;overflow:hidden;pointer-events:none;}
.lv-msg{display:flex;align-items:center;gap:5px;background:rgba(8,5,16,.55);backdrop-filter:blur(2px);border-radius:13px;padding:5px 11px 5px 8px;max-width:100%;animation:lvIn .34s ease;}
.lvm-dot{width:8px;height:8px;border-radius:50%;flex-shrink:0;box-shadow:0 0 5px 1px currentColor;}
.lvm-nick{font-size:11.5px;font-weight:800;flex-shrink:0;}
.lvm-txt{font-size:12px;font-weight:600;color:#f0eaff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
@keyframes lvIn{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
/* 感言:聊天log + 输入 */
.lsp-log{position:relative;z-index:4;flex:1;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 14px 6px;display:flex;flex-direction:column;gap:9px;}
.lsp-row{display:flex;flex-direction:column;max-width:82%;}
.lsp-row.me{align-self:flex-end;align-items:flex-end;}
.lsp-row.them{align-self:flex-start;}
.lsp-nm{font-size:11px;font-weight:800;color:#ffd45e;margin:0 0 2px 4px;}
.lsp-bub{background:rgba(18,13,26,.9);border:1px solid rgba(255,255,255,.14);border-radius:6px 15px 15px 15px;padding:9px 13px;font-size:15px;font-weight:700;color:#fff;line-height:1.4;backdrop-filter:blur(4px);box-shadow:0 3px 12px rgba(0,0,0,.35);}
.lsp-bub span{display:block;font-size:12.5px;font-weight:500;color:#c8bfe0;margin-top:2px;}
.lsp-bub.me{background:linear-gradient(120deg,rgba(255,94,138,.95),rgba(212,18,74,.9));border-color:transparent;border-radius:15px 6px 15px 15px;}
.lsp-bottom{position:relative;z-index:5;padding-bottom:14px;}
.lv-tap{position:relative;z-index:3;margin:6px 18px 4px;padding:20px;border:none;border-radius:18px;background:linear-gradient(120deg,#ff5e8a,#d4124a);color:#fff;font-size:19px;font-weight:900;box-shadow:0 8px 26px rgba(255,46,116,.5);cursor:pointer;-webkit-tap-highlight-color:transparent;user-select:none;}
.lv-tap:active{transform:scale(.97);}
.lv-done{position:relative;z-index:3;margin:0 18px 18px;padding:13px;border:1px solid rgba(255,255,255,.28);border-radius:14px;background:rgba(20,14,28,.7);color:#cbbfe0;font-size:14px;font-weight:800;cursor:pointer;}
.lv-done.ready{border-color:#ffd45e;color:#ffd45e;box-shadow:0 0 16px rgba(255,212,94,.35);}
.live-stage.vote .lvv-board{position:relative;z-index:3;flex:1;overflow-y:auto;padding:6px 14px;display:flex;flex-direction:column;gap:9px;}
.lvv-row{display:flex;align-items:center;gap:10px;background:rgba(14,9,22,.66);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:9px 12px;}
.lvv-row.me{background:linear-gradient(120deg,rgba(255,94,138,.28),rgba(180,107,255,.2));border-color:rgba(255,140,190,.5);}
.lvv-rk{font-size:17px;font-weight:900;color:#ffd45e;min-width:22px;text-align:center;}
.lvv-body{flex:1;min-width:0;}
.lvv-nm{color:#fff;font-weight:800;font-size:13.5px;}.lvv-nm i{font-style:normal;color:#ffd0e2;font-size:11px;}
.lvv-bar{height:8px;background:rgba(0,0,0,.4);border-radius:5px;overflow:hidden;margin-top:4px;}
.lvv-bar-in{height:100%;border-radius:5px;transition:width .1s;}
.lvv-v{font-size:13px;font-weight:800;color:#e8dff5;min-width:52px;text-align:right;font-variant-numeric:tabular-nums;}
.lvv-note{position:relative;z-index:3;text-align:center;padding:10px;font-size:13px;font-weight:800;color:#ffd45e;}
.lv-enc-ocean{display:flex;flex-wrap:wrap;gap:3px;justify-content:center;margin-bottom:4px;}
.prod-next{background:linear-gradient(120deg,#ff5e8a,#d4124a)!important;box-shadow:0 6px 20px rgba(255,46,116,.42)!important;font-size:16px!important;font-weight:900!important;}
.prod-next-hint{text-align:center;font-size:11.5px;color:#ff9bb5;margin:2px 15px 4px;font-weight:700;}
