@font-face{font-family:Inter;font-style:normal;font-weight:200;font-display:block;src:url(/zero/fonts/inter-extralight.woff2) format("woff2")}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:block;src:url(/zero/fonts/inter-regular.woff2) format("woff2")}:root{--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-weight-thin: 200;--font-weight-regular: 400;--font-weight-semibold: 600;--font-size-base: 1rem;--font-size-2xs: .75rem;--font-size-xs: .6875rem;--font-size-sm: .8125rem;--font-size-md: .875rem;--font-size-lg: 1.125rem;--font-size-xl: 1.5rem;--font-size-2xl: 1.75rem;--font-size-mono: .875rem;--color-bg-primary: #161616;--color-bg-modal: #454545;--color-text-primary: #fff;--dialog-window-bg: rgba(20, 25, 35, .95);--dialog-window-radius: 12px;--dialog-backdrop: rgba(0, 0, 0, .4);--dialog-backdrop-transparent: transparent;--color-surface: rgba(255, 255, 255, .1);--color-surface-hover: rgba(255, 255, 255, .2);--color-surface-active: rgba(255, 255, 255, .15);--color-surface-dark: rgba(0, 0, 0, .85);--color-surface-dark-hover: rgba(0, 0, 0, .95);--color-surface-dark-light: rgba(0, 0, 0, .7);--color-border: rgba(255, 255, 255, .3);--color-border-light: rgba(255, 255, 255, .1);--color-border-hover: rgba(255, 255, 255, .4);--color-border-subtle: rgba(255, 255, 255, .2);--color-error-bg: rgba(255, 50, 50, .1);--color-error-border: rgba(255, 50, 50, .3);--color-primary: #4a9eff;--color-primary-bg: rgba(74, 158, 255, .2);--color-primary-bg-hover: rgba(74, 158, 255, .3);--color-primary-bg-active: rgba(74, 158, 255, .35);--color-primary-border: rgba(74, 158, 255, .3);--color-primary-border-selected: rgba(74, 158, 255, .4);--color-primary-border-focus: rgba(74, 158, 255, .5);--color-btn-primary: #C9A96E;--color-btn-secondary: #C9A96E;--color-btn-secondary-bg: rgba(201, 169, 110, .2);--color-btn-secondary-bg-hover: rgba(201, 169, 110, .3);--color-danger-bg: rgba(255, 100, 100, .15);--color-danger-bg-hover: rgba(255, 100, 100, .25);--color-danger-bg-active: rgba(255, 100, 100, .3);--color-danger-border: rgba(255, 100, 100, .3);--color-text-muted: rgba(255, 255, 255, .5);--color-text-subtle: rgba(255, 255, 255, .4);--color-text-faint: rgba(255, 255, 255, .3);--color-glow: rgba(255, 255, 255, .6);--color-shadow: rgba(0, 0, 0, .3);--color-shadow-strong: rgba(0, 0, 0, .5);--color-layer-temp: oklch(70% .18 20);--color-layer-rain: oklch(70% .18 250);--color-layer-wind: oklch(70% .18 130);--color-layer-pressure: oklch(70% .18 300);--color-layer-humidity: oklch(70% .18 180);--color-layer-clouds: oklch(70% .18 60);--color-layer-waves: oklch(70% .18 210);--color-layer-earth: oklch(65% .12 250);--color-layer-sun: #feca57;--color-layer-graticule: #ffffff;--color-layer-text: #ffffff;--color-layer-debug: #ffffff;--color-timebar-ecmwf: oklch(30% 0 0);--color-timebar-active: #ffffff;--color-timebar-now: rgba(255, 255, 255, .7);--size-timebar-top-padding: 4;--size-timebar-disk-height: 36;--size-timebar-disk-label-gap: 4;--size-timebar-label-height: 12;--size-timebar-bottom-padding: 5}.bar{display:flex;flex-direction:row;align-items:center;justify-content:space-between;width:100%}.col{display:flex;flex-direction:column}.group{margin-top:12px}.group h4{font-size:var(--font-size-xs);font-weight:500;text-transform:uppercase;letter-spacing:.5px;opacity:.5;margin:0 0 6px;padding:0 12px}.widget{position:relative;margin-bottom:10px}.btn{padding:8px 16px;border-radius:6px;font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:background .15s,filter .15s,transform .1s;border:1px solid transparent}.btn-primary{background:var(--color-btn-primary);color:#2a2a2a;border-color:var(--color-btn-primary)}@media (hover: hover){.btn-primary:hover{filter:brightness(1.15)}}.btn-primary:active{transform:scale(.98)}.btn-secondary{background:var(--color-btn-secondary-bg);color:var(--color-btn-secondary);border-color:var(--color-btn-secondary-bg-hover)}@media (hover: hover){.btn-secondary:hover{background:var(--color-btn-secondary-bg-hover)}}.btn-danger{background:var(--color-danger-bg);color:#f88;border-color:var(--color-danger-bg-active)}@media (hover: hover){.btn-danger:hover{background:var(--color-danger-bg-hover)}}:root{--breakpoint-desktop: 640;--layout-font-size: 16px;--layout-margin-top: max(16px, env(safe-area-inset-top, 0px));--layout-margin-right: max(16px, env(safe-area-inset-right, 0px));--layout-margin-bottom: max(16px, env(safe-area-inset-bottom, 0px));--layout-margin-left: max(16px, env(safe-area-inset-left, 0px));--layout-logo-width: min(280px, 44vw);--layout-logo-height: 64px;--layout-timecircle-size: min(140px, 44vw);--layout-panel-gap: 0px;--layout-stack-gap: 16px;--layout-timebar-height: calc( var(--size-timebar-top-padding) * 1px + var(--size-timebar-disk-height) * 1px + var(--size-timebar-disk-label-gap) * 1px + var(--size-timebar-label-height) * 1px + var(--size-timebar-bottom-padding) * 1px );--layout-vh: 100dvh}@media (max-width: 400px){:root{--layout-margin-top: max(8px, env(safe-area-inset-top, 0px));--layout-margin-right: max(8px, env(safe-area-inset-right, 0px));--layout-margin-bottom: max(8px, env(safe-area-inset-bottom, 0px));--layout-margin-left: max(8px, env(safe-area-inset-left, 0px));--layout-stack-gap: 8px;--layout-timecircle-size: min(112px, 35vw)}}@media (min-width: 1440px){:root{--layout-margin-top: max(24px, env(safe-area-inset-top, 0px));--layout-margin-right: max(24px, env(safe-area-inset-right, 0px));--layout-margin-bottom: max(24px, env(safe-area-inset-bottom, 0px));--layout-margin-left: max(24px, env(safe-area-inset-left, 0px));--layout-stack-gap: 24px}}.ui-container{position:absolute;inset:var(--layout-margin-top) var(--layout-margin-right) var(--layout-margin-bottom) var(--layout-margin-left);pointer-events:none;animation:uiFadeIn 1s ease-out}@keyframes uiFadeIn{0%{opacity:0}to{opacity:1}}.panel{position:absolute;pointer-events:auto;z-index:20}.panel-stack{position:absolute;display:flex;flex-direction:column;gap:var(--layout-stack-gap);z-index:20;pointer-events:none}.panel-stack.left{top:0;left:0;align-items:flex-start}.panel-stack.right{top:0;right:0;align-items:flex-end}.panel-stack>.panel{position:static;pointer-events:auto}.dialog{position:absolute;pointer-events:auto;z-index:30}.modal{position:absolute;pointer-events:auto;z-index:40}.panel.logo a{touch-action:manipulation;user-select:none;-webkit-user-select:none;-webkit-touch-callout:none}.panel.logo img{width:var(--layout-logo-width);height:auto}.panel.layers{width:150px;max-height:calc(var(--layout-vh) - var(--layout-margin-top) - var(--layout-margin-bottom) - var(--layout-logo-height) - var(--layout-panel-gap) - var(--layout-timebar-height) - var(--layout-panel-gap));overflow-y:auto;padding-right:16px}.panel.timecircle{width:var(--layout-timecircle-size);height:var(--layout-timecircle-size);cursor:pointer}.panel.fullscreen{width:44px;height:44px}.panel.grid .control{display:grid;grid-template-columns:auto auto;gap:2px 8px;font-size:var(--font-size-mono);font-family:monospace}.panel.grid .label{text-align:right;font-weight:300;color:#fffc}.panel.grid span:not(.label){text-align:left}.panel.queue .label{font-weight:500;color:#fff}.panel.about img{width:24px;height:24px;filter:brightness(0) saturate(100%) invert(100%);opacity:.8}.panel.timebar{left:0;right:0;bottom:0;display:flex;flex-direction:column;align-items:center}@media (min-width: 1440px){.panel.timebar{left:50%;right:auto;transform:translate(-50%);width:100%;max-width:1200px}}.timeslider{width:100%;position:relative;pointer-events:auto}.timeslider canvas{left:21px;width:calc(100% - 42px);cursor:pointer}.timesteps{position:relative;display:flex;justify-content:space-between;width:100%;font-size:12px;opacity:.6;pointer-events:auto;margin-top:12px}.timesteps .start{margin-left:24px}.timesteps .end{margin-right:24px}.timesteps .now,.timesteps .day{position:absolute;transform:translate(-50%)}.group,.widget,.timeslider,.timesteps,.date-time{pointer-events:auto}.control{background:#000;border:1px solid rgba(255,255,255,.3);border-radius:21px;backdrop-filter:blur(10px);width:100%;cursor:pointer;font-size:var(--font-size-md);color:inherit;font-family:inherit}@media (hover: hover){.control:not(.nohover):hover{border-color:#ffffff80}}.control:not(.nohover):active{border-color:#fff9}.control.circle{border-radius:50%;width:auto}.control.pill{width:auto;padding:6px 14px}.panel.fullscreen>.control.circle,.panel.timecircle>.control.circle{width:100%;height:100%;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:0}.panel.options>.control.circle{width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0}.panel.options>.control.circle svg{width:24px;height:24px;fill:currentColor;opacity:.8}.panel.about>.control.circle{width:44px;height:44px;display:flex;align-items:center;justify-content:center;padding:0}.fullscreen-icon{width:24px;height:24px;display:block;filter:invert(1)}.time-year{font-size:var(--font-size-md);opacity:.6;margin-bottom:4px}.time-date{font-size:var(--font-size-2xl);font-weight:300;margin-bottom:4px}@media (max-width: 400px){.time-date{font-size:var(--font-size-xl)}}.time-time{font-size:var(--font-size-mono);opacity:.8;font-family:monospace}input[type=range].timeslider{position:absolute;top:50%;left:21px;right:21px;transform:translateY(-50%);width:auto;height:36px;appearance:none;-webkit-appearance:none;background:transparent;outline:none;cursor:pointer;margin:0;padding:0;z-index:2}input[type=range].timeslider::-webkit-slider-runnable-track{width:100%;height:4px;background:transparent}input[type=range].timeslider::-moz-range-track{width:100%;height:4px;background:transparent}input[type=range].timeslider::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:20px;height:20px;background:#fff9;border-radius:50%;cursor:pointer;box-shadow:0 0 10px #fff9;transition:transform .1s ease;margin-top:-8px}input[type=range].timeslider::-webkit-slider-thumb:hover{transform:scale(1.15)}input[type=range].timeslider::-moz-range-thumb{width:20px;height:20px;background:#fff9;border-radius:50%;cursor:pointer;border:none;box-shadow:0 0 10px #fff9;transition:transform .1s ease}input[type=range].timeslider::-moz-range-thumb:hover{transform:scale(1.15)}canvas.time-ticks{position:absolute;top:0;left:21px;right:21px;z-index:1;display:block;outline:none;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;touch-action:none}.dialog{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;z-index:40;pointer-events:none}.dialog .backdrop{position:absolute;inset:0;background:var(--dialog-backdrop);pointer-events:auto}.dialog .window{position:relative;z-index:1;pointer-events:auto;display:flex;flex-direction:column;background:var(--dialog-window-bg);border:1px solid var(--color-border-subtle);border-radius:var(--dialog-window-radius);box-shadow:0 20px 60px var(--color-shadow-strong);max-height:80vh;user-select:text}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes fadeOut{0%{opacity:1}to{opacity:0}}@keyframes scaleIn{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes scaleOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)}}.dialog.bootstrap .backdrop{background:var(--dialog-backdrop-transparent)}.dialog.bootstrap .window{width:min(380px,calc(100vw - var(--layout-margin-left) - var(--layout-margin-right)));max-width:100%;background:var(--dialog-window-bg);border-radius:var(--dialog-window-radius);padding:32px;align-items:stretch;text-align:left;animation:scaleIn .15s ease-out;gap:24px}.dialog.bootstrap.fade-out{animation:fadeOut .3s ease-out forwards;pointer-events:none}.dialog.bootstrap.fade-out .window{animation:scaleOut .3s ease-out forwards}.dialog.bootstrap .branding{display:flex;flex-direction:column;align-items:flex-start}.dialog.bootstrap .branding img{height:48px}.dialog.bootstrap .tagline{font-size:var(--font-size-sm);opacity:.4;margin-top:8px;letter-spacing:1px}.dialog.bootstrap .progress{display:flex;flex-direction:column;gap:12px}.dialog.bootstrap .progress-text{font-size:var(--font-size-md);font-weight:500;opacity:.7}.dialog.bootstrap .progress-bar{width:100%;height:8px;background:var(--color-surface);border-radius:4px;overflow:hidden}.dialog.bootstrap .progress-fill{height:100%;background:repeating-linear-gradient(45deg,#fffc,#fffc 10px,#fff9 10px 20px);transition:width .3s ease}.dialog.bootstrap .error{padding:16px;background:var(--color-error-bg);border:1px solid var(--color-error-border);border-radius:8px}.dialog.bootstrap .error p{margin:0 0 8px}.dialog.bootstrap .error .detail{font-size:var(--font-size-mono);opacity:.7;font-family:monospace}.dialog.bootstrap .start{margin-top:24px;text-align:center}.dialog.bootstrap .start .btn{padding:12px 48px;font-size:var(--font-size-lg)}.dialog.bootstrap .footer{text-align:center;margin-top:8px}.dialog .footer .version{font-size:var(--font-size-mono);opacity:.4;font-family:monospace}.dialog.options .backdrop{animation:fadeIn .15s ease-out}.dialog.options .window{width:90%;max-width:480px;animation:scaleIn .15s ease-out}@media (min-width: 640px){.dialog.options .header{cursor:move;user-select:none}.dialog.options .header h2,.dialog.options .header button{cursor:default}.dialog.options .window.dragging{transition:none}}@media (max-width: 639px){.dialog.options{align-items:flex-end}.dialog.options .window{width:100%;max-width:100%;max-height:85vh;border-radius:16px 16px 0 0;animation:slideUp .25s ease-out}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes slideDown{0%{transform:translateY(0)}to{transform:translateY(100%)}}.dialog.options.closing .backdrop{animation:fadeOut .25s ease-out forwards}.dialog.options.closing .window{animation:scaleOut .25s ease-out forwards}@media (max-width: 639px){.dialog.options.closing .window{animation:slideDown .25s ease-out forwards}}.dialog.options .header{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:16px 20px;border-bottom:1px solid var(--color-border-light)}.dialog.options .header h2{margin:0;font-size:var(--font-size-lg);font-weight:500;color:var(--color-text-primary);white-space:nowrap}.dialog.options .header .bar{display:flex;align-items:center;justify-content:flex-end;gap:4px;width:auto;flex-shrink:0}.dialog.options .close{background:none;border:none;color:var(--color-glow);font-size:var(--font-size-xl);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .15s,color .15s}@media (hover: hover){.dialog.options .close:hover{background:var(--color-surface);color:var(--color-text-primary)}}.dialog.options .content{flex:1;overflow-y:auto;padding:16px 20px}.dialog.options .section{margin-bottom:24px}.dialog.options .section:last-child{margin-bottom:0}.dialog.options .section>.title{margin:0 0 8px;font-size:var(--font-size-sm);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.dialog.options .section>.description{margin:0 0 12px;padding:0;font-size:var(--font-size-2xs);color:var(--color-text-subtle);background:none;border:none}.dialog.options .subsection{margin-bottom:16px}.dialog.options .subsection:last-child{margin-bottom:0}.dialog.options .subsection>.title{margin:0 0 4px;font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:var(--color-text-muted)}.dialog.options .layer-description{margin:0 0 8px;font-size:var(--font-size-sm);color:var(--color-text-muted);line-height:1.4}.dialog.options .layer-description .param-link{color:var(--color-primary);text-decoration:none}.dialog.options .layer-description .param-link:hover{text-decoration:underline}.dialog.options .row{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--color-border-light);gap:16px}.dialog.options .row:last-child{border-bottom:none}.dialog.options .row.palette-row{flex-direction:column;align-items:flex-start;gap:8px}.dialog.options .row.palette-row .info{display:flex;justify-content:space-between;align-items:flex-start;width:100%}.dialog.options .row.palette-row .controls{width:100%}.radio-palette-control{display:flex;flex-direction:column;gap:12px}.radio-palette-control{width:100%}.radio-palette-control .palette-option{cursor:pointer}.radio-palette-control .palette-name{font-weight:700;font-size:var(--font-size-xs)}.radio-palette-control .palette-description{font-weight:400;font-size:var(--font-size-xs);color:var(--color-text-subtle)}.radio-palette-control .palette-option canvas{margin-top:6px;background-color:transparent}.radio-palette-control .palette-option.selected canvas{background-color:#ffffff26}.dialog.options .row .info{flex:1;min-width:0}.dialog.options .row .label{display:block;font-size:var(--font-size-md);color:var(--color-text-primary)}.dialog.options .row .hint{display:block;font-size:var(--font-size-xs);color:var(--color-text-subtle);margin-top:2px}.dialog.options .row .controls{display:flex;align-items:center;gap:8px;flex-shrink:0}.dialog.options .reset{background:none;border:none;color:var(--color-text-subtle);font-size:var(--font-size-base);cursor:pointer;padding:4px;border-radius:4px;transition:color .15s,background .15s}@media (hover: hover){.dialog.options .reset:hover{color:var(--color-text-primary);background:var(--color-surface)}}.dialog.options .toggle{position:relative;display:inline-block;width:44px;height:24px;cursor:pointer}.dialog.options .toggle input{opacity:0;width:0;height:0}.dialog.options .toggle .track{position:absolute;inset:0;background:var(--color-surface-hover);border-radius:24px;transition:background .2s}.dialog.options .toggle .track:before{content:"";position:absolute;width:18px;height:18px;left:3px;bottom:3px;background:var(--color-text-primary);border-radius:50%;transition:transform .2s}.dialog.options .toggle input:checked+.track{background:var(--color-primary)}.dialog.options .toggle input:checked+.track:before{transform:translate(20px)}.dialog.options .toggle.disabled{opacity:.4;cursor:not-allowed}.dialog.options .toggle.disabled input{cursor:not-allowed}.dialog.options .layer-toggle-row{display:flex;align-items:center;gap:8px}.dialog.options .layer-toggle-row .layer-color{width:12px;height:12px;border-radius:2px;flex-shrink:0}.dialog.options .prefetch-size .size-value{font-size:var(--font-size-sm);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.dialog.options .slider{display:flex;align-items:center;gap:8px;width:160px;flex-shrink:0}.dialog.options .slider input[type=range]{width:100px;flex-shrink:0;height:4px;appearance:none;-webkit-appearance:none;background:var(--color-surface-hover);border-radius:2px;outline:none;cursor:pointer}.dialog.options .slider input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:14px;height:14px;background:var(--color-text-primary);border-radius:50%;cursor:pointer;box-shadow:0 1px 4px var(--color-shadow)}.dialog.options .slider input[type=range]::-moz-range-thumb{width:14px;height:14px;background:var(--color-text-primary);border-radius:50%;cursor:pointer;border:none;box-shadow:0 1px 4px var(--color-shadow)}.dialog.options .slider .value{font-size:var(--font-size-2xs);color:var(--color-glow);width:44px;flex-shrink:0;text-align:right;font-variant-numeric:tabular-nums}.dialog.options .select{background:var(--color-surface);border:1px solid var(--color-border-subtle);border-radius:6px;color:var(--color-text-primary);padding:6px 28px 6px 10px;font-size:var(--font-size-sm);cursor:pointer;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' fill-opacity='0.6' d='M3 4.5L6 7.5L9 4.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 8px center}.dialog.options .select:focus{outline:none;border-color:var(--color-primary-border-focus)}.dialog.options .select option{background:#1a1a1a;color:#fff}.dialog.options .radio-group{display:flex;align-items:center;gap:4px}.dialog.options .radio{display:flex;align-items:center;padding:5px 10px;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:4px;cursor:pointer;transition:all .15s}@media (hover: hover){.dialog.options .radio:hover{background:var(--color-surface-hover)}}.dialog.options .radio.selected{background:var(--color-primary-bg);border-color:var(--color-primary-border-selected)}.dialog.options .radio input[type=radio]{display:none}.dialog.options .radio span{font-size:var(--font-size-2xs);color:var(--color-glow)}.dialog.options .radio.selected span{color:var(--color-primary)}.dialog.options .radio.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.pressure-color-control{display:flex;flex-direction:column;gap:10px;width:100%}.pressure-color-control .mode-selector{display:flex;gap:4px;flex-wrap:wrap}.pressure-color-control .mode-option{display:flex;align-items:center;padding:5px 10px;background:var(--color-surface);border:1px solid var(--color-border-light);border-radius:4px;cursor:pointer;transition:all .15s}@media (hover: hover){.pressure-color-control .mode-option:hover{background:var(--color-surface-hover)}}.pressure-color-control .mode-option.selected{background:var(--color-primary-bg);border-color:var(--color-primary-border-selected)}.pressure-color-control .mode-option input[type=radio]{display:none}.pressure-color-control .mode-option span{font-size:var(--font-size-2xs);color:var(--color-glow)}.pressure-color-control .mode-option.selected span{color:var(--color-primary)}.pressure-color-control .color-chips{display:flex;gap:8px}.pressure-color-control .color-chip{width:28px;height:28px;border-radius:6px;border:2px solid transparent;cursor:pointer;transition:border-color .15s,transform .15s}@media (hover: hover){.pressure-color-control .color-chip:hover{transform:scale(1.1)}}.pressure-color-control .color-chip.selected{border-color:var(--color-primary)}.pressure-color-control .gradient-preview{height:24px;border-radius:4px;width:100%}.pressure-color-control .debug-hint{font-size:var(--font-size-xs);color:var(--color-text-subtle);font-style:italic}.dialog.options .spinner{width:14px;height:14px;border:2px solid transparent;border-radius:50%;margin-right:6px;flex-shrink:0;opacity:0}.dialog.options .spinner.visible{border-color:var(--color-primary-bg-hover);border-top-color:var(--color-primary);animation:spin .8s linear infinite;opacity:1}@keyframes spin{to{transform:rotate(360deg)}}.dialog.options .advanced-toggle{margin-top:16px;padding-top:16px;border-top:1px solid var(--color-border-light)}.dialog.options .advanced-toggle:has(input:checked){margin-bottom:16px}.dialog.options .advanced-toggle label{display:flex;align-items:center;gap:8px;font-size:var(--font-size-sm);color:var(--color-text-muted);cursor:pointer}.dialog.options .advanced-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer}.dialog.options .danger-zone{margin:16px 0 0;padding:16px 0;background:transparent;border-top:1px solid var(--color-danger-border);border-bottom:1px solid var(--color-danger-border);text-align:left}.dialog.options .danger-zone h3{margin:0 0 4px;font-size:var(--font-size-md);color:#f88}.dialog.options .danger-zone .hint{display:block;font-size:var(--font-size-xs);color:var(--color-text-subtle);margin-bottom:12px}.dialog.options .danger-zone .actions{display:flex;justify-content:flex-start;gap:12px}.dialog.options .danger-zone .advanced-toggle-row{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.dialog.options .danger-zone .toggle-label{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.dialog.options .footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid var(--color-border-light)}.dialog.options .footer .actions{display:flex;gap:12px}.dialog.options .footer .btn-secondary{padding:8px 24px}.dialog.about .backdrop{animation:fadeIn .15s ease-out}.dialog.about .window{width:90%;max-width:740px;animation:scaleIn .15s ease-out}@media (min-width: 640px){.dialog.about .header{cursor:move;user-select:none}.dialog.about .header h2,.dialog.about .header button{cursor:default}.dialog.about .window.dragging{transition:none}}@media (max-width: 639px){.dialog.about{align-items:flex-end}.dialog.about .window{width:100%;max-width:100%;max-height:85vh;border-radius:16px 16px 0 0;animation:slideUp .25s ease-out}}.dialog.about .header{display:flex;align-items:center;justify-content:space-between;gap:2rem;padding:16px 20px;border-bottom:1px solid var(--color-border-light)}.dialog.about .header h2{margin:0;font-size:var(--font-size-lg);font-weight:500;color:var(--color-text-primary);white-space:nowrap}.dialog.about .header .bar{display:flex;align-items:center;justify-content:flex-end;gap:4px;width:auto;flex-shrink:0}.dialog.about .close{background:none;border:none;color:var(--color-glow);font-size:var(--font-size-xl);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;transition:background .15s,color .15s}@media (hover: hover){.dialog.about .close:hover{background:var(--color-surface);color:var(--color-text-primary)}}.dialog.about .content{flex:1;overflow-y:auto;padding:20px 24px;font-weight:var(--font-weight-thin)}.dialog.about .content.markdown{line-height:1.6}.dialog.about .content h1{font-size:var(--font-size-xl);font-weight:var(--font-weight-regular);margin:0 0 16px;color:var(--color-text-primary)}.dialog.about .content h2{font-size:var(--font-size-lg);font-weight:var(--font-weight-regular);margin:24px 0 12px;color:var(--color-text-primary)}.dialog.about .content h3{font-size:var(--font-size-base);font-weight:var(--font-weight-regular);margin:20px 0 8px;color:var(--color-text-primary)}.dialog.about .content p{margin:0 0 12px;color:var(--color-text-secondary)}.dialog.about .content ul,.dialog.about .content ol{margin:0 0 12px;padding-left:24px;color:var(--color-text-secondary)}.dialog.about .content li{margin-bottom:4px}.dialog.about .content strong{color:var(--color-text-primary);font-weight:400}.dialog.about .content em{font-style:italic;color:var(--color-text-muted)}.dialog.about .content a{color:var(--color-btn-primary);font-weight:400;text-decoration:none}.dialog.about .content a:hover{text-decoration:underline}.dialog.about .content code{background:var(--color-surface);padding:2px 6px;border-radius:4px;font-size:var(--font-size-mono);font-family:monospace}.dialog.about .content pre{background:var(--color-surface);padding:12px 16px;border-radius:6px;overflow-x:auto;margin:0 0 12px}.dialog.about .content pre code{background:none;padding:0}.dialog.about .content blockquote{border-left:3px solid var(--color-primary);margin:0 0 12px;padding-left:16px;color:var(--color-text-muted)}.dialog.about .content hr{border:none;border-top:1px solid var(--color-border-light);margin:24px 0}.dialog.about .content table{width:100%;border-collapse:collapse;margin:0 0 12px;font-size:var(--font-size-sm)}.dialog.about .content th,.dialog.about .content td{padding:8px 12px;text-align:left;border-bottom:1px solid var(--color-border-light)}.dialog.about .content th{color:var(--color-text-primary);font-weight:400}.dialog.about .content td{color:var(--color-text-secondary)}.dialog.about .content img{max-width:100%;height:auto;border-radius:6px;margin:8px 0}.dialog.about .content video{max-width:100%;border-radius:6px;margin:8px 0}.dialog.about .loading,.dialog.about .error{padding:40px;text-align:center;color:var(--color-text-muted)}.dialog.about .error{color:var(--color-danger)}.dialog.about .footer{display:flex;align-items:center;justify-content:space-between;padding:16px 20px;border-top:1px solid var(--color-border-light)}.dialog.about .footer .actions{display:flex;gap:12px}.dialog.about .footer .btn-secondary{padding:8px 24px}.dialog.floating .backdrop{pointer-events:none;background:transparent}.dialog.floating .window{box-shadow:0 8px 32px var(--color-shadow-strong)}.dialog.floating.behind{z-index:50}.dialog.floating.top{z-index:51}.dialog .float-toggle{background:none;border:none;color:var(--color-glow);font-size:var(--font-size-xl);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:6px;opacity:.6;transition:opacity .15s,background .15s}.dialog .float-toggle:hover{opacity:1;background:var(--color-surface)}.dialog.floating .float-toggle{opacity:1}.layer.widget{border-left:4px solid rgba(255,255,255,.3);border-top:1px solid rgba(255,255,255,.4);border-right:1px solid rgba(255,255,255,.4);border-bottom:1px solid rgba(255,255,255,.4);background:#000;border-radius:0 50px 50px 0}@media (hover: hover){.layer.widget:hover{border-top-color:#fff9;border-right-color:#fff9;border-bottom-color:#fff9}}.layer.widget:active{border-top-color:#ffffffb3;border-right-color:#ffffffb3;border-bottom-color:#ffffffb3}.layer.widget .toggle{background:transparent;border:none;color:#fff;padding:8px 4px 8px 12px;cursor:pointer;font-size:var(--font-size-sm);font-family:inherit;text-align:left;flex:1}.layer.widget .options{position:relative;background:transparent;border:none;padding:9px;cursor:pointer;height:100%;aspect-ratio:1;display:flex;align-items:center;justify-content:center;z-index:1}.layer.widget .options svg{width:14px;height:14px;fill:#ffffff80;vertical-align:middle}@media (hover: hover){.layer.widget .options:hover svg{fill:#fff}}.layer.widget .options:active svg{fill:#fff}.layer.widget.active{border-left-color:#fff9}.layer.widget.active.earth{border-left-color:var(--color-layer-earth)}.layer.widget.active.sun{border-left-color:var(--color-layer-sun)}.layer.widget.active.grid{border-left-color:var(--color-layer-graticule)}.layer.widget.active.temp{border-left-color:var(--color-layer-temp)}.layer.widget.active.rain{border-left-color:var(--color-layer-rain)}.layer.widget.active.clouds{border-left-color:var(--color-layer-clouds)}.layer.widget.active.humidity{border-left-color:var(--color-layer-humidity)}.layer.widget.active.wind{border-left-color:var(--color-layer-wind)}.layer.widget.active.pressure{border-left-color:var(--color-layer-pressure)}
