:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.mortgage-calculator{width:100%;max-width:1400px;margin:0 auto;padding:20px;box-sizing:border-box}.input-group{margin-bottom:25px}.input-group label{display:block;font-weight:600;font-size:16px;margin-bottom:10px;color:#1f2937}@media(prefers-color-scheme:dark){.input-group label{color:#e5e7eb}}.input-group input[type=range]{width:100%;margin:10px 0}.input-group input[type=number],.input-group input[type=date]{width:200px;padding:8px 12px;font-size:14px;border:2px solid #e5e7eb;border-radius:6px;margin-top:5px}.input-group input[type=number]:focus,.input-group input[type=date]:focus{outline:none;border-color:#2563eb}.date-input{display:block;width:100%;max-width:300px}.results-section{margin-top:30px;width:100%}.results-section h2{color:#1f2937;font-size:22px;margin:30px 0 20px;padding-bottom:10px;border-bottom:3px solid #2563eb}@media(prefers-color-scheme:dark){.results-section h2{color:#e5e7eb;border-bottom-color:#60a5fa}}.results-section h2:first-child{margin-top:0}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px;margin-bottom:40px}.stats-grid.grid-3x3{grid-template-columns:repeat(3,1fr)}@media(max-width:900px){.stats-grid.grid-3x3{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.stats-grid.grid-3x3{grid-template-columns:1fr}}.stat-card{background:linear-gradient(135deg,#667eea,#764ba2);padding:25px;border-radius:12px;text-align:center;color:#fff;box-shadow:0 4px 6px #0000001a;transition:transform .2s}.stat-card:hover{transform:translateY(-2px);box-shadow:0 6px 12px #00000026}.stat-card.success{background:linear-gradient(135deg,#10b981,#059669)}.stat-card.warning{background:linear-gradient(135deg,#f59e0b,#d97706)}.stat-card.info{background:linear-gradient(135deg,#3b82f6,#2563eb)}.stat-card.highlight{background:linear-gradient(135deg,#8b5cf6,#6d28d9);border:3px solid #a78bfa}.stat-card.highlight.profit{background:linear-gradient(135deg,#10b981,#059669);border:3px solid #34d399}.stat-card.highlight.loss{background:linear-gradient(135deg,#ef4444,#dc2626);border:3px solid #f87171}.stat-card h3{margin:0 0 10px;font-size:14px;font-weight:500;opacity:.9;text-transform:uppercase;letter-spacing:.5px}.stat-card-input{background:#f8fafc;padding:20px;border-radius:12px;border:2px solid #e2e8f0;transition:transform .2s,border-color .2s}.stat-card-input:hover{transform:translateY(-2px);border-color:#3b82f6}.stat-card-input:focus-within{border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626}@media(prefers-color-scheme:dark){.stat-card-input{background:#1e293b;border-color:#334155}.stat-card-input:hover{border-color:#60a5fa}.stat-card-input:focus-within{border-color:#60a5fa;box-shadow:0 4px 12px #60a5fa26}}.stat-value{margin:0;font-size:28px;font-weight:700}.stat-subtext{margin:5px 0 0;font-size:12px;opacity:.8}.chart-section{background:#fff;padding:30px;border-radius:12px;box-shadow:0 1px 3px #0000001a;margin-top:30px}@media(prefers-color-scheme:dark){.chart-section{background:#1f2937;box-shadow:0 1px 3px #0000004d}}.chart-section h3{margin-top:0;margin-bottom:20px;color:#1f2937;font-size:18px}@media(prefers-color-scheme:dark){.chart-section h3{color:#e5e7eb}}.tab-navigation{display:flex;gap:0;margin:20px 0;border-bottom:2px solid #e5e7eb}.tab-navigation.top-level{margin-top:0;margin-bottom:0}.tab-navigation.top-level .tab-button{font-size:18px;padding:16px 32px}.tab-navigation.sub-level{margin-top:10px;margin-bottom:20px;border-bottom-color:#d1d5db}.tab-navigation.sub-level .tab-button{font-size:14px;padding:10px 20px}.tab-button{padding:12px 24px;background:transparent;border:none;border-bottom:3px solid transparent;color:#6b7280;font-size:16px;font-weight:500;cursor:pointer;transition:all .3s ease}.tab-button:hover{color:#3b82f6;background:#f3f4f6}.tab-button.active{color:#3b82f6;border-bottom-color:#3b82f6;font-weight:600}.sub-tab-content{animation:fadeIn .3s ease}.input-group.compact{display:flex;flex-direction:column;gap:5px}.input-group.compact label{font-size:14px;font-weight:500;color:#374151;margin-bottom:0}.input-group.compact input[type=text],.input-group.compact input[type=number],.input-group.compact input[type=date]{padding:8px 12px;border:1px solid #d1d5db;border-radius:6px;font-size:16px;transition:border-color .2s ease}.input-group.compact input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.currency-input{font-family:Monaco,Courier New,monospace;text-align:right}.radio-group{display:flex;gap:20px;padding:8px 0}.radio-label{display:flex;align-items:center;gap:8px;font-size:14px;font-weight:400;cursor:pointer}.radio-label input[type=radio]{cursor:pointer}.tab-content{width:100%;animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media(prefers-color-scheme:dark){.input-group.compact label{color:#e5e7eb}.input-group.compact input{background:#374151;border-color:#4b5563;color:#e5e7eb}.input-group.compact input:focus{border-color:#60a5fa;box-shadow:0 0 0 3px #60a5fa1a}.tab-navigation{border-bottom-color:#374151}.tab-button{color:#9ca3af}.tab-button:hover{color:#60a5fa;background:#374151}.tab-button.active{color:#60a5fa;border-bottom-color:#60a5fa}}.info-tooltip{position:relative;display:inline-block;margin-left:6px;cursor:help}.info-icon{font-size:14px;color:#6b7280;transition:color .2s}.info-tooltip:hover .info-icon{color:#3b82f6}.tooltip-text{visibility:hidden;opacity:0;position:absolute;bottom:125%;left:50%;transform:translate(-50%);background:#1f2937;color:#fff;padding:10px 14px;border-radius:8px;font-size:13px;font-weight:400;line-height:1.4;width:280px;text-align:left;box-shadow:0 4px 12px #0003;transition:opacity .2s,visibility .2s;z-index:100}.tooltip-text:after{content:"";position:absolute;top:100%;left:50%;transform:translate(-50%);border-width:6px;border-style:solid;border-color:#1f2937 transparent transparent transparent}.info-tooltip:hover .tooltip-text{visibility:visible;opacity:1}@media(prefers-color-scheme:dark){.info-icon{color:#9ca3af}.info-tooltip:hover .info-icon{color:#60a5fa}.tooltip-text{background:#374151;box-shadow:0 4px 12px #0006}.tooltip-text:after{border-color:#374151 transparent transparent transparent}}.affordability-columns{display:grid;grid-template-columns:1fr 1fr;gap:30px;margin-bottom:30px}@media(max-width:900px){.affordability-columns{grid-template-columns:1fr}}.affordability-column{background:#f8fafc;border-radius:12px;padding:20px;border:1px solid #e2e8f0}@media(prefers-color-scheme:dark){.affordability-column{background:#1e293b;border-color:#334155}}.column-header{font-size:18px;font-weight:700;color:#1f2937;margin:0 0 15px;padding-bottom:10px;border-bottom:2px solid #3b82f6;text-align:center}@media(prefers-color-scheme:dark){.column-header{color:#e5e7eb;border-bottom-color:#60a5fa}}.affordability-column .stats-grid{display:flex;flex-direction:column;gap:15px}#root{width:100%;max-width:1400px;margin:0 auto;padding:2rem;box-sizing:border-box}.App{min-height:100vh}.App h1{text-align:center;color:#3b82f6;margin-bottom:2rem;font-size:2.5rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}@media(prefers-color-scheme:dark){.App h1{color:#60a5fa;text-shadow:0 2px 8px rgba(96,165,250,.3)}}
