@import url('https://fonts.googleapis.com/css2?family=Boogaloo&family=Nunito:wght@400;700;800;900&display=swap');
*{box-sizing:border-box;margin:0;padding:0}
:root{
  --hot:#FF3B6B;--pur:#7B2FFF;--gold:#C9A84C;--g2:#F0D080;--g3:#8B6914;
  --live:#22C55E;--ora:#FF6B00;--cyan:#00C9C9;
  --bg:#F7F7F5;--surf:#fff;--s2:#F2F2EF;--s3:#EAEAE7;
  --bd:rgba(0,0,0,0.08);--bd2:rgba(0,0,0,0.14);
  --t1:#0F0F0F;--t2:#555;--t3:#999;
  /* legacy tokens (kept for existing rules) */
  --card:var(--surf);--chip:var(--s2);--nav:var(--surf);
  --shell-pad:clamp(8px,2.4vw,40px);
  --app-max-fluid:min(1920px,calc(100vw - var(--shell-pad) * 2));
}
.dk{
  --bg:#0A0A14;--surf:#16162A;--s2:#1E1E32;--s3:#24243A;
  --bd:rgba(255,255,255,0.08);--bd2:rgba(255,255,255,0.15);
  --t1:#F0F0F8;--t2:rgba(255,255,255,0.55);--t3:rgba(255,255,255,0.3);
  --card:var(--surf);--chip:var(--s2);--nav:var(--surf);
}
body{background:var(--bg);font-family:'Nunito',sans-serif;color:var(--t1)}
.site-body{margin:0;min-height:100vh;background:var(--bg);padding:clamp(10px,2.2vw,28px) var(--shell-pad)}
.app{font-family:'Nunito',sans-serif;background:var(--bg);color:var(--t1);border-radius:clamp(14px,1.2vw,22px);overflow:hidden;transition:background .2s,color .2s,box-shadow .2s,max-width .2s;width:100%;max-width:min(100%,560px);margin:0 auto;box-shadow:0 10px 30px rgba(0,0,0,.12);border:1px solid var(--bd)}
.dk .app{box-shadow:0 16px 56px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.05)}
.topbar{display:flex;align-items:center;justify-content:space-between;padding:10px 13px;background:var(--nav);border-bottom:1px solid var(--bd);position:sticky;top:0;z-index:30}
.logo{display:flex;align-items:center;gap:6px;cursor:pointer;text-decoration:none;color:var(--t1);font-family:'Boogaloo',cursive;font-size:20px}
.logo span{color:var(--hot)}.logo em{color:var(--pur);font-style:normal}
.topbar-r{display:flex;gap:5px;align-items:center}
.ib{background:none;border:none;cursor:pointer;padding:6px;border-radius:8px;color:var(--t1);display:flex;align-items:center;transition:background .15s}
.ib:hover{background:rgba(128,128,128,.1)}
.page{display:none;padding-bottom:68px}
.page.on{display:block}
/* STORIES BAR */
.sbar{display:flex;gap:9px;padding:10px 13px 6px;overflow-x:auto}
.sbar::-webkit-scrollbar{display:none}
.si{display:flex;flex-direction:column;align-items:center;gap:3px;cursor:pointer;flex-shrink:0}
.sring{width:52px;height:52px;border-radius:50%;padding:2.5px;display:flex;align-items:center;justify-content:center}
.sring.live{background:linear-gradient(135deg,var(--hot),var(--pur))}
.sring.seen{background:linear-gradient(135deg,#ccc,#999)}
.sinner{width:100%;height:100%;border-radius:50%;border:2.5px solid var(--bg);display:flex;align-items:center;justify-content:center;font-size:20px;background:#f0f0f0;transition:border-color .2s}
.dk .sinner{background:#333}
.sname{font-size:10px;font-weight:700;color:var(--t2);max-width:54px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:center}
/* SECTION LABELS */
.slbl{font-size:10px;font-weight:800;text-transform:uppercase;letter-spacing:.7px;color:var(--t3);padding:10px 13px 5px;display:flex;align-items:center;justify-content:space-between}
.slbl a{font-size:11px;color:var(--hot);cursor:pointer;text-transform:none;letter-spacing:0;font-weight:700}
.ldot{width:6px;height:6px;border-radius:50%;background:var(--live);display:inline-block;animation:blink 1.3s infinite;margin-right:4px}
@keyframes blink{0%,100%{opacity:1}50%{opacity:.2}}
/* POST CARDS */
.post{background:var(--card);border-bottom:1px solid var(--bd)}
.post-head{display:flex;align-items:center;gap:9px;padding:10px 13px 6px}
.pav{width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:17px;background:var(--chip);flex-shrink:0;cursor:pointer}
.pav.live-ring{outline:2.5px solid var(--hot);outline-offset:2px}
.pname{font-size:13px;font-weight:800;color:var(--t1);cursor:pointer}
.phandle{font-size:11px;color:var(--t3)}
.ptime{font-size:11px;color:var(--t3);margin-left:auto}
.pthumb{width:100%;height:200px;display:flex;align-items:center;justify-content:center;font-size:60px;background:var(--chip);position:relative;cursor:pointer}
.locked-overlay{position:absolute;inset:0;background:rgba(0,0,0,.45);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}
.locked-overlay i{font-size:28px;color:#fff}
.locked-overlay span{font-size:12px;color:rgba(255,255,255,.85);font-weight:700}
.locked-overlay button{background:var(--hot);border:none;color:#fff;font-family:'Nunito',sans-serif;font-size:12px;font-weight:800;padding:6px 14px;border-radius:20px;cursor:pointer;margin-top:4px}
.pcap{padding:8px 13px 6px;font-size:13px;color:var(--t1);line-height:1.45}
.pactions{display:flex;gap:0;border-top:1px solid var(--bd)}
.pact{flex:1;display:flex;align-items:center;justify-content:center;gap:5px;padding:9px 0;font-size:12px;font-weight:700;color:var(--t2);background:none;border:none;cursor:pointer;font-family:'Nunito',sans-serif;border-right:1px solid var(--bd);transition:color .15s}
.pact:last-child{border-right:none}
.pact:hover{color:var(--hot)}
.pact.liked{color:var(--hot)}
.pact i{font-size:17px}
/* COMMENTS */
.comments{padding:8px 13px 10px;border-top:1px solid var(--bd)}
.cmt{display:flex;gap:8px;margin-bottom:8px}
.cav{width:28px;height:28px;border-radius:50%;background:var(--chip);display:flex;align-items:center;justify-content:center;font-size:13px;flex-shrink:0}
.cbody{background:var(--chip);border-radius:12px;padding:6px 10px;flex:1}
.cname{font-size:11px;font-weight:800;color:var(--t1)}
.ctxt{font-size:12px;color:var(--t2);line-height:1.4}
.ctime{font-size:10px;color:var(--t3);margin-top:2px}
.add-cmt{display:flex;gap:8px;align-items:center;margin-top:4px}
.cmt-input{flex:1;background:var(--chip);border:1px solid var(--bd);border-radius:20px;padding:7px 12px;font-size:13px;font-family:'Nunito',sans-serif;color:var(--t1);outline:none}
.cmt-send{background:var(--hot);border:none;border-radius:50%;width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.cmt-send i{font-size:16px;color:#fff}
/* LIVE STRIP */
.live-strip{display:flex;gap:8px;padding:0 13px 6px;overflow-x:auto}
.live-strip::-webkit-scrollbar{display:none}
.lcard{min-width:86px;flex-shrink:0;border-radius:12px;overflow:hidden;border:1px solid var(--bd);background:var(--card);cursor:pointer}
.lthumb{height:66px;display:flex;align-items:center;justify-content:center;font-size:24px;position:relative}
.lbadge{position:absolute;top:4px;left:4px;background:var(--live);color:#fff;font-size:8px;font-weight:800;padding:2px 4px;border-radius:4px}
.lviewers{position:absolute;bottom:4px;right:4px;background:rgba(0,0,0,.55);color:#fff;font-size:9px;font-weight:700;padding:2px 4px;border-radius:4px}
.luname{font-size:10px;font-weight:800;padding:4px 6px;color:var(--t2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* TICKET OFFERS STRIP */
.offers-strip{display:flex;gap:8px;padding:0 13px 8px;overflow-x:auto}
.offers-strip::-webkit-scrollbar{display:none}
.offer-mini{min-width:160px;flex-shrink:0;background:var(--card);border:1px solid var(--bd);border-radius:12px;overflow:hidden;cursor:pointer}
.om-thumb{height:70px;display:flex;align-items:center;justify-content:center;font-size:28px;position:relative}
.om-badge{position:absolute;top:5px;right:5px;font-size:8px;font-weight:800;padding:2px 6px;border-radius:8px;color:#fff}
.om-body{padding:8px 9px}
.om-title{font-size:12px;font-weight:800;color:var(--t1);line-height:1.2;margin-bottom:3px}
.om-row{display:flex;justify-content:space-between;align-items:center}
.om-price{font-size:12px;font-weight:800;color:var(--hot)}
.om-pool{font-size:10px;color:var(--t3);font-weight:700}
.om-prog{height:3px;background:var(--bd);border-radius:2px;margin-top:5px;overflow:hidden}
.om-progf{height:100%;background:var(--hot);border-radius:2px}
/* CREATOR PROFILE PAGE */
.cp-cover{height:120px;display:flex;align-items:center;justify-content:center;font-size:50px;position:relative;background:var(--chip)}
.cp-av-wrap{position:absolute;bottom:-28px;left:13px}
.cp-av-big{width:60px;height:60px;border-radius:50%;border:3px solid var(--bg);display:flex;align-items:center;justify-content:center;font-size:28px;background:var(--chip);transition:border-color .2s}
.cp-info{padding:36px 13px 12px}
.cp-name{font-size:18px;font-weight:800;font-family:'Boogaloo',cursive;color:var(--t1);line-height:1}
.cp-handle{font-size:12px;color:var(--t3);margin:2px 0 5px}
.cp-bio{font-size:13px;color:var(--t2);line-height:1.45;margin-bottom:10px}
.cp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;margin-bottom:12px}
.cps{background:var(--chip);border-radius:10px;padding:8px;text-align:center}
.cps-v{font-size:15px;font-weight:800;color:var(--t1);font-family:'Boogaloo',cursive}
.cps-l{font-size:9px;color:var(--t3);font-weight:700;text-transform:uppercase;letter-spacing:.4px}
.cp-btns{display:flex;gap:7px;margin-bottom:4px}
.btn-follow{flex:1;padding:10px;background:var(--hot);border:none;border-radius:10px;color:#fff;font-family:'Boogaloo',cursive;font-size:16px;cursor:pointer;transition:opacity .15s}
.btn-follow:hover{opacity:.85}
.btn-follow.following{background:var(--chip);color:var(--t2);border:1px solid var(--bd)}
.btn-tip{flex:none;padding:10px 14px;background:rgba(201,168,76,.12);border:1px solid rgba(201,168,76,.3);border-radius:10px;color:var(--g3);font-family:'Nunito',sans-serif;font-size:13px;font-weight:800;cursor:pointer}
.dk .btn-tip{color:var(--g2)}
.btn-msg{flex:none;padding:10px 14px;background:var(--chip);border:1px solid var(--bd);border-radius:10px;color:var(--t2);font-family:'Nunito',sans-serif;font-size:13px;font-weight:800;cursor:pointer}
.cp-tabs{display:flex;border-bottom:1px solid var(--bd)}
.cp-tab{flex:1;padding:10px 0;font-size:12px;font-weight:800;text-align:center;cursor:pointer;color:var(--t3);border-bottom:2px solid transparent;transition:all .15s;background:none;border-top:none;border-left:none;border-right:none;font-family:'Nunito',sans-serif}
.cp-tab.on{color:var(--hot);border-bottom-color:var(--hot)}
.cp-tab-content{display:none;padding:0}
.cp-tab-content.on{display:block}
/* SUB TIERS */
.sub-tier{display:flex;align-items:center;gap:10px;background:var(--chip);border-radius:12px;padding:12px;margin:0 13px 8px;cursor:pointer;border:1.5px solid transparent;transition:border-color .15s}
.sub-tier:hover,.sub-tier.best{border-color:var(--hot)}
.sub-tier.best{background:rgba(255,59,107,.05)}
.dk .sub-tier.best{background:rgba(255,59,107,.1)}
.sub-icon{font-size:22px;flex-shrink:0}
.sub-name{font-size:13px;font-weight:800;color:var(--t1)}
.sub-perks{font-size:11px;color:var(--t2);line-height:1.35;margin-top:2px}
.sub-price{font-size:15px;font-weight:800;color:var(--hot);flex-shrink:0;margin-left:auto}
.best-badge{display:inline-block;background:var(--hot);color:#fff;font-size:9px;font-weight:800;padding:2px 6px;border-radius:8px;margin-left:6px;vertical-align:middle}
/* STORE */
.store-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:10px 13px}
.store-item{background:var(--card);border:1px solid var(--bd);border-radius:12px;overflow:hidden;cursor:pointer}
.si-thumb{height:100px;display:flex;align-items:center;justify-content:center;font-size:38px;background:var(--chip)}
.si-body{padding:8px 9px}
.si-name{font-size:12px;font-weight:800;color:var(--t1);margin-bottom:3px}
.si-desc{font-size:11px;color:var(--t3);margin-bottom:5px}
.si-price{font-size:14px;font-weight:800;color:var(--t1)}
.si-add{float:right;background:var(--hot);border:none;border-radius:6px;color:#fff;font-size:11px;font-weight:800;padding:4px 9px;cursor:pointer;font-family:'Nunito',sans-serif}
/* LIVE PAGE */
.live-page{background:#000;color:#fff;min-height:500px;position:relative}
.lp-video{height:320px;background:#111;display:flex;align-items:center;justify-content:center;font-size:60px;position:relative}
.lp-overlay-top{position:absolute;top:0;left:0;right:0;display:flex;align-items:center;justify-content:space-between;padding:10px 13px}
.lp-overlay-top .logo{color:#fff}
.lp-overlay-top .logo span{color:#FFD600}
.lp-overlay-top .logo em{color:#BF9FFF}
.lp-badge{background:var(--live);color:#fff;font-size:10px;font-weight:800;padding:3px 8px;border-radius:6px;display:flex;align-items:center;gap:4px}
.lp-viewers-badge{background:rgba(0,0,0,.6);color:#fff;font-size:11px;font-weight:700;padding:3px 8px;border-radius:6px}
.lp-creator{display:flex;align-items:center;gap:8px;padding:10px 13px;background:#000;border-bottom:1px solid rgba(255,255,255,.08)}
.lp-cav{width:38px;height:38px;border-radius:50%;background:#222;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0;border:2px solid var(--hot)}
.lp-cname{font-size:14px;font-weight:800;color:#fff}
.lp-chandl{font-size:11px;color:rgba(255,255,255,.4)}
.lp-follow-btn{margin-left:auto;background:var(--hot);border:none;color:#fff;font-family:'Nunito',sans-serif;font-size:12px;font-weight:800;padding:7px 14px;border-radius:8px;cursor:pointer}
.lp-tip-btn{background:rgba(201,168,76,.2);border:1px solid rgba(201,168,76,.4);color:var(--g2);font-family:'Nunito',sans-serif;font-size:12px;font-weight:800;padding:7px 12px;border-radius:8px;cursor:pointer;margin-left:6px}
.lp-chat{height:160px;overflow-y:auto;padding:8px 13px;background:#000;display:flex;flex-direction:column;gap:5px}
.lp-chat::-webkit-scrollbar{display:none}
.lc-msg{font-size:12px;line-height:1.35}
.lc-name{font-weight:800;margin-right:4px}
.lc-name.host{color:var(--hot)}
.lc-name.gold{color:#FFD600}
.lc-gift{background:rgba(255,214,0,.15);border-radius:8px;padding:4px 8px;font-size:11px;font-weight:700;color:#FFD600;display:inline-flex;align-items:center;gap:4px}
.lp-chat-input{display:flex;gap:8px;padding:8px 13px;background:#111;border-top:1px solid rgba(255,255,255,.08)}
.lp-cinput{flex:1;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12);border-radius:20px;padding:8px 12px;font-size:13px;font-family:'Nunito',sans-serif;color:#fff;outline:none}
.lp-csend{background:var(--hot);border:none;border-radius:50%;width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0}
.lp-csend i{font-size:18px;color:#fff}
.lp-gifts{display:flex;gap:8px;padding:8px 13px;background:#111;overflow-x:auto}
.lp-gifts::-webkit-scrollbar{display:none}
.gift-btn{background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.1);border-radius:10px;padding:6px 10px;cursor:pointer;font-size:11px;font-weight:800;color:rgba(255,255,255,.7);font-family:'Nunito',sans-serif;white-space:nowrap;flex-shrink:0;display:flex;align-items:center;gap:4px;transition:border-color .15s}
.gift-btn:hover{border-color:#FFD600;color:#FFD600}
/* EXPLORE / MAP */
.map-placeholder{height:180px;background:var(--chip);border-radius:0;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:700;color:var(--t3);position:relative;overflow:hidden}
.map-grid-lines{position:absolute;inset:0;opacity:.15;background-image:linear-gradient(var(--t3) 1px,transparent 1px),linear-gradient(90deg,var(--t3) 1px,transparent 1px);background-size:28px 28px}
.map-pin{position:absolute;font-size:18px;cursor:pointer;animation:float 2s infinite ease-in-out}
@keyframes float{0%,100%{transform:translateY(0)}50%{transform:translateY(-4px)}}
.map-lbl{position:absolute;bottom:8px;left:50%;transform:translateX(-50%);background:rgba(0,0,0,.65);color:#fff;font-size:11px;font-weight:700;padding:4px 12px;border-radius:20px}
.explore-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;padding:0 13px}
.eg-card{background:var(--card);border:1px solid var(--bd);border-radius:12px;overflow:hidden;cursor:pointer;transition:transform .1s}
.eg-card:active{transform:scale(.97)}
.eg-thumb{height:90px;display:flex;align-items:center;justify-content:center;font-size:34px;position:relative}
.eg-badge{position:absolute;top:6px;right:6px;font-size:9px;font-weight:800;padding:2px 6px;border-radius:8px;color:#fff}
.eg-body{padding:8px 9px 9px}
.eg-creator{font-size:10px;color:var(--t3);font-weight:700}
.eg-title{font-size:12px;font-weight:800;color:var(--t1);line-height:1.25;margin-bottom:4px}
.eg-row{display:flex;justify-content:space-between;align-items:center}
.eg-price{font-size:12px;font-weight:800;color:var(--hot)}
.eg-pool{font-size:10px;font-weight:700;color:var(--t3)}
.eg-prog{height:3px;background:var(--bd);border-radius:2px;margin-top:5px;overflow:hidden}
.eg-progf{height:100%;background:var(--hot);border-radius:2px}
/* NOTIFICATIONS */
.notif{display:flex;align-items:flex-start;gap:10px;padding:11px 13px;border-bottom:1px solid var(--bd);cursor:pointer;transition:background .1s}
.notif:hover{background:var(--chip)}
.notif.unread{background:rgba(255,59,107,.04)}
.dk .notif.unread{background:rgba(255,59,107,.08)}
.nav{width:36px;height:36px;border-radius:50%;background:var(--chip);display:flex;align-items:center;justify-content:center;font-size:16px;flex-shrink:0}
.ntxt{flex:1}
.ntitle{font-size:13px;font-weight:700;color:var(--t1);line-height:1.35}
.ntitle strong{font-weight:800}
.ntime{font-size:11px;color:var(--t3);margin-top:2px}
.nbadge{background:var(--hot);color:#fff;font-size:9px;font-weight:800;padding:2px 7px;border-radius:10px;flex-shrink:0;align-self:center}
.notif-type-win{background:rgba(255,214,0,.08)}
/* DASHBOARD */
.dash-hero{padding:14px 13px;border-bottom:1px solid var(--bd)}
.dash-balance{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.6px;color:var(--t3);margin-bottom:3px}
.dash-amount{font-family:'Boogaloo',cursive;font-size:36px;color:var(--t1)}
.dash-sub{font-size:12px;color:var(--t3);margin-bottom:12px}
.dash-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
.da-btn{padding:10px;background:var(--chip);border:1px solid var(--bd);border-radius:10px;font-family:'Nunito',sans-serif;font-size:11px;font-weight:800;color:var(--t2);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:4px}
.da-btn i{font-size:20px;color:var(--hot)}
.da-btn.primary{background:var(--hot);border-color:var(--hot);color:#fff}
.da-btn.primary i{color:#fff}
.dash-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 13px;border-bottom:1px solid var(--bd)}
.dstat{background:var(--chip);border-radius:12px;padding:12px}
.dstat-v{font-size:22px;font-weight:800;font-family:'Boogaloo',cursive;color:var(--t1)}
.dstat-l{font-size:11px;color:var(--t3);font-weight:700;margin-bottom:3px}
.dstat-trend{font-size:11px;color:var(--live);font-weight:700}
.active-offers{padding:0 13px}
.ao-item{display:flex;align-items:center;gap:10px;background:var(--chip);border-radius:12px;padding:10px 11px;margin-bottom:7px;cursor:pointer}
.ao-em{font-size:22px;flex-shrink:0}
.ao-info{flex:1}
.ao-title{font-size:13px;font-weight:800;color:var(--t1);line-height:1.2}
.ao-meta{font-size:11px;color:var(--t3);margin-top:2px}
.ao-right{text-align:right}
.ao-rev{font-size:13px;font-weight:800;color:var(--live)}
.ao-entries{font-size:11px;color:var(--t3)}
.ao-prog{height:3px;background:var(--bd);border-radius:2px;margin-top:4px;overflow:hidden;width:60px}
.ao-progf{height:100%;background:var(--hot);border-radius:2px}
/* TIP MODAL */
.tip-modal-wrap{background:rgba(0,0,0,.5);display:none;align-items:flex-end;min-height:300px;border-radius:0 0 16px 16px}
.tip-modal-wrap.open{display:flex}
.tip-modal{background:var(--card);border-radius:16px 16px 0 0;padding:18px 14px 22px;width:100%}
.tm-bar{width:34px;height:4px;background:var(--bd);border-radius:2px;margin:0 auto 14px}
.tm-title{font-size:16px;font-weight:800;font-family:'Boogaloo',cursive;color:var(--t1);margin-bottom:4px}
.tm-sub{font-size:12px;color:var(--t2);margin-bottom:14px}
.tip-amounts{display:flex;gap:7px;margin-bottom:12px;flex-wrap:wrap}
.ta{background:var(--chip);border:1.5px solid var(--bd);border-radius:10px;padding:8px 14px;font-size:13px;font-weight:800;color:var(--t2);cursor:pointer;transition:all .15s;font-family:'Nunito',sans-serif}
.ta.sel{background:rgba(201,168,76,.12);border-color:var(--gold);color:var(--g3)}
.dk .ta.sel{color:var(--g2)}
.tm-custom{width:100%;background:var(--chip);border:1px solid var(--bd);border-radius:10px;padding:10px 12px;font-size:14px;font-family:'Nunito',sans-serif;color:var(--t1);outline:none;margin-bottom:12px}
.tm-buy{width:100%;padding:13px;background:var(--gold);border:none;border-radius:12px;color:#3d2800;font-family:'Boogaloo',cursive;font-size:18px;cursor:pointer;transition:opacity .15s}
.tm-buy:hover{opacity:.88}
.tm-close{float:right;background:none;border:none;cursor:pointer;color:var(--t3)}
/* BOTTOM NAV */
.botbar{display:flex;background:var(--nav);border-top:1px solid var(--bd)}
.bni{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:8px 0 5px;cursor:pointer;border:none;background:none;font-size:10px;font-weight:700;color:var(--t3);gap:2px;font-family:'Nunito',sans-serif;transition:color .15s;position:relative}
.bni.on{color:var(--hot)}
.bni i{font-size:22px}
.bni-dot{position:absolute;top:6px;right:calc(50% - 14px);width:7px;height:7px;border-radius:50%;background:var(--hot);border:2px solid var(--nav)}
/* CHIPS */
.chips{display:flex;gap:5px;padding:0 13px 8px;overflow-x:auto}
.chips::-webkit-scrollbar{display:none}
.chip{font-size:11px;font-weight:800;padding:5px 11px;border-radius:20px;cursor:pointer;border:1px solid var(--bd);background:var(--chip);color:var(--t3);font-family:'Nunito',sans-serif;white-space:nowrap;flex-shrink:0;transition:all .15s}
.chip.on{background:#FFD600;color:#111;border-color:#FFD600}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0)}
.back-btn{display:flex;align-items:center;gap:5px;background:none;border:none;cursor:pointer;color:var(--t2);font-size:13px;font-weight:700;font-family:'Nunito',sans-serif;padding:10px 13px 0}
.back-btn i{font-size:16px}
.section-pad{padding:0 13px}
.h-divider{height:1px;background:var(--bd);margin:8px 0}
/* —— responsive shell & layout —— */
@media (min-width:520px){
  .app{max-width:min(100%,560px)}
  .logo{font-size:clamp(20px,2.4vw,24px)}
  .logo svg{width:clamp(28px,3.5vw,34px);height:auto}
}
@media (min-width:720px){
  .app{max-width:min(100%,calc(100vw - var(--shell-pad) * 2))}
  .topbar{padding:12px clamp(16px,3vw,28px)}
  .slbl,.sbar,.live-strip,.offers-strip,.chips,.explore-grid,.active-offers,.dash-hero,.dash-stats,.map-placeholder{padding-left:clamp(16px,3vw,28px)!important;padding-right:clamp(16px,3vw,28px)!important}
  .post-head,.pcap,.pactions,.comments,.back-btn{padding-left:clamp(16px,3vw,28px)!important;padding-right:clamp(16px,3vw,28px)!important}
  .cp-info,.cp-tabs{padding-left:clamp(16px,3vw,28px);padding-right:clamp(16px,3vw,28px)}
  .notif{padding-left:clamp(16px,3vw,28px)!important;padding-right:clamp(16px,3vw,28px)!important}
  .sub-tier,.store-grid{margin-left:clamp(8px,2vw,16px);margin-right:clamp(8px,2vw,16px)}
  .pthumb{height:clamp(220px,32vw,340px)}
  .pthumb{font-size:clamp(56px,9vw,96px)}
  .map-placeholder{height:clamp(200px,28vw,280px)}
  .lp-video{height:clamp(300px,42vw,520px)}
  .live-strip,.offers-strip{flex-wrap:wrap;gap:10px}
  .lcard{min-width:clamp(88px,12vw,120px);flex:1 1 calc(33.333% - 8px);max-width:calc(50% - 5px)}
  .offer-mini{min-width:min(100%,220px);flex:1 1 calc(50% - 6px);max-width:calc(50% - 4px)}
  .explore-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .eg-thumb{height:clamp(96px,14vw,140px);font-size:clamp(34px,5vw,48px)}
  .store-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
  .dash-stats{gap:12px}
  .botbar .bni{padding:10px 0 8px;font-size:11px}
  .botbar .bni i{font-size:24px}
}
@media (min-width:960px){
  .app{max-width:min(1520px,var(--app-max-fluid))}
  .pthumb{height:clamp(240px,28vw,380px)}
  .dash-stats{grid-template-columns:repeat(4,minmax(0,1fr))!important}
  .explore-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
  .store-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}
  .lcard{max-width:calc(33.333% - 6px)}
  .offer-mini{flex:1 1 calc(33.333% - 8px);max-width:calc(33.333% - 6px)}
  .live-page{display:grid;grid-template-columns:1fr min(380px,34vw);grid-template-rows:auto auto 1fr auto;min-height:min(82vh,720px);align-content:start}
  .live-page .lp-video{grid-column:1;grid-row:1;min-height:min(48vh,480px);height:auto!important}
  .live-page .lp-creator{grid-column:1;grid-row:2}
  .live-page .lp-chat{grid-column:2;grid-row:1 / span 2;height:auto!important;min-height:200px;border-left:1px solid rgba(255,255,255,.12);align-self:stretch}
  .live-page .lp-gifts{grid-column:1 / -1;grid-row:3}
  .live-page .lp-chat-input{grid-column:1 / -1;grid-row:4}
}
@media (min-width:1200px){
  .app{max-width:min(1760px,var(--app-max-fluid))}
  .explore-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
  .store-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:14px}
  .live-page{grid-template-columns:1fr min(420px,32vw)}
  .cp-cover{height:clamp(140px,18vw,240px);font-size:clamp(50px,8vw,72px)}
  .cp-av-big{width:clamp(60px,8vw,88px);height:clamp(60px,8vw,88px);font-size:clamp(28px,4vw,40px)}
}
@media (min-width:1600px){
  .app{max-width:var(--app-max-fluid)}
  .explore-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
  .store-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
  .live-page{grid-template-columns:1fr min(460px,28vw)}
  .lcard{flex:1 1 calc(25% - 8px);max-width:calc(25% - 6px)}
  .offer-mini{flex:1 1 calc(25% - 8px);max-width:calc(25% - 6px)}
}
.home-posts-grid{display:block}
@media (min-width:900px){
  .home-posts-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));border-top:1px solid var(--bd)}
  .home-posts-grid .post{border-right:1px solid var(--bd)}
  .home-posts-grid .post:nth-child(2n){border-right:none}
  .home-posts-grid .post:last-child:nth-child(odd){grid-column:1 / -1;border-right:none;max-width:min(720px,100%);justify-self:center;width:100%}
}
@media (min-width:1400px){
  .home-posts-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .home-posts-grid .post:nth-child(2n){border-right:1px solid var(--bd)}
  .home-posts-grid .post:nth-child(3n){border-right:none}
  .home-posts-grid .post:last-child:nth-child(odd){grid-column:auto;max-width:none;justify-self:stretch;width:auto}
  .home-posts-grid .post:last-child:nth-child(3n+1){grid-column:1 / -1;border-right:none;max-width:min(920px,100%);justify-self:center;width:100%}
}
.tip-modal-wrap{align-items:flex-end;justify-content:center}
@media (min-width:720px){
  .tip-modal-wrap.open{align-items:center;padding:24px}
  .tip-modal{max-width:440px;border-radius:20px!important;margin:0 auto;box-shadow:0 24px 80px rgba(0,0,0,.35)}
}
@media (prefers-reduced-motion:reduce){
  *,*::before,*::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
/* brand kit + asset slots */
.asset-img{position:relative;overflow:hidden;display:flex;align-items:center;justify-content:center}
.asset-img img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;border-radius:inherit}
.asset-cover{position:relative;background-size:cover;background-position:center}
.asset-cover .asset-fallback{font-size:inherit}
.has-asset .asset-fallback{opacity:0}
.sinner.asset-img,.pav.asset-img,.cp-av-big.asset-img,.lp-cav.asset-img{border-radius:50%}
.sinner.asset-img img,.pav.asset-img img,.cp-av-big.asset-img img,.lp-cav.asset-img img{border-radius:50%}
.pthumb.asset-cover,.lp-video.asset-cover,.cp-cover.asset-cover,.lthumb.asset-cover,.om-thumb.asset-cover,.eg-thumb.asset-cover,.si-thumb.asset-cover{overflow:hidden}
.pthumb.asset-cover .asset-fallback,.lp-video.asset-cover .asset-fallback{font-size:clamp(40px,8vw,72px)}
.logo-mark{width:clamp(28px,3.5vw,34px);height:auto;flex-shrink:0}
/* promo banners */
.home-promo{margin:8px 13px 4px;border-radius:14px;overflow:hidden;cursor:pointer;border:1px solid var(--bd)}
.promo-inner{min-height:88px;display:flex;align-items:flex-end;padding:14px 16px;background:linear-gradient(135deg,var(--hot),var(--pur))}
.promo-copy{display:flex;flex-direction:column;gap:2px;color:#fff;text-shadow:0 1px 8px rgba(0,0,0,.35)}
.promo-copy strong{font-size:15px;font-family:'Boogaloo',cursive}
.promo-copy span{font-size:11px;font-weight:800;opacity:.9}
/* ticket tray */
.ticket-tray{position:fixed;bottom:72px;left:50%;transform:translateX(-50%) translateY(120%);width:min(440px,calc(100% - 24px));background:var(--card);border:1px solid var(--bd);border-radius:16px;padding:14px;box-shadow:0 12px 40px rgba(0,0,0,.2);z-index:50;transition:transform .25s ease}
.ticket-tray.open{transform:translateX(-50%) translateY(0)}
.tray-line{display:flex;gap:10px;align-items:center;margin-bottom:12px;font-size:13px}
.tray-line span{font-size:22px}
/* desktop shell */
.app-shell{display:flex;justify-content:center;align-items:flex-start;gap:0;width:100%;max-width:var(--app-max-fluid);margin:0 auto}
.sidenav{display:none}
@media (min-width:960px){
  .sidenav{display:flex;flex-direction:column;width:72px;flex-shrink:0;background:var(--nav);border:1px solid var(--bd);border-radius:clamp(14px,1.2vw,22px) 0 0 clamp(14px,1.2vw,22px);padding:12px 0;position:sticky;top:clamp(10px,2.2vw,28px);align-self:flex-start;min-height:min(90vh,900px)}
  .sni{width:100%;display:flex;flex-direction:column;align-items:center;gap:3px;padding:12px 0;border:none;background:none;cursor:pointer;color:var(--t3);font-size:9px;font-weight:800;font-family:'Nunito',sans-serif}
  .sni i{font-size:22px}
  .sni.on{color:var(--hot)}
  .app-shell .app{border-radius:0 clamp(14px,1.2vw,22px) clamp(14px,1.2vw,22px) 0;margin:0}
  .botbar{display:none!important}
  .page{padding-bottom:24px}
  .home-promo{margin-left:clamp(16px,3vw,28px);margin-right:clamp(16px,3vw,28px)}
  .ticket-tray{bottom:24px}
}
@media (min-width:720px){
  .home-promo{margin-left:clamp(16px,3vw,28px);margin-right:clamp(16px,3vw,28px)}
  .promo-inner{min-height:clamp(88px,12vw,140px)}
}
