@import url('./franchise-player-ui.css');
@import url('./franchise-draft-scene.css');
/* Portrait-first franchise space. Every screen is paginated, never scrolled. */
#overlay.franchise-panel{--fr-ink:#f7f3e8;--fr-mute:#b6c3cd;--fr-gold:#edcb8d;position:fixed;inset:0;z-index:15;padding:env(safe-area-inset-top) 0 env(safe-area-inset-bottom);background:#101c2a;backdrop-filter:none;align-items:stretch;overflow:hidden}
#overlay.franchise-panel::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#101c2a50,#101c2ad9 42%,#101c2a 75%);opacity:.7;pointer-events:none}
#overlay.franchise-panel .panel{position:relative;max-width:510px;width:100%;height:100%;max-height:none;margin:0 auto;padding:0;overflow:hidden;background:none;border:0;border-radius:0;box-shadow:none}
.fr-shell{height:100%;width:100%;box-sizing:border-box;display:flex;flex-direction:column;padding:18px 22px 13px;gap:16px;color:var(--fr-ink);font-family:Arial,Helvetica,sans-serif;text-align:left;animation:fr-enter .25s ease-out;touch-action:manipulation}
.fr-shell *{box-sizing:border-box}.fr-shell button{font-family:inherit;touch-action:manipulation;cursor:pointer;color:inherit}.fr-shell button:focus-visible,.fr-shell input:focus-visible{outline:3px solid #f3dba7;outline-offset:3px}.fr-shell button:disabled{opacity:.38;cursor:default}.fr-shell button:active:not(:disabled){transform:scale(.98)}
.fr-top{display:flex;align-items:center;justify-content:space-between;gap:12px;flex:none}.fr-back{display:flex;align-items:center;gap:7px;padding:8px 0;border:0;background:none;color:#d6e0e7!important;font-size:14px}.fr-back span{font-size:24px;line-height:16px}.fr-save{display:flex;align-items:center;gap:6px;font-size:11px;color:#c1ced3}.fr-save::before{content:'';width:5px;height:5px;border-radius:50%;background:#b8d9bd}.fr-save[data-state=error]::before,.fr-save[data-state=offline]::before{background:#f2a58a}.fr-save[data-state=saving]::before,.fr-save[data-state=loading]::before{background:var(--fr-gold);animation:fr-pulse 1s infinite}
.fr-heading{flex:none}.fr-overline{display:block;font-size:11px;line-height:1.3;font-weight:700;letter-spacing:2px;text-transform:uppercase;color:var(--fr-gold)}.fr-shell h1,.fr-shell h2{color:var(--fr-ink);font-size:clamp(36px,10vw,49px);line-height:1;letter-spacing:-2px;font-weight:650;margin:10px 0 0}.fr-shell p{color:var(--fr-mute);font-size:14px;line-height:1.5;margin:9px 0 0}.fr-heading p{max-width:34ch}.fr-subnav{display:flex;gap:5px;flex:none}.fr-subnav button{padding:9px 13px;border:1px solid #d4deeb1f;border-radius:99px;background:#ffffff05;font-size:14px}.fr-subnav button[aria-pressed=true]{border-color:#e5cb9366;color:#f3d99f;background:#e5cb9310}
.fr-main{display:flex;flex-direction:column;gap:13px;min-height:0;flex:1}.fr-card{position:relative;padding:22px;background:linear-gradient(145deg,#30445add,#223347ed 60%,#1d2d40f5);border:1px solid #dfebf026;border-radius:25px;box-shadow:inset 0 1px #ffffff0a,0 15px 35px #0002;overflow:hidden}.fr-card.feature{flex:1;display:flex;flex-direction:column;justify-content:center;min-height:0}.fr-card::after{content:'';position:absolute;right:-65px;top:-65px;width:185px;height:185px;border:1px solid #e8d0990c;border-radius:50%;box-shadow:0 0 0 24px #e8d09905,0 0 0 55px #e8d09903;pointer-events:none}.fr-card> *{position:relative;z-index:1}.fr-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.fr-card-head>span,.fr-label{font-size:11px;text-transform:uppercase;letter-spacing:1.7px;color:#bfcedb;font-weight:700}.fr-pill{padding:6px 9px;border-radius:7px;background:#f3dcaa12;color:#f1d8a6;font-size:12px;font-weight:700;white-space:nowrap}.fr-team-mark{width:74px;height:74px;object-fit:contain;filter:drop-shadow(0 8px 12px #0004)}.fr-versus{display:flex;align-items:center;gap:13px;margin:20px 0}.fr-versus>div{flex:1}.fr-versus strong{display:block;font-size:28px;line-height:1.07;letter-spacing:-1px}.fr-versus small{display:block;color:#beccd7;font-size:14px;margin-bottom:6px}.fr-match-line{display:flex;justify-content:space-between;gap:10px;font-size:14px;color:#c1ced7;border-top:1px solid #ffffff13;padding-top:14px}.fr-match-line b{color:#f5e0b5;font-weight:500}
.fr-primary,.fr-secondary{min-height:48px;width:100%;display:flex;align-items:center;justify-content:center;gap:9px;padding:12px 15px;border-radius:15px;font-size:15px;font-weight:700;letter-spacing:.1px}.fr-primary{border:1px solid #f5deaf;background:linear-gradient(120deg,#f1d9a7,#d9b576);color:#1b2b3b!important;box-shadow:0 5px 18px #0001}.fr-secondary{border:1px solid #d9e4ee2b;background:#ffffff06;color:#e4eaf0}.fr-card .fr-primary{margin-top:19px}.fr-actions{display:flex;gap:9px;flex:none}.fr-actions>*{flex:1}.fr-summary{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:16px 4px;border-bottom:1px solid #d5e0ed1b}.fr-summary>div{display:flex;flex-direction:column;gap:5px}.fr-summary strong{font-size:24px;letter-spacing:-.8px;font-weight:500}.fr-summary small{font-size:11px;color:#b4c2ce;text-transform:uppercase;letter-spacing:1.1px}.fr-summary>div:last-child{text-align:right}.fr-note{display:flex;align-items:center;gap:10px;font-size:14px;line-height:1.4;color:#b8c6d2;padding:0 3px}.fr-note b{color:#e7d3af;font-weight:500}.fr-dock{display:flex;gap:4px;flex:none;background:#08132066;border:1px solid #ced9e918;border-radius:21px;padding:5px}.fr-dock button{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:10px 1px;border:0;border-radius:16px;background:none;color:#9caebe;font-size:11px}.fr-dock button[aria-current=page]{background:#e9d5a515;color:#f3ddb1}.fr-dock svg{width:21px;height:21px;fill:none;stroke:currentColor;stroke-width:1.5;stroke-linecap:round;stroke-linejoin:round}
.fr-identity{display:flex;align-items:center;gap:16px;margin:20px 0}.fr-player-icon{width:70px;height:80px;display:grid;place-content:center;background:linear-gradient(135deg,#738da955,#294762);clip-path:polygon(18% 0,82% 0,100% 18%,100% 78%,50% 100%,0 78%,0 18%);color:#e7edf2;font-size:30px;font-weight:700;letter-spacing:-2px;flex:none}.fr-identity h3{font-size:28px;line-height:1.06;letter-spacing:-1px;margin:0;font-weight:600}.fr-identity p{font-size:14px;margin:7px 0 0}.fr-rating{margin-left:auto;display:flex;flex-direction:column;align-items:center}.fr-rating strong{font-size:39px;color:#f1d29a;line-height:1;letter-spacing:-2px}.fr-rating small{font-size:10px;letter-spacing:1px;color:#b9c8d4;margin-top:5px}.fr-stats{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px 21px;margin:10px 0}.fr-stat{display:grid;grid-template-columns:1fr auto;gap:7px;font-size:14px;color:#b7c6d3}.fr-stat b{font-weight:500;color:#f0e9db}.fr-stat i{grid-column:1/-1;height:3px;background:linear-gradient(90deg,#dec598 var(--n),#ffffff12 0);border-radius:4px}.fr-contract{display:flex;justify-content:space-between;gap:8px;padding-top:14px;margin-top:17px;border-top:1px solid #ffffff14;font-size:14px;color:#bac8d2}.fr-contract strong{color:#f4ddb0;font-weight:500}.fr-pager{display:flex;justify-content:space-between;align-items:center;flex:none;gap:8px;font-size:13px;color:#b4c5d1}.fr-pager button{border:1px solid #cfdded22;border-radius:50%;width:39px;height:39px;background:#ffffff05;font-size:20px}.fr-pager span{display:flex;gap:6px}.fr-pager i{height:4px;width:4px;border-radius:50%;background:#71869b}.fr-pager i.active{background:#edd3a1;width:17px;border-radius:3px}
.fr-list{display:flex;flex-direction:column;gap:7px}.fr-row{display:flex;align-items:center;gap:10px;min-height:59px;padding:11px 13px;width:100%;text-align:left;background:#ffffff05;border:1px solid #d6e2ef12;border-radius:13px}.fr-row>span:first-child{color:#9fb2c5;font-size:13px;min-width:20px}.fr-row>div{flex:1;min-width:0}.fr-row strong{display:block;font-size:15px;line-height:1.2;font-weight:500;color:#f1eee8}.fr-row small{display:block;color:#9fb1c1;font-size:12px;line-height:1.3;margin-top:4px}.fr-row>b{font-size:18px;font-weight:500;color:#ebd4a9}.fr-row.selected{border-color:#e5c89366;background:#e5c8930b}.fr-list-title{display:flex;justify-content:space-between;margin:0 2px 3px;font-size:11px;letter-spacing:1.3px;color:#a7bccd;text-transform:uppercase}.fr-row.mine{border-color:#e2cb9160;background:#ebd59f0a}.fr-empty{font-size:15px;color:#b9c8d2;padding:25px 0;text-align:center}.fr-shell .fr-error{display:flex;align-items:center;gap:9px;flex:none;font-size:13px;line-height:1.3;padding:10px 12px;background:#d89c7320;border:1px solid #e9b08744;border-radius:12px;color:#f5c9ad;margin:0}.fr-error span{flex:1}.fr-error button{font-size:13px;border:0;background:none;color:#ffe3b9;text-decoration:underline;padding:6px}.fr-busy{position:absolute;inset:0;z-index:4;display:grid;place-content:center;gap:15px;text-align:center;background:#101c2abc;backdrop-filter:blur(4px);font-size:14px;color:#ecd8af}.fr-busy i{margin:auto;width:27px;height:27px;border:2px solid #ead3a52b;border-top-color:#ead3a5;border-radius:50%;animation:fr-spin .7s linear infinite}
.fr-field{display:flex;flex-direction:column;gap:9px;font-size:14px;color:#c4d1db;margin:20px 0}.fr-field input{width:100%;min-height:48px;border:1px solid #d8e2f139;background:#0c1c2c70;color:#f5f0e4;border-radius:12px;padding:12px;font-size:17px;touch-action:manipulation}.fr-difficulties{display:flex;gap:7px;margin-top:10px}.fr-difficulties button{flex:1;padding:13px 4px;border:1px solid #cbdceb25;border-radius:12px;background:#0e1c2c77;font-size:14px;color:#b7c6d4}.fr-difficulties button[aria-pressed=true]{border-color:#e9ce94;color:#f8dba5;background:#ead5a415}.fr-cost{font-size:40px;letter-spacing:-1.5px;margin:20px 0 0;color:#f1d39b}.fr-cost small{font-size:14px;letter-spacing:0;color:#b9c8d3}.fr-project-title{font-size:31px;line-height:1.05;letter-spacing:-1px;margin:22px 0 12px}.fr-impact{display:flex;gap:10px;margin-top:18px;padding-top:15px;border-top:1px solid #ffffff15;color:#d6e3d1;font-size:14px;line-height:1.45}.fr-impact::before{content:'↗';font-size:23px;color:#e8cd93}.fr-trophy{width:92px;height:104px;display:block;margin:10px auto 22px;fill:none;stroke:#efd299;stroke-width:1.4;filter:drop-shadow(0 8px 24px #e4c38b30)}.fr-champion{text-align:center}.fr-champion h3{font-size:38px;line-height:1;letter-spacing:-1.7px;margin:5px 0 14px}.fr-champion .fr-overline{margin-bottom:15px}.fr-champion p{max-width:30ch;margin:0 auto 7px}
@keyframes fr-enter{from{opacity:0;transform:translateY(7px)}to{opacity:1;transform:translateY(0)}}@keyframes fr-spin{to{transform:rotate(360deg)}}@keyframes fr-pulse{50%{opacity:.3}}
@media(max-height:740px){.fr-shell{padding:12px 19px 10px;gap:11px}.fr-shell h1,.fr-shell h2{font-size:36px;margin-top:7px}.fr-heading p{margin-top:7px}.fr-card{padding:18px;border-radius:21px}.fr-identity{margin:15px 0}.fr-identity h3{font-size:25px}.fr-stats{gap:12px 18px}.fr-summary{padding:11px 3px}.fr-dock button{padding:8px 1px}.fr-versus{margin:16px 0}.fr-versus strong{font-size:25px}.fr-team-mark{width:63px;height:63px}.fr-card .fr-primary{margin-top:15px}.fr-contract{margin-top:12px;padding-top:11px}.fr-project-title{margin-top:18px}.fr-cost{margin-top:14px}.fr-trophy{height:83px;margin:5px auto 15px}.fr-row{min-height:54px;padding:9px 12px}.fr-list{gap:6px}}
@media(max-height:620px){.fr-shell{gap:8px;padding-top:8px}.fr-heading p{display:none}.fr-shell h1,.fr-shell h2{font-size:30px}.fr-card{padding:14px}.fr-card-head>span,.fr-overline{font-size:10px}.fr-summary{padding:8px 2px}.fr-identity{margin:10px 0}.fr-player-icon{width:52px;height:60px;font-size:25px}.fr-primary,.fr-secondary{min-height:42px;padding:9px 12px}.fr-dock svg{width:18px;height:18px}.fr-dock button{padding:7px 0}.fr-stat{font-size:13px}.fr-stats{gap:9px 16px}.fr-row{min-height:45px;padding:7px 10px}.fr-row small{font-size:11px}.fr-top{max-height:30px}.fr-note{font-size:13px}.fr-subnav button{padding:7px 12px}.fr-project-title{font-size:26px;margin:13px 0 8px}.fr-cost{font-size:32px}.fr-impact{margin-top:12px;padding-top:10px}.fr-versus{margin:12px 0}.fr-champion h3{font-size:30px}.fr-trophy{height:65px;margin:4px auto 12px}}
@media(orientation:landscape) and (max-height:550px){.fr-shell{padding:10px 22px;gap:7px}.fr-heading{position:absolute;top:45px;left:22px;width:34%}.fr-heading h1{font-size:30px}.fr-main{margin-left:38%}.fr-dock{position:absolute;bottom:14px;left:20px;width:34%;flex-wrap:wrap}.fr-dock button{flex-basis:40%}.fr-heading p{display:none}.fr-main .fr-summary,.fr-note{display:none}.fr-top{min-height:25px}.fr-subnav{margin-left:38%}.fr-card{padding:13px}.fr-stats{gap:7px 16px}.fr-identity{margin:8px 0}.fr-list{gap:3px}.fr-row{min-height:36px;padding:5px 9px}.fr-row small{display:none}.fr-main .fr-card.feature{min-height:0}.fr-trophy{height:50px;margin:0 auto 7px}.fr-shell .fr-champion h3{font-size:24px}}
@media(prefers-reduced-motion:reduce){.fr-shell,.fr-busy i,.fr-save::before{animation:none}}
.fr-role-picker{display:flex;align-items:center;gap:12px;min-height:42px;padding:0 12px;border:1px solid #d2dfec2c;border-radius:12px;background:#1020328c;flex:none}.fr-role-picker>span{font-size:12px;color:#a8bdcd;white-space:nowrap}.fr-role-picker select{width:100%;min-width:0;min-height:40px;border:0;background:transparent;color:#e8eaf0;font-size:14px;outline-offset:3px;touch-action:manipulation}.fr-role-picker option{background:#1d3044;color:#f7eee0}.fr-project-levels{display:flex;gap:7px;margin:8px 0 3px}.fr-project-levels i{flex:1;height:5px;border-radius:5px;background:#d4e0eb1b}.fr-project-levels i.done{background:#e6c78c}
@media(max-height:740px){.fr-summary strong{font-size:21px}.fr-summary small{font-size:10px}.fr-role-picker{min-height:38px}.fr-role-picker select{min-height:36px}.fr-contract{font-size:14px}}
@media(max-height:740px){.fr-view-freeAgents,.fr-view-rookies{gap:9px}.fr-view-freeAgents .fr-main,.fr-view-rookies .fr-main{gap:8px}.fr-view-freeAgents .fr-card,.fr-view-rookies .fr-card{padding:13px 15px}.fr-view-freeAgents .fr-identity,.fr-view-rookies .fr-identity{margin:9px 0}.fr-view-freeAgents .fr-player-icon,.fr-view-rookies .fr-player-icon{width:47px;height:57px;font-size:24px}.fr-view-freeAgents .fr-identity h3,.fr-view-rookies .fr-identity h3{font-size:23px}.fr-view-freeAgents .fr-rating strong,.fr-view-rookies .fr-rating strong{font-size:33px}.fr-view-freeAgents .fr-stats,.fr-view-rookies .fr-stats{gap:8px 18px;margin:7px 0}.fr-view-freeAgents .fr-contract,.fr-view-rookies .fr-contract{margin-top:8px;padding-top:8px}.fr-view-freeAgents .fr-subnav button,.fr-view-rookies .fr-subnav button{padding:8px 12px}.fr-view-freeAgents .fr-identity p,.fr-view-rookies .fr-identity p{margin-top:5px}}

.fr-club-crest{width:66px;height:79px;flex:none;display:flex;align-items:center;justify-content:center;flex-direction:column;gap:8px;clip-path:polygon(9% 0,91% 0,100% 16%,92% 75%,50% 100%,8% 75%,0 16%);background:linear-gradient(140deg,#e3cc95,#a28657);box-shadow:inset 0 0 0 6px #ead5a311;color:#172b3e}.fr-club-crest span{font:700 22px Arial;letter-spacing:-1px}.fr-club-crest i{font:700 8px Arial;letter-spacing:3px;border-top:1px solid #18334b55;padding-top:7px}.fr-heading p,.fr-versus strong{overflow-wrap:anywhere}
@media(max-height:620px){.fr-club-crest{width:51px;height:61px}.fr-club-crest span{font-size:18px}}

/* Franchise front office v2. Scoped to keep the shared online league intact. */
#overlay.franchise-panel:has(.fr2){position:fixed;inset:0;padding:calc(env(safe-area-inset-top) + 62px) 22px calc(env(safe-area-inset-bottom) + 20px)!important;background:linear-gradient(135deg,#132636b3,#1529378f)!important;backdrop-filter:blur(3px);overflow:hidden;align-items:stretch;color-scheme:light}
#overlay.franchise-panel:has(.fr2)::before{display:none!important}
#overlay.franchise-panel:has(.fr2)>.panel{width:100%;max-width:1400px;height:100%;max-height:none;min-height:0;margin:auto;padding:0;overflow:visible;background:transparent;border:0;box-shadow:none}
#overlay.franchise-panel .fr2{--fr2-ink:#1d3242;--fr2-muted:#637683;--fr2-line:#dce4e5;--fr2-paper:#f3f5f1;--fr2-navy:#152d40;--fr2-lime:#dcf0a5;display:grid;grid-template-columns:218px minmax(0,1fr);gap:0;height:100%;min-height:0;padding:0;background:var(--fr2-paper);color:var(--fr2-ink);border:1px solid #ffffff80;border-radius:24px;box-shadow:0 20px 70px #06142238;overflow:hidden;isolation:isolate;animation:fr-enter .22s ease-out;font-family:ui-rounded,"SF Pro Rounded",system-ui,-apple-system,"Segoe UI",sans-serif;text-align:left;touch-action:pan-y;user-select:text;-webkit-user-select:text}
#overlay.franchise-panel .fr2 *{box-sizing:border-box}
#overlay.franchise-panel .fr2 button,#overlay.franchise-panel .fr2 input,#overlay.franchise-panel .fr2 select{font:inherit;font-size:14px;min-width:0;letter-spacing:0;touch-action:manipulation}
#overlay.franchise-panel .fr2 button{min-height:42px;cursor:pointer;box-shadow:none;border:1px solid transparent;border-radius:12px;background:none;line-height:1.3;text-transform:none;color:var(--fr2-ink);transition:background .15s,border-color .15s,transform .12s;user-select:none}
#overlay.franchise-panel .fr2 button:disabled{opacity:.43;cursor:default;transform:none}
#overlay.franchise-panel .fr2 button:active:not(:disabled){transform:translateY(1px)}
#overlay.franchise-panel .fr2 :is(button,input,select,summary):focus-visible{outline:3px solid #268dd5;outline-offset:3px}
#overlay.franchise-panel .fr2 svg{display:block;width:21px;height:21px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
#overlay.franchise-panel .fr2 h1,#overlay.franchise-panel .fr2 h2,#overlay.franchise-panel .fr2 h3{color:var(--fr2-ink);font-weight:700;letter-spacing:-.035em;text-wrap:balance;margin:0}
#overlay.franchise-panel .fr2 h1{font-size:clamp(28px,3vw,37px);line-height:1.1}
#overlay.franchise-panel .fr2 h2{font-size:20px;line-height:1.25}
#overlay.franchise-panel .fr2 h3{font-size:18px;line-height:1.25}
#overlay.franchise-panel .fr2 p{font-size:14px;line-height:1.55;color:var(--fr2-muted);margin:0;letter-spacing:0}
#overlay.franchise-panel .fr2 small{font-size:14px;color:var(--fr2-muted);line-height:1.4}
#overlay.franchise-panel .fr2 label{color:var(--fr2-ink)}
#overlay.franchise-panel .fr2-sidebar{display:flex;flex-direction:column;gap:22px;min-height:0;padding:23px 15px 18px;background:var(--fr2-navy);color:#f9fbf7;border-right:1px solid #ffffff12}
#overlay.franchise-panel .fr2-brand{display:flex;align-items:center;gap:9px;text-align:left;color:#f3f8f8!important;padding:3px 7px;min-height:48px;font-size:17px;font-weight:650;line-height:1.1}
#overlay.franchise-panel .fr2-brand b{color:var(--fr2-lime)}
#overlay.franchise-panel .fr2-brand svg{width:16px;height:16px;color:#a4bbc7}
#overlay.franchise-panel .fr2-brand small{display:block;color:#9bb3c0;font-size:11px;letter-spacing:2px;font-weight:600;margin-top:6px}
#overlay.franchise-panel .fr2-sidebar-club{display:flex;flex-direction:column;align-items:flex-start;gap:9px;padding:0 13px 20px;border-bottom:1px solid #cde3ea21}
#overlay.franchise-panel .fr2-sidebar-club>strong{font-size:20px;line-height:1.15;letter-spacing:-.5px;color:#fff}
#overlay.franchise-panel .fr2-sidebar-club>span:last-child{font-size:14px;line-height:1.3;color:#a9c0cc}
#overlay.franchise-panel .fr2-nav{display:flex;flex-direction:column;gap:6px}
#overlay.franchise-panel .fr2-nav button{display:flex;align-items:center;gap:12px;min-height:48px;width:100%;padding:11px 14px;text-align:left;border:1px solid transparent!important;background:transparent;color:#b2c6cf;font-size:15px;font-weight:600;border-radius:13px}
#overlay.franchise-panel .fr2-nav button svg:last-child{margin-left:auto;width:15px;opacity:0}
#overlay.franchise-panel .fr2-nav button[aria-current=page]{background:#e6f1e417;color:#fff;border-color:#d8f1b133!important;box-shadow:inset 3px 0 var(--fr2-lime)}
#overlay.franchise-panel .fr2-nav button[aria-current=page] svg:first-child{color:var(--fr2-lime)}
#overlay.franchise-panel .fr2-nav button[aria-current=page] svg:last-child{opacity:.7}
#overlay.franchise-panel .fr2-nav button:hover{background:#ffffff0b}
#overlay.franchise-panel .fr2-sidebar-bottom{margin-top:auto;padding:0 12px;display:flex;flex-direction:column;gap:9px;font-size:14px;color:#b4c8d1;line-height:1.4}
#overlay.franchise-panel .fr2-save{display:flex;align-items:center;gap:7px;font-size:14px;white-space:nowrap;color:inherit}
#overlay.franchise-panel .fr2-save::before{content:'';height:6px;width:6px;flex:none;border-radius:50%;background:#8fbe86}
#overlay.franchise-panel .fr2-save[data-state=error]::before,#overlay.franchise-panel .fr2-save[data-state=offline]::before,#overlay.franchise-panel .fr2-save[data-state=conflict]::before{background:#dd975f}
#overlay.franchise-panel .fr2-save[data-state=saving]::before,#overlay.franchise-panel .fr2-save[data-state=loading]::before{animation:fr-pulse .8s infinite;background:#dac96b}
#overlay.franchise-panel .fr2-workspace{display:flex;flex-direction:column;min-width:0;min-height:0;overflow:hidden}
#overlay.franchise-panel .fr2-mobile-top,#overlay.franchise-panel .fr2-mobile-nav{display:none}
#overlay.franchise-panel .fr2-content{display:flex;flex-direction:column;gap:22px;min-height:0;min-width:0;flex:1;padding:30px 32px 17px;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#bdcccf transparent;scroll-padding-top:20px}
#overlay.franchise-panel .fr2-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;flex:none;position:static;inset:auto;height:auto;min-height:0;padding:0;background:none;border:0;box-shadow:none;z-index:auto}
#overlay.franchise-panel .fr2-heading::before{display:none}
#overlay.franchise-panel .fr2-heading>div:first-child{min-width:0}
#overlay.franchise-panel .fr2-eyebrow{display:block;margin-bottom:8px;font-size:12px;font-weight:750;letter-spacing:1.4px;text-transform:uppercase;color:#637f89;line-height:1.35}
#overlay.franchise-panel .fr2-heading p{margin-top:8px;max-width:68ch;line-height:1.45}
#overlay.franchise-panel .fr2-heading-actions{display:flex;flex:none;gap:8px}
#overlay.franchise-panel .fr2 .fr2-button{display:inline-flex;align-items:center;justify-content:center;gap:9px;min-height:44px;padding:11px 17px;border-radius:12px;font-size:14px;font-weight:700;line-height:1.3;white-space:normal;text-align:center;border:1px solid var(--fr2-line)}
#overlay.franchise-panel .fr2 .fr2-button svg{height:18px;width:18px}
#overlay.franchise-panel .fr2 .fr2-primary{background:var(--fr2-navy);border-color:var(--fr2-navy)!important;color:#fff;box-shadow:0 3px 0 #0c263414}
#overlay.franchise-panel .fr2 .fr2-primary:hover:not(:disabled){background:#234a63}
#overlay.franchise-panel .fr2 .fr2-secondary{background:#f8faf6;color:var(--fr2-ink);border-color:#d4dfe0!important}
#overlay.franchise-panel .fr2 .fr2-small{min-height:40px;padding:9px 12px;background:#f3f6f3;color:#365869;border-color:#dce5e4!important;font-weight:650;font-size:14px}
#overlay.franchise-panel .fr2 .fr2-light{background:#ffffff0d;color:#e3edf0;border-color:#e2edf337!important}
#overlay.franchise-panel .fr2 .fr2-danger{background:#fff5f0;color:#a84a3d;border-color:#eccbc2!important}
#overlay.franchise-panel .fr2 .fr2-full{display:flex;width:100%;margin-top:14px}
#overlay.franchise-panel .fr2-button-row{display:flex;gap:10px;flex-wrap:wrap;margin-top:18px}
#overlay.franchise-panel .fr2-button-row>*{flex:1;min-width:110px}
#overlay.franchise-panel .fr2-badge{display:inline-flex;align-items:center;align-self:flex-start;max-width:100%;padding:5px 8px;border-radius:7px;background:#e9efed;color:#4d6875;font-size:12px;font-weight:750;line-height:1.3;letter-spacing:.1px;white-space:normal}
#overlay.franchise-panel .fr2-badge.fr2-growth{background:#e8f0d8;color:#527141}
#overlay.franchise-panel .fr2-badge.fr2-loss{background:#f5e7df;color:#ab6a53}
#overlay.franchise-panel .fr2-badge.fr2-light{color:#d5e6e9;background:#ffffff12;border:1px solid #c9dfe51c}
#overlay.franchise-panel .fr2-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;border:1px solid var(--fr2-line);background:var(--fr2-line);border-radius:16px;overflow:hidden;flex:none}
#overlay.franchise-panel .fr2-metric{padding:18px 20px;display:flex;flex-direction:column;gap:5px;background:#fbfcf9;min-width:0}
#overlay.franchise-panel .fr2-metric>span{font-size:14px;color:var(--fr2-muted);line-height:1.3}
#overlay.franchise-panel .fr2-metric strong{font-size:26px;line-height:1.2;letter-spacing:-1px;font-weight:750;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}
#overlay.franchise-panel .fr2-metric small{font-size:12px}
#overlay.franchise-panel .fr2-metrics-pair{grid-template-columns:repeat(2,minmax(0,1fr));margin:14px 0 10px;border-radius:12px}
#overlay.franchise-panel .fr2-metrics-pair .fr2-metric{padding:13px 15px}
#overlay.franchise-panel .fr2-metrics-pair strong{font-size:24px}
#overlay.franchise-panel .fr2-stack{display:flex;flex-direction:column;gap:18px;min-width:0}
#overlay.franchise-panel .fr2-card{display:flex;flex-direction:column;gap:15px;padding:20px;border:1px solid var(--fr2-line);border-radius:18px;background:#fffefa;box-shadow:0 2px 0 #173a4510;min-width:0;min-height:0}
#overlay.franchise-panel .fr2-card-top{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}
#overlay.franchise-panel .fr2-card-top h2{font-size:18px;line-height:1.3;letter-spacing:-.35px}
#overlay.franchise-panel .fr2-card-top>.fr2-button{flex:none}
#overlay.franchise-panel .fr2-hub-grid{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.85fr);gap:20px;align-items:start}
#overlay.franchise-panel .fr2-roster-layout,#overlay.franchise-panel .fr2-draft-layout{display:grid;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);gap:20px;align-items:start}
#overlay.franchise-panel .fr2-detail-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}
#overlay.franchise-panel .fr2-match-card{padding:23px 24px;background:var(--fr2-navy);border:1px solid #143449;border-top:4px solid var(--fr2-team);border-radius:19px;overflow:hidden;color:#fff;box-shadow:0 5px 0 #17394a14}
#overlay.franchise-panel .fr2-match-top{display:flex;justify-content:space-between;align-items:center;gap:9px;font-size:13px;color:#adcad5}
#overlay.franchise-panel .fr2-match-top>span:last-child{text-align:right}
#overlay.franchise-panel .fr2-match-teams{display:grid;grid-template-columns:minmax(0,1fr) 32px minmax(0,1fr);gap:12px;margin:27px 0 21px;align-items:center}
#overlay.franchise-panel .fr2-match-teams>div{display:flex;align-items:center;flex-direction:column;gap:11px;text-align:center;min-width:0}
#overlay.franchise-panel .fr2-match-teams strong{font-size:21px;line-height:1.15;letter-spacing:-.5px;max-width:13ch;text-wrap:balance}
#overlay.franchise-panel .fr2-match-teams small{color:#a8c2ce;font-size:14px;margin-top:-5px}
#overlay.franchise-panel .fr2-vs{font-size:13px;color:#829fad;font-weight:750;text-align:center}
#overlay.franchise-panel .fr2-mark{--team:#337fa3;--trim:#d8e9ad;display:flex;align-items:center;justify-content:center;flex:none;width:59px;height:65px;background:var(--team);color:#fff;border:2px solid #ffffff7a;border-bottom:6px solid var(--trim);border-radius:16px 16px 22px 22px;font-size:19px;font-style:normal;font-weight:850;letter-spacing:-.5px;line-height:1;box-shadow:inset 0 1px #ffffff25,0 4px 0 #112e4020;text-shadow:0 1px 3px #142e5c4a}
#overlay.franchise-panel .fr2-mark-small{width:33px;height:37px;border-width:1px;border-bottom-width:4px;border-radius:8px 8px 12px 12px;font-size:11px;letter-spacing:0;box-shadow:none}
#overlay.franchise-panel .fr2-match-detail{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:15px 0 0;border-top:1px solid #c9dce726;font-size:14px;line-height:1.4;color:#b9d0d8}
#overlay.franchise-panel .fr2-match-detail>span{display:flex;align-items:center;gap:8px;min-width:0}
#overlay.franchise-panel .fr2-match-detail svg{width:17px;height:17px}
#overlay.franchise-panel .fr2-match-card .fr2-primary{background:var(--fr2-lime);color:#263e2b;border-color:var(--fr2-lime)!important;min-height:48px}
#overlay.franchise-panel .fr2-match-card .fr2-primary:hover:not(:disabled){background:#ecfac6}
#overlay.franchise-panel .fr2-match-card>h2{color:#f3f6ec;font-size:28px;margin:23px 0 10px}
#overlay.franchise-panel .fr2-match-card>p,#overlay.franchise-panel .fr2-match-card .fr2-title-icon p{color:#b8cbd5}
#overlay.franchise-panel .fr2-title-icon{display:flex;gap:18px;align-items:center;margin:25px 0}
#overlay.franchise-panel .fr2-title-icon>svg{height:64px;width:64px;color:var(--fr2-lime);stroke-width:1.2}
#overlay.franchise-panel .fr2-title-icon h2{font-size:26px;color:#fff;margin-bottom:9px}
#overlay.franchise-panel .fr2-task-list{display:flex;flex-direction:column;gap:3px;margin:-3px -6px}
#overlay.franchise-panel .fr2 .fr2-task{display:flex;align-items:center;gap:12px;width:100%;padding:12px 8px;min-height:78px;text-align:left;border-radius:12px}
#overlay.franchise-panel .fr2-task:hover{background:#f1f5ed}
#overlay.franchise-panel .fr2-task-icon{display:grid;place-items:center;width:39px;height:43px;flex:none;background:#e9efde;color:#5d7948;border-radius:11px}
#overlay.franchise-panel .fr2-task:nth-child(2) .fr2-task-icon{background:#e4eef2;color:#4b7387}
#overlay.franchise-panel .fr2-task:nth-child(3) .fr2-task-icon{background:#f6eadb;color:#a87b4c}
#overlay.franchise-panel .fr2-task>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:5px;min-width:0}
#overlay.franchise-panel .fr2-task strong{font-size:15px;font-weight:700;line-height:1.2}
#overlay.franchise-panel .fr2-task small{font-size:14px;line-height:1.35}
#overlay.franchise-panel .fr2-task>svg{width:16px;color:#8196a0}
#overlay.franchise-panel .fr2-news{display:flex;align-items:flex-start;gap:11px;padding:14px 17px;border-radius:12px;background:#e8eee8;color:#5d7b67;font-size:14px}
#overlay.franchise-panel .fr2-news>svg{margin-top:2px;width:19px;height:19px}
#overlay.franchise-panel .fr2-news span{font-size:12px;letter-spacing:.8px;text-transform:uppercase;font-weight:750;color:#6b806e}
#overlay.franchise-panel .fr2-news p{margin-top:3px;color:#48665c;line-height:1.45}
#overlay.franchise-panel .fr2-key-values{display:flex;flex-direction:column;gap:0}
#overlay.franchise-panel .fr2-key-values>div{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #e5eae8;font-size:14px;line-height:1.4}
#overlay.franchise-panel .fr2-key-values>div:first-child{padding-top:0}
#overlay.franchise-panel .fr2-key-values>div:last-child{border-bottom:0;padding-bottom:0}
#overlay.franchise-panel .fr2-key-values span{color:var(--fr2-muted)}
#overlay.franchise-panel .fr2-key-values strong{font-weight:650;text-align:right}
#overlay.franchise-panel .fr2-compact-list{display:flex;flex-direction:column;gap:3px}
#overlay.franchise-panel .fr2-compact-list>div{display:flex;align-items:center;gap:10px;padding:9px 4px;min-height:45px;border-radius:10px;font-size:14px}
#overlay.franchise-panel .fr2-compact-list>div.mine{background:#edf3e2;padding-inline:9px}
#overlay.franchise-panel .fr2-compact-list strong{flex:1;font-weight:600;line-height:1.25}
#overlay.franchise-panel .fr2-compact-list b{font-size:15px;white-space:nowrap}
#overlay.franchise-panel .fr2-rank{font-size:14px;font-weight:700;color:#7a8f95;min-width:17px;text-align:center}
#overlay.franchise-panel .fr2-tabs{display:flex;gap:6px;border-bottom:1px solid var(--fr2-line);padding-bottom:10px;overflow:auto;flex:none;scrollbar-width:none;max-width:100%}
#overlay.franchise-panel .fr2-tabs button{flex:none;padding:10px 14px;color:#647e87;font-weight:650;border-radius:10px;font-size:14px}
#overlay.franchise-panel .fr2-tabs button[aria-current=page]{background:#1d3c50;color:#fff;border-color:#1d3c50!important;box-shadow:none}
#overlay.franchise-panel .fr2-filters{display:flex;align-items:stretch;flex-wrap:wrap;gap:9px;min-width:0}
#overlay.franchise-panel .fr2-search{display:flex;align-items:center;gap:8px;border:1px solid var(--fr2-line);background:#f6f8f4;border-radius:11px;padding:0 11px;flex:1;min-width:150px;min-height:44px}
#overlay.franchise-panel .fr2-search svg{width:18px;height:18px;color:#7b939a}
#overlay.franchise-panel .fr2-search input{padding:10px 0;border:0;background:none;color:var(--fr2-ink);width:100%;height:44px;outline-offset:6px}
#overlay.franchise-panel .fr2-search input::placeholder{color:#83969e}
#overlay.franchise-panel .fr2-select{display:flex;flex-direction:column;gap:3px;min-width:115px;max-width:100%;padding:5px 9px;border:1px solid var(--fr2-line);border-radius:10px;background:#f9faf7;flex:1}
#overlay.franchise-panel .fr2-select>span{font-size:11px;line-height:1;letter-spacing:.3px;color:#7b8c92}
#overlay.franchise-panel .fr2-select select{width:100%;min-height:25px;padding:0 16px 0 0;border:0;border-radius:2px;background:transparent;color:#324f60;font-size:14px;outline-offset:3px}
#overlay.franchise-panel .fr2-grow{flex:1}
#overlay.franchise-panel .fr2-field{display:flex;flex-direction:column;gap:7px;min-width:0;margin:0;color:#506a75;font-size:14px}
#overlay.franchise-panel .fr2-field>span{font-weight:650;font-size:14px}
#overlay.franchise-panel .fr2-field input,#overlay.franchise-panel .fr2-field select{width:100%;min-height:46px;padding:10px 12px;background:#f7f9f5;border:1px solid #d7e1e2;border-radius:11px;color:#28495a;font-size:15px}
#overlay.franchise-panel .fr2-field-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#overlay.franchise-panel .fr2-hint{font-size:14px!important;line-height:1.45!important;color:#6a808a!important}
#overlay.franchise-panel .fr2-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;padding:35px 24px;text-align:center;min-height:170px}
#overlay.franchise-panel .fr2-empty>svg{width:34px;height:34px;color:#9badab;stroke-width:1.3}
#overlay.franchise-panel .fr2-empty strong{font-size:17px;line-height:1.3;font-weight:650}
#overlay.franchise-panel .fr2-empty p{max-width:40ch}
#overlay.franchise-panel .fr2-pager{display:flex;align-items:center;justify-content:space-between;gap:10px;padding-top:9px;border-top:1px solid #e5ece7;color:#70858e;font-size:14px}
#overlay.franchise-panel .fr2-pager>div{display:flex;gap:6px}
#overlay.franchise-panel .fr2-player-table{display:flex;flex-direction:column;gap:3px;min-width:0}
#overlay.franchise-panel .fr2-player-table-head,#overlay.franchise-panel .fr2-player-row{display:grid;grid-template-columns:minmax(0,1fr) 34px 81px 42px;gap:10px;align-items:center;min-width:0}
#overlay.franchise-panel .fr2-player-table-head{padding:3px 8px 9px;color:#7c8e95;font-size:12px;font-weight:650;border-bottom:1px solid #e6ece8}
#overlay.franchise-panel .fr2-player-table-head>span:not(:first-child){text-align:right}
#overlay.franchise-panel .fr2 .fr2-player-row{min-height:68px;width:100%;padding:10px 8px;text-align:left;border:1px solid transparent;border-radius:10px;background:transparent;font-size:14px}
#overlay.franchise-panel .fr2-player-row:hover{background:#f3f6ef}
#overlay.franchise-panel .fr2-player-row.selected{border-color:#bad39e!important;background:#f0f5e8}
#overlay.franchise-panel .fr2-player-cell{display:flex;align-items:center;gap:10px;min-width:0}
#overlay.franchise-panel .fr2-position{display:flex;align-items:center;justify-content:center;flex:none;width:34px;height:37px;padding:4px;border-radius:9px;background:#e8eff1;color:#537485;font-size:12px;font-weight:750;font-style:normal;letter-spacing:0}
#overlay.franchise-panel .fr2-player-cell>span{min-width:0;display:flex;flex-direction:column;gap:4px}
#overlay.franchise-panel .fr2-player-cell strong{font-size:15px;font-weight:650;line-height:1.2;overflow-wrap:anywhere}
#overlay.franchise-panel .fr2-player-cell small{font-size:12px;line-height:1.35;color:#7b8f96;max-width:40ch}
#overlay.franchise-panel .fr2-age-col,#overlay.franchise-panel .fr2-salary-col{text-align:right;color:#6c828d;white-space:nowrap;font-size:13px}
#overlay.franchise-panel .fr2-ovr{display:grid;place-items:center;justify-self:end;width:39px;height:39px;border-radius:11px;background:#e8eeec;color:#375c68;font-size:19px;font-weight:750}
#overlay.franchise-panel .fr2-ovr-high{background:#e4efd4;color:#577944}
#overlay.franchise-panel .fr2-player-identity{display:flex;align-items:center;gap:13px;min-width:0;padding:6px 0}
#overlay.franchise-panel .fr2-player-identity>div:nth-child(2){min-width:0;flex:1}
#overlay.franchise-panel .fr2-player-identity h2{font-size:24px;line-height:1.1;overflow-wrap:anywhere}
#overlay.franchise-panel .fr2-player-identity p{margin-top:6px;font-size:13px;line-height:1.35}
#overlay.franchise-panel .fr2-jersey{position:relative;display:grid;place-items:center;flex:none;width:55px;height:64px;background:var(--fr2-team);color:#fff;clip-path:polygon(23% 0,37% 8%,63% 8%,77% 0,100% 14%,89% 36%,80% 29%,80% 100%,20% 100%,20% 29%,11% 36%,0 14%);font-size:20px;font-weight:800;padding-top:6px;text-shadow:0 1px 2px #152d4055}
#overlay.franchise-panel .fr2-archetype{display:block;margin-top:7px;font-size:12px;font-weight:650;color:#6b8261}
#overlay.franchise-panel .fr2-profile-rating{display:flex;flex:none;flex-direction:column;align-items:center;gap:1px;margin-left:auto}
#overlay.franchise-panel .fr2-profile-rating strong{font-size:37px;font-weight:750;color:#1d485d;line-height:1.1;letter-spacing:-1.5px}
#overlay.franchise-panel .fr2-profile-rating small{font-size:10px;font-weight:700;letter-spacing:1px;color:#8da0a7}
#overlay.franchise-panel .fr2-attributes{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:17px 22px;margin:5px 0}
#overlay.franchise-panel .fr2-attributes>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px;font-size:13px;min-width:0;line-height:1.3;color:#6d838d}
#overlay.franchise-panel .fr2-attributes b{font-size:14px;font-weight:650;color:#315769}
#overlay.franchise-panel .fr2-attributes i{grid-column:1/-1;height:5px;width:100%;background:linear-gradient(90deg,#839a6e var(--rating),#e5ece5 0);border-radius:4px}
#overlay.franchise-panel .fr2-profile-footer{display:flex;justify-content:space-between;gap:15px;border-top:1px solid #e5ebe6;padding-top:14px;margin-top:3px}
#overlay.franchise-panel .fr2-profile-footer>span{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#80909a}
#overlay.franchise-panel .fr2-profile-footer>span:last-child{text-align:right}
#overlay.franchise-panel .fr2-profile-footer strong{font-size:17px;font-weight:700;color:#33586a}
#overlay.franchise-panel .fr2-fit-note{display:flex;gap:9px;padding:12px;background:#f1f4e9;border-radius:10px;color:#6a8457}
#overlay.franchise-panel .fr2-fit-note p{color:#697d60;font-size:14px}
#overlay.franchise-panel .fr2-fit-note svg{width:18px;height:18px}
#overlay.franchise-panel .fr2-needs{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:7px}
#overlay.franchise-panel .fr2-needs button{display:flex;flex-direction:column;gap:3px;align-items:center;padding:9px 5px;border:1px solid #e0e7e4!important;border-radius:10px;min-height:60px;position:relative;background:#f5f8f3}
#overlay.franchise-panel .fr2-needs button span{font-size:12px;color:#829285}
#overlay.franchise-panel .fr2-needs button strong{font-size:14px}
#overlay.franchise-panel .fr2-needs button.complete{background:#eaf2df;color:#67824f;border-color:#cfdfbd!important}
#overlay.franchise-panel .fr2-needs button svg{position:absolute;right:3px;top:3px;width:10px;height:10px}
#overlay.franchise-panel .fr2-watch-list{display:flex;flex-direction:column;gap:5px}
#overlay.franchise-panel .fr2-watch-list button{display:flex;align-items:center;text-align:left;gap:11px;padding:9px 2px;width:100%;min-height:65px}
#overlay.franchise-panel .fr2-watch-list button:hover{background:#f1f5e9}
#overlay.franchise-panel .fr2-watch-list button>span:nth-child(2){display:flex;flex:1;flex-direction:column;gap:4px;min-width:0}
#overlay.franchise-panel .fr2-watch-list strong{font-size:14px;font-weight:650}
#overlay.franchise-panel .fr2-watch-list small{font-size:12px}
#overlay.franchise-panel .fr2-unit-list{display:flex;flex-direction:column;gap:3px}
#overlay.franchise-panel .fr2-unit-list>:is(button,div){display:flex;align-items:center;gap:10px;width:100%;min-height:40px;text-align:left;padding:6px 4px;font-size:14px}
#overlay.franchise-panel .fr2-unit-list span{flex:1}
#overlay.franchise-panel .fr2-unit-list small{font-size:12px;color:#8ca099}
#overlay.franchise-panel .fr2-unit-list b{min-width:26px;text-align:right;font-size:15px;color:#5d7c4c}
#overlay.franchise-panel .fr2-progress{height:7px;border-radius:10px;background:#e5ecd9;overflow:hidden}
#overlay.franchise-panel .fr2-progress i{display:block;background:#97b35e;height:100%;border-radius:inherit}
#overlay.franchise-panel .fr2-upgrade-list{display:flex;flex-direction:column;gap:0}
#overlay.franchise-panel .fr2-upgrade-list>div{display:flex;align-items:center;gap:11px;padding:11px 0;border-bottom:1px solid #e9ede7}
#overlay.franchise-panel .fr2-upgrade-list>div:last-child{border:0}
#overlay.franchise-panel .fr2-upgrade-list>div>div{display:flex;flex:1;flex-direction:column;gap:3px;min-width:0}
#overlay.franchise-panel .fr2-upgrade-list strong{font-size:14px;font-weight:650}
#overlay.franchise-panel .fr2-upgrade-list small{font-size:12px;color:#8a9a99}
#overlay.franchise-panel .fr2-upgrade-list b{font-size:18px;color:#31576a}
#overlay.franchise-panel .fr2-upgrade-list .fr2-button{min-width:90px;flex:none}
#overlay.franchise-panel .fr2-playstyles{display:flex;flex-direction:column;gap:16px}
#overlay.franchise-panel .fr2-playstyles>div{display:flex;gap:12px;align-items:flex-start;padding-bottom:16px;border-bottom:1px solid #e8ede7}
#overlay.franchise-panel .fr2-playstyles>div:last-child{padding-bottom:0;border:0}
#overlay.franchise-panel .fr2-playstyles strong{font-size:15px;font-weight:700}
#overlay.franchise-panel .fr2-playstyles p{margin:6px 0 10px;font-size:14px}
#overlay.franchise-panel .fr2-style-icon{display:grid;place-items:center;width:34px;height:37px;background:#edf1e9;border-radius:9px;color:#a3b0a0;flex:none}
#overlay.franchise-panel .fr2-playstyles .unlocked .fr2-style-icon{background:#e1efd0;color:#6a8a48}
#overlay.franchise-panel .fr2-choice-stack{display:flex;flex-direction:column;gap:9px}
#overlay.franchise-panel .fr2 .fr2-option{display:flex;align-items:flex-start;gap:11px;padding:13px;text-align:left;border:1px solid #dce5e0!important;border-radius:12px;background:#f9faf6;color:var(--fr2-ink)}
#overlay.franchise-panel .fr2-option>span:last-child{display:flex;flex-direction:column;gap:5px;min-width:0}
#overlay.franchise-panel .fr2-option strong{font-size:15px;font-weight:700}
#overlay.franchise-panel .fr2-option small{font-size:14px;line-height:1.4;color:#799080}
#overlay.franchise-panel .fr2-option[aria-pressed=true]{background:#eef5e2!important;border-color:#b8cd96!important;color:#345242!important;box-shadow:none}
#overlay.franchise-panel .fr2-radio{height:17px;width:17px;flex:none;border:1.5px solid #c0cec3;border-radius:50%;margin-top:2px;background:#fff}
#overlay.franchise-panel .fr2-option[aria-pressed=true] .fr2-radio{border:5px solid #789747}
#overlay.franchise-panel .fr2-steps{list-style:none;counter-reset:training;display:flex;flex-direction:column;gap:18px;padding:0;margin:0}
#overlay.franchise-panel .fr2-steps li{position:relative;display:flex;flex-direction:column;gap:5px;padding-left:38px;counter-increment:training;font-size:14px}
#overlay.franchise-panel .fr2-steps li::before{content:counter(training);position:absolute;left:0;top:0;width:25px;height:25px;display:grid;place-content:center;background:#e8efdb;color:#7b9457;border-radius:8px;font-size:13px;font-weight:750}
#overlay.franchise-panel .fr2-steps span{color:var(--fr2-muted);line-height:1.45}
#overlay.franchise-panel .fr2-checklist{display:flex;flex-direction:column;gap:13px}
#overlay.franchise-panel .fr2-checklist>div{display:flex;align-items:center;gap:9px;font-size:14px}
#overlay.franchise-panel .fr2-checklist>div>span{width:23px;height:23px;border:1px solid #d2dccc;border-radius:7px;display:grid;place-items:center;background:#f4f7ec;color:#9daa91;flex:none}
#overlay.franchise-panel .fr2-checklist .done>span{background:#e3efd1;color:#79974d;border-color:#c9d9af}
#overlay.franchise-panel .fr2-checklist svg{width:15px;height:15px}
#overlay.franchise-panel .fr2-checklist strong{font-size:14px;flex:1;font-weight:600}
#overlay.franchise-panel .fr2-checklist small{font-size:12px;text-align:right}
#overlay.franchise-panel .fr2-standings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#overlay.franchise-panel .fr2-standings-grid .fr2-card{padding:17px 16px}
#overlay.franchise-panel .fr2-standings-wide{grid-template-columns:minmax(0,1fr)}
#overlay.franchise-panel .fr2-standings-controls{align-items:center}
#overlay.franchise-panel .fr2-standings-controls .fr2-select{max-width:220px}
#overlay.franchise-panel .fr2-standings-controls>.fr2-hint{margin-left:auto}
#overlay.franchise-panel .fr2-table-wrap{overflow-x:auto;max-width:100%;scrollbar-width:thin}
#overlay.franchise-panel .fr2-table{width:100%;border-collapse:collapse;font-size:13px;line-height:1.3;font-variant-numeric:tabular-nums}
#overlay.franchise-panel .fr2-table thead th{color:#8b9a9f;font-size:11px;font-weight:650;padding:0 5px 10px;text-align:right}
#overlay.franchise-panel .fr2-table thead th:first-child{text-align:left}
#overlay.franchise-panel .fr2-table tbody th{text-align:left;font-weight:600;width:auto}
#overlay.franchise-panel .fr2-table td{text-align:right;padding:8px 5px;color:#58717d;font-size:13px}
#overlay.franchise-panel .fr2-table tr{border-bottom:1px solid #e9ece8}
#overlay.franchise-panel .fr2-table tr:last-child{border:0}
#overlay.franchise-panel .fr2-table tr.mine{background:#eff5e4}
#overlay.franchise-panel .fr2-table th button{display:flex;align-items:center;gap:8px;width:100%;padding:8px 4px;text-align:left;font-size:14px;line-height:1.2;font-weight:650;border-radius:5px}
#overlay.franchise-panel .fr2-table th button small{display:block;font-size:11px;color:#8b9c81;margin-top:3px;font-weight:400}
#overlay.franchise-panel .fr2-table .fr2-mark-small{width:25px;height:30px;font-size:9px;border-bottom-width:3px;border-radius:6px 6px 9px 9px}
#overlay.franchise-panel .fr2-schedule{display:flex;flex-direction:column;gap:5px}
#overlay.franchise-panel .fr2-schedule-row{display:flex;align-items:center;gap:15px;min-height:70px;padding:13px 11px;border:1px solid transparent;border-bottom-color:#e9ece5;border-radius:10px;font-size:14px}
#overlay.franchise-panel .fr2-schedule-row.current{border-color:#bfd59e;background:#f2f6e9}
#overlay.franchise-panel .fr2-week{min-width:31px;font-size:13px;font-weight:700;color:#8b9d91}
#overlay.franchise-panel .fr2-schedule-match{display:flex;align-items:center;gap:12px;min-width:0;flex:1}
#overlay.franchise-panel .fr2-schedule-match>div{min-width:0}
#overlay.franchise-panel .fr2-schedule-match strong{font-weight:650;font-size:15px;line-height:1.25;display:block}
#overlay.franchise-panel .fr2-schedule-match small{display:block;font-size:12px;margin-top:4px}
#overlay.franchise-panel .fr2-schedule-result{display:flex;align-items:center;gap:11px;flex:none}
#overlay.franchise-panel .fr2-schedule-result strong{font-size:19px;font-weight:650;font-variant-numeric:tabular-nums}
#overlay.franchise-panel .fr2-bye-symbol{display:grid;place-content:center;width:33px;height:37px;background:#e6ece7;border-radius:10px;color:#98a793;flex:none}
#overlay.franchise-panel .fr2-seed-list{display:flex;flex-direction:column;gap:4px}
#overlay.franchise-panel .fr2-seed-list>div{display:flex;align-items:center;gap:11px;min-height:61px;padding:7px 5px;border-radius:10px}
#overlay.franchise-panel .fr2-seed-list>div.mine{background:#eff5e5}
#overlay.franchise-panel .fr2-seed-list>div>div{flex:1;min-width:0}
#overlay.franchise-panel .fr2-seed-list strong{font-size:14px;line-height:1.2;font-weight:650;display:block}
#overlay.franchise-panel .fr2-seed-list small{font-size:12px;display:block;margin-top:4px}
#overlay.franchise-panel .fr2-seed-list b{font-size:15px;white-space:nowrap}
#overlay.franchise-panel .fr2-details{border-top:1px solid var(--fr2-line);padding-top:10px}
#overlay.franchise-panel .fr2-details summary{font-size:14px;min-height:40px;cursor:pointer;color:#67818d;padding:10px 0}
#overlay.franchise-panel .fr2-bracket{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#overlay.franchise-panel .fr2-bracket-games{display:flex;flex-direction:column;gap:12px}
#overlay.franchise-panel .fr2-bracket-game{padding:10px 12px;background:#f6f8f3;border:1px solid #e4e9de;border-radius:11px}
#overlay.franchise-panel .fr2-bracket-game.mine{border-color:#bad298;background:#f2f6e8}
#overlay.franchise-panel .fr2-bracket-game>div{display:flex;align-items:center;gap:10px;min-height:45px;color:#798c97}
#overlay.franchise-panel .fr2-bracket-game strong{flex:1;font-size:14px;font-weight:600}
#overlay.franchise-panel .fr2-bracket-game b{font-size:17px}
#overlay.franchise-panel .fr2-bracket-game .winner{color:#315a55}
#overlay.franchise-panel .fr2-bracket-game>span{display:block;text-align:right;font-size:11px;color:#8b9d96;margin-top:6px;text-transform:uppercase;letter-spacing:.6px}
#overlay.franchise-panel .fr2-history-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}
#overlay.franchise-panel .fr2-history-champion{display:flex;align-items:center;gap:16px}
#overlay.franchise-panel .fr2-history-champion>svg{width:42px;height:49px;color:#ad9359;stroke-width:1.4}
#overlay.franchise-panel .fr2-history-champion span{color:#909d86;font-size:12px}
#overlay.franchise-panel .fr2-history-champion h3{font-size:22px;margin-top:5px}
#overlay.franchise-panel .fr2-awards{display:flex;flex-direction:column;gap:13px}
#overlay.franchise-panel .fr2-awards>div{display:flex;justify-content:space-between;gap:16px;font-size:14px}
#overlay.franchise-panel .fr2-opponent-roster{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:5px 20px}
#overlay.franchise-panel .fr2-opponent-roster>div{display:flex;align-items:center;gap:10px;min-height:54px;font-size:14px}
#overlay.franchise-panel .fr2-opponent-roster strong{flex:1;font-weight:600}
#overlay.franchise-panel .fr2-opponent-roster small{font-size:12px}
#overlay.franchise-panel .fr2-coach-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
#overlay.franchise-panel .fr2-coach-card{display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:16px;border:1px solid #e1e8de;background:#f7f9f3;border-radius:14px;min-width:0}
#overlay.franchise-panel .fr2-coach-card.hired{border-color:#bacb9d;background:#f0f5e6}
#overlay.franchise-panel .fr2-coach-avatar{height:45px;width:45px;border-radius:15px;display:grid;place-items:center;background:#dfe8d9;color:#688063;font-size:17px;font-weight:700}
#overlay.franchise-panel .fr2-coach-card h3{font-size:19px}
#overlay.franchise-panel .fr2-coach-card p{font-size:14px;line-height:1.45;flex:1}
#overlay.franchise-panel .fr2-coach-cost{font-size:18px;font-weight:700;color:#456273;padding-top:6px}
#overlay.franchise-panel .fr2-coach-card .fr2-button{width:100%;padding-inline:8px}
#overlay.franchise-panel .fr2-difficulty{display:flex;gap:8px}
#overlay.franchise-panel .fr2-difficulty button{flex:1;min-height:46px;padding:11px;border:1px solid #d9e2d6!important;background:#f6f9f1;font-weight:650}
#overlay.franchise-panel .fr2-difficulty button[aria-pressed=true]{background:#dfecc7!important;color:#4b6838!important;border-color:#b8d295!important}
#overlay.franchise-panel .fr2-project-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
#overlay.franchise-panel .fr2-project{gap:17px}
#overlay.franchise-panel .fr2-project h2{font-size:23px}
#overlay.franchise-panel .fr2-project p{flex:1}
#overlay.franchise-panel .fr2-project-icon{width:42px;height:45px;border-radius:13px;display:grid;place-items:center;background:#eaf0e1;color:#749258}
#overlay.franchise-panel .fr2-project:nth-child(2) .fr2-project-icon{background:#e4edf0;color:#5a7f91}
#overlay.franchise-panel .fr2-project:nth-child(3) .fr2-project-icon{background:#f4ebdc;color:#a58b62}
#overlay.franchise-panel .fr2-project-levels{display:flex;gap:8px}
#overlay.franchise-panel .fr2-project-levels span{display:flex;align-items:center;justify-content:center;min-height:29px;flex:1;background:#e9eee3;border-radius:8px;color:#a5b199;font-size:12px;font-weight:650}
#overlay.franchise-panel .fr2-project-levels span.done{background:#dce9c7;color:#7a984e}
#overlay.franchise-panel .fr2-project-levels svg{height:16px;width:16px}
#overlay.franchise-panel .fr2-project-cost{font-size:27px;font-weight:750;letter-spacing:-1px;color:#355b6c}
#overlay.franchise-panel .fr2-project-cost span{display:block;font-size:12px;font-weight:400;letter-spacing:0;margin-top:5px;color:#8b9b98}
#overlay.franchise-panel .fr2-project .fr2-full{margin-top:0}
#overlay.franchise-panel .fr2-venue-banner{display:flex;align-items:center;gap:17px;padding:22px;border-radius:17px;background:#e5eeec;border:1px solid #d2e1dd}
#overlay.franchise-panel .fr2-venue-banner>svg{height:40px;width:40px;color:#70988b;stroke-width:1.4}
#overlay.franchise-panel .fr2-venue-banner>div{flex:1}
#overlay.franchise-panel .fr2-venue-banner h2{font-size:24px}
#overlay.franchise-panel .fr2-venue-banner p{margin-top:5px}
#overlay.franchise-panel .fr2-ledger{display:flex;flex-direction:column;gap:2px}
#overlay.franchise-panel .fr2-ledger>div{display:flex;align-items:center;gap:12px;min-height:64px;padding:9px 0;border-bottom:1px solid #e7ece4}
#overlay.franchise-panel .fr2-ledger-icon{display:grid;place-items:center;width:34px;height:36px;background:#eeeae0;border-radius:10px;color:#a3967a;flex:none}
#overlay.franchise-panel .fr2-ledger-icon.income{background:#e5eed8;color:#759153}
#overlay.franchise-panel .fr2-ledger-icon svg{height:19px;width:19px}
#overlay.franchise-panel .fr2-ledger>div>div{display:flex;flex:1;flex-direction:column;gap:5px;min-width:0}
#overlay.franchise-panel .fr2-ledger strong{font-size:14px;line-height:1.25;font-weight:650}
#overlay.franchise-panel .fr2-ledger small{font-size:12px}
#overlay.franchise-panel .fr2-ledger b{font-size:14px;white-space:nowrap;color:#a18771}
#overlay.franchise-panel .fr2-ledger b.income{color:#6b8957}
#overlay.franchise-panel .fr2-setup-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(320px,1fr);gap:22px;align-items:start}
#overlay.franchise-panel .fr2-club-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}
#overlay.franchise-panel .fr2 .fr2-club-choice{position:relative;display:flex;align-items:center;gap:10px;width:100%;min-height:75px;padding:12px;text-align:left;background:#f5f8f2;border:1px solid #dfe8db!important;border-radius:12px}
#overlay.franchise-panel .fr2-club-choice>span:nth-child(2){min-width:0;flex:1}
#overlay.franchise-panel .fr2-club-choice strong{display:block;font-size:14px;line-height:1.2;font-weight:700}
#overlay.franchise-panel .fr2-club-choice small{display:block;font-size:11px;margin-top:5px;line-height:1.25;color:#8ca080}
#overlay.franchise-panel .fr2-club-choice[aria-pressed=true]{background:#eaf3dc!important;color:#355746!important;border-color:#adca83!important;box-shadow:none}
#overlay.franchise-panel .fr2-club-choice>svg{width:14px;height:14px;flex:none;color:#7c9b4f}
#overlay.franchise-panel .fr2-selected-club{display:flex;align-items:center;gap:16px;margin-bottom:2px}
#overlay.franchise-panel .fr2-selected-club h3{font-size:24px}
#overlay.franchise-panel .fr2-selected-club p{margin-top:4px}
#overlay.franchise-panel .fr2-venue-line{display:flex;align-items:center;gap:10px;border-top:1px solid #e5ebdf;padding-top:16px;margin-top:2px;color:#799273}
#overlay.franchise-panel .fr2-venue-line>div{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}
#overlay.franchise-panel .fr2-venue-line strong{font-size:14px;color:#48645c;font-weight:600}
#overlay.franchise-panel .fr2-venue-line span{font-size:12px;color:#8da083}
#overlay.franchise-panel .fr2-draft-order{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:7px}
#overlay.franchise-panel .fr2-draft-order>span{display:flex;gap:8px;align-items:center;padding:8px;border-radius:8px;background:#f3f6ef;font-size:12px;color:#849878;overflow:hidden}
#overlay.franchise-panel .fr2-draft-order>span.mine{background:#e6efda;color:#668148}
#overlay.franchise-panel .fr2-draft-order b{font-size:12px;color:#526f51;min-width:17px}
#overlay.franchise-panel .fr2-trade-list{display:flex;flex-direction:column;gap:7px}
#overlay.franchise-panel .fr2-trade-list>button{display:flex;align-items:center;gap:10px;text-align:left;min-height:75px;padding:11px;border:1px solid #e2e8de!important;background:#f7f9f2;border-radius:11px}
#overlay.franchise-panel .fr2-trade-list>button.selected{border-color:#b2ca93!important;background:#edf4e0}
#overlay.franchise-panel .fr2-trade-list>button>div{flex:1;display:flex;flex-direction:column;gap:5px;min-width:0}
#overlay.franchise-panel .fr2-trade-list strong{font-size:14px;font-weight:650}
#overlay.franchise-panel .fr2-trade-list small{font-size:12px;line-height:1.4}
#overlay.franchise-panel .fr2-trade-list b{font-size:13px;white-space:nowrap;color:#789254}
#overlay.franchise-panel .fr2-trade-comparison{display:grid;grid-template-columns:minmax(0,1fr) 23px minmax(0,1fr);gap:13px;align-items:center;padding:17px 0}
#overlay.franchise-panel .fr2-trade-comparison>div{display:flex;flex-direction:column;gap:8px;min-width:0}
#overlay.franchise-panel .fr2-trade-comparison>div:last-child{text-align:right}
#overlay.franchise-panel .fr2-trade-comparison span{font-size:12px;font-weight:650;color:#8b9b81}
#overlay.franchise-panel .fr2-trade-comparison strong{font-size:21px;line-height:1.2;font-weight:700;letter-spacing:-.5px}
#overlay.franchise-panel .fr2-trade-comparison b{font-size:18px;color:#5a7c52}
#overlay.franchise-panel .fr2-trade-comparison small{font-size:12px}
#overlay.franchise-panel .fr2-trade-comparison>svg{color:#839a7a}
#overlay.franchise-panel .fr2-confirm{width:100%;max-width:650px;margin:auto}
#overlay.franchise-panel .fr2-confirm .fr2-card{padding:30px;gap:20px}
#overlay.franchise-panel .fr2-alert{display:flex;align-items:center;gap:14px;margin:18px 24px 0;padding:14px 17px;background:#fff1e5;border:1px solid #e9c8a4;border-radius:12px;color:#8f6644;flex:none}
#overlay.franchise-panel .fr2-alert>div{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0;font-size:14px;line-height:1.4}
#overlay.franchise-panel .fr2-alert strong{font-size:15px}
#overlay.franchise-panel .fr2 .fr2-alert .fr2-button{background:#fffbf5;color:#9b6b48;border-color:#dfc0a0!important}
#overlay.franchise-panel .fr2-notice{display:flex;align-items:center;gap:10px;margin:12px 24px 0;padding:12px 15px;background:#eaf2dc;color:#627e4d;border:1px solid #cddcb8;border-radius:12px;font-size:14px;line-height:1.4}
#overlay.franchise-panel .fr2-card .fr2-notice{margin:0}
#overlay.franchise-panel .fr2-busy{position:absolute;inset:0;z-index:5;display:flex;align-items:center;justify-content:center;gap:13px;background:#edf2e9bb;backdrop-filter:blur(3px);color:#4d6b54;font-size:15px}
#overlay.franchise-panel .fr2-busy>span{width:23px;height:23px;border:2px solid #aabc8b50;border-top-color:#6e8c4e;border-radius:50%;animation:fr-spin .7s linear infinite}
#overlay.franchise-panel .fr2-footnote{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-top:auto;padding:18px 2px 0;border-top:1px solid #dfe7da;background:none;font-size:12px;text-align:left;line-height:1.5;letter-spacing:0;color:#91a087;flex:none}
#overlay.franchise-panel .fr2-footnote details{max-width:380px}
#overlay.franchise-panel .fr2-footnote summary{font-size:12px;cursor:pointer;min-height:28px;color:#7d9472;text-align:right}
#overlay.franchise-panel .fr2-footnote p{font-size:12px;margin-top:8px;color:#7c8e79}
#overlay.franchise-panel .fr2 .fr-role-picker{background:#f4f7ed;color:#526e57;border-color:#d6e0cd;min-height:46px}
#overlay.franchise-panel .fr2 .fr-role-picker select{color:#345b54;min-height:42px;background:transparent}
#overlay.franchise-panel .fr2 .fr-row{background:#f7f9f2;color:#35584c;border:1px solid #dce7d2;box-shadow:none;min-height:74px;padding:14px}
#overlay.franchise-panel .fr2 .fr-row strong{font-size:16px;color:#35564e}
#overlay.franchise-panel .fr2 .fr-row small{font-size:14px;color:#829676}
#overlay.franchise-panel .fr2 .fr-row label{display:flex;align-items:center;gap:12px;font-size:14px;color:#6f8963;margin-top:9px}
#overlay.franchise-panel .fr2 .fr-row select{flex:1;min-height:42px;padding:9px 10px;border:1px solid #cbdabe;background:#fffef9;color:#476452;border-radius:10px;font-size:14px}
#overlay.franchise-panel .fr2 .fr-note{font-size:14px;color:#768b6a;padding:0;line-height:1.5}
@media(min-width:1180px){#overlay.franchise-panel .fr2-sticky-detail,#overlay.franchise-panel .fr2-setup-summary{position:sticky;top:0}}
@media(max-width:1200px){#overlay.franchise-panel .fr2{grid-template-columns:185px minmax(0,1fr)}#overlay.franchise-panel .fr2-content{padding:25px 24px 16px}#overlay.franchise-panel .fr2-sidebar{padding:20px 11px}#overlay.franchise-panel .fr2-sidebar-club{padding-inline:8px}#overlay.franchise-panel .fr2-sidebar-club>strong{font-size:19px}#overlay.franchise-panel .fr2-coach-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#overlay.franchise-panel .fr2-roster-layout,#overlay.franchise-panel .fr2-draft-layout{grid-template-columns:minmax(0,1.25fr) minmax(280px,1fr)}#overlay.franchise-panel .fr2-club-grid{grid-template-columns:minmax(0,1fr)}#overlay.franchise-panel .fr2-metric{padding:16px}#overlay.franchise-panel .fr2-metric strong{font-size:24px}#overlay.franchise-panel .fr2-needs{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:1000px){#overlay.franchise-panel:has(.fr2){padding:calc(env(safe-area-inset-top) + 53px) 12px calc(env(safe-area-inset-bottom) + 12px)!important}#overlay.franchise-panel .fr2{grid-template-columns:minmax(0,1fr);border-radius:21px}#overlay.franchise-panel .fr2-sidebar{display:none}#overlay.franchise-panel .fr2-mobile-top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 20px;background:var(--fr2-navy);color:#bfd3da;flex:none;min-height:48px}#overlay.franchise-panel .fr2-mobile-top button{display:flex;align-items:center;gap:6px;color:#edf6ef;min-height:34px;padding:6px 0;font-size:14px;font-weight:600}#overlay.franchise-panel .fr2-mobile-top button svg{width:15px;height:15px}#overlay.franchise-panel .fr2-mobile-top .fr2-save{font-size:12px}#overlay.franchise-panel .fr2-mobile-nav{display:block;flex:none;background:var(--fr2-navy);border-top:1px solid #46656f1c;padding:7px 12px}#overlay.franchise-panel .fr2-mobile-nav .fr2-nav{flex-direction:row;gap:5px}#overlay.franchise-panel .fr2-mobile-nav .fr2-nav button{flex:1;flex-direction:column;align-items:center;justify-content:center;gap:5px;padding:7px 3px;min-height:58px;border-radius:11px;font-size:13px;line-height:1.2}#overlay.franchise-panel .fr2-mobile-nav .fr2-nav button svg:last-child{display:none}#overlay.franchise-panel .fr2-mobile-nav .fr2-nav button[aria-current=page]{box-shadow:none;background:#e7f1c919}#overlay.franchise-panel .fr2-mobile-nav .fr2-nav svg{width:19px;height:19px}#overlay.franchise-panel .fr2-hub-grid{grid-template-columns:minmax(0,1.3fr) minmax(260px,1fr)}#overlay.franchise-panel .fr2-content{gap:20px;padding:23px 22px 16px}#overlay.franchise-panel .fr2-heading h1{font-size:32px}#overlay.franchise-panel .fr2-setup-grid{grid-template-columns:minmax(0,1.1fr) minmax(300px,1fr)}}
@media(max-width:740px){#overlay.franchise-panel .fr2-hub-grid,#overlay.franchise-panel .fr2-roster-layout,#overlay.franchise-panel .fr2-draft-layout,#overlay.franchise-panel .fr2-detail-grid,#overlay.franchise-panel .fr2-setup-grid{grid-template-columns:minmax(0,1fr)}#overlay.franchise-panel .fr2-sticky-detail{position:static}#overlay.franchise-panel .fr2-setup-summary{order:-1}#overlay.franchise-panel .fr2-club-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#overlay.franchise-panel .fr2-heading{align-items:flex-start;gap:12px}#overlay.franchise-panel .fr2-heading-actions{max-width:130px}#overlay.franchise-panel .fr2-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}#overlay.franchise-panel .fr2-standings-grid,#overlay.franchise-panel .fr2-bracket,#overlay.franchise-panel .fr2-history-grid{grid-template-columns:minmax(0,1fr)}#overlay.franchise-panel .fr2-project-grid{grid-template-columns:minmax(0,1fr)}#overlay.franchise-panel .fr2-project{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px}#overlay.franchise-panel .fr2-project>.fr2-card-top{grid-column:1/-1}#overlay.franchise-panel .fr2-project>h2{align-self:center}#overlay.franchise-panel .fr2-project>p{grid-row:3;grid-column:1/-1}#overlay.franchise-panel .fr2-project-levels{align-self:center}#overlay.franchise-panel .fr2-project .fr2-full{align-self:center}#overlay.franchise-panel .fr2-needs{grid-template-columns:repeat(6,minmax(0,1fr))}#overlay.franchise-panel .fr2-draft-layout .fr2-sticky-detail{order:-1}#overlay.franchise-panel .fr2-standings-controls>.fr2-hint{flex-basis:100%;margin:0}#overlay.franchise-panel .fr2-venue-banner>.fr2-badge{display:none}#overlay.franchise-panel .fr2-match-teams strong{max-width:16ch}#overlay.franchise-panel .fr2-profile-rating strong{font-size:39px}#overlay.franchise-panel .fr2-setup-grid>.fr2-stack:first-child{order:0}#overlay.franchise-panel .fr2-setup-summary{display:contents}#overlay.franchise-panel .fr2-setup-summary>.fr2-card:first-child{order:-1}#overlay.franchise-panel .fr2-setup-summary>.fr2-card:last-child{order:1}}
@media(max-width:480px){#overlay.franchise-panel:has(.fr2){padding:calc(env(safe-area-inset-top) + 46px) 0 env(safe-area-inset-bottom)!important;backdrop-filter:none}#overlay.franchise-panel .fr2{border-radius:0;border:0}#overlay.franchise-panel .fr2-content{padding:21px 15px 16px;gap:18px}#overlay.franchise-panel .fr2-mobile-top{padding:6px 16px;min-height:44px}#overlay.franchise-panel .fr2-mobile-nav{padding:5px 7px}#overlay.franchise-panel .fr2-mobile-nav .fr2-nav button{font-size:12px;min-height:58px;gap:5px}#overlay.franchise-panel .fr2-mobile-nav .fr2-nav svg{width:21px;height:21px}#overlay.franchise-panel .fr2-heading h1{font-size:29px}#overlay.franchise-panel .fr2-heading-actions .fr2-small{font-size:12px;min-height:40px;max-width:110px;padding:8px;gap:5px}#overlay.franchise-panel .fr2-heading-actions svg{display:none}#overlay.franchise-panel .fr2-eyebrow{font-size:11px;letter-spacing:1.1px}#overlay.franchise-panel .fr2-card{padding:17px;border-radius:16px;gap:14px}#overlay.franchise-panel .fr2-card-top h2{font-size:18px}#overlay.franchise-panel .fr2-card-top>.fr2-button{font-size:12px;padding:8px 10px}#overlay.franchise-panel .fr2-metric{padding:14px 15px}#overlay.franchise-panel .fr2-metric strong{font-size:25px}#overlay.franchise-panel .fr2-metric small{font-size:12px}#overlay.franchise-panel .fr2-match-card{padding:19px 18px;border-radius:16px}#overlay.franchise-panel .fr2-match-teams{margin:24px 0 20px;gap:8px}#overlay.franchise-panel .fr2-match-teams strong{font-size:19px}#overlay.franchise-panel .fr2-match-top{font-size:12px}#overlay.franchise-panel .fr2-match-top .fr2-badge{font-size:11px}#overlay.franchise-panel .fr2-match-detail{font-size:13px}#overlay.franchise-panel .fr2-tabs{gap:3px;padding-bottom:9px}#overlay.franchise-panel .fr2-tabs button{padding:9px 12px;min-height:42px;font-size:14px}#overlay.franchise-panel .fr2-filters .fr2-search{flex-basis:100%}#overlay.franchise-panel .fr2-select{min-width:105px}#overlay.franchise-panel .fr2-player-table-head,#overlay.franchise-panel .fr2-player-row{grid-template-columns:minmax(0,1fr) 74px 37px;gap:9px}#overlay.franchise-panel .fr2-player-table-head>span:nth-child(2),#overlay.franchise-panel .fr2-age-col{display:none}#overlay.franchise-panel .fr2-player-row{padding:9px 4px!important}#overlay.franchise-panel .fr2-player-cell{gap:8px}#overlay.franchise-panel .fr2-player-cell strong{font-size:14px}#overlay.franchise-panel .fr2-player-cell small{font-size:11px}#overlay.franchise-panel .fr2-player-cell .fr2-position{width:30px;height:34px;font-size:11px}#overlay.franchise-panel .fr2-salary-col{font-size:12px}#overlay.franchise-panel .fr2-ovr{width:36px;height:37px;font-size:18px}#overlay.franchise-panel .fr2-player-identity{gap:11px}#overlay.franchise-panel .fr2-player-identity h2{font-size:25px}#overlay.franchise-panel .fr2-jersey{width:47px;height:58px}#overlay.franchise-panel .fr2-profile-rating strong{font-size:35px}#overlay.franchise-panel .fr2-profile-rating small{font-size:10px}#overlay.franchise-panel .fr2-attributes{gap:16px 20px}#overlay.franchise-panel .fr2-needs{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px}#overlay.franchise-panel .fr2-needs button{padding:9px 3px;min-height:57px}#overlay.franchise-panel .fr2-needs button strong{font-size:12px}#overlay.franchise-panel .fr2-needs button span{font-size:11px}#overlay.franchise-panel .fr2-club-grid{gap:6px}#overlay.franchise-panel .fr2-club-choice{gap:7px!important;padding:10px 8px!important;min-height:77px!important}#overlay.franchise-panel .fr2-club-choice strong{font-size:13px}#overlay.franchise-panel .fr2-club-choice small{font-size:11px}#overlay.franchise-panel .fr2-club-choice>.fr2-mark-small{height:34px;width:28px;font-size:9px}#overlay.franchise-panel .fr2-club-choice>svg{display:none}#overlay.franchise-panel .fr2-field-grid{grid-template-columns:minmax(0,1fr)}#overlay.franchise-panel .fr2-schedule-row{gap:9px;padding:12px 4px;min-height:73px}#overlay.franchise-panel .fr2-schedule-match{gap:8px}#overlay.franchise-panel .fr2-schedule-match strong{font-size:14px}#overlay.franchise-panel .fr2-schedule-match .fr2-mark-small{width:28px;height:32px;font-size:10px}#overlay.franchise-panel .fr2-week{min-width:27px;font-size:12px}#overlay.franchise-panel .fr2-schedule-result{gap:6px}#overlay.franchise-panel .fr2-schedule-result strong{font-size:17px}#overlay.franchise-panel .fr2-schedule-result .fr2-badge{font-size:11px;padding:4px 6px}#overlay.franchise-panel .fr2-table th button{font-size:13px;gap:6px}#overlay.franchise-panel .fr2-table td{padding:7px 4px;font-size:12px}#overlay.franchise-panel .fr2-table thead th{font-size:10px;padding-inline:4px}#overlay.franchise-panel .fr2-table th .fr2-mark-small{width:22px;height:27px;font-size:8px;flex:none}#overlay.franchise-panel .fr2-coach-grid{gap:10px}#overlay.franchise-panel .fr2-coach-card{padding:14px 12px;gap:10px}#overlay.franchise-panel .fr2-coach-card h3{font-size:19px}#overlay.franchise-panel .fr2-coach-card p{font-size:14px}#overlay.franchise-panel .fr2-coach-card .fr2-badge{font-size:11px}#overlay.franchise-panel .fr2-coach-card .fr2-button{font-size:13px;min-height:46px;padding-inline:6px}#overlay.franchise-panel .fr2-project-cost{font-size:24px}#overlay.franchise-panel .fr2-project h2{font-size:22px}#overlay.franchise-panel .fr2-project .fr2-full{font-size:13px}#overlay.franchise-panel .fr2-opponent-roster{grid-template-columns:minmax(0,1fr)}#overlay.franchise-panel .fr2-venue-banner{padding:18px;gap:14px}#overlay.franchise-panel .fr2-venue-banner h2{font-size:22px}#overlay.franchise-panel .fr2-venue-banner>svg{width:33px;height:33px}#overlay.franchise-panel .fr2-ledger{gap:4px}#overlay.franchise-panel .fr2-ledger-icon{display:none}#overlay.franchise-panel .fr2-ledger b{font-size:13px}#overlay.franchise-panel .fr2-upgrade-list .fr2-button{min-width:84px;padding-inline:10px}#overlay.franchise-panel .fr2-upgrade-list strong{font-size:14px}#overlay.franchise-panel .fr2-upgrade-list small{font-size:12px}#overlay.franchise-panel .fr2-alert{margin:12px 12px 0;padding:12px;gap:10px}#overlay.franchise-panel .fr2-notice{margin:10px 12px 0}#overlay.franchise-panel .fr2-alert>div{font-size:13px}#overlay.franchise-panel .fr2-footnote{gap:15px;font-size:11px}#overlay.franchise-panel .fr2-footnote>span{max-width:48%}#overlay.franchise-panel .fr2-footnote details{max-width:48%}#overlay.franchise-panel .fr2-footnote summary{font-size:11px}#overlay.franchise-panel .fr2-confirm .fr2-card{padding:22px}}
@media(orientation:landscape) and (max-height:560px) and (min-width:650px){#overlay.franchise-panel:has(.fr2){padding:calc(env(safe-area-inset-top) + 49px) 10px 8px!important}#overlay.franchise-panel .fr2{grid-template-columns:153px minmax(0,1fr);border-radius:16px}#overlay.franchise-panel .fr2-sidebar{display:flex;padding:10px 9px;gap:10px}#overlay.franchise-panel .fr2-brand{font-size:14px;min-height:35px;padding:1px 4px}#overlay.franchise-panel .fr2-brand small{display:none}#overlay.franchise-panel .fr2-sidebar-club,#overlay.franchise-panel .fr2-sidebar-bottom,#overlay.franchise-panel .fr2-mobile-top,#overlay.franchise-panel .fr2-mobile-nav{display:none}#overlay.franchise-panel .fr2-nav{gap:3px}#overlay.franchise-panel .fr2-nav button{min-height:43px;padding:9px 10px;gap:9px;font-size:14px}#overlay.franchise-panel .fr2-nav button>svg:first-child{height:19px;width:19px}#overlay.franchise-panel .fr2-nav button>svg:last-child{display:none}#overlay.franchise-panel .fr2-content{padding:18px 19px 14px;gap:15px}#overlay.franchise-panel .fr2-heading h1{font-size:28px}#overlay.franchise-panel .fr2-heading p{font-size:14px}#overlay.franchise-panel .fr2-eyebrow{font-size:11px;margin-bottom:5px}#overlay.franchise-panel .fr2-hub-grid,#overlay.franchise-panel .fr2-detail-grid,#overlay.franchise-panel .fr2-roster-layout,#overlay.franchise-panel .fr2-draft-layout,#overlay.franchise-panel .fr2-setup-grid{grid-template-columns:minmax(0,1fr)}#overlay.franchise-panel .fr2-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}#overlay.franchise-panel .fr2-metric{padding:12px}#overlay.franchise-panel .fr2-metric strong{font-size:22px}#overlay.franchise-panel .fr2-metric>span{font-size:12px}#overlay.franchise-panel .fr2-metric small{display:none}#overlay.franchise-panel .fr2-standings-grid,#overlay.franchise-panel .fr2-project-grid{grid-template-columns:minmax(0,1fr)}#overlay.franchise-panel .fr2-coach-grid{grid-template-columns:repeat(2,minmax(0,1fr))}#overlay.franchise-panel .fr2-match-teams{margin:20px 0}#overlay.franchise-panel .fr2-match-teams strong{font-size:20px}#overlay.franchise-panel .fr2-metrics-pair{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:350px){#overlay.franchise-panel .fr2-content{padding-inline:11px}#overlay.franchise-panel .fr2-card{padding:14px}#overlay.franchise-panel .fr2-player-table-head,#overlay.franchise-panel .fr2-player-row{grid-template-columns:minmax(0,1fr) 35px}#overlay.franchise-panel .fr2-player-table-head>span:nth-child(3),#overlay.franchise-panel .fr2-salary-col{display:none}#overlay.franchise-panel .fr2-club-grid{grid-template-columns:minmax(0,1fr)}#overlay.franchise-panel .fr2-coach-grid{grid-template-columns:minmax(0,1fr)}#overlay.franchise-panel .fr2-needs{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){#overlay.franchise-panel .fr2,#overlay.franchise-panel .fr2 button,#overlay.franchise-panel .fr2-busy>span,#overlay.franchise-panel .fr2-save::before{animation:none;transition:none}}
/* Scouting, reserve depth, and recorded player statistics. */
#overlay.franchise-panel .fr2-scout-report{display:flex;flex-direction:column;gap:10px;padding:15px;border-radius:12px;background:#f0f5e7;border:1px solid #d8e5c6}
#overlay.franchise-panel .fr2-scout-report>div:first-child{display:flex;align-items:center;justify-content:space-between;gap:9px}
#overlay.franchise-panel .fr2-scout-report strong{font-size:15px;color:#537447;font-weight:700}
#overlay.franchise-panel .fr2-scout-report p{font-size:14px;color:#6d8261;line-height:1.5}
#overlay.franchise-panel .fr2-scout-report p>b{display:block;margin-bottom:4px;color:#648150;font-size:12px;letter-spacing:.5px;text-transform:uppercase}
#overlay.franchise-panel .fr2-scout-ranges{display:grid;grid-template-columns:1fr 1fr;gap:10px;border-block:1px solid #dce6d1;padding:11px 0}
#overlay.franchise-panel .fr2-scout-ranges>span{display:flex;flex-direction:column;gap:4px;color:#889779;font-size:12px}
#overlay.franchise-panel .fr2-scout-ranges b{font-size:21px;color:#567345;font-weight:700;letter-spacing:-.5px}
#overlay.franchise-panel .fr2-scout-preview{border-top:1px solid #e5ebdd;padding-top:13px}
#overlay.franchise-panel .fr2-scout-preview p{font-size:14px;color:#8a9b80}
#overlay.franchise-panel .fr2-coach-cost small{display:block;color:#92a383;font-size:12px;line-height:1.5;margin-top:5px;font-weight:400;letter-spacing:0}
#overlay.franchise-panel .fr2-draft-clock{display:flex;align-items:center;justify-content:space-between;gap:14px}
#overlay.franchise-panel .fr2-draft-clock>div{display:flex;flex-direction:column;gap:6px}
#overlay.franchise-panel .fr2-draft-clock>div>span{font-size:13px;color:#87987d}
#overlay.franchise-panel .fr2-draft-clock strong{font-size:23px;font-weight:700;letter-spacing:-.5px;line-height:1.2}
#overlay.franchise-panel .fr2-draft-board{display:flex;flex-direction:column;gap:4px}
#overlay.franchise-panel .fr2-draft-board>div{display:flex;align-items:center;gap:11px;min-height:60px;padding:8px 4px;font-size:14px;border-radius:9px}
#overlay.franchise-panel .fr2-draft-board>div.mine{background:#edf4df}
#overlay.franchise-panel .fr2-draft-board>div>span:first-child{font-size:12px;font-weight:650;min-width:21px;color:#90a180;text-align:center}
#overlay.franchise-panel .fr2-draft-board>div>div{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
#overlay.franchise-panel .fr2-draft-board strong{font-size:14px;font-weight:650}
#overlay.franchise-panel .fr2-draft-board small{font-size:12px;color:#8b9c81}
#overlay.franchise-panel .fr2-draft-board b{font-size:17px;color:#65854b}
#overlay.franchise-panel .fr2-stat-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}
#overlay.franchise-panel .fr2-stat-grid .fr2-metric{padding:13px;background:#f2f6ea;border-radius:11px}
#overlay.franchise-panel .fr2-stat-grid .fr2-metric strong{font-size:25px}
#overlay.franchise-panel .fr2-stat-grid .fr2-metric>span{font-size:13px}
#overlay.franchise-panel .fr2-leader-list{display:flex;flex-direction:column;gap:4px}
#overlay.franchise-panel .fr2-leader-list>div{display:flex;align-items:center;gap:12px;min-height:61px;padding:8px 3px;border-bottom:1px solid #e8ede2}
#overlay.franchise-panel .fr2-leader-list>div>div{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}
#overlay.franchise-panel .fr2-leader-list strong{font-size:15px;font-weight:650}
#overlay.franchise-panel .fr2-leader-list small{font-size:12px;color:#8a9b81}
#overlay.franchise-panel .fr2-leader-list b{font-size:23px;font-weight:700;color:#607f4d;letter-spacing:-.5px;font-variant-numeric:tabular-nums}
/* Standard labels remain readable in portrait and landscape. */
#overlay.franchise-panel .fr2 :is(.fr2-player-cell,.fr2-watch-list,.fr2-club-choice,.fr2-schedule-match,.fr2-seed-list,.fr2-draft-board,.fr2-leader-list) small{font-size:14px;line-height:1.35}
#overlay.franchise-panel .fr2 :is(.fr2-player-cell,.fr2-club-choice,.fr2-table th button) strong{font-size:14px}
#overlay.franchise-panel .fr2 :is(.fr2-select>span,.fr2-player-table-head,.fr2-salary-col,.fr2-age-col,.fr2-profile-footer>span,.fr2-coach-cost small,.fr2-unit-list small,.fr2-ledger small,.fr2-trade-list small){font-size:14px}
#overlay.franchise-panel .fr2 .fr2-mobile-nav .fr2-nav button{font-size:14px}
#overlay.franchise-panel .fr2 .fr2-select{padding:7px 9px;gap:4px;min-height:59px}
#overlay.franchise-panel .fr2 .fr2-select>span{font-size:12px;line-height:1.1}
#overlay.franchise-panel .fr2 .fr2-player-row{min-height:76px}
#overlay.franchise-panel .fr2 .fr2-club-choice{min-height:82px}
#overlay.franchise-panel .fr2 .fr2-player-table-head{font-size:12px}
@media(max-width:480px){#overlay.franchise-panel .fr2 .fr2-salary-col{font-size:13px}#overlay.franchise-panel .fr2 .fr2-club-choice{gap:8px}#overlay.franchise-panel .fr2 .fr2-club-choice small{font-size:12px}#overlay.franchise-panel .fr2 .fr2-player-cell small{font-size:12px}#overlay.franchise-panel .fr2 .fr2-table th button{font-size:14px}#overlay.franchise-panel .fr2 .fr2-table td{font-size:13px}#overlay.franchise-panel .fr2 .fr2-profile-footer>span{font-size:14px}#overlay.franchise-panel .fr2 .fr2-attributes>div{font-size:14px}}
#overlay.franchise-panel .fr2 :is(.fr2-player-cell,.fr2-watch-list,.fr2-schedule-match,.fr2-seed-list,.fr2-draft-board,.fr2-leader-list,.fr2-coach-cost,.fr2-trade-list,.fr2-ledger) small{color:#657780}
#overlay.franchise-panel .fr2 :is(.fr2-profile-footer>span,.fr2-scout-preview p,.fr2-select>span){color:#697d79}
#overlay.franchise-panel .fr2 .fr2-hint{color:#62777f!important}
#overlay.franchise-panel .fr2-setup-steps{display:flex;align-items:center;gap:12px;flex:none;color:#8a9a91;font-size:14px;line-height:1.3}
#overlay.franchise-panel .fr2-setup-steps>span{display:flex;align-items:center;gap:8px}
#overlay.franchise-panel .fr2-setup-steps b{display:grid;place-items:center;width:25px;height:25px;border-radius:8px;background:#e7ede4;color:#96a58c;font-size:12px}
#overlay.franchise-panel .fr2-setup-steps .current{color:#3d614e;font-weight:700}
#overlay.franchise-panel .fr2-setup-steps .current b{background:#dcebc4;color:#71914a}
#overlay.franchise-panel .fr2-setup-steps .done b{background:#1e4150;color:#fff}
#overlay.franchise-panel .fr2-setup-steps>i{height:1px;background:#d3dfcd;width:36px;flex:none}
#overlay.franchise-panel .fr2-setup-stage-settings{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}
@media(min-width:1180px){#overlay.franchise-panel .fr2-setup-preview{position:sticky;top:0}}
@media(max-width:740px){#overlay.franchise-panel .fr2-setup-stage-settings{grid-template-columns:minmax(0,1fr)}#overlay.franchise-panel .fr2-setup-stage-club .fr2-setup-preview{display:none}#overlay.franchise-panel .fr2-setup-steps{font-size:14px;gap:9px}#overlay.franchise-panel .fr2-setup-steps>i{width:23px}}
@media(orientation:landscape) and (max-height:360px) and (min-width:650px){#overlay.franchise-panel .fr2-sidebar{gap:0;padding:8px 9px}#overlay.franchise-panel .fr2-brand{display:none}}

/* Keep every subsection discoverable on phones and compact tablets. */
@media(max-width:1000px){
 #overlay.franchise-panel .fr2-tabs{flex-wrap:wrap;overflow:visible;gap:6px;padding-bottom:10px}
 #overlay.franchise-panel .fr2-tabs button{flex:0 0 auto;min-height:42px;padding:9px 12px;white-space:normal}
}
@media(max-width:480px){
 #overlay.franchise-panel .fr2-filters .fr2-select:has(select[data-fr-select="filterRole"]){flex:1.35 1 150px;min-width:140px}
 #overlay.franchise-panel .fr2-filters .fr2-select:has(select[data-fr-select="sort"]){flex:1 1 100px;min-width:94px}
 #overlay.franchise-panel .fr2-select select{padding-inline:0}
}

/* Upcoming draft assets: large touch targets and narrow-screen wrapping. */
#overlay.franchise-panel .fr2-content>.fr2-card{flex:0 0 auto}
.fr2-pick-package{margin-bottom:20px;min-width:0}
.fr2-pick-package .fr2-stack,.fr2-pick-package .fr2-detail-grid{min-width:0}
.fr2-pick-package fieldset{min-width:0;max-width:100%;margin:0;padding:12px;border:1px solid var(--fr2-line,#344258);border-radius:12px}
.fr2-pick-package legend{max-width:100%;padding:0 6px;white-space:normal;overflow-wrap:anywhere}
.fr2-pick-package .fr2-pick-row{display:flex;gap:10px;align-items:center;min-height:44px;margin:4px 0;cursor:pointer}
.fr2-pick-package .fr2-pick-row input[type=checkbox]{width:20px;height:20px;min-width:20px;margin:0;flex:0 0 20px;accent-color:var(--fr2-team,#50b9ee)}
.fr2-pick-package .fr2-pick-row span{min-width:0;white-space:normal;overflow-wrap:anywhere;line-height:1.45}
.fr2-pick-package select{min-width:0;max-width:100%}


/* ===== Game-screen theme for the franchise workspace =====
   Night-field workspace, chunky bright cards, gold calls to action, crests up front.
   #game prefix outranks the later layers in game-menus.css without !important. */
#game #overlay.franchise-panel:has(.fr2){background:radial-gradient(120% 50% at 50% -6%,#1f5d8a88,transparent 62%),linear-gradient(180deg,#071728,#0b2a3e 50%,#061422)}
#game #overlay.franchise-panel:has(.fr2)::before{opacity:.28}
#game #overlay.franchise-panel .fr2-sidebar{background:linear-gradient(180deg,#0d3350,#0a2840);border:2px solid #ffffff2b;box-shadow:0 4px 0 #030d16}
#game #overlay.franchise-panel .fr2-brand{font-weight:900;font-style:italic}
#game #overlay.franchise-panel .fr2-brand b{color:#ffd045}
#game #overlay.franchise-panel .fr2-nav button{color:#c9d9e0;font-weight:800;border-radius:13px}
#game #overlay.franchise-panel .fr2-nav button[aria-current=page]{background:linear-gradient(180deg,#ffdf6e,#ffc52a);color:#10263a;box-shadow:0 3px 0 #b27f0c}
#game #overlay.franchise-panel .fr2-nav button[aria-current=page] svg{color:#10263a}
#game #overlay.franchise-panel .fr2-workspace{background:linear-gradient(180deg,#0e3148e8,#0a2436f0);backdrop-filter:blur(6px);border:2px solid #ffffff1f;border-top:0}
#game #overlay.franchise-panel .fr2-content{scrollbar-color:#ffffff40 transparent}
/* Text that sits straight on the workspace. */
#game #overlay.franchise-panel .fr2-heading :is(h1,h2){color:#fff;font-weight:900;letter-spacing:-1px}
#game #overlay.franchise-panel .fr2-heading h1{font-style:italic}
#game #overlay.franchise-panel .fr2-heading :is(p,span,small){color:#c9d9e0}
#game #overlay.franchise-panel .fr2-heading .fr2-overline,#game #overlay.franchise-panel .fr2-heading>div>span:first-child{color:#ffd045}
#game #overlay.franchise-panel .fr2-content>:is(.fr2-filters,.fr2-setup-steps,.fr2-legend,label,p,.fr2-field,.fr2-select) :is(span,label,small,p,b,strong),#game #overlay.franchise-panel .fr2-content>:is(p,small){color:#c9d9e0}
/* Cards: bright, chunky, keylined. */
#game #overlay.franchise-panel .fr2 .fr2-card{background:#fbfaf0;border:3px solid #fff;border-radius:20px;box-shadow:0 5px 0 #020b14,0 10px 22px #0005}
#game #overlay.franchise-panel .fr2 .fr2-card-top h2{font-weight:900;letter-spacing:-.4px}
#game #overlay.franchise-panel .fr2 .fr2-card:has(.fr2-quick-actions),#game #overlay.franchise-panel .fr2 .fr2-card:has(.fr2-task-list){background:transparent;border:0;box-shadow:none}
/* Tabs and buttons. */
#game #overlay.franchise-panel .fr2-tabs button{background:#0f3149;color:#dce8ee;border:2px solid #ffffff2b;box-shadow:0 3px 0 #030d16;font-weight:850}
#game #overlay.franchise-panel .fr2-tabs button[aria-current=page]{background:linear-gradient(180deg,#48a3ff,#2477e2);color:#fff;border-color:#d3e8ff;box-shadow:0 3px 0 #17489a}
#game #overlay.franchise-panel .fr2 .fr2-primary{background:linear-gradient(180deg,#ffdf6e,#ffc52a);color:#10263a;border:2px solid #fff3c2!important;box-shadow:0 4px 0 #b27f0c;font-weight:900}
#game #overlay.franchise-panel .fr2 .fr2-primary:hover:not(:disabled){background:linear-gradient(180deg,#ffe78e,#ffcd45)}
#game #overlay.franchise-panel .fr2 .fr2-secondary{background:#fff;border:2px solid #cddbe0!important;box-shadow:0 3px 0 #9fb3bb;font-weight:800}
#game #overlay.franchise-panel .fr2 :is(.fr2-primary,.fr2-secondary,.fr2-tabs button,.fr2-nav button,.fr2-club-choice,.fr2-weekly-grid button,.fr2-task-list>button):active{transform:translateY(3px)}
/* The week's matchup: crests big, VS slammed. */
#game #overlay.franchise-panel .fr2-content>.fr2-match-card{background:linear-gradient(100deg,#1a4f78f0 0%,#11304ae6 48%,#5a2a3de6 100%);border:3px solid #ffffff55;box-shadow:0 6px 0 #020b14,0 12px 26px #0007}
#game #overlay.franchise-panel .fr2-match-teams .fr2-mark{width:84px;height:84px}
#game #overlay.franchise-panel .fr2-match-teams strong{color:#fff;font-weight:900}
#game #overlay.franchise-panel .fr2-vs{color:#ffd045;font-size:28px;font-weight:900;font-style:italic;text-shadow:0 3px 0 #04101b}
#game #overlay.franchise-panel .fr2-match-card .fr2-primary{min-height:52px;font-size:16px}
/* Weekly task tiles: saturated, one colour per job. */
#game #overlay.franchise-panel .fr2 .fr2-weekly-grid button{background:linear-gradient(150deg,#3dd17d,#1f9b55);color:#fff;border:3px solid #c9f6da;box-shadow:0 5px 0 #146a3a}
#game #overlay.franchise-panel .fr2 .fr2-weekly-grid button:nth-child(2){background:linear-gradient(150deg,#4a9dff,#1f62d2);border-color:#d2e6ff;box-shadow:0 5px 0 #17489a}
#game #overlay.franchise-panel .fr2 .fr2-weekly-grid button:nth-child(3){background:linear-gradient(150deg,#a47cff,#6b40e2);border-color:#e3d7ff;box-shadow:0 5px 0 #48288f}
#game #overlay.franchise-panel .fr2 .fr2-weekly-grid button :is(strong,small,span,svg){color:#fff}
#game #overlay.franchise-panel .fr2 .fr2-weekly-grid button.complete{filter:saturate(.45) brightness(.9)}
#game #overlay.franchise-panel .fr2 .fr2-season-trail button{background:#fbfaf0;border:2px solid #fff;box-shadow:0 3px 0 #020b14}
#game #overlay.franchise-panel .fr2 .fr2-season-trail button.current{border-color:#ffd045;box-shadow:0 3px 0 #b27f0c}
#game #overlay.franchise-panel .fr2 .fr2-task-list>button{background:#fbfaf0;border:3px solid #fff;box-shadow:0 4px 0 #020b14}
/* Club picker: crests first, chosen club in gold. */
#game #overlay.franchise-panel .fr2 .fr2-club-choice{background:#fbfaf0;border:3px solid #fff;box-shadow:0 4px 0 #9fb3bb}
#game #overlay.franchise-panel .fr2 .fr2-club-choice[aria-pressed=true]{background:#fff4c7;border-color:#ffd045;box-shadow:0 4px 0 #b27f0c}
#game #overlay.franchise-panel .fr2-selected-club .fr2-mark{width:72px;height:72px}
/* Draft signing and practice reward moments. */
#game #overlay.franchise-panel .fr2 .fr2-signing{border:3px solid #fff;box-shadow:0 8px 0 #020b14}
#game #overlay.franchise-panel .fr2 .fr2-signing-stage>.fr2-mark{width:72px;height:72px}
#game #overlay.franchise-panel .fr2 .fr2-signing .fr2-primary{background:linear-gradient(180deg,#ffdf6e,#ffc52a);color:#10263a}
#game #overlay.franchise-panel .fr2 .fr2-practice-reward{border:3px solid #fff;box-shadow:0 5px 0 #020b14}
#game #overlay.franchise-panel .fr2 .fr2-prospect{border:3px solid #fff;box-shadow:0 4px 0 #9fb3bb}
#game #overlay.franchise-panel .fr2 .fr2-prospect.selected{border-color:#ffd045;box-shadow:0 4px 0 #b27f0c}
/* Metrics strip reads as a scoreboard. */
#game #overlay.franchise-panel .fr2-metrics{background:linear-gradient(180deg,#0e2e45,#0a2133);border:2px solid #ffffff2b;box-shadow:0 4px 0 #020b14,inset 0 -4px 0 #ffd045}
#game #overlay.franchise-panel .fr2-metrics strong{color:#fff;font-weight:900}
@media(prefers-reduced-motion:reduce){#game #overlay.franchise-panel .fr2 :is(button):active{transform:none}}
.pd-reduced-motion #game #overlay.franchise-panel .fr2 button:active{transform:none}
#game #overlay.franchise-panel .fr2 .fr2-crest>svg{width:100%;height:100%;stroke:none}
#game #overlay.franchise-panel .fr2-setup-steps{color:#c9d9e0}
#game #overlay.franchise-panel .fr2-setup-steps b{background:#0f3149;color:#dce8ee;border:2px solid #ffffff2b}
#game #overlay.franchise-panel .fr2-setup-steps .current{color:#fff}
#game #overlay.franchise-panel .fr2-setup-steps .current b{background:#ffd045;color:#10263a;border-color:#fff3c2}
#game #overlay.franchise-panel .fr2 .fr2-card{--fr2-muted:#4d6470}
#game #overlay.franchise-panel .fr2-brand{width:auto;flex:none;padding:6px 16px 6px 10px;gap:8px;white-space:nowrap;box-sizing:border-box;overflow:visible}
/* In-card secondary labels: at least 3:1 on the cream cards. */
#game #overlay.franchise-panel .fr2 :is(.fr2-card,.fr2-club-choice,.fr2-task-list>button,.fr2-season-trail button,.fr2-prospect) :is(small,th,.fr2-week,.fr2-bye-symbol,.fr2-kicker){color:#4d6470}
#game #overlay.franchise-panel .fr2 :is(.fr2-card,.fr2-club-choice) :is(small,span):not([class]){color:#4d6470}
#game #overlay.franchise-panel .fr2 .fr2-project span:not([class]){color:#3f5763}
#game #overlay.franchise-panel .fr2 .fr2-project-levels span:not(.done){color:#3f5763}
/* Franchise owner studio: actual field and athlete renderers, with anchored draft actions. */
#game #overlay.franchise-panel>.panel{display:flex;flex-direction:column;min-height:0}
#game #overlay.franchise-panel>.panel>.fr2{flex:1 1 auto;height:auto;min-height:0}
#game #overlay.franchise-panel>.panel::after{flex:none}
#game #overlay.franchise-panel .fo-scene{position:relative;height:260px;min-height:180px;border:3px solid #8cabc066;border-radius:22px;overflow:hidden;background:#122e41;flex:none}
#game #overlay.franchise-panel .fo-scene canvas{display:block;width:100%;height:100%}
#game #overlay.franchise-panel .fo-scene-label{position:absolute;inset:auto 0 0;padding:30px 22px 16px;background:linear-gradient(transparent,#031326ed);color:#fff;display:flex;flex-direction:column;gap:3px;pointer-events:none}
#game #overlay.franchise-panel .fo-scene-label small{font-size:14px;letter-spacing:2px;color:#ffd33f}
#game #overlay.franchise-panel .fo-scene-label b{font-size:28px;line-height:1.1}
#game #overlay.franchise-panel .fo-scene-label span{font-size:14px;color:#dce5ed}
#game #overlay.franchise-panel .fo-studio{display:grid;grid-template-columns:1.5fr 1fr;gap:16px;flex:none}
#game #overlay.franchise-panel .fo-uniforms{display:flex;align-items:center;min-height:240px;background:linear-gradient(130deg,var(--fr2-team),#071c2e);border-radius:22px;padding:16px;gap:8px;overflow:hidden}
#game #overlay.franchise-panel .fo-uniforms canvas{position:static;width:130px;height:220px;flex:none;transform:none}
#game #overlay.franchise-panel .fo-uniforms h2{font-size:26px;color:#fff;line-height:1.05;margin:8px 0;overflow-wrap:anywhere}
#game #overlay.franchise-panel .fo-uniforms p,#game #overlay.franchise-panel .fo-uniforms strong{color:#e7eff4;font-size:14px}
#game #overlay.franchise-panel .fo-switch{display:flex;gap:8px;flex-wrap:wrap}
#game #overlay.franchise-panel .fo-switch button,#game #overlay.franchise-panel .fo-venue-choices button{background:#0b263e;border:2px solid #83a4bb55;border-radius:14px;padding:12px;display:flex;flex:1;min-width:0;flex-direction:column;gap:6px;color:#eef5fc;text-align:left;white-space:normal;min-height:58px}
#game #overlay.franchise-panel .fo-switch button[aria-pressed=true],#game #overlay.franchise-panel .fo-venue-choices button[aria-pressed=true]{border-color:#ffd33f;box-shadow:0 0 0 1px #ffd33f}
#game #overlay.franchise-panel .fo-switch b,#game #overlay.franchise-panel .fo-venue-choices b{font-size:17px;line-height:1.1;color:#fff}
#game #overlay.franchise-panel .fo-switch small,#game #overlay.franchise-panel .fo-venue-choices small{font:14px/1.35 system-ui;color:#c4d5e4}
#game #overlay.franchise-panel .fo-venue-choices{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
#game #overlay.franchise-panel .fo-venue-choices span{font-size:14px;color:#ffd33f}
#game #overlay.franchise-panel .fr2 .fr2-card .fo-switch button[data-fr] small,#game #overlay.franchise-panel .fr2 .fr2-card .fo-venue-choices button[data-fr] small{color:#c4d5e4}
#game #overlay.franchise-panel .fr2 .fr2-card .fo-venue-choices button[data-fr] span{color:#ffd33f}
#game #overlay.franchise-panel .fo-colors{display:flex;gap:10px;justify-content:space-between}
#game #overlay.franchise-panel .fo-colors label{display:grid;gap:6px;color:#4d6470;font-size:14px}
#game #overlay.franchise-panel .fo-colors input{padding:3px;width:54px;height:44px;border:2px solid #8ca9bc;border-radius:10px;background:#102f49}
#game #overlay.franchise-panel .fo-campus{display:grid;gap:14px}
#game #overlay.franchise-panel .fo-dashboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
#game #overlay.franchise-panel .fo-dashboard>div{display:flex;flex-direction:column;gap:8px;padding:18px;background:#0b273e;border:2px solid #7b9db255;border-radius:16px}
#game #overlay.franchise-panel .fo-dashboard small{font-size:13px;letter-spacing:1px;color:#b7d1e5}
#game #overlay.franchise-panel .fo-dashboard b{font-size:27px;color:#ffe058;line-height:1}
#game #overlay.franchise-panel .fo-dashboard span{font:14px/1.35 system-ui;color:#d6e4ee}
#game #overlay.franchise-panel .fo-prospect-art{display:block;height:108px;position:relative;background:linear-gradient(transparent,#173f57);border-radius:12px}
#game #overlay.franchise-panel .fo-prospect-art canvas{position:static;width:100%;height:108px;transform:none}
#game #overlay.franchise-panel .fr2-signing-stage>canvas{position:relative;display:block;width:180px;height:270px;transform:none}
#game #overlay.franchise-panel .fo-draft-dock{flex:none;display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#082137;padding:12px 18px calc(12px + env(safe-area-inset-bottom,0px));border-top:2px solid #8aa6bd66}
#game #overlay.franchise-panel .fo-draft-dock>div{display:flex;flex-direction:column;gap:5px;margin-right:auto;color:#ffe058}
#game #overlay.franchise-panel .fo-draft-dock small{font-size:14px;color:#d8e7f4}
#game #overlay.franchise-panel .fo-draft-dock .fr2-button{padding:10px 14px;min-height:44px;font-size:15px}
@media(max-width:740px){
#game #overlay.franchise-panel .fo-studio{grid-template-columns:1fr}
#game #overlay.franchise-panel .fo-scene{height:220px}
#game #overlay.franchise-panel .fo-uniforms{min-height:150px}
#game #overlay.franchise-panel .fo-uniforms canvas{height:150px;width:100px}
#game #overlay.franchise-panel .fo-dashboard{grid-template-columns:1fr}
#game #overlay.franchise-panel .fo-draft-dock{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;padding:8px 10px calc(8px + env(safe-area-inset-bottom,0px))}
#game #overlay.franchise-panel .fo-draft-dock>div{grid-column:span 2;margin:0;font-size:14px;overflow:hidden}
#game #overlay.franchise-panel .fo-draft-dock small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#game #overlay.franchise-panel .fo-draft-dock .fr2-button{font-size:14px;padding:8px 4px}
}
@media(max-height:560px) and (orientation:landscape){
#game #overlay.franchise-panel .fo-studio{grid-template-columns:1.5fr 1fr}
#game #overlay.franchise-panel .fo-scene{height:180px}
#game #overlay.franchise-panel .fo-uniforms{min-height:160px}
#game #overlay.franchise-panel .fo-draft-dock{display:flex;padding:6px 12px}
}
/* Franchise screen: two solo clubs (Pro and Arcade, each for good) and online leagues. The generic panel skin in
   arena-presentation.css and sports-ui.css (both loaded after this sheet) outranks plain selectors, so the card
   paint carries !important like the kick-choice tiles it sits among. */
#game #overlay .fr-slots-screen{display:flex;flex-direction:column;gap:10px;text-align:left}
#game #overlay .fr-slots-screen>h2{margin:0!important}
#game #overlay .panel .fr-slots-lead{margin:-2px 0 2px;font-family:var(--sp-ui);font-weight:800;font-size:14px;line-height:1.35;color:#dfe8ff!important;text-shadow:0 1px 0 rgba(8,14,48,.55)}
#game #overlay .fr-slots{display:grid;gap:10px}
#game #overlay .panel :is(.fr-slot,.fr-slot-league){position:relative;isolation:isolate;overflow:hidden;margin:0;border:0!important;color:#fff!important;text-align:left;box-shadow:0 0 0 1px var(--sp-edge),inset 0 0 0 2.5px rgba(255,255,255,.9),0 3px 0 var(--sp-base),var(--sp-lift)!important;transition:transform .09s ease-out}
#game #overlay .panel .fr-slot{display:grid;grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:86px;padding:9px 12px 9px 10px;border-radius:18px!important}
#game #overlay .panel .fr-slot-pro{background:repeating-linear-gradient(90deg,rgba(255,255,255,.06) 0 2px,transparent 2px 36px),linear-gradient(165deg,#4a6db0 0%,#1d3561 52%,#0e1b3a 100%)!important}
#game #overlay .panel .fr-slot-arcade{background:repeating-conic-gradient(from 0deg at 85% 110%,rgba(255,255,255,.12) 0deg 6deg,transparent 6deg 15deg),linear-gradient(170deg,#58e070 0%,var(--sp-green) 45%,var(--sp-green-lo) 100%)!important}
/* The home switch's ruleset: a yellow edge, so the preselection reads on touch too (no focus ring there). */
#game #overlay .panel .fr-slot.fr-slot-picked{box-shadow:0 0 0 3px var(--sp-yellow),inset 0 0 0 2.5px rgba(255,255,255,.95),0 3px 0 var(--sp-base),var(--sp-lift)!important}
#game #overlay .panel :is(.fr-slot,.fr-slot-league):is(:hover,:focus-visible){transform:translateY(-2px)}
#game #overlay .panel :is(.fr-slot,.fr-slot-league):active{transform:translateY(3px)}
#game #overlay.active .panel :is(.fr-slot,.fr-slot-league):is(:focus-visible,.gm-focused){box-shadow:0 0 0 3px #fff,0 0 0 7px var(--sp-yellow),0 7px 14px 7px rgba(3,9,40,.42)!important}
#game #overlay .fr-slot-art{position:relative;width:62px;height:66px;display:grid;place-items:center;border-radius:14px;background:rgba(4,11,48,.3);box-shadow:inset 0 0 0 1.5px rgba(255,255,255,.18)}
#game #overlay .fr-slot-art canvas.sp-star{position:absolute;left:0;right:0;bottom:0;width:100%;height:122%;pointer-events:none}
#game #overlay .fr-slot-art .club-mark{width:52px;height:52px}
#game #overlay .fr-slot-copy{display:grid;justify-items:start;gap:4px;min-width:0}
#game #overlay .panel .fr-slot-copy b{max-width:100%;font-family:var(--sp-display);font-weight:400;font-size:21px;line-height:1.05;letter-spacing:.3px;color:#fff!important;-webkit-text-stroke:5px var(--sp-ink);paint-order:stroke fill;text-shadow:0 3px 0 var(--sp-ink);overflow-wrap:anywhere}
#game #overlay .panel .fr-slot-copy small{font-family:var(--sp-ui);font-weight:800;font-size:12.5px;line-height:1.2;color:#eef4ff!important;text-shadow:0 1px 0 rgba(8,14,48,.65)}
#game #overlay .fr-slot-copy .rs-tag{font-size:11px;padding:3px 7px 2px}
#game #overlay .fr-slot-cta{padding:8px 11px 7px;border-radius:11px;background:linear-gradient(180deg,#fff,#e6eeff);color:var(--sp-ink);font-family:var(--sp-display);font-size:13px;line-height:1;letter-spacing:.5px;white-space:nowrap;box-shadow:0 0 0 1.5px var(--sp-ink),0 2px 0 var(--sp-ink)}
#game #overlay .panel .fr-slot-league{display:grid;gap:3px;padding:11px 16px;border-radius:16px!important;background:repeating-conic-gradient(from 0deg at 85% 110%,rgba(255,255,255,.12) 0deg 6deg,transparent 6deg 15deg),linear-gradient(170deg,var(--sp-purple-hi) 0%,var(--sp-purple) 45%,var(--sp-purple-lo) 100%)!important}
#game #overlay .panel .fr-slot-league b{font-family:var(--sp-display);font-weight:400;font-size:19px;line-height:1.05;letter-spacing:.3px;color:#fff!important;-webkit-text-stroke:5px var(--sp-ink);paint-order:stroke fill;text-shadow:0 3px 0 var(--sp-ink)}
#game #overlay .panel .fr-slot-league span{font-family:var(--sp-ui);font-weight:800;font-size:12.5px;line-height:1.25;color:#fff!important;text-shadow:0 1px 0 rgba(8,14,48,.6)}
#game #overlay .panel .fr-slots-status{margin:0;font-family:var(--sp-ui);font-weight:800;font-size:13px;line-height:1.3;color:#ffe08a!important}
#game #overlay .fr-slots-status:empty{display:none}
#game #overlay .fr-slots-screen>[data-menu-cancel]{margin:2px 0 0!important}
@media(min-width:600px){#game #overlay .fr-slots{grid-template-columns:repeat(2,minmax(0,1fr))}}
/* Short landscape: clubs side by side, the league and BACK share the last row. */
@media(orientation:landscape) and (max-height:500px){
 #game #overlay .fr-slots-screen{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,.42fr);gap:8px 10px}
 #game #overlay .fr-slots-screen>:not(.fr-slot-league):not([data-menu-cancel]){grid-column:1/-1}
 #game #overlay .fr-slots-screen>.eyebrow{justify-self:start}
 #game #overlay .panel .fr-slots-lead{margin:-4px 0 0;font-size:13px}
 #game #overlay .panel .fr-slot{min-height:74px;padding-top:7px;padding-bottom:7px}
 #game #overlay .panel .fr-slot-league{padding:8px 14px}
 #game #overlay .fr-slots-screen>[data-menu-cancel]{margin:0!important;align-self:stretch}
}
/* The PRO / ARCADE badge beside the clubhouse ribbon. */
#game #overlay.franchise-panel .fr2 .fr2-heading .rs-tag{margin:0 10px 6px 0;padding:4px 8px 3px;font-size:12px}
/* Save Access: a key's two solo clubs as compact rows (rules tag, club, season) above the restore buttons. */
#game #overlay .save-access .save-clubs{display:grid;gap:6px;margin:0 0 12px}
#game #overlay .save-access .save-club{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;margin:0;padding:8px 10px;border-radius:10px;background:rgba(255,255,255,.08)}
#game #overlay .save-access .save-club b{font-family:var(--sp-display);font-weight:400;font-size:17px;line-height:1.1;color:var(--sp-yellow);overflow-wrap:anywhere}
#game #overlay .save-access .save-club small{font-family:var(--sp-ui);font-weight:800;font-size:12px;color:#dfeaf0;white-space:nowrap}
/* Short screens: while a found save waits for a choice, the intro and the key reveal step aside so its clubs show. */
@media(max-height:760px){#game #overlay .save-access:has(#save-key-restore)>:is(h2+p,#save-key-reveal){display:none}}

/* Franchise entry uses the title screen's blue game tray and clear action hierarchy.
   Scoped here so the shared home styles and roster/result screens keep their owners. */
#game #overlay.franchise-entry-panel:has(.fr2){padding:calc(env(safe-area-inset-top) + 52px) 18px calc(env(safe-area-inset-bottom) + 18px);background:#081b30}
#game #overlay.franchise-entry-panel:has(.fr2)::before{background:linear-gradient(155deg,#102d50ee,#081b30e8)}
#game #overlay.franchise-entry-panel .panel:has(.fr2){max-width:980px}
#game #overlay.franchise-entry-panel .fr2-sidebar{background:#102d4bea;border-color:#a4c9eb33}
#game #overlay.franchise-entry-panel .fr2-workspace{background:transparent}
#game #overlay.franchise-entry-panel .fr2-content{padding:clamp(22px,5vw,50px);background:transparent;color:#f4fbff}
#game #overlay.franchise-entry-panel .fr2-brand,#game #overlay.franchise-entry-panel .fr2-mobile-top button{color:#eaf7ff;background:transparent;border:0;box-shadow:none}
#game #overlay.franchise-entry-panel .fr2-save,#game #overlay.franchise-entry-panel .fr2-sidebar-bottom{color:#accbe1}
#game #overlay.franchise-entry-panel :is(h1,h2,h3){color:#f4fbff}
#game #overlay.franchise-entry-panel .fr2-eyebrow{color:#aad6fb;letter-spacing:1.5px}
#game #overlay.franchise-entry-panel p{color:#b6d3e8}
.fr-entry{max-width:640px;margin:auto}
#game #overlay.franchise-entry-panel .fr-entry h1{font-size:clamp(36px,6vw,62px);line-height:1.02;letter-spacing:-1.8px;margin:18px 0;font-weight:750}
#game #overlay.franchise-entry-panel .fr-entry h1 span{color:#ffdd80}
.fr-entry-actions{display:grid;gap:14px;margin:24px 0;max-width:640px}
#game #overlay.franchise-entry-panel .fr-entry-actions button{display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;min-height:82px;margin:0;padding:18px 20px;border:1px solid #aacde756;border-radius:18px;background:linear-gradient(155deg,#27557b,#142f4c);color:#f4fbff;box-shadow:0 4px 0 #071729}
#game #overlay.franchise-entry-panel .fr-entry-actions button strong{font-size:23px;line-height:1.1;letter-spacing:-.5px}
#game #overlay.franchise-entry-panel .fr-entry-actions button span{font-size:13px;line-height:1.4;color:#c6e0f3}
#game #overlay.franchise-entry-panel .fr-entry-actions .fr2-primary{background:linear-gradient(#fee889,#f8cc55);color:#193c58;border-color:#ffe597;box-shadow:0 4px 0 #ad863d}
#game #overlay.franchise-entry-panel .fr-entry-actions .fr2-primary span{color:#294c66}
#game #overlay.franchise-entry-panel .fr-entry-note{font-size:12px;line-height:1.5;max-width:560px}
#game #overlay.franchise-entry-panel .fr2-footnote{display:none}
#game #overlay.franchise-entry-panel .fr2-small{background:#142f4c;color:#eaf7ff;border-color:#aacde756}
@media(max-width:600px){
 #game #overlay.franchise-entry-panel .fr2-content{padding:22px 18px}
 #game #overlay.franchise-entry-panel .fr2-mobile-top{background:#102d4b;color:#accbe1}
 #game #overlay.franchise-entry-panel .fr-entry-actions button{padding:16px;min-height:80px}
}
@media(max-height:650px){
 #game #overlay.franchise-entry-panel:has(.fr2){padding-top:calc(env(safe-area-inset-top) + 48px)}
 #game #overlay.franchise-entry-panel .fr-entry h1{font-size:32px;margin:10px 0}
 .fr-entry-actions{gap:10px;margin:14px 0}
 #game #overlay.franchise-entry-panel .fr-entry-actions button{min-height:66px;padding:12px 16px}
}

#game #overlay.franchise-entry-panel .fr-entry-actions button strong{font-family:var(--sp-display,Arial);font-weight:400;font-size:25px}
#game #overlay.franchise-entry-panel .fr-entry h1 span{color:var(--sp-yellow,#ffdd80)}

/* Franchise is a place in the game: scene, HUD, athlete stage and controller dock. */
#game #overlay.franchise-panel:has(.fr-game-screen){padding:0!important;background:#061524!important;backdrop-filter:none;color-scheme:dark}
#game #overlay.franchise-panel:has(.fr-game-screen)>.panel{max-width:none;width:100%;height:100%;border-radius:0;overflow:hidden}
#game #overlay.franchise-panel .fr-game-screen{--fr2-ink:#f4f8ff;--fr2-muted:#b9cedf;--fr2-line:#8caccc44;--fr2-paper:#10273e;display:block;width:100%;height:100%;border:0;border-radius:0;background:linear-gradient(90deg,#061524c9,#081b3066);box-shadow:none;padding:0;overflow:hidden;user-select:none}
#game #overlay.franchise-panel .fr-game-screen .fr2-workspace{height:100%;min-height:0;display:flex;flex-direction:column;background:linear-gradient(180deg,#06152377,transparent 35%,#061523bb);border:0;backdrop-filter:none}
#game #overlay.franchise-panel .fr-game-screen .fr2-content{flex:1;min-height:0;width:100%;max-width:1360px;align-self:center;overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:22px 28px 24px;gap:18px;scrollbar-width:thin;background:transparent}
#game #overlay.franchise-panel .fr-game-screen button{min-height:44px}
#game #overlay.franchise-panel .fr-game-screen :is(input,select){min-height:44px;background:#061729;color:#f2f8ff;border-color:#8baec966;color-scheme:dark}
#game #overlay.franchise-panel .fr-game-screen option{background:#0b223a;color:#f5faff}
#game #overlay.franchise-panel .fr-game-screen :is(h1,h2,h3){color:#f4f8ff}
#game #overlay.franchise-panel .fr-game-screen :is(p,small,label){color:#bed1e1}
#game #overlay.franchise-panel .fr-game-screen :is(button,input,select,summary):focus-visible{outline:3px solid #ffde69;outline-offset:3px}
#game #overlay.franchise-panel .fr-game-hud{flex:none;display:flex;align-items:center;gap:14px;padding:calc(8px + env(safe-area-inset-top)) 24px 8px;background:#071626e8;border-bottom:1px solid #7ba6c750;min-height:66px}
#game #overlay.franchise-panel .fr-game-back{display:grid;place-items:center;width:44px;flex:none;background:#153853;border:1px solid #80b2d755;color:#eef7ff}
#game #overlay.franchise-panel .fr-game-club{display:flex;align-items:center;gap:10px;flex:1;min-width:0}
#game #overlay.franchise-panel .fr-game-club .fr2-mark{width:40px;height:40px;flex:none}
#game #overlay.franchise-panel .fr-game-club>span{min-width:0;display:grid;gap:3px}
#game #overlay.franchise-panel .fr-game-club b{font-size:16px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
#game #overlay.franchise-panel .fr-game-club small{font-size:11px;letter-spacing:1px;color:#bed1e1}
#game #overlay.franchise-panel .fr-game-hud .fr2-save{font-size:11px;white-space:nowrap;color:#acd2bc}
#game #overlay.franchise-panel .fr-game-funds{font-size:15px;font-weight:850;color:#ffde69;white-space:nowrap}
#game #overlay.franchise-panel .fr-game-dock{flex:none;padding:8px 20px calc(8px + env(safe-area-inset-bottom));background:#071626ee;border-top:1px solid #96bcdb55}
#game #overlay.franchise-panel .fr-game-dock .fr2-nav{display:flex;flex-direction:row;gap:8px;max-width:850px;margin:auto}
#game #overlay.franchise-panel .fr-game-dock .fr2-nav button{display:flex;flex:1;flex-direction:column;justify-content:center;align-items:center;gap:5px;min-height:58px;padding:7px 6px;text-align:center;border-radius:12px;background:#173550;color:#d7e7f4;border:1px solid #7395b044!important;box-shadow:0 3px 0 #030c16;font-size:12px}
#game #overlay.franchise-panel .fr-game-dock .fr2-nav button svg:last-child{display:none}
#game #overlay.franchise-panel .fr-game-dock .fr2-nav button[aria-current=page]{background:linear-gradient(#ffdf73,#efbd36);color:#10243a;border-color:#fff1b1!important;box-shadow:0 3px 0 #9b6c13}
#game #overlay.franchise-panel .fr-game-screen .fr2-heading{margin:0;gap:12px;align-items:center}
#game #overlay.franchise-panel .fr-game-screen .fr2-heading h1{font-size:clamp(26px,3.4vw,42px)}
#game #overlay.franchise-panel .fr-game-screen .fr2-heading p{font-size:13px;max-width:70ch}
#game #overlay.franchise-panel .fr-game-screen .fr2-eyebrow{color:#ffe08a;font-size:11px;letter-spacing:2px}
#game #overlay.franchise-panel .fr-game-screen .fr2-card{--fr2-muted:#bed1e1;background:linear-gradient(140deg,#133551f5,#0b2239ed);border:1px solid #7198b665;border-radius:14px;box-shadow:0 4px 0 #040e1bbb;padding:18px}
#game #overlay.franchise-panel .fr-game-screen .fr2-card :is(h2,h3,strong,b,label){color:#f4f8ff}
#game #overlay.franchise-panel .fr-game-screen :is(.fr2-card,.fr2-club-choice,.fr2-task-list>button,.fr2-season-trail button,.fr2-prospect) :is(small,th,span,p){color:#bed1e1}
#game #overlay.franchise-panel .fr-game-screen .fr2-card :is(span,small):not([class]){color:#bed1e1}
#game #overlay.franchise-panel .fr-game-screen .fr2-card-top{margin-bottom:14px}
#game #overlay.franchise-panel .fr-game-screen .fr2-badge{background:#8db8dc1c;color:#d8eafb;border-color:#8dafcc44}
#game #overlay.franchise-panel .fr-game-screen .fr2-growth{color:#b4f2bd;background:#24654577}
#game #overlay.franchise-panel .fr-game-screen .fr2-secondary,#game #overlay.franchise-panel .fr-game-screen .fr2-small{background:#214564;color:#eff7ff;border:1px solid #8bb4d166!important;box-shadow:0 3px 0 #061728}
#game #overlay.franchise-panel .fr-game-screen .fr2-primary{color:#10243a!important}
#game #overlay.franchise-panel .fr-game-screen .fr2-danger{background:#682d41;color:#ffe3df;border-color:#f1969688!important}
#game #overlay.franchise-panel .fr-game-screen .fr2-metric{background:transparent;border-color:#95b4cb33}
#game #overlay.franchise-panel .fr-game-screen .fr2-metric strong{color:#ffdf75}
#game #overlay.franchise-panel .fr-game-screen .fr2-search,#game #overlay.franchise-panel .fr-game-screen .fr2-select{background:#081c31;color:#c4d8e8;border-color:#8aabc55a}
#game #overlay.franchise-panel .fr-game-screen .fr2-filters{gap:8px}
#game #overlay.franchise-panel .fr-game-screen .fr2-tabs{gap:7px;overflow-x:auto;flex-wrap:nowrap;flex-shrink:0;padding-bottom:4px;scrollbar-width:none}
#game #overlay.franchise-panel .fr-game-screen .fr2-tabs button{white-space:nowrap;flex:none;min-height:44px;padding:10px 14px}
#game #overlay.franchise-panel .fr-game-screen :is(.fr2-key-values,.fr2-attributes,.fr2-unit-list,.fr2-compact-list,.fr2-upgrade-list) :is(div,button){border-color:#8caccc33}
#game #overlay.franchise-panel .fr-game-screen .fr2-upgrade-list>div{background:#082239;border:1px solid #76a4c955;border-radius:12px;padding:14px;margin-bottom:10px;gap:12px;min-height:76px}
#game #overlay.franchise-panel .fr-game-screen .fr2-upgrade-list>div>b{font-size:28px;color:#ffdd71}
#game #overlay.franchise-panel .fr-game-screen .fr2-upgrade-list button{min-height:48px;background:#24674c;color:#d7ffe8;border-color:#86deb488!important;font-weight:800}
#game #overlay.franchise-panel .fr-game-screen .fr2-playstyles>div{background:#0b2038;border:1px solid #6e96b76b;border-radius:14px;padding:16px}
#game #overlay.franchise-panel .fr-game-screen .fr2-playstyles>div.unlocked{background:#124533;border-color:#81d6ab88}
#game #overlay.franchise-panel .fr-game-screen .fr2-club-choice{background:#11324ce8;border:1px solid #87afd16b;box-shadow:0 3px 0 #050f1b;color:#f5f9ff}
#game #overlay.franchise-panel .fr-game-screen .fr2-club-choice[aria-pressed=true]{background:#295573;border:2px solid #ffdf70;box-shadow:0 3px 0 #b57a19}
#game #overlay.franchise-panel .fr-game-screen .fr2-club-choice strong{color:#f7faff}
#game #overlay.franchise-panel .fr-game-screen .fo-colors label{color:#d5e7f4}
#game #overlay.franchise-panel .fr-game-screen .fr2-option{background:#092037;border:1px solid #769aba;color:#f3f8ff}
#game #overlay.franchise-panel .fr-game-screen .fr2-option[aria-pressed=true]{background:#284c64;border-color:#ffdf70}
#game #overlay.franchise-panel .fr-game-screen .fr2-footnote{display:none}
/* The home screen has one immediate next action and actual places to visit. */
#game #overlay.franchise-panel .fr-clubhouse-stage{display:flex;flex-direction:column;gap:18px;min-height:100%}
#game #overlay.franchise-panel .fr-clubhouse-stage,#game #overlay.franchise-panel .fr-clubhouse-stage>*{flex-shrink:0}
#game #overlay.franchise-panel .fr-clubhouse-title{display:flex;align-items:center;gap:14px;flex-wrap:wrap}
#game #overlay.franchise-panel .fr-clubhouse-title h1{font-size:clamp(28px,4vw,46px);font-style:italic;text-transform:uppercase;text-shadow:0 3px 0 #02101c}
#game #overlay.franchise-panel .fr-clubhouse-title>div{display:flex;gap:8px;margin-left:auto}
#game #overlay.franchise-panel .fr-clubhouse-main{display:grid;grid-template-columns:1.3fr 1fr;gap:22px;min-height:280px}
#game #overlay.franchise-panel .fr-clubhouse-match{display:grid;align-content:center;gap:14px}
#game #overlay.franchise-panel .fr-clubhouse-match .fr2-match-card{margin:0;background:linear-gradient(115deg,#0c304bea,#123c55bb);border:1px solid #9cc5e58a;border-radius:18px;padding:22px;box-shadow:0 5px 0 #031423}
#game #overlay.franchise-panel .fr-clubhouse-match .fr2-match-teams{margin:16px 0}
#game #overlay.franchise-panel .fr-clubhouse-match .fr2-match-teams .fr2-mark{width:70px;height:70px}
#game #overlay.franchise-panel .fr-clubhouse-match .fr2-match-teams strong{font-size:20px}
#game #overlay.franchise-panel .fr-clubhouse-match .fr2-match-detail{color:#d5e6f2}
#game #overlay.franchise-panel .fr-clubhouse-match .fr2-primary{min-height:52px;font-size:18px}
#game #overlay.franchise-panel .fr-clubhouse-athlete{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:16px 18px 12px;overflow:hidden;background:radial-gradient(ellipse at 50% 60%,#62b8dc55,transparent 70%);border:0;color:#fff;text-align:center}
#game #overlay.franchise-panel .fr-clubhouse-athlete-art{display:block;height:200px;width:100%;position:relative}
#game #overlay.franchise-panel .fr-clubhouse-athlete-art canvas{position:static;transform:none;width:100%;height:200px}
#game #overlay.franchise-panel .fr-clubhouse-athlete-name{display:grid;gap:5px}
#game #overlay.franchise-panel .fr-clubhouse-athlete-name b{font-size:26px;font-style:italic;text-shadow:0 3px 0 #071524}
#game #overlay.franchise-panel .fr-clubhouse-athlete-cta{display:flex;gap:8px;align-items:center;margin-top:12px;background:#164361;border:1px solid #87badb88;padding:10px 14px;border-radius:10px;font-size:12px;font-weight:800;color:#ffdf70}
#game #overlay.franchise-panel .fr-clubhouse-locations{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px}
#game #overlay.franchise-panel .fr-clubhouse-locations button{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:14px 8px;background:#10324bea;border:1px solid #85b2d066;border-radius:12px;color:#f0f6fb;font-size:12px;font-weight:750;box-shadow:0 3px 0 #06101d}
#game #overlay.franchise-panel .fr-clubhouse-locations button svg:first-child{width:26px;height:26px;color:#ffd96c}
#game #overlay.franchise-panel .fr-clubhouse-locations button svg:last-child{display:none}
#game #overlay.franchise-panel .fr-clubhouse-news{font-size:12px;color:#bdd4e4;border-left:3px solid #f2cc6c;padding:10px 12px;background:#091d2fb0}
/* Player selection is a locker room, with native animated athlete portraits. */
#game #overlay.franchise-panel .fr-roster-cards{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#game #overlay.franchise-panel .fr-roster-card{display:flex;flex-direction:column;position:relative;gap:5px;text-align:left;background:linear-gradient(#1c4261,#0b243b);border:1px solid #80a7c66b;border-radius:12px;padding:10px;color:#eef6ff;min-width:0;overflow:hidden}
#game #overlay.franchise-panel .fr-roster-card:hover{border-color:#ffdc71;background:#214c6c}
#game #overlay.franchise-panel .fr-roster-card-top{display:flex;justify-content:space-between;align-items:center}
#game #overlay.franchise-panel .fr-roster-card-top>b{font-size:24px;color:#ffde71;line-height:1}
#game #overlay.franchise-panel .fr-roster-card-top small{font-size:9px;display:block;color:#bdd3e2}
#game #overlay.franchise-panel .fr-roster-art{display:block;height:100px;width:100%;position:relative}
#game #overlay.franchise-panel .fr-roster-art canvas{position:static;width:100%;height:100px;transform:none}
#game #overlay.franchise-panel .fr-roster-card>strong{font-size:14px;line-height:1.2;color:#f4f9ff;overflow-wrap:anywhere}
#game #overlay.franchise-panel .fr-roster-card>small,#game #overlay.franchise-panel .fr-roster-contract{font-size:11px;color:#bed3e2;line-height:1.4}
#game #overlay.franchise-panel .fr-player-stage-art{display:block;position:relative;width:100px;height:180px;flex:none}
#game #overlay.franchise-panel .fr-player-stage-art canvas{position:static;transform:none;width:100%;height:180px}
#game #overlay.franchise-panel .fr-game-screen .fr2-profile .fr2-player-identity{align-items:center;margin:0}
#game #overlay.franchise-panel .fr-game-screen .fr2-profile .fr2-player-identity h2{font-size:25px}
#game #overlay.franchise-panel .fr-game-screen .fr2-profile-rating strong{font-size:44px;color:#ffda6a}
#game #overlay.franchise-panel .fr-game-screen .fr2-prospect{background:#133953;border:1px solid #91b6d4;box-shadow:0 3px 0 #051423;color:#f4f9ff}
#game #overlay.franchise-panel .fr-game-screen .fr2-prospect.selected{background:#285370;border:2px solid #ffda64}
#game #overlay.franchise-panel .fr-game-screen .fr2-prospect>strong{color:#fff}
#game #overlay.franchise-panel .fr-game-screen .fr2-needs button{background:#153853;color:#e8f4ff;border:1px solid #84abcb6b;min-width:54px;min-height:52px}
#game #overlay.franchise-panel .fr-game-screen .fr2-needs button.complete{background:#245643;color:#bce8c9}
#game #overlay.franchise-panel .fr-game-screen .fr2-needs button[aria-pressed=true]{border-color:#ffe176;background:#386074}
#game #overlay.franchise-panel .fr-game-screen .fr2-table{color:#ecf5ff}
#game #overlay.franchise-panel .fr-game-screen .fr2-table :is(th,td){border-color:#8bb3d137}
#game #overlay.franchise-panel .fr-game-screen .fr2-table th{background:#102f49;color:#d2e6f3}
#game #overlay.franchise-panel .fr-game-screen .fr2-table tr.mine{background:#38604355}
#game #overlay.franchise-panel .fr-game-screen .fr2-unit-list button,#game #overlay.franchise-panel .fr-game-screen .fr2-watch-list button{color:#e7f3ff;background:#0c253c;border:1px solid #739cbd44}
#game #overlay.franchise-panel .fr-game-screen .fo-draft-dock{background:#081c30ee;border-top:1px solid #90b4d076}
@media(min-width:1100px){
 #game #overlay.franchise-panel .fr-scene-hub .fr2-content{padding-inline:50px}
 #game #overlay.franchise-panel .fr-clubhouse-main{min-height:320px}
 #game #overlay.franchise-panel .fr-clubhouse-athlete-art,#game #overlay.franchise-panel .fr-clubhouse-athlete-art canvas{height:250px}
 #game #overlay.franchise-panel .fr-scene-player .fr2-detail-grid{grid-template-columns:minmax(320px,.85fr) minmax(420px,1.15fr)}
}
@media(max-width:700px){
 #game #overlay.franchise-panel .fr-game-hud{padding-inline:10px;gap:8px;min-height:60px}
 #game #overlay.franchise-panel .fr-game-club b{font-size:13px}
 #game #overlay.franchise-panel .fr-game-club small{font-size:10px;letter-spacing:.4px}
 #game #overlay.franchise-panel .fr-game-hud .fr2-save{font-size:10px;max-width:68px;white-space:normal;text-align:right}
 #game #overlay.franchise-panel .fr-game-funds{display:none}
 #game #overlay.franchise-panel .fr-game-screen .fr2-content{padding:14px 12px 18px;gap:13px}
 #game #overlay.franchise-panel .fr-game-screen .fr2-card{padding:14px}
 #game #overlay.franchise-panel .fr-game-screen .fr2-heading{align-items:flex-start}
 #game #overlay.franchise-panel .fr-game-screen .fr2-heading p{font-size:12px}
 #game #overlay.franchise-panel .fr-game-dock{padding:7px 8px calc(7px + env(safe-area-inset-bottom))}
 #game #overlay.franchise-panel .fr-game-dock .fr2-nav{gap:5px}
 #game #overlay.franchise-panel .fr-game-dock .fr2-nav button{font-size:10px;min-height:54px;padding:6px 2px}
 #game #overlay.franchise-panel .fr-clubhouse-stage{gap:12px}
 #game #overlay.franchise-panel .fr-clubhouse-title{gap:5px;align-items:center}
 #game #overlay.franchise-panel .fr-clubhouse-title>.fr2-eyebrow{display:none}
 #game #overlay.franchise-panel .fr-clubhouse-title h1{font-size:28px}
 #game #overlay.franchise-panel .fr-clubhouse-title>div{gap:5px}
 #game #overlay.franchise-panel .fr-clubhouse-title button{font-size:11px;padding:8px;min-height:44px}
 #game #overlay.franchise-panel .fr-clubhouse-main{grid-template-columns:minmax(0,1fr) 108px;gap:8px;min-height:230px}
 #game #overlay.franchise-panel .fr-clubhouse-match .fr2-match-card{padding:12px;border-radius:13px}
 #game #overlay.franchise-panel .fr-clubhouse-match .fr2-match-top{font-size:10px;gap:5px}
 #game #overlay.franchise-panel .fr-clubhouse-match .fr2-match-top>span:last-child{display:none}
 #game #overlay.franchise-panel .fr-clubhouse-match .fr2-match-teams{margin:12px 0;gap:5px}
 #game #overlay.franchise-panel .fr-clubhouse-match .fr2-match-teams .fr2-mark{width:43px;height:43px}
 #game #overlay.franchise-panel .fr-clubhouse-match .fr2-match-teams strong{font-size:12px;line-height:1.2}
 #game #overlay.franchise-panel .fr-clubhouse-match .fr2-match-teams small{font-size:11px}
 #game #overlay.franchise-panel .fr-clubhouse-match .fr2-vs{font-size:16px}
 #game #overlay.franchise-panel .fr-clubhouse-match .fr2-match-detail{font-size:10px;gap:6px;flex-wrap:wrap}
 #game #overlay.franchise-panel .fr-clubhouse-match .fr2-match-detail svg{display:none}
 #game #overlay.franchise-panel .fr-clubhouse-match .fr2-button-row{gap:7px;flex-direction:column;align-items:stretch;margin-top:12px}
 #game #overlay.franchise-panel .fr-clubhouse-match .fr2-primary{font-size:13px;min-height:44px;padding:8px}
 #game #overlay.franchise-panel .fr-clubhouse-match .fr2-light{font-size:11px;min-height:44px;padding:6px}
 #game #overlay.franchise-panel .fr-clubhouse-athlete{padding:7px 0;justify-content:center}
 #game #overlay.franchise-panel .fr-clubhouse-athlete>.fr2-eyebrow{font-size:8px;letter-spacing:.6px}
 #game #overlay.franchise-panel .fr-clubhouse-athlete-art,#game #overlay.franchise-panel .fr-clubhouse-athlete-art canvas{height:140px}
 #game #overlay.franchise-panel .fr-clubhouse-athlete-name b{font-size:15px;line-height:1.1}
 #game #overlay.franchise-panel .fr-clubhouse-athlete-name small{font-size:10px}
 #game #overlay.franchise-panel .fr-clubhouse-athlete-cta{font-size:9px;padding:7px 4px;gap:3px;min-height:44px}
 #game #overlay.franchise-panel .fr-clubhouse-athlete-cta svg{width:14px}
 #game #overlay.franchise-panel .fr-clubhouse-locations{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px}
 #game #overlay.franchise-panel .fr-clubhouse-locations button{min-height:64px;padding:8px 5px;gap:6px;font-size:10px}
 #game #overlay.franchise-panel .fr-clubhouse-locations button svg:first-child{width:21px;height:21px}
 #game #overlay.franchise-panel .fr-roster-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}
 #game #overlay.franchise-panel .fr-roster-art,#game #overlay.franchise-panel .fr-roster-art canvas{height:92px}
 #game #overlay.franchise-panel .fr-roster-card{padding:9px}
 #game #overlay.franchise-panel .fr-game-screen .fr2-profile .fr2-player-identity h2{font-size:22px}
 #game #overlay.franchise-panel .fr-player-stage-art,#game #overlay.franchise-panel .fr-player-stage-art canvas{width:90px;height:160px}
 #game #overlay.franchise-panel .fr-game-screen .fr2-draft-candidates{grid-template-columns:repeat(2,minmax(0,1fr))}
 #game #overlay.franchise-panel .fr-game-screen .fr2-draft-layout{display:flex;flex-direction:column-reverse}
 #game #overlay.franchise-panel .fr-game-screen .fr2-sticky-detail{position:static}
 #game #overlay.franchise-panel .fr-game-screen .fr2-needs{overflow-x:auto;flex-wrap:nowrap;display:flex;flex:none;gap:6px;padding-bottom:5px}
 #game #overlay.franchise-panel .fr-game-screen .fr2-needs button{flex:none;width:55px}
 #game #overlay.franchise-panel .fr-game-screen .fr2-setup-grid{grid-template-columns:1fr}
 #game #overlay.franchise-panel .fr-game-screen .fo-scene{height:160px}
 #game #overlay.franchise-panel .fr-game-screen .fo-uniforms{min-height:150px;padding:10px}
}
@media(orientation:landscape) and (max-height:550px){
 #game #overlay.franchise-panel .fr-game-hud{min-height:48px;padding-block:3px}
 #game #overlay.franchise-panel .fr-game-dock .fr2-nav button{flex-direction:row;min-height:44px}
 #game #overlay.franchise-panel .fr-game-screen .fr2-content{padding:10px 18px}
 #game #overlay.franchise-panel .fr-clubhouse-main{min-height:210px;grid-template-columns:1.5fr 1fr}
 #game #overlay.franchise-panel .fr-clubhouse-athlete-art,#game #overlay.franchise-panel .fr-clubhouse-athlete-art canvas{height:120px}
 #game #overlay.franchise-panel .fr-clubhouse-locations{grid-template-columns:repeat(6,minmax(0,1fr))}
}
@media(prefers-reduced-motion:reduce){#game #overlay.franchise-panel .fr-game-screen,#game #overlay.franchise-panel .fr-game-screen *{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
#game #overlay.franchise-panel .fr-game-screen{background-image:linear-gradient(90deg,#061524c9,#081b3066)}
#game #overlay.franchise-panel :is(.fr-scene-draft,.fr-scene-setup){background-image:linear-gradient(90deg,#061524b8,#081b3066)}
#game #overlay.franchise-panel :is(.fr-scene-player,.fr-scene-roster,.fr-scene-reserves,.fr-scene-training,.fr-scene-rewards){background-image:linear-gradient(90deg,#061524c9,#081b3070)}
#game #overlay.franchise-panel .fr-season-target{display:flex;align-items:center;gap:12px;min-height:70px;padding:13px 16px;background:#0a293bdd;border:1px solid #78b49877;border-left:4px solid #bce296;border-radius:10px;color:#f3f9e7;text-align:left}
#game #overlay.franchise-panel .fr-season-target>span{display:grid;gap:5px;flex:1;min-width:0}
#game #overlay.franchise-panel .fr-season-target small{font-size:10px;letter-spacing:1px;color:#c8e2b2}
#game #overlay.franchise-panel .fr-season-target strong{font-size:15px;line-height:1.2}
#game #overlay.franchise-panel .fr-season-target>b{font-size:12px;white-space:nowrap;color:#d2edac}
@media(max-width:700px){#game #overlay.franchise-panel .fr-season-target{min-height:64px;padding:10px 12px}#game #overlay.franchise-panel .fr-season-target strong{font-size:12px}#game #overlay.franchise-panel .fr-season-target>b{display:none}}
#game #overlay.franchise-panel .fr-studio-details{margin:12px 0;border-top:1px solid #9dc2df44;padding-top:8px}
#game #overlay.franchise-panel .fr-studio-details summary{min-height:44px;display:flex;align-items:center;gap:10px;cursor:pointer;color:#ffdf7c;font-size:14px;font-weight:750}
#game #overlay.franchise-panel .fr-studio-details summary::before{content:'+';font-size:23px;color:#ffdf7c}
#game #overlay.franchise-panel .fr-studio-details[open] summary::before{content:'−'}
#game #overlay.franchise-panel .fr-studio-details .fo-venue-choices{margin-top:8px}
#game #overlay.franchise-panel .fr-game-club .rs-tag{flex:none;font-size:9px;padding:4px 5px;margin:0}
@media(max-width:700px){#game #overlay.franchise-panel .fr-game-club .rs-tag{font-size:8px;padding:3px}#game #overlay.franchise-panel .fr-game-club{gap:6px}}
#game #overlay.franchise-panel .fr-game-screen :is(.fr2-coach-card,.fr2-scout-report,.fr2-fit-note,.fr2-schedule-row,.fr2-leader-list>div,.fr2-checklist>div,.fr2-news,.fr2-compact-list>div.mine){background:#102f47;color:#d3e6f4;border-color:#82adc74d}
#game #overlay.franchise-panel .fr-game-screen :is(.fr2-attributes>div,.fr2-key-values span,.fr2-profile-footer span,.fr2-checklist small,.fr2-unit-list span,.fr2-pager){color:#c3d8e8}
#game #overlay.franchise-panel .fr-game-screen .fr2-attributes i{background:linear-gradient(90deg,#8de0b0 var(--rating),#49738a 0)}
#game #overlay.franchise-panel .fr-game-screen .fr2-progress{background:#315568}
#game #overlay.franchise-panel .fr-game-screen .fr2-progress i{background:#aee48e}
#game #overlay.franchise-panel .fr-game-screen .fr2-position{background:#254b67;color:#e2f3ff;border:1px solid #a0c7e133}
#game #overlay.franchise-panel .fr-game-screen .fr2-style-icon{background:#264a65;color:#c3daeb}
#game #overlay.franchise-panel .fr-game-screen summary{min-height:44px;cursor:pointer}
#game #overlay.franchise-panel .fr-game-screen .fr2-busy{background:#07192bdd;color:#ffe39a}
#game #overlay.franchise-panel .fr-game-screen .fr2-board-tools{background:#09243a;border-color:#92b3cc44;color:#cce0ed}
/* Career selection shares the franchise world before a save slot is opened. */
#game #overlay:has(.fr-slots-screen){position:fixed;inset:0;padding:0!important;background:linear-gradient(90deg,#061524c7,#091d305e)!important;backdrop-filter:none;overflow:hidden;align-items:stretch;color-scheme:dark}
#game #overlay:has(.fr-slots-screen)::before{display:none!important}
#game #overlay:has(.fr-slots-screen)>.panel{width:100%!important;max-width:none!important;height:100%!important;max-height:none!important;margin:0!important;padding:0!important;overflow:hidden!important;background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important}
#game #overlay .panel .fr-slots-screen{display:flex!important;flex-direction:column;height:100%;min-height:0;gap:0;background:linear-gradient(#05172577,transparent 45%,#041424b3);color:#f4f8ff;font-family:system-ui,sans-serif}
#game #overlay .fr-slots-hud{display:flex;justify-content:space-between;align-items:center;gap:12px;min-height:62px;flex:none;padding:calc(12px + env(safe-area-inset-top)) 24px 12px;background:#061626dd;border-bottom:1px solid #8cb5d05c;font-size:11px;letter-spacing:1.5px;color:#bed5e8}
#game #overlay .fr-slots-hud>b{color:#ffdf79;font-size:15px}
#game #overlay .fr-slots-stage{display:flex;flex-direction:column;gap:16px;justify-content:center;flex:1;min-height:0;width:min(960px,100%);margin:auto;padding:30px 28px;overflow-y:auto;overscroll-behavior:contain}
#game #overlay .fr-slots-stage>.eyebrow{font-size:11px;letter-spacing:2px;color:#ffdf79}
#game #overlay .panel .fr-slots-stage>h2{font:900 italic clamp(30px,5vw,55px)/1.05 system-ui,sans-serif;color:#f4f8ff!important;-webkit-text-stroke:0!important;text-shadow:0 3px 0 #061321;text-transform:uppercase;letter-spacing:-1.5px;margin:0!important}
#game #overlay .panel .fr-slots-stage>.fr-slots-lead{font:14px/1.4 system-ui,sans-serif;color:#d5e6f3!important;margin:0}
#game #overlay .panel .fr-slots{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;padding:8px 0}
#game #overlay .panel .fr-slot{display:flex;flex-direction:column;align-items:stretch;gap:12px;min-height:255px;padding:20px;border-radius:18px!important;background:linear-gradient(140deg,#173f60eb,#0a2037ed)!important;border:1px solid #a0c5df99!important;box-shadow:0 5px 0 #031424!important;overflow:visible}
#game #overlay .panel .fr-slot-arcade{background:linear-gradient(140deg,#245247e8,#102d3bec)!important}
#game #overlay .panel .fr-slot.fr-slot-picked{border:2px solid #ffdf78!important;box-shadow:0 5px 0 #ab7917!important}
#game #overlay .panel .fr-slot-art{width:100%;height:135px;border-radius:0;background:radial-gradient(ellipse at 50% 70%,#73aac74d,transparent 70%);box-shadow:none}
#game #overlay .panel .fr-slot-art canvas.sp-star{position:static;width:100%;height:155px;transform:none;margin-top:-15px}
#game #overlay .panel .fr-slot-art .club-mark{width:105px;height:105px;filter:drop-shadow(0 7px 0 #05132266)}
#game #overlay .panel .fr-slot-copy{gap:6px}
#game #overlay .panel .fr-slot-copy b{font:850 italic 26px/1.05 system-ui,sans-serif;letter-spacing:-.5px;-webkit-text-stroke:0;text-shadow:0 2px 0 #061322;color:#f7faff!important}
#game #overlay .panel .fr-slot-copy small{font:13px/1.3 system-ui,sans-serif;color:#c7ddea!important;text-shadow:none}
#game #overlay .panel .fr-slot-cta{align-self:stretch;text-align:center;min-height:44px;display:grid;place-items:center;background:linear-gradient(#ffe58b,#e9b936);border:1px solid #fff1b6;box-shadow:0 3px 0 #96690f;border-radius:10px;font:900 14px/1 system-ui,sans-serif;color:#10263b;letter-spacing:1px;margin-top:auto}
#game #overlay .panel .fr-slot-league{min-height:64px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:15px 20px;background:#102f49e8!important;border:1px solid #96b4d388!important;box-shadow:0 3px 0 #061323!important;border-radius:12px!important}
#game #overlay .panel .fr-slot-league b{font:800 18px/1.1 system-ui,sans-serif;-webkit-text-stroke:0;text-shadow:none;letter-spacing:0;white-space:nowrap}
#game #overlay .panel .fr-slot-league span{font:13px/1.4 system-ui,sans-serif;text-shadow:none;color:#ccdfed!important;text-align:right}
#game #overlay .fr-slots-footer{flex:none;display:flex;align-items:center;gap:20px;background:#061626e8;border-top:1px solid #8cb5d05c;padding:10px 24px calc(10px + env(safe-area-inset-bottom))}
#game #overlay .panel .fr-slots-footer>button{width:120px;min-height:44px;margin:0!important;background:#183c5a!important;border:1px solid #8eabc9aa!important;border-radius:10px!important;color:#e8f5ff!important;box-shadow:0 3px 0 #071625!important;font:800 13px system-ui,sans-serif}
#game #overlay .fr-slots-footer>span{font-size:10px;letter-spacing:1.3px;color:#bcd5e7;margin-left:auto}
@media(max-width:600px){
 #game #overlay .fr-slots-hud{padding-inline:12px;font-size:9px;gap:8px;min-height:56px}
 #game #overlay .fr-slots-hud>span:last-child{display:none}
 #game #overlay .fr-slots-stage{gap:12px;padding:20px 16px}
 #game #overlay .panel .fr-slots-stage>h2{font-size:34px}
 #game #overlay .panel .fr-slots-stage>.fr-slots-lead{font-size:12px;max-width:32ch}
 #game #overlay .panel .fr-slots{gap:10px}
 #game #overlay .panel .fr-slot{min-height:235px;padding:13px 10px;gap:8px}
 #game #overlay .panel .fr-slot-copy b{font-size:21px}
 #game #overlay .panel .fr-slot-copy small{font-size:11px}
 #game #overlay .panel .fr-slot-art{height:100px}
 #game #overlay .panel .fr-slot-art canvas.sp-star{height:120px}
 #game #overlay .panel .fr-slot-art .club-mark{width:80px;height:80px}
 #game #overlay .panel .fr-slot-league{padding:13px;gap:10px}
 #game #overlay .panel .fr-slot-league b{font-size:15px}
 #game #overlay .panel .fr-slot-league span{font-size:11px;max-width:20ch}
 #game #overlay .fr-slots-footer{padding-inline:12px;gap:10px}
 #game #overlay .fr-slots-footer>span{font-size:8px;letter-spacing:.7px}
}
@media(orientation:landscape) and (max-height:550px){
 #game #overlay .fr-slots-hud{min-height:44px;padding-block:8px}
 #game #overlay .fr-slots-stage{padding:12px 24px;gap:8px}
 #game #overlay .panel .fr-slots-stage>h2{font-size:30px}
 #game #overlay .fr-slots-stage>.eyebrow,#game #overlay .fr-slots-stage>.fr-slots-lead{display:none}
 #game #overlay .panel .fr-slot{display:grid;grid-template-columns:80px 1fr;gap:7px;min-height:136px;padding:12px}
 #game #overlay .panel .fr-slot-art{grid-row:span 2;height:100px}
 #game #overlay .panel .fr-slot-art canvas.sp-star{height:110px}
 #game #overlay .panel .fr-slot-copy b{font-size:20px}
 #game #overlay .panel .fr-slot-cta{grid-column:2;min-height:44px}
 #game #overlay .panel .fr-slot-league{min-height:44px;padding:8px 15px}
 #game #overlay .fr-slots-footer{padding-block:6px}
}
@media(prefers-reduced-motion:reduce){#game #overlay .panel :is(.fr-slot,.fr-slot-league){transition:none!important;transform:none!important}}
/* Keep the shared app header and binding prompts outside the game screen. */
#game #overlay:has(:is(.fr-game-screen,.fr-slots-screen)){padding:calc(46px + env(safe-area-inset-top,0px)) 0 0!important}
#game #overlay:has(:is(.fr-game-screen,.fr-slots-screen))>.panel{display:flex!important;flex-direction:column;min-height:0}
#game #overlay .panel :is(.fr-game-screen,.fr-slots-screen){flex:1;height:auto;min-height:0}
#game:is([data-input=pad],[data-input=keyboard]) #overlay.active>.panel:has(:is(.fr-game-screen,.fr-slots-screen))::after{position:static;flex:none;min-height:30px;margin:0;padding:7px 16px calc(7px + env(safe-area-inset-bottom,0px));border:0;border-radius:0;background:#061424;box-shadow:none;font:700 11px/1.3 system-ui,sans-serif;letter-spacing:1px;white-space:normal;text-align:right;color:#bcd4e5}
#game #overlay.franchise-panel .fr-game-hud{padding-top:8px}
#game #overlay .fr-slots-hud{padding-top:12px}
#game #overlay.franchise-panel .fr-roster-card .fr2-species{font-size:10px;max-width:100%;align-self:flex-start;color:#e5f5ff;background:#9fc2df22}
#game #overlay.franchise-panel .fr-roster-card .fr2-species :is(span,b){color:#e5f5ff}
/* Explicit layout contract defeats inherited stadium/header positioning. */
#game #overlay.franchise-panel .fr-game-screen{position:relative!important;inset:auto!important;display:flex!important;flex-direction:column!important;transform:none!important}
#game #overlay.franchise-panel .fr-game-screen>.fr2-workspace{position:relative!important;inset:auto!important;display:flex!important;flex-direction:column!important;flex:1 1 0!important;height:100%!important;min-height:0!important;overflow:hidden!important;transform:none!important}
#game #overlay.franchise-panel .fr-game-screen .fr-game-hud{position:relative!important;inset:auto!important;flex:0 0 auto!important;height:auto!important;width:100%!important;transform:none!important;z-index:2}
#game #overlay.franchise-panel .fr-game-screen main.fr2-content{position:relative!important;inset:auto!important;display:flex!important;flex-direction:column!important;flex:1 1 0!important;height:auto!important;min-height:0!important;margin:0!important;transform:none!important;order:0;z-index:0}
#game #overlay.franchise-panel .fr-game-screen :is(.fr-game-dock,.fo-draft-dock){position:relative!important;inset:auto!important;display:flex!important;flex:0 0 auto!important;height:auto!important;transform:none!important;z-index:2}
#game #overlay.franchise-panel .fr-game-screen .fr-clubhouse-title{position:relative;inset:auto;height:auto;background:none;padding:0;border:0;box-shadow:none;width:auto;z-index:auto}
#game #overlay .fr-slots-hud{position:relative!important;inset:auto!important;flex:0 0 auto!important;height:auto!important;width:100%!important;transform:none!important;z-index:auto;box-shadow:none}
#game #overlay .fr-slots-footer{position:relative!important;inset:auto!important;height:auto!important;transform:none!important}
/* Paint the career scene on its owning screen, above generic menu textures. */
#game #overlay.active:has(.fr-slots-screen){background:#061524!important}
#game #overlay.active:has(.fr-slots-screen)::before{content:none!important;display:none!important}
#game #overlay.active>.panel:has(.fr-slots-screen){background:transparent!important;background-image:none!important}
#game #overlay.active>.panel .fr-slots-screen{position:relative;isolation:isolate;background:linear-gradient(90deg,#061524a6,#091d3044)!important}
#game #overlay.active>.panel .fr-slots-screen::before,#game #overlay.active>.panel .fr-slots-screen::after{content:none!important;display:none!important}
#game #overlay.active>.panel .fr-slots-stage{background:transparent!important;background-image:none!important}
/* Final franchise-only cascade: shared sports styles also use !important. */
#game #overlay.active.franchise-panel:has(.fr-game-screen.fr2){padding:calc(46px + env(safe-area-inset-top,0px)) 0 0!important;overflow:hidden!important;box-sizing:border-box!important}
#game #overlay.active:has(.fr-slots-screen){padding:calc(46px + env(safe-area-inset-top,0px)) 0 0!important;overflow:hidden!important;box-sizing:border-box!important}
#game #overlay.active.franchise-panel>.panel:has(.fr-game-screen.fr2){height:100%!important;max-height:100%!important;min-height:0!important;margin:0!important;padding:0!important;overflow:hidden!important;box-sizing:border-box!important;transform:none!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 :is(.fr2-card,.fr2-coach-card,.fr2-venue-banner){background:linear-gradient(140deg,#133551f5,#0b2239ed)!important;border:1px solid #7198b665!important;border-radius:14px!important;box-shadow:0 4px 0 #040e1bbb!important;color:#f4f8ff!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 :is(.fr2-card,.fr2-coach-card,.fr2-venue-banner) :is(h2,h3,strong,b,label){color:#f4f8ff!important;-webkit-text-stroke:0!important;text-shadow:none!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 :is(.fr2-card,.fr2-coach-card,.fr2-venue-banner) :is(p,small,span):not(.fr2-position):not(.fr2-badge):not(.fr2-species){color:#bed1e1!important;text-shadow:none!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 :is(input,select){background:#061729!important;color:#f2f8ff!important;border:1px solid #8baec966!important;box-shadow:none!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fo-colors label{color:#d9e9f5!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr2-secondary,#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr2-small{background:#214564!important;color:#eff7ff!important;border:1px solid #8bb4d166!important;box-shadow:0 3px 0 #061728!important;text-shadow:none!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr2-primary{background:linear-gradient(#ffdf73,#efbd36)!important;color:#10243a!important;border:1px solid #fff1b1!important;box-shadow:0 3px 0 #9b6c13!important;text-shadow:none!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr2-primary :is(span,strong,b){color:#10243a!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr2-option{background:#092037!important;color:#f3f8ff!important;border:1px solid #769aba!important;box-shadow:0 3px 0 #051221!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr2-option[aria-pressed=true]{background:#284c64!important;border-color:#ffdf70!important;color:#f3f8ff!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr2-club-choice{background:#11324ce8!important;border:1px solid #87afd16b!important;box-shadow:0 3px 0 #050f1b!important;color:#f5f9ff!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr2-club-choice[aria-pressed=true]{background:#295573!important;border:2px solid #ffdf70!important;box-shadow:0 3px 0 #b57a19!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr2-club-choice :is(strong,span){color:#f5f9ff!important;text-shadow:none!important;-webkit-text-stroke:0!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr2-club-choice small{color:#bed1e1!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr2-prospect{background:#133953!important;border:1px solid #91b6d4!important;box-shadow:0 3px 0 #051423!important;color:#f4f9ff!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr2-prospect.selected{background:#285370!important;border:2px solid #ffda64!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr2-prospect :is(strong,small,span,p){color:#dceafa!important;text-shadow:none!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr2-needs button{background:#153853!important;color:#e8f4ff!important;border:1px solid #84abcb6b!important;box-shadow:0 3px 0 #051423!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr2-needs button.complete{background:#245643!important;color:#bce8c9!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr2-needs button[aria-pressed=true]{background:#386074!important;border-color:#ffe176!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr2-attributes :is(span,b){color:#cce2f1!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr2-upgrade-list>div>b{color:#ffdd71!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr2-upgrade-list button{background:#24674c!important;color:#d7ffe8!important;border-color:#86deb488!important;text-shadow:none!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr2-playstyles>div{background:#0b2038!important;border:1px solid #6e96b76b!important;box-shadow:none!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr2-playstyles>div.unlocked{background:#124533!important;border-color:#81d6ab88!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr-game-club :is(b,small){color:#e5f2fc!important;-webkit-text-stroke:0!important;text-shadow:none!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 .fr-game-hud{background:#071626f5!important;border:0!important;border-bottom:1px solid #7ba6c750!important;box-shadow:none!important}
/* Native selects become game-menu choices after the screen renders. */
#game #overlay.active.franchise-panel .fr-game-screen.fr2 :is(.fr2-search,.fr2-select){background:#081c31!important;color:#d3e6f3!important;border:1px solid #8aabc55a!important;box-shadow:none!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 button.gm-choice{background:linear-gradient(#163a57,#0b253d)!important;color:#edf7ff!important;border:1px solid #8dafca88!important;border-radius:10px!important;box-shadow:0 3px 0 #061524!important;text-shadow:none!important;min-height:44px!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 button.gm-choice :is(.gm-value,.gm-label,span,b,strong){color:#edf7ff!important;-webkit-text-stroke:0!important;text-shadow:none!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 button.gm-choice .gm-choice-hint{color:#ffe08a!important;-webkit-text-stroke:0!important;text-shadow:none!important;font-size:10px!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 button.gm-choice:is(:hover,:focus-visible,.gm-focused){background:#254c6b!important;border-color:#ffdf7c!important;outline-color:#ffdf7c!important}
#game #overlay.active.franchise-panel .fr-game-screen.fr2 button.gm-choice:disabled{color:#c7d8e7!important;opacity:.55}
/* A steady location and explicit exit survive every franchise submenu. */
#game #overlay.franchise-panel .fr2-breadcrumbs{display:flex;align-items:center;gap:8px;flex:0 0 auto;padding:7px 12px;background:#071b2e;border-bottom:1px solid #7095b440;min-width:0}
#game #overlay.franchise-panel .fr2-breadcrumbs>span{flex:1;min-width:0;font-size:11px;color:#bad0e3;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
#game #overlay.franchise-panel .fr2-breadcrumbs .fr2-button{min-height:34px;padding:7px 10px;font-size:11px;gap:5px;white-space:nowrap}
#game #overlay.franchise-panel .fr2-breadcrumbs svg{width:16px;height:16px}
#game #overlay.franchise-panel .fr2-breadcrumbs .fr2-button{min-height:44px}
#game #overlay .panel .fr-slot-actions{display:grid;gap:9px;margin-top:auto}
#game #overlay .panel .fr-slot-actions>button{width:100%;margin:0;min-height:44px;white-space:normal}
#game #overlay .panel button.fr-slot-cta{background:linear-gradient(#ffe58b,#e9b936)!important;color:#10263b!important;border:1px solid #fff1b6!important;box-shadow:0 3px 0 #96690f!important}
@media(orientation:landscape) and (max-height:550px){#game #overlay .panel .fr-slot-actions{grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px}#game #overlay .panel .fr-slot-actions>.fr-slot-cta{grid-column:auto;font-size:12px}}
#game #overlay .panel .fr-slot-new{background:#15354d!important;color:#f3f8ff!important;border:1px solid #9bbad3!important;border-radius:10px;font:800 12px/1.2 system-ui,sans-serif;padding:10px 5px;box-shadow:0 2px 0 #041321!important}
#game #overlay .panel .fr-slots-footer>button{width:auto;min-width:130px;white-space:nowrap}
@media(max-height:700px){#game #overlay .fr-slots-stage{justify-content:flex-start;gap:8px;padding:12px 16px}#game #overlay .panel .fr-slot-art{height:65px}#game #overlay .panel .fr-slot-art .club-mark{width:60px;height:60px}#game #overlay .panel .fr-slot{min-height:0}#game #overlay .panel .fr-slots-stage>h2{font-size:27px}}
#game #overlay.franchise-panel .fr2-challenge-goal{padding:14px;border:1px solid #e8cd73;border-radius:12px;background:#132e43;margin:12px 0}
#game #overlay.franchise-panel .fr2-challenge-goal h3{margin:6px 0;font-size:19px;color:#ffdf73}
#game #overlay.franchise-panel .fr2-challenge-goal small{display:block;font-size:12px;line-height:1.5;color:#c4d8e8}
#game #overlay.franchise-panel .fr2-practice-reward{flex-wrap:wrap;gap:12px}
#game #overlay.franchise-panel .fr2-practice-reward>div:first-child{flex:1 1 180px;min-width:0}
#game #overlay.franchise-panel .fr2-practice-reward .fr2-button{white-space:normal}
#game #overlay.franchise-panel .fr2-weekly-grid{flex-shrink:0;margin:0 0 14px;gap:8px}
#game #overlay.franchise-panel .fr2-weekly-grid button{min-width:0;padding:14px 10px}
#game #overlay.franchise-panel .fr2-weekly-grid small{line-height:1.4;white-space:normal}
@media(max-width:440px){
 #game #overlay.franchise-panel .fr2-weekly-grid strong{font-size:12px;line-height:1.3}
 #game #overlay.franchise-panel .fr2-weekly-grid small{font-size:10px}
 #game #overlay.franchise-panel .fr2-weekly-grid svg{width:24px;height:24px}
 #game #overlay.franchise-panel .fr2-practice-reward .fr2-button{flex:1 1 130px;font-size:12px}
 #game #overlay.franchise-panel .fr2-breadcrumbs{padding:6px 8px;gap:6px}
 #game #overlay.franchise-panel .fr2-breadcrumbs .fr2-button{padding:7px 8px}
}
#game #overlay.franchise-panel :is(.fr2-club-options,.fr2-club-office)>summary{cursor:pointer;font-size:12px;min-height:36px;padding:10px 8px;color:#c8dcec}
#game #overlay.franchise-panel .fr2-club-options>div{display:flex;gap:8px;margin:6px 0}
#game #overlay.franchise-panel .fr2-club-office{border-top:1px solid #7198b640;margin-top:8px}
#game #overlay.franchise-panel .fr2-weekly-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));width:100%}
#game #overlay.franchise-panel .fr2-weekly-grid button{display:flex;flex-direction:column;align-items:flex-start;gap:7px;text-align:left;border-radius:12px}
#game #overlay.franchise-panel .fr2-weekly-grid svg{display:block;width:28px;height:28px;fill:none;stroke:currentColor;stroke-width:1.7}
#game #overlay.franchise-panel .fr2-weekly-number{font-size:9px;font-weight:800;letter-spacing:.8px}
#game #overlay.franchise-panel .fr2-weekly-grid strong{font-size:14px;line-height:1.3}
#game #overlay.franchise-panel .fr2-weekly-grid small{font-size:11px}
#game #overlay.franchise-panel .fr2-practice-reward{display:flex;align-items:center;padding:16px;margin:0 0 14px;border-radius:14px;background:#12364a;color:#f2f8ff}
#game #overlay.franchise-panel .fr2-practice-reward h2{font-size:20px;margin:5px 0}
#game #overlay.franchise-panel .fr2-practice-reward p{font-size:13px;margin:4px 0}
#game #overlay.franchise-panel .fr2-practice-reward small{font-size:12px;line-height:1.4}
#game #overlay.franchise-panel .fr2-reward-values{display:flex;gap:18px}
#game #overlay.franchise-panel .fr2-reward-values>span{display:flex;flex-direction:column;font-size:9px;gap:5px}
#game #overlay.franchise-panel .fr2-reward-values b{font-size:24px;color:#ffe089}
@media(max-width:440px){#game #overlay.franchise-panel .fr2-weekly-grid strong{font-size:12px}#game #overlay.franchise-panel .fr2-weekly-grid small{font-size:10px}}
#game #overlay.franchise-panel .fr2-drill-options{margin:8px 0;border-bottom:1px solid #8caeca55}
#game #overlay.franchise-panel .fr2-drill-options>summary{min-height:40px;padding:10px 0;color:#dcebf7;font-size:12px;line-height:1.5;cursor:pointer}
#game #overlay.franchise-panel .fr2-drill-options .fr2-choice-stack{padding:0 0 10px}
/* Put the two weekly choices before optional instructions on a phone. */
#game #overlay.franchise-panel .fr2-training-brief{margin:8px 0 12px}
#game #overlay.franchise-panel .fr2-training-brief h3{margin:5px 0;font-size:18px}
#game #overlay.franchise-panel .fr2-training-brief p{margin:4px 0;font-size:12px;line-height:1.4}
#game #overlay.franchise-panel .fr2-training-actions{display:grid;gap:9px}
#game #overlay.franchise-panel .fr2-training-actions .fr2-button{margin:0;min-height:44px}
#game #overlay.franchise-panel .fr2-training-cost{font-size:11px!important;line-height:1.4;margin:10px 0 4px}
#game #overlay.franchise-panel .fr2-training-instructions>summary{min-height:40px;padding:10px 0;color:#dcebf7;font-size:12px;cursor:pointer}
@media(max-width:440px){
 #game #overlay.franchise-panel .fr-scene-training .fr2-heading{padding-bottom:10px;margin-bottom:12px}
 #game #overlay.franchise-panel .fr-scene-training .fr2-heading h1{font-size:25px}
 #game #overlay.franchise-panel .fr-scene-training .fr2-heading p{font-size:13px;line-height:1.4;margin:6px 0 0}
 #game #overlay.franchise-panel .fr2-weekly-practice-card{padding:14px!important}
 #game #overlay.franchise-panel .fr2-weekly-practice-card .fr2-card-top{margin-bottom:12px}
 #game #overlay.franchise-panel .fr2-weekly-practice-card .fr2-field{gap:5px;margin-bottom:8px}
 #game #overlay.franchise-panel .fr2-training-brief{margin:6px 0 10px}
 #game #overlay.franchise-panel .fr2-training-brief .fr2-eyebrow{font-size:9px}
 #game #overlay.franchise-panel .fr2-training-brief h3{font-size:16px}
 #game #overlay.franchise-panel .fr2-training-actions .fr2-button{padding:10px 12px!important;font-size:13px!important}
}

/* Real world geometry behind the franchise shell, independent of its scroll. */
#game #overlay[data-fr-backdrop=live]{isolation:isolate;background:#061524!important}
#game #overlay[data-fr-backdrop=live]::before{display:none}
#game #overlay[data-fr-backdrop=live]>.franchise-live-backdrop{position:absolute;inset:0;width:100%;height:100%;z-index:0;pointer-events:none;user-select:none}
#game #overlay[data-fr-backdrop=live]>.panel{position:relative;z-index:1;background:transparent!important}
#game #overlay[data-fr-backdrop=live] .fr-game-screen,#game #overlay[data-fr-backdrop=live] .fr-slots-screen{background:linear-gradient(90deg,#06152455,#081b3018)!important}
#game #overlay[data-fr-backdrop=live] .fr2-match-card{background:linear-gradient(140deg,#133551e8,#0b2239d9)!important}
