/* One game interface across every Franchise screen. */
body.franchise-ui{--club-lime:#c6e58a;--club-gold:#f0cd7e;--club-stroke:#48685f;background-color:#10232b;background-image:linear-gradient(90deg,#abc98b03 1px,transparent 1px),linear-gradient(#abc98b03 1px,transparent 1px);background-size:24px 24px}
.franchise-shell{max-width:1180px;padding-bottom:30px}.franchise-ui h1,.franchise-ui h2,.franchise-ui h3{letter-spacing:-.03em}.franchise-ui h1{font-size:clamp(28px,4vw,46px);line-height:1.1}.franchise-ui .eyebrow{font:700 11px/1.6 'Courier New',monospace;letter-spacing:2px;color:var(--club-gold)}
.franchise-game-nav{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:12px 0 22px;padding:12px 0;border-bottom:2px solid #405a52}.franchise-game-nav a{text-decoration:none;min-height:44px;display:inline-flex;align-items:center;justify-content:center;padding:10px 16px;font:bold 12px 'Courier New',monospace;color:#f5f0d8}.franchise-game-nav .franchise-back{background:#c6e58a;color:#132b2b;border:2px solid #e2efb5;box-shadow:3px 3px 0 #07181f}.franchise-primary-nav{display:flex;flex-wrap:wrap;gap:4px;flex:1}.franchise-primary-nav a[aria-current=page]{background:#314c43;border-bottom:3px solid #c6e58a}.franchise-primary-nav a:hover{background:#294239}
.franchise-ui .franchise-panel,.franchise-ui .club-panel,.franchise-ui .franchise-slot,.franchise-ui .office-player{border:1px solid #48685f;border-top:3px solid #698568;border-radius:3px;background:#18323a;box-shadow:5px 5px 0 #071b23;padding:22px;margin-bottom:18px}.franchise-ui .club-banner,.franchise-ui .franchise-hero{border-radius:3px;border:2px solid #537266;background:linear-gradient(115deg,#28473b 0 60%,#1b3537 60% 77%,#24433c 77%);box-shadow:6px 6px 0 #081c24}.franchise-ui .club-banner{padding:24px;gap:20px}.franchise-ui .club-banner .pixel-mark{filter:drop-shadow(5px 5px 0 #091e24)}
.franchise-ui button,.franchise-ui .game-link,.franchise-ui .office-actions a{border-radius:2px;min-height:44px;font-weight:bold;box-shadow:2px 3px 0 #071b23}.franchise-ui button:active,.franchise-ui .game-link:active{transform:translateY(1px);box-shadow:1px 1px 0 #071b23}.franchise-ui button:disabled{transform:none;opacity:.45}.franchise-ui .game-link{display:inline-flex;align-items:center;padding:10px 14px;color:#d7ebb0;border:1px solid #62816d;background:#24443d;text-decoration:none}.franchise-ui input,.franchise-ui select{border-radius:2px;font-size:16px;max-width:100%}.franchise-ui .club-tabs{display:flex;gap:8px;flex-wrap:wrap;padding:12px 0;margin-bottom:16px;border-bottom:1px solid #405d55}.franchise-ui .club-tabs button,.franchise-ui .club-tabs a{min-height:44px;border-radius:2px;white-space:normal}.franchise-ui .club-tabs [aria-current=page]{background:#c6e58a;color:#152e2e;border-color:#c6e58a}.franchise-ui summary{cursor:pointer;min-height:44px;padding:12px 0;color:#d0e6a7;font-weight:bold}.franchise-ui details[open]>summary{border-bottom:1px solid #456259;margin-bottom:12px}.franchise-ui :focus-visible{outline:3px solid #f0cd7e;outline-offset:3px}
.mode-portals{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin-bottom:22px}.mode-portals a{position:relative;display:flex;flex-direction:column;gap:10px;text-decoration:none;text-align:left;padding:18px!important;background:#203c3d!important;border:1px solid #577565!important;border-radius:3px!important;box-shadow:4px 4px 0 #071b23}.mode-portals strong{font-size:18px;color:#f0ebd6}.mode-portals small{font:12px/1.6 Arial;color:#b9cbbb}.portal-number{font:bold 28px 'Courier New',monospace;color:#c6e58a;border-bottom:3px solid #628561;align-self:flex-start;padding-bottom:5px}.mode-portals a:hover{background:#2a4d42!important;transform:translateY(-2px)}
.league-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.league-grid .franchise-standings .pixel-mark{width:24px;height:24px;vertical-align:middle;margin-right:5px}.league-grid td:first-child,.league-grid th:first-child{text-align:left}.leader-list{list-style:none;padding:0;margin:0}.leader-list li{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0;border-bottom:1px solid #3a574e;font-size:14px}.leader-list small{display:block;font:11px/1.8 'Courier New';color:#b5c9b8}.leader-list b{color:#f0cd7e;white-space:nowrap}.leader-list a{color:#d0e6a7}.news-feed{display:grid;gap:12px}.news-feed article{padding:18px;background:#102a31;border-left:4px solid #789b6a}.news-feed small{color:#b3c9a5;font:11px 'Courier New';text-transform:uppercase}.news-feed h3{font-size:18px;line-height:1.4;margin:10px 0 0}.news-feed p{margin-bottom:0}.playoff-bracket{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;margin:24px 0}.playoff-bracket h2{font-size:17px;min-height:40px;color:#d3e7a3}.franchise-ui .bracket-series{width:100%;display:grid;gap:9px;text-align:left;padding:14px;margin-bottom:16px;background:#203c40;border:2px solid #4d6c60}.bracket-series>span{display:flex;align-items:center;gap:8px}.bracket-series b{margin-left:auto;font-size:20px}.bracket-series small{font:10px 'Courier New';color:#b2c8b7}.bracket-series .pixel-mark{width:26px;height:26px}.bracket-series .series-winner{color:#d1ec96}.franchise-ui .bracket-series.selected{border-color:#e8cb7c}.bracket-pending{padding:20px;border:1px dashed #486859;color:#9ab4a7;font-size:13px}
.champion-celebration{text-align:center;padding:32px 20px;border:3px solid #e8c773;box-shadow:7px 7px 0 #081c24;background:repeating-linear-gradient(135deg,#29483c 0 36px,#254237 36px 72px);margin:20px 0 28px}.champion-celebration>.pixel-mark{width:90px;height:90px}.champion-celebration h2{font-size:clamp(24px,4vw,38px);color:#fff1bd}.pixel-trophy{display:block;color:#f2cd70;font:70px monospace;text-shadow:5px 5px #84652b}.offseason-roadmap{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:8px;padding:0;list-style:none;margin:24px 0}.offseason-roadmap li{display:flex;flex-direction:column;gap:10px;text-transform:capitalize;border:1px solid #3b5c52;background:#112c33;padding:14px 8px;font:12px monospace}.offseason-roadmap b{font-size:24px;color:#94af9e}.offseason-roadmap li.current{border:2px solid #e8cb7c;background:#2d493e}.offseason-roadmap .current b,.offseason-roadmap .done b{color:#c6e58a}.history-season{padding:8px 0;border-top:1px solid #476359}.history-season .player-history{max-height:420px;overflow:auto}.history-season li{padding:5px 0;font-size:13px}.franchise-ui .franchise-save-chip{border-radius:2px}.franchise-ui .season-ticket{border-radius:2px}
@media(max-width:850px){.mode-portals{grid-template-columns:repeat(2,minmax(0,1fr))}.playoff-bracket{grid-template-columns:repeat(2,minmax(0,1fr))}.offseason-roadmap{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:540px){.franchise-shell{padding:0 14px 24px}.franchise-game-nav{gap:10px}.franchise-primary-nav{flex-basis:100%;display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}.franchise-game-nav a{padding:10px 5px;font-size:11px}.franchise-game-nav .franchise-back{padding:10px 20px}.franchise-ui .club-panel,.franchise-ui .franchise-panel{padding:16px}.franchise-ui .club-banner,.franchise-ui .franchise-hero{padding:18px}.franchise-ui .club-banner .pixel-mark{width:64px;height:80px}.league-grid{grid-template-columns:1fr}.mode-portals{gap:10px}.mode-portals a{padding:14px!important}.mode-portals strong{font-size:16px}.mode-portals small{font-size:11px}.playoff-bracket{gap:10px}.franchise-ui .bracket-series{padding:10px}.playoff-bracket h2{font-size:15px}.franchise-ui .club-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}.franchise-ui .club-tabs>*{text-align:center;margin:0!important;padding:10px 6px}.leader-list li{font-size:13px}.franchise-ui .franchise-toolbar{flex-wrap:wrap}.franchise-ui .franchise-toolbar label{min-width:120px}.franchise-ui .club-banner{flex-wrap:wrap}.franchise-ui .office-actions>*{max-width:100%}.offseason-roadmap{gap:6px}}
@media(prefers-reduced-motion:reduce){.franchise-ui *{scroll-behavior:auto!important;transition:none!important}}
.season-calendar-panel{margin-top:18px;border-top:1px solid #47645a}.season-calendar-panel>summary{font-family:'Courier New',monospace}.franchise-ui .franchise-dashboard{margin-top:22px}
