:root{--bg-dark:#0d1117;--bg-glass:#0f1721bf;--bg-glass-heavy:#0d1117e0;--accent-cyan:#00e5ff;--accent-green:#76ff03;--accent-orange:#ff9100;--accent-red:#ff1744;--accent-amber:#ffc400;--gradient-brand:linear-gradient(135deg, #00e5ff, #76ff03);--text-primary:#f0f6fc;--text-secondary:#e6edf3a6;--text-muted:#e6edf366;--border-glass:#ffffff14;--border-glow:#00e5ff59;--bg-scrim:#0d111766;--color-grip:#ffffff59;--glow-cyan:0 0 20px #00e5ff73;--glow-green:0 0 20px #76ff0373;--glow-orange:0 0 20px #ff910073;--panel-shadow:0 8px 32px #00000073, inset 0 1px 0 #ffffff0a;--glass-blur:blur(28px);--radius-xs:6px;--radius-sm:10px;--radius-md:14px;--radius-lg:20px;--sp-2xs:2px;--sp-xs:4px;--sp-sm:8px;--sp-md:16px;--sp-lg:24px;--sp-xl:32px;--sp-2xl:48px;--sp-3xl:64px;--transition:.4s cubic-bezier(.4, 0, .2, 1);--transition-fast:.2s cubic-bezier(.4, 0, .2, 1);--font-display:"Inter", system-ui, sans-serif;--font-mono:"JetBrains Mono", monospace;--bp-xxs:361px;--bp-xs:431px;--bp-sm:640px;--bp-md:1024px;--bp-xl:1280px}.control-island{container-type:inline-size}.control-island:before{content:"";background:var(--gradient-brand);opacity:.5;border-radius:inherit;z-index:1;height:1px;position:absolute;top:0;left:0;right:0}.ci-section{gap:var(--sp-xs);flex-direction:column;display:flex}.ci-label{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);font-size:10px;font-weight:600}.ci-dropdown{position:relative}.dropdown-header{border:1px solid var(--border-glass);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-display);cursor:pointer;transition:border-color var(--transition-fast);background:#ffffff0a;justify-content:space-between;align-items:center;padding:8px 12px;font-size:13px;display:flex}.dropdown-header:hover{border-color:var(--border-glow)}.chevron{width:16px;min-width:16px;height:16px;transition:transform var(--transition-fast);flex-shrink:0}.dropdown-content{background:var(--bg-glass-heavy);border:1px solid var(--border-glass);border-radius:var(--radius-sm);max-height:min(60dvh,420px);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);z-index:30;scrollbar-width:thin;scrollbar-color:#ffffff26 transparent;flex-direction:column;gap:2px;padding:6px;display:flex;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 32px #00000080}.dropdown-content::-webkit-scrollbar{width:6px}.dropdown-content::-webkit-scrollbar-thumb{background:#ffffff26;border-radius:3px}.ci-param-group{flex-direction:column;gap:2px;display:flex}.ci-toggle{cursor:pointer;color:var(--text-secondary);transition:background var(--transition-fast);background:0 0;border:none;border-radius:4px;align-items:center;gap:8px;padding:4px 6px;font-size:12px;display:flex}.ci-toggle:hover{background:#ffffff0a}.ci-toggle input[type=checkbox]{display:none}.toggle-dot{background:var(--clr);opacity:.35;width:8px;height:8px;transition:opacity var(--transition-fast);border-radius:50%}.ci-toggle input:checked+.toggle-dot{opacity:1;box-shadow:0 0 6px var(--clr)}.ci-toggle.is-solo{box-shadow:inset 0 0 0 1px var(--accent-cyan);background:#00e5ff0f}.toggle-solo-badge{letter-spacing:1px;color:var(--accent-cyan);border:1px solid var(--accent-cyan);background:#00e5ff1f;border-radius:3px;margin-left:auto;padding:1px 4px;font-size:8px;font-weight:700}.ci-param-option{all:unset;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast);border-radius:4px;padding:6px 8px;font-size:12px}.ci-param-option:hover{background:#ffffff0a}.ci-param-option.active{color:var(--accent-cyan)}.ci-param-group-label{letter-spacing:.08em;text-transform:uppercase;color:var(--text-secondary);opacity:.55;padding:8px 8px 4px;font-family:JetBrains Mono,monospace;font-size:9px;font-weight:600}.ci-param-group-label:first-child{padding-top:2px}.display-model-group{flex-direction:column;gap:4px;display:flex}.display-model-row{border:1px solid var(--border-glass);border-radius:var(--radius-xs);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);align-items:stretch;display:flex;overflow:hidden}.display-model-row:hover{border-color:var(--clr)}.display-model-row.active{border-color:var(--clr);box-shadow:0 0 8px color-mix(in srgb, var(--clr) 40%, transparent)}.display-model-btn{all:unset;color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast);flex:1;align-items:center;gap:8px;padding:6px 10px;font-size:11px;font-weight:500;display:flex}.display-model-dot{background:var(--clr);border-radius:50%;flex-shrink:0;width:7px;height:7px}.display-model-row:not(.active) .display-model-dot{border:1.5px solid var(--clr);background:0 0}.display-model-label{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.display-model-row.active .display-model-btn{color:var(--text-primary)}.display-model-row.no-layer .display-model-label{opacity:.6}.display-model-nolayer{font-family:var(--font-mono);letter-spacing:.5px;text-transform:uppercase;color:var(--accent-amber);background:color-mix(in srgb, var(--accent-amber) 14%, transparent);border:1px solid color-mix(in srgb, var(--accent-amber) 35%, transparent);border-radius:var(--radius-xs);flex-shrink:0;margin-left:auto;padding:1px 5px;font-size:9px;font-weight:700}.map-param-notice{top:var(--sp-md);z-index:15;max-width:min(440px,100% - 32px);color:var(--text-secondary);background:var(--bg-glass-heavy);border:1px solid color-mix(in srgb, var(--accent-amber) 45%, transparent);border-radius:var(--radius-sm);-webkit-backdrop-filter:blur(28px);pointer-events:none;align-items:center;gap:8px;padding:8px 14px;font-size:12px;line-height:1.4;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 0 20px #ffc40040}.map-param-notice strong{color:var(--text-primary);font-weight:600}.map-param-notice-icon{color:var(--accent-amber);flex-shrink:0;font-size:14px}.display-model-remove{all:unset;width:22px;color:var(--text-muted);cursor:pointer;border-left:1px solid var(--border-glass);transition:color var(--transition-fast), background var(--transition-fast);justify-content:center;align-items:center;display:flex}.display-model-remove:hover{color:var(--accent-red);background:color-mix(in srgb, var(--accent-red) 12%, transparent)}.display-model-remove:focus-visible{color:var(--accent-red);outline:1px solid var(--accent-red);outline-offset:-1px}.search-input-wrap{position:relative}.search-input{border:1px solid var(--border-glass);border-radius:var(--radius-sm);width:100%;color:var(--text-primary);font-family:var(--font-display);transition:border-color var(--transition-fast);background:#ffffff0a;outline:none;padding:8px 12px;font-size:12px}.search-input::placeholder{color:var(--text-muted)}.search-input:focus{border-color:var(--border-glow)}.search-status{color:var(--text-muted);margin-top:2px;font-size:10px}@media (width<=1023px){.ci-toggle{padding:12px 14px;font-size:13px}.dropdown-header{padding:12px 14px}}.hamburger-button{top:var(--sp-md);left:var(--sp-md);background:var(--bg-glass-heavy);-webkit-backdrop-filter:blur(28px);border-radius:var(--radius-md);width:44px;height:44px;color:var(--accent-cyan);cursor:pointer;z-index:40;transition:border-color var(--transition-fast);border:1px solid #ffffff14;justify-content:center;align-items:center;padding:0;display:none;position:fixed}.hamburger-button:hover{border-color:var(--border-glow)}.hamburger-button:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:2px}.hamburger-icon{width:20px;height:14px;display:block;position:relative}.hamburger-line{background:var(--accent-cyan);border-radius:1px;width:100%;height:2px;transition:transform .2s cubic-bezier(.4,0,.2,1),opacity .2s cubic-bezier(.4,0,.2,1),top .2s cubic-bezier(.4,0,.2,1);position:absolute;left:0}.hamburger-line:first-child{top:0}.hamburger-line:nth-child(2){top:6px}.hamburger-line:nth-child(3){top:12px}.hamburger-icon.is-open .hamburger-line:first-child{top:6px;transform:rotate(45deg)}.hamburger-icon.is-open .hamburger-line:nth-child(2){opacity:0}.hamburger-icon.is-open .hamburger-line:nth-child(3){top:6px;transform:rotate(-45deg)}.scrim{background:var(--bg-scrim);z-index:25;opacity:0;pointer-events:none;transition:opacity .3s cubic-bezier(.4,0,.2,1) .1s;display:none;position:fixed;inset:0}.scrim.is-visible{opacity:1;pointer-events:auto}@media (width<=1023px){.hamburger-button{display:inline-flex}.hamburger-button[aria-expanded=true]{display:none}.scrim{display:block}.control-island{border-radius:0;max-height:100dvh;transition:transform .4s cubic-bezier(.4,0,.2,1);overflow-y:auto;transform:translate(-100%);z-index:30!important;width:260px!important;height:100dvh!important;position:fixed!important;top:0!important;left:0!important}.control-island.is-open{transform:translate(0)}}#app-root .maplibregl-ctrl-group{background:var(--bg-glass-heavy);border:1px solid var(--border-glass);border-radius:var(--radius-xs);-webkit-backdrop-filter:var(--glass-blur);box-shadow:var(--panel-shadow);overflow:hidden}#app-root .maplibregl-ctrl-group button{width:32px;height:32px;transition:background-color var(--transition-fast), box-shadow var(--transition-fast);background-color:#0000}#app-root .maplibregl-ctrl-group button+button{border-top:1px solid var(--border-glass)}#app-root .maplibregl-ctrl-group button .maplibregl-ctrl-icon{filter:brightness(0)saturate()invert(72%)sepia(63%)saturate(3777%)hue-rotate(151deg)brightness(101%)contrast(101%);opacity:.85}#app-root .maplibregl-ctrl-group button:hover{background-color:#00e5ff14}#app-root .maplibregl-ctrl-group button:hover .maplibregl-ctrl-icon{opacity:1}#app-root .maplibregl-ctrl-group button:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:-2px;box-shadow:var(--glow-cyan)}#app-root .maplibregl-ctrl-group button:disabled .maplibregl-ctrl-icon{opacity:.3}@media (width<=1023px){#app-root .maplibregl-ctrl-group button{width:44px;height:44px}}.consensus-gauge{width:120px;padding:14px 12px;container-type:inline-size}.gauge-ring{justify-content:center;align-items:center;width:80px;max-width:100%;height:80px;display:flex;position:relative}.gauge-svg{max-width:100%;max-height:100%;display:block}.gauge-value-wrap{align-items:baseline;gap:1px;display:flex;position:absolute}.gauge-value{font-family:var(--font-mono);color:var(--text-primary);font-size:clamp(16px,4cqw,24px);font-weight:700}.gauge-unit{font-family:var(--font-mono);color:var(--text-muted);font-size:12px}.gauge-label{flex-direction:column;align-items:center;gap:5px;width:100%;display:flex}.gauge-label-text{letter-spacing:1.5px;text-transform:uppercase;color:var(--text-muted);white-space:nowrap;font-size:clamp(10px,2.4cqw,11px);font-weight:600}.conf-badge{border-radius:4px;padding:2px 8px;font-size:10px;font-weight:600}.conf-high{color:var(--accent-green);background:#76ff031a}.conf-medium{color:var(--accent-orange);background:#ff91001a}.conf-low{color:var(--accent-red);background:#ff17441a}@media (width<=639px){.consensus-gauge{width:108px;padding:12px 10px}.gauge-ring{width:70px;height:70px}}@media (width<=430px){.consensus-gauge{width:100px;padding:10px 8px}.gauge-ring{width:64px;height:64px}}@media (width<=360px){.consensus-gauge{width:88px;padding:8px 6px}.gauge-ring{width:56px;height:56px}.gauge-label-text{display:none}}.analysis-drawer{container-type:inline-size}.analysis-drawer:before{content:"";background:var(--gradient-brand);opacity:.6;border-radius:var(--radius-lg) var(--radius-lg) 0 0;height:1px;position:absolute;top:0;left:0;right:0}.drawer-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.drawer-title{color:var(--text-primary);white-space:nowrap;font-size:13px;font-weight:600}.drawer-legend{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.legend-item{white-space:nowrap;align-items:center;gap:5px;display:flex}.legend-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.legend-label{color:var(--text-secondary);font-size:11px}.timeline{flex-direction:column;gap:4px;display:flex}.timeline-controls{align-items:center;gap:8px;display:flex}.play-btn{all:unset;width:28px;height:28px;color:var(--accent-cyan);border:1px solid var(--border-glass);border-radius:var(--radius-xs);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;font-size:14px;display:flex}.play-btn:hover{border-color:var(--border-glow);box-shadow:var(--glow-cyan)}.tl-current{color:var(--text-secondary);font-family:var(--font-mono);font-size:11px}.timeline-track-wrap{cursor:pointer;height:18px;position:relative}.timeline-rail{pointer-events:none;background:#ffffff14;border-radius:2px;height:4px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.divergence-dots{pointer-events:none;height:4px;position:absolute;top:50%;left:0;right:0;transform:translateY(-50%)}.div-dot{border-radius:50%;width:3px;height:3px;position:absolute;top:50%;transform:translate(-50%,-50%)}.timeline-thumb{background:var(--accent-cyan);pointer-events:none;border-radius:50%;width:12px;height:12px;transition:left .12s linear;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 0 6px #00e5ff99}.chart-toolbar{grid-template-columns:auto 1fr auto;align-items:center;gap:12px;min-height:32px;display:grid}.chart-toolbar-center{min-width:0;overflow:hidden}.view-selector{position:relative}.view-pill{all:unset;border:1px solid var(--border-glass);border-radius:var(--radius-sm);color:var(--text-primary);letter-spacing:.5px;cursor:pointer;transition:border-color var(--transition-fast), background var(--transition-fast);background:#ffffff0a;align-items:center;gap:6px;padding:5px 10px;font-size:11px;font-weight:600;display:inline-flex}.view-pill:hover{border-color:var(--border-glow);background:#00e5ff0a}.view-pill svg{opacity:.6}.view-pill-label{text-overflow:ellipsis;white-space:nowrap;max-width:180px;overflow:hidden}.view-menu{background:var(--bg-glass-heavy);border:1px solid var(--border-glass);border-radius:var(--radius-sm);min-width:240px;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);z-index:20;animation:dropdownIn .2s var(--transition-ease);padding:6px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 12px 32px #00000080}.view-menu-section+.view-menu-section{border-top:1px solid var(--border-glass);margin-top:4px;padding-top:4px}.view-menu-header{letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);padding:4px 8px;font-size:9px;font-weight:700}.view-menu-row{grid-template-columns:1fr auto auto;align-items:center;gap:2px;display:grid}.view-menu-item{all:unset;color:var(--text-secondary);cursor:pointer;transition:background var(--transition-fast);border-radius:4px;justify-content:space-between;align-items:center;padding:6px 8px;font-size:12px;display:flex}.view-menu-item:hover{color:var(--text-primary);background:#ffffff0a}.view-menu-item.is-active{color:var(--accent-cyan);background:#00e5ff0f}.view-check{color:var(--accent-cyan);font-size:11px}.view-menu-icon{all:unset;width:22px;height:22px;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);border-radius:4px;justify-content:center;align-items:center;font-size:12px;display:flex}.view-menu-icon:hover{color:var(--text-primary);background:#ffffff0a}.view-menu-footer{border-top:1px solid var(--border-glass);margin-top:4px;padding-top:4px}.view-menu-cta{all:unset;box-sizing:border-box;width:100%;color:var(--accent-cyan);text-align:center;cursor:pointer;transition:background var(--transition-fast);border-radius:4px;padding:6px 8px;font-size:11px;font-weight:600;display:block}.view-menu-cta:hover{background:#00e5ff14}.model-legend{scroll-snap-type:x mandatory;scroll-behavior:smooth;scrollbar-width:none;cursor:grab;touch-action:pan-y;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:2px 0;display:flex;overflow:auto hidden;-webkit-mask-image:linear-gradient(90deg,#0000 0,#000 12px calc(100% - 12px),#0000 100%);mask-image:linear-gradient(90deg,#0000 0,#000 12px calc(100% - 12px),#0000 100%)}.model-legend.is-scrubbing{cursor:grabbing;scroll-snap-type:none;scroll-behavior:auto}.model-legend::-webkit-scrollbar{display:none}.legend-chip{all:unset;border-radius:var(--radius-xs);letter-spacing:.8px;color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:all var(--transition-fast);--chip-color:var(--accent-cyan);background:#ffffff05;border:1px solid #0000;align-items:center;gap:5px;padding:4px 8px;font-size:10px;font-weight:600;display:inline-flex}.legend-chip:hover{border-color:var(--chip-color);color:var(--text-primary)}.legend-chip-dot{background:var(--chip-color);border-radius:50%;flex-shrink:0;width:7px;height:7px}.legend-chip.is-hidden{opacity:.35}.legend-chip.is-hidden .legend-chip-dot{border:1.5px solid var(--chip-color);background:0 0}.legend-chip.is-active{color:var(--text-primary)}.legend-chip.is-solo{border-color:var(--chip-color);box-shadow:0 0 0 1px var(--chip-color), 0 0 8px color-mix(in srgb, var(--chip-color) 50%, transparent)}.legend-chip.is-muted:not(.is-solo){opacity:.4}.legend-chip.is-golden{pointer-events:none;--chip-color:#ffc400;border-color:#ffc4004d}.legend-chip.is-golden .legend-chip-dot{box-shadow:0 0 6px #ffc400}.display-toggles{align-items:center;gap:4px;display:inline-flex}.toggle-btn{all:unset;width:28px;height:28px;color:var(--text-muted);border:1px solid var(--border-glass);border-radius:var(--radius-xs);cursor:pointer;transition:all var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.toggle-btn:hover{color:var(--text-primary);border-color:var(--border-glow)}.toggle-btn.is-on{color:var(--accent-cyan);border-color:var(--accent-cyan);background:#00e5ff0f;box-shadow:0 0 8px #00e5ff40}.toggle-overflow{position:relative}.toggle-overflow-menu{background:var(--bg-glass-heavy);border:1px solid var(--border-glass);border-radius:var(--radius-sm);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);z-index:20;min-width:140px;animation:dropdownIn .2s var(--transition-ease);padding:8px 10px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #00000080}.toggle-overflow-label{letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);margin-bottom:6px;font-size:9px;font-weight:700}.toggle-overflow-row{gap:4px;display:flex}.weight-btn{all:unset;border:1px solid var(--border-glass);border-radius:var(--radius-xs);cursor:pointer;height:28px;transition:all var(--transition-fast);flex:1;justify-content:center;align-items:center;display:flex}.weight-btn:hover{border-color:var(--border-glow)}.weight-btn.is-on{border-color:var(--accent-cyan);background:#00e5ff0f}.weight-sample{border-radius:1px;width:18px;display:block}.range-mode{border:1px solid var(--border-glass);border-radius:var(--radius-xs);display:inline-flex;overflow:hidden}.range-seg{all:unset;letter-spacing:.8px;text-transform:uppercase;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);padding:4px 10px;font-size:10px;font-weight:600}.range-seg+.range-seg{border-left:1px solid var(--border-glass)}.range-seg:hover{color:var(--text-primary)}.range-seg.is-on{color:var(--bg-dark);background:var(--accent-cyan);box-shadow:inset 0 0 6px #00e5ff80}.zoom-reset{all:unset;letter-spacing:.8px;color:var(--accent-cyan);background:var(--bg-glass-heavy);border:1px solid var(--accent-cyan);border-radius:var(--radius-xs);cursor:pointer;-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);z-index:5;animation:dropdownIn .2s var(--transition-ease);padding:4px 10px;font-size:10px;font-weight:600;position:absolute;top:8px;right:8px;box-shadow:0 0 8px #00e5ff40}.zoom-reset:hover{background:#00e5ff1f}.analysis-drawer .drawer-title,.analysis-drawer .drawer-legend{display:none}.meteogram-scroll{touch-action:pan-x;-webkit-overflow-scrolling:touch;width:100%;height:100%;overflow:auto hidden}.meteogram-canvas{width:100%;height:100%;display:block}@media (width<=430px){.meteogram-canvas{width:600px;min-width:600px}.meteogram-scroll{-webkit-mask-image:linear-gradient(90deg,#000 0 calc(100% - 24px),#0000 100%);mask-image:linear-gradient(90deg,#000 0 calc(100% - 24px),#0000 100%)}}.chart-tip{z-index:8;background:var(--bg-glass-heavy);border:1px solid var(--border-glass);border-radius:var(--radius-sm);min-width:min(220px,60vw);max-width:min(280px,85vw);-webkit-backdrop-filter:var(--glass-blur);backdrop-filter:var(--glass-blur);pointer-events:none;font-family:var(--font-display);animation:dropdownIn .15s var(--transition-ease);flex-direction:column;gap:8px;padding:10px 12px;display:flex;position:absolute;top:8px;box-shadow:0 12px 32px #0000008c}.tip-meta{border-bottom:1px solid var(--border-glass);flex-direction:column;gap:2px;padding-bottom:6px;display:flex}.tip-time{font-family:var(--font-mono);color:var(--accent-cyan);letter-spacing:.4px;font-size:11px;font-weight:500}.tip-param{letter-spacing:1.2px;text-transform:uppercase;color:var(--text-muted);font-size:9px;font-weight:700}.tip-hero{--hero-color:#ffc400;grid-template-columns:auto 1fr auto;align-items:baseline;gap:8px;padding:4px 0;display:grid}.tip-hero.is-golden{--hero-color:#ffc400}.tip-hero-dot{background:var(--hero-color);width:10px;height:10px;box-shadow:0 0 8px var(--hero-color);border-radius:50%;grid-column:1;align-self:center}.tip-hero-name{letter-spacing:.5px;text-transform:uppercase;color:var(--text-primary);grid-column:2;font-size:11px;font-weight:600}.tip-hero-value{font-family:var(--font-mono);color:var(--hero-color);grid-column:3;font-size:18px;font-weight:700;line-height:1}.tip-hero-delta{font-family:var(--font-mono);color:var(--text-muted);grid-column:2/-1;padding-top:2px;font-size:10px;font-weight:500}.tip-stats{flex-direction:column;gap:3px;display:flex}.tip-stats:empty{display:none}.tip-stat-row{justify-content:space-between;align-items:baseline;gap:12px;font-size:10px;display:flex}.tip-stat-label{letter-spacing:1px;text-transform:uppercase;color:var(--text-muted);font-weight:700}.tip-stat-value{font-family:var(--font-mono);color:var(--text-primary);text-align:right;align-items:baseline;gap:8px;font-size:11px;font-weight:500;display:inline-flex}.tip-stat-sub{color:var(--text-muted);letter-spacing:.3px;font-size:10px}.tip-stat-value.is-good{color:var(--accent-green)}.tip-stat-value.is-warn{color:var(--accent-orange)}.tip-stat-value.is-bad{color:var(--accent-red)}.tip-golden-label{color:#ffc400;letter-spacing:.8px}.tip-golden-value{color:#ffc400}.tip-members{border-top:1px solid var(--border-glass);flex-direction:column;gap:3px;padding-top:6px;display:flex}.tip-member{--member-color:var(--accent-cyan);grid-template-columns:10px 1fr auto auto;align-items:baseline;gap:8px;font-size:10px;display:grid}.tip-member-dot{background:var(--member-color);border-radius:50%;place-self:center;width:7px;height:7px}.tip-member-name{letter-spacing:.3px;color:var(--text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:10px;font-weight:600;overflow:hidden}.tip-member-value{font-family:var(--font-mono);color:var(--text-primary);text-align:right;min-width:48px;font-size:11px;font-weight:600}.tip-member-delta{font-family:var(--font-mono);text-align:right;min-width:40px;color:var(--text-muted);font-size:10px;font-weight:500}.tip-member-delta.is-warn{color:var(--accent-orange)}.tip-member-delta.is-bad{color:var(--accent-red)}.tip-member.is-muted{opacity:.4}.tip-member.is-solo{background:#00e5ff0f;border-radius:3px;margin:0 -4px;padding:2px 4px}.overflow-check{all:unset;border-top:1px solid var(--border-glass);color:var(--text-secondary);cursor:pointer;transition:color var(--transition-fast);align-items:center;gap:8px;margin-top:8px;padding:6px 4px;font-size:11px;display:flex}.overflow-check:hover{color:var(--text-primary)}.overflow-check-box{border:1px solid var(--border-glass);width:14px;height:14px;color:var(--accent-cyan);transition:all var(--transition-fast);border-radius:3px;flex-shrink:0;justify-content:center;align-items:center;font-size:10px;display:inline-flex}.overflow-check.is-on .overflow-check-box{border-color:var(--accent-cyan);background:#00e5ff14}.tooltip-close{all:unset;width:28px;height:28px;color:var(--text-muted);border-radius:var(--radius-xs);cursor:pointer;transition:color var(--transition-fast), background var(--transition-fast);justify-content:center;align-items:center;font-size:14px;display:none;position:absolute;top:4px;right:4px}.tooltip-close:hover{color:var(--text-primary);background:#ffffff0f}.chart-tip[data-pinned=true] .tooltip-close{display:inline-flex}.chart-tip[data-pinned=true]{pointer-events:auto}.drawer-handle{all:unset;box-sizing:border-box;cursor:pointer;touch-action:manipulation;flex-shrink:0;justify-content:center;align-items:center;width:100%;height:56px;margin:-10px -14px 0;padding:0;display:none}.drawer-handle-grip{background:var(--color-grip);width:36px;height:4px;transition:background var(--transition-fast);border-radius:2px;display:block}.drawer-handle:hover .drawer-handle-grip,.drawer-handle:focus-visible .drawer-handle-grip{background:var(--text-secondary)}.drawer-handle:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:-6px;border-radius:var(--radius-lg) var(--radius-lg) 0 0}@media (width<=1023px){.drawer-handle{display:inline-flex}.analysis-drawer{z-index:10;transition:height .4s cubic-bezier(.4,0,.2,1);overflow:hidden}.analysis-drawer.is-peek{height:56px!important}.analysis-drawer.is-expanded{height:70dvh!important}#app-root .maplibregl-ctrl-bottom-right{bottom:64px}}@media (width>=361px) and (width<=1023px){.analysis-drawer.is-expanded{height:40dvh!important}}@media (prefers-reduced-motion:reduce){.analysis-drawer{transition:none}}.drawer-host{z-index:10;position:absolute;bottom:0;left:0;right:0;overflow:visible}.drawer-toggle-tab{all:unset;box-sizing:border-box;background:var(--bg-glass-heavy);border-radius:var(--radius-xs) var(--radius-xs) 0 0;cursor:pointer;width:52px;height:22px;color:var(--text-muted);-webkit-backdrop-filter:var(--glass-blur);transition:color var(--transition-fast), border-color var(--transition-fast), box-shadow var(--transition-fast);border:1px solid #00e5ff2e;border-bottom:none;justify-content:center;align-items:center;display:none;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.drawer-toggle-tab:before{content:"";background:var(--gradient-brand);opacity:.45;border-radius:1px;height:1px;position:absolute;top:0;left:20%;right:20%}.drawer-toggle-tab:hover,.drawer-toggle-tab:focus-visible{color:var(--accent-cyan);border-color:#00e5ff66;box-shadow:0 -6px 16px #00e5ff1a}.drawer-toggle-tab:focus-visible{outline:2px solid var(--accent-cyan);outline-offset:-3px}.drawer-chevron{transition:transform var(--transition);flex-shrink:0;display:block}.drawer-host.is-closed .drawer-chevron{transform:rotate(180deg)}@media (width>=1024px){.drawer-host{height:36vh;transition:transform var(--transition);will-change:transform}.drawer-host.is-closed{transform:translateY(100%)}.drawer-toggle-tab{display:inline-flex}}@media (prefers-reduced-motion:reduce){.drawer-host{transition:none}}@media (width<=1023px){.play-btn{width:44px;height:44px;font-size:18px}.toggle-btn{width:44px;height:44px}.weight-btn{height:44px}.legend-chip{padding:10px 12px}.timeline-track-wrap{height:28px}.timeline-thumb{width:20px;height:20px}.timeline-rail{height:6px}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{background:var(--bg-dark);width:100%;height:100dvh;font-family:var(--font-display);color:var(--text-primary);-webkit-font-smoothing:antialiased;overflow:hidden}#app-root{width:100%;height:100dvh;position:relative}@keyframes slideInLeft{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes slideInUp{0%{opacity:0;transform:translateY(100%)}to{opacity:1;transform:translateY(0)}}@media (width>=1024px){.control-island{animation:.8s cubic-bezier(.4,0,.2,1) both slideInLeft}.consensus-gauge{animation:.8s cubic-bezier(.4,0,.2,1) .2s both slideInRight}.analysis-drawer{animation:.8s cubic-bezier(.4,0,.2,1) .4s both slideInUp}}.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}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
