:root{--accent-bg:#f5f7ff;--text-light:#585858;--accent-hover:#9e9e9e;--marked:#fd3;--disabled:#efefef;--success:#28a745;--warning:#ffc107;--danger:#dc3545}@media (prefers-color-scheme:dark){:root{--accent-bg:#2b2b2b;--text-light:#ababab;--accent-hover:#9e9e9e;--disabled:#111;--success:#4caf50;--warning:#ffeb3b;--danger:#f44336}}body.dark,body.light{--accent-hover:#9e9e9e}body.light{--accent-bg:#f5f7ff;--text-light:#585858;--marked:#fd3;--disabled:#efefef;--success:#28a745;--warning:#ffc107;--danger:#dc3545}body.dark{--accent-bg:#2b2b2b;--text-light:#ababab;--disabled:#111;--success:#4caf50;--warning:#ffeb3b;--danger:#f44336}h2,h3{line-height:1.1}h2{font-size:clamp(1.5rem,1.5rem + 1.5vw,2.75rem)}h3{font-size:clamp(1.25rem,1.25rem + 1vw,2.25rem)}h4{font-size:clamp(1.1rem,1.1rem + .75vw,1.75rem)}a:hover{text-decoration:none}input,select{padding:.5rem;background-color:var(--bg);border:1px solid var(--border);color:var(--text)}.button,button,input,select{-webkit-appearance:none;-moz-appearance:none;appearance:none;border-radius:var(--standard-border-radius);box-shadow:none;display:inline-block;font-family:inherit;font-size:clamp(.875rem,2vw,1rem);margin-bottom:.5rem;max-width:100%}.button,a.button,button,input[type=button]{background-color:var(--accent);border:1px solid var(--accent);color:var(--accent-text);line-height:normal;padding:.5rem .9rem;text-decoration:none;cursor:pointer}.button[aria-disabled=true],button[disabled],input:disabled,select:disabled{background-color:var(--disabled);border-color:var(--disabled);color:var(--text-light);cursor:not-allowed}.button:not([aria-disabled=true]):hover,button:enabled:hover,input[type=button]:enabled:hover{background-color:var(--accent-hover);border-color:var(--accent-hover);cursor:pointer}label{display:block;font-weight:600;margin-bottom:.25rem}.bold{font-weight:700}.text-left{text-align:left}.text-right{text-align:right}.calculator-section{background:var(--accent-bg);border:2px solid var(--border);border-radius:var(--standard-border-radius);padding:2rem;margin:2rem 0}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;margin:1.5rem 0}.form-group{text-align:left}.form-group input,.form-group select{width:100%}.results-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem;margin:2rem 0}.result-card{background:var(--bg);border:2px solid var(--border);border-radius:var(--standard-border-radius);padding:1.5rem;text-align:left;position:relative;transition:transform .2s,box-shadow .2s}.result-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px rgba(0,0,0,.1)}.result-card.selected{border-color:var(--accent);box-shadow:0 0 0 3px rgba(13,71,161,.2)}.result-card h3,.result-card h4{margin-top:0;color:var(--accent)}.metric{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border)}.metric:last-child{border-bottom:none}.metric-label{font-weight:600}.metric-value{color:var(--text-light)}.metric-value.highlight{color:var(--accent);font-weight:700}.comparison-badge,.remove-btn{padding:.25rem .5rem;border-radius:var(--standard-border-radius)}.comparison-badge{display:inline-block;font-size:.85rem;font-weight:600;margin-left:.5rem}.comparison-badge.better{background-color:var(--success);color:#fff}.comparison-badge.worse{background-color:var(--danger);color:#fff}.comparison-badge.neutral{background-color:var(--warning);color:#000}.remove-btn{position:absolute;top:1rem;right:1rem;background:var(--danger);border:0;color:#fff;font-size:.75rem;cursor:pointer}.remove-btn:hover{background:#8b0000}#map1{height:500px;width:100%;border:2px solid var(--border);margin:2rem 0}.chart-container{position:relative;height:400px;margin:2rem 0}#map1,.info-box{border-radius:var(--standard-border-radius)}.info-box{background:var(--accent-bg);border-left:4px solid var(--accent);padding:1rem;margin:1rem 0}.loading{text-align:center;padding:2rem;font-style:italic;color:var(--text-light)}.error{background:#fee;border:1px solid var(--danger);color:var(--danger);padding:1rem;border-radius:var(--standard-border-radius);margin:1rem 0}.ts-wrapper{position:relative}.ts-wrapper.single .ts-control{background-color:var(--bg)!important;border:1px solid var(--border)!important;color:var(--text)!important;padding:.5rem!important;cursor:text!important;height:2.5rem!important;min-height:2.5rem!important;max-height:2.5rem!important;line-height:1.5rem!important;overflow:hidden!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important}.ts-wrapper.single .ts-control::after,.ts-wrapper.single .ts-control::before{display:none!important}.ts-wrapper.single .ts-control .item,.ts-wrapper.single .ts-control input{background:0 0!important;border:0!important;padding:0!important;margin:0!important;box-shadow:none!important}.ts-wrapper.single .ts-control input{font-family:inherit!important;font-size:inherit!important;color:inherit!important;outline:0!important;width:auto!important;flex:1 1 auto!important;min-width:50px!important}.ts-wrapper.single .ts-control .item{float:none!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important;flex:0 1 auto!important}.ts-wrapper.single .ts-control>div{padding:0!important;margin:0!important;display:flex!important;align-items:center!important;flex:0 1 auto!important}.ts-wrapper.single .ts-control .item,.ts-wrapper.single .ts-control input,.ts-wrapper.single .ts-control>*,.ts-wrapper.single .ts-control>div{line-height:1.5rem!important;height:1.5rem!important;max-height:1.5rem!important}.ts-wrapper.single.input-active .ts-control{cursor:text!important}.ts-wrapper.single.dropdown-active .ts-control{border-radius:var(--standard-border-radius) var(--standard-border-radius)0 0}.ts-dropdown .option,.ts-wrapper .ts-dropdown{color:var(--text)!important;background-color:var(--bg)!important}.ts-wrapper .ts-dropdown{border:1px solid var(--border)!important;z-index:1000;box-shadow:0 4px 12px rgba(0,0,0,.15)}.ts-dropdown .option{padding:8px 12px!important;cursor:pointer}.ts-dropdown .option:hover{background-color:var(--accent-bg)!important}.ts-dropdown .option.active{background-color:var(--accent)!important;color:var(--accent-text)!important}.mapboxgl-popup-content{background-color:#fff!important;color:#212121!important;padding:10px 15px!important;border-radius:5px!important;box-shadow:0 2px 8px rgba(0,0,0,.15)!important}.mapboxgl-popup-content strong{color:#0d47a1!important}body.dark .mapboxgl-popup-content{background-color:#2b2b2b!important;color:#dcdcdc!important;box-shadow:0 2px 8px rgba(0,0,0,.4)!important}body.dark .mapboxgl-popup-content strong{color:#ffb300!important}.mapboxgl-popup-tip{border-top-color:#fff!important}body.dark .mapboxgl-popup-tip{border-top-color:#2b2b2b!important}@media only screen and (max-width:720px){.form-grid,.results-grid{grid-template-columns:1fr}}