:root{color-scheme:light;--bg:#fff;--surface:#f5f7f6;--ink:#0b0f0d;--ink-2:#5a6560;--line:#e2e7e4;--line-strong:#0b0f0d;--dark:#0c1512;--dark-2:#18241f;--accent:#00d47e;--accent-ink:#0a6b45}*{box-sizing:border-box}body{background:var(--bg);color:var(--ink);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.wrap{max-width:520px;margin:0 auto;padding:32px 20px 72px}h1{letter-spacing:-.02em;margin:0 0 10px;font-size:2rem;font-weight:700;line-height:1.15}.sub{color:var(--ink-2);margin:0 0 28px;font-size:.9375rem;line-height:1.5}.panel{border:1px solid var(--line);border-radius:16px;overflow:hidden}.panel-row{border-bottom:1px solid var(--line);padding:18px 16px}.panel-row:last-child{border-bottom:none}.section-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.section-head .field-label{margin-bottom:0}.field-label{color:var(--ink-2);margin-bottom:8px;font-size:.8125rem;font-weight:600;display:block}.hint{color:var(--ink-2);opacity:.8;margin:-4px 0 8px;font-size:.8125rem}select,input[type=number]{font-variant-numeric:tabular-nums;border:1.5px solid var(--line);background:var(--bg);width:100%;color:var(--ink);appearance:none;border-radius:10px;padding:12px 14px;font-family:inherit;font-size:1.0625rem}input[type=number]{-moz-appearance:textfield}input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}select:focus-visible,.dollar-input:focus-within{border-color:var(--line-strong);outline:2px solid var(--accent-ink);outline-offset:1px}.dollar-input input:focus{outline:none}.select-wrap{position:relative}.select-wrap select{padding-right:40px}.chevron{color:var(--ink-2);pointer-events:none;position:absolute;top:50%;right:14px;transform:translateY(-50%)}.dollar-input{border:1.5px solid var(--line);background:var(--bg);border-radius:10px;align-items:center;display:flex}.dollar-input span{color:var(--ink-2);padding-left:14px;font-size:1.0625rem}.dollar-input input{background:0 0;border:none;flex:1;min-width:0;padding-left:6px}.income-row{align-items:center;gap:8px;margin-bottom:8px;display:flex}.income-row:last-child{margin-bottom:0}.income-row .dollar-input{flex:45%}.income-row .select-wrap{flex:55%;min-width:0}.remove-row{width:32px;height:32px;color:var(--ink-2);cursor:pointer;background:0 0;border:none;border-radius:8px;flex:none;justify-content:center;align-items:center;padding:0;font-size:1.375rem;line-height:1;display:flex}.remove-row:hover{background:var(--surface);color:var(--ink)}.pill-btn{color:var(--accent-ink);background:var(--surface);border:1px solid var(--line);cursor:pointer;border-radius:999px;flex:none;padding:6px 12px;font-family:inherit;font-size:.8125rem;font-weight:600}.pill-btn:hover{border-color:var(--accent-ink)}.result{text-align:center;background:var(--dark);border-radius:20px;margin:24px 0;padding:36px 24px 32px}.result-label{text-transform:uppercase;letter-spacing:.08em;color:#ffffff8c;font-size:.75rem;font-weight:600}.result-amount{letter-spacing:-.03em;font-variant-numeric:tabular-nums;color:var(--accent);margin:12px 0 10px;font-size:clamp(3.25rem,14vw,4.5rem);font-weight:800;line-height:1}.result-pct{color:#ffffffb3;font-size:.9375rem}.result-note{color:#ffffff73;margin-top:6px;font-size:.875rem}.quarterly h2{letter-spacing:-.01em;margin:0 0 12px;font-size:1.0625rem}.quarterly-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.q-card{background:var(--surface);border-radius:12px;padding:14px}.q-date{color:var(--ink-2);font-size:.8125rem;font-weight:600}.q-amount{font-variant-numeric:tabular-nums;letter-spacing:-.01em;margin-top:4px;font-size:1.25rem;font-weight:700}.q-card.next{background:var(--dark);grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;padding:16px 18px;display:flex}.q-eyebrow{text-transform:uppercase;letter-spacing:.08em;color:var(--accent);align-items:center;gap:6px;margin-bottom:6px;font-size:.6875rem;font-weight:700;display:flex}.q-card.next .q-date{color:#ffffffb3}.q-card.next .q-amount{color:#fff;margin-top:0;font-size:1.5rem}.disclaimer{color:var(--ink-2);border-top:1px solid var(--line);margin:32px 0 0;padding-top:20px;font-size:.8125rem;line-height:1.55}@media (width>=520px){h1{font-size:2.25rem}.result{padding:44px 32px 40px}.panel-row{padding:20px}}
