:root{
  --bg:#050b13; --panel:#0a1422; --panel2:#0d1d2e; --line:rgba(122,169,219,.26);
  --blue:#2b8dff; --blue2:#0a56bb; --green:#65da52; --silver:#e8eef5; --muted:#8da0b6;
  --danger:#ff5f62; --gold:#ffcf54; --shadow: 0 20px 80px rgba(0,0,0,.55);
  font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}
*{box-sizing:border-box}
html,body{height:100%; margin:0; background:radial-gradient(circle at 50% -10%, #183050 0%, var(--bg) 42%, #02050a 100%); color:var(--silver);}
body{min-height:100dvh; overflow-x:hidden;}
button,input{font:inherit} button{cursor:pointer; -webkit-tap-highlight-color:transparent} button:disabled{opacity:.45; cursor:not-allowed}
.app-shell{position:relative; min-height:100dvh; max-width:820px; margin:0 auto; padding:calc(10px + env(safe-area-inset-top)) 12px calc(86px + env(safe-area-inset-bottom)); overflow:hidden; isolation:isolate;}
.app-shell:before{content:""; position:absolute; inset:0; z-index:-3; background:linear-gradient(180deg, rgba(4,10,19,.3) 0 42%, rgba(9,32,19,.65) 65%, rgba(3,7,12,.95) 100%);}
.app-shell:after{content:""; position:absolute; left:-25%; right:-25%; top:34%; height:44%; z-index:-2; background:repeating-linear-gradient(92deg, rgba(255,255,255,.13) 0 2px, transparent 2px 82px), linear-gradient(180deg, rgba(13,80,37,.0), rgba(12,94,39,.55) 30%, rgba(5,33,20,.88)); transform:perspective(600px) rotateX(64deg); transform-origin:center top; filter:saturate(1.25) contrast(1.05); opacity:.68;}
.panel{background:linear-gradient(180deg, rgba(16,32,51,.88), rgba(6,14,24,.92)); border:1px solid var(--line); box-shadow:var(--shadow); border-radius:20px; backdrop-filter: blur(14px);}
.topbar{display:flex; align-items:center; justify-content:space-between; gap:10px; padding:4px 0 8px;}
.icon-btn{width:44px; height:44px; border:1px solid var(--line); border-radius:12px; background:rgba(5,12,22,.72); color:white; font-size:24px; display:grid; place-items:center; box-shadow:0 10px 30px rgba(0,0,0,.4)}
.brand-lockup{text-align:center; flex:1; min-width:0;}
.eyebrow{display:block; text-transform:uppercase; letter-spacing:.14em; color:#7eb8ff; font-weight:900; font-size:11px;}
h1{margin:0; font-size:clamp(32px,9vw,60px); line-height:.92; letter-spacing:-.05em; text-transform:uppercase; font-weight:1000; text-shadow:0 2px 0 rgba(255,255,255,.12), 0 8px 30px rgba(43,141,255,.22);}
h1 span{color:var(--blue); font-size:.62em; letter-spacing:-.08em; margin:0 .06em;}
.utility-controls{display:flex; gap:6px;}
.tiny-toggle{width:58px; height:52px; border:1px solid var(--line); border-radius:12px; background:rgba(4,11,20,.75); color:#fff; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:0; font-size:16px; text-transform:uppercase;}
.tiny-toggle b{font-size:10px; letter-spacing:.06em}.tiny-toggle em{font-style:normal; color:#58a6ff; font-size:10px; font-weight:900;}
.match-card{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:8px; padding:12px; margin-bottom:12px;}
.player-card{display:flex; align-items:center; gap:10px; min-width:0;}
.player-card.right{justify-content:flex-end; text-align:right;}
.player-card img{width:78px; height:78px; border-radius:999px; border:3px solid var(--blue); box-shadow:0 0 0 3px rgba(43,141,255,.16), 0 12px 34px rgba(0,0,0,.45); object-fit:cover; background:#102033;}
.player-card strong{display:block; font-size:clamp(18px,5vw,30px); line-height:.95; text-transform:uppercase; font-weight:1000; letter-spacing:-.02em;}
.player-card span{display:inline-flex; margin-top:4px; padding:4px 10px; border:1px solid rgba(43,141,255,.48); border-radius:9px; color:#65b0ff; background:rgba(11,50,105,.42); font-weight:1000; letter-spacing:.08em;}
.turn-pill{align-self:center; border:1px solid rgba(101,218,82,.28); color:var(--green); background:rgba(5,16,12,.74); border-radius:999px; padding:10px 13px; font-weight:1000; text-transform:uppercase; display:flex; align-items:center; gap:8px; white-space:nowrap; box-shadow:0 10px 34px rgba(0,0,0,.4);}
.live-dot{width:10px;height:10px;border-radius:50%;background:var(--green); box-shadow:0 0 14px var(--green); display:inline-block;}
.spinner-section{position:relative; padding:12px 10px 16px; margin-bottom:12px; overflow:hidden;}
.spinner-section:before{content:""; position:absolute; left:0; right:0; bottom:0; height:55%; background:linear-gradient(180deg, transparent, rgba(22,110,42,.24)); pointer-events:none;}
.spinner-topline{position:relative; z-index:1; display:flex; align-items:center; justify-content:space-between; color:var(--muted); text-transform:uppercase; font-size:12px; font-weight:900; letter-spacing:.08em; padding:0 4px 8px;}
.reel-wrap{position:relative; margin:0 auto; max-width:760px;}
.reel-window{position:relative; height:132px; overflow:hidden; border-radius:72px; border:1px solid rgba(135,179,220,.38); background:linear-gradient(90deg,#03070c,#111a25 12%,#060b12 50%,#111a25 88%,#03070c); box-shadow:inset 0 0 24px rgba(255,255,255,.06), 0 20px 60px rgba(0,0,0,.55);}
.reel-window:before,.reel-window:after{content:""; position:absolute; top:0; bottom:0; width:22%; z-index:3; pointer-events:none}.reel-window:before{left:0;background:linear-gradient(90deg,#02050a 0%,transparent)}.reel-window:after{right:0;background:linear-gradient(270deg,#02050a 0%,transparent)}
.reel-track{height:100%; display:flex; align-items:center; gap:12px; padding:0 50vw; will-change:transform; transform:translateX(0);}
.reel-cell{flex:0 0 112px; height:94px; border-radius:16px; display:grid; place-items:center; background:linear-gradient(180deg, rgba(255,255,255,.07), rgba(0,0,0,.12)); border:1px solid rgba(255,255,255,.12); box-shadow:inset 0 1px 0 rgba(255,255,255,.12);}
.reel-cell img{max-width:92px; max-height:72px; object-fit:contain; filter:drop-shadow(0 8px 10px rgba(0,0,0,.5));}
.reel-cell.blur{filter:blur(.6px); opacity:.7}.reel-cell.target{filter:none; opacity:1;}
.selection-frame{position:absolute; z-index:4; left:50%; top:50%; transform:translate(-50%,-50%); width:122px; height:108px; border:3px solid #5eb0ff; border-radius:18px; box-shadow:0 0 20px rgba(43,141,255,.85), inset 0 0 18px rgba(43,141,255,.24); pointer-events:none;}
.reel-pointer{width:0; height:0; border-left:10px solid transparent; border-right:10px solid transparent; position:absolute; left:50%; transform:translateX(-50%); z-index:5; filter:drop-shadow(0 0 8px rgba(43,141,255,.8));}
.reel-pointer.top{top:-4px; border-top:14px solid #dcecff;}.reel-pointer.bottom{bottom:-4px; border-bottom:14px solid #dcecff;}
.spin-button{position:relative; z-index:1; display:block; width:min(420px,86%); margin:16px auto 0; border:1px solid rgba(119,184,255,.65); border-radius:18px; padding:14px 18px 12px; background:linear-gradient(180deg,#126ddf,#063d91); color:white; font-size:clamp(38px,10vw,64px); font-weight:1000; letter-spacing:.02em; text-transform:uppercase; box-shadow:0 16px 35px rgba(0,0,0,.42), inset 0 1px 0 rgba(255,255,255,.34); text-shadow:0 2px 0 rgba(0,0,0,.3);}
.spin-button small{display:block; margin-top:-5px; font-size:12px; letter-spacing:.16em; color:#9fd0ff;}
.pick-panel{padding:14px; margin-bottom:12px;}
.is-hidden{display:none!important}.selected-team{display:flex; align-items:center; gap:12px; padding:10px; border:1px solid rgba(94,176,255,.28); border-radius:16px; background:rgba(5,13,23,.6); margin-bottom:10px}.selected-team img{width:64px;height:48px;object-fit:contain}.selected-team b{font-size:22px}.selected-team span{display:block; color:var(--muted); font-weight:800; text-transform:uppercase; font-size:12px}.step-title{display:flex; justify-content:space-between; gap:12px; color:#dceaff; margin:8px 2px 10px}.step-title b{font-size:15px}.step-title span{color:var(--muted); font-size:13px; font-weight:800}.position-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:8px; margin:8px 0 12px}.pos-btn{border:1px solid rgba(110,173,235,.28); background:rgba(5,13,23,.78); color:#fff; border-radius:14px; min-height:54px; display:flex; flex-direction:column; justify-content:center; align-items:center; font-weight:1000}.pos-btn small{color:var(--muted); font-size:11px}.pos-btn.active{border-color:#5eb0ff; box-shadow:0 0 0 2px rgba(43,141,255,.24),0 0 18px rgba(43,141,255,.32); background:linear-gradient(180deg, rgba(17,88,180,.75), rgba(6,34,72,.82));}.pos-btn:disabled{opacity:.25}.voice-pick-box{display:grid; grid-template-columns:auto 1fr; gap:8px}.talk-btn,.secondary-btn,.primary-btn,.text-btn{border:1px solid var(--line); border-radius:14px; color:white; background:rgba(8,18,31,.84); padding:12px 14px; font-weight:900}.talk-btn{border-color:rgba(101,218,82,.35); color:#bfffb7}.voice-pick-box input{min-width:0; border:1px solid var(--line); border-radius:14px; background:#050b13; color:white; padding:12px 14px; font-size:16px}.match-status{min-height:46px; margin:10px 0; padding:10px 12px; border-radius:14px; color:var(--muted); background:rgba(0,0,0,.22); border:1px solid rgba(255,255,255,.08);}.match-status.good{color:#b6ffad;border-color:rgba(101,218,82,.35)}.match-status.warn{color:#ffd88b;border-color:rgba(255,207,84,.35)}.match-status.bad{color:#ffb1b3;border-color:rgba(255,95,98,.35)}.pick-actions{display:flex; gap:8px; justify-content:flex-end}.primary-btn{background:linear-gradient(180deg,#1d7def,#0b4fb0); border-color:rgba(118,185,255,.55); box-shadow:0 10px 26px rgba(6,53,135,.32)}.secondary-btn{background:rgba(11,20,32,.85)}.wide{width:100%; margin-top:12px}.rosters-grid{display:grid; grid-template-columns:1fr 1fr; gap:10px; margin-bottom:12px}.roster{padding:12px}.roster h2{margin:0 0 10px; color:#3795ff; text-transform:uppercase; letter-spacing:.04em; font-size:16px}.slot{display:grid; grid-template-columns:48px 1fr auto; gap:8px; align-items:center; min-height:62px; border:1px solid rgba(126,164,205,.24); border-radius:14px; padding:8px; margin-bottom:7px; background:rgba(1,8,16,.42)}.slot .slot-logo{width:44px;height:36px; object-fit:contain; filter:drop-shadow(0 6px 8px rgba(0,0,0,.4))}.slot .empty-logo{width:44px;height:36px; border-radius:10px; display:grid; place-items:center; color:#57718c; border:1px dashed rgba(130,168,205,.25)}.slot b{display:block; white-space:nowrap; overflow:hidden; text-overflow:ellipsis;}.slot span{display:block; color:var(--muted); font-size:12px; font-weight:800}.slot .pos-tag{font-weight:1000; color:#dcecff; border:1px solid rgba(255,255,255,.12); border-radius:9px; padding:6px 8px; background:rgba(0,0,0,.28)}.team-board{padding:12px; margin-bottom:12px}.section-head{display:flex; align-items:center; justify-content:space-between; gap:12px; margin-bottom:10px}.section-head h2{margin:0; font-size:18px; color:#3795ff; text-transform:uppercase; letter-spacing:.04em}.section-head h2 span{color:var(--muted); font-size:13px}.text-btn{padding:8px 10px; color:#9ecfff; background:transparent}.teams-grid{display:grid; grid-template-columns:repeat(8,1fr); gap:7px}.team-tile{aspect-ratio:1.25/1; min-height:46px; border:1px solid rgba(126,164,205,.24); border-radius:11px; display:grid; place-items:center; background:rgba(3,9,16,.6); position:relative; overflow:hidden}.team-tile img{max-width:82%; max-height:74%; object-fit:contain; filter:drop-shadow(0 6px 8px rgba(0,0,0,.45))}.team-tile.used{opacity:.32}.team-tile.used:after{content:""; position:absolute; width:120%; height:2px; background:rgba(220,230,240,.7); transform:rotate(-26deg)}.team-tile.current{border-color:#5eb0ff; box-shadow:0 0 0 2px rgba(43,141,255,.24),0 0 18px rgba(43,141,255,.32)}.legend{display:flex; justify-content:center; gap:26px; margin-top:10px; color:var(--muted); text-transform:uppercase; font-size:12px; font-weight:900}.legend i{display:inline-block; width:20px; height:12px; border-radius:4px; margin-right:6px; vertical-align:-2px}.legend-current{border:2px solid #5eb0ff}.legend-used{border:2px solid rgba(255,255,255,.28); background:rgba(255,255,255,.08)}.results-panel{padding:14px;}.results-head{margin-bottom:12px}.reveal-card{min-height:160px; border:1px solid rgba(126,164,205,.2); border-radius:18px; padding:16px; background:radial-gradient(circle at 50% 0, rgba(43,141,255,.16), rgba(1,8,16,.54));}.reveal-card h3{margin:0 0 8px; font-size:24px}.reveal-versus{display:grid; grid-template-columns:1fr auto 1fr; gap:10px; align-items:stretch}.reveal-side{border:1px solid rgba(126,164,205,.2); border-radius:16px; padding:12px; background:rgba(0,0,0,.26)}.reveal-side.winner{border-color:rgba(101,218,82,.52); box-shadow:0 0 22px rgba(101,218,82,.12)}.reveal-side img{width:64px;height:42px;object-fit:contain}.reveal-score{font-size:36px; font-weight:1000; color:#fff}.reveal-meta{color:var(--muted); font-size:12px; line-height:1.4}.vs-core{display:grid;place-items:center;font-weight:1000;color:#65b0ff}.summary-list{display:grid;gap:8px;margin-top:12px}.summary-item{border:1px solid rgba(126,164,205,.2); border-radius:14px; padding:10px 12px; background:rgba(0,0,0,.2); color:#d6e4f3}.summary-item b{color:#fff}.bottom-nav{position:fixed; left:50%; transform:translateX(-50%); bottom:0; width:min(820px,100%); padding:8px 8px calc(8px + env(safe-area-inset-bottom)); display:grid; grid-template-columns:repeat(4,1fr); gap:4px; background:linear-gradient(180deg,rgba(4,10,18,.58),rgba(2,5,10,.96)); border-top:1px solid var(--line); backdrop-filter: blur(14px); z-index:50}.bottom-nav button{border:0; background:transparent; color:#8798aa; padding:7px 4px; border-radius:12px; display:flex; flex-direction:column; align-items:center; gap:2px; font-size:12px; text-transform:uppercase; font-weight:1000; letter-spacing:.04em}.bottom-nav button span{font-size:22px}.bottom-nav button.active{color:#55a8ff; background:linear-gradient(180deg,rgba(43,141,255,.18),rgba(43,141,255,.06))}.setup-modal{width:min(760px,calc(100% - 22px)); border:0; padding:0; border-radius:24px; background:transparent; color:var(--silver);}.setup-modal::backdrop{background:rgba(0,0,0,.68); backdrop-filter:blur(8px)}.setup-card{padding:18px}.modal-head{display:flex; justify-content:space-between; gap:12px}.modal-head h2{margin:2px 0 4px; font-size:34px; text-transform:uppercase}.modal-head p{margin:0; color:var(--muted)}.setup-grid{display:grid; grid-template-columns:1fr 1fr; gap:12px; margin:16px 0}.setup-player{border:1px solid rgba(126,164,205,.22); border-radius:18px; padding:12px; display:grid; gap:8px; background:rgba(0,0,0,.2)}.setup-player img{width:96px; height:96px; object-fit:cover; border-radius:999px; border:3px solid var(--blue); justify-self:center}.setup-player span{font-weight:1000; color:#9ecfff; text-transform:uppercase; font-size:12px}.setup-player input[type="text"]{width:100%; border:1px solid var(--line); border-radius:12px; padding:10px 12px; background:#06111f; color:#fff; font-size:16px}.setup-player input[type="file"]{width:100%; font-size:13px; color:var(--muted)}.mode-card{border:1px solid rgba(101,218,82,.22); border-radius:16px; padding:12px; background:rgba(6,26,12,.28)}.mode-card p{margin:4px 0 0; color:#b8c7d7}.modal-actions{display:flex; justify-content:flex-end; gap:8px; margin-top:14px}.toast{position:fixed; left:50%; bottom:calc(74px + env(safe-area-inset-bottom)); transform:translateX(-50%) translateY(30px); opacity:0; pointer-events:none; max-width:min(520px,92vw); padding:12px 14px; border-radius:14px; background:rgba(7,17,29,.94); border:1px solid rgba(110,173,235,.3); box-shadow:0 20px 60px rgba(0,0,0,.6); color:#fff; z-index:80; transition:.25s ease}.toast.show{opacity:1; transform:translateX(-50%) translateY(0)}
@media (max-width:640px){
  .app-shell{padding-left:9px;padding-right:9px}.utility-controls{gap:4px}.tiny-toggle{width:48px;height:48px}.tiny-toggle b{display:none} h1{font-size:clamp(31px,10vw,46px)}
  .match-card{grid-template-columns:1fr; text-align:center}.player-card,.player-card.right{justify-content:center; text-align:center}.turn-pill{justify-self:center; order:-1}.player-card img{width:70px;height:70px}.player-card.right{flex-direction:row-reverse}.rosters-grid{grid-template-columns:1fr}.teams-grid{grid-template-columns:repeat(4,1fr); gap:8px}.reel-window{height:118px}.reel-cell{flex-basis:98px;height:82px}.reel-cell img{max-width:82px;max-height:62px}.selection-frame{width:108px;height:96px}.position-grid{grid-template-columns:repeat(2,1fr)}.voice-pick-box{grid-template-columns:1fr}.setup-grid{grid-template-columns:1fr}.reveal-versus{grid-template-columns:1fr}.vs-core{padding:2px}.slot{grid-template-columns:42px 1fr auto}.section-head{align-items:flex-start; flex-direction:column}.text-btn{padding-left:0}.spin-button{font-size:42px}.modal-actions{flex-direction:column-reverse}.modal-actions button{width:100%}
}
@media (min-width:641px){.setup-modal{margin-top:4vh}.slot b{font-size:15px}}

.pos-btn.unverified{opacity:.38; border-style:dashed; color:#9aa7b5;}
.data-warning{border-color:rgba(255,207,84,.34)!important; background:rgba(51,34,0,.22)!important;}
.data-warning b{color:#ffd88b;}

/* v4 polish pass: tighter mobile flow, slot-reel fix visuals, cleaner onboarding */
.brand-lockup .eyebrow{color:#9bc7ff; text-shadow:0 0 18px rgba(43,141,255,.28)}
.reel-track.spinning .reel-cell{filter:blur(1.05px) saturate(1.12); opacity:.82; transform:scale(.96)}
.reel-track.spinning .reel-cell.target{filter:none; opacity:1; transform:scale(1.03)}
.reel-cell{transition:filter .22s ease, opacity .22s ease, transform .22s ease}
.reel-window{background:linear-gradient(90deg,#02060b,#111b27 13%,#070e17 50%,#111b27 87%,#02060b);}
.selection-frame{background:radial-gradient(circle at 50% 44%, rgba(57,151,255,.18), rgba(2,8,15,.18) 66%, rgba(2,8,15,.55));}
.spinner-section:after{content:"";position:absolute;left:6%;right:6%;bottom:0;height:46%;z-index:-1;background:linear-gradient(180deg,rgba(31,130,54,0),rgba(32,143,59,.34));filter:saturate(1.35)}
.how-card{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:14px 0 12px}.how-card div{border:1px solid rgba(126,164,205,.22);border-radius:14px;background:rgba(0,0,0,.22);padding:10px;min-height:92px}.how-card b{display:inline-grid;place-items:center;width:26px;height:26px;border-radius:999px;background:#0d56b7;color:#fff;margin-bottom:6px}.how-card span{display:block;font-weight:1000;text-transform:uppercase;color:#e9f4ff}.how-card small,.mode-card small{display:block;color:#9aaec4;font-size:12px;line-height:1.35;margin-top:6px}.setup-card{max-height:min(88dvh,820px);overflow:auto}.setup-modal{max-height:92dvh}.tiny-toggle em{text-transform:uppercase}.talk-btn{background:linear-gradient(180deg,rgba(14,70,36,.95),rgba(6,35,18,.92));}

@media (max-width:640px){
  .app-shell{padding-left:8px;padding-right:8px;padding-top:calc(6px + env(safe-area-inset-top));padding-bottom:calc(78px + env(safe-area-inset-bottom));}
  .topbar{gap:7px;padding:0 0 6px}.icon-btn{width:42px;height:42px;border-radius:12px;font-size:22px}.utility-controls{gap:4px}.tiny-toggle{width:44px;height:44px;border-radius:11px}.tiny-toggle span{font-size:18px}.tiny-toggle em{font-size:10px}.brand-lockup .eyebrow{font-size:10px;letter-spacing:.18em}h1{font-size:clamp(30px,9.5vw,42px);line-height:.88;}
  .match-card{grid-template-columns:1fr 1fr!important;gap:8px;padding:10px;margin-bottom:9px}.turn-pill{grid-column:1/-1;order:-1;padding:8px 14px;font-size:15px}.player-card,.player-card.right{justify-content:flex-start;text-align:left;gap:8px;background:rgba(0,0,0,.18);border:1px solid rgba(126,164,205,.18);border-radius:15px;padding:8px}.player-card.right{flex-direction:row}.player-card img{width:54px!important;height:54px!important;border-width:2px}.player-card strong{font-size:20px}.player-card span{font-size:14px;padding:3px 8px;margin-top:2px}.player-card div{min-width:0}.player-card strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:110px}
  .spinner-section{padding:10px 8px 12px;margin-bottom:9px}.spinner-topline{font-size:10.5px;letter-spacing:.06em;padding-bottom:6px}.reel-wrap{max-width:100%}.reel-window{height:106px;border-radius:58px}.reel-track{gap:10px;padding:0 46vw}.reel-cell{flex-basis:92px!important;height:74px!important;border-radius:15px}.reel-cell img{max-width:78px!important;max-height:58px!important}.selection-frame{width:100px!important;height:86px!important;border-radius:16px}.spin-button{margin-top:12px;width:82%;font-size:38px!important;padding:10px 14px 9px;border-radius:16px}.spin-button small{font-size:10px;letter-spacing:.14em;margin-top:-3px}
  .pick-panel{padding:11px;margin-bottom:9px}.selected-team{padding:8px;margin-bottom:8px}.selected-team img{width:54px;height:40px}.selected-team b{font-size:19px}.step-title{flex-direction:column;gap:2px;margin:6px 2px 8px}.position-grid{gap:7px;margin:6px 0 10px}.pos-btn{min-height:48px;border-radius:13px}.voice-pick-box input{font-size:16px;padding:12px}.match-status{min-height:40px;margin:8px 0;padding:9px 10px}.pick-actions button{padding:11px 12px}
  .rosters-grid{gap:9px;margin-bottom:9px}.roster{padding:10px}.roster h2{font-size:15px;margin-bottom:8px}.slot{min-height:54px;padding:6px;gap:7px;margin-bottom:6px}.slot .slot-logo,.slot .empty-logo{width:38px;height:32px}.slot b{font-size:14px}.slot span{font-size:11px}.slot .pos-tag{padding:5px 7px;font-size:12px}.team-board{padding:10px}.teams-grid{grid-template-columns:repeat(4,1fr);gap:7px}.team-tile{min-height:48px}.section-head{gap:4px;margin-bottom:8px}.section-head h2{font-size:16px}.legend{font-size:11px;gap:18px}.bottom-nav{padding-top:6px}.bottom-nav button{font-size:11px;padding:6px 4px}.bottom-nav button span{font-size:20px}
  .modal-head h2{font-size:28px}.setup-card{padding:14px}.setup-grid{gap:9px;margin:12px 0}.setup-player{padding:10px}.setup-player img{width:82px;height:82px}.how-card{grid-template-columns:repeat(2,1fr);gap:7px;margin:12px 0 10px}.how-card div{min-height:80px;padding:9px}.how-card b{width:24px;height:24px}.mode-card{padding:10px}.modal-actions{margin-top:12px}
}

/* v5 QA patch: real slot-reel behavior, bigger touch controls, cleaner mobile navigation */
.reel-track.spinning .motion-cell{filter:blur(2.2px) saturate(1.25); opacity:.72; transform:scale(.92)}
.reel-track.spinning .target{filter:blur(1.2px) saturate(1.15); opacity:.88; transform:scale(.96)}
.reel-track.settling .target{animation:slotPop .42s ease both;}
@keyframes slotPop{0%{transform:scale(.94)}70%{transform:scale(1.08)}100%{transform:scale(1.02)}}
.reel-cell{background:linear-gradient(180deg, rgba(255,255,255,.09), rgba(0,0,0,.18));}
.reel-cell.target{border-color:rgba(94,176,255,.72); box-shadow:inset 0 1px 0 rgba(255,255,255,.18),0 0 20px rgba(43,141,255,.36)}
.voice-pick-box{grid-template-columns:1fr;}
.talk-btn{min-height:58px;font-size:18px;border-radius:16px;box-shadow:0 12px 28px rgba(0,0,0,.25), inset 0 1px 0 rgba(255,255,255,.13)}
.voice-pick-box input{min-height:56px;font-size:18px;}
.primary-btn,.secondary-btn{min-height:52px;font-size:16px;}
.pos-btn{min-height:60px;font-size:18px;}
.pos-btn small{font-size:12px;margin-top:2px}
.results-panel{margin-bottom:12px;}
.bottom-nav{padding-top:10px;}
.bottom-nav button{min-height:58px;font-size:13px;}
.bottom-nav button span{font-size:24px;}
.match-status{font-size:15px;line-height:1.35;}

@media (max-width:640px){
  .app-shell{padding-bottom:calc(92px + env(safe-area-inset-bottom));}
  .brand-lockup .eyebrow{font-size:9px;letter-spacing:.16em;}
  h1{font-size:clamp(29px,9vw,40px);}
  .spinner-section{padding-bottom:14px;}
  .reel-window{height:112px!important;}
  .reel-track{gap:12px!important;padding:0 48vw!important;}
  .reel-cell{flex-basis:96px!important;height:78px!important;}
  .selection-frame{width:106px!important;height:90px!important;}
  .position-grid{grid-template-columns:repeat(3,1fr);gap:7px;}
  .pos-btn{min-height:54px;font-size:16px;}
  .pos-btn small{font-size:10px;}
  .talk-btn{min-height:60px;font-size:18px;}
  .voice-pick-box input{min-height:58px;font-size:18px;}
  .pick-actions{display:grid;grid-template-columns:1fr 1fr;}
  .pick-actions button{min-height:54px;font-size:15px;}
  .bottom-nav{padding:9px 8px calc(9px + env(safe-area-inset-bottom));}
  .bottom-nav button{min-height:60px;font-size:12px;}
  .bottom-nav button span{font-size:25px;}
  .results-panel{display:block;}
}

/* v6 UX rebuild: slot-reel window, cleaner header, larger action controls, better dictate flow */
body{background:radial-gradient(circle at 50% -8%, #17355c 0%, #071422 38%, #02060b 100%);} 
.app-shell{max-width:720px;}
.topbar{display:grid;grid-template-columns:48px 1fr auto;align-items:center;gap:10px;padding-top:2px;padding-bottom:10px;}
.brand-lockup .desktop-brand{display:none!important;}
.brand-lockup h1{font-size:clamp(34px,8vw,58px);line-height:.9;letter-spacing:-.055em;margin:0;text-shadow:0 10px 30px rgba(0,0,0,.55);}
.brand-lockup h1 span{font-size:.58em;color:#2e92ff;text-shadow:0 0 20px rgba(46,146,255,.55);}
.utility-controls{display:flex;gap:8px;align-items:center;}
.tiny-toggle{width:72px;height:52px;border-radius:15px;padding:6px 5px;background:linear-gradient(180deg,rgba(13,31,51,.96),rgba(4,12,22,.96));border:1px solid rgba(116,164,219,.34);box-shadow:0 10px 26px rgba(0,0,0,.35)}
.tiny-toggle span{font-size:20px;line-height:1}.tiny-toggle b{display:block!important;font-size:10px;letter-spacing:.1em;text-transform:uppercase;color:#eaf4ff;line-height:1.05}.tiny-toggle em{font-style:normal;font-size:10px;font-weight:1000;color:#58a8ff;text-transform:uppercase;letter-spacing:.08em;line-height:1.05;white-space:nowrap}
.match-card{grid-template-columns:1fr auto 1fr;gap:14px;padding:14px;margin-bottom:12px;}
.turn-pill{font-size:18px;padding:11px 18px;border-width:2px;box-shadow:0 0 24px rgba(101,218,82,.16)}
.player-card{min-height:88px}.player-card strong{font-size:26px}.player-card span{font-size:17px;padding:5px 11px}.player-card img{background:#07111e;}
.spinner-section{position:relative;padding:14px 12px 16px;margin-bottom:12px;overflow:hidden;}
.spinner-topline{font-size:13px;letter-spacing:.14em;color:#a9bad0;padding:0 4px 9px;}
.reel-window{height:124px;border-radius:70px;overflow:hidden;border:2px solid rgba(126,164,205,.32);background:linear-gradient(90deg,#02060b 0%,#0e1b29 14%,#06101c 50%,#0e1b29 86%,#02060b 100%);box-shadow:inset 0 0 30px rgba(0,0,0,.72),0 16px 45px rgba(0,0,0,.35);}
.reel-window:before,.reel-window:after{content:"";position:absolute;top:0;bottom:0;width:62px;z-index:6;pointer-events:none}.reel-window:before{left:0;background:linear-gradient(90deg,#02060b,rgba(2,6,11,0))}.reel-window:after{right:0;background:linear-gradient(270deg,#02060b,rgba(2,6,11,0))}
.reel-track{height:100%;display:flex!important;align-items:center;justify-content:center;gap:14px!important;padding:0!important;transform:none!important;transition:none!important;will-change:auto!important;}
.reel-cell{flex:0 0 clamp(86px,23vw,132px)!important;height:88px!important;border-radius:20px!important;display:grid;place-items:center;border:1px solid rgba(145,183,225,.25);background:linear-gradient(180deg,rgba(18,38,61,.92),rgba(5,12,22,.95))!important;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 8px 24px rgba(0,0,0,.35);opacity:.72;transition:transform .12s ease,opacity .12s ease,filter .12s ease,box-shadow .12s ease;}
.reel-cell.center{opacity:1;transform:scale(1.04);filter:none;border-color:rgba(100,182,255,.82);box-shadow:inset 0 1px 0 rgba(255,255,255,.16),0 0 26px rgba(43,141,255,.42),0 10px 28px rgba(0,0,0,.45);}
.reel-cell .logo-pad{width:88%;height:78%;display:grid;place-items:center;border-radius:15px;background:radial-gradient(circle at 50% 42%,rgba(255,255,255,.07),rgba(255,255,255,.015) 58%,rgba(0,0,0,.16));overflow:hidden;}
.reel-cell img{max-width:88%!important;max-height:76%!important;width:auto;height:auto;object-fit:contain;filter:drop-shadow(0 8px 10px rgba(0,0,0,.35));}
.reel-track.is-spinning .reel-cell{filter:blur(1.4px) saturate(1.25);opacity:.68;transform:scale(.94)}
.reel-track.is-spinning .reel-cell.center{filter:blur(.8px) saturate(1.25);opacity:.9;transform:scale(.99)}
.reel-track.settling .reel-cell.center{animation:slotPop .4s cubic-bezier(.16,.9,.24,1.25) both;}
.selection-frame{width:clamp(96px,25vw,142px)!important;height:100px!important;border-width:4px!important;border-radius:22px!important;box-shadow:0 0 0 1px rgba(255,255,255,.2),0 0 34px rgba(43,141,255,.58),inset 0 0 26px rgba(43,141,255,.18);}
.reel-pointer{filter:drop-shadow(0 0 10px rgba(117,187,255,.8));}
.spin-button{width:min(580px,90%);min-height:86px;font-size:56px;letter-spacing:.015em;border-radius:22px;border:2px solid rgba(124,187,255,.52);background:linear-gradient(180deg,#1f8bff,#064aa7);box-shadow:0 16px 42px rgba(0,0,0,.5),0 0 28px rgba(43,141,255,.28),inset 0 1px 0 rgba(255,255,255,.22);}
.spin-button small{font-size:13px;letter-spacing:.18em;color:#b9d8ff;margin-top:-3px}.spin-button:not(:disabled):active{transform:translateY(2px) scale(.99)}
.pick-panel{scroll-margin-top:12px}.step-title b{font-size:22px}.step-title span{font-size:14px}.position-grid{grid-template-columns:repeat(3,1fr);gap:10px}.pos-btn{min-height:68px;font-size:21px;border-radius:18px;background:linear-gradient(180deg,rgba(18,76,145,.95),rgba(7,31,65,.95));border:1px solid rgba(113,181,255,.42);box-shadow:0 12px 25px rgba(0,0,0,.25)}.pos-btn.active{background:linear-gradient(180deg,#2b8dff,#0751b5);box-shadow:0 0 25px rgba(43,141,255,.42)}
.voice-pick-box{display:grid;grid-template-columns:150px 1fr!important;gap:10px}.talk-btn{min-height:64px;font-size:20px;border-radius:18px;background:linear-gradient(180deg,#26b65a,#0a642e);font-weight:1000;text-transform:uppercase;letter-spacing:.04em}.voice-pick-box input{min-height:64px;border-radius:18px;font-size:20px;padding:13px 16px;border:2px solid rgba(93,159,235,.5)}
.hint-btn{width:100%;min-height:44px;border-radius:14px;border:1px solid rgba(255,207,84,.36);background:rgba(255,207,84,.10);color:#ffe08b;font-weight:1000;text-transform:uppercase;letter-spacing:.08em;margin:8px 0 2px}.hint-btn.is-hidden{display:none!important}.hint-btn:active{transform:translateY(1px)}
.match-status{font-size:16px}.primary-btn{background:linear-gradient(180deg,#2b8dff,#064aa7);box-shadow:0 12px 26px rgba(43,141,255,.24);font-weight:1000}.pick-actions .primary-btn{font-size:18px}.secondary-btn{background:rgba(16,31,50,.9)}
.setup-card{padding:20px;max-width:680px}.modal-head{gap:10px}.modal-head h2{font-size:36px;margin:0}.modal-head p{margin:5px 0 0;max-width:520px;line-height:1.35}.modal-head .eyebrow{display:block!important;color:#9bc7ff}.setup-player{gap:9px}.how-card div{min-height:78px}.mode-card{margin-top:6px}.modal-actions button{min-height:54px}
.results-panel{scroll-margin-top:12px}.bottom-nav{border-top:1px solid rgba(126,164,205,.18);box-shadow:0 -16px 48px rgba(0,0,0,.58)}

@media (max-width:640px){
  .app-shell{padding-left:8px;padding-right:8px;padding-top:calc(5px + env(safe-area-inset-top));padding-bottom:calc(96px + env(safe-area-inset-bottom));}
  .topbar{grid-template-columns:44px 1fr 128px;gap:6px;padding-bottom:8px;}
  .icon-btn{width:42px;height:42px}.brand-lockup h1{font-size:clamp(28px,8.7vw,39px);line-height:.9}.brand-lockup h1 span{font-size:.58em}.utility-controls{gap:5px}.tiny-toggle{width:61px;height:48px;padding:5px 3px}.tiny-toggle span{font-size:18px}.tiny-toggle b{font-size:9px;letter-spacing:.06em}.tiny-toggle em{font-size:9px;letter-spacing:.04em}
  .match-card{grid-template-columns:1fr 1fr!important;padding:11px 9px;gap:8px}.turn-pill{grid-column:1/-1;font-size:17px;padding:10px 14px}.player-card{min-height:72px;padding:8px!important}.player-card img{width:54px!important;height:54px!important}.player-card strong{font-size:22px}.player-card span{font-size:15px}
  .spinner-section{padding:11px 8px 14px}.spinner-topline{font-size:11px;letter-spacing:.12em}.reel-window{height:112px!important}.reel-track{gap:12px!important}.reel-cell{flex-basis:96px!important;height:78px!important;border-radius:17px!important}.reel-cell .logo-pad{border-radius:13px}.selection-frame{width:106px!important;height:90px!important;border-radius:18px!important}.spin-button{width:86%;min-height:78px;font-size:46px!important;border-radius:19px}.spin-button small{font-size:11px}
  .pick-panel{padding:12px 10px}.selected-team b{font-size:20px}.step-title b{font-size:20px}.position-grid{grid-template-columns:repeat(3,1fr)!important;gap:7px}.pos-btn{min-height:60px;font-size:18px;border-radius:15px}.pos-btn small{font-size:10px}.voice-pick-box{grid-template-columns:1fr!important}.talk-btn,.voice-pick-box input{min-height:61px;font-size:19px}.hint-btn{min-height:42px;font-size:13px}.pick-actions{display:grid;grid-template-columns:1fr 1.2fr!important}.pick-actions button{min-height:56px;font-size:15px}
  .roster h2{font-size:18px}.slot{min-height:61px}.slot b{font-size:16px}.slot span{font-size:13px}.bottom-nav button{min-height:62px;font-size:12px}.bottom-nav button span{font-size:25px}.setup-card{padding:16px}.modal-head h2{font-size:30px}.modal-head p{font-size:14px}.how-card{grid-template-columns:repeat(2,1fr)}
}

/* v7 Dictation / mobile UX patch: voice-entry reliability, larger pick actions, less cramped header */
:root{--cta-blue:#2f93ff;--cta-blue-dark:#0757bd;--cta-green:#39d86a;--panel-edge:rgba(128,174,225,.25)}
.brand-lockup{min-width:0;text-align:center;}
.brand-lockup h1{max-width:100%;}
.utility-controls{min-width:136px;justify-content:flex-end;}
.tiny-toggle{width:74px;height:56px;}
.tiny-toggle b{font-size:10px;}
.tiny-toggle em{font-size:10px;}
.turn-pill{background:linear-gradient(180deg,rgba(39,89,50,.98),rgba(10,36,18,.98));border-color:rgba(87,234,104,.52);box-shadow:0 0 0 1px rgba(87,234,104,.1),0 0 26px rgba(85,230,93,.2);}
.spin-button{position:relative;overflow:hidden;}
.spin-button:before{content:"";position:absolute;inset:0;background:linear-gradient(110deg,transparent 0%,rgba(255,255,255,.18) 38%,transparent 66%);transform:translateX(-130%);}
.spin-button:not(:disabled):before{animation:ctaSweep 2.6s ease-in-out infinite;}
@keyframes ctaSweep{0%,42%{transform:translateX(-130%)}72%,100%{transform:translateX(130%)}}
.pick-panel{border-color:rgba(98,169,255,.35);box-shadow:0 18px 58px rgba(0,0,0,.35),0 0 0 1px rgba(42,142,255,.06);}
.voice-pick-box{align-items:stretch;}
.talk-btn{background:linear-gradient(180deg,#32d56c,#0c7a39)!important;border:1px solid rgba(140,255,171,.42)!important;color:white;text-shadow:0 2px 10px rgba(0,0,0,.35);}
.talk-btn:active{transform:translateY(1px) scale(.99);}
.voice-pick-box input{background:linear-gradient(180deg,rgba(8,18,31,.98),rgba(3,8,15,.98));color:#f4f9ff;outline:none;box-shadow:inset 0 1px 0 rgba(255,255,255,.08),0 0 0 rgba(47,147,255,0);transition:box-shadow .16s ease,border-color .16s ease,transform .16s ease;}
.voice-pick-box input:focus,.voice-pick-box input.dictate-focus{border-color:rgba(79,180,255,.96);box-shadow:0 0 0 4px rgba(47,147,255,.22),0 0 30px rgba(47,147,255,.24);}
.dictate-guide{grid-column:1/-1;margin-top:-3px;padding:10px 12px;border:1px solid rgba(125,179,239,.18);border-radius:14px;background:rgba(124,178,238,.07);font-size:13px;font-weight:850;color:#b6cbe4;line-height:1.25;}
.pick-actions{position:sticky;bottom:calc(88px + env(safe-area-inset-bottom));z-index:18;margin-top:10px;padding-top:6px;background:linear-gradient(180deg,rgba(5,13,24,0),rgba(5,13,24,.92) 28%,rgba(5,13,24,.98));border-radius:18px;}
.pick-actions .primary-btn{min-height:64px;font-size:19px;background:linear-gradient(180deg,var(--cta-blue),var(--cta-blue-dark));box-shadow:0 13px 30px rgba(47,147,255,.28),0 0 18px rgba(47,147,255,.18);}
.pick-actions .primary-btn:not(:disabled){animation:confirmPulse 2.4s ease-in-out infinite;}
@keyframes confirmPulse{0%,100%{box-shadow:0 13px 30px rgba(47,147,255,.28),0 0 18px rgba(47,147,255,.16)}50%{box-shadow:0 13px 34px rgba(47,147,255,.45),0 0 30px rgba(47,147,255,.32)}}
.hint-btn{display:flex;align-items:center;justify-content:center;gap:7px;}
.hint-btn:before{content:"💡";}
.setup-card .modal-head p{font-size:15px;color:#afbfd2;}
.setup-card .mode-card small{display:block;margin-top:5px;color:#9fb2c8;line-height:1.3;}
.results-panel .reveal-card{border-color:rgba(126,164,205,.24);}

@media (max-width:640px){
  .topbar{grid-template-columns:42px minmax(0,1fr) 136px!important;align-items:center;gap:6px;}
  .brand-lockup h1{font-size:clamp(27px,8.2vw,36px)!important;line-height:.86!important;letter-spacing:-.06em;}
  .utility-controls{min-width:132px;gap:6px;}
  .tiny-toggle{width:64px!important;height:54px!important;border-radius:14px;}
  .tiny-toggle span{font-size:19px!important;}
  .tiny-toggle b{font-size:9px!important;letter-spacing:.03em!important;}
  .tiny-toggle em{font-size:9px!important;}
  .match-card{margin-bottom:10px!important;}
  .turn-pill{font-size:18px!important;min-height:44px;justify-content:center;}
  .spinner-section{margin-bottom:10px!important;}
  .pick-panel{padding:12px 10px 14px!important;margin-bottom:12px;}
  .selected-team{gap:12px;}
  .step-title b{font-size:18px!important;line-height:1.08;}
  .step-title span{font-size:12px!important;}
  .position-grid{grid-template-columns:repeat(3,1fr)!important;}
  .pos-btn{min-height:62px!important;font-size:19px!important;}
  .voice-pick-box{display:grid!important;grid-template-columns:1fr!important;gap:8px!important;}
  .talk-btn{min-height:66px!important;font-size:20px!important;border-radius:18px!important;}
  .voice-pick-box input{min-height:68px!important;font-size:21px!important;border-radius:18px!important;padding:14px 16px!important;}
  .dictate-guide{font-size:12.5px;padding:9px 10px;}
  .match-status{font-size:14px!important;min-height:45px!important;}
  .pick-actions{grid-template-columns:1fr!important;gap:8px!important;bottom:calc(82px + env(safe-area-inset-bottom));}
  .pick-actions .secondary-btn{order:2;min-height:48px;}
  .pick-actions .primary-btn{order:1;min-height:68px!important;font-size:20px!important;border-radius:18px;}
  .bottom-nav{padding-bottom:calc(9px + env(safe-area-inset-bottom))!important;}
  .bottom-nav button{min-height:64px!important;}
  .setup-card{padding:15px!important;}
  .modal-head h2{font-size:30px!important;}
  .modal-head p{font-size:14px!important;}
}

/* v8 Playable Polish: action-first mobile flow, smarter matching options, share-card export */
:root{--v8-action:#35d66d;--v8-action-dark:#0d7c3c;--v8-warn:#ffcf54;}
body{overscroll-behavior-y:none;}
.topbar{position:sticky;top:0;z-index:30;background:linear-gradient(180deg,rgba(5,11,19,.96),rgba(5,11,19,.72));backdrop-filter:blur(16px);border-bottom:1px solid rgba(126,164,205,.12);}
.match-card{box-shadow:0 12px 40px rgba(0,0,0,.34);}
.turn-pill{font-size:clamp(16px,4vw,20px);letter-spacing:.035em;}
.turn-pill span:last-child{white-space:nowrap;}
.spinner-section{scroll-margin-top:78px;}
.spinner-section.panel{border-color:rgba(71,151,255,.38);}
.spin-button{min-height:92px;text-shadow:0 2px 0 rgba(0,0,0,.25),0 0 18px rgba(116,194,255,.25)}
.spin-button small{font-weight:1000;}
.pick-panel{position:relative;border-width:2px;scroll-margin-top:76px;background:linear-gradient(180deg,rgba(11,29,49,.98),rgba(5,13,24,.98));}
.pick-panel:before{content:"ACTIVE PICK";position:absolute;right:14px;top:-13px;padding:5px 10px;border-radius:999px;background:linear-gradient(180deg,#35d66d,#0d7c3c);color:#03230e;font-size:11px;font-weight:1000;letter-spacing:.12em;box-shadow:0 10px 25px rgba(0,0,0,.35)}
.selected-team{border-color:rgba(99,182,255,.44);background:linear-gradient(180deg,rgba(16,48,82,.72),rgba(5,13,23,.72));}
.selected-team b{letter-spacing:-.02em;}
.step-title{align-items:flex-end;}
.step-title b{max-width:520px;}
.pos-btn{position:relative;overflow:hidden;}
.pos-btn:not(:disabled):after{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent,rgba(255,255,255,.12),transparent);transform:translateX(-140%);transition:transform .38s ease;}
.pos-btn:not(:disabled):active:after{transform:translateX(140%);}
.voice-pick-box input::placeholder{color:#7890aa;}
.match-options{display:grid;grid-template-columns:1fr;gap:7px;margin-top:9px;}
.match-option{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;min-height:44px;border-radius:13px;border:1px solid rgba(255,207,84,.34);background:linear-gradient(180deg,rgba(255,207,84,.18),rgba(255,207,84,.08));color:#fff;font-weight:950;padding:9px 10px;text-align:left;}
.match-option small{color:#ffe49a;font-weight:900;white-space:nowrap;}
.match-option:active{transform:translateY(1px);}
.result-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end;}
.result-actions .text-btn{min-height:42px;border-color:rgba(126,184,243,.28);}
.results-head{align-items:flex-start;}
.reveal-card{background:linear-gradient(180deg,rgba(12,28,48,.86),rgba(4,11,20,.88));}
.bottom-nav{z-index:40;}
.bottom-nav button.active{color:#fff;background:linear-gradient(180deg,rgba(43,141,255,.22),rgba(43,141,255,.08));border-radius:14px;}
.setup-card{border-color:rgba(103,172,255,.32);}
.mode-card{border:1px solid rgba(126,164,205,.18);border-radius:16px;background:rgba(2,8,16,.28);padding:12px;}

@media (max-width:640px){
  .app-shell{padding-left:8px!important;padding-right:8px!important;}
  .topbar{padding-top:calc(4px + env(safe-area-inset-top));margin-left:-8px;margin-right:-8px;padding-left:8px;padding-right:8px;}
  .brand-lockup h1{font-size:clamp(25px,8vw,34px)!important;}
  .utility-controls{min-width:128px!important;}
  .tiny-toggle{width:61px!important;height:52px!important;}
  .match-card{margin-bottom:8px!important;}
  .turn-pill{min-height:50px!important;font-size:19px!important;}
  .spinner-section{padding-top:10px!important;}
  .spin-button{width:92%!important;min-height:88px!important;font-size:48px!important;}
  .pick-panel{margin-left:-2px;margin-right:-2px;border-radius:22px!important;padding:14px 11px 16px!important;}
  .pick-panel:before{right:12px;top:-12px;}
  .selected-team{padding:9px 10px!important;}
  .step-title{margin-top:9px!important;}
  .step-title b{font-size:19px!important;}
  .position-grid{grid-template-columns:repeat(3,1fr)!important;gap:8px!important;}
  .pos-btn{min-height:66px!important;font-size:20px!important;}
  .voice-pick-box input{min-height:72px!important;font-size:22px!important;}
  .talk-btn{min-height:68px!important;font-size:20px!important;}
  .hint-btn{min-height:48px!important;font-size:14px!important;}
  .match-status{font-size:15px!important;line-height:1.28!important;}
  .match-option{min-height:49px;font-size:16px;}
  .pick-actions{bottom:calc(82px + env(safe-area-inset-bottom))!important;padding:8px 0 0!important;}
  .pick-actions .primary-btn{min-height:74px!important;font-size:21px!important;}
  .rosters-grid{grid-template-columns:1fr!important;}
  .roster{padding:12px!important;}
  .team-board .section-head{display:grid;grid-template-columns:1fr;align-items:start;}
  .team-board .text-btn{width:100%;}
  .result-actions{width:100%;display:grid;grid-template-columns:1fr 1fr;}
  .result-actions .text-btn:first-child{grid-column:1/-1;}
  .results-head{display:grid!important;grid-template-columns:1fr!important;}
  .bottom-nav button{min-height:68px!important;font-size:12px!important;}
}
