:root{--primary-color:#6c63ff;--secondary-color:#00c4cc;--background-light:#fff;--background-medium:#f5f7fa;--background-card:#f5f7fa;--text-dark:#333;--text-medium:#555;--text-light:#7a7a7a;--border-color:#e0e0e0;--shadow-light:0 4px 15px #00000014;--shadow-medium:0 8px 25px #00000026;--border-radius-main:12px;--border-radius-small:8px;--border-radius-elements:10px}body{background-attachment:fixed;background-image:url(/static/media/background.0798a6d378aa180c284d.jpg);background-repeat:repeat;background-size:contain;color:var(--text-dark);font-family:Inter,sans-serif;font-size:16px;line-height:1.6}#root{align-items:flex-start;box-sizing:border-box;padding:30px 20px}.App-container{background-color:#f5f7fa;background-color:var(--background-medium);color:#333;color:var(--text-dark);min-height:100vh;width:80%}.App-container,.App-content{display:flex;flex-direction:column}.App-content{padding:0;width:100%}@media (max-width:768px){.App-container{width:100%}}.recipe-mockup-container{background-color:#fff;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;min-height:100vh;padding-bottom:12px}.recipe-hero-image{background-position:50%;background-size:cover;position:relative}.recipe-hero-overlay{background:linear-gradient(180deg,#0000 0,#fff9)}.recipe-hero-content-grid{align-items:normal;justify-items:center}.floating-card{background-color:#fff;border-radius:12px;box-shadow:0 6px 20px #1e283c0f;max-width:540px;padding:20px}.recipe-header{margin-bottom:24px}.recipe-tags{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tag-pill{background-color:#7b61ff14;border-radius:8px;color:#7b61ff;font-size:12px;font-weight:500;padding:6px 12px}.recipe-title{color:#111827;font-size:22px;font-weight:600;line-height:1.3;margin:0 0 12px}.recipe-subtitle{color:#6b7280;font-size:14px;font-weight:400;line-height:1.5;margin:0}.recipe-actions{display:flex;flex-wrap:wrap;gap:12px}.btn-primary{align-items:center;background-color:#7b61ff;border:none;border-radius:10px;box-shadow:0 6px 20px #1e283c0f;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 14px;transition:all .12s cubic-bezier(.2,.8,.2,1)}.btn-primary:hover{background-color:#6746ea;transform:translateY(-2px)}.btn-secondary{align-items:center;background-color:initial;border:1px solid #e6e9ee;border-radius:10px;color:#111827;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 14px;transition:all .12s cubic-bezier(.2,.8,.2,1)}.btn-secondary:hover{background-color:#f3f6fb;transform:translateY(-2px)}.btn-delete{align-items:center;background-color:#dc3545;border:none;border-radius:10px;box-shadow:0 6px 20px #1e283c0f;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;padding:10px 14px;transition:all .12s cubic-bezier(.2,.8,.2,1)}.btn-delete:hover{background-color:#c0392b;transform:translateY(-2px)}.btn-icon{font-size:16px}.info-dock{background-color:#fff;border-radius:12px;box-shadow:0 6px 20px #1e283c0f;height:-webkit-fit-content;height:fit-content;max-width:540px;padding:20px;width:220px}.info-dock-header{margin-bottom:16px}.date-range-pill{background-color:#7b61ff;border-radius:8px;color:#fff;display:inline-block;font-size:12px;font-weight:600;padding:6px 12px}.info-row{align-items:flex-start;border-bottom:1px solid #e6e9ee80;display:flex;gap:12px;padding:12px 0}.info-row:last-child{border-bottom:none}.info-icon{flex-shrink:0;font-size:20px}.info-content{display:flex;flex:1 1;flex-direction:column;gap:4px}.info-label{color:#9ca3af;font-size:12px;font-weight:500}.info-value{color:#111827;font-size:14px;font-weight:600}.servings-toggle{display:flex;gap:6px}.serving-btn{background-color:initial;border:1px solid #e6e9ee;border-radius:8px;color:#6b7280;cursor:pointer;font-size:14px;font-weight:600;padding:6px 10px;transition:all .12s cubic-bezier(.2,.8,.2,1)}.serving-btn.active{background-color:#7b61ff;border-color:#7b61ff;color:#fff}.serving-btn:hover:not(.active){background-color:#f3f6fb;transform:translateY(-2px)}.content-container{margin:0 auto;max-width:1200px}.content-layout{display:flex;flex-direction:column;gap:24px}.content-card{background-color:#fff;border-radius:14px;box-shadow:0 6px 20px #1e283c0f;padding:24px}.card-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.section-title{color:#111827;font-size:18px;font-weight:600;margin:0}.item-count{color:#9ca3af;font-size:12px;font-weight:500}.ingredients-list{gap:12px}.ingredient-row{align-items:center;border-radius:12px;display:flex;gap:12px;padding:12px;transition:all .12s cubic-bezier(.2,.8,.2,1)}.ingredient-row:hover{background-color:#f3f6fb;transform:translateY(-2px)}.ingredient-thumbnail{align-items:center;background:linear-gradient(135deg,#a7f3d0,#7b61ff);border-radius:9999px;display:flex;flex-shrink:0;font-size:24px;height:44px;justify-content:center;width:44px}.ingredient-details{flex:1 1;min-width:0}.ingredient-name{color:#111827;font-size:14px;font-weight:500}.ingredient-amount{color:#6b7280;font-size:14px;font-weight:600}.steps-list{display:flex;flex-direction:column;gap:20px}.step-item{align-items:flex-start;display:flex;gap:16px}.step-text{margin:6px 0 0}.notes-card{background-color:#fef3c7;border-left:4px solid #f59e0b}.notes-text{color:#78350f;font-size:14px;line-height:1.6;margin:0}@media (max-width:1024px){.hero-content-grid{grid-template-columns:1fr}.info-dock{max-width:540px;width:100%}.floating-card{max-width:100%}}@media (max-width:768px){.hero-image-wrapper{height:300px}.hero-content-wrapper{padding:0 16px}.content-container{padding:16px}.recipe-actions{flex-direction:column}.btn-primary,.btn-secondary{justify-content:center;width:100%}.ingredient-thumbnail{font-size:20px;height:36px;width:36px}}@media (max-width:480px){.recipe-title{font-size:18px}.content-card,.floating-card{padding:16px}}.all-recipes-page{margin:0 auto;max-width:1400px;padding:40px 20px}.all-recipes-header{margin-bottom:32px}.back-button{background:none;border:none;color:#6c63ff;cursor:pointer;font-size:16px;font-weight:600;margin-bottom:16px;padding:8px 0;transition:color .2s ease}.back-button:hover{color:#5a52d5}.all-recipes-header h1{color:#111827;font-size:32px;font-weight:700;margin:0}.loading-container{align-items:center;display:flex;flex-direction:column;gap:16px;justify-content:center;min-height:400px}.loading-spinner{animation:spin .8s linear infinite;border:4px solid #e6e9ee;border-top-color:#6c63ff}.filters-section{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fff;background-color:#fffffffa;border-radius:12px;box-shadow:0 2px 8px #0000000d;margin-bottom:32px;padding:10px 24px 0;position:-webkit-sticky;position:sticky;top:100px;z-index:100}.search-container{margin-bottom:20px}.search-input{border-radius:8px;font-size:16px;padding:12px 40px 12px 16px;transition:border-color .2s ease}.search-input:focus{border-color:#6c63ff}.search-clear-button{color:#9ca3af;right:12px}.tag-filters{margin-top:16px}.tag-filters-toggle{align-items:center;background:#f9fafb;border:1px solid #e6e9ee;border-radius:8px;cursor:pointer;display:flex;justify-content:space-between;margin-bottom:12px;padding:12px 16px;transition:all .2s ease;width:100%}.tag-filters-toggle:hover{background:#f3f4f6;border-color:#d1d5db}.tag-filters-label{color:#374151;font-size:14px}.toggle-icon{color:#6b7280;font-size:12px;transition:transform .2s ease}.toggle-icon.open{transform:rotate(180deg)}.tag-filter-chip{background:#fff;border-radius:16px;font-size:13px;transition:all .2s ease}.tag-filter-chip.tag-cuisine{border-color:#fbbf24;color:#92400e}.tag-filter-chip.tag-diet{border-color:#34d399;color:#065f46}.tag-filter-chip.tag-meal{border-color:#60a5fa;color:#1e40af}.tag-filter-chip.tag-custom{border-color:#a78bfa;color:#5b21b6}.tag-filter-chip.active{font-weight:600;opacity:1;transform:scale(1.05)}.tag-filter-chip.tag-cuisine.active{background-color:#fef3c7}.tag-filter-chip.tag-diet.active{background-color:#d1fae5}.tag-filter-chip.tag-meal.active{background-color:#dbeafe}.tag-filter-chip.tag-custom.active{background-color:#ede9fe}.clear-filters-button{background:#f3f4f6;border:none;border-radius:6px;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}.clear-filters-button:hover{background:#e5e7eb;color:#374151}.recipes-grid{grid-gap:24px;display:grid;gap:24px;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));padding:4px}@media (min-width:640px){.recipes-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.recipes-grid{grid-template-columns:repeat(3,1fr)}}@media (min-width:1280px){.recipes-grid{grid-template-columns:repeat(4,1fr)}}.recipe-card{background:#fff;border:1px solid #e6e9ee;border-radius:12px;box-shadow:0 2px 8px #0000000d;cursor:pointer;display:flex;flex-direction:column;height:100%;overflow:hidden;transition:all .3s ease}.recipe-card:hover{border-color:#6c63ff;box-shadow:0 12px 32px #00000026;transform:translateY(-4px)}.recipe-card-image{background:#f3f4f6;height:200px;overflow:hidden;width:100%}.recipe-card-image img{height:100%;object-fit:cover;width:100%}.recipe-card-content{display:flex;flex:1 1;flex-direction:column;gap:12px;padding:20px}.recipe-card-title{color:#111827;font-size:18px;font-weight:600;line-height:1.4;margin:0 0 12px}.recipe-card-tags{display:flex;flex-wrap:wrap;gap:6px}.recipe-tag{border-radius:12px;font-size:12px;font-weight:500;padding:4px 10px}.recipe-tag.tag-cuisine{background-color:#fef3c7;color:#92400e}.recipe-tag.tag-diet{background-color:#d1fae5;color:#065f46}.recipe-tag.tag-meal{background-color:#dbeafe;color:#1e40af}.recipe-tag.tag-custom{background-color:#ede9fe;color:#5b21b6}.no-results{color:#6b7280;font-size:16px;grid-column:1/-1;padding:60px 20px;text-align:center}.error-message{background:#fee2e2;border-radius:8px;color:#991b1b;margin-bottom:24px;padding:16px}@media (max-width:768px){.all-recipes-page{padding:20px 16px}.all-recipes-header{margin-bottom:20px}.all-recipes-header h1{font-size:24px}.filters-section{margin-bottom:20px;padding:6px 12px 0;top:80px}.search-container{margin-bottom:12px}.search-input{font-size:14px;padding:10px 36px 10px 12px}.tag-filters{margin-top:4px}.tag-filters-toggle{padding:10px 12px}.tag-filters-label{font-size:13px}.tag-filter-chips{gap:6px;margin-bottom:10px}.tag-filter-chip{font-size:12px;padding:5px 10px}.recipes-grid{gap:16px;grid-template-columns:1fr}.recipe-card-image{height:180px}.recipe-card-content{padding:16px}.recipe-card-title{font-size:16px}}.landing-page{overflow-x:hidden;width:100%}.hero-section{align-items:center;color:#fff;display:flex;justify-content:center;min-height:65vh;overflow:hidden;padding:20px;position:relative;text-align:center}.hero-background{z-index:0}.hero-background,.hero-bg-image{height:100%;left:0;position:absolute;top:0;width:100%}.hero-bg-image{background-position:50%;background-repeat:no-repeat;background-size:cover;opacity:0;transition:opacity 1s ease-in-out}.hero-bg-image.active{opacity:1}.hero-overlay{background:linear-gradient(135deg,#667eea40,#764ba2d9);height:100%;left:0;position:absolute;top:0;width:100%;z-index:1}.hero-content{max-width:800px;position:relative;z-index:2}.hero-title{font-size:3em;font-weight:700;margin:0 0 20px}.hero-subtitle{font-size:1.5em;margin:0 0 40px;opacity:.95}.hero-subtitle2{font-size:1em;font-style:italic;margin:20px 0 0;opacity:.95}.cta-button{background-color:#fff;border-radius:50px;box-shadow:0 4px 20px #0003;color:#667eea;display:inline-block;font-size:1.2em;font-weight:600;padding:16px 48px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.cta-button:hover{box-shadow:0 6px 30px #0000004d;transform:translateY(-2px)}.login-link{background-color:var(--primary-color);border-radius:50px;box-shadow:0 4px 20px #0003;color:#fff;display:inline-block;font-size:1.1em;font-weight:500;padding:8px 48px;text-decoration:none;transition:transform .2s ease,box-shadow .2s ease}.login-link:hover{box-shadow:0 6px 30px #0000004d;transform:translateY(-2px)}.features-section{background-color:#f8f9fa;padding:40px 20px;text-align:center}.features-section h2{color:#333;font-size:2.5em;margin-bottom:60px}.features-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr;margin:0 auto;max-width:1200px}.feature-card{background:#fff;border-radius:12px;box-shadow:0 2px 10px #0000001a;padding:40px 20px;transition:transform .2s ease}.feature-card:hover{transform:translateY(-5px)}.feature-icon{font-size:3em;margin-bottom:20px}.feature-card h3{color:#333;font-size:1.5em;margin:0 0 10px}.feature-card p{color:#666;margin:0}.pricing-section{background-color:#fff;padding:40px 20px;text-align:center}.pricing-section h2{color:#333;font-size:2.5em;margin-bottom:60px}.pricing-grid{grid-gap:30px;display:grid;gap:30px;grid-template-columns:1fr;margin:0 auto;max-width:1000px}.pricing-card{background:#fff;border:2px solid #e0e0e0;border-radius:12px;padding:40px 30px;position:relative;transition:transform .2s ease,box-shadow .2s ease}.pricing-card:hover{box-shadow:0 10px 30px #00000026;transform:translateY(-5px)}.pricing-card.highlighted{border-color:#667eea;box-shadow:0 5px 20px #667eea4d}.badge{background:#667eea;border-radius:20px;color:#fff;font-size:.9em;font-weight:600;padding:5px 15px;position:absolute;right:20px;top:-15px}.pricing-trial{font-size:1.4em;font-style:italic;font-weight:500}.pricing-card h3{color:#333;font-size:1.8em;margin:0 0 20px}.price{margin-bottom:30px}.price .amount{color:#667eea;font-size:3em;font-weight:700}.price .period{color:#666;font-size:1em}.features-list{list-style:none;margin:0 0 30px;padding:0;text-align:left}.features-list li{color:#555;font-size:1.1em;padding:10px 0}.tier-cta{background-color:#667eea;border-radius:8px;color:#fff;display:block;font-weight:600;padding:14px 30px;text-decoration:none;transition:background-color .2s ease}.tier-cta:hover{background-color:#5568d3}.pricing-card.highlighted .tier-cta{background-color:#764ba2}.pricing-card.highlighted .tier-cta:hover{background-color:#653a8a}.faq-section{background-color:#f8f9fa;padding:40px 20px}.faq-section h2{color:#333;font-size:2.5em;margin-bottom:60px;text-align:center}.faq-list{margin:0 auto;max-width:800px}.faq-item{background:#fff;border-radius:8px;box-shadow:0 2px 5px #0000001a;margin-bottom:15px;overflow:hidden}.faq-item summary{color:#333;cursor:pointer;font-size:1.1em;font-weight:600;padding:20px;-webkit-user-select:none;user-select:none}.faq-item summary:hover{background-color:#f8f9fa}.faq-item p{color:#666;line-height:1.6;margin:0;padding:0 20px 20px}.landing-footer{background-color:#333;color:#fff;padding:40px 20px;text-align:center}.footer-content p{font-style:italic;margin:0 0 10px}.footer-links{display:flex;flex-wrap:wrap;gap:6px;justify-content:center}.footer-links a{color:#fff;opacity:.8;text-decoration:none;transition:opacity .2s ease}.footer-links a:hover{opacity:1;transform:translateY(-2px)}@media (max-width:768px){.hero-section{min-height:50vh;padding:40px 16px}.hero-title{font-size:2em}.hero-subtitle{font-size:1.1em;margin-bottom:30px}.cta-button{font-size:1em;padding:12px 32px}.faq-section h2,.features-section h2,.pricing-section h2{font-size:1.8em;margin-bottom:40px}.pricing-section{padding:40px 16px}.pricing-grid{gap:20px;padding:0}.pricing-card{box-sizing:border-box;margin:0;padding:30px 20px;width:100%}.price .amount{font-size:2.5em}.features-list li{font-size:1em;padding:8px 0}.tier-cta{font-size:.95em;padding:12px 24px}.faq-section{padding:40px 16px}.faq-item summary{font-size:1em;padding:16px}.faq-item p{font-size:.95em;padding:0 16px 16px}}@media (min-width:768px){.hero-title{font-size:4em}.hero-subtitle{font-size:1.8em}.features-grid,.pricing-grid{grid-template-columns:repeat(2,1fr)}}@media (min-width:1024px){.features-grid{grid-template-columns:repeat(4,1fr)}}.home-layout{background-color:var(--background-medium);color:var(--text-dark);display:flex;flex-direction:row;min-height:100vh}.main-content-area{margin:0 auto;max-width:1200px;padding:20px;width:100%}.content-area,.main-content-area{display:flex;flex-grow:1;gap:20px}.content-area{flex-direction:column;min-width:0;overflow-y:auto}.error-message{color:#c0392b;font-size:.9em;padding:5px}@media (max-width:960px){.main-content-area{gap:15px;padding:15px}}@media (max-width:600px){.main-content-area{gap:10px;padding:10px}}.overlay{background-color:#00000080;bottom:0;display:none;height:100%;left:0;position:fixed;right:0;top:0;width:100%;z-index:999}.sidebar{align-self:flex-start;background-color:#fff;border-right:1px solid #e6e9ee;box-shadow:0 6px 20px #1e283c0f;flex:0 0 300px;overflow-y:auto;padding:24px;transition:transform .12s cubic-bezier(.2,.8,.2,1);width:300px}.sidebar-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:24px}.sidebar h3{color:#111827;flex:1 1;font-size:18px;font-weight:600;line-height:1.4;margin:0}.sidebar-close-button{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:none;font-size:28px;height:40px;justify-content:center;line-height:1;padding:0;transition:all .12s cubic-bezier(.2,.8,.2,1);width:40px}.sidebar-close-button:hover{color:#7b61ff;transform:translateY(-2px)}.sidebar-close-button:active{transform:translateY(0)}.search-container{margin-bottom:16px;position:relative}.search-input{background-color:#fff;border:1px solid #e6e9ee;border-radius:10px;box-sizing:border-box;color:#111827;font-size:14px;font-weight:400;line-height:1.5;padding:10px 35px 10px 12px;transition:all .12s cubic-bezier(.2,.8,.2,1);width:100%}.search-input:focus{border-color:#7b61ff;box-shadow:0 0 0 3px #7b61ff14;outline:none}.search-input::placeholder{color:#9ca3af}.search-clear-button{align-items:center;background:none;border:none;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:24px;justify-content:center;line-height:1;padding:0;position:absolute;right:8px;top:50%;transform:translateY(-50%);transition:all .12s cubic-bezier(.2,.8,.2,1);width:24px}.search-clear-button:hover{color:#7b61ff}.saved-recipes-title{border-bottom:1px solid #e6e9ee}.saved-recipes-list{display:flex;flex-direction:column;gap:8px;list-style-type:decimal;margin:12px 8px;padding:0}.saved-recipes-list li{background-color:#fff;border:1px solid #e6e9ee;border-radius:12px;color:#111827;cursor:pointer;font-size:14px;padding:12px;transition:all .12s cubic-bezier(.2,.8,.2,1)}.saved-recipes-list li:hover{background-color:#f3f6fb;transform:translateY(-2px)}.saved-recipes-list li.no-results{background-color:#fff;border:1px solid #e6e9ee80;color:#6b7280;cursor:default;font-style:italic;list-style-type:none}.saved-recipes-list li.no-results:hover{background-color:#fff;transform:none}.recipe-item-title{color:#111827;font-size:14px;font-weight:500;line-height:1.5}.recipe-item-tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:8px}.recipe-item-tag{border-radius:8px;display:inline-block;font-size:12px;font-weight:500;padding:4px 10px}.recipe-item-tag.tag-default{background-color:#7b61ff14;color:#7b61ff}.recipe-item-tag.tag-custom{background-color:#fef3c7;color:#78350f}.tag-filters{margin-bottom:16px;padding:16px}.tag-filters-label{color:#6b7280;font-size:12px;font-weight:600;line-height:1.4;margin-bottom:12px}.tag-filter-chips{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.tag-filter-chip{background-color:#fff;border:1px solid;border-radius:8px;cursor:pointer;font-size:12px;font-weight:500;padding:6px 12px;transition:all .12s cubic-bezier(.2,.8,.2,1)}.tag-filter-chip.tag-default{border-color:#7b61ff4d;color:#7b61ff}.tag-filter-chip.tag-default:hover{background-color:#7b61ff14;transform:translateY(-2px)}.tag-filter-chip.tag-default.active{background-color:#7b61ff;border-color:#7b61ff;color:#fff}.tag-filter-chip.tag-custom{border-color:#fde68a;color:#78350f}.tag-filter-chip.tag-custom:hover{background-color:#fef3c7;transform:translateY(-2px)}.tag-filter-chip.tag-custom.active{background-color:#f59e0b;border-color:#f59e0b;color:#fff}.clear-filters-button{background-color:initial;border:1px solid #e6e9ee;border-radius:10px;color:#6b7280;cursor:pointer;font-size:12px;font-weight:600;padding:8px 12px;transition:all .12s cubic-bezier(.2,.8,.2,1);width:100%}.clear-filters-button:hover{background-color:#f3f6fb;color:#111827;transform:translateY(-2px)}@media (max-width:1023px){.sidebar-close-button{display:flex}}@media (max-width:767px){.overlay{display:block;z-index:1010}.sidebar{height:100%;left:0;padding:24px;position:fixed;top:0;transform:translateX(-100%);width:280px;z-index:1099}.sidebar.open{transform:translateX(0)}.sidebar-header{margin-bottom:16px}.search-container,.tag-filters{margin-bottom:12px}.tag-filters{padding:12px}.saved-recipes-list{margin:12px 8px 40px}}.see-all-container-top{margin-bottom:16px;padding-bottom:12px;text-align:right}.see-all-link{background-color:initial;border:1px solid #6c63ff;border-radius:6px;color:#6c63ff;display:inline-block;font-size:13px;font-weight:600;padding:8px 16px;text-decoration:none;transition:all .2s ease}.see-all-link:hover{background-color:#6c63ff;box-shadow:0 2px 8px #6c63ff33;color:#fff;transform:translateX(2px)}.empty-book{align-items:center;display:flex;flex-direction:column;gap:12px;justify-content:center;padding:40px 20px;text-align:center}.empty-book img{margin-bottom:8px;opacity:.3;width:200px}.empty-book p{color:#6b7280;font-size:14px;font-weight:500;margin:0}.empty-book-hint{color:#9ca3af;font-size:12px;font-weight:400;margin-top:4px}.saved-recipes-title{color:#9ca3af;font-size:12px;font-weight:600;letter-spacing:.5px;margin:16px 0 8px;padding:0 4px;text-transform:uppercase}.recipe-tags-container{margin:15px 0}.tags-list{display:flex;flex-wrap:wrap;gap:8px}.tag,.tags-list{align-items:center}.tag{border-radius:16px;display:inline-flex;font-size:.85em;font-weight:500;gap:6px;padding:6px 12px;transition:all .2s ease}.tag-default{background-color:#e0e7ff;border:1px solid #c7d2fe;color:#4338ca}.tag-custom{background-color:#fef3c7;border:1px solid #fde68a;color:#92400e}.tag-remove{align-items:center;background:none;border:none;border-radius:50%;color:inherit;cursor:pointer;display:flex;font-size:1.3em;height:18px;justify-content:center;line-height:1;padding:0;transition:background-color .2s ease;width:18px}.tag-remove:hover{background-color:#0000001a}.tag-add-button{background-color:var(--background-card);border:1px dashed var(--primary-color);border-radius:16px;color:var(--primary-color);cursor:pointer;font-size:.85em;font-weight:500;padding:6px 12px;transition:all .2s ease}.tag-add-button:hover{background-color:var(--primary-color);border-style:solid;color:#fff}.tag-dropdown-container{align-items:flex-start;display:flex;gap:8px;margin-top:10px;position:relative}.tag-search-input{border:1px solid var(--border-color);border-radius:var(--border-radius-small);flex:1 1;font-size:.9em;padding:10px 12px}.tag-search-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6c63ff1a;outline:none}.tag-dropdown{background-color:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius-small);box-shadow:0 4px 12px #00000026;left:0;margin-top:4px;max-height:250px;overflow-y:auto;position:absolute;right:80px;top:100%;z-index:1000}.tag-dropdown-item{align-items:center;color:#000;cursor:pointer;display:flex;font-size:.9em;gap:8px;justify-content:space-between;padding:10px 12px;transition:background-color .2s ease}.tag-dropdown-item:hover{background-color:#f5f5f5}.tag-dropdown-badge{border-radius:10px;font-size:.75em;font-weight:600;padding:2px 8px}.tag-dropdown-badge.tag-default{background-color:#e0e7ff;color:#4338ca}.tag-dropdown-badge.tag-custom{background-color:#fef3c7;color:#92400e}.tag-dropdown-divider{background-color:var(--border-color);height:1px;margin:4px 0}.tag-dropdown-no-results{color:var(--text-medium);font-size:.9em;font-style:italic;padding:10px 12px}.tag-dropdown-custom{border-top:1px solid var(--border-color);color:var(--primary-color);font-weight:600}.tag-dropdown-custom:hover{background-color:#f0f0ff}.tag-dropdown-icon{font-size:1.2em;font-weight:700}.tag-input-container{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-top:10px}.tag-input{border:1px solid var(--border-color);border-radius:var(--border-radius-small);flex:1 1;font-size:.9em;min-width:150px;padding:8px 12px}.tag-input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6c63ff1a;outline:none}.tag-cancel-button,.tag-save-button{border:none;border-radius:var(--border-radius-small);cursor:pointer;font-size:.9em;font-weight:600;padding:8px 16px;transition:all .2s ease}.tag-save-button{background-color:var(--primary-color);color:#fff}.tag-save-button:hover{background-color:#5d56e0}.tag-cancel-button{background-color:var(--background-card);border:1px solid var(--border-color);color:var(--text-medium)}.tag-cancel-button:hover{background-color:#e9ecef}@media (max-width:768px){.tag-input-container{align-items:stretch;flex-direction:column}.tag-cancel-button,.tag-input,.tag-save-button,.tag-type-select{width:100%}}.recipe-display{background-color:#fff;border-radius:12px;display:flex;flex-direction:column}.recipe-hero-section{height:auto;margin-bottom:48px}.recipe-hero-image-wrapper,.recipe-hero-section{border-top-left-radius:12px;border-top-right-radius:12px;position:relative;width:100%}.recipe-hero-image-wrapper{height:500px;overflow:hidden;z-index:1}.recipe-hero-image{display:block;height:100%;object-fit:cover;width:100%}.recipe-hero-overlay{background:linear-gradient(180deg,#0000 60%,#fff9);bottom:0;left:0;position:absolute;right:0;top:0}.recipe-hero-content-wrapper{margin:-100px auto 0;max-width:800px;padding:0 32px;position:relative;z-index:10}.recipe-hero-content-grid{grid-gap:24px;align-items:start;display:grid;gap:24px;grid-template-columns:1fr 260px;position:relative}.recipe-content-container{display:flex;flex-direction:column;gap:24px;margin:0 auto;max-width:800px;min-width:800px;padding:0 32px 24px}.recipe-display-title{background-color:#fff;border:1px solid #e6e9ee;border-radius:12px;box-shadow:0 6px 20px #1e283c0f;max-width:540px;padding:20px}.recipe-header{margin-bottom:20px}.recipe-display-title>h3{color:#111827;font-size:22px;font-weight:600;line-height:1.3;margin:0 0 16px}.recipe-actions-top{display:flex;flex-wrap:wrap;gap:12px;margin-top:16px}.recipe-info-dock{background-color:#fff;border-radius:12px;box-shadow:0 6px 20px #1e283c0f;height:-webkit-fit-content;height:fit-content;padding:20px;width:220px}.info-dock-row{align-items:flex-start;border-bottom:1px solid #e6e9ee80;display:flex;gap:12px;padding:12px 0}.info-dock-row:last-child{border-bottom:none}.info-dock-icon{color:#6b7280;flex-shrink:0;font-size:20px}.info-dock-content{display:flex;flex:1 1;flex-direction:column;gap:4px}.info-dock-label{color:#9ca3af;font-size:12px;font-weight:500}.info-dock-value{color:#111827;font-size:14px;font-weight:600}.recipe-display p{color:#6b7280;font-size:14px;font-weight:400;line-height:1.5;margin:0}.delete-recipe-button{background-color:#dc3545;border:none;border-radius:10px;box-shadow:0 6px 20px #1e283c0f;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 14px;transition:all .12s cubic-bezier(.2,.8,.2,1);white-space:nowrap}.delete-recipe-button:hover{background-color:#c0392b;transform:translateY(-2px)}.no-media-message{background-color:#f3f6fb;border:1px solid #e6e9ee80;border-radius:12px;color:#6b7280;font-size:14px;font-style:italic;font-weight:400;line-height:1.5;margin:24px 0;padding:32px 20px;text-align:center}.recipe-details{background-color:#fff;border-radius:14px;box-shadow:0 6px 20px #1e283c0f;padding:24px;text-align:left;white-space:pre-wrap}.recipe-details h3{color:#111827;font-size:18px;font-weight:600;line-height:1.4;margin:0 0 24px}.collapsable-section{background-color:#fff;border:1px solid #e6e9ee;border-radius:12px;overflow:hidden}.collapsable-header{align-items:center;background-color:#fff;cursor:pointer;display:flex;justify-content:space-between;margin:0;padding:16px 20px;transition:all .12s cubic-bezier(.2,.8,.2,1);-webkit-user-select:none;user-select:none}.collapsable-header:hover{background-color:#f3f6fb}.collapse-icon{border-left:6px solid #0000;border-right:6px solid #0000;height:0;transition:transform .12s cubic-bezier(.2,.8,.2,1);width:0}.collapse-icon.expanded{border-top:8px solid #7b61ff;transform:rotate(0deg)}.collapse-icon.collapsed{border-top:8px solid #7b61ff;transform:rotate(-90deg)}.collapsable-content{background-color:#fff;border-top:1px solid #e6e9ee80;padding:20px}.collapsable-content p{color:#111827;font-size:14px;font-weight:400;line-height:1.5;margin:0}.collapsable-content ol,.collapsable-content ul{margin:0;padding-left:20px}.collapsable-content li{font-size:14px;line-height:1.5;margin-bottom:8px}.ingredients-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding-left:0}.ingredient-item{background-color:#fff;border-radius:12px;color:#111827;cursor:pointer;font-size:14px;font-weight:500;line-height:1.5;padding:12px;transition:all .12s cubic-bezier(.2,.8,.2,1);-webkit-user-select:none;user-select:none}.ingredient-item:hover{background-color:#f3f6fb;transform:translateY(-2px)}.ingredient-item.checked{background-color:#b2f5b2}.instructions-list{display:flex;flex-direction:column;gap:16px;margin:0;padding:0}.instruction-item{align-items:baseline;background-color:#fff;border-radius:12px;cursor:pointer;display:flex;gap:16px;padding:12px;transition:all .12s cubic-bezier(.2,.8,.2,1);-webkit-user-select:none;user-select:none}.instruction-item:hover{background-color:#f3f6fb;transform:translateY(-2px)}.instruction-item.checked{background-color:#f3f6fb;border-color:#7b61ff}.instruction-item.checked .step-text{color:#6b7280;text-decoration:line-through}.instruction-item.checked .step-number{background-color:#6b7280}.step-number{align-items:center;background-color:#7b61ff;border-radius:9999px;color:#fff;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:32px;justify-content:center;width:32px}.step-text{color:#111827;flex:1 1;font-size:14px;font-weight:400;line-height:1.5;padding-top:6px}.recipe-actions{border-top:1px solid #e6e9ee80;padding-top:24px}.original-post-button{background-color:#7b61ff;border:none;border-radius:10px;box-shadow:0 6px 20px #1e283c0f;color:#fff;display:inline-block;font-size:14px;font-weight:600;padding:10px 14px;text-decoration:none;transition:all .12s cubic-bezier(.2,.8,.2,1)}.original-post-button:hover{background-color:#6746ea;transform:translateY(-2px)}.recipe-share-section{display:flex;justify-content:flex-end}@media (max-width:1024px){.recipe-hero-content-grid{grid-template-columns:1fr}.recipe-info-dock{max-width:540px;width:100%}.recipe-display-title{max-width:100%}}@media (max-width:767px){.recipe-hero-image-wrapper{height:300px}.recipe-hero-content-wrapper{margin:-60px auto 0;padding:0 16px}.recipe-content-container{gap:20px;margin:0;min-width:200px;padding:0 16px 16px}.recipe-display-title{padding:16px}.recipe-display-title h3{font-size:18px}.recipe-actions-top{flex-direction:column;justify-content:center;padding:0 20px}.recipe-actions-top .delete-recipe-button,.recipe-actions-top .original-post-button,.recipe-actions-top .recipe-share-section{justify-content:center;width:100%}.recipe-details{padding:16px}.collapsable-header{padding:12px 16px}.collapsable-content{padding:16px}.collapsable-content ul{padding-left:16px}.delete-recipe-button{justify-content:center;width:100%}.original-post-button{text-align:center;width:100%}}.share-button-container{display:inline-block;position:relative}.share-button{align-items:center;background-color:var(--background-card);border:1px solid var(--primary-color);border-radius:var(--border-radius-small);color:var(--primary-color);cursor:pointer;display:flex;font-size:.9em;font-weight:600;gap:8px;padding:10px 16px;transition:all .2s ease}.share-button:hover{background-color:var(--primary-color);color:#fff}.share-button svg{transition:transform .2s ease}.share-button:hover svg{transform:scale(1.1)}.share-menu-overlay{bottom:0;left:0;position:fixed;right:0;top:0;z-index:999}.share-menu{background-color:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius-small);box-shadow:0 4px 12px #00000026;min-width:200px;overflow:hidden;position:absolute;right:0;top:calc(100% + 8px);z-index:1000}.share-menu-item{align-items:center;background:none;border:none;color:var(--text-primary);cursor:pointer;display:flex;font-size:.9em;gap:12px;padding:12px 16px;text-align:left;transition:background-color .2s ease;width:100%}.share-menu-item:hover{background-color:#f5f5f5}.share-menu-item:not(:last-child){border-bottom:1px solid var(--border-color)}.share-icon{font-size:1.2em;text-align:center;width:24px}@media (max-width:768px){.share-menu{left:50%;right:auto;transform:translateX(-50%)}}.subscription-modal-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:16px;position:fixed;right:0;top:0;z-index:1000}.subscription-modal{background:#fff;border-radius:var(--border-radius-elements);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;max-width:100%;overflow-y:auto;position:relative;width:100%}.subscription-modal-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;display:flex;justify-content:space-between;padding:20px 24px;position:-webkit-sticky;position:sticky;top:0;z-index:10}.subscription-modal-header h2{color:#111827;font-size:24px;font-weight:600;margin:0}.subscription-modal-close{align-items:center;background:none;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:28px;justify-content:center;line-height:1;min-height:44px;min-width:44px;padding:4px;transition:background-color .2s}.subscription-modal-close:hover{background-color:#f3f4f6;color:#374151}.subscription-modal-content{padding:24px}.subscription-loading{padding:40px 20px;text-align:center}.loading-spinner{border:3px solid #e5e7eb;height:40px;margin:0 auto 16px;width:40px}.subscription-loading p{color:#6b7280;margin:0}.subscription-error{padding:40px 20px;text-align:center}.error-message{color:#dc2626;font-size:16px;margin:0 0 16px}.retry-button{background-color:#3b82f6;border:none;border-radius:var(--border-radius-elements);color:#fff;cursor:pointer;font-size:16px;font-weight:500;min-height:44px;padding:12px 24px;transition:background-color .2s}.retry-button:hover{background-color:#2563eb}.current-tier-section{margin-bottom:32px}.tier-badge{align-items:center;display:flex;gap:12px;margin-bottom:20px}.tier-label{border-radius:20px;display:inline-block;font-size:16px;font-weight:600;letter-spacing:.5px;padding:8px 16px;text-transform:uppercase}.tier-label.tier-free{background-color:#e5e7eb;color:#374151}.tier-label.tier-gold{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.tier-status{background-color:#dcfce7;color:#166534;font-size:14px;font-weight:500;padding:4px 12px;text-transform:capitalize}.recipe-usage,.tier-status{border-radius:var(--border-radius-elements)}.recipe-usage{background-color:#f9fafb;padding:20px}.usage-stats{align-items:baseline;display:flex;justify-content:space-between;margin-bottom:12px}.usage-count{font-size:24px}.usage-bar{border-radius:4px;height:8px}.usage-fill{background:linear-gradient(90deg,#3b82f6,#1d4ed8);border-radius:4px}.benefits-section{margin-bottom:32px}.benefits-section h3{color:#111827;font-size:20px;font-weight:600;margin:0 0 16px}.benefit-item{align-items:center;color:#374151;display:flex;font-size:16px;gap:12px;padding:8px 0}.benefit-check{color:#10b981;font-size:18px;font-weight:600}.action-section{margin-bottom:16px}.manage-section,.upgrade-section{text-align:center}.manage-section h3,.upgrade-section h3{color:#111827;font-size:20px;font-weight:600;margin:0 0 16px}.manage-description,.upgrade-description{color:#6b7280;font-size:16px;line-height:1.5;margin:0 0 20px}.gold-benefits{margin-bottom:24px}.upgrade-benefits{list-style:none;margin:16px 0;padding:0;text-align:left}.upgrade-benefits li{align-items:center;color:#92400e;display:flex;font-weight:500;gap:8px;padding:4px 0}.upgrade-benefits li:before{content:"✨";font-size:16px}.pricing{align-items:baseline;display:flex;gap:4px;justify-content:center;margin-top:16px}.price{font-size:32px}.price-period{font-size:18px}.manage-button,.upgrade-button{background:linear-gradient(135deg,#fbbf24,#f59e0b);border:none;border-radius:var(--border-radius-elements);box-shadow:0 4px 6px -1px #0000001a;color:#fff;cursor:pointer;font-size:18px;font-weight:600;min-height:56px;padding:16px 24px;transition:all .2s;width:100%}.manage-button:hover,.upgrade-button:hover{box-shadow:0 8px 15px -3px #0000001a;transform:translateY(-1px)}.manage-button:disabled,.upgrade-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.manage-button{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.action-error{background-color:#fef2f2;border-left:4px solid #dc2626;border-radius:var(--border-radius-elements);margin-top:16px;padding:12px}.action-error .error-message{color:#dc2626;font-size:14px;margin:0}@media (min-width:768px){.subscription-modal{max-height:80vh;max-width:500px}.subscription-modal-overlay{padding:32px}.subscription-modal-header{padding:24px 32px}.subscription-modal-content{padding:32px}.manage-button,.upgrade-button{margin:0 auto;max-width:300px}}@media (min-width:1024px){.subscription-modal{max-width:600px}.subscription-modal-header h2{font-size:28px}.benefits-section,.current-tier-section{margin-bottom:40px}}.recipe-subscription-status{background:#fff;border-radius:12px;box-shadow:0 2px 4px #0000001a;margin-bottom:20px;padding:16px;transition:all .2s ease}.recipe-subscription-status.status-approaching-limit{background:linear-gradient(135deg,#fff,#fffbeb);border-color:#f59e0b}.recipe-subscription-status.status-at-limit{background:linear-gradient(135deg,#fff,#fef2f2);border-color:#ef4444}.status-header{align-items:normal;display:flex;gap:12px;margin-bottom:12px}.status-icon{font-size:24px;line-height:2}.status-info{display:flex;flex:1 1;flex-direction:column;gap:4px}.tier-display{align-items:center;display:flex}.tier-badge{border-radius:16px;display:inline-block;font-size:14px;font-weight:600;letter-spacing:.5px;padding:4px 12px;text-transform:uppercase}.tier-badge.tier-free{background-color:#e5e7eb;color:#374151}.tier-badge.tier-gold{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.usage-display{align-items:baseline;display:flex;gap:8px}.usage-count{color:#111827;font-size:18px;font-weight:700}.usage-label{color:#6b7280;font-size:14px}.usage-bar{background-color:#e5e7eb;border-radius:3px;height:6px;margin-bottom:12px;overflow:hidden;width:100%}.usage-fill{background:linear-gradient(90deg,#10b981,#059669);border-radius:3px;height:100%;transition:width .3s ease}.status-approaching-limit .usage-fill{background:linear-gradient(90deg,#f59e0b,#d97706)}.status-at-limit .usage-fill{background:linear-gradient(90deg,#ef4444,#dc2626)}.save-message{margin-bottom:12px}.message-text{color:#6b7280;font-size:14px;line-height:1.4;margin:0}.upgrade-prompt{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:8px;margin-top:12px;padding:16px;text-align:center}.upgrade-text{color:#92400e;font-size:14px;font-weight:500;line-height:1.4;margin:0 0 12px}.upgrade-prompt-button{background:linear-gradient(135deg,#fbbf24,#f59e0b);border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.upgrade-prompt-button:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.limit-reached{background:linear-gradient(135deg,#fef2f2,#fee2e2);border-radius:8px;margin-top:12px;padding:16px;text-align:center}.limit-text{color:#991b1b;font-size:14px;font-weight:500;line-height:1.4;margin:0 0 12px}.upgrade-limit-button{background:linear-gradient(135deg,#ef4444,#dc2626);border:none;border-radius:8px;box-shadow:0 2px 4px #0000001a;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s}.upgrade-limit-button:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-1px)}.recipe-subscription-status.compact{margin-bottom:16px;padding:12px}.recipe-subscription-status.compact .status-header{margin-bottom:8px}.recipe-subscription-status.compact .status-icon{font-size:20px}.recipe-subscription-status.compact .usage-count{font-size:16px}.recipe-subscription-status.compact .usage-bar{height:4px;margin-bottom:8px}@media (min-width:768px){.recipe-subscription-status{padding:20px}.status-header{gap:16px}.status-icon{font-size:28px}.usage-count{font-size:20px}.tier-badge{font-size:16px;padding:6px 16px}.limit-reached,.upgrade-prompt{padding:20px}.limit-text,.upgrade-text{font-size:16px}.upgrade-limit-button,.upgrade-prompt-button{font-size:16px;padding:12px 24px}}@media (min-width:1024px){.recipe-subscription-status{padding:24px}.status-header{gap:20px}.status-icon{font-size:32px}.usage-count{font-size:24px}}.input-section,.top-bar{margin-bottom:20px}.input-section{display:flex;gap:10px}.input-section input{border:1px solid #ddd;border-radius:var(--border-radius-elements);flex:1 1;font-size:1rem;padding:12px}.input-section input:disabled{background-color:#f5f5f5;cursor:not-allowed}.input-section input.error{border-color:#dc3545}.input-section button{align-items:center;background-color:#007bff;border:none;border-radius:var(--border-radius-elements);color:#fff;cursor:pointer;display:flex;font-size:1rem;gap:8px;justify-content:center;padding:12px 24px;position:relative;transition:background-color .2s,transform .1s;white-space:nowrap}.input-section button:hover:not(:disabled){background-color:#0056b3;transform:translateY(-1px)}.input-section button:active:not(:disabled){transform:translateY(0)}.input-section button:disabled{background-color:#6c757d;cursor:not-allowed}.input-section button.parse-button-warning{background-color:#ffc107;color:#000}.input-section button.parse-button-warning:hover:not(:disabled){background-color:#e0a800}.input-section button.loading{pointer-events:none}.spinner{animation:spin .8s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.input-section button.parse-button-warning .spinner{border:2px solid #0003;border-top-color:#000}.error-message{color:#dc3545;display:block;font-size:.875rem;margin-top:5px}@media (max-width:768px){.input-section{flex-direction:column}.input-section button{width:100%}}.info-message{background-color:#fef3c7;border:1px solid #fbbf24;border-radius:var(--border-radius-small);color:#f59e0b;font-size:.95em;font-weight:600;margin-top:15px;padding:12px;text-align:center}.App-nav{background-color:#fff;border-radius:12px;display:flex;gap:16px;justify-content:space-between;margin-bottom:24px;padding:16px 32px;position:-webkit-sticky;position:sticky;top:16px;z-index:1000}.App-nav,.hamburger-menu{align-items:center;box-shadow:0 6px 20px #1e283c0f}.hamburger-menu{background:#fff;border:1px solid #e6e9ee;border-radius:10px;cursor:pointer;display:none;flex-direction:column;height:44px;justify-content:space-around;padding:10px;transition:all .12s cubic-bezier(.2,.8,.2,1);width:44px}.hamburger-menu:hover{background:#f3f6fb;transform:translateY(-2px)}.hamburger-menu span{background-color:#7b61ff;border-radius:3px;display:block;height:3px;transition:all .12s cubic-bezier(.2,.8,.2,1);width:100%}.hamburger-menu span+span{margin-top:0}.desktop-only{display:flex!important}.mobile-only{display:none!important}.App-logo-link{align-items:center;color:#7b61ff;display:flex;flex:1 1;font-size:22px;font-weight:700;text-decoration:none;transition:all .12s cubic-bezier(.2,.8,.2,1)}.App-logo-link:hover{opacity:.8;transform:translateY(-1px)}.App-logo-image{height:40px;object-fit:contain;transition:all .12s cubic-bezier(.2,.8,.2,1);width:auto}.App-auth-links{align-items:center;display:flex;gap:12px;margin-right:0}.App-auth-links span{color:#6b7280;font-size:14px;font-weight:500}.nav-button{align-items:center;background-color:#7b61ff;border:none;border-radius:10px;box-shadow:0 6px 20px #1e283c0f;color:#fff;cursor:pointer;display:inline-flex;font-size:14px;font-weight:600;gap:8px;justify-content:center;padding:10px 14px;text-decoration:none;transition:all .12s cubic-bezier(.2,.8,.2,1);white-space:nowrap}.nav-button:hover{background-color:#6746ea;text-decoration:none;transform:translateY(-2px)}.nav-button:active{transform:translateY(0)}.account-menu-button{align-items:center;background:#fff;border:1px solid #e6e9ee;border-radius:10px;color:#7b61ff;cursor:pointer;display:none;flex-direction:column;font-size:20px;height:44px;justify-content:center;padding:10px;transition:all .12s cubic-bezier(.2,.8,.2,1);width:44px}.account-menu-button:hover{background:#f3f6fb;transform:translateY(-2px)}.account-menu{background-color:#fff;box-shadow:0 6px 20px #1e283c0f;display:flex;flex-direction:column;height:100vh;max-width:90vw;position:fixed;right:0;top:0;transform:translateX(100%);transition:transform .24s cubic-bezier(.2,.8,.2,1);width:320px;z-index:1100}.account-menu.open{transform:translateX(0)}.account-menu-overlay{background-color:#00000080;height:100%;left:0;position:fixed;top:0;width:100%;z-index:1050}.account-menu-header{align-items:center;border-bottom:1px solid #e6e9ee;display:flex;justify-content:space-between;padding:20px}.account-menu-header h3{color:#111827;font-size:18px;font-weight:600;margin:0}.account-menu-close{align-items:center;background:#0000;border:1px solid #e6e9ee;border-radius:10px;color:#6b7280;cursor:pointer;display:flex;font-size:24px;height:44px;justify-content:center;padding:0;transition:all .12s cubic-bezier(.2,.8,.2,1);width:44px}.account-menu-close:hover{background:#f3f6fb;color:#7b61ff;transform:translateY(-2px)}.account-menu-content{flex:1 1;gap:16px}.account-info,.account-menu-content{display:flex;flex-direction:column;padding:20px}.account-info{background-color:#f3f6fb;border-radius:12px;gap:12px}.account-email{color:#111827;margin:0;word-break:break-word}.account-email,.logout-button{font-size:14px;font-weight:600}.logout-button{background-color:#dc3545;border:none;border-radius:10px;box-shadow:0 6px 20px #1e283c0f;color:#fff;cursor:pointer;padding:12px 14px;transition:all .12s cubic-bezier(.2,.8,.2,1);width:100%}.logout-button:hover{background-color:#c0392b;transform:translateY(-2px)}.logout-button:active{transform:translateY(0)}@media (max-width:960px){.hamburger-menu{display:flex}}@media (max-width:768px){.App-nav{border-radius:10px;gap:12px;margin-bottom:16px;padding:12px 16px;top:8px}.App-logo-link{font-size:18px}.App-logo-image{height:32px}.desktop-only{display:none!important}.mobile-only{display:flex!important}.account-menu-button{display:flex}.account-menu{max-width:100vw;width:100%}.account-info,.account-menu-content{padding:16px}.account-menu-button,.hamburger-menu{height:44px;min-height:44px;min-width:44px;width:44px}}.subscription-button{background:#fff;border:2px solid #e5e7eb;border-radius:var(--border-radius-elements);box-shadow:0 1px 3px 0 #0000001a;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:56px;overflow:hidden;padding:12px 16px;position:relative;transition:all .2s ease}.subscription-button:hover{box-shadow:0 4px 6px -1px #0000001a;transform:translateY(-1px)}.subscription-button:disabled{cursor:not-allowed;opacity:.6;transform:none}.subscription-button-content{align-items:center;display:flex;gap:12px;position:relative;z-index:2}.subscription-button-icon{font-size:20px;line-height:1}.subscription-button-info{align-items:flex-start;display:flex;flex:1 1;flex-direction:column}.subscription-button-tier{color:#111827;font-size:16px;font-weight:600;line-height:1.2}.subscription-button-usage{color:#6b7280;font-size:14px;line-height:1.2}.subscription-button-upgrade-hint{color:#3b82f6;font-size:14px;font-weight:500}.subscription-button-progress{background-color:#f3f4f6;bottom:0;height:6px;left:0;position:absolute;right:0;z-index:1}.subscription-button-progress-fill{background:linear-gradient(90deg,#10b981,#059669);border-radius:0 3px 3px 0;height:100%;transition:width .3s ease}.subscription-button--free{background:linear-gradient(135deg,#fff,#f9fafb);border-color:#d1d5db}.subscription-button--free:hover{background:linear-gradient(135deg,#fff,#eff6ff);border-color:#3b82f6}.subscription-button--free .subscription-button-progress-fill{background:linear-gradient(90deg,#3b82f6,#1d4ed8)}.subscription-button--warning{background:linear-gradient(135deg,#fff,#fffbeb);border-color:#f59e0b}.subscription-button--warning:hover{background:linear-gradient(135deg,#fff,#fef3c7);border-color:#d97706}.subscription-button--warning .subscription-button-progress-fill{background:linear-gradient(90deg,#f59e0b,#d97706)}.subscription-button--warning .subscription-button-usage{color:#92400e;font-weight:500}.subscription-button--gold{background:linear-gradient(135deg,#fef3c7,#fde68a);border-color:#f59e0b;color:#92400e}.subscription-button--gold:hover{background:linear-gradient(135deg,#fde68a,#fcd34d);border-color:#d97706}.subscription-button--gold .subscription-button-tier{color:#92400e}.subscription-button--gold .subscription-button-usage{color:#a16207}.subscription-button--gold .subscription-button-progress-fill{background:linear-gradient(90deg,#fbbf24,#f59e0b)}.subscription-button--compact{min-height:44px;padding:8px 12px}.subscription-button--compact .subscription-button-icon{font-size:18px}.subscription-button--compact .subscription-button-tier{font-size:14px}.subscription-button--compact .subscription-button-usage{font-size:12px}.subscription-button--icon-only{align-items:center;justify-content:center;min-height:56px;padding:12px;width:56px}.subscription-button--icon-only .subscription-button-content{flex-direction:column;gap:4px}.subscription-button--icon-only .subscription-button-icon{font-size:24px}.subscription-button--icon-only .subscription-button-upgrade-hint{font-size:10px;line-height:1;text-align:center}@media (min-width:768px){.subscription-button{min-height:64px;padding:16px 20px}.subscription-button-content{gap:16px}.subscription-button-icon{font-size:24px}.subscription-button-tier{font-size:18px}.subscription-button-usage{font-size:16px}.subscription-button--compact{min-height:48px;padding:12px 16px}}@media (min-width:1024px){.subscription-button:hover{box-shadow:0 8px 15px -3px #0000001a;transform:translateY(-2px)}.subscription-button-content{gap:20px}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.subscription-button:disabled .subscription-button-icon{animation:pulse 1.5s ease-in-out infinite}.recipe-detail-container{background-color:#fff;margin:0 auto;max-width:800px;min-height:100vh;padding:20px}.recipe-detail-error,.recipe-detail-loading{padding:60px 20px;text-align:center}.recipe-detail-error h2{color:#dc3545;color:var(--error-color,#dc3545);margin-bottom:16px}.back-home-link{background-color:var(--primary-color);border-radius:var(--border-radius-small);color:#fff;display:inline-block;margin-top:20px;padding:10px 20px;text-decoration:none;transition:background-color .2s ease}.back-home-link:hover{background-color:#5d56e0}.recipe-detail-header{margin-bottom:30px}.back-link{color:var(--primary-color);display:inline-block;font-weight:600;margin-bottom:16px;text-decoration:none;transition:color .2s ease}.back-link:hover{color:#5d56e0}.recipe-detail-header h1{color:var(--text-dark);font-size:2.5em;line-height:1.2;margin:0 0 16px}.recipe-actions-buttons{display:flex;flex-wrap:wrap;gap:12px}.save-recipe-button,.view-recipes-button{border:none;border-radius:var(--border-radius-small);cursor:pointer;font-size:1em;font-weight:600;padding:12px 24px;transition:all .2s ease}.save-recipe-button{background-color:var(--primary-color);box-shadow:0 2px 8px #6c63ff4d;color:#fff}.save-recipe-button:hover:not(:disabled){background-color:#5d56e0;box-shadow:0 4px 12px #6c63ff66;transform:translateY(-2px)}.save-recipe-button:disabled{cursor:not-allowed;opacity:.7}.view-recipes-button{background-color:#fff;border:2px solid var(--primary-color);color:var(--primary-color)}.view-recipes-button:hover{background-color:var(--primary-color);color:#fff;transform:translateY(-2px)}.already-saved-label{align-items:center;background-color:#d4edda;border:2px solid #c3e6cb;border-radius:var(--border-radius-small);color:#155724;display:inline-flex;font-size:1em;font-weight:600;padding:12px 24px}.recipe-detail-content{display:flex;flex-direction:column;gap:30px}.recipe-tags-display{display:flex;flex-wrap:wrap;gap:8px}.recipe-tags-display .tag{border-radius:16px;display:inline-flex;font-size:.85em;font-weight:500;padding:6px 12px}.recipe-tags-display .tag-default{background-color:#e0e7ff;border:1px solid #c7d2fe;color:#4338ca}.recipe-tags-display .tag-custom{background-color:#fef3c7;border:1px solid #fde68a;color:#92400e}.recipe-media-container{border-radius:var(--border-radius-elements);box-shadow:var(--shadow-light);overflow:hidden;width:100%}.recipe-image{display:block;height:auto;width:100%}.recipe-section{background-color:var(--background-card);border-radius:var(--border-radius-elements);box-shadow:var(--shadow-light);padding:20px}.recipe-section h2{color:var(--primary-color);font-size:1.5em;margin:0 0 16px}.ingredients-list,.instructions-list{margin:0;padding-left:24px}.ingredients-list li,.instructions-list li{color:var(--text-primary);line-height:1.2}.recipe-info{background-color:#f8f9fa;border-left:4px solid var(--primary-color);border-radius:var(--border-radius-small);display:flex;gap:24px;padding:16px 20px}.info-item{font-size:.95em}.info-item strong{color:var(--text-dark);margin-right:8px}.recipe-source{padding:20px;text-align:center}.source-link{background-color:var(--primary-color);border-radius:var(--border-radius-small);color:#fff;display:inline-block;font-weight:600;padding:12px 24px;text-decoration:none;transition:background-color .2s ease}.source-link:hover{background-color:#5d56e0}.recipe-detail-footer{background-color:#f8f9fa;border-radius:var(--border-radius-elements);margin-top:40px;padding:20px;text-align:center}.signup-link{color:var(--primary-color);font-weight:600;text-decoration:none}.signup-link:hover{text-decoration:underline}@media (max-width:768px){.recipe-detail-container{padding:16px}.recipe-detail-header h1{font-size:1.8em}.recipe-info{flex-direction:column;gap:12px}}.auth-container{align-items:center;display:flex;flex-grow:1;justify-content:center;padding:50px 20px}.auth-form{background-color:var(--background-card);border-radius:var(--border-radius-elements);box-shadow:var(--shadow-medium);max-width:500px;padding:40px;text-align:center}.auth-form h1{color:var(--primary-color);font-size:2.5em;font-weight:800;margin-bottom:20px}.auth-form p{color:var(--text-medium);font-size:1em;margin-bottom:30px}.auth-form .input-group{margin-bottom:20px;text-align:left}.auth-form .input-group label{color:var(--text-dark);display:block;font-weight:600;margin-bottom:8px}.auth-form .input-group input{background-color:#fff;border:1px solid var(--border-color);border-radius:var(--border-radius-elements);box-sizing:border-box;color:var(--text-dark);font-size:1em;padding:15px;transition:all .3s ease;width:100%}.auth-form .input-group input:focus{border-color:var(--primary-color);box-shadow:0 0 0 3px #6c63ff33;outline:none}.password-input-container{align-items:center;display:flex;position:relative}.password-input-container input{padding-right:50px}.password-toggle-button{align-items:center;background:none;border:none;cursor:pointer;display:flex;font-size:1.2em;justify-content:center;padding:5px 10px;position:absolute;right:10px;transition:transform .2s ease}.password-toggle-button:hover{transform:scale(1.1)}.password-toggle-button:active{transform:scale(.95)}.auth-form button[type=submit]{background-color:var(--primary-color);border:none;border-radius:var(--border-radius-elements);box-shadow:0 6px 15px #6c63ff4d;color:#fff;cursor:pointer;font-size:1.1em;font-weight:600;margin-top:20px;padding:16px 20px;transition:all .3s ease;width:100%}.auth-form button[type=submit]:hover:not(:disabled){background-color:#5d56e0;box-shadow:0 8px 20px #6c63ff66;transform:translateY(-2px)}.auth-form button[type=submit]:active:not(:disabled){box-shadow:0 3px 10px #6c63ff4d;transform:translateY(0)}.auth-form button[type=submit]:disabled{background-color:#ccc;box-shadow:none;cursor:not-allowed;opacity:.7}.error-message{color:#ff4d4d}.error-message,.success-message{font-size:.95em;font-weight:600;margin-top:15px;text-align:center}.success-message{color:var(--secondary-color)}.auth-switch-text{color:var(--text-medium);font-size:.95em;margin-top:25px}.auth-switch-text a{color:var(--primary-color);font-weight:600;text-decoration:none}.auth-switch-text a:hover{text-decoration:underline}@media (max-width:768px){.auth-container{padding:30px 15px}.auth-form{padding:30px 20px}.auth-form h1{font-size:2em}}.subscription-cancel-container{align-items:center;background:linear-gradient(135deg,#f3f4f6,#e5e7eb);display:flex;justify-content:center;min-height:100vh;padding:20px}.subscription-cancel-content{background:#fff;border-radius:16px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;padding:32px 24px;text-align:center;width:100%}.cancel-message{align-items:center;display:flex;flex-direction:column}.cancel-icon{animation:gentle-bounce 3s ease-in-out infinite;font-size:64px;margin-bottom:24px}@keyframes gentle-bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-5px)}}.cancel-message h1{color:#111827;font-size:32px;font-weight:700;line-height:1.2;margin:0 0 16px}.cancel-description{color:#6b7280;font-size:18px;line-height:1.5;margin:0 0 32px}.cancel-info{background:#f9fafb;border-radius:12px;margin-bottom:32px;padding:24px;text-align:left}.cancel-info h3{color:#111827;font-size:18px;font-weight:600;margin:0 0 12px}.cancel-info p{color:#6b7280;line-height:1.5;margin:0}.upgrade-reminder{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:12px;margin-bottom:32px;padding:24px}.upgrade-reminder h3{color:#92400e;font-size:20px;font-weight:600;margin:0 0 16px;text-align:center}.gold-benefits-preview{text-align:left}.benefits-list{margin:0 0 16px}.pricing-reminder{align-items:baseline;display:flex;gap:4px;justify-content:center;margin-top:16px}.price{color:#92400e;font-size:28px;font-weight:700}.price-period{color:#a16207;font-size:16px}.cancel-actions{align-items:center;display:flex;flex-direction:column;gap:16px;margin-bottom:32px}.try-again-button{background:linear-gradient(135deg,#3b82f6,#1d4ed8);border:none;border-radius:12px;box-shadow:0 4px 6px -1px #0000001a;color:#fff;cursor:pointer;font-size:18px;font-weight:600;max-width:300px;min-height:56px;padding:16px 32px;transition:all .2s;width:100%}.try-again-button:hover{box-shadow:0 8px 15px -3px #0000001a;transform:translateY(-1px)}.continue-free-link{border:2px solid #e5e7eb;border-radius:8px;color:#6b7280;display:inline-block;font-weight:500;min-width:200px;padding:12px 24px;text-decoration:none;transition:all .2s}.continue-free-link:hover{background-color:#f3f4f6;border-color:#d1d5db;color:#374151}.support-info{border-top:1px solid #e5e7eb;padding-top:24px}.support-text{color:#6b7280;font-size:14px;line-height:1.5;margin:0}.support-link{color:#3b82f6;font-weight:500;text-decoration:none}.support-link:hover{color:#1d4ed8;text-decoration:underline}@media (min-width:768px){.subscription-cancel-content{padding:48px 40px}.cancel-icon{font-size:80px}.cancel-message h1{font-size:36px}.cancel-description{font-size:20px}.cancel-actions{flex-direction:row;justify-content:center}.try-again-button{min-width:200px;width:auto}.continue-free-link{width:auto}}@media (min-width:1024px){.subscription-cancel-container{padding:40px}.subscription-cancel-content{max-width:600px;padding:64px 48px}.cancel-icon{font-size:96px}.cancel-message h1{font-size:40px}}.subscription-success-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.subscription-success-content{background:#fff;border-radius:var(--border-radius-elements);box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-width:500px;padding:32px 24px;text-align:center;width:100%}.success-message{align-items:center;display:flex;flex-direction:column}.success-icon{animation:bounce 2s infinite;font-size:64px;margin-bottom:24px}@keyframes bounce{0%,20%,50%,80%,to{transform:translateY(0)}40%{transform:translateY(-10px)}60%{transform:translateY(-5px)}}.success-message h1{color:#111827;font-size:32px;font-weight:700;line-height:1.2;margin:0 0 16px}.success-description{color:#6b7280;font-size:18px;line-height:1.5;margin:0 0 32px}.subscription-details{background:#f9fafb;border-radius:var(--border-radius-elements);margin-bottom:32px;padding:24px;text-align:left;width:300px}.detail-item{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;gap:16px;justify-content:space-between;padding:8px 0}.detail-item:last-child{border-bottom:none}.detail-label{color:#374151;font-weight:500}.detail-value{color:#111827;font-weight:600}.detail-value.tier-gold{color:#f59e0b}.detail-value.tier-free{color:#6b7280}.detail-value.status-active{color:#10b981}.detail-value.status-canceled{color:#ef4444}.gold-benefits{background:linear-gradient(135deg,#fef3c7,#fde68a);border-radius:var(--border-radius-elements);margin-bottom:32px;padding:24px;width:300px}.gold-benefits h3{color:#92400e;font-size:20px;font-weight:600;margin:0 0 16px}.benefits-list{list-style:none;margin:0;padding:0;text-align:left}.benefits-list li{color:#a16207;font-weight:500;padding:6px 0}.success-actions{align-items:center;display:flex;flex-direction:column;gap:16px}.continue-button{background:linear-gradient(135deg,#fbbf24,#f59e0b);border:none;border-radius:var(--border-radius-elements);box-shadow:0 4px 6px -1px #0000001a;color:#fff;cursor:pointer;font-size:18px;font-weight:600;max-width:300px;min-height:56px;padding:16px 32px;transition:all .2s;width:100%}.continue-button:hover{box-shadow:0 8px 15px -3px #0000001a;transform:translateY(-1px)}.continue-button.primary{background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.home-link{border-radius:var(--border-radius-elements);color:#6b7280;font-weight:500;padding:12px 24px;text-decoration:none;transition:all .2s}.home-link:hover{background-color:#f3f4f6;color:#374151}.success-loading{align-items:center;display:flex;flex-direction:column;padding:40px 20px}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#3b82f6;height:48px;margin-bottom:24px;width:48px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.success-loading h2{color:#111827;font-size:24px;font-weight:600;margin:0 0 12px}.success-loading p{color:#6b7280;font-size:16px;margin:0}.success-error{align-items:center;display:flex;flex-direction:column;padding:40px 20px}.error-icon{font-size:48px;margin-bottom:24px}.success-error h2{color:#111827;font-size:24px;font-weight:600;margin:0 0 16px}.success-error p{color:#6b7280;font-size:16px;line-height:1.5;margin:0 0 12px}.error-details{color:#dc2626;font-size:14px;margin-bottom:24px}@media (min-width:768px){.subscription-success-content{padding:48px 40px}.success-icon{font-size:80px}.success-message h1{font-size:36px}.success-description{font-size:20px}.success-actions{flex-direction:row;justify-content:center}.continue-button{min-width:200px;width:auto}}@media (min-width:1024px){.subscription-success-container{padding:40px}.subscription-success-content{max-width:600px;padding:64px 48px}.success-icon{font-size:96px}.success-message h1{font-size:40px}}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f4f7f6;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{align-items:center;display:flex;justify-content:center;min-height:100vh}.App{background-color:#fff;border-radius:var(--border-radius-elements);box-shadow:0 4px 6px #0000001a;max-width:800px;padding:2rem;text-align:center;width:100%}.App-header{margin-bottom:2rem}.App-header h1{color:#2c3e50;font-size:2.5em;margin-bottom:.5rem}.App-header p{color:#7f8c8d;font-size:1.1em}main p{color:#34495e;font-size:1em}
/*# sourceMappingURL=main.6b75cc44.css.map*/