:root{--color-cream:#fdf6e3;--color-cream-dark:#f5e6c8;--color-coconut:#5c3d1e;--color-coconut-dark:#3b2410;--color-coconut-light:#8b5e3c;--color-green:#2d7a4f;--color-green-light:#4caf78;--color-green-dark:#1a5235;--color-text-primary:#1a1a1a;--color-text-secondary:#4a4a4a;--color-text-muted:#777;--color-text-on-dark:#fdf6e3;--color-text-on-coconut:#fdf6e3;--color-error:#c0392b;--color-error-bg:#fdecea;--color-success:#1e7e34;--color-success-bg:#e8f5e9;--color-warning:#856404;--color-warning-bg:#fff3cd;--color-surface:#fff;--color-surface-raised:#fdf6e3;--color-border:#d4b896;--color-border-focus:var(--color-coconut);--font-family-base:"Georgia", "Times New Roman", serif;--font-family-ui:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-size-xs:.75rem;--font-size-sm:.875rem;--font-size-base:1.125rem;--font-size-md:1.25rem;--font-size-lg:1.5rem;--font-size-xl:2rem;--font-size-2xl:2.5rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-bold:700;--line-height-tight:1.25;--line-height-base:1.6;--line-height-relaxed:1.8;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--radius-sm:4px;--radius-md:8px;--radius-lg:16px;--radius-full:9999px;--border-width:1px;--border-width-thick:2px;--shadow-sm:0 1px 3px #0000001f;--shadow-md:0 4px 12px #00000026;--shadow-lg:0 8px 24px #0000002e;--transition-fast:.15s ease;--transition-base:.25s ease;--touch-target-min:44px;--max-width-content:640px;--max-width-cook:480px}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{-webkit-text-size-adjust:100%;scroll-behavior:smooth;font-size:100%}body{font-family:var(--font-family-ui);font-size:var(--font-size-base);font-weight:var(--font-weight-normal);line-height:var(--line-height-base);color:var(--color-text-primary);background-color:var(--color-cream);min-height:100dvh}h1,h2,h3,h4,h5,h6{font-family:var(--font-family-base);font-weight:var(--font-weight-bold);line-height:var(--line-height-tight);color:var(--color-coconut-dark)}h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}h4{font-size:var(--font-size-md)}p{margin-bottom:var(--space-4)}a{color:var(--color-green-dark);text-decoration:underline}a:hover,a:focus{color:var(--color-green)}ul,ol{padding-left:var(--space-6)}img{max-width:100%;height:auto;display:block}input,select,textarea,button{font-family:var(--font-family-ui);font-size:var(--font-size-base);line-height:var(--line-height-base)}button{cursor:pointer;min-height:var(--touch-target-min);border-radius:var(--radius-md);padding:var(--space-3) var(--space-6);font-weight:var(--font-weight-medium);transition:background-color var(--transition-fast), transform var(--transition-fast);border:none}button:active{transform:scale(.98)}button:disabled{opacity:.5;cursor:not-allowed}:focus-visible{outline:var(--border-width-thick) solid var(--color-coconut);outline-offset:2px}.page-wrapper{width:100%;max-width:var(--max-width-content);padding:var(--space-6) var(--space-4);margin:0 auto}.card{background-color:var(--color-surface);border:var(--border-width) solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-sm)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.text-muted{color:var(--color-text-muted);font-size:var(--font-size-sm)}.text-error{color:var(--color-error);font-size:var(--font-size-sm)}#app{min-height:100dvh}
