:root{--ember:#ff6b2c;--ember-dark:#e44716;--ember-light:#ff9b58;--gold:#f9d976;--surface:#fff7ef;--surface-dark:#0f0a0a;--charcoal:#1c1412;--text:#1b0f0b;--text-muted:#5c4335;--teal:#29a887;--error:#d64545;--accent:var(--ember);--bg:var(--surface);--panel:#fff;--grad-header:linear-gradient(135deg,#ffb65c,#ff8244,#e44716);--grad-hero:linear-gradient(135deg,#ffe4cc,#ff9b58,#e4571e);--grad-card:linear-gradient(135deg,#ff6b2c,#f9d976);--header-height:60px;--radius-input:8px;--radius-card:14px;--radius-hero:20px;--radius-pill:30px;--shadow-card:0 4px 16px rgba(0,0,0,.12);--shadow-warm:0 4px 16px rgba(255,107,44,.18)}.dark-mode{--bg:var(--surface-dark);--panel:var(--charcoal);--text:#f0e8e0;--text-muted:#9e7d70;--grad-header:linear-gradient(135deg,#140b0b,#1e0e0c,#2c120f)}*{box-sizing:border-box;margin:0;padding:0}body,html{background:var(--bg);color:var(--text);font-size:15px;font-family:var(--font-geist-sans),-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dark-mode body{color-scheme:dark}a{color:inherit;text-decoration:none}button,input,select,textarea{font-family:inherit}.page-wrapper{padding-top:var(--header-height);min-height:100vh}.page-content{max-width:1100px;margin:0 auto;padding:24px 16px}.page-content-narrow{max-width:800px;margin:0 auto;padding:24px 16px}.header{position:fixed;top:0;left:0;right:0;height:var(--header-height);background:var(--grad-header);display:flex;align-items:center;justify-content:space-between;padding:0 20px;z-index:1000;box-shadow:0 2px 12px rgba(0,0,0,.18)}.header-logo{display:flex;flex-direction:column;line-height:1.1}.logo-brand{font-size:22px;font-weight:800;color:#fff;letter-spacing:-.5px}.logo-tagline{font-size:10px;color:hsla(0,0%,100%,.75);font-weight:400;letter-spacing:.3px}.header-nav{display:flex;align-items:center;gap:4px}.nav-link{color:hsla(0,0%,100%,.88);font-size:14px;font-weight:500;padding:6px 12px;border-radius:var(--radius-pill);transition:background .15s}.nav-link.active,.nav-link:hover{background:hsla(0,0%,100%,.18);color:#fff}.header-right{display:flex;align-items:center;gap:10px}.flames-badge{display:flex;align-items:center;gap:5px;background:hsla(0,0%,100%,.18);font-size:13px;font-weight:600;padding:5px 12px;border-radius:var(--radius-pill)}.dark-mode-btn,.flames-badge{color:#fff;border:1px solid hsla(0,0%,100%,.25)}.dark-mode-btn{background:hsla(0,0%,100%,.15);font-size:16px;padding:6px 10px;border-radius:var(--radius-pill);cursor:pointer;transition:background .15s}.dark-mode-btn:hover{background:hsla(0,0%,100%,.28)}.hamburger-btn{display:none;background:hsla(0,0%,100%,.15);border:1px solid hsla(0,0%,100%,.25);color:#fff;font-size:20px;padding:5px 10px;border-radius:8px;cursor:pointer}.mobile-nav{display:none;position:fixed;top:var(--header-height);left:0;right:0;background:var(--grad-header);padding:12px 16px;flex-direction:column;gap:4px;z-index:999;border-bottom:1px solid hsla(0,0%,100%,.15)}.mobile-nav.open{display:flex}.mobile-nav .nav-link{padding:10px 12px;border-radius:8px}@media (max-width:680px){.header-nav{display:none}.hamburger-btn{display:block}}.card{background:var(--panel);border-radius:var(--radius-card);box-shadow:var(--shadow-card);border:1px solid rgba(255,107,44,.1);overflow:hidden}.dark-mode .card{border-color:rgba(255,107,44,.18);box-shadow:0 4px 16px rgba(0,0,0,.35)}.card-body{padding:16px}.card-title{font-size:18px;font-weight:700;color:var(--text);margin-bottom:8px}.hero-card{background:var(--grad-hero);border-radius:var(--radius-hero);padding:48px 32px;text-align:center;margin-bottom:32px;box-shadow:0 8px 32px rgba(228,71,22,.22)}.hero-title{font-size:clamp(28px,5vw,40px);font-weight:800;color:#fff;text-shadow:0 2px 8px rgba(0,0,0,.18);margin-bottom:8px;letter-spacing:-.5px}.hero-subtitle{font-size:16px;color:hsla(0,0%,100%,.85);margin-bottom:24px}.hero-search{display:flex;gap:10px;max-width:560px;margin:0 auto}.hero-input{flex:1 1;height:48px;border:none;border-radius:var(--radius-input);padding:0 16px;font-size:15px;background:hsla(0,0%,100%,.92);color:var(--text);outline:none;box-shadow:inset 0 1px 4px rgba(0,0,0,.1)}.hero-input:focus{background:#fff;box-shadow:0 0 0 3px rgba(255,107,44,.35)}.btn-ignite,.btn-primary{height:48px;padding:0 24px;background:var(--ember-dark);color:#fff;font-size:15px;font-weight:700;border:none;border-radius:var(--radius-input);cursor:pointer;transition:background .15s,transform .1s;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.btn-ignite:hover,.btn-primary:hover{background:var(--ember);transform:translateY(-1px)}.btn-ignite:active,.btn-primary:active{transform:translateY(0)}.btn-secondary{height:40px;padding:0 18px;background:rgba(255,107,44,.1);color:var(--ember-dark);font-size:14px;font-weight:600;border:1.5px solid var(--ember);border-radius:var(--radius-input);cursor:pointer;transition:background .15s;display:inline-flex;align-items:center;gap:6px}.btn-secondary:hover{background:rgba(255,107,44,.18)}.dark-mode .btn-secondary{color:var(--ember-light);border-color:var(--ember-light);background:rgba(255,107,44,.12)}.btn-danger,.btn-sm{height:34px;padding:0 14px;font-size:13px}.btn-danger{background:transparent;color:var(--error);border:1.5px solid var(--error);font-weight:600;border-radius:var(--radius-input);cursor:pointer;transition:background .15s}.btn-danger:hover{background:rgba(214,69,69,.1)}.section-heading{font-size:22px;font-weight:700;color:var(--text);display:flex;align-items:center;gap:8px;margin-bottom:20px}.flame-accent{color:var(--ember)}.recipe-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:16px;gap:16px}@media (max-width:900px){.recipe-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:560px){.recipe-grid{grid-template-columns:1fr}}.recipe-card{background:var(--panel);border-radius:var(--radius-card);box-shadow:var(--shadow-warm);border:1px solid rgba(255,107,44,.12);overflow:hidden;display:flex;flex-direction:column;transition:transform .15s,box-shadow .15s}.recipe-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px rgba(255,107,44,.22)}.dark-mode .recipe-card{border-color:rgba(255,107,44,.22)}.recipe-card-placeholder{height:140px;background:var(--grad-card);display:flex;align-items:center;justify-content:center;font-size:48px}.recipe-card-body{padding:14px;flex:1 1;display:flex;flex-direction:column;gap:6px}.recipe-card-title{font-size:16px;font-weight:700;color:var(--text);line-height:1.3}.recipe-card-category{font-size:11px;font-weight:700;color:var(--ember-dark);text-transform:uppercase;letter-spacing:.5px}.recipe-card-desc{font-size:13px;color:var(--text-muted);line-height:1.5;flex:1 1}.recipe-card-actions{display:flex;gap:8px;margin-top:10px;align-items:center}.auth-page{min-height:calc(100vh - var(--header-height));display:flex;align-items:center;justify-content:center;padding:24px 16px}.auth-card{background:var(--panel);border-radius:var(--radius-hero);padding:40px 36px;width:100%;max-width:420px;box-shadow:var(--shadow-warm);border:1px solid rgba(255,107,44,.12)}.dark-mode .auth-card{border-color:rgba(255,107,44,.22)}.auth-logo{text-align:center;margin-bottom:28px}.auth-logo-title{font-size:28px;font-weight:800;color:var(--ember);letter-spacing:-.5px}.auth-logo-tagline{font-size:13px;color:var(--text-muted);margin-top:4px}.auth-title{font-size:22px;font-weight:700;color:var(--text);margin-bottom:20px}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-footer{text-align:center;margin-top:20px;font-size:14px;color:var(--text-muted)}.auth-footer a{color:var(--ember);font-weight:600}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:13px;font-weight:600;color:var(--text-muted)}.form-input,.form-select,.form-textarea{width:100%;border:1.5px solid rgba(255,107,44,.3);border-radius:var(--radius-input);padding:10px 14px;font-size:15px;background:var(--bg);color:var(--text);outline:none;transition:border-color .15s,box-shadow .15s}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--ember);box-shadow:0 0 0 3px rgba(255,107,44,.18)}.dark-mode .form-input,.dark-mode .form-select,.dark-mode .form-textarea{background:#1e1411;border-color:rgba(255,107,44,.25)}.form-textarea{resize:vertical;min-height:100px;line-height:1.5}.form-error{color:var(--error);font-size:13px;margin-top:4px}.preference-options{display:flex;flex-wrap:wrap;gap:8px}.preference-option{padding:7px 16px;border-radius:var(--radius-pill);border:1.5px solid rgba(255,107,44,.35);color:var(--text-muted);font-size:13px;font-weight:500;cursor:pointer;transition:background .15s,border-color .15s,color .15s;background:transparent}.preference-option:hover{border-color:var(--ember);color:var(--ember)}.preference-option.active{background:var(--ember);border-color:var(--ember);color:#fff;font-weight:600}.ingredient-tag{display:inline-flex;align-items:center;gap:6px;background:rgba(255,107,44,.1);color:var(--ember-dark);border:1px solid rgba(255,107,44,.25);padding:4px 12px;border-radius:var(--radius-pill);font-size:13px;font-weight:500}.ingredient-tag-remove{cursor:pointer;opacity:.6;font-size:14px;line-height:1}.ingredient-tag-remove:hover{opacity:1}.profile-banner{height:80px;background:var(--grad-header);border-radius:var(--radius-card) var(--radius-card) 0 0}.dark-mode .profile-banner{background:linear-gradient(135deg,#140b0b,#1e0e0c,#2c120f)}.profile-header{background:var(--panel);padding:0 24px 20px;border-bottom:1px solid rgba(255,107,44,.1);display:flex;align-items:flex-end;gap:16px}.profile-avatar{width:80px;height:80px;border-radius:50%;background:var(--grad-card);border:3px solid var(--panel);margin-top:-40px;display:flex;align-items:center;justify-content:center;font-size:28px;color:#fff;font-weight:700;flex-shrink:0}.profile-name{font-size:22px;font-weight:800;color:var(--text);padding-bottom:4px}.profile-email{font-size:13px;color:var(--text-muted)}.stats-row{display:flex;gap:10px;flex-wrap:wrap;padding:16px 24px}.stat-pill{display:flex;align-items:center;gap:6px;background:rgba(255,107,44,.1);color:var(--ember-dark);padding:6px 14px;border-radius:var(--radius-pill);font-size:13px;font-weight:600;border:1px solid rgba(255,107,44,.2)}.dark-mode .stat-pill{color:var(--ember-light);border-color:rgba(255,107,44,.3);background:rgba(255,107,44,.12)}.profile-tabs{display:flex;gap:4px;padding:0 24px;border-bottom:1px solid rgba(255,107,44,.1);background:var(--panel)}.profile-tab{padding:12px 18px;font-size:14px;font-weight:600;color:var(--text-muted);cursor:pointer;transition:color .15s,border-color .15s;background:none;border:none;border-bottom:2.5px solid transparent}.profile-tab:hover{color:var(--text)}.profile-tab.active{color:var(--ember);border-bottom-color:var(--ember)}.profile-tab-content{padding:24px;background:var(--panel);border-radius:0 0 var(--radius-card) var(--radius-card)}.step-number{width:28px;height:28px;border-radius:50%;background:var(--ember);color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;flex-shrink:0}.nutrition-item{background:rgba(255,107,44,.07);border:1px solid rgba(255,107,44,.14);border-radius:10px;padding:12px 16px;text-align:center}.nutrition-value{font-size:20px;font-weight:700;color:var(--ember)}.nutrition-label{font-size:12px;color:var(--text-muted);margin-top:2px}.nutrition-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));grid-gap:10px;gap:10px}.history-list{display:flex;flex-direction:column;gap:10px}.history-item{background:rgba(255,107,44,.05);border:1px solid rgba(255,107,44,.15);border-radius:var(--radius-card);padding:14px 18px;display:flex;justify-content:space-between;align-items:center;gap:12px}.dark-mode .history-item{background:rgba(255,107,44,.08);border-color:rgba(255,107,44,.22)}.history-item-title{font-size:15px;font-weight:600;color:var(--text)}.history-item-date{font-size:12px;color:var(--text-muted);margin-top:2px}.spinner{width:36px;height:36px;border:3px solid rgba(255,107,44,.2);border-top:3px solid var(--ember);border-radius:50%;animation:spin .7s linear infinite;margin:20px auto}@keyframes spin{to{transform:rotate(1turn)}}.loading-text{font-size:14px;margin-top:8px}.empty-state,.loading-text{text-align:center;color:var(--text-muted)}.empty-state{padding:48px 24px}.empty-state-icon{font-size:48px;margin-bottom:12px}.empty-state-title{font-size:18px;font-weight:700;color:var(--text);margin-bottom:6px}.alert{padding:12px 16px;border-radius:var(--radius-input);font-size:14px;margin-bottom:14px}.alert-error{background:rgba(214,69,69,.1);border:1px solid rgba(214,69,69,.3);color:var(--error)}.alert-success{background:rgba(41,168,135,.1);border:1px solid rgba(41,168,135,.3);color:var(--teal)}.login-cta{background:var(--panel);border:1px solid rgba(255,107,44,.18);border-radius:var(--radius-card);padding:20px 24px;text-align:center;margin-top:24px;box-shadow:var(--shadow-warm)}.login-cta-text{font-size:14px;color:var(--text-muted);margin-bottom:12px}.login-cta-actions{display:flex;gap:10px;justify-content:center;flex-wrap:wrap}.generate-section{background:var(--panel);border-radius:var(--radius-card);padding:20px 24px;margin-bottom:20px;border:1px solid rgba(255,107,44,.1)}.dark-mode .generate-section{border-color:rgba(255,107,44,.18)}.generate-section-title{font-size:15px;font-weight:700;color:var(--text);margin-bottom:12px}.ingredient-input-row{display:flex;gap:8px;margin-bottom:12px}.ingredient-tags-list{display:flex;flex-wrap:wrap;gap:8px}.scale-controls{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.scale-label{font-size:13px;font-weight:600;color:var(--text-muted)}.scale-btn{width:32px;height:32px;border-radius:50%;border:1.5px solid rgba(255,107,44,.35);background:transparent;color:var(--ember);font-size:18px;font-weight:700;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.scale-btn:hover{background:rgba(255,107,44,.1)}.scale-value{font-size:15px;font-weight:700;color:var(--text);min-width:28px;text-align:center}.qa-section{background:rgba(255,107,44,.04);border:1px solid rgba(255,107,44,.14);border-radius:var(--radius-card);padding:16px 20px}.qa-answer{background:var(--panel);border-radius:var(--radius-input);padding:14px 16px;font-size:14px;line-height:1.6;color:var(--text);margin-top:12px;border:1px solid rgba(255,107,44,.12)}.dark-mode .generate-section{background:var(--charcoal)}.dark-mode .qa-section{background:rgba(255,107,44,.06);border-color:rgba(255,107,44,.2)}.dark-mode .qa-answer{background:hsla(0,0%,100%,.04)}.dark-mode .profile-header,.dark-mode .profile-tab-content,.dark-mode .profile-tabs{background:var(--charcoal);border-color:rgba(255,107,44,.18)}.dark-mode .login-cta{border-color:rgba(255,107,44,.22)}.dark-mode .auth-card,.dark-mode .login-cta{background:var(--charcoal)}@font-face{font-family:__geistSans_1e4310;src:url(/_next/static/media/4473ecc91f70f139-s.p.woff) format("woff");font-display:swap;font-weight:100 900}@font-face{font-family:__geistSans_Fallback_1e4310;src:local("Arial");ascent-override:85.83%;descent-override:20.52%;line-gap-override:9.33%;size-adjust:107.19%}.__className_1e4310{font-family:__geistSans_1e4310,__geistSans_Fallback_1e4310}.__variable_1e4310{--font-geist-sans:"__geistSans_1e4310","__geistSans_Fallback_1e4310"}@font-face{font-family:__geistMono_c3aa02;src:url(/_next/static/media/463dafcda517f24f-s.p.woff) format("woff");font-display:swap;font-weight:100 900}@font-face{font-family:__geistMono_Fallback_c3aa02;src:local("Arial");ascent-override:69.97%;descent-override:16.73%;line-gap-override:7.61%;size-adjust:131.49%}.__className_c3aa02{font-family:__geistMono_c3aa02,__geistMono_Fallback_c3aa02}.__variable_c3aa02{--font-geist-mono:"__geistMono_c3aa02","__geistMono_Fallback_c3aa02"}