:root{
  --bg:#0a0e1a; --panel:#141a2b; --panel2:#1b2338; --line:#2a3452;
  --text:#eef1f8; --muted:#9aa4bd; --gold:#f5c400; --blue:#3b82f6; --green:#22c55e; --red:#ef4444; --purple:#a855f7;
}
*{box-sizing:border-box}
body{margin:0;background:linear-gradient(180deg,#0a0e1a,#111a33 60%,#0a0e1a);color:var(--text);font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;min-height:100vh}
a{color:var(--gold)}
.top{position:sticky;top:0;z-index:10;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 20px;background:rgba(10,14,26,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line);flex-wrap:wrap}
.brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#fff;font-weight:900;letter-spacing:1px;font-size:22px}
.brand img{height:40px}
nav{display:flex;gap:6px;flex-wrap:wrap}
nav a{color:var(--text);text-decoration:none;padding:8px 12px;border-radius:8px;font-weight:600}
nav a:hover,nav a.on{background:var(--panel2)}
.cart-link b{background:var(--gold);color:#000;border-radius:999px;padding:1px 8px;margin-left:4px;font-size:13px}
.proto-bar{background:#3a2a00;color:#ffd970;text-align:center;font-size:13px;padding:4px 16px}
main{max-width:1200px;margin:0 auto;padding:24px 16px 60px}
h1{font-size:clamp(32px,6vw,56px);line-height:1.05;margin:.2em 0}
h2{font-size:28px;margin:1.4em 0 .5em}
.muted{color:var(--muted)}
.hero{display:grid;grid-template-columns:1.2fr 1fr;gap:24px;align-items:center;padding:20px 0}
.hero img{width:100%;border-radius:16px;border:1px solid var(--line)}
.eyebrow{color:var(--gold);font-weight:800;letter-spacing:2px;font-size:13px;text-transform:uppercase}
.btn{display:inline-block;background:var(--gold);color:#000;border:0;border-radius:10px;padding:12px 18px;font-weight:800;text-decoration:none;cursor:pointer;font-size:15px}
.btn.ghost{background:transparent;color:var(--text);border:1px solid var(--line)}
.btn:disabled{opacity:.4;cursor:not-allowed}
.row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;margin-top:20px}
.tile{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;text-decoration:none;color:var(--text)}
.tile:hover{border-color:var(--gold)}
.tile h3{margin:.2em 0}
.panel{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:20px;margin:16px 0}
.badge{display:inline-block;font-size:12px;font-weight:800;padding:2px 8px;border-radius:999px;background:var(--panel2);border:1px solid var(--line)}
.badge.open{background:#0f3d22;border-color:#1f7a44;color:#7ef0a8}
.badge.soon{background:#3a2a00;border-color:#7a5a00;color:#ffd970}
table{width:100%;border-collapse:collapse}
th,td{text-align:left;padding:10px;border-bottom:1px solid var(--line)}
th{color:var(--muted);font-size:13px;text-transform:uppercase;letter-spacing:1px}
.tabs{display:flex;gap:6px;margin:10px 0;flex-wrap:wrap}
.tabs button{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:999px;padding:8px 14px;font-weight:700;cursor:pointer}
.tabs button.on{background:var(--gold);color:#000;border-color:var(--gold)}

/* break slot grid */
.break-layout{display:grid;grid-template-columns:1fr 300px;gap:20px;align-items:start}
.slots{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:10px}
.slot{position:relative;background:var(--panel);border:2px solid var(--line);border-radius:12px;padding:10px 6px 8px;text-align:center;cursor:pointer;color:var(--text);font:inherit}
.slot img{width:70px;height:70px;object-fit:contain}
.slot .nm{font-size:12px;font-weight:700;line-height:1.2;min-height:2.4em}
.slot .pr{font-size:13px;color:var(--gold);font-weight:800}
.slot.sel{border-color:var(--gold);box-shadow:0 0 0 3px rgba(245,196,0,.25)}
.slot.taken{opacity:.35;cursor:not-allowed}
.slot.taken::after{content:"CLAIMED";position:absolute;top:8px;right:8px;font-size:10px;font-weight:900;background:var(--red);color:#fff;padding:1px 5px;border-radius:4px}
.slot.random img{filter:grayscale(1) brightness(.6)}
.cart-box{position:sticky;top:90px}
.cart-box li{display:flex;justify-content:space-between;gap:8px;padding:6px 0;border-bottom:1px dashed var(--line);font-size:14px}
.cart-box ul{list-style:none;padding:0;margin:10px 0}
.progress{height:10px;background:var(--panel2);border-radius:999px;overflow:hidden;margin:8px 0}
.progress i{display:block;height:100%;background:linear-gradient(90deg,var(--gold),#ff8a00)}

/* trading cards */
.team-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.team-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px;text-align:center;text-decoration:none;color:var(--text)}
.team-card:hover{border-color:var(--gold)}
.team-card img{width:90px;height:90px;object-fit:contain}
.team-card .nm{font-weight:800;font-size:13px}
.cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:16px}
.tcard{aspect-ratio:2.5/3.5;border-radius:14px;padding:10px;background:linear-gradient(160deg,#26324f,#0f1525);border:3px solid var(--rc,#8892a8);display:flex;flex-direction:column;position:relative;overflow:hidden}
.tcard::before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 30%,rgba(255,255,255,.12) 45%,transparent 60%);pointer-events:none}
.tcard .ctop{display:flex;justify-content:space-between;font-size:11px;font-weight:800;letter-spacing:1px;color:var(--muted)}
.tcard img{width:70%;margin:8px auto 4px;flex:1;object-fit:contain;min-height:0}
.tcard .pname{font-weight:900;font-size:16px;text-align:center;line-height:1.1}
.tcard .pinfo{text-align:center;font-size:12px;color:var(--muted)}
.tcard .dots{display:flex;gap:5px;justify-content:center;margin-top:6px}
.tcard .dots i{width:11px;height:11px;border-radius:50%;display:block;border:1px solid rgba(255,255,255,.4)}
.legend{display:flex;gap:16px;flex-wrap:wrap;font-size:14px}
.legend span{display:flex;gap:6px;align-items:center}
.legend i{width:12px;height:12px;border-radius:50%;display:inline-block}
.tiers{display:grid;grid-template-columns:repeat(auto-fit,minmax(160px,1fr));gap:10px}
.tier{border-radius:12px;padding:12px;border:2px solid;background:var(--panel)}
.foot{border-top:1px solid var(--line);text-align:center;padding:20px 16px;color:var(--muted)}
.fine{font-size:12px;max-width:760px;margin:6px auto}
.modal{position:fixed;inset:0;background:rgba(0,0,0,.7);display:flex;align-items:center;justify-content:center;padding:16px;z-index:50}
.modal .panel{max-width:440px}
@media (max-width:820px){
  .hero,.break-layout{grid-template-columns:1fr}
  .cart-box{position:static}
}
.slot.mine{border-color:var(--green);opacity:1}
.slot.mine::after{content:"YOURS";background:var(--green)}
.cart-link b{white-space:nowrap}

/* forms */
input,select,textarea{background:var(--panel2);color:var(--text);border:1px solid var(--line);border-radius:10px;padding:10px 12px;font:inherit;width:100%}
label{display:block;font-size:13px;color:var(--muted);margin:8px 0}
label input,label select,label textarea{margin-top:4px}
.row input{width:auto;flex:1;min-width:180px}
.formgrid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:4px 12px;align-items:end}
.formgrid .btn{margin:8px 0}
input.sm{width:80px;padding:6px}
pre.codes{background:#000;border:1px solid var(--line);border-radius:10px;padding:12px;font-size:16px;user-select:all}

/* owned cards */
.ccards{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px}
.ccard{background:var(--panel);border:2px solid var(--rc);border-radius:14px;overflow:hidden}
.ccard img{width:100%;display:block;aspect-ratio:751/1051;object-fit:cover}
.cmeta{padding:8px 10px;display:flex;flex-direction:column;font-size:13px}
.cmeta span{color:var(--muted)}
.ship{font-size:11px;font-weight:800;margin-top:4px}
.ship.to_ship{color:#ffd970}.ship.shipped{color:#7ef0a8}

/* candy machine */
.candy-layout{display:grid;grid-template-columns:320px 1fr;gap:24px;align-items:start;margin-top:16px}
.machine{width:280px;margin:0 auto;filter:drop-shadow(0 20px 30px rgba(0,0,0,.5))}
.globe{width:240px;height:240px;margin:0 auto -18px;border-radius:50%;background:radial-gradient(circle at 35% 30%,rgba(255,255,255,.55),rgba(255,255,255,.08) 40%,rgba(120,160,255,.12));border:6px solid #cfd6e6;position:relative;overflow:hidden;z-index:1}
.balls i{position:absolute;left:var(--x);top:calc(22% + var(--y));width:34px;height:34px;border-radius:50%;background:radial-gradient(circle at 35% 30%,#fff,hsl(var(--h) 85% 55%) 35%,hsl(var(--h) 80% 35%))}
.mbody{background:linear-gradient(180deg,#e0262b,#9b1015);border-radius:18px 18px 10px 10px;padding:30px 20px 20px;text-align:center;border:4px solid #6e0b0f}
.mlabel{font-weight:900;letter-spacing:3px;color:#fff;background:#111;border-radius:8px;padding:4px;margin-bottom:14px}
.knob{width:96px;height:96px;border-radius:50%;border:6px solid #9aa4bd;background:radial-gradient(circle at 40% 35%,#fff,#c9cfdc 60%,#8a93a8);font-weight:900;font-size:18px;cursor:pointer;color:#111}
.knob:disabled{cursor:not-allowed;opacity:.6}
.chute{width:70px;height:40px;margin:14px auto 0;background:#111;border-radius:0 0 30px 30px}
.machine.shake{animation:shake .25s infinite}
.machine.shake .knob{animation:spin .8s linear infinite}
@keyframes shake{0%,100%{transform:translateX(0)}25%{transform:translateX(-5px) rotate(-1deg)}75%{transform:translateX(5px) rotate(1deg)}}
@keyframes spin{to{transform:rotate(360deg)}}
.reveal{background:var(--panel);border:3px solid var(--rc);border-radius:20px;padding:20px;text-align:center;max-width:360px;box-shadow:0 0 60px var(--rc);animation:pop .5s ease-out}
.reveal img{width:100%;border-radius:12px}
@keyframes pop{from{transform:scale(.6) rotateY(90deg);opacity:0}to{transform:none;opacity:1}}

/* bingo */
.pmini{display:inline-grid;grid-template-columns:repeat(5,5px);gap:1px;vertical-align:middle;margin-right:6px}
.pmini i{width:5px;height:5px;background:var(--line)}
.pmini i.on{background:var(--gold)}
.events{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}
.events span,.events button{font:inherit;font-size:13px;background:var(--panel2);border:1px solid var(--line);color:var(--text);border-radius:999px;padding:4px 10px}
.events button{cursor:pointer;padding:8px 12px}
.events .hit{background:#0f3d22;border-color:#1f7a44;color:#7ef0a8}











.qr{background:#fff;padding:6px;border-radius:8px}
@media (max-width:820px){.candy-layout,}
@media print{.top,.foot,.bingo-wrap>div:last-child,a{display:none!important}body{background:#fff}}



/* live break */
.stage{display:grid;grid-template-columns:1fr 1fr;gap:20px;align-items:center;background:radial-gradient(ellipse at center,#1d2b55,#0a0e1a 70%);border:1px solid var(--line);border-radius:20px;padding:20px;min-height:520px}
.host{position:relative;text-align:center}
.host img{max-height:460px;max-width:100%}
.host.hype img{animation:hop .6s ease-out 2}
@keyframes hop{50%{transform:translateY(-24px) rotate(-3deg)}}
.bubble{position:absolute;top:0;left:50%;transform:translateX(-50%);background:#fff;color:#000;font-weight:900;border-radius:16px;padding:10px 14px;max-width:90%;font-size:16px;box-shadow:0 6px 20px rgba(0,0,0,.4)}
.reveal-zone{display:flex;justify-content:center}
.reveal.live{max-width:320px}
.reveal.flip{animation:pop .7s ease-out}
.pack{width:220px;aspect-ratio:2.5/3.5;border-radius:16px;background:linear-gradient(160deg,#3b82f6,#1e3a8a 60%,#f5c400);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;box-shadow:0 0 50px rgba(59,130,246,.5);color:#fff}
.pack img{width:70%}.pack b{font-size:22px;letter-spacing:3px}
.pack.shake{animation:shake .25s infinite}
@media (max-width:820px){.stage{grid-template-columns:1fr}.host img{max-height:300px}}

/* card vending machine */
.vend-page{max-width:620px;margin:0 auto}
.vend{position:relative;border-radius:26px;padding:14px;background:linear-gradient(180deg,#c9ced9,#8a90a0 40%,#5d6372);box-shadow:0 30px 60px rgba(0,0,0,.6),inset 0 2px 0 #fff}
.vend.shake{animation:shake .2s infinite}
.vend-body{position:relative;border-radius:16px;background-size:cover;background-position:center;padding:26px 46px 22px;overflow:hidden;border:3px solid #111}
.neon{position:absolute;top:10px;bottom:10px;width:8px;border-radius:8px;background:#5ad1ff;box-shadow:0 0 12px #3b82f6,0 0 30px #3b82f6,0 0 60px #3b82f6;animation:neon 3s ease-in-out infinite}
.neon.l{left:12px}.neon.r{right:12px}
@keyframes neon{50%{opacity:.65}}
.vend-side{position:absolute;left:26px;bottom:200px;font:italic 900 20px/1.15 system-ui;color:#fff;text-shadow:0 0 8px #3b82f6,0 2px 0 #000;letter-spacing:1px;transform:rotate(-6deg);opacity:.95}
.screen{position:relative;margin:0 auto 22px;max-width:420px;background:linear-gradient(180deg,#0b1430,#0a0f22);border:10px solid #050608;border-radius:14px;padding:14px;box-shadow:0 0 0 2px #333,0 0 30px rgba(59,130,246,.45),inset 0 0 40px rgba(59,130,246,.15)}
.scr-top{display:flex;align-items:center;gap:8px;font-size:13px;color:var(--muted)}
.scr-top img{height:26px}.scr-top .pulls-pill{margin-left:auto;background:var(--gold);color:#000;border-radius:999px;padding:2px 10px}
.scr-title{text-align:center;font-weight:900;font-size:26px;letter-spacing:1px;margin-top:8px;color:#fff}
.scr-sub{text-align:center;color:#5ad1ff;font-weight:800;letter-spacing:3px;font-size:13px;margin-bottom:10px}
.scr-msg{text-align:center;font-weight:800;border-radius:10px;padding:8px;margin-bottom:10px;font-size:14px}
.scr-msg.ok{background:#0f3d22;color:#7ef0a8}.scr-msg.bad{background:#3d0f12;color:#ff9aa2}
.scr-tiles{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.scr-tile{background:linear-gradient(160deg,#1a2a55,#101a38);border:1px solid #2c4380;border-radius:12px;padding:10px 6px;text-align:center;color:#fff;text-decoration:none;display:flex;flex-direction:column;align-items:center;gap:2px;font:inherit;cursor:pointer}
.scr-tile b{font-size:13px}.scr-tile span{font-size:11px;color:var(--muted)}
.scr-tile .ico{font-size:24px}
.scr-tile.main{grid-column:1/-1;flex-direction:row;justify-content:center;gap:14px;padding:14px;background:linear-gradient(120deg,#1e40af,#7c3aed 60%,#f5c400);border:0;box-shadow:0 0 24px rgba(124,58,237,.5)}
.scr-tile.main b{font-size:20px}.scr-tile.main span{color:#fff;font-size:13px}
.scr-tile.main:not(:disabled):hover{filter:brightness(1.15)}
.scr-tile.main:disabled{filter:grayscale(.6);cursor:not-allowed}
.scr-tile.working{animation:pulse .5s infinite}
@keyframes pulse{50%{filter:brightness(1.6)}}
.packart{width:48px;height:66px;border-radius:6px;background:linear-gradient(160deg,#3b82f6,#1e3a8a 60%,#f5c400);display:flex;align-items:center;justify-content:center;box-shadow:0 0 12px rgba(255,255,255,.4)}
.packart img{width:80%}
.scr-odds{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;font-size:12px;margin:10px 0 6px;color:var(--muted)}
.scr-odds b{width:100%;text-align:center;color:#fff;letter-spacing:2px;font-size:11px}
.scr-odds i{display:inline-block;width:9px;height:9px;border-radius:50%;margin-right:4px}
.scr-banner{background:linear-gradient(90deg,#1d4ed8,#0b1430);border-radius:10px;padding:10px;font-size:13px;text-align:center}
.vend-controls{display:grid;grid-template-columns:1.25fr 1fr;gap:14px;align-items:end}
.keypad{background:linear-gradient(180deg,#f5c400,#c99a00);border-radius:14px;padding:10px;box-shadow:inset 0 2px 0 rgba(255,255,255,.5),0 6px 14px rgba(0,0,0,.5);border:2px solid #6b5200}
.keypad.off{filter:grayscale(.7) brightness(.8)}
.kp-display{background:#0b1a10;color:#5dff8a;font:800 15px/1 ui-monospace,Menlo,monospace;letter-spacing:1px;padding:10px;border-radius:8px;text-align:center;box-shadow:inset 0 0 12px #000;text-shadow:0 0 6px #5dff8a;margin-bottom:8px;white-space:nowrap;overflow:hidden}
.kp-display.err{animation:shake .15s 3;color:#ff6b6b;text-shadow:0 0 6px #ff6b6b}
.kp-keys{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.kp-keys button{background:linear-gradient(180deg,#2a2f3a,#111);color:#fff;border:0;border-radius:6px;padding:7px 0;font:800 13px system-ui;cursor:pointer;box-shadow:0 2px 0 #000,inset 0 1px 0 rgba(255,255,255,.2)}
.kp-keys button:active{transform:translateY(2px);box-shadow:none}
.kp-keys .fn{background:linear-gradient(180deg,#5b6170,#30343d)}
.kp-keys .enter{grid-column:span 2;background:linear-gradient(180deg,#22c55e,#15803d)}
.kp-label{text-align:center;font-weight:900;font-size:11px;letter-spacing:2px;color:#111;margin-top:6px}
.dispense{background:#0a0d14;border-radius:18px;padding:12px;border:2px solid #222;box-shadow:0 0 0 3px #1e3a8a,0 0 24px rgba(59,130,246,.5)}
.dispense .kp-label{color:#5ad1ff}
.slot{position:relative;height:150px;border-radius:12px;background:linear-gradient(180deg,#000,#0d1a33);overflow:hidden;box-shadow:inset 0 8px 20px #000;display:flex;align-items:flex-end;justify-content:center}
.slot-glow{position:absolute;left:10%;right:10%;bottom:0;height:16px;border-radius:50%;background:var(--rc,#3b82f6);filter:blur(10px);opacity:.7}
.slot.lit{box-shadow:inset 0 8px 20px #000,0 0 30px var(--rc,#3b82f6)}
.dropcard{position:relative;width:62%;border-radius:6px;animation:drop 1.1s cubic-bezier(.2,.9,.3,1.2) both;box-shadow:0 0 20px rgba(255,255,255,.4)}
@keyframes drop{from{transform:translateY(-180px) rotate(-8deg);opacity:0}70%{opacity:1}to{transform:translateY(30px) rotate(0)}}
@media (max-width:560px){
  .vend-body{padding:18px 26px 16px}
  .neon.l{left:6px}.neon.r{right:6px}
  .vend-side{display:none}
  .vend-controls{grid-template-columns:1fr}
  .scr-tiles{grid-template-columns:repeat(3,1fr)}
  .slot{height:120px}
}
.shipcards{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:8px;margin-top:8px}
.shipcard{display:flex;flex-direction:column;gap:4px;font-size:12px;color:var(--text);background:var(--panel2);border-radius:10px;padding:6px;cursor:pointer;margin:0}
.shipcard img{width:100%;border-radius:6px}.shipcard input{width:auto}
.shipopt{display:flex;gap:8px;align-items:flex-start;background:var(--panel2);border:1px solid var(--line);border-radius:10px;padding:10px;margin:6px 0;color:var(--text);cursor:pointer}
.shipopt input{width:auto;margin-top:4px}.shipopt.off{opacity:.45;cursor:not-allowed}
.ship.requested{color:#93c5fd}

/* side game: hero, picker, arena */
.side-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:radial-gradient(ellipse at 20% 0,#1e3a8a,#0b1020 70%);border:1px solid var(--line);border-radius:18px;padding:18px 22px;margin:8px 0 16px}
.countdown{text-align:center;background:#0008;border:1px solid var(--line);border-radius:14px;padding:10px 16px;min-width:150px}
.countdown b{font-size:24px;font-variant-numeric:tabular-nums;color:var(--gold)}
.slots3{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.slot-big{max-width:220px;margin:0 auto}
.slot-label{font-weight:800;margin-bottom:6px}
.slot-big{aspect-ratio:751/1051;border:2px dashed var(--line);border-radius:14px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-size:13px;overflow:hidden;background:#0006}
.slot-big img{width:100%;height:100%;object-fit:cover}
.slot-big.pop{animation:pop .35s ease-out}
.slot-strip{display:flex;gap:6px;overflow-x:auto;padding:8px 2px}
.pick{position:relative;flex:0 0 56px;padding:0;border:2px solid transparent;border-radius:8px;background:none;cursor:pointer;color:var(--text)}
.pick img{width:100%;border-radius:6px;display:block}
.pick.on{border-color:var(--gold);box-shadow:0 0 12px rgba(245,196,0,.6)}
.pick.none{flex-basis:56px;font-size:11px;background:var(--panel2);border-color:var(--line)}
.pick.none.on{border-color:var(--gold)}
.pick .star{position:absolute;top:-4px;right:-4px;background:var(--gold);color:#000;border-radius:50%;width:18px;height:18px;font-size:11px;line-height:18px}
.arena{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:16px;padding:18px;border-radius:18px;border:1px solid var(--line);
  background:radial-gradient(ellipse at 50% -10%,rgba(59,130,246,.35),transparent 60%),repeating-linear-gradient(90deg,#0d1a12 0 40px,#0f1f15 40px 80px)}
.lineup{position:relative;background:#0b1020d9;border:1px solid var(--line);border-radius:16px;padding:14px 12px 12px;text-align:center}
.lineup.leader{border-color:var(--gold);box-shadow:0 0 24px rgba(245,196,0,.35)}
.rank{position:absolute;top:8px;left:10px;font-weight:900;color:var(--muted)}
.lineup.leader .rank{font-size:22px;top:4px}
.fan{display:flex;justify-content:center;height:150px;margin:6px 0 10px}
.fan>*{width:90px;margin:0 -16px;transition:transform .2s}
.fan>*:nth-child(1){transform:rotate(-7deg) translateY(6px);z-index:1}
.fan>*:nth-child(2){transform:translateY(-4px);z-index:2}
.fan>*:nth-child(3){transform:rotate(7deg) translateY(6px);z-index:1}
.fan>*:only-child{transform:none}
.lineup:hover .fan>*:nth-child(1){transform:rotate(-12deg) translateX(-8px)}
.lineup:hover .fan>*:nth-child(3){transform:rotate(12deg) translateX(8px)}
.pcard{position:relative;aspect-ratio:751/1051;border-radius:8px;overflow:hidden;box-shadow:0 6px 16px #000a}
.pcard img{width:100%;height:100%;object-fit:cover;display:block}
.pcard.empty{background:var(--panel2)}
.pcard.hit{box-shadow:0 0 0 2px #22c55e,0 0 22px #22c55e;animation:glow 1.6s ease-in-out infinite}
@keyframes glow{50%{box-shadow:0 0 0 2px #22c55e,0 0 36px #22c55e}}
.stamp{position:absolute;bottom:8px;left:50%;transform:translateX(-50%) rotate(-12deg);background:#22c55e;color:#000;font-weight:900;font-size:13px;padding:2px 8px;border-radius:6px;border:2px solid #fff}
.flip>*{animation:flipin .7s ease-out both}
.flip>*:nth-child(2){animation-delay:.12s}.flip>*:nth-child(3){animation-delay:.24s}
@keyframes flipin{from{transform:rotateY(90deg)}}
.cardback{aspect-ratio:751/1051;border-radius:8px;background:repeating-linear-gradient(45deg,#1e3a8a 0 8px,#172f70 8px 16px);border:3px solid var(--gold);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;box-shadow:0 6px 16px #000a}
.cardback img{width:70%}.cardback span{font-size:9px;font-weight:900;letter-spacing:2px;color:var(--gold)}
.lu-who{font-weight:800;margin-top:2px}
.lu-pts{font-size:34px;font-weight:900;color:var(--gold);line-height:1.1}.lu-pts span{font-size:13px;color:var(--muted);margin-left:4px}
.chips{display:flex;flex-wrap:wrap;gap:4px;justify-content:center;margin-top:6px}
.chips i{font-style:normal;font-size:11px;background:var(--panel2);border-radius:999px;padding:1px 7px}
.chips i.g{background:#0f3d22;color:#7ef0a8}
@media (max-width:640px){.slots3{grid-template-columns:1fr}.slot-big{max-width:200px;margin:0 auto}}

/* bingo card: trading-card proportions */
.bingo-wrap{display:grid;grid-template-columns:minmax(0,440px) minmax(0,1fr);gap:24px;align-items:start;margin-top:12px}
.bcard{position:relative;aspect-ratio:751/1051;width:100%;max-width:440px;border-radius:22px;padding:4.5% 4.5% 3.5%;overflow:hidden;display:flex;flex-direction:column;
  border:6px solid var(--tc);box-shadow:0 0 0 2px #000 inset,0 18px 40px #000b,0 0 30px color-mix(in srgb,var(--tc) 45%,transparent);container-type:inline-size;background:#090c14}
.bc-art{position:absolute;inset:0;background:url(/assets/bingo_art.jpg) center/cover;opacity:.55}
.bc-art::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,color-mix(in srgb,var(--tc) 35%,transparent),#050711e6 55%)}
.bcard>*:not(.bc-art){position:relative}
.bhead{display:flex;align-items:center;gap:3cqw;color:#fff}
.bhead img{height:11cqw}
.bhead b{font:900 6.4cqw/1 Impact,system-ui;letter-spacing:.3cqw;display:block}
.bhead span{font-size:3cqw;color:#ddd}
.bhead .tier{margin-left:auto;background:var(--tc);color:#000;font:900 3.2cqw system-ui;border-radius:2cqw;padding:1cqw 2.6cqw}
.bletters{display:grid;grid-template-columns:repeat(5,1fr);gap:1.2cqw;margin:3cqw 0 1.2cqw}
.bletters b{text-align:center;font:900 8cqw/1 Impact,system-ui;color:var(--tc);text-shadow:0 0 2cqw #000,0 .5cqw 0 #000}
.bgrid{display:grid;grid-template-columns:repeat(5,1fr);grid-auto-rows:1fr;gap:1.2cqw;flex:1;min-height:0}
.sq{background:#f1ead6;color:#14281b;border-radius:1.6cqw;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6cqw;
  text-align:center;font-weight:800;font-size:2.15cqw;line-height:1.12;padding:.8cqw;overflow:hidden;position:relative}
.sq img{height:5.6cqw;width:auto;flex:none}
.sq span{display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}
.sq.m{background:var(--tc);color:#000}
.sq.m::after{content:"✓";position:absolute;top:.2cqw;right:1cqw;font-size:3cqw;font-weight:900}
.sq.free{background:radial-gradient(circle,#ffe27a,#c9a227);color:#000}
.sq.free b{font-size:6cqw;line-height:1}
.bfoot{display:flex;justify-content:space-between;color:#ddd;font:800 2.8cqw system-ui;letter-spacing:.3cqw;margin-top:2.4cqw}
@media (max-width:820px){.bingo-wrap{grid-template-columns:1fr}.bcard{margin:0 auto}}
.reg{font-size:11px;font-weight:800;color:var(--muted);margin-top:2px}.reg.ok{color:#7ef0a8}
.pick.locked{position:relative;flex:0 0 56px;opacity:.35;filter:grayscale(1);cursor:not-allowed}
.pick.locked img{width:100%;border-radius:6px;display:block}
.pick .lockt{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:20px}
.arena .pcard[data-no]{cursor:pointer}
#updBar{position:fixed;left:50%;bottom:16px;transform:translateX(-50%);z-index:60;background:#1d4ed8;color:#fff;font-weight:700;border-radius:999px;padding:10px 16px;box-shadow:0 10px 30px #000a;max-width:calc(100% - 32px);text-align:center}

/* Daily Fantasy */
.dslots{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;max-width:620px}
.dslot{position:relative;aspect-ratio:751/1051;border:2px dashed var(--line);border-radius:10px;display:flex;align-items:center;justify-content:center;color:var(--muted);font-weight:900;background:#0006;padding:0;overflow:hidden}
.dslot.full{border:2px solid var(--gold);cursor:pointer;animation:pop .35s ease-out}
.dslot img{width:100%;height:100%;object-fit:cover}
.mult{position:absolute;top:4px;right:4px;background:#000c;color:var(--gold);font-size:11px;padding:1px 5px;border-radius:6px}
.dpool{display:grid;grid-template-columns:repeat(auto-fill,minmax(110px,1fr));gap:10px}
.dpick{position:relative;padding:0;border:2px solid transparent;border-radius:10px;background:var(--panel2);color:var(--text);cursor:pointer;text-align:left;overflow:hidden}
.dpick img{width:100%;display:block}
.dpick.on{border-color:var(--gold);box-shadow:0 0 14px rgba(245,196,0,.6)}
.dpick.off{opacity:.4;cursor:not-allowed}
.dinfo{padding:5px 6px;font-size:11px;display:flex;flex-direction:column;gap:1px}
.dinfo b{font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dinfo .red{color:var(--red)}
.dextras{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}
.dfan{display:flex;justify-content:center;height:120px;margin:6px 0 10px}
.dfan>*{width:72px;flex:0 0 72px;margin:0 -14px;transition:transform .2s}
.dfan>*:nth-child(odd){transform:translateY(6px)}
.lineup:hover .dfan>*{margin:0 -6px}
.ptag{position:absolute;bottom:4px;left:50%;transform:translateX(-50%);background:#000d;color:var(--gold);font-weight:900;font-size:12px;padding:1px 6px;border-radius:6px}
.dlines{margin-top:6px;line-height:1.5}
@media (max-width:600px){.dslots{gap:5px}.dextras{grid-template-columns:1fr}.dpool{grid-template-columns:repeat(auto-fill,minmax(96px,1fr))}}

/* No-Loss tracker */
.nl-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px;margin:14px 0}
.nl-team{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px;display:flex;flex-direction:column;gap:8px}
.nl-team.qualified{border-color:var(--gold);box-shadow:0 0 22px rgba(245,196,0,.35)}
.nl-team.out{opacity:.62}
.nl-head{display:flex;align-items:center;gap:10px}.nl-head>div{flex:1;min-width:0}
.nl-head .av{width:36px;height:36px;border-radius:50%}
.nl-badge{font-size:11px;font-weight:900;padding:3px 8px;border-radius:999px;white-space:nowrap}
.nl-badge.q{background:var(--gold);color:#000}.nl-badge.a{background:#22c55e;color:#000}.nl-badge.o{background:#ef4444;color:#fff}
.nl-coach{display:flex;gap:10px;align-items:center;background:var(--panel2);border-radius:10px;padding:6px;font-size:13px}
.nl-coach img,.nl-coach .cardback{width:46px;flex:0 0 46px;border-radius:5px}
.nl-coach.saved,.nl-match.saved,.nl-s.saved{outline:1px solid #22c55e}
.nl-match{font-size:13px;font-weight:700;padding:4px 6px;border-radius:8px}
.nl-starters{display:flex;flex-direction:column;gap:2px;font-size:12px}
.nl-s{display:grid;grid-template-columns:20px 1fr auto;gap:2px 6px;padding:3px 4px;border-radius:6px}
.nl-s b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.nl-s i{color:var(--muted);font-style:normal}
.nl-s em{grid-column:2/4;color:var(--muted);font-style:normal;font-size:11px}
.nl-s.L,.nl-s.T,.nl-s.bye{background:rgba(239,68,68,.12)}
.nl-power{font-size:12px;padding:5px 8px;border-radius:8px;background:var(--panel2);color:var(--muted)}
.nl-power.on{color:#22c55e;border:1px solid #22c55e55}
i.g{color:#22c55e;font-style:normal;font-size:11px}

/* Chopping Block */
.chop-wrap{display:grid;grid-template-columns:repeat(auto-fit,minmax(320px,1fr));gap:14px}
.chop-board{display:flex;flex-direction:column;gap:6px}
.chop-row{display:flex;align-items:center;gap:10px;padding:8px 10px;border-radius:10px;background:var(--panel2);border:1px solid transparent}
.chop-row .av{width:32px;height:32px;border-radius:50%;flex:0 0 32px;background:#0004}
.chop-rank{width:24px;text-align:center;font-weight:900;color:var(--muted)}
.chop-name{flex:1;min-width:0}.chop-name b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chop-pts{font-weight:900;font-variant-numeric:tabular-nums;font-size:18px}
.chop-row.top{border-color:var(--gold)}
.chop-row.bubble{border-color:#f59e0b88}
.chop-row.danger{border-color:#ef4444;background:rgba(239,68,68,.14);animation:dangerPulse 1.6s ease-in-out infinite}
@keyframes dangerPulse{50%{box-shadow:0 0 18px rgba(239,68,68,.5)}}
.chop-row.dead{opacity:.6;filter:grayscale(.8)}
.chop-picks{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:6px}
.chop-pick{display:flex;align-items:center;gap:6px;padding:6px;border-radius:10px;border:2px solid var(--line);background:var(--panel2);color:var(--text);cursor:pointer;text-align:left;font-size:12px}
.chop-pick .av{width:24px;height:24px;border-radius:50%;flex:0 0 24px}
.chop-pick span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chop-pick.on{border-color:var(--gold);box-shadow:0 0 10px rgba(245,196,0,.5)}
.chop-tks{display:flex;flex-wrap:wrap;gap:8px}
.chop-tk{display:flex;flex-direction:column;gap:2px;padding:8px 10px;border-radius:10px;background:var(--panel2);font-size:13px;min-width:150px}

/* Leaderboard */
.ld-podium{display:flex;justify-content:center;align-items:flex-end;gap:14px;margin:18px 0}
.ld-step{display:flex;flex-direction:column;align-items:center;gap:4px;width:130px;text-align:center}
.ld-step b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.ld-av{width:56px;height:56px;border-radius:50%;border:3px solid var(--gold);display:flex;align-items:center;justify-content:center;background:var(--panel2);font-weight:900;font-size:22px;object-fit:cover}
.ld-pts{font-size:22px;font-weight:900;color:var(--gold)}
.ld-block{width:100%;border-radius:10px 10px 0 0;background:linear-gradient(180deg,var(--panel2),var(--panel));display:flex;align-items:flex-start;justify-content:center;padding-top:8px;font-size:28px;border:1px solid var(--line)}
.ld-step.s1 .ld-block{height:110px;border-color:var(--gold)}.ld-step.s2 .ld-block{height:80px}.ld-step.s3 .ld-block{height:60px}
.ld-table tr.me{background:rgba(245,196,0,.12)}
@media (max-width:600px){.ld-table th:nth-child(n+4),.ld-table td:nth-child(n+4){display:none}}

/* Awards */
.aw-wall{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:10px}
.aw-card{padding:10px;border-radius:12px;background:linear-gradient(160deg,rgba(245,196,0,.16),var(--panel2));border:1px solid rgba(245,196,0,.45);display:flex;flex-direction:column;gap:2px}
.aw-card.dpow{background:linear-gradient(160deg,rgba(59,130,246,.18),var(--panel2));border-color:rgba(59,130,246,.5)}
.aw-kind{font-size:11px;font-weight:900;letter-spacing:.5px;text-transform:uppercase;color:var(--gold)}
.aw-card.dpow .aw-kind{color:#60a5fa}
@media (max-width:600px){.ld-table th:nth-child(n+4),.ld-table td:nth-child(n+4){display:none}}

/* Monthly prize */
.prize-banner{display:grid;grid-template-columns:minmax(0,280px) 1fr;gap:18px;align-items:center;padding:16px;margin:14px 0;border-radius:18px;
  border:1px solid rgba(245,196,0,.55);background:radial-gradient(ellipse at 20% 0%,rgba(245,196,0,.22),transparent 60%),linear-gradient(160deg,#141a2e,#0b1020);box-shadow:0 0 30px rgba(245,196,0,.18)}
.prize-img{position:relative;border-radius:14px;overflow:hidden;aspect-ratio:3/4;background:radial-gradient(circle at 50% 40%,#2a3350,#0b1020)}
.prize-img img{width:100%;height:100%;object-fit:cover;display:block}
.prize-fallback{display:none}.prize-img.noimg .prize-fallback{display:flex;position:absolute;inset:0;align-items:center;justify-content:center;font-size:96px}
.prize-info h2{margin:.1em 0 .3em;font-size:32px;color:var(--gold)}
.prize-info ul{margin:0 0 10px;padding-left:18px}
.prize-lead{margin-top:8px;padding:8px 10px;border-radius:10px;background:rgba(245,196,0,.12)}
@media (max-width:600px){.prize-banner{grid-template-columns:1fr}.prize-img{max-width:260px;margin:0 auto}}

/* NFL Pick'em */
.pk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:10px;margin:12px 0}
.pk-game{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px;display:flex;flex-direction:column;gap:6px}
.pk-game.locked{opacity:.85}
.pk-meta{font-size:12px;color:var(--muted);font-weight:700}
.pk-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:6px;align-items:center}
.pk-at{color:var(--muted);font-weight:900}
.pk-team{position:relative;display:flex;align-items:center;gap:6px;padding:8px;border-radius:10px;border:2px solid var(--line);background:var(--panel2);color:var(--text);cursor:pointer;text-align:left;min-width:0}
.pk-team:disabled{cursor:default}
.pk-team img{width:30px;height:30px;object-fit:contain;flex:0 0 30px}
.pk-team span{display:flex;flex-direction:column;min-width:0}.pk-team b{font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pk-team i{font-style:normal;font-size:11px;color:var(--muted)}
.pk-team em{margin-left:auto;font-style:normal;font-weight:900;font-size:18px}
.pk-team small{position:absolute;top:-8px;right:6px;font-size:10px;background:#000c;padding:1px 5px;border-radius:6px}
.pk-team small.cm{right:auto;left:6px}
.pk-team.on{border-color:var(--gold);box-shadow:0 0 10px rgba(245,196,0,.45)}
.pk-team.win{border-color:#22c55e}.pk-team.on.win{box-shadow:0 0 12px #22c55e}
.pk-team.miss{border-color:#ef4444}
.pk-save{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:10px 12px;border-radius:12px;background:var(--panel);border:1px solid var(--gold)}
.pk-commish{text-align:center;padding:10px 14px;border-radius:12px;background:var(--panel2);border:1px solid var(--line);font-size:13px}

/* Google sign-in button shows only once Google is configured */
.g-btn{display:none!important}.g-on .g-btn{display:inline-block!important}

/* Print orders */
.print-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:6px;margin:8px 0}
.print-item{display:flex;align-items:center;gap:8px;padding:6px;border-radius:8px;background:var(--panel2);font-size:12px}
.print-item img{width:34px;border-radius:4px}.print-item span{flex:1;min-width:0;display:flex;flex-direction:column}
.print-item i{font-style:normal;color:var(--muted)}.print-item input{width:62px}
.print-steps{display:flex;gap:6px;flex-wrap:wrap;margin:10px 0}
.print-steps span{padding:4px 10px;border-radius:999px;background:var(--panel2);color:var(--muted);font-size:12px;font-weight:700}
.print-steps span.on{background:var(--gold);color:#000}
.print-table img{border-radius:4px;display:block}

/* App install bar + alerts */
.app-bar{display:flex;align-items:center;gap:10px;padding:8px 14px;background:linear-gradient(90deg,rgba(245,196,0,.18),rgba(59,130,246,.18));border-bottom:1px solid var(--line);font-size:13px}
.app-bar span{flex:1}.app-bar .btn{padding:6px 12px;font-size:13px}
.app-bar button[data-appx]{background:none;border:0;color:var(--muted);font-size:16px;cursor:pointer}
.push-prefs{display:flex;flex-direction:column;gap:4px;margin:8px 0}

/* Home: how to get the app + alerts */
.how-alerts{margin-top:18px;border-color:rgba(245,196,0,.45)}
.how-cols{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:14px}
.how-cols h3{margin:.2em 0}.how-cols ol{margin:0;padding-left:20px}.how-cols li{margin:4px 0}

/* BAR Live */
.stream-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,460px),1fr));gap:14px;margin:12px 0}
.stream{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden}
.stream-frame{position:relative;aspect-ratio:16/9;background:#000}.stream-frame iframe{position:absolute;inset:0;width:100%;height:100%;border:0}
.stream-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:10px 12px}
.live-dot{background:#ef4444;color:#fff;font-size:11px;font-weight:900;padding:2px 7px;border-radius:6px;letter-spacing:.5px}
nav a[href="#/watch"].is-live::after,nav summary.is-live::before{content:'';display:inline-block;width:8px;height:8px;border-radius:50%;background:#ef4444;margin-left:5px;vertical-align:middle;animation:livepulse 1.4s infinite}
@keyframes livepulse{50%{opacity:.3}}

.stream-out{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;color:#fff;text-decoration:none;
  background:linear-gradient(135deg,#1e293b,#0b1020)}
.stream-out.instagram{background:linear-gradient(135deg,#f58529,#dd2a7b 50%,#8134af)}
.stream-out span{font-size:42px}.stream-out b{font-size:18px}.stream-out i{font-style:normal;font-size:12px;opacity:.85}
.wild-rules{border-color:rgba(245,196,0,.45)}.wild-prize{font-weight:800;color:var(--gold);margin-bottom:0}

.bar-tv{margin:12px 0;border-color:rgba(145,70,255,.6);box-shadow:0 0 24px rgba(145,70,255,.25)}
.vod-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:10px;margin:10px 0}
.vod{position:relative;display:flex;flex-direction:column;gap:3px;padding:0 0 8px;border-radius:12px;border:1px solid var(--line);background:var(--panel);color:var(--text);cursor:pointer;text-align:left;overflow:hidden}
.vod img{width:100%;aspect-ratio:16/9;object-fit:cover;background:#000}.vod b,.vod i{padding:0 8px;font-size:13px}.vod i{font-style:normal;color:var(--muted);font-size:11px}
.vod b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vod-len{position:absolute;top:6px;right:6px;background:#000c;color:#fff;font-size:11px;padding:1px 6px;border-radius:5px}

/* BAR TV page */
.tv-wrap{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:12px;margin-top:10px}
.tv-player{background:var(--panel);border:1px solid rgba(145,70,255,.6);border-radius:14px;overflow:hidden;box-shadow:0 0 24px rgba(145,70,255,.25)}
.tv-chat{border-radius:14px;overflow:hidden;border:1px solid var(--line);min-height:420px}.tv-chat iframe{width:100%;height:100%;min-height:420px;border:0}
@media (max-width:900px){.tv-wrap{grid-template-columns:1fr}.tv-chat,.tv-chat iframe{min-height:380px}}

/* homepage */
.home-hero{display:grid;grid-template-columns:1.1fr 1fr;gap:28px;align-items:center;padding:28px 0 8px}
.home-hero h1{font-size:clamp(32px,5vw,52px);line-height:1.05;margin:.25em 0}
.home-hero .lead{font-size:19px;color:var(--text);opacity:.9;max-width:34em}
.btn.big{padding:15px 22px;font-size:17px}
.hh-fan{position:relative;height:400px}
.hh-fan img{position:absolute;top:30px;left:50%;width:44%;max-width:230px;border-radius:12px;box-shadow:0 18px 40px rgba(0,0,0,.55);transition:transform .25s}
.hh-fan img:nth-child(1){transform:translateX(-115%) rotate(-9deg)}
.hh-fan img:nth-child(2){top:0;transform:translateX(-50%);z-index:2}
.hh-fan img:nth-child(3){transform:translateX(15%) rotate(9deg)}
.hh-fan:hover img:nth-child(1){transform:translateX(-125%) rotate(-12deg)}
.hh-fan:hover img:nth-child(3){transform:translateX(25%) rotate(12deg)}
.this-week{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin:20px 0}
.tw{background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:16px;padding:16px 18px;text-decoration:none;color:var(--text)}
.tw:hover{border-color:var(--gold)}
.tw h3{margin:.25em 0}
.tw p{margin:0;font-size:14px}
.tw.prize{display:flex;gap:14px;align-items:center}
.tw.prize img{width:72px;height:72px;object-fit:cover;border-radius:12px;flex:none}
.steps{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.step{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:14px;text-align:center}
.step img{width:100%;max-width:150px;border-radius:8px;margin-bottom:10px}
.step b{display:block;font-size:16px}
.step b span{display:inline-grid;place-items:center;width:24px;height:24px;border-radius:50%;background:var(--gold);color:#000;font-size:13px;margin-right:4px}
.step p{font-size:14px;margin:.4em 0 0}
.tcg-next{display:flex;gap:20px;align-items:center;justify-content:space-between;flex-wrap:wrap;background:radial-gradient(ellipse at 10% 0,#3b1d6e,var(--panel) 70%)}
.tcg-next>div{flex:1 1 320px}
@media (max-width:820px){
  .home-hero{grid-template-columns:1fr;padding-top:12px}
  .hh-fan{height:270px}
  .hh-fan img{width:34%}
  .this-week{grid-template-columns:1fr}
  .steps{grid-template-columns:1fr 1fr}
}

/* Pick'em promo + Card Boost */
.promo-hero{display:flex;justify-content:space-between;align-items:center;gap:16px;flex-wrap:wrap;background:radial-gradient(ellipse at 15% 0,#7a5a00,#1b1300 55%,#0b1020);border:1px solid #7a5a00;border-radius:18px;padding:18px 22px;margin:8px 0 16px}
.promo-prizes{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0}
.promo-prizes span{display:flex;flex-direction:column;align-items:center;background:#000a;border:1px solid #7a5a00;border-radius:12px;padding:6px 14px;font-size:13px}
.promo-prizes b{color:var(--gold);font-size:14px}
.boost-box{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;border-color:#5b3fa0}
.boost-box>div{flex:1 1 320px}
.pk-team small.bst{top:auto;bottom:-8px;right:6px;background:#5b3fa0;color:#fff}
.promo-strip{display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin:18px 0 0;padding:18px 22px;border-radius:18px;text-decoration:none;color:var(--text);background:radial-gradient(ellipse at 10% 0,#7a5a00,#1b1300 60%,#0b1020);border:1px solid var(--gold)}
.promo-strip h2{margin:.15em 0;font-size:26px}
.promo-strip p{margin:.3em 0}
@media (max-width:600px){.pk-table th:nth-child(n+6),.pk-table td:nth-child(n+6){display:none}}

/* bring a friend */
.invite-banner{margin:14px 0 0;padding:14px 18px;border-radius:14px;background:#0f3d22;border:1px solid #1f7a44}
.ref-panel{border-color:#1f7a44;background:linear-gradient(160deg,#0f2a1c,var(--panel))}

/* First Edition trade-in */
.tradein-strip{display:block;margin:12px 0 0;padding:14px 18px;border-radius:14px;background:#1b2338;border:1px dashed var(--gold);color:var(--text);text-decoration:none}
.tradein-strip b{color:var(--gold)}
.ti-code{font-family:ui-monospace,Menlo,monospace;background:#000;padding:4px 8px;border-radius:8px;color:var(--gold)}
.ti-pics{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:10px}
.ti-pics figure{margin:0;text-align:center}.ti-pics img{width:100%;max-height:420px;object-fit:contain;border-radius:10px;background:#000}
.ti-pics figcaption{font-size:13px;color:var(--muted);margin-top:4px}

/* BAR BOWL hub */
.bowl-hero{display:flex;gap:18px;align-items:center;background:radial-gradient(ellipse at 15% 0,#1e3a8a,#0b1020 70%);border:1px solid var(--line);border-radius:18px;padding:18px 22px;margin:8px 0 14px}
.bowl-hero>img{width:110px;flex:none}
.bowl-teams{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:10px}
.bowl-team{display:flex;flex-direction:column;align-items:center;gap:6px;text-align:center;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px 10px}
.bowl-team b{font-size:14px;line-height:1.2}
.bowl-team.taken{opacity:.6}.bowl-team.mine{border-color:var(--gold);opacity:1}
.bowl-team .btn{padding:8px 14px;font-size:14px}
.bowl-award{display:flex;gap:16px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;margin:10px 0}
.ba-card{width:90px;border-radius:8px;flex:none}
.bg-teams{display:flex;align-items:center;justify-content:space-around;gap:10px;margin:10px 0;text-align:center}
.bg-teams>div{display:flex;flex-direction:column;align-items:center;gap:4px}.bg-teams em{font-style:normal;font-size:34px;font-weight:900}
.bg-teams>span{color:var(--muted);font-weight:900;font-size:24px}
.hunt-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:12px}
.hunt-card{display:flex;flex-direction:column;gap:4px;align-items:center;text-align:center}
.hunt-card img{width:100%;border-radius:8px;filter:grayscale(1) brightness(.55)}.hunt-card.got img{filter:none;box-shadow:0 0 14px rgba(245,196,0,.5)}
.bowl-explore{display:block;margin:24px 0 0;padding:14px 18px;border-radius:14px;background:var(--panel);border:1px dashed var(--line);color:var(--text);text-decoration:none}
.bowl-hero{flex-wrap:wrap}
.bowl-count{margin-left:auto;min-width:170px;text-align:center;background:#0008;border:1px solid var(--gold);border-radius:14px;padding:10px 14px;position:relative;overflow:hidden}
.bowl-count b{display:block;font-size:34px;color:var(--gold);line-height:1}
.bowl-count span{font-size:13px;font-weight:700}
.bowl-count i{display:block;height:6px;background:var(--gold);border-radius:3px;margin:8px 0 4px}
.bowl-count em{font-style:normal;font-size:12px;color:var(--muted)}

/* $1,000 prize fund */
.fund-strip{display:block;margin:12px 0;padding:12px 16px;border-radius:14px;background:linear-gradient(90deg,#0f3d22,#14301f);border:1px solid #1f7a44;color:var(--text);text-decoration:none}
.fund-strip b{color:#7ef0a8}
.prize-panel{border-color:#1f7a44}

/* BAR Chop League */
.fund-badge{display:inline-block;padding:8px 12px;border-radius:999px;background:#0f3d22;border:1px solid #1f7a44;color:#7ef0a8;font-weight:800}
.cl-board{display:grid;gap:4px;min-width:max-content}
.cl-bh{font-weight:800;font-size:12px;padding:6px;text-align:center;background:var(--panel2);border-radius:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.cl-cell{min-height:44px;padding:5px 6px;border-radius:8px;background:var(--panel2);font-size:12px;display:flex;flex-direction:column;justify-content:center;border:1px solid transparent}
.cl-cell b{font-size:12px;line-height:1.15}.cl-cell span{font-size:11px;opacity:.8}
.cl-cell.now{border-color:var(--gold);animation:dangerPulse 1.6s ease-in-out infinite}
.cl-cell.pos-QB{background:#4c1d3d}.cl-cell.pos-RB{background:#163d2c}.cl-cell.pos-WR{background:#16304d}.cl-cell.pos-TE{background:#4a3613}
.cl-clock{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap}
.cl-clock.me{border-color:var(--gold);background:linear-gradient(90deg,#3a2f05,var(--panel))}
.cl-lineup td{padding:5px 6px}.cl-lineup select{min-width:200px;max-width:100%}
.cl-rules li{margin:6px 0}
.cl-detail{margin:-2px 0 8px 36px;padding:6px 10px;border-left:3px solid var(--line);font-size:14px}
.cl-detail td{padding:3px 6px}

/* Halloween Giveaway */
.gv-strip{background:linear-gradient(90deg,#3d1f05,#2a1238)!important;border-color:#f97316!important}.gv-strip b{color:#fdba74!important}
.gv-hero{text-align:center;padding:28px 16px;border-radius:20px;margin:12px 0;background:radial-gradient(circle at 50% 0,#7c2d12 0,#2a1238 55%,var(--panel) 100%);border:1px solid #f97316}
.gv-hero h1{font-size:clamp(30px,7vw,56px);margin:.15em 0;color:#fdba74;letter-spacing:.5px}
.gv-hero p{max-width:640px;margin:6px auto 12px}
.gv-stats{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:14px}
.gv-stats div{background:#0006;border-radius:14px;padding:10px 18px;min-width:110px}.gv-stats b{display:block;font-size:28px}.gv-stats span{font-size:12px;opacity:.75}
.gv-stats .me{border:2px solid var(--gold)}.gv-stats .me b{color:var(--gold)}
.gv-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:14px}
.gv-prize{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:12px;background:var(--panel2);margin:6px 0}.gv-prize span{font-size:26px}.gv-prize b{flex:1}.gv-prize em{font-style:normal;opacity:.75;font-size:13px}
.gv-step{display:flex;align-items:center;gap:10px;padding:10px;border-radius:12px;background:var(--panel2);margin:6px 0}
.gv-step.done{opacity:.7}.gv-ic{font-size:24px;width:34px;text-align:center}.gv-body{flex:1}.gv-pts{color:var(--green);font-weight:800;font-size:13px}

/* Team Ownership card + Welcome Room */
.own-card{width:220px;margin:8px auto;padding:12px;border-radius:16px;background:linear-gradient(160deg,#2b2205,#0b1020 60%,#1b1405);border:3px solid var(--gold);box-shadow:0 0 30px #f5c40055;text-align:center;position:relative}
.own-top{display:flex;justify-content:space-between;font-size:10px;font-weight:900;letter-spacing:1px;color:var(--gold)}
.own-card img{width:140px;height:140px;object-fit:contain;margin:10px auto;display:block;filter:drop-shadow(0 6px 14px #000)}
.own-name{font-weight:900;font-size:18px;line-height:1.1}.own-foot{font-size:9px;opacity:.6;margin-top:8px;letter-spacing:1px}
.own-claimed{position:absolute;top:40%;left:50%;transform:translate(-50%,-50%) rotate(-12deg);background:var(--green);color:#000;font-weight:900;padding:4px 12px;border-radius:8px}
.own-reveal .own-card{animation:ownIn .9s cubic-bezier(.2,1.4,.4,1)}
@keyframes ownIn{from{transform:rotateY(180deg) scale(.4);opacity:0}to{transform:none;opacity:1}}
.wl-hero{display:flex;gap:20px;align-items:center;flex-wrap:wrap;padding:18px;border-radius:20px;background:radial-gradient(circle at 0 0,#3a2f05,var(--panel) 60%);border:1px solid var(--gold);margin:12px 0}
.wl-hero>div{flex:1;min-width:260px}
.wl-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;margin-bottom:14px}
.wl-feat{display:flex;flex-direction:column;gap:2px;padding:14px;border-radius:14px;background:var(--panel2);border:1px solid var(--line);color:var(--text);text-decoration:none}
.wl-feat:hover{border-color:var(--gold)}.wl-feat span{font-size:26px}.wl-feat em{font-style:normal;color:var(--green);font-weight:800;font-size:14px}.wl-feat small{opacity:.75}
.wl-hero>.own-card{flex:0 0 220px;min-width:0;margin:0 auto}

/* BAR Sim Center */
.sim-slate{display:grid;gap:8px}
.sim-row{display:grid;grid-template-columns:1fr auto 1fr 1.2fr auto;gap:10px;align-items:center;padding:10px 14px;border-radius:14px;background:var(--panel);border:1px solid var(--line);color:var(--text);text-decoration:none}
.sim-row:hover{border-color:var(--gold)}.sim-row.mine{border-color:var(--gold);box-shadow:0 0 0 1px var(--gold) inset}
.sim-t{display:flex;align-items:center;gap:8px}.sim-t em{font-style:normal;font-weight:900;font-size:24px;margin-left:auto}.sim-at{opacity:.6}
.sim-meta{font-size:13px}
@media(max-width:640px){.sim-row{grid-template-columns:1fr auto 1fr}.sim-meta,.sim-row .btn{grid-column:1/-1}}
.sim-board{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center;background:#000a;border:1px solid var(--line);border-radius:16px;padding:12px}
.sim-sb{display:flex;align-items:center;gap:10px}.sim-sb:last-child{flex-direction:row-reverse;text-align:right}
.sim-sb em{display:block;font-style:normal;font-size:40px;font-weight:900;line-height:1}
.sim-clock{background:var(--gold);color:#000;font-weight:900;padding:6px 12px;border-radius:8px;white-space:nowrap}
.sim-feed{max-height:340px;overflow:auto;margin-top:10px;display:grid;gap:6px}
.sim-play{padding:8px 10px;border-radius:10px;background:var(--panel2);font-size:14px;animation:dropIn .3s}
.sim-play span{opacity:.6;margin-right:8px;font-size:12px}.sim-play.big{border-left:4px solid var(--gold)}
@keyframes dropIn{from{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}
.sim-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px}@media(max-width:640px){.sim-cols{grid-template-columns:1fr}}
.fa-tag{position:absolute;left:4px;bottom:4px;background:#0f3d22;color:#7ef0a8;border:1px solid #1f7a44;font-size:10px;font-weight:900;padding:1px 5px;border-radius:6px}
.pick,.dpick{position:relative}
.mode-head{margin:26px 0 6px;padding:16px 18px;border-radius:16px;border:1px solid var(--line)}
.mode-head h2{margin:.15em 0 .2em}
.mode-head.prize{background:linear-gradient(90deg,#0f3d22,var(--panel));border-color:#1f7a44}
.mode-head.glory{background:linear-gradient(90deg,#3a2f05,var(--panel));border-color:#7a5a00}
.tile.soon{opacity:.75;border-style:dashed}
/* BAR Hoops League */
.hl-two{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.hl-code{font:800 34px/1.1 ui-monospace,Menlo,monospace;letter-spacing:.2em;color:var(--gold);margin:6px 0 10px}
.hl-table{width:100%;border-collapse:collapse}.hl-table td{padding:6px;border-bottom:1px solid var(--line)}.hl-table tr.me td{background:rgba(245,196,0,.08)}
.hl-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:8px;margin-top:8px}
.hl-card{text-align:left;font:inherit;color:inherit;background:var(--panel2);border:2px solid transparent;border-top:4px solid var(--c);border-radius:10px;padding:8px 10px;display:flex;flex-direction:column;gap:3px}
button.hl-card{cursor:pointer;opacity:.6}button.hl-card.on{opacity:1;border-color:var(--c);box-shadow:0 0 14px color-mix(in srgb,var(--c) 45%,transparent)}
.hl-ct{font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--c)}
.hl-score{display:flex;align-items:center;justify-content:space-between;gap:10px;text-align:center}
.hl-side{flex:1;min-width:0}.hl-side b{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.hl-num{font:900 40px/1.1 system-ui;opacity:.75}.hl-num.lead{color:var(--gold);opacity:1}.hl-vs{font-weight:800;min-width:80px}
.hl-fire{display:flex;gap:10px;padding:8px;border-radius:8px;margin:6px 0;background:var(--panel2);border-left:4px solid #64748b}
.hl-fire.me{border-left-color:#22c55e}.hl-fire.them{border-left-color:#ef4444}
.hl-fq{font-size:11px;opacity:.7;min-width:62px}.hl-fire .up{color:#22c55e;font-weight:800}.hl-fire .down{color:#ef4444;font-weight:800}
.hl-chip{display:inline-block;padding:2px 8px;border-radius:99px;background:var(--panel2);margin:2px 0}.hl-chip.me{background:#163d2c}
.hl-pos.p-C{background:#4c1d3d}.hl-pos.p-PF{background:#3b2a5a}.hl-pos.p-SF{background:#163d2c}.hl-pos.p-SG{background:#16304d}.hl-pos.p-PG{background:#4a3613}.hl-pos.p-G,.hl-pos.p-F{background:#2a3446}
.hl-boost{font-size:11px;font-weight:800;color:var(--gold);background:rgba(245,196,0,.12);border-radius:99px;padding:1px 7px}
.hl-locked{opacity:.45;filter:grayscale(.6)}
.hl-mycards{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:8px;margin-top:8px}
.hl-mc{display:flex;gap:10px;align-items:center;background:var(--panel2);border-radius:10px;padding:6px;border:1px solid transparent}.hl-mc.on{border-color:#22c55e}
.hl-mc img{width:54px;border-radius:5px}
.hl-pack{max-width:760px}.hl-pack-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(118px,1fr));gap:10px;margin-top:10px}
.hl-pc{display:flex;flex-direction:column;gap:2px;opacity:0;animation:hlFlip .6s ease-out forwards}
.hl-pc img{width:100%;border-radius:8px;box-shadow:0 0 18px color-mix(in srgb,var(--rc) 60%,transparent)}
@keyframes hlFlip{from{opacity:0;transform:rotateY(90deg) scale(.85)}to{opacity:1;transform:none}}
/* BAR Card Duels */
.du-me{text-align:center;background:var(--panel2);border-radius:16px;padding:10px 18px;min-width:150px}.du-rating{font:900 42px/1 system-ui;color:var(--gold)}
.du-row.live{border-color:#22c55e}.du-score{font:900 26px system-ui}.du-score .w{color:var(--gold)}
.du-vs{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}@media (max-width:640px){.du-vs{grid-template-columns:1fr}}
.du-hand{display:flex;flex-direction:column;gap:6px}.du-card{display:flex;gap:8px;align-items:center;background:var(--panel2);border-radius:10px;padding:5px}.du-card img{width:42px;border-radius:4px}.du-card.act{opacity:.9}
.du-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(118px,1fr));gap:8px}
.du-pick{font:inherit;color:inherit;text-align:left;background:var(--panel2);border:2px solid transparent;border-radius:12px;padding:6px;display:flex;flex-direction:column;gap:2px;cursor:pointer}
.du-pick img{width:100%;border-radius:6px}.du-pick.on{border-color:var(--rc);box-shadow:0 0 14px color-mix(in srgb,var(--rc) 50%,transparent)}.du-pick:disabled{opacity:.35;cursor:not-allowed}
/* Weekly Gauntlet */
.gt-slots{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}@media (max-width:760px){.gt-slots{grid-template-columns:1fr}}
.gt-slot{background:var(--panel2);border:2px solid transparent;border-radius:14px;padding:10px;cursor:pointer}.gt-slot.on{border-color:var(--gold)}
.gt-chosen{display:flex;flex-direction:column;gap:6px;margin-top:8px}
.gt-chip{display:flex;gap:8px;align-items:center;background:var(--panel);border-left:4px solid var(--rc);border-radius:10px;padding:5px;font-size:14px;min-height:52px}.gt-chip img{width:34px;border-radius:4px}
.gt-chip.empty{color:var(--muted);justify-content:center;border-left-color:var(--line);font-size:13px}.gt-x{margin-left:auto;background:none;border:0;color:var(--muted);cursor:pointer;font-size:16px}
.gt-bracket{display:grid;grid-template-columns:repeat(3,minmax(170px,1fr));gap:12px;overflow-x:auto;margin-top:8px}
.gt-col{display:flex;flex-direction:column;justify-content:space-around;gap:8px}
.gt-match{background:var(--panel2);border-radius:10px;overflow:hidden;border:1px solid var(--line)}.gt-match.me{border-color:var(--gold)}
.gt-match>div{display:flex;justify-content:space-between;gap:8px;padding:6px 10px;font-size:14px}.gt-match>div+div{border-top:1px solid var(--line)}.gt-match .w{background:rgba(245,196,0,.14);font-weight:800}
/* BAR BOWL Clubhouse */
.bowl-lock{display:flex;gap:16px;align-items:center;border-color:var(--gold)}
.bowl-majors{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px}
.bowl-major{background:var(--panel);border:2px dashed var(--line);border-radius:16px;padding:14px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:4px}
.bowl-major.won{border:2px solid var(--gold);box-shadow:0 0 22px rgba(245,196,0,.18)}.bowl-major img{width:110px;border-radius:8px}
.bm-q{width:90px;height:126px;border-radius:10px;background:var(--panel2);display:grid;place-items:center;font:900 46px system-ui;color:var(--muted)}
/* Leagues */
.lg-grid{display:grid;gap:10px;margin:12px 0}
.lg-card{display:flex;gap:14px;align-items:center;text-decoration:none;color:inherit}.lg-card:hover{border-color:var(--gold)}
.lg-av{display:grid;place-items:center;background:var(--panel2);border-radius:14px;font-size:26px;flex:none}
.lg-cred{text-align:center;min-width:70px}.lg-cred b{display:block;font:900 30px/1 system-ui;color:var(--gold)}.lg-cred span{font-size:12px;color:var(--muted)}
.lg-feat{display:inline-flex;gap:6px;align-items:center;margin:3px 12px 3px 0}
/* Nav drop-downs */
.nav-dd{position:relative}
.nav-dd>summary{list-style:none;cursor:pointer;padding:8px 12px;border-radius:10px;font-weight:600;user-select:none}
.nav-dd>summary::-webkit-details-marker{display:none}
.nav-dd>summary::after{content:" ▾";font-size:.8em;opacity:.7}
.nav-dd.on>summary,.nav-dd[open]>summary{background:var(--panel2)}
.nav-dd .dd{position:absolute;top:calc(100% + 6px);left:0;z-index:50;min-width:210px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:6px;box-shadow:0 12px 32px rgba(0,0,0,.45);display:flex;flex-direction:column}
.nav-dd .dd a{padding:10px 12px;border-radius:10px;white-space:nowrap}
.nav-dd .dd a:hover{background:var(--panel2)}
.lg-pot{display:flex;gap:18px;align-items:center;flex-wrap:wrap;border-color:var(--gold);background:linear-gradient(120deg,rgba(245,196,0,.14),var(--panel))}
.lg-pot-num{font:900 48px/1 system-ui;color:var(--gold)}
.lg-potform{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:10px;margin-top:8px}.lg-potform label{display:flex;flex-direction:column;gap:4px;font-size:13px}
.lg-thumbs{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px}
.lg-thumb img{width:74px;border-radius:8px;border:2px solid var(--rc);display:block}
.lg-owe{border-color:var(--red);background:linear-gradient(120deg,rgba(239,68,68,.16),var(--panel))}
[hidden]{display:none !important}
a.lg-pot{text-decoration:none;color:inherit;cursor:pointer;transition:transform .12s}a.lg-pot:hover{transform:translateY(-2px);border-color:var(--gold)}
.lg-pot-go{margin-top:8px;font-weight:800;color:var(--gold)}
/* BAR BOWL league life */
.bw-wire ul{margin:6px 0 0;padding-left:18px}.bw-wire li{margin:3px 0}
.bw-match{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:6px 0}.bw-match>span{color:var(--muted);font-weight:900}.bw-match em{font-style:normal;font-weight:900;font-size:22px;color:var(--gold)}
.bw-game .row,.bw-trade .row{gap:6px;flex-wrap:wrap}
.bw-tside{display:flex;gap:10px;align-items:flex-start;margin:6px 0}
.bw-pick{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:8px 0;border-top:1px solid var(--line)}.bw-pick>span:not(.fine){color:var(--muted);font-weight:900}
.bw-pick label{display:flex;align-items:center;gap:6px;padding:6px 10px;border:2px solid var(--line);border-radius:12px;cursor:pointer}
.bw-pick label input{display:none}.bw-pick label.on{border-color:var(--gold);background:rgba(245,196,0,.12)}.bw-pick label.won{box-shadow:0 0 0 2px #2ecc71 inset}
.bw-pick label em{font-style:normal;font-weight:900}.bw-pick.locked label{cursor:default;opacity:.85}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media(max-width:720px){.grid2{grid-template-columns:1fr}}
.bw-key{font-size:12px;color:var(--muted);background:rgba(255,255,255,.06);border-radius:8px;padding:2px 8px}
.bw-roster{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0;max-height:220px;overflow:auto}.bw-roster label{display:flex;gap:6px;align-items:center;border:1px solid var(--line);border-radius:10px;padding:4px 8px;font-size:13px}
.bw-rtable td{padding:3px 8px}
.scr-items{margin-top:8px;padding:8px 10px;border:1px dashed var(--gold);border-radius:12px;font-size:12px;display:flex;flex-direction:column;gap:4px}
.scr-items b{color:var(--gold);letter-spacing:.06em}.scr-items span{display:flex;align-items:center;gap:6px}.scr-items img{width:26px;height:26px;object-fit:contain;border-radius:6px}.scr-items em{color:var(--muted);font-style:normal;font-size:11px}
.item-hit img{max-height:240px;object-fit:contain}
.item-row{display:flex;gap:12px;align-items:flex-start;margin-top:10px}.item-row>img{width:64px;height:64px;object-fit:contain;border-radius:10px}
.upg-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin-top:10px}
.upg{display:flex;flex-direction:column;align-items:center;gap:4px;text-align:center;padding:8px;border:1px solid var(--line);border-radius:12px;opacity:.75}
.upg.ready{opacity:1;border-color:var(--gold);box-shadow:0 0 14px rgba(245,196,0,.25)}.upg img{width:100%;max-width:120px;border-radius:8px}.upg .progress{width:100%}
