:root{--accent-bg:#f5f7ff;--text-light:#585858;--accent-hover:#0a3a7a;--marked:#fd3;--disabled:#efefef;--success:#28a745;--warning:#ffc107;--danger:#dc3545}@media (prefers-color-scheme:dark){:root{--accent-bg:#2a2a2a;--text-light:#b0b0b0;--accent-hover:#ffd54f;--disabled:#3a3a3a;--border:#555}}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;overflow:visible}.form-group{text-align:left;min-width:0;overflow:visible}.form-group input,.form-group select{width:100%}.rate-type-toggle{display:flex;flex-direction:column;align-items:center;justify-content:center;margin:1.5rem 0;gap:.5rem}.toggle-label-bottom,.toggle-label-top{font-weight:600;font-size:1.1rem;cursor:pointer;user-select:none}.toggle-switch{position:relative;display:inline-block;width:60px;height:34px}.toggle-switch input{opacity:0;width:0;height:0}.toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:34px}.toggle-slider:before{position:absolute;content:"";height:26px;width:26px;left:4px;bottom:4px;background-color:#fff;transition:.4s;border-radius:50%}.toggle-switch input:checked+.toggle-slider{background-color:#0d47a1}.toggle-switch input:focus+.toggle-slider{box-shadow:0 0 1px #0d47a1}.toggle-switch input:checked+.toggle-slider:before{transform:translateX(26px)}.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;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,footer{color:var(--text-light)}.loading{text-align:center;padding:2rem;font-style:italic}.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;width:100%;max-width:100%}#map1,.form-group .ts-wrapper,.ts-wrapper.single.dropdown-active .ts-control,.ts-wrapper.single.input-active .ts-control{width:100%}.ts-wrapper.single .ts-control{padding:.5rem!important;height:2.5rem!important}.ts-wrapper.single .ts-control::after,.ts-wrapper.single .ts-control::before{display:none!important}.ts-wrapper.single .ts-control input{background:0 0!important;border:0!important;box-shadow:none!important;outline:0!important;padding:0;margin:0;line-height:inherit;height:auto;position:absolute;left:.5rem;top:0;width:1px;opacity:0}.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,.ts-wrapper.single .ts-control{color:var(--text)!important;background-color:var(--bg)!important}.ts-wrapper .ts-dropdown,.ts-wrapper.single .ts-control{border:1px solid var(--border)!important;width:100%;box-sizing:border-box}.ts-wrapper .ts-dropdown{position:absolute!important;z-index:1000;box-shadow:0 4px 12px rgba(0,0,0,.15);left:0}.ts-dropdown .option{padding:8px 12px;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}.mapboxgl-popup-tip{border-top-color:#fff!important}footer{padding:2rem 0;border-top:1px solid var(--border);margin-top:4rem;font-size:.9rem}@media only screen and (max-width:720px){.form-grid,.results-grid{grid-template-columns:1fr}}