/* Atmosphere: crisp data surfaces, a sky-lit horizon, and restrained weather motion. */
:root{--bg:#edf3fa;--ink:#142d4c;--muted:#526982;--line:#d5e0ef;--soft:#e4edfc;--surface:#fff;--surface-soft:#f3f7fc;--teal:#2463eb;--shadow:0 8px 28px #16386108;--sky-glow:#a9d9fa;--sun:#ffd374;--accent-contrast:#fff;--sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color-scheme:light}
[data-theme=dark]{--bg:#0b1627;--ink:#e6eef9;--muted:#a4b6ce;--line:#283b55;--soft:#1b3354;--surface:#122137;--surface-soft:#16283f;--sky-glow:#244b79;--sun:#efbb66;--accent-contrast:#10223b;color-scheme:dark}
@media(prefers-color-scheme:dark){[data-theme=system]{--bg:#0b1627;--ink:#e6eef9;--muted:#a4b6ce;--line:#283b55;--soft:#1b3354;--surface:#122137;--surface-soft:#16283f;--sky-glow:#244b79;--sun:#efbb66;--accent-contrast:#10223b;color-scheme:dark}}
[data-accent=blue]{--teal:#2463eb}[data-accent=teal]{--teal:#08796d}[data-accent=violet]{--teal:#7446c8}[data-accent=sand]{--teal:#916037}[data-accent=custom]{--teal:var(--custom-accent);--accent-contrast:var(--custom-contrast)}
[data-theme=dark][data-accent=blue]{--teal:#87b5ff}[data-theme=dark][data-accent=teal]{--teal:#6dd8c7}[data-theme=dark][data-accent=violet]{--teal:#c1a5ff}[data-theme=dark][data-accent=sand]{--teal:#ebbd87}
@media(prefers-color-scheme:dark){[data-theme=system][data-accent=blue]{--teal:#87b5ff}[data-theme=system][data-accent=teal]{--teal:#6dd8c7}[data-theme=system][data-accent=violet]{--teal:#c1a5ff}[data-theme=system][data-accent=sand]{--teal:#ebbd87}}
body{background:radial-gradient(ellipse at 90% 0,color-mix(in srgb,var(--sky-glow) 22%,transparent),transparent 650px),var(--bg);font-size:calc(16px * var(--text-factor));line-height:1.55}
h1,h2,h3,strong{text-wrap:balance}button,a,input,select,textarea,summary{ -webkit-tap-highlight-color:transparent}button,a,summary{transition:background-color .18s,color .18s,border-color .18s,box-shadow .18s,transform .18s}button:not(:disabled):active,.primary:active{transform:scale(.97)}button:disabled{cursor:wait;opacity:.7}input,select,textarea{transition:border-color .18s,box-shadow .18s}input:focus,select:focus,textarea:focus{border-color:var(--teal);outline:2px solid color-mix(in srgb,var(--teal) 25%,transparent);outline-offset:2px}button:focus-visible,a:focus-visible,summary:focus-visible,[data-chart-detail]:focus-visible{outline:3px solid var(--teal);outline-offset:4px}input[type=checkbox]{accent-color:var(--teal)}
.primary,.segmented [aria-pressed=true]{background:var(--teal);color:var(--accent-contrast);border-color:var(--teal)}.primary:hover{box-shadow:0 4px 16px color-mix(in srgb,var(--teal) 24%,transparent)}.secondary{background:var(--surface);border-color:var(--line);color:var(--ink)}.secondary:hover{background:var(--soft);border-color:color-mix(in srgb,var(--teal) 40%,var(--line))}
.topbar{top:12px;margin:16px 24px 0 264px;border-radius:20px;padding:12px 16px;background:color-mix(in srgb,var(--surface) 89%,transparent);box-shadow:var(--shadow);backdrop-filter:blur(18px);gap:12px}.topbar .brand{font-size:23px;font-weight:750;letter-spacing:-1px}.top-actions{margin-left:auto}.top-actions button,.top-actions a{font-size:14px;min-height:44px}.search-trigger kbd{font-size:11px}.topbar .site-logo{color:var(--teal)}#sidebar-toggle{min-width:44px;height:44px;border-radius:13px;padding:10px;flex:none}#sidebar-toggle .ui-icon{width:20px;height:20px}.topbar #account-open{white-space:nowrap}
.side-nav{width:238px;background:color-mix(in srgb,var(--surface) 74%,var(--bg));padding:27px 14px 18px;border-right:1px solid var(--line)}.side-heading{padding:2px 10px 26px}.side-heading small{font-size:12px}.side-links{gap:4px}.side-links a{font-size:14px;min-height:44px;gap:12px;border-radius:12px;padding:10px 12px}.side-links a:hover{transform:translateX(3px);background:var(--soft)}.side-links .active{background:color-mix(in srgb,var(--teal) 10%,var(--surface));box-shadow:inset 3px 0 var(--teal);color:var(--teal)}.side-account,.side-favorites button{font-size:14px}.side-favorites .eyebrow,.side-favorites small{font-size:12px}.side-account:hover{background:var(--soft)}.side-nav~main{padding-top:26px}.sidebar-hidden .topbar{margin-left:24px}.sidebar-hidden .side-nav~main{max-width:1560px}.sidebar-hidden .side-nav{display:none}.sidebar-close{display:none}
.intro{min-height:210px;padding:28px 32px;margin-bottom:20px;align-items:center;background:linear-gradient(112deg,var(--surface) 5%,color-mix(in srgb,var(--sky-glow) 37%,var(--surface)) 80%);border-color:color-mix(in srgb,var(--sky-glow) 45%,var(--line));box-shadow:0 10px 35px #142d4c04}.intro>div:first-child{position:relative;z-index:2;max-width:60%}.intro .eyebrow{font-size:12px;letter-spacing:1.4px}.intro h1{font-size:clamp(34px,3.2vw,48px);font-weight:750;letter-spacing:-1.8px;margin:13px 0}.intro h1 em{display:block;font-weight:550}.intro .lede{font-size:16px;line-height:1.65;margin:0}.intro:after{display:none}.intro-link{position:absolute;right:28px;bottom:24px;z-index:3;font-size:14px;padding:9px 15px;border-radius:12px;background:color-mix(in srgb,var(--surface) 86%,transparent)}
.sky-art{position:absolute;right:4%;top:6px;width:34%;max-width:300px;height:190px;pointer-events:none;overflow:visible}.sky-halo{fill:var(--sun);opacity:.15}.sky-sun{fill:var(--sun)}.sky-rays{stroke:var(--sun);stroke-width:3;stroke-linecap:round;transform-origin:200px 68px}.sky-cloud{fill:color-mix(in srgb,var(--surface) 94%,var(--sky-glow));stroke:color-mix(in srgb,var(--sky-glow) 65%,var(--line));stroke-width:1.5;filter:drop-shadow(0 8px 8px #142d4c0a)}.sky-cloud-back{opacity:.65}.sky-rain{stroke:var(--teal);stroke-width:3;stroke-linecap:round;opacity:0}.intro[data-weather=rain] .sky-rain{opacity:.5}.intro[data-weather=rain] .sky-sun{opacity:.3}.intro[data-weather=cloud] .sky-cloud-back{opacity:1}.intro[data-weather=clear] .sky-cloud{opacity:.75}
.weather-atmosphere-label{display:inline-flex;gap:7px;align-items:center;font-size:12px;color:var(--muted);margin-top:12px}.weather-atmosphere-label:empty{display:none}.weather-atmosphere-label svg{width:16px;height:16px}
.station-cards{gap:12px;margin-bottom:24px}.station-card{position:relative;border-radius:18px;padding:17px 18px;background:var(--surface);min-height:152px;transition:transform .22s,border-color .22s,box-shadow .22s}.station-card strong{font-size:32px;font-weight:650;margin:9px 0 4px}.station-card span{font-size:14px}.station-card small{font-size:12px;color:var(--muted);line-height:1.6}.station-card[aria-pressed=true]{background:linear-gradient(135deg,var(--surface),var(--soft));box-shadow:0 5px 20px color-mix(in srgb,var(--teal) 8%,transparent);border-color:color-mix(in srgb,var(--teal) 65%,var(--line))}.station-card[aria-pressed=true]:after{content:'';position:absolute;right:15px;bottom:17px;width:6px;height:6px;border-radius:50%;background:var(--teal)}
.panel,.market-card,.weather-now{box-shadow:var(--shadow);border-radius:20px}.panel-head{padding:23px 25px}.panel-head h2,.section-title h2,.extra-section h2{font-weight:650;letter-spacing:-.6px}.panel-head .eyebrow,.section-title .eyebrow{font-size:12px}.weather-stat{padding:21px}.weather-stat>small,.weather-stat>span{font-size:14px}.weather-stat strong{font-size:23px}.weather-stat p{font-size:12px}.widget-note,.helper,.coverage,.status,.refresh-note{font-size:14px;line-height:1.65}.live-refresh{font-size:14px}.live-indicator{background:#158573}.control-label,.controls label,.chart-controls label,.graph-controls label,.settings-grid label{font-size:14px}th{font-size:12px}td{font-size:14px}.eyebrow{font-size:12px}.workspace-head .tabs{gap:22px;scrollbar-width:thin}.workspace-head .tabs a{font-size:14px;padding:11px 0}.workspace-head .primary{font-size:14px}.station-toolbar{margin-top:20px;margin-bottom:16px}.station-toolbar label,.station-toolbar button{font-size:14px}.station-toolbar select{min-height:44px}.controls input,.controls select,.graph-controls select{min-height:44px;border-radius:11px}
.floating-dock{border-radius:20px;box-shadow:0 8px 36px #10223b16;padding:6px}.floating-dock>a,.floating-dock>button{font-size:12px;border-radius:14px;min-height:46px}.floating-dock .active{background:var(--soft)}.floating-dock .ui-icon{width:19px;height:19px}.source-grid p,.lab-intro p,.comment p{font-size:16px}.settings-intro p{font-size:14px}.settings-tabs button{font-size:14px}.settings-body label{font-size:14px}.settings-save{font-size:12px!important}.connection-card strong,.connection-card span{font-size:14px}.kv{font-size:13px}dialog{border-radius:22px;box-shadow:0 24px 90px #07172e33}dialog::backdrop{background:#07172e66;backdrop-filter:blur(4px)}.navigation-rescue{left:16px;right:auto}.chart-inspector{border-radius:18px;box-shadow:0 12px 45px #07172e25}.chart-inspector p{font-size:14px}svg [data-chart-detail]{transition:r .15s,opacity .15s,filter .15s}svg [data-chart-detail]:hover,svg .chart-picked{r:5;filter:drop-shadow(0 0 3px color-mix(in srgb,var(--teal) 40%,transparent))}
.sky-arrival .intro{animation:sky-arrival .75s cubic-bezier(.2,.75,.25,1) both}.sky-arrival .sky-sun{animation:sunrise 1.3s cubic-bezier(.2,.75,.25,1) both}.sky-arrival .sky-rays{animation:ray-turn 1.6s ease-out both}.sky-arrival .sky-cloud-front{animation:cloud-arrive 1.4s ease-out both}.sky-arrival .sky-cloud-back{animation:cloud-arrive 1.8s ease-out both}.sky-arrival .station-cards{animation:sky-arrival .7s .12s both}.sky-arrival .topbar{animation:sky-arrival .5s both}.panel.sky-reveal{animation:sky-arrival .5s both}dialog[open]{animation:dialog-arrive .2s ease-out}.weather-just-updated{animation:weather-update .7s ease-out}.sky-art:hover{animation:none}
@keyframes sky-arrival{from{opacity:.3;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes sunrise{from{transform:translateY(45px);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes ray-turn{from{transform:rotate(-35deg);opacity:0}to{transform:rotate(0);opacity:1}}@keyframes cloud-arrive{from{transform:translateX(38px);opacity:0}to{transform:translateX(0)}}@keyframes dialog-arrive{from{opacity:0;transform:translateY(10px) scale(.99)}to{opacity:1;transform:none}}@keyframes weather-update{from{outline:2px solid color-mix(in srgb,var(--teal) 50%,transparent);outline-offset:2px}to{outline-color:transparent;outline-offset:7px}}
.sidebar-backdrop{display:none}.sidebar-rescue-toggle{display:none;position:fixed;left:14px;top:14px;width:46px;height:46px;z-index:65;border-radius:14px;border:1px solid var(--line);background:var(--surface);color:var(--ink);box-shadow:var(--shadow)}.header-hidden .sidebar-rescue-toggle{display:grid;place-items:center}.header-hidden .navigation-rescue{left:auto;right:14px}
[data-nav-position=right] .topbar{margin-left:24px;margin-right:264px}[data-nav-position=right] .side-nav{right:0;left:auto;top:0;border-left:1px solid var(--line);border-right:0}[data-nav-position=top] .topbar{margin-left:24px}[data-nav-position=top] .side-nav{top:98px;margin:18px 24px 0;padding:7px;border:1px solid var(--line);border-radius:16px}[data-nav-position=top] .side-links a:hover{transform:translateY(-1px)}.sidebar-hidden[data-nav-position=right] .topbar,[data-nav-position=right] .sidebar-hidden .topbar{margin-right:24px}
@media(hover:hover){.station-card:hover{transform:translateY(-3px);box-shadow:0 9px 25px #10223b12}.floating-dock a:hover .ui-icon,.floating-dock button:hover .ui-icon{transform:translateY(-2px)}.floating-dock .ui-icon{transition:transform .2s}}
@media(max-width:1200px) and (min-width:901px){.topbar{margin-left:249px;gap:10px}.top-actions{width:100%}.top-actions .search-trigger{flex:1}.side-nav{top:0;bottom:0;left:0;width:225px;border-radius:0}.side-nav~main{margin-left:225px}.intro{padding:25px}.intro>div:first-child{max-width:67%}.sky-art{right:1%;width:34%;opacity:.7}}
@media(max-width:900px){.topbar,[data-nav-position=right] .topbar,[data-nav-position=top] .topbar,.sidebar-hidden .topbar{margin:10px 12px 0;top:8px;min-height:62px;gap:10px;padding:9px 11px;flex-wrap:nowrap;border-radius:18px}.topbar .brand{font-size:22px;gap:7px}.topbar .top-actions{width:auto;margin-left:auto;flex-wrap:nowrap;gap:6px}.topbar .search-trigger,.topbar #appearance-open,.topbar #account-open{display:none}.topbar #notifications-open{display:inline-flex;font-size:0;flex:0 0 44px}.topbar .top-actions #notification-count{display:none}.topbar .site-logo{width:30px;height:30px}.side-nav,[data-nav-position=right] .side-nav,[data-nav-position=top] .side-nav,.sidebar-hidden .side-nav{display:flex;position:fixed;flex-direction:column;left:0;right:auto;top:0;bottom:0;width:min(320px,calc(100vw - 45px));margin:0;padding:25px 16px calc(24px + env(safe-area-inset-bottom));border:0;border-right:1px solid var(--line);border-radius:0 24px 24px 0;z-index:80;background:var(--surface);overflow-y:auto;transform:translateX(-102%);visibility:hidden;transition:transform .26s cubic-bezier(.22,.75,.25,1),visibility .26s;box-shadow:20px 0 70px #06142b20}.mobile-nav-open .side-nav,.mobile-nav-open.sidebar-hidden .side-nav{transform:translateX(0);visibility:visible}.side-heading,[data-nav-position=top] .side-heading{display:flex;padding:3px 44px 22px 8px}.side-links,[data-nav-position=top] .side-links{display:grid;overflow:visible;white-space:normal;gap:4px}.side-links a{font-size:15px;padding:11px 13px;min-height:46px}.side-favorites,[data-nav-position=top] .side-favorites{display:block}.side-account,[data-nav-position=top] .side-account{display:flex;font-size:14px}.sidebar-close{display:grid;place-items:center;position:absolute;right:15px;top:23px;width:42px;height:42px;border:1px solid var(--line);background:var(--surface-soft);color:var(--ink);border-radius:13px;font-size:25px}.sidebar-backdrop{display:block;position:fixed;inset:0;background:#07172e66;backdrop-filter:blur(3px);z-index:75;border:0;padding:0;opacity:0;visibility:hidden;transition:opacity .25s,visibility .25s}.mobile-nav-open .sidebar-backdrop{opacity:1;visibility:visible}.mobile-nav-open{overflow:hidden}.side-nav~main,[data-nav-position=right] .side-nav~main,[data-nav-position=top] .side-nav~main,.sidebar-hidden .side-nav~main{margin:0;padding:18px 12px 110px;max-width:100%}.intro{min-height:210px;padding:22px;margin-bottom:16px}.intro>div:first-child{max-width:78%}.intro h1{font-size:36px;letter-spacing:-1.4px;margin:14px 0}.intro .lede{font-size:14px}.intro .eyebrow{font-size:11px;line-height:1.5;letter-spacing:.7px;max-width:240px}.sky-art{right:-40px;top:20px;width:170px;height:150px;opacity:.6}.intro-link{display:none}.weather-atmosphere-label{font-size:12px}.station-cards{display:flex;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:thin;padding:2px 1px 10px;gap:10px;margin-bottom:14px}.station-card{flex:0 0 156px;scroll-snap-align:start;padding:15px;min-height:145px}.station-card strong{font-size:30px}.station-card>span{font-size:14px;display:flex;flex-direction:column;align-items:flex-start;gap:0}.station-card small{font-size:12px}.weather-now{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:18px}.weather-stat{padding:16px}.weather-stat strong{font-size:21px}.weather-stat>small,.weather-stat>span{font-size:13px}.panel-head{padding:20px 18px;align-items:flex-start;gap:12px}.panel-head h2{font-size:22px}.panel-head .eyebrow{font-size:11px}.panel-head button{min-height:44px;font-size:13px}.widget-note,.coverage,.status,.refresh-note,.helper{font-size:14px}.floating-dock{padding:5px;bottom:max(10px,env(safe-area-inset-bottom));border-radius:19px;gap:2px}.floating-dock>a,.floating-dock>button{font-size:11px;flex:1 0 58px;min-height:54px;padding:7px}.controls label,.graph-controls label,.chart-controls label{font-size:14px}.workspace-head .tabs{gap:20px}.workspace-head .tabs a{font-size:14px}.workspace-head #refresh{align-self:stretch;width:100%;font-size:14px}.station-toolbar #export{font-size:13px}.live-refresh{font-size:13px}.live-refresh #refresh-countdown{margin-left:0}.side-nav~main .panel{scroll-margin-top:94px}.source-grid{grid-template-columns:1fr}.source-grid article+article{border-left:0;padding-left:0}.header-hidden main{padding-top:76px}.header-hidden .side-nav{margin-top:0}}
@media(max-width:380px){.intro{padding:20px}.intro h1{font-size:32px}.intro>div:first-child{max-width:85%}.sky-art{right:-55px;opacity:.4}.topbar .brand{font-size:20px}.panel-head{flex-wrap:wrap}.metar-values{grid-template-columns:1fr}.controls{grid-template-columns:1fr}.weather-stat strong{font-size:19px}}
html[data-reduce-motion=true]{scroll-behavior:auto!important}.reduce-motion *,.reduce-motion *::before,.reduce-motion *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){html,* ,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}

@media(max-width:900px){.side-nav,[data-nav-position=right] .side-nav,[data-nav-position=top] .side-nav{flex-wrap:nowrap;align-items:stretch;align-content:normal}.side-nav>*{flex-shrink:0}.side-links a{white-space:normal}}
