:root{--bg:#0a1428;--panel:#111f3b;--panel2:#16294d;--line:#22375f;--txt:#e8eefc;--mut:#8ea3c7;--acc:#ff4d2e;--acc2:#ffb020;--grn:#22c55e;--red:#ef4444;--yel:#eab308}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--txt);font:15px/1.5 Inter,system-ui,sans-serif}
a{color:inherit;text-decoration:none}.wrap{max-width:1200px;margin:0 auto;padding:0 20px}
.mock-ribbon{background:var(--acc2);color:#111;text-align:center;font-size:12px;font-weight:700;padding:4px}

.hdr{position:sticky;top:0;z-index:20;background:rgba(10,20,40,.92);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.hdr-in{display:flex;align-items:center;gap:24px;height:68px}
.logo{font:700 24px Oswald,sans-serif;letter-spacing:.04em}.logo span{color:var(--acc)}.logo i{font-style:normal;color:var(--acc);margin-left:4px}
.nav{display:flex;gap:18px}.nav a{font-weight:600;color:var(--mut);cursor:pointer}.nav a.on{color:#fff;border-bottom:2px solid var(--acc)}.nav em{font-size:9px;font-style:normal;background:var(--panel2);padding:1px 5px;border-radius:6px;vertical-align:top}
.btn{display:inline-block;background:var(--acc);color:#fff;font-weight:700;border:0;border-radius:10px;padding:10px 18px;cursor:pointer}.btn.ghost{background:transparent;border:1px solid var(--line)}.cta{margin-left:auto}
.team-picker{position:relative;margin-left:auto}
.tp-btn{background:var(--panel2);border:1px solid var(--acc);color:#fff;border-radius:12px;padding:6px 14px;display:grid;grid-template-columns:auto 14px;text-align:left;cursor:pointer;min-width:230px}
.tp-btn small{grid-column:1;font-size:10px;color:var(--acc2);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.tp-btn b{grid-column:1}.tp-btn span{grid-column:2;grid-row:1/3;align-self:center}
.tp-panel{display:none;position:absolute;right:0;top:58px;width:360px;background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:0 20px 50px #0009;padding:12px}
.team-picker.open .tp-panel{display:block}
.tp-panel input{width:100%;padding:9px 12px;border-radius:9px;border:1px solid var(--line);background:var(--bg);color:#fff}
.tp-leagues{display:flex;gap:6px;margin:10px 0}.tp-leagues button{flex:1;background:var(--bg);color:var(--mut);border:1px solid var(--line);border-radius:8px;padding:5px;font-weight:700;cursor:pointer}.tp-leagues button.on{background:var(--acc);color:#fff;border-color:var(--acc)}
.tp-list{max-height:330px;overflow:auto}.tp-list h5{margin:10px 4px 4px;color:var(--mut);font-size:11px;letter-spacing:.1em}
.tp-list div{padding:7px 10px;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;font-size:14px}.tp-list div:hover,.tp-list div.sel{background:var(--panel2)}
.live{font-size:10px;font-weight:700;color:var(--grn)}.soonl{font-size:10px;color:var(--mut)}
.hero{background:radial-gradient(1000px 400px at 80% 0,#1e3a7a55,transparent),linear-gradient(180deg,#0c1a36,var(--bg));padding:50px 0}
.hero-in{display:grid;grid-template-columns:1.1fr 1fr;gap:40px;align-items:center}
.kicker{color:var(--acc2);font-weight:700;text-transform:uppercase;letter-spacing:.12em;font-size:12px}
h1{font:700 72px/1 Oswald,sans-serif;margin:8px 0 16px;text-transform:uppercase}h1 span{color:var(--acc)}
.lead{color:var(--mut);font-size:18px;max-width:480px}.hero-stats{display:flex;gap:28px;margin-top:22px}.hero-stats b{display:block;font:700 28px Oswald}.hero-stats span{color:var(--mut);font-size:12px}
.card{background:var(--panel);border:1px solid var(--line);border-radius:16px;padding:18px}
.feat{background:linear-gradient(160deg,var(--panel2),var(--panel));border:1px solid var(--line);border-radius:20px;padding:24px;box-shadow:0 20px 60px #0007}
.feat .lbl{font-size:11px;color:var(--acc2);font-weight:700;letter-spacing:.1em}.feat h3{font:700 30px Oswald;margin:6px 0}
.verdict{display:inline-block;font-weight:800;font-size:12px;padding:4px 10px;border-radius:999px;letter-spacing:.04em}.v-buy{background:#22c55e22;color:var(--grn);border:1px solid var(--grn)}.v-wait{background:#eab30822;color:var(--yel);border:1px solid var(--yel)}
.flag{font-size:11px;font-weight:700;padding:2px 8px;border-radius:6px}.f-Bargain{background:#22c55e22;color:var(--grn)}.f-Fair{background:#8ea3c722;color:#c5d2ea}.f-Overpriced{background:#ef444422;color:#ff7b7b}
.tiers{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0}.tiers div{background:var(--bg);border-radius:10px;padding:8px}.tiers small{display:block;color:var(--mut);font-size:10px}.tiers b{font-size:16px}
.hype{display:flex;align-items:center;gap:8px;font-size:12px;color:var(--mut)}.bar{flex:1;height:6px;background:var(--bg);border-radius:4px;overflow:hidden}.bar i{display:block;height:100%;background:linear-gradient(90deg,var(--acc2),var(--acc))}
.main{display:grid;grid-template-columns:minmax(0,1fr);gap:32px;padding-top:30px}
.sec-h{display:flex;align-items:end;justify-content:space-between;gap:12px;margin:26px 0 12px;flex-wrap:wrap}.sec-h h2{margin:0;font:700 26px Oswald;text-transform:uppercase}.muted{color:var(--mut);margin:0;font-size:13px}
.tabs button{background:var(--panel);color:var(--mut);border:1px solid var(--line);padding:6px 14px;border-radius:8px;font-weight:600;cursor:pointer}.tabs button.on{background:var(--acc);color:#fff}
.game{display:grid;grid-template-columns:90px 1.4fr 2.4fr 120px;gap:14px;align-items:center;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:14px;margin-bottom:10px;cursor:pointer;transition:.15s}.game:hover{border-color:var(--acc);transform:translateY(-1px)}
.date b{display:block;font:700 22px Oswald}.date small{color:var(--mut);font-size:11px}
.ha{font-size:10px;font-weight:800;padding:2px 6px;border-radius:5px;background:var(--panel2);color:var(--acc2)}
.game h4{margin:4px 0;font-size:17px}.game .sub{color:var(--mut);font-size:12px}
.mini{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.mini div{background:var(--bg);border-radius:8px;padding:6px 8px}.mini small{display:block;color:var(--mut);font-size:10px}.mini b{font-size:14px}.na{color:#5b6c8e;font-weight:500}
.right{text-align:right;display:flex;flex-direction:column;gap:6px;align-items:flex-end}

.empty{background:var(--panel);border:1px dashed var(--line);border-radius:16px;padding:34px;text-align:center}.empty h3{font:700 26px Oswald;margin:0 0 6px}.empty p{color:var(--mut)}.empty form{display:flex;gap:8px;justify-content:center;margin-top:12px;flex-wrap:wrap}
input[type=email]{padding:11px 14px;border-radius:10px;border:1px solid var(--line);background:var(--bg);color:#fff;min-width:240px}
table{width:100%;border-collapse:collapse;background:var(--panel);border-radius:14px;overflow:hidden;font-size:13px}th,td{padding:9px 10px;text-align:left;border-bottom:1px solid var(--line)}th{background:var(--panel2);color:var(--mut);font-size:11px;text-transform:uppercase}.up{color:#ff7b7b;font-weight:700}.dn{color:var(--grn);font-weight:700}
.soon-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.soon{background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:16px;opacity:.85}.soon b{font:700 22px Oswald}.soon p{color:var(--mut);font-size:13px}
.tag{font-size:10px;font-weight:700;background:var(--panel2);color:var(--acc2);padding:3px 8px;border-radius:6px;text-transform:uppercase;letter-spacing:.06em}
.how ul{padding-left:18px;color:var(--mut);font-size:13px}.how h3{margin:0}.sticky{position:sticky;top:90px}
.alerts{background:linear-gradient(90deg,#ff4d2e,#ff7a2e);margin-top:40px;padding:34px 0}.alerts-in{display:flex;justify-content:space-between;align-items:center;gap:20px;flex-wrap:wrap}.alerts h2{margin:0;font:700 30px Oswald;text-transform:uppercase}.alerts p{margin:4px 0}.alerts form{display:flex;gap:8px;flex-wrap:wrap}.alerts .btn{background:#0a1428}.alerts input{border:0}
.free-line{color:var(--acc);margin:10px 0 0}
.ftr{border-top:1px solid var(--line);margin-top:50px;padding:30px 0 30px;color:var(--mut);font-size:12px}
.modal{position:fixed;inset:0;background:#000b;z-index:50;display:flex;align-items:center;justify-content:center;padding:20px}.modal[hidden]{display:none}.modal-box{background:var(--panel);border:1px solid var(--line);border-radius:18px;max-width:820px;width:100%;max-height:90vh;overflow:auto;padding:24px;position:relative}
.x{position:absolute;right:16px;top:12px;background:none;border:0;color:#fff;font-size:26px;cursor:pointer}.dgrid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-top:14px}.dgrid h4{margin:0 0 8px;font-size:13px;color:var(--acc2);text-transform:uppercase;letter-spacing:.08em}.kv{display:flex;justify-content:space-between;font-size:13px;padding:4px 0;border-bottom:1px solid var(--line)}.kv span{color:var(--mut)}
@media(max-width:900px){.main{grid-template-columns:1fr}.side{display:none}.hero-in{grid-template-columns:1fr}h1{font-size:52px}.nav,.cta{display:none}
.game{grid-template-columns:70px 1fr;}.game .mini{grid-column:1/3}.game .right{grid-column:1/3;flex-direction:row;justify-content:space-between}.tiers{grid-template-columns:repeat(2,1fr)}.soon-grid,.dgrid{grid-template-columns:1fr}.team-picker{margin-left:auto}.tp-btn{min-width:0}.tp-panel{width:calc(100vw - 30px);right:-10px}.hdr-in{gap:10px}.logo{font-size:20px}table{font-size:11px}.hva-wrap{overflow-x:auto}}

.buy-row{display:flex;flex-wrap:wrap;gap:4px;max-width:260px;justify-content:flex-end}.mk{font-size:10px;padding:2px 7px;border:1px solid var(--line);border-radius:999px;color:#c5d2ea;text-decoration:none}.mk:hover{border-color:var(--acc);color:#fff}.buy-grid{display:flex;flex-wrap:wrap;gap:8px}.mkb{font-size:13px}.disc{font-size:11px}
.qty-pick{display:grid;background:var(--panel2);border:1px solid var(--line);border-radius:12px;padding:4px 10px}.qty-pick small{font-size:10px;color:var(--acc2);text-transform:uppercase;letter-spacing:.08em;font-weight:700}.qty-pick select{background:transparent;color:#fff;border:0;font:700 15px Inter,sans-serif;cursor:pointer}.qty-pick option{color:#111}
.team-picker+.qty-pick{margin-left:-12px}
.gbb{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;min-width:330px}.gbb.big{margin-top:12px;min-width:0}
.gb{background:var(--bg);border:1px solid var(--line);border-radius:10px;padding:6px 8px;display:flex;flex-direction:column;gap:1px;font-size:11px}
.gb small{font-weight:800;letter-spacing:.1em;font-size:10px}.gb-good small{color:var(--grn)}.gb-better small{color:#60a5fa}.gb-best small{color:var(--acc)}
.gb em{font-style:normal;color:var(--mut);font-size:10px;line-height:1.2}.gb b{font-size:17px}.gb b i{font-style:normal;font-size:10px;color:var(--mut);margin-left:2px}
.gb .tot{color:var(--acc2);font-weight:600}.gb .sec{color:var(--mut);font-size:10px}.gb .na{color:var(--mut);font-size:11px;font-style:italic}.gb .flag{align-self:flex-start;margin-top:2px}
.gbb.big .gb b{font-size:22px}
tr.selq td{background:#1d3157}
@media(max-width:800px){.gbb{min-width:0}.qty-pick{margin-left:0}}
@media(max-width:800px){.game .gbb{grid-column:1/3}}

.chgs{display:flex;gap:8px;flex-wrap:wrap;font-size:11.5px;font-weight:600;margin:2px 0;line-height:1.3}.chg.dn{color:#16a34a}.chg.up{color:#dc2626}.chg.nil,.chg.flat{color:#8a8f98;font-weight:500}
@media (max-width:600px){.chgs{gap:5px;font-size:10.5px}}

/* ---- mobile overflow fixes ---- */
html,body{overflow-x:hidden;max-width:100%}
img,svg,canvas,video,iframe{max-width:100%}
.main>*,.hero-in>*,.game>*,.feat,.feat *{min-width:0}
@media(max-width:900px){
 .main{grid-template-columns:minmax(0,1fr)}
 .hero-in{grid-template-columns:minmax(0,1fr)}
 .game{grid-template-columns:70px minmax(0,1fr)}
 .game h4,.game .sub,.feat h3,h1,.sec-h h2{overflow-wrap:anywhere}
 .hdr-in{flex-wrap:wrap;height:auto;padding-top:8px;padding-bottom:8px;row-gap:8px}
 .team-picker{flex:1 1 180px;min-width:0}.tp-btn{width:100%;min-width:0}
 .tp-btn b{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
 .tp-panel{width:min(360px,calc(100vw - 24px));right:0}
 .ftr{padding-bottom:30px}
 .hva-wrap,.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch;max-width:100%}
 input[type=email]{min-width:0;flex:1 1 180px}
 .buy-row{max-width:100%;justify-content:flex-start}
 .modal{padding:10px}.modal-box{padding:16px}
}
@media(max-width:600px){
 h1{font-size:40px}.wrap{padding:0 14px}
 .gbb,.gbb.big{grid-template-columns:minmax(0,1fr);min-width:0}
 .gb{flex-direction:row;flex-wrap:wrap;align-items:baseline;column-gap:8px}
 .tiers{grid-template-columns:repeat(2,minmax(0,1fr))}
 .hero-stats{flex-wrap:wrap;gap:16px}
 .right{flex-wrap:wrap}
}
@media(max-width:900px){.modal-box table{display:block;overflow-x:auto;max-width:100%}.hva-wrap table{min-width:560px}}
.ln{font-size:11.5px;color:#b8bec8;margin:3px 0 0;line-height:1.35;overflow-wrap:anywhere}.ln.nil,.ln .nil{color:#8a8f98;font-weight:400}.ln .prov{color:#8a8f98}.ln .istar.o{color:#ef4444;font-weight:700}.ln .istar.q{color:#f59e0b;font-weight:700}
@media (max-width:600px){.ln{font-size:10.5px}}
.ln .mv{white-space:normal}.ln .mv .chg{font-size:10.5px}

.qnote{margin:-6px 0 14px;font-size:12px;color:var(--muted,#8b9bb8);opacity:.85}

/* ---- QA fixes Nov 1 ---- */
.gb small,.gb-good small,.gb-better small,.gb-best small{color:#c5d2ea}
.vchip{display:inline-block;font-weight:800;font-size:13px;letter-spacing:.06em;padding:5px 12px;border-radius:999px;justify-self:start}
.game .vchip{grid-column:1/-1;margin-bottom:-4px}.game .vchip.v-buy{background:var(--grn);color:#06210f;border:0}.game .vchip.v-wait{background:var(--yel);color:#2a1f00;border:0}
.feat>.vchip{margin-bottom:8px;font-size:14px}.feat>.vchip.v-buy{background:var(--grn);color:#06210f}.feat>.vchip.v-wait{background:var(--yel);color:#2a1f00}
.cheap{font-size:14px;color:var(--mut);display:flex;align-items:center;gap:10px;flex-wrap:wrap}.cheap b{color:#fff;font-size:17px}
.spk{display:inline-flex;align-items:center;gap:4px}.spk small{font-size:11px;color:var(--mut)}.spk.nil{font-size:11px;color:var(--mut)}
.tapx{display:none}
.cmp{width:100%}.cmp summary{list-style:none;cursor:pointer;min-height:44px;display:flex;align-items:center;justify-content:center;padding:0 14px;border:1px solid var(--line);border-radius:10px;font-weight:700;font-size:14px;color:#fff}.cmp summary::-webkit-details-marker{display:none}.cmp summary::after{content:" ▾";margin-left:4px}.cmp[open] summary::after{content:" ▴"}
.cmp .buy-grid{margin-top:8px;display:grid;grid-template-columns:1fr 1fr;gap:6px}.mkb{min-height:44px;display:flex;align-items:center;justify-content:center;border:1px solid var(--line);border-radius:10px;font-size:13px;color:#c5d2ea;padding:0 8px;text-align:center}.mkb:hover{border-color:var(--acc);color:#fff}
.fee{font-size:12px;color:var(--mut);margin:6px 0 0}.right .cmp{max-width:260px}.dbtn{min-height:44px}
.ln .gamb{display:block;color:#8a8f98;font-size:11px}
.flink{color:var(--acc2);text-decoration:underline;display:inline-block;min-height:44px;line-height:44px}
@media(max-width:900px){
 body{font-size:15px}
 .game{grid-template-columns:70px minmax(0,1fr);cursor:pointer}.game:hover{transform:none}
 .game:not(.open) .gx{display:none}.game .gx-t,.game .right{grid-column:1/-1}.game .right{flex-direction:column;align-items:stretch}.right .cmp{max-width:none}
 .tapx{display:block;font-size:12px;color:var(--acc2);font-weight:700;margin-top:4px}
 .game .sub,.game .hype,.hype{font-size:14px}.ln,.ln .mv .chg,.chgs{font-size:14px}.ln .gamb{font-size:12px}
 .muted,.disc,.qnote,.how ul,.soon p,.ftr,table,.kv,.dgrid h4{font-size:14px}
 .gb{font-size:14px}.gb small,.gb em,.gb .sec,.gb b i,.gb .na,.flag,.date small,.ha,.tag,.kicker,.feat .lbl,.tp-btn small,.qty-pick small,.hero-stats span,th,.mock-ribbon,.spk small,.spk.nil,.live,.soonl,.tp-list h5,.nav em,
 .ftr{font-size:14px}
 .btn,.tabs button,.tp-btn,.qty-pick,.tp-leagues button,.tp-list div,.tp-panel input,input[type=email],.x{min-height:44px}
 .qty-pick select{min-height:32px;font-size:16px}.tabs button{padding:0 16px}.x{min-width:44px}
}
@media(min-width:901px){.game{grid-template-columns:90px 1.4fr 2.4fr 160px}}

/* ---- QA fixes round 2: type minimums and tap targets at every width ---- */
body{font-size:15px}
.game .sub,.hype,.ln,.ln .mv .chg,.chgs,.chg,.muted,.disc,.qnote,.how ul,.soon p,.ftr,table,.kv,.gb,.cheap,.lead{font-size:14px}
.gb small,.gb em,.gb .sec,.gb b i,.gb .na,.flag,.date small,.ha,.tag,.kicker,.feat .lbl,.tp-btn small,.qty-pick small,.hero-stats span,th,.mock-ribbon,.spk small,.spk.nil,.live,.soonl,.tp-list h5,.nav em,
.chgs{font-size:14px}
.logo{display:inline-flex;align-items:center;min-height:44px}
.qty-pick select{min-height:44px;font-size:16px}
.nav a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px}
.tabs button{min-height:44px;padding:0 16px}
.btn,.tp-btn,.qty-pick,.tp-leagues button,.tp-list div,.tp-panel input,input[type=email]{min-height:44px}
.x{min-height:44px;min-width:44px}
.buy-grid{min-width:0}.cmp .buy-grid a{min-width:0}
@media(min-width:901px){
 .game{grid-template-columns:90px minmax(0,1fr) 200px}
 .game .gx-t{grid-column:1/-1;grid-row:3}.game .right{grid-column:3;grid-row:2;align-self:start}
 .gbb{grid-template-columns:repeat(3,minmax(180px,1fr));min-width:0}
 .feat .gbb.big{grid-template-columns:repeat(3,minmax(0,1fr))}
}
.soonbox .btn[disabled]{opacity:.75;cursor:not-allowed}.gb .src{color:var(--mut)}

.src{white-space:nowrap}
.logo i{display:inline-flex}
.side{margin-top:24px}
