:root{color-scheme:dark;--bg: #0a1622;--fg: #f1f8fc;--fg-dim: rgba(241, 248, 252, .65);--fg-faint: rgba(241, 248, 252, .4);--accent: #5fd0ff;--accent-warm: #ffd27a;--success: #6be39a;--warn: #ffb347;--danger: #ff6b7e;--glass: rgba(10, 22, 34, .35);--glass-border: rgba(255, 255, 255, .12);--glass-blur: 10px;--ease: cubic-bezier(.22, 1, .36, 1);--ease-soft: cubic-bezier(.4, 0, .2, 1);--pad: clamp(.85rem, 3vw, 2rem);--pad-top: max(var(--pad), env(safe-area-inset-top));--pad-right: max(var(--pad), env(safe-area-inset-right));--pad-bottom: max(var(--pad), env(safe-area-inset-bottom));--pad-left: max(var(--pad), env(safe-area-inset-left))}*{box-sizing:border-box}html,body{margin:0;padding:0;height:100%;background:#050d16;color:var(--fg);font-family:Inter,system-ui,-apple-system,sans-serif;font-feature-settings:"cv11","ss01";-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;overflow:hidden;overscroll-behavior:none}#scene{position:fixed;inset:0;width:100%;height:100%;display:block;z-index:0}.loader{position:fixed;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4.5rem;background:radial-gradient(ellipse at center,#0f2436,#050d16 70%);z-index:100;padding:var(--pad-top) var(--pad-right) var(--pad-bottom) var(--pad-left);transition:opacity .8s var(--ease),visibility .8s}.loader.is-hidden{opacity:0;visibility:hidden;pointer-events:none}.loader__pulse{width:clamp(48px,12vw,64px);height:clamp(48px,12vw,64px);border-radius:50%;background:radial-gradient(circle,var(--accent) 0%,transparent 70%);animation:pulse 1.8s ease-in-out infinite}.loader__label{font-family:Geist Mono,ui-monospace,monospace;font-size:.7rem;letter-spacing:.25em;text-transform:uppercase;color:var(--fg-dim);text-align:center}@keyframes pulse{0%,to{transform:scale(.8);opacity:.5}50%{transform:scale(1.15);opacity:1}}.hud{position:fixed;inset:0;z-index:10;display:flex;flex-direction:column;justify-content:space-between;padding:var(--pad-top) var(--pad-right) var(--pad-bottom) var(--pad-left);pointer-events:none}.hud__header{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem 1rem;pointer-events:auto;animation:fade-down .9s var(--ease) .3s both}.brand{display:inline-flex;align-items:center;flex-shrink:0;gap:.7rem;padding:.48rem 1.05rem .48rem .85rem;border-radius:999px;background:#06101a75;backdrop-filter:blur(12px) saturate(135%);-webkit-backdrop-filter:blur(12px) saturate(135%);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px #ffffff24,0 6px 20px #00000038}.brand__dot{width:8px;height:8px;flex-shrink:0;border-radius:50%;background:var(--accent);box-shadow:0 0 10px var(--accent),0 0 20px #5fd0ff73;animation:blink 2.4s ease-in-out infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.4}}.brand__text{display:flex;align-items:baseline;gap:.5rem}.brand__name{font-size:.88rem;font-weight:600;letter-spacing:-.01em}.brand__sub{font-family:Geist Mono,ui-monospace,monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--fg-faint)}.location{text-align:right;display:inline-flex;align-items:baseline;flex-shrink:0;gap:.65rem;padding:.48rem 1.05rem;border-radius:999px;background:#06101a75;backdrop-filter:blur(12px) saturate(135%);-webkit-backdrop-filter:blur(12px) saturate(135%);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px #ffffff24,0 6px 20px #00000038}.location__label{font-size:.88rem;font-weight:600;letter-spacing:-.01em}.location__sub{font-family:Geist Mono,ui-monospace,monospace;font-size:.62rem;text-transform:uppercase;letter-spacing:.12em;color:var(--fg-dim)}.fps-counter{display:none;font-family:Geist Mono,ui-monospace,monospace;font-size:.64rem;color:#6be39a;letter-spacing:.06em}body:has(.scene-debug) .fps-counter{display:inline-block}.weather{align-self:center;width:min(1240px,100%);padding-top:clamp(.15rem,.8vh,.75rem);display:flex;flex-direction:column;align-items:center;pointer-events:none;animation:fade-up 1s var(--ease) .45s both}.carousel{position:relative;width:100%;display:flex;flex-direction:column;align-items:center;gap:.55rem;pointer-events:none;transition:opacity 1.4s ease}body.hud-quiet .carousel{opacity:.24;transition:opacity 2.6s ease}body.hud-quiet .carousel:hover{opacity:1}.carousel__stage{position:relative;width:100%;min-height:clamp(138px,20vh,198px);pointer-events:none}.slide{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:.24rem;text-align:center;opacity:0;transform:translate3d(-42px,0,0) scale(.985);transition:opacity 1.1s var(--ease),transform 1.1s var(--ease);pointer-events:none}.slide.is-active{opacity:1;transform:translateZ(0) scale(1)}.slide.is-leaving{opacity:0;transform:translate3d(42px,0,0) scale(.985)}.slide__label{font-family:Geist Mono,ui-monospace,monospace;font-size:.74rem;letter-spacing:.26em;text-transform:uppercase;color:#ffffffdb;text-shadow:0 1px 6px rgba(0,0,0,.42),0 0 22px rgba(0,0,0,.28)}.slide__value{font-size:clamp(3.9rem,7.6vw,7.2rem);font-weight:600;letter-spacing:-.045em;line-height:1.06;padding-inline:.12em;max-width:100%;color:#fff;display:flex;align-items:baseline;justify-content:center;gap:.3rem;font-variant-numeric:tabular-nums;filter:drop-shadow(0 2px 6px rgba(0,0,0,.45)) drop-shadow(0 10px 28px rgba(0,0,0,.32))}.slide__value>span{padding-inline:.04em}.slide__unit{font-size:.32em;font-weight:500;color:#fffc;letter-spacing:0}.slide__hint{font-size:.92rem;font-weight:500;color:#ffffffe0;text-shadow:0 1px 6px rgba(0,0,0,.48),0 0 20px rgba(0,0,0,.32)}.slide__sub{font-family:Geist Mono,ui-monospace,monospace;font-size:.66rem;letter-spacing:.16em;text-transform:uppercase;color:#ffffffad;margin-top:.08rem;text-shadow:0 1px 6px rgba(0,0,0,.52)}.carousel__nav{display:inline-flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:.38rem;max-width:min(1240px,100%);padding:.42rem .58rem;border-radius:26px;background:#06101a7a;backdrop-filter:blur(14px) saturate(140%);-webkit-backdrop-filter:blur(14px) saturate(140%);border:1px solid rgba(255,255,255,.12);box-shadow:inset 0 1px #ffffff29,0 10px 30px #00000047;scrollbar-width:none;pointer-events:auto}.carousel__nav::-webkit-scrollbar{display:none}.carousel__pill{position:relative;display:inline-flex;align-items:baseline;flex-shrink:0;gap:.42rem;padding:.44rem .92rem .52rem;border-radius:999px;border:1px solid transparent;background:transparent;color:#f1f8fcb8;font-family:inherit;line-height:1.15;cursor:pointer;white-space:nowrap;transition:color .25s var(--ease),background .25s var(--ease),border-color .25s var(--ease),transform .2s var(--ease)}.carousel__pill:hover{color:#fff;background:#ffffff14}.carousel__pill.is-active{color:#fff;background:#ffffff21;border-color:color-mix(in srgb,var(--pill-accent, #5fd0ff) 55%,rgba(255,255,255,.2));box-shadow:0 2px 12px #00000038}.carousel__pillName{font-family:Geist Mono,ui-monospace,monospace;font-size:.61rem;letter-spacing:.09em;text-transform:uppercase;opacity:.86}.carousel__pillVal{font-size:.76rem;font-weight:600;font-variant-numeric:tabular-nums;color:var(--pill-accent, #5fd0ff)}.carousel__pillBar{position:absolute;left:.68rem;right:.68rem;bottom:3px;height:2px;border-radius:999px;background:var(--pill-accent, #5fd0ff);transform:scaleX(0);transform-origin:left center;opacity:0}.carousel__pill.is-active .carousel__pillBar{opacity:.95;animation:pill-progress var(--carousel-interval, 4.2s) linear forwards}.carousel.is-paused .carousel__pill.is-active .carousel__pillBar{animation-play-state:paused}@keyframes pill-progress{0%{transform:scaleX(0)}to{transform:scaleX(1)}}.bento-dock{margin-top:auto;width:min(1460px,100%);margin-inline:auto;display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:.68rem;margin-bottom:.55rem;pointer-events:auto;animation:fade-up 1s var(--ease) .65s both;transition:opacity 1.4s ease,transform 1.4s var(--ease)}body.hud-quiet .bento-dock{opacity:.38}body.hud-quiet .bento-dock:hover{opacity:1}.hud__side{display:contents}.side-card{position:relative;display:flex;flex-direction:column;justify-content:space-between;background:linear-gradient(165deg,#0a1a2894,#050f19bd);backdrop-filter:blur(14px) saturate(135%);-webkit-backdrop-filter:blur(14px) saturate(135%);border:1px solid rgba(255,255,255,.11);border-radius:16px;padding:.8rem .96rem .86rem;color:var(--fg);box-shadow:inset 0 1px #ffffff2e,0 10px 28px #00000052;font-size:.76rem;min-width:0;transform:translateZ(0);transition:transform .3s var(--ease),border-color .3s var(--ease),box-shadow .3s var(--ease),background .3s var(--ease)}.side-card:hover{transform:translateY(-3px);border-color:#5fe5d48c;background:linear-gradient(165deg,#0c2030b8,#06121ed6);box-shadow:inset 0 1px #ffffff42,0 16px 36px #00000070,0 0 22px #5fe5d42e}.side-card__title{font-family:Geist Mono,ui-monospace,monospace;font-size:.62rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:#f1f8fca6;margin-bottom:.42rem;display:flex;align-items:center;justify-content:space-between}.side-card__body{display:flex;flex-direction:column;gap:.34rem;flex:1;justify-content:space-between}.side-card__row{display:flex;justify-content:space-between;align-items:baseline;gap:.45rem}.side-card__rowLabel{color:var(--fg-dim);font-size:.72rem;line-height:1.24}.side-card__rowValue{color:var(--fg);font-weight:600;font-size:.74rem;font-variant-numeric:tabular-nums;white-space:nowrap;flex-shrink:0}.side-card__big{display:flex;flex-direction:column;gap:.16rem}.side-card__big--inline{flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:.35rem .5rem}.side-card__big strong{font-size:1.25rem;font-weight:600;letter-spacing:-.02em;line-height:1.1;font-variant-numeric:tabular-nums}.side-card__big span{font-size:.71rem;color:var(--fg-dim);line-height:1.25}.side-card__brag{font-size:.68rem;color:var(--success);font-weight:500}.side-card__note{font-size:.62rem;color:var(--fg-faint)}.side-card__countdown{font-family:Geist Mono,ui-monospace,monospace;font-size:.66rem;letter-spacing:.03em;color:var(--accent-warm);margin-top:.1rem}.solar-arc-svg{width:100%;height:32px;display:block;margin-bottom:.1rem}.bento-meter{width:100%;height:4px;border-radius:999px;background:#ffffff1a;overflow:hidden;margin:.15rem 0}.bento-meter__fill{display:block;height:100%;border-radius:999px;transition:width .6s var(--ease)}.side-card__moon{display:flex;align-items:center;gap:.65rem}.moon-svg{flex-shrink:0;filter:drop-shadow(0 0 8px rgba(246,240,216,.22))}.side-card__moonMeta{display:flex;flex-direction:column;gap:.1rem;min-width:0}.side-card__moonMeta strong{font-size:.84rem;font-weight:600;line-height:1.2}.side-card__moonMeta span{font-size:.68rem;color:var(--fg-dim)}.forecast-rows{display:flex;flex-direction:column;gap:.36rem}.forecast-row{display:grid;grid-template-columns:2.5rem minmax(0,1fr) auto 2.2rem auto;align-items:center;gap:.36rem;font-size:.72rem}.forecast-row__day{font-family:Geist Mono,ui-monospace,monospace;font-size:.62rem;letter-spacing:.06em;text-transform:uppercase;color:var(--fg);font-weight:600}.forecast-row__desc{font-size:.65rem;color:var(--fg-dim);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.forecast-row__min{font-size:.68rem;color:var(--fg-faint);font-variant-numeric:tabular-nums}.forecast-row__track{position:relative;height:4px;border-radius:999px;background:#ffffff1f;overflow:hidden}.forecast-row__fill{position:absolute;top:0;bottom:0;border-radius:999px;background:linear-gradient(90deg,#5fd0ff,#6be39a,#ffd27a,#ff8a3d)}.forecast-row__max{font-size:.72rem;font-weight:600;color:var(--fg);font-variant-numeric:tabular-nums}.hud__alerts{display:flex;flex-wrap:wrap;gap:.55rem;justify-content:center;margin-bottom:.55rem;pointer-events:auto}.chip{display:inline-flex;align-items:center;flex-shrink:0;gap:.5rem;padding:.46rem 1.02rem;border-radius:999px;background:#06101a94;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.12);font-size:.72rem;line-height:1.25;color:var(--fg);box-shadow:inset 0 1px #ffffff24,0 4px 16px #00000042}.chip__icon{font-size:.88rem;line-height:1;flex-shrink:0}.chip__label{font-family:Geist Mono,ui-monospace,monospace;text-transform:uppercase;letter-spacing:.11em;font-size:.61rem;color:var(--fg-dim)}.chip__value{font-weight:500}.chip--warn{border-color:#ffb3476b}.chip--accent{border-color:#ffd27a6b}.chip--sargazo .chip__dot{width:9px;height:9px;min-width:9px;border-radius:50%;flex-shrink:0;box-shadow:0 0 8px currentColor}.hurricane-banner{display:flex;align-items:center;gap:.75rem;padding:.6rem 1rem;margin-bottom:.5rem;background:linear-gradient(90deg,#ff6b7eeb,#ff6b7ec7);color:#fff;border-radius:12px;box-shadow:0 8px 24px #ff6b7e59;pointer-events:auto;animation:fade-down .8s var(--ease)}.hurricane-banner[hidden]{display:none}.hurricane-banner__icon{font-size:1.35rem}.hurricane-banner__text{display:flex;flex-direction:column;flex:1}.hurricane-banner__text strong{font-size:.92rem;font-weight:600}.hurricane-banner__text span{font-size:.68rem;opacity:.88}.hurricane-banner__link{background:#ffffff2e;color:#fff;text-decoration:none;font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.08em;padding:.38rem .8rem;border-radius:999px;transition:background .2s ease}.hurricane-banner__link:hover{background:#ffffff47}.hud__footer{display:flex;justify-content:space-between;align-items:center;gap:1rem;font-family:Geist Mono,ui-monospace,monospace;font-size:.66rem;text-transform:uppercase;letter-spacing:.14em;color:var(--fg-dim);pointer-events:auto;animation:fade-up .9s var(--ease) .75s both;text-shadow:0 1px 6px rgba(0,0,0,.5),0 0 18px rgba(0,0,0,.35)}.status{display:inline-flex;align-items:center;gap:.45rem}.status__dot{width:6px;height:6px;border-radius:50%;background:var(--warn);box-shadow:0 0 8px currentColor;transition:background .4s ease}.status__dot.is-live{background:var(--success);color:var(--success)}.status__dot.is-cached{background:var(--warn);color:var(--warn)}.status__dot.is-error{background:var(--danger);color:var(--danger)}.timestamp{display:inline-flex;align-items:baseline;gap:.45rem}.timestamp__value{color:var(--fg);font-weight:600}.toast{position:fixed;bottom:calc(var(--pad-bottom) + 4rem);left:50%;transform:translate(-50%) translateY(20px);background:var(--glass);backdrop-filter:blur(var(--glass-blur));-webkit-backdrop-filter:blur(var(--glass-blur));border:1px solid var(--glass-border);border-radius:999px;padding:.7rem .75rem .7rem 1.2rem;display:flex;align-items:center;gap:.75rem;font-size:.82rem;z-index:50;box-shadow:0 10px 40px #0006;opacity:0;transition:opacity .4s var(--ease),transform .4s var(--ease)}.toast.is-visible{opacity:1;transform:translate(-50%) translateY(0)}.toast[hidden]{display:none}.toast__btn{background:var(--accent);color:#062235;border:none;padding:.38rem .85rem;border-radius:999px;font-family:inherit;font-size:.74rem;font-weight:600;cursor:pointer;transition:transform .2s ease}.toast__btn:hover{transform:scale(1.05)}.toast__btn:active{transform:scale(.97)}.scene-debug{position:fixed;right:max(.75rem,env(safe-area-inset-right));top:calc(var(--pad-top) + 3.1rem);z-index:90;width:min(330px,calc(100vw - 1.5rem));max-height:75vh;overflow:auto;padding:.6rem .68rem;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:#040c14e0;backdrop-filter:blur(18px);box-shadow:0 18px 60px #0000006b;color:var(--fg);font-family:Geist Mono,ui-monospace,monospace;pointer-events:auto}.scene-debug__title{display:flex;align-items:center;justify-content:space-between;margin-bottom:.45rem;color:var(--accent);font-size:.64rem;font-weight:600;letter-spacing:.16em;text-transform:uppercase}.scene-debug__toggle{border:1px solid rgba(95,208,255,.32);border-radius:999px;background:#5fd0ff1a;color:var(--fg);font:inherit;font-size:.54rem;letter-spacing:.08em;padding:.18rem .5rem;cursor:pointer}.scene-debug__toggle:hover{background:#5fd0ff38}.scene-debug.is-collapsed .scene-debug__metrics{display:none}.scene-debug__grid{display:grid;grid-template-columns:repeat(4,1fr);gap:.3rem}.scene-debug__button{min-height:28px;border:1px solid rgba(255,255,255,.12);border-radius:6px;background:#ffffff0d;color:#f1f8fcd1;font:inherit;font-size:.62rem;cursor:pointer}.scene-debug__button:hover{border-color:#5fd0ff73;color:var(--fg)}.scene-debug__button.is-active{border-color:#5fd0ffbf;background:#5fd0ff2e;color:#dff6ff}.scene-debug__metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:.4rem .5rem;margin:.6rem 0 0}.scene-debug__metrics div{min-width:0}.scene-debug__metrics .scene-debug__metric-wide{grid-column:span 2}.scene-debug__metrics dt{color:#f1f8fc73;font-size:.54rem;letter-spacing:.08em;text-transform:uppercase}.scene-debug__metrics dd{margin:.1rem 0 0;color:#f1f8fceb;font-size:.68rem;white-space:normal;overflow-wrap:anywhere}@keyframes fade-down{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes fade-up{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}}@media (max-width: 1340px){.bento-dock{grid-template-columns:repeat(3,minmax(0,1fr));max-width:980px}}@media (max-width: 900px){html,body{overflow-y:auto;overflow-x:hidden}.hud{position:relative;inset:auto;min-height:100dvh;gap:.85rem}.weather{width:100%;max-width:680px;margin-inline:auto;min-height:46svh;justify-content:flex-start}.carousel__stage{min-height:155px}.slide__value{font-size:clamp(3.8rem,15vw,5.8rem)}.bento-dock{grid-template-columns:repeat(2,minmax(0,1fr));max-width:680px}.scene-debug{top:auto;bottom:max(.75rem,env(safe-area-inset-bottom));max-height:44svh}}@media (max-width: 520px){.brand__sub,.location__sub{display:none}.brand__name,.location__label{font-size:.82rem}.slide__label{font-size:.68rem;letter-spacing:.2em}.slide__hint{font-size:.84rem;padding:0 .75rem}.slide__sub{font-size:.6rem}.carousel__pill{padding:.38rem .78rem .44rem}.carousel__pillName{font-size:.56rem}.carousel__pillVal{font-size:.7rem}.bento-dock{gap:.55rem}.side-card{padding:.72rem .84rem .78rem}.hud__alerts{gap:.45rem}.chip{padding:.4rem .86rem;font-size:.68rem}.hud__footer{font-size:.58rem;letter-spacing:.1em}}
