body{margin:0}*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--font:Georgia, "Times New Roman", serif;--font-sans:system-ui, -apple-system, sans-serif;--max-width:1100px;--buy-color:#2980b9;--rent-color:#6b45cf;--neutral:#888;--text:#222;--text-light:#555;--border:#ddd;--bg:#fff;font-size:17px}body{font-family:var(--font-sans);color:var(--text);background:var(--bg);line-height:1.5}.app-container{max-width:var(--max-width);margin:0 auto;padding:0 1rem 3rem}.app-header{border-bottom:2px solid #111;margin-bottom:1.5rem;padding:2.5rem 0 1.5rem}.app-kicker{font-family:var(--font-sans);letter-spacing:.1em;text-transform:uppercase;color:var(--text-light);margin-bottom:.4rem;font-size:.75rem;font-weight:700}.app-title{font-family:var(--font);color:#111;margin-bottom:.75rem;font-size:2rem;font-weight:700;line-height:1.15}.app-intro{color:var(--text-light);font-size:.95rem;line-height:1.6}.result-banner{border-left:5px solid;border-radius:4px;margin-bottom:1.5rem;padding:1.25rem 1.5rem}.result-banner--buy{border-color:var(--buy-color);background:#e8f3fb}.result-banner--rent{border-color:var(--rent-color);background:#f0ecfb}.result-banner--tie{border-color:var(--neutral);background:#f4f4f4}.result-label{text-transform:uppercase;letter-spacing:.04em;margin-bottom:.2rem;font-size:1rem;font-weight:700}.result-banner--buy .result-label{color:var(--buy-color)}.result-banner--rent .result-label{color:var(--rent-color)}.result-banner--tie .result-label{color:var(--neutral)}.result-amount{font-family:var(--font);margin-bottom:.3rem;font-size:2rem;font-weight:700;line-height:1.1}.result-detail{color:var(--text-light);font-size:.9rem}.calc-section{border-bottom:1px solid var(--border)}.section-header{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:flex-start;gap:1rem;width:100%;padding:1.25rem 0;display:flex}.section-header:hover{background:#00000004}.section-title{font-family:var(--font);color:#111;margin-bottom:.2rem;font-size:1.2rem;font-weight:700}.section-desc{color:var(--text-light);max-width:55ch;font-size:.85rem;line-height:1.5}.section-chevron{color:var(--text-light);flex-shrink:0;margin-top:4px;font-size:.7rem}.section-body{padding-bottom:1.5rem}.subsection-title{text-transform:uppercase;letter-spacing:.08em;color:var(--text-light);border-bottom:1px solid var(--border);margin:1.5rem 0 .75rem;padding-bottom:.3rem;font-size:.8rem;font-weight:700}.slider-input{margin-bottom:1.5rem}.slider-header{justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.2rem;display:flex}.slider-label{color:var(--text);font-size:.9rem;font-weight:600}.slider-description{color:#888;margin-top:1px;margin-bottom:2px;font-size:.78rem;font-weight:400}.slider-value-edit{flex-shrink:0;align-items:baseline;gap:1px;display:flex}.slider-value-input{color:var(--text);text-align:right;background:0 0;border:none;border-bottom:1px solid #0000;outline:none;width:9ch;padding:0 2px;font-family:inherit;font-size:.9rem;font-weight:700;transition:border-color .15s,background .15s}.slider-value-input:hover{border-bottom-color:#ccc}.slider-value-input:focus{border-bottom-color:var(--text);background:#f5f5f5;border-radius:2px 2px 0 0}.slider-value-suffix{color:var(--text);white-space:nowrap;font-size:.9rem;font-weight:700}.slider-sub{color:var(--text-light);margin-bottom:.4rem;font-size:.8rem}.sparkline{border-radius:2px;width:100%;margin-bottom:.35rem;overflow:hidden}.sparkline svg{display:block}.slider-range{appearance:none;cursor:pointer;background:#ddd;border-radius:2px;outline:none;width:100%;height:4px;margin-bottom:.3rem}.slider-range::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#333;border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0000004d}.slider-range::-moz-range-thumb{cursor:pointer;background:#333;border:2px solid #fff;border-radius:50%;width:16px;height:16px}.slider-ticks{color:#aaa;justify-content:space-between;font-size:.72rem;display:flex}.radio-group{flex-wrap:wrap;align-items:center;gap:.5rem 1.25rem;margin-bottom:1.25rem;font-size:.88rem;display:flex}.radio-group .slider-label{width:100%;margin-bottom:.1rem}.radio-group label{cursor:pointer;color:var(--text-light);align-items:center;gap:.3rem;display:flex}.cost-breakdown{overflow-x:auto}.cost-breakdown table{border-collapse:collapse;width:100%;font-size:.85rem}.cost-breakdown th,.cost-breakdown td{text-align:right;border-bottom:1px solid var(--border);padding:.45rem .6rem}.cost-breakdown th:first-child,.cost-breakdown td.row-label{text-align:left;color:var(--text-light);font-weight:400}.cost-breakdown th.col-buy{color:var(--buy-color);font-weight:700}.cost-breakdown th.col-rent{color:var(--rent-color);font-weight:700}.cost-breakdown td.positive{color:#2a9d2a}.cost-breakdown tfoot td{border-top:2px solid #333;font-size:.9rem;font-weight:700}.methodology{color:var(--text-light);font-size:.88rem;line-height:1.65}.methodology p{margin-bottom:.85rem}.methodology h4{color:var(--text);margin:1rem 0 .3rem;font-size:.88rem;font-weight:700}.methodology-source{color:#aaa;margin-top:1rem;font-size:.78rem}.app-footer{border-top:1px solid var(--border);color:#bbb;text-align:center;margin-top:3rem;padding-top:1rem;font-size:.78rem}.app-impressum{color:#ccc;margin-top:.75rem;font-size:.72rem}@media (width<=600px){:root{font-size:15px}.app-title,.result-amount{font-size:1.6rem}}
