:root{
  --bg:#02060a;
  --bg2:#050a10;
  --panel:#080e15;
  --panel2:#0b1724;
  --line:rgba(154,184,211,.14);
  --line2:rgba(154,184,211,.24);
  --text:#f4f7fa;
  --muted:#9ab8d3;
  --rival-blue:#1f64a8;
  --rival-blue-dark:#123c67;
  --rival-blue-bright:#3a89d7;
  --rival-red:#8f1d21;
  --rival-red-dark:#521317;
  --gold:#3a89d7;
  --gold2:#8f1d21;
  --card-gold:#e8bf63;
  --card-gold2:#f6db91;
  --green:#79d89c;
  --danger:#ff7676;
  --shadow:0 24px 70px rgba(0,0,0,.48);
}
*{box-sizing:border-box}
html{background:var(--bg);color-scheme:dark}
html,body{margin:0;min-height:100%;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{min-height:100vh;overflow-x:hidden}
button,input,select{font:inherit}
button{color:inherit}
button,a{-webkit-tap-highlight-color:transparent}
button{border:0;cursor:pointer}
a{text-decoration:none;color:inherit}
#app{min-height:100vh;padding:76px 24px 64px 236px;position:relative;isolation:isolate}
#boot{position:fixed;inset:0;z-index:9999;background:#02060a;display:grid;place-items:center;transition:opacity .45s ease,visibility .45s ease}
#boot.done{opacity:0;visibility:hidden}
.bootMark{display:flex;flex-direction:column;align-items:center;gap:4px;letter-spacing:.16em}
.bootMark span{font-size:13px;color:var(--rival-red);font-weight:900}
.bootMark b{font-size:clamp(26px,5vw,60px);letter-spacing:-.04em}
.bootMark i{height:2px;width:140px;margin-top:16px;background:linear-gradient(90deg,transparent,var(--rival-blue-bright),var(--rival-red),transparent);animation:pulse 1.1s infinite}
@keyframes pulse{50%{opacity:.28;transform:scaleX(.65)}}
.ambient{position:fixed;inset:0;z-index:-2;overflow:hidden;pointer-events:none;background:
 linear-gradient(135deg,rgba(255,255,255,.018),transparent 40%),
 radial-gradient(circle at 76% 8%,rgba(31,100,168,.22),transparent 31%),
 radial-gradient(circle at 18% 82%,rgba(143,29,33,.15),transparent 30%),
 linear-gradient(180deg,#091522,#02060a 68%)}
.ambient:after{content:"";position:absolute;inset:0;opacity:.17;background-image:linear-gradient(rgba(255,255,255,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.018) 1px,transparent 1px);background-size:54px 54px}
.ambient i{position:absolute;width:55vw;height:1px;background:linear-gradient(90deg,transparent,rgba(58,137,215,.22),rgba(143,29,33,.12),transparent);transform:rotate(-16deg)}
.ambient i:nth-child(1){top:18%;left:38%}.ambient i:nth-child(2){top:48%;left:18%;opacity:.42}.ambient i:nth-child(3){top:72%;left:50%;opacity:.2}
.topbar{position:fixed;top:0;left:0;right:0;height:64px;z-index:70;display:flex;align-items:center;justify-content:space-between;padding:0 20px;border-bottom:1px solid var(--line);background:rgba(2,6,10,.9);backdrop-filter:blur(18px)}
.brandLockup{display:flex;flex-direction:column;align-items:flex-start;background:none;padding:0}
.rival{font-size:12px;font-weight:1000;color:var(--gold);letter-spacing:.19em;line-height:1}
.prime{font-size:17px;font-weight:950;letter-spacing:-.03em;line-height:1.1;margin-top:3px}
.topStatus{display:flex;align-items:center;gap:8px}
.topStatus>div,.profilePill{min-height:39px;padding:7px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.035);display:flex;flex-direction:column;justify-content:center}
.topStatus span{font-size:7px;color:var(--muted);font-weight:900;letter-spacing:.12em}.topStatus b{font-size:12px}
.profilePill{flex-direction:row;align-items:center;gap:8px}.profilePill span{display:grid;place-items:center;width:24px;height:24px;border-radius:50%;background:linear-gradient(135deg,var(--rival-blue-bright),var(--rival-blue-dark));color:#fff;font-size:8px}.profilePill b{font-size:9px}
.sideNav{position:fixed;left:0;top:64px;bottom:0;width:210px;padding:18px 12px;z-index:60;border-right:1px solid var(--line);background:rgba(3,7,11,.82);backdrop-filter:blur(16px);display:flex;flex-direction:column;gap:5px}
.navItem{width:100%;height:46px;background:transparent;border-radius:10px;display:flex;align-items:center;gap:11px;padding:0 10px;color:#a5afa9;font-size:12px;font-weight:800;text-align:left}
.navGlyph{width:27px;height:27px;display:grid;place-items:center;border-radius:8px;border:1px solid var(--line);font-size:8px;color:#a6afa9;background:rgba(255,255,255,.025)}
.navItem:hover{background:rgba(255,255,255,.045);color:#fff}
.navItem.active{color:#fff;background:linear-gradient(90deg,rgba(143,29,33,.28),rgba(31,100,168,.08));box-shadow:inset 3px 0 var(--rival-red)}
.navItem.active .navGlyph{border-color:rgba(58,137,215,.62);color:var(--rival-blue-bright)}
.navSpacer{flex:1}.navItem.muted{opacity:.72}.bottomNav{display:none}
.screen{max-width:1440px;margin:0 auto;animation:screenIn .32s ease}
@keyframes screenIn{from{opacity:0;transform:translateY(7px)}}
.eyebrow,.tileKicker{display:block;color:var(--rival-blue-bright);font-size:9px;font-weight:950;letter-spacing:.16em}
.pageHead{padding:25px 2px 20px}.pageHead h1{margin:5px 0 4px;font-size:clamp(38px,6vw,78px);letter-spacing:-.055em;line-height:.9}.pageHead p{max-width:720px;color:var(--muted);font-size:13px;line-height:1.55}
.splitHead{display:flex;justify-content:space-between;align-items:flex-end;gap:20px}
.heroPanel{min-height:430px;border:1px solid var(--line);border-radius:24px;overflow:hidden;display:grid;grid-template-columns:1.25fr .75fr;align-items:center;padding:42px 48px;position:relative;background:
 radial-gradient(circle at 82% 26%,rgba(31,100,168,.24),transparent 25%),
 radial-gradient(circle at 18% 90%,rgba(143,29,33,.14),transparent 24%),
 linear-gradient(135deg,rgba(11,23,36,.97),rgba(2,6,10,.98));box-shadow:var(--shadow)}
.heroPanel:before{content:"";position:absolute;left:-5%;right:-5%;bottom:16%;height:1px;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:rotate(-5deg)}
.heroCopy{position:relative;z-index:2}.heroCopy h1{font-size:clamp(42px,6vw,86px);line-height:.88;letter-spacing:-.065em;margin:9px 0 18px;max-width:800px}.heroCopy h1 em{font-style:normal;color:var(--rival-red)}.heroCopy p{max-width:650px;color:#a4aea8;font-size:14px;line-height:1.6}
.heroActions{display:flex;gap:10px;margin-top:25px;flex-wrap:wrap}
.primaryBtn,.ghostBtn{min-height:45px;padding:0 18px;border-radius:10px;font-weight:950;font-size:10px;letter-spacing:.09em;display:inline-flex;align-items:center;justify-content:center}
.primaryBtn{background:linear-gradient(180deg,var(--rival-blue-bright),var(--rival-blue));color:#fff;box-shadow:0 9px 24px rgba(0,0,0,.25)}
.primaryBtn:active{transform:translateY(1px)}.ghostBtn{background:rgba(255,255,255,.035);border:1px solid var(--line2)}
.anchorBtn{width:max-content}.fullBtn{width:100%}
.heroCardWrap{display:flex;justify-content:center;align-items:center;perspective:1000px;position:relative;z-index:3}
.playerCard{position:relative;width:190px;aspect-ratio:.72;border-radius:19px;padding:13px;overflow:hidden;text-align:left;background:
 radial-gradient(circle at 75% 16%,rgba(255,255,255,.20),transparent 20%),
 linear-gradient(145deg,#d7b251 0%,#8f6a24 38%,#1d1f18 39%,#0f120f 100%);border:1px solid rgba(255,235,181,.45);box-shadow:0 25px 50px rgba(0,0,0,.36),inset 0 1px rgba(255,255,255,.4);transition:transform .18s ease}
.playerCard:hover{transform:translateY(-5px) rotateX(2deg)}.heroPlayerCard{width:min(260px,24vw);min-width:210px;animation:floatCard 5s ease-in-out infinite}@keyframes floatCard{50%{transform:translateY(-8px) rotate(1deg)}}
.cardSheen{position:absolute;inset:-30%;background:linear-gradient(115deg,transparent 35%,rgba(255,255,255,.18) 48%,transparent 59%);transform:translateX(-70%);animation:sheen 4.8s ease-in-out infinite}@keyframes sheen{55%,100%{transform:translateX(85%)}}
.cardTop{position:relative;display:flex;flex-direction:column;z-index:2}.cardTop b{font-size:32px;line-height:.9}.cardTop span{font-size:9px;font-weight:950;letter-spacing:.12em}
.cardAvatar{position:absolute;right:-9px;top:46px;width:125px;height:125px;border-radius:50%;display:grid;place-items:center;font-size:50px;font-weight:1000;color:rgba(255,255,255,.92);background:radial-gradient(circle,rgba(255,255,255,.16),rgba(255,255,255,.02) 68%,transparent 69%);border:1px solid rgba(255,255,255,.1)}
.cardTeam{position:absolute;left:13px;top:77px;font-size:9px;font-weight:950;letter-spacing:.15em;color:#e6dfc6}
.cardName{position:absolute;left:13px;right:13px;bottom:34px;display:flex;flex-direction:column}.cardName strong{font-size:10px;letter-spacing:.12em}.cardName b{font-size:23px;line-height:.95;text-transform:uppercase;letter-spacing:-.05em}
.cardMeta{position:absolute;left:13px;right:13px;bottom:13px;font-size:7px;font-weight:900;color:#d9d0af;letter-spacing:.08em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.dashboardGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:15px 0}
.modeTile{min-height:185px;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(150deg,rgba(255,255,255,.05),rgba(255,255,255,.018));display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.modeTile:after{content:"";position:absolute;width:140px;height:140px;border-radius:50%;right:-65px;top:-50px;background:radial-gradient(circle,rgba(58,137,215,.13),transparent 70%)}
.modeTile h2{margin:5px 0 7px;font-size:27px;letter-spacing:-.04em}.modeTile p{margin:0;color:var(--muted);font-size:11px;line-height:1.45;max-width:340px}.tileArrow,.textBtn{background:none;color:var(--gold);font-size:9px;font-weight:950;letter-spacing:.09em;width:max-content;padding:0}
.sectionBlock{margin-top:28px}.sectionTitle{display:flex;justify-content:space-between;align-items:end;margin-bottom:12px}.sectionTitle span{font-size:8px;color:var(--muted);font-weight:900;letter-spacing:.14em}.sectionTitle h2{margin:3px 0 0;font-size:22px}
.spotlightRow{display:grid;grid-template-columns:repeat(4,1fr);gap:9px}
.miniPlayer{min-height:80px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.035);display:grid;grid-template-columns:auto auto 1fr;gap:10px;align-items:center;padding:10px;text-align:left}
.miniOvr{font-size:23px;color:var(--gold)}.miniAvatar{width:43px;height:43px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.06);font-size:12px;font-weight:950}.miniPlayer div{min-width:0}.miniPlayer strong,.miniPlayer small{display:block}.miniPlayer strong{font-size:11px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.miniPlayer small{font-size:8px;color:var(--muted);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.matchupStage{display:grid;grid-template-columns:1fr 150px 1fr;gap:12px;align-items:stretch}
.teamPanel{min-height:300px;border-radius:20px;border:1px solid var(--line);padding:28px;display:flex;align-items:flex-end;gap:20px;overflow:hidden;position:relative;background:linear-gradient(145deg,rgba(255,255,255,.07),rgba(255,255,255,.02))}
.teamPanel.det{background:radial-gradient(circle at 20% 20%,rgba(82,168,225,.28),transparent 36%),linear-gradient(145deg,#172631,#101412)}
.teamPanel.gb{background:radial-gradient(circle at 80% 20%,rgba(245,201,72,.19),transparent 34%),linear-gradient(145deg,#10271c,#101411)}
.teamAbbr{font-size:clamp(70px,10vw,160px);font-weight:1000;letter-spacing:-.08em;position:absolute;right:18px;top:5px;opacity:.11}.teamPanel small{font-size:8px;color:var(--gold);font-weight:950;letter-spacing:.14em}.teamPanel h2{font-size:34px;margin:3px 0}.teamPanel p{font-size:10px;color:var(--muted);margin:0}
.versus{display:grid;place-items:center;align-content:center;text-align:center}.versus span,.versus small{font-size:7px;letter-spacing:.16em;color:var(--muted);font-weight:900}.versus b{font-size:36px;margin:6px 0;color:var(--gold)}
.launchBar{margin-top:12px;border:1px solid var(--line);border-radius:15px;padding:15px 18px;display:flex;justify-content:space-between;align-items:center;background:rgba(255,255,255,.03)}.launchBar span{font-size:9px;color:var(--gold);font-weight:950;letter-spacing:.12em}.launchBar p{margin:3px 0 0;font-size:10px;color:var(--muted)}
.infoStrip{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:12px}.infoStrip div{padding:18px;border:1px solid var(--line);border-radius:13px}.infoStrip b,.infoStrip span{display:block}.infoStrip b{font-size:9px;letter-spacing:.1em}.infoStrip span{margin-top:6px;color:var(--muted);font-size:10px;line-height:1.45}
.franchiseHero{min-height:240px;border:1px solid var(--line);border-radius:20px;background:radial-gradient(circle at 78% 50%,rgba(31,100,168,.22),transparent 27%),radial-gradient(circle at 15% 78%,rgba(143,29,33,.12),transparent 24%),linear-gradient(135deg,#0b1724,#02060a);padding:28px;display:flex;align-items:center;justify-content:space-between}.saveBadge{font-size:8px;color:var(--gold);font-weight:900;letter-spacing:.14em}.franchiseHero h2{font-size:42px;margin:6px 0 3px;letter-spacing:-.05em}.franchiseHero p{color:var(--muted);font-size:12px}.disabledBtn{opacity:.62;cursor:default}.yearMark{font-size:74px;font-weight:1000;letter-spacing:-.08em;color:#e8eef3;display:flex;flex-direction:column;align-items:flex-end}.yearMark span{font-size:9px;letter-spacing:.18em;color:var(--muted);margin-right:4px}
.featureGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-top:12px}.featureCard{padding:20px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.028)}.featureCard>span{font-size:9px;color:var(--gold);font-weight:950}.featureCard h3{margin:16px 0 6px;font-size:14px}.featureCard p{margin:0;color:var(--muted);font-size:10px;line-height:1.5}
.pipeline{margin-top:12px;padding:22px;border:1px solid rgba(58,137,215,.24);border-radius:16px;background:rgba(31,100,168,.055)}.pipelineRow{display:flex;align-items:center;gap:13px;margin:14px 0;flex-wrap:wrap}.pipelineRow b{font-size:10px;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.035)}.pipelineRow i{color:var(--gold);font-style:normal}.pipeline p{color:var(--muted);font-size:10px;line-height:1.5}
.teamOverall,.collectionStat{width:112px;height:86px;border:1px solid var(--line);border-radius:15px;display:flex;flex-direction:column;align-items:center;justify-content:center;background:rgba(255,255,255,.035)}.teamOverall span,.collectionStat span{font-size:8px;color:var(--muted);font-weight:900;letter-spacing:.1em}.teamOverall b,.collectionStat b{font-size:38px;color:var(--gold);line-height:1}
.utDashboard{display:grid;grid-template-columns:1fr 280px;gap:12px}.utMain,.packPanel{border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.028);padding:18px}.utHeader{display:flex;justify-content:space-between;align-items:center;font-size:9px;font-weight:950;letter-spacing:.1em}.lineupStrip{display:grid;grid-template-columns:repeat(5,1fr);gap:8px;margin-top:15px}.lineupCard{min-height:160px;border:1px solid var(--line);border-radius:13px;background:linear-gradient(150deg,#27271d,#121512);padding:9px;display:flex;flex-direction:column;align-items:center;justify-content:center;position:relative}.lineupCard small{position:absolute;top:8px;left:8px;color:var(--muted);font-size:7px}.lineupCard b{position:absolute;top:8px;right:8px;color:var(--gold)}.lineupCard>span{width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.07);font-size:18px;font-weight:1000}.lineupCard strong{margin-top:8px;font-size:10px;text-transform:uppercase}.chemBar{display:flex;gap:8px;align-items:center;margin-top:14px;color:var(--muted);font-size:7px;font-weight:900;letter-spacing:.08em}.chemBar i{height:1px;flex:1;background:var(--line)}
.packPanel{text-align:center}.packTop{font-size:8px;color:var(--gold);font-weight:950;letter-spacing:.13em}.packArt{height:160px;margin:12px 0;display:flex;flex-direction:column;align-items:center;justify-content:center;border-radius:14px;border:1px solid rgba(58,137,215,.34);background:linear-gradient(145deg,#1f64a8,#0b1724 48%,#050a10 72%,#521317);box-shadow:inset 0 0 40px rgba(255,255,255,.05)}.packArt b{font-size:13px;letter-spacing:.14em}.packArt strong{font-size:34px;line-height:.9}.packArt small{font-size:7px;margin-top:10px;letter-spacing:.12em}.packPanel p{font-size:8px;color:var(--muted)}
.utModeGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px}.modeChip{min-height:90px;border:1px solid var(--line);border-radius:12px;padding:14px;background:rgba(255,255,255,.025)}.modeChip b,.modeChip span{display:block}.modeChip b{font-size:10px}.modeChip span{font-size:9px;color:var(--muted);margin-top:8px;line-height:1.4}
.dbTools{display:grid;grid-template-columns:1fr 190px 170px 90px;gap:8px;margin-bottom:10px}.searchBox,select,.dbCount{height:46px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.035)}.searchBox{display:flex;align-items:center;padding:0 12px;gap:8px}.searchBox span{color:var(--gold);font-size:18px}.searchBox input{flex:1;background:none;border:0;outline:0;color:#fff;font-size:11px}.searchBox input::placeholder{color:#717a74}.dbTools select{padding:0 11px;color:#dfe4e0;outline:0;font-size:10px}.dbCount{display:flex;align-items:center;justify-content:center;gap:5px}.dbCount b{font-size:19px;color:var(--gold)}.dbCount span{font-size:7px;color:var(--muted)}
.databaseTable{border:1px solid var(--line);border-radius:14px;overflow:hidden}.dbHeader,.dbRow{display:grid;grid-template-columns:70px 1.6fr 70px 90px 1fr 100px 25px;gap:8px;align-items:center;padding:0 14px}.dbHeader{height:37px;background:rgba(255,255,255,.05);color:var(--muted);font-size:7px;font-weight:900;letter-spacing:.1em}.dbRow{width:100%;min-height:68px;border-top:1px solid var(--line);background:rgba(255,255,255,.018);text-align:left}.dbRow:hover{background:rgba(255,255,255,.045)}.dbRow>span,.dbRow>b{font-size:10px}.rowOvr{font-size:21px!important;color:var(--gold)}.rowPlayer{display:grid;grid-template-columns:40px 1fr;column-gap:9px;align-items:center}.rowPlayer i{grid-row:1/3;width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.06);font-style:normal;font-size:9px;font-weight:950}.rowPlayer strong{font-size:11px}.rowPlayer small{font-size:7px;color:var(--muted)}.prototypeNote{margin-top:9px;padding:10px 13px;border:1px solid rgba(58,137,215,.2);border-radius:10px;background:rgba(31,100,168,.045);font-size:8px}.prototypeNote b{color:var(--gold);margin-right:8px}.prototypeNote span{color:var(--muted)}
.collectionGrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(165px,1fr));gap:14px}.collectionGrid .playerCard{width:100%}
.settingsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.settingsGrid article{padding:22px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.028)}.settingsGrid span{font-size:8px;color:var(--gold);font-weight:950;letter-spacing:.12em}.settingsGrid h3{font-size:18px;margin:9px 0 5px}.settingsGrid p{font-size:10px;color:var(--muted);line-height:1.5}
.buildTag{position:fixed;right:9px;bottom:7px;z-index:80;color:rgba(255,255,255,.34);font-size:6px;font-weight:900;letter-spacing:.1em}
.modalBackdrop,.packBackdrop{position:fixed;inset:0;z-index:200;background:rgba(0,0,0,.78);backdrop-filter:blur(13px);display:grid;place-items:center;padding:20px}
.playerModal{width:min(900px,94vw);max-height:88vh;overflow:auto;display:grid;grid-template-columns:300px 1fr;gap:26px;padding:28px;border:1px solid var(--line2);border-radius:22px;background:linear-gradient(145deg,#161d18,#090c0a);box-shadow:0 40px 100px rgba(0,0,0,.65);position:relative}.modalClose{position:absolute;right:14px;top:12px;width:34px;height:34px;border-radius:50%;background:rgba(255,255,255,.06);font-size:20px}.modalCardSide{display:grid;place-items:center}.modalCardSide .playerCard{width:240px}.modalInfo h2{font-size:38px;margin:5px 0 2px;letter-spacing:-.05em}.modalInfo>p{font-size:11px;color:var(--muted)}.bioGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:17px 0}.bioGrid>div{padding:10px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.025)}.bioGrid span,.bioGrid b{display:block}.bioGrid span{font-size:7px;color:var(--muted);letter-spacing:.08em}.bioGrid b{font-size:11px;margin-top:4px}.tinyId{font-size:7px!important;overflow-wrap:anywhere;color:#c9d0cb}.modalInfo h3{font-size:10px;letter-spacing:.12em}.ratingGrid{display:grid;grid-template-columns:1fr 1fr;gap:7px 12px}.ratingLine{display:grid;grid-template-columns:90px 28px 1fr;align-items:center;gap:6px}.ratingLine span{font-size:7px;color:var(--muted)}.ratingLine b{font-size:9px}.ratingLine i{height:4px;border-radius:9px;background:rgba(255,255,255,.06);overflow:hidden}.ratingLine em{display:block;height:100%;background:linear-gradient(90deg,var(--rival-blue-dark),var(--rival-blue-bright));border-radius:inherit}
.packBackdrop{opacity:0;transition:opacity .3s}.packBackdrop.show{opacity:1}.packSequence{text-align:center;position:relative}.packBurst{position:absolute;left:50%;top:45%;width:380px;height:380px;transform:translate(-50%,-50%);background:radial-gradient(circle,rgba(58,137,215,.30),rgba(143,29,33,.12) 38%,transparent 64%);filter:blur(5px);animation:burst 1.2s ease-out both}@keyframes burst{from{transform:translate(-50%,-50%) scale(.2);opacity:0}to{transform:translate(-50%,-50%) scale(1.3);opacity:1}}.revealKicker{display:block;position:relative;color:var(--gold);font-size:10px;font-weight:950;letter-spacing:.16em;margin-bottom:12px}.revealCard{position:relative;display:grid;place-items:center;perspective:1000px}.revealCard .playerCard{width:240px;animation:cardReveal 1s cubic-bezier(.2,.8,.2,1) both}@keyframes cardReveal{from{opacity:0;transform:scale(.4) rotateY(160deg)}to{opacity:1;transform:scale(1) rotateY(0)}}.packSequence h2{position:relative;margin:17px 0 3px;font-size:27px}.packSequence p{position:relative;color:var(--muted);font-size:10px}.packSequence .primaryBtn{position:relative}
@media(max-width:1050px){
  #app{padding-left:190px}.sideNav{width:168px}.navItem{font-size:10px}.heroPanel{padding:34px}.dashboardGrid{grid-template-columns:1fr 1fr}.dashboardGrid .playTile{grid-column:1/-1}.spotlightRow{grid-template-columns:1fr 1fr}.featureGrid{grid-template-columns:1fr 1fr}.lineupStrip{grid-template-columns:repeat(3,1fr)}.utDashboard{grid-template-columns:1fr}.packPanel{display:grid;grid-template-columns:1fr 180px;gap:12px;text-align:left}.packPanel .packArt{grid-row:1/4;grid-column:2}.dbTools{grid-template-columns:1fr 150px 140px 80px}.dbHeader,.dbRow{grid-template-columns:55px 1.6fr 50px 60px 1fr 85px 15px}
}
@media(max-width:760px){
  #app{padding:70px 12px 84px}.sideNav{display:none}.bottomNav{position:fixed;left:8px;right:8px;bottom:max(8px,env(safe-area-inset-bottom));height:62px;z-index:90;border:1px solid var(--line2);border-radius:16px;background:rgba(7,10,8,.92);backdrop-filter:blur(18px);display:grid;grid-template-columns:repeat(5,1fr);padding:5px}.bottomNav .navItem{height:50px;padding:0;justify-content:center;flex-direction:column;gap:2px;font-size:7px}.bottomNav .navGlyph{width:23px;height:23px}.topStatus>div{display:none}.topbar{padding:0 12px}.brandLockup .prime{font-size:14px}.brandLockup .rival{font-size:9px}.heroPanel{grid-template-columns:1fr;padding:28px 21px;min-height:560px}.heroCardWrap{position:absolute;right:-13px;bottom:15px;opacity:.72}.heroPlayerCard{width:190px;min-width:190px}.heroCopy h1{font-size:48px;max-width:92%}.heroCopy p{max-width:68%;font-size:11px}.dashboardGrid{grid-template-columns:1fr}.dashboardGrid .playTile{grid-column:auto}.spotlightRow{grid-template-columns:1fr}.pageHead h1{font-size:48px}.matchupStage{grid-template-columns:1fr;}.versus{min-height:70px}.teamPanel{min-height:180px}.launchBar{align-items:flex-start;flex-direction:column;gap:12px}.infoStrip{grid-template-columns:1fr}.featureGrid{grid-template-columns:1fr}.yearMark{display:none}.pipelineRow{gap:7px}.utDashboard{grid-template-columns:1fr}.packPanel{display:block;text-align:center}.packPanel .packArt{height:150px}.lineupStrip{grid-template-columns:repeat(2,1fr)}.utModeGrid{grid-template-columns:1fr 1fr}.splitHead{align-items:flex-start}.teamOverall,.collectionStat{width:90px}.dbTools{grid-template-columns:1fr 1fr}.searchBox{grid-column:1/-1}.dbCount{display:none}.databaseTable{overflow:auto}.dbHeader,.dbRow{min-width:720px}.settingsGrid{grid-template-columns:1fr}.playerModal{grid-template-columns:1fr;padding:22px}.modalCardSide .playerCard{width:190px}.bioGrid{grid-template-columns:1fr 1fr}.ratingGrid{grid-template-columns:1fr}.modalInfo h2{font-size:30px}
}
@media(max-width:480px){
  .heroCopy h1{font-size:41px}.heroCopy p{max-width:74%}.heroActions{flex-direction:column;align-items:flex-start}.heroCardWrap{right:-34px;bottom:20px}.utModeGrid{grid-template-columns:1fr}.collectionGrid{grid-template-columns:repeat(2,1fr);gap:8px}.collectionGrid .playerCard{border-radius:14px}.pageHead p{font-size:11px}.buildTag{display:none}
}
/* Rivalside Sports identity pass */
.brandLockup .rival{color:var(--rival-red)}
.brandLockup .prime{color:var(--text)}
.heroPanel{border-color:rgba(58,137,215,.18)}
.heroPanel:after{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;background:linear-gradient(180deg,var(--rival-blue-bright),var(--rival-red))}
.modeTile{border-color:rgba(154,184,211,.13)}
.modeTile:hover{border-color:rgba(58,137,215,.28)}
.modeTile.ultimateTile{box-shadow:inset 0 -2px rgba(143,29,33,.35)}
.modeTile.franchiseTile{box-shadow:inset 0 -2px rgba(31,100,168,.42)}
.modeTile.playTile{box-shadow:inset 0 -2px rgba(244,247,250,.12)}
.tileArrow,.textBtn{color:var(--rival-blue-bright)}
.rowOvr,.miniOvr,.teamOverall b,.collectionStat b{color:var(--rival-blue-bright)}
.packTop,.saveBadge,.featureCard>span,.settingsGrid span{color:var(--rival-blue-bright)}
.packArt strong{color:#fff}
.versus b{color:var(--rival-red)}
.dbRow:hover{box-shadow:inset 3px 0 var(--rival-blue-bright)}
.prototypeNote b{color:var(--rival-blue-bright)}
.playerCard .cardTop b{color:#fff}
.revealKicker{color:var(--rival-blue-bright)}

/* Front Office M2 card programs */
.cardProgram{position:absolute;right:12px;top:12px;z-index:3;font-size:6px;font-weight:1000;letter-spacing:.14em;color:#dce8f2;padding:4px 6px;border-radius:999px;background:rgba(2,6,10,.48);border:1px solid rgba(255,255,255,.12)}
.playerCard.program-core{background:
 radial-gradient(circle at 74% 16%,rgba(58,137,215,.22),transparent 21%),
 linear-gradient(145deg,#1b2d3d 0%,#123c67 34%,#0b1724 35%,#050a10 100%);border-color:rgba(58,137,215,.35)}
.playerCard.program-core.rarity-elite{background:
 radial-gradient(circle at 70% 12%,rgba(255,255,255,.25),transparent 18%),
 linear-gradient(145deg,#396d9d 0%,#1f64a8 34%,#112335 35%,#050a10 100%);border-color:rgba(154,184,211,.52)}
.playerCard.program-primetime{background:
 radial-gradient(circle at 72% 16%,rgba(255,255,255,.22),transparent 19%),
 linear-gradient(145deg,#8f1d21 0%,#521317 31%,#153b61 54%,#050a10 100%);border-color:rgba(143,29,33,.68);box-shadow:0 25px 50px rgba(0,0,0,.44),0 0 28px rgba(143,29,33,.14),inset 0 1px rgba(255,255,255,.35)}
.playerCard.program-primetime .cardProgram{background:rgba(143,29,33,.72);border-color:rgba(255,255,255,.2)}
.playerCard.program-primetime .cardMeta{color:#dce8f2}
.programLegend{display:flex;gap:8px;align-items:center;margin:-8px 0 14px;flex-wrap:wrap}
.programLegend span{display:flex;align-items:center;gap:6px;padding:7px 9px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025);font-size:7px;font-weight:950;letter-spacing:.1em;color:var(--muted)}
.programLegend .dot{width:7px;height:7px;border-radius:50%}.programLegend .dot.core{background:#1f64a8}.programLegend .dot.elite{background:#9ab8d3}.programLegend .dot.primetime{background:#8f1d21}

/* Front Office M3 — deeper profiles, lineup builder, card details */
.utTabs{display:flex;gap:6px;margin:-4px 0 14px;padding:5px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025);overflow:auto}
.utTabBtn{flex:0 0 auto;min-height:36px;padding:0 14px;border-radius:9px;background:transparent;color:var(--muted);font-size:8px;font-weight:950;letter-spacing:.1em}
.utTabBtn.active{color:#fff;background:linear-gradient(135deg,rgba(31,100,168,.38),rgba(143,29,33,.25));box-shadow:inset 0 0 0 1px rgba(58,137,215,.22)}
.lineupBuilder{display:grid;gap:12px}
.lineupSection{padding:16px;border:1px solid var(--line);border-radius:17px;background:rgba(255,255,255,.025)}
.lineupSectionHead{display:flex;align-items:end;justify-content:space-between;margin-bottom:13px}
.lineupSectionHead div{display:flex;align-items:baseline;gap:10px}.lineupSectionHead span{font-size:9px;font-weight:1000;letter-spacing:.13em;color:var(--rival-blue-bright)}.lineupSectionHead b{font-size:20px}.lineupSectionHead small{font-size:8px;color:var(--muted)}
.lineupBuilderGrid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.lineupBuilderGrid.defense{grid-template-columns:repeat(3,minmax(0,1fr))}
.builderSlot{min-height:190px;border:1px solid var(--line);border-radius:14px;padding:11px;position:relative;background:linear-gradient(150deg,#13263a,#080e15);display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;overflow:hidden}
.builderSlot.program-primetime{background:linear-gradient(150deg,#521317,#112d4d 62%,#050a10);border-color:rgba(143,29,33,.5)}
.builderSlot:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 70% 12%,rgba(255,255,255,.08),transparent 28%);pointer-events:none}
.slotLabel{position:absolute;left:9px;top:9px;font-size:7px;color:var(--muted);font-weight:1000;letter-spacing:.12em}.slotOvr{position:absolute;right:9px;top:7px;font-size:20px;color:var(--rival-blue-bright)}.builderSlot.program-primetime .slotOvr{color:#fff}
.slotAvatar{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;margin-bottom:10px;background:rgba(255,255,255,.06);font-size:23px;font-weight:1000;border:1px solid rgba(255,255,255,.08)}
.builderSlot strong{font-size:13px;text-transform:uppercase}.builderSlot small{margin-top:4px;font-size:7px;color:var(--muted)}.builderSlot em{position:absolute;bottom:9px;font-style:normal;font-size:6px;font-weight:950;letter-spacing:.13em;color:var(--rival-blue-bright)}
.builderSlot.empty{border-style:dashed;color:var(--muted);background:rgba(255,255,255,.018)}.builderSlot.empty b{font-size:16px}.builderSlot.empty small{color:var(--rival-blue-bright)}
.lineupSaveNote{display:flex;gap:9px;align-items:center;padding:11px 13px;border:1px solid rgba(58,137,215,.17);border-radius:11px;background:rgba(31,100,168,.04);font-size:8px}.lineupSaveNote b{color:var(--rival-blue-bright);letter-spacing:.09em}.lineupSaveNote span{color:var(--muted)}
.selectorModal{width:min(760px,94vw);max-height:86vh;overflow:auto;padding:24px;border:1px solid var(--line2);border-radius:20px;background:linear-gradient(145deg,#0b1724,#050a10);position:relative;box-shadow:var(--shadow)}
.selectorModal h2{font-size:38px;margin:4px 0}.selectorModal>p{color:var(--muted);font-size:10px}
.selectorGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-top:16px}
.selectorItem{min-height:67px;padding:9px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.03);display:grid;grid-template-columns:45px 42px 1fr;align-items:center;gap:9px;text-align:left}
.selectorItem:hover{background:rgba(31,100,168,.12);border-color:rgba(58,137,215,.3)}.selectorItem>b{font-size:22px;color:var(--rival-blue-bright)}.selectorItem>span{width:40px;height:40px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.06);font-size:9px;font-weight:1000}.selectorItem strong,.selectorItem small{display:block}.selectorItem strong{font-size:10px}.selectorItem small{margin-top:3px;color:var(--muted);font-size:7px}
.lineupCard em{margin-top:4px;font-style:normal;font-size:6px;color:var(--rival-blue-bright);font-weight:950;letter-spacing:.1em}
.packStoreGrid{display:grid;grid-template-columns:1fr 360px;gap:12px}.packStoreHero,.revealGuide{padding:22px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025)}.packStoreHero h2{font-size:30px;margin:12px 0 6px}.packStoreHero p{max-width:580px;color:var(--muted);font-size:10px;line-height:1.5}.packArt.large{height:220px;max-width:420px}
.revealGuide h3{font-size:25px;margin:7px 0 18px}.tierGuide{display:grid;gap:8px}.tierGuide>div{display:grid;grid-template-columns:16px 80px 1fr;gap:8px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:10px}.tierGuide i{width:11px;height:11px;border-radius:50%}.tierGuide i.core{background:#1f64a8}.tierGuide i.elite{background:#9ab8d3;box-shadow:0 0 12px rgba(154,184,211,.4)}.tierGuide i.featured{background:#8f1d21;box-shadow:0 0 12px rgba(143,29,33,.5)}.tierGuide b{font-size:9px}.tierGuide span{font-size:8px;color:var(--muted)}
.programGrid{display:grid;gap:12px}.programPanel{padding:20px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.025);overflow:hidden}.programPanel.program-primetime{background:radial-gradient(circle at 85% 10%,rgba(143,29,33,.18),transparent 25%),linear-gradient(145deg,#0b1724,#050a10)}.programPanel h2{font-size:30px;margin:5px 0}.programPanel>p{font-size:10px;color:var(--muted)}.programPreview{display:grid;grid-template-columns:repeat(4,minmax(0,190px));gap:10px;margin-top:15px}.programPreview .playerCard{width:100%}
.setsGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.setsGrid article{padding:22px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025)}.setsGrid article>span{font-size:9px;color:var(--rival-blue-bright);font-weight:1000}.setsGrid h3{font-size:18px;margin:14px 0 7px}.setsGrid p{min-height:48px;color:var(--muted);font-size:9px;line-height:1.5}.collectionCount{color:var(--muted)!important;font-size:8px!important}
.playerProfileModal{display:block;width:min(980px,95vw);padding:0;overflow:hidden}.profileHero{min-height:210px;padding:26px 28px;display:flex;align-items:center;justify-content:space-between;background:radial-gradient(circle at 12% 20%,rgba(31,100,168,.24),transparent 32%),radial-gradient(circle at 85% 10%,rgba(143,29,33,.14),transparent 28%),linear-gradient(145deg,#0b1724,#050a10);border-bottom:1px solid var(--line)}
.profileIdentity{display:flex;align-items:center;gap:17px;position:relative}.profileNumber{position:absolute;left:73px;top:-8px;font-size:7px;font-weight:950;color:var(--rival-blue-bright);letter-spacing:.12em}.profileAvatar{width:92px;height:92px;border-radius:50%;display:grid;place-items:center;background:linear-gradient(145deg,#1f64a8,#123c67);border:1px solid rgba(154,184,211,.3);font-size:28px;font-weight:1000;box-shadow:0 12px 28px rgba(0,0,0,.28)}.profileIdentity h2{font-size:42px;margin:4px 0 2px;letter-spacing:-.05em}.profileIdentity p{margin:0;color:var(--muted);font-size:10px}.profileOvr{min-width:115px;height:95px;border:1px solid var(--line);border-radius:16px;display:grid;place-items:center;align-content:center;background:rgba(255,255,255,.04)}.profileOvr span{font-size:7px;color:var(--muted);font-weight:950;letter-spacing:.1em}.profileOvr b{font-size:47px;line-height:1;color:var(--rival-blue-bright)}
.profileBody{padding:22px 28px;display:grid;gap:22px}.profileBody section>h3,.profileSectionHead h3{font-size:10px;letter-spacing:.13em;margin:0 0 10px}.profileSectionHead{display:flex;justify-content:space-between;align-items:center}.profileSectionHead span{font-size:7px;color:var(--muted)}
.traitRow{display:flex;gap:7px;flex-wrap:wrap}.traitRow span{padding:7px 10px;border:1px solid rgba(58,137,215,.22);border-radius:999px;background:rgba(31,100,168,.06);font-size:7px;font-weight:900;color:#cfe2f2}
.ratingGroupGrid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.ratingGroup{padding:13px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02)}.ratingGroup h4{margin:0 0 9px;color:var(--rival-blue-bright);font-size:8px;letter-spacing:.12em}.profileCards{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px}.profileCards .playerCard{width:100%}
.identityPanel{padding:14px;border:1px dashed rgba(154,184,211,.22);border-radius:11px;background:rgba(255,255,255,.015)}.identityPanel span,.identityPanel b{display:block}.identityPanel span{font-size:7px;color:var(--muted);letter-spacing:.11em}.identityPanel b{margin-top:5px;font-size:9px;overflow-wrap:anywhere;color:#dce8f2}.identityPanel p{margin:7px 0 0;color:var(--muted);font-size:8px;line-height:1.45}
.cardDetailModal{width:min(900px,94vw);max-height:88vh;overflow:auto;display:grid;grid-template-columns:300px 1fr;gap:26px;padding:28px;border:1px solid var(--line2);border-radius:22px;background:linear-gradient(145deg,#0b1724,#050a10);box-shadow:0 40px 100px rgba(0,0,0,.65);position:relative}.cardDetailArt{display:grid;place-items:center}.cardDetailArt .playerCard{width:250px}.cardBackPanel h2{font-size:38px;margin:5px 0 4px;letter-spacing:-.05em}.cardBackPanel>p{color:var(--muted);font-size:10px;line-height:1.5}.cardBackPanel h3{font-size:9px;letter-spacing:.12em;margin:17px 0 8px}
.cardStatStrip{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin:14px 0}.cardStatStrip div{padding:10px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.025)}.cardStatStrip span,.cardStatStrip b{display:block}.cardStatStrip span{font-size:6px;color:var(--muted)}.cardStatStrip b{font-size:13px;margin-top:3px}
.boostList{display:flex;gap:6px;flex-wrap:wrap}.boostList span{padding:7px 9px;border:1px solid rgba(58,137,215,.22);border-radius:8px;background:rgba(31,100,168,.06);font-size:7px;color:var(--muted)}.boostList b{margin-right:5px;color:var(--rival-blue-bright)}
.cardDataRows{display:grid;grid-template-columns:1fr 1fr;gap:1px;margin:15px 0;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:var(--line)}.cardDataRows div{padding:9px;background:#091018;min-width:0}.cardDataRows span,.cardDataRows b{display:block}.cardDataRows span{font-size:6px;color:var(--muted)}.cardDataRows b{margin-top:4px;font-size:8px;overflow-wrap:anywhere}
.revealStage{position:relative;min-width:290px;min-height:340px;display:grid;place-items:center}.revealStep{position:absolute;top:4px;z-index:3;color:var(--rival-blue-bright);font-size:9px;font-weight:1000;letter-spacing:.17em;animation:revealLabel .8s ease both}.revealLines{position:absolute;inset:10%;background:repeating-linear-gradient(120deg,transparent 0 16px,rgba(58,137,215,.09) 16px 17px);clip-path:polygon(0 15%,100% 0,83% 100%,8% 82%);animation:lineSweep 1s ease both}
.tier-elite .revealLines{background:repeating-linear-gradient(120deg,transparent 0 13px,rgba(154,184,211,.16) 13px 14px)}.tier-featured .revealLines{background:repeating-linear-gradient(120deg,transparent 0 12px,rgba(143,29,33,.15) 12px 13px,transparent 13px 24px,rgba(58,137,215,.12) 24px 25px)}
.tier-core .packBurst{background:radial-gradient(circle,rgba(31,100,168,.34),transparent 62%)}.tier-elite .packBurst{background:radial-gradient(circle,rgba(154,184,211,.42),rgba(58,137,215,.14) 40%,transparent 66%)}.tier-featured .packBurst{background:radial-gradient(circle,rgba(143,29,33,.38),rgba(58,137,215,.23) 38%,transparent 67%)}
.tier-featured .revealCard{filter:drop-shadow(0 0 28px rgba(143,29,33,.28))}.tier-elite .revealCard{filter:drop-shadow(0 0 24px rgba(154,184,211,.26))}
.revealBoost{position:relative;margin:8px 0 13px;color:var(--rival-blue-bright);font-size:7px;font-weight:950;letter-spacing:.08em}
@keyframes lineSweep{from{opacity:0;transform:scale(.75) rotate(-3deg)}to{opacity:1;transform:scale(1) rotate(0)}}@keyframes revealLabel{from{opacity:0;letter-spacing:.35em}to{opacity:1;letter-spacing:.17em}}
@media(max-width:1050px){.lineupBuilderGrid{grid-template-columns:repeat(3,1fr)}.programPreview{grid-template-columns:repeat(3,minmax(0,1fr))}.packStoreGrid{grid-template-columns:1fr}.setsGrid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.utTabs{margin-top:0}.lineupBuilderGrid,.lineupBuilderGrid.defense{grid-template-columns:repeat(2,1fr)}.builderSlot{min-height:165px}.selectorGrid{grid-template-columns:1fr}.programPreview{grid-template-columns:repeat(2,1fr)}.setsGrid{grid-template-columns:1fr}.profileHero{padding:24px 18px;align-items:flex-start}.profileIdentity{align-items:flex-start}.profileAvatar{width:70px;height:70px}.profileIdentity h2{font-size:29px}.profileOvr{min-width:75px;height:75px}.profileOvr b{font-size:35px}.profileBody{padding:18px}.ratingGroupGrid{grid-template-columns:1fr}.cardDetailModal{grid-template-columns:1fr;padding:22px}.cardDetailArt .playerCard{width:200px}.cardStatStrip{grid-template-columns:1fr 1fr}.programPanel{padding:15px}}
@media(max-width:480px){.lineupBuilderGrid,.lineupBuilderGrid.defense{grid-template-columns:1fr 1fr}.builderSlot{min-height:150px}.lineupSectionHead small{display:none}.profileHero{display:grid;gap:15px}.profileOvr{position:absolute;right:17px;top:48px}.profileIdentity{padding-right:70px}.profileAvatar{width:58px;height:58px;font-size:18px}.profileNumber{left:50px}.cardDataRows{grid-template-columns:1fr}.revealStage{min-width:250px}.programPreview{grid-template-columns:1fr 1fr}}

/* Front Office M4 — League structure, roster studio, ratings model, class importer */
.rosterTabs{display:flex;gap:6px;margin:-4px 0 14px;padding:5px;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025);overflow:auto}
.rosterTabBtn{flex:0 0 auto;min-height:36px;padding:0 14px;border-radius:9px;background:transparent;color:var(--muted);font-size:8px;font-weight:950;letter-spacing:.09em}
.rosterTabBtn.active{color:#fff;background:linear-gradient(135deg,rgba(31,100,168,.38),rgba(143,29,33,.22));box-shadow:inset 0 0 0 1px rgba(58,137,215,.22)}
.leagueSummary,.ratingsSummary,.classFormat{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:12px}
.leagueSummary>div,.ratingsSummary>div,.classFormat>div{min-height:76px;padding:13px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.025);display:flex;flex-direction:column;justify-content:center}
.leagueSummary b,.ratingsSummary b{font-size:26px;color:var(--rival-blue-bright);line-height:1}.leagueSummary span,.ratingsSummary span,.classFormat span{margin-top:4px;font-size:7px;color:var(--muted);font-weight:950;letter-spacing:.1em}.classFormat b{margin-top:5px;font-size:9px;line-height:1.45}
.conferenceBlock{margin-top:12px;border:1px solid var(--line);border-radius:17px;overflow:hidden;background:rgba(255,255,255,.018)}
.conferenceTitle{min-height:52px;padding:0 17px;display:flex;align-items:center;gap:10px;background:linear-gradient(90deg,rgba(31,100,168,.16),rgba(143,29,33,.06));border-bottom:1px solid var(--line)}
.conferenceTitle span{width:35px;height:28px;border-radius:8px;display:grid;place-items:center;background:rgba(31,100,168,.22);color:var(--rival-blue-bright);font-size:8px;font-weight:1000}.conferenceTitle b{font-size:12px;letter-spacing:.08em}
.divisionBlock{padding:15px 16px;border-bottom:1px solid var(--line)}.divisionBlock:last-child{border-bottom:0}.divisionBlock h3{font-size:8px;color:var(--muted);letter-spacing:.13em;margin:0 0 9px}
.teamStructureGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.teamStructureCard{min-height:74px;padding:9px 10px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.025);display:grid;grid-template-columns:42px 1fr auto;gap:9px;align-items:center;text-align:left}
.teamStructureCard:hover{border-color:rgba(58,137,215,.28);background:rgba(31,100,168,.07)}.teamStructureAbbr{width:40px;height:40px;border-radius:10px;display:grid;place-items:center;background:linear-gradient(145deg,#123c67,#0b1724);border:1px solid rgba(58,137,215,.24);font-size:9px;font-weight:1000}.teamStructureCard strong,.teamStructureCard small{display:block}.teamStructureCard strong{font-size:9px}.teamStructureCard small{margin-top:4px;font-size:7px;color:var(--muted)}.teamStructureCard em{font-style:normal;font-size:6px;color:var(--rival-blue-bright);font-weight:950}
.rosterPackHero,.classImportHero{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:23px;border:1px solid var(--line);border-radius:17px;background:radial-gradient(circle at 80% 10%,rgba(31,100,168,.14),transparent 28%),linear-gradient(145deg,#0b1724,#050a10)}
.rosterPackHero h2,.classImportHero h2{font-size:34px;margin:5px 0}.rosterPackHero p,.classImportHero p{margin:0;max-width:650px;color:var(--muted);font-size:10px;line-height:1.5}.packSchemaBadge{min-width:100px;height:70px;border:1px solid rgba(58,137,215,.22);border-radius:12px;display:grid;place-items:center;background:rgba(31,100,168,.07);color:var(--rival-blue-bright);font-size:8px;font-weight:1000;letter-spacing:.12em}
.rosterPackGrid{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin-top:11px}.rosterPackCard{min-height:200px;padding:19px;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.022);position:relative}.rosterPackCard.active{border-color:rgba(58,137,215,.28);box-shadow:inset 0 3px rgba(58,137,215,.4)}.rosterPackCard>span{font-size:7px;color:var(--rival-blue-bright);font-weight:950;letter-spacing:.11em}.rosterPackCard h3{font-size:18px;margin:9px 0}.packMeta{display:flex;gap:7px;align-items:center}.packMeta b{font-size:29px;letter-spacing:-.04em}.packMeta em{font-style:normal;font-size:7px;color:var(--muted);padding:5px 7px;border:1px solid var(--line);border-radius:999px}.rosterPackCard p{font-size:9px;color:var(--muted);line-height:1.5}.rosterPackCard small{position:absolute;bottom:13px;left:19px;color:rgba(154,184,211,.55);font-size:6px}
.importPipeline{margin-top:11px;padding:18px;border:1px solid rgba(58,137,215,.18);border-radius:13px;background:rgba(31,100,168,.04)}.importPipeline>div{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin:11px 0}.importPipeline b{padding:8px 10px;border:1px solid var(--line);border-radius:8px;font-size:8px}.importPipeline i{font-style:normal;color:var(--rival-red)}.importPipeline p{margin:0;color:var(--muted);font-size:8px}
.classActions{display:flex;gap:8px;flex-wrap:wrap}.classGrid{display:grid;gap:9px;margin-top:11px}.draftClassCard{min-height:125px;padding:14px;border:1px solid var(--line);border-radius:14px;background:rgba(255,255,255,.022);display:grid;grid-template-columns:84px 1fr auto;gap:15px;align-items:center}.classYear{width:72px;height:72px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(145deg,#1f64a8,#123c67);font-size:25px;font-weight:1000;letter-spacing:-.04em}.classInfo>span{font-size:7px;color:var(--rival-blue-bright);font-weight:950;letter-spacing:.11em}.classInfo h3{font-size:18px;margin:3px 0}.classInfo p{margin:0;color:var(--muted);font-size:9px}.classInfo>div{display:flex;gap:7px;margin-top:9px}.classInfo>div b{padding:5px 7px;border:1px solid var(--line);border-radius:999px;font-size:6px;color:#c9d8e4}.classInfo small{display:block;margin-top:8px;color:rgba(154,184,211,.5);font-size:6px}.classCardActions{display:flex;flex-direction:column;gap:6px}.classCardActions button{min-width:76px;height:31px;border:1px solid var(--line);border-radius:8px;background:rgba(31,100,168,.08);color:var(--rival-blue-bright);font-size:7px;font-weight:950}.classCardActions .dangerMini{color:#ff9b9b;background:rgba(143,29,33,.09);border-color:rgba(143,29,33,.22)}
.classFormat{grid-template-columns:repeat(3,1fr);margin-top:11px}.emptyState{min-height:180px;border:1px dashed var(--line2);border-radius:14px;display:grid;place-items:center;align-content:center;color:var(--muted)}.emptyState b{font-size:12px}.emptyState span{font-size:8px;margin-top:5px}
.ratingModelLayout{display:grid;grid-template-columns:.8fr 1.2fr;gap:12px}.attributeGroupGrid{display:grid;gap:8px}.attributeGroup{padding:13px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02)}.attributeGroup h3{margin:0 0 9px;font-size:8px;color:var(--rival-blue-bright);letter-spacing:.12em}.attributeGroup>div{display:flex;flex-wrap:wrap;gap:5px}.attributeGroup span{padding:5px 7px;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025);font-size:7px;color:#c5d0d8}
.formulaGrid{display:grid;grid-template-columns:1fr 1fr;gap:8px}.formulaCard{padding:12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.02)}.formulaCard>div{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.formulaCard>div>b{font-size:18px;color:var(--rival-blue-bright)}.formulaCard>div>span{font-size:6px;color:var(--muted);letter-spacing:.1em}.formulaCard p{display:grid;grid-template-columns:1fr 27px 70px;gap:5px;align-items:center;margin:5px 0}.formulaCard p span{font-size:6px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.formulaCard p b{font-size:7px;text-align:right}.formulaCard p i{height:3px;background:rgba(255,255,255,.06);border-radius:99px;overflow:hidden}.formulaCard p em{display:block;height:100%;background:linear-gradient(90deg,var(--rival-blue-dark),var(--rival-blue-bright))}
.classImporterModal,.classPreviewModal{width:min(780px,94vw);max-height:88vh;overflow:auto;padding:24px;border:1px solid var(--line2);border-radius:20px;background:linear-gradient(145deg,#0b1724,#050a10);position:relative;box-shadow:var(--shadow)}.classImporterModal h2,.classPreviewModal h2{font-size:36px;margin:4px 0}.classImporterModal>p,.classPreviewModal>p{color:var(--muted);font-size:10px;line-height:1.5}
.fileDrop{min-height:90px;margin-top:15px;border:1px dashed rgba(58,137,215,.34);border-radius:13px;background:rgba(31,100,168,.05);display:grid;place-items:center;align-content:center;cursor:pointer}.fileDrop input{display:none}.fileDrop b{font-size:9px;color:var(--rival-blue-bright);letter-spacing:.1em}.fileDrop span{margin-top:5px;font-size:8px;color:var(--muted)}.importOr{display:flex;align-items:center;gap:8px;margin:13px 0}.importOr i{height:1px;flex:1;background:var(--line)}.importOr span{font-size:7px;color:var(--muted);font-weight:950}.classImporterModal textarea{width:100%;min-height:150px;resize:vertical;border:1px solid var(--line);border-radius:11px;background:#050a10;color:#dce8f2;padding:12px;font:10px ui-monospace,SFMono-Regular,Menlo,monospace;outline:none}.classImporterModal textarea:focus{border-color:rgba(58,137,215,.35)}
.importStatus{margin:9px 0;padding:9px 11px;border-radius:9px;border:1px solid var(--line);background:rgba(255,255,255,.02);color:var(--muted);font-size:8px}.importStatus.ready{color:#c7ddf0;border-color:rgba(58,137,215,.23)}.importStatus.error{color:#ffaaa9;border-color:rgba(143,29,33,.3);background:rgba(143,29,33,.06)}.importStatus.success{color:#bce9cc;border-color:rgba(121,216,156,.28);background:rgba(121,216,156,.05)}
.classPreviewStats{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}.classPreviewStats div{padding:10px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.02);text-align:center}.classPreviewStats b,.classPreviewStats span{display:block}.classPreviewStats b{font-size:20px;color:var(--rival-blue-bright)}.classPreviewStats span{font-size:6px;color:var(--muted)}
.classPlayerList{display:grid;gap:6px}.classPlayerList article{min-height:58px;padding:7px;border:1px solid var(--line);border-radius:9px;background:rgba(255,255,255,.02);display:grid;grid-template-columns:40px 38px 1fr;gap:8px;align-items:center}.classPlayerList article>b{font-size:18px;color:var(--rival-blue-bright)}.classPlayerList article>span{width:35px;height:35px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.05);font-size:8px;font-weight:1000}.classPlayerList strong,.classPlayerList small{display:block}.classPlayerList strong{font-size:9px}.classPlayerList small{font-size:7px;color:var(--muted);margin-top:3px}
@media(max-width:1100px){.teamStructureGrid{grid-template-columns:1fr 1fr}.ratingModelLayout{grid-template-columns:1fr}.rosterPackGrid{grid-template-columns:1fr 1fr}}
@media(max-width:760px){.rosterTabs{margin-top:0}.leagueSummary,.ratingsSummary{grid-template-columns:1fr 1fr}.teamStructureGrid{grid-template-columns:1fr}.rosterPackHero,.classImportHero{align-items:flex-start;flex-direction:column}.rosterPackGrid{grid-template-columns:1fr}.draftClassCard{grid-template-columns:65px 1fr}.classYear{width:58px;height:58px;font-size:19px}.classCardActions{grid-column:1/-1;flex-direction:row}.classFormat{grid-template-columns:1fr}.formulaGrid{grid-template-columns:1fr}.classActions{width:100%}.classActions>*{flex:1}}
@media(max-width:480px){.leagueSummary,.ratingsSummary{grid-template-columns:1fr 1fr}.conferenceBlock{border-radius:13px}.divisionBlock{padding:12px}.teamStructureCard{grid-template-columns:38px 1fr}.teamStructureCard em{display:none}.draftClassCard{grid-template-columns:1fr}.classYear{width:100%;height:44px}.classInfo>div{flex-wrap:wrap}.classPreviewStats{grid-template-columns:1fr 1fr 1fr}}

/* Front Office M5 — PWA launch, Team Center, depth charts */
#boot{background:#02060a}
.bootPoster{position:relative;width:min(92vw,760px);min-height:min(82vh,760px);border:1px solid rgba(154,184,211,.17);border-radius:28px;overflow:hidden;display:grid;place-items:center;isolation:isolate;background:
 radial-gradient(circle at 50% 20%,rgba(58,137,215,.25),transparent 26%),
 radial-gradient(circle at 20% 72%,rgba(143,29,33,.2),transparent 24%),
 radial-gradient(circle at 82% 64%,rgba(31,100,168,.24),transparent 24%),
 linear-gradient(180deg,#0b1724,#02060a 72%);box-shadow:0 40px 100px rgba(0,0,0,.6)}
.bootPoster:before{content:"";position:absolute;inset:0;z-index:-2;background:
 linear-gradient(115deg,transparent 0 46%,rgba(255,255,255,.035) 46% 47%,transparent 47%),
 repeating-linear-gradient(90deg,transparent 0 58px,rgba(255,255,255,.018) 59px,transparent 60px);opacity:.65}
.bootPoster:after{content:"";position:absolute;left:-10%;right:-10%;bottom:16%;height:34%;z-index:-1;background:
 linear-gradient(180deg,rgba(23,55,38,.16),rgba(31,100,49,.42)),
 repeating-linear-gradient(0deg,rgba(255,255,255,.08) 0 2px,transparent 2px 64px);transform:perspective(400px) rotateX(58deg);transform-origin:bottom}
.bootGlow{position:absolute;width:70%;height:70%;border-radius:50%;background:radial-gradient(circle,rgba(58,137,215,.16),transparent 60%);filter:blur(20px);animation:bootGlow 2.2s ease-in-out infinite alternate}
.bootSymbol{position:absolute;top:8%;left:50%;transform:translateX(-50%);width:72px;height:92px;z-index:2}
.bootSymbol i{position:absolute;left:0;width:72px;height:34px;transform:skewY(-17deg)}
.bootSymbol i:first-child{top:0;background:#f4f7fa;clip-path:polygon(0 0,100% 0,86% 100%,0 100%)}
.bootSymbol i:last-child{bottom:0;background:#f4364f;clip-path:polygon(14% 0,100% 0,86% 100%,0 100%)}
.bootPoster .bootMark{position:relative;z-index:3;text-align:center;align-items:center;margin-top:85px}
.bootPoster .bootMark span{font-size:13px;color:#f4364f;letter-spacing:.26em}
.bootPoster .bootMark b{font-size:clamp(34px,7vw,68px);line-height:.86;max-width:630px;text-transform:uppercase;text-shadow:0 8px 30px rgba(0,0,0,.5)}
.bootPoster .bootMark strong{font-size:clamp(38px,8vw,82px);line-height:.9;color:#f4f7fa;letter-spacing:-.06em;text-shadow:0 0 24px rgba(58,137,215,.28)}
.bootPoster .bootMark em{font-style:normal;font-size:8px;color:#9ab8d3;letter-spacing:.18em;margin-top:14px}
@keyframes bootGlow{from{transform:scale(.9);opacity:.55}to{transform:scale(1.08);opacity:1}}

.teamCenterHero{position:relative;min-height:215px;padding:25px;border:1px solid var(--line);border-radius:20px;display:grid;grid-template-columns:110px 1fr 100px;gap:20px;align-items:center;overflow:hidden;background:
 radial-gradient(circle at 12% 25%,rgba(31,100,168,.24),transparent 25%),
 radial-gradient(circle at 88% 12%,rgba(143,29,33,.13),transparent 25%),
 linear-gradient(145deg,#0b1724,#050a10)}
.teamCenterHero:after{content:"";position:absolute;inset:auto -8% -45% 32%;height:90%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.035),transparent);transform:rotate(-12deg)}
.teamBackBtn{position:absolute;left:15px;top:13px;z-index:2;background:transparent;color:var(--muted);font-size:7px;font-weight:950;letter-spacing:.1em}
.teamBackBtn:hover{color:#fff}
.teamCenterMark{width:100px;height:100px;border-radius:22px;display:grid;place-items:center;background:linear-gradient(145deg,#1f64a8,#123c67);border:1px solid rgba(154,184,211,.27);font-size:25px;font-weight:1000;box-shadow:0 18px 35px rgba(0,0,0,.28)}
.teamCenterCopy{position:relative;z-index:1}.teamCenterCopy>span{font-size:8px;color:var(--rival-blue-bright);font-weight:950;letter-spacing:.14em}.teamCenterCopy h2{font-size:clamp(30px,5vw,54px);letter-spacing:-.055em;margin:5px 0 4px}.teamCenterCopy p{margin:0;color:var(--muted);font-size:9px}
.teamCenterOvr{position:relative;z-index:1;width:94px;height:88px;border:1px solid var(--line);border-radius:15px;display:grid;place-items:center;align-content:center;background:rgba(255,255,255,.035)}.teamCenterOvr span{font-size:6px;color:var(--muted);letter-spacing:.1em}.teamCenterOvr b{font-size:36px;color:var(--rival-blue-bright);line-height:1}
.teamQuickStats{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:10px 0}.teamQuickStats>div{min-height:70px;border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.02);display:grid;place-items:center;align-content:center}.teamQuickStats b{font-size:19px;color:#fff}.teamQuickStats span{font-size:6px;color:var(--muted);letter-spacing:.1em;margin-top:3px}
.depthChartBoard{display:grid;gap:10px}.depthGroup{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.018);overflow:hidden}.depthGroupHead{height:42px;padding:0 13px;display:flex;align-items:center;justify-content:space-between;background:linear-gradient(90deg,rgba(31,100,168,.12),rgba(143,29,33,.045));border-bottom:1px solid var(--line)}.depthGroupHead span{font-size:9px;color:var(--rival-blue-bright);font-weight:1000;letter-spacing:.13em}.depthGroupHead b{font-size:6px;color:var(--muted);letter-spacing:.08em}
.depthSlots{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;padding:10px}.depthSlot{border:1px solid var(--line);border-radius:11px;background:rgba(255,255,255,.018);overflow:hidden}.depthSlotTitle{min-height:38px;padding:7px 9px;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line)}.depthSlotTitle b{min-width:32px;height:24px;border-radius:7px;display:grid;place-items:center;background:rgba(31,100,168,.13);color:var(--rival-blue-bright);font-size:8px}.depthSlotTitle span{font-size:7px;color:var(--muted)}
.depthPlayers{padding:6px;display:grid;gap:5px}.depthPlayer{width:100%;min-height:50px;padding:6px;border:1px solid transparent;border-radius:8px;background:rgba(255,255,255,.025);display:grid;grid-template-columns:21px 27px 1fr;gap:7px;align-items:center;text-align:left}.depthPlayer:hover{border-color:rgba(58,137,215,.2);background:rgba(31,100,168,.055)}.depthPlayer>span{font-size:7px;color:var(--muted);text-align:center}.depthPlayer>b{font-size:15px;color:var(--rival-blue-bright)}.depthPlayer strong,.depthPlayer small{display:block}.depthPlayer strong{font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.depthPlayer small{font-size:6px;color:var(--muted);margin-top:2px}.depthPlayer.empty{grid-template-columns:21px 1fr auto;border-style:dashed;border-color:rgba(154,184,211,.1);color:var(--muted)}.depthPlayer.empty i{font-style:normal;font-size:7px;font-weight:950}.depthPlayer.empty small{font-size:6px}
.teamRosterSection{margin-top:12px}.teamRosterList{display:grid;grid-template-columns:1fr 1fr;gap:6px}.teamRosterRow{min-height:62px;padding:8px;border:1px solid var(--line);border-radius:10px;background:rgba(255,255,255,.02);display:grid;grid-template-columns:38px 38px 1fr auto;gap:8px;align-items:center;text-align:left}.teamRosterRow:hover{border-color:rgba(58,137,215,.22)}.teamRosterRow>b{font-size:18px;color:var(--rival-blue-bright)}.teamRosterRow>span{width:34px;height:34px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.05);font-size:8px;font-weight:1000}.teamRosterRow strong,.teamRosterRow small{display:block}.teamRosterRow strong{font-size:9px}.teamRosterRow small{font-size:6px;color:var(--muted);margin-top:3px}.teamRosterRow em{font-style:normal;font-size:8px;color:#cfe2f2}
.emptyRosterTeam{min-height:130px;border:1px dashed var(--line2);border-radius:12px;display:grid;place-items:center;align-content:center;text-align:center;padding:20px}.emptyRosterTeam b{font-size:10px;color:var(--rival-blue-bright);letter-spacing:.1em}.emptyRosterTeam p{max-width:520px;color:var(--muted);font-size:8px;line-height:1.5}
.pwaSettingsCard{background:radial-gradient(circle at 90% 10%,rgba(58,137,215,.16),transparent 28%),linear-gradient(145deg,rgba(11,23,36,.95),rgba(5,10,16,.95))!important;border-color:rgba(58,137,215,.23)!important}.pwaSettingsCard .primaryBtn{margin-top:10px}
.pwaHelpModal{width:min(520px,92vw);padding:26px;border:1px solid var(--line2);border-radius:20px;background:linear-gradient(145deg,#0b1724,#050a10);position:relative;text-align:center;box-shadow:var(--shadow)}.pwaHelpIcon{width:72px;height:72px;margin:0 auto 14px;position:relative}.pwaHelpIcon i{position:absolute;left:12px;width:48px;height:23px;transform:skewY(-17deg)}.pwaHelpIcon i:first-child{top:7px;background:#f4f7fa}.pwaHelpIcon i:last-child{bottom:7px;background:#f4364f}.pwaHelpModal h2{font-size:30px;margin:6px 0}.pwaHelpModal>p{color:var(--muted);font-size:10px;line-height:1.55}.pwaFeatureRow{display:flex;gap:6px;justify-content:center;flex-wrap:wrap;margin:15px 0}.pwaFeatureRow span{padding:6px 8px;border:1px solid var(--line);border-radius:999px;font-size:6px;color:#c9d8e4;letter-spacing:.08em}
@media(max-width:900px){.depthSlots{grid-template-columns:1fr 1fr}.teamRosterList{grid-template-columns:1fr}.teamCenterHero{grid-template-columns:80px 1fr 75px}.teamCenterMark{width:75px;height:75px;border-radius:17px}.teamCenterOvr{width:70px;height:70px}.teamCenterOvr b{font-size:28px}}
@media(max-width:650px){.bootPoster{width:94vw;min-height:72vh;border-radius:22px}.bootPoster .bootMark{padding:0 14px}.teamCenterHero{grid-template-columns:64px 1fr;padding:48px 16px 18px}.teamCenterMark{width:60px;height:60px;font-size:18px}.teamCenterOvr{position:absolute;right:13px;top:13px;width:62px;height:62px}.teamCenterCopy{padding-right:50px}.teamQuickStats{grid-template-columns:1fr 1fr}.depthSlots{grid-template-columns:1fr}.depthPlayer{min-height:54px}}

/* Official cleaned 2027 poster splash */
.bootPoster.officialPoster{padding:0;background:#02060a;min-height:0;aspect-ratio:3/4;max-height:88vh;width:min(66vh,92vw);border-radius:26px}
.bootPoster.officialPoster:before,.bootPoster.officialPoster:after{display:none}
.bootPoster.officialPoster>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;display:block}
.bootPoster.officialPoster:after{content:"";display:block;position:absolute;inset:0;background:linear-gradient(180deg,transparent 0 78%,rgba(2,6,10,.18) 86%,rgba(2,6,10,.82) 100%);z-index:1;pointer-events:none}
.bootLoading{position:absolute;left:8%;right:8%;bottom:3.8%;z-index:3;display:grid;grid-template-columns:auto 1fr auto;gap:10px;align-items:center;text-shadow:0 2px 12px rgba(0,0,0,.75)}
.bootLoading span,.bootLoading small{font-size:6px;font-weight:1000;letter-spacing:.13em;color:#f4f7fa;white-space:nowrap}.bootLoading small{color:#b5c7d7}
.bootLoading i{height:2px;border-radius:99px;background:linear-gradient(90deg,#3a89d7,#f4364f,#3a89d7);background-size:200% 100%;animation:posterLoad 1.1s linear infinite}
@keyframes posterLoad{to{background-position:200% 0}}
@media(max-width:650px){.bootPoster.officialPoster{width:min(72vh,94vw);border-radius:20px}.bootLoading{left:6%;right:6%;bottom:3%}.bootLoading span{display:none}}

/* Splash fallback if artwork ever fails to decode */
.bootPoster.officialPoster.posterFallback{
  background:
    radial-gradient(circle at 50% 24%,rgba(58,137,215,.26),transparent 28%),
    radial-gradient(circle at 20% 75%,rgba(143,29,33,.20),transparent 26%),
    linear-gradient(180deg,#0b1724,#02060a 76%);
}
.bootPoster.officialPoster.posterFallback:before{
  content:"RIVALSIDE";
  display:grid;
  place-items:center;
  position:absolute;
  inset:0;
  z-index:1;
  color:#f4f7fa;
  font-size:clamp(28px,8vw,58px);
  font-weight:1000;
  letter-spacing:.08em;
  text-shadow:0 0 26px rgba(58,137,215,.28);
}

/* ===== M6 League HQ ===== */
.statusChip{font-style:normal;font-size:7px;font-weight:900;letter-spacing:.08em;padding:3px 6px;border-radius:99px;border:1px solid var(--line);color:var(--muted);white-space:nowrap}
.statusChip.st-complete{color:#bce9cc;border-color:rgba(121,216,156,.4)}
.statusChip.st-building{color:#c7ddf0;border-color:rgba(58,137,215,.45)}
.statusChip.st-seeded{color:#f2d492;border-color:rgba(242,212,146,.35)}
.statusChip.st-empty{color:var(--muted)}
.completenessBar{display:flex;align-items:center;gap:8px;margin-top:8px}
.completenessBar i{flex:1;height:6px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.completenessBar i em{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--bright));border-radius:99px}
.completenessBar b{font-size:8px;letter-spacing:.08em;color:#c7ddf0}
.leaguePackBar{display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;border:1px solid var(--line);border-radius:16px;padding:16px;background:linear-gradient(135deg,rgba(31,100,168,.14),rgba(143,29,33,.08));margin-bottom:14px}
.leaguePackBar h2{margin:2px 0 4px;font-size:20px}
.leaguePackBar p{margin:0;color:var(--muted);font-size:11px;max-width:560px}
.leagueGrid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;align-items:start}
@media(max-width:760px){.leagueGrid{grid-template-columns:1fr}}
.leagueTeamList{display:grid;gap:6px}
.leagueTeamRow{display:flex;align-items:center;gap:10px;width:100%;text-align:left;border:1px solid var(--line);border-radius:12px;padding:8px 10px;background:rgba(255,255,255,.02);color:var(--text);cursor:pointer}
.leagueTeamRow b{font-size:11px;white-space:nowrap}
.leagueTeamMain{flex:1;display:grid;gap:4px}
.leagueTeamMain strong{font-size:12px}
.leagueTeamMain i{height:5px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.leagueTeamMain i em{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--bright))}
.posCovList{display:grid;gap:7px;margin-bottom:16px}
.posCovRow{display:grid;grid-template-columns:34px 1fr;gap:2px 8px;align-items:center}
.posCovRow b{font-size:11px}
.posCovRow span{font-size:8px;color:var(--muted);letter-spacing:.06em}
.posCovRow i{grid-column:1/3;height:5px;border-radius:99px;background:rgba(255,255,255,.07);overflow:hidden}
.posCovRow i em{display:block;height:100%;background:linear-gradient(90deg,var(--red),var(--bright))}
.dbCheckCard{display:flex;gap:16px;align-items:center;border:1px solid var(--line);border-radius:14px;padding:12px;background:rgba(255,255,255,.02)}
.dbCheckCard div{display:grid;text-align:center}
.dbCheckCard div b{font-size:20px}
.dbCheckCard div span{font-size:7px;color:var(--muted);letter-spacing:.1em}
.dbCheckCard p{margin:0;color:var(--muted);font-size:10px}

.rowPlayer i,.teamRosterRow>span,.miniAvatar,.slotAvatar,.cardAvatar,.profileAvatar,.lineupCard>span,.selectorItem>span,.classPlayerList article>span{position:relative;overflow:hidden}
.pPhoto{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:top center;display:block}

/* ---------- franchise mode ---------- */
.franTeamGrid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px}
.franTeamCard{border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.02);padding:14px 10px;display:flex;flex-direction:column;align-items:center;gap:5px;text-align:center;cursor:pointer}
.franTeamCard:hover{border-color:rgba(58,137,215,.45);background:rgba(31,100,168,.08)}
.franTeamCard strong{font-size:12px}
.franTeamCard small{font-size:8px;color:var(--muted);letter-spacing:.06em}
.franTeamCard em{font-style:normal;font-size:8px;color:var(--gold)}
.franAvatar{width:56px;height:56px;border-radius:50%;display:grid;place-items:center;background:rgba(255,255,255,.06);font-size:15px;font-weight:1000;position:relative;overflow:hidden}
.franMatchCard{border:1px solid rgba(58,137,215,.3);border-radius:16px;padding:20px;background:linear-gradient(140deg,rgba(31,100,168,.16),rgba(255,255,255,.02));display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}
.franMatchCard h2{font-size:30px;margin:4px 0}
.franMatchCard p{color:var(--muted);font-size:11px;margin:0}
.franActions{display:flex;gap:9px;flex-wrap:wrap}
.franHubGrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.franPanel{border:1px solid var(--line);border-radius:14px;padding:16px;background:rgba(255,255,255,.015);margin-bottom:12px}
.standTable{width:100%;border-collapse:collapse;font-size:11px}
.standTable th{font-size:8px;letter-spacing:.1em;color:var(--muted);text-align:left;padding:4px 6px;border-bottom:1px solid var(--line)}
.standTable td{padding:5px 6px;border-bottom:1px solid rgba(255,255,255,.04)}
.standTable .userRow td,.poPicture .userRow{background:rgba(31,100,168,.14);color:#fff;font-weight:700}
.poPicture{display:flex;flex-wrap:wrap;gap:6px}
.poPicture span{border:1px solid var(--line);border-radius:8px;padding:5px 9px;font-size:10px}
.poPicture span small{color:var(--muted)}
.schedList{display:flex;flex-direction:column}
.schedRow{display:flex;justify-content:space-between;align-items:center;padding:7px 4px;border-bottom:1px solid rgba(255,255,255,.05);font-size:11px}
.schedRow small{color:var(--muted)}
.schedRow em{font-style:normal;color:var(--muted);font-size:9px}
.byeRow{opacity:.55}
.winTxt{color:#57d977}.lossTxt{color:#e05a5a}
.franDanger{margin-top:8px;text-align:right}
.dangerBtn{color:#e05a5a;border-color:rgba(224,90,90,.4)}
@media(max-width:760px){.franTeamGrid{grid-template-columns:repeat(2,1fr)}.franHubGrid{grid-template-columns:1fr}.franMatchCard{flex-direction:column;align-items:flex-start}}

/* UT economy */
.earnFlash{margin:10px 14px 0;padding:9px 14px;border:1px solid rgba(58,137,215,.55);border-radius:10px;background:linear-gradient(90deg,rgba(31,100,168,.35),rgba(143,29,33,.25));color:#DCEEFF;font-size:13px;letter-spacing:.06em;text-align:center}
.earnFlash b{color:#7FC4FF}
.revealRow{display:flex;gap:10px;justify-content:center;flex-wrap:wrap;margin:14px 0 6px}
.revealRow .revealCard{display:flex;flex-direction:column;align-items:center;gap:6px}
.revealRow .revealCard b{color:#fff;font-size:13px;letter-spacing:.08em}
.packNote{color:#9FB8D0;font-size:12.5px;line-height:1.45}
.primaryBtn:disabled{opacity:.45;cursor:not-allowed}

/* ===== PACK REVEAL FIT (all orientations: never taller than the screen) ===== */
.revealRow .revealCard .playerCard{width:min(240px,calc((100vh - 250px)*.72));width:min(240px,calc((100dvh - 250px)*.72))}
.revealRow .revealCard:nth-child(2) .playerCard{animation-delay:.07s}
.revealRow .revealCard:nth-child(3) .playerCard{animation-delay:.14s}
.revealRow .revealCard:nth-child(4) .playerCard{animation-delay:.21s}
.revealRow .revealCard:nth-child(5) .playerCard{animation-delay:.28s}

/* ===== LANDSCAPE FIT — the app is played horizontally ===== */
@media (orientation:landscape) and (max-height:520px){
  .topbar{height:48px;padding:0 14px}
  .topStatus>div span{font-size:7px}.topStatus>div b{font-size:12px}
  #app{padding:58px 14px 16px 184px}
  .sideNav{top:48px;width:160px;padding:10px 8px;gap:3px}
  .sideNav .navItem{padding:7px 9px;font-size:11px}
  .navGlyph{width:24px;height:24px;font-size:9px}
  .earnFlash{margin:6px 14px 0;padding:6px 10px;font-size:11px}
  .pageHead{padding:6px 2px 8px}.pageHead h1{font-size:29px}.pageHead p{font-size:11px;line-height:1.4}
  .sectionBlock{margin-top:13px}.sectionTitle{margin-bottom:8px}.sectionTitle h2{font-size:16px;margin-top:1px}
  /* main menu: one horizontal screen */
  .heroPanel{min-height:0;padding:15px 20px;border-radius:16px;grid-template-columns:1.35fr .65fr}
  .heroCopy h1{font-size:33px;line-height:.96}
  .heroCopy p{display:none}
  .heroActions{margin-top:10px;gap:8px}
  .heroActions .primaryBtn,.heroActions .ghostBtn{padding:9px 14px;font-size:11px}
  .heroCardWrap{position:relative;right:auto;bottom:auto;opacity:1;display:grid;place-items:center}
  .heroPlayerCard{width:102px;min-width:102px;animation:none}
  .dashboardGrid{grid-template-columns:repeat(3,1fr);gap:8px;margin:10px 0}
  .dashboardGrid .playTile{grid-column:auto}
  .modeTile{min-height:0;padding:11px 13px;border-radius:14px}
  .modeTile h2{font-size:16px;margin:2px 0 0}
  .modeTile p{display:none}
  .tileKicker{font-size:7px}
  .tileArrow{margin-top:7px;padding:5px 10px;font-size:10px}
  .spotlightRow{grid-template-columns:repeat(4,1fr);gap:8px}
  .miniPlayer{min-height:0;padding:7px 9px}
  /* tabs, store, hubs */
  .utTabs{margin-bottom:9px;padding:4px}
  .utTabBtn{padding:7px 10px;font-size:10px}
  .packStoreGrid{grid-template-columns:1fr 1fr 1fr;gap:9px}
  .packStoreHero,.revealGuide{padding:14px;border-radius:14px}
  .packStoreHero h2{font-size:19px;margin:8px 0 4px}
  .packStoreHero p{font-size:9px}
  .packArt{height:96px;margin:8px 0}
  .packArt.large{height:96px}
  .packArt strong{font-size:24px}
  .franTeamGrid{gap:8px}
  /* modals + pack reveal: single row, everything on screen */
  .modalBackdrop,.packBackdrop{padding:10px}
  .playerModal{max-height:94dvh;padding:18px}
  .packSequence{max-height:97dvh}
  .revealRow{flex-wrap:nowrap;gap:8px;margin:10px 0 4px}
  .revealRow .revealCard .playerCard{width:min(150px,17.5vw,calc((100vh - 190px)*.72));width:min(150px,17.5vw,calc((100dvh - 190px)*.72))}
  .revealRow .revealCard b{font-size:11px}
  .packSequence .primaryBtn{padding:10px 22px}
}

/* landscape fit — round 2 trims (measured at 932x430) */
@media (orientation:landscape) and (max-height:520px){
  #app{padding-top:54px}
  .buildTag{display:none}
  .heroPanel{padding:11px 18px}
  .heroCopy h1{font-size:29px}
  .eyebrow{font-size:8px}
  .heroActions{margin-top:8px}
  .dashboardGrid{margin:8px 0}
  .sectionBlock{margin-top:9px}
  .miniPlayer{padding:5px 8px}
  .teamOverall{width:76px;padding:7px 0}
  .teamOverall b{font-size:26px}
  .utTabs{margin-bottom:7px}
  .packArt,.packArt.large{height:82px}
  .packStoreHero .primaryBtn{padding:9px 12px;font-size:11px;width:100%}
  .tierGuide{gap:6px}
  .tierGuide>div{padding:6px 8px}
  .revealGuide h3{font-size:17px;margin:6px 0}
  .packStoreHero h2{font-size:18px}
}

/* landscape fit — round 3 (final squeeze) */
@media (orientation:landscape) and (max-height:520px){
  #app{padding-bottom:8px}
  .heroPanel{padding:9px 18px}
  .heroCopy h1{font-size:26px}
  .modeTile{padding:9px 13px}
  .sectionTitle{margin-bottom:5px}
  .miniPlayer{padding:4px 8px}
  .packStoreHero p,.revealGuide .packNote{display:none}
  .packStoreHero h2{margin:6px 0}
}

@media (orientation:landscape) and (max-height:520px){
  .pageHead p{display:none}
  .packArt,.packArt.large{height:74px}
  .utTabBtn{padding:5px 10px}
}

/* portrait safety for the 5-card reveal */
@media (max-width:760px) and (orientation:portrait){
  .packBackdrop{overflow:auto}
  .revealRow .revealCard .playerCard{width:27vw}
}

/* ===== TEAM LOGOS + ERA HISTORY ===== */
.teamLogo{object-fit:contain;vertical-align:middle;filter:drop-shadow(0 3px 6px rgba(0,0,0,.45))}
.logoPick{width:46px;height:46px}
.logoSm{width:19px;height:19px;margin-right:6px;vertical-align:-5px}
.logoPanel{width:54px;height:54px;margin-bottom:6px}
.logoStruct{width:30px;height:30px}
.logoCenter{width:78px;height:78px}
.logoLg{width:64px;height:64px}
.logoHero{width:74px;height:74px;margin-bottom:8px}
.matchLogos{display:flex;align-items:center;gap:14px;margin-bottom:9px}
.matchVs{font-weight:1000;font-size:12px;color:#7FC4FF;letter-spacing:.14em}
.logoHistory{display:grid;grid-template-columns:repeat(auto-fill,minmax(124px,1fr));gap:10px}
.logoEra{border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.025);padding:13px 10px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:6px}
.logoEra img{height:62px;max-width:94%;object-fit:contain;filter:drop-shadow(0 4px 8px rgba(0,0,0,.5))}
.logoEra b{font-size:10.5px;letter-spacing:.05em}
.logoEra small{font-size:9px;color:var(--muted);letter-spacing:.1em}
.poPicture .teamLogo{margin-right:4px}
@media (orientation:landscape) and (max-height:520px){ .logoLg{width:46px;height:46px} .matchLogos{margin-bottom:5px;gap:10px} }
.franAvatar .teamLogo{position:absolute;inset:2px;width:calc(100% - 4px);height:calc(100% - 4px);margin:auto;background:#101c29;border-radius:50%;padding:6px}
.teamCenterMark{position:relative}
.teamCenterMark .teamLogo{position:absolute;inset:0;width:82%;height:82%;margin:auto;background:linear-gradient(145deg,#1f64a8,#123c67);border-radius:18px;padding:7px}
