[data-theme=light]{color-scheme:light;--bg: #F7F4EF;--bg-s: #EDE9E1;--bg-e: #FDFBF8;--ink: #1A1A18;--ink-m: #6B6860;--ink-f: #ABA89F;--acc: #2D5016;--acc-l: #E8EFE0;--acc-h: #213D10;--acc-t: #fff;--alert: #C4511F;--alert-l: #FAE9E1;--warn: #9A6B00;--warn-l: #FFF3D0;--border: #D9D4CA;--border-f: #2D5016;--sh-sm: 0 2px 6px rgba(26,26,24,.08), 0 1px 2px rgba(26,26,24,.04);--sh-md: 0 4px 16px rgba(26,26,24,.1), 0 2px 4px rgba(26,26,24,.06);--sh-lg: 0 12px 40px rgba(26,26,24,.14), 0 4px 8px rgba(26,26,24,.06)}[data-theme=dark]{color-scheme:dark;--bg: #141412;--bg-s: #0E0E0C;--bg-e: #1E1D1A;--ink: #F0EDE7;--ink-m: #9B9890;--ink-f: #5C5A54;--acc: #7DB356;--acc-l: #1E2E14;--acc-h: #91C466;--acc-t: #0E1A08;--alert: #E8704A;--alert-l: #2C1509;--warn: #D4A017;--warn-l: #2A1E00;--border: #2E2C27;--border-f: #7DB356;--sh-sm: 0 2px 8px rgba(0,0,0,.35), 0 1px 2px rgba(0,0,0,.2);--sh-md: 0 4px 20px rgba(0,0,0,.45), 0 2px 4px rgba(0,0,0,.2);--sh-lg: 0 12px 48px rgba(0,0,0,.6), 0 4px 8px rgba(0,0,0,.2)}:root{--fd: "Fraunces", Georgia, serif;--fb: "DM Sans", system-ui, sans-serif;--r-sm: 3px;--r-md: 6px;--r-lg: 10px;--r-xl: 16px;--r-pill: 999px;--dur: .22s;--dur-fast: .12s;--dur-slow: .4s;--ease: cubic-bezier(.16, 1, .3, 1);--ease-io: cubic-bezier(.45, 0, .55, 1);--max-w: 1040px;--max-w-md: 720px;--max-w-sm: 560px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;scroll-behavior:smooth;background:var(--bg)}body{font-family:var(--fb);font-size:1rem;color:var(--ink);background:var(--bg);line-height:1.6;min-height:100vh;display:flex;flex-direction:column;transition:background var(--dur-slow) var(--ease),color var(--dur-slow) var(--ease)}#root{display:flex;flex-direction:column;flex:1}::selection{background:var(--acc-l);color:var(--acc)}:focus{outline:none}:focus-visible{outline:2px solid var(--border-f);outline-offset:2px;border-radius:var(--r-sm)}input[type=number]::-webkit-inner-spin-button{opacity:.4}.wrap{width:100%;max-width:var(--max-w);margin:0 auto;padding:0 1.5rem}.wrap--md{width:100%;max-width:var(--max-w-md);margin:0 auto;padding:0 1.5rem}.wrap--sm{width:100%;max-width:var(--max-w-sm);margin:0 auto;padding:0 1.5rem}.divider{border:none;border-top:1px solid var(--border)}.divider--heavy{border-top:2px solid var(--ink)}@keyframes fadeUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}@keyframes slideIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.anim-fade-up{animation:fadeUp .25s var(--ease) both}.anim-slide-in{animation:slideIn .3s var(--ease) both}@media (max-width: 600px){.wrap,.wrap--md,.wrap--sm{padding:0 1rem}}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--fb);font-size:1rem;font-weight:500;line-height:1;padding:.75rem 1.5rem;border-radius:var(--r-md);border:1.5px solid transparent;cursor:pointer;text-decoration:none;white-space:nowrap;transition:background var(--dur-fast) var(--ease),border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),transform .12s var(--ease);-webkit-user-select:none;user-select:none}.btn:active{transform:translateY(1px)}.btn:disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.btn--primary{background:var(--acc);color:var(--acc-t);border-color:var(--acc)}.btn--primary:hover{background:var(--acc-h);border-color:var(--acc-h);box-shadow:var(--sh-sm)}.btn--secondary{background:transparent;color:var(--ink);border-color:var(--border)}.btn--secondary:hover{background:var(--bg-s);border-color:var(--ink-m)}.btn--ghost{background:transparent;color:var(--acc);border-color:transparent;padding-left:.5rem;padding-right:.5rem}.btn--ghost:hover{background:var(--acc-l)}.btn--danger{background:transparent;color:var(--alert);border-color:var(--alert)}.btn--danger:hover{background:var(--alert-l)}.btn--sm{font-size:.875rem;padding:.5rem 1rem}.btn--lg{font-size:1.125rem;padding:1rem 2rem}.btn--xl{font-size:1.25rem;padding:1.125rem 2.25rem}.btn--full{width:100%}.btn--icon{width:32px;height:32px;padding:0;border-radius:50%}.field{display:flex;flex-direction:column;gap:.375rem}.field__label{font-size:.875rem;font-weight:500;color:var(--ink);display:flex;align-items:center;gap:.35rem}.field__hint{font-size:.75rem;color:var(--ink-m)}.field__error{font-size:.75rem;color:var(--alert)}.input-wrap{position:relative;display:flex;align-items:center}.input{font-family:var(--fb);font-size:1rem;color:var(--ink);background:var(--bg-e);border:1.5px solid var(--border);border-radius:var(--r-md);padding:.625rem 1rem;width:100%;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-slow) var(--ease);-webkit-appearance:none;-moz-appearance:none;appearance:none}.input::placeholder{color:var(--ink-f)}.input:hover{border-color:var(--ink-m)}.input:focus{border-color:var(--border-f);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 15%,transparent);outline:none}.input--error{border-color:var(--alert)!important}.input--error:focus{box-shadow:0 0 0 3px color-mix(in srgb,var(--alert) 15%,transparent)}.input--sfx{padding-right:3.5rem}.input-sfx{position:absolute;right:1rem;font-size:.8125rem;color:var(--ink-m);font-weight:500;pointer-events:none}.select{font-family:var(--fb);font-size:1rem;color:var(--ink);background:var(--bg-e);border:1.5px solid var(--border);border-radius:var(--r-md);padding:.625rem 2.75rem .625rem 1rem;width:100%;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%236B6860' stroke-width='2'%3E%3Cpolyline points='6 9 12 15 18 9'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;transition:border-color var(--dur-fast) var(--ease),background var(--dur-slow) var(--ease)}.select:focus{border-color:var(--border-f);box-shadow:0 0 0 3px color-mix(in srgb,var(--acc) 15%,transparent);outline:none}.fg{display:grid;grid-template-columns:1fr 1fr;gap:1rem 1.25rem}.fg--3{grid-template-columns:repeat(3,1fr)}.fg--full{grid-column:1 / -1}@media (max-width: 520px){.fg,.fg--3{grid-template-columns:1fr}}.help{display:inline-flex;align-items:center;justify-content:center;width:15px;height:15px;border-radius:50%;background:var(--bg-s);border:1px solid var(--border);font-size:9px;color:var(--ink-m);cursor:default;font-weight:700;transition:background var(--dur-fast) var(--ease);flex-shrink:0}.help:hover{background:var(--ink-m);color:var(--bg)}.badge{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:500;padding:.15rem .55rem;border-radius:var(--r-pill);line-height:1.5}.badge--green{background:var(--acc-l);color:var(--acc)}.badge--alert{background:var(--alert-l);color:var(--alert)}.badge--warn{background:var(--warn-l);color:var(--warn)}.badge--neutral{background:var(--bg-s);color:var(--ink-m)}.credit-card{background:var(--bg-e);border:1.5px solid var(--border);border-radius:var(--r-lg);padding:1.25rem 1.5rem;transition:border-color var(--dur-fast) var(--ease),box-shadow var(--dur-fast) var(--ease),background var(--dur-slow) var(--ease);animation:slideIn .25s var(--ease) both}.credit-card:hover{border-color:var(--ink-m);box-shadow:var(--sh-sm)}.credit-card--excluded{opacity:.55;border-style:dashed}.credit-card__head{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:1rem}.credit-card__type{font-size:.75rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-m);margin-bottom:.15rem}.credit-card__name{font-size:.9375rem;font-weight:500;color:var(--ink)}.credit-card__grid{display:grid;grid-template-columns:1fr 1fr;gap:.875rem 1.25rem}@media (min-width: 520px){.credit-card__grid{grid-template-columns:repeat(3,1fr)}}.credit-card__stat-lbl{font-size:.75rem;color:var(--ink-m);margin-bottom:.2rem}.credit-card__stat-val{font-family:var(--fd);font-size:1.1875rem;font-weight:500;letter-spacing:-.02em;color:var(--ink)}.add-card{border:1.5px dashed var(--border);border-radius:var(--r-lg);padding:1.25rem;text-align:center;cursor:pointer;color:var(--ink-m);font-size:.9375rem;transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.add-card:hover{border-color:var(--acc);color:var(--acc);background:var(--acc-l)}.scenario-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:.75rem}.scenario-card{background:var(--bg-e);border:1.5px solid var(--border);border-radius:var(--r-lg);padding:1rem 1.125rem;cursor:pointer;transition:border-color var(--dur-fast) var(--ease),background var(--dur-fast) var(--ease)}.scenario-card:hover,.scenario-card--active{border-color:var(--acc);background:var(--acc-l)}.scenario-card__icon{font-size:1.375rem;margin-bottom:.5rem}.scenario-card__title{font-size:.9375rem;font-weight:500;color:var(--ink);margin-bottom:.2rem}.scenario-card__desc{font-size:.8125rem;color:var(--ink-m);line-height:1.5}.advanced{border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;margin-top:1.5rem}.advanced__toggle{width:100%;display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;background:transparent;border:none;cursor:pointer;font-family:var(--fb);font-size:.9375rem;font-weight:500;color:var(--ink);text-align:left;transition:background var(--dur-fast) var(--ease)}.advanced__toggle:hover{background:var(--bg-s)}.advanced__chevron{font-size:.75rem;color:var(--ink-m);transition:transform var(--dur) var(--ease)}.advanced__chevron--open{transform:rotate(180deg)}.advanced__body{padding:1.25rem;border-top:1px solid var(--border);background:var(--bg-s);transition:background var(--dur-slow) var(--ease)}.stepper{display:flex;align-items:center;gap:.5rem}.step-item{display:flex;align-items:center;gap:.5rem;font-size:.875rem;color:var(--ink-f)}.step-num{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.75rem;font-weight:600;flex-shrink:0;background:var(--bg-s);border:1.5px solid var(--border);color:var(--ink-f);transition:all var(--dur) var(--ease)}.step-item--active{color:var(--ink)}.step-item--active .step-num{background:var(--acc);border-color:var(--acc);color:var(--acc-t)}.step-item--done{color:var(--ink-m)}.step-item--done .step-num{background:var(--acc-l);border-color:var(--acc-l);color:var(--acc)}.step-sep{flex:1;height:1px;background:var(--border);max-width:48px}@media (max-width: 600px){.stepper .step-item span{display:none}}.result-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:1px;background:var(--border);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden}@media (min-width: 600px){.result-grid{grid-template-columns:repeat(4,1fr)}}.result-cell{background:var(--bg-e);padding:1.125rem 1.25rem;transition:background var(--dur-slow) var(--ease)}.result-cell__lbl{font-size:.7rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-m);margin-bottom:.5rem}.result-cell__val{font-family:var(--fd);font-size:clamp(1.5rem,3vw,2.5rem);font-weight:500;letter-spacing:-.035em;line-height:1;color:var(--ink)}.result-cell__val--pos{color:var(--acc)}.result-cell__val--neg{color:var(--alert)}.result-cell__sub{font-size:.75rem;color:var(--ink-m);margin-top:.3rem}.alert-box{display:flex;gap:.875rem;padding:.875rem 1.125rem;border-radius:var(--r-md);border-left:3px solid}.alert-box--alert{background:var(--alert-l);border-color:var(--alert);color:var(--alert)}.alert-box--warn{background:var(--warn-l);border-color:var(--warn);color:var(--warn)}.alert-box--info{background:var(--acc-l);border-color:var(--acc);color:var(--acc)}.alert-box__icon{flex-shrink:0;margin-top:1px;font-size:1rem}.alert-box__title{font-size:.875rem;font-weight:500;margin-bottom:.2rem}.alert-box__text{font-size:.8125rem;opacity:.85;line-height:1.55}.paywall{background:var(--bg-e);border:1.5px solid var(--border);border-radius:var(--r-xl);overflow:hidden;box-shadow:var(--sh-lg);transition:background var(--dur-slow) var(--ease)}.paywall__head{padding:2rem 2rem 1.5rem;border-bottom:1px solid var(--border)}.paywall__price{display:flex;align-items:baseline;gap:.4rem;margin:.75rem 0}.paywall__amount{font-family:var(--fd);font-size:3rem;font-weight:500;letter-spacing:-.04em;line-height:1;color:var(--ink)}.paywall__currency{font-size:1.25rem;color:var(--ink-m)}.paywall__body{padding:1.5rem 2rem 2rem}.paywall__features{list-style:none;display:flex;flex-direction:column;gap:.75rem;margin-bottom:1.5rem}.paywall__feat{display:flex;gap:.75rem;font-size:.875rem;align-items:flex-start}.paywall__check{color:var(--acc);font-weight:700;flex-shrink:0;margin-top:1px}.disclaimer{font-size:.75rem;color:var(--ink-f);line-height:1.65;padding:.875rem 1.125rem;border:1px solid var(--border);border-radius:var(--r-md);background:var(--bg-s);transition:background var(--dur-slow) var(--ease)}.amt-table{width:100%;border-collapse:collapse;font-size:.8125rem}.amt-table th{text-align:left;font-size:.7rem;font-weight:500;letter-spacing:.07em;text-transform:uppercase;color:var(--ink-m);padding:.5rem .75rem;border-bottom:1px solid var(--border)}.amt-table td{padding:.5rem .75rem;border-bottom:1px solid var(--border);color:var(--ink);font-variant-numeric:tabular-nums}.amt-table tr:last-child td{border-bottom:none}.amt-table tr:hover td{background:var(--bg-s)}.amt-table__num{font-family:var(--fd);font-size:.875rem;letter-spacing:-.01em}.skeleton{background:linear-gradient(90deg,var(--bg-s) 25%,var(--bg-e) 50%,var(--bg-s) 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:var(--r-md)}.site-header{border-bottom:1px solid var(--border);background:var(--bg);position:sticky;top:0;z-index:50;transition:background var(--dur-slow) var(--ease),border-color var(--dur-slow) var(--ease)}.site-header__inner{display:flex;align-items:center;justify-content:space-between;height:56px}.logo{font-family:var(--fd);font-size:1.25rem;font-weight:400;letter-spacing:-.02em;color:var(--ink);text-decoration:none}.logo em{font-style:italic;color:var(--acc)}.theme-btn{display:flex;align-items:center;gap:.4rem;padding:.375rem .75rem;background:transparent;border:1.5px solid var(--border);border-radius:var(--r-pill);cursor:pointer;font-family:var(--fb);font-size:.8rem;color:var(--ink-m);transition:border-color var(--dur-fast) var(--ease),color var(--dur-fast) var(--ease)}.theme-btn:hover{border-color:var(--ink-m);color:var(--ink)}.hero{padding:4.5rem 0 4rem;border-bottom:1px solid var(--border);position:relative;overflow:hidden}.hero:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(ellipse 60% 80% at 70% 50%,var(--acc-l) 0%,transparent 70%);opacity:.5;pointer-events:none}.hero__eyebrow{font-size:.75rem;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-m);margin-bottom:1.25rem}.hero__title{font-family:var(--fd);font-weight:400;letter-spacing:-.025em;line-height:1.06;margin-bottom:1.25rem;font-size:clamp(2.25rem,5vw,3.75rem);max-width:680px}.hero__sub{font-size:1.0625rem;color:var(--ink-m);max-width:520px;line-height:1.65;margin-bottom:2rem}.hero__cta{display:flex;gap:.75rem;flex-wrap:wrap}.hero__proof{margin-top:3rem;display:flex;gap:2rem;flex-wrap:wrap;font-size:.8125rem;color:var(--ink-m)}.hero__proof-item{display:flex;align-items:center;gap:.4rem}.hero__proof-dot{width:6px;height:6px;border-radius:50%;background:var(--acc);flex-shrink:0}.sim-section{padding:2.5rem 0 4rem;flex:1}.sim-section__title{font-family:var(--fd);font-weight:400;letter-spacing:-.02em;line-height:1.2;font-size:clamp(1.5rem,2.5vw,2.25rem);margin-bottom:.5rem}.sim-section__sub{font-size:.9375rem;color:var(--ink-m);max-width:500px}.site-footer{border-top:2px solid var(--ink);padding:2rem 0;font-size:.8125rem;color:var(--ink-m);margin-top:auto}.site-footer__inner{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1rem}.footer-logo{font-family:var(--fd);font-size:1.125rem;letter-spacing:-.02em;color:var(--ink)}.footer-links{display:flex;gap:1.25rem;flex-wrap:wrap}.footer-links a{color:var(--ink-m);text-decoration:none;font-size:.8rem}.footer-links a:hover{color:var(--ink)}.page{animation:fadeUp .2s var(--ease) both}@media (max-width: 600px){.hero{padding:2.5rem 0 2rem}.hero__cta .btn--lg{font-size:1rem;padding:.875rem 1.5rem}.paywall__head,.paywall__body{padding-left:1.25rem;padding-right:1.25rem}}
