:root{--shell-header-h:calc(env(safe-area-inset-top,0px) + 7.1rem);--font:"Plus Jakarta Sans", system-ui, -apple-system, sans-serif;--radius-sm:.5rem;--radius-md:.875rem;--radius-lg:1.25rem;--radius-pill:9999px;--glass:#ffffff1a;--glass-strong:#ffffff24;--stroke:#ffffff1f;--stroke-bright:#ffffff38;--shadow-soft:0 8px 32px #00000038;--shadow-inset:inset 0 1px 0 #ffffff1f;--tap-min:2.75rem;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;font-family:var(--font);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent;font-weight:400;line-height:1.5}*,:before,:after{box-sizing:border-box}body{background:#070a0e;min-height:100dvh;margin:0}#root{min-height:100dvh}.app{width:100%;max-width:100%;min-height:100dvh;padding:0 env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left);background:#070a0e;flex-direction:column;margin:0 auto;display:flex}.shell-header{z-index:40;width:100%;padding-top:max(.35rem, env(safe-area-inset-top));padding-left:max(1rem, env(safe-area-inset-left));padding-right:max(1rem, env(safe-area-inset-right));-webkit-backdrop-filter:blur(20px)saturate(1.4);background:#070a0eb8;border-bottom:1px solid #ffffff0f;padding-bottom:.65rem;position:fixed;top:0;left:0;right:0}.shell-header-inner{max-width:26rem;margin:0 auto}.app-title{letter-spacing:-.05em;text-align:center;background:linear-gradient(120deg,#fff 0%,#ffffffb8 55%,#93c5fff2 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;background-clip:text;margin:0 0 .65rem;font-size:1.2rem;font-weight:700}.tab-pills{border-radius:var(--radius-pill);border:1px solid var(--stroke);box-shadow:var(--shadow-inset);background:#ffffff0f;gap:.35rem;padding:.3rem;display:flex}.tab-pills button{min-height:var(--tap-min);border-radius:var(--radius-pill);color:#ffffff80;letter-spacing:-.02em;cursor:pointer;touch-action:manipulation;background:0 0;border:none;flex:1;padding:.5rem 1rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:color .2s,background .2s,box-shadow .2s}.tab-pills button.active{color:#fff;box-shadow:0 2px 12px #0003, var(--shadow-inset);background:linear-gradient(145deg,#ffffff38,#ffffff14)}.shell-main{min-height:0;padding-top:var(--shell-header-h);flex-direction:column;flex:1;display:flex}.screen{padding:1.1rem max(1.1rem, env(safe-area-inset-left)) 1.75rem max(1.1rem, env(safe-area-inset-right));text-align:center;flex-direction:column;flex:1;transition:background .65s;display:flex}.mood-clear{color:#eaf4ff;background:radial-gradient(120% 80% at 50% -20%,#64b4ff59,#0000 55%),linear-gradient(168deg,#1e4a6b 0%,#122a3d 42%,#0a1018 100%)}.mood-cloud{color:#e8edf3;background:radial-gradient(100% 70% at 70% 0,#a0b4c833,#0000 50%),linear-gradient(168deg,#2c3848 0%,#1a222e 45%,#0a0e14 100%)}.mood-rain{color:#dde8f2;background:radial-gradient(90% 60% at 30% 0,#508cc840,#0000 55%),linear-gradient(168deg,#1a2c3d 0%,#121c28 48%,#080c12 100%)}.mood-snow{color:#f0f6ff;background:radial-gradient(100% 70% at 50% -10%,#c8dcff38,#0000 50%),linear-gradient(168deg,#2a3a4a 0%,#1a2532 45%,#0a0e14 100%)}.mood-night{color:#d8def2;background:radial-gradient(80% 50% at 50% 0,#5064b42e,#0000 55%),linear-gradient(168deg,#161c2e 0%,#0c101c 50%,#06080e 100%)}.history-screen{color:#e8edf2;background:radial-gradient(100% 60% at 50% -15%,#5a82be33,#0000 50%),linear-gradient(168deg,#222c3a 0%,#141a24 50%,#0a0d12 100%)}.top{width:100%;max-width:22rem;margin:0 auto}.search-field{border-radius:var(--radius-pill);border:1px solid var(--stroke-bright);width:100%;box-shadow:var(--shadow-inset);background:#00000047;align-items:center;gap:.6rem;padding:.55rem 1rem;transition:border-color .2s,box-shadow .2s;display:flex}.search-field:focus-within{box-shadow:0 0 0 3px #64a0ff26, var(--shadow-inset);border-color:#93c5ff73}.search-icon{opacity:.45;background:currentColor;flex-shrink:0;width:1.1rem;height:1.1rem;-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") 50%/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='2.5'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M20 20l-4-4'/%3E%3C/svg%3E") 50%/contain no-repeat}.search-input{min-width:0;color:inherit;letter-spacing:-.02em;background:0 0;border:none;outline:none;flex:1;font-family:inherit;font-size:1rem;font-weight:500}.search-input::placeholder{color:#ffffff59;font-weight:400}.search-status{margin-top:.45rem;font-size:.8125rem;display:block}.place-name{opacity:.78;letter-spacing:-.01em;max-width:20rem;margin:.85rem auto .35rem;font-size:.8125rem;font-weight:500;line-height:1.4}.actions{flex-wrap:wrap;justify-content:center;gap:.5rem;margin-top:.65rem;display:flex}.search .err{margin-top:.5rem}button.ghost{min-height:var(--tap-min);background:var(--glass);color:inherit;border:1px solid var(--stroke-bright);border-radius:var(--radius-pill);cursor:pointer;letter-spacing:-.02em;touch-action:manipulation;padding:.5rem 1.15rem;font-family:inherit;font-size:.875rem;font-weight:600;transition:background .2s,transform .15s}button.ghost:active{transform:scale(.98)}button.primary{min-height:var(--tap-min);color:#fff;border-radius:var(--radius-pill);cursor:pointer;letter-spacing:-.02em;touch-action:manipulation;background:linear-gradient(145deg,#4a9fd4,#2d6a9a);border:none;padding:.55rem 1.35rem;font-family:inherit;font-size:.9rem;font-weight:600;transition:filter .2s,transform .15s;box-shadow:0 4px 20px #2d6a9a59}button.primary:hover:not(:disabled){filter:brightness(1.06)}button.primary:active:not(:disabled){transform:scale(.98)}button.primary:disabled{opacity:.45;cursor:not-allowed}.hits{border-radius:var(--radius-md);border:1px solid var(--stroke);text-align:center;-webkit-overflow-scrolling:touch;background:#00000059;max-width:22rem;max-height:11rem;margin:.5rem auto 0;padding:.25rem;list-style:none;overflow:auto}.hits button{text-align:center;border-radius:var(--radius-sm);width:100%;min-height:2.6rem;color:inherit;cursor:pointer;touch-action:manipulation;background:0 0;border:none;padding:.55rem .75rem;font-family:inherit;font-size:.8125rem;font-weight:500;line-height:1.35;transition:background .15s}.hits button:hover,.hits button:focus-visible{background:#ffffff14}.hero{width:100%;max-width:22rem;margin:.5rem auto 0;animation:.55s both heroIn}@keyframes heroIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.hero{animation:none}}.headline-kicker{letter-spacing:-.03em;opacity:.88;max-width:22ch;margin:0 auto .15rem;font-size:.9375rem;font-weight:600;line-height:1.35}.temp-hero{letter-spacing:-.06em;text-shadow:0 12px 48px #00000040;justify-content:center;align-items:flex-start;gap:.05em;margin:.15rem 0 .35rem;font-weight:700;line-height:.85;display:flex}.temp-hero-num{font-size:clamp(4.5rem,22vw,5.75rem)}.temp-hero-unit{opacity:.75;margin-top:.35em;font-size:clamp(2rem,10vw,2.75rem);font-weight:600}.sub{opacity:.88;letter-spacing:-.02em;max-width:28ch;margin:0 auto 1.35rem;font-size:1rem;font-weight:500;line-height:1.5}.cards{grid-template-columns:1fr 1fr;gap:.65rem;width:100%;max-width:20.5rem;margin:0 auto;display:grid}.card{border:1px solid var(--stroke);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(8px);background:#00000038;flex-direction:column;align-items:center;gap:.4rem;padding:1rem .65rem;display:flex}.card .label{text-transform:uppercase;letter-spacing:.12em;opacity:.55;font-size:.65rem;font-weight:700}.symbol-pill{border-radius:var(--radius-pill);border:1px solid var(--stroke);word-break:break-word;text-transform:capitalize;background:#ffffff1a;max-width:100%;padding:.25rem .5rem;font-size:.65rem;font-weight:500;line-height:1.25}.symbol-pill.subtle{opacity:.85;text-transform:none;font-size:.7rem}.card-temp{letter-spacing:-.04em;font-size:1.65rem;font-weight:700}.glass-panel{border:1px solid var(--stroke);border-radius:var(--radius-lg);-webkit-backdrop-filter:blur(10px);box-shadow:var(--shadow-soft);background:#0003}.more{text-align:center;max-width:20.5rem;margin:1.35rem auto 0;padding:.75rem 1rem}.more summary{cursor:pointer;letter-spacing:-.02em;font-size:.9rem;font-weight:600;list-style:none}.more summary::-webkit-details-marker{display:none}.more summary:after{content:"↓";opacity:.6;margin-left:.35rem;font-size:.75rem;transition:transform .2s;display:inline-block}.more[open] summary:after{transform:rotate(-180deg)}.more ul{text-align:center;opacity:.9;max-width:19rem;margin:.65rem auto 0;padding-left:0;font-size:.875rem;line-height:1.65;list-style:none}.more li+li{margin-top:.35rem}.weather-skeleton{flex-direction:column;align-items:center;gap:.75rem;max-width:20.5rem;margin:1.25rem auto 0;display:flex}.sk{border-radius:var(--radius-md);background:linear-gradient(90deg,#ffffff0f 0%,#ffffff24 50%,#ffffff0f 100%) 0 0/200% 100%;animation:1.2s ease-in-out infinite skShine}@keyframes skShine{0%{background-position:100% 0}to{background-position:-100% 0}}@media (prefers-reduced-motion:reduce){.sk{background:#ffffff14;animation:none}}.sk-pill{border-radius:var(--radius-pill);width:8rem;height:.85rem}.sk-temp{border-radius:var(--radius-lg);width:7rem;height:4.5rem}.sk-line{border-radius:var(--radius-pill);height:.75rem}.sk-line.wide{width:85%;max-width:16rem}.sk-line.narrow{width:55%;max-width:11rem}.sk-card-row{grid-template-columns:1fr 1fr;gap:.65rem;width:100%;max-width:20.5rem;margin-top:.35rem;display:grid}.sk-card{border-radius:var(--radius-lg);height:5.5rem}.history-controls{flex-wrap:wrap;justify-content:center;align-items:flex-end;gap:.75rem;max-width:22rem;margin:.75rem auto 1rem;padding:1rem;display:flex}.date-field{text-align:center;flex-direction:column;align-items:center;gap:.4rem;display:flex}.date-label{text-transform:uppercase;letter-spacing:.1em;opacity:.55;font-size:.7rem;font-weight:700}.history-controls input[type=date]{min-height:var(--tap-min);border-radius:var(--radius-md);border:1px solid var(--stroke-bright);color:inherit;background:#00000040;padding:.5rem .75rem;font-family:inherit;font-size:.9rem;font-weight:500}.disclaimer{text-align:center;opacity:.9;max-width:22rem;margin:0 auto 1rem;padding:.9rem 1rem;font-size:.8rem;font-weight:500;line-height:1.5}.station-box{text-align:center;max-width:22rem;margin:0 auto 1rem;padding:1rem 1.1rem}.station-box h2{text-transform:uppercase;letter-spacing:.14em;opacity:.55;margin:0 0 .5rem;font-size:.7rem;font-weight:700}.station-box p{margin:0;font-size:.9rem;font-weight:500;line-height:1.45}.table-wrap{-webkit-overflow-scrolling:touch;border-radius:var(--radius-lg);border:1px solid var(--stroke);background:#00000026;width:100%;max-width:100%;margin:.25rem auto 0;padding:.25rem;overflow-x:auto}.obs-table{border-collapse:collapse;width:100%;max-width:22rem;margin:0 auto;font-size:.72rem}.obs-table th,.obs-table td{text-align:center;vertical-align:top;border-bottom:1px solid #ffffff14;padding:.55rem .35rem}.obs-table td{word-break:break-word;-webkit-hyphens:auto;hyphens:auto}.obs-table th{text-transform:uppercase;letter-spacing:.08em;opacity:.5;font-size:.65rem;font-weight:700}.obs-table tbody tr:last-child td{border-bottom:none}.muted{opacity:.62}.empty-hint{max-width:22rem;margin:1rem auto 0;font-size:.9rem;font-weight:500;line-height:1.45}.err{color:#ffb8c3;max-width:22rem;margin-left:auto;margin-right:auto;font-size:.875rem;font-weight:500}.err-banner{border-radius:var(--radius-md);background:#b43c5040;border:1px solid #ff788c40;margin:.75rem auto 0;padding:.65rem 1rem}.center{text-align:center}.attr{padding:1rem max(1rem, env(safe-area-inset-left)) 1.25rem max(1rem, env(safe-area-inset-right));color:#ffffff61;text-align:center;background:#070a0ee6;border-top:1px solid #ffffff0d;font-size:.65rem;font-weight:500;line-height:1.55}.attr p{max-width:24rem;margin:0 auto}.attr a{color:#8cc8ffd9;text-underline-offset:2px;text-decoration:none}.attr a:hover{text-decoration:underline}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.small{font-size:.8rem}
