:root{
  --bg:#0a0b0d;--bg2:#101215;--card:#14171b;--card2:#1a1e23;--line:#23272e;--line2:#2e333b;
  --tx:#f3f5f7;--tx2:#a9b0ba;--tx3:#6c7480;
  --acc:#2fd889;--acc-ink:#0a0b0d;--up:#3be59a;--down:#ff5a6a;--warn:#ffb547;--blue:#5ab0ff;
  --r:16px;--r2:12px;
  --safe-t:env(safe-area-inset-top,0px);--safe-b:env(safe-area-inset-bottom,0px);
  --f:'Inter',system-ui,-apple-system,sans-serif;--fd:'Inter Tight','Inter',system-ui,sans-serif;--fm:'JetBrains Mono',ui-monospace,monospace;
}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;background:var(--bg);color:var(--tx);font-family:var(--f);font-size:15px;line-height:1.4;-webkit-font-smoothing:antialiased;overscroll-behavior-y:none}
button{font:inherit;color:inherit;background:none;border:0;padding:0;cursor:pointer}
input,select{font:inherit;color:inherit}
a{color:inherit}
svg{display:block}
.num{font-family:var(--fm);font-variant-numeric:tabular-nums;letter-spacing:-.02em}
#app{max-width:560px;margin:0 auto;min-height:100dvh;padding-bottom:calc(76px + var(--safe-b))}

/* header */
.top{position:sticky;top:0;z-index:20;display:flex;align-items:center;justify-content:space-between;padding:calc(10px + var(--safe-t)) 16px 8px;background:linear-gradient(var(--bg) 70%,rgba(10,11,13,0))}
.brand{display:flex;align-items:center;gap:8px;font-family:var(--fd);font-weight:800;font-size:20px;letter-spacing:-.03em}
.logo{width:28px;height:28px;border-radius:8px;box-shadow:0 0 24px rgba(47,216,137,.25)}
.word{font-size:21px;letter-spacing:-.045em}
.live-dot{width:8px;height:8px;border-radius:50%;background:var(--down);box-shadow:0 0 0 0 rgba(255,90,106,.6);animation:pulse 1.6s infinite}
@keyframes pulse{0%{box-shadow:0 0 0 0 rgba(255,90,106,.55)}70%{box-shadow:0 0 0 8px rgba(255,90,106,0)}100%{box-shadow:0 0 0 0 rgba(255,90,106,0)}}
.icon-btn{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--card);border:1px solid var(--line)}
.icon-btn svg{width:18px;height:18px;fill:none;stroke:var(--tx2);stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}

.leagues{position:sticky;top:calc(56px + var(--safe-t));z-index:19;display:flex;gap:6px;overflow-x:auto;padding:4px 16px 12px;background:var(--bg);scrollbar-width:none}
.leagues::-webkit-scrollbar,.chips::-webkit-scrollbar{display:none}
.lg{flex:none;padding:8px 14px;border-radius:999px;background:var(--card);border:1px solid var(--line);font-weight:700;font-size:13px;letter-spacing:.02em;color:var(--tx2);transition:.18s}
.lg.on{background:var(--tx);color:var(--bg);border-color:var(--tx)}
.lg .ct{opacity:.55;margin-left:5px;font-weight:600}

main{padding:0 16px}
.h1{font-family:var(--fd);font-size:28px;font-weight:800;letter-spacing:-.035em;margin:6px 0 2px}
.sub{color:var(--tx3);font-size:13px;margin-bottom:14px}
.sec{display:flex;align-items:baseline;justify-content:space-between;margin:22px 0 10px}
.sec h3{margin:0;font-family:var(--fd);font-size:13px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--tx2)}
.sec small{color:var(--tx3);font-size:12px}

.chips{display:flex;gap:6px;overflow-x:auto;margin:0 -16px 12px;padding:0 16px;scrollbar-width:none}
.chip{flex:none;padding:7px 12px;border-radius:10px;background:var(--bg2);border:1px solid var(--line);color:var(--tx2);font-size:13px;font-weight:600;transition:.15s}
.chip.on{background:rgba(47,216,137,.1);border-color:rgba(47,216,137,.5);color:var(--acc)}
.row{display:flex;align-items:center;gap:8px}
.search{flex:1;min-width:0;display:flex;align-items:center;gap:8px;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:0 12px;height:42px}
.search svg{flex:none;width:16px;height:16px;stroke:var(--tx3);fill:none;stroke-width:2}
.search input{flex:1;background:none;border:0;outline:0;font-size:15px}
.seg{display:flex;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:3px;gap:2px}
.seg button{padding:7px 9px;border-radius:9px;font-size:12px;font-weight:700;color:var(--tx3)}
.seg button.on{background:var(--card2);color:var(--tx);box-shadow:0 1px 0 rgba(255,255,255,.04) inset}

