/* Match the browser tint to the CRT's average rendered blue, not its untextured base. */
html,body.first-light-active{background:#295899;overflow:hidden}
.first-light{padding:env(safe-area-inset-top,0px) env(safe-area-inset-right,0px) env(safe-area-inset-bottom,0px) env(safe-area-inset-left,0px)}
.first-light [hidden]{display:none!important}
.first-light{position:fixed;inset:0;z-index:1000;isolation:isolate;overflow-x:hidden;overflow-y:auto;display:grid;grid-template-columns:minmax(0,1fr);grid-template-rows:auto minmax(0,1fr);min-height:100svh;background:#1854a2;color:var(--white);font-family:var(--body);transition:opacity 1.1s ease;touch-action:pan-y}
.first-light *{box-sizing:border-box}.first-light button,.first-light a{-webkit-tap-highlight-color:transparent}.first-light button:focus-visible,.first-light a:focus-visible{outline:3px solid var(--yellow);outline-offset:6px}
.fl-crt{position:fixed;inset:0;z-index:0;overflow:hidden;pointer-events:none;user-select:none;contain:strict}.fl-crt span{position:absolute;display:block;pointer-events:none}
.fl-crt-lines{inset:-6px;background-image:repeating-linear-gradient(0deg,rgba(0,5,15,.18) 0 1px,transparent 1px 3px),repeating-linear-gradient(90deg,rgba(255,70,70,.05) 0 1px,rgba(80,255,150,.035) 1px 2px,rgba(90,130,255,.055) 2px 3px);animation:fl-crt-scan 8s linear infinite}
.fl-crt-noise{inset:-18px;background:url('assets/crt-noise.svg') repeat;background-size:160px 160px;opacity:.16;mix-blend-mode:soft-light;animation:fl-crt-noise 1.2s steps(1,end) infinite}
.fl-crt-moire{inset:-26px;background-image:repeating-linear-gradient(177deg,transparent 0 5px,rgba(2,9,23,.09) 5px 6px,transparent 6px 12px),repeating-linear-gradient(3deg,transparent 0 6px,rgba(255,253,246,.045) 6px 7px,transparent 7px 13px);animation:fl-crt-moire 14s ease-in-out infinite alternate}
@keyframes fl-crt-scan{from{transform:translate3d(0,0,0)}to{transform:translate3d(0,3px,0)}}
@keyframes fl-crt-noise{0%,100%{transform:translate3d(0,0,0)}25%{transform:translate3d(-5px,8px,0)}50%{transform:translate3d(9px,-6px,0)}75%{transform:translate3d(-10px,-3px,0)}}
@keyframes fl-crt-moire{from{transform:translate3d(0,0,0)}to{transform:translate3d(12px,24px,0)}}
.fl-header{position:relative;z-index:8;padding:27px 24px 24px;background:transparent}
.fl-nav-wrap{max-width:1160px;margin:auto;display:flex;align-items:center;justify-content:space-between;gap:23px;min-height:62px}
.fl-header .brand{margin:0 auto 0 0;gap:9px;color:var(--white);text-decoration:none}.fl-header .brand img{width:52px;height:48px;object-fit:contain}.fl-header .brand span{font-family:var(--body);font-size:33px;line-height:1;letter-spacing:-1px}
.fl-nav-socials{display:flex;align-items:center;gap:7px;flex-shrink:0}.fl-nav-socials a{width:46px;height:46px;display:flex;align-items:center;justify-content:center;transition:transform .15s}.fl-nav-socials a:hover{transform:translateY(-3px)}.fl-nav-socials img{width:46px;height:46px;object-fit:contain}
.fl-main{position:relative;min-height:0;min-width:0;width:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:12px 24px 30px;z-index:3}
.fl-scene{position:relative;width:clamp(280px,43vh,430px);height:clamp(280px,43vh,430px);flex-shrink:0;z-index:1;pointer-events:none}
.fl-mascot-float{position:absolute;inset:0;animation:fl-levitate 6s ease-in-out infinite}
.fl-character{display:block;width:100%;height:100%;object-fit:contain;user-select:none;-webkit-user-drag:none;pointer-events:none}
.fl-timer-zone{position:relative;z-index:6;padding:7px 0 0;flex-shrink:0;max-width:900px;width:100%;margin:0 auto}
.fl-countdown{position:relative;display:flex;align-items:flex-start;justify-content:center;gap:clamp(7px,1.6vw,22px);font-family:var(--body);font-weight:400;transition:opacity .4s ease,transform .5s ease;user-select:none}
.fl-unit{width:clamp(75px,11.3vw,152px);min-width:0;display:flex;flex-direction:column;align-items:center}
.fl-number{font-family:var(--body);font-size:clamp(57px,8.2vw,112px);font-weight:400;height:1.06em;line-height:1.08;position:relative;display:block;overflow:hidden;width:100%;font-variant-numeric:tabular-nums;letter-spacing:-.025em;color:var(--white);perspective:500px;text-shadow:0 2px 1px #00102133}
.fl-number span{display:block;position:absolute;inset:0;text-align:center;line-height:1.08;backface-visibility:hidden}
.fl-number .fl-digit-out{animation:fl-number-out .42s cubic-bezier(.3,.1,.2,1) both}.fl-number .fl-digit-in{animation:fl-number-in .42s cubic-bezier(.3,.1,.2,1) both}
.fl-separator{font-family:var(--menu);font-size:clamp(40px,5.7vw,76px);line-height:1.4;color:var(--yellow);align-self:flex-start;padding-top:.05em;font-weight:400}
.fl-unit-label{font-family:var(--menu);font-size:21px;line-height:1;letter-spacing:0;color:var(--sky);margin-top:6px}

.fl-finale{position:absolute;inset:0 0 12px;z-index:4;pointer-events:none;display:flex;align-items:center;justify-content:center;text-align:center;font-family:var(--body);font-size:clamp(100px,12vw,158px);font-weight:400;line-height:1;color:var(--yellow);opacity:0;transform:scale(.86);transition:opacity .4s ease,transform .6s cubic-bezier(.2,.6,.2,1)}
.fl-finale-value{display:block;min-width:1.25em;text-align:center;font-variant-numeric:tabular-nums}.fl-final .fl-finale{opacity:1;transform:scale(1)}.fl-final .fl-countdown{opacity:0;transform:scale(.94)}
.fl-reveal-copy{position:fixed;inset:0;z-index:9;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;pointer-events:none;font-family:var(--body);font-weight:400;font-size:clamp(45px,7.5vw,108px);line-height:1.08;color:var(--white);opacity:0;transform:translateY(25px);transition:opacity .5s ease,transform .7s ease}.fl-reveal-copy span:last-child{color:var(--yellow)}
.fl-revealing .fl-main{opacity:0;transition:opacity .5s ease}.fl-revealing .fl-reveal-copy{opacity:1;transform:translateY(0)}.fl-revealing .fl-header{opacity:.3;transition:opacity .5s}.fl-leaving{opacity:0;pointer-events:none}
.fl-sr-only{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip-path:inset(50%)!important;white-space:nowrap!important}.fl-noscript{font-family:var(--menu);font-size:18px;line-height:1.3;margin:12px auto;color:var(--sky);max-width:450px}
@keyframes fl-levitate{0%,100%{transform:translateY(0)}50%{transform:translateY(-10px)}}
@keyframes fl-number-out{from{transform:translateY(0);opacity:1}to{transform:translateY(-105%);opacity:0}}@keyframes fl-number-in{from{transform:translateY(105%);opacity:0}to{transform:translateY(0);opacity:1}}
@media(max-width:700px){.fl-header{padding:17px 20px 10px}.fl-nav-wrap{display:grid;grid-template-columns:minmax(0,1fr);gap:13px;min-height:0}.fl-header .brand{grid-column:1/-1;justify-self:center;margin:0}.fl-header .brand img{width:46px;height:43px}.fl-header .brand span{font-size:29px}.fl-nav-socials{min-width:0;justify-content:center;gap:12px}.fl-nav-socials a,.fl-nav-socials img{width:39px;height:39px}.fl-main{padding:13px 18px 25px}.fl-scene{width:clamp(240px,37vh,330px);height:clamp(240px,37vh,330px)}.fl-timer-zone{padding-top:7px}.fl-countdown{gap:7px;width:100%}.fl-unit{width:calc((100% - 76px)/4)}.fl-number{font-size:clamp(41px,13.2vw,76px);height:1.08em}.fl-separator{font-size:clamp(31px,8vw,47px);line-height:1.25;padding-top:.03em}.fl-unit-label{font-size:18px;margin-top:7px}.fl-finale{inset:0 0 5px;font-size:96px}.fl-reveal-copy{font-size:clamp(40px,11.5vw,70px)}}
@media(max-height:780px){.fl-scene{width:clamp(230px,38vh,330px);height:clamp(230px,38vh,330px)}.fl-main{padding-top:6px;padding-bottom:20px}.fl-number{font-size:clamp(55px,7.3vw,96px)}}
@media(max-height:780px) and (max-width:700px){.fl-scene{width:clamp(215px,36vh,275px);height:clamp(215px,36vh,275px)}.fl-number{font-size:clamp(40px,12.8vw,70px)}}
@media(max-width:359px){.fl-countdown{gap:5px}.fl-unit{width:calc((100% - 66px)/4)}.fl-unit-label{font-size:16px}.fl-scene{width:235px;height:235px}.fl-header .brand span{font-size:26px}.fl-header .brand img{width:41px;height:40px}.fl-nav-socials{gap:6px}}
@media(prefers-reduced-motion:reduce){.first-light *,.first-light *:before,.first-light *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}.fl-number .fl-digit-out{display:none}.fl-number .fl-digit-in{transform:none}.fl-reveal-copy{transform:none}.fl-leaving{transition:opacity .2s!important}}
@media(prefers-reduced-motion:reduce){.fl-crt-noise{opacity:.075}}

/* Full-screen analog signal: texture and tracking pass over every foreground layer. */
.fl-crt{z-index:20}
.fl-crt-lines{opacity:.64}
.fl-crt-noise{opacity:.12}
.fl-crt-moire{opacity:.65}
.fl-crt::before,.fl-crt::after{content:"";position:absolute;left:-12px;right:-12px;pointer-events:none}
.fl-crt::before{top:-18%;height:14%;background:linear-gradient(180deg,transparent,rgba(120,210,255,.08) 45%,rgba(0,12,36,.14) 49%,transparent 55%);backdrop-filter:blur(.45px) hue-rotate(12deg);-webkit-backdrop-filter:blur(.45px) hue-rotate(12deg);animation:fl-tracking-roll 11s linear infinite}
.fl-crt::after{top:44%;height:7%;opacity:0;background:repeating-linear-gradient(0deg,rgba(230,250,255,.16) 0 1px,rgba(0,12,35,.16) 1px 3px,transparent 3px 5px);backdrop-filter:blur(1.5px) hue-rotate(28deg);-webkit-backdrop-filter:blur(1.5px) hue-rotate(28deg);animation:fl-signal-tear 9.7s steps(1,end) infinite}
.fl-header,.fl-main{animation:fl-signal-jitter 9.7s steps(1,end) infinite}
@keyframes fl-tracking-roll{from{transform:translateY(0)}to{transform:translateY(850%)}}
@keyframes fl-signal-tear{0%,72%,75%,100%{opacity:0;transform:translateY(0)}72.2%{opacity:.8;transform:translateY(-110%)}73%{opacity:.5;transform:translateY(160%)}74%{opacity:.65;transform:translateY(30%)}}
@keyframes fl-signal-jitter{0%,72%,75%,100%{transform:translateX(0);filter:none}72.2%{transform:translateX(-3px) skewX(.25deg);filter:drop-shadow(2px 0 0 rgba(255,45,95,.45)) drop-shadow(-2px 0 0 rgba(40,230,255,.45))}73%{transform:translateX(2px);filter:none}74%{transform:translateX(-1px);filter:drop-shadow(1px 0 0 rgba(40,230,255,.4))}}
@media(prefers-reduced-motion:reduce){.fl-crt::before,.fl-crt::after{display:none}.fl-header,.fl-main{transform:none;filter:none}}
