/* WeatherPower Radar Next startup screen — displayed only while the first map and radar frame load. */
#rn-boot{
  position:fixed;inset:0;z-index:10000;display:flex;align-items:center;justify-content:center;
  padding:24px;min-height:100dvh;box-sizing:border-box;
  background:radial-gradient(ellipse at 50% 37%,#112632 0%,#0b1621 41%,#070b12 79%);
  color:#e8f0fa;font-family:"Plus Jakarta Sans",Inter,system-ui,sans-serif;
  text-align:center;transition:opacity .38s ease,visibility .38s ease;
}
#rn-boot.rn-boot-leaving{opacity:0;visibility:hidden;pointer-events:none}
#rn-boot *{box-sizing:border-box}
.rn-boot-content{width:min(100%,380px);display:flex;flex-direction:column;align-items:center}
.rn-boot-brand{display:flex;align-items:center;gap:11px;font-size:18px;font-weight:800;letter-spacing:-.025em}
.rn-boot-brand img{width:38px;height:38px;object-fit:contain}
.rn-boot-brand strong{color:#15c2d0;font-weight:800}
.rn-boot-kicker{margin-top:8px;color:#8da3b7;font-size:10px;font-weight:800;letter-spacing:.2em;text-transform:uppercase}
.rn-boot-scope{
  position:relative;isolation:isolate;width:156px;height:156px;margin:35px auto 30px;
  border-radius:50%;overflow:hidden;background:
  repeating-radial-gradient(circle at center,transparent 0,transparent 28px,rgba(44,193,205,.17) 29px,transparent 30px),
  radial-gradient(circle at center,rgba(21,194,208,.09),transparent 72%);
  border:1px solid rgba(76,212,222,.29);box-shadow:0 0 0 12px rgba(21,194,208,.025),0 20px 55px rgba(0,0,0,.19);
}
.rn-boot-scope::before{content:"";position:absolute;inset:0;background:
  linear-gradient(90deg,transparent calc(50% - .5px),rgba(49,194,204,.16) 50%,transparent calc(50% + .5px)),
  linear-gradient(0deg,transparent calc(50% - .5px),rgba(49,194,204,.16) 50%,transparent calc(50% + .5px))}
.rn-boot-scope::after{
  content:"";position:absolute;inset:0;border-radius:50%;
  background:conic-gradient(from 0deg,transparent 0deg,transparent 276deg,rgba(21,194,208,.02) 290deg,rgba(21,194,208,.26) 350deg,rgba(85,232,236,.63) 360deg);
  animation:rn-boot-sweep 2.6s linear infinite
}
.rn-boot-core{position:absolute;left:50%;top:50%;width:10px;height:10px;transform:translate(-50%,-50%);border-radius:50%;background:#6ce7e9;z-index:1;box-shadow:0 0 0 5px rgba(21,194,208,.17),0 0 20px #13b5c8}
.rn-boot-echo{position:absolute;z-index:1;width:8px;height:8px;border-radius:50%;background:#20bc86;box-shadow:0 0 10px #20bc86;opacity:.75}
.rn-boot-echo.one{top:29%;left:61%}.rn-boot-echo.two{top:64%;left:26%;width:5px;height:5px;background:#f1c94b;box-shadow:0 0 8px #f1c94b}
@keyframes rn-boot-sweep{to{transform:rotate(360deg)}}
.rn-boot-title{font-size:22px;font-weight:800;letter-spacing:-.035em;line-height:1.25}
.rn-boot-detail{font-size:13px;line-height:1.5;color:#96abc1;margin:10px 0 19px;min-height:20px}
.rn-boot-bar{width:100%;height:5px;border-radius:99px;background:rgba(121,155,188,.17);overflow:hidden}
.rn-boot-fill{height:100%;width:0;background:linear-gradient(90deg,#108b9f,#20d2d8);border-radius:99px;transition:width .18s ease}
.rn-boot-bar.is-indeterminate .rn-boot-fill{width:37%;animation:rn-boot-pulse 1.5s ease-in-out infinite}
@keyframes rn-boot-pulse{0%{transform:translateX(-105%)}100%{transform:translateX(285%)}}
.rn-boot-progress-label{margin-top:9px;font-size:11px;color:#71879e;font-variant-numeric:tabular-nums;min-height:16px}
.rn-boot-actions{display:flex;justify-content:center;gap:9px;flex-wrap:wrap;margin-top:21px}
.rn-boot-actions button{min-height:39px;border-radius:9px;border:1px solid rgba(116,161,186,.27);padding:8px 14px;background:#182735;color:#dcebf4;font-size:12px;font-weight:700;cursor:pointer}
.rn-boot-actions button:hover{border-color:#23c3cf;background:#203340}
.rn-boot-actions .rn-boot-primary{background:#11afc2;border-color:#11afc2;color:#06171d}
.rn-boot-foot{margin-top:35px;color:#61788c;font-size:11px}
@media(max-width:480px){#rn-boot{padding:18px}.rn-boot-scope{width:136px;height:136px;margin-top:27px;margin-bottom:24px}.rn-boot-title{font-size:20px}}
@media(prefers-reduced-motion:reduce){.rn-boot-scope::after,.rn-boot-bar.is-indeterminate .rn-boot-fill{animation:none}#rn-boot{transition:none}}
