:root{--lane-height-basic:50px;--lane-height-icon:56px;--lane-height-humidity:35px;--lane-height-temp:56px;--lane-height-thermal:80px;--lane-height-clouds:150px;--lane-height-precip-prob:25px;--lane-height-wind:80px;--lane-height-uv:25px;--lane-height-pressure:45px;--lane-height-cape:30px;--lane-height-aqi:60px;--col-width-hour:22px;--legend-width:48px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--bg-dark:#202020;--bg-main:#dfdfdf;--bg-clouds:silver;--timeline-bg:#ededed;--legend-bg:#e8e8e8;--legend-border:#0000001a;--lane-border:#0000000d;--grid-line:#00000005;--cell-day:#fff6;--cell-night:#c8cddc80;--cell-hover:#ffffff57;--weather-stripe:#0000000a;--weather-run-border:#00000014;--text-main:#333;--text-light:#555;--text-muted:#666;--text-subtle:#666;--text-faint:#666;--text-inverse:#fff;--metric-text:#444;--metric-text-strong:#333;--control-bg:#ffffffd1;--control-bg-hover:#fff;--control-fg:#555;--control-fg-hover:#000;--control-border:#0000001a;--control-shadow:0 2px 8px #0000001f;--control-shadow-hover:0 4px 12px #00000029;--modal-backdrop:#0000006b;--modal-surface:#fff;--modal-surface-muted:#fbfbfb;--modal-section-bg:#fafafa;--input-bg:#fff;--input-border:#ddd;--primary:#3b82f6;--primary-hover:#2563eb;--primary-button-bg:#3b82f6;--primary-button-hover:#2563eb;--primary-button-text:#fff;--danger:#d92843;--danger-bg:#fae0e4;--tooltip-bg:#232725f5;--tooltip-border:#ffffff29;--tooltip-text:#f4f6f4;--tooltip-muted:#c6cec8;--tooltip-subtle:#98a39c;--label-stroke:#ffffffeb;--now-line:#9c392e7a;--now-label-bg:#f8f7f2b8;--now-label-border:#84322929;--now-label-text:#762d27d1;--sunrise-color:#f57c00;--sunset-color:#d84315;--moonrise-color:#5c6bc0;--moonset-color:#37474f;--astro-label-stroke:#ffffffe6;--twilight-day:#fff;--twilight-warm-day:#ffe0b2;--twilight-golden:#ff9800;--twilight-blue:#3949ab;--twilight-nautical:#1a237e;--twilight-night:#0d0d1a;--cloud-layer-bg:#e6e8eb4d;--cloud-grid-line:#0000001f;--cloud-grid-boundary:#00000040;--cloud-fill-rgb:90, 90, 100;--cloud-fill-alpha-scale:.85;--cloud-ensemble-member-line:#6464640d;--cloud-ensemble-main-line:#4a504ed6;--chart-line-rgb:100, 100, 100;--chart-line-main:#323232e6;--chart-label-muted:#666;--temperature-ensemble-line:#00000040;--blh-line:#aa6c2fa8;--wind-member-fill:#0096880d;--wind-main-fill:#00897b80;--precip-prob-low:#4fc3f7;--precip-prob-20:#039be5;--precip-prob-40:#0288d1;--precip-prob-60:#0277bd;--precip-prob-80:#01579b;--precip-rain-rgb:13, 71, 161;--precip-drizzle-rgb:96, 165, 250;--precip-snow-rgb:56, 189, 248;--precip-freezing-rgb:139, 92, 246;--precip-thunder-rgb:107, 33, 168;--cape-low-bg:#ffeb3b26;--cape-mid-bg:#ffaa3233;--cape-high-bg:#f4645038;--cape-severe-bg:#aa50be40;--visibility-good-bg:#00e40014;--visibility-moderate-bg:#ffe60026;--visibility-poor-bg:#ffa0322e;--visibility-severe-bg:#ff505038;--aod-text:#111;--aod-text-stroke:#ffffffd9;--thermo-label-text:#222;--thermo-apparent-neutral:#666;--spinner-track:#0000001f;--spinner-head:#66736a;--color-temp-line:#d32f2f;--wind-0:#888;--wind-1:#a4d2e8;--wind-2:#84d8a5;--wind-3:#58d86f;--wind-4:#3ae82f;--wind-5:#b9e82f;--wind-6:#e8d02f;--wind-7:#e8952f;--wind-8:#e8532f;--wind-9:#e82f2f;--aqi-good:#00e4002e;--aqi-moderate:#ffe60038;--aqi-sg:#ffa03240;--aqi-unhealthy:#ff50504d;--aqi-vu:#a050aa4d;--aqi-hazardous:#a0003259}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg-dark:#0d100e;--bg-main:#151a17;--bg-clouds:#242b27;--timeline-bg:#151a17;--legend-bg:#19211d;--legend-border:#e6f1ea1f;--lane-border:#e2ece51a;--grid-line:#eef8f10f;--cell-day:#ffffff0e;--cell-night:#00000038;--cell-hover:#ffffff17;--weather-stripe:#ffffff09;--weather-run-border:#edf7f01a;--text-main:#e7eee8;--text-light:#bac8bf;--text-muted:#9daca3;--text-subtle:#87968d;--text-faint:#74837a;--metric-text:#d5e0d8;--metric-text-strong:#f0f5f1;--control-bg:#1e2822e0;--control-bg-hover:#26342c;--control-fg:#c8d6ce;--control-fg-hover:#f4faf6;--control-border:#e8f1ea29;--control-shadow:0 2px 10px #00000057;--control-shadow-hover:0 5px 16px #0000006b;--modal-backdrop:#0000009e;--modal-surface:#1a211d;--modal-surface-muted:#151b18;--modal-section-bg:#131914;--input-bg:#101512;--input-border:#334038;--primary:#86c8ff;--primary-hover:#a8d7ff;--primary-button-bg:#1f6aa5;--primary-button-hover:#287dbd;--primary-button-text:#fff;--danger:#ff7171;--danger-bg:#ff717129;--tooltip-bg:#141916f7;--tooltip-border:#e7f1ea26;--tooltip-text:#f0f6f2;--tooltip-muted:#c4d0c7;--tooltip-subtle:#93a198;--label-stroke:#0b0f0df0;--now-line:#ef896694;--now-label-bg:#1e1713d1;--now-label-border:#ee8f6c42;--now-label-text:#ffbb9ceb;--sunrise-color:#f2a341;--sunset-color:#f17a52;--moonrise-color:#9fb4ff;--moonset-color:#b8c3c7;--astro-label-stroke:#0b0f0de6;--twilight-day:#4d5a66;--twilight-warm-day:#6a5d4e;--twilight-golden:#bd7131;--twilight-blue:#33486f;--twilight-nautical:#1c2c52;--twilight-night:#080b12;--cloud-layer-bg:#232a267a;--cloud-grid-line:#dde9e01f;--cloud-grid-boundary:#e7efe83d;--cloud-fill-rgb:174, 183, 180;--cloud-fill-alpha-scale:.56;--cloud-ensemble-member-line:#cdd8d114;--cloud-ensemble-main-line:#d2ddd6c7;--chart-line-rgb:182, 194, 186;--chart-line-main:#e2ece5e0;--chart-label-muted:#9daca3;--temperature-ensemble-line:#e9f3ec47;--blh-line:#db9b51b8;--wind-member-fill:#4ac4af14;--wind-main-fill:#4cbba894;--precip-prob-low:#7ed6ff;--precip-prob-20:#5fc7f7;--precip-prob-40:#46b3ee;--precip-prob-60:#7db9ff;--precip-prob-80:#a7c8ff;--precip-rain-rgb:106, 169, 255;--precip-drizzle-rgb:122, 189, 255;--precip-snow-rgb:139, 220, 255;--precip-freezing-rgb:184, 148, 255;--precip-thunder-rgb:204, 145, 255;--cape-low-bg:#fadc5c33;--cape-mid-bg:#ffa74840;--cape-high-bg:#ff6f604a;--cape-severe-bg:#ca80de57;--visibility-good-bg:#50d57429;--visibility-moderate-bg:#f5d34f2e;--visibility-poor-bg:#faa44738;--visibility-severe-bg:#f75b5b42;--aod-text:#fff;--aod-text-stroke:#000;--thermo-label-text:#f2f6f1;--thermo-apparent-neutral:#c9d5cd;--spinner-track:#ffffff2e;--spinner-head:#c9d6ce;--aqi-good:#50d5743d;--aqi-moderate:#f5d34f42;--aqi-sg:#faa4474d;--aqi-unhealthy:#f75b5b57;--aqi-vu:#b771cd5c;--aqi-hazardous:#be46646b;--color-temp-line:#ff8a65}*{box-sizing:border-box}body{background-color:var(--bg-dark);color:var(--text-main);scrollbar-width:thin;margin:0;padding:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica,Arial,sans-serif,Apple Color Emoji,Segoe UI Emoji,Segoe UI Symbol}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-dark)}::-webkit-scrollbar-thumb{background:var(--text-faint);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-subtle)}h1,h2,h3,h4,p{margin:0}.loading-spinner{border:2px solid var(--spinner-track);border-top-color:var(--spinner-head);border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.route-editor-btn{background:var(--control-bg);border:1px solid var(--control-border);cursor:pointer;z-index:1000;width:40px;height:40px;box-shadow:var(--control-shadow);color:var(--control-fg);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:50%;justify-content:center;align-items:center;transition:all .2s;display:flex;position:fixed;top:16px;right:16px}.route-editor-btn:hover{background:var(--control-bg-hover);color:var(--control-fg-hover);box-shadow:var(--control-shadow-hover);transform:scale(1.05)}.route-editor-overlay{background:var(--modal-backdrop);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1001;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.route-editor-modal{background:var(--modal-surface);color:var(--text-main);border-radius:12px;flex-direction:column;width:100%;max-width:480px;max-height:85vh;font-family:system-ui,-apple-system,sans-serif;display:flex;overflow:hidden;box-shadow:0 12px 32px #0003}.route-editor-header{border-bottom:1px solid var(--lane-border);justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.route-editor-header h3{color:var(--text-main);margin:0;font-size:16px}.route-editor-section{border-bottom:1px solid var(--lane-border);padding:20px}.route-editor-section h4{text-transform:uppercase;color:var(--text-muted);margin:0 0 12px;font-size:13px;font-weight:600}.quick-set-row{gap:12px;display:flex}.route-editor-modal input{border:1px solid var(--input-border);background:var(--input-bg);color:var(--text-main);border-radius:6px;outline:none;padding:8px 12px;font-size:14px;transition:border-color .2s}.route-editor-modal input:focus{border-color:var(--primary)}.quick-set-row input{flex:1}.entries-list{flex-direction:column;gap:16px;max-height:350px;margin-bottom:12px;padding-right:4px;display:flex;overflow-y:auto}.date-group{background:var(--modal-section-bg);border:1px solid var(--lane-border);border-radius:8px;flex-direction:column;gap:8px;padding:12px;display:flex}.date-header{align-items:center;margin-bottom:4px;display:flex}.date-input-bold{color:var(--text-main);background:0 0;font-weight:700;border:none!important;padding:0!important;font-size:14px!important}.date-input-bold:focus{box-shadow:none;outline:none}.entry-row{align-items:center;gap:8px;display:flex}.entry-inputs{flex:1;gap:8px;min-width:0;display:flex}.entry-inputs input{flex:1;min-width:0}.location-input{flex:5!important}.alias-input{flex:3!important}.add-small-btn{color:var(--primary);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:4px;padding:4px 0;font-size:13px;transition:opacity .2s;display:flex}.add-small-btn:hover{opacity:.8}.icon-btn{color:var(--text-subtle);cursor:pointer;background:0 0;border:none;border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;padding:4px;display:flex}.icon-btn:hover{background:var(--control-bg);color:var(--control-fg-hover)}.icon-btn.remove-btn:hover{color:var(--danger);background:var(--danger-bg)}.add-btn{border:1px dashed var(--input-border);color:var(--text-light);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:6px;width:100%;padding:8px;font-size:14px;transition:all .2s;display:flex}.add-btn:hover{border-color:var(--text-subtle);color:var(--text-main);background:var(--modal-section-bg)}.route-editor-footer{background:var(--modal-surface-muted);justify-content:flex-end;gap:12px;padding:16px 20px;display:flex}.primary-btn{background:var(--primary-button-bg);color:var(--primary-button-text);cursor:pointer;border:none;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:background .2s}.primary-btn:hover{background:var(--primary-button-hover)}.secondary-btn{background:var(--control-bg);color:var(--control-fg);border:1px solid var(--control-border);cursor:pointer;border-radius:6px;padding:8px 16px;font-size:14px;font-weight:500;transition:all .2s}.secondary-btn:hover{background:var(--control-bg-hover);border-color:var(--input-border)}.dashboard-wrapper{background-color:var(--bg-dark);width:100vw;height:100vh;color:var(--text-main);flex-direction:row;justify-content:flex-start;align-items:flex-start;display:flex;overflow:hidden auto}.legend-sidebar{width:var(--legend-width);background-color:var(--legend-bg);border-right:1px solid var(--legend-border);z-index:50;flex-direction:column;flex-shrink:0;min-height:100vh;display:flex;box-shadow:2px 0 4px #00000014}.legend-cell{color:var(--text-light);border-bottom:1px solid var(--lane-border);box-sizing:border-box;text-align:center;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:flex;position:relative}.timeline-scroller{background-color:var(--timeline-bg);flex-grow:1;min-width:0;min-height:100vh;overflow:auto clip}.compact-toggle-btn,.theme-toggle-btn{border:1px solid var(--control-border);background:var(--control-bg);width:40px;height:40px;color:var(--control-fg);cursor:pointer;z-index:1000;box-shadow:var(--control-shadow);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);border-radius:50%;justify-content:center;align-items:center;transition:background .2s,color .2s,box-shadow .2s,transform .2s;display:flex;position:fixed;top:16px}.compact-toggle-btn{right:64px}.theme-toggle-btn{right:112px}.compact-toggle-btn:hover,.theme-toggle-btn:hover{background:var(--control-bg-hover);color:var(--control-fg-hover);box-shadow:var(--control-shadow-hover);transform:scale(1.05)}.lanes-container{will-change:transform;flex-direction:column;width:fit-content;min-width:100%;min-height:min-content;transition:opacity .2s;display:flex;position:relative}.lanes-container.is-switching{opacity:.5}.timeline-loading-indicator{align-items:center;display:flex;position:absolute;top:50%;right:-40px;transform:translateY(-50%)}.timeline-empty-state{width:100%;height:100vh;color:var(--text-muted);justify-content:center;align-items:center;gap:8px;display:flex}.loading-state,.error-state{width:100vw;height:100vh;color:var(--text-inverse);justify-content:center;align-items:center;gap:8px;font-size:1.5rem;display:flex}.loading-state .loading-spinner{border-color:#fff3;border-top-color:var(--text-inverse);width:24px;height:24px}.lane{border-bottom:1px solid var(--lane-border);content-visibility:auto;contain-intrinsic-size:auto 100px;flex-direction:row;flex-shrink:0;display:flex;position:relative}.lane-legend{width:var(--legend-width);background-color:var(--legend-bg);z-index:50;color:var(--text-light);border-right:1px solid var(--legend-border);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;font-size:11px;display:flex;position:sticky;left:0;box-shadow:2px 0 4px #00000014}.lane-data{flex-direction:row;flex-shrink:0;display:flex;position:relative}.lane-cell{width:var(--col-width-hour);box-sizing:border-box;flex-shrink:0;justify-content:center;align-items:center;display:flex;position:relative}.cell-day{background-color:var(--cell-day)}.cell-night{background-color:var(--cell-night)}.cloud-sounding-region{flex-shrink:0;position:relative}.cloud-sounding-hit-layer{z-index:4;pointer-events:none;display:flex;position:absolute;top:0;left:0}.cloud-sounding-hit-cell{width:var(--col-width-hour);flex:0 0 var(--col-width-hour);appearance:none;cursor:pointer;pointer-events:auto;background:0 0;border:0;border-radius:0;height:100%;padding:0;position:relative}.cloud-sounding-hit-cell:before{content:"";background:#d66a0000;position:absolute;inset:0}.cloud-sounding-hit-cell:hover:before,.cloud-sounding-hit-cell:focus-visible:before{background:var(--cell-hover)}.cloud-sounding-hit-cell.is-active:before{background:#d66a0014}.cloud-sounding-hit-cell.is-active:hover:before,.cloud-sounding-hit-cell.is-active:focus-visible:before{background:#d66a001f}.cloud-sounding-hit-cell:focus-visible{outline:0}.sounding-backdrop{z-index:1199;background:var(--modal-backdrop);cursor:default;position:fixed;inset:0}.current-time-indicator{z-index:45;pointer-events:none;width:0;position:absolute;top:0;bottom:0}.current-time-indicator-line{background:repeating-linear-gradient(to bottom, var(--now-line) 0, var(--now-line) 4px, transparent 4px, transparent 9px);width:1px;position:absolute;top:0;bottom:0;left:0;transform:translate(-50%)}.current-time-indicator-label{border:1px solid var(--now-label-border);background:var(--now-label-bg);width:max-content;color:var(--now-label-text);white-space:nowrap;border-radius:5px;padding:1px 5px 2px;font-size:10px;font-weight:600;line-height:1;position:sticky;top:3px;transform:translate(-50%)}.sounding-drawer{z-index:1200;width:min(520px,100vw - 20px);color:var(--text-main);background:var(--modal-surface);border-left:1px solid var(--control-border);flex-direction:column;gap:14px;padding:18px;display:flex;position:fixed;top:0;bottom:0;right:0;overflow:auto;box-shadow:-12px 0 28px #0000002e}.sounding-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.sounding-kicker{color:var(--text-subtle);letter-spacing:0;text-transform:uppercase;margin-bottom:3px;font-size:10px;line-height:1}.sounding-title{font-size:18px;font-weight:700;line-height:1.1}.sounding-subtitle{color:var(--text-muted);margin-top:3px;font-size:12px;line-height:1.2}.sounding-icon-btn,.sounding-step-btn{border:1px solid var(--control-border);background:var(--control-bg);color:var(--control-fg);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.sounding-icon-btn{border-radius:50%;flex:0 0 34px;width:34px;height:34px}.sounding-icon-btn:hover,.sounding-step-btn:hover:not(:disabled){background:var(--control-bg-hover);color:var(--control-fg-hover)}.sounding-nav{color:var(--text-muted);border-top:1px solid var(--lane-border);border-bottom:1px solid var(--lane-border);text-align:center;grid-template-columns:34px 1fr 34px;align-items:center;gap:8px;padding:8px 0;font-size:12px;display:grid}.sounding-step-btn{border-radius:6px;width:34px;height:30px;padding:0}.sounding-step-btn:disabled{opacity:.38;cursor:default}.sounding-chart-shell{flex-direction:column;gap:8px;display:flex}.sounding-chart{border:1px solid var(--control-border);background:var(--modal-surface-muted);width:100%;min-height:430px;max-height:62vh;overflow:hidden}.sounding-chart .skewt-container{--skewt-temp-color:#c92f2f;--skewt-dwpt-color:#16845f;--skewt-grid-color:#8080801f;--skewt-zero-color:var(--now-line);--skewt-axis-color:var(--text-muted);--skewt-barb-color:var(--text-light);--skewt-font-size:10px;--skewt-tooltip-font-size:10px;width:100%;height:100%;min-height:430px}.sounding-legend{color:var(--text-muted);align-items:center;gap:14px;font-size:11px;display:flex}.sounding-legend span{align-items:center;gap:5px;display:inline-flex}.sounding-swatch{border-radius:2px;width:16px;height:3px;display:inline-block}.sounding-swatch.temp{background:#d32f2f}.sounding-swatch.dew{background:repeating-linear-gradient(90deg,#0f8f5f 0 5px,#0000 5px 8px)}.sounding-swatch.inversion{background:#f57c0059;height:8px}.sounding-summary{border-top:1px solid var(--lane-border);border-bottom:1px solid var(--lane-border);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.sounding-summary>div{border-right:1px solid var(--lane-border);min-width:0;padding:9px 8px}.sounding-summary>div:last-child{border-right:0}.sounding-summary span{color:var(--text-subtle);margin-bottom:4px;font-size:10px;display:block}.sounding-summary strong{overflow-wrap:anywhere;color:var(--text-main);font-size:12px;display:block}.sounding-empty{color:var(--text-subtle);background:var(--modal-surface-muted);border:1px solid var(--control-border);padding:10px;font-size:12px;line-height:1.45}@media (width<=640px){.sounding-drawer{width:100vw;max-height:min(82dvh,680px);padding:12px 12px max(12px, env(safe-area-inset-bottom));border-left:0;border-top:1px solid var(--control-border);border-radius:8px 8px 0 0;gap:10px;inset:auto 0 0;box-shadow:0 -10px 24px #0000002e}.sounding-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.sounding-summary>div:nth-child(2){border-right:0}.sounding-chart{min-height:clamp(280px,48dvh,360px);max-height:none}.sounding-chart .skewt-container{min-height:clamp(280px,48dvh,360px)}}.skewt-container{--skewt-temp-color:red;--skewt-dwpt-color:green;--skewt-grid-color:#dfdfdf;--skewt-zero-color:#aaa;--skewt-axis-color:#000;--skewt-barb-color:#000;--skewt-font-size:13px;--skewt-tooltip-font-size:12px}.skewt-axis path,.skewt-axis line{fill:none;stroke:var(--skewt-axis-color);stroke-width:1px;shape-rendering:crispedges}.skewt-axis{fill:var(--skewt-axis-color);font-size:var(--skewt-font-size)}.skewt-axis.skewt-ticks text{display:none}.skewt-gridline,.skewt-tempzero{stroke:var(--skewt-grid-color);stroke-width:.75px;fill:none}.skewt-tempzero{stroke:var(--skewt-zero-color);stroke-width:1.25px}.skewt-temp{fill:none;stroke:var(--skewt-temp-color);stroke-width:3px}.skewt-dwpt{fill:none;stroke:var(--skewt-dwpt-color);stroke-width:3px}.skewt-skline{stroke-width:1.8px;opacity:.8}.skewt-mean{stroke-width:2.5px}.skewt-windbarb{stroke:var(--skewt-barb-color);stroke-width:.75px;fill:none}.skewt-flag{fill:var(--skewt-barb-color)}.skewt-overlay{fill:none;pointer-events:all}.skewt-focus.skewt-tmpc circle{fill:var(--skewt-temp-color);stroke:none}.skewt-focus.skewt-dwpc circle{fill:var(--skewt-dwpt-color);stroke:none}.skewt-focus text{font-size:var(--skewt-tooltip-font-size)}
