@font-face{font-family:'Hemi Head';src:url('/assets/hemi-head.ttf') format('truetype');font-style:normal;font-weight:400;font-display:swap}
:root{color-scheme:dark;font-family:Arial,Helvetica,sans-serif;background:#07131a;color:#fff;--accent:#b6e23c;--brand-yellow:#ffdc00}
*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%;overflow:hidden}[hidden]{display:none!important}
.screen{height:100vh;height:100dvh;min-height:0;position:relative;display:flex;flex-direction:column;padding:3.5vh 4.4vw 0;isolation:isolate}
.backdrop,.shade{position:absolute;inset:0;z-index:-2}.backdrop{background:#07131a url('/assets/football.webp') center 63%/cover no-repeat;transition:background-image .3s}
.ufc .backdrop{background-image:url('/assets/ufc.webp');background-position:center}.shade{z-index:-1;background:linear-gradient(180deg,rgba(3,10,16,.86),rgba(3,13,22,.35) 40%,rgba(3,10,17,.50) 63%,rgba(3,10,17,.95)),linear-gradient(90deg,rgba(2,11,19,.2),transparent 50%,rgba(2,11,19,.2))}
.topbar{height:7vh;flex:none;display:flex;align-items:center;justify-content:space-between;gap:2vw;border-bottom:1px solid #ffffff26;padding-bottom:2vh}
.wordmark{font-family:'Hemi Head',Arial,sans-serif;font-weight:400;font-style:normal;letter-spacing:0;white-space:nowrap;font-synthesis:none}.brand-number{color:var(--brand-yellow)}.brand{font-size:clamp(20px,2.1vw,54px);white-space:nowrap}.brand span{font-size:1em;margin-left:.07em}
.category{display:flex;align-items:center;gap:.65vw;font-size:clamp(12px,1.18vw,32px);font-weight:700;letter-spacing:.18em}.category-dot{width:.5em;height:.5em;background:var(--accent);border-radius:50%;box-shadow:0 0 16px #b6e23c66}
.clock{font-size:clamp(16px,1.75vw,44px);font-weight:600;letter-spacing:.04em;font-variant-numeric:tabular-nums}
.match{flex:1;min-height:0;display:flex;flex-direction:column;padding-top:2.9vh;animation:appear .3s ease-out}
.competition{display:flex;align-items:center;justify-content:center;gap:1vw;min-height:4vh}.competition h1{margin:0;text-align:center;font-size:clamp(16px,2.05vw,54px);font-weight:600;line-height:1.25;max-width:82vw}.sport-symbol{font-size:2vw}
.event-meta{display:flex;justify-content:space-between;gap:1vw;margin-top:1.6vh;color:#dce4e8;font-size:clamp(12px,1.18vw,32px);font-weight:700}.event-meta span:empty{visibility:hidden}.event-meta span{padding:.6vh .85vw;background:#ffffff12;border:1px solid #ffffff1c;border-radius:.45vw}
.contest{flex:1;min-height:0;display:grid;grid-template-columns:minmax(0,1fr) 21vw minmax(0,1fr);align-items:center;gap:2vw;padding:1vh 0 2.5vh}
.team{min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2.2vh;text-align:center}.portrait{height:23vh;width:25vw;display:flex;justify-content:center;align-items:center;position:relative}.portrait img{width:100%;height:100%;object-fit:contain;filter:drop-shadow(0 10px 28px #0009)}
.team h2{margin:0;max-width:31vw;font-size:clamp(20px,3.4vw,88px);line-height:1.05;font-weight:800;text-wrap:balance;overflow-wrap:break-word;text-shadow:0 3px 24px #0008}
.ufc .portrait{height:25vh}.ufc .team h2{font-size:clamp(20px,3.2vw,80px)}
.fallback{width:17vh;height:17vh;display:flex;align-items:center;justify-content:center;font-size:6vh;font-weight:800;background:#102d44bb;border:2px solid #ffffff40;border-radius:50%;color:#e1efef}
.kickoff{text-align:center;display:flex;align-items:center;flex-direction:column;gap:1.2vh}.kickoff-label{font-size:clamp(10px,1vw,28px);letter-spacing:.24em;color:#c6d0d7}.kickoff time{font-size:clamp(32px,5.1vw,135px);font-weight:800;line-height:1;font-variant-numeric:tabular-nums;letter-spacing:-.04em}.kickoff #date{font-size:clamp(16px,1.8vw,48px);font-weight:600;color:#d0d8df}.versus{margin-top:1vh;color:var(--accent);font-size:clamp(12px,1.2vw,30px);letter-spacing:.2em;font-weight:700}
.odds{display:flex;gap:1.6vw;width:100%;height:18vh;flex:none;margin-bottom:1vh}.odd{flex:1;min-width:0;display:flex;justify-content:space-between;align-items:center;gap:1vw;padding:1.5vh 2.6vw;border-radius:1.05vw;border:1px solid #ffffff36;background:linear-gradient(135deg,#ecf7e431,#b6e23c15);box-shadow:inset 0 1px 0 #ffffff12,0 8px 36px #0003}.odd-label{font-size:clamp(22px,3.3vw,84px);color:#ebf0ef;font-weight:700}.odd-value{font-size:clamp(34px,5.15vw,134px);font-weight:900;letter-spacing:-.05em;font-variant-numeric:tabular-nums}.ufc .odd{background:linear-gradient(135deg,#d6e5f12d,#5da7ce17)}
.odds-notice{flex:1;display:flex;align-items:center;justify-content:center;padding:1vh 3vw;text-align:center;font-size:2vw;color:#f6d7a0;background:#2d241ad9;border:1px solid #94744166;border-radius:1vw}
.footer{height:6.8vh;flex:none;display:flex;align-items:center;justify-content:space-between;gap:1vw;font-size:clamp(10px,1.07vw,28px);color:#c9d1d6}.source,.footer-right{display:flex;align-items:center;gap:.7vw}.status-dot{width:.45em;height:.45em;border-radius:50%;background:var(--accent)}.status-dot.stale{background:#f5bd61}.footer-right{gap:1.7vw}.footer{text-transform:uppercase}.timezone{color:#98abb7}
.empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:2vh}.empty-mark{font-size:12vh}.empty h1{margin:0;font-size:3.2vw}.empty p{margin:0;color:#b9c9d5;font-size:1.7vw}
.controls{position:absolute;right:2vw;top:12vh;opacity:0;transition:opacity .2s;pointer-events:none}.controls.visible,.controls:focus-within{opacity:1;pointer-events:auto}.controls button{cursor:pointer;font-size:2.4vw;border:1px solid #ffffff44;color:white;background:#06101bd9;border-radius:.6vw;padding:.4vh .6vw}
@keyframes appear{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@media(max-aspect-ratio:1/1){.screen{padding:3vh 5vw 0}.topbar{height:7vh}.brand{font-size:5vw}.category{font-size:2.2vw;letter-spacing:.06em}.clock{font-size:3vw}.competition h1{font-size:4vw}.sport-symbol{font-size:4vw}.event-meta{font-size:2.8vw}.contest{grid-template-columns:1fr 23vw 1fr;gap:2vw}.portrait,.ufc .portrait{height:16vh;width:27vw}.team h2,.ufc .team h2{font-size:5vw;max-width:30vw}.kickoff time{font-size:7vw}.kickoff #date{font-size:3vw}.kickoff-label{font-size:2vw}.odds{height:14vh;gap:2vw}.odd{flex-direction:column;justify-content:center;gap:1vh;padding:2vh 1vw;border-radius:2vw}.odd-label{font-size:5vw}.odd-value{font-size:7vw}.footer{font-size:2vw}.timezone{display:none}.empty h1{font-size:6vw}.empty p{font-size:4vw}.odds-notice{font-size:4vw}}
@media(prefers-reduced-motion:reduce){.match{animation:none}}