/* cards */
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px;margin-bottom:10px;position:relative;overflow:hidden}
.tap{transition:transform .12s, border-color .2s}
.tap:active{transform:scale(.985)}
.prop{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center}
.hs{width:48px;height:48px;border-radius:14px;background:var(--card2) center/cover no-repeat;border:1px solid var(--line2);overflow:hidden;position:relative}
.hs img{width:100%;height:100%;object-fit:cover;object-position:top}
.hs .init{position:absolute;inset:0;display:grid;place-items:center;font-weight:800;color:var(--tx3);font-family:var(--fd)}
.pname{font-weight:700;font-size:15px;letter-spacing:-.01em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pmeta{color:var(--tx3);font-size:12px;margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pline{margin-top:6px;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
.tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:3px 7px;border-radius:7px;background:var(--bg2);border:1px solid var(--line);color:var(--tx2);letter-spacing:.01em}
.tag.over{color:var(--up);border-color:rgba(59,229,154,.35);background:rgba(59,229,154,.07)}
.tag.under{color:var(--blue);border-color:rgba(90,176,255,.35);background:rgba(90,176,255,.07)}
.tag.hot{color:#ff8a3d;border-color:rgba(255,138,61,.35);background:rgba(255,138,61,.07)}
.tag.warn{color:var(--warn);border-color:rgba(255,181,71,.35);background:rgba(255,181,71,.07)}
.tag.bad{color:var(--down);border-color:rgba(255,90,106,.35);background:rgba(255,90,106,.07)}
.big{text-align:right}
.big .pct{font-family:var(--fd);font-size:24px;font-weight:800;letter-spacing:-.04em;line-height:1}
.big .pct small{font-size:13px;opacity:.6;margin-left:1px}
.big .odd{font-size:12px;color:var(--tx2);margin-top:4px}
.big .edge{font-size:11px;font-weight:700;margin-top:3px}
.pos{color:var(--up)}.neg{color:var(--down)}.mut{color:var(--tx3)}
.minibars{display:flex;align-items:flex-end;gap:2px;height:18px;margin-top:8px}
.minibars i{flex:1;border-radius:2px;background:var(--line2);min-height:2px}
.minibars i.h{background:var(--up)}
.minibars i.m{background:rgba(255,90,106,.75)}
.minibars i.d{background:transparent;border:1px dashed var(--line2)}

.ring{--p:50;width:52px;height:52px;border-radius:50%;background:conic-gradient(var(--c,var(--up)) calc(var(--p)*1%),var(--line) 0);display:grid;place-items:center}
.ring b{width:42px;height:42px;border-radius:50%;background:var(--card);display:grid;place-items:center;font-family:var(--fd);font-weight:800;font-size:14px}

.empty{padding:40px 10px;text-align:center;color:var(--tx3)}
.empty b{display:block;color:var(--tx2);font-size:16px;margin-bottom:6px}
.load{display:flex;align-items:center;gap:10px;color:var(--tx3);font-size:13px;padding:6px 2px 14px}
.spin{width:16px;height:16px;border-radius:50%;border:2px solid var(--line2);border-top-color:var(--acc);animation:sp .8s linear infinite}
@keyframes sp{to{transform:rotate(360deg)}}
.skel{height:86px;border-radius:var(--r);margin-bottom:10px;background:linear-gradient(90deg,var(--card) 0%,var(--card2) 50%,var(--card) 100%);background-size:200% 100%;animation:sh 1.3s infinite}
@keyframes sh{to{background-position:-200% 0}}
.note{font-size:12px;color:var(--tx3);background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-bottom:12px}
.note b{color:var(--tx2)}

/* games */
.game{padding:0}
.ghead{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);font-size:12px;color:var(--tx3);font-weight:600}
.ghead .st.live{color:var(--down)}
.gteams{padding:10px 14px}
.gt{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto auto;gap:10px;align-items:center;padding:5px 0}
.gt img{width:28px;height:28px;object-fit:contain}
.gt .tn{font-weight:700}
.gt .tn{min-width:0;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gt .tn small{display:block;color:var(--tx3);font-weight:500;font-size:11.5px;margin-top:2px}
.gt.sc6,.colhead.sc6{grid-template-columns:28px minmax(0,1fr) auto auto auto auto}
.gt .sc{font-family:var(--fd);font-weight:800;font-size:20px;min-width:30px;text-align:right}
.gt.lose .sc,.gt.lose .tn{color:var(--tx3)}
.line-btn{min-width:62px;padding:6px 6px;border-radius:9px;background:var(--bg2);border:1px solid var(--line);text-align:center;font-size:12px;line-height:1.15}
.line-btn b{display:block;font-size:12.5px}
.line-btn span{color:var(--tx3);font-size:11px}
.line-btn.sel{border-color:var(--acc);background:rgba(47,216,137,.08)}
.colhead{display:grid;grid-template-columns:28px minmax(0,1fr) auto auto auto;gap:10px;font-size:10px;color:var(--tx3);font-weight:700;letter-spacing:.08em;text-transform:uppercase;padding:0 0 2px}
.colhead span{min-width:62px;text-align:center}

/* sheet */
.sheet-wrap{position:fixed;inset:0;z-index:50}
.sheet-bg{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fade .2s}
.sheet{position:absolute;left:0;right:0;bottom:0;max-width:560px;margin:0 auto;max-height:92dvh;overflow-y:auto;background:var(--bg2);border:1px solid var(--line);border-bottom:0;border-radius:22px 22px 0 0;padding:0 16px calc(24px + var(--safe-b));animation:up .28s cubic-bezier(.2,.9,.3,1)}
.grab{position:sticky;top:0;height:22px;display:grid;place-items:center;background:var(--bg2);z-index:2}
.grab::after{content:'';width:40px;height:5px;border-radius:3px;background:var(--line2)}
@keyframes up{from{transform:translateY(100%)}to{transform:none}}
@keyframes fade{from{opacity:0}}
.phead{display:flex;gap:14px;align-items:center;margin:4px 0 14px}
.phead .hs{width:68px;height:68px;border-radius:18px}
.phead h2{margin:0;font-family:var(--fd);font-size:22px;letter-spacing:-.03em}
.kpis{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0}
.kpi{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:10px 8px;text-align:center}
.kpi b{display:block;font-family:var(--fd);font-size:19px;font-weight:800;letter-spacing:-.03em}
.kpi span{font-size:10.5px;color:var(--tx3);font-weight:700;letter-spacing:.06em;text-transform:uppercase}
.chart{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:14px 10px 8px}
.chart svg{width:100%;height:auto;overflow:visible}
.stepper{display:flex;align-items:center;justify-content:space-between;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:6px;margin:10px 0}
.stepper button{width:44px;height:40px;border-radius:10px;background:var(--card2);font-size:22px;font-weight:600}
.stepper .v{text-align:center}
.stepper .v b{font-family:var(--fd);font-size:22px;font-weight:800}
.stepper .v span{display:block;font-size:11px;color:var(--tx3);font-weight:600}
.why{background:linear-gradient(180deg,rgba(47,216,137,.06),rgba(47,216,137,0));border:1px solid rgba(47,216,137,.22);border-radius:var(--r);padding:14px;margin:12px 0;font-size:14.5px;line-height:1.55;color:#dfe4ea}
.why h4{margin:0 0 6px;font-size:11px;letter-spacing:.1em;text-transform:uppercase;color:var(--acc)}
table.bk{width:100%;border-collapse:collapse;font-size:13px}
table.bk th{font-size:10.5px;color:var(--tx3);text-align:right;font-weight:700;letter-spacing:.06em;text-transform:uppercase;padding:6px 6px}
table.bk th:first-child,table.bk td:first-child{text-align:left}
table.bk td{padding:9px 6px;border-top:1px solid var(--line);text-align:right}
table.bk td.best{color:var(--acc);font-weight:700}
.cta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:14px}
.btn{height:50px;border-radius:14px;font-weight:800;font-size:15px;display:flex;align-items:center;justify-content:center;gap:8px;background:var(--card2);border:1px solid var(--line2)}
.btn.pri{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
.btn.ghost{background:transparent}
.btn small{font-family:var(--fm);font-weight:700;opacity:.75;font-size:12px}
.btn.wide{width:100%}

/* slip */
.leg{display:grid;grid-template-columns:1fr auto auto;gap:10px;align-items:center}
.leg .t{font-weight:700;font-size:14px}
.leg .s{color:var(--tx3);font-size:12px}
.leg input{width:68px;height:36px;border-radius:10px;border:1px solid var(--line2);background:var(--bg2);text-align:center;font-family:var(--fm);font-size:13px}
.x{width:30px;height:30px;border-radius:9px;display:grid;place-items:center;color:var(--tx3);background:var(--bg2);border:1px solid var(--line)}
.stake{display:flex;align-items:center;gap:10px;background:var(--card);border:1px solid var(--line);border-radius:14px;padding:6px 6px 6px 14px}
.stake input{flex:1;background:none;border:0;outline:0;font-family:var(--fd);font-weight:800;font-size:26px;width:100%}
.stake .q{display:flex;gap:4px}
.stake .q button{padding:8px 10px;border-radius:9px;background:var(--card2);font-weight:700;font-size:12px;color:var(--tx2)}
.sum{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0}
.sum .kpi{text-align:left;padding:12px}
.sum .kpi b{font-size:22px}
.sim svg{width:100%;height:150px}

/* wire */
.inj{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center}
.inj .hs{width:40px;height:40px;border-radius:12px}
.news{display:grid;grid-template-columns:1fr 84px;gap:12px;text-decoration:none}
.news img{width:84px;height:84px;border-radius:12px;object-fit:cover;background:var(--card2)}
.news h4{margin:0 0 4px;font-size:14.5px;line-height:1.3}
.news p{margin:0;color:var(--tx3);font-size:12.5px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}

/* tabbar */
.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;max-width:560px;margin:0 auto;display:grid;grid-template-columns:repeat(5,1fr);padding:8px 8px calc(8px + var(--safe-b));background:rgba(10,11,13,.86);backdrop-filter:blur(18px) saturate(1.4);-webkit-backdrop-filter:blur(18px) saturate(1.4);border-top:1px solid var(--line)}
.tabbar button{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 0;color:var(--tx3);font-size:10.5px;font-weight:700;letter-spacing:.02em;position:relative;transition:color .15s}
.tabbar svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tabbar button.on{color:var(--tx)}
.tabbar button.on svg{stroke:var(--acc)}
.badge{position:absolute;top:0;left:calc(50% + 6px);min-width:18px;height:18px;padding:0 5px;border-radius:9px;background:var(--acc);color:var(--acc-ink);font-size:11px;display:grid;place-items:center;font-weight:800}
.badge[hidden],.toast[hidden],[hidden]{display:none!important}
.badge.pop{animation:pop .35s}
@keyframes pop{50%{transform:scale(1.35)}}

.toast{position:fixed;left:50%;bottom:calc(90px + var(--safe-b));transform:translateX(-50%);z-index:60;background:var(--tx);color:var(--bg);padding:10px 16px;border-radius:12px;font-weight:700;font-size:13px;box-shadow:0 10px 30px rgba(0,0,0,.4);animation:up2 .25s}
@keyframes up2{from{opacity:0;transform:translate(-50%,10px)}}
.field{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-top:1px solid var(--line)}
.field input,.field select{background:var(--card);border:1px solid var(--line2);border-radius:10px;height:38px;padding:0 10px;width:120px;text-align:right}
.foot{color:var(--tx3);font-size:11px;text-align:center;margin:26px 0 8px;line-height:1.5}
.fade-in{animation:fi .35s ease both}
@keyframes fi{from{opacity:0;transform:translateY(6px)}}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
.hrow{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rollbtn{display:inline-flex;align-items:center;gap:7px;height:38px;padding:0 14px 0 11px;border-radius:12px;background:var(--acc);color:var(--acc-ink);font-weight:800;font-size:14px;box-shadow:0 6px 24px rgba(47,216,137,.18);transition:transform .12s}
.rollbtn:active{transform:scale(.96)}
.dice{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.9}
.dice circle{fill:currentColor;stroke:none}
.btn .dice{width:18px;height:18px}
.roll-head{display:flex;gap:12px;align-items:center;margin:2px 0 14px}
.roll-head h2{margin:0;font-family:var(--fd);font-size:22px;letter-spacing:-.03em}
.roll-badge{width:48px;height:48px;border-radius:14px;background:var(--acc);color:var(--acc-ink);display:grid;place-items:center}
.roll-badge .dice{width:26px;height:26px}
.roll-ctl{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:7px 0;border-top:1px solid var(--line)}
.roll-ctl>span{font-size:13px;color:var(--tx2);font-weight:600}
.roll-card.deal{animation:deal .5s cubic-bezier(.2,.9,.3,1.2) both}
@keyframes deal{0%{opacity:0;transform:translateY(18px) rotate(-2deg) scale(.96)}100%{opacity:1;transform:none}}
.lgtag{color:var(--acc);font-weight:800;font-size:10.5px;letter-spacing:.06em}
.btn[disabled]{opacity:.4}
.roll-badge.gold{background:linear-gradient(135deg,#ffd76a,#ff9f3d);color:#1a1205;box-shadow:0 0 30px rgba(255,180,70,.35)}
.roll-card.lotto{border-color:rgba(255,190,90,.28);background:linear-gradient(180deg,rgba(255,190,90,.06),var(--card) 60%)}
.roll-card.lotto .pct{color:#ffc76a}
.sum.lotto .pay{font-size:30px;background:linear-gradient(90deg,#ffd76a,#ff9f3d);-webkit-background-clip:text;background-clip:text;color:transparent}

/* ===== v3 ===== */
.logo{width:30px;height:30px;border-radius:0;box-shadow:none;filter:drop-shadow(0 0 14px rgba(47,216,137,.28))}
.ic{display:inline-grid;place-items:center;width:18px;height:18px;flex:none;font-style:normal}
.ic svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.lg{display:inline-flex;align-items:center;gap:6px;padding:7px 12px 7px 10px}
.lg .ic{width:17px;height:17px}
.lg.on .ic{color:var(--bg)}
.lgtag{display:inline-flex;align-items:center;gap:3px;vertical-align:-3px;margin-right:2px}
.lgtag .ic{width:13px;height:13px}
.sub{margin-top:2px}
.seg.wide{display:flex}.seg.wide button{flex:1;padding:9px 6px;font-size:13px}
.minibars i{animation:grow .5s cubic-bezier(.2,.9,.3,1) both;transform-origin:bottom}
@keyframes grow{from{transform:scaleY(.1);opacity:.3}}

/* tab bar with roll FAB */
.tabbar .fab{position:relative;color:var(--tx)}
.fab-in{width:54px;height:54px;margin-top:-26px;border-radius:18px;background:var(--acc);display:grid;place-items:center;box-shadow:0 10px 30px rgba(47,216,137,.35),0 0 0 5px var(--bg);transition:transform .15s}
.fab-in svg{width:26px!important;height:26px!important;stroke:var(--acc-ink)!important;stroke-width:1.9}
.fab-in svg circle{fill:var(--acc-ink);stroke:none}
.tabbar .fab:active .fab-in{transform:scale(.92) rotate(-8deg)}
.tabbar .fab>span:last-child{margin-top:2px}

/* roller */
.roll-head .icon-btn .ic{width:18px;height:18px;color:var(--tx2)}
.modes{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin:4px 0 12px}
.modes button{padding:11px 6px;border-radius:14px;background:var(--card);border:1px solid var(--line);text-align:center;transition:.18s}
.modes b{display:block;font-family:var(--fd);font-size:16px;font-weight:800;letter-spacing:-.02em}
.modes span{font-size:11px;color:var(--tx3);font-weight:600}
.modes button.on{background:rgba(47,216,137,.1);border-color:var(--acc)}
.modes button.on b{color:var(--acc)}
.modes button.m-lotto.on{background:rgba(255,194,61,.1);border-color:#ffc23d}
.modes button.m-lotto.on b{color:#ffc23d}
.sport-row{display:flex;gap:6px;overflow-x:auto;margin:0 -16px 6px;padding:2px 16px 8px;scrollbar-width:none}
.sport-row::-webkit-scrollbar{display:none}
.sport-row button{flex:none;width:62px;padding:9px 0 7px;border-radius:14px;background:var(--card);border:1px solid var(--line);display:flex;flex-direction:column;align-items:center;gap:4px;color:var(--tx2);transition:.15s}
.sport-row button .ic{width:22px;height:22px}
.sport-row button span{font-size:10.5px;font-weight:700;letter-spacing:.02em}
.sport-row button.on{background:var(--tx);color:var(--bg);border-color:var(--tx)}
.is-lotto .roll-badge{background:linear-gradient(135deg,#ffd76a,#ff9f3d);color:#1a1205}
.roll-card{transition:border-color .2s}
.roll-card.spinning{filter:blur(.6px);opacity:.85;border-color:var(--line2)}
.roll-card.spinning .pname,.roll-card.spinning .pct{animation:jit .07s steps(2) infinite}
@keyframes jit{50%{transform:translateY(-2px)}}
.roll-card.land{animation:land .5s cubic-bezier(.2,1.4,.4,1) both;border-color:rgba(47,216,137,.55);box-shadow:0 0 0 1px rgba(47,216,137,.15),0 10px 30px rgba(47,216,137,.08)}
.is-lotto .roll-card.land{border-color:rgba(255,194,61,.6);box-shadow:0 10px 30px rgba(255,194,61,.1)}
.is-lotto .roll-card .pct{color:#ffc76a}
@keyframes land{0%{transform:scale(1.06);filter:brightness(1.6)}60%{transform:scale(.985)}100%{transform:none}}
.roll-sum{position:relative;overflow:visible}
.hidden-sum{opacity:0;transform:translateY(10px)}
.pop-in{animation:popin .45s cubic-bezier(.2,1.3,.4,1) both}
@keyframes popin{from{opacity:0;transform:translateY(14px) scale(.97)}}
.payk{display:flex;flex-direction:column;align-items:flex-start}
.payk .q{display:flex;gap:6px;margin-top:8px}
.payk .q button,.stake .q button{padding:7px 10px;border-radius:9px;background:var(--card2);font-weight:700;font-size:12px;color:var(--tx2);border:1px solid transparent}
.payk .q button.on,.stake .q button.on{border-color:var(--acc);color:var(--acc)}
.stake-in{display:flex;align-items:center;gap:4px;margin-top:4px;font-family:var(--fd);font-weight:800;font-size:24px}
.stake-in input{background:none;border:0;outline:0;font:inherit;width:120px;color:var(--tx)}
.pay{font-size:38px!important;color:var(--acc)}
.is-lotto .pay{background:linear-gradient(90deg,#ffd76a,#ff9f3d);-webkit-background-clip:text;background-clip:text;color:transparent}
.big-roll{width:100%;height:58px;font-size:18px;border-radius:18px;box-shadow:0 10px 30px rgba(47,216,137,.25)}
.is-lotto .big-roll{background:linear-gradient(135deg,#ffd76a,#ff9f3d);border-color:#ffb547;color:#1a1205;box-shadow:0 10px 30px rgba(255,170,60,.3)}
.big-roll .dice{width:22px;height:22px}
.roll-cta{grid-template-columns:1fr}
.cta.three{grid-template-columns:1fr 1fr 1fr}
.cta.three .btn{font-size:14px;height:46px}
.btn .ic{width:17px;height:17px}
.confetti{position:absolute;inset:0;pointer-events:none;overflow:visible}
.confetti i{position:absolute;top:30%;width:8px;height:12px;border-radius:2px;animation:conf 1.3s cubic-bezier(.15,.7,.3,1) forwards}
@keyframes conf{0%{transform:translate(0,0) rotate(0);opacity:1}100%{transform:translate(var(--dx),calc(var(--dy) + 420px)) rotate(var(--r));opacity:0}}

/* slips */
.leg{grid-template-columns:44px 1fr auto}
.leg .hs{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;color:var(--tx2)}
.leg-r{display:flex;align-items:center;gap:6px}
.lg-st{min-width:34px;height:34px;border-radius:10px;display:grid;place-items:center;font-weight:800;font-size:12px}
.lg-st .ic{width:18px;height:18px}
.lg-st.hit{background:var(--up);color:#062016;animation:land .5s both}
.lg-st.miss{background:rgba(255,90,106,.15);color:var(--down)}
.lg-st.void{background:var(--card2);color:var(--tx3);font-size:10px}
.lg-st.live{background:rgba(255,90,106,.12);color:var(--down);font-family:var(--fm)}
.lg-st.pend{background:var(--bg2);border:1px dashed var(--line2)}
.prog{height:4px;border-radius:3px;background:var(--line);margin:6px 0 3px;overflow:hidden}
.prog i{display:block;height:100%;background:var(--warn);border-radius:3px;transition:width .6s}
.prog.hit i{background:var(--up)}.prog.miss i{background:var(--down)}
.saved{padding:12px}
.saved.won{border-color:rgba(59,229,154,.5);background:linear-gradient(180deg,rgba(59,229,154,.07),var(--card) 50%)}
.saved.lost{opacity:.75}
.sv-h{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;margin-bottom:8px}
.sv-h .t{font-weight:800;font-family:var(--fd);font-size:16px;letter-spacing:-.02em}
.sv-badge{font-size:11px;font-weight:800;letter-spacing:.06em;padding:5px 9px;border-radius:8px;background:var(--bg2);color:var(--tx2);white-space:nowrap}
.sv-badge.won{background:var(--up);color:#062016}.sv-badge.lost{background:rgba(255,90,106,.15);color:var(--down)}.sv-badge.live{background:rgba(255,90,106,.12);color:var(--down)}
.sv-leg{display:flex;align-items:center;gap:10px;padding:8px 0;border-top:1px solid var(--line)}
.sv-leg .lg-st{min-width:28px;height:28px}
.sv-l{font-weight:600;font-size:13.5px}
.sv-a{display:flex;justify-content:space-between;align-items:center;padding-top:10px;border-top:1px solid var(--line);color:var(--tx2);font-size:13px}
.mini{height:32px;min-width:32px;padding:0 10px;border-radius:9px;background:var(--card2);margin-left:6px;font-weight:700;font-size:12px;display:inline-grid;place-items:center}
.mini .ic{width:15px;height:15px}
.stake .cur{font-family:var(--fd);font-weight:800;font-size:26px;color:var(--tx3)}
.shtitle{font-family:var(--fd);margin:4px 0 12px;display:flex;align-items:center;gap:8px;letter-spacing:-.03em}
.share-prev{width:100%;border-radius:16px;border:1px solid var(--line);display:block}

/* splash */
#splash{position:fixed;inset:0;z-index:100;background:radial-gradient(120% 80% at 50% 30%,#0f2a1d 0%,var(--bg) 60%);display:grid;place-items:center;transition:opacity .5s,transform .5s}
#splash.out{opacity:0;transform:scale(1.04);pointer-events:none}
.sp-in{display:flex;flex-direction:column;align-items:center}
.sp-logo{width:92px;height:92px;animation:splogo .9s cubic-bezier(.2,1.4,.4,1) both;filter:drop-shadow(0 0 40px rgba(47,216,137,.45))}
@keyframes splogo{0%{transform:scale(.3) rotate(-25deg);opacity:0}100%{transform:none;opacity:1}}
.sp-word{font-family:var(--fd);font-weight:800;font-size:44px;letter-spacing:-.05em;margin-top:16px;animation:spw .7s .35s cubic-bezier(.2,.9,.3,1) both}
@keyframes spw{from{opacity:0;transform:translateY(14px);letter-spacing:.1em}}
.sp-line{width:160px;height:3px;background:var(--line);border-radius:3px;margin:16px 0 12px;overflow:hidden;animation:fi .3s .6s both}
.sp-line i{display:block;height:100%;width:40%;background:var(--acc);border-radius:3px;animation:spl 1s .6s ease-in-out infinite}
@keyframes spl{0%{transform:translateX(-100%)}100%{transform:translateX(260%)}}
.sp-tag{color:var(--tx3);font-size:13px;font-weight:600;letter-spacing:.04em;animation:fi .5s .8s both}

/* landing */
#landing{position:fixed;inset:0;z-index:90;background:var(--bg);overflow-y:auto;transition:opacity .4s,transform .4s}
#landing.out{opacity:0;transform:translateY(20px)}
#landing::before{content:'';position:fixed;inset:-20% -20% auto auto;width:520px;height:520px;background:radial-gradient(circle,rgba(47,216,137,.16),transparent 65%);pointer-events:none}
.ld{max-width:520px;margin:0 auto;padding:calc(28px + var(--safe-t)) 22px calc(30px + var(--safe-b));position:relative}
.ld-top{display:flex;align-items:center;gap:10px;font-family:var(--fd);font-weight:800;font-size:22px;letter-spacing:-.04em;animation:fi .5s both}
.ld-logo{width:34px;height:34px}
.ld-h{font-family:var(--fd);font-weight:800;font-size:56px;line-height:.98;letter-spacing:-.055em;margin:44px 0 16px;animation:fi .6s .1s both}
.ld-h em{font-style:normal;color:var(--acc)}
.ld-p{color:var(--tx2);font-size:16.5px;line-height:1.55;margin:0 0 22px;animation:fi .6s .2s both}
.ld-sports{display:flex;gap:10px;margin-bottom:26px;animation:fi .6s .3s both}
.ld-sports span{width:46px;height:46px;border-radius:14px;background:var(--card);border:1px solid var(--line);display:grid;place-items:center;color:var(--tx2)}
.ld-sports .ic{width:22px;height:22px}
.ld-cards{display:grid;gap:10px;margin-bottom:26px}
.ld-c{background:var(--card);border:1px solid var(--line);border-radius:16px;padding:14px 16px;animation:fi .5s calc(.35s + var(--d)) both}
.ld-c b{display:block;font-size:15.5px;margin-bottom:2px}
.ld-c span{color:var(--tx3);font-size:13.5px}
.ld-go{height:56px;font-size:17px;border-radius:18px;animation:fi .5s .7s both}
.ld-foot{text-align:center;color:var(--tx3);font-size:11.5px;margin-top:14px}
a.btn{text-decoration:none;color:inherit}
a.btn.pri{color:var(--acc-ink)}
.roll-ctl.compact{gap:8px}
.roll-ctl.compact>span{flex:1}
.roll-ctl.compact .chip{padding:8px 10px;border-radius:12px}
.sport-row button{width:58px;padding:7px 0 6px}
.sport-row button .ic{width:20px;height:20px}

/* roller v4 */
.rl-lab{font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3);margin:4px 0 6px}
.targets{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:12px}
.targets button{padding:9px 0 7px;border-radius:13px;background:var(--card);border:1px solid var(--line);text-align:center;transition:.15s}
.targets b{display:block;font-family:var(--fd);font-weight:800;font-size:16px;letter-spacing:-.03em}
.targets span{font-size:9.5px;color:var(--tx3);font-weight:700;text-transform:uppercase;letter-spacing:.05em}
.targets button.on{background:rgba(47,216,137,.1);border-color:var(--acc)}.targets button.on b{color:var(--acc)}
.targets button.gold.on{background:rgba(255,194,61,.1);border-color:#ffc23d}.targets button.gold.on b{color:#ffc23d}
.styles{display:flex;gap:6px;overflow-x:auto;margin:0 -16px 10px;padding:0 16px;scrollbar-width:none}
.styles::-webkit-scrollbar{display:none}
.styles button{flex:none;padding:8px 13px;border-radius:11px;background:var(--card);border:1px solid var(--line);font-weight:700;font-size:13px;color:var(--tx2)}
.styles button.on{background:var(--tx);color:var(--bg);border-color:var(--tx)}
.note.stack{border-color:rgba(90,176,255,.35);background:rgba(90,176,255,.06)}
.card.arb{border-color:rgba(59,229,154,.35)}
/* header research */
.hdr-r{display:flex;gap:8px;align-items:center}
.rs-btn{height:38px;padding:0 13px;border-radius:12px;background:var(--card);border:1px solid var(--line);font-weight:700;font-size:13px;color:var(--tx2)}
/* research */
.rs-hero{background:radial-gradient(120% 90% at 100% 0%,rgba(47,216,137,.12),transparent 60%),var(--card);border:1px solid var(--line);border-radius:22px;padding:20px 18px;margin:4px 0 14px}
.rs-kicker{font-size:11px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--acc)}
.rs-hero h1{font-family:var(--fd);font-size:32px;line-height:1.02;letter-spacing:-.045em;margin:8px 0 10px}
.rs-hero p{color:var(--tx2);margin:0 0 14px;font-size:15px;line-height:1.55}
.rs-tiles{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:6px 0 10px}
.rs-tile{background:var(--bg2);border:1px solid var(--line);border-radius:14px;padding:12px}
.rs-tile b{display:block;font-family:var(--fd);font-size:24px;font-weight:800;letter-spacing:-.04em}
.rs-tile span{font-size:12px;color:var(--tx2);font-weight:600}
.rs-tile em{display:block;font-style:normal;font-size:11px;color:var(--tx3);margin-top:2px}
.rs-sec{background:var(--card);border:1px solid var(--line);border-radius:18px;margin-bottom:10px;overflow:hidden}
.rs-h{width:100%;display:flex;justify-content:space-between;align-items:center;padding:15px 16px;text-align:left}
.rs-h h3{margin:0;font-family:var(--fd);font-size:18px;letter-spacing:-.03em}
.rs-h span{font-size:12.5px;color:var(--tx3)}
.rs-chev{font-style:normal;font-size:24px;color:var(--tx3);transition:transform .2s}
.rs-sec.open .rs-chev{transform:rotate(90deg)}
.rs-b{display:none;padding:0 16px 16px;font-size:14.5px;line-height:1.55;color:#d7dce2}
.rs-sec.open .rs-b{display:block;animation:fi .3s}
.rs-b p{margin:0 0 10px}
.rs-verdict{border-left:3px solid var(--line2);padding:8px 12px;margin-bottom:10px;background:var(--bg2);border-radius:0 12px 12px 0}
.rs-verdict.good{border-color:var(--acc)}
.rs-comp{border-top:1px solid var(--line);padding:12px 0}
.rs-ch{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}
.rs-ch b{font-size:16px}
.rs-threat{font-size:10.5px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:4px 8px;border-radius:7px}
.rs-threat.t3{background:rgba(255,90,106,.13);color:var(--down)}.rs-threat.t2{background:rgba(255,181,71,.13);color:var(--warn)}.rs-threat.t1{background:var(--bg2);color:var(--tx3)}
.rs-comp p{margin:0 0 6px;color:var(--tx2);font-size:13.5px}
.rs-comp dl{display:grid;grid-template-columns:auto 1fr;gap:3px 10px;margin:0;font-size:13px}
.rs-comp dt{color:var(--tx3);font-weight:700}.rs-comp dd{margin:0}
.rs-mx{overflow-x:auto;margin:0 -16px;padding:0 16px}
.rs-mx table{border-collapse:collapse;font-size:12.5px;min-width:520px}
.rs-mx th{font-size:10.5px;color:var(--tx3);font-weight:800;padding:6px 5px;text-align:center}
.rs-mx td{padding:8px 5px;border-top:1px solid var(--line);text-align:center}
.rs-mx td:first-child{text-align:left;color:var(--tx2)}
.rs-mx .me{background:rgba(47,216,137,.06);color:var(--acc)}
.rs-mx i{font-style:normal}.rs-mx .y{color:var(--up)}.rs-mx .n{color:var(--tx3)}.rs-mx .h{color:var(--warn)}
.rs-model{display:flex;flex-direction:column;gap:2px;padding:10px 0;border-top:1px solid var(--line)}
.rs-model span{color:var(--tx2);font-size:13.5px}
.rs-note{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:10px 12px;margin-top:10px;font-size:13.5px;color:var(--tx2)}
.rs-list,.rs-road{margin:0;padding-left:18px}.rs-list li,.rs-road li{margin-bottom:9px}
.rs-miss{display:flex;gap:10px;padding:10px 0;border-top:1px solid var(--line)}
.rs-miss p{margin:2px 0 0;color:var(--tx2);font-size:13.5px}
.pri{flex:none;height:22px;padding:0 7px;border-radius:6px;font-size:11px;font-weight:800;display:inline-grid;place-items:center}
.pri.P0{background:rgba(255,90,106,.15);color:var(--down)}.pri.P1{background:rgba(255,181,71,.15);color:var(--warn)}.pri.P2{background:var(--bg2);color:var(--tx3)}
.rs-src{padding-left:18px;font-size:13px}.rs-src li{margin-bottom:6px}.rs-src a{color:var(--blue)}

/* ===== v5 ===== */
.hs.has .init{display:none}
.hs img{position:relative;z-index:1}
/* heat meter */
.heat{display:inline-flex;align-items:center;gap:4px;height:22px;padding:0 7px 0 5px;border-radius:7px;background:color-mix(in srgb,var(--hc) 12%,transparent);border:1px solid color-mix(in srgb,var(--hc) 38%,transparent);color:var(--hc);font-size:10.5px;font-weight:800}
.heat svg{width:13px;height:13px;flex:none}
.heat .flame{fill:var(--hc)}
.heat .flake{fill:none;stroke:var(--hc);stroke-width:2;stroke-linecap:round}
.heat.lv0{opacity:.75}
.heat.lv4 svg,.heat.lv5 svg{filter:drop-shadow(0 0 4px var(--hc));animation:flick 1.2s ease-in-out infinite}
.heat.lv5{box-shadow:0 0 12px color-mix(in srgb,var(--hc) 35%,transparent)}
@keyframes flick{0%,100%{transform:scale(1) rotate(-2deg)}50%{transform:scale(1.12) rotate(3deg)}}
.hseg{display:inline-flex;gap:2px}
.hseg i{width:4px;height:10px;border-radius:2px;background:rgba(255,255,255,.12)}
.heat b{font-weight:800;opacity:.8}
.heat em{font-style:normal;background:var(--hc);color:#1a0d05;border-radius:5px;padding:0 4px;font-size:10px;line-height:15px}
/* tab dot + watch */
.live-tab-dot{position:absolute;top:4px;left:calc(50% + 9px);width:8px;height:8px;border-radius:50%;background:var(--down);animation:pulse 1.6s infinite}
.ghead{gap:8px}
.watch-btn{height:28px;padding:0 10px;border-radius:9px;background:var(--card2);border:1px solid var(--line2);font-size:12px;font-weight:800;color:var(--tx2);display:inline-flex;align-items:center;gap:6px}
.watch-btn.live{background:rgba(255,90,106,.12);border-color:rgba(255,90,106,.45);color:#ff7a88}
.watch-btn.live i{width:7px;height:7px;border-radius:50%;background:var(--down);animation:pulse 1.6s infinite}
.mini.star{color:#ffc23d}
.watch-cta{margin-top:12px;background:rgba(255,194,61,.08);border-color:rgba(255,194,61,.4);color:#ffc23d}
.roll-ready{display:flex;flex-direction:column;align-items:center;gap:4px;padding:26px 10px;color:var(--tx3);border:1px dashed var(--line2);border-radius:18px;margin:6px 0}
.roll-ready .dice{width:34px;height:34px;color:var(--acc);margin-bottom:4px;animation:flick 2.4s ease-in-out infinite}
.roll-ready b{color:var(--tx);font-size:15px}
/* live view */
.lv{padding-bottom:300px}
.lv-top{display:flex;justify-content:space-between;align-items:center;margin:2px 0 10px}
.lv-back{font-weight:800;color:var(--tx2);padding:6px 0}
.lv-board{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;background:linear-gradient(180deg,var(--card2),var(--card));border:1px solid var(--line);border-radius:20px;padding:14px}
.lv-team{display:flex;flex-direction:column;align-items:center;gap:4px}
.lv-team img{width:44px;height:44px;object-fit:contain}
.lv-team b{font-family:var(--fd);font-size:14px}
.lv-score{display:flex;align-items:center;gap:14px}
.lv-score>b{font-family:var(--fd);font-size:44px;font-weight:800;letter-spacing:-.05em;min-width:58px;text-align:center;font-variant-numeric:tabular-nums}
.lv-score>b.tick{animation:tick .6s cubic-bezier(.2,1.5,.4,1)}
@keyframes tick{0%{transform:scale(1.35);color:var(--acc);text-shadow:0 0 20px var(--acc)}100%{transform:none}}
.lv-st{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px;color:var(--tx2);font-weight:700;text-align:center}
.livepill{background:var(--down);color:#fff;border-radius:6px;padding:2px 7px;font-size:10px;letter-spacing:.06em;animation:pulse 1.6s infinite}
.court-wrap{position:relative;margin-top:10px;border-radius:16px;overflow:hidden;box-shadow:0 18px 40px rgba(0,0,0,.45),inset 0 0 0 1px rgba(255,255,255,.06)}
.court{width:100%;display:block}
.court .ripple{animation:rip 1s ease-out forwards}
.court .ripple.r2{animation-delay:.12s}
@keyframes rip{to{r:7;opacity:0}}
.court .plus{animation:plus 1.2s ease-out forwards}
@keyframes plus{from{opacity:0;transform:translateY(2px)}25%{opacity:1}to{opacity:0;transform:translateY(-6px)}}
.court .missx{animation:shake .4s}
@keyframes shake{25%{transform:translateX(-.8px)}75%{transform:translateX(.8px)}}
.court .arc{animation:fadeArc 1.4s forwards}
@keyframes fadeArc{to{opacity:0}}
.pbanner{position:absolute;left:10px;right:10px;bottom:10px;background:rgba(10,11,13,.82);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.1);border-radius:12px;padding:8px 10px;font-size:12.5px;font-weight:600;opacity:0;transform:translateY(8px);transition:.3s;display:flex;gap:8px;align-items:center}
.pbanner.show{opacity:1;transform:none}
.pb-t{flex:none;color:#fff;border-radius:6px;padding:2px 6px;font-size:10.5px;font-weight:800}
.feed{display:flex;flex-direction:column;gap:6px}
.fp{display:grid;grid-template-columns:4px 1fr auto;gap:10px;align-items:center;background:var(--card);border:1px solid var(--line);border-radius:12px;padding:9px 10px 9px 0;overflow:hidden}
.fp>i{height:100%;min-height:30px;border-radius:0 3px 3px 0}
.fp-t{font-size:13.5px;line-height:1.35}
.fp.sc .fp-t{font-weight:700}
.fp-pts{font-family:var(--fd);font-weight:800;color:var(--acc);font-size:15px}
.fp.new{animation:slidein .5s cubic-bezier(.2,1.2,.4,1);border-color:rgba(47,216,137,.5)}
@keyframes slidein{from{opacity:0;transform:translateX(-14px)}}
tr.involved,.trk.involved{animation:inv 1.4s}
@keyframes inv{0%{background:rgba(47,216,137,.25)}100%{background:transparent}}
/* tracker */
.trk-dock{position:fixed;left:0;right:0;bottom:calc(68px + var(--safe-b));max-width:560px;margin:0 auto;z-index:25;max-height:42vh;overflow-y:auto;background:rgba(16,18,21,.94);backdrop-filter:blur(16px) saturate(1.3);-webkit-backdrop-filter:blur(16px) saturate(1.3);border-top:1px solid var(--line2);border-radius:20px 20px 0 0;padding:10px 14px 12px;box-shadow:0 -20px 40px rgba(0,0,0,.4)}
.trk-dock.hide{display:none}
.trk-tabs{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin-bottom:8px}
.trk-tabs button{flex:none;padding:6px 11px;border-radius:9px;background:var(--card);border:1px solid var(--line);font-size:12px;font-weight:700;color:var(--tx2)}
.trk-tabs button.on{border-color:#ffc23d;color:#ffc23d;background:rgba(255,194,61,.08)}
.trk-head{display:flex;justify-content:space-between;font-size:12px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3);margin-bottom:6px}
.trk-head b{color:var(--acc)}
.trk{display:grid;grid-template-columns:40px 1fr auto;gap:10px;align-items:center;padding:8px 6px;border-radius:12px;transition:background .3s}
.trk .hs{width:40px;height:40px;border-radius:12px;display:grid;place-items:center;color:var(--tx2)}
.trk.here{background:rgba(255,255,255,.025)}
.trk-l{font-weight:700;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.trk-bar{position:relative;height:7px;border-radius:4px;background:var(--line);margin:6px 0 3px;overflow:visible}
.trk-bar i{display:block;height:100%;border-radius:4px;transition:width .9s cubic-bezier(.2,.9,.3,1),background .6s;box-shadow:0 0 10px currentColor}
.trk-bar .tick{position:absolute;top:-3px;width:2px;height:13px;background:#fff;opacity:.5;border-radius:1px;transform:translateX(-1px)}
.trk-v{text-align:right;min-width:52px}
.trk-v b{font-family:var(--fd);font-size:26px;font-weight:800;letter-spacing:-.04em;display:inline-block}
.trk-v span{display:block;font-size:11px;color:var(--tx3);font-weight:700}
.trk-v b.pop{animation:tick .7s cubic-bezier(.2,1.5,.4,1)}
.trk.bump{animation:inv 1.6s}
.trk.hit .trk-v b{text-shadow:0 0 16px rgba(59,229,154,.6)}
.trk-empty{display:flex;flex-direction:column;gap:3px;padding:6px 2px;color:var(--tx3);font-size:13px}
.trk-empty b{color:var(--tx)}
.trk-wrap{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:12px}
.trk-dock{max-height:34vh}
.trk-dock .trk-head{cursor:pointer}
.dock-chev{font-style:normal;margin-left:4px;color:var(--tx2)}
.trk-mini{display:none;gap:6px;flex-wrap:wrap}
.trk-dock.min{max-height:none}
.trk-dock.min .trk,.trk-dock.min .trk-tabs{display:none}
.trk-dock.min .trk-mini{display:flex}
.tm{font-size:12px;font-weight:700;color:var(--tx2);background:var(--card);border:1px solid var(--line);border-radius:8px;padding:4px 8px}
.tm b{color:var(--tx)}.tm.hit{border-color:var(--up)}.tm.hit b{color:var(--up)}.tm.miss b{color:var(--down)}
.trk-wrap .trk-mini{display:none}

/* ===== v6 ===== */
.tabbar svg{stroke-width:1.6}
.tabbar button.on svg{fill:rgba(47,216,137,.14)}
.spots{display:flex;gap:10px;overflow-x:auto;margin:0 -16px 6px;padding:0 16px 6px;scrollbar-width:none}
.spots::-webkit-scrollbar{display:none}
.spot{flex:none;width:228px;background:var(--card);border:1px solid var(--line);border-radius:16px;padding:12px;display:flex;flex-direction:column;gap:4px;cursor:pointer;transition:transform .12s}
.spot:active{transform:scale(.97)}
.spot.hot{width:260px;background:radial-gradient(120% 100% at 100% 0%,rgba(255,94,58,.18),transparent 60%),var(--card);border-color:rgba(255,140,66,.45)}
.spot .btn{height:38px;margin-top:6px;font-size:13px}
.sp-k{font-size:10.5px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--acc)}
.spot.hot .sp-k{color:#ff8c42}
.spot b{font-family:var(--fd);font-size:17px;letter-spacing:-.02em}
.spot span{font-size:12.5px;color:var(--tx2)}
.sp-n{display:flex;gap:8px;align-items:baseline;margin-top:4px;font-size:12px}
.sp-n em{font-style:normal;font-family:var(--fd);font-weight:800;font-size:20px}
.prop{position:relative}
.qadd{position:absolute;top:10px;right:10px;width:26px;height:26px;border-radius:8px;background:var(--card2);border:1px solid var(--line2);font-size:17px;font-weight:600;color:var(--tx2);display:grid;place-items:center;z-index:2;line-height:1}
.qadd.on{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
.prop .big{padding-top:24px}
.card.game{cursor:pointer}
.roll-card{grid-template-columns:1fr;padding:0;display:block}
.rc-in{display:grid;grid-template-columns:48px 1fr auto;gap:12px;align-items:center;padding:14px 14px 10px}
.rc-ctl{display:flex;border-top:1px solid var(--line)}
.rc-ctl button{flex:1;height:36px;font-size:14px;color:var(--tx2);font-weight:700}
.rc-ctl button+button{border-left:1px solid var(--line)}
.rc-ctl button.on{color:#ffc23d;background:rgba(255,194,61,.08)}
.roll-card.held{border-color:rgba(255,194,61,.6);box-shadow:0 0 0 1px rgba(255,194,61,.2)}
.hs.team{display:grid;place-items:center;background:var(--card2)}
.hs.team img{width:34px;height:34px;object-fit:contain}
.save-big{width:100%;height:56px;margin-top:10px;border-radius:18px;font-size:17px;letter-spacing:.04em;background:linear-gradient(135deg,#3be59a,#2fd889);color:#062016;border:0;box-shadow:0 10px 30px rgba(59,229,154,.3)}
.save-big .ic{width:19px;height:19px}
.dk-btn{background:#1b2a1a;border-color:#2f5a2a;color:#9bf27a}
/* saved compact */
.sv-row{display:flex;align-items:center;gap:12px;width:100%}
.sv-rw{position:relative;width:46px;height:46px;flex:none;display:grid;place-items:center}
.sv-rw b{position:absolute;font-family:var(--fd);font-size:12px;font-weight:800}
.sv-ring{width:46px;height:46px;transform:rotate(-90deg)}
.sv-ring circle{fill:none;stroke-width:3.5}
.sv-ring .bg{stroke:var(--line)}
.sv-ring .fg{stroke:var(--warn);stroke-linecap:round;transition:stroke-dasharray .8s}
.sv-ring .fg.won{stroke:var(--up)}.sv-ring .fg.lost{stroke:var(--down)}.sv-ring .fg.live{stroke:#ff8c42}
.sv-dots{display:flex;gap:4px;margin-top:6px}
.sv-dots i{width:16px;height:5px;border-radius:3px;background:var(--line2)}
.sv-dots i.hit{background:var(--up)}.sv-dots i.miss{background:var(--down)}.sv-dots i.live{background:#ff8c42;animation:pulse 1.6s infinite}.sv-dots i.void{background:var(--tx3)}
.sv-body{margin-top:10px;animation:fi .3s}
.sv-btns{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}
.sv-btns .mini{margin:0;height:34px;padding:0 12px}
.sv-badge.pending{background:var(--bg2)}
/* live extras */
.lv-tv{font-size:12px;color:var(--tx2);margin-top:8px;text-align:center}
.dock-x{position:absolute;top:8px;right:10px;width:26px;height:26px;border-radius:8px;background:var(--card);color:var(--tx3);font-size:12px;z-index:2}
.trk-dock .trk-head{padding-right:34px}
.dock-open{position:fixed;right:16px;bottom:calc(86px + var(--safe-b));z-index:25;height:42px;padding:0 16px;border-radius:14px;background:#ffc23d;color:#1a1205;font-weight:800;box-shadow:0 10px 30px rgba(0,0,0,.4)}
.box-card{padding:4px 0}
.box-scroll{overflow-x:auto}
table.box th,table.box td{white-space:nowrap;padding:8px 7px}
table.box td:first-child{position:sticky;left:0;background:var(--card);z-index:1;max-width:120px;overflow:hidden;text-overflow:ellipsis}
tr.tracked td{background:rgba(255,194,61,.09)!important;color:#ffd77a}
.tstar{color:#ffc23d;margin-right:4px}
.mini-logo{width:18px;height:18px;object-fit:contain;vertical-align:-4px;margin-right:6px}
.sim-card{padding:14px}
.sim-row{display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center}
.sim-row>div:first-child,.sim-row>div:last-child{display:flex;flex-direction:column;align-items:center}
.sim-row .num{font-family:var(--fd);font-size:22px;font-weight:800}
.sim-bar{display:flex;height:10px;border-radius:6px;overflow:hidden;background:var(--line)}
.sim-bar i{display:block;height:100%}
.sim-picks{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:12px}
.sp2{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:9px;text-align:left;display:flex;flex-direction:column;gap:2px}
.sp2 b{font-size:13.5px}.sp2 span{font-size:12px;color:var(--tx2)}.sp2 em{font-style:normal;font-size:11px;font-weight:800;color:var(--up)}
.sp2.good{border-color:rgba(59,229,154,.45)}
/* celebration */
.cele{position:fixed;inset:0;z-index:120;display:grid;place-items:center;background:radial-gradient(circle at 50% 45%,rgba(59,229,154,.28),rgba(5,8,6,.86) 60%);backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);animation:fade .25s}
.cele.cash{background:radial-gradient(circle at 50% 45%,rgba(255,194,61,.35),rgba(10,7,2,.88) 60%)}
.cele.out{opacity:0;transition:opacity .35s}
.ce-burst{position:absolute;left:50%;top:45%;width:0;height:0}
.ce-burst i{position:absolute;width:9px;height:14px;border-radius:2px;animation:burst 1.4s cubic-bezier(.1,.7,.3,1) forwards}
@keyframes burst{0%{transform:translate(0,0) scale(.4);opacity:1}100%{transform:translate(var(--dx),calc(var(--dy) + 120px)) rotate(var(--r)) scale(1);opacity:0}}
.ce-card{display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 24px;animation:cepop .6s cubic-bezier(.2,1.6,.4,1)}
@keyframes cepop{0%{transform:scale(.4);opacity:0}100%{transform:none;opacity:1}}
.ce-face{position:relative;width:132px;height:132px;border-radius:50%;background:rgba(255,255,255,.06);border:3px solid var(--up);box-shadow:0 0 0 8px rgba(59,229,154,.15),0 0 60px rgba(59,229,154,.55);display:grid;place-items:center;overflow:visible}
.cele.cash .ce-face{border-color:#ffc23d;box-shadow:0 0 0 8px rgba(255,194,61,.15),0 0 70px rgba(255,194,61,.6)}
.ce-face .hs{width:120px;height:120px;border-radius:50%;background:transparent;border:0}
.ce-check{position:absolute;right:-4px;bottom:-4px;width:46px;height:46px;border-radius:50%;background:var(--up);display:grid;place-items:center;animation:cepop .5s .25s both cubic-bezier(.2,1.8,.4,1);box-shadow:0 6px 20px rgba(0,0,0,.4)}
.cele.cash .ce-check{background:#ffc23d}
.ce-check svg{width:28px;height:28px;fill:none;stroke:#062016;stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ce-check.big{position:static;width:96px;height:96px}.ce-check.big svg{width:56px;height:56px}
.ce-title{font-family:var(--fd);font-weight:800;font-size:46px;letter-spacing:-.04em;margin-top:22px;background:linear-gradient(180deg,#fff,#b9ffd9);-webkit-background-clip:text;background-clip:text;color:transparent;animation:cetitle .7s .1s both cubic-bezier(.2,1.5,.4,1)}
.cele.cash .ce-title{background:linear-gradient(180deg,#fff7d6,#ffc23d);-webkit-background-clip:text;background-clip:text}
@keyframes cetitle{0%{transform:scale(1.8);opacity:0;letter-spacing:.2em}100%{transform:none;opacity:1}}
.ce-sub{font-size:16px;font-weight:700;color:#e3f7ea;margin-top:6px}
.ce-stat{margin-top:14px;display:flex;flex-direction:column;align-items:center}
.ce-stat b{font-family:var(--fd);font-size:40px;font-weight:800;color:var(--up)}
.cele.cash .ce-stat b{color:#ffc23d}
.ce-stat span{font-size:12px;color:var(--tx2);font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.alts{border-top:1px solid var(--line);max-height:300px;overflow-y:auto;padding:6px}
.alt{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;width:100%;text-align:left;padding:9px 10px;border-radius:10px;gap:0 10px}
.alt:hover,.alt:active{background:var(--card2)}
.alt b{font-size:13.5px}.alt span{grid-row:2;font-size:12px;color:var(--tx3)}
.alt em{grid-row:1/3;grid-column:2;align-self:center;font-style:normal;font-family:var(--fd);font-weight:800;font-size:17px}

.days{position:sticky;top:calc(108px + var(--safe-t));z-index:18;display:flex;gap:6px;overflow-x:auto;padding:0 16px 10px;background:var(--bg);scrollbar-width:none}
.days::-webkit-scrollbar{display:none}
.days[hidden]{display:none}
.dy{flex:0 0 auto;display:flex;flex-direction:column;align-items:center;gap:1px;padding:6px 12px;border-radius:12px;background:rgba(255,255,255,.04);border:1px solid rgba(255,255,255,.07);color:var(--mut,#9aa3ad);font:inherit;cursor:pointer;transition:all .15s}
.dy b{font-size:12px;font-weight:700;color:inherit}
.dy small{font-size:10px;opacity:.7}
.dy.on{background:var(--lime,#2fd889);border-color:transparent;color:#0b0d10}
.dy.on small{opacity:.8}
.rdays{display:flex;gap:6px;overflow-x:auto;margin:12px -4px 2px;padding:0 4px;scrollbar-width:none}.rdays::-webkit-scrollbar{display:none}

.rs-comp.has-shot{display:grid;grid-template-columns:96px 1fr;column-gap:14px}
.rs-comp.has-shot>*:not(.rs-shot){grid-column:2}
.rs-shot{grid-row:1/span 4;margin:0}
.rs-shot img{width:96px;border-radius:12px;border:1px solid rgba(255,255,255,.1);display:block;background:#111}
.rs-shot figcaption{font-size:9px;opacity:.55;margin-top:4px;text-align:center}
.rs-comp.has-shot dl{grid-column:1/-1}
.rs-h4{font-size:13px;margin:14px 0 6px;opacity:.85;text-transform:uppercase;letter-spacing:.06em}
.rs-gate{max-width:340px;margin:60px auto;text-align:center}
.rs-gate h2{margin:0 0 6px}.rs-gate p{opacity:.65;font-size:13px;margin:0 0 16px}
.rs-gate input{width:100%;box-sizing:border-box;padding:14px;border-radius:12px;border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.05);color:inherit;font:inherit;font-size:16px;margin-bottom:10px}
.rs-gate button{width:100%;padding:14px;border-radius:12px;border:0;background:var(--lime,#2fd889);color:#0b0d10;font-weight:800;font:inherit;font-weight:800;cursor:pointer}
.rs-gate .err{color:#ff5e3a;font-size:12px;min-height:16px}
.rs-shot{grid-row:1/span 2}
.rs-comp.has-shot>dl:not(.x){grid-column:1/-1}

/* ================= v7: Roll home, onboarding, glossy 3D ================= */
.leagues[hidden]{display:none}
.tabbar .fab .fab-in{background:radial-gradient(circle at 35% 28%,#5ee6a4 0%,#2fd889 30%,#22c47a 75%,#1aa866 100%);box-shadow:0 12px 30px rgba(47,216,137,.45),inset 0 -4px 8px rgba(0,0,0,.18),inset 0 3px 6px rgba(255,255,255,.7),0 0 0 5px var(--bg)}
.tabbar .fab.on .fab-in{transform:translateY(-3px) scale(1.06)}
.tabbar .fab.on span:last-child{color:var(--acc)}

/* roll page */
.rp{padding-bottom:150px}
.rp-head{display:flex;align-items:flex-start;justify-content:space-between;margin:6px 0 10px}
.rp-tt h1{font-size:34px;line-height:1;margin:0 0 6px;letter-spacing:-.03em;font-weight:900}
.rp-sum{background:none;border:0;color:var(--mut);font:inherit;font-size:13px;padding:0;cursor:pointer}
.rp-sum i{font-style:normal;color:var(--acc);margin-left:4px}
.rp-targets{display:grid;grid-template-columns:repeat(6,1fr);gap:6px;margin-bottom:8px}
.rp-targets button{border:1px solid var(--line2);background:linear-gradient(180deg,var(--card2),var(--card));border-radius:14px;padding:8px 0 7px;color:var(--tx);font:inherit;display:flex;flex-direction:column;align-items:center;gap:1px;cursor:pointer;transition:transform .12s, box-shadow .2s}
.rp-targets button b{font-size:16px;font-weight:900}.rp-targets button span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--mut)}
.rp-targets button.on{border-color:var(--acc);background:radial-gradient(circle at 50% 0%,rgba(47,216,137,.28),rgba(47,216,137,.05));box-shadow:0 6px 20px rgba(47,216,137,.18),inset 0 1px 0 rgba(255,255,255,.15)}
.rp-targets button.on b{color:var(--acc)}
.rp-targets button.gold.on{border-color:#ffc23d;background:radial-gradient(circle at 50% 0%,rgba(255,194,61,.3),rgba(255,194,61,.05))}.rp-targets button.gold.on b{color:#ffc23d}
.rp-targets button:active{transform:scale(.94)}
.rp-sports{margin-bottom:8px}
.favstar{color:#ffc23d;font-size:15px;line-height:1}
.rp-when{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -16px 8px;padding:0 16px}.rp-when::-webkit-scrollbar{display:none}
.rp-range{display:flex;gap:8px;align-items:flex-end;margin:2px 0 8px}
.rp-range label{flex:1;display:flex;flex-direction:column;gap:4px;font-size:11px;color:var(--mut)}
.rp-range input{background:var(--card);border:1px solid var(--line2);border-radius:10px;color:var(--tx);padding:9px;font:inherit;color-scheme:dark}
.rp-range .btn{padding:10px 14px}
.rp-tune{display:grid;grid-template-rows:0fr;transition:grid-template-rows .3s ease}
.rp-tune.open{grid-template-rows:1fr}
.rp-tune-in{overflow:hidden}
.rp-tune.open .rp-tune-in{padding:4px 0 8px}

/* the orb */
.rp-stage{display:flex;flex-direction:column;align-items:center;padding:22px 0 8px;text-align:center}
.rp-hint{margin-top:18px;font-size:16px;font-weight:700}.rp-hint b{color:var(--acc)}
.rp-stage .pmeta{margin-top:4px}
.orb{position:relative;width:196px;height:196px;border:0;border-radius:50%;background:none;padding:0;cursor:pointer;-webkit-tap-highlight-color:transparent;perspective:600px}
.orb-glow{position:absolute;inset:-30px;border-radius:50%;background:radial-gradient(circle,rgba(47,216,137,.35),rgba(47,216,137,0) 65%);animation:orbGlow 2.6s ease-in-out infinite}
.orb-ring{position:absolute;inset:-10px;border-radius:50%;border:2px solid rgba(47,216,137,.35);animation:orbRing 2.6s ease-out infinite}
.orb-body{position:absolute;inset:0;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle at 34% 26%,#5ee6a4 0%,#3fdc93 18%,#2fd889 48%,#22c47a 78%,#16935a 100%);box-shadow:0 26px 50px rgba(0,0,0,.55),0 10px 40px rgba(47,216,137,.35),inset 0 -14px 28px rgba(40,60,0,.45),inset 0 8px 18px rgba(255,255,255,.65);transition:transform .18s cubic-bezier(.3,1.6,.5,1)}
.orb-shine{position:absolute;left:22%;top:9%;width:46%;height:26%;border-radius:50%;background:linear-gradient(180deg,rgba(255,255,255,.85),rgba(255,255,255,0));filter:blur(1px);pointer-events:none}
.orb:active .orb-body,.orb.go .orb-body{transform:scale(.9)}
.orb.go .die3d{animation:dieSpin .5s linear infinite}
.orb.loading .orb-body{filter:saturate(.5) brightness(.85)}.orb.loading .die3d{animation:dieIdle 1.4s linear infinite}
.die3d{position:relative;width:70px;height:70px;transform-style:preserve-3d;animation:dieIdle 9s linear infinite}
.die3d i{position:absolute;inset:0;border-radius:16px;display:grid;place-items:center;background:linear-gradient(145deg,#1d2126,#0a0b0d);box-shadow:inset 0 2px 3px rgba(255,255,255,.18),inset 0 -3px 6px rgba(0,0,0,.6);backface-visibility:hidden}
.die3d i .dice{width:46px;height:46px;stroke:none}.die3d i .dice rect{display:none}.die3d i .dice circle{fill:var(--acc);filter:drop-shadow(0 0 3px rgba(47,216,137,.7))}
.die3d .f1{transform:translateZ(35px)}.die3d .f2{transform:rotateY(90deg) translateZ(35px)}.die3d .f3{transform:rotateY(180deg) translateZ(35px)}.die3d .f4{transform:rotateY(-90deg) translateZ(35px)}.die3d .f5{transform:rotateX(90deg) translateZ(35px)}.die3d .f6{transform:rotateX(-90deg) translateZ(35px)}
@keyframes dieIdle{from{transform:rotateX(-20deg) rotateY(0)}to{transform:rotateX(-20deg) rotateY(360deg)}}
@keyframes dieSpin{from{transform:rotateX(0) rotateY(0) rotateZ(0)}to{transform:rotateX(360deg) rotateY(720deg) rotateZ(180deg)}}
@keyframes orbGlow{0%,100%{opacity:.6;transform:scale(.96)}50%{opacity:1;transform:scale(1.04)}}
@keyframes orbRing{0%{opacity:.8;transform:scale(.95)}100%{opacity:0;transform:scale(1.25)}}

/* legs, summary, actions */
.rp-legs{perspective:900px}
.rp .roll-card{padding:10px 12px 0;margin-bottom:8px;border-radius:18px;background:linear-gradient(180deg,rgba(255,255,255,.045),rgba(255,255,255,.015)),var(--card);box-shadow:0 10px 24px rgba(0,0,0,.35),inset 0 1px 0 rgba(255,255,255,.06)}
.rp .roll-card .rc-in{display:grid;grid-template-columns:44px 1fr auto;gap:10px;align-items:center}
.rp .roll-card .hs{width:44px;height:44px}
.rp .roll-card .pname{font-size:15px}
.rp .roll-card .pct{font-size:24px}
.rp .roll-card .rc-ctl{margin:8px -12px 0}
.rp .roll-card.land{animation:flip3d .6s cubic-bezier(.2,1.3,.4,1)}
.rp .roll-card.spinning .rc-in{filter:blur(.6px);opacity:.85}
@keyframes flip3d{0%{transform:rotateX(-85deg) translateY(-10px);opacity:.3}60%{transform:rotateX(12deg)}100%{transform:none;opacity:1}}
.rp-sumbar{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:8px;margin:10px 0}
.rp-sumbar>div{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:9px 10px;display:flex;flex-direction:column;gap:2px;min-width:0}
.rp-sumbar span{font-size:10px;text-transform:uppercase;letter-spacing:.07em;color:var(--mut)}
.rp-sumbar b{font-size:18px;font-weight:900}
.rp-stake{background:radial-gradient(circle at 80% 0%,rgba(59,229,154,.16),transparent 60%),var(--card)!important}
.rp-stake input{width:46px;background:transparent;border:0;border-bottom:1px dashed var(--line2);color:var(--tx);font:inherit;font-size:11px;padding:0}
.rp-stake .pay{color:var(--up)}
.rp-actions{display:grid;grid-template-columns:1.2fr 1fr;gap:8px}
.rp-actions .save-big{margin:0}
.bet-btn{--bk:#53d337;background:linear-gradient(180deg,color-mix(in srgb,var(--bk) 30%,#15181c),color-mix(in srgb,var(--bk) 14%,#101215));border:1px solid color-mix(in srgb,var(--bk) 60%,transparent)!important;color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;gap:8px}
.bk-dot{width:9px;height:9px;border-radius:50%;background:var(--bk);box-shadow:0 0 10px var(--bk)}
.rp-mini{display:flex;gap:6px;justify-content:center;margin:10px 0}
.rp-mini button{background:none;border:1px solid var(--line);border-radius:999px;padding:7px 12px;color:var(--mut);font:inherit;font-size:12px;cursor:pointer;display:flex;gap:5px;align-items:center}
.rp-mini button svg{width:14px;height:14px}
.rp-dock{position:fixed;left:0;right:0;bottom:calc(86px + var(--safe-b,0px));display:flex;justify-content:center;z-index:30;pointer-events:none}
.orb-mini{pointer-events:auto;display:flex;align-items:center;gap:10px;border:0;border-radius:999px;padding:12px 22px 12px 12px;font:inherit;font-weight:900;font-size:16px;color:#0a0b0d;cursor:pointer;background:radial-gradient(circle at 30% 20%,#3fdc93,#2fd889 40%,#22c47a);box-shadow:0 14px 34px rgba(0,0,0,.55),0 6px 24px rgba(47,216,137,.4),inset 0 -4px 8px rgba(40,60,0,.35),inset 0 3px 6px rgba(255,255,255,.7);transition:transform .15s}
.orb-mini:active{transform:scale(.94)}.orb-mini[disabled]{opacity:.6}
.om-die{width:36px;height:36px;border-radius:12px;background:#0a0b0d;display:grid;place-items:center}
.om-die .dice{width:22px;height:22px;stroke:none}.om-die .dice rect{display:none}.om-die .dice circle{fill:var(--acc)}
.orb-mini.rolling .om-die{animation:dieSpin .5s linear infinite}
body.on-roll .tabbar{background:rgba(10,11,13,.92)}

/* first roll */
.first-cele{position:fixed;inset:0;z-index:90;display:grid;place-items:center;background:rgba(5,6,8,.6);backdrop-filter:blur(6px);animation:fadeIn .3s}
.first-cele.out{opacity:0;transition:opacity .4s}
.fc-in{position:relative;width:min(320px,86vw);text-align:center;padding:26px 22px;border-radius:26px;background:radial-gradient(circle at 50% 0%,rgba(47,216,137,.25),transparent 60%),#121418;border:1px solid rgba(47,216,137,.4);box-shadow:0 30px 80px rgba(0,0,0,.6);animation:popIn .5s cubic-bezier(.2,1.5,.4,1)}
.fc-badge .fc-logo{width:64px;height:64px;filter:drop-shadow(0 8px 20px rgba(47,216,137,.5))}
.fc-in b{display:block;font-size:22px;margin:10px 0 6px}.fc-in span{color:var(--mut);font-size:14px}
@keyframes popIn{0%{transform:scale(.6);opacity:0}100%{transform:none;opacity:1}}
@keyframes fadeIn{from{opacity:0}}

/* onboarding */
#onb{position:fixed;inset:0;z-index:100;background:radial-gradient(120% 70% at 50% -10%,rgba(47,216,137,.16),transparent 60%),var(--bg);display:flex;justify-content:center;overflow-y:auto;animation:fadeIn .35s}
#onb.out{opacity:0;transform:scale(1.04);transition:all .45s}
.onb-in{width:100%;max-width:440px;padding:calc(18px + var(--safe-t,0px)) 22px 28px;display:flex;flex-direction:column;min-height:100%}
.onb-body{flex:1;display:flex;flex-direction:column;animation:slideUp .4s ease}
@keyframes slideUp{from{opacity:0;transform:translateY(16px)}}
.onb-dots{display:flex;gap:6px;justify-content:center;margin-bottom:18px}
.onb-dots i{width:22px;height:4px;border-radius:2px;background:var(--line2);transition:all .3s}.onb-dots i.on{background:var(--acc);width:36px}.onb-dots i.done{background:rgba(47,216,137,.45)}
.onb-top{display:flex;align-items:center;gap:8px;font-weight:900;font-size:18px;margin-bottom:22px}.onb-logo{width:34px;height:34px}
#onb h1{font-size:34px;line-height:1.05;letter-spacing:-.03em;margin:0 0 8px;font-weight:900}
#onb p{color:var(--mut);margin:0 0 20px;font-size:15px}
.onb-sports{display:grid;grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:20px}
.onb-sp{position:relative;display:flex;align-items:center;gap:10px;padding:16px 14px;border-radius:18px;border:1px solid var(--line2);background:linear-gradient(180deg,var(--card2),var(--card));color:var(--tx);font:inherit;cursor:pointer;transition:all .18s}
.onb-sp svg{width:26px;height:26px}.onb-sp b{font-size:16px}
.onb-sp .ck{position:absolute;right:12px;top:50%;margin-top:-11px;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:12px;background:var(--line2);color:transparent;transition:all .2s}
.onb-sp.on{border-color:var(--acc);background:radial-gradient(circle at 20% 0%,rgba(47,216,137,.22),transparent 70%),var(--card);box-shadow:0 8px 24px rgba(47,216,137,.15)}
.onb-sp.on .ck{background:var(--acc);color:#0a0b0d;transform:scale(1.1)}
.onb-sp:active{transform:scale(.96)}
.onb-books{display:grid;grid-template-columns:repeat(2,1fr);gap:8px;margin-bottom:20px}
.onb-bk{--bk:#888;display:flex;align-items:center;gap:10px;padding:14px;border-radius:14px;border:1px solid var(--line2);background:var(--card);color:var(--tx);font:inherit;font-weight:700;cursor:pointer;transition:all .18s}
.onb-bk i{width:12px;height:12px;border-radius:50%;background:var(--bk);box-shadow:0 0 10px var(--bk)}
.onb-bk.on{border-color:var(--bk);background:linear-gradient(180deg,color-mix(in srgb,var(--bk) 22%,var(--card)),var(--card))}
.onb-next{margin-top:auto}
.onb-next[disabled]{opacity:.4}
.demo{position:relative;border-radius:24px;padding:16px;background:linear-gradient(180deg,#14171b,#0e1013);border:1px solid var(--line2);box-shadow:inset 0 1px 0 rgba(255,255,255,.06);margin-bottom:18px;min-height:330px}
.demo-stage{position:relative;height:150px;display:grid;place-items:center;transition:all .5s}
.demo-orb .orb{width:120px;height:120px;pointer-events:none}.demo-orb .die3d{width:44px;height:44px}.demo-orb .die3d i{border-radius:10px}.demo-orb .die3d i .dice{width:30px;height:30px}
.demo-orb .die3d .f1{transform:translateZ(22px)}.demo-orb .die3d .f2{transform:rotateY(90deg) translateZ(22px)}.demo-orb .die3d .f3{transform:rotateY(180deg) translateZ(22px)}.demo-orb .die3d .f4{transform:rotateY(-90deg) translateZ(22px)}.demo-orb .die3d .f5{transform:rotateX(90deg) translateZ(22px)}.demo-orb .die3d .f6{transform:rotateX(-90deg) translateZ(22px)}
.demo-finger{position:absolute;left:62%;top:82%;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.9);box-shadow:0 0 0 6px rgba(255,255,255,.25),0 6px 16px rgba(0,0,0,.4);transition:all .4s cubic-bezier(.3,1.4,.5,1);opacity:0}
.demo.tap .demo-finger{left:calc(50% - 17px);top:calc(50% - 17px);opacity:1}
.demo.dspin .demo-finger{transform:scale(.7);opacity:0;transition-delay:.15s}
.demo.dspin .orb-body{transform:scale(.9)}.demo.dspin .die3d{animation:dieSpin .45s linear infinite}
.demo.c0 .demo-stage{height:86px;transform:scale(.7)}
.demo.paid .die3d{animation:dieIdle 9s linear infinite}
.demo-cards{display:flex;flex-direction:column;gap:6px;perspective:800px}
.demo-card{display:grid;grid-template-columns:34px 1fr auto;gap:10px;align-items:center;padding:8px 10px;border-radius:14px;background:var(--card2);border:1px solid var(--line);opacity:0;transform:rotateX(-85deg)}
.demo.c0 .demo-card:nth-child(1),.demo.c1 .demo-card:nth-child(2),.demo.c2 .demo-card:nth-child(3){animation:flip3d .55s cubic-bezier(.2,1.3,.4,1) forwards}
.dc-hs{width:34px;height:34px;border-radius:50%;background:var(--line2);display:grid;place-items:center;font-size:11px;font-weight:800;overflow:hidden}.dc-hs img{width:150%;margin-top:6px}
.dc-m b{display:block;font-size:13px}.dc-m span{font-size:11px;color:var(--up);font-weight:700}
.demo-card em{font-style:normal;font-weight:900;font-size:16px}
.demo-pay{display:flex;justify-content:space-between;align-items:center;margin-top:10px;padding:10px 12px;border-radius:14px;background:rgba(59,229,154,.08);border:1px solid rgba(59,229,154,.25);opacity:0;transform:translateY(8px);transition:all .4s}
.demo.paid .demo-pay{opacity:1;transform:none}.demo-pay span{color:var(--mut);font-size:12px}.demo-pay b{color:var(--up);font-size:20px;font-weight:900}
.onb-orb{display:grid;place-items:center;flex:1;min-height:300px}
.onb-foot{text-align:center;color:var(--mut);font-size:12px;margin-top:10px}

/* slips switch */
.slip-switch{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px}
.slip-switch button{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px 14px;border-radius:16px;border:1px solid var(--line2);background:var(--card);color:var(--tx);font:inherit;cursor:pointer;text-align:left}
.slip-switch b{font-size:16px}.slip-switch span{font-size:12px;color:var(--mut)}
.slip-switch button.on{border-color:var(--acc);background:radial-gradient(circle at 0% 0%,rgba(47,216,137,.16),transparent 70%),var(--card)}

/* live fields: 3D tilt + gloss */
.court-wrap{perspective:1100px;overflow:visible;box-shadow:none;background:none}
.court-3d{transform:rotateX(16deg);transform-origin:50% 90%;border-radius:16px;overflow:hidden;box-shadow:0 28px 40px -12px rgba(0,0,0,.7),0 0 0 1px rgba(255,255,255,.06)}
.bigword{animation:bigword 2.1s cubic-bezier(.2,1.4,.4,1) forwards;transform-box:fill-box;transform-origin:center}
@keyframes bigword{0%{transform:scale(.3);opacity:0}15%{transform:scale(1.15);opacity:1}25%{transform:scale(1)}80%{opacity:1}100%{opacity:0;transform:scale(1.1)}}
.goallight{animation:gl .25s steps(2) 6;opacity:.0}
@keyframes gl{0%{opacity:.55}100%{opacity:0}}
.ezflash{animation:ez 1.6s ease-out forwards}
@keyframes ez{0%{opacity:.9}100%{opacity:0}}
.cardpop{animation:popIn .4s cubic-bezier(.2,1.5,.4,1)}
.fb-glow{animation:orbGlow 1.6s ease-in-out infinite;transform-box:fill-box;transform-origin:center}

.rp-tt h1{font-size:28px}
.rp .roll-card{padding:8px 10px 0}
.rp .roll-card .rc-in{padding:0}
.rp .roll-card .pmeta{font-size:11.5px}
.rp .roll-card .pline{margin-top:4px}
.rp .roll-card .tag.l10{display:none}
.rp .roll-card .rc-ctl{margin:6px -10px 0}
.rp .roll-card .rc-ctl button{height:30px;font-size:13px}
.rp .roll-card .odd{font-size:11px}
.rp.has-legs .rp-targets button{padding:6px 0 5px}
.rp.has-legs .rp-targets button b{font-size:14px}

/* v8 simulation */
.sim svg{height:auto}
.sim2-top{display:grid;grid-template-columns:118px 1fr;gap:14px;align-items:center}
.sim2-dots{display:grid;grid-template-columns:repeat(10,1fr);gap:3px}
.sim2-dots i{aspect-ratio:1;border-radius:50%;background:var(--line2);animation:dotIn .3s both}
.sim2-dots i.w{background:var(--up);box-shadow:0 0 6px rgba(59,229,154,.6)}
@keyframes dotIn{from{transform:scale(0)}}
.sim2-say span{font-size:12px;color:var(--mut)}.sim2-say>b{display:block;font-size:24px;font-weight:900;margin:2px 0 6px;line-height:1.1}
.sim2-say em{font-style:normal;font-size:12.5px;color:var(--tx2)}
.sim2-h{display:flex;justify-content:space-between;align-items:baseline;margin:16px 0 8px}.sim2-h span{font-weight:700;font-size:13px}.sim2-h small{color:var(--mut);font-size:11px}
.sim2-hist{position:relative;height:96px;display:flex;align-items:flex-end;gap:3px;padding-bottom:1px;border-bottom:1px solid var(--line2)}
.sim2-hist i{flex:1;border-radius:4px 4px 1px 1px;transform-origin:bottom;animation:barUp .5s cubic-bezier(.2,1.2,.4,1) both}
.sim2-hist i.g{background:linear-gradient(180deg,#5cf0b0,#1fa86c)}.sim2-hist i.r{background:linear-gradient(180deg,#ff7b88,#c73a4a)}
@keyframes barUp{from{transform:scaleY(0)}}
.sim2-hist .zero{position:absolute;top:-6px;bottom:-4px;width:0;border-left:1.5px dashed rgba(255,255,255,.55)}
.sim2-hist .zero span{position:absolute;top:-14px;left:-10px;font-size:10px;color:var(--tx2);font-weight:700}
.sim2-ax{display:flex;justify-content:space-between;font-size:11px;color:var(--mut);margin-top:4px}
.sim2-k{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.sim2-k div{background:var(--bg2);border:1px solid var(--line);border-radius:12px;padding:9px 10px}
.sim2-k b{display:block;font-size:17px;font-weight:900}.sim2-k span{font-size:11px;color:var(--mut)}

/* v8 roll page */
.rp-targets{grid-template-columns:repeat(5,1fr)}
.rp-styles{display:grid;grid-template-columns:repeat(4,1fr);gap:6px;margin-bottom:6px}
.rp-styles button{padding:10px 0;border-radius:12px;border:1px solid var(--line2);background:var(--card);color:var(--tx2);font:inherit;font-weight:800;font-size:14px;cursor:pointer;transition:all .15s}
.rp-styles button.on{background:var(--tx);color:var(--bg);border-color:transparent;box-shadow:0 6px 18px rgba(255,255,255,.12)}
.style-def{font-size:12.5px;color:var(--mut);margin:0 2px 10px;min-height:32px;line-height:1.35;animation:fadeIn .25s}
.rp-when{margin:0 0 4px;padding:0;overflow:visible;display:block}
.wk-pre{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:6px}
.wk-pre .dy{width:100%}
.wk-days{display:grid;grid-template-columns:repeat(7,1fr);gap:4px}
.dd{position:relative;display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 0;border-radius:12px;border:1px solid var(--line2);background:var(--card);color:var(--tx2);font:inherit;cursor:pointer;transition:all .15s}
.dd small{font-size:10px;color:var(--mut)}.dd b{font-size:15px}
.dd .dd-ck{position:absolute;top:-5px;right:-4px;width:15px;height:15px;border-radius:50%;background:var(--acc);color:#0a0b0d;font-size:9px;font-style:normal;display:grid;place-items:center;transform:scale(0);transition:transform .2s cubic-bezier(.3,1.6,.5,1)}
.dd.on{border-color:var(--acc);background:radial-gradient(circle at 50% 0%,rgba(47,216,137,.2),transparent 70%),var(--card);color:var(--tx)}
.dd.on .dd-ck{transform:scale(1)}
.wk-hint{margin:6px 2px 4px;font-size:11px}
.rp-more{background:none;border:0;color:var(--mut);font:inherit;font-size:12px;padding:6px 2px;cursor:pointer}
.rp{padding-bottom:180px}
.rp-dock{display:none}
.rp-dock2{position:fixed;left:0;right:0;bottom:calc(84px + var(--safe-b,0px));z-index:30;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 16px;background:linear-gradient(180deg,rgba(10,11,13,0),rgba(10,11,13,.92) 35%);max-width:560px;margin:0 auto}
.rp-dock2 .save-big{margin:0;height:56px;font-size:15px}
.roll-cta{height:56px;border:0;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:10px;font:inherit;font-weight:900;font-size:16px;color:#0a0b0d;cursor:pointer;background:radial-gradient(circle at 30% 20%,#3fdc93,#2fd889 40%,#22c47a);box-shadow:0 10px 26px rgba(47,216,137,.3),inset 0 -4px 8px rgba(40,60,0,.3),inset 0 3px 6px rgba(255,255,255,.7);transition:transform .12s}
.roll-cta:active{transform:scale(.96)}.roll-cta[disabled]{opacity:.6}
.roll-cta .om-die{width:32px;height:32px;border-radius:10px}
.rp-stage{padding:10px 0 4px}.rp-stage .orb{width:168px;height:168px}
/* lock + control icons */
.rc-ctl button{display:flex;align-items:center;justify-content:center;gap:5px}
.rc-ctl button span{font-size:11.5px;font-weight:700}
.ci{width:16px;height:16px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.ci circle{fill:currentColor;stroke:none}
.lk{width:18px;height:18px;fill:none;stroke:#7d848e;stroke-width:2;stroke-linecap:round;overflow:visible;transition:stroke .25s}
.lk rect{fill:rgba(125,132,142,.12);transition:fill .25s}
.lk circle{fill:#7d848e;stroke:none;transition:fill .25s}
.lk .shk{transform-box:view-box;transform-origin:16px 11px;transform:translate(0,-2.5px) rotate(32deg);transition:transform .38s cubic-bezier(.3,1.7,.5,1)}
.rc-ctl button.on{color:var(--up)!important;background:rgba(59,229,154,.1)!important}
.rc-ctl button.on .lk{stroke:var(--up);animation:lkPop .45s cubic-bezier(.3,1.6,.5,1)}
.rc-ctl button.on .lk rect{fill:rgba(59,229,154,.25)}.rc-ctl button.on .lk circle{fill:var(--up)}
.rc-ctl button.on .lk .shk{transform:none}
@keyframes lkPop{0%{transform:scale(1)}40%{transform:scale(1.3)}100%{transform:scale(1)}}
.roll-card.held{border-color:rgba(59,229,154,.55)!important;box-shadow:0 0 0 1px rgba(59,229,154,.2),0 10px 24px rgba(0,0,0,.35)!important}
/* alts top picks */
.alt.best{border-color:rgba(255,140,66,.55);background:linear-gradient(90deg,rgba(255,94,58,.14),transparent 70%)}
.alt-fire svg{width:16px;height:16px;fill:#ff8c42;filter:drop-shadow(0 0 4px rgba(255,94,58,.7))}
/* confirm */
#cfm{position:fixed;inset:0;z-index:120;display:grid;place-items:center;background:rgba(5,6,8,.55);backdrop-filter:blur(4px);animation:fadeIn .2s}
#cfm.out{opacity:0;transition:opacity .2s}
.cfm-card{width:min(320px,86vw);padding:20px;border-radius:22px;background:#15181c;border:1px solid var(--line2);box-shadow:0 30px 70px rgba(0,0,0,.6);animation:popIn .3s cubic-bezier(.2,1.5,.4,1)}
.cfm-card>b{font-size:18px;display:block}.cfm-card p{color:var(--mut);font-size:14px;margin:6px 0 16px}
.cfm-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.btn.danger{background:var(--down);color:#fff;border-color:transparent}
/* save pop */
#savepop{position:fixed;inset:0;z-index:110;display:grid;place-items:center;background:rgba(5,6,8,.45);animation:fadeIn .2s}
#savepop.fly{background:transparent;transition:background .5s}
.sp-card{width:min(320px,86vw);padding:18px;border-radius:24px;background:radial-gradient(circle at 50% 0%,rgba(59,229,154,.2),transparent 60%),#14171b;border:1px solid rgba(59,229,154,.45);box-shadow:0 30px 70px rgba(0,0,0,.6);text-align:center;animation:popIn .4s cubic-bezier(.2,1.5,.4,1)}
#savepop.fly .sp-card{transition:transform .6s cubic-bezier(.6,-.2,.7,.4),opacity .6s;transform:translate(var(--tx),var(--ty)) scale(.06);opacity:.4}
.sp-ok{width:46px;height:46px;margin:0 auto 6px;border-radius:50%;background:var(--up);display:grid;place-items:center;box-shadow:0 0 24px rgba(59,229,154,.6)}
.sp-ok svg{width:26px;height:26px;fill:none;stroke:#0a0b0d;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:24;animation:draw .5s .15s both}
@keyframes draw{from{stroke-dashoffset:24}}
.sp-card>b{font-size:18px}
.sp-legs{margin:12px 0;text-align:left;display:flex;flex-direction:column;gap:6px}
.sp-legs div{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:7px 10px;border-radius:10px;background:rgba(255,255,255,.04)}
.sp-legs em{font-style:normal;color:var(--mut);font-family:var(--fm,monospace)}
.sp-foot{display:flex;justify-content:space-between;font-size:13px}.sp-foot span{color:var(--mut)}.sp-foot b{color:var(--up)}
.tabbar [data-tab="slip"].gulp svg{animation:gulp .5s cubic-bezier(.3,1.8,.5,1)}
@keyframes gulp{0%{transform:scale(1)}40%{transform:scale(1.45)}100%{transform:scale(1)}}
/* streaks */
.hot3{position:relative;border-color:rgba(255,94,58,.55)!important;background:radial-gradient(120% 90% at 0% 0%,rgba(255,94,58,.16),transparent 60%),var(--card)!important;box-shadow:0 10px 30px rgba(255,94,58,.12)}
.hot-badge{position:absolute;top:-9px;left:12px;display:flex;align-items:center;gap:3px;padding:3px 8px 3px 5px;border-radius:999px;font-size:10.5px;font-weight:900;letter-spacing:.06em;color:#fff;background:linear-gradient(90deg,#ff2d55,#ff8c42);box-shadow:0 4px 14px rgba(255,45,85,.45)}
.hot-badge svg{width:12px;height:12px;fill:#fff}
.tag.strk{color:#ffb347;border-color:rgba(255,140,66,.4);background:rgba(255,140,66,.08)}
.bet-mini{display:flex;align-items:center;gap:6px}
.alt-fire{display:inline-flex;vertical-align:-2px;margin-right:4px}
.hot-badge{position:static;display:inline-flex;margin:0 0 4px}
.rp-dock2{grid-template-columns:1.6fr 1fr}
.new-roll{height:56px;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:800;background:var(--card2);border:1px solid var(--line2);color:var(--tx)}
.new-roll .ci{width:18px;height:18px}
.keep-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:4px 0 0}
.keep-row>span{display:flex;align-items:center;gap:4px;font-size:12px;color:var(--up);font-weight:700}
.keep-row .lk{stroke:var(--up);width:15px;height:15px}.keep-row .lk .shk{transform:none}.keep-row .lk circle{fill:var(--up)}
.keep{border:1px solid rgba(59,229,154,.45);background:rgba(59,229,154,.08);color:var(--tx);border-radius:999px;padding:5px 10px;font:inherit;font-size:12px;cursor:pointer}
.sim .pmeta{white-space:normal}

/* ===== v8 layout hardening: text never moves controls ===== */
.card,.card *{min-width:0}
.pname,.t,.sv-l,.trk-l,.dc-m b,.alt b,.sp-legs span,.fp-t{overflow:hidden;text-overflow:ellipsis}
.pname,.sv-l,.dc-m b,.sp-legs span{white-space:nowrap}
.pmeta{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.style-def,.wk-hint,.note .pmeta,.sim .pmeta,.rp-hint,.empty{white-space:normal}
.wk-hint{white-space:nowrap}
.big{flex-shrink:0;text-align:right;white-space:nowrap}
.pline{flex-wrap:wrap;row-gap:4px}
.tag{white-space:nowrap;flex-shrink:0}
.rc-ctl button,.rp-targets button,.rp-styles button,.dd,.dy,.chip,.seg button,.sport-row button,.btn,.mini,.new-roll,.roll-cta{white-space:nowrap;flex-shrink:0}
.rp-styles button{overflow:hidden;text-overflow:ellipsis;font-size:13px;padding:10px 4px}
.rp-head{gap:10px}.rp-sum{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 100px)}
.gt .tn{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.gt .tn small{display:block}
.line-btn{min-width:0;overflow:hidden}
.alt{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:10px;align-items:center}
.alt span{grid-column:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.alt em{grid-column:2;grid-row:1/span 2;font-style:normal;font-weight:900}
.sv-row{display:flex;align-items:center;gap:10px}.sv-badge{flex-shrink:0}
.sv-btns{display:flex;flex-wrap:wrap;gap:6px}
.trk{grid-template-columns:44px minmax(0,1fr) auto}
.lv-team b{white-space:nowrap}
.rp-sumbar b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.fp{grid-template-columns:4px minmax(0,1fr) auto}
.fp-t{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical}
.slip-switch span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.onb-bk{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.card.leg .t{white-space:nowrap}
.leg-r{flex-shrink:0}

/* ===== v8 design system: one button scale, one palette ===== */
:root{--btn-h:52px;--btn-r:16px}
.btn,.save-big,.bet-btn,.new-roll,.watch-cta,.roll-cta,.rp-dock2 .save-big{height:var(--btn-h)!important;border-radius:var(--btn-r)!important;font-size:15px!important;font-weight:800!important;letter-spacing:.01em!important;margin-top:0}
.save-big{background:linear-gradient(180deg,#5cf0b0,#2fd189)!important;color:#05170f!important;box-shadow:0 8px 22px rgba(59,229,154,.28),inset 0 1px 0 rgba(255,255,255,.45)!important;border:0!important}
.btn.pri{background:linear-gradient(180deg,#2fd889,#2fd889);box-shadow:0 8px 22px rgba(47,216,137,.22),inset 0 1px 0 rgba(255,255,255,.5);border:0}
.bet-btn,.watch-cta,.new-roll,.btn.ghost{background:var(--card2)!important;border:1px solid var(--line2)!important;color:var(--tx)!important;box-shadow:none!important}
.watch-cta{color:#ffc23d!important}
.cta{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:8px}
.cta>.btn,.cta>button{width:100%}
.btn.save-big{width:100%;margin:12px 0 0}
/* money never escapes its box */
.pay{font-size:clamp(20px,6.5vw,30px)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;display:block}
.rp-sumbar .pay,.rp-sumbar b{font-size:clamp(14px,4.6vw,18px)!important}
.kpi b,.sum b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.rp-sumbar{grid-template-columns:repeat(3,minmax(0,1fr))}
/* dock: two equal, clearly separate buttons */
.rp-dock2{grid-template-columns:1fr 1fr!important;gap:10px!important;bottom:calc(92px + var(--safe-b,0px))!important;padding:12px 16px 8px!important}
.tabbar .fab .fab-in{margin-top:-22px}
/* player sheet */
.pl-cta{position:sticky;bottom:0;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:12px 0 calc(6px + var(--safe-b,0px));background:linear-gradient(180deg,rgba(16,18,21,0),var(--bg2) 30%);margin-top:10px}
.btn.side{flex-direction:column;gap:1px;line-height:1.15;height:56px!important}
.btn.side b{font-size:15px;font-weight:800}.btn.side small{font-size:11.5px;font-weight:600;opacity:.75}
.pl-live{margin:4px 0 12px;padding:12px;border-radius:16px;background:radial-gradient(circle at 0% 0%,rgba(255,90,106,.14),transparent 60%),var(--card);border:1px solid rgba(255,90,106,.35)}
.pl-live-h{display:flex;gap:8px;align-items:center;font-size:12px;color:var(--tx2);margin-bottom:8px;white-space:nowrap;overflow:hidden}
.pl-live-m{display:flex;align-items:baseline;gap:10px;margin-bottom:6px}.pl-live-m>b{font-size:32px;font-weight:900}.pl-live-m span{font-size:13px;color:var(--tx2)}
.pl-live-s{display:flex;gap:6px;flex-wrap:wrap;margin-top:10px}.pl-live-s span{display:flex;gap:4px;align-items:baseline;font-size:11px;color:var(--mut);background:var(--bg2);border:1px solid var(--line);border-radius:8px;padding:4px 8px}.pl-live-s b{font-size:14px;color:var(--tx)}
.phead h2{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:6px}
.kpi{padding:10px 8px;border-radius:12px;background:var(--card);border:1px solid var(--line)}
.why{border-radius:16px}
.rp-dock2{align-items:stretch}
.rp-dock2>*{margin:0!important;align-self:stretch}
.btn.side{padding:0 8px!important;justify-content:center!important;align-items:center!important}
.btn.side b,.btn.side small{display:block;margin:0!important;padding:0;line-height:1.2}
.btn.side small{font-family:inherit}
.btn.side{display:flex!important;flex-direction:column!important;gap:2px!important}.btn.side small{font-size:11.5px!important;opacity:.75}
.rp-payline{display:flex;justify-content:space-between;align-items:baseline;margin:10px 2px 0;font-size:12px;color:var(--mut)}
.rp-payline b{color:var(--acc);font-size:15px;font-weight:900}
.warn-note{border-color:rgba(255,181,71,.4);background:rgba(255,181,71,.07)}

/* ===== v8: Roll as its own full page ===== */
body.roll-mode header.top,body.roll-mode .tabbar,body.roll-mode #leagues,body.roll-mode #days{display:none!important}
body.roll-mode #view{padding-top:calc(8px + var(--safe-t,0px))}
.rp{animation:rpIn .28s cubic-bezier(.2,.9,.3,1);padding-bottom:130px}
.rp.leaving{animation:rpOut .18s ease-in forwards}
@keyframes rpIn{from{opacity:0;transform:translateX(28px)}}
@keyframes rpOut{to{opacity:0;transform:translateX(40px)}}
.rp-top{display:flex;align-items:center;gap:10px;margin:4px 0 12px}
.rp-top .rp-tt{flex:1;min-width:0}.rp-top h1{font-size:26px;margin:0 0 2px}
.rp-back{width:40px;height:40px;border-radius:12px;border:1px solid var(--line2);background:var(--card);color:var(--tx);font-size:26px;line-height:1;display:grid;place-items:center;padding-bottom:3px;cursor:pointer;flex-shrink:0}
.rp-empty{display:flex;align-items:center;gap:14px;padding:16px;margin:8px 0;border-radius:18px;border:1px dashed var(--line2);background:var(--card)}
.rp-empty b{display:block;font-size:15px;margin-bottom:2px}.rp-empty span{font-size:12.5px;color:var(--mut)}
.rp-empty-die{width:56px;height:56px;flex-shrink:0;display:grid;place-items:center;border-radius:16px;background:radial-gradient(circle at 34% 26%,#5ee6a4,#2fd889 55%,#22c47a);box-shadow:0 8px 20px rgba(47,216,137,.25),inset 0 -5px 10px rgba(40,60,0,.35);perspective:400px}
.die3d.sm{width:28px;height:28px}.die3d.sm i{border-radius:7px}.die3d.sm i .dice{width:20px;height:20px}
.die3d.sm .f1{transform:translateZ(14px)}.die3d.sm .f2{transform:rotateY(90deg) translateZ(14px)}.die3d.sm .f3{transform:rotateY(180deg) translateZ(14px)}.die3d.sm .f4{transform:rotateY(-90deg) translateZ(14px)}.die3d.sm .f5{transform:rotateX(90deg) translateZ(14px)}.die3d.sm .f6{transform:rotateX(-90deg) translateZ(14px)}
.rp-empty.loading .die3d{animation:dieSpin 1.2s linear infinite}
.rp-bar{position:fixed;left:0;right:0;bottom:0;z-index:40;display:grid;grid-template-columns:1fr;gap:10px;padding:12px 16px calc(14px + var(--safe-b,0px));background:linear-gradient(180deg,rgba(10,11,13,0),rgba(10,11,13,.94) 28%);max-width:560px;margin:0 auto}
.rp-bar.two{grid-template-columns:1fr 1fr}
.rp-bar>*{margin:0!important}
.rp-bar .roll-cta{height:56px!important;font-size:17px!important}
.roll-cta.rolling .om-die{animation:dieSpin .5s linear infinite}
.rp-dock,.rp-dock2{display:none!important}
/* nav: roll is a normal tab, highlighted */
.tabbar .roll-tab{color:var(--acc)!important}
.tabbar .roll-tab svg{fill:none;stroke:var(--acc);stroke-width:1.9}
.tabbar .roll-tab svg circle{fill:var(--acc);stroke:none}
.tabbar .roll-tab span{color:var(--acc);font-weight:800}
/* board roll entry */
.roll-entry{width:100%;display:flex;align-items:center;gap:12px;padding:12px 14px;margin:2px 0 14px;border-radius:18px;border:1px solid rgba(47,216,137,.35);background:radial-gradient(circle at 0% 0%,rgba(47,216,137,.18),transparent 60%),var(--card);color:var(--tx);font:inherit;text-align:left;cursor:pointer}
.roll-entry div{flex:1;min-width:0}.roll-entry b{display:block;font-size:15px}.roll-entry span:not(.om-die){font-size:12px;color:var(--mut)}
.roll-entry i{font-style:normal;color:var(--acc);font-size:22px}
.roll-entry .om-die{width:40px;height:40px;border-radius:12px;background:radial-gradient(circle at 30% 20%,#3fdc93,#2fd889 40%,#22c47a)}
.roll-entry .om-die .dice circle{fill:#0a0b0d}
.card.prop .tag.l10{display:none}
/* v9 roll options + edit popup */
.rp-opts{display:grid;gap:8px;margin:6px 0 4px}
.rp-opt{display:flex;align-items:center;justify-content:space-between;gap:10px}
.rp-opt>span{font-size:13px;font-weight:700;color:var(--tx2)}
.rp-opt .seg{display:flex}
.rp-opt .seg button{padding:7px 11px;font-size:13px}
.rp-scan{display:flex;align-items:center;justify-content:center;gap:10px;padding:26px 0;color:var(--mut);font-size:13px;text-align:center}
.ed-h{display:flex;align-items:center;gap:12px;margin-bottom:6px}.ed-h b{display:block;font-size:18px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ed-h span{font-size:12px;color:var(--mut)}
.ed .rl-lab{margin:14px 0 6px}
.ed-lines{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}
.ed-line{display:flex;flex-direction:column;align-items:center;gap:1px;padding:8px 4px;border-radius:12px;border:1px solid var(--line2);background:var(--card);color:var(--tx);font:inherit;cursor:pointer}
.ed-line b{font-size:14px}.ed-line span{font-size:11px;color:var(--mut)}
.ed-line.on{border-color:var(--acc);background:radial-gradient(circle at 50% 0%,rgba(47,216,137,.2),transparent 70%),var(--card)}
.ed-alts{max-height:240px;overflow-y:auto}
.ed-btns{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.rc-ctl button{flex:1}

/* ===== v9 ===== */
/* section titles: bigger, clearer */
.sec{margin:20px 2px 10px;align-items:baseline}
.sec h3{font-size:18px!important;font-weight:800!important;text-transform:none!important;letter-spacing:-.01em!important;color:var(--tx)!important;display:flex;align-items:center;gap:6px}
.sec small{font-size:12px}
.h1{font-size:30px}
/* prop cards: one clean grid */
.card.prop{display:grid!important;grid-template-columns:48px minmax(0,1fr) auto;gap:12px;align-items:center;padding:12px 12px 12px 12px;position:relative}
.card.prop .hs{width:48px;height:48px}
.card.prop .pname{font-size:15.5px;font-weight:800}
.card.prop .pmeta{font-size:12px;margin-top:1px}
.card.prop .pline{margin-top:6px}
.card.prop .big{display:flex;flex-direction:column;align-items:flex-end;gap:1px;min-width:72px}
.card.prop .pct{font-size:26px;line-height:1}
.card.prop .odd{font-size:11px;color:var(--mut)}
.card.prop .edge{font-size:11px;font-weight:800}
.card.prop .qadd{position:absolute;right:10px;bottom:10px;width:26px;height:26px;border-radius:9px;font-size:16px;line-height:1}
.card.prop .big{padding-bottom:22px}
.minibars{display:none}
/* filters */
.flt-row{display:flex;gap:8px;margin:0 0 12px}
.stat-sel{appearance:none;-webkit-appearance:none;background:var(--card) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%239aa3ad' stroke-width='2.5'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E") no-repeat right 10px center/14px;border:1px solid var(--line2);border-radius:12px;color:var(--tx);font:inherit;font-size:14px;font-weight:700;padding:9px 32px 9px 12px;min-width:0}
/* updates ticker */
.alerts{display:flex;gap:6px;align-items:center;overflow-x:auto;scrollbar-width:none;margin:0 -16px 12px;padding:2px 16px}
.alerts::-webkit-scrollbar{display:none}
.al-h{flex-shrink:0;font-size:11px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--mut);margin-right:2px}
.al{flex-shrink:0;display:flex;align-items:center;gap:6px;padding:6px 10px 6px 6px;border-radius:999px;border:1px solid var(--line2);background:var(--card);color:var(--tx);font:inherit;font-size:12px;cursor:pointer;white-space:nowrap}
.al b{font-weight:800}.al span{color:var(--mut)}
.ucat{font-style:normal;font-size:10px;font-weight:800;padding:2px 7px;border-radius:999px;background:var(--line2);color:var(--tx2);text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}
.c-injury{background:rgba(255,90,106,.18);color:#ff8a96}.c-illness{background:rgba(255,181,71,.18);color:#ffc46b}.c-personal{background:rgba(160,140,255,.18);color:#b9a8ff}.c-trade{background:rgba(90,176,255,.18);color:#86c5ff}.c-signing{background:rgba(59,229,154,.16);color:#6ff0b5}.c-suspension{background:rgba(255,120,60,.2);color:#ff9d6b}.c-rest{background:rgba(255,255,255,.1);color:var(--tx2)}
.card.upd{display:grid;grid-template-columns:44px minmax(0,1fr);gap:12px;align-items:start;color:inherit;text-decoration:none}
.upd-h{display:flex;gap:8px;align-items:center;font-size:11px;margin-bottom:3px}
.upd-t{font-weight:800;font-size:14.5px;line-height:1.25}
.upd-s{font-size:12.5px;color:var(--tx2);margin-top:3px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
/* live grid */
.gg{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.gtile{display:flex;flex-direction:column;gap:6px;padding:12px;border-radius:18px;border:1px solid var(--line2);background:var(--card);color:var(--tx);font:inherit;text-align:left;cursor:pointer;transition:transform .12s}
.gtile:active{transform:scale(.97)}
.gtile.in{border-color:rgba(255,59,79,.55);background:radial-gradient(120% 80% at 0% 0%,rgba(255,59,79,.14),transparent 60%),var(--card)}
.gtile.post{opacity:.82}
.gt-st{display:flex;align-items:center;gap:6px;font-size:11.5px;min-height:16px;white-space:nowrap;overflow:hidden}
.gtile.in .gt-st b{color:#ff4d5e;font-weight:800}
.gtile.post .gt-st b{color:var(--mut);font-weight:700}
.gtile.pre .gt-st b{color:var(--acc);font-weight:800}.gtile.pre .gt-st span{color:var(--mut)}
.lv-dot{width:7px;height:7px;border-radius:50%;background:#ff3b4f;box-shadow:0 0 0 0 rgba(255,59,79,.6);animation:lvp 1.4s infinite}
@keyframes lvp{0%{box-shadow:0 0 0 0 rgba(255,59,79,.6)}100%{box-shadow:0 0 0 8px rgba(255,59,79,0)}}
.gtr{display:grid;grid-template-columns:24px minmax(0,1fr) auto;gap:8px;align-items:center}
.gtr img{width:24px;height:24px;object-fit:contain}
.gtr b{font-size:15px;font-weight:800}
.gtr em{font-style:normal;font-size:26px;font-weight:900;line-height:1}
.gtr.lose{opacity:.5}
.gtr .rec{font-size:11px;color:var(--mut)}
.gt-tv{font-size:10.5px;color:var(--mut);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* player sheet: summary */
.phead{gap:12px}.phead .hs{width:64px;height:64px}
.pl-sum{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin:10px 0 8px}
.pl-card{display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:12px;border-radius:16px;border:1px solid var(--line2);background:var(--card);color:var(--tx);font:inherit;text-align:left;cursor:pointer;min-width:0}
.pl-card b{font-size:17px;font-weight:900;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.pl-card em{font-style:normal;font-size:12px;color:var(--mut)}
.pl-k{display:flex;align-items:center;gap:4px;font-size:10.5px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--mut)}
.pl-k svg{width:12px;height:12px;fill:#ff8c42}
.pl-card.hot{border-color:rgba(255,94,58,.5);background:radial-gradient(circle at 0% 0%,rgba(255,94,58,.18),transparent 65%),var(--card)}
.pl-card.rec{border-color:rgba(47,216,137,.45);background:radial-gradient(circle at 0% 0%,rgba(47,216,137,.14),transparent 65%),var(--card)}
.pl-card.rec b{color:var(--acc)}
.pl-l5{display:flex;align-items:baseline;gap:14px;padding:10px 12px;border-radius:14px;background:var(--bg2);border:1px solid var(--line);margin-bottom:12px}
.pl-l5 div{display:flex;align-items:baseline;gap:4px}.pl-l5 b{font-size:16px;font-weight:900}.pl-l5 span{font-size:11px;color:var(--mut);font-weight:700}
.pl-l5 i{margin-left:auto;font-style:normal;font-size:10.5px;color:var(--mut)}
.pl-pick{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px;align-items:center;margin-bottom:10px}
.stepper.mini{margin:0;padding:4px;gap:4px}.stepper.mini button{width:34px;height:34px}.stepper.mini .v b{font-size:18px}.stepper.mini .v span{font-size:10px}
.lt-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:5px}
.lt{display:flex;flex-direction:column;align-items:center;gap:1px;padding:7px 2px;border-radius:10px;border:1px solid transparent}
.lt b{font-size:16px;font-weight:900}.lt span{font-size:9.5px;color:var(--mut);white-space:nowrap;overflow:hidden;max-width:100%}
.lt.hit{background:rgba(59,229,154,.12);border-color:rgba(59,229,154,.35)}.lt.hit b{color:var(--up)}
.lt.miss{background:rgba(255,90,106,.08);border-color:rgba(255,90,106,.25)}.lt.miss b{color:#ff8a96}
.pl-stat{font-size:12.5px;color:var(--tx2);margin:8px 2px 12px}.pl-stat b{color:var(--tx)}
.why p{margin:6px 0 0;font-size:14px;line-height:1.5}
.why.clamp p{display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}
.why .more{display:none;margin-top:6px;font-size:12px;font-weight:800;color:var(--acc)}.why.clamp .more{display:block}
/* roll: condensed when */
.when{display:flex;align-items:center;gap:10px;margin:2px 0 6px}
.when-l{font-size:13px;font-weight:700;color:var(--tx2);flex-shrink:0;width:42px}
.when-seg{flex:1;display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))}
.when-seg button{padding:8px 4px!important;font-size:12.5px!important;overflow:hidden;text-overflow:ellipsis}
.rp-opt>span{width:42px}
.rp-opt .seg{flex:1;display:grid!important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
/* slips: sticky actions */
.slip-links{display:flex;justify-content:center;gap:6px;flex-wrap:wrap;margin:14px 0 6px}
.slip-links button{background:none;border:1px solid var(--line);border-radius:999px;padding:7px 12px;color:var(--tx2);font:inherit;font-size:12.5px;display:flex;gap:5px;align-items:center;cursor:pointer}
.slip-links svg{width:14px;height:14px}
.slip-bar{position:sticky;bottom:calc(84px + var(--safe-b,0px));z-index:25;display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:10px 0 4px;background:linear-gradient(180deg,rgba(10,11,13,0),var(--bg) 35%)}
.slip-bar>*{margin:0!important}
#view{overflow-x:clip}.confetti{pointer-events:none}
.pl-pick{grid-template-columns:minmax(0,1fr) 168px}
.stepper.mini{display:grid!important;grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;width:168px;height:46px;padding:4px;border-radius:12px;background:var(--card);border:1px solid var(--line2)}
.stepper.mini button{width:36px;height:36px;border-radius:10px;font-size:18px}
.stepper.mini .v{display:flex;flex-direction:column;align-items:center;line-height:1.05}
.stepper.mini .v span{white-space:nowrap}
/* roll cards keep their own layout (not the prop-card grid) */
.card.prop.roll-card{display:block!important;padding:10px 12px 0!important}
.card.prop.roll-card .rc-in{display:grid!important;grid-template-columns:44px minmax(0,1fr) auto;gap:10px;align-items:center}
.card.prop.roll-card .big{padding-bottom:0!important;min-width:64px}
.card.prop.roll-card .rc-ctl{display:flex!important;margin:8px -12px 0!important}
.card.prop.roll-card .hs{width:44px;height:44px}


/* ===================== v10: flat, modern, green ===================== */
:root{--acc:#2fd889;--acc-ink:#03160c;--up:#2fd889;--bg:#0b0c0e;--card:#131518;--card2:#191c20;--line:#22262c;--line2:#2b3037}
/* kill gloss/3D */
.court-3d{transform:none!important;box-shadow:0 0 0 1px var(--line)!important}
.orb-glow,.orb-ring,.orb-shine,.c2-rays{display:none}
.roll-cta,.btn.pri,.tabbar .fab .fab-in,.orb-mini,.om-die{box-shadow:none!important}
.roll-cta{background:var(--acc)!important;color:var(--acc-ink)!important}
.roll-cta .om-die{background:rgba(3,22,12,.14)!important}.roll-cta .om-die .dice circle{fill:var(--acc-ink)!important}
.btn.pri{background:var(--acc)!important;color:var(--acc-ink)!important;border:0!important}
.save-big{background:#f1f3f4!important;color:#0b0c0e!important;box-shadow:none!important}
.save-big .ic svg{stroke:#0b0c0e}
.rp-targets button.on,.dd.on,.onb-sp.on,.slip-switch button.on,.ed-line.on{background:rgba(47,216,137,.1)!important;border-color:var(--acc)!important;box-shadow:none!important}
.rp-targets button.gold.on{background:rgba(255,194,61,.1)!important;border-color:#ffc23d!important}
.rp-styles button.on{background:var(--tx)!important;color:var(--bg)!important;box-shadow:none!important}
.card,.rp .roll-card,.gtile,.pl-card,.sc{box-shadow:none!important}
.rp .roll-card{background:var(--card)!important}
.roll-card.land{border-color:rgba(47,216,137,.5)!important;box-shadow:none!important}
.pl-card.hot{background:rgba(255,120,60,.08)!important}.pl-card.rec{background:rgba(47,216,137,.08)!important}
.gtile.in{background:rgba(255,59,79,.07)!important}
.roll-card.held{border-color:rgba(47,216,137,.6)!important}
.tabbar .roll-tab svg{stroke:var(--acc)}.tabbar .roll-tab svg circle{fill:var(--acc)}
.rp-empty-die{background:var(--acc)!important;box-shadow:none!important}
.alerts .al{background:var(--card)}
/* header + tabs */
body.on-roll #leagues,#days{display:none!important}
.rp-top{gap:8px}.rp-logo{width:34px;height:34px;flex-shrink:0}.rp-lg{width:34px;height:34px}
.rp-top .icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round}
.tabbar.three{grid-template-columns:repeat(3,1fr)!important;display:grid!important}
.tabbar.three button{padding:8px 0}
.rp{padding-bottom:170px!important}
.rp-bar{bottom:calc(76px + var(--safe-b,0px))!important;padding-bottom:10px!important}
/* ---------- slips ---------- */
.sc{border:1px solid var(--line);background:var(--card);border-radius:20px;padding:14px;margin-bottom:12px}
.sc.won{border-color:rgba(47,216,137,.55)}.sc.lost{opacity:.75}.sc.live{border-color:rgba(255,59,79,.45)}.sc.draft{border-style:dashed}
.sc-h{display:flex;justify-content:space-between;align-items:flex-start;gap:10px}
.sc-h b{display:block;font-size:16px;font-weight:800}.sc-h span{font-size:12px;color:var(--mut)}
.sc-pay{text-align:right;flex-shrink:0}.sc-pay span{display:block}.sc-pay b{font-size:20px;color:var(--acc)}
.sc-prog{display:flex;align-items:center;gap:10px;margin:12px 0 4px}
.sc-segs{flex:1;display:flex;gap:4px}.sc-segs i{flex:1;height:6px;border-radius:3px;background:var(--line2);transition:background .4s}
.sc-segs i.hit{background:var(--up)}.sc-segs i.miss{background:var(--down)}.sc-segs i.live{background:linear-gradient(90deg,#ff3b4f,#ff7a59);animation:pulseO 1.6s infinite}
@keyframes pulseO{50%{opacity:.55}}
.sc-st{font-size:11px;font-weight:800;letter-spacing:.04em;color:var(--mut);white-space:nowrap}.sc-st.won{color:var(--up)}.sc-st.lost{color:var(--down)}.sc-st.live{color:#ff4d5e}
.sc-legs{margin-top:8px;display:flex;flex-direction:column}
.lg{display:grid;grid-template-columns:40px minmax(0,1fr) 22px;gap:10px;align-items:center;padding:10px 0;border-top:1px solid var(--line)}
.lg:first-child{border-top:0}
.lg .hs{width:40px;height:40px}
.lg-t{display:flex;justify-content:space-between;gap:8px;align-items:baseline}.lg-t b{font-size:14px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.lg-t span{font-size:11.5px;color:var(--mut);flex-shrink:0}
.lg-s{font-size:12px;color:var(--tx2);margin-top:1px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.lg-bar{height:6px;border-radius:3px;background:var(--line2);margin-top:7px;overflow:hidden}.lg-bar i{display:block;height:100%;border-radius:3px;transition:width .8s cubic-bezier(.2,.9,.3,1)}
.lg-n{display:flex;justify-content:space-between;font-size:10.5px;color:var(--mut);margin-top:3px}.lg-n span:first-child{color:var(--tx);font-weight:700}
.lg-ic i{display:grid;place-items:center;width:22px;height:22px;border-radius:50%}
.lg-ic .ok{background:var(--up)}.lg-ic .ok svg{width:14px;height:14px;stroke:#03160c;stroke-width:3;fill:none}
.lg-ic .no{background:var(--down)}.lg-ic .no svg{width:12px;height:12px;stroke:#fff;stroke-width:3;fill:none}
.lg-ic .lvd{width:10px;height:10px;margin:6px;border-radius:50%;background:#ff3b4f;animation:lvp 1.4s infinite}
.lg.hit .lg-t b{color:var(--up)}.lg.miss{opacity:.6}
.sc-a{display:flex;gap:6px;margin-top:10px}
.sc-a button:not(.btn){flex:1;height:38px;border-radius:12px;border:1px solid var(--line2);background:var(--card2);color:var(--tx2);font:inherit;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;gap:5px;cursor:pointer}
.sc-a button:not(.btn).on{color:#ffc23d;border-color:rgba(255,194,61,.4)}
.sc-a .ic svg{width:15px;height:15px}
.sc-a .btn{flex:1;height:44px!important;font-size:14px!important}
/* ---------- in-app notification ---------- */
.ftoast{position:fixed;left:12px;right:12px;top:calc(10px + var(--safe-t,0px));z-index:130;display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;border-radius:18px;background:rgba(20,22,25,.92);backdrop-filter:blur(16px);border:1px solid var(--line2);transform:translateY(-140%);transition:transform .45s cubic-bezier(.2,1.2,.4,1);max-width:520px;margin:0 auto}
.ftoast.in{transform:none}
.ftoast img{width:44px;height:44px;border-radius:50%;object-fit:cover;object-position:top;background:var(--card2)}
.ftoast b{display:block;font-size:14px}.ftoast span{font-size:12.5px;color:var(--tx2)}
.ft-ic{width:44px;height:44px;display:grid;place-items:center}.ft-lg{width:32px;height:32px}
/* ---------- full-screen lock ---------- */
.cele,.ce-card{display:none!important}
.cele2{position:fixed;inset:0;z-index:140;display:grid;place-items:center;pointer-events:auto}
.c2-bg{position:absolute;inset:0;background:radial-gradient(80% 60% at 50% 40%,rgba(47,216,137,.42),rgba(6,40,24,.92) 60%,rgba(3,12,8,.96));backdrop-filter:blur(10px);opacity:0;transition:opacity .4s}
.cele2.cash .c2-bg{background:radial-gradient(80% 60% at 50% 40%,rgba(255,194,61,.4),rgba(48,32,4,.92) 60%,rgba(12,8,2,.96))}
.cele2.in .c2-bg{opacity:1}
.c2-in{position:relative;text-align:center;padding:24px}
.c2-face{position:relative;width:150px;height:150px;margin:0 auto 22px;transform:scale(.6);opacity:0;transition:transform .6s cubic-bezier(.2,1.5,.4,1),opacity .3s}
.cele2.in .c2-face{transform:none;opacity:1}
.c2-face img{position:absolute;inset:10px;width:130px;height:130px;border-radius:50%;object-fit:cover;object-position:top;background:rgba(255,255,255,.08)}
.c2-lg{position:absolute;inset:10px;display:grid;place-items:center;border-radius:50%;background:rgba(255,255,255,.08)}.c2-logo{width:64px;height:64px}
.c2-ring{position:absolute;inset:0;width:150px;height:150px;transform:rotate(-90deg)}
.c2-ring circle{fill:none;stroke:#fff;stroke-width:4;stroke-linecap:round;stroke-dasharray:352;stroke-dashoffset:352;transition:stroke-dashoffset .9s .2s cubic-bezier(.6,0,.2,1)}
.cele2.in .c2-ring circle{stroke-dashoffset:0}
.c2-check{position:absolute;right:2px;bottom:6px;width:44px;height:44px;border-radius:50%;background:#fff;display:grid;place-items:center;transform:scale(0);transition:transform .45s 1s cubic-bezier(.2,1.8,.4,1)}
.cele2.in .c2-check{transform:scale(1)}
.c2-check svg{width:26px;height:26px;fill:none;stroke:#0b6b3f;stroke-width:3.2;stroke-linecap:round;stroke-linejoin:round}
.cele2.cash .c2-check svg{stroke:#8a5a00}
.c2-title{font-size:44px;font-weight:900;letter-spacing:-.03em;color:#fff;transform:translateY(16px);opacity:0;transition:all .5s .35s cubic-bezier(.2,1,.3,1)}
.c2-sub{font-size:16px;color:rgba(255,255,255,.85);margin-top:6px;transform:translateY(16px);opacity:0;transition:all .5s .45s}
.c2-stat{display:inline-flex;align-items:baseline;gap:8px;margin-top:18px;padding:10px 18px;border-radius:999px;background:rgba(255,255,255,.12);transform:translateY(16px);opacity:0;transition:all .5s .55s}
.c2-stat b{font-size:28px;font-weight:900;color:#fff}.c2-stat span{font-size:13px;color:rgba(255,255,255,.8)}
.c2-tap{margin-top:30px;font-size:12px;color:rgba(255,255,255,.55);opacity:0;transition:opacity .4s 1.2s}
.cele2.in .c2-title,.cele2.in .c2-sub,.cele2.in .c2-stat{transform:none;opacity:1}.cele2.in .c2-tap{opacity:1}
.cele2.out .c2-bg,.cele2.out .c2-in{opacity:0;transition:opacity .4s}
/* write-up bold */
.why p b{color:var(--tx);font-weight:800}
.why{background:var(--card)!important;border:1px solid var(--line)!important}
.why h4{color:var(--acc)!important}

/* v10.1 compact rolled legs */
.rp-legs{display:flex;flex-direction:column;gap:8px}
.rleg{display:grid;grid-template-columns:minmax(0,1fr) 40px;align-items:stretch;border:1px solid var(--line);background:var(--card);border-radius:16px;overflow:hidden;transition:border-color .2s}
.rleg.held{border-color:rgba(47,216,137,.65);background:rgba(47,216,137,.05)}
.rleg.spinning{opacity:.85}.rleg.land{animation:flip3d .5s cubic-bezier(.2,1.3,.4,1)}
.rl-main{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:10px;align-items:center;padding:9px 6px 9px 10px;min-width:0}
.rl-main .hs{width:40px;height:40px}
.rl-txt{min-width:0}
.rl-txt>b{display:block;font-size:14.5px;font-weight:800;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rl-pick{display:flex;align-items:center;gap:6px;margin-top:3px;min-width:0;overflow:hidden}
.rl-pk{font-size:12px;font-weight:800;color:var(--acc);white-space:nowrap}
.rl-pk.u{color:#6cb8ff}
.rl-pick .heat{transform:scale(.85);transform-origin:left center;flex-shrink:0}
.rl-why{font-size:10.5px;font-weight:700;color:#ffb347;white-space:nowrap}
.rl-sub{font-size:11px;color:var(--mut);margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.rl-pct{text-align:right;padding-left:4px}
.rl-pct b{font-size:20px;font-weight:900;line-height:1}.rl-pct b small{font-size:11px}
.rl-pct span{display:block;font-size:10.5px;color:var(--mut);margin-top:2px}
.rl-act{display:flex;flex-direction:column;border-left:1px solid var(--line)}
.rl-act button{flex:1;display:grid;place-items:center;background:none;border:0;color:var(--mut);cursor:pointer}
.rl-act button+button{border-top:1px solid var(--line)}
.rl-act button.on{color:var(--up);background:rgba(47,216,137,.1)}
.rl-act .lk{width:17px;height:17px}.rl-act .ci{width:16px;height:16px}
.rl-act button.on .lk{stroke:var(--up)}.rl-act button.on .lk .shk{transform:none}.rl-act button.on .lk rect{fill:rgba(47,216,137,.25)}.rl-act button.on .lk circle{fill:var(--up)}
/* edit popup: colored probability bars */
.ed-bars{display:flex;flex-direction:column;gap:6px}
.ebar{display:grid;grid-template-columns:62px minmax(0,1fr) 40px 46px;gap:10px;align-items:center;padding:9px 10px;border-radius:12px;border:1px solid var(--line2);background:var(--card);color:var(--tx);font:inherit;cursor:pointer;text-align:left}
.ebar.on{border-color:var(--acc);background:rgba(47,216,137,.08)}
.eb-l{font-weight:800;font-size:14px}
.eb-t{height:8px;border-radius:4px;background:var(--line2);overflow:hidden}.eb-t i{display:block;height:100%;border-radius:4px}
.ebar b{font-size:14px;font-weight:900;text-align:right}
.ebar em{font-style:normal;font-size:11.5px;color:var(--mut);text-align:right}
.ed .rl-lab{display:flex;justify-content:space-between;align-items:center}
.ed-quick{background:none;border:1px solid var(--line2);border-radius:999px;padding:4px 10px;color:var(--tx2);font:inherit;font-size:11px;font-weight:700;text-transform:none;letter-spacing:0;cursor:pointer}
/* sports row: evenly spread */
.rp-sports{display:grid!important;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:6px;overflow:visible!important}
.rp-sports button{min-width:0!important;width:100%;padding:8px 0!important}

/* ===================== v11 ===================== */
:root{--f:'Manrope',system-ui,-apple-system,sans-serif;--fd:'Sora','Manrope',system-ui,sans-serif;--fm:'Sora',ui-monospace,monospace}
body{font-family:var(--f);letter-spacing:-.005em}
h1,h2,.h1,.rp-tt h1,.pname,.rl-txt>b,.sc-h b,.c2-title,.pct,.num,b.num,.gtr em,.gtr b,.rl-pct b,.sc-pay b,.lv-score b{font-family:var(--fd)}
.num{font-variant-numeric:tabular-nums;letter-spacing:-.01em}
/* every page scrolls fully above the tab bar */
main{padding-bottom:calc(120px + var(--safe-b,0px))}
#days{display:none!important}
/* sports bar: evenly spaced, centered */
.leagues{display:grid!important;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;overflow:visible!important;padding:4px 16px 10px!important}
.leagues .lg{min-width:0!important;width:100%;justify-content:center;padding:8px 4px!important;gap:5px;font-size:13px}
.leagues .lg svg{width:16px;height:16px}
/* live tabs: pill segmented with sliding look */
.lvtabs{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:4px;padding:4px;margin:12px 0;border-radius:14px;background:var(--card);border:1px solid var(--line)}
.lvtabs button{height:38px;border-radius:10px;border:0;background:none;color:var(--mut);font:inherit;font-weight:800;font-size:13.5px;cursor:pointer;transition:all .2s}
.lvtabs button.on{background:var(--tx);color:var(--bg)}
/* alerts toggle */
.tgl{display:flex;align-items:center;gap:8px;background:none;border:1px solid var(--line2);border-radius:999px;padding:5px 6px 5px 12px;color:var(--tx2);font:inherit;font-size:12.5px;font-weight:700;cursor:pointer}
.tgl i{width:34px;height:20px;border-radius:999px;background:var(--line2);position:relative;transition:background .2s}
.tgl i::after{content:'';position:absolute;left:2px;top:2px;width:16px;height:16px;border-radius:50%;background:#fff;transition:transform .2s cubic-bezier(.3,1.4,.5,1)}
.tgl.on{color:var(--tx)}.tgl.on i{background:var(--acc)}.tgl.on i::after{transform:translateX(14px)}
/* play-by-play: aligned rows, new plays pop in */
.fp{display:grid!important;grid-template-columns:4px 22px minmax(0,1fr) 40px!important;gap:10px!important;align-items:center;padding:10px 12px 10px 0!important;border-radius:14px!important}
.fp-lg{width:22px;height:22px;object-fit:contain}
.fp-pts{justify-self:end;font-family:var(--fd);font-weight:800;color:var(--acc)}
.fp.new{animation:fpIn .55s cubic-bezier(.2,1.2,.4,1) both}
.fp.new:nth-child(2){animation-delay:.12s}.fp.new:nth-child(3){animation-delay:.24s}.fp.new:nth-child(4){animation-delay:.36s}
@keyframes fpIn{0%{opacity:0;transform:translateY(-14px) scale(.97);background:rgba(47,216,137,.18)}60%{background:rgba(47,216,137,.14)}100%{opacity:1;transform:none}}
.fp.sc{border-color:rgba(47,216,137,.35)!important}
tr.involved,.trk.involved{animation:inv 2.6s ease-out!important}
@keyframes inv{0%,45%{background:rgba(47,216,137,.28)}100%{background:transparent}}
.pbanner{font-family:var(--fd)}
/* courts: 3D, glossy, HD */
.court-wrap{perspective:900px;margin-top:12px}
.court-3d{transform:rotateX(18deg) translateY(-4px)!important;transform-origin:50% 100%;border-radius:18px;overflow:hidden;box-shadow:0 30px 40px -18px rgba(0,0,0,.85),0 0 0 1px rgba(255,255,255,.07)!important;position:relative}
.court-3d::after{content:'';position:absolute;inset:0;background:linear-gradient(160deg,rgba(255,255,255,.22) 0%,rgba(255,255,255,.04) 30%,transparent 55%,rgba(0,0,0,.25) 100%);pointer-events:none}
.court{filter:saturate(1.08) contrast(1.04)}
.evpop{animation:evp 1.6s cubic-bezier(.2,1.4,.4,1) forwards;transform-box:fill-box;transform-origin:center}
@keyframes evp{0%{opacity:0;transform:scale(.4)}15%{opacity:1;transform:scale(1.12)}25%{transform:scale(1)}80%{opacity:1}100%{opacity:0;transform:translateY(-3px)}}
.poss{transition:all .4s}
/* slips: collapsed summary + clear results */
.sc{cursor:pointer;transition:border-color .2s,transform .12s}
.sc:active{transform:scale(.995)}
.sc-peek{display:flex;align-items:center;gap:0;margin-top:10px}
.sc-peek .pk{margin-right:-8px;border-radius:50%;padding:2px;background:var(--card)}
.sc-peek .pk .hs{width:30px;height:30px;border:2px solid var(--line2);border-radius:50%}
.sc-peek .pk.hit .hs{border-color:var(--up)}.sc-peek .pk.miss .hs{border-color:var(--down);opacity:.6}.sc-peek .pk.risk .hs{border-color:#ff4d5e}.sc-peek .pk.live .hs{border-color:#ffb347}
.sc-more{margin-left:auto;font-style:normal;font-size:12px;font-weight:800;color:var(--mut)}
.sc.open .sc-legs{animation:fi .3s}
.lg{grid-template-columns:40px minmax(0,1fr) 46px!important;border-radius:14px;padding:10px 8px!important;margin:4px -8px 0;border-top:0!important}
.lg.hit{background:rgba(47,216,137,.1)}.lg.hit .lg-bar i{background:var(--up)!important}
.lg.miss{background:rgba(255,90,106,.09);opacity:1!important}.lg.miss .lg-t b{color:#ff8a96}
.lg.risk{background:rgba(255,77,94,.06)}
.lg-ic{display:flex;flex-direction:column;align-items:center;gap:3px}
.lg-ic em{font-style:normal;font-size:9.5px;font-weight:900;letter-spacing:.08em}
.lg.hit .lg-ic em{color:var(--up)}.lg.miss .lg-ic em{color:var(--down)}
.lg-ic em.rk{color:#ff4d5e}.lg-ic em.lvl{color:#ffb347}
.lg-ic .ok,.lg-ic .no{width:26px;height:26px}
.lg-ic .risk{width:24px;height:24px;border-radius:50%;background:rgba(255,77,94,.18);color:#ff4d5e;font-style:normal;font-weight:900;font-size:13px;display:grid;place-items:center}
/* player updates */
.card.upd{padding:12px}
.leagues .lg .ic,.leagues .lg svg{display:none!important}
.leagues .lg{display:flex!important;align-items:center;justify-content:center;height:36px;border-radius:12px!important;font-weight:800;font-size:13.5px;padding:0!important}
.leagues .lg span{white-space:nowrap}
.rl-dk{font-size:10px;font-weight:800;color:#53d337;border:1px solid rgba(83,211,55,.4);border-radius:6px;padding:1px 5px;white-space:nowrap}
.slip-bar.one{grid-template-columns:1fr}
.dock-open{display:none!important}
/* v12 fixes */
.hs.team{background:#fff;display:grid;place-items:center;overflow:hidden}
.hs.team .init{color:#0b1410;font-weight:800;font-size:11px}
.hs.team.has .init{display:none}
.hs.team img{width:78%;height:78%;object-fit:contain;position:absolute;inset:11%}
.sheet .pmeta,.ed-h span{white-space:normal}
.sheet .chips{flex-wrap:wrap;overflow:visible}
body.on-roll .rp{padding-top:var(--safe-t)}
.sheet{max-height:calc(92dvh - var(--safe-t))}
.inst p{margin:0 0 10px;font-size:15px;line-height:1.45;white-space:normal}

/* v13: one header, one logo, one type scale */
:root{--logo:28px}
.top{padding:calc(10px + var(--safe-t)) 16px 10px;min-height:calc(56px + var(--safe-t))}
.top .logo,.onb-logo,.ld-logo,.rp-lg{width:var(--logo)!important;height:var(--logo)!important;border-radius:0!important;box-shadow:none!important;filter:drop-shadow(0 0 12px rgba(47,216,137,.28))!important}
.brand,.onb-top,.ld-top{display:flex;align-items:center;gap:8px;font-family:var(--fd);font-weight:800;font-size:20px;letter-spacing:-.04em;color:var(--tx)}
.brand .word,.onb-top span,.ld-top span{font-size:20px;letter-spacing:-.04em;font-weight:800}
.top .icon-btn svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.hrow{margin:4px 0 14px}
.hrow .h1{font-size:30px!important;line-height:1.05;margin:0 0 4px!important;letter-spacing:-.035em;font-weight:800}
.hrow .sub{font-size:13px;color:var(--tx3);margin:0!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100vw - 40px)}
.rp .hrow{margin-top:4px}
.tv-i{width:13px;height:13px;flex-shrink:0;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.gt-tv{display:flex;align-items:center;gap:5px;min-width:0}.gt-tv span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.lv-tv{display:flex;align-items:center;justify-content:center;gap:6px}.lv-tv .tv-i{width:14px;height:14px}
.gsec h3 .lv-dot{margin-right:2px}
.gt-lg{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.06em;color:var(--tx3);border:1px solid var(--line2);border-radius:6px;padding:1px 5px;margin-right:2px}
.rp-opt .seg button{min-width:0;padding-left:0;padding-right:0}
.pmeta.wrap{white-space:normal}
.rs-step{border-top:1px solid var(--line);padding:12px 0}.rs-step>b{font-family:var(--fd);font-size:15px}
.rs-step p{margin:6px 0 0;font-size:13.5px;line-height:1.5;color:var(--tx2)}
.rs-tag{display:inline-block;font-size:10px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;padding:2px 6px;border-radius:6px;margin-right:6px;background:rgba(255,77,94,.12);color:#ff7b88}
.rs-tag.go{background:rgba(47,216,137,.14);color:var(--acc)}
.rs-bud table{width:100%;border-collapse:collapse;margin:4px 0 14px;font-size:13px}
.rs-bud th{text-align:left;font-size:11px;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3);padding:6px 4px;border-bottom:1px solid var(--line)}
.rs-bud th:not(:first-child),.rs-bud td.num{text-align:right;white-space:nowrap;width:64px}
.rs-bud td{padding:9px 4px;border-bottom:1px solid var(--line);vertical-align:top}
.rs-bud td span{display:block;color:var(--tx3);font-size:12px;line-height:1.4;margin-top:2px}
.rs-bud tr.tot td{border-bottom:0;font-weight:800;color:var(--acc)}
body.no-lgbar #leagues{display:none!important}
/* v14: athletic display type, slip tickets, segmented bars, archive, draft bar */
:root{--fx:'Big Shoulders Display','Anton','Sora',sans-serif}
.hrow .h1{font-family:var(--fx)!important;font-size:40px!important;font-weight:900!important;text-transform:uppercase;letter-spacing:.005em!important;line-height:.95!important}
.sec h3{font-family:var(--fx)!important;font-size:22px!important;font-weight:800!important;text-transform:uppercase!important;letter-spacing:.02em!important}
.rp-targets b{font-family:var(--fx);font-size:24px;font-weight:900;letter-spacing:0}
.rp-payline b,.kpi b{font-family:var(--fx);font-weight:900;font-size:24px;letter-spacing:.01em}
.rl-pct b{font-family:var(--fx);font-weight:900;font-size:28px;letter-spacing:0}
.gtr em{font-family:var(--fx);font-weight:900;font-size:30px;font-style:normal;letter-spacing:0}
.lv-score b{font-family:var(--fx)!important;font-weight:900!important;letter-spacing:0}
.cele2 h2,.c2-t{font-family:var(--fx)!important;text-transform:uppercase}
/* slip ticket */
.sc{padding:14px 14px 12px;border-radius:20px}
.sc-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:2px}
.sc-kind{font-family:var(--fx);font-weight:800;font-size:15px;letter-spacing:.09em;color:var(--tx2)}
.sc-date{font-size:12px;color:var(--tx3);font-weight:600}
.sc-h{align-items:flex-end!important;margin-bottom:10px}
.sc-h .sc-x{font-family:var(--fx);font-weight:900;font-size:46px;line-height:.9;letter-spacing:0;color:var(--tx);display:flex!important;align-items:baseline}
.sc-x i{font-style:normal;font-size:28px;margin-left:2px;color:var(--acc)}
.sc.won .sc-h .sc-x{color:var(--acc)}.sc.lost .sc-h .sc-x{color:var(--tx2)}
.sc-pay span{font-size:12px;color:var(--tx3)}
.sc-pay b{font-family:var(--fx);font-weight:900;font-size:26px!important;letter-spacing:.01em}
.sc-st{font-family:var(--fx);font-weight:800;font-size:14px;letter-spacing:.06em}
.sc-a{display:grid!important;grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px}
.sc-a button{height:44px!important;min-width:0;border-radius:12px!important;font-size:13px!important}
.sc-a button span{white-space:nowrap}
.slip-seg{display:grid!important;grid-template-columns:1fr 1fr;margin-bottom:12px}
.slip-seg i,.arch-f i{font-style:normal;opacity:.55;margin-left:4px}
.arch-f{margin:0 0 12px}
/* segmented progress */
.lg-bar{position:relative;height:7px!important}
.lg-bar::after{content:'';position:absolute;inset:0;pointer-events:none;background:repeating-linear-gradient(90deg,transparent 0 calc(var(--sp,100%) - 2px),rgba(10,11,13,.85) calc(var(--sp,100%) - 2px) var(--sp,100%))}
/* draft bar */
#draftbar{position:fixed;left:12px;right:12px;bottom:calc(74px + var(--safe-b,0px));z-index:40;display:none;align-items:center;gap:8px;padding:10px 10px 10px 14px;border-radius:16px;background:rgba(22,26,30,.96);border:1px solid var(--line2);box-shadow:0 12px 30px rgba(0,0,0,.45);backdrop-filter:blur(14px)}
#draftbar.on{display:flex}
.db-l{flex:1;min-width:0}.db-l b{display:block;font-family:var(--fx);font-weight:800;font-size:17px;letter-spacing:.04em;text-transform:uppercase}.db-l span{font-size:12px;color:var(--tx3)}
.db-b{width:96px;height:40px;border-radius:12px;border:0;font:inherit;font-weight:800;font-size:13px;background:var(--acc);color:#04130b;cursor:pointer}
.db-b.ghost{background:var(--card2);color:var(--tx2);border:1px solid var(--line2)}
body:has(#draftbar.on) main{padding-bottom:calc(190px + var(--safe-b,0px))}
.tkt{width:12px;height:12px;flex-shrink:0;color:var(--acc);vertical-align:-1px}
.tstar .tkt{margin-right:4px}.tk-key{display:inline-flex;align-items:center;gap:5px}
.trk-tabs button{display:inline-flex;align-items:center;gap:6px}
/* v15 roll: setup panel + full-screen reveal */
.rp-setup{background:linear-gradient(180deg,rgba(47,216,137,.06),rgba(255,255,255,.02));border:1px solid var(--line);border-radius:22px;padding:12px;margin-bottom:14px}
.rp-setup .rp-targets{margin-bottom:10px}
.rp-setup .style-def{margin:6px 2px 10px;font-size:12.5px}
.rp-setup .rp-opts{margin-top:4px}
.rp-styles button{--sc:var(--acc);display:inline-flex;align-items:center;justify-content:center;gap:6px}
.rp-styles .sdot{width:7px;height:7px;border-radius:50%;background:var(--sc);box-shadow:0 0 8px var(--sc)}
.rp-styles .st-smart{--sc:#2fd889}.rp-styles .st-streaks{--sc:#ff8a3d}.rp-styles .st-match{--sc:#5ab0ff}.rp-styles .st-opp{--sc:#b98cff}
.rp-styles button.on{background:color-mix(in srgb,var(--sc) 16%,transparent)!important;border-color:color-mix(in srgb,var(--sc) 70%,transparent)!important;color:#fff!important;box-shadow:0 0 18px color-mix(in srgb,var(--sc) 25%,transparent)}
.rp-hero{display:flex;flex-direction:column;align-items:center;text-align:center;padding:26px 10px 10px;gap:6px}
.rp-hero b{font-family:var(--fx);font-weight:900;font-size:30px;text-transform:uppercase;letter-spacing:.01em}
.rp-hero span{font-size:13px;color:var(--tx3)}
.rp-tk{width:86px;height:86px;border-radius:26px;display:grid;place-items:center;background:radial-gradient(circle at 50% 35%,rgba(47,216,137,.25),rgba(47,216,137,.04) 70%);border:1px solid rgba(47,216,137,.35);box-shadow:0 0 40px rgba(47,216,137,.25);animation:tkfloat 3.2s ease-in-out infinite;margin-bottom:6px}
.rp-tk .rp-tk-logo{width:48px;height:48px}
@keyframes tkfloat{50%{transform:translateY(-6px) rotate(-4deg);box-shadow:0 0 60px rgba(47,216,137,.4)}}
/* full screen result */
body.roll-full{overflow:hidden}
body.roll-full .tabbar,body.roll-full header.top{visibility:hidden}
.rp.full{position:fixed;inset:0;z-index:60;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:calc(8px + var(--safe-t)) 14px calc(110px + var(--safe-b,0px));background:radial-gradient(120% 60% at 50% -10%,rgba(47,216,137,.22),transparent 60%),var(--bg);animation:rvin .35s cubic-bezier(.2,.9,.3,1)}
@keyframes rvin{from{opacity:0;transform:scale(.98)}}
.rp.full .rp-setup{display:none}
.rv-top{display:flex;align-items:center;justify-content:space-between;height:48px}
.rv-x{width:40px;height:40px;border-radius:12px;border:1px solid var(--line2);background:var(--card2);color:var(--tx);display:grid;place-items:center;cursor:pointer}
.rv-sp{width:40px}
.rv-brand{display:flex;align-items:center;gap:8px;font-family:var(--fx);font-weight:900;font-size:18px;letter-spacing:.14em}
.rv-brand .rv-logo{width:24px;height:24px}
.rv-hero{position:relative;overflow:hidden;text-align:center;padding:12px 6px 16px;margin-bottom:10px}
.rv-kind{display:block;font-family:var(--fx);font-weight:800;font-size:16px;letter-spacing:.12em;color:var(--tx2)}
.rv-x2{display:inline-flex;align-items:baseline;font-family:var(--fx);font-weight:900;font-size:76px;line-height:.9;letter-spacing:0;color:#fff;text-shadow:0 0 40px rgba(47,216,137,.45)}
.rv-x2 i{font-style:normal;font-size:44px;color:var(--acc);margin-left:3px}
.rv-chance{display:flex;justify-content:space-between;font-size:12.5px;color:var(--tx3);margin:12px 2px 7px}.rv-chance b{color:var(--acc);font-family:var(--fx);font-size:17px;font-weight:900;margin-left:4px}
.rv-bar{height:9px;border-radius:6px;background:rgba(255,255,255,.07);overflow:hidden;position:relative}
.rv-bar i{display:block;height:100%;border-radius:6px;background:linear-gradient(90deg,#1fbf73,#2fd889,#7dffc0);box-shadow:0 0 14px rgba(47,216,137,.8);position:relative;animation:barfill 1.2s cubic-bezier(.2,.9,.3,1) both}
.rv-bar i::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);background-size:60px 100%;background-repeat:no-repeat;animation:barshine 2.2s linear infinite}
@keyframes barfill{from{width:0!important}}
@keyframes barshine{from{background-position:-60px 0}to{background-position:calc(100% + 60px) 0}}
.rv-hero.flash::before{content:'';position:absolute;inset:-40% -20%;background:linear-gradient(100deg,transparent 35%,rgba(47,216,137,.35) 50%,transparent 65%);animation:sweep 1s ease-out forwards;pointer-events:none}
@keyframes sweep{from{transform:translateX(-70%)}to{transform:translateX(70%);opacity:0}}
.rp.full .rleg{border-radius:20px;background:linear-gradient(160deg,rgba(255,255,255,.05),rgba(255,255,255,.015));border:1px solid var(--line2);margin-bottom:10px;min-height:92px}
.rp.full .rleg .hs{width:58px!important;height:58px!important;border-radius:18px!important}
.rp.full .rl-txt b{font-size:16.5px}
.rp.full .rleg.land{animation:flip3d .5s cubic-bezier(.2,1.3,.4,1),landglow 1.1s ease-out}
@keyframes landglow{0%{box-shadow:0 0 0 0 rgba(47,216,137,.9),0 0 50px rgba(47,216,137,.6);border-color:var(--acc)}100%{box-shadow:0 0 0 0 transparent;border-color:var(--line2)}}
.rp.full .rleg.spinning{filter:saturate(.6) blur(.3px)}
.rp-bar.three{grid-template-columns:1fr 1fr 1.6fr!important;z-index:61!important;bottom:0!important;padding-bottom:calc(14px + var(--safe-b,0px))!important}
.rv-btn{height:56px;border-radius:16px;border:1px solid var(--line2);background:var(--card2);color:var(--tx);font:inherit;font-weight:800;font-size:13px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;cursor:pointer}
.rv-btn .tkt,.rv-btn svg{width:18px;height:18px}
.rp-bar.three .roll-cta{font-size:16px!important}
.sc-pbar{height:8px;border-radius:5px;background:rgba(255,255,255,.07);overflow:hidden;margin:0 0 10px}
.sc-pbar i{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#1fbf73,#2fd889,#7dffc0);box-shadow:0 0 12px rgba(47,216,137,.75);position:relative;transition:width 1s cubic-bezier(.2,.9,.3,1);animation:barfill 1.2s cubic-bezier(.2,.9,.3,1) both}
.sc-pbar i::after{content:'';position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.55),transparent);background-size:50px 100%;background-repeat:no-repeat;animation:barshine 2.4s linear infinite}
.sc.lost .sc-pbar i{background:linear-gradient(90deg,#7a2a33,#ff5a6a);box-shadow:none}
.lg-o{display:flex;align-items:baseline;gap:8px}.lg-o em{font-style:normal;font-family:var(--fx);font-weight:900;font-size:16px;color:var(--acc)}
.fmt-pick{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin:2px 0 12px}
.fmt{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px 12px;border-radius:18px;border:1px solid var(--line2);background:var(--card2);color:var(--tx2);font:inherit;cursor:pointer;transition:all .2s}
.fmt b{font-family:var(--fx);font-weight:900;font-size:22px;color:var(--tx)}.fmt span{font-size:12px}
.fmt-box{display:block;border:2px solid var(--tx3);border-radius:10px;transition:all .2s}
.fmt-box.f45{width:48px;height:60px}.fmt-box.f916{width:38px;height:68px}
.fmt.on{border-color:rgba(47,216,137,.6);background:rgba(47,216,137,.08);box-shadow:0 0 22px rgba(47,216,137,.22)}
.fmt.on .fmt-box{border-color:var(--acc);box-shadow:0 0 14px rgba(47,216,137,.7),inset 0 0 10px rgba(47,216,137,.25)}
.share-wrap{display:grid;place-items:center;min-height:240px;margin-bottom:12px}
.share-prev{display:block;width:auto!important;max-width:100%;max-height:52vh;border-radius:18px;border:1px solid var(--line2);box-shadow:0 20px 50px rgba(0,0,0,.5)}
.rp.full .rl-main{grid-template-columns:58px minmax(0,1fr) auto;gap:12px;padding:12px 8px 12px 12px}
.rp.full .rl-act{border-left:1px solid var(--line)}
.sheet-wrap{z-index:90!important}
.rp-hero{padding:18px 10px 6px}.rp-tk{width:70px;height:70px;border-radius:22px}.rp-tk .rp-tk-logo{width:40px;height:40px}.rp-hero b{font-size:26px}
.share-act .btn{display:flex!important;flex-direction:row!important;align-items:center;justify-content:center;gap:8px;height:52px}.share-act .btn .ic{display:inline-flex}
/* v16 */
.leagues .lg .ic,.leagues .lg svg{display:inline-block!important;width:15px;height:15px}
.leagues .lg{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.sbadge{width:100%;height:100%;display:grid;place-items:center;background:linear-gradient(145deg,#2fd889,#169a5c);color:#04130b;border-radius:inherit}
.sbadge svg{width:55%;height:55%}
.upav{overflow:hidden}.upav .init{position:absolute;inset:0;display:grid}.upav.has .init{display:none}.upav.thumb img{width:100%;height:100%;object-fit:cover}
.usrc{font-size:10.5px;font-weight:800;color:var(--tx3);border:1px solid var(--line2);border-radius:6px;padding:0 5px}
/* confirm dialog */
.cfm-card b{font-family:var(--fx);font-weight:900;font-size:26px;text-transform:uppercase;letter-spacing:.01em}
.cfm-sub{display:block;font-style:normal;font-weight:600;font-size:16px;color:var(--tx);margin-top:4px}
.cfm-card p b.g{font-family:inherit;font-size:inherit;color:var(--acc);font-weight:900;text-transform:none}
.cfm-btns .btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px}
.dspark{position:relative;display:inline-grid;place-items:center;width:24px;height:24px}
.dspark .dice{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.9}.dspark .dice circle{fill:currentColor;stroke:none}
.dspark .sp{position:absolute;width:8px;height:8px;background:currentColor;clip-path:polygon(50% 0,62% 38%,100% 50%,62% 62%,50% 100%,38% 62%,0 50%,38% 38%);animation:twk 1.4s ease-in-out infinite}
.dspark .s1{top:-5px;right:-6px}.dspark .s2{bottom:-3px;left:-7px;width:6px;height:6px;animation-delay:.45s}.dspark .s3{top:-4px;left:-2px;width:5px;height:5px;animation-delay:.9s}
@keyframes twk{0%,100%{transform:scale(.4) rotate(0);opacity:.4}50%{transform:scale(1.15) rotate(45deg);opacity:1}}
/* drawer */
#drawer{position:fixed;inset:0;z-index:95;pointer-events:none}
#drawer .dw-bg{position:absolute;inset:0;background:rgba(0,0,0,.55);opacity:0;transition:opacity .3s;backdrop-filter:blur(2px)}
#drawer .dw{position:absolute;top:0;right:0;bottom:0;width:min(86%,360px);background:#101317;border-left:1px solid var(--line2);padding:calc(14px + var(--safe-t)) 16px calc(20px + var(--safe-b,0px));transform:translateX(100%);transition:transform .38s cubic-bezier(.2,.9,.25,1);display:flex;flex-direction:column;gap:14px;overflow-y:auto;box-shadow:-20px 0 50px rgba(0,0,0,.5)}
#drawer.in{pointer-events:auto}#drawer.in .dw-bg{opacity:1}#drawer.in .dw{transform:none}
.dw-h{display:flex;justify-content:space-between;align-items:center}.dw-h b{font-family:var(--fx);font-weight:900;font-size:30px;text-transform:uppercase}
.dw-x{width:38px;height:38px;border-radius:12px;border:1px solid var(--line2);background:var(--card2);color:var(--tx);display:grid;place-items:center}
.dw-sec{background:var(--card);border:1px solid var(--line);border-radius:18px;padding:4px 14px}
.dw-row{display:flex;justify-content:space-between;align-items:center;min-height:54px;gap:10px;border-bottom:1px solid var(--line);font-weight:700;font-size:14.5px}.dw-row:last-child{border-bottom:0}
.dw-row select{background:var(--card2);color:var(--tx);border:1px solid var(--line2);border-radius:10px;height:36px;padding:0 8px;font:inherit;font-size:13.5px;max-width:58%}
.dw-in{display:flex;align-items:center;gap:4px;background:var(--card2);border:1px solid var(--line2);border-radius:10px;height:36px;padding:0 10px}.dw-in i{font-style:normal;color:var(--tx3);font-weight:800}.dw-in input{width:70px;background:none;border:0;color:var(--tx);font:inherit;font-weight:800;text-align:right;outline:none}
.dw-btn{display:block;width:100%;height:50px;background:none;border:0;border-bottom:1px solid var(--line);color:var(--tx);font:inherit;font-weight:700;font-size:14.5px;text-align:left;cursor:pointer}.dw-btn:last-child{border-bottom:0}
.dw-research{display:flex;align-items:center;gap:12px;width:100%;height:64px;border-radius:18px;border:1px solid rgba(185,140,255,.5);background:linear-gradient(120deg,rgba(124,77,255,.28),rgba(255,194,61,.16));color:#fff;padding:0 16px;font:inherit;cursor:pointer;box-shadow:0 0 26px rgba(124,77,255,.25);position:relative;overflow:hidden}
.dw-research::after{content:'';position:absolute;inset:0;background:linear-gradient(110deg,transparent 30%,rgba(255,255,255,.18) 50%,transparent 70%);animation:sweepx 3.2s ease-in-out infinite}
@keyframes sweepx{from{transform:translateX(-100%)}to{transform:translateX(100%)}}
.dw-research span{width:34px;height:34px;border-radius:10px;background:rgba(255,255,255,.12);display:grid;place-items:center}.dw-research span svg{width:16px;height:16px}
.dw-research b{font-family:var(--fx);font-weight:900;font-size:22px;text-transform:uppercase;letter-spacing:.03em}.dw-research em{margin-left:auto;font-style:normal;font-size:11px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:#d9c6ff}
.dw-foot{margin-top:auto;font-size:11px;color:var(--tx3);text-align:center}
/* slips: completed, swipe, won gloss, bigger avatars */
.sw-wrap{position:relative;margin-bottom:12px;border-radius:20px}
.sw-wrap .sc{margin-bottom:0;position:relative;z-index:1;will-change:transform}
.sw-del{position:absolute;inset:0;display:flex;justify-content:flex-end;align-items:stretch;border-radius:20px;background:rgba(255,77,94,.14)}
.sw-del button{width:88px;border:0;background:none;color:#ff6b78;font:inherit;font-weight:800;font-size:12px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px}
.sw-del svg{width:20px;height:20px}
.sc-a.two{grid-template-columns:1fr 1fr!important}
.sc-peek .pk .hs,.sc-peek .pk{width:46px!important;height:46px!important}
.sc-peek .pk{margin-right:-8px}
.sc-kind{font-size:17px!important;font-weight:900!important;color:var(--tx)!important;letter-spacing:.07em!important}
.sc-date{font-family:var(--fx);font-weight:800;font-size:16px!important;letter-spacing:.06em;color:var(--tx2)!important;text-transform:uppercase}
.sc.won{background:linear-gradient(150deg,rgba(47,216,137,.28),rgba(47,216,137,.08) 55%,rgba(255,255,255,.02))!important;border-color:rgba(47,216,137,.75)!important;box-shadow:0 0 30px rgba(47,216,137,.28),inset 0 1px 0 rgba(255,255,255,.18);overflow:hidden;position:relative}
.sc-gloss{position:absolute;inset:0;pointer-events:none;background:linear-gradient(115deg,transparent 30%,rgba(255,255,255,.28) 46%,rgba(190,255,225,.12) 52%,transparent 64%);animation:gloss 3.4s ease-in-out infinite;z-index:0}
@keyframes gloss{0%{transform:translateX(-110%)}60%,100%{transform:translateX(110%)}}
.sc.won .sc-st{color:var(--acc)!important}
/* coach tour */
#coach{position:fixed;inset:0;z-index:100;pointer-events:none;opacity:0;transition:opacity .35s}
#coach.in{opacity:1}#coach.out{opacity:0}
.co-hole{position:fixed;border-radius:20px;box-shadow:0 0 0 9999px rgba(3,6,5,.78);transition:all .45s cubic-bezier(.2,.9,.25,1)}
.co-ring{position:absolute;inset:-3px;border-radius:22px;border:2px solid var(--acc);box-shadow:0 0 22px rgba(47,216,137,.7);animation:coring 1.6s ease-in-out infinite}
@keyframes coring{50%{inset:-9px;opacity:.35}}
.co-hand{position:fixed;width:38px;height:38px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.95) 0 30%,rgba(47,216,137,.6) 31% 55%,transparent 56%);transform:translate(-50%,-50%);transition:left .45s cubic-bezier(.2,.9,.25,1),top .45s cubic-bezier(.2,.9,.25,1);animation:tapme 1.3s ease-in-out infinite}
@keyframes tapme{0%,100%{transform:translate(-50%,-50%) scale(1)}45%{transform:translate(-50%,-50%) scale(.72)}55%{transform:translate(-50%,-50%) scale(.72);box-shadow:0 0 0 0 rgba(47,216,137,.6)}90%{box-shadow:0 0 0 22px rgba(47,216,137,0)}}
.co-tip{position:fixed;left:18px;right:18px;max-width:394px;margin:0 auto;background:#0f1a15;border:1px solid rgba(47,216,137,.45);border-radius:18px;padding:14px 16px;pointer-events:auto;box-shadow:0 18px 40px rgba(0,0,0,.5),0 0 30px rgba(47,216,137,.15)}
#coach.step .co-tip{animation:tipin .45s cubic-bezier(.2,1.3,.4,1)}
@keyframes tipin{from{opacity:0;transform:translateY(10px) scale(.96)}}
.co-tip b{display:block;font-family:var(--fx);font-weight:900;font-size:26px;text-transform:uppercase;letter-spacing:.01em}
.co-tip span{display:block;font-size:13.5px;color:var(--tx2);margin-top:2px}
.co-nav{display:flex;justify-content:space-between;align-items:center;margin-top:10px}.co-nav em{font-style:normal;font-size:11.5px;font-weight:800;color:var(--acc);letter-spacing:.06em}
.co-nav button{background:none;border:0;color:var(--tx3);font:inherit;font-weight:700;font-size:13px}
.sw-del{opacity:0;transition:opacity .2s}.sw-wrap.sw-on .sw-del,.sw-wrap.open .sw-del{opacity:1}
.sw-wrap .sc{background-color:var(--card)}
.sc.won{background:none!important;background-color:#0f1a15!important;background-image:linear-gradient(150deg,rgba(47,216,137,.28),rgba(47,216,137,.08) 55%,rgba(255,255,255,.02))!important}
.onb-body h1{font-family:var(--fx)!important;font-weight:900!important;text-transform:uppercase;font-size:40px!important;letter-spacing:.005em!important}
/* v17 edit popup, player page */
.ed-bars.five{display:grid;grid-template-rows:repeat(5,48px);gap:6px}
.ebar.void{opacity:.32;pointer-events:none;filter:grayscale(1)}
.ed-alts.three{display:grid;grid-template-rows:repeat(3,74px);gap:8px;max-height:none!important;overflow:visible!important}
.ed-alts.three .alt{display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;gap:10px;height:74px;padding:0 12px;text-align:left;border-radius:16px}
.ed-alts.three .alt.void{border:1px dashed var(--line2);background:none}
.ed-alts.three .alt .hs{width:44px;height:44px;border-radius:14px}
.al-m{min-width:0;display:flex;flex-direction:column;gap:2px}.al-m b{font-size:14.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.al-pk{font-size:12.5px;font-weight:800;color:var(--acc)}.al-pk.u{color:#5ab0ff}
.al-why{display:flex;align-items:center;gap:6px;font-size:11.5px;color:var(--tx3);min-width:0}.al-why i{font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ed-alts.three .alt em{font-family:var(--fx);font-weight:900;font-size:24px;font-style:normal}
.rleg.updated{animation:updglow 1.3s ease-out}
.rleg.updated::after{content:'Updated';position:absolute;right:52px;top:8px;font-size:10px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:#04130b;background:var(--acc);border-radius:6px;padding:2px 6px;animation:updtag 1.6s ease-out forwards}
.rleg{position:relative}
@keyframes updglow{0%{box-shadow:0 0 0 2px var(--acc),0 0 36px rgba(47,216,137,.6);transform:scale(1.015)}100%{box-shadow:none;transform:none}}
@keyframes updtag{0%{opacity:0;transform:translateY(4px)}15%,75%{opacity:1;transform:none}100%{opacity:0}}
.pl-avg{margin:4px 0 12px}.pl-avgseg{display:grid!important;grid-auto-flow:column;grid-auto-columns:1fr;margin-bottom:8px}
.pl-avg .pl-l5{margin:0}
.lad{display:grid;grid-template-columns:repeat(5,1fr);gap:6px;margin:10px 0}
.lad-c{display:flex;flex-direction:column;align-items:center;gap:4px;padding:10px 4px;border-radius:14px;border:1px solid var(--line2);background:var(--card2);color:var(--tx);font:inherit;cursor:pointer}
.lad-c span{font-size:11.5px;font-weight:800;color:var(--tx3)}.lad-c b{font-family:var(--fx);font-weight:900;font-size:20px}
.lad-c i{display:flex;align-items:flex-end;width:10px;height:44px;border-radius:5px;background:rgba(255,255,255,.07);overflow:hidden}.lad-c i em{display:block;width:100%;border-radius:5px}
.lad-c small{font-size:11px;font-weight:800;color:var(--tx2)}
.lad-c.on{border-color:var(--acc);background:rgba(47,216,137,.1);box-shadow:0 0 16px rgba(47,216,137,.2)}.lad-c.on span{color:var(--acc)}
.why.read{max-height:none!important;overflow:visible!important}.why.read p{display:block!important;-webkit-line-clamp:unset!important;overflow:visible!important}.why.read .more{display:none}
.ed-alts.three .alt{display:flex!important;flex-direction:row!important}
.ed-alts.three .alt .al-m{flex:1;order:2}.ed-alts.three .alt .hs{order:1;flex-shrink:0}.ed-alts.three .alt em{order:3;margin-left:auto;flex-shrink:0}
.rleg.updated::after{right:auto;left:14px;top:-9px}
.rleg.updated::after{left:10px!important;top:5px!important;right:auto!important;font-size:9px;padding:1px 5px;z-index:2}
/* v18: roll setup fits one screen */
body.on-roll .hrow{margin:0 0 8px}body.on-roll .hrow .h1{font-size:34px!important}body.on-roll .hrow .sub{display:none}
.rp-setup{padding:10px;margin-bottom:8px}
.rp-setup .rp-targets{margin-bottom:8px}.rp-setup .rp-targets button{height:52px!important;padding:4px 0!important}
.rp-setup .rp-targets b{font-size:21px}
.rp-setup .rp-styles button{height:38px!important}
.rp-setup .style-def{margin:6px 2px 8px!important;font-size:12px!important;font-weight:700;color:var(--tx3)!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center;letter-spacing:.02em}
.rp-setup .rp-sports{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px;margin-bottom:8px}
.rp-setup .rp-sports button{height:40px!important;min-height:0!important;flex-direction:row!important;gap:5px!important;padding:0!important;font-size:12.5px}
.rp-setup .rp-sports button svg{width:15px!important;height:15px!important}
.rp-setup .rp-opt,.rp-setup .when{min-height:0!important;margin:0 0 6px!important}
.rp-setup .rp-opt .seg,.rp-setup .when .seg{height:38px}
.rp-setup .rp-opt .seg button,.rp-setup .when button{height:32px!important}
.rp-hero{display:none}
@media (min-height:860px){.rp-hero{display:flex;padding:8px 10px 0}.rp-tk{width:54px;height:54px;border-radius:18px}.rp-tk .rp-tk-logo{width:30px;height:30px}.rp-hero b{font-size:22px}}
body.on-roll main{padding-bottom:calc(150px + var(--safe-b,0px))!important;min-height:0!important}body.on-roll #view{min-height:0!important}
body.on-roll .rp:not(.full){padding-bottom:0!important}
.rp-next{font-size:11.5px;font-weight:800;color:#ffc23d;background:rgba(255,194,61,.1);border:1px solid rgba(255,194,61,.3);border-radius:10px;padding:5px 10px;margin:0 0 6px;text-align:center}
.rv-x2 i,.sc-h .sc-x i{font-size:inherit!important;margin-left:2px}
.rp-bar .roll-cta:disabled{opacity:.45;filter:grayscale(.6);box-shadow:none!important}
/* draft + add leg + save OK */
.rp:not(.full) .rp-legs,.rp:not(.full) .rv-add,.rp:not(.full) .rp-payline,.rp:not(.full) .rp-sumbar,.rp:not(.full) .note,.rp:not(.full) .pmeta.wrap{display:none!important}
.rp-draft{position:fixed;left:14px;right:14px;bottom:calc(158px + var(--safe-b,0px));z-index:31;display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:18px;border:1px solid rgba(47,216,137,.45);background:linear-gradient(120deg,rgba(47,216,137,.16),rgba(16,22,19,.96));box-shadow:0 10px 30px rgba(0,0,0,.45),0 0 24px rgba(47,216,137,.15);color:var(--tx);font:inherit;text-align:left;cursor:pointer;animation:tipin .4s cubic-bezier(.2,1.3,.4,1)}
.rd-av{display:flex}.rd-av .hs{width:30px!important;height:30px!important;border-radius:50%!important;border:2px solid #0f1a15;margin-right:-9px}
.rd-t{flex:1;min-width:0;margin-left:10px;display:flex;flex-direction:column}.rd-t b{font-family:var(--fx);font-weight:900;font-size:17px;letter-spacing:.04em}.rd-t i{font-style:normal;font-size:11.5px;color:var(--tx3)}
.rd-go{font-weight:800;font-size:13px;color:var(--acc)}
.rv-add{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;height:58px;margin:2px 0 10px;border-radius:20px;border:1.5px dashed rgba(47,216,137,.45);background:rgba(47,216,137,.05);color:var(--acc);font:inherit;font-weight:800;font-size:15px;cursor:pointer}
.ra-plus{width:26px;height:26px;border-radius:50%;background:var(--acc);color:#04130b;display:grid;place-items:center;font-size:18px;font-weight:900;line-height:1}
.sp-okbtn{margin-top:14px;height:50px}
#savepop{pointer-events:auto!important}

/* ===== V1.1: age gate, auth, account, feedback, chat, reactions ===== */
#agegate{position:fixed;inset:0;z-index:300;display:grid;place-items:center;padding:24px;background:radial-gradient(90% 60% at 50% 0%,rgba(47,216,137,.22),transparent 60%),#07080a;opacity:0;transition:opacity .4s}
#agegate.in{opacity:1}#agegate.out{opacity:0;pointer-events:none}
.ag-in{max-width:380px;text-align:center;animation:agup .6s cubic-bezier(.2,1,.3,1)}
@keyframes agup{from{transform:translateY(24px);opacity:0}}
.ag-logo svg{width:72px;height:72px;margin:0 auto 18px;filter:drop-shadow(0 0 30px rgba(47,216,137,.45))}
.ag-k{font-family:var(--fx,'Big Shoulders Display');font-weight:900;letter-spacing:.14em;text-transform:uppercase;color:var(--acc);font-size:14px}
.ag-in h1{font-family:var(--fx,'Big Shoulders Display');font-weight:900;font-size:44px;line-height:.95;margin:8px 0 12px;text-transform:uppercase}
.ag-in p{color:var(--tx2);font-size:14.5px;margin:0 0 22px}.ag-in p a{color:var(--acc)}
.ag-yes{width:100%;height:56px;border-radius:16px;background:linear-gradient(180deg,#5cf0b0,#2fd189);color:#05170f;font-weight:800;font-size:16px;box-shadow:0 10px 30px rgba(47,216,137,.3),inset 0 1px 0 rgba(255,255,255,.5)}
.ag-no{width:100%;height:50px;margin-top:10px;border-radius:16px;border:1px solid var(--line2);color:var(--tx2);font-weight:700}
.ag-legal{margin-top:22px;font-size:12px;color:var(--tx3);line-height:1.5}.ag-legal a{color:var(--tx2)}

.ax{position:fixed;inset:0;z-index:250;display:flex;align-items:flex-end;justify-content:center}
.ax-bg{position:absolute;inset:0;background:rgba(0,0,0,.6);backdrop-filter:blur(6px);opacity:0;transition:opacity .35s}
.ax.in .ax-bg{opacity:1}
.ax-card{position:relative;width:100%;max-width:560px;max-height:94dvh;overflow:auto;background:linear-gradient(180deg,#121a16,#0b0c0e 40%);border:1px solid var(--line2);border-bottom:0;border-radius:28px 28px 0 0;padding:26px 22px calc(26px + var(--safe-b));transform:translateY(100%);transition:transform .45s cubic-bezier(.2,1,.3,1);text-align:center}
.ax.in .ax-card{transform:none}
.ax-x,.ax-back{position:absolute;top:14px;width:36px;height:36px;border-radius:50%;background:var(--card2);color:var(--tx2);font-size:16px;display:grid;place-items:center}
.ax-x{right:14px}.ax-back{left:14px;font-size:24px;line-height:1}
.ax-hero{position:relative;width:120px;height:120px;margin:10px auto 14px;display:grid;place-items:center}
.ax-orb svg{width:68px;height:68px;position:relative;z-index:2;filter:drop-shadow(0 0 24px rgba(47,216,137,.55));animation:orbf 3.2s ease-in-out infinite}
@keyframes orbf{50%{transform:translateY(-5px) rotate(-3deg)}}
.ax-rings i{position:absolute;inset:0;border-radius:50%;border:1px solid rgba(47,216,137,.35);animation:ring 3s ease-out infinite}
.ax-rings i:nth-child(2){animation-delay:1s}.ax-rings i:nth-child(3){animation-delay:2s}
@keyframes ring{from{transform:scale(.5);opacity:1}to{transform:scale(1.35);opacity:0}}
.ax-card h2{font-family:var(--fx,'Big Shoulders Display');font-weight:900;font-size:34px;line-height:1;margin:0 0 8px;text-transform:uppercase;letter-spacing:.01em}
.ax-sub{color:var(--tx2);font-size:14.5px;margin:0 auto 22px;max-width:340px}
.ax-btns{display:grid;gap:10px}
.ax-b{height:54px;border-radius:16px;display:flex;align-items:center;justify-content:center;gap:10px;font-weight:700;font-size:15.5px;transition:transform .15s}
.ax-b:active{transform:scale(.98)}.ax-b svg{width:20px;height:20px}
.ax-b.apple{background:#fff;color:#000}.ax-b.google{background:#1c1f24;border:1px solid var(--line2)}.ax-b.mail{background:var(--card2);border:1px solid var(--line2)}
.ax-b.mail svg{color:var(--acc)}
.ax-b.nope{animation:shake .4s}
.ax-or{display:flex;align-items:center;gap:12px;color:var(--tx3);font-size:12px;margin:4px 0}.ax-or::before,.ax-or::after{content:'';flex:1;height:1px;background:var(--line)}
.ax-fine{margin-top:18px;font-size:11.5px;color:var(--tx3)}.ax-fine a{color:var(--tx2)}
.ax-h2{margin-top:16px!important}
.ax-form{display:grid;gap:12px;text-align:left}
.ax-form.shake{animation:shake .4s}
@keyframes shake{20%,60%{transform:translateX(-6px)}40%,80%{transform:translateX(6px)}}
.ax-f{position:relative;display:block;background:var(--card);border:1px solid var(--line2);border-radius:14px;padding:8px 14px 6px;transition:border-color .2s,box-shadow .2s}
.ax-f:focus-within{border-color:var(--acc);box-shadow:0 0 0 4px rgba(47,216,137,.12)}
.ax-f span{display:block;font-size:11px;font-weight:800;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3)}
.ax-f input{width:100%;background:none;border:0;outline:0;font-size:16px;padding:4px 0;color:var(--tx);color-scheme:dark}
.ax-eye{position:absolute;right:12px;bottom:10px;font-size:12px;font-weight:700;color:var(--acc)}
.ax-err{min-height:18px;color:var(--down);font-size:13px;font-weight:600}
.ax-go{height:54px;border-radius:16px;background:linear-gradient(180deg,#5cf0b0,#2fd189);color:#05170f;font-weight:800;font-size:16px;box-shadow:0 10px 26px rgba(47,216,137,.28);position:relative}
.ax-go.busy span{opacity:0}.ax-go.busy::after{content:'';position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px;border-radius:50%;border:2.5px solid #05170f;border-right-color:transparent;animation:spin .7s linear infinite}
.ax-swap{margin-top:16px;color:var(--tx2);font-size:14px}.ax-swap b{color:var(--acc)}
.ax-done{padding:30px 0 10px}
.ax-check svg{width:76px;height:76px;margin:0 auto 16px;fill:none;stroke:var(--acc);stroke-width:3;stroke-linecap:round;stroke-linejoin:round}
.ax-check circle{stroke-dasharray:151;stroke-dashoffset:151;animation:drw .6s ease forwards}.ax-check path{stroke-dasharray:40;stroke-dashoffset:40;animation:drw .4s .5s ease forwards}
@keyframes drw{to{stroke-dashoffset:0}}

.acc-card{display:flex;align-items:center;gap:12px;background:linear-gradient(120deg,rgba(47,216,137,.14),var(--card));border:1px solid rgba(47,216,137,.3);border-radius:18px;padding:12px 14px}
.acc-av{width:42px;height:42px;border-radius:50%;background:var(--acc);color:#05170f;display:grid;place-items:center;font-weight:900;font-size:18px;font-family:var(--fx)}
.acc-tx{flex:1;min-width:0;text-align:left}.acc-tx b{display:block;font-size:15px}.acc-tx span{display:block;font-size:12px;color:var(--tx2);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.acc-out{font-size:12.5px;font-weight:700;color:var(--tx2);padding:8px 10px;border-radius:10px;background:var(--card2)}
.acc-cta{display:flex;align-items:center;gap:12px;width:100%;padding:14px;border-radius:18px;background:linear-gradient(120deg,rgba(47,216,137,.2),rgba(47,216,137,.04));border:1px solid rgba(47,216,137,.4);box-shadow:0 0 28px rgba(47,216,137,.12)}
.acc-cta-l svg{width:40px;height:40px}.acc-cta em{font-style:normal;font-size:24px;color:var(--acc)}
.dw-ic{display:flex;align-items:center;gap:10px}.dw-ic svg{width:18px;height:18px;color:var(--acc)}.dw-ic i{font-style:normal}
.dw-legal{display:flex;flex-wrap:wrap;gap:6px 14px;justify-content:center;font-size:12px;color:var(--tx3);padding:4px 0}.dw-legal a,.dw-legal button{color:var(--tx3);text-decoration:none;font-size:12px}.dw-legal button{color:#ff8a95}

.pfoot{margin:36px 4px 12px;padding:22px 4px 8px;border-top:1px solid var(--line);text-align:center;color:var(--tx3);font-size:12px}
.pf-l{display:flex;align-items:center;justify-content:center;gap:8px;font-family:var(--fd);font-weight:800;color:var(--tx2);font-size:15px}.pf-l svg{width:22px;height:22px}
.pfoot nav{display:flex;flex-wrap:wrap;justify-content:center;gap:6px 16px;margin:12px 0}.pfoot nav a,.pfoot nav button{color:var(--tx2);text-decoration:none;font-size:12.5px;font-weight:600}
.pf-admin{color:var(--tx3)!important;opacity:.7}.pfoot p{margin:0;line-height:1.5}

.fb h2,.rg h2,.ios-push h2{font-family:var(--fx);font-weight:900;font-size:30px;text-transform:uppercase;margin:4px 0 6px}
.fb-sub,.rg p,.ios-push p{color:var(--tx2);font-size:14px;margin:0 0 16px}
.fb-kinds{display:flex;gap:8px;margin-bottom:12px;flex-wrap:wrap}.fb-kinds button{padding:9px 14px;border-radius:999px;border:1px solid var(--line2);font-weight:700;font-size:13px;color:var(--tx2)}
.fb-kinds button.on{background:var(--acc);border-color:var(--acc);color:#05170f}
.fb textarea,.fb input{width:100%;background:var(--card);border:1px solid var(--line2);border-radius:14px;padding:12px 14px;color:var(--tx);font-size:16px;font-family:inherit;outline:0;margin-bottom:10px}
.fb textarea{height:140px;resize:none}.fb textarea:focus,.fb input:focus{border-color:var(--acc)}
.fb-done{text-align:center;padding:24px 0}
.rg ul,.ios-push ol{color:var(--tx2);font-size:14px;padding-left:20px;margin:0 0 18px;line-height:1.7}
.rg .btn{display:grid;place-items:center;text-decoration:none;background:var(--acc);color:#05170f}.rg-link{display:block;text-align:center;margin-top:12px;color:var(--tx2);font-size:13px}
.ip-ic svg{width:40px;height:40px;color:var(--acc);margin-bottom:6px}

/* chat */
.lvt-chat{position:relative}.lvt-chat .chat-dot{position:absolute;top:6px;right:6px;width:7px;height:7px;border-radius:50%;background:var(--down);opacity:0;transition:opacity .2s}.lvt-chat.dot .chat-dot{opacity:1}
.chat{position:relative;display:flex;flex-direction:column;background:var(--card);border:1px solid var(--line);border-radius:20px;overflow:hidden;margin-top:8px}
.ch-top{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid var(--line);font-size:12px}
.ch-live{display:flex;align-items:center;gap:7px;font-weight:800;color:var(--tx)}.ch-live i{width:7px;height:7px;border-radius:50%;background:var(--acc);box-shadow:0 0 0 0 rgba(47,216,137,.6);animation:pulseg 1.8s infinite}
@keyframes pulseg{70%{box-shadow:0 0 0 7px rgba(47,216,137,0)}}
.ch-rules{color:var(--tx3)}
.ch-list{height:min(46dvh,420px);overflow-y:auto;padding:10px 12px;display:flex;flex-direction:column;gap:10px;overscroll-behavior:contain}
.ch-empty{margin:auto;text-align:center;color:var(--tx3);font-size:13px;max-width:240px}.ch-empty b{display:block;color:var(--tx);font-size:15px;margin:6px 0 4px}.ch-e-ic{font-size:30px}
.cm{display:flex;gap:9px;animation:cmin .3s ease}
@keyframes cmin{from{opacity:0;transform:translateY(8px)}}
.cm-av{flex:none;width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:900;font-size:13px;background:hsl(var(--h) 55% 28%);color:hsl(var(--h) 90% 82%)}
.cm-b{min-width:0;flex:1}.cm-h{display:flex;gap:8px;align-items:baseline;font-size:12px}.cm-h b{color:hsl(var(--h) 80% 72%)}.cm-h span{color:var(--tx3);font-size:11px}
.cm-t{font-size:14.5px;line-height:1.35;word-wrap:break-word;cursor:pointer;padding:1px 0}
.cm.me .cm-av{background:var(--acc);color:#05170f}.cm.me .cm-h b{color:var(--acc)}
.rx-chips{display:flex;flex-wrap:wrap;gap:5px;margin-top:5px}
.rx-c{display:flex;align-items:center;gap:4px;height:26px;padding:0 8px;border-radius:999px;background:var(--card2);border:1px solid var(--line2);font-size:14px;animation:rxin .3s cubic-bezier(.2,1.6,.4,1)}
.rx-c b{font-size:11.5px;font-family:var(--fm);color:var(--tx2)}.rx-c.me{border-color:var(--acc);background:rgba(47,216,137,.14)}.rx-c.me b{color:var(--acc)}
@keyframes rxin{from{transform:scale(.4)}}
.ch-play{padding:8px 14px;border-top:1px solid var(--line);background:linear-gradient(90deg,rgba(47,216,137,.08),transparent)}
.chp-l em{display:block;font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}.chp-l span{font-size:12.5px;color:var(--tx2);display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}
.ch-rx{display:flex;justify-content:space-between;gap:4px;padding:8px 10px;border-top:1px solid var(--line)}
.ch-rx button{flex:1;display:flex;flex-direction:column;align-items:center;gap:2px;padding:6px 0;border-radius:12px;transition:background .15s}
.ch-rx button:active{background:var(--card2)}.ch-rx span{font-size:24px;line-height:1;transition:transform .2s}.ch-rx i{font-style:normal;font-size:9.5px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--tx3)}
.ch-rx button.pop span{animation:rxpop .45s cubic-bezier(.2,1.8,.4,1)}
@keyframes rxpop{40%{transform:scale(1.55) rotate(-10deg)}}
.ch-in{display:flex;gap:8px;padding:8px 10px calc(10px);border-top:1px solid var(--line)}
.ch-in input{flex:1;height:44px;border-radius:22px;background:var(--bg2);border:1px solid var(--line2);padding:0 16px;color:var(--tx);font-size:16px;outline:0}.ch-in input:focus{border-color:var(--acc)}
.ch-in button{width:44px;height:44px;border-radius:50%;background:var(--acc);display:grid;place-items:center}.ch-in svg{width:18px;height:18px;fill:#05170f}
.ch-err{height:0;overflow:hidden;color:var(--down);font-size:12.5px;font-weight:600;text-align:center;transition:height .2s}.ch-err.on{height:22px}
.ch-join{margin:10px;height:48px;border-radius:14px;background:linear-gradient(180deg,#5cf0b0,#2fd189);color:#05170f;font-weight:800}
.ch-burst{position:absolute;inset:0;pointer-events:none;overflow:hidden}
.rx-fly{position:absolute;bottom:90px;font-size:30px;transform:scale(var(--sc));animation:fly 1.8s cubic-bezier(.2,.7,.4,1) forwards;filter:drop-shadow(0 4px 10px rgba(0,0,0,.5))}
.rx-fly.fixed{position:fixed;bottom:120px;z-index:200}
@keyframes fly{0%{opacity:0;transform:translate(0,20px) scale(.4)}15%{opacity:1;transform:translate(0,0) scale(var(--sc))}100%{opacity:0;transform:translate(var(--dx),-300px) rotate(var(--rot)) scale(calc(var(--sc) * .8))}}
.rx-pop{position:fixed;z-index:210;display:grid;grid-template-columns:repeat(6,1fr);gap:2px;padding:6px;border-radius:20px;background:rgba(24,27,31,.96);backdrop-filter:blur(14px);border:1px solid var(--line2);box-shadow:0 14px 40px rgba(0,0,0,.6);transform:scale(.7) translateY(10px);opacity:0;transition:transform .25s cubic-bezier(.2,1.5,.4,1),opacity .15s}
.rx-pop.in{transform:none;opacity:1}.rx-pop button{font-size:24px;height:42px;border-radius:12px;transition:transform .12s}.rx-pop button:active{transform:scale(1.3)}
.prx{display:flex;align-items:center;gap:4px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.prx .rx-chips{margin:0}.prx .rx-c{height:24px;font-size:13px}
.prx-add{width:26px;height:26px;border-radius:50%;border:1px dashed var(--line2);color:var(--tx3);font-size:14px;flex:none}
@keyframes spin{to{transform:rotate(360deg)}}
.fp .prx{grid-column:3/-1;justify-content:flex-start;margin:-4px 0 0;gap:5px}
.fp .prx-add{width:24px;height:22px;border-radius:11px;font-size:12px;opacity:.7}
#drawer .dw>*{flex-shrink:0}
.lv:has(.chat) .lv-tv{display:none}
.ch-list{height:max(240px,calc(100dvh - 520px - var(--safe-b)))}
/* QA: no clipped text in roll legs; tags move to the info line and wrap cleanly */
.rl-pick{flex-wrap:wrap;overflow:visible;row-gap:4px}
.rl-pick .heat{flex-shrink:0}
.rl-sub{display:flex;align-items:center;flex-wrap:wrap;gap:3px 6px;white-space:normal;overflow:visible}
.rl-sub .rl-g{white-space:nowrap}
.rl-sub .rl-why{font-size:10.5px;padding:1px 6px;border-radius:6px;background:rgba(255,179,71,.12);line-height:1.5}
.rl-sub .rl-dk{line-height:1.4}
.rl-txt b{display:block;line-height:1.15}
/* QA: solid bottom bar, nothing shows through the gaps */
.rp-bar{background:var(--bg)!important}
.rp-bar::before{content:'';position:absolute;left:0;right:0;bottom:100%;height:28px;background:linear-gradient(180deg,rgba(10,11,13,0),var(--bg));pointer-events:none}
.rp.full{padding-bottom:calc(130px + var(--safe-b,0px))!important}
/* QA: sport buttons centered */
.leagues .lg{margin:0!important;justify-content:center!important;align-items:center!important;text-align:center}
.leagues .lg svg,.leagues .lg .ic{display:block!important;flex:none;margin:0!important}
.rp-sports button,.rp-setup .rp-sports button{justify-content:center!important;align-items:center!important;text-align:center}
.rp-sports button svg,.rp-sports button .ic{display:block;flex:none;margin:0!important}
.rp-sports button span{line-height:1}
.when-seg button{flex:1 1 auto!important;min-width:max-content!important;padding:0 7px!important;overflow:visible!important;text-overflow:clip!important;font-size:12.5px!important}
.hrow .sub{white-space:normal!important;overflow:visible!important;max-width:none!important}
.pname{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;line-height:1.2}
.acc-tx span{white-space:normal!important;overflow:visible!important}
.rp-setup .rp-sports{margin:0 0 8px!important;padding:0!important}
.rp-styles button{padding-left:2px!important;padding-right:2px!important;min-width:0;letter-spacing:-.01em}
@media (max-width:390px){.rp-styles button{font-size:12.5px!important}}

/* ===== Live game tabs: one line, branded type, icon-only chat ===== */
.lvtabs{display:flex!important;gap:4px;padding:4px}
.lvtabs button{flex:1 1 0;min-width:0;height:40px;display:flex;align-items:center;justify-content:center;white-space:nowrap;font-family:var(--fx)!important;font-weight:800!important;font-size:15px!important;letter-spacing:.06em;text-transform:uppercase;line-height:1;padding:0 4px;color:var(--tx3)}
.lvtabs button.on{background:var(--tx);color:var(--bg)}
.lvtabs .lvt-chat{flex:0 0 48px;position:relative;color:var(--tx2)}
.lvtabs .lvt-chat .cti{width:21px;height:21px}
.lvtabs .lvt-chat.off{opacity:.45}
.ct-n{position:absolute;top:3px;right:3px;min-width:17px;height:17px;padding:0 4px;border-radius:9px;background:var(--acc);color:#05170f;font:900 10.5px/17px var(--f);letter-spacing:0;text-align:center;transform:scale(0);transition:transform .25s cubic-bezier(.2,1.6,.4,1);box-shadow:0 0 0 2px var(--card),0 0 12px rgba(47,216,137,.6)}
.ct-n.show{transform:scale(1)}
.lvt-chat.bump .cti{animation:ctbump .7s cubic-bezier(.2,1.6,.4,1)}
.lvt-chat.bump .ct-n{animation:ctn .7s cubic-bezier(.2,1.6,.4,1)}
@keyframes ctbump{0%{transform:none}25%{transform:translateY(-5px) rotate(-10deg)}50%{transform:translateY(0) rotate(6deg)}75%{transform:translateY(-2px)}}
@keyframes ctn{0%{transform:scale(1)}30%{transform:scale(1.5)}60%{transform:scale(.9)}100%{transform:scale(1)}}
@media (max-width:360px){.lvtabs button{font-size:13.5px!important;letter-spacing:.03em}}

/* chat v2 */
.chat{isolation:isolate}
.ch-burst{position:absolute;inset:0;pointer-events:none;overflow:hidden;z-index:0}
.chat>*:not(.ch-burst){position:relative;z-index:1}
.ch-list{background:transparent}
.ch-top{justify-content:space-between}
.ch-tg{display:flex;align-items:center;gap:7px;font-size:11.5px;font-weight:800;color:var(--tx2);letter-spacing:.04em;text-transform:uppercase}
.ch-tg i{width:30px;height:18px;border-radius:9px;background:var(--acc);position:relative}.ch-tg i::after{content:'';position:absolute;top:2px;right:2px;width:14px;height:14px;border-radius:50%;background:#05170f}
.ch-empty .cti{width:34px;height:34px;margin:0 auto;color:var(--tx3)}
.ch-play{display:flex;flex-direction:column;gap:1px}
.ch-play em{font-style:normal;font-size:10.5px;font-weight:800;letter-spacing:.08em;text-transform:uppercase;color:var(--acc)}.ch-play span{font-size:12.5px;color:var(--tx2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ch-rx button{gap:4px}
.ch-rx .rxi{width:28px;height:28px;transition:transform .2s;filter:drop-shadow(0 3px 6px rgba(0,0,0,.4))}
.ch-rx i{font-style:normal;font-family:var(--fx);font-size:11px;font-weight:800;letter-spacing:.05em;text-transform:uppercase;color:var(--tx3);white-space:nowrap}
.ch-rx button.pop .rxi{animation:rxpop .45s cubic-bezier(.2,1.8,.4,1)}
.ch-rules{padding:0 14px 10px;font-size:10.5px;color:var(--tx3);text-align:center;letter-spacing:.02em}
.ch-err{text-align:center}
.rxi{display:block;width:18px;height:18px;flex:none}.rxt{font-size:15px;line-height:1;width:auto;height:auto}
.rx-c .rxi{width:17px;height:17px}
.rx-pop{grid-template-columns:repeat(6,1fr)!important;gap:4px!important;padding:8px!important}
.rx-pop button{height:44px!important;display:grid;place-items:center}.rx-pop .rxi{width:28px;height:28px}
.prx .rx-c .rxi{width:15px;height:15px}
.rx-big{position:absolute;bottom:-120px;width:150px;height:150px;margin-left:-75px;opacity:0;animation:rxbig 2.5s cubic-bezier(.2,.7,.3,1) forwards}
.rx-big .rxi{width:100%;height:100%;filter:drop-shadow(0 10px 30px rgba(0,0,0,.5))}
@keyframes rxbig{0%{transform:translateY(0) scale(.5) rotate(0);opacity:0}15%{opacity:.33}70%{opacity:.25}100%{transform:translateY(-520px) scale(1.15) rotate(var(--rot));opacity:0}}
.rx-fly{position:absolute;bottom:20px;width:34px;height:34px;opacity:0;animation:fly2 2.2s cubic-bezier(.2,.7,.4,1) forwards}
.rx-fly .rxi{width:100%;height:100%}
@keyframes fly2{0%{opacity:0;transform:translate(0,30px) scale(.3)}12%{opacity:.9;transform:translate(0,0) scale(var(--sc))}100%{opacity:0;transform:translate(var(--dx),-440px) rotate(var(--rot)) scale(calc(var(--sc) * .7))}}
.chat.off{padding:28px 18px;text-align:center}
.ch-offbox{display:flex;flex-direction:column;align-items:center;gap:6px;color:var(--tx3);font-size:13px}.ch-offbox .cti{width:34px;height:34px}.ch-offbox b{color:var(--tx);font-size:15px}.ch-offbox .ch-join{width:100%;margin:12px 0 0}
.seg button,.chip,.rp-styles button,.rp-targets button,.sport-row button,.cta button,.btn,.rv-btn,.db-b,.fb-kinds button,.tgl span{white-space:nowrap}
/* chat name colors */
.cm-av{background:color-mix(in srgb,var(--c) 22%,#0f1215)!important;color:var(--c)!important;border:1px solid color-mix(in srgb,var(--c) 40%,transparent)}
.cm-h b{color:var(--c)!important}
.cm.me .cm-av{background:var(--acc)!important;color:#05170f!important;border-color:var(--acc)}
.cm.me .cm-h b{color:var(--acc)!important}

/* selected toggles light up Propper green everywhere */
.seg button.on,.lvtabs button.on,.sport-row button.on,.leagues .lg.on{background:var(--acc)!important;color:#05170f!important;border-color:var(--acc)!important;box-shadow:0 4px 14px rgba(47,216,137,.28)!important}
.seg button.on i,.seg button.on span,.seg button.on b{color:#05170f!important}
.sport-row button.on svg,.leagues .lg.on svg,.lvtabs button.on svg{color:#05170f!important}
.lvtabs .lvt-chat.on .ct-n{box-shadow:0 0 0 2px var(--acc)}

/* draft bar: obviously tappable */
#draftbar{padding:8px 8px 8px 8px!important;gap:8px!important}
#draftbar .db-l{flex:1;min-width:0;display:flex;align-items:center;gap:10px;text-align:left;color:var(--tx)}
.db-ic{position:relative;width:38px;height:38px;border-radius:12px;background:rgba(47,216,137,.14);display:grid;place-items:center;flex:none;color:var(--acc)}
.db-ic .tkt{width:20px;height:20px}
.db-ic i{position:absolute;top:-5px;right:-5px;min-width:18px;height:18px;border-radius:9px;background:var(--acc);color:#05170f;font:900 11px/18px var(--f);font-style:normal;text-align:center;padding:0 4px}
.db-tx{min-width:0;display:flex;flex-direction:column}
.db-tx b{font-size:14px;white-space:nowrap}.db-tx span{font-size:11.5px;color:var(--tx2);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.db-x{width:36px;height:36px;border-radius:11px;background:var(--card2);color:var(--tx3);display:grid;place-items:center;flex:none}.db-x svg{width:14px;height:14px}
#draftbar .db-b{height:38px;padding:0 16px;border-radius:12px;background:var(--acc);color:#05170f;font-weight:800;font-size:14px;flex:none}
#draftbar.hit{animation:dbhit .55s cubic-bezier(.2,1.6,.4,1)}
#draftbar.hit .db-ic{animation:dbic .55s cubic-bezier(.2,1.6,.4,1)}
@keyframes dbhit{0%{transform:none;box-shadow:0 12px 30px rgba(0,0,0,.45)}35%{transform:translateY(-6px) scale(1.02);box-shadow:0 0 0 2px var(--acc),0 14px 40px rgba(47,216,137,.35)}100%{transform:none}}
@keyframes dbic{40%{transform:scale(1.25) rotate(-8deg)}}
.fly-tk{position:fixed;z-index:300;display:flex;align-items:center;gap:6px;padding:7px 12px 7px 9px;border-radius:999px;background:var(--acc);color:#05170f;font-weight:800;font-size:12.5px;white-space:nowrap;max-width:220px;pointer-events:none;box-shadow:0 10px 30px rgba(47,216,137,.45)}
.fly-tk .tkt{width:16px;height:16px;flex:none}.fly-tk span{overflow:hidden;text-overflow:ellipsis}
.lv-st span{white-space:nowrap}
.toast{white-space:nowrap;max-width:calc(100vw - 32px)}
/* Bet it */
.bet-btn{display:flex;align-items:center;justify-content:center;gap:8px;width:100%;background:var(--card2)!important;border:1px solid rgba(47,216,137,.45)!important;color:var(--acc)!important}
.bet-btn .tkt{width:17px;height:17px}
.bk-card{border:1px solid color-mix(in srgb,var(--bk) 45%,var(--line2));background:linear-gradient(160deg,color-mix(in srgb,var(--bk) 10%,transparent),var(--card));border-radius:18px;padding:12px 12px 6px;margin-bottom:10px}
.bk-h{display:flex;align-items:center;gap:8px;margin-bottom:6px}.bk-h i{width:10px;height:10px;border-radius:50%;background:var(--bk);box-shadow:0 0 10px var(--bk)}.bk-h b{font-size:16px}.bk-h span{margin-left:auto;font-size:12px;color:var(--tx2);white-space:nowrap}
.bk-leg{display:flex;align-items:center;gap:10px;padding:9px 0;border-top:1px solid var(--line)}.bk-leg>div{flex:1;min-width:0}.bk-leg b{display:block;font-size:13.5px}.bk-leg span{font-size:12px;color:var(--tx2)}
.bk-add{flex:none;height:34px;padding:0 16px;border-radius:10px;background:var(--bk);color:#05170f;font-weight:800;font-size:13px;display:grid;place-items:center;text-decoration:none;white-space:nowrap}
.bk-add.done{background:var(--card2);color:var(--acc);border:1px solid var(--acc)}
.sc-a.three{grid-template-columns:repeat(3,1fr)!important}
/* aim slider in builder */
.aim{margin:2px 0 12px}
.aim-h{display:flex;align-items:baseline;justify-content:space-between;margin:0 2px 7px}
.aim-h span{font-family:var(--fx);font-weight:900;font-size:15px;letter-spacing:.08em;text-transform:uppercase}
.aim-h em{font-style:normal;font-size:11.5px;color:var(--tx3);white-space:nowrap}
.aim-track{position:relative;display:grid;grid-template-columns:repeat(var(--n),1fr);height:46px;border-radius:15px;background:var(--card);border:1px solid var(--line2);padding:4px;touch-action:none;user-select:none}
.aim-fill{position:absolute;left:4px;top:4px;bottom:4px;width:calc((100% - 8px) / var(--n) * (var(--i) + 1));border-radius:11px;background:linear-gradient(90deg,rgba(47,216,137,.08),rgba(47,216,137,.22));transition:width .3s cubic-bezier(.2,1,.3,1)}
.aim-thumb{position:absolute;top:4px;bottom:4px;left:calc(4px + (100% - 8px) / var(--n) * var(--i));width:calc((100% - 8px) / var(--n));border-radius:11px;background:var(--acc);box-shadow:0 6px 18px rgba(47,216,137,.4);transition:left .3s cubic-bezier(.2,1.2,.3,1)}
.aim-track button{position:relative;z-index:1;font-family:var(--fx);font-weight:900;font-size:17px;letter-spacing:.02em;color:var(--tx3);white-space:nowrap;transition:color .2s}
.aim-track button.on{color:#05170f}
.aim-track button.gold:not(.on){color:#ffc23d}
/* swipe-to-delete legs */
#rollLegs{overflow-x:clip}
.rleg{position:relative;transition:transform .25s cubic-bezier(.2,1,.3,1),opacity .2s}
.rl-del{position:absolute;top:0;bottom:0;left:100%;width:110px;margin-left:10px;border-radius:18px;background:#ff4d5e;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;font-size:12px;font-weight:800;opacity:.5;transition:opacity .15s}
.rl-del svg{width:18px;height:18px}
.rleg.del-arm .rl-del{opacity:1}
#rollLegs .rleg{overflow:visible}
#rollLegs .rl-act{border-radius:0 15px 15px 0;overflow:hidden}
.rp.full #rollLegs .rl-act{border-radius:0 19px 19px 0}
#rollLegs .rl-main{border-radius:15px 0 0 15px;overflow:hidden}
#upd-pill{position:fixed;left:50%;top:calc(10px + var(--safe-t,0px));transform:translate(-50%,-150%);z-index:400;display:flex;align-items:center;gap:8px;padding:9px 16px;border-radius:999px;background:var(--acc);color:#05170f;font-weight:800;font-size:13px;white-space:nowrap;box-shadow:0 10px 30px rgba(47,216,137,.45);transition:transform .4s cubic-bezier(.2,1.3,.4,1)}
#upd-pill.in{transform:translate(-50%,0)}#upd-pill i{width:8px;height:8px;border-radius:50%;background:#05170f;animation:pulseg 1.6s infinite}
/* swipe tray */
.rl-del{display:none!important}
.rleg.tray-open{transform:translateX(var(--tw))}
.rl-tray{position:absolute;top:0;bottom:0;left:100%;margin-left:8px;display:flex;gap:8px}
.rl-tray button{width:84px;border-radius:18px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;font-family:var(--fx);font-weight:900;font-size:15px;letter-spacing:.06em;white-space:nowrap}
.rl-tray svg{width:20px;height:20px}
.rt-roll{background:var(--acc);color:#05170f;box-shadow:0 8px 22px rgba(47,216,137,.35)}
.rt-roll .dice{fill:none;stroke:#05170f;stroke-width:1.8}.rt-roll .dice circle{fill:#05170f;stroke:none}
.rt-del{background:#ff4d5e;color:#fff}
.rleg.tray-open .rl-tray button{animation:trayin .3s cubic-bezier(.2,1.4,.4,1) backwards}.rleg.tray-open .rl-tray button+button{animation-delay:.05s}
@keyframes trayin{from{transform:scale(.7);opacity:0}}
.rleg.spinning .rl-tray{opacity:.5}
.rl-tray b{text-transform:uppercase}
/* ===== Type pass: clean, compact, never truncated ===== */
.pname,.pmeta,.gt .tn,.trk-l,.t,.sv-l,.dc-m b,.alt b,.alt span,.sp-legs span,.fp-t,.rp-sum,.slip-switch span,.phead h2,.ed-h b,.pl-card b,.lg-t b,.lg-s,.rl-txt>b,.rl-sub,.al-m b,.al-why i,.rp-setup .style-def,.ch-play span,.db-tx span,.gt-tv span,table.box td:first-child,.rl-g,.sc-kind,.bk-leg b,.bk-leg span{white-space:normal!important;overflow:visible!important;text-overflow:clip!important;overflow-wrap:break-word}
.rl-txt>b,.pname,.cm-h b,.bk-leg b,.db-tx b,.fp-t,.lg-t b,.sv-l,.trk-l{font-family:'Inter Tight',var(--f)!important;font-weight:700!important;letter-spacing:-.012em!important}
.rl-txt>b{font-size:14.5px!important;line-height:1.2!important}
.rp.full .rl-txt>b{font-size:15.5px!important}
.pname{font-size:14.5px!important;line-height:1.25!important}
.card.prop .pname{font-size:15px!important}
.rl-pk{font-family:'Inter Tight',var(--f);font-size:12.5px!important;font-weight:700!important}
.rl-sub,.pmeta{font-size:11.5px!important;line-height:1.35}
.rp.full .rleg .hs{width:50px!important;height:50px!important;border-radius:15px!important}
.rp.full .rleg{min-height:84px!important}
.rl-pct b{font-size:26px!important}
.bk-leg span b.bk-near{display:inline;color:#ffc23d;font-size:12px}
.bk-add.near{background:transparent;border:1px solid var(--bk);color:var(--bk)}
.bk-card.best{box-shadow:0 0 0 1px var(--bk),0 10px 30px color-mix(in srgb,var(--bk) 18%,transparent)}
.bk-pay{display:grid;grid-template-columns:1fr 1.2fr .8fr;gap:6px;margin:4px 0 6px}
.bk-pay>div{background:rgba(255,255,255,.04);border-radius:12px;padding:8px 10px;min-width:0}
.bk-pay em{display:block;font-style:normal;font-size:10px;font-weight:800;letter-spacing:.07em;text-transform:uppercase;color:var(--tx3);white-space:nowrap}
.bk-pay b{font-family:var(--fx);font-weight:900;font-size:22px;line-height:1.1;white-space:nowrap}.bk-pay b.g{color:var(--acc)}.bk-pay b.m{color:var(--tx3)}
.bk-leg.off{opacity:.45}
.bk-pr{flex:none;font-size:14px!important;display:block;color:var(--tx)}
.bk-all{display:flex;align-items:center;justify-content:center;gap:8px;height:50px;margin:10px 0 6px;border-radius:14px;background:var(--bk);color:#05170f;font-weight:800;font-size:15px;text-decoration:none;white-space:nowrap}
.bk-all .tkt{width:18px;height:18px}
.bk-add.alt{display:none}.bk-card.bk-single .bk-add.alt{display:grid}
.bk-one{display:block;width:100%;text-align:center;font-size:12px;color:var(--tx3);padding:2px 0 8px;text-decoration:underline}

/* Bet it rows: fixed grid so nothing can stretch or collapse */
.bk-leg{display:grid!important;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px}
.bk-leg>div{min-width:0}
.bk-leg .bk-add{width:64px!important;min-width:64px;max-width:64px;height:34px;padding:0!important;flex:none!important;justify-self:end}
.bk-leg .bk-pr{justify-self:end;white-space:nowrap}
.bk-leg b,.bk-leg span{overflow-wrap:break-word!important;word-break:normal!important}
/* chat keeps the court on screen; nothing shifts */
.lv:has(.chat) .court-3d{transform:none!important}
.lv:has(.chat) .court-3d svg{display:block;width:100%;max-height:150px}
.lv:has(.chat) .court-wrap{margin-top:8px}
.lv:has(.chat) .pbanner{display:none}
.lv-last{display:flex;flex-direction:column;justify-content:center;gap:1px;height:50px;margin-top:8px;padding:0 14px;border-radius:14px;background:linear-gradient(90deg,rgba(47,216,137,.12),var(--card));border:1px solid var(--line);overflow:hidden}
.lv-last em{font-style:normal;font-family:var(--fx);font-size:11px;font-weight:800;letter-spacing:.1em;text-transform:uppercase;color:var(--acc)}
.lv-last span{font-size:12.5px;line-height:1.25;color:var(--tx);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.lv:has(.chat) .lvtabs{margin:8px 0}
.chat{margin-top:0!important;overflow-anchor:none}
.ch-list{height:max(170px,calc(100svh - 706px - var(--safe-b,0px)))!important;overflow-anchor:none}
.ch-err{position:absolute!important;left:10px;right:10px;bottom:62px;height:auto!important;padding:6px 10px;border-radius:10px;background:#2a1216;border:1px solid rgba(255,90,106,.5);opacity:0;pointer-events:none;transition:opacity .2s;z-index:3}
.ch-err.on{opacity:1}
.ch-play{display:none!important}
/* reaction tiles */
.ch-rx{gap:6px!important;padding:8px 10px!important}
.ch-rx button{gap:5px!important;padding:0!important}
.ch-rx button .rx-tile{width:44px;height:44px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(160deg,color-mix(in srgb,var(--c) 24%,#14171b),#14171b 85%);border:1px solid color-mix(in srgb,var(--c) 38%,transparent);box-shadow:inset 0 1px 0 rgba(255,255,255,.07);transition:transform .15s}
.ch-rx button:active .rx-tile{transform:scale(.92)}
.ch-rx .rxi{width:26px!important;height:26px!important;filter:none!important}
.ch-rx button.pop .rx-tile{animation:rxpop .45s cubic-bezier(.2,1.8,.4,1)}
.ch-rx button.pop .rxi{animation:none!important}
.ch-rx i{font-size:10.5px!important;color:var(--tx2)!important}
.rx-pop button{border-radius:12px;background:rgba(255,255,255,.04)}
.lv:has(.chat) .court-3d svg{max-height:118px}
.ch-list{height:max(112px,calc(100svh - 722px - var(--safe-b,0px)))!important}
.ch-empty span{display:none}.ch-empty .cti{width:26px;height:26px}
body:has(.chat) main{padding-bottom:calc(84px + var(--safe-b,0px))!important}
/* Bet it buttons: centered, readable on every brand color */
.bk-leg .bk-add{display:grid!important;place-items:center;line-height:1;font-size:13px;font-weight:800;border-radius:10px;background:var(--bk);color:var(--bkt,#06120b);border:1px solid var(--bk);text-align:center}
.bk-leg .bk-add.alt{display:none!important}.bk-card.bk-single .bk-leg .bk-add.alt{display:grid!important}
.bk-leg .bk-add.near{background:color-mix(in srgb,var(--bk) 16%,transparent);color:#fff;border-color:var(--bk)}
.bk-leg .bk-add.done{background:var(--card2);color:var(--acc);border-color:var(--acc)}
.bk-all{color:var(--bkt,#06120b)!important;font-family:'Inter Tight',var(--f)}
.bk-all .tkt{color:var(--bkt,#06120b)}
.bk-h b{font-family:'Inter Tight',var(--f);font-weight:800}
.bk-leg{padding:10px 0!important}

/* ================= Responsive: tablet ================= */
@media (min-width:700px) and (max-width:999px){
  #app{max-width:720px}
  .tabbar,.rp-bar,#draftbar,.sheet,.rp-dock2{max-width:720px!important}
  .gg{grid-template-columns:repeat(3,minmax(0,1fr))!important}
  .rp{max-width:600px;margin:0 auto}
  .rp.full{padding-left:max(14px,calc((100vw - 640px)/2))!important;padding-right:max(14px,calc((100vw - 640px)/2))!important;max-width:none}
  .lv{max-width:640px;margin:0 auto}
  .ch-list{height:300px!important}
}

/* ================= Responsive: desktop ================= */
@media (min-width:1000px){
  :root{--sb:236px}
  html,body{background:radial-gradient(60% 50% at 60% 0%,rgba(47,216,137,.07),transparent 70%),var(--bg)}
  #app{max-width:none;margin:0;padding-left:var(--sb);padding-bottom:48px;min-height:100vh}
  #app::before{content:'';position:fixed;left:0;top:0;bottom:0;width:var(--sb);background:#0b0d0f;border-right:1px solid var(--line);z-index:29}
  /* sidebar: brand + nav */
  .top{position:fixed!important;left:0;top:0;width:var(--sb);z-index:32;padding:24px 18px 14px!important;background:none!important}
  .top .word{font-size:23px}.top .logo{width:32px;height:32px}
  .tabbar,.tabbar.three{position:fixed;left:0;right:auto;top:84px;bottom:0;width:var(--sb);max-width:none!important;margin:0;display:flex!important;flex-direction:column;justify-content:flex-start;gap:6px;padding:10px 12px!important;border:0!important;background:none!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;z-index:31}
  .tabbar button,.tabbar.three button{flex-direction:row!important;justify-content:flex-start;gap:14px!important;height:50px;padding:0 16px!important;border-radius:14px;font-family:'Inter Tight',var(--f);font-size:15.5px!important;font-weight:700!important;letter-spacing:0;color:var(--tx2);transition:background .15s,color .15s}
  .tabbar button:hover{background:rgba(255,255,255,.04);color:var(--tx)}
  .tabbar button.on{background:var(--card2);color:var(--tx)!important;box-shadow:inset 0 0 0 1px var(--line2)}
  .tabbar button span{font-size:inherit!important;font-weight:inherit!important;color:inherit!important}
  .tabbar .roll-tab{color:var(--acc)!important}.tabbar .roll-tab span{color:var(--acc)!important}
  .tabbar .roll-tab.on{background:rgba(47,216,137,.12);box-shadow:inset 0 0 0 1px rgba(47,216,137,.4)}
  .tabbar .badge{position:static!important;margin-left:auto}
  .tabbar .live-tab-dot{position:static!important;margin-left:auto}
  body.roll-full .tabbar,body.roll-full header.top{visibility:visible!important}
  /* content column */
  .leagues,.days,main{max-width:1040px;margin-left:auto!important;margin-right:auto!important;padding-left:36px!important;padding-right:36px!important}
  .leagues{padding-top:26px!important;position:static!important;background:none!important}
  main{padding-top:26px;padding-bottom:120px!important}
  body.on-roll main{padding-top:34px}
  body.no-lgbar main{padding-top:34px}
  .hrow .h1{font-size:54px!important}
  .gg{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(230px,1fr))!important;gap:14px!important}
  .gtile{transition:transform .15s,border-color .15s,box-shadow .15s}.gtile:hover{transform:translateY(-3px);border-color:rgba(47,216,137,.5);box-shadow:0 14px 30px rgba(0,0,0,.4)}
  #view:has(.slip-seg),#view:has(.rs-gate){max-width:680px;margin:0 auto}
  .lv{max-width:760px;margin:0 auto}
  .lv:has(.chat) .court-3d svg{max-height:200px}
  .ch-list{height:340px!important}
  /* roll */
  .rp:not(.full){max-width:600px;margin:0 auto}
  .rp.full{left:var(--sb)!important;padding:28px max(32px,calc((100vw - var(--sb) - 820px)/2)) 150px!important}
  .rp.full #rollLegs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;overflow:visible}
  .rp.full #rollLegs .rleg{margin-bottom:0}
  .rp.full #rollLegs:has(.rleg:only-child){grid-template-columns:minmax(0,1fr)}
  .rv-x2{font-size:104px!important}.rv-x2 i{font-size:60px!important}
  .rleg:hover{border-color:rgba(47,216,137,.35)}
  .rl-tray{display:none}
  /* fixed bars live in the content area */
  .rp-bar,#draftbar,.rp-draft,.trk-dock,.rp-dock2{left:var(--sb)!important;right:0!important;margin-left:auto!important;margin-right:auto!important}
  .rp-bar{bottom:18px!important;background:none!important;padding:0 16px!important;max-width:600px!important}
  .rp-bar::before{display:none}
  .rp-bar.three{bottom:22px!important;max-width:640px!important;padding:10px!important;border-radius:22px;background:rgba(16,19,22,.92)!important;backdrop-filter:blur(14px);border:1px solid var(--line2);box-shadow:0 20px 50px rgba(0,0,0,.5)}
  #draftbar{bottom:22px!important;max-width:600px}
  .rp-draft{bottom:92px!important;max-width:600px}
  .toast{left:calc(var(--sb) + (100vw - var(--sb))/2)!important;bottom:100px!important}
  .ftoast{left:auto!important;right:24px;top:24px;width:380px;margin:0}
  #upd-pill{left:calc(var(--sb) + (100vw - var(--sb))/2)}
  /* sheets become centered dialogs */
  .sheet{left:50%!important;right:auto!important;top:50%!important;bottom:auto!important;width:540px;max-width:calc(100vw - 48px)!important;max-height:86vh!important;margin:0!important;border-radius:24px!important;border:1px solid var(--line2)!important;padding:8px 24px 24px!important;transform:translate(-50%,-50%);animation:dlg .25s cubic-bezier(.2,1,.3,1)!important;box-shadow:0 40px 100px rgba(0,0,0,.6)}
  .sheet .grab{visibility:hidden;height:10px}
  @keyframes dlg{from{opacity:0;transform:translate(-50%,-46%) scale(.97)}}
  .ax{align-items:center!important}
  .ax-card{max-width:440px!important;border-radius:28px!important;border-bottom:1px solid var(--line2)!important;transform:translateY(24px) scale(.97)!important;opacity:0;transition:transform .35s cubic-bezier(.2,1,.3,1),opacity .25s!important}
  .ax.in .ax-card{transform:none!important;opacity:1}
  #drawer .dw{width:400px!important}
  .pfoot{max-width:680px;margin-left:auto;margin-right:auto}
  .cm-t,.rx-c,.ch-rx button,.seg button,.aim-track button,.gtile,.rleg .tap,.bk-add,.bk-all{cursor:pointer}
  ::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#23272e;border-radius:6px;border:2px solid var(--bg)}::-webkit-scrollbar-track{background:transparent}
}
@media (min-width:1400px){ .leagues,.days,main{max-width:1160px} }
/* live view wrappers: invisible on phones, two columns on desktop */
.lv-l,.lv-r{display:contents}
.fbpath{animation:fadeArc 2.6s forwards}
.shooter{animation:fadeArc 2.4s forwards}
@media (min-width:1000px){
  body:has(.lv) main{max-width:none!important;padding-left:32px!important;padding-right:32px!important}
  .lv{max-width:none!important;display:grid;grid-template-columns:minmax(0,1.65fr) minmax(380px,1fr);gap:0 28px;align-items:start}
  .lv-top{grid-column:1/-1;margin-bottom:6px}
  .lv-l{display:block;position:sticky;top:18px;min-width:0}
  .lv-r{display:block;min-width:0}
  .lv-r .lvtabs{margin-top:0!important}
  .lv .court-3d{transform:none!important;border-radius:20px!important}
  .lv .court-3d svg,.lv:has(.chat) .court-3d svg{max-height:none!important;width:100%}
  .lv .court-wrap{margin-top:14px!important}
  .lv-board{padding:18px 22px!important}
  .lv-score b{font-size:64px!important}
  .lv-r .feed{max-height:calc(100vh - 150px);overflow-y:auto;padding-right:4px}
  .lv .ch-list{height:calc(100vh - 440px)!important;min-height:220px}
  .lv:has(.chat) .pbanner{display:block}
}

/* Fluid pass: screens never drop to black between presses. Entrances start mostly visible and settle fast. */
@keyframes fi{from{opacity:.6;transform:translateY(4px)}}
@keyframes rpIn{from{opacity:.55;transform:translateX(10px)}}
@keyframes popin{from{opacity:.5;transform:translateY(8px) scale(.985)}}
.fade-in{animation-duration:.2s}.rp{animation-duration:.2s}
#view{min-height:60vh}
@media (prefers-reduced-motion:reduce){.fade-in,.rp,.pop-in{animation:none}}

/* Box score: the player column is frozen and solid, stats slide underneath it, never through it. */
.box-card{padding:0;overflow:hidden}
.box-scroll{overflow-x:auto;overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:none}.box-scroll::-webkit-scrollbar{display:none}
table.box{width:100%;min-width:100%;border-collapse:separate;border-spacing:0}
table.box th,table.box td{white-space:nowrap;padding:9px 6px;font-variant-numeric:tabular-nums}
table.box th:first-child,table.box td:first-child{position:sticky;left:0;z-index:2;background:var(--card);max-width:none;overflow:visible;text-overflow:clip;white-space:nowrap;padding-left:14px;padding-right:12px;box-shadow:1px 0 0 var(--line2),10px 0 12px -8px rgba(0,0,0,.55)}
table.box th:last-child,table.box td:last-child{padding-right:14px}
table.box tr.tracked td{background:linear-gradient(rgba(255,194,61,.09),rgba(255,194,61,.09)),var(--card)!important;color:#ffd77a}
table.box .tstar{display:inline-flex;vertical-align:-2px;margin-right:5px}table.box .tstar .tkt{margin:0}
table.box.all{font-size:12.5px}table.box.all th{font-size:9.5px;letter-spacing:.04em}
table.box.all th,table.box.all td{padding-left:5px;padding-right:5px}
table.box.all th:first-child,table.box.all td:first-child{padding-left:12px;padding-right:9px}
table.box th:first-child,table.box td:first-child{white-space:nowrap!important}
@media (max-width:999px){.top{background:var(--bg)}.top::after{content:'';position:absolute;left:0;right:0;top:100%;height:10px;background:linear-gradient(var(--bg),rgba(10,11,13,0));pointer-events:none}}

/* Same game parlay picks in the game view */
.sgp-h{display:flex;align-items:center;justify-content:space-between}
.sgp-re{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 11px;border-radius:999px;background:var(--card2);border:1px solid var(--line2);color:var(--tx2);font:600 12px/1 'Inter Tight',system-ui,sans-serif;white-space:nowrap}
.sgp-re svg{width:14px;height:14px;color:var(--acc)}
.sgp-row{display:flex;gap:10px;overflow-x:auto;scroll-snap-type:x mandatory;margin:0 -16px;padding:2px 16px 6px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.sgp-row::-webkit-scrollbar{display:none}
.sgp-c{flex:0 0 min(84%,330px);scroll-snap-align:center;display:flex;flex-direction:column;gap:12px;text-align:left;padding:14px;border-radius:20px;background:radial-gradient(120% 80% at 100% 0%,rgba(47,216,137,.13),transparent 60%),var(--card);border:1px solid var(--line2);color:var(--tx)}
.sgp-c.t10,.sgp-c.t25{background:radial-gradient(120% 80% at 100% 0%,rgba(255,194,61,.13),transparent 60%),var(--card)}
.sgp-top{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.sgp-top b{font:800 22px/1 'Big Shoulders Display',sans-serif;letter-spacing:.04em;text-transform:uppercase}
.sgp-top i{font-style:normal;font-size:11.5px;font-weight:700;color:var(--tx3);letter-spacing:.06em;text-transform:uppercase;white-space:nowrap}
.sgp-legs{display:flex;flex-direction:column;gap:9px;flex:1}
.sgp-l{display:flex;align-items:center;gap:9px;min-width:0}
.sgp-l>.hs{flex:0 0 34px;width:34px;height:34px}
.sgp-l>span:last-child{display:flex;flex-direction:column;gap:2px;min-width:0}
.sgp-l b{font:600 13.5px/1.15 'Inter Tight',system-ui,sans-serif}
.sgp-l em{font-style:normal;font-size:11.5px;line-height:1.25;color:var(--tx2)}
.sgp-pay{display:grid;grid-template-columns:auto 1fr;align-items:baseline;column-gap:10px;row-gap:2px;padding:10px 12px;border-radius:14px;background:var(--bg2);border:1px solid var(--line)}
.sgp-pay b{grid-row:span 2;align-self:center;font:800 26px/1 'Big Shoulders Display',sans-serif;color:var(--acc);letter-spacing:.02em}
.sgp-c.t10 .sgp-pay b,.sgp-c.t25 .sgp-pay b{color:#ffc23d}
.sgp-pay i{font-style:normal;font-size:12.5px;font-weight:600;text-align:right;white-space:nowrap}
.sgp-pay em{font-style:normal;font-size:11.5px;color:var(--tx3);text-align:right;white-space:nowrap}
.sgp-go{display:block;text-align:center;height:38px;line-height:38px;border-radius:12px;background:var(--acc);color:#04130c;font:700 13.5px/38px 'Inter Tight',system-ui,sans-serif}
.sgp-note{margin:6px 2px 14px;font-size:11.5px}
@media (min-width:1000px){.sgp-row{margin:0;padding:2px 0 6px}.sgp-c{flex-basis:300px}}
/* Primary buttons keep icon and label on one centered row (the small .pri tag style was overriding them) */
.btn.pri{display:flex;flex-direction:row;align-items:center;justify-content:center;gap:8px;white-space:nowrap}
.btn.pri>svg{flex:0 0 auto;width:20px;height:20px}

/* Chat: one color per person, always. Your own messages keep your color too. */
.cm.me .cm-av{background:color-mix(in srgb,var(--c) 22%,#0f1215)!important;color:var(--c)!important;border:1px solid color-mix(in srgb,var(--c) 40%,transparent)!important}
.cm.me .cm-h b{color:var(--c)!important}

/* Box score: every stat centered under its header, columns identical across both teams */
table.box th:not(:first-child),table.box td:not(:first-child){text-align:center!important}
table.box{width:auto;min-width:100%}

/* Play comments + reactions on the plays feed */
.fp .prx{gap:5px}
.prx-cm,.fp .prx-add{display:inline-flex;align-items:center;justify-content:center;gap:4px;height:26px;min-width:30px;padding:0 7px;border-radius:999px;background:var(--card2);border:1px solid var(--line2);color:var(--tx3);opacity:1;font-size:12px;width:auto}
.prx-cm .cti,.prx-add .cti{width:15px;height:15px}
.prx-cm b{font:700 11.5px/1 'Inter Tight',system-ui,sans-serif;color:var(--tx2)}.prx-cm b:empty{display:none}
.prx-cm.has{border-color:rgba(47,216,137,.5);background:rgba(47,216,137,.12);color:var(--acc)}.prx-cm.has b{color:var(--acc)}
.cm-q{display:flex;align-items:center;gap:7px;max-width:100%;margin:3px 0 2px;padding:5px 9px 5px 0;text-align:left;color:var(--tx3);font-size:11.5px;line-height:1.3}
.cm-q i{flex:0 0 3px;align-self:stretch;border-radius:2px;background:var(--acc);opacity:.7}
.pc{display:flex;flex-direction:column;gap:10px;padding:2px 2px 6px}
.pc-h{display:flex;flex-direction:column;gap:5px;padding:12px 14px;border-radius:16px;background:linear-gradient(90deg,rgba(47,216,137,.1),transparent),var(--card);border:1px solid var(--line2)}
.pc-h em{font-style:normal;font:800 11px/1 'Big Shoulders Display',sans-serif;letter-spacing:.14em;text-transform:uppercase;color:var(--acc)}
.pc-h b{font:600 14.5px/1.35 'Inter Tight',system-ui,sans-serif}
.pc-list{display:flex;flex-direction:column;gap:12px;max-height:42dvh;overflow-y:auto;padding:4px 2px}
.pc .ch-in{display:flex;gap:8px}.pc .ch-empty{padding:18px 8px}

/* Chat: pick a side, wear the emblem */
.ch-side{display:flex;align-items:center;gap:8px;padding:8px 14px;border-bottom:1px solid var(--line)}
.ch-side span{font:700 11px/1 'Inter Tight',system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--tx3);margin-right:auto;white-space:nowrap}
.ch-side button{display:inline-flex;align-items:center;gap:6px;height:32px;padding:0 12px 0 8px;border-radius:999px;background:var(--card2);border:1px solid var(--line2);color:var(--tx2);cursor:pointer}
.ch-side button img{width:20px;height:20px;object-fit:contain}
.ch-side button b{font:800 13px/1 'Big Shoulders Display',sans-serif;letter-spacing:.06em}
.ch-side button.on{background:var(--acc);border-color:var(--acc);color:#04130c;box-shadow:0 0 14px rgba(47,216,137,.35)}
.cm-side{width:16px;height:16px;object-fit:contain;align-self:center;flex:none}

/* Walking into a game: pick a side, popcorn, game-start moment */
#sidepick{position:fixed;inset:0;z-index:130;display:grid;place-items:center;padding:20px;background:rgba(5,6,8,.62);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);opacity:0;transition:opacity .22s}
#sidepick.in{opacity:1}#sidepick.out{opacity:0;pointer-events:none}
.sk-card{width:min(360px,100%);display:flex;flex-direction:column;align-items:center;gap:8px;padding:22px 18px 16px;border-radius:26px;background:radial-gradient(120% 70% at 50% 0%,rgba(47,216,137,.18),transparent 62%),#14171b;border:1px solid var(--line2);box-shadow:0 30px 80px rgba(0,0,0,.6);transform:translateY(14px) scale(.97);transition:transform .32s cubic-bezier(.2,1.3,.4,1);text-align:center}
#sidepick.in .sk-card{transform:none}
.sk-b svg{width:56px;height:56px;display:block}
.sk-t{font:800 30px/1 'Big Shoulders Display',sans-serif;letter-spacing:.03em;text-transform:uppercase}
.sk-s{font-size:13px;line-height:1.4;color:var(--tx2);max-width:280px}
.sk-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;width:100%;margin-top:8px}
.sk-row i{font:800 13px/1 'Big Shoulders Display',sans-serif;font-style:normal;letter-spacing:.12em;text-transform:uppercase;color:var(--tx3)}
.sk-row button{display:flex;flex-direction:column;align-items:center;gap:8px;padding:16px 8px 12px;border-radius:20px;background:linear-gradient(180deg,color-mix(in srgb,var(--tc) 22%,#171a1e),#171a1e 80%);border:1px solid var(--line2);color:var(--tx);cursor:pointer;transition:transform .15s,border-color .15s,box-shadow .15s}
.sk-row button:active{transform:scale(.96)}
.sk-row button.on{border-color:var(--acc);box-shadow:0 0 0 2px rgba(47,216,137,.35),0 0 26px rgba(47,216,137,.3)}
.sk-row img{width:64px;height:64px;object-fit:contain}
.sk-row b{font:800 22px/1 'Big Shoulders Display',sans-serif;letter-spacing:.06em}
.sk-skip{margin-top:6px;height:40px;padding:0 16px;color:var(--tx3);font:600 13px/1 'Inter Tight',system-ui,sans-serif;cursor:pointer}
.pop-layer{position:fixed;inset:0;z-index:140;pointer-events:none;overflow:hidden}
.pop-layer i{position:absolute;left:50%;bottom:-30px;width:26px;height:26px;margin-left:-13px;opacity:0;animation:popk 1.7s cubic-bezier(.15,.75,.3,1) forwards}
.pop-layer svg{width:100%;height:100%;display:block;filter:drop-shadow(0 4px 8px rgba(0,0,0,.4))}
@keyframes popk{0%{opacity:0;transform:translate(0,0) scale(.3)}12%{opacity:1}60%{opacity:1;transform:translate(var(--x),var(--y)) rotate(var(--r)) scale(var(--s))}100%{opacity:0;transform:translate(calc(var(--x)*1.12),calc(var(--y) + 26vh)) rotate(calc(var(--r)*1.4)) scale(var(--s))}}
.gameon{position:fixed;left:50%;top:26%;z-index:135;display:flex;flex-direction:column;align-items:center;gap:6px;padding:18px 28px 16px;border-radius:24px;background:radial-gradient(120% 80% at 50% 0%,rgba(47,216,137,.22),transparent 65%),rgba(18,21,25,.96);border:1px solid rgba(47,216,137,.45);box-shadow:0 24px 70px rgba(0,0,0,.6);transform:translateX(-50%);animation:goin .5s cubic-bezier(.2,1.5,.4,1);pointer-events:none;white-space:nowrap}
.gameon.out{opacity:0;transition:opacity .4s}
.gameon .go-b svg{width:48px;height:48px;display:block}
.gameon b{font:800 34px/1 'Big Shoulders Display',sans-serif;letter-spacing:.04em;text-transform:uppercase;color:var(--acc)}
.gameon em{font:700 13px/1 'Inter Tight',system-ui,sans-serif;font-style:normal;letter-spacing:.1em;color:var(--tx2)}
@keyframes goin{from{opacity:0;transform:translateX(-50%) scale(.7)}}
/* Slip leg rows: status column never stretches the row */
.lg{align-items:center}.lg-ic{align-self:center;justify-content:center;min-width:0}.lg-ic em{padding:0;margin:0;white-space:nowrap;line-height:1}
/* Phone: the game chat is a full page. Scroll down and it fills the screen between the top bar and the tab bar. */
@media (max-width:699px){
  .lv .chat:not(.off){height:calc(100svh - 145px - var(--safe-t,0px) - var(--safe-b,0px));min-height:380px}
  .lv .chat:not(.off) .ch-list{height:auto!important;flex:1 1 0;min-height:0}
  .lv:has(.chat:not(.off)){padding-bottom:0;margin-bottom:-79px}
  /* typing: the tab bar steps aside and the chat fits exactly above the keyboard, no dead space */
  body.kb .tabbar,body.kb #draftbar,body.kb .trk-dock{display:none!important}
  body.kb .lv .chat:not(.off){height:calc(var(--vvh,100svh) - 70px - var(--safe-t,0px));min-height:0}
  body.kb .lv .ch-rx{display:none}
  body.kb .lv .ch-rules{display:none}
}

/* Slip tracker: minimal slip switcher (arrows, name, dots) and swipe between slips */
.trk-nav{display:grid;grid-template-columns:34px minmax(0,1fr) 34px;align-items:center;gap:6px;margin-bottom:10px}
.trk-nav.one{grid-template-columns:minmax(0,1fr)}
.trk-arr{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:var(--card2);border:1px solid var(--line2);color:var(--tx2);font-size:20px;line-height:1;padding-bottom:2px;cursor:pointer}
.trk-arr:active{transform:scale(.92);color:var(--acc);border-color:var(--acc)}
.trk-ttl{display:flex;flex-direction:column;align-items:center;gap:7px;min-width:0;text-align:center}
.trk-ttl b{font:700 15px/1.2 'Inter Tight',system-ui,sans-serif;letter-spacing:-.01em;color:var(--tx)}
.trk-dots{display:flex;gap:6px;align-items:center}
.trk-dots i{width:6px;height:6px;border-radius:50%;background:var(--line2);transition:width .2s,background .2s;cursor:pointer}
.trk-dots i.on{width:18px;border-radius:3px;background:var(--acc)}
.trk-cnt{font:700 11px/1 'Inter Tight',system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--tx3)}
.trk-head b{color:var(--tx3);font-weight:700}
.trk-wrap,.trk-dock{touch-action:pan-y}
.sl-l .trk,.sl-l .trk-mini{animation:trkL .26s cubic-bezier(.2,.8,.3,1) both}
.sl-r .trk,.sl-r .trk-mini{animation:trkR .26s cubic-bezier(.2,.8,.3,1) both}
@keyframes trkL{from{opacity:.3;transform:translateX(46px)}}
@keyframes trkR{from{opacity:.3;transform:translateX(-46px)}}
.trk-dock.min .trk-nav{display:none}

/* slip opened from a notification: brief green ring so you see which one */
.sc.from-note{animation:fromNote 1.6s ease-out}
@keyframes fromNote{0%,40%{box-shadow:0 0 0 2px var(--acc),0 0 30px rgba(47,216,137,.45)}100%{box-shadow:0 0 0 0 transparent}}
.sc{scroll-margin-top:calc(72px + var(--safe-t,0px))}

/* Plays feed: rows never squash inside the scrolling column (desktop) */
.feed>.fp{flex:0 0 auto}
.fp-t{overflow-wrap:break-word}

/* Slip tracker mode: This game / All live, one sliding green thumb */
.trk-mode{position:relative;display:grid;grid-template-columns:1fr 1fr;height:36px;padding:3px;margin-bottom:12px;border-radius:999px;background:var(--bg2);border:1px solid var(--line2);isolation:isolate}
.trk-mode button{position:relative;z-index:1;border-radius:999px;font:700 12.5px/1 'Inter Tight',system-ui,sans-serif;letter-spacing:.02em;color:var(--tx3);white-space:nowrap;cursor:pointer;transition:color .2s}
.trk-mode button.on{color:#04130c}
.tmd-thumb{position:absolute;z-index:0;top:3px;bottom:3px;left:3px;width:calc(50% - 3px);border-radius:999px;background:var(--acc);box-shadow:0 4px 14px rgba(47,216,137,.3)}
.trk-mode.all .tmd-thumb{transform:translateX(100%)}
.md-r .tmd-thumb{animation:tmdR .28s cubic-bezier(.3,1.3,.5,1)}
.md-l .tmd-thumb{animation:tmdL .28s cubic-bezier(.3,1.3,.5,1)}
@keyframes tmdR{from{transform:translateX(0)}}
@keyframes tmdL{from{transform:translateX(100%)}}
.trk-dock.min .trk-mode{display:none}
.trk-empty{padding:14px 4px;text-align:center;align-items:center}.trk-empty span{max-width:260px;line-height:1.4}
/* Plays feed: comment and react sit on the meta line at the right, so rows stay compact */
.fp .prx{grid-column:3/-1;justify-content:flex-end;margin:-27px 0 0 auto;max-width:62%;position:relative;z-index:1}
.fp:has(.rx-chips) .prx{margin-top:2px;max-width:100%}
.fp .prx{grid-column:3/4}

/* ---------- Players ---------- */
.tabbar.three.four{grid-template-columns:repeat(4,1fr)!important}
.pl-tools{display:flex;flex-direction:column;gap:10px;margin:4px 0 12px}
.pl-q{display:flex;align-items:center;gap:10px;height:46px;padding:0 14px;border-radius:14px;background:var(--card);border:1px solid var(--line2)}
.pl-q:focus-within{border-color:var(--acc)}
.pl-q svg{width:18px;height:18px;flex:none;fill:none;stroke:var(--tx3);stroke-width:2;stroke-linecap:round}
.pl-q input{flex:1;min-width:0;height:100%;background:none;border:0;outline:0;color:var(--tx);font:500 16px/1 'Inter Tight',system-ui,sans-serif}
.pl-q input::-webkit-search-cancel-button{filter:invert(1) opacity(.5)}
.pl-scope button i{font-style:normal;opacity:.6;margin-left:4px}
.pl-filters{display:grid;grid-template-columns:1fr 1fr 1.3fr;gap:8px}
.pl-sel{position:relative;display:block;min-width:0}
.pl-sel::after{content:'';position:absolute;right:12px;top:50%;width:7px;height:7px;margin-top:-6px;border-right:2px solid var(--tx3);border-bottom:2px solid var(--tx3);transform:rotate(45deg);pointer-events:none}
.pl-sel select{width:100%;height:40px;padding:0 28px 0 12px;border-radius:12px;background:var(--card);border:1px solid var(--line2);color:var(--tx);font:600 13px/1 'Inter Tight',system-ui,sans-serif;appearance:none;-webkit-appearance:none;outline:0;cursor:pointer}
.pl-sel select:focus{border-color:var(--acc)}
.pl-legend{display:flex;flex-wrap:wrap;gap:6px 14px;font-size:11.5px;color:var(--tx3)}
.pl-legend span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}
.pl-ev,.pl-hot,.star-i{width:14px;height:14px;flex:none}
.pl-ev{fill:var(--acc)}.pl-hot{fill:#ff8a3d}
.pl-legend .star-i{fill:#ffc23d}
.pl-list{display:flex;flex-direction:column;gap:6px}
.plr{display:grid;grid-template-columns:42px minmax(0,1fr) auto 38px;align-items:center;gap:10px;padding:9px 6px 9px 10px;border-radius:16px;background:var(--card);border:1px solid var(--line);cursor:pointer}
.plr .hs{width:42px;height:42px;border-radius:13px}
.plr-m{min-width:0}
.plr-n{display:flex;align-items:center;gap:5px;flex-wrap:wrap}
.plr-n b{font:700 14.5px/1.2 'Inter Tight',system-ui,sans-serif;letter-spacing:-.01em;overflow-wrap:anywhere}
.plr-s{margin-top:3px;font-size:11.5px;line-height:1.3;color:var(--tx3)}
.plr-s i{font-style:normal;font-weight:700}.plr-live{color:#ff4d5e}.plr-inj{color:#ffb347}
.plr-st{display:grid;grid-auto-flow:column;grid-auto-columns:34px;gap:4px;text-align:center}
.plr-st span{display:flex;flex-direction:column;gap:2px}
.plr-st b{font:700 13.5px/1 'Inter Tight',system-ui,sans-serif;font-variant-numeric:tabular-nums}
.plr-st i{font-style:normal;font-size:9.5px;font-weight:700;letter-spacing:.05em;color:var(--tx3)}
.pl-star{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;flex:none;cursor:pointer;transition:transform .15s}
.pl-star .star-i{width:20px;height:20px;fill:none;stroke:var(--tx3);stroke-width:1.8;stroke-linejoin:round;transition:fill .2s,stroke .2s}
.pl-star.on .star-i{fill:#ffc23d;stroke:#ffc23d}
.pl-star:active{transform:scale(.85)}
.pl-star.on{animation:starpop .35s cubic-bezier(.2,1.8,.4,1)}
@keyframes starpop{from{transform:scale(.6)}}
.pl-star.big{width:44px;height:44px;background:var(--card2);border:1px solid var(--line2)}
.phead{align-items:center}
.pl-more{margin-top:10px}
.pl-trends{display:flex;flex-direction:column;gap:6px;margin:10px 0}
.pl-tr{display:grid;grid-template-columns:18px auto;column-gap:8px;row-gap:1px;align-items:baseline;padding:9px 12px;border-radius:12px;background:var(--card);border:1px solid var(--line)}
.pl-tr i{grid-row:span 2;align-self:center;font-style:normal;font-size:11px}
.pl-tr b{font:700 13.5px/1.2 'Inter Tight',system-ui,sans-serif}
.pl-tr span{font-size:11.5px;color:var(--tx3);line-height:1.3}
.pl-tr.up i,.pl-tr.up b{color:var(--acc)}.pl-tr.dn i,.pl-tr.dn b{color:#ff7a88}
.pl-bets{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.pl-bet{display:grid;grid-template-columns:minmax(0,1fr) auto 64px;align-items:center;gap:10px;padding:11px 10px 11px 14px;border-radius:16px;background:var(--card);border:1px solid var(--line2);color:var(--tx);text-align:left;cursor:pointer}
.pl-bet span{display:flex;flex-direction:column;gap:3px;min-width:0}
.pl-bet b{font:700 14.5px/1.2 'Inter Tight',system-ui,sans-serif}
.pl-bet em{font-style:normal;font-size:11.5px;line-height:1.3;color:var(--tx3)}
.pb-r{text-align:right;align-items:flex-end}.pb-r b{color:var(--acc);font-variant-numeric:tabular-nums}
.pl-bet .pb-add{display:grid;place-items:center;height:36px;border-radius:11px;background:var(--acc);color:#04130c;font:700 13px/1 'Inter Tight',system-ui,sans-serif}
.pl-bet.on{border-color:var(--acc);background:rgba(47,216,137,.08)}
.pl-bet.on .pb-add{background:none;border:1px solid var(--acc);color:var(--acc)}
.pl-bet:active{transform:scale(.985)}
table.glog td:first-child{font-size:12px}
.gl-d{color:var(--tx3);font-variant-numeric:tabular-nums}.gl-o{font-weight:700}
.gl-r{font-style:normal;font-weight:800;font-size:10.5px;margin-left:2px}.gl-r.w{color:var(--acc)}.gl-r.l{color:#ff7a88}
table.glog tr.gl-avg td{background:var(--card2)!important;font-weight:700;color:var(--tx)}
@media (max-width:380px){.plr-st{grid-auto-columns:30px}.plr{gap:8px}}
@media (min-width:1000px){.pl-tools{max-width:760px}.pl-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(380px,1fr));gap:8px}}
/* ---------- Branded menus (replace every native dropdown) ---------- */
.sel{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-width:0;height:40px;padding:0 10px 0 12px;border-radius:12px;background:var(--card);border:1px solid var(--line2);color:var(--tx);font:600 13px/1.1 'Inter Tight',system-ui,sans-serif;text-align:left;cursor:pointer;transition:border-color .15s}
.sel:active{border-color:var(--acc)}
.sel span{min-width:0;overflow-wrap:anywhere}
.sel span i{font-style:normal;color:var(--tx3);font-weight:600;margin-right:5px}
.sel-chev{flex:none;width:16px;height:16px;fill:none;stroke:var(--tx3);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.sel.stat-sel2{height:46px;border-radius:14px;font-size:14.5px;font-weight:700}
.sel.dw-sel{width:auto;max-width:62%;height:36px;background:var(--card2);border-radius:10px}
#selpop{position:fixed;inset:0;z-index:300}
#selpop .sp-bg{position:absolute;inset:0;background:rgba(5,6,8,.55);opacity:0;transition:opacity .18s}
#selpop.pop .sp-bg{background:transparent}
#selpop.in .sp-bg{opacity:1}
#selpop .sp-box{position:absolute;display:flex;flex-direction:column;background:#15181c;border:1px solid var(--line2);box-shadow:0 24px 70px rgba(0,0,0,.65);overflow:hidden}
#selpop.sheet .sp-box{left:0;right:0;bottom:0;max-height:72dvh;border-radius:24px 24px 0 0;padding:8px 10px calc(14px + var(--safe-b,0px));transform:translateY(100%);transition:transform .26s cubic-bezier(.2,.9,.3,1)}
#selpop.sheet.in .sp-box{transform:none}
#selpop.pop .sp-box{border-radius:16px;padding:6px;opacity:0;transform:translateY(-6px) scale(.98);transition:opacity .14s,transform .16s cubic-bezier(.2,1.2,.4,1)}
#selpop.pop.in .sp-box{opacity:1;transform:none}
.sp-grab{align-self:center;width:38px;height:4px;border-radius:2px;background:var(--line2);margin:2px 0 8px}
.sp-t{padding:6px 10px 10px;font:800 13px/1 'Big Shoulders Display',sans-serif;letter-spacing:.12em;text-transform:uppercase;color:var(--tx3)}
.sp-list{overflow-y:auto;display:flex;flex-direction:column;gap:2px;overscroll-behavior:contain}
.sp-list button{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:46px;padding:0 12px;border-radius:12px;color:var(--tx2);font:600 15px/1.2 'Inter Tight',system-ui,sans-serif;text-align:left;cursor:pointer}
#selpop.pop .sp-list button{min-height:38px;font-size:13.5px}
.sp-list button:hover{background:rgba(255,255,255,.05);color:var(--tx)}
.sp-list button svg{flex:none;width:18px;height:18px;fill:none;stroke:var(--acc);stroke-width:2.6;stroke-linecap:round;stroke-linejoin:round;opacity:0}
.sp-list button.on{background:rgba(47,216,137,.12);color:var(--acc)}
.sp-list button.on svg{opacity:1}
.pl-filters{grid-template-columns:1fr 1fr 1.25fr}
/* rank chip + live tag sit on the text baseline */
.plr-rk{font-style:normal;display:inline-flex;align-items:center;height:18px;padding:0 6px;border-radius:6px;background:rgba(47,216,137,.12);color:var(--acc);font:700 11px/1 'Inter Tight',system-ui,sans-serif;font-variant-numeric:tabular-nums;white-space:nowrap}
.pl-rk2{color:var(--acc);font-weight:700}
.plr-s{display:flex;flex-wrap:wrap;align-items:center;column-gap:4px;row-gap:2px}
.plr-s .plr-live{display:inline-flex;align-items:center;gap:4px;font-size:10.5px;line-height:1;letter-spacing:.06em;text-transform:uppercase;color:#ff4d5e}
.plr-live u{width:6px;height:6px;border-radius:50%;background:#ff4d5e;animation:pulse 1.6s infinite}
div.pl-card{cursor:default}
/* Roll setup fits one phone screen with no scrolling */
@media (max-width:699px){
  body.on-roll .rp:not(.full){padding-bottom:0}
  body.on-roll .rp:not(.full) .hrow{display:none}
  body.on-roll .rp:not(.full) .rp-setup{padding:10px;gap:0}
  body.on-roll .rp:not(.full) .rp-targets button{padding-top:8px;padding-bottom:8px}
  body.on-roll .rp:not(.full) .style-def{margin:4px 2px 6px;min-height:0;font-size:11.5px}
  body.on-roll .rp:not(.full) .rp-opt,body.on-roll .rp:not(.full) .when{margin-top:6px}
  body.on-roll .rp:not(.full) .seg button{min-height:0;height:34px}
  body.on-roll .rp:not(.full) .sport-row button{height:36px}
  body.on-roll .rp:not(.full) .rp-hero{display:none}
}
@media (max-width:699px){
  body.on-roll:not(.roll-full) #view{min-height:0!important;padding-bottom:74px}
}

/* ---------- Players table: tap a column to sort, frozen player column, every number centered ---------- */
.plt-card{padding:0;overflow:hidden;border-radius:18px}
table.plt{width:100%;border-collapse:separate;border-spacing:0;font-family:'Inter Tight',system-ui,sans-serif}
table.plt th,table.plt td{padding:0;text-align:center;white-space:nowrap;border-bottom:1px solid var(--line)}
table.plt tbody tr:last-child td{border-bottom:0}
table.plt th{position:sticky;top:0;background:var(--card2);z-index:1}
table.plt th button{display:flex;align-items:center;justify-content:center;gap:3px;width:100%;height:38px;padding:0 6px;font:700 10.5px/1 'Inter Tight',system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--tx3);cursor:pointer}
table.plt th button i{font-style:normal;font-size:8px;width:8px;color:var(--acc)}
table.plt th.on button{color:var(--acc)}
table.plt td{height:58px;min-width:46px;padding:0 4px;font:600 13.5px/1 'Inter Tight',system-ui,sans-serif;font-variant-numeric:tabular-nums;color:var(--tx)}
table.plt td.on{color:var(--acc);font-weight:700;background:rgba(47,216,137,.05)}
table.plt td.plt-rk{color:var(--tx2)}table.plt td.plt-rk.on{color:var(--acc)}
table.plt .plt-p{position:sticky;left:0;z-index:2;background:var(--card);text-align:left;box-shadow:1px 0 0 var(--line2),10px 0 12px -8px rgba(0,0,0,.55)}
table.plt th.plt-p{z-index:3;background:var(--card2)}
table.plt th.plt-p button{justify-content:flex-start;padding-left:14px}
.plt-pw{display:flex;align-items:center;gap:8px;padding:0 10px 0 2px;min-width:0}
.plt-pw .hs{width:38px;height:38px;border-radius:12px;flex:none}
.plt-pw .pl-star{width:32px;height:38px}.plt-pw .pl-star .star-i{width:17px;height:17px}
.plt-pw .plr-n b{white-space:nowrap;font-size:14px}
.plt-pw .plr-s{flex-wrap:nowrap;white-space:nowrap}
table.plt tbody tr{cursor:pointer}
table.plt tbody tr:active td{background:rgba(255,255,255,.03)}
.plt-note{margin:8px 2px 0;font-size:11.5px}
.pl-best{height:26px;padding:0 10px;border-radius:999px;background:var(--card2);border:1px solid var(--line2);color:var(--tx2);font:700 11.5px/1 'Inter Tight',system-ui,sans-serif;white-space:nowrap;cursor:pointer}
.pl-best.on{background:var(--acc);border-color:var(--acc);color:#04130c}
.pl-filters{grid-template-columns:1fr 1fr}
@media (max-width:699px){.plt-pw .plr-n b{max-width:132px;white-space:normal;overflow-wrap:anywhere;line-height:1.15}table.plt td{min-width:44px}}
@media (min-width:1000px){.pl-list{display:block}}
@media (max-width:699px){ body.on-roll:not(.roll-full) #view{padding-bottom:70px!important} }

@media (max-width:699px){
  .plt-pw{gap:6px;padding:0 8px 0 0}
  .plt-pw .pl-star{width:28px}.plt-pw .hs{width:32px;height:32px;border-radius:10px}
  .plt-pw .plr-n b{max-width:104px;font-size:13px}
  .plt-pw .plr-s{font-size:10.5px}
  table.plt td{min-width:42px;font-size:13px;height:54px}
  table.plt th.plt-p button{padding-left:10px}
}

/* profile live card: tracked stats lit, Final pill */
.finalpill{display:inline-flex;align-items:center;height:22px;padding:0 9px;border-radius:7px;background:var(--card2);border:1px solid var(--line2);color:var(--tx2);font:800 11px/1 'Inter Tight',system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase}
.pl-live.fin{border-color:var(--line2)!important;background:var(--card)!important}
.pl-live-s span.on{border-color:var(--acc)!important;background:rgba(47,216,137,.14)!important;color:var(--acc);box-shadow:0 0 0 1px rgba(47,216,137,.35)}
.pl-live-s span.on b{color:var(--acc)}
.pl-live-k{margin-top:8px;font-size:11.5px;color:var(--tx3);line-height:1.35}
/* game log heat, brand palette */
table.glog td.gh2{background:rgba(47,216,137,.34)!important;color:#eafff5;font-weight:700}
table.glog td.gh1{background:rgba(47,216,137,.14)!important;color:#b9f5d8}
table.glog td.gc1{background:rgba(255,122,136,.10)!important;color:#ffc4cb}
table.glog td.gc2{background:rgba(255,77,94,.26)!important;color:#ffe3e6;font-weight:700}
.gl-key{display:flex;flex-wrap:wrap;gap:6px;margin:-2px 0 8px}
.gl-key span{height:22px;padding:0 8px;border-radius:6px;font:600 11px/22px 'Inter Tight',system-ui,sans-serif;white-space:nowrap}
.gl-key .gh2{background:rgba(47,216,137,.34);color:#eafff5}.gl-key .gh1{background:rgba(47,216,137,.14);color:#b9f5d8}.gl-key .gc1{background:rgba(255,122,136,.10);color:#ffc4cb}.gl-key .gc2{background:rgba(255,77,94,.26);color:#ffe3e6}
/* swap list shows the game */
.al-g{display:block;font-size:11.5px;color:var(--tx3);line-height:1.3;margin-top:1px}
/* roll: quieter setup. One summary line, options open on tap */
.rp-more{display:flex;align-items:center;justify-content:space-between;gap:10px;width:100%;margin-top:8px;padding:10px 12px;border-radius:14px;background:var(--bg2);border:1px solid var(--line);color:var(--tx2);text-align:left;cursor:pointer}
.rm-sum{display:flex;flex-wrap:wrap;gap:4px 6px;min-width:0}
.rm-sum b{height:24px;padding:0 9px;border-radius:999px;background:var(--card2);border:1px solid var(--line2);font:600 11.5px/22px 'Inter Tight',system-ui,sans-serif;color:var(--tx);white-space:nowrap}
.rm-go{display:inline-flex;align-items:center;gap:3px;flex:none;font:700 12px/1 'Inter Tight',system-ui,sans-serif;color:var(--acc);white-space:nowrap}
.rm-go .sel-chev{stroke:var(--acc);transition:transform .22s}.rp-more.open .rm-go .sel-chev{transform:rotate(180deg)}
.rp-opts.shut{display:none!important}
.rp-opts:not(.shut){animation:optsIn .24s cubic-bezier(.2,.9,.3,1)}
@keyframes optsIn{from{opacity:0;transform:translateY(-6px)}}
.rp-setup .rp-sports{display:flex!important;gap:6px}
.rp-setup .rp-sports button{flex:1 1 0;display:flex!important;align-items:center;justify-content:center}
.rp-setup .rp-sports button.sp-all{flex:.72 1 0}
.rp-setup .rp-sports button svg,.rp-setup .rp-sports button .ic{flex:none;margin:0!important}
.leagues{grid-template-columns:.72fr repeat(4,minmax(0,1fr))!important}
/* day picker */
.dp{display:flex;flex-direction:column;gap:14px;padding:2px 2px 4px}
.dp-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px}
.dp-h b{font:800 26px/1 'Big Shoulders Display',sans-serif;letter-spacing:.03em;text-transform:uppercase}
.dp-h span{font-size:12.5px;color:var(--tx3)}
.dp-pre{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}
.dp-pre button{height:38px;border-radius:12px;background:var(--card);border:1px solid var(--line2);color:var(--tx2);font:700 13px/1 'Inter Tight',system-ui,sans-serif;cursor:pointer}
.dp-pre button.on{background:rgba(47,216,137,.14);border-color:var(--acc);color:var(--acc)}
.dp-days{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px}
.dp-d{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;height:84px;border-radius:16px;background:var(--card);border:1px solid var(--line2);color:var(--tx2);cursor:pointer;transition:transform .15s,background .18s,border-color .18s}
.dp-d small{font:700 10.5px/1 'Inter Tight',system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase}
.dp-d b{font:800 26px/1 'Big Shoulders Display',sans-serif;color:var(--tx)}
.dp-d i{font-style:normal;font-size:10.5px;color:var(--tx3)}
.dp-d:active{transform:scale(.94)}
.dp-d.on{background:var(--acc);border-color:var(--acc);color:#04130c;box-shadow:0 6px 18px rgba(47,216,137,.3)}
.dp-d.on b,.dp-d.on i{color:#04130c}
.dp-n{text-align:center}
/* ---------- LIVE has its own color: bright pink-red, never the miss red ---------- */
:root{--live:#ff4f8b}
.livepill{background:var(--live)!important;color:#fff!important}
.live-dot,.live-tab-dot,.lg-ic .lvd,.plr-live u,.watch-btn.live i{background:var(--live)!important}
.lg-ic em.lvl,.plr-s .plr-live,.plr-live,.sc-st.live,.ghead .st.live,.neg.live,.pmeta .neg,.phead .neg{color:var(--live)!important}
.sc.live{border-color:color-mix(in srgb,var(--live) 55%,transparent)!important}
.sc-segs i.live{background:linear-gradient(90deg,var(--live),#ff7fae)!important}
.sc-peek .pk.live .hs{border-color:var(--live)!important}
.watch-btn.live{background:color-mix(in srgb,var(--live) 14%,transparent)!important;border-color:color-mix(in srgb,var(--live) 50%,transparent)!important;color:var(--live)!important}
.pl-live:not(.fin){border-color:color-mix(in srgb,var(--live) 45%,transparent)!important}
.gtile.live,.card.game.live{border-color:color-mix(in srgb,var(--live) 45%,transparent)!important}
.sv-dots i.live{background:var(--live)!important}
/* ---------- the X after a multiplier is a touch smaller and plain white ---------- */
.xx{font-style:normal!important;font-size:.72em;font-weight:inherit;color:inherit;opacity:.85;margin-left:.03em;letter-spacing:0}
.sc-x i,.rv-x2 i{font-style:normal;font-size:.62em!important;color:var(--tx)!important;opacity:.85;margin-left:.04em}
.sgp-pay b,.sgp-c.t10 .sgp-pay b,.sgp-c.t25 .sgp-pay b{color:var(--tx)!important}
/* slip progress number */
.sc-pr{display:flex;align-items:center;gap:10px}.sc-pr .sc-pbar{flex:1;min-width:0;margin:0}
.sc-pct{flex:none;min-width:40px;text-align:right;font:800 17px/1 'Big Shoulders Display',sans-serif;letter-spacing:.02em;color:var(--tx);font-variant-numeric:tabular-nums}
.sc-pct i{font-style:normal;font-size:.7em;opacity:.7;margin-left:1px}
.sc-pct.won{color:var(--acc)}.sc-pct.lost{color:var(--tx3)}
/* When row never overflows */
.when-seg{min-width:0}.when-seg button{min-width:0;white-space:nowrap;padding-left:6px!important;padding-right:6px!important}
/* roll styles: no dots, each style owns one brand tone when picked */
.rp-styles .st-smart{--sc:#2fd889}.rp-styles .st-streaks{--sc:#ffc23d}.rp-styles .st-match{--sc:#54e1e1}.rp-styles .st-opp{--sc:#b9a6ff}
.rp-styles button{color:var(--tx2)!important;justify-content:center}
.rp-styles button.on{color:var(--sc)!important;border-color:var(--sc)!important;background:color-mix(in srgb,var(--sc) 13%,var(--card))!important;box-shadow:0 0 0 1px color-mix(in srgb,var(--sc) 30%,transparent)!important}
.sc-pr{margin:0 0 10px}
.gtile.in .gt-st b{color:var(--live)!important}.lv-dot{background:var(--live)!important}
.gtile.in{border-color:color-mix(in srgb,var(--live) 45%,transparent)!important;background:linear-gradient(180deg,color-mix(in srgb,var(--live) 9%,var(--card)),var(--card))!important}
.lv-st .livepill,.pl-live-h .livepill{background:var(--live)!important}
.lg.risk .lg-ic em.rk,.plr-live{color:var(--live)}

/* When row: small caps labels */
.when-seg button{font:700 10.5px/1 'Inter Tight',system-ui,sans-serif!important;letter-spacing:.09em;text-transform:uppercase}
.when .when-l,.rp-opt>span{font:700 10.5px/1 'Inter Tight',system-ui,sans-serif;letter-spacing:.09em;text-transform:uppercase;color:var(--tx3)}
/* roll summary: even grid, each setting in its own cell, gear that turns into an up arrow */
div.rp-more{display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:6px;align-items:stretch;padding:0;background:none;border:0;margin-top:8px;cursor:default}
.rm-grid{display:grid;grid-template-columns:repeat(var(--rc,4),minmax(0,1fr));gap:6px;min-width:0;cursor:pointer}
.rm-grid span{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;min-width:0;height:48px;border-radius:12px;background:var(--bg2);border:1px solid var(--line)}
.rm-grid i{font:700 9.5px/1 'Inter Tight',system-ui,sans-serif;font-style:normal;letter-spacing:.1em;text-transform:uppercase;color:var(--tx3)}
.rm-grid b{font:700 12.5px/1 'Inter Tight',system-ui,sans-serif;color:var(--acc);white-space:nowrap}
.rm-gear{position:relative;height:48px;border-radius:12px;background:var(--bg2);border:1px solid var(--line);cursor:pointer;display:grid;place-items:center}
.rm-gear svg{position:absolute;width:20px;height:20px;fill:none;stroke:var(--tx2);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;transition:transform .38s cubic-bezier(.3,1.3,.5,1),opacity .22s}
.rm-gear .rg-up{opacity:0;transform:rotate(-180deg) scale(.5);stroke:var(--acc);stroke-width:2.6}
.rp-more.open .rm-gear{border-color:var(--acc);background:rgba(47,216,137,.1)}
.rp-more.open .rg-cog{opacity:0;transform:rotate(180deg) scale(.5)}
.rp-more.open .rg-up{opacity:1;transform:none}
.rm-gear:active{transform:scale(.94)}
.rm-grid b{font-size:12px;letter-spacing:-.01em}.when-seg button{padding-left:4px!important;padding-right:4px!important}

/* edit leg: one clean line stepper, then the player card */
.ed-step{display:grid;grid-template-columns:48px minmax(0,1fr) 48px;align-items:center;gap:8px;padding:8px;border-radius:16px;background:var(--card);border:1px solid var(--line2)}
.ed-step>button{height:44px;border-radius:12px;background:var(--card2);border:1px solid var(--line2);color:var(--tx);font:700 22px/1 'Inter Tight',system-ui,sans-serif;cursor:pointer}
.ed-step>button:disabled{opacity:.3;cursor:default}
.ed-step>button:not(:disabled):active{transform:scale(.94);border-color:var(--acc)}
.ed-step>div{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:0;text-align:center}
.ed-step b{font:700 16px/1.1 'Inter Tight',system-ui,sans-serif}
.ed-step span{font-size:12px;color:var(--tx3);font-variant-numeric:tabular-nums}
.ed .pl-trends{margin-top:16px}.ed .ed-btns{margin-bottom:6px}
.ed-h{align-items:center}
.gl-more{display:block;width:100%;height:40px;margin:8px 0 4px;border-radius:12px;background:var(--card);border:1px solid var(--line2);color:var(--tx2);font:700 12.5px/1 'Inter Tight',system-ui,sans-serif;cursor:pointer}
.rv-clear{height:34px;padding:0 12px;border-radius:999px;background:var(--card2);border:1px solid var(--line2);color:var(--tx2);font:700 12px/1 'Inter Tight',system-ui,sans-serif;letter-spacing:.04em;cursor:pointer;white-space:nowrap}
.rv-clear:active{color:#ff7a88;border-color:#ff7a88}
.roll-cta.locked{background:var(--card2)!important;color:var(--tx)!important;border:1px solid var(--line2)!important;box-shadow:none!important}

/* Players: filters, range, leaders, richer table */
.pl-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;margin:0 -16px;padding:0 16px}.pl-chips::-webkit-scrollbar{display:none}
.pl-chips button{flex:none;height:32px;padding:0 12px;border-radius:999px;background:var(--card);border:1px solid var(--line2);color:var(--tx2);font:600 12.5px/1 'Inter Tight',system-ui,sans-serif;white-space:nowrap;cursor:pointer}
.pl-chips button.on{background:rgba(47,216,137,.14);border-color:var(--acc);color:var(--acc)}
.pl-rowx{display:flex;align-items:center;gap:8px}.pl-rowx .pl-range{flex:1;min-width:0}.pl-rowx .pl-best{height:34px}
.pl-range button{font-size:12px!important}
.pl-leads{display:flex;gap:8px;overflow-x:auto;scrollbar-width:none;margin:0 -16px 12px;padding:0 16px}.pl-leads::-webkit-scrollbar{display:none}
.pl-lead{flex:none;display:flex;align-items:center;gap:9px;padding:9px 12px 9px 9px;border-radius:16px;background:var(--card);border:1px solid var(--line2);color:var(--tx);text-align:left;cursor:pointer}
.pl-lead .hs{width:38px;height:38px;border-radius:12px;flex:none}
.pl-lead span{display:flex;flex-direction:column;gap:2px}
.pl-lead i{font:700 9.5px/1 'Inter Tight',system-ui,sans-serif;font-style:normal;letter-spacing:.09em;text-transform:uppercase;color:var(--tx3)}
.pl-lead b{font:700 13.5px/1.1 'Inter Tight',system-ui,sans-serif;white-space:nowrap}
.pl-lead em{font-style:normal;font-size:11.5px;color:var(--acc);font-variant-numeric:tabular-nums;white-space:nowrap}
table.plt td.plt-tr.up{color:var(--acc)}table.plt td.plt-tr.dn{color:#ff7a88}
table.plt td.plt-bet{min-width:96px;padding:0 6px}
.plt-add{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;width:100%;height:40px;border-radius:10px;background:var(--bg2);border:1px solid var(--line2);color:var(--tx);cursor:pointer}
.plt-add b{font:700 11.5px/1 'Inter Tight',system-ui,sans-serif;white-space:nowrap}
.plt-add i{font-style:normal;font-size:10.5px;color:var(--tx3)}
.plt-add.on{border-color:var(--acc);background:rgba(47,216,137,.12)}.plt-add.on i{color:var(--acc)}
.plt-add:active{transform:scale(.96)}
@media (min-width:1000px){.pl-chips,.pl-leads{margin-left:0;margin-right:0;padding:0}}
/* condensed player cards (profile + edit leg) */
.pl-trends{flex-direction:row;flex-wrap:wrap;gap:6px;margin:8px 0}
.pl-tr{display:inline-flex;grid-template-columns:none;align-items:center;gap:6px;padding:6px 10px;border-radius:999px}
.pl-tr span{display:none}.pl-tr b{font-size:12px}.pl-tr i{font-size:9px}
.pl-bets.tight{gap:6px;margin-bottom:8px}.pl-bets.tight .pl-bet{padding:8px 8px 8px 12px;border-radius:13px}.pl-bets.tight .pl-bet b{font-size:13.5px}.pl-bets.tight .pb-add{height:32px}
.pl-bet{padding:9px 9px 9px 13px;border-radius:14px}.pl-bet .pb-add{height:34px}
.ed .rl-lab{margin-top:10px}.ed-step{padding:6px}.ed-step>button{height:40px}
table.glog td,table.glog th{padding-top:6px!important;padding-bottom:6px!important}
.ed .pl-avg,.sheet .pl-avg{margin-top:6px}

/* ---- v-next: hit rates, matchup, trend feed ---- */
.hr{margin:10px 0 12px;padding:12px;border-radius:16px;background:var(--card);border:1px solid var(--line)}
.hr-h{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:10px}
.hr-h b{font:700 13.5px/1.2 'Inter Tight',system-ui,sans-serif;white-space:nowrap}
.hr-h span{font-size:10.5px;color:var(--tx3);white-space:nowrap}
.hr-g{display:grid;grid-template-columns:repeat(var(--n),minmax(0,1fr));gap:6px}
.hr-c{display:flex;flex-direction:column;align-items:center;gap:5px;padding:9px 2px 8px;border-radius:12px;background:var(--bg2,rgba(255,255,255,.03));border:1px solid var(--line);--hc:var(--tx3)}
.hr-c b{font:800 19px/1 'Inter Tight',system-ui,sans-serif;font-variant-numeric:tabular-nums;color:var(--hc)}
.hr-c b small{font-size:11.5px;font-weight:700;color:var(--tx3)}
.hr-c i,.tf-h i{display:block;width:70%;height:3px;border-radius:3px;background:rgba(255,255,255,.08);overflow:hidden}
.hr-c i em,.tf-h i em{display:block;height:100%;border-radius:3px;background:var(--hc)}
.hr-c span{font:700 9.5px/1 'Inter Tight',system-ui,sans-serif;letter-spacing:.06em;text-transform:uppercase;color:var(--tx3);white-space:nowrap}
.hr-c.hi,.tf-h.hi,.hr-r.hi{--hc:var(--acc)}.hr-c.mid,.tf-h.mid,.hr-r.mid{--hc:#ffc23d}.hr-c.lo,.tf-h.lo,.hr-r.lo{--hc:#ff7a88}.hr-c.thin,.hr-r.thin{--hc:var(--tx2)}
.hr-r{display:flex;align-items:baseline;gap:9px;margin-top:9px;padding-top:9px;border-top:1px solid var(--line);--hc:var(--tx2)}
.hr-r i{flex:none;font:700 10px/1.3 'Inter Tight',system-ui,sans-serif;font-style:normal;letter-spacing:.06em;text-transform:uppercase;color:var(--hc);white-space:nowrap}
.hr-r span{font-size:12px;line-height:1.35;color:var(--tx2)}
@media (max-width:380px){.hr-c b{font-size:17px}.hr-c span{font-size:8.5px;letter-spacing:.03em}.hr-h span{display:none}}
.ed .hr{margin-top:16px}
.tf-sec{margin-top:2px}
.tf{display:flex;gap:8px;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none;margin:0 -16px 14px;padding:0 16px}.tf::-webkit-scrollbar{display:none}
.tf-c{flex:none;width:168px;scroll-snap-align:start;display:flex;flex-direction:column;gap:8px;padding:11px;border-radius:16px;background:var(--card);border:1px solid var(--line2);cursor:pointer}
.tf-t{display:flex;align-items:center;gap:8px;min-width:0}.tf-t .hs{width:34px;height:34px;border-radius:11px;flex:none}
.tf-t div{min-width:0;display:flex;flex-direction:column;gap:2px}
.tf-t b{font:700 13px/1.1 'Inter Tight',system-ui,sans-serif;white-space:nowrap;overflow:hidden;text-overflow:clip}
.tf-t span{font-size:10.5px;color:var(--tx3);white-space:nowrap}
.tf-p{font:700 13.5px/1.1 'Inter Tight',system-ui,sans-serif;white-space:nowrap}
.tf-h{display:flex;align-items:center;gap:8px;--hc:var(--tx2)}.tf-h b{font:800 17px/1 'Inter Tight',system-ui,sans-serif;color:var(--hc);font-variant-numeric:tabular-nums}.tf-h b small{font-size:11px;color:var(--tx3)}.tf-h i{flex:1;width:auto}
.tf-w{font-size:10.5px;color:var(--tx3);white-space:nowrap;overflow:hidden}
.tf-a{display:flex;align-items:center;justify-content:space-between;height:34px;padding:0 11px;border-radius:10px;border:1px solid var(--line2);background:transparent;color:var(--tx);font:700 12.5px/1 'Inter Tight',system-ui,sans-serif;cursor:pointer}
.tf-a em{font-style:normal;color:var(--tx2)}
.tf-a.on{background:var(--acc);border-color:var(--acc);color:#04130c}.tf-a.on em{color:#04130c}
@media (min-width:1000px){.tf{margin-left:0;margin-right:0;padding:0}}
.rp-styles .st-streaks{--sc:#ffc23d}

.tf-sec h3{white-space:nowrap}.tf-sec small{white-space:nowrap}.tf-c{width:172px}

.hr-g{gap:5px}.hr-c{min-width:0;overflow:hidden}.hr-c span{letter-spacing:.04em}

/* ---- research card v2: one chart, one table ---- */
.hr .tc{display:block;width:100%;height:auto;margin:2px 0 4px}
.hr-lg{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0 0 10px}
.hr-lg span{display:inline-flex;align-items:center;gap:6px;font:600 11px/1 'Inter Tight',system-ui,sans-serif;color:var(--tx2);white-space:nowrap}
.hr-lg i{width:14px;height:2px;border-radius:2px}
table.hr-t{width:100%;border-collapse:collapse;font-family:'Inter Tight',system-ui,sans-serif}
table.hr-t th{padding:0 0 6px;font:700 9.5px/1 'Inter Tight',system-ui,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:var(--tx3);text-align:right}
table.hr-t td{height:32px;border-top:1px solid var(--line);font-size:13px;font-weight:600;text-align:right;color:var(--tx);font-variant-numeric:tabular-nums;white-space:nowrap}
table.hr-t td:first-child{text-align:left;color:var(--tx2);font-weight:600}
table.hr-t th:nth-child(n+2),table.hr-t td:nth-child(n+2){width:22%}
table.hr-t td.hi{color:var(--acc)}table.hr-t td.mid{color:#ffc23d}table.hr-t td.lo{color:#ff7a88}table.hr-t td.thin{color:var(--tx2)}
table.hr-t td b{font-weight:800}
/* ---- players table: thinner rows, rank beside the name, solid frozen column ---- */
table.plt{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none}
table.plt tbody tr,table.plt tbody tr:active{transform:none!important}
table.plt td{height:46px!important}
table.plt tbody tr:active td{background:#1b1f26}
table.plt tbody tr:active td.plt-p,table.plt td.plt-p{background:var(--card)}
table.plt tbody tr:active td.plt-p{background:#1b1f26}
.plt-pw{gap:6px!important;padding:0 10px 0 0!important}
.plt-pw .hs{width:30px!important;height:30px!important;border-radius:10px!important}
.plt-pw .pl-star{width:28px!important;height:34px!important}
.plt-r{flex:none;width:22px;text-align:center;font:700 11.5px/1 'Inter Tight',system-ui,sans-serif;font-style:normal;font-variant-numeric:tabular-nums;color:var(--tx3)}
.plt-r.on{color:var(--acc)}
.plt-pw .plr-n{flex-wrap:nowrap!important;gap:4px}
.plt-pw .plr-n b{max-width:none!important;white-space:nowrap!important;font-size:13.5px!important;line-height:1.1!important}
.plt-pw .plr-s{margin-top:2px;font-size:10.5px!important;flex-wrap:nowrap;white-space:nowrap}
table.plt th.plt-ph div{display:flex;align-items:center}
table.plt th.plt-ph button{width:auto;padding:0 8px 0 12px}
table.plt th.plt-ph button+button{padding-left:6px}
table.plt th.plt-ph button.on{color:var(--acc)}
.plt-add{height:34px!important}

/* ---- players tools v3, search suggestions, feed polish, news reader ---- */
.pl-filters{grid-template-columns:1fr 1fr!important}
.pl-qw{position:relative}
.pl-sug{position:absolute;left:0;right:0;top:calc(100% + 6px);z-index:30;border-radius:14px;background:var(--card2,#1b1f26);border:1px solid var(--line2);box-shadow:0 18px 40px rgba(0,0,0,.55);overflow:hidden}
.pl-sug:empty{display:none}
.pl-sg{display:flex;align-items:center;gap:10px;width:100%;padding:8px 12px;background:none;border:0;border-bottom:1px solid var(--line);color:var(--tx);text-align:left;cursor:pointer;font-family:'Inter Tight',system-ui,sans-serif}
.pl-sg:last-child{border-bottom:0}.pl-sg:active{background:rgba(255,255,255,.05)}
.pl-sg .hs{width:32px;height:32px;border-radius:10px;flex:none}
.pl-sg span{flex:1;min-width:0;display:flex;flex-direction:column;gap:3px}
.pl-sg b{font-weight:700;font-size:14px;line-height:1.1}.pl-sg i{font-style:normal;font-size:11px;color:var(--tx3);white-space:nowrap}
.pl-sg em{font-style:normal;font-weight:700;font-size:12px;color:var(--tx2);font-variant-numeric:tabular-nums}
.pl-sg.none{padding:14px;color:var(--tx3);font-size:13px;cursor:default}
.tf{scroll-snap-type:x mandatory;scroll-padding-left:16px;-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;gap:10px}
.tf-c{width:min(47vw,184px);scroll-snap-align:start;transition:border-color .15s}
.tf-c:active{border-color:var(--tx3)}
.tf-t{position:relative}
.hb{font:800 9px/1 'Inter Tight',system-ui,sans-serif;font-style:normal;letter-spacing:.08em;text-transform:uppercase;padding:4px 6px;border-radius:6px;white-space:nowrap}
.hb.hot{color:#ffb03d;background:rgba(255,176,61,.14)}.hb.cold{color:#6fc3ff;background:rgba(111,195,255,.14)}
.tf-t .hb{position:absolute;right:0;top:0}
.tf-t div{padding-right:38px}
.tf-w{display:flex;flex-direction:column;gap:3px;min-height:25px;white-space:nowrap}
.tf-w span{font-size:10.5px;line-height:1;color:var(--tx2)}
.hr-tags{display:flex;flex-wrap:wrap;gap:6px;margin:-2px 0 10px}
.hr-tags span{font:600 11px/1 'Inter Tight',system-ui,sans-serif;padding:6px 9px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--tx2);white-space:nowrap}
button.card.upd{width:100%;text-align:left;color:inherit;font:inherit;cursor:pointer}
.nr{padding:4px 2px 2px}
.nr-img{display:block;width:100%;max-height:200px;object-fit:cover;border-radius:16px;margin-bottom:14px}
.nr-t{font:700 21px/1.2 'Inter Tight',system-ui,sans-serif;letter-spacing:-.01em;margin:10px 0 10px}
.nr-p{font-size:15px;line-height:1.5;color:var(--tx2);margin:0 0 14px}
.nr-pl{display:flex;align-items:center;gap:10px;width:100%;padding:10px 12px;border-radius:14px;background:var(--card);border:1px solid var(--line2);color:var(--tx);text-align:left;cursor:pointer;margin-bottom:12px}
.nr-pl .hs{width:38px;height:38px;border-radius:12px;flex:none}.nr-pl span{display:flex;flex-direction:column;gap:3px}
.nr-pl b{font:700 14px/1.1 'Inter Tight',system-ui,sans-serif}.nr-pl i{font-style:normal;font-size:11.5px;color:var(--tx3)}
.nr-src{font-size:11.5px;color:var(--tx3);margin-bottom:14px}
.nr .btn.pri{text-decoration:none}

.tf-t div{padding-right:0}.tf-p{display:flex;align-items:center;justify-content:space-between;gap:6px}.tf-p b{font:inherit;white-space:nowrap}.tf-t .hb{position:static}

html.demo,html.demo body{overflow:hidden!important}html.demo ::-webkit-scrollbar{display:none}html.demo #toast,html.demo .coach,html.demo #agegate{display:none!important}

/* account wall: sign-up covers the app until there is a session */
#authx.wall{z-index:100000}#authx.wall .ax-bg{background:radial-gradient(70% 50% at 50% 0%,rgba(47,216,137,.22),transparent 70%),#0a0b0d;backdrop-filter:none;opacity:1}
#authx.wall .ax-card{max-height:100dvh;overflow:auto}
.ax-wl{display:flex;align-items:center;justify-content:center;gap:9px;margin:2px 0 18px;font:800 20px 'Inter Tight',system-ui,sans-serif}.ax-wl svg{width:30px;height:30px}
#authx.wall .ax-fine{margin-top:14px}
/* roll setup: the idle mark sits in the middle of the space between the settings and the roll button */
@media (min-height:860px){.rp-hero{justify-content:center;padding:8px 10px}}

/* iOS home-screen launch: the page can start one status bar short, which leaves the tab bar floating until the first touch */
@media (display-mode:standalone){html{min-height:calc(100% + var(--safe-t))}}

/* account sheet: swapping steps keeps the backdrop and fades the card contents */
.ax.sw .ax-bg{transition:none}.ax.sw .ax-card{transition:none!important;transform:none!important;opacity:1!important;animation:axsw .22s ease-out}
@keyframes axsw{from{opacity:.35;transform:translateY(6px)}to{opacity:1;transform:none}}
.ax-code{font-family:var(--fm,ui-monospace,monospace)!important;font-size:26px!important;letter-spacing:.42em;text-align:center;font-weight:700}
.ax-swap[disabled]{opacity:.5}
.testpill{position:fixed;top:calc(6px + var(--safe-t));left:50%;transform:translateX(-50%);z-index:100001;padding:3px 10px;border-radius:99px;background:#ffb547;color:#1a1200;font:800 10px/1.4 var(--f);letter-spacing:.14em;pointer-events:none}
@media (prefers-reduced-motion:reduce){.ax.sw .ax-card{animation:none}}
.ax-swap{display:block;width:100%;text-align:center}.ax-swap+.ax-swap{margin-top:10px}.ax-swap+.ax-fine{margin-top:14px}

/* ===== v1.4: five-tab bar ===== */
@media (max-width:999px){
.tabbar.five{grid-template-columns:repeat(5,minmax(0,1fr))!important;display:grid!important;padding-left:4px!important;padding-right:4px!important}
.tabbar.five button{padding:7px 0 6px;min-width:0}
.tabbar.five button span{font-size:10px;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
.tabbar.five svg{width:23px;height:23px}
}
@media (min-width:1000px){ .tabbar.five .roll-tab{order:-1} .tabbar .nb-badge{position:static!important;margin-left:auto} }
.tabbar .nb-badge{background:var(--acc);color:#04140c;box-shadow:0 0 0 2px var(--bg),0 0 12px rgba(47,216,137,.6)}
@media (max-width:360px){.tabbar.five button span{font-size:9px}}

/* ===== drop-down hit bar ===== */
.hitbar{position:fixed;left:50%;top:calc(10px + var(--safe-t,0px));z-index:400;width:min(560px,calc(100% - 20px));display:flex;align-items:center;gap:12px;padding:10px 14px 10px 10px;border-radius:18px;
  background:linear-gradient(135deg,#2fd889 0%,#1fbf74 100%);color:#04140c;text-align:left;box-shadow:0 18px 40px rgba(0,0,0,.45),0 0 0 1px rgba(255,255,255,.18) inset;
  transform:translate(-50%,-140%);transition:transform .45s cubic-bezier(.2,1.25,.3,1),opacity .3s;opacity:0}
.hitbar.in{transform:translate(-50%,0);opacity:1}.hitbar.out{transform:translate(-50%,-140%);opacity:0;transition-duration:.3s}
.hitbar.soft{background:rgba(18,22,26,.96);color:var(--tx);box-shadow:0 18px 40px rgba(0,0,0,.5),0 0 0 1px rgba(47,216,137,.45) inset}
.hitbar.cash{background:linear-gradient(135deg,#ffe07a,#2fd889 70%)}
.hb-face{flex:none;width:46px;height:46px;border-radius:50%;overflow:hidden;background:rgba(4,20,12,.18);display:grid;place-items:center;box-shadow:0 0 0 2px rgba(255,255,255,.55)}
.hitbar.soft .hb-face{background:var(--card2);box-shadow:0 0 0 2px var(--acc)}
.hb-face img{width:100%;height:100%;object-fit:cover;object-position:top}.hb-logo{width:26px;height:26px}
.hb-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}
.hb-tx b{font:900 22px/1 var(--fx,'Big Shoulders Display'),sans-serif;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hb-tx span{font-weight:800;font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hb-tx small{font-size:11.5px;font-weight:600;opacity:.75;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.hb-stat{flex:none;font:900 30px/1 var(--fx,'Big Shoulders Display'),sans-serif;padding-left:6px}
.hitbar:not(.soft) .hb-stat{color:#04140c}

/* ===== notifications ===== */
.nb-seg{margin:4px 0 12px}
.nb-list{display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;overflow:hidden;background:var(--card)}
.nb-row{display:flex;align-items:center;gap:12px;padding:12px 14px;text-align:left;color:var(--tx);border-top:1px solid var(--line);position:relative;transition:background .15s}
.nb-row:first-child{border-top:0}.nb-row:active{background:var(--card2)}
.nb-row.unread{background:rgba(47,216,137,.06)}.nb-row.unread::before{content:"";position:absolute;left:5px;top:50%;width:6px;height:6px;margin-top:-3px;border-radius:50%;background:var(--acc);box-shadow:0 0 8px var(--acc)}
.nb-face{position:relative;flex:none;width:42px;height:42px;border-radius:50%;background:var(--card2);display:grid;place-items:center}
.nb-face img{width:100%;height:100%;border-radius:50%;object-fit:cover;object-position:top}
.nb-face .ic,.nb-face>svg{width:20px;height:20px}
.nb-face.plain .ic svg,.nb-ic svg{width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.nb-ic{position:absolute;right:-3px;bottom:-3px;width:19px;height:19px;padding:3px;border-radius:50%;background:var(--card2);box-shadow:0 0 0 2px var(--card);color:var(--tx2);display:grid}
.nb-ic .ic{width:100%;height:100%}
.nb-row.hit .nb-ic,.nb-row.won .nb-ic,.nb-face.plain.won,.nb-face.plain.hit{background:var(--acc);color:#04140c}
.nb-row.miss .nb-ic,.nb-row.lost .nb-ic,.nb-face.plain.lost,.nb-face.plain.miss{background:#3a1d22;color:#ff6b7a}
.nb-row.hot .nb-ic,.nb-row.close .nb-ic,.nb-face.plain.hot,.nb-face.plain.close{background:#3a2a14;color:#ffb547}
.nb-face.plain .ic{width:20px;height:20px;display:grid}
.nb-tx{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.nb-tx b{font-size:14.5px;font-weight:700}.nb-tx span{font-size:13px;color:var(--tx2);line-height:1.35}
.nb-t{flex:none;align-self:flex-start;font:600 11.5px var(--fm,monospace);color:var(--tx3);margin-top:2px}
.nb-clear{display:block;margin:14px auto 0;color:var(--tx3);font-size:13px;font-weight:600;padding:8px 14px}

/* ===== the one slip: bottom bar, reroll, swipe to delete ===== */
#draftbar.on{animation:dbup .38s cubic-bezier(.2,1.2,.3,1)}
@keyframes dbup{from{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}
#draftbar .db-tx b{font-size:14.5px}#draftbar .db-tx span{font-size:12px}
#draftbar .db-b{white-space:nowrap}
.ed-reroll{width:100%;display:grid;grid-template-columns:auto 1fr;grid-template-rows:auto auto;column-gap:12px;align-items:center;text-align:left;margin:14px 0 6px;padding:14px 16px;border-radius:16px;background:var(--acc);color:#04140c;transition:transform .12s}
.ed-reroll:active{transform:scale(.98)}
.ed-reroll svg{grid-row:1/3;width:28px;height:28px}.ed-reroll span{font-weight:800;font-size:16px}.ed-reroll small{font-size:12px;font-weight:600;opacity:.7}
.rleg{transition:transform .25s cubic-bezier(.2,.9,.3,1),opacity .2s}
.rleg.kill .rl-main{box-shadow:inset 0 0 0 2px #ff5a6a}
.rleg.kill::after{content:"Release to delete";position:absolute;inset:0;display:grid;place-items:center;font-weight:800;font-size:13px;color:#ff6b7a;pointer-events:none;letter-spacing:.04em}

/* ===== chat: names only, reactions as polished tokens ===== */
.cm{gap:0}.cm-av{display:none!important}
.ch-rx button,.rx-pop button{position:relative}
.ch-rx .rxi,.rx-pop .rxi{padding:5px;width:38px!important;height:38px!important;border-radius:50%;background:radial-gradient(circle at 35% 28%,#2a3038,#14181d 70%);box-shadow:inset 0 1px 0 rgba(255,255,255,.08),inset 0 0 0 1px rgba(255,255,255,.06),0 4px 10px rgba(0,0,0,.45);filter:none!important}
.ch-rx button:active .rxi{transform:scale(.9)}
.rx-c{height:28px;padding:0 9px 0 4px;gap:5px}
.rx-c .rxi{width:20px!important;height:20px!important;padding:2px;border-radius:50%;background:#14181d;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08)}

#coach .co-hand{background:radial-gradient(circle,transparent 0 24%,rgba(255,255,255,.95) 25% 33%,rgba(47,216,137,.45) 34% 58%,transparent 59%)!important}

/* league chips: equal widths, icon and label on one optical center line */
.rp-setup .rp-sports button{flex:1 1 0!important;height:42px!important;gap:6px!important;padding:0 4px!important}
.rp-setup .rp-sports button.sp-all{flex:1 1 0!important}
.rp-setup .rp-sports button .ic{width:17px!important;height:17px!important;display:grid!important;place-items:center}
.rp-setup .rp-sports button .ic svg,.rp-setup .rp-sports button>svg{width:17px!important;height:17px!important;display:block;stroke-width:1.7}
.rp-setup .rp-sports button span{display:block;line-height:17px;height:17px;font-size:12.5px;font-weight:700;letter-spacing:.02em}
@media (max-width:380px){.rp-setup .rp-sports button span{font-size:11.5px}.rp-setup .rp-sports{gap:5px!important}}

/* ===== Research on phones: name pinned on its own line, stats aligned underneath (scroll together) ===== */
table.plt.two{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}
table.plt.two .pr-pin{position:sticky;left:0;z-index:2;width:var(--pinw,calc(100vw - 34px));display:flex;align-items:center;gap:8px;box-sizing:border-box}
table.plt.two thead th{background:var(--card);border-bottom:1px solid var(--line)}
table.plt.two .pr-h0 th{padding:0;text-align:left;border-bottom:0}
table.plt.two .pr-h0 .pr-pin{padding:10px 12px 4px}
table.plt.two .pr-h0 button{font:800 10.5px var(--fm,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--tx3);padding:0;margin-right:16px}
table.plt.two .pr-h0 button.on{color:var(--acc)}table.plt.two .pr-h0 button i{font-style:normal;margin-left:3px}
table.plt.two .pr-h0 .pr-hb{margin-left:auto;margin-right:0}
table.plt.two .pr-hs th{padding:0;height:30px}
table.plt.two .pr-hs th button{width:100%;height:30px;padding:0 2px;font:800 10.5px var(--fm,monospace);letter-spacing:.06em;color:var(--tx3);justify-content:center}
table.plt.two .pr-hs th.on button{color:var(--acc)}
table.plt.two .pr-hs th button i{display:none}
table.plt.two .pr-a td{padding:0;border-top:1px solid var(--line);background:var(--card)}
table.plt.two .pr-a:first-child td,table.plt.two tbody tr.pr-a:first-of-type td{border-top:0}
table.plt.two .pr-a .pr-pin{padding:10px 12px 2px}
table.plt.two .pr-a .plt-pw{flex:1;min-width:0;display:flex;align-items:center;padding:0!important}
table.plt.two .pr-a .plr-m{min-width:0}
table.plt.two .pr-a .plr-n b{font-size:14.5px!important}
table.plt.two .pr-a .plr-s{font-size:11.5px!important;overflow:hidden;text-overflow:ellipsis}
table.plt.two .pr-bet{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:3px}
table.plt.two .pr-bet .plt-add{min-height:0;padding:5px 9px;border-radius:9px}
table.plt.two .pr-bet .plt-add b{font-size:11.5px}table.plt.two .pr-bet .plt-add i{font-size:10px}
table.plt.two .pr-tr{font:700 10.5px var(--fm,monospace);color:var(--tx3)}.pr-tr.up{color:var(--acc)!important}.pr-tr.dn{color:#ff6b7a!important}
table.plt.two .pr-b td{min-width:38px;width:38px;box-sizing:border-box;padding:4px 2px 11px;text-align:center;font:700 14px/1.1 var(--fb,'Inter Tight'),sans-serif;font-variant-numeric:tabular-nums;color:var(--tx);background:var(--card);border:0}
table.plt.two .pr-b td.on{color:var(--acc)}
table.plt.two .pr-hs th,.pr-sh .pr-hs th{min-width:38px;width:38px;box-sizing:border-box}
table.plt.two .pr-hs th:first-child,table.plt.two .pr-b td:first-child,.pr-sh .pr-hs th:first-child{padding-left:8px;min-width:46px;width:46px}
table.plt.two tr.pr-a:active td,table.plt.two tr.pr-a:active+tr.pr-b td{background:#1b1f26}

table.plt.two thead{visibility:collapse}table.plt.two thead tr{height:0}table.plt.two thead th{height:0!important;padding:0!important;border:0!important;line-height:0;overflow:hidden}
table.plt.two thead th *{height:0!important;padding:0!important;font-size:0!important}
.pr-sh{position:sticky;z-index:6;overflow:hidden;background:var(--card);border-bottom:1px solid var(--line);border-radius:inherit}
.pr-shin{border-collapse:separate;border-spacing:0;will-change:transform;table-layout:auto}
.pr-shin th{padding:0;text-align:center;background:var(--card)}
.pr-sh .pr-h0 th{text-align:left}.pr-sh .pr-pin{width:var(--pinw,calc(100vw - 34px));display:flex;align-items:center;padding:10px 12px 2px;box-sizing:border-box}
.pr-sh .pr-h0 button{font:800 10.5px var(--fm,monospace);letter-spacing:.12em;text-transform:uppercase;color:var(--tx3);padding:0;margin-right:16px}
.pr-sh .pr-h0 button.on{color:var(--acc)}.pr-sh .pr-h0 button i{font-style:normal;margin-left:3px}.pr-sh .pr-h0 .pr-hb{margin-left:auto;margin-right:0}
.pr-sh .pr-hs th{height:28px}.pr-sh .pr-hs th button{width:100%;height:28px;padding:0 2px;font:800 10px var(--fm,monospace);letter-spacing:.04em;color:var(--tx3);display:flex;align-items:center;justify-content:center}
.pr-sh .pr-hs th.on button{color:var(--acc)}.pr-sh .pr-hs th button i{display:none}
.plt-card:has(.pr-sh){overflow:visible}

.tf-sec small{display:block;margin-top:2px;max-width:34ch}
.pr-sh .pr-hs th{max-width:38px;overflow:hidden}.pr-sh .pr-hs th:first-child{max-width:46px}
.pr-sh .pr-hs th button{white-space:nowrap;overflow:hidden;text-overflow:clip;font-size:9.5px!important;letter-spacing:0!important}
table.plt.two .pr-b td{max-width:38px;overflow:hidden;white-space:nowrap}table.plt.two .pr-b td:first-child{max-width:46px}
.pr-fire{display:inline-flex;align-items:center;gap:2px;margin-right:6px;padding:2px 6px 2px 4px;border-radius:7px;background:rgba(255,138,61,.16);color:#ff9a4d;font:800 11px var(--fm,monospace);font-style:normal}
.pr-fire svg{width:12px;height:12px}
.plt-add i em{font-style:normal;font-weight:800}.plt-add i em.pos{color:var(--acc)}.plt-add i em.neg{color:var(--tx3)}
/* mwfa: no truncation on phone research rows and section kickers */
.tf-sec{flex-wrap:wrap;row-gap:2px}
.tf-sec small{white-space:normal}
.plt.two .plt-pw .plr-s{flex-wrap:wrap;white-space:normal}
.plt.two .plr-m{min-width:0}
/* mwfb: Research list rework on phones: photo far left, rank as the first number, no star in the list */
table.plt.two .pr-a .pr-pin{padding:12px 12px 4px 10px;gap:10px}
table.plt.two .pr-a .plt-pw{gap:10px}
table.plt.two .pr-a .hs{width:40px!important;height:40px!important;border-radius:12px!important;flex:none}
table.plt.two .pr-a .plr-n b{font:700 15px/1.2 var(--fb,'Inter Tight'),sans-serif!important;letter-spacing:-.01em}
table.plt.two .pr-a .plr-s{font:500 11.5px/1.3 var(--fb,'Inter Tight'),sans-serif!important;color:var(--tx3)}
table.plt.two .pr-hs th:first-child,table.plt.two .pr-b td:first-child,.pr-sh .pr-hs th:first-child{padding-left:10px!important;padding-right:0!important;min-width:40px;width:40px;max-width:40px;text-align:left}
.pr-sh .pr-hs th:first-child button,table.plt.two .pr-hs th:first-child button{justify-content:flex-start;padding-left:0}
table.plt.two .pr-b td.pr-rk{color:var(--tx3);font-weight:700;font-size:13px}
table.plt.two .pr-b td.pr-rk.on{color:var(--acc)}
table.plt.two .pr-b td{font:700 14.5px/1.1 var(--fb,'Inter Tight'),sans-serif!important;font-variant-numeric:tabular-nums;padding:2px 2px 12px}
.pr-sh .pr-hs th button,table.plt.two .pr-hs th button{font-family:var(--fb,'Inter Tight'),sans-serif!important;font-weight:800!important;font-size:10.5px!important;letter-spacing:.04em!important}
.pr-sh{border-radius:16px 16px 0 0}
.pl-legend .pr-fire-k{margin-right:2px;padding:1px 5px 1px 3px;font-size:10px}
.phead > .pl-star.big{align-self:flex-start;margin-left:auto}
/* mwfc: Hot & Cold kicker on one line; one filter row with an EV ticket sort */
.tf-sec{display:flex;align-items:center;justify-content:flex-start;gap:12px;flex-wrap:nowrap!important}
.tf-sec h3{flex:none;margin:0}
.tf-sec small{white-space:nowrap!important;overflow:hidden;text-overflow:ellipsis;min-width:0}
.pl-filters.pl-f4{display:grid!important;grid-template-columns:1fr 1fr 1fr auto!important;gap:8px}
.pl-f4 .sel{min-width:0;padding-left:12px;padding-right:8px}
.pl-f4 .sel span{font-size:13.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.pl-evb{display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 12px;min-width:64px;border-radius:14px;border:1px solid var(--line2);background:var(--card);color:var(--tx2);font:800 13px var(--fb,'Inter Tight'),sans-serif;letter-spacing:.04em;cursor:pointer;transition:background .2s,color .2s,border-color .2s}
.pl-evb svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linejoin:round}
.pl-evb i{font-style:normal;font-size:9px}
.pl-evb.on{background:var(--acc);border-color:var(--acc);color:#04130b;box-shadow:0 0 18px rgba(46,213,135,.35)}
.pl-evb:active{transform:scale(.96)}
.pl-f4{gap:6px!important}
.pl-f4 .sel{padding-left:11px!important;padding-right:7px!important;gap:4px}
.pl-f4 .sel span{font-size:13.5px!important}
.pl-f4 .sel svg{width:13px;height:13px;flex:none}
.pl-evb{min-width:0;padding:0 11px}
/* mwfd: flame column sorts by top bet EV; three filters in one row */
.pl-filters.pl-f3{display:grid!important;grid-template-columns:1fr 1fr 1fr!important;gap:8px}
.pl-f3 .sel{min-width:0}
.pl-f3 .sel span{font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
table.plt.two .pr-hs th,.pr-sh .pr-hs th,table.plt.two .pr-b td{min-width:34px!important;width:34px!important;max-width:34px!important}
table.plt.two .pr-hs th:first-child,table.plt.two .pr-b td:first-child,.pr-sh .pr-hs th:first-child{min-width:40px!important;width:40px!important;max-width:40px!important}
table.plt.two .pr-hs th.pr-evh,.pr-sh .pr-hs th.pr-evh,table.plt.two .pr-b td.pr-evc{min-width:32px!important;width:32px!important;max-width:32px!important;padding-right:6px!important}
.pr-evh button{display:flex!important;align-items:center;justify-content:center}
.pr-evh svg{width:14px;height:14px;fill:currentColor;stroke:none}
table.plt.two .pr-b td.pr-evc{font-size:13px!important}
table.plt.two .pr-b td{font-size:14px!important;padding-left:1px!important;padding-right:1px!important}
table.plt.two .pr-hs th.pr-evh button,.pr-sh .pr-hs th.pr-evh button{color:var(--tx3)!important}
table.plt.two .pr-hs th.pr-evh.on button,.pr-sh .pr-hs th.pr-evh.on button{color:var(--tx)!important}
table.plt.two .pr-b td.pr-evc,table.plt.two .pr-b td.pr-evc.on{color:var(--tx)!important}
/* mwfe: slip screen audit */
.om-unl{display:none}
.roll-cta.locked .om-die{display:none!important}
.roll-cta.locked .om-unl{display:grid;place-items:center;width:30px;height:30px;border-radius:10px;background:rgba(46,213,135,.14)}
.roll-cta.locked .om-unl svg{width:18px;height:18px;fill:none;stroke:var(--acc);stroke-width:2;stroke-linecap:round;stroke-linejoin:round}
.roll-cta.locked .om-unl circle{fill:var(--acc);stroke:none}
.rp-bar .roll-cta{gap:10px;letter-spacing:.04em}
.rp-bar.three .roll-cta{font-size:15px!important}
.rp-bar.three .roll-cta.locked{color:var(--tx)!important;background:var(--card2)!important;border:1px solid rgba(46,213,135,.45)!important}
.rp-bar.three{gap:8px!important;grid-template-columns:1fr 1fr 1.5fr!important}
.rv-btn{font-size:12.5px;gap:4px}
.rv-chance{align-items:baseline}
.rv-chance>span:last-child{font-size:12.5px}
.rp.full .rl-main{grid-template-columns:50px minmax(0,1fr) auto!important;gap:12px!important;padding:12px 8px 12px 12px!important}
.rp.full .rl-sub .rl-g{flex-basis:100%}
.rl-sub{row-gap:5px!important;margin-top:4px!important}
.rl-pick{margin-top:3px}
.rp-bar.three .roll-cta.locked{font-size:14px!important;gap:8px;padding:0 10px}
.roll-cta.locked .om-unl{width:26px;height:26px;border-radius:8px}
.roll-cta.locked .om-unl svg{width:16px;height:16px}
.roll-cta .om-die{background:transparent!important;width:26px!important;height:26px!important}
.roll-cta .om-die .dice{width:24px!important;height:24px!important}
.roll-cta .om-die .dice rect{display:block!important;fill:none!important;stroke:var(--acc-ink)!important;stroke-width:1.9!important}
.roll-cta .om-die .dice circle{fill:var(--acc-ink)!important}
/* mwff: nothing sits on top of content by default; minimal slip header */
body.has-draft main{padding-bottom:calc(200px + var(--safe-b,0px))!important}
body.roll-full main{padding-bottom:calc(140px + var(--safe-b,0px))!important}
@media(min-width:1000px){body.roll-full main{padding-bottom:150px!important}.rv-x2{font-size:86px!important}.rv-x2 i{font-size:.62em!important}}
.rv-x{width:40px;height:40px;border:0!important;background:none!important;color:var(--acc)!important;border-radius:10px;margin-left:-8px}
.rv-x svg{width:24px;height:24px;stroke:currentColor;stroke-width:2.4}
.rv-x:active,.rv-clear:active{opacity:.6}
.rv-clear{height:40px!important;padding:0 4px!important;border:0!important;background:none!important;color:var(--acc)!important;font:700 15px/1 'Inter Tight',system-ui,sans-serif!important;letter-spacing:0!important;border-radius:8px!important}
.rv-clear:active{color:var(--acc)!important}
/* mwfg: profile button, drawer fit, full notification text */
#settingsBtn.me{padding:0;background:none;border:0}
#settingsBtn svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round}
.me-av{width:38px;height:38px;border-radius:50%;display:grid;place-items:center;background:var(--acc);color:#04140c;font:800 16px 'Inter Tight',sans-serif}
.dw-lab{margin:6px 2px 8px;font:700 11px 'JetBrains Mono',monospace;letter-spacing:.14em;text-transform:uppercase;color:var(--tx3)}
#drawer .dw{overflow-x:hidden;overflow-y:auto;box-sizing:border-box}
#drawer .dw>*{max-width:100%;min-width:0;box-sizing:border-box}
#drawer .dw-row{min-width:0;gap:10px}#drawer .dw-row>span:first-child{min-width:0}
#drawer .dw-row .sel{max-width:60%;min-width:0}
.dw-legal{gap:6px 16px!important;padding:6px 0 4px!important}
.hb-tx b{white-space:normal!important;font-size:19px!important;line-height:1.05!important}
.hb-tx span,.hb-tx small{white-space:normal!important;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:3;overflow:hidden;text-overflow:clip!important;line-height:1.3}
.hitbar{align-items:center;padding:11px 14px 11px 11px!important}
/* mwfh: tighter slip legs, safe and at-risk states, steady tab bar */
.lg{grid-template-columns:34px minmax(0,1fr) 40px!important;gap:9px!important;padding:7px 8px!important;margin-top:2px!important;border-radius:12px!important}
.lg .hs{width:34px!important;height:34px!important;border-radius:10px!important}
.lg-t b{font-size:15px!important;line-height:1.15}.lg-o em{font-size:17px!important}.lg-o .num{font-size:12.5px!important}
.lg-s{font-size:12.5px!important;margin-top:1px!important}
.lg-bar{height:5px!important;margin-top:5px!important}
.lg-n{font-size:11.5px!important;margin-top:3px!important}
.lg-ic .ok,.lg-ic .no{width:22px!important;height:22px!important}.lg-ic em{font-size:8.5px!important}
.lg-ic .sf{width:22px;height:22px;border-radius:50%;border:1.5px solid var(--up);display:grid;place-items:center}.lg-ic .sf svg{width:12px;height:12px;stroke:var(--up);stroke-width:3;fill:none}
.lg-ic em.sfl{color:var(--up)}
.lg.safe{background:rgba(47,216,137,.05)}
.lg.risk .lg-bar{background:rgba(255,77,94,.18)!important}
.lg.risk .lg-bar i{background:#ff4d5e!important;animation:riskFlash 1s ease-in-out infinite}
.lg.risk .lg-ic .risk{animation:riskFlash 1s ease-in-out infinite}
.lg.risk{box-shadow:inset 0 0 0 1px rgba(255,77,94,.35)}
@keyframes riskFlash{0%,100%{opacity:1}50%{opacity:.25}}
@media (prefers-reduced-motion:reduce){.lg.risk .lg-bar i,.lg.risk .lg-ic .risk{animation:none}}
.tabbar{transform:translateZ(0);will-change:transform}
/* mwfi: your slip players glow green in plays and box score; calmer reaction tap */
.fp-t b.mine{color:var(--acc);font-weight:800}
.fp.mine{box-shadow:inset 0 0 0 1px rgba(47,216,137,.4);background:linear-gradient(90deg,rgba(47,216,137,.08),transparent 70%)}
table.box tr.tracked td{color:var(--acc);font-weight:800}
table.box tr.tracked{background:rgba(47,216,137,.08)}
table.box tr.tracked td:first-child{box-shadow:inset 3px 0 0 var(--acc)}
@keyframes rxpop{40%{transform:scale(1.18)}}
.chat,#chList{overflow-anchor:none}
/* mwfj: splash glow without the box, tag in display caps; one react button per play */
.sp-logo{filter:none!important;position:relative;z-index:1;animation:splogo .9s cubic-bezier(.2,1.4,.4,1) both!important}
.sp-in{position:relative}
.sp-in::before{content:'';position:absolute;left:50%;top:46px;width:260px;height:260px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,rgba(47,216,137,.42) 0%,rgba(47,216,137,.14) 38%,transparent 68%);pointer-events:none;animation:sphalo 2.2s ease-in-out infinite}
@keyframes sphalo{0%,100%{opacity:.75;transform:translate(-50%,-50%) scale(.94)}50%{opacity:1;transform:translate(-50%,-50%) scale(1.06)}}
@keyframes spglow{0%,100%{filter:drop-shadow(0 0 6px rgba(47,216,137,.55))}50%{filter:drop-shadow(0 0 14px rgba(47,216,137,.95))}}
.sp-tag{font-family:var(--fx)!important;font-weight:800!important;font-size:14px!important;letter-spacing:.16em!important;text-transform:uppercase;color:var(--tx3)!important;margin-top:14px!important}
.prx-add.has{gap:5px;width:auto!important;padding:0 10px!important;display:inline-flex;align-items:center}
.prx-add .rxi{width:20px;height:20px}
.prx-add b{font:800 12px 'Inter Tight',sans-serif;color:var(--tx2)}
.prx-add.me{border-color:rgba(47,216,137,.6)!important;background:rgba(47,216,137,.12)!important}
.prx-add.me b{color:var(--acc)}
.prx-add{-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;touch-action:manipulation}
/* mwfk: keep bottom bars pinned to the real screen bottom even when iOS holds a stale viewport */
.tabbar,#draftbar,.rp-bar{translate:0 var(--vfix,0px)}
/* mwfl: header and league chips stack cleanly; content fades out beneath them instead of being sliced */
@media (max-width:999px){
  .leagues{top:var(--toph,calc(56px + var(--safe-t)))!important;background:var(--bg)!important;margin-top:-1px}
  .leagues::after{content:'';position:absolute;left:0;right:0;top:100%;height:14px;background:linear-gradient(var(--bg),rgba(10,11,13,0));pointer-events:none}
  .top::after{display:none}
  .days{top:calc(var(--toph,calc(56px + var(--safe-t))) + 52px)!important}
}
/* QA: comfortable tap targets and tidy tiles */
.pfoot nav a,.pfoot nav button,.dw-legal a,.dw-legal button{display:inline-flex;align-items:center;min-height:36px;padding:0 4px}
.rm-grid>span{min-width:0;padding:0 3px}.rm-grid b{font-size:11.5px!important;letter-spacing:-.01em;white-space:nowrap}
.live-tab-dot{width:7px!important;height:7px!important;top:5px!important;left:calc(50% + 10px)!important;box-shadow:0 0 0 2px var(--bg)}
