:root{--team-primary:#161616;--team-accent:#ceb888;--team-paper:#f0eadc;--team-on-accent:#18202a;--paper:var(--team-paper);--gold:var(--team-accent)}
body{background:var(--team-paper);transition:background .3s}header{background:var(--team-primary);color:#fff;border-bottom:5px solid var(--team-accent);position:relative}header::after{content:'';position:absolute;bottom:-5px;left:4%;height:5px;width:120px;background:#fff}header .brand,header nav button{color:#fff}.brand span{color:var(--team-accent)}.edition{color:var(--team-accent)}.intro{position:relative;min-height:190px;padding:5px 170px 25px 0;border-bottom:1px solid color-mix(in srgb,var(--team-primary) 25%,transparent)}.intro .eyebrow{color:var(--team-primary)}h1{font-size:clamp(45px,5.4vw,78px);color:var(--team-primary);line-height:.94;letter-spacing:-1px}h1 em{color:var(--team-primary);opacity:.75}.intro-copy{margin-left:24px;min-width:185px;font-size:12px}#schoolChant{display:block;font:800 24px 'Barlow Condensed';color:var(--team-primary);margin-bottom:8px}#heroLogo{position:absolute;right:0;top:50%;transform:translateY(-50%);width:145px;height:145px;display:grid;place-items:center;background:#fff8;border:1px solid #fff9;border-radius:50%}img.team-logo{object-fit:contain;display:block;filter:drop-shadow(0 2px 1px #0002)}.hero-mark{width:115px;height:115px}.scoreboard{background:var(--team-primary);border-bottom-color:var(--team-accent)}.team-score .crest{transform:none;border-radius:5px;padding:6px;flex-shrink:0;background:#fff!important}.crest .team-logo{width:100%;height:100%}.team-score small{color:#fff9}.clock span{color:var(--team-accent)}.clock small{color:#fffd}
#spiritRow{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:18px 0}.spirit-card{position:relative;overflow:hidden;display:flex;align-items:center;background:var(--card-primary);color:#fff;min-height:155px;border-bottom:4px solid var(--card-accent);isolation:isolate}.spirit-card::before{content:'';position:absolute;inset:0;background:repeating-linear-gradient(120deg,transparent 0 38px,#fff05 38px 40px);z-index:-1}.mascot-stage{width:147px;height:155px;flex-shrink:0;align-self:end;background:radial-gradient(ellipse at center,#ffffff20,transparent 70%)}.mascot-art{width:147px;height:170px;overflow:visible;margin-top:-12px;filter:drop-shadow(1px 4px 3px #0003)}.spirit-copy{position:relative;padding:12px 65px 12px 6px}.spirit-copy small{font-size:8px;letter-spacing:1.8px;color:#ffffffa8}.spirit-copy h3{font:700 25px 'Barlow Condensed';margin:6px 0;color:#fff}.spirit-copy b{font:800 18px 'Barlow Condensed';color:var(--card-accent)}.spirit-copy span{display:block;font-size:8px;color:#ffffffa8;margin-top:9px;line-height:1.5}.spirit-logo{position:absolute;width:50px;height:50px;right:13px;top:17px;background:#fff;padding:5px;border-radius:50%}.mascot-body{transform-origin:80px 170px}.mascot-head{transform-origin:80px 94px}.mascot-arm{transform-box:view-box}.arm-left{transform-origin:56px 109px}.arm-right{transform-origin:104px 109px}.sad-mouth,.mascot-tear,.confetti{display:none}.celebrate .mascot-body{animation:mascot-hop .85s ease-in-out infinite}.celebrate .arm-left{transform:rotate(105deg);animation:left-cheer .85s ease-in-out infinite}.celebrate .arm-right{transform:rotate(-105deg);animation:right-cheer .85s ease-in-out infinite}.celebrate .confetti{display:block;animation:mascot-confetti 1.7s ease-in-out infinite}.sad .happy-mouth{display:none}.sad .sad-mouth,.sad .mascot-tear{display:block}.sad .mascot-head{transform:translateY(5px) rotate(9deg)}.sad .arm-left{transform:rotate(-30deg)}.sad .arm-right{transform:rotate(30deg)}.sad .mascot-body{transform:translateY(4px) scale(.97);animation:mascot-sigh 3s ease-in-out infinite}.sad .mascot-brows{transform:translateY(3px)}.ready .mascot-head{animation:mascot-ready 3s ease-in-out infinite}.picker-logo{float:left;width:44px;height:44px;margin-right:12px;background:white;padding:4px}
.field-head{background:var(--team-primary);border-bottom:2px solid var(--team-accent);color:#fff}.live{background:var(--team-accent)}.coverage-controls{background:color-mix(in srgb,var(--team-primary) 87%,#000);border-color:#ffffff25}.coverage-controls label,.coverage-controls strong{color:var(--team-accent)}.coverage-controls p{color:#ddd}.coverage-controls button{background:#ffffff20;color:white}.callout{background:linear-gradient(110deg,var(--team-primary),color-mix(in srgb,var(--team-primary) 75%,black));border-top-color:var(--team-accent)}.callout>span{color:var(--team-accent)}.callout p{color:#e6e6e6}.drive{background:var(--team-primary)}.drive>span{color:#fffb}.play.selected,.roles button.active{background:var(--team-primary);border-color:var(--team-primary);color:#fff}.filters button.active{border-bottom-color:var(--team-primary);color:var(--team-primary)}.primary{background:var(--team-primary);color:#fff;border-bottom:4px solid var(--team-accent)}.primary span{color:var(--team-accent)}.call-clock strong{background:var(--team-primary);color:var(--team-accent)}.call-clock strong.urgent{background:#a82c26;color:white}.bottom>div{border-top-color:var(--team-primary)}.rating-summary{background:var(--team-primary)}.rating-summary b{color:var(--team-accent)}button:focus-visible,select:focus-visible{outline-color:var(--team-primary)}dialog{border-top:7px solid var(--team-primary)}
@keyframes mascot-hop{0%,100%{transform:translateY(0) rotate(-3deg)}50%{transform:translateY(-11px) rotate(3deg)}}@keyframes left-cheer{0%,100%{transform:rotate(100deg)}50%{transform:rotate(125deg)}}@keyframes right-cheer{0%,100%{transform:rotate(-100deg)}50%{transform:rotate(-125deg)}}@keyframes mascot-confetti{0%{opacity:0;transform:translateY(-6px)}30%{opacity:1}100%{opacity:0;transform:translateY(25px)}}@keyframes mascot-sigh{0%,100%{transform:translateY(4px) scale(.97)}50%{transform:translateY(7px) scale(.96)}}@keyframes mascot-ready{0%,100%{transform:rotate(-2deg)}50%{transform:rotate(2deg)}}
@media(max-width:1100px){.intro-copy{display:none}.intro{min-height:180px}.spirit-copy{padding-right:30px}.spirit-logo{width:32px;height:32px;right:8px;top:10px}.spirit-copy h3{font-size:22px}.mascot-stage,.mascot-art{width:120px}.spirit-copy b{font-size:16px}}
@media(max-width:760px){.intro{min-height:150px;padding-right:105px}.hero-mark{width:75px;height:75px}#heroLogo{width:95px;height:95px}h1{font-size:clamp(29px,6.5vw,47px)}#spiritRow{gap:9px}.spirit-card{min-height:210px;display:flex;flex-direction:column}.mascot-stage{height:120px;width:105px;align-self:center;order:2}.mascot-art{width:105px;height:125px;margin-top:0}.spirit-copy{padding:12px 8px 3px;text-align:center;align-self:stretch}.spirit-copy small{font-size:7px;letter-spacing:1px}.spirit-copy h3{font-size:20px;margin-top:5px}.spirit-copy span{font-size:7px;margin-top:4px}.spirit-copy b{font-size:14px}.spirit-logo{width:24px;height:24px;top:auto;bottom:10px;right:7px;padding:3px}.team-score .crest{display:grid;width:32px;height:32px;padding:3px}.team-score{gap:6px}.team-score h3{font-size:16px}.team-score small{font-size:6px;letter-spacing:.5px}.score{font-size:29px}.clock{min-width:85px}.clock small{font-size:8px}.scoreboard{padding:12px 8px}}
@media(prefers-reduced-motion:reduce){.mascot-art *{animation:none!important}body{transition:none}.celebrate .mascot-body{transform:translateY(-5px)}.celebrate .confetti{opacity:1}}

.depth-panel{background:#f6f0df;border:1px solid #c6b998;padding:14px;margin:12px 0;color:#27251e}.depth-title{display:flex;justify-content:space-between;font-weight:900;letter-spacing:1px;font-size:12px}.depth-panel progress{width:100%;height:12px;accent-color:var(--team-primary,#9b4425)}.boosts{display:flex;gap:5px;margin:8px 0}.boosts button{flex:1;padding:8px 4px;font-size:11px}.depth-panel small{display:block;font-size:11px;line-height:1.5;opacity:.8}.depth-panel p{font-size:12px;line-height:1.5}.traits{border-top:1px solid #c6b998;padding-top:9px;font-weight:bold}.depth-panel label{font-weight:bold;font-size:13px}.depth-panel input{width:auto}.depth-panel #askCoach{width:100%;margin:8px 0}#adviceCards button{display:block;width:100%;text-align:left;padding:10px;margin:5px 0}#adviceCards span{display:block;font-size:12px;margin-top:4px}.verdict{border-left:5px solid var(--team-accent,#e3bb59);padding:8px 14px;margin-bottom:12px;background:#ffffff12}.verdict strong{font-family:Impact,Arial,sans-serif;font-size:clamp(22px,3vw,34px);letter-spacing:1px}.verdict p{margin:5px 0!important;line-height:1.5}#spiritRow[data-noise=loud] .mascot-art{animation:stadiumRoar .35s infinite alternate}@keyframes stadiumRoar{to{transform:translateY(-7px) rotate(4deg)}}button:disabled{cursor:default;opacity:.5}@media(prefers-reduced-motion:reduce){#spiritRow[data-noise=loud] .mascot-art{animation:none}}

.sideline-meters{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin:-5px 0 24px}.heat-card,.crowd-card{padding:18px 22px;background:var(--team-primary);color:#fff;border-bottom:4px solid var(--team-accent)}.sideline-meters progress{width:100%;height:13px;accent-color:var(--team-accent);margin:10px 0}.sideline-meters small{display:block;font-size:11px;line-height:1.5;color:#ffffffc9}.sideline-meters .boosts button{background:var(--team-accent);color:var(--team-on-accent);font-weight:bold;padding:10px}.coach-panel{margin:14px 0;padding:15px;background:#e7e2d5;border:2px solid var(--team-primary)}.coach-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;font-size:11px}.coach-heading label{display:flex;align-items:center;gap:4px;white-space:nowrap}.coach-heading input{width:auto}#askCoach{display:block;width:100%;padding:15px 10px;margin:12px 0 9px;background:var(--team-primary);color:#fff;font-family:Impact,sans-serif;font-size:26px;letter-spacing:1px}#askCoach span{display:block;font:600 10px Arial,sans-serif;letter-spacing:.2px;margin-top:5px;color:var(--team-accent)}.coach-panel small{font-size:11px}.coach-panel p{font-size:11px;line-height:1.5;margin:10px 0 0}.difficulty-guide{margin:0 0 20px;padding:16px;background:#e3e0d4;border-left:5px solid var(--team-primary);font-size:12px}.difficulty-guide b{font-size:16px}.difficulty-guide p{font-size:13px!important;line-height:1.6}.difficulty-guide strong,.difficulty-guide small{display:block;line-height:1.6}.difficulty-guide small{margin-top:6px}@media(max-width:700px){.sideline-meters{grid-template-columns:1fr;gap:10px}.heat-card,.crowd-card{padding:15px}.brand{font-size:23px}}

/* Contrast tracing keeps hats and hands readable against every school color. */
.mascot-art .mascot-head{filter:drop-shadow(1px 0 0 #fff1cf) drop-shadow(-1px 0 0 #fff1cf) drop-shadow(0 -1px 0 #fff1cf) drop-shadow(0 1px 0 #17221c)}.mascot-art .mascot-arm circle{stroke:#fff1cf;stroke-width:3px;paint-order:stroke fill}.mascot-art .mascot-arm>path{filter:drop-shadow(1px 0 0 #fff1cf) drop-shadow(-1px 0 0 #fff1cf)}

#askCoach{font-size:20px;padding:10px 14px;min-height:52px}#askCoach span{font-size:11px}#snap{margin:12px 0}.kickoff-panel{background:#24392b;color:#fff1cc;padding:18px;border:2px solid #d9b55b;margin:12px 0}.kickoff-panel p{line-height:1.5}.kickoff-panel button{padding:12px;margin:4px;font-weight:800;background:#f2d486;color:#15251c;border:0;border-radius:4px}.kickoff-panel[hidden]{display:none}

#plays[hidden],#filters[hidden],#snap[hidden]{display:none}

#rosterBtn[hidden],#dataBtn[hidden]{display:none!important}.field-situation{display:flex;flex-wrap:wrap;justify-content:space-between;gap:12px;padding:18px 22px;background:#17271e;color:#f5e8c5;border:2px solid #d1ae57;border-top:0}.field-situation>div{display:flex;flex-direction:column;gap:5px}.field-situation strong{font:900 34px Impact,'Arial Narrow',sans-serif;letter-spacing:1px}.field-situation b{font-size:21px}.field-situation span{font-size:12px;font-weight:700}.field-situation p{width:100%;margin:0;padding-top:10px;border-top:1px solid #ffffff30;color:#95eff7;font-size:13px;font-weight:800}.kickoff-panel{margin:0 0 14px;border-top:0}.kickoff-panel button{min-height:48px;font-size:16px}#kickoffPanel b{font-size:22px}

.game-layout{align-items:start}.stadium{align-self:start}.difficulty-caption{display:block;color:#cdb77b;font-size:9px;letter-spacing:1px;margin-bottom:5px}.difficulty-badge{display:inline-block;padding:8px 11px;background:#efe8ce;color:#26382b;font-size:11px;font-weight:800;letter-spacing:.7px}.coverage-controls{padding:13px 20px;gap:9px}.coverage-controls p{line-height:1.4}.callout{min-height:0;padding:18px 22px}.drive{padding:13px 22px}.plays{min-height:0}.coach-panel{margin-bottom:12px}#otSettings[hidden],#playerKickControls[hidden],#otTryPanel[hidden]{display:none!important}#playerKickControls{margin:14px 0;border:2px solid var(--gold)}#playerKickControls button{width:100%;margin:4px 0}#playerOnside{background:#e7bd60;font-size:19px}#modeDescription{margin:10px 0 18px}#otSettings{display:block;margin:15px 0}#otTryPanel{margin:0}
