:root{--bg:#f6f6f1;--ink:#111;--muted:#6a6a64;--line:#d7d7cf;--surface:#fff;--soft:#efefe7;--dark:#171717;--green:#0b6f45;--red:#bf3030;--gold:#d79a22}*{box-sizing:border-box}html{background:var(--bg);color:var(--ink)}body{margin:0;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button{font:inherit;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}a{color:inherit}.appShell{min-height:100vh;padding:18px}.appHeader,.hero,.contentBand,.howGrid,.challengeBand,.faqBand,.setupScreen,.gameShell,.legalFooter{max-width:1120px;margin-left:auto;margin-right:auto}.appHeader{justify-content:space-between;align-items:center;gap:14px;margin-bottom:24px;display:flex}.brandLockup,.headerMeta,.panelActions,.draftHeader,.scoreline,.slotChooserTop,.boardTop{align-items:center;gap:12px;display:flex}.brandLockup{color:var(--ink);font-weight:950;text-decoration:none}.brandLockup img{border-radius:8px;width:34px;height:34px}.headerMeta{color:var(--muted);flex-wrap:wrap;justify-content:flex-end;font-size:.84rem;font-weight:800}.coffeeLink,.ghostButton,.startButton,.spinButton,.heroButton,.iconButton,.textButton{border-radius:8px;min-height:42px;font-weight:900;text-decoration:none}.coffeeLink,.ghostButton,.textButton{border:1px solid var(--line);background:var(--surface);color:var(--ink);justify-content:center;align-items:center;padding:0 13px;display:inline-flex}.hero{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:78vh;padding:64px 18px 42px;display:flex}.eyebrow{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin:0 0 10px;font-size:.78rem;font-weight:950}h1,h2,p{margin-top:0}h1{letter-spacing:0;margin-bottom:14px;font-size:clamp(3.3rem,13vw,10rem);line-height:.86}h2{letter-spacing:0;margin-bottom:14px;font-size:clamp(1.65rem,4vw,3rem)}.heroLead{max-width:720px;color:var(--muted);margin-bottom:24px;font-size:clamp(1.08rem,2vw,1.45rem);line-height:1.5}.heroButton,.startButton,.spinButton{border:1px solid var(--dark);background:var(--dark);color:#fff;justify-content:center;align-items:center;padding:0 20px;display:inline-flex}.heroButton{min-width:230px;min-height:52px;font-size:1.04rem}.heroStats{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;width:min(680px,100%);margin-top:34px;display:grid}.heroStats div,.contentBand,.challengeBand,.faqBand,.howGrid article,.setupPanel,.squadBoard,.mainPanel,.centerPanel,.spinPanel,.draftPanel,.simulationPanel,.resultPanel{border:1px solid var(--line);background:var(--surface);border-radius:8px}.heroStats div{flex-direction:column;justify-content:center;min-height:86px;padding:12px;display:flex}.heroStats strong{font-size:1.9rem;line-height:1;display:block}.heroStats span{color:var(--muted);text-transform:uppercase;margin-top:7px;font-size:.78rem;font-weight:900}.contentBand,.challengeBand,.faqBand{margin-top:16px;padding:28px}.contentBand p,.faqBand p,.howGrid p{color:var(--muted);line-height:1.6}.howGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-top:16px;display:grid}.howGrid article{min-height:190px;padding:18px}.howGrid article span{background:var(--dark);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;margin-bottom:14px;font-weight:950;display:inline-flex}.howGrid article strong{margin-bottom:8px;font-size:1.1rem;display:block}.challengeBand ul{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 18px;margin:0;padding:0;list-style:none;display:grid}.challengeBand li{color:var(--muted);font-weight:750}.challengeBand li:before{content:"▸";color:var(--dark);margin-right:9px}.faqBand details{border-top:1px solid var(--line)}.faqBand summary{cursor:pointer;padding:16px 0;font-weight:900}.setupScreen{grid-template-columns:minmax(280px,.68fr) minmax(0,1fr);gap:18px;display:grid}.setupTitle{align-self:start;position:sticky;top:18px}.setupTitle h1{font-size:clamp(2.8rem,7vw,6.5rem)}.setupTitle p:not(.eyebrow){color:var(--muted);font-weight:800}.setupPanel,.squadBoard,.mainPanel,.draftPanel,.simulationPanel,.resultPanel{padding:18px}.optionGroup{margin-bottom:16px}.optionGroup h2{margin-bottom:9px;font-size:.98rem}.optionGrid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.option{border:1px solid var(--line);background:var(--surface);min-height:58px;color:var(--ink);text-align:left;border-radius:8px;padding:11px 12px}.option.compact{min-height:46px}.option strong,.option span{display:block}.option span,.formationCopy{color:var(--muted);font-size:.84rem;line-height:1.3}.option.selected{border-color:var(--dark);background:var(--soft);box-shadow:inset 0 0 0 1px var(--dark)}.miniFormation{flex-wrap:wrap;gap:6px;margin:0 0 18px;display:flex}.miniFormation span{background:var(--dark);color:#fff;border-radius:7px;justify-content:center;align-items:center;min-width:39px;min-height:30px;font-size:.76rem;font-weight:950;display:inline-flex}.startButton,.spinButton{width:100%}.gameShell{grid-template-columns:minmax(300px,.72fr) minmax(0,1.28fr);gap:16px;display:grid}.squadBoard,.mainPanel{min-height:690px}.boardTop{color:var(--muted);justify-content:space-between;margin-bottom:12px;font-size:.82rem;font-weight:900}.boardTop strong{color:var(--ink)}.slotGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.boardSlot{border:1px solid var(--line);background:var(--soft);min-height:92px;color:var(--ink);text-align:left;border-radius:8px;padding:10px}.boardSlot.filled{background:var(--surface);border-color:var(--dark)}.boardSlot span,.boardSlot strong,.boardSlot small{display:block}.boardSlot span{color:var(--muted);font-size:.74rem;font-weight:950}.boardSlot strong{margin:6px 0;font-size:.93rem;line-height:1.1}.boardSlot small{color:var(--muted);font-size:.72rem;font-weight:800}.metricGrid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:12px 0;display:grid}.metric{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-height:62px;padding:10px}.metric span,.metric strong{display:block}.metric span{color:var(--muted);font-size:.72rem;font-weight:950}.metric strong{margin-top:5px;font-size:1.35rem}.panelActions{justify-content:space-between}.iconButton{border:1px solid var(--line);background:var(--surface);width:42px;color:var(--ink);font-size:1.15rem}.centerPanel,.spinPanel{flex-direction:column;justify-content:center;min-height:654px;padding:28px;display:flex}.spinPanel{text-align:center;align-items:center}.spinPanel>p:not(.eyebrow){color:var(--muted);font-weight:850}.reelBox{border:1px solid var(--line);background:var(--soft);border-radius:8px;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:center;gap:14px;width:min(610px,100%);margin:18px 0;padding:18px;display:grid;overflow:hidden}.reel{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-height:252px;overflow:hidden}.reel>span{border-bottom:1px solid var(--line);color:var(--muted);text-transform:uppercase;padding:10px 8px;font-size:.78rem;font-weight:950;display:block}.reel div{gap:0;display:grid;transform:translateY(-64px)}.reelBox.spinning .reel div{animation:.62s linear infinite reelRoll}.reel strong{justify-content:center;align-items:center;min-height:54px;padding:0 8px;font-size:clamp(1.15rem,4vw,2.3rem);line-height:1;display:flex}.reelDivider{font-size:clamp(2rem,6vw,4rem)}.spinButton{max-width:360px}.spinPanel small{color:var(--muted);margin-top:8px;font-weight:850}@keyframes reelRoll{0%{transform:translateY(0)}to{transform:translateY(-270px)}}.draftHeader{justify-content:space-between;align-items:flex-start;margin-bottom:10px}.draftHeader h1,.simulationPanel h1,.resultPanel h1{margin-bottom:8px;font-size:clamp(2.4rem,7vw,5.8rem)}.yearPill{background:var(--dark);color:#fff;border-radius:999px;align-items:center;min-height:34px;padding:0 12px;font-weight:950;display:inline-flex}.draftInstruction{color:var(--muted);font-weight:800}.slotChooser{border:1px solid var(--line);background:var(--soft);border-radius:8px;margin-bottom:12px;padding:12px}.slotChooserTop{justify-content:space-between;margin-bottom:8px}.slotChooser p{color:var(--muted);text-transform:uppercase;margin-bottom:8px;font-size:.82rem;font-weight:900}.slotChoiceGrid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-bottom:10px;display:grid}.slotChoice{border:1px solid var(--line);background:var(--surface);border-radius:8px;min-height:50px}.slotChoice.fit{border-color:var(--dark)}.slotChoice.blocked{color:var(--muted);background:#f2f2ee;justify-content:space-between;align-items:center;padding:0 10px;display:flex}.slotChoice strong,.slotChoice span{display:block}.slotChoice span{color:var(--muted);font-size:.76rem;font-weight:850}.playerList{gap:7px;max-height:502px;padding-right:4px;display:grid;overflow:auto}.playerRow{border:1px solid var(--line);background:var(--surface);min-height:58px;color:var(--ink);text-align:left;border-radius:8px;grid-template-columns:48px minmax(0,1fr) minmax(120px,auto);align-items:center;gap:10px;padding:8px;display:grid}.playerRow:hover,.playerRow.selected{border-color:var(--dark);background:var(--soft)}.ratingBadge{background:var(--dark);color:#fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-weight:950;display:inline-flex}.playerName strong,.playerName small{display:block}.playerName small{color:var(--muted);margin-top:2px;font-size:.78rem;font-weight:800}.positionTags{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.positionTags em{background:var(--soft);min-height:24px;color:var(--muted);border-radius:999px;align-items:center;padding:0 7px;font-size:.72rem;font-style:normal;font-weight:950;display:inline-flex}.nextMatch{border:1px solid var(--line);background:var(--soft);border-radius:8px;gap:4px;margin-bottom:14px;padding:16px;display:grid}.nextMatch span{color:var(--muted);text-transform:uppercase;font-size:.76rem;font-weight:950}.nextMatch strong{font-size:1.6rem}.matchList{gap:9px;margin:12px 0 18px;display:grid}.matchList.compact{max-height:420px;overflow:auto}.matchCard{border:1px solid var(--line);border-left:5px solid var(--red);background:var(--surface);border-radius:8px;padding:12px}.matchCard.won{border-left-color:var(--green)}.matchTop span,.matchCard li span{color:var(--muted);font-size:.78rem;font-weight:950}.matchTop strong{margin-top:2px;font-size:1.02rem;display:block}.matchCard ul{gap:5px;margin:10px 0 0;padding:0;list-style:none;display:grid}.matchCard li{color:var(--muted);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:8px;font-size:.86rem;display:grid}.matchCard li em{font-style:normal}.scoreline{margin-bottom:12px}.scoreline strong{font-size:2rem}.scoreline span{color:var(--muted);font-weight:900}.shareBox{border:1px solid var(--line);background:var(--soft);border-radius:8px;gap:8px;margin-bottom:18px;padding:14px;display:grid}.shareBox p{margin:0;line-height:1.45}.shareBox a,.shareBox span{color:var(--green);overflow-wrap:anywhere;font-weight:950}.resultGrid{grid-template-columns:minmax(0,1.05fr) minmax(260px,.95fr);gap:14px;display:grid}.statTable{gap:8px;display:grid}.statTable div{border:1px solid var(--line);background:var(--surface);border-radius:8px;grid-template-columns:minmax(0,1fr) 52px 52px;align-items:center;gap:8px;min-height:42px;padding:8px 10px;display:grid}.statTable span{color:var(--muted);font-weight:950}.legalFooter{color:var(--muted);margin-top:22px;font-size:.8rem;line-height:1.5}.legalFooter div{flex-wrap:wrap;gap:12px;margin-bottom:10px;display:flex}.legalFooter a{font-weight:900;text-decoration:none}@media (max-width:920px){.setupScreen,.gameShell,.howGrid,.challengeBand ul,.resultGrid{grid-template-columns:1fr}.setupTitle{position:static}.squadBoard,.mainPanel,.centerPanel,.spinPanel{min-height:auto}}@media (max-width:660px){.appShell{padding:12px}.appHeader,.headerMeta,.draftHeader,.panelActions{flex-direction:column;align-items:stretch}.headerMeta,.coffeeLink,.ghostButton{width:100%}.hero{min-height:72vh;padding:44px 0 26px}.heroStats,.optionGrid,.metricGrid,.slotChoiceGrid,.reelBox{grid-template-columns:1fr}.reelDivider{line-height:.8}.slotGrid{grid-template-columns:repeat(2,minmax(0,1fr))}.playerRow{grid-template-columns:44px minmax(0,1fr)}.positionTags{grid-column:2;justify-content:flex-start}.matchCard li{grid-template-columns:38px minmax(0,1fr)}.matchCard li em{grid-column:2}}
