:root{--color-brand-primary:#ffba00;--color-brand-primary-hover:#e5a800;--color-brand-primary-light:#ffd54f;--color-brand-primary-subtle:#fffbeb;--color-brand-dark:#1a1818;--color-brand-dark-muted:#2d2a28;--color-gold-50:#fffbeb;--color-gold-100:#fff3c4;--color-gold-200:#ffe58f;--color-gold-300:#ffd54f;--color-gold-400:#ffca28;--color-gold-500:#ffba00;--color-gold-600:#e5a800;--color-gold-700:#b88600;--color-gold-800:#8c6600;--color-gold-900:#664a00;--color-charcoal-50:#f8f7f6;--color-charcoal-100:#efeeed;--color-charcoal-200:#d9d7d5;--color-charcoal-300:#b8b5b2;--color-charcoal-400:#918d89;--color-charcoal-500:#716d69;--color-charcoal-600:#5a5753;--color-charcoal-700:#433f3d;--color-charcoal-800:#2d2a28;--color-charcoal-900:#1a1818;--color-surface-page:#fffdf8;--color-surface-card:#fff;--color-surface-card-alt:#faf8f5;--color-surface-elevated:#fff;--color-surface-overlay:#1a181899;--color-surface-input:#fff;--color-surface-input-alt:#f5f2ee;--color-text-primary:#1a1818;--color-text-secondary:#5a5753;--color-text-tertiary:#918d89;--color-text-disabled:#b8b5b2;--color-text-inverse:#fffdf8;--color-text-link:#ffba00;--color-text-link-hover:#e5a800;--color-border-default:#edeae6;--color-border-subtle:#f5f2ee;--color-border-strong:#d9d7d5;--color-border-focus:#ffba00;--color-border-error:#d93b3b;--color-terracotta:#d4724e;--color-terracotta-bg:#fdf5f2;--color-sage:#7a9e7e;--color-sage-bg:#f2f7f3;--color-plum:#6b4c6e;--color-plum-bg:#f7f3f8;--color-copper:#b87333;--color-copper-bg:#fbf6f0;--color-success:#4a9e5c;--color-success-bg:#f0f9f1;--color-warning:#e8a317;--color-warning-bg:#fffbeb;--color-error:#d93b3b;--color-error-bg:#fef2f2;--color-info:#3b82d9;--color-info-bg:#eff6ff;--font-display:"Plus Jakarta Sans",system-ui,sans-serif;--font-heading:"Plus Jakarta Sans",system-ui,sans-serif;--font-body:"DM Sans",system-ui,sans-serif;--font-mono:"JetBrains Mono",Menlo,monospace;--text-display-2xl:4.5rem;--text-display-xl:3.75rem;--text-display-lg:3rem;--text-display-md:2.25rem;--text-display-sm:1.875rem;--text-heading-xl:1.5rem;--text-heading-lg:1.25rem;--text-heading-md:1.125rem;--text-heading-sm:1rem;--text-body-lg:1.125rem;--text-body-md:1rem;--text-body-sm:.875rem;--text-body-xs:.75rem;--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;--space-20:5rem;--space-24:6rem;--radius-sm:.375rem;--radius-md:.5rem;--radius-lg:.75rem;--radius-xl:1rem;--radius-2xl:1.25rem;--radius-3xl:1.5rem;--radius-pill:9999px;--shadow-xs:0 1px 2px 0 #1a18180a;--shadow-sm:0 1px 3px 0 #1a18180f,0 1px 2px -1px #1a18180f;--shadow-md:0 4px 6px -1px #1a18180f,0 2px 4px -2px #1a18180a;--shadow-lg:0 10px 15px -3px #1a18180f,0 4px 6px -4px #1a18180a;--shadow-xl:0 20px 25px -5px #1a18180f,0 8px 10px -6px #1a18180a;--shadow-card:0 1px 3px #1a18180a,0 6px 16px #1a18180a;--shadow-card-hover:0 4px 12px #1a18180f,0 12px 28px #1a18180f;--shadow-gold:0 4px 14px 0 #ffba0040;--shadow-gold-lg:0 10px 30px 0 #ffba004d;--shadow-focus:0 0 0 3px #ffba0026;--transition-fast:.15s cubic-bezier(.4,0,.2,1);--transition-normal:.25s cubic-bezier(.4,0,.2,1);--transition-slow:.35s cubic-bezier(.4,0,.2,1);--transition-bounce:.35s cubic-bezier(.34,1.56,.64,1);--max-width-content:720px;--max-width-wide:1080px;--max-width-page:1280px;--max-width-full:1440px;--nav-height:4rem;--z-base:0;--z-dropdown:100;--z-sticky:200;--z-fixed:300;--z-modal-backdrop:400;--z-modal:500;--z-popover:600;--z-tooltip:700;--z-toast:800}.bg-brand-hero{background:#1a1818}.bg-brand-subtle{background:#fffdf8}.focus-ring:focus{box-shadow:var(--shadow-focus);outline:none}.ai-badge{color:#1a1818;text-transform:uppercase;letter-spacing:.05em;background:#ffba00;border-radius:9999px;align-items:center;gap:4px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.recipe-card{background:var(--color-surface-card);border:1px solid var(--color-border-subtle);border-radius:var(--radius-xl);box-shadow:var(--shadow-card);transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}.recipe-card:hover{box-shadow:var(--shadow-card-hover);border-color:var(--color-border-default);transform:translateY(-4px)}.btn{font-size:.875rem;font-weight:600;font-family:var(--font-heading);cursor:pointer;white-space:nowrap;border:none;border-radius:9999px;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;transition:all .25s cubic-bezier(.4,0,.2,1);display:inline-flex}.btn:disabled{opacity:.4;cursor:not-allowed}.btn-primary{background:var(--color-brand-primary);color:var(--color-brand-dark);box-shadow:0 1px 3px #ffba004d}.btn-primary:hover:not(:disabled){background:var(--color-brand-primary-hover);box-shadow:var(--shadow-gold);transform:translateY(-1px)}.btn-primary:active:not(:disabled){transform:translateY(0)}.btn-secondary{color:var(--color-text-primary);border:1.5px solid var(--color-border-strong);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--color-surface-card-alt);border-color:var(--color-brand-dark)}.btn-ghost{color:var(--color-text-secondary);border-radius:var(--radius-lg);background:0 0}.btn-ghost:hover:not(:disabled){background:var(--color-surface-card-alt);color:var(--color-text-primary)}.btn-danger{background:var(--color-error);color:#fff;box-shadow:0 1px 3px #d93b3b4d}.btn-danger:hover:not(:disabled){background:#c62828;transform:translateY(-1px)}.btn-sm{height:2rem;padding:0 1rem;font-size:.75rem}.btn-md{height:2.5rem;padding:0 1.5rem;font-size:.875rem}.btn-lg{height:3rem;padding:0 2rem;font-size:1rem}.btn-xl{height:3.5rem;padding:0 2.5rem;font-size:1.125rem}.input{background:var(--color-surface-input);border:1.5px solid var(--color-border-default);border-radius:var(--radius-md);height:2.75rem;font-size:1rem;font-family:var(--font-body);color:var(--color-text-primary);width:100%;padding:.75rem 1rem;transition:all .2s}.input::placeholder{color:var(--color-text-tertiary)}.input:focus{border-color:var(--color-brand-primary);outline:none;box-shadow:0 0 0 3px #ffba0026}.input:disabled{background:var(--color-surface-input-alt);color:var(--color-text-disabled);cursor:not-allowed}.input-error{border-color:var(--color-error);box-shadow:0 0 0 3px #d93b3b1a}.modal-backdrop{background:var(--color-surface-overlay);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-container{background:var(--color-surface-elevated);border-radius:var(--radius-2xl);padding:var(--space-8);width:90vw;max-width:32rem;box-shadow:0 25px 50px -12px #1a181840}.toast{background:var(--color-surface-elevated);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:var(--space-4)var(--space-6);box-shadow:var(--shadow-lg);align-items:center;gap:var(--space-3);display:flex}.toast-success{border-left:4px solid var(--color-success)}.toast-error{border-left:4px solid var(--color-error)}.toast-warning{border-left:4px solid var(--color-warning)}.toast-info{border-left:4px solid var(--color-info)}@keyframes spin{to{transform:rotate(360deg)}}.spinner{border:2px solid var(--color-border-default);border-top-color:var(--color-brand-primary);border-radius:9999px;width:20px;height:20px;animation:.6s linear infinite spin;display:inline-block}.badge{font-size:.75rem;font-weight:500;font-family:var(--font-heading);border-radius:9999px;align-items:center;padding:.25rem .75rem;display:inline-flex}.badge-success{background:var(--color-success-bg);color:var(--color-success)}.badge-error{background:var(--color-error-bg);color:var(--color-error)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning)}.badge-brand{background:var(--color-brand-primary);color:var(--color-brand-dark)}.badge-premium{background:var(--color-plum);color:#fff}.badge-sage{background:var(--color-sage-bg);color:#3b5540;border:1px solid #c5dacc}.badge-terracotta{background:var(--color-terracotta-bg);color:#7a3721;border:1px solid #f4d1c4}.badge-copper{background:var(--color-copper-bg);color:#5d3a1b;border:1px solid #e8d3b8}@media (prefers-reduced-motion:reduce){:root{--transition-fast:.01ms;--transition-normal:.01ms;--transition-slow:.01ms}*{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
