:root{--bg-dark:#0f172a;--panel-bg:#0f172abf;--panel-border:#ffffff1a;--text-main:#f8fafc;--text-muted:#94a3b8;--color-favorable:#10b981;--color-neutral:#f59e0b;--color-unfavorable:#ef4444;--font-family:"Outfit", sans-serif}*{box-sizing:border-box;margin:0;padding:0}body,html{width:100%;height:100%;font-family:var(--font-family);background-color:var(--bg-dark);color:var(--text-main);overflow:hidden}#map{z-index:1;width:100vw;height:100vh;position:absolute;top:0;left:0}.leaflet-container{background:var(--bg-dark)!important}.glass-panel{z-index:1000;background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--panel-border);border-radius:16px;transition:all .3s cubic-bezier(.4,0,.2,1);position:absolute;box-shadow:0 25px 50px -12px #00000080}#ui-panel{opacity:1;flex-direction:column;gap:20px;width:380px;max-height:calc(100vh - 48px);padding:24px;display:flex;top:24px;right:24px;transform:translate(0)}#ui-panel.hidden{opacity:0;pointer-events:none;transform:translate(120%)}#city-selector{align-items:center;gap:16px;padding:12px 24px;display:flex;top:24px;left:50%;transform:translate(-50%)}#city-selector h2{text-align:center;min-width:120px;font-size:1.25rem;font-weight:600}#city-selector .icon-btn{padding:4px;font-size:1rem}#search-container{flex-direction:column;width:340px;padding:0;display:flex;top:24px;left:24px;overflow:hidden}#search-input{color:var(--text-main);font-family:var(--font-family);background:0 0;border:none;outline:none;width:100%;padding:14px 16px;font-size:.95rem}#search-input::placeholder{color:var(--text-muted)}.search-results{border-top:1px solid var(--panel-border);background:#0003;width:100%;max-height:300px;list-style:none;overflow-y:auto}.search-results.hidden{display:none}.search-result-item{cursor:pointer;border-bottom:1px solid #ffffff0d;padding:12px 16px;transition:background .2s}.search-result-item:hover{background:#ffffff1a}.search-result-item:last-child{border-bottom:none}.search-item-primary{color:var(--text-main);margin-bottom:4px;font-size:.9rem;font-weight:500}.search-item-secondary{color:var(--text-muted);white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.panel-header{justify-content:space-between;align-items:center;display:flex}.panel-header h2{letter-spacing:-.02em;font-size:1.25rem;font-weight:600}.icon-btn{color:var(--text-muted);cursor:pointer;background:0 0;border:none;font-size:1.5rem;transition:color .2s}.icon-btn:hover{color:var(--text-main)}.decision-section{flex-direction:column;gap:8px;display:flex}.decision-text{text-transform:uppercase;letter-spacing:-.03em;font-size:2.25rem;font-weight:700;line-height:1.1}.decision-text.favorable{color:var(--color-favorable)}.decision-text.neutral{color:var(--color-neutral)}.decision-text.unfavorable{color:var(--color-unfavorable)}.comparison-context{color:var(--text-muted);font-size:.95rem;font-weight:400}.explanation-section{background:#ffffff08;border:1px solid #ffffff0d;border-radius:8px;padding:16px}.explanation-text{color:#e2e8f0;font-size:.95rem;line-height:1.5}.metrics-grid{flex-direction:column;gap:16px;display:flex}.metric-item{flex-direction:column;gap:6px;display:flex}.metric-label{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.8rem;font-weight:600}.gauge-bar{background:#ffffff1a;border-radius:3px;width:100%;height:6px;overflow:hidden}.gauge-fill{background:var(--text-main);border-radius:3px;width:0%;height:100%;transition:width .8s cubic-bezier(.16,1,.3,1)}.panel-footer{border-top:1px solid var(--panel-border);margin-top:auto;padding-top:16px}.panel-footer p{color:var(--text-muted);opacity:.8;font-size:.75rem;line-height:1.4}.legend-panel{flex-direction:column;gap:8px;width:320px;padding:16px;display:flex;bottom:24px;left:24px}.legend-panel h4{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.85rem}.gradient-bar{background:linear-gradient(to right, var(--color-favorable), var(--color-neutral), var(--color-unfavorable));border-radius:6px;width:100%;height:12px;margin-top:4px}.legend-labels{color:var(--text-muted);justify-content:space-between;font-size:.75rem;font-weight:500;display:flex}.leaflet-tooltip.custom-tooltip{background:var(--bg-dark);border:1px solid var(--panel-border);color:var(--text-main);font-family:var(--font-family);border-radius:8px;padding:8px 12px;font-weight:500;box-shadow:0 10px 15px -3px #00000080}.leaflet-tooltip-top:before{border-top-color:var(--bg-dark)}
