:root{--ink:#e9f3f1;--dim:#8ea7a9;--panel:rgba(6,14,21,.78);--line:rgba(160,220,225,.18);--t0:#2ee6d6;--t1:#ff4fa3;--mint:#7afff2;--gold:#ffd750;font-family:Arial,Helvetica,sans-serif;color:var(--ink);background:#07111a}
[hidden]{display:none!important}*{box-sizing:border-box}html,body{margin:0;height:100%;overflow:hidden;background:#07111a}
button,select{font:inherit;color:inherit}
button{cursor:pointer;border:1px solid var(--line);background:rgba(10,24,33,.7);border-radius:8px;padding:8px 12px;font-size:12px;font-weight:700;letter-spacing:.3px;min-height:34px;backdrop-filter:blur(6px)}
button:hover{background:rgba(40,70,80,.8)}button.on{background:var(--mint);color:#05151b;border-color:var(--mint)}
button.primary{background:var(--mint);color:#05151b;border:0;padding:13px 22px;font-size:14px}button.primary:disabled{opacity:.55;cursor:wait}
button:focus-visible,select:focus-visible,a:focus-visible{outline:3px solid #b58cf0;outline-offset:2px}
small{font:10px/1.4 monospace;letter-spacing:1.2px;color:var(--dim);text-transform:uppercase}
.stage{position:fixed;inset:0}.stage canvas{display:block;width:100%;height:100%}
.live-dot{display:inline-block;width:7px;height:7px;border-radius:50%;background:#ff3b3b;margin-right:6px;box-shadow:0 0 8px #ff3b3b;animation:blink 1.4s infinite}
@keyframes blink{50%{opacity:.35}}

/* Scorebug */
.scorebug{position:fixed;top:16px;left:16px;display:flex;align-items:stretch;border-radius:10px;overflow:hidden;box-shadow:0 8px 30px rgba(0,0,0,.45);font-weight:800;z-index:5}
.scorebug>div{display:flex;align-items:center;padding:0 12px;min-height:46px;background:var(--panel);backdrop-filter:blur(8px)}
.bug-brand{font:9px/1.25 monospace;letter-spacing:1.5px;color:var(--dim);flex-direction:column;align-items:flex-start!important;justify-content:center}.bug-brand b{color:var(--ink);font-size:10px}
.bug-team{gap:9px;font-size:17px;letter-spacing:1.5px}.bug-team i{width:6px;align-self:stretch;margin:8px 0;border-radius:3px}.t0 i{background:var(--t0)}.t1 i{background:var(--t1)}
.bug-score{background:#f4f7f5!important;color:#08141b;font-size:26px;gap:8px;padding:0 16px!important}.bug-score em{font-style:normal;color:#8898a0}
.bug-score b.bump{animation:bump .9s}@keyframes bump{0%{transform:scale(1.9);color:var(--gold)}100%{transform:scale(1)}}
.bug-clock{flex-direction:column;justify-content:center;align-items:flex-start!important;gap:1px;min-width:74px}.bug-clock b{font:800 18px/1 monospace;letter-spacing:1px}

/* Neural meter */
.neuro-meter{position:fixed;top:16px;right:16px;width:220px;background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:12px 14px;backdrop-filter:blur(8px);z-index:5}
.neuro-meter>b{display:block;font:800 26px/1.1 monospace;color:var(--mint);margin-top:4px;text-shadow:0 0 14px rgba(122,255,242,.45)}.neuro-meter>span{font-size:11px;color:var(--dim)}
.meter-row{display:flex;justify-content:space-between;align-items:baseline;border-top:1px solid var(--line);margin-top:8px;padding-top:6px}.meter-row b{font:700 12px monospace}

.toolbar{position:fixed;top:72px;left:16px;display:flex;gap:6px;align-items:center;z-index:6}
.toolbar .sep{width:1px;height:22px;background:var(--line);margin:0 4px}

/* Brain cam */
.braincam{position:fixed;left:16px;bottom:16px;width:372px;background:var(--panel);border:1px solid var(--line);border-radius:14px;padding:12px 14px 10px;backdrop-filter:blur(10px);z-index:5}
.bc-head{display:flex;align-items:center;gap:10px}.bc-head b{display:block;font-size:17px}
.bc-badge{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;font-weight:800;border:3px solid var(--t0);background:#06121a}
.bc-pin{margin-left:auto;font:9px monospace;letter-spacing:1px;color:var(--dim);border:1px solid var(--line);border-radius:20px;padding:4px 8px;cursor:pointer}
.bc-grid{display:grid;grid-template-columns:1fr 128px;gap:10px;margin-top:10px}
.bc-raster canvas{width:100%;height:112px;border-radius:6px;background:#02070b;display:block;image-rendering:pixelated}
.bc-cells{display:flex;flex-direction:column;gap:4px;font:10px monospace}
.cell{display:grid;grid-template-columns:40px 1fr 1fr;gap:3px;align-items:center}.cell span{color:var(--dim)}
.cell i{height:8px;border-radius:2px;background:#10232b;position:relative;overflow:hidden}.cell i u{position:absolute;inset:0 auto 0 0;background:var(--mint);transition:width .12s}
.cell i.l u{left:auto;right:0}
.bc-motor{display:grid;grid-template-columns:repeat(6,1fr);gap:3px;margin-top:10px}
.mp{font:8.5px monospace;text-align:center;color:var(--dim);background:#0b1a22;border-radius:4px;padding:14px 0 3px;position:relative;overflow:hidden;white-space:nowrap}
.mp u{position:absolute;left:0;right:0;bottom:0;background:rgba(122,255,242,.28);transition:height .12s}.mp span{position:relative}
.mp.on{color:#05151b;background:var(--mint)}.mp.on u{background:transparent}
.bc-thought{margin:8px 0 0;font-size:12.5px;line-height:1.4;color:#cfe4e2;min-height:34px}.bc-thought b{color:var(--mint)}

/* Tiles */
.tiles{position:fixed;right:16px;bottom:16px;display:grid;grid-template-columns:repeat(3,112px);gap:6px;z-index:5}
.tile{background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:7px 8px;cursor:pointer;backdrop-filter:blur(8px);text-align:left;min-height:0;font-weight:400}
.tile.focus{border-color:var(--mint);box-shadow:0 0 0 1px var(--mint) inset}
.tile header{display:flex;align-items:center;gap:6px;font-size:11px;font-weight:700}.tile header i{width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-style:normal;font-size:10px;color:#05151b}
.tile.t0 header i{background:var(--t0)}.tile.t1 header i{background:var(--t1)}
.tile canvas{width:100%;height:24px;display:block;margin:5px 0 3px}
.tile footer{display:flex;justify-content:space-between;font:9px monospace;color:var(--dim)}.tile footer b{color:var(--ink);font-weight:700}

/* Ticker + banners */
.ticker{position:fixed;left:50%;bottom:18px;transform:translateX(-50%);width:min(520px,calc(100% - 820px));min-width:280px;display:flex;flex-direction:column-reverse;gap:4px;z-index:4;pointer-events:none}
.tick{background:rgba(6,14,21,.72);border-left:3px solid var(--mint);padding:6px 10px;border-radius:4px;font-size:12.5px;animation:tin .35s ease-out;backdrop-filter:blur(6px)}.tick.t0{border-color:var(--t0)}.tick.t1{border-color:var(--t1)}
.tick.old{opacity:.55}@keyframes tin{from{transform:translateY(8px);opacity:0}}
.banner{position:fixed;left:50%;top:26%;transform:translate(-50%,-50%);text-align:center;z-index:7;pointer-events:none;animation:bin .5s cubic-bezier(.2,1.6,.4,1)}
.banner b{display:block;font-size:clamp(46px,9vw,128px);font-weight:900;letter-spacing:-3px;line-height:.95;text-shadow:0 6px 40px rgba(0,0,0,.6);font-style:italic}
.banner small{font-size:13px;color:#fff;letter-spacing:4px}
.banner.t0 b{color:var(--t0)}.banner.t1 b{color:var(--t1)}@keyframes bin{from{transform:translate(-50%,-50%) scale(.3);opacity:0}}
.replay-tag{position:fixed;top:122px;left:16px;background:#e0253d;color:#fff;font:800 12px monospace;letter-spacing:2px;padding:6px 10px;border-radius:5px;z-index:6;animation:blink 1s infinite}

/* Pregame */
.pregame{position:fixed;inset:0;display:grid;place-items:center;background:radial-gradient(ellipse at center,rgba(7,17,26,.35),rgba(4,9,14,.88));z-index:10;padding:16px}
.pg-card{width:min(640px,100%);background:rgba(6,14,21,.86);border:1px solid var(--line);border-radius:18px;padding:30px 32px;backdrop-filter:blur(12px);box-shadow:0 20px 70px rgba(0,0,0,.5)}
.pg-eyebrow{font:10px monospace;letter-spacing:2px;color:var(--dim);margin:0}
.pg-card h1{font-size:clamp(44px,7vw,72px);line-height:.92;letter-spacing:-3px;margin:12px 0 14px;font-weight:900}.pg-card h1 em{color:var(--mint);font-style:italic}
.pg-copy{font-size:14px;line-height:1.6;color:#b9cfcd;margin:0}.pg-copy b{color:var(--ink)}.pg-copy a{color:var(--mint);white-space:nowrap}
.pg-teams{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;margin:20px 0}
.pg-team{border-radius:10px;padding:10px 12px;background:#0b1a22;border-top:4px solid var(--t0)}.pg-team.t1{border-color:var(--t1);text-align:right}
.pg-team b{display:block;font-size:18px;margin:2px 0}.pg-team span{font-size:11px;color:var(--dim)}.pg-vs{font:900 18px monospace;color:var(--dim)}
.pg-bar{height:6px;border-radius:3px;background:#0f222b;overflow:hidden}.pg-bar i{display:block;height:100%;width:0;background:linear-gradient(90deg,var(--t0),var(--mint),var(--t1));transition:width .2s}
.pg-load small{display:block;margin-top:7px}
.pg-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:18px;flex-wrap:wrap}
.pg-actions label{font-size:12px;color:var(--dim)}.pg-actions select{background:#0b1a22;border:1px solid var(--line);border-radius:6px;padding:6px;margin-left:6px}
.pg-note{display:block;margin-top:14px;text-transform:none;letter-spacing:.2px}
.pregame.gone{opacity:0;pointer-events:none;transition:opacity .8s}

.about{position:fixed;inset:0;display:grid;place-items:center;background:rgba(3,8,12,.7);z-index:12;padding:16px}
.about-card{position:relative;width:min(620px,100%);max-height:90vh;overflow:auto;background:#0a1820;border:1px solid var(--line);border-radius:16px;padding:26px 28px;font-size:14px;line-height:1.6;color:#c6dbd9}
.about-card h2{margin:0 0 10px;color:var(--ink)}.about-card b{color:var(--ink)}.about-card ol{padding-left:20px}.about-card a{color:var(--mint)}
.about .close{position:absolute;right:12px;top:12px;font-size:18px;padding:2px 10px}

/* responsive layout: see the 'Layout v2' block at the end of this file */

/* ---------- Clubhouse ---------- */
.ch-card{width:min(880px,100%);max-height:calc(100vh - 32px);overflow:auto;padding:24px 28px}
.ch-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}
.ch-card h1{font-size:clamp(34px,5vw,54px);margin:8px 0 10px}
.ch-card .pg-copy{font-size:13px}
.ch-resume{background:var(--mint);color:#05151b;border:0}
.ch-tabs{display:flex;gap:6px;margin:16px 0 12px;border-bottom:1px solid var(--line);padding-bottom:10px}
.ch-tabs button.on{background:var(--mint);color:#05151b;border-color:var(--mint)}
.ch-panel{min-height:210px}
.ch-row{display:flex;justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;flex-wrap:wrap}
.ch-row h3,.ch-intro h3{margin:0;font-size:18px}
.crest{display:inline-grid;place-items:center;min-width:36px;height:20px;padding:0 5px;border-radius:5px;background:var(--c);color:#06121a;font:800 10px/1 monospace;letter-spacing:1px;margin-right:7px;vertical-align:middle;box-shadow:0 0 12px color-mix(in srgb,var(--c) 45%,transparent)}
.crest.big{min-width:48px;height:28px;font-size:12px;border-radius:7px}
.ch-table{width:100%;border-collapse:collapse;font-size:12.5px}
.ch-table th{font:10px monospace;letter-spacing:1px;color:var(--dim);font-weight:400;padding:4px 6px;text-align:center;border-bottom:1px solid var(--line)}
.ch-table td{padding:7px 6px;text-align:center;border-bottom:1px solid rgba(160,220,225,.08);font-family:monospace;font-size:13px}
.ch-table td.l,.ch-table th.l{text-align:left}.ch-table td.l b{font-family:Arial,Helvetica,sans-serif;font-size:13px}
.ch-table td.pts{font-weight:800;color:var(--mint);font-size:14px}
.ch-table tr.champ td{background:rgba(255,215,80,.08)}
.form i{display:inline-grid;place-items:center;width:17px;height:17px;border-radius:4px;font:800 9px monospace;font-style:normal;margin-right:2px;color:#06121a}
.form .fW{background:#6fe39b}.form .fD{background:#9fb2b6}.form .fL{background:#ff7b7b}
.ch-next,.ch-result{margin:14px 0;padding:14px 16px;border-radius:12px;background:#0b1a22;border:1px solid var(--line)}
.ch-result{background:linear-gradient(135deg,rgba(122,255,242,.1),rgba(11,26,34,.9))}
.ch-result p{margin:8px 0 0;font-size:12.5px;color:#b9cfcd}.ch-result p b{color:var(--ink)}
.ch-vs{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:8px 0 12px;font-size:17px}
.ch-vs em{font-style:normal;color:var(--dim);font:700 12px monospace}.ch-vs em.score{font:900 26px monospace;color:var(--ink);padding:0 6px}
.ch-fixtures{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}
.fx{display:flex;align-items:center;justify-content:space-between;background:#0b1a22;border-radius:8px;padding:6px 8px;margin-top:5px;font:12px monospace;color:var(--dim)}
.fx .crest{margin:0}.fx b{color:var(--ink)}.fx b.up{color:var(--mint)}.fx.next{outline:1px solid var(--mint)}
.ch-champ{display:flex;align-items:center;gap:14px;margin:14px 0;padding:14px 16px;border-radius:12px;background:linear-gradient(120deg,color-mix(in srgb,var(--c) 30%,#0b1a22),#0b1a22);border:1px solid color-mix(in srgb,var(--c) 60%,transparent)}
.ch-champ b{display:block;font-size:22px}.ch-champ span{font-size:12.5px;color:#e8d9a0}
.ch-champ.big b{font-size:28px}
.cup{width:46px;height:52px;flex:none;position:relative;background:radial-gradient(circle at 35% 30%,#fff6c8,#ffd750 35%,#b8860b 80%);border-radius:10px 10px 22px 22px;box-shadow:0 0 24px rgba(255,215,80,.55)}
.cup::after{content:'';position:absolute;left:14px;right:14px;bottom:-8px;height:8px;background:#b8860b;border-radius:2px}
.ch-cta{display:flex;gap:8px;justify-content:flex-end;flex-wrap:wrap;margin-top:10px}
.ch-intro p{font-size:13.5px;line-height:1.55;color:#b9cfcd}
.ch-clubs{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:12px 0 16px}
.ch-club{background:#0b1a22;border-radius:10px;padding:10px;border-top:3px solid var(--c)}.ch-club b{display:block;margin:6px 0 2px}.ch-club small{text-transform:none;letter-spacing:.2px}
.ch-picks{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}
.ch-pick{display:flex;flex-direction:column;gap:6px}
.chip{display:flex;align-items:center;text-align:left;font-weight:700;border-left:4px solid var(--c)}
.chip.on{background:color-mix(in srgb,var(--c) 28%,#0b1a22);border-color:var(--c)}.chip:disabled{opacity:.3;cursor:not-allowed}
.swap{font-size:18px}
.trophies{display:inline-flex;gap:3px;align-items:center}.trophies i{width:12px;height:16px;border-radius:3px 3px 7px 7px;background:linear-gradient(#fff3b0,#ffd750 50%,#b8860b);box-shadow:0 0 8px rgba(255,215,80,.6)}.trophies em{font-style:normal;font:700 11px monospace;color:var(--gold);margin-left:3px}
.muted{color:var(--dim)}
.ch-cols{display:grid;grid-template-columns:1fr 1fr;gap:16px;margin-top:14px}
.roll{display:flex;align-items:center;gap:6px;background:#0b1a22;border-radius:8px;padding:6px 8px;margin-top:5px;font-size:12.5px}.roll span{font:700 11px monospace;color:var(--gold);min-width:26px}.roll em{margin-left:auto;font-style:normal;font:11px monospace;color:var(--dim)}.roll b{font-family:monospace}
button.link{background:none;border:0;color:var(--dim);text-decoration:underline;font-weight:400;padding:6px 0;min-height:0;margin-top:8px;backdrop-filter:none}
@media (max-width:760px){.ch-card{padding:18px}.ch-fixtures,.ch-cols,.ch-clubs{grid-template-columns:1fr 1fr}.ch-picks{grid-template-columns:1fr}.swap{justify-self:center}.ch-table.rec th:nth-child(n+7),.ch-table.rec td:nth-child(n+7){display:none}.ch-table .form{display:none}}
.ch-cols p.muted{font-size:13px;margin:8px 0}
.chip.on{color:#fff}

/* ---------- Broadcast graphics ---------- */
.lineups{position:fixed;left:50%;top:50%;transform:translate(-50%,-52%);width:min(760px,calc(100% - 32px));z-index:8;animation:luin .6s cubic-bezier(.2,1.2,.4,1);transition:opacity .5s,transform .5s}
.lineups.out{opacity:0;transform:translate(-50%,-44%)}
@keyframes luin{from{opacity:0;transform:translate(-50%,-40%)}}
.lu-label{display:block;text-align:center;margin-bottom:8px;color:#dff;letter-spacing:3px}
.lu-grid{display:grid;grid-template-columns:1fr auto 1fr;gap:10px;align-items:center}
.lu-vs{font:900 22px monospace;color:var(--dim)}
.lu-col{background:rgba(6,14,21,.9);border:1px solid var(--line);border-top:4px solid var(--c);border-radius:12px;padding:12px 14px;backdrop-filter:blur(10px)}
.lu-col header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.lu-col header b{display:block;font-size:18px}
.lu-row{display:grid;grid-template-columns:34px 1fr auto;grid-template-rows:auto auto;column-gap:8px;padding:6px 0;border-top:1px solid rgba(160,220,225,.1)}
.lu-row .num{grid-row:span 2;display:grid;place-items:center;background:var(--c);color:#06121a;font:900 16px monospace;border-radius:8px}
.lu-row b{font-size:15px}.lu-row small{grid-column:2}.lu-row em{grid-row:1 / span 2;grid-column:3;align-self:center;font:700 11px monospace;font-style:normal;color:var(--gold)}
.lu-col footer{margin-top:6px;font-size:11.5px;color:var(--dim);font-style:italic}
.playercard{position:fixed;left:50%;bottom:120px;transform:translateX(-50%);display:flex;align-items:stretch;min-width:min(620px,calc(100% - 32px));z-index:6;border-radius:12px;overflow:hidden;box-shadow:0 10px 40px rgba(0,0,0,.5);animation:pcin .45s cubic-bezier(.2,1.3,.4,1);transition:opacity .4s,transform .4s}
.playercard.out{opacity:0;transform:translate(-50%,16px)}
@keyframes pcin{from{opacity:0;transform:translate(-50%,24px)}}
.pc-num{display:grid;place-items:center;min-width:82px;background:var(--c);color:#06121a;font:900 44px/1 Arial,Helvetica,sans-serif;font-style:italic}
.pc-main{flex:1;background:rgba(6,14,21,.92);padding:9px 14px;backdrop-filter:blur(10px)}.pc-main>b{display:block;font-size:24px;font-weight:900;letter-spacing:-.5px;margin:1px 0 5px}
.pc-stats{display:flex;gap:14px;align-items:center}.pc-stats div{display:flex;flex-direction:column;align-items:center;min-width:44px}.pc-stats div b{font:800 17px monospace}
.pc-stats.sub{margin-top:4px;opacity:.8}.pc-stats.sub div b{font-size:13px}
.pc-lbl{font:9px monospace;letter-spacing:1.2px;color:var(--c);writing-mode:horizontal-tb;min-width:62px}
.pc-brain{background:rgba(3,8,12,.95);padding:10px 14px;display:flex;flex-direction:column;justify-content:center;align-items:center;border-left:1px solid var(--line)}.pc-brain b{font:800 18px monospace;color:var(--mint)}
.interlude{position:fixed;inset:0;display:grid;place-items:center;z-index:9;background:radial-gradient(ellipse at center,rgba(4,10,16,.55),rgba(3,7,11,.9));padding:16px;animation:ilin .7s ease-out;transition:opacity .6s}
.interlude.out{opacity:0}@keyframes ilin{from{opacity:0}}
.il-card{width:min(1080px,100%);max-height:calc(100vh - 32px);overflow:auto;background:rgba(6,14,21,.9);border:1px solid var(--line);border-radius:18px;padding:22px 26px;backdrop-filter:blur(12px);box-shadow:0 20px 80px rgba(0,0,0,.6)}
.il-head{display:flex;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:12px}.il-head h2{margin:4px 0 0;font-size:clamp(26px,3.4vw,42px);font-weight:900;letter-spacing:-1.5px}
.il-count{text-align:right}.il-count b{display:block;font:900 44px/1 monospace;color:var(--mint);text-shadow:0 0 18px rgba(122,255,242,.4)}
.il-grid{display:grid;grid-template-columns:1.6fr 1fr;gap:18px;align-items:start}
.il-table td{font-size:15px;padding:10px 6px}.il-table td.l b{font-size:15px}.il-table td.pts{font-size:18px}
.il-table tbody tr{animation:rowin .5s both;animation-delay:var(--d)}@keyframes rowin{from{opacity:0;transform:translateX(-18px)}}
.il-side{display:flex;flex-direction:column;gap:10px}
.il-box{background:#0b1a22;border-radius:12px;padding:10px 12px;border:1px solid rgba(160,220,225,.1)}.il-box.up{border-color:var(--mint)}
.il-box p{margin:6px 0 0;font-size:12.5px;color:#b9cfcd}.il-box p b{color:var(--ink)}
.il-res{display:flex;align-items:center;gap:10px;margin-top:6px;font:900 24px monospace}.il-res em{font:700 12px monospace;color:var(--dim);font-style:normal}
.il-scorer{display:flex;align-items:center;gap:4px;margin-top:6px;font-size:13px}.il-scorer em{margin-left:auto;font:800 16px monospace;color:var(--gold);font-style:normal}
.il-cabinet{display:grid;grid-template-columns:1fr 1fr;gap:6px;margin-top:6px}.il-cabinet>div{display:flex;align-items:center}
.il-fixtures{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:14px}
.il-champ{margin-top:0}
.stadium-tag{position:fixed;top:128px;left:16px;z-index:6;background:rgba(6,14,21,.8);border:1px solid var(--line);border-radius:6px;padding:5px 9px;font:700 10px monospace;letter-spacing:1.5px;color:#dff}
#stadium-btn.on{background:var(--gold);color:#1a1200;border-color:var(--gold)}
body.stadium .toolbar{opacity:.0;transition:opacity .4s}body.stadium .toolbar:hover,body.stadium.poke .toolbar{opacity:1}
body.stadium{cursor:none}body.stadium.poke{cursor:auto}
@media (max-width:760px){.il-grid,.il-fixtures{grid-template-columns:1fr}.lu-grid{grid-template-columns:1fr}.lu-vs{display:none}.playercard{bottom:250px}.pc-brain{display:none}.pc-num{min-width:58px;font-size:32px}.pc-stats.sub{display:none}}
.playercard{min-width:0;width:clamp(430px,calc(100vw - 800px),620px)}
.pc-lbl{min-width:50px}.pc-stats{gap:10px}.pc-stats div{min-width:40px}
@media (max-width:1100px){.playercard{width:min(620px,calc(100% - 32px))}}
.ch-cols{grid-template-columns:repeat(auto-fit,minmax(230px,1fr))}

/* ================= Layout v2: animated brain panel + phone layouts ================= */
.braincam,.tiles,.neuro-meter{transition:transform .42s cubic-bezier(.2,.9,.25,1),opacity .32s}
body.clean .braincam{transform:translateY(calc(100% + 28px));opacity:0;pointer-events:none}
body.clean .tiles{transform:translateX(calc(100% + 28px));opacity:0;pointer-events:none}
body.clean .neuro-meter{transform:translateX(calc(100% + 28px));opacity:0;pointer-events:none}
.bc-close{margin-left:6px;min-height:28px;padding:2px 10px;font-size:14px;line-height:1}
/* collapsed brain pill (all sizes) */
.brainpill{position:fixed;left:16px;bottom:16px;z-index:5;display:flex;align-items:center;gap:9px;padding:6px 12px 6px 6px;border-radius:30px;background:var(--panel);border:1px solid var(--line);backdrop-filter:blur(10px);font-weight:400;min-height:0;
  transform:translateY(calc(100% + 28px));opacity:0;pointer-events:none;transition:transform .42s cubic-bezier(.2,.9,.25,1),opacity .3s}
body.clean .brainpill{transform:none;opacity:1;pointer-events:auto}
.bp-badge{width:30px;height:30px;border-radius:50%;display:grid;place-items:center;font-weight:800;border:3px solid var(--bp,var(--t0));background:#06121a;flex:none}
.bp-txt{display:flex;flex-direction:column;text-align:left;line-height:1.1}.bp-txt b{font-size:13px}
.bp-act{font:700 10px monospace;letter-spacing:1px;color:#05151b;background:var(--mint);border-radius:5px;padding:3px 6px;text-transform:uppercase;white-space:nowrap}
.bp-spark{width:46px;height:18px}
.bp-open{font:700 9px monospace;letter-spacing:1.2px;color:var(--dim)}
.menu-btn{display:none;position:fixed;top:8px;right:8px;z-index:11;width:42px;height:40px;padding:0;font-size:18px}
body.stadium .brainpill{bottom:16px}
@media (min-width:761px) and (max-width:1100px) and (min-height:501px){.ticker{left:16px;transform:none;width:auto;right:16px;bottom:auto;top:128px;min-width:0}}

/* ---------- phones (portrait or landscape) ---------- */
@media (max-width:760px),(max-height:500px){
  .menu-btn{display:grid;place-items:center}
  .neuro-meter,.stadium-tag,.bug-brand{display:none!important}
  .scorebug{top:8px;left:8px}.scorebug>div{min-height:38px;padding:0 9px}.bug-team{font-size:14px}.bug-score{font-size:20px;padding:0 12px!important}.bug-clock{min-width:58px}.bug-clock b{font-size:15px}
  /* toolbar becomes a drop-down menu */
  .toolbar{top:54px;right:8px;left:auto;bottom:auto;display:grid;grid-template-columns:1fr 1fr;gap:6px;width:min(300px,calc(100% - 16px));padding:10px;border-radius:14px;background:rgba(6,14,21,.94);border:1px solid var(--line);backdrop-filter:blur(12px);
    transform:translateY(-12px) scale(.97);transform-origin:top right;opacity:0;pointer-events:none;transition:transform .25s,opacity .2s;z-index:11}
  .toolbar .sep{display:none}.toolbar button{min-height:40px;font-size:12.5px;white-space:nowrap}
  body.menu-open .toolbar{transform:none;opacity:1;pointer-events:auto}
  body:not(.menu-open) .toolbar{opacity:0!important;pointer-events:none!important}body.menu-open .toolbar{opacity:1!important}
  /* player chips: compact row under the scorebug */
  .tiles{top:54px;left:8px;right:62px;bottom:auto;grid-template-columns:repeat(6,minmax(0,1fr));gap:4px}
  .tile{padding:4px 5px;border-radius:8px}.tile canvas,.tile footer,.tile header span{display:none}.tile header{justify-content:center}.tile header i{width:22px;height:22px;font-size:11px}
  body.clean .tiles{transform:none;opacity:1;pointer-events:auto}
  /* brain panel = bottom sheet */
  .braincam{left:0;right:0;bottom:0;width:auto;border-radius:18px 18px 0 0;padding:12px 14px calc(12px + env(safe-area-inset-bottom));max-height:58vh;overflow:auto;z-index:7;box-shadow:0 -12px 40px rgba(0,0,0,.45)}
  .braincam::before{content:'';display:block;width:40px;height:4px;border-radius:2px;background:rgba(160,220,225,.35);margin:-4px auto 8px}
  .bc-pin{display:none}.bc-head b{font-size:16px}
  .bc-grid{grid-template-columns:1fr 118px}.bc-raster canvas{height:80px}.bc-thought{font-size:12px;min-height:0}
  .bc-motor{grid-template-columns:repeat(6,1fr)}.mp{font-size:8px;padding-top:12px}
  .brainpill{left:8px;bottom:calc(8px + env(safe-area-inset-bottom));right:auto;max-width:calc(100% - 16px)}
  body.stadium .brainpill{bottom:calc(8px + env(safe-area-inset-bottom))}
  /* ticker: newest line only, above the pill */
  .ticker{left:8px;right:8px;transform:none;width:auto;min-width:0;top:auto;bottom:62px}
  .tick{font-size:12px;padding:5px 9px}.tick.old{display:none}
  body:not(.clean) .ticker{opacity:0}
  .replay-tag{top:98px;left:8px}
  .banner{top:38%}.banner b{font-size:clamp(40px,14vw,72px)}
  .playercard{bottom:104px;width:calc(100% - 16px)!important;min-width:0}
  .pc-num{min-width:54px;font-size:30px}.pc-main{padding:7px 10px}.pc-main>b{font-size:18px}.pc-stats{gap:6px}.pc-stats div{min-width:34px}.pc-stats div b{font-size:14px}.pc-lbl{min-width:40px;font-size:8px}.pc-stats.sub,.pc-brain{display:none}
  body:not(.clean) .playercard{opacity:0}
  .lineups{width:calc(100% - 16px)}.lu-col{padding:9px 11px}.lu-row{padding:4px 0}
  .pregame{padding:8px}.ch-card{max-height:calc(100dvh - 16px);padding:16px}
  .interlude{padding:8px}.il-card{max-height:calc(100dvh - 16px);padding:14px}
}
/* phone portrait: sheet may be tall */
@media (max-width:760px) and (orientation:portrait){
  .lu-grid{grid-template-columns:1fr}.lu-vs{display:none}
}
/* phone landscape: short screen -> brain panel becomes a left side sheet */
@media (max-height:500px) and (orientation:landscape){
  .tiles{left:auto;right:58px;top:8px;width:min(330px,40vw)}
  .braincam{left:0;top:0;bottom:0;right:auto;width:min(360px,48vw);max-height:none;border-radius:0 18px 18px 0;padding:10px 12px}
  .braincam::before{display:none}
  body.clean .braincam{transform:translateX(calc(-100% - 28px))}
  .bc-raster canvas{height:64px}.bc-thought{display:none}
  .ticker{left:auto;right:8px;width:min(420px,50vw);bottom:10px}
  .playercard{left:auto;right:8px;transform:none;bottom:54px;width:min(460px,56vw)!important}
  .playercard.out{transform:translateY(16px)}
  @keyframes pcin{from{opacity:0;transform:translateY(24px)}}
  body:not(.clean) .ticker{opacity:1}body:not(.clean) .playercard{opacity:1}
  .lu-grid{grid-template-columns:1fr auto 1fr}.lineups{top:52%}.lu-col footer{display:none}.lu-row small{display:none}
  .il-grid{grid-template-columns:1.4fr 1fr}.il-fixtures{display:none}
  .ch-card h1{font-size:30px;margin:4px 0}.ch-card .pg-copy{display:none}
}
.bc-head small{white-space:nowrap}.bc-head>div{min-width:0}.bc-pin{white-space:nowrap}
