/* Horizontal stadium and a coach-first playbook. */
.match-heading{display:flex;justify-content:space-between;align-items:center;gap:24px;padding:27px 0 24px}.match-heading h1{font-size:43px;margin:9px 0;letter-spacing:-.4px}.match-heading h1 em{font-style:normal;color:var(--lime)}.match-heading p{font-size:11px;color:#9aab98;margin:0}.match-toolbar{display:flex;align-items:center;gap:8px}.match-toolbar .speed-controls{gap:4px}.match-toolbar .speed-controls button{padding:10px 13px}.match-toolbar .effects-control{margin:0;width:auto;padding:12px 10px;white-space:nowrap}.auto-mode{border:1px solid #637654;border-radius:3px;padding:12px;color:#d9edb8;background:#233020;font-size:10px;font-weight:700;white-space:nowrap}.auto-mode[aria-pressed=true]{background:#d8f474;color:#172018;border-color:#d8f474}.match-toolbar #start{margin:0;width:auto;font-size:10px;padding:12px;white-space:nowrap}.match-stage{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:18px;align-items:start}.arena{min-width:0;border-color:#4e6445;border-radius:8px}.arena .scoreboard{height:83px;padding:12px 24px}.scoreteam strong{font-size:37px}.clock strong{font-size:28px}.field-wrap{touch-action:pan-y;max-height:none}.arena canvas{width:100%;height:auto;aspect-ratio:1120/640;max-height:none;object-fit:contain}.arena #toast{font-size:8px;top:14px}.arena #pause{top:12px;z-index:4}.arena .action-call{top:35%;font-size:clamp(22px,3.2vw,44px)}.arena .broadcast{font-size:8px;bottom:12px;pointer-events:none}.arena .broadcast span{padding:7px 9px;background:#152b20ee}.arena .ticker{min-height:47px;padding:10px 14px;background:#1b2a20;font-size:10px}.arena .ticker b{white-space:nowrap}.coach-panel{padding:0;display:grid;gap:10px}.coach-card{padding:14px;border:1px solid #3d5137;background:#1a281f;border-radius:5px}.coach-card>.eyebrow{font-size:8px;letter-spacing:1px;color:#9bb28b}.coach-card .team{padding:0;margin:7px 0 0;border:0;gap:4px}.coach-card .team img{width:60px;height:60px;flex-shrink:0}.coach-card .team h2{font-size:25px}.coach-card .team small{font-size:7px;letter-spacing:.5px}.coach-card .team>b{margin-left:auto;font:700 24px 'Barlow Condensed';color:var(--lime)}.coach-read{display:flex;align-items:center;gap:8px;margin-top:9px}.coach-read img{width:53px;height:53px;image-rendering:pixelated}.coach-read h3{font:700 23px 'Barlow Condensed';margin:0 0 5px}.coach-read small{font-size:7px;color:#a2b58f;letter-spacing:.4px}.observation{background:#263521}.observation h3{font:700 27px/1.1 'Barlow Condensed';margin:12px 0 8px;color:#e0ebc5}.observation p{font-size:10px;color:#b5c6a4;line-height:1.7;margin:0 0 12px}.observation>span:last-child{font-size:7px;letter-spacing:1px;color:#92aa7d}.coach-panel .matchup-summary,.coach-panel .jukebox{margin:0}.playbook{padding:16px;background:#14271f;border-top:1px solid #4f6743}.playbook-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;gap:10px}.playbook-heading .eyebrow{font-size:9px;letter-spacing:1px;color:#bbd099}.playbook-heading p{font-size:10px;color:#9bb48b;margin:6px 0 0}.playbook-team{font-size:8px;letter-spacing:1px;color:#78936c}.playbook-row{display:grid;grid-template-columns:minmax(0,1fr) 114px;gap:11px;align-items:stretch}.play-cards{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;min-width:0}.play-card{display:flex;flex-direction:column;text-align:left;padding:10px 9px;border:1px solid #43593f;border-radius:4px;background:#1b3026;color:#dfebd2;transition:background .12s,border-color .12s;min-width:0}.play-card:hover:enabled{border-color:#bbd77c;background:#2b3e2b}.play-card.active{border-color:#d8e97a;box-shadow:inset 0 0 0 1px #d8e97a;background:#2c3c26}.play-card:disabled{cursor:default}.play-card strong{font-size:10px;display:flex;align-items:center;gap:5px;white-space:nowrap}.play-card strong i{width:6px;height:6px;flex-shrink:0;border-radius:50%;background:var(--play-color)}.play-card svg{width:100%;height:56px;display:block;margin:5px 0}.play-card small{font-size:8px;color:#a5b69c;line-height:1.5}.call-play{background:#f0dc78;border:0;border-radius:4px;color:#1d291a;font:800 14px 'Barlow Condensed';letter-spacing:.4px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:11px;min-height:120px;padding:12px}.call-play span{font-size:19px}.call-play:disabled{background:#304232;color:#8ea182;cursor:default}.playbook-note{font-size:9px;color:#839d75;margin:11px 0 0;line-height:1.6}.match-feed{display:grid;grid-template-columns:170px 1fr;gap:24px;margin:28px 0;padding:20px 0;border-block:1px solid #344039}.match-feed h2{font:700 30px 'Barlow Condensed';margin:8px 0}.match-feed #feed{display:flex;gap:22px;max-height:none;overflow:auto;min-width:0;padding-bottom:5px;scrollbar-width:thin}.match-feed #feed li{flex:0 0 210px;border-bottom:0;border-right:1px solid #344039;padding:0 15px 0 0;font-size:10px}.match-feed #feed small{font-size:8px}.scouting{margin-top:0}.coach-panel footer{font-size:7px}.coach-panel .jukebox select{font-size:10px}
@media(max-width:1150px){.match-stage{grid-template-columns:minmax(0,1fr) 185px;gap:12px}.match-heading h1{font-size:36px}.match-toolbar{gap:5px}.match-toolbar .effects-control{display:none}.playbook{padding:12px}.playbook-row{grid-template-columns:minmax(0,1fr) 90px;gap:8px}.play-cards{gap:5px}.play-card{padding:8px 6px}.play-card strong{font-size:9px}.play-card small{font-size:7px}.coach-card{padding:10px}.coach-card .team img{width:45px;height:45px}.coach-card .team h2{font-size:23px}.observation h3{font-size:24px}.call-play{font-size:12px}}
@media(max-width:900px){.match-stage{grid-template-columns:minmax(0,1fr)}.coach-panel{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.coach-panel .jukebox,.coach-panel .matchup-summary{grid-column:auto}.coach-panel .observation{grid-row:span 2}.coach-panel .coach-card{min-width:0}.coach-panel .team,.coach-panel .team h2{display:flex}.match-toolbar .effects-control{display:block;font-size:8px}.match-heading{align-items:end}.match-toolbar{flex-wrap:wrap;justify-content:end;max-width:310px}.play-card{padding:10px}.play-card strong{font-size:10px}.play-card small{font-size:8px}.playbook-row{grid-template-columns:minmax(0,1fr) 105px}}
@media(max-width:680px){.match-heading{display:block;padding:18px 0 12px}.match-heading h1{font-size:33px;line-height:1.1;margin:7px 0}.match-heading p{font-size:10px}.match-heading .eyebrow{font-size:8px}.match-toolbar{justify-content:start;max-width:none;margin-top:14px;gap:6px}.match-toolbar .speed-controls{flex:1}.match-toolbar .speed-controls button{padding:9px 11px}.match-toolbar .effects-control{display:none}.auto-mode{padding:10px;font-size:9px}.match-toolbar #start{padding:10px;font-size:9px}.arena .scoreboard{height:69px;padding:9px 13px}.scoreteam strong{font-size:29px}.clock strong{font-size:23px}.scoreteam small{font-size:6px}.clock small{font-size:7px}.arena .field-wrap{overflow:hidden}.arena canvas{height:auto;aspect-ratio:1120/640}.arena #toast{font-size:5px;letter-spacing:.7px;top:9px}.arena #pause{width:24px;height:24px;top:7px;right:7px;font-size:10px}.arena .broadcast{font-size:6px;letter-spacing:.4px;bottom:6px;left:7px;right:7px}.arena .broadcast span{padding:5px}.arena .ticker{font-size:9px;min-height:44px;padding:8px 10px}.arena .ticker b{font-size:7px}.arena .action-call{font-size:25px;padding:8px 13px;top:33%}.playbook{padding:12px 10px}.playbook-team{display:none}.playbook-heading p{font-size:9px;line-height:1.5}.playbook-row{display:flex;flex-direction:column;gap:10px}.play-cards{grid-template-columns:repeat(5,126px);overflow-x:auto;gap:7px;padding:2px 2px 9px;scrollbar-width:thin;scroll-snap-type:x proximity}.play-card{scroll-snap-align:start;padding:10px}.play-card strong{font-size:11px}.play-card small{font-size:9px}.play-card svg{height:56px}.call-play{min-height:45px;flex-direction:row;font:800 14px 'Barlow Condensed';gap:9px}.call-play span{font-size:13px}.playbook-note{font-size:8px;margin-top:7px}.coach-panel{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:0}.coach-panel .coach-card{padding:11px}.coach-panel .observation{grid-column:1/-1;grid-row:auto;padding:12px}.observation h3{margin:7px 0;font-size:23px}.observation p{font-size:10px;margin-bottom:7px}.coach-card .team{display:flex;margin-top:7px}.coach-card .team img{width:38px;height:38px}.coach-card .team h2{font-size:22px}.coach-card .team small{font-size:6px}.coach-card .team>b{font-size:20px}.coach-read{gap:3px;margin-top:7px}.coach-read img{width:38px;height:38px}.coach-read h3{font-size:22px}.coach-read small{font-size:6px}.coach-card>.eyebrow{font-size:7px}.coach-panel .jukebox{padding:10px}.coach-panel .matchup-summary{padding:10px}.coach-panel .jukebox select{font-size:11px}.coach-panel .music-volume{gap:4px}.coach-panel .music-volume input{min-width:0}.match-feed{display:block;margin:20px 0;padding:16px 0}.match-feed>div{display:flex;align-items:center;gap:13px;margin-bottom:15px}.match-feed .eyebrow{font-size:8px}.match-feed h2{font-size:25px;margin:0}.match-feed #feed{gap:15px}.match-feed #feed li{flex-basis:185px}.arena #banner h2{font-size:30px;margin:8px 0}.arena #banner p{font-size:9px;margin:4px 0}.arena #banner button{padding:10px 15px;font-size:10px;margin:8px}.arena #banner>.eyebrow{font-size:7px}.scouting-head p{font-size:11px}}
@media(max-height:550px) and (min-width:681px){.match-heading{padding:12px 0}.match-heading h1{font-size:28px}.match-heading p{display:none}.match-stage{grid-template-columns:minmax(0,1fr) 170px}.coach-panel{display:grid;grid-template-columns:1fr}.coach-panel .observation{grid-row:auto}.coach-panel .jukebox,.coach-panel .matchup-summary{display:none}.arena .scoreboard{height:60px}.playbook{padding:10px}.play-card svg{height:42px}.play-card small{display:none}.call-play{min-height:85px}.arena #banner h2{font-size:36px}}
@media(prefers-reduced-motion:reduce){.play-card{transition:none}}

body:has(#broadcastScreen:not([hidden])) header{height:82px}.match-heading{padding:20px 0}.match-heading h1{font-size:38px}
@media(max-width:680px){body:has(#broadcastScreen:not([hidden])) header{height:70px}.match-heading{padding:16px 0 12px}.match-heading h1{font-size:33px}}
/* A tighter broadcast crop keeps the larger characters readable on phones. */
@media(max-width:600px){.field-wrap{overflow:hidden}#field{width:135%;max-width:none;margin-left:-17.5%}#banner{padding:12px}#banner h2{margin:9px 0;font-size:32px}#banner p{margin:5px 0;font-size:10px}#banner button{margin:8px;padding:12px 20px}}
/* Signature moves and a score moment that survives accelerated playback. */
.ultimate-badge{border-left:2px solid var(--ultimate);padding:6px 8px;background:#11251d;margin:9px 0;color:var(--ultimate);text-align:left}.ultimate-badge b{display:block;font:700 17px 'Barlow Condensed'}.ultimate-badge small{display:block;margin-top:3px;font-size:7px;letter-spacing:.5px;color:#a2b899}.ultimate-description{font-size:12px;color:#c8dbaf}.prospect-ultimate{color:var(--ultimate);font:700 15px 'Barlow Condensed';margin:7px 0;min-height:18px}.ultimate-roster{margin:20px 0;border:1px solid #43583e;border-radius:5px;padding:14px;background:#18281f}.ultimate-roster summary{cursor:pointer;color:#d8ef9e;font:700 19px 'Barlow Condensed';letter-spacing:.4px}.ultimate-roster>p{font-size:11px;line-height:1.6;color:#9bb28e}#ultimateRoster{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:12px}.ultimate-player{display:flex;align-items:center;gap:8px;min-width:0;background:#213126;padding:8px;border-left:2px solid var(--ultimate)}.ultimate-player img{width:38px;height:38px;image-rendering:pixelated}.ultimate-player>div{min-width:0;flex:1}.ultimate-player b{display:block;font:700 19px 'Barlow Condensed'}.ultimate-player b small{font-size:10px;color:#9fb992}.ultimate-player span{display:block;font-size:10px;color:var(--ultimate);margin-top:3px}.ultimate-player>strong{font-size:8px;color:#cbe77e}.ultimate-player.spent{opacity:.55}.ultimate-player.spent>strong{color:#a6b3a0}
.ultimate-call{position:absolute;top:12%;left:50%;transform:translateX(-50%);width:90%;display:flex;justify-content:center;gap:5px;pointer-events:none;z-index:3}.ultimate-call[hidden],.score-moment[hidden]{display:none}.ultimate-call>span{display:flex;align-items:center;gap:4px;background:#13271ef5;border:1px solid var(--ultimate);border-bottom-width:3px;border-radius:3px;padding:5px 9px;color:#e7edd8;box-shadow:0 4px 12px #0005}.ultimate-call img{width:36px;height:36px;image-rendering:pixelated}.ultimate-call b{font:700 16px 'Barlow Condensed';white-space:nowrap}.ultimate-call small{display:block;color:var(--ultimate);font:700 12px 'Barlow Condensed';margin-top:2px}
.score-moment{--score-color:#8cdef4;position:absolute;top:7%;left:50%;transform:translateX(-50%);width:min(460px,82%);padding:18px 24px 16px;text-align:center;pointer-events:none;z-index:3;border:2px solid var(--score-color);border-bottom:5px solid var(--score-color);border-radius:6px;background:linear-gradient(135deg,#122f2af7,#15223af5);box-shadow:0 8px 36px #0006;animation:score-enter .28s ease-out}.score-moment.red{--score-color:#ffac93;background:linear-gradient(135deg,#3c2422f7,#232039f5)}.score-eyebrow{font-size:10px;letter-spacing:2px;color:var(--score-color)}.score-moment>strong{display:block;font:800 clamp(28px,4vw,56px)/1 'Barlow Condensed';color:#f5f4c1;margin:7px 0;letter-spacing:1px;text-shadow:3px 3px #070f19}.score-hero{display:flex;align-items:center;justify-content:center;gap:10px;margin:6px 0}.score-hero img{width:64px;height:64px;image-rendering:pixelated;animation:score-bounce .6s ease-in-out infinite alternate}.score-hero span{text-align:left;font:700 26px 'Barlow Condensed';color:#eaf3da}.score-hero small{display:block;font:700 8px 'DM Sans';letter-spacing:1px;color:var(--score-color);margin-top:4px}.score-line{display:block;border-top:1px solid #ffffff20;padding-top:10px;font:700 21px 'Barlow Condensed';letter-spacing:2px;color:#edf2d5}.score-line i{font-style:normal;color:#879e9d;padding:0 10px}.score-moment.reduced,.score-moment.reduced img{animation:none}
@keyframes score-enter{from{opacity:0;transform:translate(-50%,8px) scale(.96)}to{opacity:1;transform:translate(-50%,0) scale(1)}}@keyframes score-bounce{to{transform:translateY(-5px)}}
@media(max-width:900px){#ultimateRoster{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:680px){#ultimateRoster{grid-template-columns:repeat(2,minmax(0,1fr))}.ultimate-player{padding:5px;gap:4px}.ultimate-player img{width:28px;height:28px}.ultimate-player b{font-size:16px}.ultimate-player span{font-size:9px}.ultimate-player>strong{font-size:6px}.ultimate-call{top:13%;gap:4px;flex-wrap:wrap;width:94%}.ultimate-call>span{padding:3px 5px;gap:2px}.ultimate-call img{width:22px;height:22px}.ultimate-call b{font-size:12px}.ultimate-call small{font-size:10px}.score-moment{top:8%;padding:9px 14px 8px;width:78%}.score-eyebrow{font-size:7px;letter-spacing:1px}.score-moment>strong{font-size:32px;margin:5px 0}.score-hero{margin:0;gap:7px}.score-hero img{width:42px;height:42px}.score-hero span{font-size:21px}.score-hero small{font-size:6px}.score-line{font-size:17px;padding-top:6px;letter-spacing:1px}}
@media(prefers-reduced-motion:reduce){.score-moment,.score-hero img{animation:none}}

.playbook .ultimate-roster{margin:12px 0 0;padding:10px;background:#172c21}.playbook .ultimate-roster summary{font-size:16px}.playbook #ultimateRoster{grid-template-columns:repeat(3,minmax(0,1fr))}@media(max-width:680px){.playbook #ultimateRoster{grid-template-columns:repeat(2,minmax(0,1fr))}.playbook .ultimate-roster summary{font-size:14px}}

.score-moment.paused,.score-moment.paused img{animation-play-state:paused}

.score-moment.paused{animation:none;opacity:1;transform:translateX(-50%)}

/* Defensive counter calls retain the same touch-friendly coaching controls. */
.ultimate-call>em{display:flex;align-items:center;font:800 20px 'Barlow Condensed';font-style:normal;color:#182519;background:#efdb83;border-radius:3px;padding:6px 12px;white-space:nowrap}.arena .action-call.counter{background:#291d32ee;color:#f1cf99;border-color:#dca1fa;font-size:clamp(20px,3vw,38px)}
@media(max-width:680px){.ultimate-call>em{font-size:13px;padding:4px 7px}.arena .action-call.counter{font-size:20px}.playbook .ultimate-roster summary{font-size:13px}}

/* Keep the score card off the stadium dance screen and the end-zone scorer. */
.score-moment.dance-mode{top:auto;bottom:9%;left:16px;transform:none;width:220px;max-width:43%;padding:10px 12px;animation:none;background:#162e3df0;box-shadow:0 5px 20px #071a2390}.score-moment.dance-mode>strong{font-size:30px;margin:5px 0}.score-moment.dance-mode .score-hero img{width:36px;height:36px;animation:none}.score-moment.dance-mode .score-hero span{font-size:21px}.score-moment.dance-mode .score-hero small{font-size:7px;letter-spacing:.3px}.score-moment.dance-mode .score-line{font-size:16px;padding-top:6px}.score-moment.dance-mode .score-eyebrow{font-size:8px;letter-spacing:.6px}.score-moment.dance-mode.paused{transform:none}
@media(max-width:680px){.score-moment.dance-mode{left:7px;bottom:11%;width:44%;max-width:44%;padding:5px 6px}.score-moment.dance-mode>strong{font-size:18px;margin:2px 0}.score-moment.dance-mode .score-hero{gap:3px}.score-moment.dance-mode .score-hero img{width:23px;height:23px}.score-moment.dance-mode .score-hero span{font-size:14px}.score-moment.dance-mode .score-hero small{font-size:5px}.score-moment.dance-mode .score-line{font-size:11px;padding-top:3px;letter-spacing:.5px}.score-moment.dance-mode .score-eyebrow{font-size:5px}}
.score-moment.dance-mode.red{left:auto;right:16px}
@media(max-width:680px){.score-moment.dance-mode.red{right:7px}}

.scoreteam{min-width:0;max-width:34%}.scoreteam small{display:block;overflow-wrap:anywhere;line-height:1.4}.clock{flex-shrink:0}.broadcast span:first-child{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:70%}.score-moment .score-line{overflow-wrap:anywhere;font-size:11px}.score-eyebrow{overflow-wrap:anywhere}.skip-replay{position:absolute;z-index:6;right:12px;bottom:48px;min-height:44px;padding:10px 15px;border:1px solid #d8f474;border-radius:4px;background:#162719ed;color:#e1f7a2;font-size:11px;font-weight:800;letter-spacing:.5px}.skip-replay:hover{background:#33452a}.skip-replay:focus-visible{outline:2px solid white;outline-offset:3px}.skip-replay[hidden]{display:none}@media(max-width:680px){.skip-replay{right:7px;bottom:34px;font-size:10px;padding:9px 12px}.scoreteam{max-width:30%}.arena .scoreboard{gap:8px}.score-moment .score-line{font-size:7px}}
