/* Screen saver - night drive scene. Pure CSS/SVG. */
.saver{position:fixed;inset:0;z-index:9000;overflow:hidden;color:#fff;font-family:inherit;animation:svfade .7s both;
  --sky1:#05060f;--sky2:#14123a;--sky3:#3a1450;--glow:#ff3b30;--far:#161a3c;--near:#0b0d22;--win:#ffd36b;--orb:#ffe9c4;--orbglow:rgba(255,200,140,.35)}
.saver.sc-sunset{--sky1:#2a0a3d;--sky2:#c2185b;--sky3:#ff9a3c;--glow:#ff7a18;--far:#5a1a52;--near:#2a0b33;--win:#ffe08a;--orb:#fff1c9;--orbglow:rgba(255,170,60,.55)}
.saver.sc-showroom{--sky1:#07080b;--sky2:#171a22;--sky3:#2a2f3d;--glow:#9fb4ff;--far:#1b1f2b;--near:#0d0f15;--win:#9fb4ff;--orb:#eef2ff;--orbglow:rgba(160,180,255,.28)}
.saver:focus{outline:none}
@keyframes svfade{from{opacity:0}to{opacity:1}}
.sv-sky{position:absolute;inset:0;background:linear-gradient(180deg,var(--sky1) 0%,var(--sky2) 55%,var(--sky3) 100%)}
.sv-orb{position:absolute;right:12%;top:13%;width:clamp(70px,9vw,130px);aspect-ratio:1;border-radius:50%;background:radial-gradient(circle at 35% 35%,#fff,var(--orb) 55%,transparent 72%);
  box-shadow:0 0 90px 30px var(--orbglow);opacity:.95;animation:svfloat 9s ease-in-out infinite}
.sc-showroom .sv-orb{right:50%;top:-6%;transform:translateX(50%);width:70vw;aspect-ratio:auto;height:60vh;border-radius:0;background:conic-gradient(from 160deg at 50% 0,transparent 0 20deg,rgba(190,205,255,.20) 20deg 40deg,transparent 40deg);box-shadow:none;animation:none;filter:blur(8px)}
@keyframes svfloat{50%{transform:translateY(-12px)}}
.stars{position:absolute;inset:0 0 40% 0;opacity:.9;
  background-image:radial-gradient(1.4px 1.4px at 8% 20%,#fff,transparent),radial-gradient(1px 1px at 22% 8%,#fff,transparent),radial-gradient(1.6px 1.6px at 36% 32%,#cfd8ff,transparent),
  radial-gradient(1px 1px at 48% 14%,#fff,transparent),radial-gradient(1.4px 1.4px at 61% 26%,#fff,transparent),radial-gradient(1px 1px at 74% 9%,#ffe,transparent),
  radial-gradient(1.5px 1.5px at 86% 30%,#fff,transparent),radial-gradient(1px 1px at 93% 16%,#fff,transparent),radial-gradient(1px 1px at 15% 38%,#fff,transparent),radial-gradient(1.2px 1.2px at 55% 40%,#fff,transparent);
  animation:svtwinkle 5s ease-in-out infinite alternate}
.sc-sunset .stars{opacity:.25}.sc-showroom .stars{opacity:.15}
@keyframes svtwinkle{from{opacity:.45}to{opacity:1}}
.sky-strip{position:absolute;left:0;bottom:17vh;width:200%;height:30vh}
.sky-strip.far{height:34vh;opacity:.9;animation:svscroll 90s linear infinite}
.sky-strip.near{height:26vh;animation:svscroll 45s linear infinite}
.sky-strip .bld{fill:var(--far)}
.sky-strip.near .bld{fill:var(--near)}
.sky-strip .win{fill:var(--win);opacity:.8}
.sc-showroom .sky-strip{display:none}
@keyframes svscroll{to{transform:translateX(-50%)}}
.road{position:absolute;left:0;right:0;bottom:0;height:19vh;background:linear-gradient(180deg,#1a1c25 0%,#0a0b10 100%);border-top:2px solid rgba(255,255,255,.08);box-shadow:0 -14px 40px rgba(0,0,0,.45)}
.sc-showroom .road{background:linear-gradient(180deg,#2a2e3a 0%,#0a0b10 100%);border-top-color:rgba(160,180,255,.25)}
.road-line{position:absolute;left:0;right:0;top:46%;height:5px;background:repeating-linear-gradient(90deg,rgba(255,255,255,.85) 0 70px,transparent 70px 170px);animation:svroad .7s linear infinite;opacity:.85}
.sc-showroom .road-line{opacity:.08}
@keyframes svroad{to{background-position-x:-170px}}
.car-lane{position:absolute;left:0;right:0;bottom:calc(19vh - 34px);height:clamp(110px,22vh,190px);pointer-events:none}
.car-wrap{position:absolute;left:0;bottom:0;height:100%;aspect-ratio:420/140;transform:translateX(-120%);animation:svdrive 11s linear both;filter:drop-shadow(0 12px 18px rgba(0,0,0,.55))}
@keyframes svdrive{from{transform:translateX(-45vw)}to{transform:translateX(calc(100vw + 20vh))}}
.car-svg{width:100%;height:100%;display:block;animation:svbob .5s ease-in-out infinite alternate}
@keyframes svbob{to{transform:translateY(-1.5px)}}
.car-svg .spin{animation:svspin .5s linear infinite}
@keyframes svspin{to{transform:rotate(360deg)}}
.car-svg .tail{animation:svpulse 1.4s ease-in-out infinite alternate}
@keyframes svpulse{to{opacity:.5}}
.sv-vignette{position:absolute;inset:0;background:radial-gradient(120% 90% at 50% 40%,transparent 55%,rgba(0,0,0,.55) 100%);pointer-events:none}
.sv-veil{position:absolute;inset:0;background:#05060c;opacity:0;pointer-events:none;transition:opacity .7s ease;z-index:5}
.saver.veil .sv-veil{opacity:1}
.sv-mid,.sv-top{z-index:6}
.sv-top{position:absolute;top:0;left:0;right:0;display:flex;flex-direction:column;align-items:center;padding-top:3.2vh;text-shadow:0 2px 18px rgba(0,0,0,.6)}
.sv-logo{background:#fff;border-radius:20px;padding:10px 20px 6px;box-shadow:0 18px 50px rgba(0,0,0,.5);animation:svrise .9s .1s both}
.sv-logo img{display:block;height:clamp(54px,9vh,96px)}
.sv-clock{margin-top:2.2vh;font-size:clamp(44px,8.5vw,104px);font-weight:200;letter-spacing:-.03em;line-height:1;animation:svrise .9s .25s both}
.sv-date{margin-top:6px;font-size:clamp(13px,1.6vw,19px);letter-spacing:.22em;text-transform:uppercase;opacity:.85;animation:svrise .9s .35s both}
.sv-mid{position:absolute;left:0;right:0;top:46%;display:flex;flex-direction:column;align-items:center;text-align:center;padding:0 20px;animation:svrise 1s .5s both}
.sv-title{font-size:clamp(22px,3.6vw,46px);font-weight:800;letter-spacing:-.02em;text-shadow:0 4px 30px rgba(0,0,0,.6);background:linear-gradient(90deg,#fff,#ffd1cd 50%,#fff);-webkit-background-clip:text;background-clip:text;color:transparent;filter:drop-shadow(0 4px 20px rgba(0,0,0,.5))}
.sv-sub{margin-top:6px;font-size:clamp(11px,1.3vw,15px);letter-spacing:.34em;text-transform:uppercase;color:#ffb3ad}
.sv-go{margin-top:2.4vh;border:0;cursor:pointer;color:#fff;font:inherit;font-weight:700;font-size:clamp(15px,1.5vw,18px);padding:14px 34px;border-radius:999px;
  background:linear-gradient(135deg,#ff2a1f,#b80b04);box-shadow:0 12px 34px rgba(225,6,0,.55),inset 0 1px 0 rgba(255,255,255,.35);animation:svbtn 2.2s ease-in-out infinite;transition:transform .15s}
.sv-go:hover{transform:translateY(-2px) scale(1.03)}
.sv-go:focus-visible{outline:3px solid #fff;outline-offset:3px}
@keyframes svbtn{50%{box-shadow:0 12px 50px rgba(255,40,30,.85),inset 0 1px 0 rgba(255,255,255,.35)}}
.sv-hint{margin-top:10px;font-size:12px;letter-spacing:.12em;opacity:.55;text-transform:uppercase}
@keyframes svrise{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:none}}
@media (max-width:640px){.sv-mid{top:44%}.sky-strip.far{display:none}}
@media (prefers-reduced-motion:reduce){.saver *,.saver{animation-duration:0s!important;animation-iteration-count:1!important}.car-wrap{animation:none!important;transform:translateX(30vw)}}
