:root{font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;font-family:ui-sans-serif,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html{background:var(--color-page);min-width:20rem;min-height:100%}body{background:var(--color-page);min-height:100dvh;color:var(--color-ink);margin:0}button,input,select{font:inherit}button,select{min-height:2.75rem}button{cursor:pointer}:focus-visible{outline:.1875rem solid var(--color-focus);outline-offset:.1875rem}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.app-shell{width:min(100%,52rem);min-height:100dvh;padding:max(var(--space-page), env(safe-area-inset-top)) max(var(--space-page), env(safe-area-inset-right)) max(var(--space-page), env(safe-area-inset-bottom)) max(var(--space-page), env(safe-area-inset-left));margin-inline:auto}.setup-shell{align-content:start;gap:clamp(2rem,7vw,4.5rem);padding-block-start:max(2rem, env(safe-area-inset-top));display:grid}.setup-intro{max-width:42rem}.eyebrow{color:var(--color-accent);letter-spacing:.14em;text-transform:uppercase;margin:0 0 .75rem;font-size:.75rem;font-weight:750}h1{letter-spacing:-.06em;text-wrap:balance;max-width:15ch;margin:0;font-size:clamp(2.5rem,10vw,5.25rem);line-height:.97}h2{letter-spacing:-.025em;margin:0;font-size:1.25rem}.lede,.form-heading p{max-width:34rem;color:var(--color-muted);margin:1.25rem 0 0;font-size:1.05rem;line-height:1.55}.storage-notice{color:var(--color-muted);margin:1rem 0 0;font-size:.8rem}.income-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:1.15rem 1rem;max-width:39rem;display:grid}.form-heading,.form-actions{grid-column:1/-1}.form-heading{margin-bottom:.4rem}.field,.price-field{color:var(--color-ink);gap:.45rem;font-size:.875rem;font-weight:650;display:grid}.field input,.field select,.price-field input{border:1px solid var(--color-line);background:var(--color-surface);width:100%;min-height:3.25rem;color:var(--color-ink);border-radius:.75rem;padding:.7rem .9rem;font-size:1.05rem}.field input[aria-invalid=true],.field select[aria-invalid=true],.price-field input[aria-invalid=true]{border-color:var(--color-danger)}.input-with-prefix,.price-input-wrap{display:block;position:relative}.input-with-prefix>span,.currency-symbol{z-index:1;color:var(--color-muted);font-size:.8rem;font-weight:700;position:absolute;top:50%;left:.9rem;transform:translateY(-50%)}.input-with-prefix input,.price-input-wrap input{padding-left:4.7rem}.input-with-prefix .currency-code,.price-input-wrap .currency-code{z-index:1;color:var(--color-muted);letter-spacing:.03em;font-size:.65rem;position:absolute;top:50%;left:2.35rem;transform:translateY(-50%)}.field-error{color:var(--color-danger);font-size:.78rem;font-weight:550;line-height:1.3}.form-actions{align-items:center;gap:.7rem;margin-top:.55rem;display:flex}.button{border:0;border-radius:999px;padding:.75rem 1.3rem;font-weight:700}.button-primary{background:var(--color-accent);color:var(--color-primary-foreground)}.button-primary:hover{background:var(--color-accent-dark)}.button-quiet{color:var(--color-muted);background:0 0}.calculator-shell{align-content:start;padding-block-start:max(2rem, env(safe-area-inset-top));display:grid}.calculator-card{width:min(100%,40rem);margin-inline:auto}.calculator-card h1{letter-spacing:-.055em;max-width:none;font-size:clamp(2rem,6vw,3.25rem)}.calculator-topline{justify-content:space-between;align-items:center;margin-bottom:2.25rem;display:flex}.calculator-topline .eyebrow{margin:0}.text-button{color:var(--color-accent);background:0 0;border:0;padding:.55rem .25rem;font-size:.9rem;font-weight:750}.text-button:hover{text-underline-offset:.2em;text-decoration:underline}.price-field{max-width:22rem}.price-field>span:first-child{color:var(--color-muted);font-size:.85rem;font-weight:500}.price-field input{letter-spacing:-.03em;min-height:4rem;font-size:1.6rem}.result-panel{border-top:1px solid var(--color-line);margin-top:2.25rem;padding:1.5rem 0 0}.result-label,.result-secondary{color:var(--color-muted);margin:0;line-height:1.5}.result-primary{color:var(--color-accent-dark);letter-spacing:-.06em;margin:.45rem 0 .65rem;font-size:clamp(4rem,14vw,5rem);font-weight:760;line-height:1.03}.result-secondary{font-size:.9rem}.result-secondary span{display:block}.result-secondary .result-percentage{margin-top:.25rem}.empty-result{border-top:1px solid var(--color-line);color:var(--color-muted);gap:.35rem;margin-top:2.25rem;padding-top:1.5rem;font-size:.92rem;display:grid}.settings-dialog{background:var(--color-surface);width:min(100% - 1.5rem,38rem);color:var(--color-ink);overscroll-behavior:contain;border:0;border-radius:1.25rem;max-block-size:calc(100dvh - 1rem);margin:auto;padding:0;overflow:auto;box-shadow:0 1.5rem 5rem #24231f2e}.settings-dialog::backdrop{-webkit-backdrop-filter:blur(.25rem);backdrop-filter:blur(.25rem);background:#24231f59}.dialog-inner{padding:1.5rem}.dialog-header{justify-content:space-between;align-items:center;margin-bottom:1.25rem;display:flex}.dialog-header .eyebrow{margin:0}.icon-button{background:var(--color-icon-surface);width:2.75rem;height:2.75rem;color:var(--color-ink);border:0;border-radius:50%;font-size:1.5rem;line-height:1}.reset-button{color:var(--color-danger);background:0 0;border:0;margin-top:1.4rem;padding:0;font-size:.8rem;font-weight:700}.reset-confirm-button{background:var(--color-danger-action);color:var(--color-danger-foreground)}.reset-copy{color:var(--color-muted);margin:.75rem 0 0;line-height:1.5}.update-prompt{right:max(1rem, env(safe-area-inset-right));bottom:max(1rem, env(safe-area-inset-bottom));left:max(1rem, env(safe-area-inset-left));z-index:10;border:1px solid var(--color-line);background:var(--color-surface);border-radius:1rem;align-items:center;gap:.75rem;width:min(100% - 2rem,34rem);margin-inline:auto;padding:.9rem;display:flex;position:fixed;box-shadow:0 1rem 3rem #24231f29}.update-prompt div{flex:1;min-width:0}.update-prompt strong{font-size:.9rem}.update-prompt p{color:var(--color-muted);margin:.2rem 0 0;font-size:.78rem;line-height:1.4}.update-prompt .button,.update-prompt .text-button{flex:none}:root,:root[data-theme=light]{color:var(--color-ink);background:var(--color-page);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--color-page:#f4f1eb;--color-ink:#24231f;--color-muted:#706c63;--color-line:#ddd8ce;--color-surface:#fffdfa;--color-accent:#2d5a46;--color-accent-dark:#214536;--color-focus:#175fba;--color-danger:#a33d32;--color-icon-surface:#f0ede6;--color-primary-foreground:#fff;--color-danger-foreground:#fff;--color-danger-action:#a33d32;--space-page:clamp(1.25rem, 5vw, 3rem)}:root[data-theme=dark]{color:var(--color-ink);background:var(--color-page);--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-page:#24231f;--color-ink:#f3eee5;--color-muted:#b4aea3;--color-line:#4a4741;--color-surface:#302e29;--color-accent:#9ac8a9;--color-accent-dark:#b8d9c1;--color-focus:#175fba;--color-danger:#ffb0a7;--color-icon-surface:#403d36;--color-primary-foreground:#17251e;--color-danger-foreground:#fff;--color-danger-action:#9d4338}@media (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=dark]){color:#f3eee5;--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--color-page:#24231f;--color-ink:#f3eee5;--color-muted:#b4aea3;--color-line:#4a4741;--color-surface:#302e29;--color-accent:#9ac8a9;--color-accent-dark:#b8d9c1;--color-focus:#175fba;--color-danger:#ffb0a7;--color-icon-surface:#403d36;--color-primary-foreground:#17251e;--color-danger-foreground:#fff;--color-danger-action:#9d4338;background:#24231f}}@media (width>=40rem) and (height>=46rem){.setup-shell,.calculator-shell{align-content:center;padding-block-start:max(var(--space-page), env(safe-area-inset-top))}}@media (width<=38rem){.income-form{grid-template-columns:1fr}.form-heading,.form-actions{grid-column:auto}.settings-dialog{width:100%;max-width:none;max-block-size:calc(100dvh - env(safe-area-inset-top));border-radius:1.25rem 1.25rem 0 0;margin:auto 0 0}.dialog-inner{padding-bottom:max(1.5rem, env(safe-area-inset-bottom))}.update-prompt{flex-wrap:wrap}.update-prompt div{flex-basis:100%}}@media (height<=32rem) and (orientation:landscape){.setup-shell{gap:1rem;padding-block-start:max(1rem, env(safe-area-inset-top))}.setup-intro h1{font-size:2.5rem}.setup-intro .lede{margin-top:.75rem;font-size:.95rem}.income-form{gap:.75rem 1rem}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
