:root{--bg-color: #fbfaf7;--bg-gradient: radial-gradient( 1200px 600px at 10% -10%, rgba(251, 146, 60, .18), transparent 60% ), radial-gradient(900px 500px at 110% 10%, rgba(209, 117, 87, .18), transparent 60%), linear-gradient(180deg, #fbfaf7 0%, #f4f1ea 100%);--text-color: #1a1a1a;--text-muted: #6b7280;--text-soft: #475467;--card-bg: rgba(255, 255, 255, .7);--card-border: rgba(20, 20, 19, .08);--card-shadow: 0 10px 30px -12px rgba(20, 20, 19, .18), 0 2px 6px -2px rgba(20, 20, 19, .08);--header-bg: rgba(255, 255, 255, .65);--header-border: rgba(20, 20, 19, .06);--input-bg: #ffffff;--input-border: #e5e7eb;--input-focus: #d17557;--button-bg: #141413;--button-text: #fafaf8;--accent-color: #d17557;--accent-color-strong: #b85a3a;--accent-gradient: linear-gradient(135deg, #d17557 0%, #f0a875 100%);--chip-bg: #ffffff;--chip-border: rgba(20, 20, 19, .08);--chip-shadow: 0 1px 2px rgba(20, 20, 19, .06);--success: #10b981;--error: #ef4444;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 18px;--radius-xl: 24px}[data-theme=dark]{--bg-color: #0b1120;--bg-gradient: radial-gradient( 1200px 600px at 10% -10%, rgba(251, 146, 60, .22), transparent 60% ), radial-gradient(900px 500px at 110% 10%, rgba(99, 102, 241, .18), transparent 60%), linear-gradient(180deg, #0b1120 0%, #0f172a 100%);--text-color: #e5e7eb;--text-muted: #9ca3af;--text-soft: #cbd5e1;--card-bg: rgba(30, 41, 59, .55);--card-border: rgba(255, 255, 255, .08);--card-shadow: 0 10px 30px -12px rgba(0, 0, 0, .6), 0 2px 6px -2px rgba(0, 0, 0, .4);--header-bg: rgba(2, 6, 23, .6);--header-border: rgba(255, 255, 255, .06);--input-bg: rgba(15, 23, 42, .7);--input-border: rgba(255, 255, 255, .1);--input-focus: #fb923c;--button-bg: #f8fafc;--button-text: #0b1120;--accent-color: #fb923c;--accent-color-strong: #f97316;--accent-gradient: linear-gradient(135deg, #fb923c 0%, #f59e0b 100%);--chip-bg: rgba(30, 41, 59, .7);--chip-border: rgba(255, 255, 255, .08);--chip-shadow: 0 1px 2px rgba(0, 0, 0, .3)}*{box-sizing:border-box}html,body{margin:0;min-height:100%;background:var(--bg-color);color:var(--text-color);font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif;transition:background-color .4s ease,color .4s ease;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background-image:var(--bg-gradient);background-attachment:fixed}.app-shell{min-height:100vh;display:flex;flex-direction:column}::selection{background:var(--accent-color);color:#fff}.site-header{position:sticky;top:0;z-index:50;display:flex;justify-content:space-between;align-items:center;padding:14px 28px;background:var(--header-bg);border-bottom:1px solid var(--header-border);backdrop-filter:saturate(180%) blur(14px);-webkit-backdrop-filter:saturate(180%) blur(14px);transition:background .4s ease,border-color .4s ease}.brand{display:flex;align-items:center;gap:14px}.logo-Chef{width:56px;height:56px;border-radius:50%;object-fit:cover;box-shadow:0 8px 18px -6px #d1755780;transition:transform .4s ease,box-shadow .4s ease}.logo-Chef:hover{transform:rotate(-6deg) scale(1.05)}.brand-text{display:flex;flex-direction:column;line-height:1.1}.brand-name{font-family:Science Gothic,Inter,sans-serif;font-weight:700;font-size:1.6rem;letter-spacing:-.01em;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.brand-tagline{font-size:.78rem;color:var(--text-muted);letter-spacing:.08em;text-transform:uppercase}.theme-toggle{width:42px;height:42px;border-radius:50%;border:none;cursor:pointer;background:linear-gradient(135deg,#facc15,#fb923c);display:grid;place-items:center;transition:transform .4s ease,box-shadow .4s ease,background .4s ease;box-shadow:0 8px 16px -4px #fb923c73}.theme-toggle.dark{background:linear-gradient(135deg,#1e293b,#475569);box-shadow:0 8px 16px -4px #020617b3}.theme-toggle:hover{transform:rotate(20deg) scale(1.08)}.theme-toggle:active{transform:rotate(20deg) scale(.96)}.theme-toggle span{font-size:1.2rem;line-height:1}.container{flex:1;width:100%;max-width:880px;margin:0 auto;padding:48px 24px 80px;display:flex;flex-direction:column;gap:32px}@media(max-width:600px){.container{padding:28px 16px 60px;gap:24px}}.hero{text-align:center;animation:fadeUp .7s ease both}.hero-title{font-size:clamp(2rem,5vw,3.2rem);font-weight:800;letter-spacing:-.02em;margin:0 0 12px;line-height:1.1}.hero-title .accent{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.hero-subtitle{font-size:1.05rem;color:var(--text-muted);margin:0;max-width:520px;margin-inline:auto}.add-ingredient-form{display:flex;gap:12px;align-items:stretch;animation:fadeUp .8s ease both}.add-ingredient-form>input{flex:1;min-width:0;padding:14px 18px;border-radius:var(--radius-md);border:1.5px solid var(--input-border);background:var(--input-bg);color:var(--text-color);font-size:1rem;font-family:inherit;transition:border-color .2s ease,box-shadow .2s ease,background .2s ease;box-shadow:0 1px 2px #0000000a}.add-ingredient-form>input::placeholder{color:var(--text-muted)}.add-ingredient-form>input:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 4px #d1755726}.btn-primary{border:none;background:var(--button-bg);color:var(--button-text);padding:0 22px;border-radius:var(--radius-md);font-size:.95rem;font-weight:600;cursor:pointer;white-space:nowrap;transition:transform .15s ease,box-shadow .2s ease,background .2s ease;display:inline-flex;align-items:center;gap:6px}.btn-primary:before{content:"+";font-size:1.2em;font-weight:400}.btn-primary:hover{transform:translateY(-1px);box-shadow:0 8px 16px -6px #14141366}.btn-primary:active{transform:translateY(0)}.form-error{color:var(--error);margin:-8px 0 0;font-size:.9rem;animation:fadeUp .2s ease}.options-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:16px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-lg);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--card-shadow);animation:fadeUp .4s ease both}.option-group{display:flex;flex-direction:column;gap:6px;min-width:0}.option-group label{font-size:.78rem;font-weight:600;text-transform:uppercase;letter-spacing:.06em;color:var(--text-muted)}.option-group select{appearance:none;-webkit-appearance:none;-moz-appearance:none;padding:10px 36px 10px 12px;border-radius:var(--radius-sm);border:1.5px solid var(--input-border);background-color:var(--input-bg);color:var(--text-color);font-size:.95rem;font-family:inherit;cursor:pointer;transition:border-color .2s ease,box-shadow .2s ease;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'><path d='M1 1l5 5 5-5' stroke='%236b7280' stroke-width='2' fill='none' stroke-linecap='round' stroke-linejoin='round'/></svg>");background-repeat:no-repeat;background-position:right 12px center}.option-group select:focus{outline:none;border-color:var(--input-focus);box-shadow:0 0 0 4px #d1755726}@media(max-width:600px){.options-panel{grid-template-columns:1fr}}.empty-state{text-align:center;padding:32px 20px;border:2px dashed var(--card-border);border-radius:var(--radius-lg);background:var(--card-bg);color:var(--text-muted);animation:fadeUp .4s ease both}.empty-state-emoji{font-size:2.4rem;margin-bottom:8px}.ingredients-section{display:flex;flex-direction:column;gap:16px;animation:fadeUp .4s ease both}.ingredients-header{display:flex;justify-content:space-between;align-items:baseline;gap:12px}.ingredients-header h2{font-size:1.3rem;font-weight:700;margin:0;letter-spacing:-.01em}.clear-btn{background:none;border:none;color:var(--text-muted);font-size:.85rem;cursor:pointer;padding:4px 8px;border-radius:6px;transition:color .2s ease,background .2s ease}.clear-btn:hover{color:var(--error);background:#ef444414}.ingredients-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}.ingredient-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 6px 8px 14px;background:var(--chip-bg);border:1px solid var(--chip-border);border-radius:999px;font-size:.9rem;color:var(--text-color);box-shadow:var(--chip-shadow);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease;animation:chipIn .25s ease both}.ingredient-chip:hover{transform:translateY(-1px);border-color:var(--accent-color);box-shadow:0 4px 10px -4px #d1755766}.chip-remove{display:inline-grid;place-items:center;width:22px;height:22px;border:none;background:transparent;color:var(--text-muted);font-size:1.1rem;line-height:1;border-radius:50%;cursor:pointer;transition:background .2s ease,color .2s ease,transform .15s ease}.chip-remove:hover{background:#ef44441f;color:var(--error);transform:scale(1.1)}.hint{margin:0;font-size:.9rem;color:var(--text-muted);text-align:center;font-style:italic}.get-recipe-container{display:flex;justify-content:space-between;align-items:center;gap:16px;border-radius:var(--radius-lg);background:var(--card-bg);border:1px solid var(--card-border);padding:18px 24px;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--card-shadow);transition:transform .3s ease,box-shadow .3s ease}.get-recipe-container:hover{transform:translateY(-2px);box-shadow:0 16px 32px -14px #14141338}.get-recipe-container h3{font-size:1.1rem;font-weight:600;margin:0 0 4px}.get-recipe-container p{color:var(--text-muted);font-size:.9rem;margin:0}.btn-accent{border:none;border-radius:var(--radius-md);background:var(--accent-gradient);color:#fff;padding:12px 22px;font-size:.95rem;font-weight:600;cursor:pointer;white-space:nowrap;box-shadow:0 8px 18px -6px #d175578c;transition:transform .15s ease,box-shadow .2s ease,filter .2s ease}.btn-accent:hover:not(:disabled){transform:translateY(-1px);filter:brightness(1.05);box-shadow:0 12px 22px -6px #d17557a6}.btn-accent:active:not(:disabled){transform:translateY(0)}.btn-accent:disabled{opacity:.7;cursor:not-allowed}@media(max-width:600px){.get-recipe-container{flex-direction:column;align-items:stretch;text-align:center}.btn-accent{width:100%}}.recipe-section{margin-top:8px;animation:fadeUp .5s ease both}.recipe-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px;gap:12px}.recipe-header h2{font-size:1.4rem;font-weight:700;letter-spacing:-.01em;margin:0;display:inline-flex;align-items:center;gap:10px}.chef-badge{font-size:1.5rem}.streaming-indicator{display:inline-flex;align-items:center;gap:6px;font-size:.78rem;color:var(--accent-color);background:#d175571f;padding:4px 10px;border-radius:999px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.pulse-dot{width:8px;height:8px;border-radius:50%;background:var(--accent-color);animation:pulse 1.2s ease-in-out infinite}.recipe-container{background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);padding:28px 32px;color:var(--text-color);line-height:1.7;font-size:1rem;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--card-shadow);position:relative}.recipe-container h1,.recipe-container h2,.recipe-container h3{margin-top:1.4em;margin-bottom:.5em;letter-spacing:-.01em;line-height:1.3}.recipe-container h1:first-child,.recipe-container h2:first-child{margin-top:0}.recipe-container h2{font-size:1.5rem;background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.recipe-container h3{font-size:1.15rem;color:var(--accent-color)}.recipe-container ul,.recipe-container ol{padding-left:1.4em}.recipe-container li{margin-bottom:.4em;color:var(--text-soft)}.recipe-container p{color:var(--text-soft)}.recipe-container code{background:#d175571f;color:var(--accent-color-strong);padding:2px 6px;border-radius:4px;font-size:.9em}.recipe-container blockquote{border-left:3px solid var(--accent-color);padding-left:1em;margin:1em 0;color:var(--text-muted);font-style:italic}.typing-cursor{display:inline-block;color:var(--accent-color);animation:blink 1s steps(2) infinite;margin-left:2px;font-weight:700}@keyframes blink{50%{opacity:0}}@media(max-width:600px){.recipe-container{padding:20px 18px}}.loading-container{display:flex;flex-direction:column;align-items:center;gap:12px;padding:40px 20px;background:var(--card-bg);border:1px solid var(--card-border);border-radius:var(--radius-xl);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:var(--card-shadow)}.spinner{width:48px;height:48px;border-radius:50%;border:4px solid rgba(209,117,87,.18);border-top-color:var(--accent-color);animation:spin .9s linear infinite}.loading-text{margin:0;font-weight:500;color:var(--text-soft)}.loading-dots{display:flex;gap:6px}.loading-dots span{width:8px;height:8px;border-radius:50%;background:var(--accent-color);animation:dotBounce 1.2s ease-in-out infinite}.loading-dots span:nth-child(2){animation-delay:.15s}.loading-dots span:nth-child(3){animation-delay:.3s}.error-card{background:var(--card-bg);border:1px solid rgba(239,68,68,.3);border-left:4px solid var(--error);border-radius:var(--radius-lg);padding:18px 22px;color:var(--text-color);box-shadow:var(--card-shadow)}.error-card h3{margin:0 0 6px;color:var(--error);font-size:1.05rem}.error-card p{margin:4px 0;color:var(--text-soft);font-size:.95rem}.error-card code{background:#ef44441a;padding:2px 6px;border-radius:4px;font-size:.88em;color:var(--error)}.error-hint{font-size:.88rem!important;color:var(--text-muted)!important}.site-footer{margin-top:auto;padding:22px 24px;text-align:center;color:var(--text-muted);font-size:.85rem;border-top:1px solid var(--card-border)}.footer-accent{background:var(--accent-gradient);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;font-weight:600}@keyframes spin{to{transform:rotate(360deg)}}@keyframes fadeUp{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes chipIn{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.4);opacity:.6}}@keyframes dotBounce{0%,80%,to{transform:translateY(0);opacity:.4}40%{transform:translateY(-8px);opacity:1}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
