/* Local fonts and artwork: no external requests during broadcast. */
@font-face{font-family:Broadcast;src:url('/assets/BarlowCondensed-Bold.ttf') format('truetype');font-weight:700 1000;font-style:normal;font-display:swap}
@font-face{font-family:Broadcast;src:url('/assets/BarlowCondensed-BlackItalic.ttf') format('truetype');font-weight:900 1000;font-style:italic;font-display:swap}
:root{--cyan:#38d4ff;--gold:#ffce32}
html,body{font-family:Broadcast,'Arial Narrow',sans-serif;font-weight:700}
#app{background:linear-gradient(90deg,#00102035,#00102015),url('/assets/smudj-broadcast-background-loop-10s-poster.jpg') center/cover}
.topline{height:11vh;padding:0 1.8vw;background:linear-gradient(105deg,#00121feb,#05283ae6 60%,#00111feb);border-bottom:2px solid var(--cyan);box-shadow:0 3px 18px #19bfff30;gap:1vw}
.brandWrap{gap:.7vw;flex:0 0 15vw}.brand{font-size:1.65vw;line-height:1;color:#9ce7ff}.brandSub{font-size:.85vw;letter-spacing:.06em}
.livePill{font-size:1.2vw;border-radius:0;background:linear-gradient(#2087a6,#004865);padding:.35vw .6vw;border:1px solid #52d8ff}
.topCenter{flex:1;min-width:0}.event{font-size:2.3vw;font-style:italic;line-height:1;letter-spacing:-.01em;text-shadow:0 3px 0 #0008}.subtitle{font-size:.85vw;color:#9de6ff}.round{font-size:.7vw;margin-top:.25vh}
.live{flex:0 0 19vw;justify-content:flex-end}.clock{font-size:1.15vw;color:#a2d8ee}.sponsor{display:flex;align-items:center;gap:.6vw}.sponsor img{width:3.8vw;height:3.8vw;object-fit:contain}.sponsor small,.sponsor strong,.sponsor span{display:block}.sponsor small{font-size:.55vw;letter-spacing:.12em;color:#abd1e1}.sponsor strong{font-size:1.25vw}.sponsor span{font-size:.65vw;color:#abd1e1}
.scene{inset:11vh 0 0}.gridTexture{opacity:.04}
#heroScene,#leaderScene,.special,#releaseScene{background:transparent}
.heroPhoto{left:37%;width:63%;height:88%;top:1%;background:#03101a60;border-bottom:2px solid var(--cyan);object-fit:contain}
.heroShade{background:linear-gradient(90deg,#00101ce8 0%,#00101cd9 34%,transparent 39%)}
.heroLeft{left:2vw;top:3vh;width:33vw}.heroBadge{font-size:1.45vw;font-style:italic;padding:.55vw 1.4vw .55vw .8vw;clip-path:polygon(0 0,100% 0,95% 100%,0 100%);border-bottom:2px solid #ff7373;letter-spacing:.03em}
.heroBoat{margin-top:1.1vw;font-size:1vw}.heroBoat strong{font-size:2.15vw;line-height:1.1;max-height:none}.heroBoat .boatNumber{font-size:4.2vw;line-height:1;margin-right:.5vw;color:white}.heroBoat .teamName{display:block;font-size:1.75vw;margin-top:.4vh}
.heroSpecies{font-size:3vw;margin-top:.65vw}.heroMetrics{width:32vw;grid-template-columns:1.35fr 1fr;gap:.6vw}.hm{background:linear-gradient(110deg,#052338dc,#00121cbc);border-left:2px solid var(--cyan);padding:.65vw .8vw}.hm span,.pointsBlock span{font-size:.9vw;color:#c4e2f1;letter-spacing:.04em}.hm strong{font-size:3vw;line-height:1.1}.hm.weight strong{font-size:3.8vw;white-space:nowrap;text-shadow:0 3px 0 #6c4307}
.pointsBlock{width:32vw;background:linear-gradient(110deg,#09334ae8,#001522ce);border-top:2px solid var(--cyan);gap:.5vw}.pointsBlock b{font-size:3.1vw}.pointsBlock .total b{color:var(--gold)}
#leaderScene{padding:2vh 2vw 10vh}.boardTitle{padding:.3vw .65vw .5vw;border-bottom:2px solid var(--cyan);background:linear-gradient(90deg,#001323e8,#003044b0);margin-bottom:.65vh}.boardTitle h1{font-size:2.45vw;font-style:italic;line-height:1}.boardTitle div{font-size:.95vw;letter-spacing:.03em;color:#a7e8ff}
.table{gap:.18vh}.row{min-height:5.65vh;background:linear-gradient(90deg,#e0f0f7e8,#a3cbe1e8);color:#061826;border:0;border-bottom:1px solid #386982;grid-template-columns:.42fr .65fr 2fr 1.15fr .8fr 1.05fr;font-size:1.4vw}.row:nth-child(odd){background:linear-gradient(90deg,#bcd7e6e8,#76abcbe8)}.row.head{min-height:3.9vh;background:#02182beb;color:#d9f5ff;font-size:.85vw;letter-spacing:.02em}.row .rank{font-size:1.65vw;color:#05243c}.boatNum{font-size:1.65vw}.score{font-size:1.8vw;color:#031929}.team{text-transform:uppercase}.row.top1{background:linear-gradient(90deg,#ffe198f2,#ddc781ed)}.row:before{background:var(--cyan)}.flash{animation:visualFlash 1s ease-in-out infinite alternate}@keyframes visualFlash{to{box-shadow:inset 0 0 0 3px #ffd12c,inset 0 0 30px #ffbf4470}}
.currentRow{min-height:6vh;margin-top:.6vh;grid-template-columns:1fr 3fr 1.1fr}.currentRow .label{font-size:1vw}.currentRow strong{font-size:1.3vw;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.currentRow .rightScore{font-size:1.7vw}
.specialPhoto{width:53%;height:88%;object-fit:contain;background:#00111b40}.specialShade{background:linear-gradient(90deg,transparent 48%,#001421b8 55%,#001421d9)}.specialInfo{right:2.5vw;top:7vh;width:42vw}.eyebrow{font-size:1.1vw;color:#b8eafa}.specialInfo h1{font-style:italic;font-size:6vw;line-height:.92;margin:1vw 0}.leaderGold{background:linear-gradient(#fff2a0,#ffd32e 45%,#b77608);background-clip:text;color:transparent;filter:drop-shadow(0 3px 0 #4b2b00)}.bigCyan{font-size:4vw!important;text-shadow:0 3px 0 #005578}.specialBoat{font-size:1.8vw;line-height:1.15}.specialScore{font-size:4.3vw}.advantage{font-size:1.4vw;border-color:#ffc83c;padding:.6vw 1vw}
#stinger{background:linear-gradient(110deg,#031b2aa8,#010a13c9),url('/assets/smudj-broadcast-background-loop-10s-poster.jpg') center/cover}.stingerInner{left:5vw;top:20vh}.breakingWord{font-size:10vw;line-height:1;letter-spacing:-.015em}.newCatch{font-size:4vw;font-style:italic;line-height:1;border-top:2px solid #ffa6a6;padding-top:1vh}.stDetail{font-size:1.55vw;max-width:85vw}.redSweep{opacity:.9}
.releaseBlur{opacity:.18}.releaseTitle{font-size:2.1vw}.phoneVideo{height:85%;border:2px solid var(--cyan)}.lowerThird{min-width:26vw;max-width:29vw;gap:.5vw;border-color:var(--cyan)}.lowerThird b{font-size:1.8vw}.lowerThird span{font-size:1.15vw}
.scorebug{bottom:1.5vh;height:7vh;width:40vw;border:1px solid var(--cyan);background:#001626ed}.bugLabel{font-size:.8vw;color:#ceeaf8;letter-spacing:.04em}.bugValue{font-size:1.7vw;line-height:1.05}.bugLeader{font-size:1.45vw}.statusBug{bottom:1.5vh;height:7vh;border:1px solid #2b8db5;background:#001626e8;font-size:1.15vw;max-width:54vw}.statusBug b{background:#045275;padding:.3vw .6vw}
.quietPanel{background:#001b2bd0;border-color:var(--cyan)}.quietBoard .row{font-size:1vw}.quietBoard .row.head{font-size:.7vw}.quietBoard .score{font-size:1.4vw}
/* Approved underwater atmosphere; motion affects only the background layers. */
#app{background:#010b12;isolation:isolate;overflow:hidden}
.waterBackdrop{position:absolute;inset:-2%;z-index:-2;background:linear-gradient(#00101a55,#00091388),url('/assets/smudj-broadcast-background-loop-10s-poster.jpg') center/cover;filter:blur(2px) brightness(.72);animation:waterDrift 36s ease-in-out infinite alternate;will-change:transform}
@keyframes waterDrift{from{transform:scale(1.015) translate(-.2%,.1%)}to{transform:scale(1.035) translate(.35%,-.2%)}}
.waterBubbles{position:absolute;inset:0;pointer-events:none;z-index:-1;overflow:hidden}.waterBubbles i{position:absolute;left:var(--x);bottom:-20px;width:var(--size);height:var(--size);border:1px solid #b9dcec60;border-radius:50%;filter:blur(.8px);animation:bubbleRise var(--speed) linear var(--delay) infinite}
@keyframes bubbleRise{0%{transform:translate(0,0);opacity:0}10%,80%{opacity:.4}100%{transform:translate(25px,-110vh);opacity:0}}
#stinger{background:linear-gradient(110deg,#031b2a88,#010a1388)}
#leaderScene{padding:2vh 2vw 10vh 25vw}
#leaderScene .boardTitle{background:#00101bd9;border:1px solid #54859b;border-radius:8px 8px 0 0;margin:0;height:7vh;padding:0 1.1vw;align-items:center}
#leaderScene h1{font-size:2.8vw;font-style:italic;color:#e2eff7;text-shadow:0 2px 1px #111}#leaderScene h1 em{color:#83bfff}
#leaderTable{display:block;border:1px solid #54859b;border-top:0;background:#000d17b8;border-radius:0 0 8px 8px;overflow:hidden}
#leaderTable .row{height:5.25vh;min-height:0;grid-template-columns:.48fr .65fr 2.25fr 1.05fr 1.25fr .55fr;padding:0 1vw;font-family:Arial,sans-serif;font-size:1.15vw;background:#00121bc9;color:#eef6fb;border-bottom:1px solid #7b9baa40;gap:.5vw}
#leaderTable .row.head{height:4.8vh;font-size:.73vw;font-weight:400;color:#dceaf1;background:#000a13d9}
#leaderTable .row:before{display:none}#leaderTable .row.top1{background:linear-gradient(90deg,#957026b8,#392708cc);border:1px solid #b18e40}#leaderTable .row.top2{background:linear-gradient(90deg,#899ca9a8,#23343ecc);border:1px solid #9aabb5}#leaderTable .row.top3{background:linear-gradient(90deg,#9b6745a8,#342115cc);border:1px solid #a47852}
#leaderTable .rank,#leaderTable .boatNum{font-size:1.4vw;color:white}#leaderTable .score{font-size:1.45vw;color:#f9e2a0}#leaderTable .team{text-transform:none;min-width:0;font-weight:600}#leaderTable .row>div{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.boardViewport{height:52.5vh;overflow:hidden}.boardTrack{will-change:transform}
#leaderScene .currentRow{grid-template-columns:1fr 2.5fr 1fr;height:6vh;min-height:0}#leaderScene .currentRow strong{font-size:1.05vw}#leaderScene .currentRow .rightScore{font-size:1.25vw}
.standby{display:none;text-align:center;margin-top:12vh;background:#00131ab5;padding:3vw}.standby strong{display:block;font-size:3.5vw;font-style:italic}.standby span{font-size:2vw;letter-spacing:.25em;color:#a2d6f2}.standby p{font-size:1.1vw}.emptyBoard #leaderTable,.emptyBoard .boardTitle{display:none}.emptyBoard .standby{display:block}
.flash{animation:calmHighlight 2.5s ease-in-out infinite alternate}@keyframes calmHighlight{to{box-shadow:inset 0 0 0 2px #ffd268,inset 0 0 20px #eac66722}}
@media(prefers-reduced-motion:reduce){.waterBackdrop,.waterBubbles i,.flash{animation:none}.waterBubbles{display:none}}
