:root{
  --bg:#070a18; --bg-2:#0d1328; --glass:rgba(255,255,255,.045); --glass-2:rgba(255,255,255,.08);
  --line:rgba(255,255,255,.09); --line-2:rgba(255,255,255,.16);
  --fg:#f6f3fb; --muted:#aaa4ba; --dim:#716a85;
  --amber:#2ee6ff; --hot:#ff3fd4; --online:#52f2a2; --busy:#ff5a6e; --leg:#ffc94d;
  --grad:linear-gradient(100deg,var(--amber),var(--hot));
  --display:"Anybody","Arial Black",Impact,system-ui,sans-serif;
  --body:"Figtree",system-ui,-apple-system,"Segoe UI",sans-serif;
  --mono:"JetBrains Mono",ui-monospace,Menlo,monospace;
  color-scheme:dark;
}
*{box-sizing:border-box}
[hidden]{display:none !important}
body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.55 var(--body);min-height:100vh}
button,input,select,textarea{font:inherit;color:inherit}
button{cursor:pointer}
a{color:inherit}
:focus-visible{outline:2px solid var(--amber);outline-offset:3px;border-radius:10px}
.grain{position:fixed;inset:0;z-index:1;pointer-events:none;opacity:.07;mix-blend-mode:overlay;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.9' numOctaves='2' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)'/%3E%3C/svg%3E")}
.orb{position:fixed;z-index:0;width:520px;height:520px;border-radius:50%;filter:blur(40px);pointer-events:none}
.orb.a{left:-120px;top:-80px;background:radial-gradient(closest-side,rgba(46,230,255,.28),transparent)}
.orb.b{right:-140px;bottom:-120px;background:radial-gradient(closest-side,rgba(255,63,212,.24),transparent)}
.page{position:relative;z-index:2}
.wrap{max-width:1080px;margin:0 auto;padding:0 20px}
.top{position:sticky;top:0;z-index:5;background:rgba(7,10,24,.62);backdrop-filter:blur(18px) saturate(1.4);border-bottom:1px solid var(--line)}
.bar{display:flex;align-items:center;gap:12px;padding:12px 0}
.logo{display:flex;align-items:flex-end;text-decoration:none}
.logo-img{height:58px;width:auto;margin:-10px 0 -8px;filter:drop-shadow(0 0 14px rgba(46,230,255,.35))}
.bar-end{margin-left:auto;display:flex;align-items:center;gap:10px}
.who{font:700 12px var(--mono);letter-spacing:.12em;color:var(--muted)}
.status-label{font:700 12px var(--mono);letter-spacing:.08em;color:var(--muted)}
.avatar{position:relative;width:44px;height:44px;border-radius:50%;border:1px solid var(--line-2);background:var(--bg-2);padding:0;overflow:visible;box-shadow:none}
.avatar img,.avatar span{width:44px;height:44px;border-radius:50%;object-fit:cover;display:grid;place-items:center;font:800 14px var(--display);background:var(--bg-2);color:var(--fg)}
.dot{position:absolute;right:-1px;bottom:-1px;width:12px;height:12px;border-radius:50%;border:2px solid #070a18;background:#5c5670}
.dot.online{background:var(--online)}
.dot.away{background:var(--leg)}
.dot.in_game{background:var(--hot)}
.dot.offline{background:#5c5670}
h1,h2,h3{font-family:var(--display);margin:0;letter-spacing:-.02em;line-height:.98;font-stretch:120%}
.eyebrow{font:700 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--muted);margin:0}
.muted{color:var(--muted)}
.dim{color:var(--dim);font-size:13.5px}
.gtext{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;border:0;border-radius:999px;padding:12px 22px;font-weight:800;background:var(--grad);color:#061022;box-shadow:0 10px 34px -10px rgba(255,63,212,.7);text-decoration:none;transition:transform .15s,box-shadow .2s}
.btn:hover{transform:translateY(-1px)}
.btn:disabled{opacity:.5;transform:none;cursor:default}
.btn.ghost{background:var(--glass);color:var(--fg);border:1px solid var(--line-2);box-shadow:none}
.btn.sm{padding:8px 14px;font-size:14px}
.btn.warn{background:transparent;color:var(--busy);border:1px solid rgba(255,90,110,.45);box-shadow:none}
main{padding:36px 0 72px;display:grid;gap:22px}
.card{background:var(--glass);border:1px solid var(--line);border-radius:26px;padding:22px;display:grid;gap:14px}
.card h1{font-size:clamp(36px,6vw,64px);font-weight:900}
.card h2{font-size:clamp(28px,4vw,40px);font-weight:900}
.lede{color:var(--muted);margin:0;max-width:62ch;text-wrap:pretty}
.stack{display:grid;gap:10px}
.row{display:flex;gap:8px;flex-wrap:wrap;align-items:center}
.pill{display:flex;gap:8px;background:rgba(13,19,40,.75);border:1px solid var(--line-2);border-radius:999px;padding:6px}
.pill:focus-within{border-color:rgba(255,63,212,.6);box-shadow:0 0 0 4px rgba(255,63,212,.12)}
.pill input{flex:1;min-width:0;background:none;border:0;outline:0;padding:10px 14px;font-size:16px}
.pill input::placeholder{color:var(--dim)}
.seg{display:flex;flex-wrap:wrap;gap:6px}
.seg button,.chip{background:var(--glass);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:700;font-size:13.5px;color:var(--muted)}
.seg button[aria-pressed="true"],.chip[aria-pressed="true"]{background:var(--fg);color:var(--bg);border-color:var(--fg)}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.field{display:grid;gap:6px;font-size:13px;color:var(--dim);font-weight:700}
.field input,.field textarea,.field select{width:100%;background:rgba(13,19,40,.75);border:1px solid var(--line-2);border-radius:16px;padding:12px 14px;font-size:16px;outline:0}
.field textarea{min-height:140px;resize:vertical}
.field input:focus,.field textarea:focus,.field select:focus{border-color:rgba(255,63,212,.6);box-shadow:0 0 0 4px rgba(255,63,212,.12)}
.hobby{display:flex;gap:8px;align-items:center}
.hobby input{flex:1;min-width:0}
.plus{width:44px;height:44px;border-radius:14px;border:1px solid var(--line-2);background:var(--glass);color:var(--fg);font:800 22px var(--display);box-shadow:none}
.count{font:700 12px var(--mono);color:var(--dim)}
.count.over{color:var(--busy)}
.zone{margin:0;color:var(--amber);font-weight:700;font-size:14px}
.zone.none{color:var(--muted);font-weight:600}
.player-head{display:flex;gap:12px;align-items:center}
.mini-avatar{width:46px;height:46px;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:var(--bg-2);border:1px solid var(--line-2);font:800 14px var(--display)}
.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}
.times{display:flex;flex-wrap:wrap;gap:8px}
.time{background:var(--bg-2);border:1px solid var(--line-2);border-radius:999px;padding:8px 12px;font:700 13px var(--mono);color:var(--fg)}
.time:hover{border-color:var(--hot)}
.price{font:900 clamp(40px,6vw,64px) var(--display);font-stretch:115%;line-height:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.balance{text-align:center;padding:18px;border-radius:20px;background:rgba(7,10,24,.5);border:1px solid var(--line)}
.list{display:grid;gap:10px}
.item{display:flex;justify-content:space-between;gap:12px;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.item:first-child{border-top:0;padding-top:0}
.item b{font-family:var(--display);font-stretch:110%;font-size:20px}
.err{color:var(--busy);font-weight:700;margin:0}
.ok{color:var(--online);font-weight:700;margin:0}
.code{display:flex;gap:8px}
.code input{width:48px;height:58px;text-align:center;font:700 24px var(--mono);background:rgba(13,19,40,.75);border:1px solid var(--line-2);border-radius:14px}
.tag{font:700 11px var(--mono);letter-spacing:.12em;padding:4px 8px;border-radius:999px}
.tag.hold{color:var(--leg);background:rgba(255,201,77,.1);border:1px solid rgba(255,201,77,.3)}
.tag.ok{color:var(--online);background:rgba(82,242,162,.1);border:1px solid rgba(82,242,162,.3)}
.tag.live{color:#fff;background:var(--busy)}
.tag.online{color:var(--online);background:rgba(82,242,162,.1);border:1px solid rgba(82,242,162,.3)}
.tag.away{color:var(--leg);background:rgba(255,201,77,.1);border:1px solid rgba(255,201,77,.3)}
.tag.offline{color:var(--dim);background:rgba(255,255,255,.04);border:1px solid var(--line)}
.tag.in_game{color:#fff;background:var(--hot)}
@media (max-width:520px){
  .pill{flex-direction:column;align-items:stretch;border-radius:24px}
  .pill .btn{width:100%}
}
@media (max-width:800px){
  .grid{grid-template-columns:1fr}
  .logo-img{height:46px}
  .who{font-size:11px}
  .status-label{display:none}
  .bar-end{gap:8px}
  .item{align-items:flex-start;flex-direction:column}
}
@media (max-width:420px){
  .code input{width:40px;height:50px}
  .wrap{padding-inline:14px}
}

/* ===== Profile / account page ===== */
.pf-hero{position:relative;overflow:hidden;border-radius:28px;padding:24px;border:1px solid var(--line-2);display:grid;gap:20px;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);align-items:center;
  background:radial-gradient(70% 120% at 0% 0%,rgba(46,230,255,.16),transparent 60%),radial-gradient(70% 120% at 100% 100%,rgba(255,63,212,.16),transparent 60%),var(--glass)}
.pf-top{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:-8px}
/* Every tab but Profile gets a one-line header on desktop, so the tab's own content starts near the top.
   Phones keep the full header (and the Home button) as before. */
.pf-slim{display:none}
@media (min-width:901px){
  .pf-top{display:none}
  .pf-hero.pf-hero-phone{display:none}
  .pf-slim{display:flex;align-items:center;gap:16px;padding:12px 18px;border-radius:22px;border:1px solid var(--line-2);
    background:radial-gradient(60% 140% at 0% 0%,rgba(46,230,255,.12),transparent 60%),radial-gradient(60% 140% at 100% 100%,rgba(255,63,212,.12),transparent 60%),var(--glass)}
  .pf-slim .pf-avatar{width:52px;height:52px;box-shadow:0 0 22px -6px rgba(255,63,212,.55)}
  .pf-slim .pf-avatar>span{font:900 17px var(--display);border-width:2px}
  .pf-slim .pf-avatar .dot{width:14px;height:14px;right:0;bottom:0;border-width:3px}
  .pf-slim-name{display:grid;gap:4px;min-width:0;flex:1}
  .pf-slim-name .role{justify-self:start}
  .pf-slim-name b{font:900 22px/1.1 var(--display);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
  .pf-slim-stats{display:flex;gap:8px}
  .pf-slim-stats button{display:grid;gap:1px;text-align:left;min-width:96px;padding:8px 14px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--fg);cursor:pointer}
  .pf-slim-stats button:hover{border-color:rgba(46,230,255,.45)}
  .pf-slim-stats small{font:700 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
  .pf-slim-stats b{font:800 17px var(--body)}
}
.hobby input{width:100%;background:rgba(13,19,40,.75);border:1px solid var(--line-2);border-radius:14px;padding:11px 14px;font-size:15px;outline:0}
.hobby input:focus{border-color:rgba(255,63,212,.6)}
.pf-id{display:flex;gap:18px;align-items:center;min-width:0}
.pf-avatar{position:relative;flex:none;width:104px;height:104px;border-radius:50%;cursor:pointer;padding:3px;background:var(--grad);box-shadow:0 0 40px -6px rgba(255,63,212,.55)}
.pf-avatar.static{cursor:default}
.pf-save.flow{position:static}
#su-about,#su-game{scroll-margin-top:132px}
.pf-avatar img,.pf-avatar>span{width:100%;height:100%;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:var(--bg-2);font:900 32px var(--display);border:3px solid var(--bg)}
.pf-avatar .dot{width:22px;height:22px;right:4px;bottom:4px;border-width:4px}
.pf-avatar em{position:absolute;inset:3px;border-radius:50%;display:grid;place-items:center;background:rgba(7,10,24,.6);font:800 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;font-style:normal;opacity:0;transition:opacity .2s}
.pf-avatar:hover em,.pf-avatar:focus-within em{opacity:1}
.pf-name{min-width:0;flex:1;display:grid;grid-template-columns:minmax(0,1fr);gap:6px}
.pf-name h1{font-size:clamp(32px,4.6vw,52px);font-weight:900;white-space:nowrap;overflow:hidden;max-width:100%;min-width:0}
.pf-name .dim{margin:0}
.role{justify-self:start;font:800 10.5px var(--mono);letter-spacing:.18em;padding:5px 10px;border-radius:8px;color:#061022}
.role.p1{background:var(--amber);box-shadow:0 0 20px rgba(46,230,255,.45)}
.role.p2{background:var(--hot);box-shadow:0 0 20px rgba(255,63,212,.45)}
.pf-statusbox{display:grid;gap:10px;align-content:start;padding:16px;border-radius:20px;background:rgba(7,10,24,.45);border:1px solid var(--line)}
.pf-status{display:flex;flex-wrap:wrap;gap:6px}
.pf-status button{display:inline-flex;align-items:center;gap:8px;background:var(--glass);border:1px solid var(--line-2);border-radius:999px;padding:8px 13px;font-weight:800;font-size:13.5px;color:var(--muted);transition:.15s}
.pf-status button i{width:9px;height:9px;border-radius:50%;background:#5c5670}
.pf-status .st-auto i{background:conic-gradient(var(--online) 0 50%,#5c5670 0)}
.pf-status .st-online i{background:var(--online);box-shadow:0 0 8px var(--online)}
.pf-status .st-away i{background:var(--leg)}
.pf-status .st-in_game i{background:var(--hot);box-shadow:0 0 8px var(--hot)}
.pf-status button:hover{color:var(--fg);border-color:var(--muted)}
.pf-status button[aria-checked="true"]{color:var(--bg);background:var(--fg);border-color:var(--fg)}
.pf-status-help{margin:0}
.pf-status-help b{color:var(--fg)}
.pf-stats{grid-column:1/-1;display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:12px}
.stat{display:grid;gap:4px;align-content:start;text-align:left;padding:16px 18px;border-radius:20px;background:rgba(7,10,24,.45);border:1px solid var(--line);color:var(--fg);transition:border-color .15s,transform .15s}
button.stat:hover{border-color:var(--line-2);transform:translateY(-2px)}
.stat b{font:900 34px/1 var(--display);font-stretch:115%}
.stat small{color:var(--dim);font-size:13px}
.stat.credit{grid-template-columns:1fr auto;align-items:center;border-color:rgba(46,230,255,.35);background:linear-gradient(135deg,rgba(46,230,255,.12),rgba(255,63,212,.12))}
.stat.credit .eyebrow,.stat.credit small{grid-column:1}
.stat.credit b{grid-column:1;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.stat.credit .btn{grid-column:2;grid-row:1/4}
.pf-body{display:grid;grid-template-columns:240px minmax(0,1fr);gap:18px;align-items:start}
.pf-nav{position:sticky;top:96px;display:grid;gap:4px;padding:10px;border-radius:22px;background:var(--glass);border:1px solid var(--line)}
.pf-nav button{display:grid;gap:2px;text-align:left;background:none;border:0;border-radius:14px;padding:12px 14px;color:var(--muted);position:relative}
.pf-nav button b{color:var(--fg);font-size:15px}
.pf-nav button small{font-size:12px;color:var(--dim)}
.pf-nav button:hover{background:var(--glass)}
.pf-nav button[aria-current="page"]{background:linear-gradient(90deg,rgba(46,230,255,.14),rgba(255,63,212,.1))}
.pf-nav button[aria-current="page"]::before{content:"";position:absolute;left:0;top:12px;bottom:12px;width:3px;border-radius:3px;background:var(--grad)}
.pf-panel{display:grid;gap:14px;min-width:0}
.pf-sec{display:grid;gap:12px;padding:20px;border-radius:22px;background:var(--glass);border:1px solid var(--line)}
.pf-sec h3{font-size:22px;font-weight:900}
.pf-sec-h{display:flex;justify-content:space-between;align-items:baseline;gap:10px}
.pf-sec .dim{margin:0}
.ro{background:rgba(13,19,40,.4);border:1px dashed var(--line-2);border-radius:16px;padding:12px 14px;font-size:16px;color:var(--muted);font-weight:500;overflow-wrap:anywhere}
.chip.on{background:var(--grad);color:#061022;border-color:transparent}
.chip.on i{font-style:normal;margin-left:4px;opacity:.7}
.pf-search{width:100%;background:rgba(13,19,40,.75);border:1px solid var(--line-2);border-radius:999px;padding:11px 16px;font-size:15px;outline:0}
.pf-search:focus{border-color:rgba(255,63,212,.6)}
.pf-gamelist{max-height:210px;overflow:auto;padding-right:4px}
.pf-add{justify-self:start}
.pf-save{position:sticky;bottom:14px;z-index:3;display:flex;justify-content:space-between;align-items:center;gap:12px;padding:12px 12px 12px 20px;border-radius:999px;background:rgba(10,14,32,.88);backdrop-filter:blur(16px);border:1px solid var(--line-2);box-shadow:0 18px 50px -14px #000}
.pf-bal{display:flex;gap:28px;flex-wrap:wrap;align-items:flex-end;padding:18px;border-radius:18px;background:rgba(7,10,24,.5);border:1px solid var(--line)}
.pf-bal>div{display:grid;gap:6px}
.pf-bal .held{font:900 30px/1 var(--display);color:var(--leg)}
.packs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.pack{display:grid;gap:4px;padding:16px 10px;border-radius:18px;background:rgba(7,10,24,.5);border:1px solid var(--line-2);color:var(--fg);transition:.15s}
.pack b{font:900 26px var(--display);font-stretch:115%}
.pack span{font:700 10.5px var(--mono);letter-spacing:.06em;color:var(--amber)}
.pack:hover{border-color:var(--hot);transform:translateY(-2px);box-shadow:0 12px 30px -14px rgba(255,63,212,.7)}
.pf-note{margin:0;padding:12px 14px;border-radius:14px;background:rgba(255,201,77,.08);border:1px solid rgba(255,201,77,.3);color:var(--leg);font-weight:700;font-size:14px}
.pf-empty{display:grid;justify-items:start;gap:10px;padding:8px 0}
.pf-empty p{margin:0;color:var(--muted)}
@media (max-width:900px){
  .pf-hero{grid-template-columns:minmax(0,1fr);padding:20px}
  .pf-body{grid-template-columns:minmax(0,1fr)}
  .pf-nav{position:sticky;top:70px;z-index:4;display:flex;overflow-x:auto;padding:6px;border-radius:999px;background:rgba(10,14,32,.9);backdrop-filter:blur(16px);scrollbar-width:none}
  .pf-nav::-webkit-scrollbar{display:none}
  .pf-nav button{flex:none;padding:9px 16px;border-radius:999px}
  .pf-nav button small{display:none}
  .pf-nav button[aria-current="page"]{background:var(--fg)}
  .pf-nav button[aria-current="page"] b{color:var(--bg)}
  .pf-nav button[aria-current="page"]::before{display:none}
}
@media (max-width:640px){
  .pf-id{gap:14px}
  .pf-avatar{width:80px;height:80px}
  .pf-stats{grid-template-columns:1fr 1fr}
  .stat.credit{grid-column:1/-1}
  .stat b{font-size:28px}
  .packs{grid-template-columns:1fr 1fr}
  .pf-save{border-radius:20px;flex-direction:column;align-items:stretch;padding:12px}
  .pf-save .dim{display:none}
}

.su-steps{display:flex;flex-wrap:wrap;gap:8px}
.su-steps span{font:800 13px var(--body);color:var(--dim);padding:8px 12px;border-radius:999px;border:1px solid var(--line);background:rgba(7,10,24,.35)}
.su-steps .on{color:#061022;background:var(--grad);border-color:transparent}
.su-want{display:grid;gap:16px;padding:22px;border-radius:28px;background:
  linear-gradient(rgba(7,10,24,.92), rgba(7,10,24,.92)) padding-box,
  linear-gradient(120deg, var(--amber), var(--hot)) border-box;
  border:2px solid transparent;
  box-shadow:0 0 0 1px rgba(46,230,255,.28), 0 0 48px -16px rgba(46,230,255,.7)}
.su-want .eyebrow{font-size:15px;letter-spacing:.22em;color:var(--fg)}
.su-choices{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.su-choice{display:grid;gap:10px;align-content:start;text-align:left;padding:18px;border-radius:20px;background:rgba(13,19,40,.72);border:1px solid var(--line-2);color:var(--fg)}
.su-choice b{font:900 28px/1.05 var(--display);font-stretch:112%}
.su-choice p{margin:0;font-size:20px;line-height:1.4;font-weight:600;color:var(--fg)}
.su-choice[aria-checked="true"]{border-color:var(--amber);box-shadow:0 0 0 3px rgba(46,230,255,.4), 0 0 32px -12px rgba(46,230,255,.9)}
.su-choice.p2[aria-checked="true"]{border-color:var(--hot);box-shadow:0 0 0 3px rgba(255,63,212,.4), 0 0 32px -12px rgba(255,63,212,.9)}
.su-path{margin:0;font-size:20px;line-height:1.4;font-weight:650;color:var(--fg)}
.su-lede{margin:0;font-size:18px;line-height:1.45;color:var(--fg)}
@media (max-width:700px){
  .su-choices{grid-template-columns:1fr}
  .su-choice p,.su-path{font-size:18px}
}

/* ===== v2: header name, Discord, email, messages ===== */
.who{font:800 14.5px var(--body);letter-spacing:0;color:var(--fg);max-width:180px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.status-label{font:600 13px var(--body);letter-spacing:0;color:var(--muted);display:inline-flex;align-items:center;gap:6px}
.status-label::before{content:"·";color:var(--dim)}
.mailbtn{position:relative;width:42px;height:42px;border-radius:50%;display:grid;place-items:center;background:var(--glass);border:1px solid var(--line-2);color:var(--fg);padding:0}
.mailbtn:hover{border-color:var(--muted)}
/* Notification bell */
.nf-panel{position:fixed;top:68px;right:max(16px,calc((100vw - 1200px)/2));z-index:950;width:min(420px,calc(100vw - 32px));max-height:min(640px,calc(100dvh - 90px));display:flex;flex-direction:column;border-radius:18px;background:var(--bg-2,#0d1328);border:1px solid var(--line-2,rgba(255,255,255,.16));box-shadow:0 24px 70px rgba(0,0,0,.55);animation:nfIn .16s ease-out;overflow:hidden}
@keyframes nfIn{from{opacity:0;transform:translateY(-6px)}}
.nf-head{display:flex;align-items:center;gap:12px;padding:14px 16px;border-bottom:1px solid var(--line)}
.nf-head b{font-size:17px;margin-right:auto}
.nf-head .linkbtn{font-size:13px}
.nf-x{background:none;border:0;color:var(--muted);font-size:16px;cursor:pointer;padding:4px}
.nf-list{overflow:auto;padding:6px 8px 10px}
.nf-gh{margin:10px 8px 4px;font:700 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.nf-item{width:100%;display:grid;grid-template-columns:34px minmax(0,1fr) auto;gap:10px;align-items:start;text-align:left;padding:10px;border:0;border-radius:12px;background:none;color:var(--fg);cursor:pointer;font:inherit}
.nf-item:hover,.nf-item:focus-visible{background:rgba(255,255,255,.06)}
.nf-item.nogo{cursor:default}
.nf-item.unread{background:rgba(46,230,255,.06)}
.nf-item.unread:hover{background:rgba(46,230,255,.1)}
.nf-ic{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-size:17px;background:rgba(255,255,255,.07)}
.tone-action .nf-ic{background:rgba(255,201,77,.16)}
.tone-good .nf-ic{background:rgba(82,242,162,.15)}
.tone-muted{opacity:.62}
.tone-muted.unread{opacity:1}
.nf-txt{display:grid;gap:2px;min-width:0}
.nf-txt b{font-size:14px;line-height:1.3;font-weight:700}
.nf-item.unread .nf-txt b{font-weight:800}
.nf-txt small{font-size:12.5px;color:var(--muted);line-height:1.35;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.nf-when{display:flex;flex-direction:column;align-items:flex-end;gap:6px;font-size:12px;color:var(--muted);white-space:nowrap}
.nf-when em{font-style:normal;font-weight:800;color:var(--leg);font-variant-numeric:tabular-nums}
.nf-dot{width:8px;height:8px;border-radius:50%;background:var(--hot,#ff3fd4);box-shadow:0 0 8px rgba(255,63,212,.7)}
.nf-empty{display:grid;justify-items:center;gap:4px;padding:40px 16px;text-align:center}
.nf-empty span{font-size:30px}
.nf-empty small{color:var(--muted)}
.nf-flash{animation:nfFlash 1.8s ease-out}
@keyframes nfFlash{0%,30%{box-shadow:0 0 0 2px var(--leg),0 0 24px rgba(255,201,77,.5)}100%{box-shadow:0 0 0 0 transparent}}
@media (max-width:620px){.nf-panel{inset:0;top:0;width:100%;max-height:none;border-radius:0}}
@media (prefers-reduced-motion:reduce){.nf-panel,.nf-flash{animation:none}}
.mailbtn i{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--hot);color:#fff;font:800 11px/18px var(--body);font-style:normal;box-shadow:0 0 12px rgba(255,63,212,.7)}
.dc{display:grid;gap:10px;justify-items:start}
.dc .dim{margin:0}
.dc-btn{background:#5865f2;color:#fff;box-shadow:0 10px 30px -10px rgba(88,101,242,.8)}
.dc-on{display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.dc-badge{display:inline-flex;align-items:center;gap:8px;padding:9px 14px;border-radius:999px;background:rgba(82,242,162,.1);border:1px solid rgba(82,242,162,.35);color:var(--online)}
.dc-badge b{color:var(--online)}
.dc-badge small{color:var(--muted);font-size:13px}
.ro-row{display:flex;justify-content:space-between;align-items:center;gap:10px}
.ro-row span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.linkbtn{background:none;border:0;padding:0;color:var(--amber);font-weight:800;font-size:14px;flex:none}
.linkbtn:hover{text-decoration:underline}
.pf-code{max-width:200px;font:700 18px var(--mono);letter-spacing:.3em;text-align:center}
.pf-sec .row .pf-search{flex:1;min-width:200px}
.nbadge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;margin-left:6px;border-radius:999px;background:var(--hot);color:#fff;font:800 11px var(--body);font-style:normal;vertical-align:2px}
.threads{display:grid;gap:6px}
.thread{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:12px;border-radius:16px;background:rgba(7,10,24,.4);border:1px solid var(--line);color:var(--fg)}
.thread:hover{border-color:var(--line-2)}
.thread-w{position:relative}
.thread-w .thread{padding-right:56px}
.thread-del{position:absolute;top:50%;right:12px;transform:translateY(-50%);display:grid;place-items:center;width:34px;height:34px;border-radius:11px;border:1px solid var(--line);background:rgba(7,10,24,.6);color:var(--dim);cursor:pointer;opacity:.55;transition:opacity .15s,color .15s,border-color .15s}
.thread-w:hover .thread-del,.thread-del:focus-visible{opacity:1}
.thread-del:hover{color:#ff5c7a;border-color:rgba(255,92,122,.5)}
.thread-w .thread i{margin-right:4px}
.thread>span:not(.mini-avatar){display:grid;min-width:0;flex:1}
.thread .mini-avatar,.chat-h .mini-avatar{flex:none;width:42px;height:42px}
.thread small{color:var(--dim);font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.thread.unread{border-color:rgba(255,63,212,.45)}
.thread.unread small{color:var(--fg)}
.thread i{min-width:22px;height:22px;padding:0 6px;border-radius:999px;background:var(--hot);color:#fff;font:800 12px/22px var(--body);font-style:normal;text-align:center}
.chat{gap:0;padding:0;overflow:hidden}
.chat-h{display:flex;align-items:center;gap:10px;padding:12px 14px;border-bottom:1px solid var(--line)}
.chat-h b{font-family:var(--display);font-size:18px;font-stretch:110%}
.chat-log{display:flex;flex-direction:column;gap:8px;padding:16px;min-height:280px;max-height:52vh;overflow:auto}
.chat-empty{margin:auto!important;text-align:center}
.msg{max-width:78%;align-self:flex-start;display:grid;gap:3px}
.msg p{margin:0;padding:10px 14px;border-radius:18px 18px 18px 6px;background:var(--glass-2);border:1px solid var(--line);white-space:pre-wrap;overflow-wrap:anywhere}
.msg time{font-size:11px;color:var(--dim);padding:0 6px}
.msg.me{align-self:flex-end;justify-items:end}
.msg.me p{background:linear-gradient(135deg,rgba(46,230,255,.22),rgba(255,63,212,.22));border-color:rgba(255,63,212,.35);border-radius:18px 18px 6px 18px}
.chat-send{display:flex;gap:8px;align-items:flex-end;padding:12px;border-top:1px solid var(--line)}
.chat-send textarea{flex:1;min-height:46px;max-height:140px;resize:vertical;background:rgba(13,19,40,.75);border:1px solid var(--line-2);border-radius:18px;padding:12px 14px;font-size:15px;outline:0}
.chat-send textarea:focus{border-color:rgba(255,63,212,.6)}
@media (max-width:800px){
  .who{max-width:120px;font-size:13.5px}
  .status-label{display:inline-flex;font-size:12px}
}
@media (max-width:460px){
  .logo-img{height:36px}
  #out{display:none!important}
  .who{max-width:96px}
  .bar-end{gap:6px}
}

/* ===== v3: landing-page sky, readable dropdowns ===== */
#bgfx{position:fixed;inset:0;width:100%;height:100%;z-index:0;pointer-events:none}
.cursor-glow{position:fixed;left:0;top:0;width:520px;height:520px;margin:-260px 0 0 -260px;border-radius:50%;pointer-events:none;z-index:1;background:radial-gradient(closest-side,rgba(120,90,255,.12),transparent);transform:translate(var(--cx,-999px),var(--cy,-999px));transition:transform .18s ease-out}
@media (hover:none){.cursor-glow{display:none}}
.orb{display:none}
.field select{color:var(--fg);background-color:#111a36;cursor:pointer}
.field select option,.field select optgroup{background:#141d3c;color:#f6f3fb}
.field select option:checked{background:#2a2f63;color:#fff}
.field input::placeholder,.field textarea::placeholder{color:#8a83a0}

/* delete account */
.pf-sec.danger{border-color:rgba(255,90,110,.35);background:linear-gradient(180deg,rgba(255,90,110,.06),transparent),var(--glass)}
.pf-sec.danger h3{color:var(--busy)}
.kbd{font:800 12px var(--mono);letter-spacing:.12em;color:var(--busy);padding:2px 6px;border-radius:6px;border:1px solid rgba(255,90,110,.4)}
.danger-btn{background:var(--busy);color:#fff;box-shadow:0 10px 30px -12px rgba(255,90,110,.8)}
.danger-btn:disabled{opacity:.35}

.book-cta{background:radial-gradient(80% 140% at 100% 0%,rgba(255,63,212,.18),transparent 60%),radial-gradient(70% 120% at 0% 100%,rgba(46,230,255,.14),transparent 60%),var(--glass);border-color:var(--line-2)}

/* ===== Player 2 public profile + editor ===== */
.sc-cta{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;border-color:rgba(255,63,212,.35);background:radial-gradient(70% 140% at 100% 0%,rgba(255,63,212,.2),transparent 60%),radial-gradient(60% 120% at 0% 100%,rgba(46,230,255,.14),transparent 60%),var(--glass)}
.sc-intro{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;border-color:rgba(255,63,212,.3)}
.chip.on{background:var(--grad);color:#061022;border-color:transparent}
.gtile{position:relative;display:block;aspect-ratio:16/10;border-radius:14px;overflow:hidden;background:var(--bg-2);isolation:isolate}
.gt-art{position:absolute;inset:0;background:center/cover no-repeat;transition:transform .5s}
.gt-art.cv{background-position:center 28%}
.gt-art.lg{background:radial-gradient(120% 110% at 50% -10%,color-mix(in srgb,var(--c) 60%,transparent),transparent 70%),linear-gradient(160deg,#141d3c,#090d1f)}
.gt-art.lg i{position:absolute;inset:14% 14%;background:center/contain no-repeat;filter:drop-shadow(0 4px 12px rgba(0,0,0,.5))}
.gt-art.lg.w i{filter:brightness(0) invert(1) drop-shadow(0 4px 12px rgba(0,0,0,.5))}
.gt-art.lg em{position:absolute;inset:0;display:grid;place-items:center;font-size:34px;font-style:normal}
.svc-row{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}
.svc{display:grid;gap:6px;text-align:left;padding:8px 8px 12px;border-radius:18px;background:rgba(7,10,24,.45);border:1px solid var(--line);color:var(--fg);position:relative;transition:border-color .15s,transform .15s}
button.svc:hover{transform:translateY(-2px);border-color:var(--line-2)}
.svc:hover .gt-art{transform:scale(1.05)}
.svc.on{border-color:var(--hot);box-shadow:0 0 0 1px var(--hot),0 14px 34px -16px var(--hot)}
.svc b{font-size:14.5px;padding:0 4px;line-height:1.2}
.svc span:not(.gtile):not(.gt-art){padding:0 4px;font:800 16px var(--display);font-stretch:110%;color:var(--amber)}
.svc small{font:600 11.5px var(--body);color:var(--dim)}
.svc em.tag{position:absolute;top:14px;right:14px}
.svc-detail{display:grid;gap:12px;padding:16px;border-radius:18px;background:rgba(7,10,24,.5);border:1px solid var(--line)}
.svc-price{margin:4px 0 0;font:900 32px var(--display);font-stretch:115%;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.svc-price small{font:600 14px var(--body);-webkit-text-fill-color:var(--muted)}
.pp-hero{position:relative;overflow:hidden;border-radius:28px;border:1px solid var(--line-2);min-height:280px;display:flex;align-items:flex-end;padding:24px;isolation:isolate;background:radial-gradient(70% 120% at 0% 0%,rgba(46,230,255,.18),transparent 60%),radial-gradient(70% 120% at 100% 100%,rgba(255,63,212,.2),transparent 60%),var(--bg-2)}
.pp-hero::before{content:"";position:absolute;inset:-30px;z-index:-2;background:var(--cover,none) center/cover;filter:blur(18px) saturate(1.2);opacity:.55}
.pp-hero::after{content:"";position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(7,10,24,.15),rgba(7,10,24,.9))}
.pp-id{display:flex;flex-wrap:wrap;align-items:flex-end;gap:20px;width:100%}
.pp-avatar{position:relative;flex:none;width:128px;height:128px;border-radius:50%;padding:4px;background:var(--grad);box-shadow:0 0 50px -8px rgba(255,63,212,.6)}
.pp-avatar img,.pp-avatar>span{width:100%;height:100%;border-radius:50%;object-fit:cover;display:grid;place-items:center;background:var(--bg-2);font:900 40px var(--display);border:3px solid var(--bg)}
.pp-avatar .dot{width:24px;height:24px;right:6px;bottom:6px;border-width:4px}
.pp-name{flex:1;min-width:220px;display:grid;gap:8px}
.pp-name h1{font-size:clamp(36px,5.4vw,60px);font-weight:900;overflow-wrap:anywhere}
.pp-tag{margin:0;font-size:18px;color:var(--fg);font-weight:600}
.pp-actions{display:grid;gap:10px;justify-items:end}
.pp-stat{font-size:13px;color:var(--muted)}
.pp-stat b{color:var(--fg);font-family:var(--display)}
.vbtn{display:inline-flex;align-items:center;gap:12px;padding:8px 18px 8px 8px;border-radius:999px;background:rgba(7,10,24,.6);border:1px solid rgba(255,63,212,.45);color:var(--fg);box-shadow:0 10px 30px -14px rgba(255,63,212,.8)}
.vplay{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--grad);color:#061022;font-size:14px}
.vbtn.playing .vplay{font-size:0}.vbtn.playing .vplay::before{content:"❚❚";font-size:12px}
.vwave{display:flex;align-items:center;gap:3px;height:26px}
.vwave i{width:3px;height:30%;border-radius:2px;background:var(--amber);opacity:.7}
.vwave i:nth-child(3n){height:70%}.vwave i:nth-child(4n){height:50%}.vwave i:nth-child(5n){height:90%}
.vbtn.playing .vwave i{animation:vw .9s ease-in-out infinite}
.vbtn.playing .vwave i:nth-child(2n){animation-delay:-.3s}.vbtn.playing .vwave i:nth-child(3n){animation-delay:-.6s}
@keyframes vw{50%{height:100%;background:var(--hot)}}
.vlen{font:700 12px var(--mono);color:var(--muted)}
.pp-body{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:18px;align-items:start}
.pp-main{display:grid;gap:18px;min-width:0}
.pp-side .card{position:sticky;top:96px}
.pp-side h3{font-size:22px}
.pp-bio{margin:0;white-space:pre-wrap;color:var(--muted)}
.album{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}
.album .ph{position:relative;aspect-ratio:1;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:var(--bg-2);padding:0}
.album .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.album button.ph:hover img{transform:scale(1.06)}
.album .ph.add{display:grid;place-items:center;align-content:center;gap:4px;cursor:pointer;border-style:dashed;border-color:var(--line-2);color:var(--muted)}
.album .ph.add span{font:900 34px var(--display);color:var(--fg)}
.album .ph.add:hover{border-color:var(--hot)}
.cover-tag{position:absolute;top:8px;left:8px;font:800 10px var(--mono);letter-spacing:.14em;padding:4px 8px;border-radius:8px;background:var(--grad);color:#061022}
.ph-tools{position:absolute;inset:auto 6px 6px 6px;display:flex;gap:6px;justify-content:flex-end}
.ph-tools button{width:30px;height:30px;border-radius:50%;border:1px solid var(--line-2);background:rgba(7,10,24,.8);color:var(--fg);font-size:13px;display:grid;place-items:center}
.ph-tools button:hover{border-color:var(--hot)}
.lightbox{position:fixed;inset:0;z-index:50;display:grid;place-items:center;background:rgba(4,6,16,.9);backdrop-filter:blur(8px);padding:30px}
.lightbox img{max-width:min(1100px,94vw);max-height:86vh;border-radius:18px;box-shadow:0 30px 80px -20px #000}
.lb-x,.lb-nav{position:absolute;width:48px;height:48px;border-radius:50%;border:1px solid var(--line-2);background:rgba(13,19,40,.8);color:var(--fg);font-size:22px}
.lb-x{top:18px;right:18px}.lb-nav.prev{left:18px}.lb-nav.next{right:18px}
.rec-on{background:var(--busy);color:#fff;box-shadow:0 0 0 0 rgba(255,90,110,.6);animation:recp 1.4s infinite}
@keyframes recp{70%{box-shadow:0 0 0 12px rgba(255,90,110,0)}}
.pf-sec audio{height:40px;max-width:100%}
@media (max-width:900px){
  .pp-body{grid-template-columns:minmax(0,1fr)}
  .pp-side .card{position:static}
  .pp-actions{justify-items:start}
  .pp-avatar{width:96px;height:96px}
}
@media (max-width:520px){
  .svc-row{grid-template-columns:1fr 1fr}
  .album{grid-template-columns:repeat(3,1fr)}
  .pp-hero{padding:18px;min-height:240px}
}

/* ===== Public profile v2 — "out of this world" ===== */
:root{--rare:#2ee6ff;--epic:#ff3fd4}
.xp-stage{--cover:none;position:relative;border-radius:32px;overflow:hidden;isolation:isolate;padding:44px 40px 40px;border:1px solid var(--line);background:#060816;min-height:520px}
.xp-stage::before{content:"";position:absolute;inset:-40px;z-index:-3;background:var(--cover) center 30%/cover no-repeat;filter:blur(38px) saturate(1.5) brightness(.55);transform:scale(1.15)}
.xp-stage::after{content:"";position:absolute;inset:0;z-index:-2;background:radial-gradient(90% 70% at 20% 0%,transparent,rgba(6,8,22,.55) 60%,#060816),linear-gradient(180deg,rgba(6,8,22,.2),rgba(6,8,22,.85))}
.xp-aurora{position:absolute;inset:-20% -10% auto;height:120%;z-index:-1;pointer-events:none;opacity:.6;mix-blend-mode:screen;background:radial-gradient(40% 35% at 25% 30%,color-mix(in srgb,var(--amber) 38%,transparent),transparent 70%),radial-gradient(35% 40% at 75% 20%,color-mix(in srgb,var(--hot) 36%,transparent),transparent 70%),radial-gradient(30% 30% at 55% 70%,color-mix(in srgb,var(--amber) 18%,color-mix(in srgb,var(--hot) 18%,transparent)),transparent 70%);animation:aur 16s ease-in-out infinite alternate;filter:blur(10px)}
@keyframes aur{0%{transform:translate3d(-3%,0,0) rotate(0)}100%{transform:translate3d(4%,3%,0) rotate(6deg)}}
.xp-floor{position:absolute;left:-10%;right:-10%;bottom:-30%;height:60%;z-index:-1;pointer-events:none;opacity:.35;background-image:linear-gradient(color-mix(in srgb,var(--amber) 50%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--hot) 45%,transparent) 1px,transparent 1px);background-size:48px 48px;transform:perspective(500px) rotateX(62deg);-webkit-mask-image:linear-gradient(transparent,#000 50%);mask-image:linear-gradient(transparent,#000 50%)}
.xp-inner{display:grid;grid-template-columns:minmax(260px,330px) minmax(0,1fr);gap:44px;align-items:center;perspective:1200px}

.xp-card{--tier:var(--rare);--rx:0deg;--ry:0deg;--mx:50%;--my:50%;position:relative;aspect-ratio:3/4.1;border-radius:26px;overflow:hidden;isolation:isolate;background:var(--bg-2);transform:rotateX(var(--rx)) rotateY(var(--ry));transform-style:preserve-3d;transition:transform .6s cubic-bezier(.2,.8,.2,1);box-shadow:0 0 0 1.5px color-mix(in oklab,var(--tier) 60%,transparent),0 0 60px -10px color-mix(in oklab,var(--tier) 55%,transparent),0 40px 80px -30px #000;animation:xpfloat 6s ease-in-out infinite}
.xp-card.epic{--tier:var(--epic)}.xp-card.leg{--tier:var(--leg)}
.xp-card:hover{transition:transform .08s linear;animation-play-state:paused}
@keyframes xpfloat{50%{translate:0 -8px}}
.xp-art{position:absolute;inset:0;z-index:-2;background:center 25%/cover no-repeat;display:grid;place-items:center;background-color:#11183a}
.xp-art span{font:900 92px var(--display);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.xp-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(6,8,22,.35),transparent 30%,transparent 50%,rgba(6,8,22,.92))}
.xp-card::after{content:"";position:absolute;inset:0;z-index:5;pointer-events:none;opacity:.32;mix-blend-mode:color-dodge;background:radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.6),transparent 40%),repeating-linear-gradient(115deg,rgba(255,80,160,.3) 0 6%,rgba(90,220,255,.3) 12%,rgba(255,220,80,.3) 18%,rgba(255,80,160,.3) 24%);background-size:100% 100%,220% 220%;background-position:0 0,var(--mx) var(--my)}
.xp-card::before{content:"";position:absolute;inset:0;z-index:6;pointer-events:none;border-radius:inherit;padding:1.5px;background:conic-gradient(from var(--spin,0deg),var(--tier),transparent 30%,var(--tier) 50%,transparent 80%,var(--tier));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;animation:spin 6s linear infinite}
@property --spin{syntax:"<angle>";inherits:false;initial-value:0deg}
@keyframes spin{to{--spin:360deg}}
.xp-tier{position:absolute;top:14px;left:14px;font:800 10.5px var(--mono);letter-spacing:.18em;padding:6px 10px;border-radius:8px;color:#0a0910;background:var(--tier);box-shadow:0 6px 20px -6px var(--tier)}
.xp-live{position:absolute;top:14px;right:14px;display:flex;align-items:center;gap:6px;font:800 10.5px var(--mono);letter-spacing:.14em;padding:6px 10px;border-radius:8px;background:var(--busy);color:#fff}
.xp-live::before{content:"";width:7px;height:7px;border-radius:50%;background:#fff;animation:blink 1.4s infinite}
@keyframes blink{50%{opacity:.25}}
.xp-card-foot{position:absolute;left:14px;right:14px;bottom:14px;display:flex;align-items:center;gap:10px;z-index:7}
.xp-mini{width:46px;height:46px;border-radius:50%;object-fit:cover;border:2px solid var(--tier);flex:none}
.xp-voice{flex:1;min-width:0;background:rgba(6,8,22,.65);backdrop-filter:blur(10px);border-color:color-mix(in oklab,var(--tier) 50%,transparent)}
.xp-voice .vwave{flex:1;min-width:0;overflow:hidden;justify-content:space-between}
.xp-voice .vplay{flex:none}
.xp-voice .vwave i{flex:none}
.xp-voice .vlen{flex:none;font-variant-numeric:tabular-nums}
@media (max-width:620px){
  .xp-card-foot{left:10px;right:10px;bottom:10px;gap:8px}
  .xp-mini{width:40px;height:40px}
  .xp-voice{gap:8px;padding:5px 12px 5px 5px}
  .xp-voice .vplay{width:32px;height:32px;font-size:12px}
  .xp-voice .vwave{height:22px;gap:2px}
  .xp-voice .vlen{font-size:12px}
}
.xp-novoice{font:700 11px var(--mono);letter-spacing:.08em;padding:8px 12px;border-radius:999px;background:rgba(6,8,22,.6)}

.xp-info{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;min-width:0;width:100%;justify-self:stretch;justify-items:start;container-type:inline-size}
.xp-status{display:inline-flex;align-items:center;gap:9px;padding:7px 14px 7px 11px;border-radius:999px;font:800 12px var(--mono);letter-spacing:.1em;text-transform:uppercase;background:rgba(255,255,255,.06);border:1px solid var(--line-2);color:var(--muted)}
.xp-status i{width:9px;height:9px;border-radius:50%;background:var(--dim);position:relative}
.xp-status.st-online{color:var(--online);border-color:color-mix(in oklab,var(--online) 45%,transparent);background:color-mix(in oklab,var(--online) 10%,transparent)}
.xp-status.st-online i{background:var(--online);box-shadow:0 0 12px var(--online)}
.xp-status.st-online i::after,.xp-status.st-in_game i::after{content:"";position:absolute;inset:-4px;border-radius:50%;border:2px solid currentColor;animation:ping 1.8s cubic-bezier(0,0,.2,1) infinite}
@keyframes ping{80%,100%{transform:scale(2.2);opacity:0}}
.xp-status.st-in_game{color:var(--hot);border-color:color-mix(in oklab,var(--hot) 45%,transparent);background:color-mix(in oklab,var(--hot) 10%,transparent)}
.xp-status.st-in_game i{background:var(--hot);box-shadow:0 0 12px var(--hot)}
.xp-status.st-away{color:var(--leg);border-color:color-mix(in oklab,var(--leg) 40%,transparent)}
.xp-status.st-away i{background:var(--leg)}
.xp-name{margin:0;justify-self:stretch;max-width:100%;white-space:nowrap;font:900 min(92px,calc(100cqw / (var(--nl,8) * .74)))/.98 var(--display);font-stretch:118%;letter-spacing:-.02em;background:linear-gradient(100deg,#fff 10%,var(--amber) 45%,var(--hot) 85%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:namesh 8s ease-in-out infinite alternate;padding-bottom:.06em}
@keyframes namesh{to{background-position:100% 0}}
.xp-tag{margin:0;font:600 clamp(18px,2.2vw,23px)/1.35 var(--body);color:var(--fg);max-width:34ch}
.xp-meta{margin:0;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font:600 13.5px var(--mono);color:var(--muted)}
.xp-meta b{color:var(--fg)}.xp-meta .sep{color:var(--hot);opacity:.7}
.xp-stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));width:100%;border-radius:20px;overflow:hidden;border:1px solid var(--line-2);background:rgba(6,8,22,.5);backdrop-filter:blur(12px)}
.xp-stats>div{display:grid;gap:2px;padding:14px 16px;border-left:1px solid var(--line)}
.xp-stats>div:first-child{border-left:0}
.xp-stats b{font:900 26px/1.1 var(--display);font-stretch:112%}
.xp-stats .hot b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.xp-stats small{font:700 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.xp-plats{display:flex;flex-wrap:wrap;gap:8px}
.plat{display:inline-flex;align-items:center;gap:7px;padding:7px 13px;border-radius:12px;font:700 13px var(--body);background:linear-gradient(180deg,rgba(255,255,255,.09),rgba(255,255,255,.03));border:1px solid var(--line-2)}
.plat svg,.plat-chip svg{width:16px;height:16px;color:var(--amber);flex:none}
.plat-chip{display:inline-flex;align-items:center;gap:7px}
.chip.on.plat-chip svg{color:#061022}
.chip.vibe{background:color-mix(in oklab,var(--hot) 12%,transparent);border-color:color-mix(in oklab,var(--hot) 35%,transparent);color:color-mix(in oklab,var(--hot) 30%,#fff)}
.xp-cta{gap:10px;margin-top:4px}
.xp-cta .btn:first-child{padding-inline:26px;box-shadow:0 10px 40px -10px var(--hot)}

.xp-tabs{position:sticky;top:72px;z-index:4;display:flex;gap:4px;padding:6px;border-radius:999px;background:rgba(7,10,24,.72);backdrop-filter:blur(16px);border:1px solid var(--line);width:max-content;max-width:100%;overflow-x:auto;scrollbar-width:none;margin:0 auto}
.xp-tabs a{flex:none;padding:9px 18px;border-radius:999px;font:700 14px var(--body);color:var(--muted);text-decoration:none;white-space:nowrap}
.xp-tabs a:hover{color:var(--fg);background:var(--glass-2)}
.xp-tabs small{font:700 11px var(--mono);margin-left:4px;color:var(--hot)}
.xp-sec{scroll-margin-top:140px;display:grid;gap:18px;padding:30px;border-radius:28px;border:1px solid var(--line);background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015))}
.xp-sec-h{display:flex;align-items:baseline;justify-content:space-between;gap:12px;flex-wrap:wrap}
.xp-sec h2{margin:0;font:900 34px/1 var(--display);font-stretch:115%}
.xp-games{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:14px}
.xg{position:relative;display:grid;gap:0;padding:0;border-radius:18px;overflow:hidden;text-align:left;background:var(--bg-2);border:1px solid var(--line);color:var(--fg);transition:transform .25s,border-color .25s,box-shadow .25s}
.xg .gtile{border-radius:0}
.xg:hover{transform:translateY(-4px);border-color:var(--line-2)}
.xg:hover .gt-art{transform:scale(1.06)}
.xg.on{border-color:transparent;box-shadow:0 0 0 2px var(--amber),0 18px 40px -16px var(--amber)}
.xg-body{display:grid;gap:2px;padding:12px 14px;min-width:0}
.xg-body b{font:800 15px var(--body);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.xg-price{font:900 18px var(--display);font-stretch:110%;color:var(--amber);white-space:nowrap}
.xg-price small{font:700 11px var(--mono);color:var(--dim);margin-left:2px}
.xg .tag{position:absolute;top:10px;right:10px}
.xp-svc{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:16px;align-items:start}
.xp-detail{--c:#7a5cff;display:grid;grid-template-columns:220px minmax(0,1fr);gap:22px;padding:20px;border-radius:22px;border:1px solid color-mix(in oklab,var(--c) 40%,transparent);background:radial-gradient(120% 120% at 0% 0%,color-mix(in oklab,var(--c) 22%,transparent),transparent 60%),var(--bg-2)}
.xp-detail-art .gtile{aspect-ratio:3/4;border-radius:16px;box-shadow:0 20px 40px -18px #000}
.xp-detail-art .gt-art.cv{background-position:center}
.xp-detail-body{display:grid;gap:10px;align-content:start;min-width:0}
.xp-detail-body h3{margin:0;font:900 30px/1 var(--display);font-stretch:112%}
.xp-bigprice{margin:0;font:900 52px/1 var(--display);font-stretch:115%;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;display:grid;gap:6px}
.xp-bigprice small{font:700 13px var(--mono);color:var(--muted);-webkit-text-fill-color:var(--muted)}
.xp-types{display:grid;gap:8px;padding:16px;border-radius:22px;border:1px solid var(--line);background:rgba(6,8,22,.45)}
.xp-types h3{margin:0 0 4px;font:800 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:var(--dim)}
.xt{display:flex;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;border-radius:14px;border:1px solid transparent;background:var(--glass);color:var(--fg);text-align:left}
.xt span{display:grid;min-width:0}.xt b{font-size:14.5px}.xt small{color:var(--dim);font:600 12px var(--mono)}
.xt em{font:900 17px var(--display);font-style:normal;color:var(--amber)}
.xt:hover{background:var(--glass-2)}
.xt.on{border-color:color-mix(in oklab,var(--amber) 50%,transparent);background:color-mix(in oklab,var(--amber) 10%,transparent)}
.xp-album{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:170px;gap:12px}
.xp-album .ph{position:relative;border-radius:18px;overflow:hidden;border:1px solid var(--line);background:var(--bg-2);padding:0}
.xp-album .ph.big{grid-column:span 2;grid-row:span 2}
.xp-album .ph img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .5s}
.xp-album .ph:hover img{transform:scale(1.07)}
.xp-album .ph::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 60%,rgba(6,8,22,.5));opacity:0;transition:opacity .3s}
.xp-album .ph:hover::after{opacity:1}
.xp-about{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr);gap:30px}
.xp-about h2{margin-bottom:12px}
.xp-facts{display:grid;gap:16px;align-content:start}
.xp-facts .eyebrow{display:block;margin-bottom:8px}
.xp-since{margin:0;font:800 20px var(--display)}

/* reviews */
.stars{display:inline-flex;gap:1px;font-size:14px;line-height:1;color:rgba(255,255,255,.18)}
.stars i{font-style:normal}.stars i.on{color:var(--leg);text-shadow:0 0 10px rgba(255,201,77,.5)}
.stars.lg{font-size:22px;gap:3px}
.rv-sum{display:grid;grid-template-columns:220px minmax(0,1fr);gap:28px;align-items:center;padding:20px;border-radius:22px;background:rgba(6,8,22,.45);border:1px solid var(--line)}
.rv-score{display:grid;gap:6px;justify-items:center;text-align:center}
.rv-score b{font:900 68px/1 var(--display);font-stretch:115%;background:linear-gradient(180deg,#fff,var(--leg));-webkit-background-clip:text;background-clip:text;color:transparent}
.rv-bars{display:grid;gap:8px}
.rv-bars div{display:grid;grid-template-columns:32px minmax(0,1fr) 28px;align-items:center;gap:10px;font:700 12px var(--mono);color:var(--muted)}
.rv-bars i{height:9px;border-radius:9px;background:rgba(255,255,255,.07);overflow:hidden}
.rv-bars em{display:block;height:100%;border-radius:9px;background:linear-gradient(90deg,var(--leg),var(--hot))}
.rv-bars small{text-align:right}
.rv-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:14px}
.rv,.rv-form{display:grid;gap:12px;padding:18px;border-radius:20px;border:1px solid var(--line);background:var(--glass)}
.rv-h{display:flex;align-items:center;gap:12px}
.rv-h>div{display:grid;flex:1;min-width:0}
.rv-h small{color:var(--dim);font:600 12px var(--mono)}
.rv p{margin:0;color:var(--fg);line-height:1.6}
.rv-empty{display:grid;justify-items:center;gap:6px;padding:30px;text-align:center;border-radius:22px;border:1px dashed var(--line-2)}
.rv-big{font:900 54px var(--display);color:var(--dim)}
.rv-form{margin-top:12px}
.rv-form textarea{width:100%;resize:vertical;border-radius:14px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--fg);padding:12px;font:15px var(--body)}
.star-pick{display:inline-flex;flex-direction:row-reverse;justify-content:flex-end;gap:4px}
.star-pick input{position:absolute;opacity:0;pointer-events:none}
.star-pick label{cursor:pointer;font-size:32px;line-height:1;color:rgba(255,255,255,.18);transition:transform .15s,color .15s}
.star-pick label:hover,.star-pick label:hover~label,.star-pick label:has(input:checked),.star-pick label:has(input:checked)~label{color:var(--leg);text-shadow:0 0 14px rgba(255,201,77,.55)}
.star-pick label:hover{transform:scale(1.15)}
.star-pick label:has(input:focus-visible){outline:2px solid var(--amber);border-radius:6px}

@media (max-width:900px){
  .xp-stage{padding:28px 22px;min-height:0}
  .xp-inner{grid-template-columns:minmax(0,1fr);gap:28px;justify-items:center}
  .xp-card{width:min(300px,78vw)}
  .xp-info{justify-items:center;text-align:center}
  .xp-meta,.xp-info .xp-plats,.xp-info .chips,.xp-cta{justify-content:center}
  .xp-svc{grid-template-columns:minmax(0,1fr)}
  .xp-about{grid-template-columns:minmax(0,1fr)}
  .xp-tabs{top:64px}
}
@media (max-width:620px){
  .xp-stage{border-radius:24px;padding:22px 16px}
  .xp-stats{grid-template-columns:repeat(2,minmax(0,1fr))}
  .xp-stats>div:nth-child(3){border-left:0}
  .xp-stats>div:nth-child(n+3){border-top:1px solid var(--line)}
  .xp-sec{padding:20px 16px;border-radius:22px}
  .xp-sec h2{font-size:26px}
  .xp-games{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
  .xg-body{padding:10px 12px}
  .xp-detail{grid-template-columns:minmax(0,1fr);padding:16px}
  .xp-detail-art .gtile{aspect-ratio:16/9}
  .xp-bigprice{font-size:42px}
  .xp-album{grid-template-columns:repeat(2,1fr);grid-auto-rows:130px}
  .rv-sum{grid-template-columns:minmax(0,1fr);gap:16px}
  .rv-list{grid-template-columns:minmax(0,1fr)}
  .xp-tabs{width:100%}
}
@media (prefers-reduced-motion:reduce){.xp-card,.xp-aurora,.xp-name,.xp-card::before{animation:none}}

/* ===== Profile themes ===== */
.xp-root{display:grid;gap:22px;min-width:0}
.xp-backdrop{position:fixed;inset:0;z-index:-1;pointer-events:none;background:radial-gradient(60% 50% at 10% 0%,color-mix(in srgb,var(--amber) 16%,transparent),transparent 70%),radial-gradient(55% 50% at 95% 15%,color-mix(in srgb,var(--hot) 16%,transparent),transparent 70%),radial-gradient(70% 50% at 50% 110%,color-mix(in srgb,var(--hot) 12%,transparent),transparent 70%)}
.xp-root .btn:not(.ghost){color:var(--on,#061022);box-shadow:0 10px 34px -10px var(--hot)}
.xp-root .xp-cta .btn:first-child{box-shadow:0 10px 40px -10px var(--hot)}
.xp-root .time:hover,.xp-root .xt.on{border-color:var(--amber)}
.xp-root .lb-x:hover,.xp-root .lb-nav:hover{border-color:var(--hot)}
.th-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:10px}
.th{display:grid;gap:8px;padding:8px 8px 10px;border-radius:16px;border:1px solid var(--line);background:var(--glass);color:var(--fg);text-align:left;transition:transform .15s,border-color .15s}
.th:hover{transform:translateY(-2px);border-color:var(--line-2)}
.th-sw{position:relative;display:block;height:54px;border-radius:11px;overflow:hidden;background:radial-gradient(70% 90% at 15% 10%,color-mix(in srgb,var(--amber) 55%,transparent),transparent 70%),radial-gradient(70% 90% at 90% 90%,color-mix(in srgb,var(--hot) 55%,transparent),transparent 70%),#0a0e22}
.th-sw::after{content:"Aa";position:absolute;left:10px;bottom:6px;font:900 20px var(--display);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.th b{font-size:13px;padding-left:2px}
.th.on{border-color:transparent;box-shadow:0 0 0 2px var(--amber),0 10px 26px -12px var(--hot)}
.th-custom{display:flex;flex-wrap:wrap;align-items:center;gap:12px;padding:14px;border-radius:16px;border:1px dashed var(--line-2)}
.th-custom .eyebrow{flex-basis:100%}
.th-custom label{display:inline-flex;align-items:center;gap:8px;font-weight:700;font-size:14px}
.th-custom input[type=color]{width:42px;height:32px;padding:0;border:1px solid var(--line-2);border-radius:8px;background:none;cursor:pointer}
.th-prev{width:90px;height:32px;border-radius:999px;background:var(--grad);box-shadow:0 6px 20px -8px var(--hot)}

/* ===== Profile extras ===== */
.xp-fx{position:fixed;inset:0;width:100vw;height:100vh;z-index:-1;pointer-events:none;opacity:.6}
.xp-pills{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.xp-twlive,.xp-next{display:inline-flex;align-items:center;gap:8px;padding:7px 13px;border-radius:999px;font:800 12px var(--mono);letter-spacing:.06em;text-decoration:none;border:1px solid var(--line-2);background:rgba(6,8,22,.5);color:var(--fg)}
.xp-twlive{color:#fff;background:#9146ff;border-color:transparent;box-shadow:0 8px 24px -10px #9146ff}
.xp-twlive i{width:8px;height:8px;border-radius:50%;background:#fff;animation:blink 1.4s infinite}
.xp-next b{color:var(--amber)}
.xp-badges{display:flex;flex-wrap:wrap;gap:8px}
.bdg{--b:var(--amber);display:inline-flex;align-items:center;gap:7px;padding:6px 12px 6px 7px;border-radius:999px;font:800 12.5px var(--body);color:#fff;background:linear-gradient(135deg,color-mix(in oklab,var(--b) 30%,transparent),color-mix(in oklab,var(--b) 8%,transparent));border:1px solid color-mix(in oklab,var(--b) 55%,transparent);box-shadow:0 6px 20px -10px var(--b);cursor:default}
.bdg i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%;font-style:normal;font-size:13px;background:rgba(0,0,0,.35)}
.bdg-top{--b:#ffc94d}.bdg-rising{--b:#ff7ad9}.bdg-s10{--b:#2ee6ff}.bdg-s50{--b:#ff8a3d}.bdg-s100{--b:#9be8ff}.bdg-night{--b:#8c7bff}.bdg-favorite{--b:#c06cff}.bdg-new{--b:#52f2a2}
.xp-follow.on{border-color:color-mix(in oklab,var(--hot) 60%,transparent);color:color-mix(in oklab,var(--hot) 40%,#fff);background:color-mix(in oklab,var(--hot) 12%,transparent)}
.xp-music{max-width:260px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.eq{display:inline-flex;align-items:flex-end;gap:2px;height:14px;flex:none}
.eq i{width:3px;height:40%;border-radius:2px;background:var(--amber)}
.xp-music.playing .eq i{animation:eq .8s ease-in-out infinite}
.xp-music.playing .eq i:nth-child(2){animation-delay:-.25s}.xp-music.playing .eq i:nth-child(3){animation-delay:-.5s}
@keyframes eq{50%{height:100%;background:var(--hot)}}
.xp-social{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:13.5px}
.soc{display:inline-flex;align-items:center;gap:7px;padding:5px 11px 5px 5px;border-radius:999px;text-decoration:none;color:var(--fg);font-weight:700;font-size:13px;border:1px solid var(--line-2);background:var(--glass)}
.soc i{display:grid;place-items:center;width:22px;height:22px;border-radius:7px;font:900 11px var(--display);font-style:normal;color:#fff}
.soc-twitch i{background:#9146ff}.soc-youtube i{background:#ff0033}.soc-tiktok i{background:#111;box-shadow:inset 0 0 0 1px #2ee6ff}.soc-kick i{background:#53fc18;color:#061022}.soc-instagram i{background:linear-gradient(45deg,#feda75,#fa7e1e 30%,#d62976 60%,#962fbf 85%,#4f5bd5)}.soc-blaze i{background:#f0b90b;color:#1a1305}.soc-threads i{background:#000;color:#fff;box-shadow:inset 0 0 0 1px rgba(255,255,255,.35)}
.soc:hover{border-color:var(--amber)}
.xp-activity{margin:0;font:600 13.5px var(--body);color:var(--muted)}
.xg-rank,.xg-deal{position:absolute;left:10px;font:800 10.5px var(--mono);font-style:normal;letter-spacing:.06em;padding:4px 8px;border-radius:7px}
.xg-rank{top:10px;background:rgba(6,8,22,.78);color:var(--leg);border:1px solid rgba(255,201,77,.4)}
.xg-deal{top:36px;background:var(--grad);color:var(--on,#061022)}
.xp-rank{justify-self:start;font:800 13px var(--mono);color:var(--leg);padding:5px 10px;border-radius:9px;background:rgba(255,201,77,.08);border:1px solid rgba(255,201,77,.3)}
.xp-mode{justify-self:start}
.xp-mode button[aria-pressed="true"]{background:var(--grad);color:var(--on,#061022);border-color:transparent}
.xp-gift{justify-self:start;font-weight:800;color:var(--amber)}
.gift-form{display:grid;gap:10px;padding:16px;border-radius:16px;border:1px dashed color-mix(in oklab,var(--hot) 50%,transparent);background:color-mix(in oklab,var(--hot) 6%,transparent)}
.gift-form p{margin:0}
.xp-clips{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px;align-items:start}
.clip{position:relative;width:100%;aspect-ratio:16/9;border-radius:18px;overflow:hidden;border:1px solid var(--line-2);padding:0;background:radial-gradient(80% 90% at 20% 10%,color-mix(in srgb,var(--amber) 35%,transparent),transparent 70%),radial-gradient(80% 90% at 90% 90%,color-mix(in srgb,var(--hot) 35%,transparent),transparent 70%),#0a0e22 center/cover no-repeat;color:#fff;display:block}
.clip.tall{aspect-ratio:9/16;max-height:520px}
iframe.clip{border:0}
.clip-play{position:absolute;inset:0;margin:auto;width:64px;height:64px;border-radius:50%;display:grid;place-items:center;font-size:22px;background:var(--grad);color:var(--on,#061022);box-shadow:0 10px 30px -8px var(--hot);transition:transform .2s}
.clip:hover .clip-play{transform:scale(1.1)}
.clip-src{position:absolute;left:12px;bottom:10px;font:800 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;padding:4px 8px;border-radius:7px;background:rgba(6,8,22,.75)}
.xp-prompts{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px}
.pq{position:relative;padding:20px;border-radius:20px;border:1px solid var(--line);background:linear-gradient(160deg,color-mix(in oklab,var(--amber) 10%,transparent),color-mix(in oklab,var(--hot) 8%,transparent));overflow:hidden}
.pq::before{content:"“";position:absolute;right:14px;top:-10px;font:900 90px var(--display);color:color-mix(in oklab,var(--hot) 30%,transparent)}
.pq span{font:800 11.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--amber)}
.pq p{margin:8px 0 0;font:700 19px/1.35 var(--body)}

/* card frames */
.xp-card.fr-neon::after{opacity:0}
.xp-card.fr-neon{box-shadow:0 0 0 2px var(--amber),0 0 24px 2px color-mix(in srgb,var(--amber) 60%,transparent),0 0 60px 6px color-mix(in srgb,var(--hot) 40%,transparent),0 40px 80px -30px #000}
.xp-card.fr-neon::before{padding:3px;background:linear-gradient(var(--spin,0deg),var(--amber),var(--hot))}
.xp-card.fr-frost::after{opacity:1;mix-blend-mode:normal;background:linear-gradient(160deg,rgba(255,255,255,.28),rgba(255,255,255,.04) 40%,rgba(255,255,255,0) 60%,rgba(255,255,255,.16)),radial-gradient(circle at var(--mx) var(--my),rgba(255,255,255,.35),transparent 40%)}
.xp-card.fr-frost{box-shadow:0 0 0 1.5px rgba(255,255,255,.55),0 0 50px -10px rgba(200,240,255,.6),0 40px 80px -30px #000}
.xp-card.fr-frost::before{background:linear-gradient(135deg,#fff,rgba(255,255,255,.2),#bfefff)}
.xp-card.fr-glitch::after{opacity:.5;mix-blend-mode:screen;background:repeating-linear-gradient(0deg,rgba(255,255,255,.06) 0 2px,transparent 2px 4px),linear-gradient(90deg,rgba(255,0,80,.35),transparent 30%,transparent 70%,rgba(0,255,240,.35));animation:glitch 2.6s steps(1) infinite}
@keyframes glitch{0%,86%,100%{transform:none;clip-path:none}88%{transform:translateX(-6px);clip-path:inset(20% 0 55% 0)}90%{transform:translateX(5px);clip-path:inset(60% 0 12% 0)}92%{transform:translateX(-3px);clip-path:inset(5% 0 80% 0)}}
.xp-card.fr-glitch{box-shadow:-3px 0 0 #ff2e74,3px 0 0 #00f0ff,0 0 50px -10px var(--hot),0 40px 80px -30px #000}
.xp-card.fr-prism::after{opacity:.45;background:conic-gradient(from calc(var(--spin,0deg) * 1) at var(--mx) var(--my),#ff4d4d,#ffd23f,#52f2a2,#2ee6ff,#8c5cff,#ff3fd4,#ff4d4d);mix-blend-mode:color-dodge;animation:spin 8s linear infinite}
.xp-card.fr-prism::before{background:conic-gradient(from var(--spin,0deg),#ff4d4d,#ffd23f,#52f2a2,#2ee6ff,#8c5cff,#ff3fd4,#ff4d4d)}
.xp-card.fr-gold{--tier:#ffc94d;box-shadow:0 0 0 2px #ffc94d,0 0 60px -6px rgba(255,201,77,.6),0 40px 80px -30px #000}
.xp-card.fr-gold::after{opacity:.55;mix-blend-mode:overlay;background:linear-gradient(115deg,transparent 30%,rgba(255,236,170,.9) 45%,rgba(255,190,60,.6) 50%,transparent 65%);background-size:250% 100%;background-position:calc(var(--mx) * 1.2) 0;animation:goldsheen 4s ease-in-out infinite}
@keyframes goldsheen{0%,100%{background-position:120% 0}50%{background-position:-20% 0}}
.xp-card.fr-gold::before{padding:3px;background:conic-gradient(from var(--spin,0deg),#fff3c4,#ffb000,#8a5a00,#ffd86b,#fff3c4)}
.xp-card.fr-gold .xp-tier{background:linear-gradient(135deg,#fff3c4,#ffb000);color:#2a1a00}
/* invite reward frames */
.xp-card.fr-legend{box-shadow:0 0 0 2px #fff,0 0 34px 2px rgba(46,230,255,.55),0 0 80px 8px rgba(255,63,212,.4),0 40px 80px -30px #000}
.xp-card.fr-legend::before{padding:4px;background:conic-gradient(from var(--spin,0deg),#2ee6ff,#8c5cff,#ff3fd4,#ffd23f,#52f2a2,#2ee6ff);animation:spin 4s linear infinite}
.xp-card.fr-legend::after{opacity:.6;mix-blend-mode:color-dodge;background:linear-gradient(115deg,transparent 20%,rgba(46,230,255,.55) 35%,rgba(255,63,212,.55) 50%,rgba(255,210,63,.5) 62%,transparent 78%);background-size:260% 100%;animation:holosweep 3.2s ease-in-out infinite}
@keyframes holosweep{0%,100%{background-position:130% 0}50%{background-position:-30% 0}}
.xp-card.fr-legend .xp-tier{background:linear-gradient(90deg,#2ee6ff,#8c5cff,#ff3fd4);color:#fff}
.xp-card.fr-legendary{--tier:#ffd86b;box-shadow:0 0 0 2px #ffd86b,0 0 0 5px #120a00,0 0 0 7px #ff3fd4,0 0 70px 6px rgba(255,190,60,.55),0 40px 80px -30px #000}
.xp-card.fr-legendary::before{padding:4px;background:conic-gradient(from var(--spin,0deg),#fff3c4,#ffb000,#ff3fd4,#2ee6ff,#ffb000,#fff3c4);animation:spin 3s linear infinite}
.xp-card.fr-legendary::after{opacity:.7;mix-blend-mode:overlay;background:linear-gradient(115deg,transparent 30%,rgba(255,246,200,.95) 44%,rgba(255,63,212,.55) 50%,rgba(46,230,255,.5) 56%,transparent 70%);background-size:260% 100%;animation:goldsheen 2.6s ease-in-out infinite}
.xp-card.fr-legendary .xp-tier{background:linear-gradient(135deg,#fff3c4,#ffb000);color:#2a1a00}
.xp-card.fr-legendary .xp-tier::before{content:"🏆 "}
.xp-engrave{position:absolute;left:14px;right:14px;bottom:74px;z-index:3;display:grid;justify-items:center;gap:2px;padding:10px 12px 9px;border-radius:14px;text-align:center;
  background:linear-gradient(180deg,rgba(28,18,2,.82),rgba(10,6,0,.9));border:1.5px solid transparent;
  background-clip:padding-box;box-shadow:0 0 0 1.5px #ffd86b,inset 0 1px 0 rgba(255,246,200,.35),inset 0 -1px 0 rgba(0,0,0,.6),0 10px 30px -8px rgba(255,190,60,.55)}
.xp-engrave::before{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(255,246,200,.35) 46%,transparent 60%);background-size:260% 100%;animation:goldsheen 3.4s ease-in-out infinite}
.eg-serial{font:800 10.5px var(--mono);letter-spacing:.24em;color:#c99a3a}
.eg-serial b{font-weight:800;color:#ffe7a3;text-shadow:0 0 10px rgba(255,201,77,.8)}
.eg-name{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font:900 19px var(--display);font-stretch:115%;letter-spacing:.02em;text-transform:uppercase;
  background:linear-gradient(180deg,#fff6d0 0%,#ffd86b 45%,#b9831f 55%,#ffe39a 100%);-webkit-background-clip:text;background-clip:text;color:transparent;
  filter:drop-shadow(0 1px 0 rgba(0,0,0,.9)) drop-shadow(0 -1px 0 rgba(255,246,200,.25))}
.eg-sub{font:800 9px var(--mono);letter-spacing:.22em;color:#a8823a}
@media (prefers-reduced-motion:reduce){.xp-engrave::before{animation:none}}

/* editor */
.fr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px}
.fr-pick{display:grid;gap:8px;padding:10px;border-radius:16px;border:1px solid var(--line);background:var(--glass);color:var(--fg);text-align:left;justify-items:start}
.fr-pick b{font-size:13.5px}.fr-pick small{color:var(--dim);font-size:11.5px;line-height:1.3}
.fr-pick.on{border-color:transparent;box-shadow:0 0 0 2px var(--amber)}
.fr-pick:disabled{opacity:.6;cursor:not-allowed}
.fr-demo.xp-card{width:100%;aspect-ratio:3/4;border-radius:14px;animation:none;background:linear-gradient(160deg,#2a2f5a,#120f2a)}
.mu-up{display:grid;gap:10px;justify-items:start}
.mu-up .pf-search{width:100%}
.check{display:flex;gap:10px;align-items:flex-start;font-size:14px;color:var(--muted)}
.check input{margin-top:3px;accent-color:var(--hot)}
.soc-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px}
.pq-edit{display:grid;grid-template-columns:minmax(0,260px) minmax(0,1fr);gap:8px}
.pq-edit select{border-radius:12px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--fg);padding:10px}
.bundle-row{display:grid;grid-template-columns:minmax(0,1.2fr) auto 120px 130px auto auto;gap:10px;align-items:center;padding:10px 12px;border-radius:14px;background:var(--glass);border:1px solid var(--line)}
.bundle-row select{border-radius:10px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--fg);padding:8px}

/* Player 1 home */
.gift-banner{border-color:color-mix(in oklab,var(--hot) 45%,transparent);background:radial-gradient(90% 120% at 0% 0%,rgba(255,63,212,.18),transparent 60%),radial-gradient(90% 120% at 100% 100%,rgba(46,230,255,.14),transparent 60%),var(--glass)}
.gift-row{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:12px 0;border-bottom:1px solid var(--line)}
.gift-row>div{display:grid;gap:2px}
.fol-list{display:grid;gap:8px}
.fol{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:16px;border:1px solid var(--line);background:var(--glass);color:var(--fg);text-align:left}
.fol:hover{border-color:var(--line-2);background:var(--glass-2)}
.fol-b{display:grid;gap:3px;flex:1;min-width:0}
.fol-new{font:800 10.5px var(--mono);font-style:normal;letter-spacing:.08em;padding:3px 8px;border-radius:7px;background:var(--grad);color:#061022}

@media (max-width:620px){
  .xp-clips{grid-template-columns:minmax(0,1fr)}
  .pq-edit{grid-template-columns:minmax(0,1fr)}
  .bundle-row{grid-template-columns:1fr 1fr}
  .bundle-row b{grid-column:1/-1}
  .xp-social,.xp-badges,.xp-pills{justify-content:center}
}
@media (max-width:900px){.xp-social,.xp-badges,.xp-pills{justify-content:center}}
@media (prefers-reduced-motion:reduce){.xp-card.fr-glitch::after,.xp-card.fr-prism::after,.xp-card.fr-gold::after,.xp-card.fr-legend::before,.xp-card.fr-legend::after,.xp-card.fr-legendary::before,.xp-card.fr-legendary::after{animation:none}}

/* ===== Autosave ===== */
#save-pill{position:fixed;left:50%;bottom:22px;z-index:60;transform:translate(-50%,20px);opacity:0;pointer-events:none;padding:10px 18px;border-radius:999px;font:800 13.5px var(--body);background:rgba(10,14,32,.92);backdrop-filter:blur(14px);border:1px solid var(--line-2);box-shadow:0 18px 50px -14px #000;transition:opacity .25s,transform .25s;max-width:min(560px,calc(100vw - 32px));text-align:center}
#save-pill.show{opacity:1;transform:translate(-50%,0)}
#save-pill.ok{color:var(--online)}
#save-pill.busy{color:var(--fg)}
#save-pill.err{color:#fff;background:rgba(160,20,45,.94);border-color:var(--busy)}
.autosave-note{display:inline-flex;margin:6px 0 0;padding:6px 12px;border-radius:999px;font:700 12.5px var(--body);color:var(--online);background:rgba(82,242,162,.08);border:1px solid rgba(82,242,162,.3)}
.pf-panel>.autosave-note{justify-self:start}
.save-msg{margin:0;color:#ff8a9a;font-weight:700;font-size:13.5px}
.save-msg:empty{display:none}
.bundle-row .save-msg{grid-column:1/-1}
.dim.small{font-size:12.5px;margin:0}
.is-busy{opacity:.75;cursor:progress}
.is-busy::before{content:"";width:12px;height:12px;border-radius:50%;border:2px solid currentColor;border-right-color:transparent;animation:spin2 .8s linear infinite}
@keyframes spin2{to{transform:rotate(360deg)}}
.bundle-row{grid-template-columns:minmax(0,1.2fr) auto 140px 170px}

/* ===== Profile song player ===== */
.sng{--art:none;position:relative;display:grid;grid-template-columns:76px minmax(0,1fr) auto;align-items:center;gap:16px;width:min(100%,460px);padding:12px 18px 12px 12px;border-radius:22px;text-align:left;color:var(--fg);cursor:pointer;
  background:linear-gradient(120deg,color-mix(in oklab,var(--amber) 16%,rgba(8,10,26,.85)),color-mix(in oklab,var(--hot) 16%,rgba(8,10,26,.85)));
  border:1px solid color-mix(in oklab,var(--amber) 45%,transparent);box-shadow:0 14px 40px -16px var(--hot),inset 0 1px 0 rgba(255,255,255,.08);transition:transform .2s,box-shadow .2s}
.sng:hover{transform:translateY(-2px);box-shadow:0 20px 50px -14px var(--hot),inset 0 1px 0 rgba(255,255,255,.1)}
.sng.fresh::after{content:"";position:absolute;inset:-3px;border-radius:24px;border:2px solid var(--amber);opacity:0;animation:sngping 2.4s ease-out infinite;pointer-events:none}
@keyframes sngping{0%{opacity:.7;transform:scale(1)}80%,100%{opacity:0;transform:scale(1.06)}}
.sng-disc{position:relative;width:76px;height:76px;border-radius:50%;display:grid;place-items:center;
  background:radial-gradient(circle,transparent 0 29%,rgba(255,255,255,.07) 30%,transparent 31% 37%,rgba(255,255,255,.06) 38%,transparent 39% 45%,rgba(255,255,255,.05) 46%,transparent 47%),conic-gradient(from 30deg,#111 0 10%,#2a2a35 15%,#111 25%,#26262f 40%,#0d0d12 55%,#2a2a35 70%,#111 85%);
  box-shadow:0 8px 24px -6px #000,0 0 0 2px rgba(255,255,255,.06);animation:sngspin 3.2s linear infinite;animation-play-state:paused}
.sng-disc::before{content:"";position:absolute;width:42%;height:42%;border-radius:50%;background:var(--art) center/cover,var(--grad);box-shadow:0 0 0 2px rgba(0,0,0,.5)}
.sng-hole{position:relative;z-index:1;width:7px;height:7px;border-radius:50%;background:#05060f}
.sng.playing .sng-disc{animation-play-state:running}
@keyframes sngspin{to{transform:rotate(360deg)}}
.sng-play{position:absolute;left:12px;top:50%;width:76px;height:76px;transform:translateY(-50%);display:grid;place-items:center;font-size:20px;color:var(--on,#061022);pointer-events:none}
.sng-play::before{content:"";position:absolute;width:38px;height:38px;border-radius:50%;background:var(--grad);box-shadow:0 6px 18px -4px var(--hot);z-index:-1;transition:transform .2s,opacity .2s}
.sng-play{z-index:1;padding-left:2px}
.sng.playing .sng-play{opacity:0;transition:opacity .2s}
.sng.playing:hover .sng-play{opacity:1}
.sng-meta{display:grid;gap:4px;min-width:0}
.sng-kick{font:800 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--amber)}
.sng-kick b{color:var(--fg)}
.sng.fresh .sng-kick b{background:linear-gradient(90deg,var(--fg) 30%,var(--hot) 50%,var(--fg) 70%);background-size:200% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;animation:sngshine 2.4s linear infinite}
@keyframes sngshine{from{background-position:100% 0}to{background-position:-100% 0}}
.sng-title{font:900 19px/1.15 var(--display);font-stretch:108%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sng-bar{display:block;height:4px;border-radius:4px;background:rgba(255,255,255,.12);overflow:hidden;margin-top:4px}
.sng-bar i{display:block;height:100%;width:0;background:var(--grad);border-radius:4px;transition:width .25s linear}
.sng-eq{display:flex;align-items:flex-end;gap:3px;height:30px}
.sng-eq i{width:4px;height:25%;border-radius:2px;background:var(--grad);opacity:.6}
.sng.playing .sng-eq i{opacity:1;animation:sngeq .9s ease-in-out infinite}
.sng.playing .sng-eq i:nth-child(2){animation-delay:-.2s}.sng.playing .sng-eq i:nth-child(3){animation-delay:-.45s}.sng.playing .sng-eq i:nth-child(4){animation-delay:-.1s}.sng.playing .sng-eq i:nth-child(5){animation-delay:-.6s}
@keyframes sngeq{0%,100%{height:20%}50%{height:100%}}
@media (max-width:900px){.sng{justify-self:center}}
@media (max-width:420px){.sng{grid-template-columns:64px minmax(0,1fr);gap:12px}.sng-disc,.sng-play{width:64px;height:64px}.sng-eq{display:none}}
@media (prefers-reduced-motion:reduce){.sng-disc,.sng.fresh::after,.sng.fresh .sng-kick b,.sng.playing .sng-eq i{animation:none}}
.autosave-note{width:fit-content}

/* ===== Weekly schedule ===== */
.sched{display:grid;gap:14px}
.sched .pf-sec-h{align-items:flex-start}
.sched-start{display:grid;gap:8px;padding:14px;border-radius:16px;border:1px dashed var(--line-2)}
.rules{display:grid;gap:10px}
.rule{position:relative;display:grid;grid-template-columns:auto 1fr;grid-template-areas:"days time" "quick sum";gap:8px 18px;align-items:center;padding:14px 48px 14px 14px;border-radius:18px;border:1px solid var(--line);background:linear-gradient(135deg,rgba(46,230,255,.06),rgba(255,63,212,.05))}
.rule-days{grid-area:days;display:flex;gap:5px;flex-wrap:wrap}
.dchip{width:40px;height:40px;border-radius:12px;border:1px solid var(--line-2);background:var(--glass);color:var(--muted);font:800 13px var(--body)}
.dchip:hover{border-color:var(--amber);color:var(--fg)}
.dchip.on{background:var(--grad);color:#061022;border-color:transparent;box-shadow:0 6px 16px -8px var(--hot)}
.rule-quick{grid-area:quick;display:flex;gap:12px}
.rule-quick .linkbtn{font-size:12.5px}
.rule-time{grid-area:time;display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.rule-time select{border-radius:12px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--fg);padding:9px 10px;font:700 14px var(--body)}
.rule-time span{color:var(--dim);font-weight:700}
.next-day{font:800 11px var(--mono);font-style:normal;color:var(--leg);padding:3px 7px;border-radius:7px;background:rgba(255,201,77,.1)}
.rule-sum{grid-area:sum;margin:0;font:700 12.5px var(--mono);color:var(--amber)}
.rule-x{position:absolute;top:10px;right:10px;width:30px;height:30px;border-radius:50%;border:1px solid var(--line-2);background:rgba(7,10,24,.6);color:var(--muted)}
.rule-x:hover{border-color:var(--busy);color:#fff}
.sched-live{display:inline-flex;align-self:center;margin:0;cursor:pointer}
.sched-live input{position:absolute;opacity:0;width:1px;height:1px}
.sched-live-pill{position:relative;display:grid;grid-template-columns:1fr 1fr;width:156px;border-radius:999px;padding:3px;background:linear-gradient(90deg,rgba(46,230,255,.28),rgba(255,201,77,.28));box-shadow:0 0 0 1px rgba(46,230,255,.45),0 0 22px rgba(255,63,212,.25);font-weight:800;text-align:center}
.sched-live-pill i{position:absolute;top:3px;left:3px;width:calc(50% - 3px);height:calc(100% - 6px);border-radius:999px;background:var(--amber);box-shadow:0 0 14px rgba(46,230,255,.8);transition:transform .18s,background .18s,box-shadow .18s}
.sched-live-pill span{position:relative;z-index:1;padding:8px 0;font-size:14px}
.sched-live-pill span:first-of-type{color:#061022}
.sched-live-pill span:last-of-type{color:var(--leg)}
.sched-live input:checked+.sched-live-pill i{transform:translateX(100%);background:var(--leg);box-shadow:0 0 14px rgba(255,201,77,.85)}
.sched-live input:checked+.sched-live-pill span:first-of-type{color:var(--amber)}
.sched-live input:checked+.sched-live-pill span:last-of-type{color:#1a1204}
.sched-live input:focus-visible+.sched-live-pill{outline:2px solid var(--amber);outline-offset:3px}
.sched-pause{display:inline-flex;align-items:center;gap:10px;font:700 13.5px var(--body);color:var(--muted);cursor:pointer;white-space:nowrap}
.sched-pause input{position:absolute;opacity:0;pointer-events:none}
.sw{position:relative;width:40px;height:22px;border-radius:999px;background:rgba(255,255,255,.14);transition:background .2s}
.sw::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}
.sched-pause input:checked+.sw{background:var(--leg)}
.sched-pause input:checked+.sw::after{transform:translateX(18px)}
.sched-pause input:focus-visible+.sw{outline:2px solid var(--amber);outline-offset:2px}
.sched-pause:has(input:disabled){cursor:default;opacity:.6}
.sched-up{display:grid;gap:10px;padding-top:6px;border-top:1px solid var(--line)}
.up-days{display:grid;gap:8px}
.up-day{display:grid;grid-template-columns:170px 1fr;gap:10px;align-items:center}
.up-day>b{font-size:14px}
.up-list{display:flex;flex-wrap:wrap;gap:6px}
.up{display:inline-flex;align-items:center;gap:7px;padding:5px 6px 5px 11px;border-radius:999px;font:700 12.5px var(--mono);border:1px solid color-mix(in oklab,var(--amber) 35%,transparent);background:color-mix(in oklab,var(--amber) 8%,transparent)}
.up.one{border-color:color-mix(in oklab,var(--hot) 40%,transparent);background:color-mix(in oklab,var(--hot) 8%,transparent)}
.up small{font-size:10.5px;color:var(--hot)}
.up em{font-style:normal;font-size:10.5px;padding:2px 7px;border-radius:999px;background:var(--grad);color:#061022}
.up button{width:22px;height:22px;border-radius:50%;border:0;background:rgba(255,255,255,.08);color:var(--muted);font-size:11px}
.up button:hover{background:var(--busy);color:#fff}
.one-off summary{cursor:pointer;font-weight:800;color:var(--amber);list-style:none}
.one-off summary::-webkit-details-marker{display:none}
.one-off[open] summary{margin-bottom:12px}
.offday-card{justify-self:stretch;width:100%;scroll-margin-top:140px;display:grid;gap:10px;text-align:left;padding:16px 18px;border-radius:20px;border:1px solid rgba(255,201,77,.35);background:radial-gradient(ellipse at 100% 0%,rgba(255,201,77,.16),transparent 55%),radial-gradient(ellipse at 0% 100%,rgba(46,230,255,.12),transparent 58%),#0e0b18;box-shadow:0 16px 40px -24px rgba(255,201,77,.45)}
.offday-eye{margin:0;font:800 11px var(--mono);letter-spacing:.16em;text-transform:uppercase;color:#ffc94d}
.offday-card h2{margin:0;max-width:28ch;font:800 20px/1.25 var(--display);font-stretch:110%}
.offday-card > p:not(.offday-eye){margin:0;color:var(--muted);font-size:14px;line-height:1.45}
.offdays{display:flex;flex-direction:column;gap:8px;margin:10px 0 4px}
.offday-row{display:flex;flex-wrap:wrap;gap:8px}
.off-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.off-cell{display:grid;justify-items:center;gap:2px;padding:8px 2px;border-radius:14px;border:1px solid rgba(255,255,255,.08);background:transparent;color:#716a85;cursor:pointer;font:inherit}
.off-cell.off{border-color:rgba(46,230,255,.35);background:rgba(46,230,255,.08);color:var(--fg)}
.off-cell.sched{border-color:#ff8a3d;background:rgba(255,138,61,.14);color:#ffd7b8}
.off-cell.on{border-color:#ffc94d;background:#ffc94d;color:#1a1204}
.off-cell span{font:800 10px var(--mono);letter-spacing:.04em}
.off-cell b{font:800 16px/1 var(--display)}
.off-key{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;font:700 12.5px var(--body);color:var(--muted)}
.off-key span{display:inline-flex;align-items:center;gap:7px}
.off-key i{width:14px;height:14px;border-radius:5px;border:1px solid rgba(255,255,255,.2)}
.off-key i.sched{border-color:#ff8a3d;background:rgba(255,138,61,.25)}
.off-key i.off{border-color:rgba(46,230,255,.6);background:rgba(46,230,255,.18)}
.off-key i.on{border-color:#ffc94d;background:#ffc94d}
.off-hours{margin:0;color:var(--muted);font-size:13px;font-weight:700}
.off-pills,.off-games{display:flex;flex-wrap:wrap;gap:8px}
.off-pill,.off-game{padding:8px 12px;border-radius:999px;border:1px solid rgba(255,255,255,.14);background:transparent;color:var(--fg);font-weight:800;cursor:pointer}
.off-game{border-radius:14px;border-color:rgba(46,230,255,.35);background:rgba(46,230,255,.08)}
.off-pill.on{border-color:#ffc94d;background:#ffc94d;color:#1a1204}
.off-game.on{border-color:#ffc94d;background:rgba(255,201,77,.16);color:#ffc94d}
.off-line{display:grid;gap:6px;margin-top:8px}
.off-line span{font-size:12.5px;font-weight:700;color:var(--muted)}
.off-line input,.off-line select{width:100%;max-width:280px;padding:10px 12px;border-radius:12px;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:inherit}
/* The open list is drawn by the browser: give it the portal's dark colors so every time is readable. */
.off-line select{color-scheme:dark}
.off-line select option{background:#140f1c;color:#f6f3fb}
.off-line select option:disabled{color:#8d86a3}
.off-line select option:checked{background:#2ee6ff;color:#061022}
.off-time-pick select{max-width:340px}
#off-request:disabled{opacity:.45;cursor:default}
.offday{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px;padding:8px 12px;border-radius:999px;border:1px solid rgba(46,230,255,.4);background:rgba(46,230,255,.08);color:var(--fg);font-weight:700}
button.offday{cursor:pointer;font:inherit;text-align:left}
button.offday:hover{border-color:#2ee6ff}
.offday small{font-weight:600;color:var(--muted)}
.offday-promo{position:relative;overflow:hidden;border-radius:22px;padding:18px;background:radial-gradient(ellipse at 100% 0%,rgba(255,201,77,.28),transparent 46%),radial-gradient(ellipse at 0% 120%,rgba(255,63,212,.2),transparent 50%),#100d1c;box-shadow:0 18px 50px -28px rgba(255,201,77,.7)}
.offday-promo::before{content:"";position:absolute;inset:0;border-radius:inherit;padding:1px;pointer-events:none;background:linear-gradient(120deg,rgba(255,201,77,.95),rgba(46,230,255,.4),rgba(255,63,212,.85));-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude}
.offday-promo-top,.offday-promo-head,.offday-promo-foot{position:relative}
.offday-promo-top{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}
.offday-promo-head{display:flex;gap:14px;align-items:flex-start;min-width:0}
.offday-badge{display:grid;justify-items:center;width:72px;padding:8px 0 7px;border-radius:16px;flex:none;background:radial-gradient(circle at 50% 20%,rgba(46,230,255,.45),transparent 70%),#12182c;box-shadow:inset 0 0 0 1px rgba(46,230,255,.35)}
.offday-badge b{font:800 22px/1 var(--display);font-stretch:120%;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.offday-badge span{margin-top:3px;font:800 9px/1 var(--mono);letter-spacing:.14em;color:var(--amber)}
.offday-kicker{margin:0;font:800 11px/1 var(--mono);letter-spacing:.18em;text-transform:uppercase;color:var(--leg)}
.offday-promo h3{margin:6px 0;font:800 30px/1.02 var(--display);font-stretch:116%;letter-spacing:-.02em}
.offday-promo p{margin:0;color:var(--muted)}
.offday-switch{display:inline-flex;align-items:center;gap:10px;margin:0;font-weight:800;cursor:pointer;white-space:nowrap}
.offday-switch input{position:absolute;opacity:0;width:1px;height:1px}
.offday-glow{width:72px;height:32px;border-radius:999px;position:relative;flex:none;background:rgba(255,255,255,.08);color:var(--dim);font:800 11px/1 var(--mono);letter-spacing:.08em}
.offday-glow::before{content:"OFF";position:absolute;right:10px;top:10px}
.offday-glow::after{content:"";position:absolute;top:3px;left:3px;width:26px;height:26px;border-radius:50%;background:#8b86a0;transition:transform .18s}
.offday-switch input:checked+.offday-glow{background:var(--leg);color:#1a1204;box-shadow:0 0 18px rgba(255,201,77,.65)}
.offday-switch input:checked+.offday-glow::before{content:"ON";left:12px;right:auto}
.offday-switch input:checked+.offday-glow::after{transform:translateX(40px);background:#1a1204}
.offday-switch input:focus-visible+.offday-glow{outline:2px solid var(--amber);outline-offset:3px}
.offday-promo-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:14px;padding-top:12px;border-top:1px solid rgba(255,255,255,.1)}
.offday-promo-foot small{color:var(--dim);font-weight:600}
@media (max-width:620px){
  .rule{grid-template-columns:1fr;grid-template-areas:"days" "quick" "time" "sum";padding-right:14px;padding-top:44px}
  .dchip{width:36px;height:36px}
  .up-day{grid-template-columns:1fr}
}
.sched{grid-template-columns:minmax(0,1fr)}
.sched>*{min-width:0}
@media (max-width:620px){.rule{grid-template-columns:minmax(0,1fr)}.sched-pause{white-space:normal}.sched .pf-sec-h{flex-wrap:wrap}.offday-promo-top,.offday-promo-foot{flex-wrap:wrap}.offday-promo h3{font-size:26px}}
@media (max-width:620px){.bundle-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.bundle-row b{grid-column:1/-1}.bundle-row .pf-search{min-width:0}}
.sched #rule-add{justify-self:start}

/* ===== Social verification ===== */
.soc-rows{display:grid;gap:10px}
.soc-row{display:grid;grid-template-columns:220px minmax(0,1fr);gap:6px 16px;align-items:start;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:var(--glass)}
.soc-row .save-msg{grid-column:1/-1}
.soc-verify{display:grid;gap:8px;align-content:start;padding-top:24px}
.soc-verify:empty{display:none}
.sv-chip{justify-self:start;font:800 11.5px var(--mono);letter-spacing:.06em;padding:5px 10px;border-radius:999px;background:rgba(255,255,255,.08);color:var(--muted)}
.sv-chip.ok{background:rgba(82,242,162,.14);color:var(--online);border:1px solid rgba(82,242,162,.35)}
.sv-chip.no{background:rgba(255,201,77,.1);color:var(--leg);border:1px solid rgba(255,201,77,.3)}
.sv-chip.wait{background:rgba(140,123,255,.14);color:#c8bfff;border:1px solid rgba(140,123,255,.35)}
.sv-note{margin:0;font-size:13px;color:var(--muted)}
.sv-steps{margin:0;padding-left:20px;display:grid;gap:8px;font-size:14px}
.sv-steps a{color:var(--amber)}
.sv-code{display:inline-flex;align-items:center;gap:8px;margin-left:6px;padding:5px 10px;border-radius:10px;border:1px dashed var(--amber);background:rgba(46,230,255,.08);color:var(--fg);font:800 14px var(--mono);letter-spacing:.06em}
.sv-code i{font-style:normal;color:var(--amber)}
.sv-code.copied{border-style:solid;border-color:var(--online)}
@media (max-width:620px){.soc-row{grid-template-columns:minmax(0,1fr)}.soc-verify{padding-top:0}}

/* ===== Badge progress ===== */
.bt-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:10px}
.bt{--b:var(--amber);display:flex;gap:12px;align-items:flex-start;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:var(--glass)}
.bt.done{border-color:color-mix(in oklab,var(--b) 50%,transparent);background:linear-gradient(135deg,color-mix(in oklab,var(--b) 16%,transparent),transparent)}
.bt-ico{display:grid;place-items:center;flex:none;width:38px;height:38px;border-radius:12px;font-size:19px;background:rgba(0,0,0,.3);filter:grayscale(.7);opacity:.8}
.bt.done .bt-ico{filter:none;opacity:1;box-shadow:0 0 18px -4px var(--b)}
.bt-main{display:grid;gap:6px;flex:1;min-width:0}
.bt-top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.bt-top .mono{font-size:12px;color:var(--muted)}
.bt.done .bt-top .mono{color:var(--online)}
.bt-bar{height:8px;border-radius:8px;background:rgba(255,255,255,.08);overflow:hidden}
.bt-bar i{display:block;height:100%;border-radius:8px;background:linear-gradient(90deg,var(--b),color-mix(in oklab,var(--b) 50%,#fff));box-shadow:0 0 12px -2px var(--b);transition:width .6s cubic-bezier(.2,.8,.2,1)}
.bt-hint{font-size:12.5px;color:var(--muted);line-height:1.35}

/* ===== Per-game details ===== */
.gd-list{display:grid;gap:10px}
.gd{border-radius:18px;border:1px solid var(--line);background:var(--glass);overflow:hidden}
.gd[open]{border-color:color-mix(in oklab,var(--amber) 40%,transparent);background:linear-gradient(160deg,rgba(46,230,255,.05),rgba(255,63,212,.04))}
.gd summary{display:grid;grid-template-columns:96px minmax(0,1fr) auto;gap:14px;align-items:center;padding:10px 16px 10px 10px;cursor:pointer;list-style:none}
.gd summary::-webkit-details-marker{display:none}
.gd summary .gtile{border-radius:12px}
.gd-head{display:grid;gap:2px;min-width:0}
.gd-head b{font-size:16px}
.gd-sum{font:700 12.5px var(--mono);color:var(--amber);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.gd-chev{font-style:normal;font-size:20px;color:var(--muted);transition:transform .2s}
.gd[open] .gd-chev{transform:rotate(180deg)}
.gd-body{display:grid;gap:16px;padding:6px 16px 18px}
.gd-rank{max-width:320px}
.gd-group{display:grid;gap:8px}
.gd-label{font:800 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.gd-add{width:150px;border-radius:999px;border:1px dashed var(--line-2);background:transparent;color:var(--fg);padding:7px 13px;font:600 13px var(--body)}
.gd-add:focus{border-style:solid;border-color:var(--amber);outline:none}
.gd .chip svg{width:14px;height:14px;margin-right:4px;vertical-align:-2px}
/* on the public profile */
.gf{display:grid;gap:8px;padding:12px 14px;border-radius:14px;background:rgba(6,8,22,.45);border:1px solid var(--line)}
.gf-row{display:grid;grid-template-columns:110px minmax(0,1fr);gap:10px;align-items:center}
.gf-row>span{font:800 10.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}
.gf-chips{display:flex;flex-wrap:wrap;gap:6px}
.gf-chips em{font-style:normal;display:inline-flex;align-items:center;gap:5px;padding:4px 10px;border-radius:999px;font:700 12.5px var(--body);background:color-mix(in oklab,var(--amber) 10%,transparent);border:1px solid color-mix(in oklab,var(--amber) 30%,transparent)}
.gf-chips em svg{width:14px;height:14px;color:var(--amber)}
.gf-chips em.gf-rank{color:var(--leg);background:rgba(255,201,77,.08);border-color:rgba(255,201,77,.35)}
@media (max-width:620px){.gd summary{grid-template-columns:64px minmax(0,1fr) auto}.gf-row{grid-template-columns:minmax(0,1fr)}}
.bt.bdg-top{--b:#ffc94d}.bt.bdg-rising{--b:#ff7ad9}.bt.bdg-s10{--b:#2ee6ff}.bt.bdg-s50{--b:#ff8a3d}.bt.bdg-s100{--b:#9be8ff}.bt.bdg-night{--b:#8c7bff}.bt.bdg-favorite{--b:#c06cff}

/* ===== Sigils (earned achievements) ===== */
.sigils{gap:10px}
.sgl{--g:var(--amber);position:relative;isolation:isolate;display:inline-flex;align-items:center;gap:10px;padding:5px 16px 5px 5px;border-radius:999px;cursor:default;
  background:linear-gradient(135deg,color-mix(in oklab,var(--g) 26%,rgba(8,10,26,.92)),rgba(8,10,26,.88) 70%);
  border:1px solid color-mix(in oklab,var(--g) 65%,transparent);
  box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 16px -4px var(--g),0 0 0 0 color-mix(in oklab,var(--g) 40%,transparent);
  animation:sglin .7s cubic-bezier(.2,1.4,.4,1) backwards,sglpulse 3.2s ease-in-out infinite;animation-delay:var(--d),calc(var(--d) + .7s)}
.sgl:hover,.sgl:focus-visible{transform:translateY(-2px);box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 0 30px 2px var(--g);outline:none}
.sgl b{font:900 13px var(--display);font-stretch:112%;letter-spacing:.04em;text-transform:uppercase;background:linear-gradient(180deg,#fff 30%,color-mix(in oklab,var(--g) 70%,#fff));-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 6px color-mix(in oklab,var(--g) 60%,transparent))}
.sgl-hex{position:relative;display:grid;place-items:center;width:34px;height:38px;clip-path:polygon(50% 0,100% 25%,100% 75%,50% 100%,0 75%,0 25%);
  background:conic-gradient(from var(--spin,0deg),var(--g),#fff 12%,var(--g) 30%,color-mix(in oklab,var(--g) 35%,#000) 55%,var(--g) 80%,#fff 92%,var(--g));animation:spin 4s linear infinite}
.sgl-hex::before{content:"";position:absolute;inset:2px;clip-path:inherit;background:radial-gradient(circle at 50% 35%,color-mix(in oklab,var(--g) 45%,#0b0f24),#070a18 75%)}
.sgl-hex i{position:relative;font-style:normal;font-size:16px;line-height:1;filter:drop-shadow(0 0 6px var(--g)) drop-shadow(0 0 2px #fff)}
.sgl-shine{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:-1}
.sgl-shine::after{content:"";position:absolute;top:0;bottom:0;width:45%;left:-60%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.28),transparent);transform:skewX(-18deg);animation:sglshine 4.8s ease-in-out infinite;animation-delay:calc(var(--d) + 1.2s)}
@keyframes sglin{0%{opacity:0;transform:scale(.4) translateY(8px);filter:brightness(3)}60%{opacity:1;filter:brightness(1.8)}100%{transform:none;filter:none}}
@keyframes sglpulse{50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 26px 0 var(--g),0 0 0 4px color-mix(in oklab,var(--g) 12%,transparent)}}
@keyframes sglshine{0%,55%{left:-60%}85%,100%{left:130%}}
.sgl-top{--g:#ffc94d}.sgl-rising{--g:#ff7ad9}.sgl-s10{--g:#2ee6ff}.sgl-s50{--g:#ff8a3d}.sgl-s100{--g:#9be8ff}.sgl-night{--g:#8c7bff}.sgl-favorite{--g:#c06cff}.sgl-new{--g:#52f2a2}
.sgl-founder{--g:#ffd76a;background:linear-gradient(120deg,rgba(255,215,106,.18),rgba(255,138,61,.12));border-color:rgba(255,215,106,.55)!important}
.sgl-founder b{color:#ffe7a3}
@media (prefers-reduced-motion:reduce){.sgl,.sgl-hex,.sgl-shine::after{animation:none}}

/* ===== Booking notice ===== */
.notice-box{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;padding:14px 16px;border-radius:16px;border:1px solid color-mix(in oklab,var(--leg) 35%,transparent);background:rgba(255,201,77,.05)}
.notice-box>div:first-child{display:grid;gap:2px}
.notice-box .save-msg{flex-basis:100%}
.notice-pick{display:inline-flex;gap:6px}
.notice-pick select{border-radius:12px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--fg);padding:8px 10px;font:700 14px var(--body)}
.notice-now{font:800 12.5px var(--mono);color:var(--leg)}
.rule-notice{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;gap:10px}
.mini-check{display:inline-flex;align-items:center;gap:8px;font-size:13px;color:var(--muted);cursor:pointer}
.mini-check input{accent-color:var(--leg)}
@media (max-width:620px){.rule-notice{grid-area:auto}}
.time.preview{display:inline-flex;cursor:default;opacity:.85}

/* ===== Safety modal ===== */
.sm-back{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:16px;background:rgba(4,6,16,.72);backdrop-filter:blur(8px)}
.sm-card{width:min(460px,100%);display:grid;gap:12px;padding:22px;border-radius:22px;background:#0d1328;border:1px solid var(--line-2);box-shadow:0 30px 80px -20px #000}
.sm-card h3{margin:0;font-size:22px}
.sm-card p{margin:0}
.sm-opt{display:grid;gap:3px;text-align:left;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:var(--glass);color:var(--fg)}
.sm-opt:hover{border-color:var(--line-2);background:var(--glass-2)}
.sm-opt span{font-size:13.5px;color:var(--muted)}
.sm-reasons{display:grid;gap:6px;max-height:280px;overflow:auto}
.sm-reasons label{display:flex;gap:10px;align-items:center;padding:9px 12px;border-radius:12px;border:1px solid var(--line);cursor:pointer;font-size:14.5px}
.sm-reasons label:has(input:checked){border-color:var(--hot);background:rgba(255,63,212,.08)}
.sm-reasons input{accent-color:var(--hot)}
.sm-card textarea{width:100%;border-radius:12px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--fg);padding:10px;font:15px var(--body);resize:vertical}
.sm-err{color:#ff8a9a;font-weight:700;font-size:13.5px}
.sm-err:empty{display:none}
/* Site-styled confirm (replaces window.confirm) */
#confirm-modal{z-index:90;animation:cf-fade .18s ease-out}
.cf-card{position:relative;overflow:hidden;border-color:rgba(46,230,255,.28);box-shadow:0 30px 80px -20px #000,0 0 0 1px rgba(255,63,212,.12),0 0 60px -18px rgba(255,63,212,.45);animation:cf-pop .2s ease-out}
.cf-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--grad)}
.cf-card .eyebrow{color:var(--amber)}
.cf-card p.dim{line-height:1.5;color:var(--fg);opacity:.82}
.cf-terms{display:grid;gap:4px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,201,77,.28);background:rgba(255,201,77,.06);font-size:13.5px;line-height:1.5;color:var(--muted)}
.cf-terms b{font:800 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--leg)}
.cf-actions{justify-content:flex-end;margin-top:4px}
@media (max-width:480px){.cf-actions{flex-direction:column-reverse;align-items:stretch}.cf-actions .btn{width:100%}}
@keyframes cf-fade{from{opacity:0}}
@keyframes cf-pop{from{opacity:0;transform:translateY(8px) scale(.98)}}
@media (prefers-reduced-motion:reduce){#confirm-modal,.cf-card{animation:none}}
.xp-more{padding-inline:16px;font-size:20px;line-height:1}
.chat-tools{margin-left:auto;display:flex;gap:14px}
.linkbtn.danger{color:#ff8a9a}
.xp-rel{display:inline-flex;align-items:center;gap:6px;padding:7px 13px;border-radius:999px;font:800 12px var(--mono);letter-spacing:.06em;border:1px solid var(--line-2);background:rgba(6,8,22,.5);color:var(--muted)}
.xp-rel.good{color:var(--online);border-color:rgba(82,242,162,.4);background:rgba(82,242,162,.08)}

/* ===== Help tickets ===== */
.tkt-row{width:100%;text-align:left;color:var(--fg);background:transparent;border:0;cursor:pointer}
.tkt-st{font:800 11px var(--mono);letter-spacing:.06em;padding:4px 9px;border-radius:999px;white-space:nowrap;background:rgba(255,255,255,.08);color:var(--muted)}
.tkt-st.st-answered{background:rgba(82,242,162,.14);color:var(--online)}
.tkt-st.st-open{background:rgba(255,201,77,.12);color:var(--leg)}
.tkt-thread{display:grid;gap:10px}
.tkt-msg{display:grid;gap:3px;padding:12px 14px;border-radius:16px;border:1px solid var(--line);background:var(--glass);max-width:88%}
.tkt-msg.you{justify-self:end;background:rgba(46,230,255,.06);border-color:rgba(46,230,255,.25)}
.tkt-msg.team{border-color:rgba(255,63,212,.3);background:rgba(255,63,212,.06)}
.tkt-msg time{font:600 11px var(--mono);color:var(--dim)}
.tkt-msg p{margin:0;white-space:pre-wrap}

/* ===== Readiness checklist ===== */
.ready-card{display:grid;gap:16px;border-color:color-mix(in oklab,var(--amber) 35%,transparent)}
.ready-card.is-ready{border-color:rgba(82,242,162,.4)}
.ready-head{display:flex;gap:18px;align-items:center}
.ready-head h2{margin:2px 0 4px}
.ready-head p.dim{margin:0}
.ring{--p:0;flex:none;width:86px;height:86px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(var(--amber) calc(var(--p) * 1%),rgba(255,255,255,.08) 0);position:relative}
.ring::before{content:"";position:absolute;inset:8px;border-radius:50%;background:#0b1024}
.ring b{position:relative;font:900 20px var(--display)}
.ready-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:8px}
.ready-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:var(--glass);color:var(--fg);text-align:left;font-weight:700;font-size:14px}
.ready-item:hover{border-color:var(--line-2)}
.ready-item i{display:grid;place-items:center;flex:none;width:26px;height:26px;border-radius:50%;font-style:normal;font-size:13px;background:rgba(255,201,77,.14);color:var(--leg)}
.ready-item.ok{opacity:.7}
.ready-item.ok i{background:rgba(82,242,162,.16);color:var(--online)}
.ready-item small{margin-left:auto;font:800 10px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim)}

/* ===== Earnings calculator ===== */
.calc-in{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:12px}
.calc-in input{width:100%}
.calc-out{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}
.calc-out>div{display:grid;gap:2px;padding:14px;border-radius:16px;border:1px solid var(--line);background:var(--glass)}
.calc-out b{font:900 24px var(--display)}
.calc-out .hot b{background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
@media (max-width:620px){.calc-out{grid-template-columns:minmax(0,1fr)}.ready-head{flex-direction:column;align-items:flex-start}}
#help-new textarea,#help-reply textarea,#help-new select{width:100%;border-radius:14px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--fg);padding:11px 12px;font:15px var(--body);resize:vertical}
.gt-art.hero{background-size:cover;background-position:center}
.gt-art.hero::before{content:"";position:absolute;inset:0;background:radial-gradient(80% 70% at 50% 50%,rgba(0,0,0,.25),transparent 70%)}
.gt-art.hero img{position:absolute;left:12%;top:14%;width:76%;height:72%;object-fit:contain;filter:drop-shadow(0 4px 14px rgba(0,0,0,.6))}
.xp-langs{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.xp-langs-l{font:800 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--dim);margin-right:4px}
.lang{padding:5px 11px;border-radius:999px;font:700 13px var(--body);background:rgba(255,255,255,.06);border:1px solid var(--line-2)}

/* ---------- book by time (20-minute blocks) ---------- */
.xg-time{position:absolute;right:10px;bottom:46px;font:800 10.5px var(--mono);font-style:normal;letter-spacing:.04em;padding:4px 8px;border-radius:7px;background:rgba(6,9,22,.78);border:1px solid rgba(255,255,255,.18);color:#fff}
.len-pick{display:flex;flex-wrap:wrap;gap:6px}
.len-pick .len{background:var(--glass);border:1px solid var(--line);border-radius:12px;padding:8px 12px;font:800 13px var(--body);color:var(--muted);cursor:pointer;transition:transform .12s}
.len-pick .len:hover{transform:translateY(-1px);color:var(--fg)}
.len-pick .len[aria-pressed="true"]{background:var(--grad);color:var(--on,#061022);border-color:transparent;box-shadow:0 6px 18px -8px var(--hot)}
.bm{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px}
.bm-opt{display:flex;gap:12px;align-items:flex-start;text-align:left;padding:12px 14px;border-radius:16px;background:var(--glass);border:1px solid var(--line);color:var(--fg);font:inherit;cursor:pointer}
.bm-opt b{display:block;font-size:15px}
.bm-opt small{display:block;color:var(--muted);font-size:12.5px;margin-top:2px}
.bm-opt[aria-pressed="true"],.bm-time.on{border-color:color-mix(in oklab,var(--amber) 60%,transparent);background:linear-gradient(135deg,color-mix(in oklab,var(--amber) 12%,transparent),color-mix(in oklab,var(--hot) 8%,transparent))}
.bm-time{flex-direction:column;cursor:default}
.bm-tg{display:flex;gap:12px;align-items:flex-start;background:none;border:0;padding:0;color:inherit;font:inherit;text-align:left;cursor:pointer}
.bm-sw{flex:none;position:relative;width:36px;height:21px;border-radius:999px;background:rgba(255,255,255,.14);margin-top:1px;transition:background .2s}
.bm-sw:after{content:"";position:absolute;top:3px;left:3px;width:15px;height:15px;border-radius:50%;background:#fff;transition:transform .2s}
[aria-pressed="true"]>.bm-sw{background:var(--grad)}
[aria-pressed="true"]>.bm-sw:after{transform:translateX(15px)}
.bm-price{display:flex;align-items:center;gap:6px;padding:6px 10px;border-radius:12px;background:rgba(0,0,0,.25);border:1px solid var(--line-2);width:100%}
.bm-price span{color:var(--muted);font-weight:800}
.bm-price input{flex:1;min-width:0;background:none;border:0;color:var(--fg);font:800 16px var(--body);outline:none}
.bm-len{margin-top:8px}.bm-len.need{border-color:var(--gold,#ffd86b);box-shadow:0 0 0 2px rgba(255,216,107,.18)}
.bm-price em{font-style:normal;color:var(--muted);font-size:12.5px;white-space:nowrap}
.bm-eg{color:var(--muted);font-size:12px}
.xt em{white-space:nowrap}
.xt em small{font:700 11px var(--mono);color:var(--dim);margin-left:2px}
.len-pick .len small{display:block;font:800 10px var(--mono);letter-spacing:.04em;color:var(--online,#52f2a2);margin-top:2px}
.len-pick .len.deal{border-color:color-mix(in oklab,var(--online,#52f2a2) 55%,transparent)}
.len-pick .len[aria-pressed="true"] small{color:inherit;opacity:.85}

/* ---------- specials ---------- */
.sp-note{margin:0 0 4px;color:var(--muted);font-size:13px}
.sp-row{display:flex;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 14px;border-radius:16px;background:linear-gradient(135deg,color-mix(in oklab,var(--hot) 12%,transparent),color-mix(in oklab,var(--amber) 8%,transparent));border:1px solid color-mix(in oklab,var(--hot) 45%,transparent)}
.sp-row.ended{opacity:.6;background:var(--glass);border-color:var(--line)}
.sp-fields{display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-weight:800;flex:1 1 280px}
.sp-fields select,.sp-fields input,.sp-end input{background:rgba(0,0,0,.3);border:1px solid var(--line-2);border-radius:10px;padding:7px 10px;color:var(--fg);font:800 14px var(--body)}
.sp-fields input{width:84px}
.sp-fields input.sp-num{width:58px}
.sp-end{display:flex;align-items:center;gap:6px;color:var(--muted);font-size:12.5px;font-weight:700}
.sp-end input{font-size:13px;padding:6px 8px;color-scheme:dark}
.sp-when{font:800 11.5px var(--mono);color:var(--online,#52f2a2)}
.sp-when.off{color:var(--busy,#ff5a6e)}
.sp-x{margin-left:auto;background:none;border:1px solid var(--line-2);color:var(--muted);border-radius:999px;width:30px;height:30px;cursor:pointer}
.sp-x:hover{color:#fff;border-color:var(--hot)}
.sp-add{display:flex;flex-wrap:wrap;gap:8px}
.sp-chips{display:flex;flex-wrap:wrap;gap:8px}
.sp-chip{display:inline-flex;align-items:center;gap:8px;padding:7px 12px;border-radius:999px;font-weight:800;font-size:13.5px;color:#fff;background:linear-gradient(100deg,color-mix(in oklab,var(--hot) 35%,transparent),color-mix(in oklab,var(--amber) 25%,transparent));border:1px solid color-mix(in oklab,var(--hot) 60%,transparent);box-shadow:0 0 18px -8px var(--hot)}
.sp-chip small{font:800 10.5px var(--mono);color:var(--leg,#ffc94d)}
.sp-first{margin:0;padding:10px 14px;border-radius:14px;font-weight:700;font-size:14px;background:rgba(82,242,162,.1);border:1px solid rgba(82,242,162,.4);color:#c9ffe4}
.xp-bigprice s{font-size:.45em;color:var(--dim);margin-right:10px;vertical-align:middle;-webkit-text-fill-color:var(--dim)}
.g-add{display:grid;gap:10px;padding:14px;border-radius:16px;background:var(--glass);border:1px dashed var(--line-2)}
.g-add .chip.on{opacity:.55;cursor:default}
.gd-vis .bm-vis{max-width:420px}
.gd-rm{display:flex;flex-wrap:wrap;align-items:baseline;gap:4px 12px;border-top:1px solid var(--line);padding-top:12px}
.gd-rmbtn{color:#ff8a9a}
.gd-rmbtn:hover{text-decoration:underline}
.gd-rm small{font-size:12px}

/* ---------- sessions panel ---------- */
.ss-card{display:flex;flex-direction:column;gap:14px;min-width:0}
.ss-side{align-self:start}
.ss-tabs{justify-self:start}
.ss-tabs b{margin-left:4px;font:800 12px var(--mono);opacity:.8}
.ss-tabs button[data-ss-tab="past"]:not([aria-pressed="true"]),
.ss-tabs button[data-ss-tab="past"]:not([aria-pressed="true"]) b{color:#fff;opacity:1}
.ss{display:grid;gap:10px;min-width:0}
.ss-empty{margin:4px 0}
.ss-next{display:grid;gap:10px;padding:16px;border-radius:18px;background:linear-gradient(135deg,color-mix(in oklab,var(--amber) 14%,transparent),color-mix(in oklab,var(--hot) 10%,transparent));border:1px solid color-mix(in oklab,var(--amber) 45%,transparent);box-shadow:0 0 30px -14px var(--amber)}
.ss-next.live{border-color:color-mix(in oklab,var(--online,#52f2a2) 60%,transparent);box-shadow:0 0 30px -10px var(--online,#52f2a2)}
.ss-next-top{display:flex;justify-content:space-between;align-items:center;gap:10px}
.ss-count{font:800 13px var(--mono);color:var(--amber)}
.ss-next.live .ss-count{color:var(--online,#52f2a2)}
.ss-next-what{font:800 19px var(--display);font-stretch:110%;line-height:1.2}
.ss-next-foot{align-items:center}
.ss-act{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-left:auto}
.ss-list{display:grid;gap:6px}
/* Each row: when | what | status on top, the buttons on their own line underneath, so nothing ever overlaps. */
.ss-row{display:grid;grid-template-columns:92px minmax(0,1fr) auto;grid-template-areas:"when what tag" "when act act";align-items:center;gap:6px 12px;padding:10px 12px;border-radius:14px;background:var(--glass);border:1px solid var(--line)}
.ss-row .ss-when{grid-area:when;align-self:start}.ss-row .ss-what{grid-area:what}.ss-row .tag{grid-area:tag;align-self:start}.ss-row .ss-act{grid-area:act;justify-content:flex-start}
.ss-row .ss-act:empty{display:none}
.ss-row>:not(.ss-when):not(.ss-what):not(.tag):not(.ss-act){grid-column:1/-1}
.ss-what small{overflow-wrap:anywhere}
.ss-row.past{opacity:.78}
.ss-when{display:grid;line-height:1.2}
.ss-when b{font-size:13px}
.ss-when small,.ss-what small{color:var(--muted);font-size:12px}
.ss-what{display:grid;min-width:0}
.ss-what b{font-size:14px;line-height:1.25;overflow:hidden;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.ss-row .ss-act{margin-left:0}
.ss-more{justify-self:start;font-weight:800;color:var(--amber)}
/* A narrow sessions card (the two-column home, phones) stacks each row: what + status, then when, then the buttons. */
.ss-list{container-type:inline-size}
.ss-row .tag{white-space:nowrap;justify-self:end}
@container (max-width:520px){
  .ss-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"what tag" "when when" "act act";row-gap:6px}
  .ss-row .ss-what{grid-area:what}.ss-row .tag{grid-area:tag;align-self:start}
  .ss-row .ss-when{grid-area:when;display:flex;gap:6px;align-items:baseline}
  .ss-row .ss-act{grid-area:act;justify-content:flex-start;padding-top:8px;border-top:1px solid var(--line)}
  .ss-row .ss-act:empty{display:none}
}
@supports not (container-type:inline-size){@media (max-width:620px){
  .ss-row{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"what tag" "when when" "act act"}
  .ss-row .ss-what{grid-area:what}.ss-row .tag{grid-area:tag}.ss-row .ss-when{grid-area:when;display:flex;gap:6px;align-items:baseline}.ss-row .ss-act{grid-area:act;justify-content:flex-start}
}}
/* Player 1 review: nudge card, button and sheet. */
.rv-quick{display:inline-flex;gap:2px}
.rv-quick button{background:none;border:0;padding:0 2px;font-size:34px;line-height:1;color:rgba(255,255,255,.2);cursor:pointer;transition:transform .12s,color .12s}
.rv-quick:hover button{color:var(--leg)}
.rv-quick button:hover~button{color:rgba(255,255,255,.2)}
.rv-quick button:hover{transform:scale(1.15)}
.rv-nudge{border-color:rgba(255,201,77,.4)}
.rv-btn{background:linear-gradient(135deg,#ffc94d,#ff9f43);color:#1a1205}
.rv-done{color:var(--leg)}
.rv-stars{display:flex;align-items:center;gap:4px;margin:6px 0 10px}
.rv-stars button{background:none;border:0;padding:0 2px;font-size:40px;line-height:1;color:rgba(255,255,255,.18);cursor:pointer;transition:transform .12s,color .12s}
.rv-stars button.on{color:var(--leg);text-shadow:0 0 14px rgba(255,201,77,.55)}
.rv-stars button:hover{transform:scale(1.15)}
.rv-stars .rv-word{margin-left:10px;font-size:16px;font-weight:800;color:var(--leg)}
/* Tip celebration for Player 2s. */
.tp-scrim{position:fixed;inset:0;z-index:1200;display:grid;place-items:center;padding:16px;background:rgba(5,6,14,.72);backdrop-filter:blur(6px);animation:tpIn .25s ease-out}
.tp-scrim.out{opacity:0;transition:opacity .25s}
.tp-fall{position:fixed;inset:0;pointer-events:none;overflow:hidden}
.tp-fall i{position:absolute;top:-40px;left:var(--x);animation:tpFall var(--d) var(--delay) cubic-bezier(.3,.6,.5,1) forwards;opacity:0}
.tp-coin{width:26px;height:26px;border-radius:50%;display:grid;place-items:center;font:800 14px/1 var(--mono, monospace);font-style:normal;color:#5a3c00;background:radial-gradient(circle at 35% 30%,#fff3b0,#ffc94d 55%,#d99a1a);box-shadow:0 0 12px rgba(255,201,77,.6)}
.tp-conf{width:8px;height:14px;border-radius:2px;background:hsl(var(--h) 90% 62%)}
.tp-card{position:relative;width:min(420px,100%);text-align:center;padding:30px 24px 22px;border-radius:24px;background:linear-gradient(160deg,rgba(82,242,162,.16),rgba(20,22,40,.96) 45%);border:1px solid rgba(82,242,162,.45);box-shadow:0 20px 80px rgba(82,242,162,.25);animation:tpPop .5s cubic-bezier(.2,1.4,.4,1)}
.tp-burst{font-size:54px;line-height:1;animation:tpBounce 1s ease-in-out infinite alternate}
.tp-amt{display:block;margin:6px 0 4px;font-size:64px;line-height:1;font-weight:900;background:linear-gradient(90deg,#7dffb5,#2ee6ff);-webkit-background-clip:text;background-clip:text;color:transparent;font-variant-numeric:tabular-nums}
.tp-card h3{margin:4px 0 10px}
.tp-note{margin:0 0 10px;font-style:italic;font-size:16px}
.tp-note small{font-style:normal;color:var(--muted)}
.tp-btns{justify-content:center;margin-top:14px}
@keyframes tpIn{from{opacity:0}}
@keyframes tpPop{from{transform:scale(.6);opacity:0}}
@keyframes tpBounce{to{transform:translateY(-8px) rotate(-6deg)}}
@keyframes tpFall{0%{opacity:1;transform:translateY(0) rotate(0)}100%{opacity:.9;transform:translateY(110vh) rotate(var(--r))}}
@media (prefers-reduced-motion:reduce){.tp-burst,.tp-card,.tp-scrim{animation:none}}
/* A Player 1's "love sent" celebration, in the Player 2's theme colors. */
.sl-card{background:linear-gradient(160deg,color-mix(in srgb,var(--hot) 22%,transparent),rgba(14,16,32,.97) 50%),#0e1020;border:1px solid transparent;background-clip:padding-box;box-shadow:0 0 0 1px color-mix(in srgb,var(--hot) 55%,transparent),0 24px 90px -10px color-mix(in srgb,var(--hot) 45%,transparent)}
.sl-heart{position:relative;width:96px;height:96px;margin:0 auto 8px;display:grid;place-items:center}
.sl-heart .sup-heart{position:relative;z-index:1;filter:drop-shadow(0 0 18px color-mix(in srgb,var(--hot) 70%,transparent));animation:slBeat 1.1s ease-in-out infinite}
.sl-ring{position:absolute;inset:6px;border-radius:50%;border:2px solid var(--hot);opacity:0;animation:slRing 1.8s ease-out infinite}
.sl-ring.two{border-color:var(--amber);animation-delay:.9s}
.sl-eye{color:var(--amber)}
.sl-amt{background:var(--grad);-webkit-background-clip:text;background-clip:text}
.sl-ok{background:var(--grad);color:var(--on,#061022)}
.tp-fall .sl-fh{width:var(--s);height:var(--s);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.2l-1.4-1.3C5.4 15.2 2 12.1 2 8.3 2 5.2 4.4 2.8 7.5 2.8c1.7 0 3.4.8 4.5 2.1 1.1-1.3 2.8-2.1 4.5-2.1 3.1 0 5.5 2.4 5.5 5.5 0 3.8-3.4 6.9-8.6 11.6L12 21.2z'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath d='M12 21.2l-1.4-1.3C5.4 15.2 2 12.1 2 8.3 2 5.2 4.4 2.8 7.5 2.8c1.7 0 3.4.8 4.5 2.1 1.1-1.3 2.8-2.1 4.5-2.1 3.1 0 5.5 2.4 5.5 5.5 0 3.8-3.4 6.9-8.6 11.6L12 21.2z'/%3E%3C/svg%3E") center/contain no-repeat;filter:drop-shadow(0 0 6px currentColor)}
.tp-fall .sl-fh.a{background:var(--hot);color:var(--hot)}
.tp-fall .sl-fh.b{background:var(--amber);color:var(--amber)}
.tp-fall .sl-conf{width:8px;height:14px;border-radius:2px}
.tp-fall .sl-conf.a{background:var(--amber)}
.tp-fall .sl-conf.b{background:var(--hot)}
@keyframes slBeat{0%,100%{transform:scale(1)}15%{transform:scale(1.16)}30%{transform:scale(.96)}45%{transform:scale(1.1)}}
@keyframes slRing{0%{transform:scale(.7);opacity:.8}100%{transform:scale(1.6);opacity:0}}
@media (prefers-reduced-motion:reduce){.sl-heart .sup-heart,.sl-ring{animation:none}}


/* Player 2 payouts list (Credits tab) */
.po-list{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:8px}
.po-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;padding:10px 12px;border:1px solid var(--line,rgba(255,255,255,.09));border-radius:12px;background:rgba(255,255,255,.03)}
.po-list li span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.po-list li small{grid-column:1/-1}

/* Booking confirmation */
.bk-scrim{position:fixed;inset:0;z-index:9000;display:grid;place-items:center;padding:16px;background:rgba(4,6,16,.72);backdrop-filter:blur(6px)}
.bk-sheet{width:min(440px,100%);background:var(--bg-2,#0d1328);border:1px solid var(--line-2,rgba(255,255,255,.16));border-radius:20px;padding:22px;box-shadow:0 30px 80px rgba(0,0,0,.5)}
.bk-sheet h3{margin:6px 0 14px;font-size:22px}
.bk-list{margin:0 0 14px;display:grid;gap:8px}
.bk-list div{display:flex;justify-content:space-between;gap:12px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04)}
.bk-list dt{color:var(--muted,#aaa4ba)}
.bk-list dd{margin:0;text-align:right}
.bk-short{color:var(--busy,#ff5a6e);font-weight:700}
.bk-list .bk-total{background:rgba(255,255,255,.09)}
.bk-list .bk-total dt{color:inherit;font-weight:700}
.xp-bigprice small.xp-fee{opacity:.9}
.bk-actions{justify-content:flex-end;gap:10px;margin-top:6px}
/* Games card header: the Add a game button never squeezes into a tall pill. */
#add-game{white-space:nowrap;flex:none}
@media (max-width:620px){
  .games-card>.pf-sec-h{flex-direction:column;align-items:stretch;gap:12px}
  .games-card>.pf-sec-h #add-game{width:100%;justify-content:center}
}
.xp-pop{position:absolute;z-index:900;display:grid;gap:4px;padding:12px 14px;border-radius:14px;background:var(--bg-2,#0d1328);border:1px solid var(--line-2,rgba(255,255,255,.16));box-shadow:0 18px 50px rgba(0,0,0,.5);font-size:13.5px;line-height:1.45;color:var(--muted);animation:nfIn .14s ease-out}
.xp-pop b{color:var(--fg);font-size:14px}
.rv-exnote{display:block;margin-top:4px;font-size:12px;color:var(--muted)}
.rv-example .rv-h b{color:var(--muted)}
.rv-exav{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;flex:none;background:rgba(255,255,255,.06);border:1px dashed rgba(255,255,255,.25);color:var(--muted)}
/* Help-tab FAQ */
#bookings,.games-card,.sched,.pn-p2,.dc,.ready-card,.gift-banner,#help-new,#faq,.pf-body{scroll-margin-top:84px}
.faq-cats{margin:10px 0 4px}
.faq-group{margin-top:14px}
.faq-gh{margin:0 0 6px;font:700 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.faq-item{border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.03);margin-bottom:6px}
.faq-item summary{cursor:pointer;list-style:none;padding:12px 40px 12px 14px;font-weight:700;position:relative}
.faq-item summary::-webkit-details-marker{display:none}
.faq-item summary::after{content:"+";position:absolute;right:14px;top:50%;transform:translateY(-50%);font-size:20px;color:var(--muted)}
.faq-item[open] summary::after{content:"−"}
.faq-item[open]{background:rgba(255,255,255,.05)}
.faq-a{padding:0 14px 14px;color:var(--muted);line-height:1.55;font-size:14.5px}
.faq-go{display:inline-flex;align-items:center;margin:8px 8px 0 0;padding:6px 12px;border-radius:999px;border:1px solid color-mix(in oklab,var(--amber) 55%,transparent);background:color-mix(in oklab,var(--amber) 12%,transparent);color:var(--amber);font:700 13px inherit;cursor:pointer}
.faq-go:hover{background:color-mix(in oklab,var(--amber) 22%,transparent)}
/* Platforms & crossplay */
.pl-line{margin:10px 0 0;padding:9px 12px;border-radius:12px;font-size:14px;line-height:1.4;background:rgba(255,255,255,.05);border:1px solid var(--line)}
.pl-line.ok{background:rgba(82,242,162,.08);border-color:rgba(82,242,162,.35)}
.pl-line.warn{background:rgba(255,201,77,.09);border-color:rgba(255,201,77,.45)}
.pl-line small{color:var(--muted)}
.pl-ask .linkbtn{font-size:14px}
.bk-plat{margin:0 0 12px}
.bk-plat .pl-line{margin-top:0}
.bk-plat .chips{margin:6px 0 4px}
.pl-banner{display:flex;gap:10px;align-items:flex-start;margin:0 0 12px;padding:12px 14px;border-radius:14px;background:rgba(255,201,77,.09);border:1px solid rgba(255,201,77,.4);font-size:14px;line-height:1.45}
.pl-need{color:var(--leg)}
.gf-chips em.gf-xp{font-style:normal;color:var(--muted);background:none;border:0;padding:0}
/* Booked: confirmation window */
.bkd-sheet{width:min(860px,100%);max-height:calc(100dvh - 32px);overflow:auto;position:relative}
.bkd-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}
.bkd-head h3{margin:2px 0 0}
.bkd-head .bkd-check{margin:0;flex:none}
.bkd-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1.1fr);gap:18px;align-items:start}
.bkd-grid .bkd-pol{margin:0}
@media (max-width:760px){.bkd-grid{grid-template-columns:1fr}.bkd-sheet{width:min(520px,100%)}}
.bkd-check{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;font-size:24px;font-weight:900;color:#061022;background:linear-gradient(135deg,#7dffb5,#2ee6ff);box-shadow:0 0 30px rgba(46,230,255,.45);animation:tpPop .45s cubic-bezier(.2,1.4,.4,1)}
.bk-list dd small,.bk-list dt small{font-size:12px}
.cal-row{display:flex;flex-wrap:wrap;gap:8px;margin:6px 0 14px}
.cal-btn{flex:1 1 100px;white-space:nowrap;display:inline-flex;justify-content:center;align-items:center;gap:6px;padding:10px 12px;border-radius:12px;border:1px solid var(--line-2,rgba(255,255,255,.16));background:rgba(255,255,255,.05);color:var(--fg);font:700 14px inherit;text-decoration:none;cursor:pointer}
.cal-btn:hover{background:rgba(255,255,255,.1);border-color:rgba(46,230,255,.5)}
.bkd-pol{margin:0 0 10px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.bkd-pol summary{cursor:pointer;font-weight:800}
.bkd-pol ul{margin:10px 0 6px;padding-left:18px;display:grid;gap:7px;font-size:14px;line-height:1.45;color:var(--muted)}
.bkd-pol ul b{color:var(--fg)}
.bkd-links{margin:6px 0 0;font-size:13px;color:var(--muted)}
.bkd-links a{color:var(--amber)}

/* Reschedule / cancel requests */
.rq{grid-column:1/-1;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:8px 12px;margin-top:10px;padding:10px 12px;border-radius:12px;font-size:14px}
.rq.theirs{background:rgba(255,201,77,.1);border:1px solid rgba(255,201,77,.35)}
.rq.mine{background:rgba(46,230,255,.07);border:1px solid rgba(46,230,255,.25);color:var(--muted,#aaa4ba)}
.rq q{display:block;margin-top:4px;color:var(--muted,#aaa4ba);font-style:italic}
.rq .row{gap:8px}
.bk-sheet .field{display:grid;gap:6px;margin:0 0 12px}
.bk-sheet .field input,.bk-sheet .field textarea{width:100%;box-sizing:border-box}

/* Player 2 without Discord: not bookable yet */
.golive{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:12px;margin:0 0 16px;padding:14px 16px;border-radius:16px;background:rgba(88,101,242,.14);border:1px solid rgba(88,101,242,.5)}
.golive div{display:grid;gap:4px}
.golive span{color:var(--muted,#aaa4ba);font-size:14px}

.msg-voice{display:grid;gap:6px}
.msg-voice audio{width:220px;height:34px}

/* tips */
.ss-what .tip-tag{justify-self:start;margin-top:4px;font-size:11.5px;padding:2px 8px}
.tip-tag{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;font-weight:700;color:#7dffb5;background:rgba(82,242,162,.1);border:1px solid rgba(82,242,162,.3);border-radius:999px;padding:4px 10px;white-space:nowrap}
.tip-btn{background:linear-gradient(90deg,#52f2a2,#2ee6ff);color:#04121a}
.tip-sheet .tip-picks{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}
.tip-pick{padding:12px 0;border-radius:14px;border:1px solid var(--line-2,rgba(255,255,255,.16));background:rgba(7,10,24,.5);color:var(--fg);font:800 17px var(--body);cursor:pointer;transition:border-color .15s,background .15s,transform .1s}
.tip-pick:hover{border-color:rgba(82,242,162,.5)}
.tip-pick.on{border-color:#52f2a2;background:rgba(82,242,162,.14);box-shadow:0 0 0 3px rgba(82,242,162,.15)}
.tip-pick:active{transform:scale(.97)}
.tip-other{grid-column:1/-1;display:flex;align-items:center;gap:6px;padding:0 12px;border-radius:14px;border:1px solid var(--line-2,rgba(255,255,255,.16));background:rgba(7,10,24,.5)}
.tip-other span{color:var(--dim);font-weight:800}
.tip-other input{flex:1;min-width:0;background:none;border:0;color:var(--fg);font:700 16px var(--body);padding:12px 0;outline:none}
.tip-other:focus-within{border-color:#52f2a2}
.tip-bal{margin:0 0 6px}
.tip-bal a{color:#2ee6ff}

/* Player 2 stats */
.st-h{align-items:flex-start;flex-wrap:wrap;gap:12px}
.st-h p{margin:4px 0 0}
.st-seg{display:inline-flex;padding:3px;border-radius:12px;background:rgba(7,10,24,.5);border:1px solid var(--line)}
.st-seg button{border:0;background:none;color:var(--muted);font:700 13px var(--body);padding:7px 12px;border-radius:9px;cursor:pointer}
.st-seg button[aria-pressed=true]{background:var(--fg);color:#070a18}
.st-tiles{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
.st-small{grid-template-columns:repeat(3,minmax(0,1fr))}
.st-tile{display:grid;gap:3px;align-content:start;padding:14px;border-radius:16px;background:rgba(7,10,24,.45);border:1px solid var(--line)}
.st-tile>span{font:700 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--dim)}
.st-tile>b{font:800 26px/1.1 var(--display,var(--body));color:var(--fg)}
.st-tile.hero{background:linear-gradient(150deg,rgba(0,152,184,.18),rgba(233,70,122,.1));border-color:rgba(0,152,184,.35)}
.st-tile.hero>b{font-size:32px}
.st-tile small{font-size:12px;line-height:1.35}
.st-d{font-weight:700;color:var(--muted)}
.st-d.st-up{color:var(--online)}
.st-d.st-down{color:var(--busy)}
.st-ch{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}
.st-ch h3,.st h3{margin:0;font-size:16px}
.st-legend{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:var(--muted)}
.st-legend i{width:10px;height:10px;border-radius:3px;margin-left:8px}
.st-chart{position:relative;display:grid;grid-template-columns:auto 1fr;gap:8px}
.st-y{display:flex;flex-direction:column;justify-content:space-between;height:160px;font:600 11px var(--mono);color:var(--dim);text-align:right}
.st-y span{transform:translateY(-50%)}.st-y span:last-child{transform:translateY(50%)}
.st-plot{position:relative;min-width:0}
.st-grid{position:absolute;inset:0 0 auto;height:160px;display:flex;flex-direction:column;justify-content:space-between;pointer-events:none}
.st-grid i{border-top:1px solid rgba(255,255,255,.07)}
.st-grid i:last-child{border-top-color:rgba(255,255,255,.2)}
.st-bars{position:relative;height:160px;display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:2px;align-items:end}
.st-col{height:100%;display:flex;flex-direction:column-reverse;gap:2px;justify-content:flex-start;cursor:default;outline:none;border-radius:4px}
.st-col i{display:block;min-height:2px;border-radius:0}
.st-col i:last-child{border-radius:4px 4px 0 0}
.st-col.hot,.st-col:focus-visible{background:rgba(255,255,255,.06)}
.st-x{display:grid;grid-template-columns:repeat(var(--n,30),minmax(0,1fr));margin-top:6px;font:600 10.5px var(--mono);color:var(--dim)}
.st-x span{white-space:nowrap;overflow:visible}
.st-tip{position:absolute;top:-6px;transform:translate(-50%,-100%);margin-left:0;padding:7px 10px;border-radius:10px;background:#f6f3fb;color:#070a18;font:700 12px var(--body);white-space:nowrap;pointer-events:none;box-shadow:0 8px 20px rgba(0,0,0,.4);z-index:2}
.st-table summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:700}
.st-table table{width:100%;border-collapse:collapse;margin-top:10px;font-size:13px}
.st-table th,.st-table td{text-align:left;padding:7px 8px;border-bottom:1px solid var(--line)}
.st-table th{color:var(--dim);font:700 11px var(--mono);text-transform:uppercase;letter-spacing:.06em}
.st-games{display:grid;gap:10px}
.st-g{display:grid;grid-template-columns:minmax(0,1.2fr) 2fr auto auto;gap:12px;align-items:center;font-size:14px}
.st-gbar{height:8px;border-radius:99px;background:rgba(255,255,255,.06);overflow:hidden}
.st-gbar i{display:block;height:100%;border-radius:99px;background:#0098b8}
.st-grow ul{margin:0;padding-left:18px;display:grid;gap:8px;color:var(--muted);line-height:1.5}
.st-grow b{color:var(--fg)}
@media (max-width:760px){.st-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}.st-small{grid-template-columns:repeat(2,minmax(0,1fr))}.st-g{grid-template-columns:1fr auto;}.st-g .st-gbar{grid-column:1/-1;order:3}.st-tile>b{font-size:22px}.st-tile.hero>b{font-size:26px}}

/* Play now (Player 1 card + sheet, Player 2 card) */
.pn-card{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(220px,1fr);gap:22px;align-items:center;border-color:rgba(255,201,77,.45);background:radial-gradient(70% 120% at 100% 0%,rgba(255,201,77,.16),transparent 60%),radial-gradient(60% 100% at 0% 100%,rgba(255,63,212,.12),transparent 60%),var(--glass)}
@media (max-width:760px){.pn-card{grid-template-columns:1fr}}
.pn-card h2 em{font-style:normal;color:var(--leg)}
.pn-bolt{display:inline-block;animation:pnZap 2.4s ease-in-out infinite}
@keyframes pnZap{0%,86%,100%{transform:none}90%{transform:scale(1.35) rotate(-8deg)}94%{transform:scale(1.1)}}
.pn-steps{list-style:none;margin:12px 0;padding:0;display:grid;gap:8px}
.pn-steps li{display:flex;gap:10px;align-items:flex-start;font-size:14.5px;line-height:1.45}
.pn-steps>li>b{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:rgba(255,201,77,.16);color:var(--leg);font:800 12px var(--mono)}
.pn-fine{margin:0;font-size:13px}
.pn-card-side{display:grid;gap:12px;justify-items:stretch}
.pn-live{display:flex;align-items:baseline;gap:8px;font-size:14px;color:var(--muted)}
.pn-live b{font:800 34px/1 var(--display);color:var(--fg)}
.pn-dot{display:inline-block;width:9px;height:9px;border-radius:50%;background:var(--online);box-shadow:0 0 0 0 rgba(82,242,162,.6);animation:pnPulse 1.8s infinite;align-self:center}
@keyframes pnPulse{0%{box-shadow:0 0 0 0 rgba(82,242,162,.55)}70%{box-shadow:0 0 0 9px rgba(82,242,162,0)}100%{box-shadow:0 0 0 0 rgba(82,242,162,0)}}
.pn-tops{display:flex;flex-wrap:wrap;gap:6px}
.pn-tops span{font-size:12.5px;padding:4px 10px;border-radius:999px;background:rgba(255,255,255,.06);border:1px solid var(--line)}
.pn-tops i{font-style:normal;color:var(--muted)}
.btn.pn-go{background:linear-gradient(90deg,#ffc94d,#ff8a3d);color:#1a0d00;border:0;font-weight:800;box-shadow:0 8px 26px rgba(255,170,60,.3)}
.btn.pn-go:disabled{opacity:.5;box-shadow:none}
.pn-sheet{width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto}
.pn-label{margin:12px 0 6px;font:700 13px var(--body);color:var(--fg)}
.pn-label .dim{font-weight:500}
.pn-games,.pn-prices{display:flex;flex-wrap:wrap;gap:6px}
.pn-games.pn-need{padding:4px;border-radius:14px;box-shadow:inset 0 0 0 1px rgba(255,90,110,.75)}
.pn-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 12px;border-radius:12px;border:1px solid var(--line-2);background:rgba(7,10,24,.5);color:var(--fg);font:700 14px var(--body);cursor:pointer}
.pn-chip i{font-style:normal;font-size:11.5px;font-weight:600;color:var(--online)}
.pn-chip.on{border-color:var(--leg);background:rgba(255,201,77,.14);box-shadow:0 0 0 3px rgba(255,201,77,.14)}
.pn-more{padding:8px 10px;border-radius:12px;border:1px solid var(--line-2);background:rgba(7,10,24,.6);color:var(--muted);font:600 14px var(--body)}
.pn-other{display:inline-flex;align-items:center;gap:2px;padding:0 10px;border-radius:12px;border:1px solid var(--line-2);background:rgba(7,10,24,.5);width:96px}
.pn-other input{width:100%;background:none;border:0;outline:0;padding:8px 0;font-weight:700}
.pn-two{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:12px}
.pn-two select{width:100%;padding:10px;border-radius:12px;border:1px solid var(--line-2);background:rgba(7,10,24,.6)}
.pn-count{display:flex;gap:8px;align-items:baseline;margin:6px 0 10px;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.04);font-size:14px;color:var(--muted)}
.pn-count.yes{background:rgba(82,242,162,.08);color:var(--fg)}
.pn-count b{color:var(--online);font-size:16px}
.pn-how{margin:0 0 10px;padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.pn-how summary{cursor:pointer;font-weight:700}
.pn-how ul{margin:8px 0 0;padding-left:18px;display:grid;gap:6px;font-size:13.5px;color:var(--muted);line-height:1.45}
.pn-how b{color:var(--fg)}
.pn-center{text-align:center}
.pn-radar{position:relative;width:120px;height:120px;margin:10px auto 4px;display:grid;place-items:center}
.pn-radar span{position:absolute;inset:0;border-radius:50%;border:2px solid var(--leg);opacity:0;animation:pnRing 2.4s ease-out infinite}
.pn-radar span:nth-child(2){animation-delay:.8s}
.pn-radar span:nth-child(3){animation-delay:1.6s}
.pn-radar b{width:54px;height:54px;border-radius:50%;display:grid;place-items:center;font-size:26px;background:radial-gradient(circle,rgba(255,201,77,.35),rgba(255,201,77,.08));box-shadow:0 0 30px rgba(255,201,77,.35)}
@keyframes pnRing{0%{transform:scale(.4);opacity:.9}100%{transform:scale(1.1);opacity:0}}
.pn-timer{display:flex;justify-content:center;align-items:baseline;gap:6px;margin:6px 0 12px}
.pn-timer b{font:800 30px var(--mono);color:var(--leg)}
.pn-timer span{color:var(--muted)}
.pn-match{display:flex;gap:14px;align-items:center;margin:8px 0}
.pn-match .mini-avatar{width:64px;height:64px;font-size:22px}
.pn-match h3{margin:0}
.pn-p2{display:grid;gap:12px;border-color:rgba(255,201,77,.25)}
.pn-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px}
.pn-p2.ready{border-color:rgba(61,220,132,.55)}
.pn-state{margin:0;font-weight:600;display:flex;align-items:center;gap:8px}
.pn-state.ok{color:#3ddc84}.pn-state.ok i{width:9px;height:9px;border-radius:50%;background:#3ddc84;box-shadow:0 0 0 0 rgba(61,220,132,.6);animation:pnPulse 1.8s infinite}
.pn-state.wait{color:var(--leg)}.pn-state.off{color:var(--dim, #9aa0b4)}
@keyframes pnPulse{70%{box-shadow:0 0 0 8px rgba(61,220,132,0)}100%{box-shadow:0 0 0 0 rgba(61,220,132,0)}}
.pn-checks{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:8px 18px}
.pn-checks li{display:flex;align-items:center;gap:10px;font-size:14px;min-width:0;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.03)}
.pn-checks li>i{flex:none;width:20px;height:20px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:11px;font-weight:800}
.pn-checks li>span{flex:1;min-width:0;color:var(--fg);font-weight:500}
.pn-checks li>em{flex:0 1 auto;max-width:50%;text-align:right;font-style:normal;font-size:13px}
.pn-checks li>em .linkbtn{font-size:13px}
.pn-checks li.pc-ok>i{background:rgba(61,220,132,.16);color:#3ddc84}
.pn-checks li.pc-ok>span{opacity:.75}
.pn-checks li.pc-no{background:rgba(255,92,92,.07)}
.pn-checks li.pc-no>i{background:rgba(255,92,92,.18);color:#ff6b6b}
.pn-checks li.pc-pause{background:rgba(255,201,77,.07)}
.pn-checks li.pc-pause>i{background:rgba(255,201,77,.18);color:var(--leg)}
.pn-checks li.pc-extra>i{background:rgba(255,255,255,.08);color:var(--fg)}
@media (prefers-reduced-motion:reduce){.pn-state.ok i{animation:none}}
.pn-p2.on{border-color:rgba(255,201,77,.5)}
.pn-p2 .dim b,.pn-lead b{color:var(--fg)}
.pn-lead{margin:6px 0 0;color:var(--muted);max-width:68ch}
.pn-track{position:relative;flex:none;cursor:pointer;align-self:flex-start}
.pn-track input{position:absolute;width:1px;height:1px;opacity:0}
.pn-track-ui{display:flex;padding:4px;border-radius:999px;background:rgba(0,0,0,.35);border:1px solid rgba(255,255,255,.12)}
.pn-track-ui span{padding:8px 16px;border-radius:999px;font-weight:800;color:var(--dim)}
.pn-track input:not(:checked)+.pn-track-ui span:first-child{background:rgba(255,255,255,.14);color:var(--fg)}
.pn-track input:checked+.pn-track-ui span:last-child{background:var(--leg);color:#1a1204}
.pn-track input:focus-visible+.pn-track-ui{outline:2px solid var(--amber);outline-offset:3px}
.pn-track input:disabled+.pn-track-ui{opacity:.55}
.pn-fix{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:18px;background:rgba(255,90,110,.1);border:1px solid rgba(255,90,110,.4)}
.pn-bang{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:rgba(255,90,110,.2);color:#ff8b96;font-weight:900;flex:none}
.pn-fix b{display:block;font-size:16px}
.pn-fix span{color:var(--muted);font-size:13.5px}
.pn-fix .linkbtn{margin-left:auto;flex:none;display:inline-flex;align-items:center;border:0;border-radius:999px;padding:8px 14px;font-weight:800;font-size:14px;background:var(--grad);color:#061022;text-decoration:none}
.pn-fix .dim{margin-left:auto}
.pn-oks{display:flex;flex-wrap:wrap;gap:8px}
.pn-oks span{display:inline-flex;align-items:center;gap:6px;padding:6px 10px;border-radius:999px;background:rgba(82,242,162,.08);border:1px solid rgba(82,242,162,.28);color:#b8f8d4;font:700 12.5px var(--body)}
.pn-oks i{color:#52f2a2;font-style:normal;font-weight:900}
.pn-oks .hold{background:rgba(255,201,77,.08);border-color:rgba(255,201,77,.35);color:#ffe3a3}
.pn-oks .hold i{color:var(--leg)}
.pn-p2 .sched-pause input:checked+.sw{background:var(--leg)}
@media (max-width:620px){.pn-top{flex-direction:column}.pn-two{grid-template-columns:1fr}}
/* Rate your Player 1 (Player 2s only) */
.rate-nudge{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;border-color:rgba(46,230,255,.35)}
.rate-nudge-who{display:flex;gap:14px;align-items:center;flex:1 1 360px}
.rate-nudge-who .mini-avatar{width:52px;height:52px;flex:none}
.rate-nudge h2{margin:2px 0 4px;font-size:22px}
.rate-nudge .dim{margin:0}
.rate-nudge .row{gap:8px;align-items:center}
.rate-who{display:flex;gap:12px;align-items:center}
.rate-who h3{margin:6px 0}
.rate-thumbs{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:14px 0 4px}
.rate-thumb{display:grid;justify-items:center;gap:4px;padding:14px 8px;border-radius:16px;border:1px solid var(--line-2);background:rgba(7,10,24,.5);color:var(--fg);font:700 14px var(--body);cursor:pointer}
.rate-thumb b{font-size:28px;line-height:1}
.rate-thumb.on.up{border-color:var(--online);background:rgba(82,242,162,.12);box-shadow:0 0 0 3px rgba(82,242,162,.15)}
.rate-thumb.on.down{border-color:var(--busy);background:rgba(255,90,110,.12);box-shadow:0 0 0 3px rgba(255,90,110,.15)}
.rate-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:12px}
.rate-serious{font-size:13px}
.ss-what .es-rep{justify-self:start}
/* 18+ check */
.age-card{max-width:560px;margin:40px auto}
.age-card h1{font-size:clamp(26px,4vw,36px);margin:6px 0 8px}
.dob{display:grid;grid-template-columns:1.4fr .8fr 1fr;gap:8px}
.dob select{width:100%;padding:12px 10px;border-radius:12px;border:1px solid var(--line-2);background:rgba(7,10,24,.6);color:var(--fg);font:600 15px var(--body)}
.su-dob{display:grid;gap:6px;margin-top:12px}
.su-dob small{font-size:12.5px}
.su-agree{display:flex;gap:14px;align-items:center;justify-content:center;text-align:left;margin:0 20px;padding:16px 20px;border-radius:16px;border:1px solid var(--line-2);background:rgba(13,19,40,.75);font-size:17px;line-height:1.4;font-weight:650;color:var(--fg);cursor:pointer}
.su-agree input{width:22px;height:22px;margin:0;accent-color:var(--leg);flex:none}
.su-agree a{color:inherit;text-decoration:underline}
.golive.idc{background:rgba(46,230,255,.08);border-color:rgba(46,230,255,.4)}
/* Session log (voice attendance) */
.att-sheet{width:min(520px,100%);max-height:calc(100vh - 32px);overflow:auto}
.att-sum{display:flex;gap:10px;margin:8px 0 12px}
.att-sum div{flex:1;display:grid;gap:2px;padding:12px 14px;border-radius:14px;background:rgba(82,242,162,.08);border:1px solid rgba(82,242,162,.25)}
.att-sum span{font-size:12.5px;color:var(--muted)}
.att-sum b{font:800 24px var(--display)}
.att-people{list-style:none;margin:0 0 12px;padding:0;display:grid;gap:6px;font-size:14px}
.att-people .att-none{color:var(--busy)}
.att-role{font:700 10.5px var(--mono);letter-spacing:.08em;color:var(--muted);text-transform:uppercase;margin:0 4px}
.att-events{list-style:none;margin:0 0 12px;padding:0 0 0 14px;border-left:2px solid var(--line-2);display:grid;gap:8px}
.att-events li{position:relative;display:flex;gap:10px;font-size:14px}
.att-events li::before{content:"";position:absolute;left:-20px;top:6px;width:10px;height:10px;border-radius:50%;background:var(--muted)}
.att-events li.join::before{background:var(--online)}
.att-events li.leave::before{background:var(--busy)}
.att-events li.room::before,.att-events li.end::before{background:var(--amber)}
.att-events time{flex:none;width:72px;font:700 12.5px var(--mono);color:var(--muted)}
.att-warn{color:var(--leg)}
.att-foot{font-size:12.5px}
/* Live on Twitch */
.xp-livesec{border:1px solid rgba(145,70,255,.45);background:radial-gradient(80% 120% at 0% 0%,rgba(145,70,255,.18),transparent 60%),var(--glass)}
.live-dot{display:inline-block;width:12px;height:12px;border-radius:50%;background:#ff3b5c;box-shadow:0 0 0 0 rgba(255,59,92,.6);animation:liveP 1.6s infinite;vertical-align:2px;margin-right:4px}
@keyframes liveP{0%{box-shadow:0 0 0 0 rgba(255,59,92,.55)}70%{box-shadow:0 0 0 10px rgba(255,59,92,0)}100%{box-shadow:0 0 0 0 rgba(255,59,92,0)}}
.xp-livetitle{margin:0 0 12px;color:var(--muted)}
.xp-player{position:relative;aspect-ratio:16/9;border-radius:16px;overflow:hidden;background:#000;border:1px solid var(--line-2)}
.xp-player iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.xp-livecta{margin-top:14px;gap:10px}
.btn.live-btn{background:linear-gradient(90deg,#9146ff,#ff3fd4);color:#fff;border:0}
.stream-tog{grid-column:1/-1;align-items:flex-start;white-space:normal;margin-top:8px;color:var(--fg)}
.stream-tog span:last-child{display:grid;gap:2px;font-weight:600}
.stream-tog small{font-weight:500;font-size:12.5px}
.stream-tog .sw{flex:none;margin-top:2px}
/* Share on stream */
.share-stream{display:grid;gap:10px}
.share-line{display:grid;grid-template-columns:200px minmax(0,1fr) auto;gap:10px;align-items:center;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:var(--glass)}
.share-line span{font-size:13px;color:var(--muted);font-weight:600}
.share-line code{font:600 14px var(--mono);color:var(--fg);overflow-wrap:anywhere}
@media (max-width:620px){.share-line{grid-template-columns:1fr auto}.share-line span{grid-column:1/-1}}
.founder-tip{display:block;margin-top:4px;color:#ffd76a}
.duo-btn{background:linear-gradient(100deg,#2ee6ff,#a86bff 50%,#ff3fd4);color:#061022;box-shadow:0 8px 26px -10px rgba(255,63,212,.8)}
.sv-chip.off{background:rgba(255,255,255,.06);color:var(--muted);border:1px solid var(--line-2)}
.sv-show{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font-weight:700;font-size:14px;margin:4px 0}
.sv-show input{position:absolute;opacity:0;width:1px;height:1px}
.sv-show .sw{width:40px;height:22px;border-radius:999px;background:rgba(255,255,255,.14);position:relative;transition:background .2s;flex:none}
.sv-show .sw::after{content:"";position:absolute;top:3px;left:3px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s}
.sv-show input:checked+.sw{background:var(--online)}
.sv-show input:checked+.sw::after{transform:translateX(18px)}
.sv-show input:focus-visible+.sw{outline:2px solid var(--amber);outline-offset:2px}
.sv-unlink{justify-self:start;color:var(--busy,#ff5a6e);font-size:13px}
.sv-wait{margin-top:2px}
.soc-ok{display:grid;place-items:center;width:16px;height:16px;border-radius:50%;background:#2ea9ff;color:#fff;font:900 10px/1 var(--body);margin-left:-2px;box-shadow:0 0 0 2px rgba(46,169,255,.25)}
.soc-note{font:800 11px var(--mono);letter-spacing:.06em;color:#7fc9ff;padding:4px 9px;border-radius:999px;background:rgba(46,169,255,.12);border:1px solid rgba(46,169,255,.35)}
.dc-switch{display:block;margin-top:10px;font-size:13px}
.dc-switch-box{margin-top:12px;padding:14px 16px;border-radius:14px;border:1px solid var(--line-2);background:var(--glass);display:grid;gap:8px;font-size:14px}
.dc-switch-box ol{margin:0;padding-left:20px;display:grid;gap:6px}
.sv-change{justify-self:start;font-size:13px}
.soc-row input[readonly]{opacity:.75;cursor:not-allowed}
.dc-links{display:flex;flex-wrap:wrap;gap:6px 18px;margin-top:10px}
.dc-links .dc-switch{margin-top:0}
.dc-unlink{color:var(--busy,#ff5a6e);font-size:13px}
.dc-warn{border-color:rgba(255,90,110,.45);background:rgba(255,90,110,.07)}
.dc-warn ul{margin:0;padding-left:20px;display:grid;gap:5px}
.dc-warn p{margin:0}

/* ===== Invite friends ===== */
.inv-card{border-color:color-mix(in oklab,var(--hot) 40%,transparent);background:radial-gradient(90% 120% at 0% 0%,rgba(255,63,212,.14),transparent 60%),radial-gradient(90% 120% at 100% 100%,rgba(46,230,255,.12),transparent 60%),var(--glass);display:grid;gap:14px}
.inv-top{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap}
.inv-top h2{margin:4px 0 0}
.inv-count{display:grid;justify-items:end;line-height:1}
.inv-count b{font:900 44px var(--display);background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.inv-count span{font:800 11px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.inv-count small{margin-top:6px;font-size:12px;color:var(--dim)}
.inv-bar{height:12px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden;border:1px solid var(--line)}
.inv-bar i{display:block;height:100%;background:var(--grad);box-shadow:0 0 16px var(--hot);transition:width .6s}
/* Stream alerts card (Player 2) */
.ov-card{display:grid;gap:14px;border-color:color-mix(in oklab,var(--amber) 35%,transparent);background:radial-gradient(90% 120% at 100% 0%,rgba(46,230,255,.12),transparent 60%),var(--glass)}
.ov-prev{position:relative;width:100%;aspect-ratio:16/9;max-height:300px;border-radius:16px;overflow:hidden;border:1px solid var(--line-2);background:#0b0e1d}
.ov-prev iframe{position:absolute;left:0;top:0;width:1920px;height:1080px;border:0;transform-origin:0 0;pointer-events:none;background:linear-gradient(135deg,#1d3b2a,#4a3a1e 45%,#2b1d3d);border-radius:24px}
.ov-steps{display:grid;gap:6px;font-size:14px}.ov-steps ol{margin:0;padding-left:20px;display:grid;gap:4px;color:var(--muted)}
.ov-opts{display:flex;flex-wrap:wrap;gap:16px 28px;align-items:flex-end}
.ov-vol{display:grid;gap:6px;min-width:180px}.ov-vol input{accent-color:var(--hot)}
.ov-togs{display:flex;flex-wrap:wrap;gap:12px 28px}
.ov-tog span small{display:block;font-weight:500;white-space:normal}
.ov-msg .linkbtn{font-size:inherit}
.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
.ov-test{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.ov-test .field{min-width:200px}.ov-test select{padding:9px 14px}
.ov-badge{display:grid;gap:12px;padding-top:16px;border-top:1px solid var(--line)}
.ov-badge h3{margin:0;font:900 20px/1.1 var(--display);font-stretch:115%}
.ov-widget{display:grid;gap:10px;padding-top:16px;border-top:1px solid var(--line)}
.ov-widget h3{margin:0;font:900 20px/1.1 var(--display);font-stretch:115%}
.ov-wprev{max-height:none;max-width:560px}
.ov-wprev iframe{border-radius:0}
.ov-goal{display:flex;flex-wrap:wrap;gap:12px 24px;align-items:flex-end}
.ov-target{display:grid;gap:6px;width:120px}.ov-target input{padding:9px 14px}
.tw-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px}
.tw-panel{display:grid;gap:8px;align-content:start}
.tw-panel img{display:block;width:100%;max-width:320px;height:auto;border-radius:10px;box-shadow:0 8px 24px -12px rgba(0,0,0,.6)}
.tw-link{width:100%;border-radius:999px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--fg);padding:9px 14px;font:600 12px var(--mono)}
.tw-btns{display:flex;gap:8px;flex-wrap:wrap}
.ss-stream .linkbtn{font-size:inherit}
.ss-stream.ok,.ss-stream.no{margin:0;padding:8px 12px;border-radius:12px;font-size:14px}
.ss-stream.ok{background:rgba(82,242,162,.1);border:1px solid rgba(82,242,162,.3)}
.ss-stream.no{background:rgba(255,201,77,.1);border:1px solid rgba(255,201,77,.35)}
.bk-alert{display:flex;gap:10px;align-items:flex-start;margin:4px 0 2px;font-weight:700;font-size:14px;cursor:pointer}
.bk-alert input{margin-top:3px;accent-color:var(--hot)}
.bk-alert small{display:block;font-weight:500;margin-top:2px}
.inv-share{display:flex;gap:8px;flex-wrap:wrap}
.inv-share input{flex:1;min-width:200px;border-radius:999px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--fg);padding:10px 16px;font:600 14px var(--mono)}
.inv-tiers{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:10px}
.inv-tiers li{position:relative;display:grid;gap:4px;padding:14px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.03)}
.inv-tiers li span{justify-self:start;align-self:start;line-height:1.3;font:800 11.5px var(--mono);padding:3px 8px;border-radius:7px;background:rgba(46,230,255,.12);border:1px solid rgba(46,230,255,.35);color:var(--amber)}
.inv-tiers li b{font-size:15px}.inv-tiers li small{color:var(--muted);font-size:12.5px;line-height:1.35}
.inv-tiers li.on{border-color:transparent;box-shadow:0 0 0 2px var(--hot),0 0 30px -8px var(--hot)}
.inv-tiers li em{position:absolute;right:10px;top:10px;font:800 10.5px var(--mono);font-style:normal;letter-spacing:.08em;text-transform:uppercase;padding:3px 8px;border-radius:7px;background:var(--grad);color:#061022}
.inv-board summary{cursor:pointer;font-weight:800}
.inv-board ol{list-style:none;margin:10px 0 0;padding:0;display:grid;gap:6px}
.inv-board li{display:grid;grid-template-columns:44px 1fr auto;align-items:center;gap:10px;padding:8px 12px;border-radius:12px;background:rgba(255,255,255,.03);border:1px solid var(--line)}
.inv-board li span{font:800 13px var(--mono);color:var(--muted)}.inv-board li em{font:900 16px var(--display);font-style:normal}
.inv-board li.me{border-color:var(--hot)}

.xp-len{margin:6px 0 12px;padding:10px 14px;border-radius:12px;font-size:14px;line-height:1.45;background:rgba(255,255,255,.04);border:1px solid var(--line-2)}
.xp-len.est{border-color:rgba(255,216,107,.45);background:rgba(255,216,107,.07)}.xp-len.est span{display:block;color:var(--muted);font-size:13px;margin-top:2px}
.xp-len.exact{border-color:rgba(46,230,255,.4);background:rgba(46,230,255,.06)}
.bk-approx{display:block;color:var(--muted);font-size:12px;font-weight:600;margin-top:2px}
.ss-over{flex-basis:100%;margin:4px 0;padding:10px 12px;border-radius:12px;font-size:14px;line-height:1.4;background:rgba(255,216,107,.1);border:1px solid rgba(255,216,107,.5)}
.ss-keep-pay{color:#fff;font-size:13.5px}
.ss-endnote{flex-basis:100%}
.founder-chip{display:inline-flex;align-items:center;gap:6px;margin:6px 0 4px;padding:6px 12px;border-radius:999px;font:800 13px var(--body);color:#ffe39a;background:rgba(255,216,107,.1);border:1px solid rgba(255,216,107,.5)}

/* ---- Art card frames (ornaments from /art.js) ---- */
.xp-card.fr-art{overflow:visible}
.xp-card.fr-art .xp-art,.xp-card.fr-art .xp-shade,.xp-card.fr-art::after{border-radius:inherit}
.xp-card.fr-art::before{padding:5px;background:var(--fb)}
.xp-card.fr-art.fa-thick::before{padding:7px}
.xp-card.fr-art.fa-goldglow{box-shadow:0 0 0 2px #ffd86b,0 0 60px 4px rgba(255,190,60,.55),0 40px 80px -30px #000}
.xp-card.fr-art.fa-pixel{border-radius:10px}
.xp-fov{position:absolute;left:-6.25%;top:-4.55%;width:112.5%;height:109.1%;z-index:8;pointer-events:none}
.xp-fov svg{display:block;width:100%;height:100%;overflow:visible}
.fr-demo.xp-card.fr-art{margin:6px 6px 8px;width:calc(100% - 12px)}
.fr-pick{overflow:visible}
.fr-tabs{display:flex;gap:6px;flex-wrap:wrap;margin:2px 0 12px}
.fr-tabs button{font:800 13px var(--body);padding:8px 14px;border-radius:999px;border:1px solid var(--line);background:var(--glass);color:var(--fg);cursor:pointer}
.fr-tabs button[aria-selected=true]{background:var(--grad);color:#061022;border-color:transparent}
.fr-tabs small{margin-left:5px;opacity:.7}
.fr-ltd-note{margin:-4px 0 12px;font-size:13px}
.fr-pick small.fr-ltd{color:#ff7ae6}.fr-pick small.fr-own{color:#7dff9a}
/* ---- Sigil art ---- */
.sgl.has-art{padding-left:3px}
.sgl-art{display:grid;place-items:center;width:40px;height:40px;flex:none}
.sgl-art svg{width:40px;height:40px;filter:drop-shadow(0 3px 6px rgba(0,0,0,.55))}
.bt-ico.has-art{background:none;width:46px;height:46px}
.bt-ico.has-art svg{width:46px;height:46px}
.inv-art{display:inline-grid;vertical-align:middle;width:26px;height:26px;margin-right:2px}.inv-art svg{width:26px;height:26px}
.rv-rep{margin-top:6px;display:flex;justify-content:flex-end}.rv-rep .linkbtn{font-size:12.5px;opacity:.8}.rv-rep .linkbtn:hover,.rv-rep .linkbtn:focus-visible{opacity:1}
.bk-pop{text-align:center;justify-items:center}.bk-pop .eyebrow{margin:0}.bk-pop-ic{display:grid;place-items:center;width:64px;height:64px;border-radius:20px;color:#061022;background:var(--grad);box-shadow:0 10px 30px -8px rgba(255,63,212,.55);animation:bkpop .6s cubic-bezier(.2,1.6,.4,1)}.bk-pop-who{margin:-4px 0 0;color:var(--muted)}.bk-pop-who b{color:#fff}.bk-pop-d{display:grid;gap:8px;width:100%;text-align:left;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line)}.bk-pop-d div{display:flex;justify-content:space-between;gap:12px}.bk-pop-d span{color:var(--muted)}.bk-pop .row{justify-content:center}.bk-earn{color:#52f2a2}@keyframes bkpop{from{transform:scale(.3);opacity:0}to{transform:none;opacity:1}}@media (prefers-reduced-motion:reduce){.bk-pop-ic{animation:none}}
.chat-invbar{display:flex;align-items:center;gap:12px;width:100%;margin:4px 0 8px;padding:10px 12px;border-radius:16px;border:1px solid rgba(46,230,255,.45);background:linear-gradient(100deg,rgba(46,230,255,.10),rgba(255,63,212,.10));color:var(--fg);text-align:left;cursor:pointer;font:inherit}.chat-invbar:hover,.chat-invbar:focus-visible{border-color:var(--hot)}.chat-invbar-ic{display:grid;place-items:center;flex:none;width:36px;height:36px;border-radius:12px;color:#061022;background:var(--grad)}.chat-invbar>span:nth-child(2){flex:1;display:grid}.chat-invbar small{color:var(--muted);font-size:12px}.chat-invbar-go{flex:none;padding:7px 14px;border-radius:999px;font-weight:800;font-size:13px;color:#061022;background:var(--grad)}
/* Top bar tabs: Home / My account */
.topnav{display:flex;gap:4px;margin-left:18px;padding:4px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.topnav button{display:inline-flex;align-items:center;gap:7px;padding:8px 16px;border:0;border-radius:999px;background:transparent;color:var(--muted);font:700 14px/1 var(--body);cursor:pointer;white-space:nowrap}
.topnav button:hover{color:var(--fg)}
.topnav button[aria-current="page"]{color:#061022;background:var(--grad);box-shadow:0 6px 20px -8px rgba(255,63,212,.7)}
@media (max-width:760px){.bar{flex-wrap:wrap}.topnav{order:3;width:100%;margin:2px 0 0}.topnav button{flex:1;justify-content:center}}
/* Help tickets: progress, urgent, ratings, suggestions */
.tkt-steps{list-style:none;display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:12px 0 4px;padding:0}
.tkt-steps li{display:flex;gap:8px;align-items:center;padding:10px 12px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.03);color:var(--muted);font-size:13px;font-weight:700;line-height:1.3}
.tkt-steps li i{flex:none;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;font-style:normal;font-size:12px;border:1px solid var(--line-2)}
.tkt-steps li.done{color:var(--fg)}
.tkt-steps li.done i{background:rgba(82,242,162,.15);border-color:rgba(82,242,162,.5);color:#52f2a2}
.tkt-steps li.now{color:var(--fg);border-color:rgba(46,230,255,.45);background:linear-gradient(100deg,rgba(46,230,255,.08),rgba(255,63,212,.08))}
.tkt-steps li.now i{background:var(--grad);border:0;color:#061022}
.tkt-hint{margin:2px 0 10px}
.tkt-urgent{margin:8px 0;padding:10px 12px;border-radius:12px;background:rgba(255,90,110,.1);border:1px solid rgba(255,90,110,.45);color:#ffb3bd;font-weight:700;font-size:13.5px}
.tkt-rate{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin:12px 0;padding:12px 14px;border-radius:14px;border:1px solid rgba(46,230,255,.35);background:rgba(46,230,255,.06)}
.tkt-rated{margin:12px 0;font-weight:700}
.help-sugg:empty{display:none}
.help-sugg{display:grid;gap:6px;padding:12px;border-radius:14px;border:1px dashed rgba(46,230,255,.35);background:rgba(46,230,255,.04)}
.help-sugg-h{margin:0 0 2px;font-weight:800;font-size:13.5px}
.linkbtn.help-now{color:#ff8394;font-weight:800}
@media (max-width:560px){.tkt-steps{grid-template-columns:1fr}}

/* Book again */
.rb-list{display:grid;gap:8px}
.rb-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:16px;border:1px solid var(--line);background:var(--glass)}
.rb-b{display:grid;gap:3px;flex:1;min-width:0}
.rb-b small{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.rb-row .btn{flex:none}
.linkbtn.rb-again{color:var(--amber)}
@media (max-width:560px){.rb-row{flex-wrap:wrap}.rb-row .btn{width:100%}}

/* Admin viewing as a player */
.view-as{position:sticky;top:0;z-index:50;display:flex;align-items:center;justify-content:center;gap:14px;flex-wrap:wrap;padding:9px 16px;background:#ffc94d;color:#1a1305;font:600 14px var(--body)}
.view-as .btn{background:#1a1305;color:#ffc94d;border-color:#1a1305}
body.viewing-as .top{top:44px}

/* Player 2 insights */
.in h4{margin:14px 0 8px;font:800 13px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.in-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
@media (max-width:720px){.in-grid{grid-template-columns:1fr}}
.in-best{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.in-best li{display:flex;justify-content:space-between;gap:10px;flex-wrap:wrap;padding:9px 12px;border:1px solid var(--line);border-radius:12px;background:var(--glass)}
.in-ok{color:var(--online);font-size:13px}
.in-gap{color:var(--leg);font-size:13px}
.in-trust{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 6px}
.in-heat{margin-top:16px;display:grid;gap:3px;overflow-x:auto}
.in-hx,.in-row{display:grid;grid-template-columns:34px repeat(24,minmax(9px,1fr));gap:3px;align-items:center}
.in-hx span{font:600 10px var(--mono);color:var(--dim);white-space:nowrap}
.in-row>span{font:700 11px var(--mono);color:var(--muted)}
.in-row i,.in-legend i{display:block;height:16px;border-radius:4px;background:rgba(46,230,255,var(--a));box-shadow:inset 0 0 0 1px rgba(255,255,255,.05)}
.in-row i.mine,.in-legend i.mine{box-shadow:inset 0 0 0 1px rgba(255,63,212,.5)}
.in-legend{display:flex;align-items:center;gap:8px;margin:8px 0 0;font-size:12px}
.in-legend i{width:16px;height:12px}
.in-prices{overflow-x:auto}
.in-prices table{width:100%;min-width:520px;border-collapse:collapse;font-size:14px}
.in-prices th,.in-prices td{padding:8px 10px;border-bottom:1px solid var(--line);text-align:left;vertical-align:top}
.in-prices th{font:700 11px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}

/* Subscriptions */
.sub-set .sub-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}
.sub-on{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;border-radius:999px;border:1px solid var(--line-2);background:var(--glass);font:800 13px var(--mono);cursor:pointer;flex:none}
.sub-on input{accent-color:#ff3fd4;width:18px;height:18px}
.sub-on:has(input:checked){border-color:rgba(82,242,162,.5);color:var(--online);background:rgba(82,242,162,.08)}
.sub-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;margin:12px 0}
.sub-stats div{padding:10px 12px;border-radius:12px;border:1px solid var(--line);background:var(--glass);display:grid}
.sub-stats b{font:800 20px var(--body)}
.sub-stats span{font-size:12px;color:var(--muted)}
.sub-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:12px 0}
.sub-grid .field,.sub-set>.field{display:grid;gap:6px}
.sub-money{display:inline-flex;align-items:center;gap:6px;font-weight:800}
.sub-money input,.sub-grid select{background:var(--bg-2);border:1px solid var(--line-2);border-radius:10px;padding:8px 10px;color:var(--fg);width:120px}
.sub-grid select{width:100%}
.sub-list{margin-top:12px}
.sub-list summary{cursor:pointer;font-weight:700}
.sub-row{display:flex;align-items:center;gap:10px;padding:8px 0;border-bottom:1px solid var(--line)}
.sub-row>span{display:grid;flex:1;min-width:0}
.sub-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;font:800 11px var(--mono);color:#ffc94d;border:1px solid rgba(255,201,77,.45);background:rgba(255,201,77,.08);white-space:nowrap}
.sub-badge.t1{color:#e7b48a;border-color:rgba(205,127,50,.6);background:rgba(205,127,50,.12)}
.sub-badge.t2{color:#e7edf5;border-color:rgba(215,221,232,.55);background:rgba(215,221,232,.1)}
.sub-badge.t3{color:#ffc94d;border-color:rgba(255,201,77,.7);background:rgba(255,201,77,.14)}
.sub-regular,.sub-loyal{display:inline-flex;align-items:center;padding:2px 7px;border-radius:999px;font:800 10px var(--mono);letter-spacing:.04em;color:#f6f3fb;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.12)}
.sub-loyal{color:#ffc94d}
.time.gold{border-color:#ffc94d;color:#ffc94d;background:rgba(255,201,77,.08)}
.time.locked{opacity:.85;cursor:pointer}
.time.locked[disabled]{cursor:not-allowed}
.time.gold small,.time.gold em{display:block;font:700 10px var(--body);letter-spacing:0;color:#f6f3fb}
.time .lock-ico{margin-right:4px;vertical-align:-1px}
.sub-mins{margin:6px 0 0;color:#ffc94d;font-size:13px}
.sub-min-use{display:inline-flex;align-items:center;gap:8px;font-weight:700}
.bk-list [data-bk-bill]{display:contents;padding:0;background:transparent}
.tier-box{margin:12px 0;padding:12px;border:1px solid rgba(255,201,77,.35);border-radius:16px;display:grid;gap:10px}
.tier-box legend{padding:0 6px;color:#ffc94d;font:800 12px var(--mono)}
.sub-preview-wrap{margin-top:12px}
.sub-previews{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px}
.sub-preview{padding:12px;border-radius:16px;border:1px solid rgba(255,201,77,.4);background:rgba(255,201,77,.06);display:grid;gap:4px}
.sub-preview b{font:900 22px/1 var(--display)}
.sub-preview ul{margin:6px 0 0;padding-left:16px}
.sub-preview.t1{border-color:rgba(205,127,50,.55)}
.sub-preview.t2{border-color:rgba(215,221,232,.45)}
.sub-win-row,.squad-card{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;border-radius:14px;border:1px solid var(--line);margin:8px 0}
.squad-card{align-items:flex-start}
.squad-card .dim{display:block}
@media (max-width:640px){.sub-grid{grid-template-columns:1fr}.sub-set .sub-head{flex-direction:column}}
/* Who viewed you */
.vw-list{display:grid;gap:8px}
.vw-row{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:14px;border:1px solid var(--line);background:var(--glass)}
.vw-b{display:grid;gap:3px;flex:1;min-width:0}
.vw-b small{display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.vw-off{flex:none}
.vw-note{margin-top:8px;font-size:12px}
.vw-n{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.vw-b small .tag{flex:none}

/* Supporter pass (profile) and crew price (booking) */
.sp{margin-top:16px;border-radius:22px;padding:2px;background:linear-gradient(120deg,#ffe59a,#ffc94d 25%,#ff9a3d 50%,var(--hot,#ff3fd4) 75%,#ffc94d);background-size:220% 100%;box-shadow:0 18px 50px -20px rgba(255,201,77,.55),0 0 0 1px rgba(255,201,77,.08);animation:sp-sheen 9s ease-in-out infinite alternate}
@keyframes sp-sheen{from{background-position:0% 50%}to{background-position:100% 50%}}
@media (prefers-reduced-motion:reduce){.sp{animation:none}}
.sp-in{border-radius:20px;background:radial-gradient(ellipse at 100% 0%,rgba(255,201,77,.16),transparent 55%),radial-gradient(ellipse at 0% 100%,color-mix(in srgb,var(--hot,#ff3fd4) 16%,transparent),transparent 60%),#0e0b18;padding:18px 20px;display:grid;gap:14px}
.sp-top{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}
.sp-eye{display:inline-flex;align-items:center;gap:8px;font:800 11px var(--mono);letter-spacing:.18em;color:#ffc94d}
.sp-star{color:#ffc94d;flex:none}
.sp-count{font-size:13px;color:var(--muted)}
.sp-h{margin:0;font:900 24px/1.05 var(--display);font-stretch:120%}
.sp-perks{list-style:none;margin:0;padding:14px 16px;border-radius:16px;background:linear-gradient(180deg,rgba(255,201,77,.1),rgba(255,201,77,.04));border:1px solid rgba(255,201,77,.28);display:grid;gap:10px 22px}
.sp-li{display:flex;align-items:center;gap:10px;min-width:0;font-weight:700;font-size:15px}
.sp-li span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sp-li b{color:#ffc94d;font-weight:900}
.sp-check{flex:none;color:#ffc94d;width:20px;height:20px;padding:3px;border-radius:50%;background:rgba(255,201,77,.15);box-sizing:border-box}
.sp-buy{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.sp-price{color:var(--muted);font-weight:700}
.sp-price b{font:900 32px/1 var(--display);color:var(--fg)}
.btn.sp-btn{background:linear-gradient(100deg,#ffe08a,#ffb347);color:#1a1305;border:0;box-shadow:0 8px 26px rgba(255,201,77,.35)}
.sp-note{color:var(--muted);font-size:13px;margin:0}
.sp-on{background:linear-gradient(120deg,#ffe59a,#ffc94d 40%,#52f2a2,#ffc94d);background-size:220% 100%}
.sp-on .sp-in{background:radial-gradient(ellipse at 100% 0%,rgba(82,242,162,.12),transparent 55%),radial-gradient(ellipse at 0% 100%,rgba(255,201,77,.12),transparent 60%),#0d1214}
.sp-crew{margin:10px 0 8px;padding:13px 15px;border-radius:16px;border:1.5px solid rgba(255,201,77,.75);background:radial-gradient(ellipse at 100% 0%,rgba(255,201,77,.16),transparent 60%),rgba(255,201,77,.05);box-shadow:0 10px 30px -16px rgba(255,201,77,.55);display:grid;gap:3px;justify-items:start}
.sp-crew .sp-eye{font-size:10.5px;letter-spacing:.14em}
.sp-crew .sp-star{width:12px;height:12px}
.sp-crew-p{font:900 26px/1 var(--display);color:#ffc94d}
.sp-crew small{color:#d6d0e4}
.sp-crew .btn{margin-top:6px}
.sp-in,.sp-crew{text-align:left}
@media (max-width:640px){.sp-li{font-size:14px;gap:8px}.sp-perks{padding:12px 14px}.sp-buy .btn{width:100%}.sp-in{padding:16px}.sp-h{font-size:22px}}
.perk-field{display:grid;gap:8px;margin-top:4px}
.perk-list{display:grid;gap:8px}
.perk-row{display:flex;align-items:center;gap:8px}
.perk-row .pf-search{flex:1;min-width:0;margin:0}
.perk-n{width:26px;height:26px;flex:none;border-radius:50%;display:grid;place-items:center;font:800 12px var(--mono);color:#ffc94d;border:1px solid rgba(255,201,77,.45);background:rgba(255,201,77,.08)}
.perk-x{width:36px;height:36px;flex:none;border-radius:50%;border:1px solid var(--line-2);background:var(--glass);color:var(--muted);font-size:13px}
.perk-x:hover{color:var(--fg);border-color:var(--busy)}
.perk-add{justify-self:start;color:#ffc94d;font-weight:800}
/* Supporter pass label: shines like the profile badges */
.sp-badge{position:relative;isolation:isolate;padding:6px 13px 6px 9px;border-radius:999px;border:1px solid rgba(255,215,106,.55);background:linear-gradient(120deg,rgba(255,215,106,.18),rgba(255,138,61,.12));box-shadow:inset 0 1px 0 rgba(255,255,255,.12),0 0 16px -4px #ffc94d;animation:sppulse 3.2s ease-in-out infinite}
.sp-shine{position:absolute;inset:0;border-radius:inherit;overflow:hidden;pointer-events:none;z-index:-1}
.sp-shine::after{content:"";position:absolute;top:0;bottom:0;width:45%;left:-60%;background:linear-gradient(105deg,transparent,rgba(255,255,255,.35),transparent);transform:skewX(-18deg);animation:sglshine 4.8s ease-in-out infinite 1s}
.sp-eye-t{background:linear-gradient(100deg,#ffd76a 0%,#ffe7a3 38%,#fffaf0 50%,#ffe7a3 62%,#ffb347 100%);background-size:260% 100%;-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 0 6px rgba(255,201,77,.6));animation:sptext 4.8s ease-in-out infinite 1s}
.sp-eye .sp-star{filter:drop-shadow(0 0 5px #ffc94d) drop-shadow(0 0 1.5px #fff);animation:spstar 3.2s ease-in-out infinite;transform-origin:50% 55%}
@keyframes sppulse{50%{box-shadow:inset 0 1px 0 rgba(255,255,255,.14),0 0 26px 0 #ffc94d,0 0 0 4px rgba(255,201,77,.12)}}
@keyframes sptext{0%,55%{background-position:100% 0}85%,100%{background-position:0 0}}
@keyframes spstar{0%,100%{transform:scale(1) rotate(0deg)}50%{transform:scale(1.22) rotate(18deg);filter:drop-shadow(0 0 10px #ffc94d) drop-shadow(0 0 3px #fff)}}
@media (prefers-reduced-motion:reduce){.sp-badge,.sp-shine::after,.sp-eye-t,.sp-eye .sp-star{animation:none}}
.sp-badge .sp-eye-t{font:900 13px var(--display);font-stretch:112%;letter-spacing:.05em}
.sp-badge .sp-star{width:20px;height:20px}
/* Profile actions: Book, Message, then icon buttons (favorite, share, more). */
.xp-cta .xp-msg{display:inline-flex;align-items:center;gap:9px}
.xp-cta .xp-ic,.xp-cta .xp-more{width:48px;height:48px;padding:0;display:inline-grid;place-items:center;flex:none}
.xp-cta .xp-ic svg{display:block}
.xp-cta .xp-follow.on{color:var(--hot)}
.sp-plans{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px}
.sp-tier{position:relative;display:grid;gap:8px;align-content:start;padding:14px;border-radius:16px;border:1px solid rgba(255,201,77,.35);background:rgba(255,255,255,.03)}
/* Long Player 2 names can't push the plan card's contents past its border. */
.sp-tier{grid-template-columns:minmax(0,1fr);container-type:inline-size}.sp-tier>*{min-width:0}.sp-tier .sp-h{overflow-wrap:anywhere}.sp-tier .sp-h.sp-h-fit{font-size:clamp(14px,calc(100cqi / (var(--sp-len, 12) * .9)),24px)}@media (max-width:640px){.sp-tier .sp-h.sp-h-fit{font-size:clamp(14px,calc(100cqi / (var(--sp-len, 12) * .9)),22px)}}
.sp-tier.best{border-color:#ffc94d;box-shadow:0 0 0 1px #ffc94d,0 12px 30px -18px rgba(255,201,77,.8)}
.sp-best{justify-self:start;padding:3px 8px;border-radius:999px;background:#ffc94d;color:#1a1305;font:800 11px var(--mono);letter-spacing:.04em}
.sub-card{display:grid;grid-template-columns:auto 1fr;gap:12px;align-items:start;padding:14px;margin:10px 0;border-radius:16px;border:1px solid var(--line);background:var(--glass)}
.sub-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-top:8px}
.sub-soon{margin:4px 0 8px;padding-left:18px}
.sub-soon-wrap{margin:8px 0}
.sub-people{margin-top:14px}
.sub-people h3{margin:0 0 8px}
@media (max-width:640px){
  .sp-plans{grid-template-columns:1fr}
  .sub-card{grid-template-columns:1fr}
  .sub-actions .btn,.sub-actions .linkbtn{width:100%;text-align:center}
}
@media (max-width:420px){.xp-cta{gap:8px}.xp-cta .xp-ic,.xp-cta .xp-more{width:44px;height:44px}}
/* Supporter Pass confirm: gold version of the site dialog. */
.cf-card.cf-sub{background:linear-gradient(160deg,#1d1508,#120c1c 55%,#0d0b1a);border-color:rgba(255,201,77,.5);box-shadow:0 30px 80px -20px #000,0 0 0 1px rgba(255,201,77,.12),0 0 70px -18px rgba(255,201,77,.55)}
.cf-card.cf-sub::before{background:linear-gradient(90deg,#ffe59a,#ffc94d 30%,#ff9a3d 60%,var(--hot,#ff3fd4))}
.cf-sub .sp-badge{justify-self:start}
.cf-sub .eyebrow{color:#ffc94d}
.cf-sub h3{font:900 26px/1.05 var(--display);font-stretch:120%;margin:2px 0 0}
.cf-sub .sp-perks{grid-template-columns:1fr}
.cf-bill{display:flex;align-items:baseline;justify-content:space-between;gap:12px;padding:12px 14px;border-radius:14px;background:rgba(255,255,255,.04);border:1px solid var(--line)}
.cf-bill span{color:var(--muted);font-size:14px}
.cf-bill b{font:900 24px/1 var(--display);color:#ffc94d}
.cf-bal{margin:-4px 0 0;font-size:13px;color:var(--muted)}
.cf-bal.short{color:#ffb4a8}
.cf-sub .cf-actions .btn:not(.sp-btn){border-color:rgba(255,201,77,.3)}
.cf-sub .btn.sp-btn{padding-inline:20px}
/* Home: "Your crews" (Supporter Passes), gold to match the pass on profiles. */
.crew-card{position:relative;overflow:hidden;border-color:rgba(255,201,77,.4);background:radial-gradient(ellipse at 100% 0%,rgba(255,201,77,.14),transparent 55%),linear-gradient(160deg,rgba(29,21,8,.55),rgba(18,12,28,.35)),var(--glass)}
.crew-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#ffe59a,#ffc94d 30%,#ff9a3d 60%,var(--hot,#ff3fd4))}
.crew-eye{display:inline-flex;align-items:center;gap:6px;color:#ffc94d}
.crew-eye .sp-star{width:14px;height:14px;color:#ffc94d}
.crew-list{display:grid;gap:10px;margin-top:6px}
.crew-row{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:16px;border:1px solid rgba(255,201,77,.25);background:rgba(255,201,77,.05)}
.crew-row .mini-avatar{box-shadow:0 0 0 2px #ffc94d,0 0 14px -2px rgba(255,201,77,.6)}
.crew-b{display:grid;gap:4px;flex:1;min-width:0}
.crew-b small{display:flex;flex-wrap:wrap;align-items:center;gap:6px}
.crew-deal{font:800 11px var(--mono);font-style:normal;letter-spacing:.06em;padding:3px 8px;border-radius:7px;color:#1a1305;background:linear-gradient(100deg,#ffe08a,#ffb347)}
.crew-act{display:flex;flex-direction:column;align-items:flex-end;gap:6px;flex:none}
.crew-act .linkbtn{color:#ffc94d;font-size:13px}
@media (max-width:560px){.crew-row{flex-wrap:wrap}.crew-act{width:100%;flex-direction:row;align-items:center;justify-content:space-between}.crew-act .btn{flex:1}}
/* Player 2 subscription settings: one section at a time, one tier at a time. */
.subx{display:grid;gap:14px}
.subx [hidden]{display:none!important}
.sx-switch{align-self:center}
.sx-stats{grid-template-columns:repeat(4,minmax(0,1fr));margin:14px 0 4px}
.sx-stats b{font-size:18px}
/* The three sections sit right under the title as big, easy-to-spot tabs. */
.sx-nav{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:16px 0 2px}
.sx-nav-b{display:flex;align-items:center;gap:12px;min-width:0;text-align:left;padding:12px 14px;border-radius:16px;border:1px solid var(--line-2);background:rgba(255,255,255,.035);color:var(--fg);cursor:pointer;transition:border-color .15s,background .15s,transform .15s}
.sx-nav-b:hover{border-color:rgba(46,230,255,.4);background:rgba(46,230,255,.05)}
.sx-nav-b:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
.sx-nav-ic{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:var(--amber);background:rgba(46,230,255,.08);border:1px solid rgba(46,230,255,.22)}
.sx-nav-ic svg{display:block}
.sx-nav-t{display:grid;gap:1px;min-width:0}
.sx-nav-t b{font:800 15px/1.2 var(--body)}
.sx-nav-t small{font:700 11.5px var(--mono);letter-spacing:.04em;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sx-nav-b.on{position:relative;border-color:transparent;background:linear-gradient(var(--bg-2),var(--bg-2)) padding-box,var(--grad) border-box;background-image:linear-gradient(90deg,rgba(46,230,255,.14),rgba(255,63,212,.1)),linear-gradient(var(--bg-2),var(--bg-2)),var(--grad);background-origin:border-box;background-clip:padding-box,padding-box,border-box;box-shadow:0 10px 30px -14px rgba(255,63,212,.55)}
.sx-nav-b.on .sx-nav-ic{color:#070a18;background:var(--grad);border-color:transparent;box-shadow:0 0 18px -4px rgba(255,63,212,.6)}
.sx-nav-b.on .sx-nav-t small{color:var(--amber)}
/* Subscribers: one clean card per person. */
.sub-people{margin-top:0}
.spc-head{display:flex;justify-content:space-between;align-items:flex-end;gap:14px;flex-wrap:wrap;margin-bottom:14px}
.spc-head h3{margin:0 0 2px}
.spc-head p{margin:0}
.spc-filter{display:flex;flex-wrap:wrap;gap:6px}
.spc-filter button{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;border:1px solid var(--line-2);background:rgba(255,255,255,.03);color:var(--muted);font:800 12.5px var(--body);cursor:pointer}
.spc-filter button b{font:800 11px var(--mono);padding:1px 6px;border-radius:999px;background:rgba(255,255,255,.08);color:var(--fg)}
.spc-filter button:hover{color:var(--fg)}
.spc-filter button.on{color:#1a1305;border-color:transparent;background:linear-gradient(100deg,#ffe08a,#ffb347)}
.spc-filter button.on b{background:rgba(26,19,5,.15);color:#1a1305}
.spc-list{display:grid;gap:10px;container-type:inline-size}
.spc{--tc:255,201,77;display:grid;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:16px;padding:14px 16px;border-radius:18px;border:1px solid var(--line);border-left:3px solid rgba(var(--tc),.85);background:linear-gradient(90deg,rgba(var(--tc),.07),rgba(255,255,255,.02) 45%)}
.spc.t1{--tc:205,127,50}
.spc.t2{--tc:215,221,232}
.spc.t3{--tc:255,201,77}
.spc-av .mini-avatar{width:48px;height:48px;font-size:16px;box-shadow:0 0 0 2px #0b1024,0 0 0 4px rgba(var(--tc),.7)}
.spc-who{display:grid;gap:6px;min-width:0}
.spc-who>b{font:800 16px var(--body);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.spc-tags{display:flex;flex-wrap:wrap;align-items:center;gap:8px}
.spc-since{font:600 12.5px var(--body);color:var(--muted)}
.spc-facts{display:flex;gap:22px;margin:0}
.spc-facts>div{display:grid;gap:3px;min-width:0}
.spc-facts dt{font:800 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.spc-facts dd{margin:0;font:800 14px var(--body);white-space:nowrap}
.spc-facts .spc-ends{color:#ff8a8a}
.spc-bar{display:block;width:120px;height:5px;margin-top:5px;border-radius:999px;background:rgba(255,255,255,.08);overflow:hidden}
.spc-bar>i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#ffe08a,#ffb347)}
.spc-msg{white-space:nowrap}
.spc-empty{display:grid;justify-items:center;gap:6px;text-align:center;padding:34px 18px;border-radius:18px;border:1px dashed var(--line-2)}
.spc-empty span{font-size:28px}
.spc-empty p{margin:0;max-width:380px}
.spc-facts>div:first-child:not(:only-child){width:150px}
.spc-facts>div:last-child{width:104px}
@container (max-width:660px){
  .spc{grid-template-columns:auto minmax(0,1fr) auto;gap:12px 14px}
  .spc-facts{grid-column:2/-1;grid-row:2}
}
.sx-tiers{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0 10px}
.sx-tier{display:grid;gap:2px;text-align:left;min-width:120px;padding:10px 14px;border-radius:14px;border:1px solid var(--line-2);background:var(--glass);color:var(--fg);cursor:pointer}
.sx-tier b{font-size:15px}
.sx-tier span{font:700 12px var(--mono);color:var(--muted)}
.sx-tier.on{border-color:#ffc94d;background:rgba(255,201,77,.1);box-shadow:0 0 0 1px #ffc94d inset}
.sx-tier.on span{color:#ffc94d}
.sx-tier.sx-add{place-content:center;border-style:dashed;color:#ffc94d;font-weight:800;min-width:auto}
.sx-plan{margin:0;padding:4px 0 0;border:0;display:grid;gap:14px}
.sx-group{display:grid;gap:4px;padding:14px 16px;border-radius:16px;border:1px solid var(--line);background:rgba(255,255,255,.025)}
.sx-group h4{margin:0;font:800 11.5px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#ffc94d;display:flex;gap:8px;align-items:baseline}
.sx-group h4 small{font:600 12px var(--body);letter-spacing:0;text-transform:none}
.sx-group .sub-grid{margin:8px 0 4px}
.sx-wide{grid-column:1/-1}
.sx-roll{justify-self:start;margin-top:4px}
.sx-cap{display:grid;gap:6px;max-width:260px;margin-top:8px}
.sx-cap input{background:var(--bg-2);border:1px solid var(--line-2);border-radius:10px;padding:8px 10px;color:var(--fg);width:120px}
.sx-group .perk-list{margin-top:8px}
.sx-plan-foot{display:flex;justify-content:flex-end}
.sx-danger{color:#ff8a8a}
.sx-prio{margin-top:12px}
.sx-foot-links{margin:8px 0 0}
.sx-upsell{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:14px;padding:14px 16px;border-radius:16px;border:1px dashed rgba(255,201,77,.45)}
.sx-upsell span{display:grid;gap:2px}
.sx-more{margin-top:12px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.02)}
.sx-more summary{cursor:pointer;padding:12px 16px;font-weight:800;list-style:none;display:flex;justify-content:space-between;align-items:center}
.sx-more summary::-webkit-details-marker{display:none}
.sx-more summary::after{content:"▾";color:var(--muted);transition:transform .2s}
.sx-more[open] summary::after{transform:rotate(180deg)}
.sx-more>div,.sx-more>ul{padding:0 16px 14px}
.sx-notes{margin:0;padding-left:34px!important;display:grid;gap:6px;color:var(--muted);line-height:1.5}
@media (max-width:640px){
  .sx-stats{grid-template-columns:1fr 1fr}
  .sx-tier{flex:1 1 calc(50% - 8px);min-width:0}
  .sx-upsell{flex-direction:column;align-items:stretch}
  .sx-group{padding:12px}
}
/* Public profile: pick one tier from a dropdown when there are several. */
.sp-pick{display:grid;gap:6px;margin:4px 0 2px}
.sp-pick-l{font:800 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#ffc94d}
.sp-select{position:relative;display:block}
.sp-select select{width:100%;appearance:none;-webkit-appearance:none;padding:13px 44px 13px 16px;border-radius:14px;border:1px solid rgba(255,201,77,.55);background:linear-gradient(120deg,rgba(255,201,77,.12),rgba(255,138,61,.06)),#140f1c;color:var(--fg);font:800 15px var(--body);cursor:pointer;box-shadow:0 0 18px -8px rgba(255,201,77,.6)}
.sp-select select:focus-visible{outline:2px solid #ffc94d;outline-offset:2px}
.sp-select select option{background:#140f1c;color:var(--fg)}
.sp-select::after{content:"";position:absolute;right:18px;top:50%;width:9px;height:9px;border-right:2.5px solid #ffc94d;border-bottom:2.5px solid #ffc94d;transform:translateY(-70%) rotate(45deg);pointer-events:none}
.sp-plans.one{grid-template-columns:1fr}
.sp-plans [hidden]{display:none!important}
/* "How subscriptions work": wrapped bullets, nothing cut off. */
.how-list{list-style:none;margin:2px 0 0;padding:14px 16px;border-radius:16px;border:1px solid rgba(255,201,77,.28);background:linear-gradient(180deg,rgba(255,201,77,.08),rgba(255,201,77,.03));display:grid;gap:12px}
.how-list li{position:relative;padding-left:20px;display:grid;gap:2px;line-height:1.45;font-size:14.5px;white-space:normal;overflow-wrap:anywhere}
.how-list li::before{content:"";position:absolute;left:2px;top:.55em;width:8px;height:8px;border-radius:50%;background:#ffc94d;box-shadow:0 0 8px rgba(255,201,77,.7)}
.how-list b{color:#ffe08a;font-size:14.5px}
.how-list span{color:var(--fg);opacity:.85}
.how-terms{margin:2px 0 0;font-size:13.5px}
.how-terms a{color:#ffc94d}
.cf-sub .cf-actions:has(> :only-child) .btn{flex:1}
.cf-card.cf-sub{max-height:calc(100dvh - 32px);overflow-y:auto}
.sx-group .field{align-content:start}
.sx-group .pf-search{margin:0;color:var(--fg)}
.sx-group .sub-money input{width:110px}
@media (max-width:640px){.sx-nav{gap:6px}.sx-nav-b{flex-direction:column;gap:6px;padding:10px 6px;text-align:center}.sx-nav-ic{width:34px;height:34px}.sx-nav-t b{font-size:13px;white-space:normal}.spc-av .mini-avatar{width:42px;height:42px}.spc-facts{grid-column:1/-1}}
/* Profile hero: the card column also holds the song, verified socials and this week's activity.
   Desktop shows them under the card; phones keep the old order (card, details, then song and socials). */
.xp-side-more{display:grid;gap:14px;min-width:0}
@media (min-width:901px){
  .xp-inner{align-items:start}
  .xp-side{display:grid;gap:20px;min-width:0}
  .xp-side .sng{width:100%;justify-self:stretch}
  .xp-side .xp-social{justify-content:flex-start}
  .xp-side .xp-activity{line-height:1.5}
  .xp-info>.sp{justify-self:stretch;width:100%}
  /* Supporter Pass reads side by side: what it is on the left, the plan on the right. */
  .sp:not(.sp-on) .sp-in{grid-template-columns:minmax(0,.85fr) minmax(0,1.15fr);column-gap:26px;align-items:start;padding:22px 24px}
  .sp:not(.sp-on) .sp-in>*{grid-column:1}
  .sp:not(.sp-on) .sp-in>.sp-plans{grid-column:2;grid-row:1/span 8;align-self:stretch}
  .sp:not(.sp-on) .sp-in>.sp-top{flex-direction:column;align-items:flex-start;gap:10px}
  .sp:not(.sp-on) .sp-in>.linkbtn{justify-self:start;text-align:left}
  .sp:not(.sp-on) .sp-tier{height:100%}
  .sp:not(.sp-on) .sp-buy{margin-top:auto}
}
@media (max-width:900px){
  .xp-side{display:contents}
  .xp-side>.xp-card{order:0}
  .xp-inner>.xp-info{order:1}
  .xp-side-more{order:2;width:100%;justify-items:center;text-align:center;margin-top:-14px}
}
@media (min-width:901px){.sp:not(.sp-on) .sp-li span{white-space:normal;overflow:visible}.sp:not(.sp-on) .sp-tier .sp-buy{display:grid;gap:10px}.sp:not(.sp-on) .sp-tier .sp-buy .btn{width:100%}}
/* Booking: tick the console you'll play on. */
.bk-cons{margin:4px 0 0;padding:14px;border-radius:16px;border:1px solid var(--line-2);background:rgba(255,255,255,.03);display:grid;gap:10px}
.bk-cons legend{padding:0 6px;font:800 14px var(--body);color:var(--fg)}
.bk-cons .small{margin:0}
.bk-cons-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.bk-con{position:relative;display:flex;align-items:center;gap:10px;padding:11px 12px;border-radius:12px;border:1px solid var(--line-2);background:var(--glass);cursor:pointer;transition:border-color .15s,background .15s}
.bk-con input{position:absolute;opacity:0;width:1px;height:1px}
.bk-box{flex:none;width:20px;height:20px;border-radius:6px;border:2px solid var(--line-2);display:grid;place-items:center;transition:background .15s,border-color .15s}
.bk-con.on{border-color:var(--hot);background:color-mix(in oklab,var(--hot) 12%,transparent)}
.bk-con.on .bk-box{background:var(--grad);border-color:transparent}
.bk-con.on .bk-box::after{content:"";width:5px;height:10px;border:solid #061022;border-width:0 2.5px 2.5px 0;transform:translateY(-1px) rotate(45deg)}
.bk-con:has(input:focus-visible){outline:2px solid var(--hot);outline-offset:2px}
.bk-con b{font-size:14.5px}
.bk-con small{margin-left:auto;font:700 10.5px var(--mono);color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.bk-cons-ok{margin:0;font-size:13.5px;color:var(--online)}
.bk-cons-need{margin:0;font-size:13.5px;color:var(--amber,#ffc94d)}
.bk-cons-list{grid-template-columns:1fr}
.bk-con svg{width:18px;height:18px;flex:none;color:var(--muted)}
.bk-con.on svg{color:var(--fg)}
.bk-con small{white-space:nowrap}
.bk-pop-d b svg{width:16px;height:16px;vertical-align:-3px;margin-right:6px}
/* Squad nights on a Player 2's profile: gold like the Supporter Pass, compact enough for the card column. */
.sq{position:relative;display:grid;gap:10px;padding:14px;border-radius:20px;border:1px solid rgba(255,201,77,.4);background:radial-gradient(ellipse at 100% 0%,rgba(255,201,77,.12),transparent 55%),radial-gradient(ellipse at 0% 100%,color-mix(in srgb,var(--hot,#ff3fd4) 12%,transparent),transparent 60%),#0e0b18;box-shadow:0 14px 40px -22px rgba(255,201,77,.5);text-align:left;width:100%;box-sizing:border-box}
.sq-h{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap}
.sq-h .sp-eye{font-size:10.5px;letter-spacing:.14em}
.sq-sub{font:700 11px var(--mono);letter-spacing:.06em;color:var(--muted);text-transform:uppercase}
.sq-n{display:grid;grid-template-columns:54px minmax(0,1fr);gap:12px;padding:12px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.035)}
.sq-date{display:grid;align-content:center;justify-items:center;height:58px;border-radius:12px;background:linear-gradient(160deg,rgba(255,201,77,.22),rgba(255,138,61,.1));border:1px solid rgba(255,201,77,.45)}
.sq-date span{font:800 10.5px var(--mono);letter-spacing:.1em;color:#ffc94d}
.sq-date b{font:900 24px/1 var(--display);color:var(--fg)}
.sq-b{display:grid;gap:3px;min-width:0}
.sq-t{font-size:15.5px;line-height:1.25;overflow-wrap:anywhere}
.sq-meta{display:flex;align-items:center;gap:5px;flex-wrap:wrap;font-size:13px;font-weight:700}
.sq-meta svg{width:14px;height:14px;flex:none}
.sq-meta.dim{font-weight:600}
.sq-tags{display:flex;flex-wrap:wrap;gap:5px;margin-top:3px}
.sq-tags i{font:700 11px var(--mono);font-style:normal;padding:3px 7px;border-radius:7px;background:rgba(255,201,77,.1);border:1px solid rgba(255,201,77,.3);color:#ffe08a}
.sq-tags i.full{background:rgba(255,90,110,.12);border-color:rgba(255,90,110,.4);color:#ff9aa8}
.sq-act{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:8px}
.sq-act .btn{padding:8px 16px}
.sq-in{font:800 12.5px var(--body);color:var(--online)}
.sq-in.wait{color:#ffc94d}
.sq-more{justify-self:start;color:#ffc94d;font-size:13px}
@media (max-width:900px){
  .xp-side-more>.sq{order:-1;max-width:560px;justify-self:center}
}
.sq{gap:8px;padding:12px}
.sq-n{grid-template-columns:46px minmax(0,1fr);gap:10px;padding:10px}
.sq-date{height:50px;border-radius:10px}
.sq-date b{font-size:20px}
.sq-date span{font-size:9.5px}
.sq-t{font-size:14.5px}
.sq-meta{font-size:12.5px}
.sq-foot{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;margin-top:4px}
.sq-foot .sq-tags{margin:0}
.sq-act{margin:0;gap:8px}
.sq-act .btn{padding:6px 14px;font-size:13px}
.sub-grid>.sub-on{align-self:end;justify-self:start}
/* Squad nights: Player 2 settings. */
.sqh-wrap{display:grid;gap:12px;margin:14px 0 18px}
.sqh{display:grid;gap:10px;padding:14px 16px;border-radius:18px;border:1px solid rgba(255,201,77,.35);background:linear-gradient(160deg,rgba(29,21,8,.45),rgba(18,12,28,.3)),var(--glass)}
.sqh-top{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;flex-wrap:wrap}
.sqh-top>div{display:grid;gap:3px;min-width:0}
.sqh-top b{font-size:16px}
.sqh-st{flex:none;font:800 11.5px var(--mono);padding:5px 10px;border-radius:999px;border:1px solid}
.sqh-st.ok{color:var(--online);border-color:rgba(82,242,162,.45);background:rgba(82,242,162,.08)}
.sqh-st.wait{color:#ffc94d;border-color:rgba(255,201,77,.45);background:rgba(255,201,77,.08)}
.sqh-stats{display:flex;flex-wrap:wrap;gap:6px}
.sqh-stats span{font-size:12.5px;padding:5px 9px;border-radius:9px;background:rgba(255,255,255,.04);border:1px solid var(--line);color:var(--muted)}
.sqh-stats b{color:var(--fg)}
.sqh-list{border-radius:12px;border:1px solid var(--line);background:rgba(0,0,0,.15)}
.sqh-list summary{cursor:pointer;padding:10px 12px;font-weight:800;font-size:14px}
.sqh-list>*:not(summary){margin:0 12px 10px}
.sqh-p{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.sqh-pb{display:grid;gap:2px;flex:1;min-width:0}
.sqh-pa{display:flex;gap:12px;flex:none}
.sqh-wl{font:800 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#ffc94d;margin-top:8px!important}
.sqh-act{display:flex;gap:8px;flex-wrap:wrap}
.sqh-move{display:grid;gap:8px;padding:12px;border-radius:12px;border:1px dashed rgba(255,201,77,.4)}
.sqh-move input{background:var(--bg-2);border:1px solid var(--line-2);border-radius:10px;padding:8px 10px;color:var(--fg)}
.btn.sx-danger{color:#ff9aa8;border-color:rgba(255,90,110,.35)}
.sqn-form{display:grid;gap:12px;margin-top:6px;padding:16px;border-radius:18px;border:1px solid var(--line);background:rgba(255,255,255,.02)}
.sqn-h{margin:0;font:800 12px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#ffc94d}
.sqn-form .sub-grid{margin:0}
.sqn-form select,.sqn-form input[type=datetime-local],.sqn-form input[type=number]:not(.sub-money input){background:var(--bg-2);border:1px solid var(--line-2);border-radius:10px;padding:9px 10px;color:var(--fg);width:100%;box-sizing:border-box}
.sqn-box{display:grid;gap:10px;padding:14px;border-radius:14px;border:1px solid rgba(255,201,77,.28);background:rgba(255,201,77,.04)}
.sqn-note{margin:0;padding:10px 12px;border-radius:10px;background:rgba(255,201,77,.1);border:1px solid rgba(255,201,77,.35);font-size:13.5px;line-height:1.5}
.sqn-rules{margin:0 16px 14px}
.sqn-form>.btn{justify-self:start}
@media (max-width:640px){.sqh-p{flex-wrap:wrap}.sqh-pa{width:100%;padding-left:46px}}
/* Squad nights: public card extras. */
.sq-min{font-size:12px;font-weight:700;color:#ffc94d;line-height:1.35}
.sq-min.ok{color:var(--online)}
.sq-tags i.aud{background:color-mix(in oklab,var(--hot,#ff3fd4) 14%,transparent);border-color:color-mix(in oklab,var(--hot,#ff3fd4) 40%,transparent);color:var(--fg)}
.sq-links{display:flex;gap:14px;flex-wrap:wrap}
.sqc-list{margin:0}
.sq-n .sq-b{gap:2px}
.sq-min{font-size:11.5px}
.sq-foot .sq-tags i{font-size:10.5px;padding:2px 6px}
@media (min-width:901px){.sq-n{padding:9px 10px}.sq-act .btn{padding:5px 12px;font-size:12.5px}}
.sq-meta .nw{display:inline-flex;align-items:center;gap:4px;white-space:nowrap}
/* Squad nights in the upcoming list */
.sq-tag{display:inline-flex;align-items:center;gap:4px;margin-left:6px;padding:2px 8px;border-radius:999px;font:800 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;vertical-align:middle;color:#ffc94d;background:rgba(255,201,77,.12);border:1px solid rgba(255,201,77,.4)}
.sq-row{border-left:3px solid rgba(255,201,77,.7)}
.sq-next{background:linear-gradient(135deg,rgba(255,201,77,.16),rgba(124,92,255,.12))}
.sq-need{margin:0;font-size:12.5px}
/* Squad night card details and room controls */
.sq-facts{display:grid;gap:6px;margin:2px 0 0;padding:10px 12px;border-radius:12px;background:rgba(255,255,255,.035);border:1px solid var(--line)}
.sq-facts>div{display:grid;grid-template-columns:104px minmax(0,1fr);gap:10px;align-items:baseline}
.sq-facts dt{font:800 10.5px var(--mono);letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}
.sq-facts dd{margin:0;font-size:13.5px;line-height:1.4;overflow-wrap:anywhere}
.ss-row .sq-facts{grid-column:1/-1}
.sq-room{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sq-room .dim{font-size:12.5px}
.sq-room-when{margin:0;font-size:13px}
.sq-room-when b{color:var(--fg)}
@media (max-width:520px){.sq-facts>div{grid-template-columns:1fr;gap:2px}}
.sq-next.sq-flat{background:var(--glass);border-color:var(--line);box-shadow:none;border-left:3px solid rgba(255,201,77,.7)}
.sq-next .sq-links{gap:14px;flex-wrap:wrap}
.sq-next .sq-room,.sqh-wrap .sq-room{gap:10px;flex-wrap:wrap;align-items:center}
/* Player 2 Home: slim header, quick view, tabs */
.p2-head{padding:16px 20px}
.p2-head-row{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
.p2-head-row .mini-av,.p2-head-row>img,.p2-head-row>span:first-child{flex:0 0 auto}
.p2-head-name{min-width:0}
.p2-head-name .eyebrow{display:block;margin:0 0 3px}
.p2-head-name h1{margin:0;font:900 clamp(24px,3vw,32px)/1.05 var(--display);overflow-wrap:anywhere}
.p2-head-end{margin-left:auto;display:flex;gap:8px;align-items:center;flex-wrap:wrap}
.p2-pill{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:999px;font:700 12.5px var(--body);border:1px solid var(--line-2);background:var(--glass);color:var(--fg)}
.p2-pill.ok{color:var(--online);border-color:color-mix(in oklab,var(--online) 45%,transparent);background:color-mix(in oklab,var(--online) 10%,transparent)}
.p2-pill.gold{color:var(--leg);border-color:rgba(255,201,77,.45);background:rgba(255,201,77,.08)}
.p2-dc{margin-top:14px;padding-top:14px;border-top:1px solid var(--line)}
.p2q-grid{display:grid;grid-template-columns:minmax(0,1.6fr) repeat(3,minmax(0,1fr));gap:12px;margin:0 0 16px}
.p2q{display:grid;gap:4px;align-content:start;padding:14px 16px;border-radius:18px;background:var(--glass);border:1px solid var(--line);text-align:left;color:var(--fg);transition:border-color .15s,transform .15s}
.p2q:hover{border-color:var(--line-2);transform:translateY(-1px)}
.p2q b{font:900 22px/1.1 var(--display)}
.p2q b.p2q-what{font:800 17px/1.25 var(--body);overflow-wrap:anywhere}
.p2q small{color:var(--muted);font-size:12.5px;line-height:1.35}
.p2q.hl{background:linear-gradient(135deg,color-mix(in oklab,var(--amber) 14%,transparent),color-mix(in oklab,var(--hot) 10%,transparent));border-color:color-mix(in oklab,var(--amber) 45%,transparent)}
.p2q.hl.live{border-color:color-mix(in oklab,var(--online) 60%,transparent)}
.p2q-go{margin-top:4px;font:800 12.5px var(--body);color:var(--amber)}
.p2q-on{color:var(--online)}.p2q-wait{color:var(--leg)}.p2q-off{color:var(--muted)}
.p2q-bar{height:6px;border-radius:9px;background:var(--glass-2);overflow:hidden;margin-top:6px}
.p2q-bar span{display:block;height:100%;background:var(--grad)}
.p2-nav{position:sticky;top:77px;z-index:4;display:flex;gap:4px;padding:6px;margin:0 0 18px;border-radius:999px;background:rgba(10,13,32,.82);backdrop-filter:blur(18px) saturate(1.4);border:1px solid var(--line-2);box-shadow:0 10px 30px -18px #000;overflow-x:auto;scrollbar-width:none}
.p2-nav::-webkit-scrollbar{display:none}
.p2-nav button{flex:0 0 auto;display:inline-flex;align-items:center;gap:7px;white-space:nowrap;border:0;border-radius:999px;padding:9px 16px;background:transparent;color:var(--muted);font:700 13.5px var(--body)}
.p2-nav button:hover{color:var(--fg);background:var(--glass)}
.p2-nav button.on{background:var(--grad);color:#0a0d1e}
.p2-nav i{font:800 10.5px var(--mono);font-style:normal;padding:2px 7px;border-radius:999px;background:var(--glass-2);color:var(--fg)}
.p2-nav i.warn{background:rgba(255,201,77,.18);color:var(--leg)}
.p2-nav button.on i{background:rgba(10,13,30,.22);color:#0a0d1e}
[data-p2pane]>*+*{margin-top:18px}
@media (max-width:700px){
  .p2-head{padding:14px 16px}
  .p2-head-end{margin-left:0;width:100%}
  .p2q-grid{grid-template-columns:1fr 1fr;gap:10px}
  .p2q-grid .p2q:first-child{grid-column:1/-1}
  .p2q{padding:12px 14px}
  .p2q b{font-size:19px}
  .p2-nav{top:133px;border-radius:16px}
}
.p2-nav .sm{display:none}
@media (max-width:700px){.p2-nav .lg{display:none}.p2-nav .sm{display:inline}.p2-nav{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:2px;padding:5px}.p2-nav button{justify-content:center;gap:4px;padding:9px 4px;font-size:12.5px}.p2-nav i{padding:1px 5px}}
/* Player 2 sessions: header row with the Upcoming/Past switch, full cards in two columns */
.p2q b.p2q-money{font-size:26px;font-stretch:115%;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent;justify-self:start}
.ss-card.p2-ss{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"head tabs" "body body";align-items:end;gap:16px 14px}
.p2-ss .p2-ss-h{grid-area:head;min-width:0}
.p2-ss .p2-ss-h h2{margin:2px 0 0;font-size:clamp(26px,3vw,34px);line-height:1.05}
.p2-ss .ss-tabs{grid-area:tabs;justify-self:end}
.p2-ss .ss{grid-area:body}
.ss-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,420px),1fr));gap:14px;align-items:start}
.ss-next.ss-later{background:var(--glass);border-color:var(--line-2);box-shadow:none}
.ss-next.ss-later .ss-count{color:var(--muted)}
@media (max-width:700px){.ss-card.p2-ss{grid-template-columns:1fr;grid-template-areas:"head" "tabs" "body"}.p2-ss .ss-tabs{justify-self:start}}
/* Player 2 sessions on desktop: agenda by day, countdown ring on the next one. Phones keep the cards. */
.ag{display:grid;gap:18px}
.ag-day h4{margin:0 0 8px;display:flex;gap:8px;align-items:center;font:800 12px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--muted)}
.ag-day h4 span{color:var(--amber)}
.ag-day h4::after{content:"";flex:1;height:1px;background:var(--line)}
.ag-list{display:grid;gap:8px}
.ag-item{display:grid;grid-template-columns:108px minmax(0,1fr) auto 34px;align-items:center;gap:8px 16px;padding:12px 14px;border-radius:16px;background:var(--glass);border:1px solid var(--line)}
.ag-item.next{background:linear-gradient(135deg,color-mix(in oklab,var(--amber) 12%,transparent),color-mix(in oklab,var(--hot) 8%,transparent));border-color:color-mix(in oklab,var(--amber) 45%,transparent);box-shadow:0 0 30px -16px var(--amber);padding:16px 18px}
.ag-item.live{border-color:color-mix(in oklab,var(--online) 60%,transparent);box-shadow:0 0 30px -12px var(--online)}
.ag-item.sq{border-left:3px solid rgba(255,201,77,.75)}
.ag-time b{display:block;font:900 18px/1.1 var(--display)}
.ag-time small{font:700 11.5px var(--mono);color:var(--amber)}
.ag-ring{display:grid;place-items:center;width:108px;aspect-ratio:1;border-radius:50%;text-align:center;border:3px solid color-mix(in oklab,var(--amber) 60%,transparent);box-shadow:inset 0 0 24px -8px var(--amber),0 0 18px -8px var(--amber)}
.ag-ring.live{border-color:color-mix(in oklab,var(--online) 70%,transparent);box-shadow:inset 0 0 24px -8px var(--online),0 0 18px -8px var(--online)}
.ag-ring>div{display:grid;gap:2px;justify-items:center}
.ag-ring b{font:900 17px/1.05 var(--display);white-space:nowrap}
.ag-ring small{font:700 9.5px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:var(--muted)}
.ag-main{display:flex;gap:12px;align-items:center;min-width:0}
.ag-main .mini-av,.ag-main>img{flex:0 0 auto}
.ag-av{flex:0 0 auto;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;font-size:17px;border:2px solid #ffc94d;background:rgba(255,201,77,.12)}
.ag-what{min-width:0}
.ag-what>b{display:block;font-size:15.5px;line-height:1.25;overflow-wrap:anywhere}
.ag-item.next .ag-what>b{font:800 19px/1.2 var(--display);font-stretch:110%}
.ag-tags{display:flex;gap:5px;flex-wrap:wrap;margin-top:5px;align-items:center}
.ag-chip{display:inline-flex;align-items:center;padding:2px 8px;border-radius:999px;font:700 11.5px var(--body);border:1px solid var(--line-2);background:var(--glass);color:var(--muted);white-space:nowrap}
.ag-cta{display:flex;align-items:center;gap:8px 10px;justify-content:flex-end;flex-wrap:wrap;max-width:420px}
.ag-cta .dim,.ag-cta .ag-meta{font-size:12.5px;color:var(--muted)}
.ag-cta .btn{white-space:nowrap}
.ag-more{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--glass);color:var(--fg);font-size:13px}
.ag-more:hover{border-color:var(--line-2)}
.ag-detail{grid-column:1/-1;display:grid;gap:10px;padding-top:12px;border-top:1px solid var(--line)}
.ag-detail .ag-acts{margin-left:0;justify-content:flex-start}
.ag-sub{gap:12px;align-items:center}
.ag-extra{grid-column:1/-1}
.ag-extra:empty{display:none}
.ss-dual .ss-cards,.ss-dual .cards-only{display:none}
@media (max-width:700px){
  .ss-dual .ag,.ss-dual .ag-only{display:none}
  .ss-dual .ss-cards{display:grid}
  .ss-dual .cards-only{display:inline-block}
}
.ag-time small{white-space:nowrap}
.ag-detail .ag-acts{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center}
.ag-detail .ag-acts>p,.ag-detail .ag-acts>small,.ag-detail .ag-acts>div{flex-basis:100%;margin:0}
a.p2q{text-decoration:none}
.p2q.p2q-cta{background:linear-gradient(135deg,color-mix(in oklab,var(--hot) 14%,transparent),color-mix(in oklab,var(--amber) 8%,transparent));border-color:color-mix(in oklab,var(--hot) 40%,transparent)}
.p2-nav i.ok{background:color-mix(in oklab,var(--online) 18%,transparent);color:var(--online)}
.p2-nav button.on i.ok{background:rgba(10,13,30,.22);color:#0a0d1e}
@media (max-width:700px){.p2-nav i.ok{display:none}}
/* Past sessions: same agenda look, quieter */
.ag-item.past{background:rgba(255,255,255,.03)}
.ag-time.past small{color:var(--muted)}
.ag-item.past .ag-what>b{font-size:15px}
.ag-need{display:inline-flex;align-items:center;padding:3px 9px;border-radius:999px;font:800 10.5px var(--mono);letter-spacing:.06em;text-transform:uppercase;color:#ffc94d;background:rgba(255,201,77,.12);border:1px solid rgba(255,201,77,.45)}
.ss-past .ss-count{color:var(--muted)}
.ss-past .ag-acts{margin-left:0;justify-content:flex-start;display:flex;flex-wrap:wrap;gap:8px 14px}
.ss-past .ag-acts>p,.ss-past .ag-acts>div,.ss-past .ag-acts>small{flex-basis:100%;margin:0}
.p2q-pn .pn-go{justify-self:start;margin-top:6px}
.p2q-pn:hover{transform:none}
/* Reviews on past sessions */
.rv-stars{color:#ffc94d;letter-spacing:1px;font-size:13px;white-space:nowrap}
.rv-stars i{font-style:normal;color:rgba(255,255,255,.18)}
.ag-stars{display:inline-flex;align-items:center;line-height:1;padding:4px 9px;border-radius:999px;border:1px solid rgba(255,201,77,.4);background:rgba(255,201,77,.08)}
.rv-quote{margin:0;padding:10px 14px;border-left:3px solid #ffc94d;border-radius:0 12px 12px 0;background:rgba(255,201,77,.06)}
.rv-quote-h{display:flex;gap:10px;align-items:center;flex-wrap:wrap;font-size:12.5px;color:var(--muted)}
.rv-quote p{margin:6px 0 0;font-size:14px;line-height:1.45;overflow-wrap:anywhere}
.rv-none{margin:0;font-size:13px}
.ag-stars{height:24px;overflow:hidden}
.rv-stars{font-family:Arial,"Segoe UI Symbol",sans-serif;line-height:1}
/* Play now: console and length */
.pn-con svg{width:15px;height:15px;flex:0 0 auto;margin-right:5px;vertical-align:-2px}
.pn-hint{margin:-2px 0 4px;font-size:12.5px}
.pn-mode{margin-bottom:8px}
.pn-total{margin:2px 0 6px;font-size:14px}
.pn-total b{font-size:16px}
/* Squad night drop-out requests */
.sqh-ask{display:flex;align-items:center;gap:8px 12px;flex-wrap:wrap;margin-top:6px;padding:8px 10px;border-radius:12px;background:rgba(255,201,77,.08);border:1px solid rgba(255,201,77,.4)}
.sqh-ask-t{font-size:13px;font-weight:700;color:#ffe08a;overflow-wrap:anywhere}
.sqh-ask-b{display:flex;gap:8px;margin-left:auto}
.sq-asked{font-size:12px;color:var(--muted)}.sq-asked.no{color:#ff9aa8}
.sq-ask-note textarea{width:100%;resize:vertical;min-height:56px;border-radius:12px;border:1px solid var(--line-2);background:rgba(255,255,255,.04);color:var(--fg);padding:8px 10px;font:inherit}
/* Popups taller than the screen scroll inside themselves, and the page behind stays put. */
.bk-scrim,.sm-back{display:flex;align-items:flex-start;justify-content:center;overflow-y:auto;overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.bk-scrim>.bk-sheet,.bk-scrim>div,.sm-back>.sm-card{margin:auto;flex:0 0 auto}
body:has(.bk-scrim:not([hidden])),body:has(.sm-back:not([hidden])){overflow:hidden}
/* Agenda rows in narrower panels (My account → Bookings): price and buttons move under the name. */
.ag-list{container-type:inline-size}
@container (max-width:860px){
  .ag-item{grid-template-columns:auto minmax(0,1fr) 34px;gap:10px 14px}
  .ag-item .ag-cta{grid-column:1/-1;grid-row:2;justify-content:flex-start;max-width:none;padding-top:10px;border-top:1px solid var(--line)}
  .ag-item .ag-more{grid-column:3;grid-row:1}
  .ag-item .ag-detail,.ag-item .ag-extra{grid-row:auto}
  .ag-ring{width:92px}
  .ag-ring b{font-size:15px}
}
/* Grouped account menu */
.pf-nav{gap:2px}
.pf-nav-h{margin:12px 14px 4px;font:800 10.5px var(--mono);letter-spacing:.12em;text-transform:uppercase;color:var(--dim)}
.pf-nav-h:first-child{margin-top:4px}
.pf-nav button{padding:9px 14px}
.pf-nav button b{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:14.5px}
.pf-nav .nav-n{font:800 10.5px var(--mono);font-style:normal;padding:2px 7px;border-radius:999px;background:var(--glass-2);color:var(--fg)}
@media (max-width:900px){.pf-nav-h{display:none}}
/* Squad night share sheet */
.sq-share{width:min(540px,100%)}
.sq-share-link{display:flex;gap:8px}
.sq-share-link input{flex:1;min-width:0;padding:10px 14px;border-radius:999px;border:1px solid var(--line-2);background:rgba(255,255,255,.04);color:var(--fg);font:600 14px var(--mono)}
.sq-og{border-radius:16px;overflow:hidden;border:1px solid var(--line-2);background:#0b0f22}
.sq-og-img{display:grid;align-content:end;gap:6px;min-height:170px;padding:18px;background:radial-gradient(60% 80% at 15% 20%,rgba(46,230,255,.45),transparent),radial-gradient(60% 80% at 85% 25%,rgba(255,63,212,.4),transparent),#0a0d20}
.sq-og-eye{font:800 11px var(--mono);letter-spacing:.1em;text-transform:uppercase;color:#ffc94d}
.sq-og-img b{font:900 24px/1.1 var(--display);overflow-wrap:anywhere}
.sq-og-meta{display:grid;gap:2px;padding:10px 14px;font-size:13.5px}
.sq-share-note{margin:0;font-size:13px}
.sq-share-btns{display:flex;gap:8px;flex-wrap:wrap}
.sq-share-qr{display:grid;justify-items:center;gap:8px;padding:12px;border-radius:14px;background:#fff}
.sq-share-qr svg{width:200px;height:200px}
.sq-share-qr small{color:#333}
/* Play now: searching banner that follows the Player 1 around */
#pn-banner{position:fixed;z-index:60;left:50%;bottom:20px;transform:translateX(-50%);display:flex;align-items:center;gap:12px;padding:10px 12px 10px 14px;border-radius:999px;background:rgba(14,18,40,.92);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,201,77,.45);box-shadow:0 18px 50px -18px rgba(0,0,0,.8),0 0 0 4px rgba(255,201,77,.08);animation:pnbIn .3s ease-out}
@keyframes pnbIn{from{opacity:0;transform:translate(-50%,16px)}to{opacity:1;transform:translate(-50%,0)}}
.pnb-radar{position:relative;flex:none;width:34px;height:34px;display:grid;place-items:center;border-radius:50%;background:linear-gradient(90deg,#ffc94d,#ff8a3d)}
.pnb-radar b{font-size:15px;color:#1a0d00}
.pnb-radar i{position:absolute;inset:-4px;border-radius:50%;border:2px solid rgba(255,201,77,.7);animation:pnRing 2s ease-out infinite}
.pnb-txt{display:grid;line-height:1.25;min-width:0}
.pnb-txt b{font-size:14px;white-space:nowrap}
.pnb-txt small{font-size:12px;color:var(--muted,#9aa3c7);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pnb-txt small [data-pn-left]{font-family:var(--mono,monospace);color:#ffd86b;font-weight:700}
#pn-banner .btn.sm{padding:7px 14px;font-size:13px}
@media(max-width:640px){#pn-banner{left:12px;right:84px;transform:none;bottom:16px;border-radius:18px;gap:9px;padding:8px 10px}.pnb-txt{flex:1}.pnb-txt b{font-size:13px}.pnb-txt small{font-size:11.5px}#pn-banner [data-pnb-cancel]{display:none}@keyframes pnbIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}}
/* Day-off request: length follows how the game is sold */
.off-unit{margin-bottom:8px}
.off-sold{margin:8px 0 0;font-size:13px;color:var(--muted)}
/* Claim your @name (Player 2s without one) */
.claim-h{display:grid;gap:12px;margin:0 0 16px;padding:20px;border-radius:20px;border:1px solid transparent;
  background:linear-gradient(var(--bg-2,#0e1226),var(--bg-2,#0e1226)) padding-box,linear-gradient(110deg,var(--cyan,#2ee6ff),#9b6bff,var(--hot,#ff3fd4)) border-box;box-shadow:0 18px 50px -24px rgba(255,63,212,.6)}
.claim-h h3{margin:2px 0 4px;font:900 22px/1.1 var(--display);font-stretch:115%}
.claim-h b[data-claim-preview]{color:var(--cyan,#2ee6ff);font-family:var(--mono)}
.claim-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.claim-pre{font:700 14px var(--mono);color:var(--muted)}
.claim-row input{flex:1;min-width:160px;max-width:320px;border-radius:999px;border:1px solid var(--line-2);background:var(--bg-2);color:var(--fg);padding:10px 16px;font:700 15px var(--mono)}
.claim-row input:focus{outline:none;border-color:var(--cyan,#2ee6ff);box-shadow:0 0 0 3px rgba(46,230,255,.2)}
.claim-note{margin:0}.claim-note.ok{color:var(--ok,#52f2a2)}.claim-note.err{color:#ff8a9a}
.bk-cons-note{margin:0;padding:8px 12px;border-radius:12px;font-size:13px;line-height:1.4;color:#ffe9b3;background:rgba(255,201,77,.1);border:1px solid rgba(255,201,77,.3)}
/* Early access banner (Player 2s, before launch) */
.ea-banner{display:flex;align-items:center;justify-content:space-between;gap:16px 24px;flex-wrap:wrap;margin:0 0 16px;padding:20px 22px;border-radius:20px;border:1px solid transparent;
  background:radial-gradient(120% 140% at 0% 0%,rgba(46,230,255,.16),transparent 60%),radial-gradient(120% 140% at 100% 100%,rgba(255,63,212,.18),transparent 60%),linear-gradient(var(--bg-2,#0d1328),var(--bg-2,#0d1328)) padding-box,
  linear-gradient(110deg,#2ee6ff,#9b6bff,#ff3fd4) border-box;box-shadow:0 18px 50px -26px rgba(255,63,212,.7)}
.ea-banner>div:first-child{flex:1;min-width:260px}
.ea-banner h2{margin:4px 0 6px;font:900 24px/1.1 var(--display);font-stretch:115%}
.ea-banner p:not(.eyebrow){margin:0;color:var(--muted);line-height:1.5}
.ea-banner .row{gap:8px;flex-wrap:wrap}
/* Stats charts with no data yet */
.st-empty{display:grid;place-items:center;min-height:150px;border:1px dashed var(--line-2);border-radius:14px}
.st-empty p{margin:0;color:var(--muted);text-align:center;padding:0 16px}
/* Support (money from a Player 2's profile) */
/* Support block under the Player 2's name, in their theme colors. */
.xp-sup{position:relative;display:grid;gap:12px;width:100%;margin:6px 0 4px;padding:14px 16px;border-radius:18px;isolation:isolate;
  background:linear-gradient(120deg,color-mix(in srgb,var(--amber) 16%,transparent),color-mix(in srgb,var(--hot) 14%,transparent)),rgba(7,10,24,.72);
  border:1px solid color-mix(in srgb,var(--hot) 45%,transparent);box-shadow:0 0 40px -16px var(--hot),inset 0 1px 0 rgba(255,255,255,.06)}
.xp-sup::before{content:"";position:absolute;inset:-1px;border-radius:inherit;padding:1px;background:var(--grad);-webkit-mask:linear-gradient(#000 0 0) content-box,linear-gradient(#000 0 0);-webkit-mask-composite:xor;mask-composite:exclude;opacity:.7;z-index:-1;pointer-events:none}
.xsp-head{display:flex;align-items:center;gap:12px;text-align:left}
.xsp-head b{display:block;font:900 18px/1.15 var(--display,inherit);letter-spacing:.01em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}
.xsp-head small{display:block;margin-top:2px;color:var(--dim);font-size:13px}
.sup-heart{flex:none;display:block;filter:drop-shadow(0 0 10px color-mix(in srgb,var(--hot) 70%,transparent))}
.xsp-head .sup-heart{animation:supBeat 2.4s ease-in-out infinite}
@keyframes supBeat{0%,100%{transform:scale(1)}12%{transform:scale(1.16)}24%{transform:scale(1)}36%{transform:scale(1.1)}48%{transform:scale(1)}}
@media (prefers-reduced-motion:reduce){.xsp-head .sup-heart{animation:none}}
.xsp-row{display:flex;flex-wrap:wrap;gap:8px}
.xsp-amt{flex:1 1 0;min-width:58px;padding:10px 0;border-radius:12px;border:1px solid color-mix(in srgb,var(--amber) 40%,transparent);background:rgba(7,10,24,.6);color:var(--fg);font:800 15px var(--body);cursor:pointer;transition:border-color .15s,background .15s,transform .1s}
.xsp-amt:hover{border-color:var(--amber);background:color-mix(in srgb,var(--amber) 14%,rgba(7,10,24,.6))}
.xsp-other{flex:1.3 1 0;min-width:84px;display:flex;align-items:center;gap:4px;padding:0 10px;border-radius:12px;border:1px solid color-mix(in srgb,var(--amber) 40%,transparent);background:rgba(7,10,24,.6);cursor:text}
.xsp-other span{color:var(--dim);font-weight:800}
.xsp-other input{flex:1;min-width:0;width:100%;background:none;border:0;outline:none;color:var(--fg);font:800 15px var(--body);padding:10px 0}
.xsp-other input::placeholder{color:var(--dim);font-weight:700}
.xsp-other:focus-within{border-color:var(--amber);box-shadow:0 0 0 3px color-mix(in srgb,var(--amber) 20%,transparent)}
.xsp-go{flex:2 1 160px;display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 16px;border:0;border-radius:12px;background:var(--grad);color:var(--on,#fff);font:900 15px var(--body);cursor:pointer;box-shadow:0 10px 30px -12px var(--hot);transition:transform .1s,filter .15s}
.xsp-go .sup-heart path{fill:currentColor}
.xsp-go .sup-heart{filter:none}
.xsp-go:hover{filter:brightness(1.08)}
.xsp-amt:active,.xsp-go:active{transform:scale(.97)}
.xsp-amt:focus-visible,.xsp-go:focus-visible{outline:2px solid var(--amber);outline-offset:2px}
@media (max-width:900px){.xsp-head{justify-content:center;text-align:left}}
/* The Support window picks up the profile's theme too. */
.sup-sheet .sup-eye{display:inline-flex;align-items:center;gap:6px}
.sup-sheet .tip-pick:hover{border-color:color-mix(in srgb,var(--hot) 60%,transparent)}
.sup-sheet .tip-pick.on{border-color:var(--hot);background:color-mix(in srgb,var(--hot) 16%,transparent);box-shadow:0 0 0 3px color-mix(in srgb,var(--hot) 18%,transparent)}
.sup-sheet .tip-other:focus-within{border-color:var(--hot)}
.sup-sheet .sup-send{display:inline-flex;align-items:center;gap:8px;background:var(--grad);color:var(--on,#fff)}
.sup-sheet .sup-send .sup-heart path{fill:currentColor}
.sup-sheet .sup-send .sup-heart{filter:none}
.sup-sheet .tip-pick:disabled{opacity:.35;cursor:not-allowed}
.sup-hold{display:grid;gap:4px;margin:12px 0 4px;padding:12px 14px;border-radius:14px;border:1px solid rgba(255,201,77,.35);background:rgba(255,201,77,.08);font-size:14px;line-height:1.45}
.sup-hold b{color:var(--gold,#ffc94d);font-size:14px}
.sup-hold span{color:var(--fg)}
/* Supporter Pass plan picker: one row per plan, the price always shows. */
.sp-pick,.sp-opts{min-width:0}
.sp-opts{display:grid;gap:8px}
.sp-opt{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0;box-sizing:border-box;padding:10px 12px;border-radius:14px;border:1px solid rgba(255,201,77,.28);background:#140f1c;color:var(--fg);font:800 15px var(--body);text-align:left;cursor:pointer;transition:border-color .15s,background .15s}
.sp-opt:hover{border-color:rgba(255,201,77,.6)}
.sp-opt.on{border-color:#ffc94d;background:linear-gradient(120deg,rgba(255,201,77,.16),rgba(255,138,61,.07)),#140f1c;box-shadow:0 0 18px -8px rgba(255,201,77,.7)}
.sp-opt:focus-visible{outline:2px solid #ffc94d;outline-offset:2px}
.sp-opt-n{min-width:0;flex:1;line-height:1.25;overflow-wrap:anywhere}
.sp-opt-p{flex:none;color:#ffc94d;font-weight:900}
.sp-opt-p small{color:var(--dim);font-weight:700;font-size:12px}
.po-disc{margin-top:14px;font-size:14px}.po-disc .linkbtn{color:var(--dim)}.po-disc .linkbtn:hover{color:#ff8a9a}
.po-block{margin:8px 0 4px;padding-left:20px;display:grid;gap:8px;text-align:left;line-height:1.45}
/* My subscriptions: one clear card per Player 2 */
.sub-body{display:grid;gap:10px;min-width:0}
.sub-top{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.sub-top b{font-size:17px}
.sub-plan{margin:0;color:var(--muted,#bdb6cf)}.sub-plan b{color:var(--fg)}
.sub-gets,.sub-change{display:grid;gap:6px}
.sub-gets-h{font:800 11px var(--mono);letter-spacing:.14em;text-transform:uppercase;color:#ffc94d}
.sub-gets ul{list-style:none;margin:0;padding:12px 14px;border-radius:14px;background:linear-gradient(180deg,rgba(255,201,77,.09),rgba(255,201,77,.03));border:1px solid rgba(255,201,77,.25);display:grid;gap:8px}
.sub-gets li{display:flex;gap:8px;align-items:flex-start;line-height:1.4}
.sub-gets li .sp-check{flex:none;margin-top:3px;color:#ffc94d}
.sub-gets li b{color:var(--fg)}
.sub-times{display:inline-flex;flex-wrap:wrap;gap:6px;vertical-align:middle}
.sub-time{padding:2px 8px;border-radius:999px;border:1px solid rgba(255,201,77,.35);font-size:13px;white-space:nowrap}
.sub-note{margin:0;padding:8px 12px;border-radius:12px;background:rgba(46,230,255,.08);border:1px solid rgba(46,230,255,.25);font-size:14px}
.sub-warn{margin:0;padding:8px 12px;border-radius:12px;background:rgba(255,90,110,.1);border:1px solid rgba(255,90,110,.35);font-size:14px}
.sub-foot{margin-top:2px;padding-top:10px;border-top:1px solid var(--line)}
.sub-change .sub-actions{margin-top:0}
