@font-face{font-family:'BC';font-weight:500;font-display:swap;src:url(/fonts/barlowc-500.woff2?v=460f141ec8) format('woff2')}
@font-face{font-family:'BC';font-weight:600;font-display:swap;src:url(/fonts/barlowc-600.woff2?v=215a93c696) format('woff2')}
@font-face{font-family:'BC';font-weight:700;font-display:swap;src:url(/fonts/barlowc-700.woff2?v=3787a5a419) format('woff2')}
@font-face{font-family:'BC';font-weight:800;font-display:swap;src:url(/fonts/barlowc-800.woff2?v=2515494e8c) format('woff2')}
:root{--gold:#FFBD11;--purple:#4C1A73;--glass:rgba(255,255,255,.08);--line:rgba(255,255,255,.18)}
*{box-sizing:border-box}html,body{margin:0}body{min-height:100vh;color:#fff;font-family:'BC','Barlow Condensed',Arial Narrow,sans-serif;font-weight:500;font-size:18px;background:#000}

header{display:flex;align-items:center;gap:18px;max-width:1180px;margin:0 auto;padding:28px 20px 10px}
.crest{width:72px;height:72px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.5))}
.title{display:block;width:min(623px,100%);height:auto}.ttl{min-width:0;flex:1}
.sub{margin:6px 0 0;text-transform:uppercase;letter-spacing:.16em;font-weight:600;font-size:15px;color:rgba(255,255,255,.8)}
.pill{appearance:none;font:inherit;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:15px;color:#fff;text-decoration:none;cursor:pointer;padding:8px 16px;border-radius:99px;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}
.pill:hover{border-color:var(--gold)}.pill.on{background:var(--gold);color:#2a0e4a;border-color:var(--gold)}
.views .pill{font-size:17px;padding:10px 20px}
main{max-width:1180px;margin:18px auto;padding:0 20px}
.day{margin:0 0 18px;border:1px solid var(--line);border-radius:18px;background:rgba(255,255,255,.05);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);overflow:hidden}
.day h2{margin:0;padding:12px 18px;font-size:22px;font-weight:800;text-transform:uppercase;letter-spacing:.05em;border-bottom:1px solid var(--line);display:flex;gap:10px;align-items:center}
.day.today{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold) inset,0 8px 30px rgba(255,189,17,.18)}.day.today h2{background:rgba(255,189,17,.16);color:var(--gold)}
.tag{font-size:13px;background:var(--gold);color:#2a0e4a;padding:2px 10px;border-radius:99px;letter-spacing:.08em}
.month{margin:26px 0 10px;font-size:26px;font-weight:800;text-transform:uppercase;color:var(--gold);letter-spacing:.06em}
.ev{display:grid;grid-template-columns:92px 120px 1fr auto;gap:14px;align-items:center;padding:12px 18px;border-top:1px solid rgba(255,255,255,.07)}.ev:first-of-type{border-top:0}
.tm{font-weight:800;font-size:20px}.sp{font-weight:700;text-transform:uppercase;color:var(--gold);font-size:16px;letter-spacing:.05em}
.op{font-weight:700;font-size:21px}.lv{display:block;font-weight:500;font-size:15px;color:rgba(255,255,255,.75)}
.ha{font-weight:800;font-size:14px;text-transform:uppercase;letter-spacing:.08em;padding:5px 12px;border-radius:99px;border:1px solid var(--line);background:var(--glass);white-space:nowrap}
.ha.Home{background:var(--gold);color:#2a0e4a;border-color:var(--gold)}.ha.Site{max-width:220px;overflow:hidden;text-overflow:ellipsis}
.dt{font-weight:700;font-size:16px;color:rgba(255,255,255,.8)}
.empty{text-align:center;padding:48px 20px;border:1px dashed var(--line);border-radius:18px;background:rgba(255,255,255,.04);font-size:20px}
footer{max-width:1180px;margin:0 auto;padding:10px 20px 40px;color:rgba(255,255,255,.65);font-size:15px}
@media (max-width:640px){body{font-size:16px}header{padding:18px 14px 6px;gap:12px}.crest{width:52px;height:52px}.sub{font-size:12px}
.views,.filters,main,footer{padding-left:14px;padding-right:14px}.pill{font-size:13px;padding:7px 12px}.views .pill{font-size:15px;padding:9px 16px}
.ev{grid-template-columns:70px 1fr auto;gap:6px 10px;padding:10px 14px}.ev .sp{grid-column:2/4;grid-row:1}.ev .tm{grid-row:1/3;font-size:18px}.ev .op{grid-column:2;font-size:18px}.ev .ha{grid-column:3;grid-row:2;font-size:12px;padding:4px 9px;max-width:130px}
.day h2{font-size:19px;padding:10px 14px}}
.ev.todayrow{background:rgba(255,189,17,.14)}
.navlink{margin-left:auto;font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:15px;color:#fff;text-decoration:none;padding:9px 18px;border-radius:99px;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);white-space:nowrap}.navlink:hover{border-color:var(--gold)}
main.cols{display:grid;grid-template-columns:repeat(var(--n,5),minmax(0,1fr));gap:18px;max-width:none;padding:0 28px;margin:14px 0 0;align-items:start}
.col{display:flex;flex-direction:column;min-height:0;border:1px solid var(--line);border-radius:20px;background:rgba(255,255,255,.04);backdrop-filter:blur(14px) saturate(160%);-webkit-backdrop-filter:blur(14px) saturate(160%);overflow:hidden}
.colh{margin:12px;padding:10px 18px;border-radius:99px;background:var(--gold);color:#2a0e4a;font-size:24px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;display:flex;justify-content:space-between;align-items:center}
.cnt{font-size:15px;background:#2a0e4a;color:var(--gold);border-radius:99px;padding:2px 10px}
.vp{padding:0 12px}
.list{display:flex;flex-direction:column;gap:12px;padding:6px 0 12px}
.card{border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.08);padding:12px 16px}
.card.today{border-color:var(--gold);box-shadow:0 0 0 2px var(--gold) inset,0 6px 24px rgba(255,189,17,.2);background:rgba(255,189,17,.14)}
.ctop{display:flex;justify-content:space-between;font-weight:800;font-size:19px;text-transform:uppercase;letter-spacing:.04em}.card.today .cdate{color:var(--gold)}
.csport{display:inline-block;margin-top:6px;font-size:13px;font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:var(--gold);border:1px solid var(--gold);border-radius:99px;padding:1px 9px}
.cop{font-weight:700;font-size:22px;margin:6px 0 8px;line-height:1.15}
.cbot{display:flex;justify-content:space-between;align-items:center;gap:8px}.cbot .lv{font-size:16px;color:rgba(255,255,255,.78)}
main.plain{max-width:1180px}
footer{max-width:none;padding:10px 28px 16px}
@media (min-width:1400px){header{max-width:none;padding:22px 28px 6px}.crest{width:88px;height:88px}.title{width:720px}.sub{font-size:18px}.navlink{font-size:18px}
main.plain{max-width:1480px}body{font-size:22px}.ev{grid-template-columns:130px 170px 1fr auto;padding:16px 24px}.tm{font-size:26px}.op{font-size:27px}}
@media (max-width:760px){header{flex-wrap:wrap}.navlink{margin-left:0;font-size:13px;padding:7px 14px}
main.cols{display:flex;height:auto;min-height:0;overflow-x:auto;scroll-snap-type:x mandatory;gap:12px;padding:0 14px 8px;scrollbar-width:none}
main.cols::-webkit-scrollbar{display:none}.col{flex:0 0 calc(100% - 28px);scroll-snap-align:center}
.colh{font-size:20px}.cop{font-size:20px}footer{padding:10px 14px 24px}}


.col{background:rgba(12,4,24,.42)}.card{background:rgba(255,255,255,.07)}
.tv{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;padding:8px 16px 8px 8px;border-radius:18px;border:1px solid var(--line);background:var(--glass);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}
.tv:hover{border-color:var(--gold)}.qr{width:96px;height:96px;border-radius:10px;background:#fff;padding:4px;display:block}
.tvcap{max-width:120px;font-weight:600;font-size:17px;line-height:1.15;text-transform:uppercase;letter-spacing:.04em}.tvcap b{display:block;color:var(--gold);font-weight:800;font-size:21px}
.tvbtn{display:none}
@media (max-width:760px){.tv{order:5;flex:1 0 100%;padding:0;border:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none}.qr,.tvcap{display:none}
.tvbtn{display:block;width:100%;text-align:center;font-weight:800;text-transform:uppercase;letter-spacing:.06em;font-size:16px;padding:12px 16px;border-radius:99px;background:var(--gold);color:#2a0e4a}}

header{display:grid!important;grid-template-columns:1fr auto 1fr;align-items:center}.brand{display:flex;align-items:center;gap:18px;justify-content:center}.ttl{text-align:center;flex:none}
.hr{display:flex;align-items:center;gap:12px;justify-content:flex-end}.navlink{margin-left:0}
.col{background:linear-gradient(180deg,rgba(76,26,115,.38),rgba(42,14,74,.30))}
@media (max-width:760px){header{grid-template-columns:1fr}.hl{display:none}.brand{gap:10px}.ttl{text-align:left}.hr{flex-direction:column;align-items:stretch;gap:10px}.navlink{text-align:center}}
@media (max-width:760px){header{grid-template-columns:minmax(0,1fr)}.brand{min-width:0;justify-content:flex-start}.ttl{min-width:0;flex:1}.title{width:100%}}
/* Electric zap: 9s cycle, burst in the last ~1.2s (2 flicker peaks ~0.54s apart, well under 3 flashes/sec), eased, gentle shake. Title runs 0.25s behind the crest. */
.zap{position:relative;display:inline-block;line-height:0}
.zap>img{position:relative;z-index:1;animation:zap 9s ease-in-out infinite;filter:drop-shadow(0 0 4px rgba(255,189,17,.35)) drop-shadow(0 0 10px rgba(140,70,220,.35))}
.zap::before{content:"";position:absolute;inset:0;z-index:0;background:center/contain no-repeat;opacity:0;animation:ghost 9s ease-in-out infinite;filter:blur(3px)}
.zc::before{background-image:url(/img/cobras.png?v=cd2b64e8fd)}.zt::before{background-image:url(/img/title.png?v=f3cab39339)}
.zt::after{content:"";position:absolute;inset:-30% -2%;z-index:2;background:url(/img/arcs.svg?v=52fa766027) center/100% 100% no-repeat;opacity:0;pointer-events:none;animation:arcs 9s ease-in-out infinite}
.zt>img,.zt::before,.zt::after{animation-delay:.25s}
@keyframes zap{0%,86.5%,100%{transform:none;filter:drop-shadow(0 0 4px rgba(255,189,17,.35)) drop-shadow(0 0 10px rgba(140,70,220,.35))}
88.5%{transform:translate(1px,-.5px) skewX(-2deg);filter:blur(1.2px) drop-shadow(0 0 8px #FFBD11) drop-shadow(0 0 18px #9b4dff)}
91.5%{transform:translate(-1.5px,.5px) skewX(2.5deg);filter:blur(.6px) drop-shadow(0 0 3px rgba(255,189,17,.5))}
94.5%{transform:translate(1px,.5px) skewX(-1deg);filter:blur(1.4px) drop-shadow(0 0 10px #FFBD11) drop-shadow(0 0 22px #9b4dff)}
97%{transform:translate(-.5px,-.5px) skewX(1deg);filter:blur(.4px) drop-shadow(0 0 6px rgba(255,189,17,.6))}
99%{transform:translate(.5px,0);filter:drop-shadow(0 0 7px rgba(255,189,17,.55)) drop-shadow(0 0 14px rgba(140,70,220,.5))}}
@keyframes ghost{0%,86.5%,99%,100%{opacity:0;transform:none}88.5%{opacity:.55;transform:translateX(-4px)}91.5%{opacity:.2;transform:translateX(3px)}94.5%{opacity:.5;transform:translateX(-3px)}97%{opacity:.15;transform:translateX(1.5px)}}
@keyframes arcs{0%,87%,97%,100%{opacity:0}88.5%{opacity:.9;transform:scaleX(1)}91.5%{opacity:0}94.5%{opacity:.8;transform:scaleX(-1)}96%{opacity:0}}
.zt>img{opacity:0;animation:none}
.lt{position:absolute;inset:0;z-index:1;pointer-events:none;animation:zapt 9s ease-in-out infinite .25s;filter:drop-shadow(0 0 4px rgba(255,189,17,.35)) drop-shadow(0 0 10px rgba(140,70,220,.35))}
.tl{position:absolute;top:0;height:100%;transform-origin:50% 60%;animation:9s cubic-bezier(.34,1.56,.64,1) infinite}
.l0{left:0.0000%;width:7.7849%;animation-name:j0;animation-delay:0.25s}.l1{left:7.7849%;width:8.1862%;animation-name:j1;animation-delay:0.28s}.l2{left:15.9711%;width:7.3836%;animation-name:j2;animation-delay:0.31s}.l3{left:23.3547%;width:7.7047%;animation-name:j0;animation-delay:0.34s}.l4{left:31.0594%;width:10.2729%;animation-name:j1;animation-delay:0.37s}.l5{left:41.3323%;width:10.4334%;animation-name:j2;animation-delay:0.40s}.l6{left:51.7657%;width:4.8154%;animation-name:j0;animation-delay:0.43s}.l7{left:56.5811%;width:6.9823%;animation-name:j1;animation-delay:0.46s}.l8{left:63.5634%;width:6.3403%;animation-name:j2;animation-delay:0.49s}.l9{left:69.9037%;width:6.3403%;animation-name:j0;animation-delay:0.52s}.l10{left:76.2440%;width:6.5008%;animation-name:j1;animation-delay:0.55s}.l11{left:82.7448%;width:2.3274%;animation-name:j2;animation-delay:0.58s}.l12{left:85.0722%;width:6.9021%;animation-name:j0;animation-delay:0.61s}.l13{left:91.9743%;width:8.0257%;animation-name:j1;animation-delay:0.64s}
@keyframes j0{0%,87.5%,100%{transform:none}88.5%{transform:translate(1.5px,-2px) rotate(-4deg) scale(1.05)}90%{transform:translate(-0.9px,1.2px) rotate(2.4deg) scale(.98)}91.5%{transform:translate(0.4px,-0.5px) rotate(-1.0deg)}94.5%{transform:translate(-1.2px,-1.4px) rotate(3.2deg) scale(1.04)}96%{transform:translate(0.6px,0.7px) rotate(-1.4deg) scale(.99)}97.5%{transform:translate(-0.2px,0) rotate(0.4deg)}}
@keyframes j1{0%,87.5%,100%{transform:none}88.5%{transform:translate(-1.2px,2.5px) rotate(3.5deg) scale(1.05)}90%{transform:translate(0.7px,-1.5px) rotate(-2.1deg) scale(.98)}91.5%{transform:translate(-0.3px,0.6px) rotate(0.9deg)}94.5%{transform:translate(1.0px,1.8px) rotate(-2.8deg) scale(1.04)}96%{transform:translate(-0.5px,-0.9px) rotate(1.2deg) scale(.99)}97.5%{transform:translate(0.1px,0) rotate(-0.4deg)}}
@keyframes j2{0%,87.5%,100%{transform:none}88.5%{transform:translate(1px,-1.2px) rotate(-2.5deg) scale(1.05)}90%{transform:translate(-0.6px,0.7px) rotate(1.5deg) scale(.98)}91.5%{transform:translate(0.2px,-0.3px) rotate(-0.6deg)}94.5%{transform:translate(-0.8px,-0.8px) rotate(2.0deg) scale(1.04)}96%{transform:translate(0.4px,0.4px) rotate(-0.9deg) scale(.99)}97.5%{transform:translate(-0.1px,0) rotate(0.2deg)}}
@keyframes zapt{0%,86.5%,100%{transform:none;filter:drop-shadow(0 0 4px rgba(255,189,17,.35)) drop-shadow(0 0 10px rgba(140,70,220,.35))}
88.5%{transform:scale(1.04);filter:blur(1.2px) drop-shadow(0 0 8px #FFBD11) drop-shadow(0 0 18px #9b4dff)}
91.5%{transform:scale(1.07);filter:blur(.6px) drop-shadow(0 0 3px rgba(255,189,17,.5))}
94.5%{transform:scale(1.07);filter:blur(1.4px) drop-shadow(0 0 10px #FFBD11) drop-shadow(0 0 22px #9b4dff)}
96.5%{transform:scale(1.04);filter:blur(.4px) drop-shadow(0 0 6px rgba(255,189,17,.6))}
98.5%{transform:scale(1.01);filter:drop-shadow(0 0 7px rgba(255,189,17,.55)) drop-shadow(0 0 14px rgba(140,70,220,.5))}}
@media (prefers-reduced-motion:reduce){.zap>img,.zap::before,.zap::after{animation:none}.zap::before,.zap::after{opacity:0}
.zap>img{animation:glow 5s ease-in-out infinite alternate}.zt>img{animation:none}.lt,.tl{animation:none}.lt{animation:glow 5s ease-in-out infinite alternate}}
@keyframes glow{to{filter:drop-shadow(0 0 7px rgba(255,189,17,.55)) drop-shadow(0 0 14px rgba(140,70,220,.5))}}
/* Home on desktop/TV: whole page fits the viewport, no page scroll. Sizes scale with vh. */
@media (min-width:761px){html.home,html.home body{height:100%;overflow:hidden}
html.home body{display:flex;flex-direction:column;height:100vh;height:100dvh;min-height:0}
html.home header{padding-top:clamp(8px,2.2vh,28px);padding-bottom:clamp(4px,.8vh,10px)}
html.home .crest{width:clamp(48px,8.5vh,120px);height:clamp(48px,8.5vh,120px)}
html.home .title{width:clamp(380px,52vh,900px)}
html.home .sub{font-size:clamp(12px,1.6vh,22px)}
html.home .qr{width:clamp(56px,10vh,140px);height:clamp(56px,10vh,140px)}
html.home main.cols{flex:1;min-height:0;height:auto;margin:clamp(6px,1.2vh,16px) 0 0;align-items:stretch}
html.home .vp{flex:1;min-height:0;overflow:hidden}
html.home .colh{margin:clamp(6px,1.1vh,14px);padding:clamp(4px,.9vh,12px) 18px;font-size:clamp(17px,2.4vh,32px)}
html.home .list{gap:clamp(4px,.7vh,12px);padding:2px 0 8px}
html.home .card{padding:clamp(4px,.7vh,12px) 16px}
html.home .ctop{font-size:clamp(13px,1.6vh,22px)}html.home .cop{font-size:clamp(15px,1.85vh,26px);margin:clamp(1px,.25vh,5px) 0}
html.home .cbot .lv{font-size:clamp(12px,1.35vh,19px)}html.home .card .ha{font-size:clamp(11px,1.3vh,17px);padding:2px 10px}
html.home footer{padding:clamp(4px,.8vh,10px) 28px clamp(6px,1vh,14px);font-size:clamp(12px,1.4vh,18px)}
.card.cut{display:none}}
/* Phones: each sport is a collapsible gold pill (native details/summary), collapsed by default. */
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
@media (max-width:760px){main.cols{display:flex;flex-direction:column;align-items:stretch;overflow:visible;scroll-snap-type:none;gap:12px;padding:0 14px 8px}
details.col{flex:none;width:100%;border:0;background:none;backdrop-filter:none;-webkit-backdrop-filter:none;overflow:visible;border-radius:0;interpolate-size:allow-keywords}
details.col>summary{list-style:none;cursor:pointer;margin:0;min-height:52px;gap:10px;-webkit-tap-highlight-color:transparent}
details.col>summary::-webkit-details-marker{display:none}
.cname{flex:1}details.col>summary::after{content:"";width:10px;height:10px;border-right:3px solid #2a0e4a;border-bottom:3px solid #2a0e4a;transform:rotate(45deg) translateY(-3px);transition:transform .25s ease}
details.col[open]>summary::after{transform:rotate(-135deg) translateY(-3px)}
details.col>summary:focus-visible{outline:3px solid #fff;outline-offset:3px}
details.col .vp{padding:0 2px}details.col .list{padding:12px 0 6px}
details.col::details-content{height:0;overflow:clip;transition:height .3s ease,content-visibility .3s allow-discrete}
details.col[open]::details-content{height:auto}}
@media (max-width:760px) and (prefers-reduced-motion:reduce){details.col::details-content{transition:none}details.col>summary::after{transition:none}}
/* Live score on a home game card (only present while a game is live, or Final after) */
.livebox{display:flex;align-items:center;gap:10px;margin-top:8px;padding-top:8px;border-top:1px solid rgba(255,189,17,.35);font-weight:800;text-transform:uppercase;letter-spacing:.04em}
.lbadge{background:var(--gold);color:#2a0e4a;border-radius:99px;padding:1px 9px;font-size:.8em;letter-spacing:.1em}
.livebox.final .lbadge{background:transparent;color:var(--gold);border:1px solid var(--gold)}
.lscore{color:#fff;font-size:1.05em}.lper{margin-left:auto;color:var(--gold);font-size:.9em}
/* MaxPreps stat row + recent finals (top of each column / inside phone pills) */
.cstats{display:flex;flex-wrap:wrap;gap:4px 12px;margin:-4px 14px 6px;font-weight:700;font-size:14px;text-transform:uppercase;letter-spacing:.04em;color:rgba(255,255,255,.82)}
.sgrp{display:flex;flex-wrap:wrap;gap:4px 10px;align-items:center}.stag{color:var(--gold)}.st.rec{color:#fff;font-weight:800}.st.stk{color:var(--gold)}
.recent{margin:0 12px 8px;padding:6px 12px;border:1px solid var(--line);border-radius:12px;background:rgba(255,255,255,.05);font-size:15px}
.rlabel{display:block;font-size:12px;font-weight:800;letter-spacing:.12em;text-transform:uppercase;color:var(--gold);margin-bottom:2px}
.rrow{display:flex;gap:8px;align-items:baseline;font-weight:700;white-space:nowrap}.ropp{flex:1;overflow:hidden;text-overflow:ellipsis}.rdt{color:rgba(255,255,255,.6);font-size:.85em}
.rres{width:1.3em;text-align:center;border-radius:5px;font-weight:800;font-size:.85em}.rres.W{background:var(--gold);color:#2a0e4a}.rres.L{border:1px solid rgba(255,255,255,.5)}.rres.T{border:1px solid var(--gold)}
@media (min-width:761px){html.home .cstats{font-size:clamp(11px,1.3vh,18px);margin:calc(-1*clamp(2px,.4vh,6px)) clamp(10px,1.1vh,16px) clamp(4px,.6vh,10px)}
html.home .recent{font-size:clamp(12px,1.4vh,19px);padding:clamp(3px,.45vh,8px) 12px;margin-bottom:clamp(4px,.6vh,10px)}html.home .rlabel{font-size:clamp(10px,1.1vh,15px)}}
@media (max-width:760px){details.col .cstats{margin:10px 2px 6px}details.col .recent{margin:6px 0 0}}
