:root{color-scheme:dark;--bg:#18142d;--glow:#50345e;--glow2:#26365b;--ink:#fff7ff;--muted:#d0c3dc;--panel:#211b36ce;--line:#eecbff28;--accent:#f3baff;--active:#f1d0ff;--active-ink:#351b48;--sun:#ffd79d;--cloud:#e9d3ff;--edge:linear-gradient(115deg,#f4a4b08c,#f4d6aa68,#b5dcb66b,#a6bafb74,#e6aaff99)}
[data-theme=sky]{color-scheme:light;--bg:#daeaff;--glow:#fff2dd;--glow2:#b4d6ff;--ink:#172c4a;--muted:#415779;--panel:#f8fbffda;--line:#5278a837;--accent:#315f9a;--active:#24548e;--active-ink:white;--sun:#ffba62;--cloud:#fff;--edge:linear-gradient(120deg,#fff,#88b3e1)}
[data-theme=night]{--bg:#15161e;--glow:#292444;--glow2:#1a2d46;--ink:#e4e8fc;--muted:#adb5d9;--panel:#1d2132e8;--line:#9caee82c;--accent:#a8bcff;--active:#b6c7ff;--active-ink:#1a2044;--sun:#ffcd90;--cloud:#adbbf2;--edge:linear-gradient(120deg,#a586ff7d,#7499d83b)}
[data-theme=solar]{color-scheme:light;--bg:#eee8d5;--glow:#fff6de;--glow2:#b9d4c3;--ink:#073642;--muted:#46626a;--panel:#fdf6e3d9;--line:#07364228;--accent:#00655e;--active:#00655e;--active-ink:#fff;--sun:#f4b94d;--cloud:#fff7df;--edge:linear-gradient(120deg,#9c804952,#528c7877)}
*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:1rem}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 10% 0,var(--glow),transparent 65%),radial-gradient(ellipse at 92% 18%,var(--glow2),transparent 58%),var(--bg);color:var(--ink);font:15px/1.45 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}button,select,input{font:inherit;color:inherit}button,select{border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:8px 12px}button,select,a{cursor:pointer}button:hover:not(:disabled),select:hover:not(:disabled){border-color:var(--accent)}:focus-visible{outline:2px solid var(--accent);outline-offset:3px}button:disabled,select:disabled{opacity:.52;cursor:default}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}[hidden]{display:none!important}p,h1,h2,h3{margin:0}.muted{color:var(--muted)}.eyebrow{font:650 10px/1.3 ui-monospace,SFMono-Regular,monospace;letter-spacing:.13em;color:var(--muted)}.shell{width:min(1220px,calc(100% - 64px));margin-inline:auto}.top{border-bottom:1px solid var(--line)}.mast{height:74px;display:flex;align-items:center;justify-content:space-between;gap:16px}.brand{display:flex;align-items:center;gap:11px;font-size:21px;line-height:1.1;font-weight:720;color:var(--ink);letter-spacing:-.035em}.brand img{width:43px;height:43px;border-radius:11px}.brand small{display:block;margin-top:4px;font:650 9px ui-monospace,monospace;letter-spacing:.18em;color:var(--muted)}.jump,.settings{display:flex;align-items:center;gap:12px}.jump{gap:26px}.jump a{color:var(--muted);font-weight:600}.theme{display:flex;align-items:center;gap:6px}.swatch{width:11px;height:11px;border-radius:50%;background:conic-gradient(#f9a9c9,#ffd59c,#afecba,#abcbff,#e8a6fb,#f9a9c9)}.settings button{min-width:49px}.citybar{display:flex;align-items:center;gap:12px;margin:24px 0 17px;min-width:0}.citylabel,#add{flex:none}.cities{display:flex;gap:7px;overflow:auto;min-width:0;padding:4px}.cities button{flex:none;white-space:nowrap;border-radius:999px}.cities button[aria-current=true]{background:var(--active);color:var(--active-ink);font-weight:650}#add{margin-left:auto;color:var(--accent)}.layout{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:17px;align-items:start}.local,.observation{display:grid;gap:15px;min-width:0}.card{border:1px solid transparent;border-radius:21px;background:linear-gradient(var(--panel),var(--panel)) padding-box,var(--edge) border-box;box-shadow:0 9px 27px #09051a15;overflow:hidden}.module{padding:18px}.module-title{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:14px}.module-title h2{font-size:18px;letter-spacing:-.025em}.hero{position:relative;isolation:isolate;min-height:310px;display:flex;align-items:center;padding:27px 32px}.hero:before{content:"";position:absolute;z-index:-1;inset:0;background:radial-gradient(ellipse at 82% 52%,color-mix(in srgb,var(--accent),transparent 80%),transparent 65%)}.hero-copy{z-index:1;max-width:70%}.hero h1{font-size:clamp(34px,4.4vw,63px);letter-spacing:-.065em;line-height:1.02;margin:8px 0 3px;overflow-wrap:anywhere}.temp{display:flex;align-items:baseline;letter-spacing:-.075em;font-size:clamp(63px,9vw,115px);font-weight:310;line-height:.98;margin:12px 0 8px;font-variant-numeric:tabular-nums}.temp sup{font-size:.33em;align-self:flex-start;margin:8px 9px 0 3px;letter-spacing:-.08em}.temp small{font-size:.35em;letter-spacing:-.065em;color:var(--muted);white-space:nowrap}.condition{font-size:19px;font-weight:640}.hero button{margin-top:9px}#art{position:absolute;width:52%;right:2%;top:50%;transform:translateY(-50%);pointer-events:none}#art svg{display:block;width:100%;overflow:visible}.orbit{transform-origin:150px 130px;animation:orbit 58s linear infinite}.cloud{animation:float 6s ease-in-out infinite}.cloud.back{animation-delay:-2s}.glint{animation:twinkle 3.4s ease-in-out infinite;transform-box:fill-box;transform-origin:center}.glint:nth-child(2n){animation-delay:-1.6s}.drops{animation:rain 1.8s linear infinite}@keyframes orbit{to{transform:rotate(360deg)}}@keyframes float{50%{transform:translate(4px,-8px)}}@keyframes twinkle{50%{opacity:.35;transform:scale(.7)}}@keyframes rain{from{transform:translateY(-4px);opacity:.4}to{transform:translateY(8px);opacity:1}}
.hourly{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(63px,1fr);gap:5px;overflow:auto;padding-bottom:5px}.hour{display:grid;justify-items:center;gap:5px;padding:7px 4px;background:var(--panel);border:1px solid var(--line);border-radius:11px;white-space:nowrap}.wx{width:26px;height:26px;color:var(--accent)}.hour small,.day small{color:var(--muted);font-variant-numeric:tabular-nums}.day{display:grid;grid-template-columns:minmax(50px,1fr) 30px 36px 35px minmax(20px,2fr) 36px;align-items:center;gap:7px;padding:7px 0;border-top:1px solid var(--line);font-variant-numeric:tabular-nums}.track{height:5px;border-radius:9px;background:var(--line);position:relative}.track i{position:absolute;height:100%;border-radius:9px;background:linear-gradient(90deg,#84b8ef,#e6ad79)}.metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.metric{background:var(--panel);border:1px solid var(--line);border-radius:12px;padding:10px;min-width:0}.metric strong{font-size:19px;display:block;margin-top:4px}.wind{grid-column:span 3;display:flex;align-items:center;gap:14px}.compass{width:52px;height:52px;flex:none;color:var(--accent)}
.imagery-controls{display:grid;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:10px}.imagery-controls label{min-width:0;font-size:12px;color:var(--muted)}.imagery-controls select{display:block;width:100%;margin-top:4px;color:var(--ink)}.image-view{position:relative;aspect-ratio:1.22;background:radial-gradient(ellipse at 50% 50%,#23293e,#101322 67%);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:grid;place-items:center;color:#e4dff1}.image-view img{position:absolute;inset:0;width:100%;height:100%;object-fit:contain}.image-empty{padding:16px;text-align:center;z-index:1;background:#101322d9;border-radius:10px}.image-view a{position:absolute;right:8px;top:8px;background:#161525dd;color:#fff;border-radius:8px;padding:5px 10px;z-index:2}.playback,.image-meta{display:flex;align-items:center;gap:9px;margin-top:10px}.playback input{min-width:20px;flex:1;accent-color:var(--accent);cursor:pointer}.playback button{padding:5px 10px}.image-meta{font:11px ui-monospace,monospace;color:var(--muted);justify-content:space-between}.image-meta button{font:12px -apple-system,sans-serif;padding:5px 9px}.source{color:var(--accent);white-space:nowrap}.station{border-top:1px solid var(--line);padding:11px 0}.station:last-child{padding-bottom:0}.station summary{cursor:pointer}.station p{margin-top:5px}.station code{overflow-wrap:anywhere}.tag{border:1px solid var(--line);padding:3px 6px;border-radius:6px;font:11px ui-monospace,monospace;margin-left:4px;color:var(--accent)}.alerts{padding:13px 17px}.alerts p+p{margin-top:7px}footer{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:24px 0 28px;color:var(--muted);font-size:12px}
dialog{width:min(470px,calc(100% - 28px));max-height:85vh;border:1px solid var(--line);border-radius:20px;color:var(--ink);background:var(--bg);padding:20px}dialog::backdrop{background:#080818b8;backdrop-filter:blur(4px)}.searchrow,.manage-row{display:flex;gap:8px;margin:7px 0}.searchrow input{min-width:0;flex:1;background:var(--panel);border:1px solid var(--line);border-radius:10px;padding:8px 10px}#results{margin:8px 0}#results button{display:block;width:100%;text-align:left;margin:4px 0}dialog h3{margin-top:17px}.manage-row{align-items:center;justify-content:space-between}.manage-row button{padding:4px 8px}
@media(max-width:950px){.shell{width:calc(100% - 34px)}.hero{padding:23px}.module{padding:14px}}@media(max-width:720px){.layout{grid-template-columns:1fr}.jump,.citylabel{display:none}.hero{min-height:268px}.observation{grid-row:auto}.image-view{aspect-ratio:1.25}}@media(max-width:380px){.shell{width:calc(100% - 22px)}.brand{font-size:17px}.brand img{width:33px;height:33px}.settings{gap:4px}.swatch{display:none}.hero{padding:17px}.metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.wind{grid-column:span 2}}@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;scroll-behavior:auto!important}}
@media(max-width:480px){.mast{gap:8px}.settings{gap:5px}.settings select{max-width:105px;padding-inline:6px}.settings button{min-width:40px;padding-inline:6px}.swatch{display:none}.hero-copy{max-width:78%}}
@media(max-width:340px){.brand{gap:6px}.brand img{width:28px;height:28px}.brand small{font-size:8px}.settings select{max-width:93px}}
