:root{--film-lime:#7cff37;--film-ink:#05080b;--film-panel:rgba(8,13,18,.91);--film-line:rgba(174,198,218,.2)}
body.game-mode{background:#05080b;color:#f4f7f9;overflow-x:hidden}
body.game-mode:before{content:"";position:fixed;z-index:-2;inset:0;background:linear-gradient(180deg,rgba(3,6,8,.32),#05080b 54%),linear-gradient(90deg,#05080b 0%,rgba(5,8,11,.78) 38%,rgba(5,8,11,.42) 100%),url('/s22-film-room-matchup.webp') center top/cover no-repeat;opacity:.72;pointer-events:none}
body.game-mode:after{content:"";position:fixed;z-index:-1;inset:0;background:radial-gradient(circle at 84% 14%,rgba(231,166,73,.07),transparent 18%),radial-gradient(circle at 68% 32%,rgba(124,255,55,.055),transparent 24%),linear-gradient(180deg,transparent,#05080b 76%);pointer-events:none}
body.game-mode #gameView>.game-back,body.game-mode #gameView>.restored-nav,body.game-mode #gameView>.weeknav,body.game-mode #gameView>.logo,body.game-mode #gameView>.hero{display:none!important}
.film-room{display:none}.game-mode .film-room{display:block;width:min(1120px,calc(100% - 24px));margin:0 auto 14px;padding-top:14px}
.film-room-top{display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:8px 10px;border:1px solid var(--film-line);border-radius:14px;background:rgba(5,9,12,.78);backdrop-filter:blur(12px)}
.film-room-name{min-width:0;text-align:center;color:#94a3b2;font-size:.72rem;font-weight:900;letter-spacing:.18em;text-transform:uppercase}.film-room-name b{color:#f1f5f8}
.film-icon,.film-exit{display:grid;place-items:center;min-width:44px;height:44px;border:1px solid #354758;border-radius:10px;background:#0b131a;color:#e9eff4;text-decoration:none;font:900 1rem/1 system-ui;cursor:pointer}.film-exit{padding:0 12px;font-size:.72rem;letter-spacing:.07em}.film-icon:focus-visible,.film-exit:focus-visible,.film-game-button:focus-visible{outline:2px solid var(--film-lime);outline-offset:3px}.film-icon[disabled]{border-color:#222d37;background:#090d11;color:#46515c;cursor:not-allowed}
.film-file{position:relative;margin-top:10px;padding:18px clamp(14px,3vw,30px) 20px;border:1px solid rgba(124,255,55,.18);border-radius:18px;background:linear-gradient(135deg,rgba(7,12,16,.95),rgba(10,17,22,.86));box-shadow:0 22px 60px #0009;overflow:hidden}.film-file:before{content:"S22 FILM ROOM";position:absolute;right:18px;top:13px;color:rgba(124,255,55,.23);font-size:.68rem;font-weight:1000;letter-spacing:.18em}.film-kicker{color:var(--film-lime);font-size:.72rem;font-weight:950;letter-spacing:.14em;text-transform:uppercase}.film-matchup{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:14px;margin:15px 0 10px}.film-team{min-width:0;font-size:clamp(1.25rem,4.8vw,2.35rem);font-weight:1000;line-height:.95;letter-spacing:-.035em;text-transform:uppercase;text-wrap:balance}.film-team:last-child{text-align:right}.film-at{color:#6f7f8e;font-size:.76rem;font-weight:950;letter-spacing:.12em}.film-meta{display:flex;align-items:flex-end;justify-content:space-between;gap:14px;padding-top:12px;border-top:1px solid var(--film-line);color:#aab7c3;font-size:.82rem;line-height:1.45}.film-pick{text-align:right}.film-pick span{display:block;color:var(--film-lime);font-size:.67rem;font-weight:950;letter-spacing:.12em}.film-pick strong{color:#f5f8fa;font-size:.95rem}.film-games{display:grid;grid-template-columns:44px 1fr 44px;align-items:center;gap:10px;margin-top:10px}.film-game-button{display:grid;place-items:center;height:44px;border:1px solid #354758;border-radius:10px;background:#0b131a;color:var(--film-lime);font:1000 1.15rem/1 system-ui;cursor:pointer}.film-game-button[disabled]{color:#46515c;border-color:#222d37;background:#090d11;cursor:not-allowed}.film-game-count{text-align:center;color:#dfe7ed;font-size:.77rem;font-weight:950;letter-spacing:.16em}.film-swipe-note{text-align:center;color:#71808d;font-size:.67rem;margin-top:7px;letter-spacing:.08em;text-transform:uppercase}
.game-mode #gameView,.game-mode>.tabs,.game-mode>.grid,.game-mode>#matchupOverview,.game-mode>#lastFiveHistory,.game-mode>.keep-scouting{width:min(1120px,calc(100% - 24px));margin-left:auto!important;margin-right:auto!important}.game-mode>.tabs{margin-top:14px}.game-mode>.tabs:before{content:"INTERACTIVE ALL-22";display:block;flex-basis:100%;margin:0 0 8px;color:var(--film-lime);font-size:.72rem;font-weight:950;letter-spacing:.14em}.game-mode>.grid,.game-mode>#matchupOverview,.game-mode>#lastFiveHistory,.game-mode>.keep-scouting{background:rgba(7,12,16,.92);box-shadow:0 15px 50px #0008}.game-mode>.grid{padding:clamp(8px,2vw,16px);border:1px solid var(--film-line);border-radius:18px}.game-mode .fieldbox{margin-top:0}.game-mode .keep-scouting .next{display:none!important}
.film-changing .film-file,.film-changing>.grid{animation:filmSlide .23s ease both}@keyframes filmSlide{from{opacity:.35;transform:translateX(var(--film-shift,18px))}to{opacity:1;transform:none}}
@media(max-width:700px){body.game-mode:before{background:linear-gradient(180deg,rgba(3,6,8,.55),#05080b 43%),linear-gradient(90deg,#05080b 4%,rgba(5,8,11,.54)),url('/s22-film-room-matchup.webp') 65% top/auto 48vh no-repeat;opacity:.6}.game-mode .film-room{width:min(100% - 16px,1120px);padding-top:8px}.film-room-top{grid-template-columns:44px 1fr 44px;padding:5px}.film-exit{width:44px;padding:0;font-size:0}.film-exit:before{content:"×";font-size:1.4rem}.film-room-name{font-size:.65rem;letter-spacing:.13em}.film-file{margin-top:7px;padding:15px 12px 16px;border-radius:14px}.film-file:before{right:11px;top:10px;font-size:.58rem}.film-kicker{font-size:.64rem}.film-matchup{grid-template-columns:1fr;gap:4px;margin:17px 0 10px}.film-team{font-size:clamp(1.45rem,8.4vw,2.15rem)}.film-team:last-child{text-align:left}.film-at{font-size:.64rem}.film-meta{display:grid;gap:9px}.film-pick{text-align:left}.film-games{margin-top:7px}.film-swipe-note{display:block}.game-mode #gameView,.game-mode>.tabs,.game-mode>.grid,.game-mode>#matchupOverview,.game-mode>#lastFiveHistory,.game-mode>.keep-scouting{width:calc(100% - 16px)}.game-mode>.tabs{overflow-x:auto;justify-content:flex-start;flex-wrap:wrap}.game-mode>.tabs .tab{min-height:46px;flex:1 0 145px}.game-mode>.grid{padding:6px;border-radius:13px}.game-mode .fieldbox{padding:8px}.game-mode .field{max-width:100%;overflow:hidden}}
@media(min-width:701px){.film-swipe-note{display:none}.film-games{position:fixed;inset:50% 14px auto;z-index:25;display:flex;justify-content:space-between;pointer-events:none}.film-game-button{width:48px;height:56px;background:rgba(6,11,15,.88);pointer-events:auto}}
@media(prefers-reduced-motion:reduce){.film-changing .film-file,.film-changing>.grid{animation:none}}

/* Film Room v3: show the supplied artwork cleanly and never crop or cover it. */
body.game-mode:before,body.game-mode:after{display:none!important}
.game-mode .film-room{box-sizing:border-box;min-height:0;margin:12px auto 18px;padding:12px;border:1px solid rgba(124,255,55,.2);border-radius:20px;background:#03070a;box-shadow:0 24px 70px #000c;overflow:hidden}
.film-art{margin:10px 0 0;border:1px solid rgba(124,255,55,.2);border-radius:15px;background:#000;overflow:hidden}
.film-art img{display:block;width:100%;height:auto;aspect-ratio:16/9;object-fit:contain}
.game-mode .film-room .film-file{margin-top:10px;border-color:rgba(124,255,55,.22);background:linear-gradient(135deg,rgba(7,12,16,.98),rgba(10,17,22,.95));backdrop-filter:none}
.game-mode .film-swipe-note{color:#9aa8b5}
@media(max-width:700px){.game-mode .film-room{width:calc(100% - 12px);min-height:0;margin:6px auto 14px;padding:6px;border-radius:15px}.game-mode .film-room .film-room-top{background:rgba(5,9,12,.96)}.film-art{margin-top:6px;border-radius:10px}.game-mode .film-room .film-file{margin-top:7px;background:linear-gradient(135deg,rgba(7,12,16,.98),rgba(10,17,22,.96))}.film-week-controls>div{display:block!important}.film-week-controls span,.film-week-controls #filmNextWeek{display:none!important}.film-team{font-size:clamp(1.25rem,7vw,1.8rem)}}

/* Shared All-22 legend and attached indicator system, all published weeks. */
.s22-field-key{display:none}.game-mode>.s22-field-key{box-sizing:border-box;display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;width:min(1120px,calc(100% - 24px));margin:10px auto 0;padding:7px 0;border-bottom:1px solid #7ca68a26;color:#dce9df;font:750 10px/1.4 system-ui,sans-serif}.s22-field-key>strong{color:#9eb4a5;font-size:9px;letter-spacing:.08em}.s22-key-items{display:flex;flex-wrap:wrap;gap:4px 14px;min-width:0}.s22-key-items>span{display:inline-flex;align-items:center;gap:5px;white-space:nowrap}.s22-key-items b{display:inline-grid;place-items:center;font-size:12px;min-width:13px}.key-star{color:#ffd43b}.key-watch{color:#ffcc4d}.key-edge{color:#b5ff75}
.field .player .top100star,.field .player .badge,.field .player .s22-edge-bolt{box-sizing:border-box;position:absolute;display:grid;place-items:center;width:15px;height:15px;padding:0;border:1px solid #e0ead5;border-radius:5px;font:900 10px/1 system-ui,sans-serif;box-shadow:0 2px 4px #0008;transform:none;z-index:6;text-shadow:none}.field .player .top100star{left:-6px;top:-6px}.field .player .badge{right:-6px;top:-6px}
@media(max-width:500px){.game-mode>.s22-field-key{gap:3px 9px;padding:6px 0;font-size:10px}.s22-key-items{gap:3px 10px}.field .player .top100star,.field .player .badge,.field .player .s22-edge-bolt{width:13px;height:13px;font-size:9px;border-radius:4px}.field .player .top100star{left:-5px;top:-5px}.field .player .badge,.field .player .s22-edge-bolt{right:-5px;top:-5px}.field .player:has(.badge) .s22-edge-bolt{top:auto;bottom:-5px}}

/* Matchup Edge ring follows the existing bolt; marker geometry and hit targets stay intact. */
.field .player:has(> .s22-edge-bolt){border-color:#a3ff12!important;box-shadow:inset 0 0 0 2px #a3ff12,0 0 7px 1px #a3ff1266,0 5px 14px #0009}
.s22-key-items .key-edge-ring{box-sizing:border-box;display:inline-block;width:15px;height:15px;min-width:15px;border:3px solid #a3ff12;border-radius:50%;box-shadow:0 0 5px #a3ff1266;vertical-align:middle}
@media(max-width:500px){.field .player:has(> .s22-edge-bolt){box-shadow:inset 0 0 0 1px #a3ff12,0 0 5px #a3ff1266,0 5px 14px #0009}}

/* Selection and keyboard focus are distinct from the lime Matchup Edge ring. */
.field .player.active,.field .player:focus-visible{outline-color:#e6eee8}

/* Shared game header sizing: changing game or carousel position cannot resize it. */
.game-mode .film-room .film-file{display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:18px 64px 32px 44px;gap:8px;height:206px;min-height:0;box-sizing:border-box;padding:12px;margin-top:8px}
.game-mode .film-room .film-kicker{line-height:18px;margin:0}
.game-mode .film-room .film-matchup{margin:0;min-width:0;gap:4px;align-items:center}
.game-mode .film-room .film-team{font-size:clamp(18px,3vw,28px);line-height:1.1;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}
.game-mode .film-room .film-meta{display:contents}
.game-mode .film-room #filmDate{margin:0;align-self:center;font-size:13px;line-height:16px}
.game-mode .film-room .film-pick{margin:0;align-self:center;text-align:left}
.game-mode .film-art{margin:8px 0 0;aspect-ratio:16/9;position:relative}
.game-mode .film-art img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}
@media(max-width:700px){.game-mode .film-room .film-matchup{grid-template-columns:minmax(0,1fr);grid-template-rows:24px 12px 24px;gap:2px}.game-mode .film-room .film-team{font-size:20px;line-height:24px;-webkit-line-clamp:1}.game-mode .film-room .film-at{font-size:10px;line-height:12px}}
