/* ===== Mediaverse interactive demos ===== */
.mv-demo{margin:46px auto 0;max-width:1280px;border:1px solid var(--line);border-radius:24px;padding:36px}
@media(max-width:480px){.mv-demo{padding:20px 16px;border-radius:16px}}
.mv-tabs{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:30px;justify-content:center}
.mv-tab{font-family:'Sora';font-weight:600;font-size:13px;color:#aab2cc;padding:10px 18px;border-radius:999px;
 border:1px solid var(--line);background:var(--panel);cursor:pointer;transition:all .22s}
.mv-tab:hover{color:#fff;border-color:rgba(155,110,255,.4)}
.mv-tab.act{color:#fff;background:rgba(255,255,255,.09);border-color:rgba(255,255,255,0);box-shadow:none}
.mv-stage{display:grid;grid-template-columns:300px 520px;gap:65px;align-items:center;justify-content:center}
@media(max-width:980px){.mv-stage{grid-template-columns:1fr;gap:34px;justify-items:center}}

/* phone */
.mv-phone{position:relative;width:min(300px,86vw);height:clamp(500px,160vw,610px);border-radius:42px;border:1px solid rgba(255,255,255,.16);
 background:#0c0a1d;box-shadow:0 30px 80px rgba(0,0,0,.6),inset 0 0 0 7px #050410;overflow:hidden;flex:none}
.mv-phone .notch{position:absolute;left:50%;top:11px;transform:translateX(-50%);width:104px;height:22px;border-radius:13px;background:#050410;z-index:8}
.mv-screen{position:absolute;inset:7px;border-radius:35px;overflow:hidden;background:linear-gradient(180deg,#141031,#0a0820)}

/* generic app scaffold inside screen */
.d-app{position:absolute;inset:0;padding:46px 20px 18px;display:flex;flex-direction:column;color:#eef0f7}
.d-app.game{padding:0}
.d-app.pb .d-foot{margin-bottom:62px}
.d-top{font-family:'Sora';font-size:10px;letter-spacing:.16em;text-transform:uppercase;color:#8f97b8;text-align:center}
.d-art{margin:14px auto 0;width:150px;height:150px;border-radius:20px;background:linear-gradient(35deg,#0b77fd,#735edf 55%,#d746c5);
 display:grid;place-items:center;box-shadow:0 16px 36px rgba(80,60,200,.4)}
.d-art.alt{background:linear-gradient(35deg,#d746c5,#735edf 55%,#0b77fd)}
.d-art svg{width:70px;height:70px}
.d-song{margin-top:14px;text-align:center}
.d-song .t1{font-family:'Sora';font-weight:700;font-size:16px}
.d-song .t2{margin-top:3px;font-size:11.5px;color:#8f97b8}
.d-eq{margin-top:14px;height:50px;display:flex;align-items:center;justify-content:center;gap:4px}
.d-eq.small{height:34px}
.d-eq i{display:block;width:5px;height:6px;border-radius:3px;background:linear-gradient(180deg,#2b8cff,#d746c5);transition:height .07s}
.d-caps{margin-top:10px;min-height:38px;display:grid;place-items:center;text-align:center;padding:0 6px}
.d-caps span{font-family:'Sora';font-weight:700;font-size:13.5px;line-height:1.35;display:block;opacity:0;transform:translateY(8px);
 transition:opacity .4s,transform .4s;background:linear-gradient(92deg,#9ec7ff,#e3b8ff 55%,#ffb3dd);-webkit-background-clip:text;background-clip:text;color:transparent}
.d-caps span.show{opacity:1;transform:none}
.d-foot{margin-top:auto;display:flex;align-items:center;gap:12px}
.d-foot.tight{margin-top:14px}
.d-ring{position:relative;width:70px;height:70px;flex:none}
.d-ring.sm{width:54px;height:54px}.d-ring.sm svg{width:54px;height:54px}
.d-ring .pct{position:absolute;inset:0;display:grid;place-items:center;font-family:'Sora';font-weight:700;font-size:13px}
.d-ring.sm .pct{font-size:11px}
.d-meta .m1{font-family:'Sora';font-weight:700;font-size:13px}
.d-meta .m2{margin-top:3px;font-size:10.5px;color:#8f97b8;line-height:1.5}
.d-skip{margin-left:auto;font-family:'Sora';font-weight:600;font-size:11px;color:#cbd2ea;background:rgba(255,255,255,.08);
 border:1px solid var(--line);border-radius:999px;padding:7px 13px;cursor:pointer;transition:all .2s}
.d-skip:disabled{opacity:.4;cursor:default}
.d-skip:not(:disabled):hover{background:rgba(255,255,255,.16)}

/* companion banner */
.d-banner{position:absolute;left:13px;right:13px;bottom:13px;transform:translateY(130%);transition:transform .55s cubic-bezier(.2,.8,.3,1);
 background:linear-gradient(92deg,#0b77fd,#735edf 55%,#d746c5);border-radius:13px;padding:11px 13px;display:flex;align-items:center;gap:10px;
 box-shadow:0 12px 30px rgba(0,0,0,.5);cursor:pointer;z-index:6}
.d-banner.onb{transform:translateY(0)}
.d-banner.clicked{outline:2px solid #fff;outline-offset:2px}
.d-banner .bt{font-family:'Sora';font-weight:700;font-size:12px;color:#fff}
.d-banner .bs{font-size:10px;color:rgba(255,255,255,.85)}
.d-banner .ar{margin-left:auto;font-weight:700;color:#fff}

/* in-game */
.d-gamehud{display:flex;justify-content:space-between;padding:46px 18px 8px;font-family:'Sora';font-weight:700;font-size:12px;color:#cbd2ea}
.d-gamehud .lvl{color:#9d8bff}
#gcanvas{display:block;width:100%;height:248px;background:radial-gradient(circle at 50% 30%,#1a1340,#0a0820)}
.d-gamehint{position:absolute;top:120px;left:18px;right:18px;text-align:center;font-size:12px;line-height:1.5;color:#cbd2ea;
 background:rgba(8,6,24,.7);border:1px solid var(--line);border-radius:12px;padding:12px}
.d-adstrip{position:absolute;left:13px;right:13px;bottom:13px;display:flex;align-items:center;gap:10px;transform:translateY(150%);
 transition:transform .5s cubic-bezier(.2,.8,.3,1);background:rgba(16,13,34,.92);border:1px solid rgba(155,110,255,.4);
 border-radius:13px;padding:10px 12px;backdrop-filter:blur(6px);z-index:6}
.d-adstrip.show{transform:translateY(0)}
.d-adstrip.reward{border-color:rgba(80,220,150,.6);background:rgba(20,40,30,.92)}
.d-adstrip-ic{width:30px;height:30px;border-radius:8px;background:linear-gradient(35deg,#0b77fd,#d746c5);display:grid;place-items:center;flex:none}
.d-adstrip-ic svg{width:18px;height:18px}
.d-adstrip-tx .bt{font-family:'Sora';font-weight:700;font-size:11.5px}
.d-adstrip-tx .bs{font-size:10px;color:#9aa3bd;margin-top:2px}
.d-adstrip .d-ring{margin-left:auto}

/* contextual signals */
.d-signals{margin-top:12px;display:grid;grid-template-columns:1fr 1fr;gap:7px;overflow-y:auto}
.sigcell{border:1px solid var(--line);border-radius:9px;padding:7px 9px;background:rgba(255,255,255,.03);opacity:.32;
 transform:translateY(4px);transition:all .35s}
.sigcell.on{opacity:1;transform:none;border-color:rgba(155,110,255,.45);background:rgba(115,94,224,.12)}
.sigcell .sk{display:block;font-size:10px;letter-spacing:.08em;text-transform:uppercase;color:#8f97b8}
.sigcell .sv{display:block;font-family:'Sora';font-weight:700;font-size:11.5px;margin-top:2px}

/* interstitial */
.d-appbg{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;padding-top:46px}
.d-levelcard{margin-top:120px;text-align:center;font-family:'Sora';font-weight:600;font-size:16px;color:#cbd2ea;line-height:1.8}
.d-levelcard b{font-size:22px;color:#ffd36b}
.d-inter{position:absolute;inset:0;background:linear-gradient(160deg,#15112e,#0a0820);display:flex;flex-direction:column;
 align-items:center;justify-content:center;text-align:center;padding:30px 24px;opacity:0;visibility:hidden;transition:opacity .4s;z-index:7}
.d-inter.show{opacity:1;visibility:visible}
.d-inter.gone{opacity:0;visibility:hidden}
.d-inter-close{position:absolute;top:16px;right:16px;font-size:13px;color:#9aa3bd;background:rgba(0,0,0,.4);border:1px solid var(--line);
 border-radius:999px;padding:6px 11px;cursor:not-allowed;font-family:'Sora';font-weight:700}
.d-inter-close.ready{color:#fff;cursor:pointer;border-color:rgba(255,255,255,.4)}
.d-inter-art{width:96px;height:96px;border-radius:22px;background:linear-gradient(35deg,#0b77fd,#735edf 55%,#d746c5);
 display:grid;place-items:center;box-shadow:0 16px 40px rgba(80,60,200,.5)}
.d-inter-art svg{width:48px;height:48px}
.d-inter-h{margin-top:20px;font-family:'Sora';font-weight:700;font-size:21px}
.d-inter-p{margin-top:12px;font-size:13px;line-height:1.6;color:#b9c0d6;max-width:230px}
.d-inter-cta{margin-top:20px;font-family:'Sora';font-weight:700;font-size:14px;color:#06060d;background:var(--grad);
 border:0;border-radius:999px;padding:13px 26px;cursor:pointer;box-shadow:0 8px 26px rgba(115,94,224,.45)}
.d-inter-prog{position:absolute;left:0;right:0;bottom:0;height:4px;background:rgba(255,255,255,.1)}
.d-inter-prog i{display:block;height:100%;width:0;background:var(--grad)}

/* rewarded */
.d-rv{position:absolute;inset:0}
.d-rv-offer,.d-rv-play,.d-rv-done{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;
 text-align:center;padding:30px 24px;transition:opacity .4s}
.d-rv-play,.d-rv-done{opacity:0;visibility:hidden}
.d-rv-play.show,.d-rv-done.show{opacity:1;visibility:visible}
.d-rv-offer.gone{opacity:0;visibility:hidden}
.d-rv-coin{font-size:54px}.d-rv-coin.big{font-size:64px;animation:pop .5s}
@keyframes pop{0%{transform:scale(.4)}60%{transform:scale(1.15)}100%{transform:scale(1)}}
.d-rv-h{margin-top:14px;font-family:'Sora';font-weight:700;font-size:20px}
.d-rv-p{margin-top:10px;font-size:13px;line-height:1.6;color:#b9c0d6;max-width:230px}
.d-rv-screen{width:100%;height:220px;border-radius:16px;background:linear-gradient(35deg,#10204a,#2a1450);display:flex;
 flex-direction:column;align-items:center;justify-content:center;gap:18px}
.d-rv-screen svg{width:64px;height:64px}
.d-rv-eq{display:flex;align-items:center;gap:3px;height:44px}
.d-rv-eq i{width:5px;height:6px;border-radius:3px;background:linear-gradient(180deg,#2b8cff,#d746c5);transition:height .07s}
.d-rv-bar{margin-top:18px;width:100%;height:6px;border-radius:4px;background:rgba(255,255,255,.12);overflow:hidden}
.d-rv-bar i{display:block;height:100%;width:0;background:var(--grad)}
.d-rv-status{margin-top:12px;font-family:'Sora';font-weight:600;font-size:12px;color:#cbd2ea}

/* control / live side */
.mv-ctl{max-width:520px}
.mv-ctl .mv-title{font-size:25px;font-weight:700;font-family:'Sora';letter-spacing:-.02em}
.mv-ctl .mv-desc{margin-top:14px;font-size:15px;line-height:1.75;color:#b9c0d6}
.mv-ctl .mv-desc b{color:#fff}
.mv-play{margin-top:24px;display:inline-flex;align-items:center;gap:10px;font-family:'Sora';font-weight:700;font-size:15px;
 color:#06060d;background:var(--grad);border:0;padding:15px 28px;border-radius:999px;cursor:pointer;
 box-shadow:0 10px 34px rgba(115,94,224,.45);transition:transform .2s,box-shadow .2s}
.mv-play:hover{transform:translateY(-2px);box-shadow:0 16px 44px rgba(215,70,197,.55)}
.mv-play.hidden{display:none}
.mv-stat{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap}
.mv-statcell{border:1px solid var(--line);border-radius:12px;padding:12px 16px;background:var(--panel);min-width:120px}
.mv-statcell .v{font-family:'Sora';font-weight:700;font-size:18px;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.mv-statcell .t{margin-top:3px;font-size:10.5px;color:var(--muted);text-transform:uppercase;letter-spacing:.05em}
.mv-live{margin-top:22px;display:flex;gap:12px;flex-wrap:wrap;min-height:84px}
.mv-livecell{position:relative;border:1px solid rgba(155,110,255,.45);border-radius:14px;padding:14px 18px;min-width:118px;
 background:linear-gradient(160deg,rgba(115,94,224,.16),rgba(215,70,197,.07));overflow:hidden;
 box-shadow:0 6px 22px rgba(80,50,180,.18),inset 0 1px 0 rgba(255,255,255,.08)}
.mv-livecell::before{content:"";position:absolute;left:0;top:0;bottom:0;width:3px;background:var(--grad)}
.mv-livecell .lv{font-family:'Sora';font-weight:800;font-size:26px;line-height:1;letter-spacing:-.02em;
 background:linear-gradient(180deg,#ffffff,#cdd6f6);-webkit-background-clip:text;background-clip:text;color:transparent}
.mv-livecell .lk{margin-top:7px;font-size:10px;color:#c3b6f0;text-transform:uppercase;letter-spacing:.1em;font-weight:600}
.mv-livecell.bump{animation:livebump .42s cubic-bezier(.2,.9,.3,1)}
@keyframes livebump{0%{transform:scale(1)}40%{transform:scale(1.07);border-color:rgba(255,120,220,.85);
 box-shadow:0 8px 28px rgba(215,70,197,.4)}100%{transform:scale(1)}}
.mv-live-label{width:100%;font-family:'Sora';font-size:10px;font-weight:600;letter-spacing:.18em;text-transform:uppercase;
 color:#8a7fc0;margin-bottom:-2px;display:flex;align-items:center;gap:7px}
.mv-live-label .liveband{display:inline-flex;align-items:center;gap:5px;color:#ff7ad0}
.mv-live-label .ld{width:7px;height:7px;border-radius:50%;background:#ff5fae;box-shadow:0 0 10px #ff5fae;animation:pulse 1.6s infinite}
.mv-note{margin-top:16px;font-size:11.5px;color:var(--dim);line-height:1.5}
