#root{max-width:1280px;margin:0 auto;padding:2rem;text-align:center}.logo{height:6em;padding:1.5em;will-change:filter;transition:filter .3s}.logo:hover{filter:drop-shadow(0 0 2em #646cffaa)}.logo.react:hover{filter:drop-shadow(0 0 2em #61dafbaa)}@keyframes logo-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(prefers-reduced-motion:no-preference){a:nth-of-type(2) .logo{animation:logo-spin infinite 20s linear}}.card{padding:2em}.read-the-docs{color:#888}.app-root{min-height:100vh;display:flex;flex-direction:column;background-image:radial-gradient(60vw 60vh at 10% 50%,var(--bg-radial-left, rgba(118, 75, 162, .06)),transparent 25%),radial-gradient(45vw 45vh at 90% 50%,var(--bg-radial-center, rgba(102, 126, 234, .04)),transparent 18%),linear-gradient(180deg,var(--color-bg-primary),var(--color-bg-secondary));color:var(--color-text-primary, #f8fafc);overflow:hidden}.app-header{padding:1rem 2rem;position:relative;z-index:5;border-bottom:1px solid var(--app-header-border, transparent)}.app-header__inner{display:flex;align-items:center;justify-content:space-between}.app-header__brand h2{margin:0}.app-header__subtitle{margin:0;font-size:.85rem;color:#cbd5e1}.app-header__actions{display:flex;gap:.6rem;align-items:center}.theme-toggle{padding:.35rem .65rem;border-radius:10px;border:1px solid var(--app-header-border, rgba(255, 255, 255, .04));background:transparent;color:var(--button-text, var(--color-text-primary));font-size:.95rem}.main-content{flex:1 1 auto;max-width:1280px;margin:0 auto;padding:2rem;z-index:5}.app-title{margin:0;font-size:1.4rem;background:transparent;border:2px solid var(--color-accent-primary);border-radius:12px;padding:.4rem .8rem;color:var(--color-accent-primary);font-weight:700;cursor:pointer;transition:all .3s ease;text-transform:uppercase;letter-spacing:.05em;box-shadow:0 2px 8px #667eea33}.app-title:hover{background:var(--color-accent-primary);color:#fff;transform:translateY(-1px);box-shadow:0 4px 15px #667eea66}.app-tagline{color:#9aa7b2;margin-bottom:1.5rem}.recipe-grid__controls{display:flex;gap:1rem;align-items:center;margin-bottom:1rem}.filter-pills .pill{padding:.5rem .85rem;border-radius:999px;background:#ffffff08;border:1px solid rgba(255,255,255,.04)}.pill--active{background:#646fff1f;border-color:#646fff38}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1rem}.recipe-card__title{margin:.25rem 0;font-size:1.1rem}.recipe-card__description{font-size:.95rem;color:#cbd5e1;max-height:3rem;overflow:hidden}.recipe-card__meta{font-size:.85rem;color:#91a2b3}.recipe-card__badges{display:flex;gap:.5rem;margin-bottom:.5rem}.recipe-card__badge{display:inline-block;padding:.25rem .5rem;border-radius:999px;font-size:.75rem}.recipe-card__actions{display:flex;gap:.5rem;margin-top:.5rem}.card{background:var(--card-bg);border:1px solid var(--card-border, rgba(255, 255, 255, .04));padding:1rem;border-radius:12px;text-align:left}.btn{transition:transform .22s ease,box-shadow .22s ease,border-color .22s ease}.btn:hover,.btn:focus{transform:translateY(-2px);box-shadow:0 8px 24px #667eea26}.btn--primary{background:linear-gradient(90deg,var(--color-accent-primary),var(--color-accent-secondary));color:#fff}.btn--secondary{background:transparent;border-color:var(--card-border, rgba(255, 255, 255, .06));color:var(--color-text-primary)}.btn--ghost{background:transparent;border-color:transparent}.card:hover{transform:translateY(-6px) scale(1.02);transition:transform .22s cubic-bezier(.2,.8,.2,1),box-shadow .22s ease;box-shadow:var(--card-shadow, 0 20px 60px rgba(2, 6, 23, .6)),0 0 24px #666fff14 inset;border-color:#ffffff0f}.recipe-card__badge{background:linear-gradient(180deg,#ffffff05,#ffffff03);border:1px solid rgba(255,255,255,.06);box-shadow:0 2px 10px #00000040 inset}.starfield,.animated-gradient{z-index:0}.app-header,.main-content,.app-footer,.card,.modal__content{z-index:5}.modal{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;background:#05091480;z-index:60}.modal__content{background:var(--card-bg);border:var(--card-border);border-radius:12px;padding:1.5rem;width:min(500px,90%);max-height:90vh;overflow-y:auto;position:relative;box-shadow:var(--card-shadow)}.modal__close{position:absolute;right:10px;top:8px;background:transparent;border:none;font-size:1.25rem;color:#cbd5e1}.app-footer{padding:1rem 2rem;text-align:center;z-index:5;color:#94a3b8}.starfield{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;width:100%;height:100%;pointer-events:none}@media(max-width:640px){.recipe-grid{grid-template-columns:repeat(1,1fr)}}.recipe-form{display:flex;flex-direction:column;gap:1rem}.recipe-form h2{margin:0 0 1rem;font-size:1.5rem;font-weight:600;color:var(--color-text-primary)}.recipe-form label{display:flex;flex-direction:column;gap:.5rem;font-weight:500;color:var(--color-text-primary)}.recipe-form input,.recipe-form textarea,.recipe-form select{padding:.75rem;border:1px solid var(--card-border);border-radius:6px;background:var(--glass-bg);color:var(--color-text-primary);font-size:1rem}.recipe-form input:focus,.recipe-form textarea:focus,.recipe-form select:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 2px #667eea33}.recipe-form__error{color:var(--color-error);font-weight:500;margin:0}.recipe-search{padding:.75rem 1rem;border:2px solid var(--card-border);border-radius:25px;background:var(--glass-bg);color:var(--color-text-primary);font-size:1rem;width:300px;transition:all .3s ease;box-shadow:0 2px 10px #0000001a}.recipe-search:focus{outline:none;border-color:var(--color-accent-primary);box-shadow:0 0 0 3px #667eea33,0 4px 15px #667eea1a;transform:scale(1.02)}.recipe-search::placeholder{color:var(--color-text-secondary)}:root{--color-bg-primary: #0a0e1a;--color-bg-secondary: #141827;--color-bg-tertiary: #1e2332;--color-accent-primary: #667eea;--color-accent-secondary: #764ba2;--color-accent-tertiary: #f093fb;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-text-primary: #f8fafc;--color-text-secondary: #cbd5e1;--color-text-muted: #64748b;--glass-bg: rgba(255, 255, 255, .05);--glass-border: rgba(255, 255, 255, .1);--glass-blur: 20px;--card-bg: rgba(255, 255, 255, .03);--card-border: rgba(255, 255, 255, .06);--card-shadow: 0 20px 60px rgba(2, 6, 23, .6);--button-bg: #1a1a1a;--button-text: var(--color-text-primary);--app-header-border: transparent;--gradient-1: #764ba2;--gradient-2: #667eea;--gradient-3: #f093fb;--gradient-offset: 0deg;--gradient-opacity: .65;--gradient-rotation-duration: 40s;--gradient-blend-mode: screen;--gradient-transform-movement: 8%;--gradient-blur: 80px;--bg-radial-left: rgba(118, 75, 162, .12);--bg-radial-center: rgba(102, 126, 234, .06);--bg-radial-right: rgba(240, 148, 251, .06);--glimmer-color: rgba(255, 255, 255, .02);--glimmer-blend-mode: overlay}html[data-theme=light]{--color-bg-primary: #ffffff;--color-bg-secondary: #f9fafb;--color-bg-tertiary: #eef2f7;--color-text-primary: #213547;--color-text-secondary: #475569;--card-bg: #ffffff;--card-border: rgba(0, 0, 0, .06);--card-shadow: 0 8px 18px rgba(16, 24, 40, .06);--glass-bg: rgba(255, 255, 255, .85);--glass-border: rgba(0, 0, 0, .06);--button-bg: #fff;--button-text: var(--color-text-primary);--app-header-border: rgba(0, 0, 0, .06);--gradient-opacity: .45;--gradient-blend-mode: multiply;--bg-radial-left: rgba(118, 75, 162, .04);--bg-radial-center: rgba(102, 126, 234, .03);--bg-radial-right: rgba(240, 148, 251, .03);--glimmer-color: rgba(255, 255, 255, .02);--glimmer-blend-mode: overlay}html:not([data-theme=light]){--bg-radial-left: rgba(118, 75, 162, .14);--bg-radial-center: rgba(102, 126, 234, .08);--bg-radial-right: rgba(240, 148, 251, .08);--glimmer-color: rgba(102, 126, 234, .05);--glimmer-blend-mode: screen;--gradient-opacity: .75;--gradient-blend-mode: normal;--gradient-1: #1a1a1a;--gradient-2: #0f0f0f;--gradient-3: #050505;--card-bg: rgba(20, 23, 32, .9)}.animated-gradient{position:fixed;top:0;right:0;bottom:0;left:0;z-index:-1;pointer-events:none;background-image:conic-gradient(from var(--gradient-offset),var(--gradient-1),var(--gradient-2),var(--gradient-3));background-size:220% 220%;opacity:var(--gradient-opacity, .6);filter:blur(var(--gradient-blur, 80px)) saturate(150%);transform-origin:center center;transform:translateZ(0);mix-blend-mode:var(--gradient-blend-mode, screen);will-change:transform,opacity;animation:gradient-transform var(--gradient-rotation-duration, 40s) linear infinite}@keyframes gradient-transform{0%{transform:translate3d(-var(--gradient-transform-movement),-var(--gradient-transform-movement),0) rotate(0) scale(1.02)}50%{transform:translate3d(var(--gradient-transform-movement),var(--gradient-transform-movement),0) rotate(180deg) scale(1.04)}to{transform:translate3d(-var(--gradient-transform-movement),-var(--gradient-transform-movement),0) rotate(360deg) scale(1.02)}}@media(prefers-reduced-motion:reduce){.animated-gradient{animation:none}}.animated-gradient:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(300px 60% at 10% 10%,var(--glimmer-color, rgba(255, 255, 255, .02)),transparent),radial-gradient(200px 50% at 90% 90%,var(--glimmer-color, rgba(255, 255, 255, .02)),transparent);mix-blend-mode:var(--glimmer-blend-mode, overlay)}.animated-gradient:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(40vw 30vh at 5% 10%,var(--bg-radial-left, rgba(118, 75, 162, .28)),transparent 20%),radial-gradient(30vw 30vh at 95% 90%,var(--bg-radial-right, rgba(102, 126, 234, .24)),transparent 18%),radial-gradient(20vw 20vh at 50% 50%,var(--bg-radial-center, rgba(240, 148, 251, .06)),transparent 25%),linear-gradient(180deg,#764ba20a,#667eea05);mix-blend-mode:overlay;opacity:.9;filter:blur(40px) saturate(110%);pointer-events:none}:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:var(--color-text-primary, rgba(255, 255, 255, .87));background-color:var(--color-bg-primary, #242424);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:var(--button-bg, #1a1a1a);color:var(--button-text, var(--color-text-primary));cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}
