@font-face{font-family:Varela Round;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/varela-round-latin-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/nunito-sans-latin-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Nunito Sans;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/nunito-sans-latin-700.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fira Code;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/fira-code-latin-400.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--color-canvas:#fbf4e6;--color-bg:#fffbeb;--color-surface:#fff;--color-fg:#1c1917;--color-muted:#57534e;--color-muted-bg:#f5e9d6;--color-divider:#eedfcb;--color-input-border:#8a7b70;--color-primary:#9a3412;--color-primary-shadow:#6b2410;--color-on-primary:#fff;--color-ok-fg:#166534;--color-warn-bg:#fef3c7;--color-warn-fg:#854d0e;--color-estimate-bg:#fffbeb;--color-estimate-fg:#854d0e;--color-error-bg:#fee2e2;--color-error-fg:#b91c1c;--color-focus:#9a3412;--font-heading:"Varela Round", system-ui, sans-serif;--font-body:"Nunito Sans", system-ui, sans-serif;--font-num:"Fira Code", ui-monospace, monospace;--text-sm:.875rem;--text-base:1rem;--text-lg:1.25rem;--text-xl:1.75rem;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--radius:18px;--radius-control:12px;--radius-frame:32px;--border-input:1.5px solid var(--color-input-border);--shadow-card:0 2px 0 var(--color-divider);--shadow-button:0 3px 0 var(--color-primary-shadow);--focus-ring:3px solid var(--color-focus);--target-min:48px}*,:before,:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--color-canvas);min-height:100dvh;color:var(--color-fg);font-family:var(--font-body);font-size:var(--text-base);margin:0;line-height:1.5}h1{margin:0 0 var(--space-5);font-family:var(--font-heading);font-size:var(--text-xl);font-weight:400;line-height:1.2}:focus-visible{outline:var(--focus-ring);outline-offset:2px}.page{max-width:28rem;padding:var(--space-6) var(--space-4);margin:0 auto}.app-name{margin:0 0 var(--space-4);color:var(--color-primary);font-family:var(--font-heading);font-size:var(--text-lg)}.card{padding:var(--space-5) var(--space-4);background:var(--color-surface);border-radius:var(--radius);box-shadow:var(--shadow-card)}.form{gap:var(--space-4);display:grid}.field{gap:var(--space-1);display:grid}label,dt{font-weight:700}input{width:100%;min-height:var(--target-min);padding:var(--space-2) var(--space-3);border:var(--border-input);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-fg);font:inherit}.alert{padding:var(--space-3);border-radius:var(--radius-control);background:var(--color-error-bg);color:var(--color-error-fg);margin:0;font-weight:700}.button{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--target-min);padding:var(--space-2) var(--space-5);border-radius:var(--radius-control);background:var(--color-primary);box-shadow:var(--shadow-button);color:var(--color-on-primary);font:inherit;cursor:pointer;border:0;margin-bottom:3px;font-weight:700;display:inline-flex}.button[aria-busy=true]{cursor:progress}.spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:1em;height:1em;animation:.8s linear infinite spin}@media (prefers-reduced-motion:reduce){.spinner{animation-duration:2.4s}}@keyframes spin{to{transform:rotate(1turn)}}.fact{margin:0}.fact dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere}h1:focus{outline:none}
