:root{--color-paper: oklch(98.2% .008 280);--color-surface: oklch(100% 0 0);--color-ink: oklch(26% .035 278);--color-muted: oklch(48% .025 278);--color-accent: oklch(48% .19 288);--color-accent-dark: oklch(40% .17 288);--color-accent-ink: oklch(100% 0 0);--color-focus: oklch(45% .18 290);--color-border: oklch(90% .018 280);--color-lavender: oklch(94% .035 290);--color-blue: oklch(95% .034 235);--color-cyan: oklch(45% .09 225);--color-roi-end: oklch(47% .1 225);--color-success: oklch(39% .1 163);--color-success-bg: oklch(96% .025 160);--color-danger: oklch(44% .17 25);--color-danger-bg: oklch(97% .018 25);--color-glass: oklch(100% 0 0 / 15%);--color-shadow: oklch(35% .07 280 / 5%);--font-display: "Trebuchet MS", sans-serif;--font-body: "Segoe UI", Arial, sans-serif;--space-xs: 4px;--space-sm: 8px;--space-md: 16px;--space-lg: 24px;--space-xl: 32px;--space-2xl: 48px;--space-3xl: 64px;--text-small: .82rem;--text-body: .94rem;--text-title: 1.25rem;--radius-sm: 10px;--radius-lg: 20px;--ease-out: cubic-bezier(.16,1,.3,1);--ease-in: cubic-bezier(.7,0,.84,0);--ease-in-out: cubic-bezier(.65,0,.35,1);--dur-fast: .15s}*{box-sizing:border-box}html,body{margin:0;overflow-x:clip}body{font-family:var(--font-body);font-size:var(--text-body);line-height:1.6;color:var(--color-ink);background:var(--color-paper)}button,input{font:inherit}a{color:var(--color-accent);text-underline-offset:4px}button,a{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled,input:disabled{opacity:.55;cursor:not-allowed}button:active:not(:disabled){transform:translateY(1px)}:focus-visible{outline:3px solid var(--color-focus);outline-offset:4px}h1,h2,h3,p{margin:0}h1,h2,h3{font-family:var(--font-display);line-height:1.22;overflow-wrap:anywhere}h2{font-size:var(--text-title)}h3{font-size:var(--text-body)}p{color:var(--color-muted)}small{font-size:var(--text-small)}.site-header{background:var(--color-surface);border-bottom:1px solid var(--color-border)}.header-inner{max-width:1200px;margin:auto;min-height:82px;padding:var(--space-md) var(--space-xl);display:flex;align-items:center;gap:var(--space-xl)}.brand{display:flex;align-items:center;gap:10px;color:var(--color-ink);text-decoration:none;font-size:1.2rem;font-weight:750;white-space:nowrap}.brand-light{font-weight:400;margin-left:3px}.brand-icon{width:36px;height:36px;display:grid;place-items:center;background:var(--color-accent);color:var(--color-accent-ink);border-radius:var(--radius-sm);font-size:1.8rem;line-height:1}.header-inner nav{display:flex;gap:var(--space-sm);margin:auto}.header-inner nav a{padding:10px 18px;color:var(--color-muted);text-decoration:none;border-radius:var(--radius-sm)}.header-inner nav a.router-link-active{color:var(--color-accent);background:var(--color-lavender);font-weight:600}.account{display:flex;align-items:center;gap:var(--space-md);min-width:0}.user-name{max-width:160px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-button{border:0;background:none;color:var(--color-muted);padding:10px 4px;min-height:44px}.header-note{margin-left:auto;font-size:var(--text-small);color:var(--color-muted)}main{min-height:calc(100vh - 175px)}.hero{text-align:center;padding:50px var(--space-lg) 72px;background:linear-gradient(115deg,var(--color-lavender),var(--color-blue))}.eyebrow{display:block;font-size:.7rem;letter-spacing:.15em;font-weight:700;color:var(--color-accent);margin-bottom:var(--space-md)}.hero h1{font-size:clamp(1.9rem,3.4vw,2.7rem);letter-spacing:-.035em;max-width:850px;margin:0 auto var(--space-md);line-height:1.23}.hero h1 span,.auth-intro h1 span{color:var(--color-accent)}.hero p{font-size:1rem}.live-label{display:inline-flex;align-items:center;gap:var(--space-sm);margin-top:var(--space-lg);color:var(--color-cyan);font-size:var(--text-small)}.live-label i{width:6px;height:6px;background:var(--color-cyan);border-radius:50%}.page-width{width:calc(100% - 64px);max-width:1120px;margin:auto}.calculator-grid{display:grid;grid-template-columns:minmax(0,.95fr) minmax(0,1.15fr);gap:var(--space-xl);align-items:start;margin-top:-32px;position:relative;margin-bottom:var(--space-2xl)}.panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 8px 32px var(--color-shadow)}.parameters{padding:var(--space-xl)}.section-heading{display:flex;align-items:center;gap:14px;margin-bottom:var(--space-xl)}.section-heading p{font-size:var(--text-small);margin-top:6px}.section-icon{width:40px;height:40px;display:grid;place-items:center;background:var(--color-lavender);color:var(--color-accent);font-size:1.6rem;border-radius:var(--radius-sm)}.field{margin-bottom:var(--space-lg)}.field label{display:block;font-weight:600;margin-bottom:var(--space-sm)}.field small{display:block;margin-top:6px;line-height:1.5}.field small:empty{display:none}input{width:100%;min-width:0;height:50px;padding:12px 14px;background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-border);border-radius:var(--radius-sm)}input[aria-invalid=true]{border-color:var(--color-danger)}input::placeholder{color:var(--color-muted)}.currency-wrap{display:flex;align-items:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);overflow:clip}.currency-wrap>span{padding:0 16px;color:var(--color-muted);border-right:1px solid var(--color-border)}.currency-wrap input{border:0;border-radius:0;font-weight:550;letter-spacing:.02em}.currency-wrap:focus-within{outline:2px solid var(--color-focus);outline-offset:2px}.currency-wrap input:focus{outline:0}.currency-wrap.invalid{border-color:var(--color-danger)}.muted{color:var(--color-muted)}.error{color:var(--color-danger);font-size:var(--text-small)}.success{color:var(--color-success)}.total-row{display:flex;justify-content:space-between;align-items:center;gap:var(--space-md);padding:var(--space-md) 0;margin:var(--space-sm) 0 var(--space-lg);border-top:1px solid var(--color-border);font-size:var(--text-small)}.total-row strong{text-align:right;overflow-wrap:anywhere}.primary,.secondary{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-lg);min-height:46px;border-radius:var(--radius-sm);padding:12px 20px;text-decoration:none;font-weight:600;white-space:nowrap}.primary{background:var(--color-accent);color:var(--color-accent-ink);border:1px solid var(--color-accent)}.secondary{background:var(--color-surface);color:var(--color-ink);border:1px solid var(--color-border);padding:10px 16px}.full{width:100%;justify-content:space-between}.form-note{text-align:center;font-size:.74rem;margin-top:12px}.notice{padding:12px 14px;border-radius:var(--radius-sm);margin-top:var(--space-md);overflow-wrap:anywhere}.notice.error{background:var(--color-danger-bg)}.notice.success{background:var(--color-success-bg)}.results{padding:var(--space-lg);background:linear-gradient(125deg,var(--color-lavender),var(--color-blue));border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 8px 32px var(--color-shadow)}.results-heading{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);margin:0 0 var(--space-lg)}.results-heading>span{font-size:.74rem;color:var(--color-muted)}.roi-card{background:linear-gradient(115deg,var(--color-accent),var(--color-roi-end));color:var(--color-accent-ink);border-radius:var(--radius-lg);padding:var(--space-lg) var(--space-xl)}.roi-top{display:flex;align-items:center;justify-content:space-between;gap:var(--space-sm);font-size:var(--text-small)}.status{border:1px solid var(--color-glass);background:var(--color-glass);border-radius:30px;padding:4px 12px;font-size:.72rem}.roi-value{font-size:clamp(2.8rem,5vw,4.2rem);font-weight:700;letter-spacing:-.05em;line-height:1.25;margin:10px 0;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.roi-value>span{font-size:.55em;margin-left:4px}.roi-card p{color:var(--color-accent-ink);font-size:var(--text-small);opacity:.9}.metrics-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-md);margin:var(--space-md) 0}.metric{padding:20px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:14px}.metric>span{font-size:var(--text-small);color:var(--color-muted)}.metric strong{display:block;font-size:1.3rem;margin-top:6px;line-height:1.4;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.metric small{display:block;font-size:.69rem;color:var(--color-muted);margin-top:3px}.metric.positive strong{color:var(--color-success)}.metric.negative strong{color:var(--color-danger)}.summary{border-left:3px solid var(--color-border);padding:2px 0 2px 18px;margin-top:var(--space-lg)}.summary h3{margin-bottom:var(--space-sm)}.summary p{font-size:.78rem;margin-top:var(--space-sm)}.site-footer{max-width:1184px;margin:auto;border-top:1px solid var(--color-border);padding:var(--space-lg) var(--space-xl);display:flex;justify-content:space-between;gap:var(--space-md);font-size:.73rem;color:var(--color-muted)}.site-footer>span:first-child{font-weight:600}.auth-layout{max-width:1120px;margin:0 auto;padding:72px var(--space-xl);display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:80px;align-items:center}.auth-intro h1{font-size:clamp(2rem,4vw,3rem);line-height:1.18;letter-spacing:-.035em;margin-bottom:var(--space-lg)}.auth-intro p{max-width:440px}.auth-facts{display:flex;flex-wrap:wrap;gap:var(--space-lg);font-size:var(--text-small);color:var(--color-cyan);margin-top:var(--space-lg)}.auth-facts span:before{content:"✓";margin-right:var(--space-sm)}.formula-art{position:relative;width:fit-content;text-align:center;margin-top:var(--space-2xl);padding:28px 76px 28px 24px;background:linear-gradient(120deg,var(--color-lavender),var(--color-blue));border-radius:var(--radius-lg);color:var(--color-accent);font-size:var(--text-small)}.formula-art div{height:1px;background:var(--color-accent);margin:10px 0}.formula-art b{position:absolute;right:16px;top:50%;transform:translateY(-50%)}.auth-panel{padding:var(--space-xl)}.auth-panel>p{font-size:var(--text-small);margin:var(--space-sm) 0 var(--space-lg)}.auth-switch{text-align:center;margin:var(--space-lg) 0 0!important}.auth-switch a{font-weight:600}.session-state{max-width:600px;margin:var(--space-3xl) auto;padding:var(--space-xl)}.session-state h1{font-size:1.5rem}.session-state p{margin:var(--space-md) 0}.history-page{padding:var(--space-2xl) 0}.history-heading{display:flex;justify-content:space-between;align-items:center;gap:var(--space-lg);margin-bottom:var(--space-xl)}.history-heading h1{font-size:2rem;margin-bottom:12px;letter-spacing:-.03em}.history-heading p{font-size:var(--text-small)}.history-panel{overflow:clip}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:.76rem;text-align:left}th{padding:18px 14px;background:var(--color-lavender);color:var(--color-muted);white-space:nowrap;font-weight:600}td{padding:20px 14px;border-bottom:1px solid var(--color-border);white-space:nowrap;font-variant-numeric:tabular-nums}.roi-cell{font-weight:700;color:var(--color-accent)}.pagination{display:flex;align-items:center;justify-content:space-between;gap:var(--space-md);padding:var(--space-lg);font-size:var(--text-small);color:var(--color-muted)}.pagination>div{display:flex;gap:var(--space-sm)}.empty-state{text-align:center;padding:var(--space-3xl) var(--space-lg)}.empty-state p{margin:var(--space-md) 0 var(--space-lg)}.empty-icon{display:block;color:var(--color-accent);font-size:3rem}.history-note{font-size:.75rem;margin-top:var(--space-md)}.history-cards{display:none}.skip-link{position:fixed;top:-100px;left:16px;padding:12px;background:var(--color-surface);z-index:10}.skip-link:focus{top:8px}@media(hover:hover){.primary:hover:not(:disabled){background:var(--color-accent-dark)}.secondary:hover:not(:disabled),.text-button:hover{color:var(--color-accent);background:var(--color-lavender)}.header-inner nav a:hover{color:var(--color-accent)}input:hover:not(:disabled){border-color:var(--color-muted)}}@media(max-width:900px){.auth-layout{gap:var(--space-xl)}.header-inner{gap:var(--space-md)}.user-name{max-width:110px}.parameters{padding:var(--space-lg)}.calculator-grid{gap:var(--space-lg)}.roi-card{padding:var(--space-lg)}.metric{padding:var(--space-md)}}@media(max-width:767px){.header-inner{padding:var(--space-md) var(--space-lg);flex-wrap:wrap;min-height:74px}.brand{font-size:1.1rem}.header-inner nav{order:3;width:100%;justify-content:center;border-top:1px solid var(--color-border);padding-top:12px}.account{margin-left:auto;gap:var(--space-sm)}.user-name{max-width:90px;font-size:.75rem}.header-note{display:none}.hero{padding:var(--space-xl) var(--space-lg) var(--space-2xl)}.hero h1{font-size:1.9rem}.hero p{font-size:var(--text-small)}.desktop-break{display:none}.page-width{width:calc(100% - 32px)}.calculator-grid{grid-template-columns:minmax(0,1fr);margin-top:-20px}.results-heading{margin-top:0}.parameters{padding:var(--space-lg)}.roi-value{font-size:3.5rem}.site-footer{flex-direction:column;text-align:center;gap:var(--space-xs)}.auth-layout{padding:var(--space-xl) var(--space-md);grid-template-columns:minmax(0,1fr);gap:var(--space-xl)}.auth-intro{text-align:center}.auth-intro h1{font-size:2rem}.auth-intro p{margin:auto;font-size:var(--text-small)}.auth-facts{justify-content:center;margin-top:var(--space-md)}.formula-art{display:none}.auth-panel{padding:var(--space-lg);width:100%;max-width:460px;margin:auto}.history-heading{align-items:flex-start;flex-direction:column}.history-page{padding-top:var(--space-xl)}.table-wrap{display:none}.history-cards{display:block}.history-card{padding:var(--space-lg);border-bottom:1px solid var(--color-border)}.history-card h2{font-size:var(--text-body)}.history-card dl{display:grid;grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr);gap:var(--space-sm);font-size:var(--text-small);margin-bottom:0}.history-card dt{color:var(--color-muted)}.history-card dd{margin:0;text-align:right;overflow-wrap:anywhere;font-weight:550}.pagination{flex-direction:column;align-items:stretch;padding:var(--space-md)}.pagination>div{justify-content:space-between}.session-state{margin:var(--space-xl) var(--space-md)}.metric strong{font-size:1.1rem}}@media(max-width:374px){.header-inner{padding:12px 16px}.user-name{display:none}.parameters,.roi-card{padding:20px}.results-heading>span{font-size:.65rem}.results-heading h2{font-size:1.15rem}.metrics-grid{gap:var(--space-sm)}.metric{padding:12px}.primary,.secondary{font-size:.82rem}.auth-facts{gap:12px}.total-row{font-size:.75rem}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}
