*,*:before,*:after{box-sizing:border-box}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,sans-serif;line-height:1.5;font-weight:400;color:#1f2937;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{margin:0;padding:0;width:100%;min-height:100vh}#root{width:100%;min-height:100vh}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer}.simulator{--primary: #6366f1;--primary-dark: #4f46e5;--primary-light: #818cf8;--success: #10b981;--warning: #f59e0b;--danger: #ef4444;--text: #1f2937;--text-muted: #6b7280;--bg: #ffffff;--bg-alt: #f9fafb;--border: #e5e7eb;min-height:100vh;background:var(--bg-alt)}.sim-header{display:flex;align-items:center;gap:2rem;padding:1rem 1.5rem;background:#fff;border-bottom:1px solid var(--border)}.sim-logo{font-size:1.25rem;font-weight:700;color:var(--primary);text-decoration:none}.sim-title{color:var(--text-muted);font-size:.95rem}.sim-layout{display:grid;grid-template-columns:320px 1fr;min-height:calc(100vh - 57px)}@media(max-width:1024px){.sim-layout{grid-template-columns:1fr}}.sim-sidebar{background:#fff;border-right:1px solid var(--border);padding:1.5rem;overflow-y:auto;max-height:calc(100vh - 57px)}@media(max-width:1024px){.sim-sidebar{max-height:none;border-right:none;border-bottom:1px solid var(--border)}}.sidebar-section{margin-bottom:1.5rem;padding-bottom:1.5rem;border-bottom:1px solid var(--border)}.sidebar-section:last-of-type{border-bottom:none;margin-bottom:1rem}.sidebar-section h3{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin:0 0 1rem}.input-group{margin-bottom:1rem}.input-group:last-child{margin-bottom:0}.input-group label{display:block;font-size:.875rem;font-weight:500;color:var(--text);margin-bottom:.375rem}.input-group input,.input-group select{width:100%;padding:.5rem .75rem;border:1px solid var(--border);border-radius:6px;font-size:.875rem;color:var(--text);background:#fff;transition:border-color .15s,box-shadow .15s}.input-group input:focus,.input-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.input-group input[type=number]{-moz-appearance:textfield}.input-group input::-webkit-outer-spin-button,.input-group input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.input-group label input[type=checkbox]{width:auto;margin-right:.5rem;vertical-align:middle}.input-group label:has(input[type=checkbox]){display:flex;align-items:center;cursor:pointer}.input-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.input-with-prefix,.input-with-suffix{display:flex;align-items:center;border:1px solid var(--border);border-radius:6px;overflow:hidden;transition:border-color .15s,box-shadow .15s}.input-with-prefix:focus-within,.input-with-suffix:focus-within{border-color:var(--primary);box-shadow:0 0 0 3px #6366f11a}.input-with-prefix span,.input-with-suffix span{padding:.5rem .75rem;background:var(--bg-alt);color:var(--text-muted);font-size:.875rem;border-right:1px solid var(--border)}.input-with-suffix span{border-right:none;border-left:1px solid var(--border)}.input-with-prefix input,.input-with-suffix input{flex:1;border:none;padding:.5rem .75rem}.input-with-prefix input:focus,.input-with-suffix input:focus{outline:none;box-shadow:none}.input-hint{display:block;font-size:.75rem;color:var(--text-muted);margin-top:.25rem}.simulate-btn{width:100%;padding:.875rem 1.5rem;background:var(--primary);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .15s,transform .15s}.simulate-btn:hover:not(:disabled){background:var(--primary-dark);transform:translateY(-1px)}.simulate-btn:disabled{opacity:.7;cursor:not-allowed}.sim-main{padding:2rem;overflow-y:auto}.empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;min-height:60vh;color:var(--text-muted)}.empty-icon{width:80px;height:80px;background:var(--bg-alt);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem}.empty-icon svg{width:40px;height:40px;color:var(--primary)}.empty-state h2{font-size:1.5rem;font-weight:600;color:var(--text);margin:0 0 .5rem}.empty-state p{max-width:400px;line-height:1.6;margin:0}.loading-state{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh}.spinner{width:48px;height:48px;border:4px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@keyframes spin{to{transform:rotate(360deg)}}.loading-state p{color:var(--text-muted)}.error-banner{background:#fef2f2;border:1px solid #fecaca;color:#991b1b;padding:1rem 1.25rem;border-radius:8px;margin-bottom:1.5rem}.results{max-width:1200px}.metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem;margin-bottom:2rem}@media(max-width:1200px){.metrics-grid{grid-template-columns:repeat(2,1fr)}}@media(max-width:600px){.metrics-grid{grid-template-columns:1fr}}.metric-card{background:#fff;border-radius:12px;padding:1.25rem;border:1px solid var(--border)}.metric-card.primary{border-width:2px}.metric-label{font-size:.75rem;font-weight:500;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem}.metric-value{font-size:2rem;font-weight:700;color:var(--text);line-height:1.1;margin-bottom:.25rem}.metric-desc{font-size:.8rem;color:var(--text-muted)}.chart-container{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:2rem;border:1px solid var(--border)}.chart-container h3{font-size:1rem;font-weight:600;color:var(--text);margin:0 0 1rem}.summary-section{background:#fff;border-radius:12px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid var(--border)}.summary-section h3{font-size:1rem;font-weight:600;color:var(--text);margin:0 0 1rem}.summary-table{width:100%;border-collapse:collapse}.summary-table th,.summary-table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid var(--border)}.summary-table th{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);background:var(--bg-alt)}.summary-table tr:last-child td{border-bottom:none}.summary-table tr.highlight{background:#fafaff}.summary-table tr.highlight td{font-weight:600}.tax-info{background:var(--bg-alt);border-radius:8px;padding:1rem}.tax-row{display:flex;justify-content:space-between;padding:.5rem 0;border-bottom:1px solid var(--border)}.tax-row:last-child{border-bottom:none;font-weight:600;color:var(--text)}.tax-note{font-size:.8rem;color:var(--text-muted);margin:1rem 0 0}.warning-banner{background:#fffbeb;border:1px solid #fde68a;color:#92400e;padding:1rem 1.25rem;border-radius:8px;margin-top:1.5rem}.annuity-comparison{border-color:var(--primary);border-width:2px}.comparison-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.comparison-card{background:var(--bg-alt);border-radius:8px;padding:1rem;text-align:center}.comparison-card.highlight{background:#fafaff;border:1px solid var(--primary)}.comparison-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);margin-bottom:.5rem}.comparison-value{font-size:1.5rem;font-weight:700;color:var(--text)}.comparison-desc{font-size:.8rem;color:var(--text-muted);margin-top:.25rem}.recommendation{background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px;padding:1rem;color:#166534;font-size:.9rem}@media(max-width:768px){.sim-main{padding:1rem}.metric-value{font-size:1.5rem}.chart-container,.summary-section{padding:1rem}}
