@import"https://fonts.googleapis.com/css2?family=DM+Sans:ital,opsz,wght@0,9..40,300;0,9..40,500;0,9..40,700;1,9..40,400&family=DM+Serif+Display&display=swap";:root{color-scheme:light;font-family:DM Sans,system-ui,-apple-system,sans-serif;line-height:1.5;--bg: #fefbf6;--surface: #ffffff;--text: #2c1810;--text-secondary: #8b7355;--border: #e8ddd0;--radius: 1rem;--radius-sm: .625rem}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:var(--bg);color:var(--text)}.app{min-height:100vh;background:radial-gradient(ellipse at 20% 0%,#fde8d0 0%,transparent 50%),radial-gradient(ellipse at 80% 0%,#e8d5f5 0%,transparent 50%),var(--bg)}.app-header{position:relative;padding:3rem 2rem 2rem;text-align:center;overflow:hidden}.header-decoration{position:absolute;top:0;right:0;bottom:0;left:0;background:radial-gradient(circle at 15% 80%,#f9d4a055 0%,transparent 40%),radial-gradient(circle at 85% 20%,#c9a0f944 0%,transparent 40%);pointer-events:none}.app-header-inner{position:relative;z-index:1}.app-logo{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-bottom:.5rem}.app-logo-emoji{font-size:2.5rem;filter:drop-shadow(0 2px 8px rgba(0,0,0,.1))}.app-title{font-family:"DM Serif Display",serif;font-size:2.5rem;margin:0;letter-spacing:-.02em;color:var(--text);display:flex;flex-direction:column;align-items:flex-start}.app-subtitle{font-family:DM Sans,sans-serif;font-size:.8rem;font-weight:500;letter-spacing:.15em;text-transform:uppercase;color:var(--text-secondary)}.app-tagline{color:var(--text-secondary);font-size:1.05rem;margin:.75rem 0 0;font-style:italic}.category-bar{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap;padding:0 2rem 2rem}.category-btn{border:1.5px solid var(--border);background:var(--surface);color:var(--text-secondary);font-family:DM Sans,sans-serif;font-size:.85rem;font-weight:500;padding:.45rem 1.1rem;border-radius:2rem;cursor:pointer;transition:all .2s ease}.category-btn:hover{border-color:#c9a0f9;color:var(--text);transform:translateY(-1px);box-shadow:0 4px 12px #c9a0f926}.category-btn.active{background:linear-gradient(135deg,#f39c12,#e74c3c);color:#fff;border-color:transparent;box-shadow:0 4px 16px #e74c3c40}.recipe-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.5rem;max-width:1200px;margin:0 auto;padding:0 2rem 4rem}.recipe-card{all:unset;display:flex;flex-direction:column;background:var(--surface);border:1.5px solid var(--border);border-radius:var(--radius);overflow:hidden;cursor:pointer;transition:all .3s cubic-bezier(.23,1,.32,1);position:relative}.recipe-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--card-color);opacity:0;transition:opacity .3s}.recipe-card:hover{transform:translateY(-6px);box-shadow:0 12px 40px #00000014,0 4px 12px #0000000a;border-color:transparent}.recipe-card:hover:before{opacity:1}.food-illustration{position:relative;display:flex;align-items:center;justify-content:center;padding:2.5rem 1rem;overflow:hidden}.food-illustration-ring{width:90px;height:90px;border-radius:50%;border:3px dashed;display:flex;align-items:center;justify-content:center;position:relative;z-index:1;background:var(--surface);animation:gentle-spin 20s linear infinite}@keyframes gentle-spin{to{transform:rotate(360deg)}}.food-illustration-emoji{font-size:2.8rem;animation:gentle-spin 20s linear infinite reverse;filter:drop-shadow(0 4px 12px rgba(0,0,0,.12))}.food-illustration-glow{position:absolute;width:140px;height:140px;border-radius:50%;filter:blur(30px);z-index:0}.recipe-card-body{padding:1.25rem 1.5rem 1.5rem;display:flex;flex-direction:column;gap:.4rem;flex:1}.recipe-card-category{font-size:.7rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase}.recipe-card-title{font-family:"DM Serif Display",serif;font-size:1.3rem;margin:0;line-height:1.25;color:var(--text)}.recipe-card-desc{font-size:.88rem;color:var(--text-secondary);margin:0;line-height:1.55;flex:1}.recipe-card-meta{display:flex;gap:1.25rem;font-size:.78rem;font-weight:500;color:var(--text-secondary);margin-top:.75rem;padding-top:.75rem;border-top:1px solid var(--border)}.recipe-card-meta span:before{content:"";display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--card-color);margin-right:.4rem;vertical-align:middle}.recipe-detail-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#2c181073;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1.5rem;animation:fade-in .25s ease}@keyframes fade-in{0%{opacity:0}to{opacity:1}}.recipe-detail{background:var(--surface);border-radius:var(--radius);max-width:680px;width:100%;max-height:85vh;overflow-y:auto;position:relative;padding:2rem;animation:slide-up .35s cubic-bezier(.23,1,.32,1);box-shadow:0 24px 80px #00000026}@keyframes slide-up{0%{transform:translateY(30px);opacity:0}to{transform:translateY(0);opacity:1}}.recipe-detail-close{position:absolute;top:1rem;right:1rem;width:36px;height:36px;border-radius:50%;border:1.5px solid var(--border);background:var(--surface);font-size:1.25rem;color:var(--text-secondary);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;z-index:1}.recipe-detail-close:hover{background:var(--card-accent);border-color:var(--card-color);color:var(--card-color)}.recipe-detail-header{display:flex;gap:1.5rem;align-items:flex-start;margin-bottom:2rem}.recipe-detail-header .food-illustration{flex-shrink:0;padding:1.5rem;border-radius:var(--radius-sm)}.recipe-detail-header .food-illustration-ring{width:70px;height:70px}.recipe-detail-header .food-illustration-emoji{font-size:2.2rem}.recipe-detail-title{font-family:"DM Serif Display",serif;font-size:1.65rem;margin:.25rem 0 .5rem;color:var(--text);line-height:1.2}.recipe-detail-desc{font-size:.9rem;color:var(--text-secondary);margin:0 0 .75rem;line-height:1.55}.recipe-detail-sections{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.recipe-detail-section h3{font-family:"DM Serif Display",serif;font-size:1.15rem;margin:0 0 1rem}.ingredient-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.55rem}.ingredient-list li{font-size:.88rem;color:var(--text);display:flex;align-items:flex-start;gap:.6rem;line-height:1.45}.ingredient-dot{width:7px;height:7px;border-radius:50%;flex-shrink:0;margin-top:.45rem}.step-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.85rem;counter-reset:none}.step-list li{font-size:.88rem;color:var(--text);display:flex;gap:.75rem;line-height:1.55}.step-number{width:26px;height:26px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700;flex-shrink:0;margin-top:.1rem}@media(max-width:768px){.app-header{padding:2rem 1.5rem 1.5rem}.app-title{font-size:2rem}.recipe-grid{grid-template-columns:1fr;padding:0 1.25rem 3rem}.recipe-detail{padding:1.5rem}.recipe-detail-header{flex-direction:column;align-items:center;text-align:center}.recipe-detail-sections{grid-template-columns:1fr;gap:1.5rem}}@media(max-width:480px){.app-title{font-size:1.75rem}.category-bar{padding:0 1rem 1.5rem}.recipe-card-title{font-size:1.15rem}}
