/* Stadium-backed console menus. Native values remain the source of truth. */
.gm-native{display:none!important}
#overlay .gm-choice,#practice-tools .gm-choice,#defense-tools .gm-choice{display:flex;align-items:center;justify-content:space-between;gap:14px;width:100%;min-width:0;min-height:48px;margin:0;padding:12px 16px;border:2px solid #d9e4e5;border-radius:15px;background:linear-gradient(#ffffff,#edf3f1);box-shadow:0 3px 0 #bacbcc;color:#163945;font:inherit;text-align:left;cursor:pointer;touch-action:manipulation}
.gm-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:750}.gm-choice-hint{flex:none;font-size:10px;font-weight:800;letter-spacing:1px;text-transform:uppercase;color:#496674}.gm-choice-hint::after{content:' ›';font-size:19px;line-height:10px}
#overlay .gm-choice:hover{border-color:#82aeb6;background:#fff}#overlay .gm-choice:active{transform:translateY(2px);box-shadow:0 1px 0 #bacbcc}
.gm-color::before{content:'';width:26px;height:26px;border-radius:50%;background:var(--gm-swatch);border:2px solid #fff;box-shadow:0 0 0 1px #8da3a7;flex:none}.gm-color .gm-value{flex:1}
#overlay :is(button,summary):focus-visible,.gm-dialog :is(button,input):focus-visible{outline:3px solid #ecbb58!important;outline-offset:3px}
.gm-dialog{box-sizing:border-box;position:fixed;inset:0;width:min(600px,calc(100vw - 28px));max-width:none;max-height:calc(100dvh - 28px);margin:auto;padding:0;border:2px solid #ffffff99;border-radius:25px;background:#eaf0ed;color:#183c48;box-shadow:0 24px 100px #061c3299;font-family:Arial,Helvetica,sans-serif;overflow:auto;animation:gm-arrive .16s ease-out}
.gm-dialog::backdrop{background:#092b40bd;backdrop-filter:blur(10px)}.gm-dialog *{box-sizing:border-box}.gm-dialog header{display:flex;align-items:center;gap:20px;padding:18px 22px;background:#173c4c;color:white}.gm-dialog h2{margin:0;font-size:24px;line-height:1.1;letter-spacing:-.7px}.gm-dialog button{font:inherit;cursor:pointer;touch-action:manipulation}.gm-dialog .gm-back{border:1px solid #ffffff55;border-radius:30px;padding:9px 15px;background:#ffffff12;color:white;font-size:13px}.gm-dialog .gm-back::before{content:'‹ ';font-size:18px}
.gm-choices{padding:16px;display:grid;gap:8px}.gm-option{display:flex;align-items:center;gap:15px;min-height:49px;width:100%;padding:12px 16px;border:2px solid transparent;border-radius:13px;background:#fff;color:#183c48;text-align:left;box-shadow:0 2px 0 #c2d1ce}.gm-option small{color:#789091;font-size:12px;font-variant-numeric:tabular-nums}.gm-option strong{flex:1;font-size:15px}.gm-option span{font-size:11px;color:#557777}.gm-option[aria-pressed=true]{background:#dbe9cc;border-color:#88a966}.gm-option:hover:not(:disabled){border-color:#7eabb0;transform:translateX(2px)}.gm-dialog button:disabled{opacity:.35;cursor:default}.gm-dialog footer{padding:0 20px 18px;display:flex;gap:12px;justify-content:center;align-items:center;font-size:12px;font-weight:700}.gm-dialog footer button{min-height:40px;border:0;border-radius:30px;padding:10px 22px;background:#1c4857;color:white;font-weight:700}.gm-dialog .gm-entry{padding:26px;display:flex;flex-direction:column;gap:14px}.gm-entry p{margin:0;color:#4d6971;font-size:14px}.gm-entry input{width:100%;min-height:65px;padding:15px;border:0;border-bottom:4px solid #80a8a8;border-radius:12px;background:#fff;color:#163c48;font:700 24px Arial;outline-offset:4px}.gm-dialog footer .gm-confirm{min-width:180px;background:#244e45}.gm-palette{display:grid;grid-template-columns:repeat(5,1fr);padding:25px;gap:15px}.gm-palette button{aspect-ratio:1;border:4px solid #fff;border-radius:50%;background:var(--swatch);box-shadow:0 2px 0 #a9bfbb}.gm-palette button[aria-pressed=true]{outline:3px solid #244e45;outline-offset:3px}
#overlay.franchise-panel:has(.fr2){background:#244b54;padding:18px;isolation:isolate}#overlay.franchise-panel:has(.fr2)::before{display:block;opacity:1;background:linear-gradient(180deg,#12384770,#153a4ad9),url('/franchise/clubhouse.webp') center/cover;z-index:-1}
#overlay.franchise-panel .panel:has(.fr2){max-width:1280px;background:transparent;border:0;box-shadow:none;border-radius:22px}
#overlay.franchise-panel .fr2{display:flex;flex-direction:column;grid-template-columns:none;padding:0;gap:0;background:transparent;overflow:hidden;border-radius:22px}
#overlay.franchise-panel .fr2-sidebar{display:flex;flex-direction:row;align-items:center;gap:16px;padding:12px 18px;flex:none;background:#153d4ee8;border:1px solid #ffffff26;border-radius:22px 22px 0 0;min-height:74px;width:100%}
#overlay.franchise-panel .fr2-brand{display:flex;min-height:40px;padding:0;flex:none;font-size:15px}#overlay.franchise-panel .fr2-brand small{font-size:9px;margin-top:3px}#overlay.franchise-panel .fr2-sidebar-club{display:none}
#overlay.franchise-panel .fr2-nav{display:flex;flex-direction:row;gap:5px;flex:1;min-width:0;margin:0}#overlay.franchise-panel .fr2-nav button{display:flex;flex:1;justify-content:center;gap:7px;min-height:44px;padding:9px 10px;border-radius:13px;white-space:nowrap}#overlay.franchise-panel .fr2-nav button>svg:last-child{display:none}#overlay.franchise-panel .fr2-nav button[aria-current=page]{background:#e3edc9;color:#193d46;box-shadow:0 3px 0 #91a884}
#overlay.franchise-panel .fr2-sidebar-bottom{margin:0;padding:0;border:0;font-size:10px;flex:none}#overlay.franchise-panel .fr2-workspace{min-height:0;flex:1;background:#eaf0e8eb;border-radius:0 0 22px 22px}#overlay.franchise-panel :is(.fr2-mobile-top,.fr2-mobile-nav){display:none}#overlay.franchise-panel .fr2-content{padding:23px;gap:18px;scrollbar-width:thin}#overlay.franchise-panel .fr2-card{border:0;box-shadow:0 4px 0 #bccbc380;border-radius:20px;background:#fbfcf3}#overlay.franchise-panel .fr2-heading{border-bottom:2px solid #bacbc266;padding-bottom:14px}#overlay.franchise-panel .fr2-tabs{gap:7px}#overlay.franchise-panel .fr2-tabs button{border-radius:30px;padding:10px 17px;font-weight:750;box-shadow:0 2px 0 #b8c9c3}#overlay.franchise-panel .fr2-tabs button[aria-current=page]{background:#244e57;color:white;border-color:#244e57}
#overlay.franchise-panel :is(.fr2-field,.fr2-select),#overlay :is(.club-field,.league-field){background:transparent;border:0;padding:0;gap:8px}#overlay.franchise-panel .fr2-select{display:flex;flex-direction:column;align-items:stretch}#overlay.franchise-panel .fr2-select .gm-choice{flex:1}#overlay.franchise-panel .fr2-pick-row:has(input:checked){background:#dceacb;box-shadow:inset 0 0 0 2px #87a769}#overlay input[type=checkbox]{accent-color:#406550;width:20px;height:20px}#overlay input[type=range]{accent-color:#2c6970;height:26px}
#overlay :is(.club-sheet,.league-content){overflow:auto;scrollbar-width:thin}#overlay .club-field>span{font-size:11px;text-transform:uppercase;letter-spacing:1.2px;font-weight:800}
#practice-tools .gm-choice,#defense-tools .gm-choice{min-height:30px;padding:5px 8px;border-radius:9px;box-shadow:none}#practice-tools .gm-value,#defense-tools .gm-value{font-size:10px}#practice-tools .gm-choice-hint,#defense-tools .gm-choice-hint{display:none}
@keyframes gm-arrive{from{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}
@media(max-width:700px){#overlay.franchise-panel:has(.fr2){padding:calc(env(safe-area-inset-top) + 52px) 8px 8px}#overlay.franchise-panel .fr2-sidebar{flex-wrap:wrap;gap:9px;padding:10px;min-height:0}#overlay.franchise-panel .fr2-brand{font-size:13px;min-height:27px}#overlay.franchise-panel .fr2-brand small{display:none}#overlay.franchise-panel .fr2-sidebar-bottom{margin-left:auto;display:block}#overlay.franchise-panel .fr2-sidebar-bottom>span{display:none}#overlay.franchise-panel .fr2-nav{order:3;flex-basis:100%;gap:4px}#overlay.franchise-panel .fr2-nav button{padding:7px 3px;min-height:40px;font-size:11px;gap:4px}#overlay.franchise-panel .fr2-nav svg{width:16px;height:16px}#overlay.franchise-panel .fr2-content{padding:15px;gap:14px}.gm-dialog h2{font-size:21px}.gm-dialog header{padding:14px}.gm-option{padding:10px;gap:10px}.gm-option span{font-size:10px}}
@media(max-height:500px){.gm-dialog header{padding:10px 16px}.gm-dialog h2{font-size:19px}.gm-choices{padding:10px;gap:5px}.gm-option{min-height:39px;padding:8px 12px}.gm-dialog footer{padding:0 12px 10px}.gm-dialog footer button{min-height:33px;padding:7px 18px}.gm-dialog .gm-entry{padding:15px}.gm-entry input{min-height:48px;font-size:20px}.gm-palette{grid-template-columns:repeat(7,1fr);padding:15px;gap:10px}#overlay.franchise-panel:has(.fr2){padding:5px}#overlay.franchise-panel .fr2-sidebar{padding:6px 12px;gap:10px;flex-wrap:nowrap}#overlay.franchise-panel .fr2-nav{order:0;flex-basis:auto}#overlay.franchise-panel .fr2-nav button{min-height:34px}#overlay.franchise-panel .fr2-sidebar-bottom{display:none}#overlay.franchise-panel .fr2-content{padding:12px;gap:12px}}
@media(prefers-reduced-motion:reduce){.gm-dialog{animation:none}.gm-option:hover:not(:disabled){transform:none}}
/* The clubhouse reads as a match lobby, with the field at its center. */
#overlay.franchise-panel .fr2-workspace{background:#e5ece2dc;backdrop-filter:blur(6px)}
#overlay.franchise-panel .fr2-metrics{background:#173c4ee8;color:#f8faf4;border:1px solid #ffffff33;border-radius:17px;box-shadow:0 3px 0 #08283b44}
#overlay.franchise-panel .fr2-metrics>div{padding:12px 17px;border-color:#ffffff20}#overlay.franchise-panel .fr2-metrics strong{color:#f8faf4;font-size:23px}#overlay.franchise-panel .fr2-metrics :is(small,span){color:#c4d5d6}
#overlay.franchise-panel .fr2-match-card{position:relative;background:linear-gradient(180deg,#15354899,#112c3ce8),url('/franchise/clubhouse.webp') center/cover;border:2px solid #ffffff66;box-shadow:0 5px 0 #0e2c3c44}
#overlay.franchise-panel .fr2-match-teams{margin:24px 0}#overlay.franchise-panel .fr2-match-teams strong{font-size:25px;text-shadow:0 2px 5px #0004}
#overlay.franchise-panel .fr2-card:has(.fr2-quick-actions){background:transparent;box-shadow:none;padding:0}
#overlay.franchise-panel .fr2-primary{border-radius:30px;box-shadow:0 3px 0 #859962;font-weight:800;min-height:46px}
#overlay.franchise-panel .fr2-nav button[aria-current=page] svg{color:#294d44}
@media(max-width:700px){#overlay.franchise-panel .fr2-metrics>div{padding:10px 12px}#overlay.franchise-panel .fr2-metrics strong{font-size:20px}}
#overlay.franchise-panel .fr2-metrics>.fr2-metric{background:transparent}
#overlay.franchise-panel .fr2-card:has(.fr2-task-list){background:transparent;box-shadow:none;padding:0}
#overlay.franchise-panel .fr2-task-list{gap:10px}#overlay.franchise-panel .fr2-task-list>button{background:#f7faef;border:2px solid #ffffff80;border-radius:17px;padding:17px;box-shadow:0 3px 0 #aec3b9;min-height:79px}#overlay.franchise-panel .fr2-task-list>button:hover{background:#e3edcc;border-color:#99b187}
@media(max-width:480px){#overlay.franchise-panel:has(.fr2){padding:calc(env(safe-area-inset-top) + 50px) 6px calc(env(safe-area-inset-bottom) + 6px)!important}#overlay.franchise-panel .fr2-sidebar-bottom{display:flex}}
@media(orientation:landscape) and (max-height:560px) and (min-width:650px){#overlay.franchise-panel:has(.fr2){padding:calc(env(safe-area-inset-top) + 5px) 6px 5px!important}}
.gm-dialog>header{position:relative;inset:auto;width:auto;height:auto;min-height:0;transform:none;justify-content:flex-start;z-index:auto;border-radius:0;box-shadow:none}
.gm-dialog>footer{position:relative;inset:auto;width:auto;height:auto;transform:none;background:transparent;color:#3c5c65;letter-spacing:0;border:0;box-shadow:none}
.gm-choice[hidden]{display:none!important}

/* Input focus belongs to the top game screen. */
#overlay .gm-focused,.gm-dialog .gm-focused{outline:3px solid #ecbb58!important;outline-offset:3px}
.gm-dialog{touch-action:pan-y;overscroll-behavior:contain}
body:has(.pd-reduced-motion) .gm-dialog,body:has(.pd-reduced-motion) .gm-dialog *{animation:none!important;transition:none!important;scroll-behavior:auto!important}
.lesson-collection{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin:20px 0}
.lesson-collection button{display:grid;grid-template-columns:36px 1fr;gap:5px 12px;align-items:center;min-height:88px;text-align:left;padding:16px;border-radius:18px;background:#edf2df;color:#204852;border:2px solid #ffffff88;box-shadow:0 4px 0 #819f92}
.lesson-collection button>span{grid-row:span 2;font-size:24px;color:#567b54;font-weight:900}.lesson-collection small{font-size:11px}.lesson-collection strong{font-size:15px}
@media(max-width:420px){.lesson-collection{gap:8px}.lesson-collection button{padding:12px;grid-template-columns:24px 1fr;gap:5px 8px}.lesson-collection strong{font-size:13px}}
/* The week is a game destination: matchup, preparation, then the season trail. */
#overlay.franchise-panel .fr2-content>section,#overlay.franchise-panel .fr2-content>nav{flex-shrink:0}
#overlay.franchise-panel .fr2-content>.fr2-match-card{background:linear-gradient(90deg,#112c3cf2,#112c3ca6 60%,#112c3c55),url('/franchise/clubhouse.webp') 50% 76%/cover;padding:24px 30px;min-height:285px;border-radius:24px}
#overlay.franchise-panel .fr2-content>.fr2-match-card .fr2-match-teams{max-width:760px;margin:18px auto 22px}
#overlay.franchise-panel .fr2-content>.fr2-match-card .fr2-button-row{justify-content:center}
#overlay.franchise-panel .fr2-content>.fr2-match-card .fr2-match-detail{justify-content:center;gap:22px}
#overlay.franchise-panel .fr2-match-card .fr2-primary{min-width:230px}
.fr2-weekly-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
#overlay.franchise-panel .fr2 .fr2-weekly-grid button{display:grid;grid-template-columns:42px 1fr;grid-template-rows:auto auto auto;gap:4px 12px;align-items:center;min-height:114px;padding:17px 20px;border:2px solid #fff9;border-radius:20px;background:#f7f9e8;color:#214a51;box-shadow:0 4px 0 #a7beb0;text-align:left;transition:transform .12s,background .12s}
#overlay.franchise-panel .fr2 .fr2-weekly-grid button:hover{background:#e6efce;transform:translateY(-2px)}#overlay.franchise-panel .fr2 .fr2-weekly-grid button.complete{background:#e0ebc7}
.fr2-weekly-number{grid-column:1/-1;color:#577c70;font-size:10px;font-weight:900;letter-spacing:1.4px}.fr2-weekly-grid svg{grid-row:span 2;width:30px;height:30px}.fr2-weekly-grid strong{font-size:19px}.fr2-weekly-grid small{font-size:12px}
.fr2-season-trail{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}
#overlay.franchise-panel .fr2 .fr2-season-trail button{padding:12px;border:1px solid #aec3b7;border-radius:13px;background:#dbe5d8;color:#294e54;text-align:left;min-width:0}
.fr2-season-trail button>span{font-size:9px;letter-spacing:1.3px;font-weight:800}.fr2-season-trail button>div{display:flex;align-items:center;gap:7px;margin-top:7px}.fr2-season-trail strong{font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fr2-season-trail b{font-size:10px;margin-left:auto;white-space:nowrap}.fr2-season-trail .fr2-mark{width:28px;height:28px;font-size:9px;flex:none}
#overlay.franchise-panel .fr2 .fr2-season-trail button.current{border:2px solid #608772;background:#f4f5de}.fr2-picks-at-risk{max-height:210px;overflow:auto}.fr2-picks-at-risk p{padding:5px;border-bottom:1px solid #acbeb255}
.fr2-draft-slots{display:grid;grid-template-columns:repeat(11,minmax(0,1fr));gap:7px}
#overlay.franchise-panel .fr2 .fr2-draft-slots button{min-width:0;min-height:70px;display:flex;flex-direction:column;gap:3px;align-items:center;justify-content:center;padding:8px 4px;border:2px dashed #91aaa5;border-radius:13px;background:#dde6dc;color:#31565c}
#overlay.franchise-panel .fr2 .fr2-draft-slots button.complete{border-style:solid;background:#426758;color:#fff}#overlay.franchise-panel .fr2 .fr2-draft-slots button[aria-pressed=true]{outline:3px solid #ba893c;outline-offset:2px}.fr2-draft-slots svg{width:12px;height:12px}.fr2-draft-slots strong{font-size:14px}.fr2-draft-slots span{font-size:10px}
.fr2-board-tools{margin:0 0 16px}.fr2-board-tools summary{cursor:pointer;padding:10px 0;font-size:12px;font-weight:800;color:#476770}.fr2-board-tools[open]{border-bottom:1px solid #cfdbce;padding-bottom:12px}.fr2-board-tools .fr2-filters{margin-top:12px}
.fr2-draft-candidates{display:grid;grid-template-columns:1fr 1fr;gap:12px}
#overlay.franchise-panel .fr2 .fr2-prospect{display:flex;flex-direction:column;gap:7px;min-width:0;min-height:180px;text-align:left;padding:17px;border:2px solid #dce3d4;border-radius:17px;background:linear-gradient(150deg,#f8faed,#e5eddf);color:#284b50;box-shadow:0 4px 0 #bdcbb8}
#overlay.franchise-panel .fr2 .fr2-prospect.selected{border-color:#72934a;background:linear-gradient(150deg,#f8fae7,#dce9bc)}.fr2-prospect-top{display:flex;justify-content:space-between;width:100%;align-items:center}.fr2-prospect-top>b{font-size:28px;line-height:1;display:flex;align-items:baseline;gap:3px}.fr2-prospect-top small{font-size:9px}.fr2-prospect>strong{font-size:17px;line-height:1.1}.fr2-prospect>span:not(:first-child),.fr2-prospect>small{font-size:10px}.fr2-prospect p{font-size:11px!important;line-height:1.4;margin:0 0 auto!important;color:#59716a}
.fr2-signing{display:grid;grid-template-columns:1fr 1.3fr;max-width:780px;width:100%;margin:auto;border:2px solid #fff9;border-radius:26px;overflow:hidden;background:#f4f6e9;box-shadow:0 12px 0 #0f343b33}
.fr2-signing-stage{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;min-height:360px;padding:30px;background:radial-gradient(ellipse at 50% 40%,color-mix(in srgb,var(--fr2-team),white 24%),var(--fr2-team));color:white}
.fr2-signing-stage>.fr2-mark{width:54px;height:54px;font-size:16px}.fr2-signing-stage>.fr2-jersey{width:142px;height:150px;font-size:42px;background:var(--fr2-trim);color:var(--fr2-team);filter:drop-shadow(0 10px 0 #0002)}
.fr2-signing-stamp{font-size:25px;font-weight:900;letter-spacing:6px;transform:rotate(-6deg);padding:7px 20px;border:3px solid #fff9;border-radius:5px;animation:gm-arrive .25s ease-out}
.fr2-signing-copy{display:flex;flex-direction:column;justify-content:center;gap:15px;padding:34px}.fr2-signing-copy h2{font-size:34px;line-height:1.05;margin:0;color:#1b4149}.fr2-signing-copy p,.fr2-signing-copy small{margin:0;color:#5a716c}.fr2-signing-copy>small{font-size:11px}.fr2-signing-ratings{display:flex;gap:35px}.fr2-signing-ratings span{display:grid;gap:3px;font-size:10px;font-weight:800;color:#57796f}.fr2-signing-ratings b{font-size:44px;line-height:1;color:#244c52}
.fr2-practice-reward{display:flex;align-items:center;justify-content:space-between;gap:20px;flex-wrap:wrap;padding:24px;border:2px solid #bdd0a0;border-radius:22px;background:linear-gradient(120deg,#eef5d0,#dcebc6);box-shadow:0 4px 0 #a8bd98}.fr2-practice-reward h2{font-size:25px;margin:7px 0;color:#234b47}.fr2-practice-reward p{font-size:12px;margin:0;color:#567466}.fr2-reward-values{display:flex;gap:25px}.fr2-reward-values>span{display:grid;gap:6px;font-size:9px;font-weight:800;letter-spacing:.8px;color:#416551}.fr2-reward-values b{font-size:36px;line-height:1;color:#20473b}
.pd-reduced-motion .gm-dialog,.pd-reduced-motion .gm-dialog *,.pd-reduced-motion .fr2-signing-stamp{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(max-width:740px){.fr2-draft-slots{grid-template-columns:repeat(6,minmax(0,1fr))}.fr2-founding-draft .fr2-sticky-detail{order:initial!important}.fr2-signing{grid-template-columns:1fr}.fr2-signing-stage{min-height:150px;flex-direction:row;gap:18px;padding:18px}.fr2-signing-stage>.fr2-jersey{width:85px;height:95px;font-size:26px}.fr2-signing-stamp{font-size:19px;letter-spacing:3px;padding:5px 9px}.fr2-signing-copy{padding:24px}.fr2-signing-copy h2{font-size:29px}.fr2-signing-ratings b{font-size:36px}.fr2-practice-reward{padding:19px;gap:18px}.fr2-practice-reward .fr2-primary{width:100%}}
@media(max-width:600px){#overlay.franchise-panel .fr2-content>.fr2-match-card{padding:18px 16px;min-height:285px}#overlay.franchise-panel .fr2-match-teams strong{font-size:18px}#overlay.franchise-panel .fr2-match-card .fr2-primary{width:100%;min-width:0}#overlay.franchise-panel .fr2-content>.fr2-match-card .fr2-button-row{gap:10px}#overlay.franchise-panel .fr2-content>.fr2-match-card .fr2-match-detail{font-size:10px;gap:10px}#overlay.franchise-panel .fr2 .fr2-weekly-grid button{display:flex;flex-direction:column;align-items:flex-start;gap:7px;padding:12px 10px;min-height:128px;border-radius:15px}.fr2-weekly-grid{gap:8px}.fr2-weekly-grid strong{font-size:14px}.fr2-weekly-grid small{font-size:10px;line-height:1.3}.fr2-weekly-grid svg{width:23px;height:23px}.fr2-weekly-number{font-size:8px}.fr2-season-trail{grid-template-columns:1fr 1fr}.fr2-draft-candidates{gap:9px}#overlay.franchise-panel .fr2 .fr2-prospect{padding:13px}.fr2-prospect>strong{font-size:16px}}
@media(max-height:500px) and (min-width:500px){.fr2-signing{grid-template-columns:.7fr 1.3fr}.fr2-signing-stage{flex-direction:column;min-height:220px;gap:12px}.fr2-signing-copy{padding:20px;gap:10px}.fr2-signing-copy h2{font-size:25px}.fr2-signing-ratings b{font-size:29px}}
@media(prefers-reduced-motion:reduce){.fr2-signing-stamp{animation:none}}

#overlay.franchise-panel .fr2 .fr2-signing-stage>.fr2-jersey{width:142px;height:150px;font-size:42px;background:var(--fr2-trim);color:var(--fr2-team)}
#overlay.franchise-panel .fr2 .fr2-signing-copy h2{font-size:34px;line-height:1.05}
#overlay.franchise-panel .fr2 .fr2-practice-reward h2{font-size:25px;margin:7px 0;color:#234b47}
#overlay.franchise-panel .fr2 .fr2-signing .fr2-primary{background:#315f4e;color:#fff}
#overlay.franchise-panel .fr2 .fr2-season-trail .fr2-mark{width:28px;height:28px;font-size:9px}
@media(max-width:740px){#overlay.franchise-panel .fr2 .fr2-signing-stage>.fr2-jersey{width:85px;height:95px;font-size:26px}#overlay.franchise-panel .fr2 .fr2-signing-copy h2{font-size:29px}}

/* In-match Quick Call sits on the dimmed field: light type and full context. */
#game #overlay.quick-call-panel .quick-call-shell>.eyebrow{color:#d3e6f0;opacity:1}
#game #overlay.quick-call-panel .coach-heading{flex-wrap:nowrap;align-items:center}
#game #overlay.quick-call-panel .coach-heading h2{color:#f5fbff;white-space:nowrap;font-size:21px;min-width:0;margin-right:4px}
#game #overlay.quick-call-panel .coach-heading>button{flex:0 0 auto;min-height:44px;padding:8px 11px}
#game #overlay.quick-call-panel .coach-special>div{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}
#game.calling-play #banner{visibility:hidden}

/* Game confirmations use the same touch, keyboard and controller menu shell. */
.gm-confirmation .gm-entry p{font-size:16px;line-height:1.5;margin:0;overflow-wrap:break-word}
.gm-confirmation footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr))}
.gm-confirmation footer button{white-space:normal;min-height:48px}
#game,.gm-dialog{-webkit-touch-callout:none}
#game :is(img,canvas,button){-webkit-user-select:none;user-select:none}
.gm-validation{color:#613600!important;background:#fff3cd;border-radius:8px;padding:8px 10px;font-weight:800;font-size:14px;line-height:1.4;margin:8px 0;text-shadow:none}
.gm-dialog.gm-confirmation .gm-entry p{color:#183c48!important;text-shadow:none}
.gm-dialog.gm-confirmation header{gap:12px;padding:14px 62px 14px 14px}
.gm-dialog.gm-confirmation h2{min-width:0;font-size:clamp(18px,5vw,24px);overflow-wrap:break-word}
.gm-dialog.gm-confirmation .gm-back{flex-shrink:0;padding:8px 10px}
.gm-dialog.gm-confirmation footer button{width:100%;min-width:0;padding:10px 8px}
.gm-dialog.gm-confirmation>#sound.pd-audio-trigger{position:absolute;top:8px;right:8px}
