:root{--primary: #2563eb;--primary-dark: #1d4ed8;--success: #16a34a;--bg: #f8fafc;--card-bg: #ffffff;--text: #1e293b;--text-muted: #64748b;--border: #e2e8f0;--highlight-bg: #eff6ff}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;background:var(--bg);color:var(--text);line-height:1.6}#app{max-width:720px;margin:0 auto;padding:2rem 1rem}header{text-align:center;margin-bottom:1.5rem}header h1{font-size:1.8rem;font-weight:700;color:var(--primary)}header .subtitle{color:var(--text-muted)}.wizard-progress{display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;gap:0}.step-dot{width:28px;height:28px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:700;background:var(--border);color:var(--text-muted);cursor:default}.step-dot.active{background:var(--primary);color:#fff}.step-line{width:40px;height:2px;background:var(--border)}.card{background:var(--card-bg);border-radius:12px;padding:2rem;box-shadow:0 1px 3px #00000014;border:1px solid var(--border);margin-bottom:1rem}.hidden{display:none!important}.primary-btn{background:var(--primary);color:#fff;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:600;border:none;cursor:pointer;transition:background .2s}.primary-btn:hover{background:var(--primary-dark)}.secondary-btn{background:var(--highlight-bg);color:var(--primary);border:1px solid var(--primary);padding:.6rem 1.25rem;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.secondary-btn:hover{background:#dbeafe}.text-btn{background:none;border:none;color:var(--text-muted);padding:.6rem 1rem;font-size:.9rem;cursor:pointer;transition:color .2s}.text-btn:hover{color:var(--text)}.btn-row{display:flex;gap:.75rem;align-items:center;margin-top:1.5rem}.form-group{margin-bottom:1rem}.form-group label{display:block;font-weight:600;margin-bottom:.35rem;font-size:.92rem}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}input[type=number],input[type=text],select{width:100%;padding:.6rem .75rem;border:1px solid var(--border);border-radius:8px;font-size:1rem;transition:border-color .2s,box-shadow .2s}input[type=number]:focus,input[type=text]:focus,select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px #2563eb1a}.input-prefix{position:relative}.input-prefix .currency-sym{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);color:var(--text-muted);font-weight:600;font-size:.9rem}.input-prefix input{padding-left:1.75rem}.hint{font-size:.82rem;color:var(--text-muted);margin-top:.25rem}.annual-equiv{font-weight:600;color:var(--primary);margin-top:.5rem}.mode-toggle{display:flex;border-radius:8px;border:1px solid var(--border);overflow:hidden}.mode-btn{flex:1;padding:.65rem .75rem;font-size:.88rem;font-weight:600;border:none;cursor:pointer;transition:background .2s;background:var(--bg);color:var(--text-muted)}.mode-btn:hover{background:var(--highlight-bg)}.mode-btn.active{background:var(--primary);color:#fff}.advanced-toggle{margin-top:1rem}.accordion{border:1px solid var(--border);border-radius:8px;margin-bottom:.75rem}.accordion-header{padding:.75rem 1rem;background:var(--bg);display:flex;align-items:center;gap:.5rem;cursor:pointer;border-radius:8px;-webkit-user-select:none;user-select:none}.accordion-icon{font-size:.7rem;transition:transform .2s}.accordion.open .accordion-icon{transform:rotate(90deg)}.accordion-title{font-weight:700;font-size:.92rem}.accordion-summary{margin-left:auto;font-size:.8rem;color:var(--text-muted)}.accordion-content{padding:1rem}.checkbox-label{display:flex;align-items:center;gap:.5rem;font-weight:600}.checkbox-label input[type=checkbox]{width:18px;height:18px}.glide-options{padding:.75rem;background:var(--highlight-bg);border-radius:8px;border:1px solid var(--border);margin-top:.75rem}input[type=range]{width:100%;margin:.5rem 0}.slider-label{font-weight:600;font-size:.9rem}.info-btn{width:20px;height:20px;border-radius:50%;border:1px solid var(--border);background:var(--bg);color:var(--primary);font-size:.75rem;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;margin-left:.35rem;vertical-align:middle}.info-popup{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000004d;z-index:1000;display:flex;align-items:center;justify-content:center}.info-popup.hidden{display:none!important}.info-popup-content{background:#fff;border:1px solid var(--primary);border-radius:12px;padding:1.25rem 1.5rem;max-width:420px;font-size:.9rem;line-height:1.6;box-shadow:0 8px 30px #00000026}.results-summary{display:grid;grid-template-columns:1fr 1fr;gap:1rem;margin:1.5rem 0}.result-card{background:var(--bg);border-radius:8px;padding:1rem;text-align:center;border:1px solid var(--border);cursor:help;position:relative}[data-tip]{position:relative;cursor:help}[data-tip]:hover:after{content:attr(data-tip);position:absolute;left:50%;bottom:100%;transform:translate(-50%);background:var(--text);color:#fff;font-size:.78rem;line-height:1.5;padding:.5rem .75rem;border-radius:8px;width:max-content;max-width:300px;z-index:100;pointer-events:none;margin-bottom:6px;font-weight:400;text-align:left}.result-card.highlight{background:var(--highlight-bg);border-color:var(--primary);grid-column:span 2}.result-card .label{font-size:.82rem;color:var(--text-muted);text-transform:uppercase;letter-spacing:.03em}.result-card .value{font-size:1.5rem;font-weight:700;color:var(--text)}.result-card .sub{font-size:.8rem;color:var(--text-muted)}.chart-heading{font-size:1rem;margin:1.5rem 0 .75rem;cursor:help}.bar-chart{height:180px;display:flex;align-items:flex-end;gap:2px;border-bottom:1px solid var(--border);position:relative}.bar-chart .bar{flex:1;min-width:3px;border-radius:2px 2px 0 0;position:relative;cursor:pointer;transition:opacity .2s}.bar-chart .bar.accumulation{background:var(--primary)}.bar-chart .bar.drawdown{background:var(--success)}.bar-chart .bar:hover{opacity:.8}.bar-chart .bar:hover:after{content:attr(data-tooltip);position:absolute;bottom:100%;left:50%;transform:translate(-50%);background:var(--text);color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.7rem;white-space:nowrap;pointer-events:none}.bar-chart .retirement-marker{position:absolute;width:2px;background:#ef4444;top:0;bottom:0}.bar-chart .retirement-label{position:absolute;top:-18px;font-size:.7rem;color:#ef4444;font-weight:600;white-space:nowrap}.chart-legend{display:flex;gap:1.5rem;margin-top:.75rem;font-size:.85rem}.chart-insight{margin-top:1rem}.insight-box{background:var(--highlight-bg);border:1px solid var(--border);border-radius:8px;padding:1rem;font-size:.85rem;line-height:1.6}.insight-box strong{color:var(--text)}.insight-box p{margin-top:.4rem;color:var(--text-muted)}.insight-numbers{display:flex;flex-direction:column;gap:.3rem;margin:.5rem 0;padding-left:.25rem}.insight-item{font-size:.85rem}.insight-item.gain{color:var(--success)}.insight-item.spend{color:#ef4444}.legend-item{display:flex;align-items:center;gap:.4rem}.legend-dot{width:10px;height:10px;border-radius:50%}.legend-dot.accumulation{background:var(--primary)}.legend-dot.drawdown{background:var(--success)}footer{margin-top:2rem;border-top:1px solid var(--border);padding-top:1rem;font-size:.8rem;color:var(--text-muted);text-align:center}@media(max-width:600px){.form-grid,.results-summary{grid-template-columns:1fr}.result-card.highlight,.full-width{grid-column:span 1}.accordion-summary{display:none}}@media print{body{background:#fff}.wizard-progress,.btn-row,.advanced-toggle,footer{display:none!important}.card{box-shadow:none;border:none}#step4{display:block!important}.bar-chart .bar:hover:after{display:none}}
