:root{--blue:#9bdbff;--accent:#59bdff;--dim:#8299ab;--line:#243b4c;--panel:#08131c;--scale:1}*{box-sizing:border-box}body{margin:0;background:#000;color:#eef8ff;font-family:'PingFang SC','Microsoft YaHei',Arial,sans-serif}button,input,select,textarea{font:inherit}button{cursor:pointer}button:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:2px solid #9bdbff;outline-offset:2px}button{background:#142733;color:#dff3ff;border:1px solid #365165;border-radius:7px;padding:10px 16px}button:hover{background:#244356}.primary{background:#a8e1ff;color:#062235;font-weight:650;border-color:#a8e1ff}#stage{width:1600px;height:900px;position:absolute;left:50%;top:50%;transform:translate(-50%,-50%) scale(var(--scale));background:#000;overflow:hidden;padding:36px 58px}.edge{position:absolute;top:0;left:0;height:4px;width:100%;background:linear-gradient(90deg,#0b5d90,#aee6ff 40%,#3b9ce1 65%,#000)}header{height:80px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);padding-bottom:20px}.brand{display:flex;align-items:center;gap:16px}.brand img{width:55px;height:55px;object-fit:contain}.brand b{display:block;font-size:25px;letter-spacing:5px}.brand small{font-size:9px;letter-spacing:2.5px;display:block;margin-top:7px;color:var(--blue)}.meeting{font-size:19px;letter-spacing:4px}.meeting span{font-size:10px;letter-spacing:3px;color:var(--dim);margin-left:18px}.date{font-size:32px;font-weight:300;letter-spacing:2px;color:var(--blue);display:flex;gap:16px;align-items:center}.date small{font-size:11px;letter-spacing:1px;color:var(--dim)}#nav{display:flex;gap:5px;align-items:center;height:60px}#nav button{background:none;border:0;color:#718d9f;border-radius:0;font-size:13px;padding:11px 19px}#nav button:first-child{padding-left:0}#nav button.active{color:var(--blue)}#nav button.active:after{display:block;content:'';height:2px;background:var(--blue);margin-top:8px}.heading{height:104px;display:flex;align-items:flex-start;padding-top:7px;justify-content:space-between}p{margin:0}.heading p{color:#60afd9;font-size:10px;letter-spacing:4px;margin-bottom:10px}h1{font-size:36px;letter-spacing:3px;margin:0;font-weight:600}.heading-right{display:flex;align-items:center;gap:18px;padding-top:24px;font-size:13px;color:var(--dim)}.pill{border:1px solid #37566c;color:#a7ddfb;border-radius:20px;padding:7px 13px;font-size:11px}#screen{height:510px;position:relative}.scene{height:100%;animation:sceneIn .65s both}.scene>*{animation:itemIn .65s both}.scene>:nth-child(2){animation-delay:.1s}.scene>:nth-child(3){animation-delay:.2s}.cols{display:grid;grid-template-columns:1.25fr 1fr;gap:28px}.card{background:linear-gradient(135deg,#101f2b,#060b10);border:1px solid #233e52;border-radius:12px;position:relative;overflow:hidden}.card.pad{padding:27px 30px}.card-title{display:flex;align-items:center;justify-content:space-between;font-size:17px;letter-spacing:1px;margin-bottom:21px}.tiny{font-size:10px;color:var(--dim);letter-spacing:2px}.blue{color:var(--blue)}.muted{color:var(--dim)}.overview-event{font-size:40px;font-weight:550;letter-spacing:2px;margin:22px 0 11px}.event-small{font-size:13px;color:var(--dim)}.hero-rule{height:2px;width:60px;background:var(--blue);margin:25px 0}.stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin:27px 0}.stat b{font-size:44px;font-weight:350;color:#c1eaff;display:block;font-variant-numeric:tabular-nums}.stat span{font-size:12px;color:#8da6b9}.lines{border-top:1px solid var(--line)}.schedule-row{display:flex;align-items:center;gap:21px;border-bottom:1px solid var(--line);padding:16px 0}.schedule-row time{font-size:25px;font-weight:300;color:var(--blue);width:78px;font-variant-numeric:tabular-nums}.schedule-row strong{font-size:17px;font-weight:500}.schedule-row small{font-size:11px;color:var(--dim);display:block;margin-top:6px}.schedule-row .state{margin-left:auto;font-size:11px;color:#93c7e5}.title-strip{display:flex;align-items:center;justify-content:space-between;margin-bottom:22px}.title-strip h2{font-size:28px;margin:0;font-weight:550;letter-spacing:2px}.table{border-collapse:collapse;width:100%;table-layout:fixed}.table th{text-align:left;padding:13px 18px;color:#789bb1;font-size:11px;font-weight:normal;letter-spacing:2px;border-bottom:1px solid #36546b}.table td{padding:17px 18px;border-bottom:1px solid #1b3040;font-size:20px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table td:first-child{font-variant-numeric:tabular-nums;font-size:22px;color:#80b5d4}.table tr:first-child td{background:#153043}.table .score{color:#c2eaff;font-size:25px;font-variant-numeric:tabular-nums;text-align:right}.table .number{text-align:center;font-variant-numeric:tabular-nums}.table .gold{color:#e6cc8d}.table .silver{color:#d2e3eb}.table .bronze{color:#c9a48a}.table small{display:block;font-size:10px;color:var(--dim);margin-top:5px}.empty{display:flex;align-items:center;justify-content:center;flex-direction:column;height:100%;text-align:center;padding:25px}.empty .symbol{font-size:44px;color:#6cbee9;border:1px solid #315d77;border-radius:50%;width:86px;height:86px;display:grid;place-items:center;margin-bottom:23px}.empty h2{font-size:27px;font-weight:500;letter-spacing:3px;margin:0 0 14px}.empty p{font-size:14px;line-height:2;color:#8ca9bc}.side-note{font-size:12px;line-height:1.9;color:#829eaf}.podium-wrap{height:100%;position:relative}.podium-head{text-align:center}.podium-head h2{font-size:25px;margin:0 0 10px;font-weight:500;letter-spacing:3px}.podium-head p{font-size:11px;color:#96c9e5;letter-spacing:3px}.podium{height:410px;display:flex;justify-content:center;align-items:flex-end;gap:24px;padding:15px 65px 0}.winner{width:31%;text-align:center;align-self:end;animation:winnerIn .85s both;position:relative}.winner:nth-child(1){animation-delay:.22s}.winner:nth-child(2){animation-delay:.48s}.winner:nth-child(3){animation-delay:.72s}.winner .wname{font-size:36px;letter-spacing:3px;margin:12px 0}.winner .wclass{font-size:16px;color:#9bb5c6}.winner .wscore{font-size:36px;font-weight:300;color:#cbeaff;margin:12px 0 22px}.winner .step{height:100px;border:1px solid #3b607a;border-radius:8px 8px 0 0;background:linear-gradient(#183c55,#06101a);display:flex;align-items:center;justify-content:center;gap:13px;color:#bad8eb;font-size:44px;font-weight:300}.winner.first .step{height:146px;border-color:#88cbee;background:linear-gradient(#245c80,#0a1c2b);color:#e5f6ff}.winner.third .step{height:76px}.step small{font-size:11px;letter-spacing:3px}.award{font-size:12px;color:#b4dcf2;letter-spacing:3px}.records{display:grid;grid-template-columns:repeat(4,1fr);gap:16px}.record-card{height:244px;padding:25px}.record-card h3{font-size:18px;margin:0 0 25px;font-weight:500}.record-card .record-score{font-size:33px;color:#bde7ff;letter-spacing:1px;white-space:nowrap}.record-card .holder{margin-top:23px;font-size:16px}.record-card .year{font-size:11px;color:#7f9caf;margin-top:10px}.record-card .record-score.long{font-size:24px}.record-badge{color:#e4c889;font-size:11px;margin-left:10px}.announcement{display:grid;grid-template-columns:180px 1fr;align-items:center;height:100%;padding:40px 65px;gap:40px}.announcement .icon{width:145px;height:145px;border:1px solid #3a7ba4;border-radius:50%;display:grid;place-items:center;font-size:65px;color:var(--blue)}.announcement h2{font-size:25px;color:#88c6ed;font-weight:500;letter-spacing:3px;margin:0 0 28px}.announcement p{font-size:34px;line-height:1.8;white-space:pre-wrap;overflow-wrap:anywhere;max-height:320px;overflow:hidden}footer{position:absolute;left:58px;right:58px;bottom:49px;display:flex;height:43px;align-items:center;border-top:1px solid #36526a;border-bottom:1px solid #243a4b;font-size:12px}.ticker-label{color:#bce8ff;padding-right:20px;white-space:nowrap;letter-spacing:2px}.ticker-label span{font-size:9px;letter-spacing:1px;margin-left:8px;background:#143950;padding:4px 6px}.ticker{flex:1;overflow:hidden;white-space:nowrap;color:#a3bccb}.ticker span{display:inline-block;animation:ticker 30s linear infinite;padding-left:5px;min-width:100%}.footer-right{padding-left:24px;background:#000;color:#8ba7b9;font-size:11px}.footer-right span{margin-left:18px;font-variant-numeric:tabular-nums}.bottom-line{position:absolute;left:58px;right:58px;bottom:23px;display:flex;justify-content:space-between;color:#54748b;font-size:9px;letter-spacing:2px}#controls{position:fixed;bottom:8px;left:50%;transform:translateX(-50%);display:flex;gap:7px;background:#0e1c25ee;border:1px solid #3d5e73;border-radius:10px;padding:8px;z-index:3;white-space:nowrap;max-width:98vw;overflow:auto}#controls button{font-size:12px;flex-shrink:0}#controls select{width:120px}.recording #controls{opacity:0;pointer-events:none}.recording #nav{visibility:hidden}.key .card,.key .step{background:#000!important}.key .edge{background:#9bdbff}.key .card{border-color:#325068}body[data-motion=slide] .scene{animation-name:slideIn}body[data-motion=fade] .scene{animation-name:fadeIn}body[data-motion=none] *,body[data-motion=none] *:before{animation:none!important}dialog{width:min(1100px,96vw);max-height:93vh;background:#0a1721;color:#dceef9;border:1px solid #395970;border-radius:15px;padding:28px}dialog::backdrop{background:#000c}.dialog-head{display:flex;justify-content:space-between;align-items:center}.dialog-head small{font-size:10px;letter-spacing:3px;color:#88bbdb}h2{margin:8px 0 10px}.editor-tabs{display:flex;gap:8px;border-bottom:1px solid #2d4659;padding:18px 0;margin-bottom:15px}.editor-tabs .active{background:#a6dfff;color:#082033}.help{font-size:12px;line-height:1.9;color:#8faabc;margin:12px 0}label{display:block;color:#b5d7ea;font-size:13px;margin:13px 0 7px}input,select,textarea{width:100%;background:#040d14;color:#d9edfa;border:1px solid #344f63;border-radius:5px;padding:10px}textarea{height:240px;font:12px/1.8 monospace;white-space:pre}.two{display:grid;grid-template-columns:1fr 1fr;gap:20px}.entry-grid{display:grid;grid-template-columns:55px 1.3fr 1fr 1fr 95px;gap:12px;align-items:center;padding:6px 0}.entry-head{font-size:11px;color:#8da9bd;margin-top:16px}.entry-grid input[type=checkbox]{width:20px;height:20px}.entry-grid>span{font-size:14px}.actions{display:flex;gap:10px;justify-content:flex-end;flex-wrap:wrap;margin-top:20px}.actions.start{justify-content:flex-start}.checks{display:flex;flex-wrap:wrap;gap:16px}.checks label{display:flex;align-items:center;gap:6px}.checks input{width:auto}#message{color:#9ed9ff;line-height:1.8;font-size:13px;margin-top:14px}#message.error{color:#ffb6a7}#toast{display:none;position:fixed;top:20px;left:50%;transform:translateX(-50%);background:#a9e0ff;color:#082438;padding:12px 22px;border-radius:6px;z-index:10}#screen .result-card{height:100%;padding:22px 29px}#screen .table tr{animation:itemIn .55s both}#screen .table tr:nth-child(2){animation-delay:.07s}#screen .table tr:nth-child(3){animation-delay:.14s}#screen .table tr:nth-child(4){animation-delay:.21s}#screen .table tr:nth-child(5){animation-delay:.28s}#screen .table tr:nth-child(6){animation-delay:.35s}@keyframes sceneIn{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}@keyframes itemIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}@keyframes slideIn{from{opacity:0;transform:translateX(35px)}to{opacity:1;transform:none}}@keyframes fadeIn{from{opacity:0}to{opacity:1}}@keyframes winnerIn{from{opacity:0;transform:translateY(40px)}to{opacity:1;transform:none}}@keyframes ticker{0%,15%{transform:translateX(0)}100%{transform:translateX(-100%)}}@media(prefers-reduced-motion:reduce){*{animation:none!important}}
.podium-head{padding-top:25px}.recording #stage{cursor:none}.table td:nth-last-child(-n+4){font-variant-numeric:tabular-nums}.brand img{border-radius:6px}.entry-grid input{min-width:0}.key #screen .card{box-shadow:none}.scene.cols>.card{min-width:0}.record-badge{color:#e4c889!important}
.table td{padding:12px 18px}.overview-event{line-height:1.4}.winner .wname{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.announcement p{font-size:30px}
.weather-compact{display:block;width:100%;margin-top:18px;text-align:left;padding:12px 14px;font-size:12px;color:#abdfff;background:#0b2639;border-color:#284a62;white-space:normal;line-height:1.5}.weather-scene{display:flex;flex-direction:column;gap:13px}.weather-top{display:grid;grid-template-columns:1fr 1fr;gap:22px;height:285px}.weather-top>.card{padding:20px 25px}.weather-top .title-strip{margin-bottom:10px}.weather-top h2{font-size:22px}.weather-top .tiny{letter-spacing:1px}.weather-current,.weather-forecast-head{display:flex;gap:25px;align-items:center;height:62px}.weather-symbol{font-size:24px;letter-spacing:2px;color:#aadfff}.weather-temperature{font-size:60px;line-height:1;font-weight:350;color:#dcf2ff}.forecast-temperature{font-size:39px;font-weight:350;color:#dcf2ff}.weather-timestamp{font-size:10px;color:#8eacbf;margin:4px 0 11px}.weather-metrics{display:grid;grid-template-columns:1fr 1fr;gap:12px 20px;margin-top:13px}.weather-metric small{display:block;color:#86a9bf;font-size:11px;letter-spacing:1px}.weather-metric strong{display:block;font-size:21px;font-weight:500;color:#d2edff;margin-top:6px;white-space:nowrap}.weather-metric span{display:block;font-size:9px;color:#7f9caf;margin-top:4px}.weather-note{font-size:10px;color:#809bad;line-height:1.6;margin-top:11px}.weather-top>.card:has(.weather-timestamp) .weather-metrics{gap:10px;margin-top:9px}.weather-top>.card:has(.weather-timestamp) .weather-note{margin-top:9px}.weather-hourly{height:179px;padding:14px 24px}.weather-hourly-title{display:flex;justify-content:space-between;align-items:center;font-size:14px}.weather-hourly-title span{font-size:10px;color:#7799af}.weather-hours{display:grid;grid-template-columns:repeat(9,1fr);gap:15px;margin-top:12px}.weather-hour{text-align:center;min-width:0}.weather-hour small{display:block;font-size:10px;color:#849fb0;white-space:nowrap}.weather-hour b{font-size:18px;font-weight:500;display:block;color:#b8e3ff;margin-top:5px}.prob-bar{height:32px;background:#112b3d;width:24px;border-radius:3px;margin:5px auto;position:relative;overflow:hidden}.prob-bar span{position:absolute;left:0;bottom:0;width:100%;background:linear-gradient(#b7e7ff,#3587c0)}.weather-hour>span{font-size:13px;color:#d3eaff;display:block;margin-bottom:4px}.weather-attribution{display:flex;justify-content:space-between;color:#6e91a9;font-size:9px;letter-spacing:.3px;gap:12px;line-height:1.5}.weather-source{color:#99c5e1}.weather-unavailable{display:flex;flex-direction:column;justify-content:center;height:185px;text-align:center;color:#91b6cd}.weather-unavailable h2{font-size:21px;letter-spacing:2px;margin:10px 0 15px}.weather-unavailable p{font-size:12px;line-height:1.9}.weather-empty-hours{padding-top:48px;text-align:center;color:#7f9fb6;font-size:13px}.key .weather-compact,.key .prob-bar{background:#000}button:disabled{opacity:.55;cursor:wait}#nav button{padding-left:16px;padding-right:16px}
.weather-scene{gap:12px}.weather-top{height:310px;flex-shrink:0}.weather-hourly{height:160px;flex-shrink:0}.prob-bar{height:20px}.weather-metric span:empty{display:none}.weather-attribution{font-size:9px}.weather-current,.weather-forecast-head{height:58px}
/* JTV broadcast identity and movement */
header{position:relative;display:grid;grid-template-columns:1fr 1.3fr 1fr;gap:16px;align-items:center}.jtv-brand{justify-self:start;width:230px;position:relative;align-self:center}.jtv-brand>img{display:block;width:210px;height:62px;object-fit:contain;object-position:left center}.jtv-caption{display:flex;align-items:center;gap:7px;font-size:9px;letter-spacing:2px;color:#9fc8e0;margin-top:-3px;margin-left:27px;white-space:nowrap}.jtv-caption>span{font-size:7px;letter-spacing:1px;color:#567d98}.jtv-caption i{width:5px;height:5px;border-radius:50%;background:#80d4ff;box-shadow:0 0 9px #5bbaff;animation:livePulse 2s ease-in-out infinite}.header-school{position:absolute;left:50%;transform:translateX(-50%);text-align:center;white-space:nowrap;top:5px}.header-school b{font-size:30px;letter-spacing:9px;font-weight:600;padding-left:9px;display:block}.header-school small{display:block;font-size:9px;letter-spacing:2.5px;color:#88b4d1;margin-top:10px}#header-weather{grid-column:3;justify-self:end;display:flex;align-items:center;justify-content:flex-end;gap:9px;background:none;border:0;padding:0;min-width:245px;max-width:315px;text-align:left;color:#c7e9ff;border-radius:8px}#header-weather:hover{background:#102330}.header-weather-copy{display:block}.header-weather-copy strong{font-size:21px;font-weight:450;letter-spacing:1px;display:block;white-space:nowrap}.header-weather-copy small{display:block;font-size:10px;color:#87acc5;margin-top:8px;white-space:nowrap}.weather-stale .header-weather-copy small{color:#d0b88c}#header-weather-icon{display:flex;width:66px;height:60px;align-items:center;justify-content:center}.sport-icon{width:23px;height:23px;display:inline-block;vertical-align:middle;flex-shrink:0;color:#9bd8ff}.weather-icon{width:63px;height:63px;flex-shrink:0;overflow:visible;display:block}#nav button{display:flex;align-items:center;gap:7px;position:relative;padding:11px 13px}#nav .sport-icon{width:17px;height:17px;color:inherit;opacity:.8}#nav button.active:after{position:absolute;bottom:0;left:13px;right:13px;margin-top:0}#nav button:first-child.active:after{left:0}#nav button.active .sport-icon{color:#b3e3ff;filter:drop-shadow(0 0 4px #459bd255)}#nav button.active .sport-icon{animation:iconFloat 3.5s ease-in-out infinite}.title-strip h2{display:flex;align-items:center;gap:12px}.title-strip h2>.sport-icon{width:27px;height:27px;color:#92c8e8}.schedule-row>.sport-icon{width:22px;height:22px;opacity:.7}.schedule-row{gap:14px}.schedule-row time{width:73px;flex-shrink:0}.schedule-row .state{white-space:nowrap}.empty .symbol .sport-icon{width:42px;height:42px}.announcement .icon .sport-icon{width:67px;height:67px}.record-card h3{display:flex;align-items:center;gap:9px}.record-card h3 .sport-icon{width:20px;height:20px}.winner .award{display:flex;gap:8px;justify-content:center;align-items:center}.winner .award .sport-icon{width:24px;height:24px}.stat>span{display:flex;gap:7px;align-items:center}.stat .sport-icon{width:15px;height:15px;color:#73aed1}.athletics-accent{position:absolute;right:28px;top:32px;display:flex;align-items:center;gap:8px;color:#5986a2;font-size:8px;letter-spacing:2px}.athletics-accent>.sport-icon{width:30px;height:30px;color:#8fd3fa}.track-lines{position:absolute;right:-50px;top:95px;width:340px;height:160px;transform:rotate(-28deg);pointer-events:none;opacity:.14;z-index:0}.track-lines i{display:block;border:1px solid #84ccf4;border-radius:100px;height:44px;margin-top:9px;position:relative;overflow:hidden}.track-lines i:after{content:'';position:absolute;height:1px;width:60px;top:0;left:0;background:#c8edff;box-shadow:0 0 12px #77ccff;animation:trackSweep 5s linear infinite}.track-lines i:nth-child(2):after{animation-delay:1.5s}.track-lines i:nth-child(3):after{animation-delay:3s}.overview-event,.stat-grid{position:relative;z-index:1}.weather-metric small{display:flex;align-items:center;gap:5px}.weather-metric small .sport-icon{width:13px;height:13px}.weather-current,.weather-forecast-head{gap:13px}.weather-current>.weather-icon,.weather-forecast-head>.weather-icon{width:57px;height:57px}.weather-hour{position:relative}.weather-hour>.weather-icon{position:absolute;width:24px;height:24px;top:-5px;right:0;opacity:.85}.sun-rays{transform-origin:26px 25px;animation:sunTurn 24s linear infinite}.cloud-drift{animation:cloudDrift 4.8s ease-in-out infinite}.rain-fall{animation:rainFall 1.5s ease-in-out infinite}.wind-flow{stroke-dasharray:30 5;animation:windMove 3s linear infinite}.lightning{animation:lightningFlash 4s ease-in-out infinite}.icon-animated{animation:iconFloat 4s ease-in-out infinite}.key .track-lines{display:none}.key .jtv-caption i{box-shadow:none}body[data-motion=none] .sun-rays,body[data-motion=none] .cloud-drift,body[data-motion=none] .rain-fall{animation:none!important}@keyframes livePulse{0%,100%{opacity:1}50%{opacity:.35}}@keyframes iconFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-2px)}}@keyframes sunTurn{to{transform:rotate(360deg)}}@keyframes cloudDrift{0%,100%{transform:translateX(0)}50%{transform:translateX(3px)}}@keyframes rainFall{0%{transform:translateY(-2px);opacity:.35}60%{opacity:1}100%{transform:translateY(5px);opacity:.25}}@keyframes windMove{to{stroke-dashoffset:-70}}@keyframes lightningFlash{0%,65%,100%{opacity:1}70%,78%{opacity:.2}74%,82%{opacity:1}}@keyframes trackSweep{from{transform:translateX(-65px)}to{transform:translateX(350px)}}
#stage{isolation:isolate;--photo-blur:12px;--photo-shade:.48}#atmosphere{position:absolute;inset:0;z-index:-1;overflow:hidden;pointer-events:none;background:#020910}.photo-bg{position:absolute;inset:-45px;background-size:cover;background-position:center 58%;filter:blur(var(--photo-blur)) saturate(.8);transform:scale(1.04);opacity:0;transition:opacity 2.8s ease}.photo-bg.visible{opacity:1}.photo-shade{position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,7,15,.45),rgba(0,8,17,.12) 40%,rgba(0,6,14,.5)),rgba(0,8,18,var(--photo-shade))}#stage:not(.photo-off) .card{background:linear-gradient(125deg,rgba(14,31,45,.79),rgba(3,13,23,.76));backdrop-filter:blur(20px) saturate(.8);-webkit-backdrop-filter:blur(20px) saturate(.8);border-color:rgba(157,207,238,.24);box-shadow:inset 0 1px 0 #e2f5ff0c,0 10px 35px #0002}#stage:not(.photo-off) .table tr:first-child td{background:#24465caa}#stage:not(.photo-off){--dim:#acc1d0}#stage:not(.photo-off) #nav button{color:#abc1d0}#stage:not(.photo-off) #nav button.active{color:#cef0ff}#stage:not(.photo-off) header,#stage:not(.photo-off) .heading,#stage:not(.photo-off) footer,#stage:not(.photo-off) .bottom-line{text-shadow:0 1px 5px #000b}#stage:not(.photo-off) .footer-right{background:transparent}#stage:not(.photo-off) footer{background:#03111cc4;border-radius:4px;padding-left:12px;padding-right:12px}#stage:not(.photo-off) .side-note,#stage:not(.photo-off) .muted,#stage:not(.photo-off) .tiny,#stage:not(.photo-off) .table th,#stage:not(.photo-off) .help,#stage:not(.photo-off) .event-small,#stage:not(.photo-off) .schedule-row small{color:#a8c0d1}#stage:not(.photo-off) .weather-note,#stage:not(.photo-off) .weather-attribution{color:#b1c7d5}.photo-off .photo-bg,.photo-off .photo-shade{display:none}.sun-halo{position:absolute;inset:-8%;opacity:0;transition:opacity 2s;background:radial-gradient(ellipse at 88% 8%,#fff4b575,transparent 25%),radial-gradient(ellipse at 75% 15%,#ffd69b30,transparent 43%);mix-blend-mode:screen;animation:solarBreathe 14s ease-in-out infinite}.sun-halo:before{content:'';position:absolute;inset:0;background:conic-gradient(from 190deg at 89% 6%,transparent 0deg,#fff0bc18 8deg,transparent 15deg,#ffefb51c 23deg,transparent 31deg);filter:blur(13px);animation:solarDrift 22s ease-in-out infinite}.glass-rain{position:absolute;inset:0;opacity:0;transition:opacity 2s}.water-drop{position:absolute;left:var(--x);top:var(--y);width:var(--size);height:calc(var(--size)*1.3);border-radius:48% 52% 56% 44%/40% 42% 58% 60%;background:radial-gradient(ellipse at 29% 20%,#e9f8ff4a,transparent 32%),linear-gradient(145deg,#d8f5ff09,#00111c1a);border:1px solid #ccecff25;box-shadow:inset 1px 2px 3px #d0efff35,inset -1px -2px 3px #0009,0 1px 2px #0005;backdrop-filter:blur(1px);animation:glassCondense var(--duration) ease-in-out var(--delay) infinite}.water-drop.sliding{animation:glassSlide var(--duration) cubic-bezier(.5,0,.8,1) var(--delay) infinite}.water-drop.sliding:after{content:'';position:absolute;left:45%;bottom:90%;height:60px;width:1px;background:linear-gradient(transparent,#dcf5ff25);opacity:.4}#stage[data-atmosphere=rain] .glass-rain{opacity:.8}#stage[data-atmosphere=sun] .sun-halo{opacity:.72}.key #atmosphere{display:none}.key #stage .card{background:#000!important;backdrop-filter:none!important}.key #stage footer{background:#000!important}.bg-previews{display:grid;grid-template-columns:1fr 1fr;gap:20px;margin-top:20px}.bg-previews>div{display:flex;flex-direction:column;gap:10px}.bg-previews img{width:100%;height:130px;object-fit:cover;border:1px solid #34566d;border-radius:8px}#bg-blur,#bg-shade{padding:8px;accent-color:#a5ddff}#atmosphere-status{color:#a4dcff}.editor-tabs{flex-wrap:wrap}@keyframes glassCondense{0%,100%{opacity:.25;transform:scale(.7)}40%,85%{opacity:.85;transform:scale(1)}}@keyframes glassSlide{0%{opacity:0;transform:translateY(-50px) scale(.7)}15%{opacity:.9;transform:translateY(0) scale(1)}70%{opacity:.8;transform:translateY(25px) scale(1)}100%{opacity:0;transform:translateY(240px) scale(.85)}}@keyframes solarBreathe{0%,100%{filter:brightness(.85);transform:scale(1)}50%{filter:brightness(1.15);transform:scale(1.04)}}@keyframes solarDrift{0%,100%{transform:rotate(-3deg)}50%{transform:rotate(3deg)}}
#bg-preview-back{position:fixed;top:15px;left:50%;transform:translateX(-50%);z-index:10;background:#b3e5ff;color:#062335;border:1px solid #d8f2ff;box-shadow:0 5px 25px #0009}#bg-preview-back[hidden]{display:none}
.header-school{top:8px;max-width:890px}.header-school b{font-size:36px;letter-spacing:2px;padding-left:2px;line-height:1.3}.header-school small{font-size:8px;letter-spacing:2.5px;margin-top:7px}.bg-previews{grid-template-columns:repeat(3,1fr)}.bg-previews img{height:110px}.bg-previews button{font-size:12px;padding:7px}#bg-count{margin:auto 0}body.recording #controls{display:none}
.entry-lane{grid-column:2 / 5;font-size:10px;color:#8bb6d0;margin-top:-7px}#nav button{padding-left:10px;padding-right:10px;gap:6px}#nav button.active:after{left:10px;right:10px}.record-card .year{color:#acd4ee;font-size:12px}
button.danger{color:#ffd1c8;border-color:#80524b;background:#3b2524}button.danger:hover{background:#5a3330}button[data-undo-scores]:disabled{cursor:default;opacity:.4}
.schedule-edit-row{display:grid;grid-template-columns:1fr 85px 130px;gap:16px;align-items:center;border-bottom:1px solid #2a4354;padding:9px 0}.schedule-edit-row>span{font-size:13px}.schedule-edit-row>small{font-size:11px;color:#90adbf}#schedule-edit-list{max-height:360px;overflow:auto;margin-top:20px;padding-right:10px}
.weather-hours{grid-template-columns:repeat(var(--weather-hours,9),1fr)}
.schedule-row.postponed time,.schedule-row.postponed .state{color:#ffd59d}.schedule-row.postponed .state{border:1px solid #9f764b66;padding:5px 9px;border-radius:4px;background:#7c512429}.schedule-edit-row{grid-template-columns:1fr 75px 115px 72px}.postponed-edit-label{display:flex;gap:6px;align-items:center;margin:0;font-size:12px;color:#ffd59d}.postponed-edit-label input{width:17px;height:17px;accent-color:#e6bd87}

/* Layered condensation stays behind all scoreboard text. */
.water-drop{height:calc(var(--size)*var(--aspect));border-radius:var(--round);backdrop-filter:none;animation-play-state:paused}.water-drop.sliding{animation-name:glassRun;animation-timing-function:linear;animation-play-state:paused}.water-drop.mist-drop{border-width:.5px;opacity:.55;box-shadow:inset 1px 1px 2px #e3f8ff50,0 1px 1px #0006}.water-drop.pear-drop{border-radius:48% 52% 44% 56%/28% 32% 68% 72%;height:calc(var(--size)*1.65)}.water-drop.bead-drop{border-radius:50%;height:var(--size)}.water-drop.twin-drop:before{content:'';position:absolute;width:36%;height:45%;right:-22%;top:12%;border-radius:48% 55% 60% 40%;border:1px solid #ccecff30;box-shadow:inset 1px 1px 2px #d0efff40;background:#b8e7ff08}.water-drop.sliding:after{width:2px;height:var(--trail);border-radius:65%;background:linear-gradient(transparent,#def5ff08 30%,#dcf5ff38);opacity:.65;transform:rotate(-2deg);transform-origin:bottom}.water-drop.sliding.pear-drop:after{width:3px}.water-drop.sliding.bead-drop:after{width:1px}#stage[data-atmosphere=rain] .water-drop{animation-play-state:running}
@keyframes glassRun{0%{opacity:0;transform:translate(0,-35px) scale(.65)}8%{opacity:.75;transform:translate(0,0) scale(.95)}28%{opacity:.85;transform:translate(calc(var(--drift)*.15),18px) scale(1)}36%{transform:translate(calc(var(--drift)*.22),21px) scale(1.06,.94)}55%{opacity:.85;transform:translate(calc(var(--drift)*.55),calc(var(--travel)*.28)) scale(.92,1.15)}62%{transform:translate(calc(var(--drift)*.65),calc(var(--travel)*.3)) scale(1)}90%{opacity:.65;transform:translate(var(--drift),var(--travel)) scale(.8,1.2)}100%{opacity:0;transform:translate(var(--drift),calc(var(--travel) + 90px)) scale(.65,1.3)}}
@media(prefers-reduced-motion:reduce){.water-drop,.water-drop.sliding{animation:none!important;opacity:.5}}

/* Match each runoff trail to its droplet diameter. */
.water-drop.sliding:after,.water-drop.sliding.pear-drop:after,.water-drop.sliding.bead-drop:after{left:0;width:100%;border-radius:45% 45% 35% 35%;transform:rotate(-2deg);background:linear-gradient(transparent,#def5ff06 30%,#dcf5ff22 85%,#dcf5ff30);opacity:.65}

.winner.rank-1 .award,.winner.rank-1 .award .sport-icon{color:#ffd36b}.winner.rank-2 .award,.winner.rank-2 .award .sport-icon{color:#dce7f1}.winner.rank-3 .award,.winner.rank-3 .award .sport-icon{color:#e4a475}.winner .award .sport-icon{width:32px;height:32px}.winner.rank-1 .step{border-color:#ffd36b66}.winner.rank-2 .step{border-color:#dce7f166}.winner.rank-3 .step{border-color:#e4a47566}

.result-project-select{font:inherit;font-weight:inherit;letter-spacing:inherit;color:#d3efff;background:#102434;border:1px solid #80caff55;border-radius:7px;padding:8px 36px 8px 12px;max-width:760px;cursor:pointer}.result-project-select:hover,.result-project-select:focus{border-color:#9cdbff;outline:2px solid #6fbff52b}.result-project-select option{background:#0b1e2c;color:#d3efff;font-size:18px}

/* Keep project titles interactive without dropdown chrome. */
.result-project-select{appearance:none;-webkit-appearance:none;border:0!important;background:transparent!important;background-image:none!important;padding:0 4px;box-shadow:none;max-width:100%;cursor:pointer}.result-project-select:hover{color:#b6e4ff}.result-project-select:focus-visible{outline:1px solid #a1d9fa80;outline-offset:5px}.podium-head .result-project-select{text-align:center;text-align-last:center;font:inherit;letter-spacing:inherit}.result-project-select option{background:#0b1e2c;color:#d3efff}

#nas-pill{font-size:12px;color:#a7e4ff;border-color:#477892}.sync-error{color:#ffd3a3!important;border-color:#b98045!important}.nas-migration-list{display:grid;gap:10px;margin:12px 0 18px}.nas-migration-list label{display:flex;align-items:center;gap:10px;margin:0}.nas-migration-list input{width:18px;height:18px;flex-shrink:0}#nas-login-form .actions input{width:320px;max-width:100%}[data-panel=nas] h3{margin:22px 0 12px}[data-panel=nas] .error{color:#ffc7a1}#nas-backups{max-width:450px}#nas-status{line-height:1.8}

#nas-auth-dialog{width:min(460px,90vw);border:1px solid #5484a3;border-radius:14px;padding:30px;background:#0c1c28;color:#ddf2ff}#nas-auth-dialog::backdrop{background:#000a;backdrop-filter:blur(5px)}.auth-heading{display:flex;align-items:center;justify-content:space-between;gap:20px}.auth-heading h2{font-size:24px;margin:0}#nas-auth-dialog label{display:block;margin:18px 0 8px}#nas-auth-dialog input{width:100%;box-sizing:border-box}#auth-error{color:#ffd0a8;min-height:20px}#account-login{color:#bce7ff;border-color:#71add2}#account-logout{font-size:13px}button[hidden]{display:none!important}

.class-grade-filter{width:160px;max-width:100%;font-size:16px;margin-left:auto;background:#102432;color:#d7f1ff;border:1px solid #5c8399;border-radius:6px;padding:7px 12px}.title-strip:has(.class-grade-filter){gap:18px}.title-strip:has(.class-grade-filter) .tiny{margin-left:auto}

.future-date-select{width:150px;font-size:14px;padding:5px;background:#102432;color:#d7f1ff;border:1px solid #5c8399;border-radius:6px}.weather-top .title-strip{gap:10px}

.table th.medal-col{font-size:28px;font-weight:800;letter-spacing:0;padding:10px 12px}.medal-column-title{display:flex;align-items:center;gap:8px;white-space:nowrap}.medal-column-title svg{width:30px;height:34px;flex-shrink:0;animation:none}.table .medal-col-1{color:#ffda68}.table .medal-col-2{color:#ecf4ff}.table .medal-col-3{color:#f2b27d}.table td.medal-count{font-size:28px;font-weight:750;font-variant-numeric:tabular-nums}

.medal-col-1 .medal-column-title{color:#ffda68}.medal-col-2 .medal-column-title{color:#ecf4ff}.medal-col-3 .medal-column-title{color:#f2b27d}.medal-column-title .sport-icon{color:inherit}.medal-board .table td{padding-top:11px;padding-bottom:11px}
