@import "https://fonts.googleapis.com/css2?family=Playfair+Display:wght@400;600;700&family=DM+Sans:wght@300;400;500;600;700&family=Great+Vibes&display=swap";
*,:before,:after{box-sizing:border-box;margin:0;padding:0}:root{--cream:#f5f0e8;--cream-dark:#ede7d9;--forest:#2d3f2f;--forest-light:#3d5440;--orange:#c9622f;--orange-light:#e07a47;--brown:#6b4c35;--text-dark:#1e2b1f;--text-muted:#7a6e60;--card-bg:#fff;--border:#ddd5c4;--font-display:"Playfair Display", Georgia, serif;--font-body:"DM Sans", system-ui, sans-serif;--sidebar-width:260px;--navbar-height:64px;--max-content-width:1200px;--shadow-sm:0 1px 3px #0000000f;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 8px 32px #0000001f;--shadow-glow:0 0 40px #c9622f26;--ease-out:cubic-bezier(.16, 1, .3, 1);--transition-fast:.15s var(--ease-out);--transition-normal:.25s var(--ease-out);--transition-slow:.4s var(--ease-out)}html{scroll-behavior:smooth}body{font-family:var(--font-body);background:var(--cream);color:var(--text-dark);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;min-height:100vh;overflow-x:hidden}.hidden{display:none!important}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@keyframes fadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(24px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInScale{0%{opacity:0;transform:scale(.95)}to{opacity:1;transform:scale(1)}}@keyframes floatLogo{0%,to{transform:translateY(0)}50%{transform:translateY(-8px)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes gradient{0%{background-position:0%}50%{background-position:100%}to{background-position:0%}}.animate-fade-in{animation:fadeIn .35s var(--ease-out)}.animate-fade-in-up{animation:fadeInUp .5s var(--ease-out)}.animate-fade-in-scale{animation:fadeInScale .4s var(--ease-out)}h1,h2,h3,h4{font-family:var(--font-display);line-height:1.2}a{color:var(--orange);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--orange-light)}.btn{font-family:var(--font-body);cursor:pointer;transition:all var(--transition-normal);letter-spacing:.02em;white-space:nowrap;border:none;border-radius:14px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:14px;font-weight:500;display:inline-flex}.btn-primary{background:var(--orange);color:#fff}.btn-primary:hover:not(:disabled){background:var(--orange-light);box-shadow:var(--shadow-md);transform:translateY(-1px)}.btn-secondary{color:var(--text-dark);border:1.5px solid var(--border);background:0 0}.btn-secondary:hover:not(:disabled){border-color:var(--orange);color:var(--orange)}.btn-forest{background:var(--forest);color:#fff}.btn-forest:hover:not(:disabled){background:var(--forest-light);transform:translateY(-1px)}.btn-ghost{color:var(--text-muted);background:0 0;padding:8px 16px}.btn-ghost:hover{color:var(--text-dark);background:#0000000a}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-lg{border-radius:16px;padding:16px 32px;font-size:16px}.btn-sm{border-radius:10px;padding:8px 16px;font-size:13px}.btn-icon{border-radius:50%;width:40px;height:40px;padding:0}.card{background:var(--card-bg);border:1px solid var(--border);transition:transform var(--transition-normal), box-shadow var(--transition-normal);border-radius:16px;overflow:hidden}.card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.input{border:1.5px solid var(--border);width:100%;font-family:var(--font-body);color:var(--text-dark);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#fff;border-radius:12px;outline:none;padding:13px 16px;font-size:14px}.input:focus{border-color:var(--orange);box-shadow:0 0 0 3px #c9622f1a}.input::placeholder{color:#b0a898}textarea.input{resize:vertical;min-height:80px}.chip{border:1.5px solid var(--border);color:var(--text-muted);cursor:pointer;white-space:nowrap;background:#fff;border-radius:20px;align-items:center;gap:4px;padding:5px 12px;font-size:12px;font-weight:500;transition:all .18s;display:inline-flex}.chip:hover{border-color:var(--orange);color:var(--orange)}.chip.active{background:var(--orange);border-color:var(--orange);color:#fff;font-weight:600}.badge{letter-spacing:.06em;text-transform:uppercase;border-radius:20px;align-items:center;gap:4px;padding:3px 10px;font-size:10px;font-weight:600;display:inline-flex}.badge-orange{color:var(--orange);background:#c9622f1a;border:1px solid #c9622f33}.badge-forest{color:var(--forest);background:#2d3f2f1a;border:1px solid #2d3f2f33}.badge-premium{color:var(--orange);border:1px solid var(--orange-light);background:linear-gradient(135deg,#fdf0ee,#fff5e6)}.meta-chip{background:var(--cream);border:1px solid var(--border);color:var(--text-muted);border-radius:8px;padding:3px 8px;font-size:10px}.section-header{margin-bottom:24px}.section-title{font-family:var(--font-display);color:var(--text-dark);margin-bottom:6px;font-size:28px;font-weight:700}.section-subtitle{color:var(--text-muted);font-size:14px;line-height:1.5}.hero-card{background:var(--forest);border-radius:20px;justify-content:space-between;align-items:center;gap:24px;min-height:180px;padding:32px 40px;display:flex;position:relative;overflow:hidden}.hero-card .hero-label{letter-spacing:.18em;color:var(--orange-light);text-transform:uppercase;margin-bottom:8px;font-size:10px;font-weight:500}.hero-card .hero-title{font-family:var(--font-display);color:#fff;margin-bottom:16px;font-size:36px;font-weight:700;line-height:1.1}.hero-badges{flex-wrap:wrap;gap:12px;display:flex}.hero-badge{background:#ffffff1a;border:1px solid #ffffff26;border-radius:12px;padding:10px 16px}.hero-badge .badge-label{letter-spacing:.14em;color:#ffffff8c;text-transform:uppercase;margin-bottom:3px;font-size:9px;display:block}.hero-badge .badge-value{color:#fff;font-size:14px;font-weight:500;display:block}.hero-logo-wrap{flex-shrink:0;justify-content:center;align-items:center;width:160px;height:160px;display:flex}.hero-logo{object-fit:contain;filter:drop-shadow(0 4px 16px #00000073);width:155px;height:155px;animation:3s ease-in-out infinite floatLogo}.recipe-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}@media (max-width:900px){.recipe-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:600px){.recipe-grid{grid-template-columns:1fr}}.recipe-card{background:var(--card-bg);box-shadow:var(--shadow-sm);border:1px solid var(--border);transition:transform var(--transition-normal), box-shadow var(--transition-normal);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.recipe-card:hover{box-shadow:var(--shadow-lg);transform:translateY(-3px)}.card-image-wrap{background:var(--cream-dark);height:200px;position:relative;overflow:hidden}.card-image-wrap img{object-fit:cover;width:100%;height:100%;transition:transform .4s}.recipe-card:hover .card-image-wrap img{transform:scale(1.05)}.card-image-placeholder{background:linear-gradient(135deg,#c8b99a 0%,#d4c5a9 100%);justify-content:center;align-items:center;width:100%;height:100%;font-size:40px;display:flex}.card-style-badge{color:var(--brown);letter-spacing:.12em;text-transform:uppercase;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffffeb;border-radius:20px;padding:5px 10px;font-size:9px;font-weight:600;position:absolute;top:12px;right:12px}.card-body{flex-direction:column;flex:1;padding:16px 18px 20px;display:flex}.card-title{font-family:var(--font-display);color:var(--text-dark);margin-bottom:10px;font-size:17px;font-weight:600;line-height:1.3}.card-divider{background:var(--orange);border-radius:2px;width:32px;height:2px;margin-bottom:12px}.card-section-label{letter-spacing:.14em;color:var(--orange);text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:600}.card-ingredients{color:var(--text-muted);scrollbar-width:thin;scrollbar-color:var(--border) transparent;max-height:100px;font-size:12px;line-height:1.8;list-style:none;overflow-y:auto}.card-ingredients li:before{content:"• ";color:var(--orange)}.card-tabs{border-bottom:2px solid var(--cream-dark);gap:20px;margin-top:14px;margin-bottom:14px;display:flex}.card-tab{font-family:var(--font-body);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast);background:0 0;border:none;padding:8px 0;font-size:11px;font-weight:700;position:relative}.card-tab:hover{color:var(--text-dark)}.card-tab.active{color:var(--orange)}.card-tab.active:after{content:"";background:var(--orange);border-radius:2px;height:2px;position:absolute;bottom:-2px;left:0;right:0}.card-panel{display:none}.card-panel.active{animation:fadeIn .25s var(--ease-out);display:block}.card-ingredients{color:var(--text-dark);scrollbar-width:thin;height:160px;max-height:160px;margin-bottom:10px;font-size:13px;line-height:1.8;list-style:none;overflow-y:auto}.card-instructions{color:var(--text-dark);scrollbar-width:thin;flex-direction:column;gap:12px;height:160px;max-height:160px;margin-bottom:10px;padding-right:6px;font-size:13px;line-height:1.8;list-style:none;display:flex;overflow-y:auto}.card-instructions li{align-items:flex-start;gap:10px;display:flex}.card-instructions .step-num{background:var(--orange);color:#fff;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;margin-top:2px;font-size:10px;font-weight:700;display:flex}.card-meta{border-top:1px solid var(--cream-dark);flex-wrap:wrap;gap:8px;margin-top:auto;padding-top:12px;display:flex}.timer-launch-btn{background:linear-gradient(135deg, var(--orange) 0%, #db651b 100%)!important;color:#fff!important;font-family:var(--font-body)!important;letter-spacing:.05em!important;cursor:pointer!important;border:none!important;border-radius:12px!important;justify-content:center!important;align-items:center!important;gap:8px!important;padding:12px 20px!important;font-size:13px!important;font-weight:700!important;transition:all .25s cubic-bezier(.16,1,.3,1)!important;display:flex!important;box-shadow:0 4px 14px #eb7a3440!important}.timer-launch-btn:hover{filter:brightness(1.05)!important;transform:translateY(-2px)!important;box-shadow:0 6px 20px #eb7a3473!important}.timer-launch-btn:active{transform:translateY(0)!important}.share-recipe-btn{border:1.5px solid var(--orange)!important;color:var(--orange)!important;font-family:var(--font-body)!important;letter-spacing:.05em!important;cursor:pointer!important;background:0 0!important;border-radius:12px!important;justify-content:center!important;align-items:center!important;gap:6px!important;padding:10px 16px!important;font-size:12px!important;font-weight:700!important;transition:all .25s cubic-bezier(.16,1,.3,1)!important;display:flex!important}.share-recipe-btn:hover{background:var(--orange)!important;color:#fff!important;transform:translateY(-2px)!important;box-shadow:0 4px 12px #eb7a3440!important}.share-recipe-btn:active{transform:translateY(0)!important}.save-cookbook-btn{border:1.5px solid var(--forest)!important;color:var(--forest)!important;font-family:var(--font-body)!important;letter-spacing:.05em!important;cursor:pointer!important;background:0 0!important;border-radius:12px!important;justify-content:center!important;align-items:center!important;gap:6px!important;padding:10px 16px!important;font-size:12px!important;font-weight:700!important;transition:all .25s cubic-bezier(.16,1,.3,1)!important;display:flex!important}.save-cookbook-btn:hover{background:var(--forest)!important;color:#fff!important;transform:translateY(-2px)!important;box-shadow:0 4px 12px #143c2833!important}.save-cookbook-btn:active{transform:translateY(0)!important}.skeleton{background:linear-gradient(90deg, var(--cream-dark) 25%, #e8e0d0 50%, var(--cream-dark) 75%);background-size:200% 100%;border-radius:16px;animation:1.5s infinite shimmer}.generate-btn{background:var(--orange);color:#fff;width:100%;font-family:var(--font-body);cursor:pointer;transition:background var(--transition-fast), transform var(--transition-fast);letter-spacing:.02em;border:none;border-radius:14px;padding:14px;font-size:15px;font-weight:500}.generate-btn:hover:not(:disabled){background:var(--orange-light);box-shadow:var(--shadow-md);transform:translateY(-1px)}.generate-btn:disabled{opacity:.6;cursor:not-allowed}.empty-state{text-align:center;color:var(--text-muted);padding:60px 24px}.empty-state .empty-icon{margin-bottom:16px;font-size:48px;display:block}.empty-state p{font-size:14px;line-height:1.6}.empty-state .empty-hint{color:#b0a898;margin-top:6px;font-size:12px}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.legal-footer{text-align:center;color:var(--text-muted);border-top:1px solid var(--border);padding:20px;font-size:11px}.legal-footer a{color:var(--text-muted);transition:color var(--transition-fast)}.legal-footer a:hover{color:var(--orange)}@media (max-width:768px){.hero-card{text-align:center;flex-direction:column;padding:24px}.hero-card .hero-title{font-size:28px}.hero-badges{justify-content:center}.hero-logo-wrap{width:120px;height:120px}.hero-logo{width:110px;height:110px}.section-title{font-size:24px}}@keyframes floatPulse{0%,to{transform:translateY(0)scale(1)}50%{transform:translateY(-6px)scale(1.03)}}
