:root{--color-green: #4ade80;--color-green-dark: #22c55e;--color-green-tint: rgba(74, 222, 128, .15);--color-green-border: rgba(74, 222, 128, .2);--color-green-border-strong: rgba(74, 222, 128, .3);--color-green-bg: rgba(74, 222, 128, .08);--color-text: #e5e5e5;--color-text-muted: #888;--color-text-dim: #666;--color-label: #999;--color-error: #ef4444;--color-warning: #f97316;--color-amber: #fbbf24;--color-blue: #60a5fa;--color-blue-dark: #3b82f6;--color-purple: #a78bfa;--panel-bg: linear-gradient(135deg, rgba(20, 35, 30, .97) 0%, rgba(26, 40, 35, .97) 100%);--panel-bg-solid: linear-gradient(135deg, rgba(20, 30, 25, .98) 0%, rgba(25, 35, 30, .98) 100%);--panel-border: 1px solid var(--color-green-border);--panel-shadow: 0 8px 32px rgba(74, 222, 128, .15);--panel-shadow-sm: 0 4px 20px rgba(74, 222, 128, .12);--header-bg: linear-gradient(135deg, #14532d 0%, #166534 100%);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 14px;--radius-2xl: 16px;--z-map: 50;--z-stats: 90;--z-panel: 100;--z-legend: 150;--z-infocard: 200;--z-header: 200;--z-toast: 2000;--z-modal: 2000;--z-overlay: 9999}.panel{background:var(--panel-bg);border:var(--panel-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);box-shadow:var(--panel-shadow);color:var(--color-text);border-radius:var(--radius-xl)}.panel-header{display:flex;justify-content:space-between;align-items:center;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.1);flex-shrink:0}.panel-title{margin:0;color:#fff;font-size:.9rem;font-weight:700}.panel-close{background:none;border:none;color:var(--color-text-muted);font-size:1.4rem;cursor:pointer;line-height:1;outline:none}.panel-close:hover{color:var(--color-text)}.loading-bar{height:3px;background:#ffffff1a;overflow:hidden}.loading-fill{height:100%;width:30%;background:var(--color-green);animation:shimmer 1.2s ease-in-out infinite;border-radius:2px}.empty-state{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px 14px;text-align:center}.empty-text{color:var(--color-text-muted);font-size:.9rem;line-height:1.5}.section-title{display:block;color:var(--color-green);font-size:.72rem;font-weight:700;letter-spacing:.5px;margin-top:10px;margin-bottom:6px;padding-top:8px;border-top:1px solid var(--color-green-tint)}.MapView{width:100%;height:100%;position:relative;background:#0a0a1a}.MapView-map{width:100%;height:100%}.MapView-modeIndicator{position:absolute;bottom:80px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,var(--color-green) 0%,var(--color-green-dark) 100%);color:#000;padding:8px 20px;border-radius:20px;font-size:.82rem;font-weight:700;pointer-events:none;z-index:var(--z-map);box-shadow:0 4px 16px #4ade8066,0 0 20px #4ade8033;border:1px solid rgba(255,255,255,.3)}.MapView-modeIndicator--coolRoof{background:#96beffe6}.MapView-modeIndicator--bioSwale{background:#38bdf8e6}.MapView-modeIndicator--streetview{background:#fbbf24e6}.MapView-tooltip{position:absolute;background:var(--panel-bg-solid);color:var(--color-text);padding:8px 14px;border-radius:var(--radius-md);font-size:.75rem;font-weight:500;max-width:350px;pointer-events:none;z-index:var(--z-infocard);border:1px solid var(--color-green-border-strong);box-shadow:0 4px 16px #4ade8033;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.SimulationPanel{position:absolute;bottom:16px;right:16px;width:340px;overflow:hidden;scrollbar-width:none;z-index:var(--z-panel)}.SimulationPanel.panel{display:flex;flex-direction:column}.SimulationPanel-header{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.1)}.SimulationPanel-title{margin:0;color:#fff;font-size:.88rem;font-weight:700}.SimulationPanel-closeBtn{background:none;border:none;color:var(--color-text-muted);font-size:1.4rem;cursor:pointer;line-height:1;outline:none}.SimulationPanel-contentWrap{flex:1;min-height:0;overflow-y:auto;display:flex;flex-direction:column}.SimulationPanel-content{padding:10px 12px}.SimulationPanel-comparison{display:flex;align-items:center;gap:8px;margin-bottom:10px}.SimulationPanel-comparisonCard{flex:1;background:#ffffff0d;border-radius:var(--radius-md);padding:10px;text-align:center}.SimulationPanel-compLabel{display:block;color:var(--color-text-muted);font-size:.7rem;font-weight:700;letter-spacing:1px;margin-bottom:4px}.SimulationPanel-compTemp{display:block;font-size:1.4rem;font-weight:800;margin-bottom:2px}.SimulationPanel-compDetail{display:block;color:var(--color-label);font-size:.75rem}.SimulationPanel-arrow{color:var(--color-green);font-size:1.3rem;font-weight:700}.SimulationPanel-redZoneBar{height:4px;background:#ffffff1a;border-radius:2px;margin-top:8px;overflow:hidden}.SimulationPanel-redZoneFill{height:100%;border-radius:2px;transition:width .5s ease}.SimulationPanel-redZoneText{display:block;color:var(--color-label);font-size:.7rem;margin-top:3px}.SimulationPanel-summary{margin-bottom:0}.SimulationPanel-summaryRow{display:flex;justify-content:space-between;padding:5px 0;border-bottom:1px solid rgba(255,255,255,.05)}.SimulationPanel-summaryLabel{color:var(--color-label);font-size:.82rem}.SimulationPanel-summaryValue{color:#fff;font-size:.82rem;font-weight:700}.SimulationPanel-summaryValue--success{color:var(--color-green)}.SimulationPanel-impacts{margin-top:8px}.SimulationPanel-impactsTitle{display:block;color:var(--color-text-muted);font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:6px}.SimulationPanel-impactsList{max-height:140px;overflow-y:auto}.SimulationPanel-impactRow{display:flex;align-items:center;gap:8px;padding:4px 0;font-size:.8rem}.SimulationPanel-impactTree{color:var(--color-green);width:50px;flex-shrink:0}.SimulationPanel-impactTemp{color:#ccc;flex:1}.SimulationPanel-impactDelta{color:var(--color-green);font-weight:700;flex-shrink:0}.SimulationPanel-moreText{display:block;color:var(--color-text-muted);font-size:.75rem;text-align:center;padding-top:4px}.SimulationPanel-empty{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:24px 14px;text-align:center}.SimulationPanel-emptyText{color:#bbb;font-size:.9rem;line-height:1.6}.SimulationPanel--inline{position:static;width:100%;height:100%;min-height:0;margin-top:0;display:flex;flex-direction:column}.StatsPanel{position:absolute;bottom:16px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:0;background:var(--panel-bg);padding:10px 20px;border-radius:var(--radius-xl);border:1px solid var(--color-green-border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:var(--z-stats);box-shadow:var(--panel-shadow-sm)}.StatsPanel-divider{width:1px;height:30px;background:#ffffff1a;margin:0 16px}.StatsPanel-stat{display:flex;flex-direction:column;align-items:center;min-width:80px}.StatsPanel-statLabel{color:var(--color-text-muted);font-size:.68rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;margin-bottom:2px}.StatsPanel-statValue{font-size:1rem;font-weight:700}.ROIPanel{position:absolute;bottom:16px;right:16px;width:360px;max-height:85vh;overflow-y:hidden;scrollbar-width:none;z-index:var(--z-panel)}.ROIPanel.panel{display:flex;flex-direction:column}.ROIPanel-header{flex-shrink:0;display:flex;justify-content:space-between;align-items:center;padding:12px 14px;border-bottom:1px solid rgba(255,255,255,.1)}.ROIPanel-title{margin:0;color:#fff;font-size:.9rem;font-weight:700}.ROIPanel-closeBtn{background:none;border:none;color:var(--color-text-muted);font-size:1.4rem;cursor:pointer;line-height:1;outline:none}.ROIPanel-contentWrap{flex:1;min-height:0;display:flex;flex-direction:column}.ROIPanel-scrollContent{flex:1;min-height:0;overflow-y:auto}.ROIPanel-content{padding:12px 14px}.ROIPanel-kpiRow{display:flex;gap:8px;margin-bottom:10px}.ROIPanel-kpiCard{flex:1;display:flex;flex-direction:column;align-items:center;background:var(--color-green-bg);border-radius:var(--radius-md);padding:8px 6px;gap:1px;border:1px solid var(--color-green-tint)}.ROIPanel-kpiIcon{font-size:1rem}.ROIPanel-kpiValue{font-size:.9rem;font-weight:800}.ROIPanel-kpiLabel{color:var(--color-text-muted);font-size:.6rem;font-weight:600;text-transform:uppercase;letter-spacing:.2px}.ROIPanel-breakdown{margin-bottom:6px}.ROIPanel-breakdownTitle{display:block;color:#555;font-size:.55rem;font-weight:700;letter-spacing:.8px;margin-bottom:4px}.ROIPanel-breakdownRow{display:flex;align-items:center;gap:4px;padding:2px 0;border-bottom:1px solid rgba(255,255,255,.04)}.ROIPanel-breakdownIcon{font-size:.75rem;width:16px}.ROIPanel-breakdownLabel{flex:1;color:#ccc;font-size:.72rem}.ROIPanel-breakdownCost{color:var(--color-warning);font-size:.7rem;font-weight:600;width:55px;text-align:right}.ROIPanel-breakdownCooling{color:var(--color-green);font-size:.7rem;font-weight:700;width:42px;text-align:right}.ROIPanel-metrics{border-top:1px solid rgba(255,255,255,.06);padding-top:6px}.ROIPanel-metricRow{display:flex;align-items:center;gap:6px;padding:2px 0}.ROIPanel-metricIcon{font-size:.75rem;width:16px}.ROIPanel-metricLabel{flex:1;color:var(--color-label);font-size:.72rem}.ROIPanel-metricValue{color:#fff;font-size:.72rem;font-weight:700}.ROIPanel-budgetGrid{display:flex;flex-direction:column;gap:1px}.ROIPanel-budgetRow{display:flex;justify-content:space-between;padding:2px 0;font-size:.68rem}.ROIPanel-budgetLabel{color:var(--color-label)}.ROIPanel-budgetValue{color:#ccc;font-weight:600}.ROIPanel-totalRow{display:flex;justify-content:space-between;padding:4px 0;margin-top:4px;border-top:1px solid rgba(255,255,255,.1);font-size:.78rem;color:#fff;font-weight:700}.ROIPanel-fundingList{display:flex;flex-direction:column;gap:2px}.ROIPanel-fundingRow{display:flex;justify-content:space-between;padding:2px 0;font-size:.68rem}.ROIPanel-fundingSource{color:#ccc;flex:1}.ROIPanel-fundingAmount{font-weight:700}.ROIPanel-netCostRow{display:flex;justify-content:space-between;padding:4px 0;margin-top:4px;border-top:2px solid var(--color-green-border-strong);font-size:.8rem;color:#fff;font-weight:700}.ROIPanel-grantSection{flex-shrink:0;padding:12px 14px 14px;border-top:1px solid rgba(255,255,255,.1)}.ROIPanel-grantHint{font-size:.7rem;color:var(--color-text-muted);margin-top:4px;margin-bottom:0}.ROIPanel-grantBtn{width:100%;padding:8px;background:linear-gradient(135deg,var(--color-blue-dark) 0%,#2563eb 100%);color:#fff;border:none;border-radius:var(--radius-md);font-weight:600;cursor:pointer;font-size:.78rem;box-shadow:0 4px 12px #3b82f64d}.ROIPanel-empty{flex:1;min-height:0;display:flex;align-items:center;justify-content:center;padding:16px 14px;text-align:center}.ROIPanel-emptyText{color:var(--color-text-muted);font-size:.9rem;line-height:1.5}.ROIPanel--inline{position:static;width:100%;height:100%;min-height:0;max-height:none;border:none;border-radius:0;box-shadow:none;display:flex;flex-direction:column}.HeatmapLegend{position:absolute;top:16px;right:16px;display:flex;flex-direction:column;background:linear-gradient(135deg,#14231ef2,#1a2823f2);border-radius:var(--radius-lg);border:var(--panel-border);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:var(--z-legend);min-width:220px;box-shadow:var(--panel-shadow-sm);transition:all .3s ease}.HeatmapLegend-header{display:flex;align-items:center;gap:8px;padding:10px 14px;border-bottom:1px solid rgba(255,255,255,.1)}.HeatmapLegend-infoBtn{margin-left:auto;background:var(--color-green-tint);border:1px solid var(--color-green-border-strong);border-radius:var(--radius-sm);width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:12px;transition:all .2s;color:var(--color-green);opacity:.8}.HeatmapLegend-icon{font-size:1rem}.HeatmapLegend-title{color:var(--color-green);font-size:.85rem;font-weight:700;letter-spacing:.3px}.HeatmapLegend-content{display:flex;flex-direction:column;padding:10px 14px;gap:8px}.HeatmapLegend-row{display:flex;align-items:center;gap:10px}.HeatmapLegend-colorBox{width:20px;height:20px;flex-shrink:0;box-shadow:0 2px 4px #0003}.HeatmapLegend-labelContainer{display:flex;flex-direction:column}.HeatmapLegend-label{color:#fff;font-size:.75rem;font-weight:700}.HeatmapLegend-desc{color:#aaa;font-size:.65rem;font-weight:500;margin-top:1px}.HeatmapLegend-footer{padding:8px 14px;border-top:1px solid rgba(255,255,255,.08)}.HeatmapLegend-source{color:var(--color-text-dim);font-size:.62rem;font-weight:600;letter-spacing:.3px;text-transform:uppercase}.InfoCard{position:absolute;top:80px;right:20px;width:320px;max-height:500px;background:var(--panel-bg-solid);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border:1px solid var(--color-green-border-strong);border-radius:var(--radius-2xl);padding:20px;box-shadow:0 8px 32px #0006,0 0 20px #4ade801a;z-index:var(--z-infocard);color:var(--color-text);overflow-y:auto}.InfoCard-close{position:absolute;top:12px;right:12px;background:#ef444433;border:1px solid rgba(239,68,68,.4);border-radius:var(--radius-md);width:32px;height:32px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text);font-size:24px;font-weight:300;line-height:1;transition:all .2s}.InfoCard-header{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--color-green-border)}.InfoCard-icon{font-size:2rem}.InfoCard-title{font-size:1.25rem;font-weight:700;color:var(--color-green);margin:0}.InfoCard-section{margin-bottom:12px}.InfoCard-label{font-size:.75rem;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px;margin-bottom:4px}.InfoCard-value{font-size:1rem;font-weight:600;color:var(--color-text)}.InfoCard-value--danger{color:var(--color-error)}.InfoCard-value--success{color:var(--color-green)}.InfoCard-description{font-size:.875rem;line-height:1.6;color:#bbb;margin-top:16px;padding-top:16px;border-top:1px solid var(--color-green-tint)}.InfoCard-actionBtn{width:100%;margin-top:16px;padding:12px;background:linear-gradient(135deg,var(--color-green) 0%,var(--color-green-dark) 100%);color:#000;border:none;border-radius:var(--radius-md);font-size:.875rem;font-weight:700;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #4ade804d}.InfoCard-error{margin-top:12px;padding:10px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:var(--radius-sm);color:var(--color-error);font-size:.8rem}.InfoCard-modalOverlay{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:var(--z-modal)}.InfoCard-modalPanel{background:var(--panel-bg-solid);border-radius:var(--radius-2xl);border:1px solid var(--color-green-border-strong);max-width:95vw;max-height:95vh;overflow:hidden;box-shadow:0 8px 40px #000c}.InfoCard-modalHeader{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;border-bottom:1px solid var(--color-green-border)}.InfoCard-modalTitle{font-size:1.2rem;font-weight:700;color:var(--color-green)}.InfoCard-modalClose{background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-md);width:36px;height:36px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--color-text);font-size:24px;line-height:1}.InfoCard-splitView{display:flex;gap:2px}.InfoCard-imageContainer{flex:1;position:relative}.InfoCard-viewImage{width:100%;height:auto;display:block}.InfoCard-labelBefore{position:absolute;top:12px;left:12px;background:#ef4444f2;color:#fff;padding:8px 14px;border-radius:var(--radius-md);font-size:.8rem;font-weight:700;z-index:10;box-shadow:0 2px 8px #0000004d}.InfoCard-labelAfter{position:absolute;top:12px;left:12px;background:#4ade80f2;color:#000;padding:8px 14px;border-radius:var(--radius-md);font-size:.8rem;font-weight:700;z-index:10;box-shadow:0 2px 8px #0000004d}.InfoCard-modalFooter{padding:14px 24px;border-top:1px solid var(--color-green-tint);color:var(--color-label);font-size:.85rem;text-align:center}.HeaderBar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:0 24px;height:64px;background:var(--header-bg);box-shadow:0 2px 12px #0003;color:#fff;z-index:var(--z-header)}.HeaderBar-brandSection{display:flex;align-items:center;gap:12px;min-width:200px}.HeaderBar-logo{font-size:1.8rem;filter:drop-shadow(0 1px 2px rgba(0,0,0,.2))}.HeaderBar-brand{display:flex;flex-direction:column;gap:0}.HeaderBar-title{font-size:1.2rem;font-weight:800;letter-spacing:-.5px;line-height:1}.HeaderBar-subtitle{font-size:.7rem;opacity:.8;font-weight:500;letter-spacing:.5px}.HeaderBar-saveBtn{padding:6px 14px;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);color:#fff;font-size:.85rem;font-weight:600;cursor:pointer}.HeaderBar-brandSection .HeaderBar-saveBtn{margin-left:12px}.HeaderBar-userRow{display:flex;align-items:center;gap:8px}.HeaderBar-userEmail{font-size:.8rem;opacity:.9}.HeaderBar-signOutBtn{padding:4px 10px;background:transparent;border:1px solid rgba(255,255,255,.4);border-radius:4px;color:#fff;font-size:.75rem;cursor:pointer}.HeaderBar-signInBtn{padding:6px 12px;background:#fff3;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);color:#fff;font-size:.85rem;cursor:pointer}.HeaderBar-searchSection{min-width:260px;display:flex;justify-content:flex-end}.AlertBar{display:flex;align-items:center;gap:10px;padding:10px 20px;background:var(--header-bg);border-bottom:1px solid var(--color-green-border-strong);color:#fff;font-size:.85rem;z-index:199;box-shadow:0 1px 8px #00000026}.AlertBar-icon{font-size:1rem;flex-shrink:0}.AlertBar-text{flex:1;line-height:1.4}.AlertBar-closeBtn{width:24px;height:24px;display:flex;align-items:center;justify-content:center;background:#ffffff26;color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:1.1rem;font-weight:600;line-height:1;flex-shrink:0}.LeftPanel{display:flex;align-items:center;gap:6px;padding:8px 12px;background:var(--color-green-bg);border-radius:var(--radius-md);border:1px solid var(--color-green-border);font-size:.8rem}.LeftPanel-peak{color:#ccc;font-weight:600}.LeftPanel-dot{color:var(--color-text-dim)}.LeftPanel-cooling{color:var(--color-green);font-weight:700}.Toolbar{position:absolute;top:16px;left:16px;display:flex;flex-direction:column;gap:6px;z-index:var(--z-panel);width:190px;max-height:calc(100vh - 32px);overflow-y:auto;overflow-x:hidden}.Toolbar--embedded{position:static;width:100%;max-height:none}.Toolbar-section{display:flex;flex-direction:column;gap:1px;background:var(--panel-bg);padding:8px 6px;border-radius:var(--radius-lg);border:1px solid var(--color-green-tint);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px)}.Toolbar-sectionLabel{color:var(--color-green);font-size:.58rem;font-weight:700;letter-spacing:1.2px;padding:0 8px 4px;opacity:.7}.Toolbar-modeBtn{display:flex;align-items:center;gap:6px;padding:7px 10px;background:transparent;color:var(--color-text-muted);border:none;border-radius:var(--radius-md);font-size:.8rem;font-weight:600;cursor:pointer;text-align:left;transition:all .15s;outline:none}.Toolbar-layerBtn{display:flex;align-items:center;gap:8px;padding:6px 10px;background:transparent;color:var(--color-text-muted);border:1px solid transparent;border-radius:7px;font-size:.76rem;font-weight:600;cursor:pointer;text-align:left;transition:all .15s;white-space:nowrap;outline:none}.Toolbar-radio{width:14px;height:14px;border-radius:50%;border:2px solid;flex-shrink:0;display:flex;align-items:center;justify-content:center;transition:all .2s}.Toolbar-radioDot{width:6px;height:6px;border-radius:50%}.Toolbar-treeRow{display:flex;align-items:center;gap:6px;padding:4px 8px}.Toolbar-treeCount{color:var(--color-green);font-weight:700;font-size:.95rem}.Toolbar-treeLabel{color:var(--color-text-muted);font-size:.75rem}.Toolbar-iconBtn{width:26px;height:26px;display:flex;align-items:center;justify-content:center;background:#ffffff14;color:#aaa;border:none;border-radius:var(--radius-sm);font-size:.75rem;cursor:pointer;outline:none}.Toolbar-actionItemBtn{display:flex;align-items:center;gap:6px;padding:6px 10px;background:transparent;color:var(--color-text-muted);border:none;border-radius:7px;font-size:.76rem;font-weight:600;cursor:pointer;text-align:left;transition:all .15s;outline:none}.Toolbar-actionItemBtn.is-active{background:var(--color-green-tint);color:var(--color-green)}.Toolbar-spacer{flex:1}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}html,body,#root{width:100%;height:100%;overflow:hidden;background:linear-gradient(135deg,#0a1612,#0c1f18,#0a1a14 60%,#0d1812);color:#e5e5e5;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{transform:translate(-100%)}to{transform:translate(400%)}}@keyframes pulse-green{0%,to{box-shadow:0 0 #4ade8066}50%{box-shadow:0 0 0 8px #4ade8000}}@keyframes pulse-tree{0%,to{transform:scale(1);opacity:.85}50%{transform:scale(1.1);opacity:1}}@keyframes pulse-ring{0%{transform:translate(-50%,-50%) scale(.8);opacity:.6}50%{transform:translate(-50%,-50%) scale(1.2);opacity:.3}to{transform:translate(-50%,-50%) scale(.8);opacity:.6}}@keyframes slideDown{0%{transform:translate(-50%) translateY(-20px);opacity:0}to{transform:translate(-50%) translateY(0);opacity:1}}button{transition:transform .15s ease,opacity .15s ease,box-shadow .15s ease}button:hover{transform:translateY(-1px);opacity:.9;box-shadow:0 2px 8px #4ade8026}button:active{transform:translateY(0)}.time-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:16px;height:16px;border-radius:50%;background:#fbbf24;cursor:pointer;border:2px solid #fff;box-shadow:0 0 8px #fbbf2480;position:relative;z-index:3}.time-slider::-moz-range-thumb{width:16px;height:16px;border-radius:50%;background:#fbbf24;cursor:pointer;border:2px solid #fff;box-shadow:0 0 8px #fbbf2480}.time-slider::-webkit-slider-runnable-track{height:4px;background:transparent;border-radius:2px}.time-slider::-moz-range-track{height:4px;background:transparent;border-radius:2px}.toolbar-scroll::-webkit-scrollbar{display:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:#14231e4d}::-webkit-scrollbar-thumb{background:#4ade804d;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#4ade8080}.App{width:100vw;height:100vh;display:flex;flex-direction:column;overflow:hidden;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.App-mainContent{flex:1;display:flex;flex-direction:row;min-height:0;position:relative}.App-leftRail{display:flex;flex-direction:row;flex-shrink:0}.App-resultsPanel{width:340px;flex-shrink:0;display:flex;flex-direction:column;align-self:stretch;min-height:0;background:var(--panel-bg);border-right:1px solid var(--color-green-border)}.App-roiPanelInline{position:static;width:100%;height:100%;min-height:0;max-height:none;border:none;border-radius:0;box-shadow:none;display:flex;flex-direction:column}.App-simulationPanelInline{position:static;width:100%;height:100%;min-height:0;margin-top:0;display:flex;flex-direction:column}.App-mapArea{flex:1;position:relative;min-width:0}.App-setupScreen{width:100vw;height:100vh;display:flex;align-items:center;justify-content:center;background:#0a0a1a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.App-setupCard{background:#1a1a2e;border-radius:var(--radius-2xl);padding:40px;text-align:center;max-width:480px;border:1px solid rgba(255,255,255,.1)}.App-setupTitle{color:var(--color-green);font-size:1.5rem;margin-top:12px;margin-bottom:16px}.App-setupText{color:#bbb;font-size:.9rem;line-height:1.6;margin-bottom:12px}.App-setupCode{background:#ffffff0f;color:var(--color-green);padding:12px 16px;border-radius:var(--radius-md);font-size:.82rem;text-align:left;margin-bottom:16px;border:1px solid var(--color-green-border);overflow-x:auto}.App-setupHint{color:var(--color-text-muted);font-size:.82rem}.App-modalOverlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:9999}.App-closeDashboard{position:fixed;top:24px;right:24px;padding:10px 20px;background:#142820f2;border:1px solid var(--color-green-border-strong);border-radius:var(--radius-md);color:var(--color-green);font-size:.9rem;cursor:pointer;z-index:10000}.App-legendColumn{position:absolute;bottom:24px;right:70px;display:flex;flex-direction:column;align-items:flex-end;pointer-events:none;z-index:1000}.App-legendColumn-inner{pointer-events:auto}
