@import "https://fonts.googleapis.com/css2?family=Cormorant+Garamond:ital,wght@0,300;0,400;0,500;1,300;1,400&family=DM+Sans:wght@300;400;500;600&display=swap";@keyframes hero-reveal{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:reduce){.hero-subtitle,.hero--expanded .form-tabs,.hero-how{animation:none}}@media (width<=768px){.hero{padding:20px 24px}.hero h1{margin-bottom:8px;font-size:24px}.hero p{margin-bottom:16px;font-size:14px}.extraction-form{max-width:100%;padding:16px}.form-tabs{flex-direction:column;margin-bottom:12px}.form-tab{padding:10px 12px;font-size:12px}.form-label{font-size:11px}.form-input{padding:10px 12px;font-size:13px}.extract-btn{padding:11px 16px;font-size:12px}}.dialog-scrim{z-index:var(--z-scrim);background:#00000080;animation:.2s forwards dialog-scrim-in;display:flex;position:fixed;inset:0}.dialog-scrim--center{padding:var(--space-4);justify-content:center;align-items:center}.dialog-scrim--bottom-sheet{justify-content:center;align-items:flex-end;padding:0}.dialog{z-index:var(--z-modal);background:var(--color-bg-primary,#fff);box-shadow:var(--shadow-2xl);flex-direction:column;max-height:90vh;display:flex;position:relative;overflow-y:auto}.dialog--center{border-radius:var(--radius-xl,16px);width:100%;max-width:500px;animation:.2s forwards dialog-pop-in}.dialog--bottom-sheet{z-index:var(--z-drawer);border-radius:var(--radius-xl,16px) var(--radius-xl,16px) 0 0;width:100%;max-width:640px;max-height:85vh;animation:.25s forwards dialog-slide-up}.dialog__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-5) var(--space-5) var(--space-3);display:flex}.dialog__title{font-family:var(--font-display,"Playfair Display", serif);font-size:var(--text-xl,1.25rem);color:var(--color-text-primary,#1a1a1a);margin:0;font-weight:700}.dialog__close{width:44px;height:44px;margin:calc(-1 * var(--space-2)) calc(-1 * var(--space-2)) 0 0;border-radius:var(--radius-full,9999px);color:var(--color-text-light,#6b7280);cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;font-size:1.75rem;line-height:1;transition:background-color .15s,color .15s;display:inline-flex}.dialog__close:hover{background:var(--color-bg-secondary,#f3f4f6);color:var(--color-text-primary,#1a1a1a)}.dialog__body{padding:0 var(--space-5) var(--space-5)}.dialog__header+.dialog__body{padding-top:0}.dialog__footer{gap:var(--space-3);padding:var(--space-4) var(--space-5) var(--space-5);border-top:1px solid var(--color-border-light,#f0f0f0);background:var(--color-bg-primary,#fff);flex-wrap:wrap;justify-content:flex-end;display:flex;position:sticky;bottom:0}.dialog--danger .dialog__title{color:var(--color-error,#b91c1c)}.dialog__loading{align-items:center;gap:var(--space-3);padding:var(--space-8) var(--space-5);color:var(--color-text-secondary,#4b5563);justify-content:center;display:flex}.dialog__spinner{border:3px solid var(--color-border,#e5e7eb);border-top-color:var(--color-primary,#6b78a8);border-radius:var(--radius-full,9999px);width:24px;height:24px;animation:.8s linear infinite dialog-spin}@keyframes dialog-scrim-in{0%{opacity:0}to{opacity:1}}@keyframes dialog-pop-in{0%{opacity:0;transform:translateY(12px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes dialog-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes dialog-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.dialog-scrim,.dialog--center,.dialog--bottom-sheet{animation:none}.dialog__spinner{animation-duration:1.5s}}@media (width<=1024px){.featured-grid{gap:var(--space-4,1rem);grid-template-columns:1fr}.featured-main{height:300px}.featured-side{gap:var(--space-3,.75rem);flex-direction:row}.side-card{flex:1;height:150px}}@media (width<=768px){.featured-section__title{font-size:var(--text-xl,1.25rem)}.featured-main{height:250px}.featured-side{flex-direction:column}.side-card{height:180px}}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.faq-section{padding:20px}.faq-section__header h2{font-size:24px}.faq-item__question{font-size:13px}.faq-item__answer{font-size:12px}}.save-button-wrapper{display:inline-block;position:relative}.save-button{justify-content:center;align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-5);border:2px solid var(--color-primary);border-radius:var(--radius-md);color:var(--color-primary);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background-color:#fff;width:100%;transition:all .2s;display:inline-flex;position:relative}.save-button:hover:not(:disabled){background-color:var(--color-primary);color:var(--color-white)}.save-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.save-button:disabled{opacity:.6;cursor:not-allowed}.save-button--saved{background-color:var(--color-primary);color:var(--color-white)}.save-button--saved:hover:not(:disabled){background-color:var(--color-primary-dark)}.save-button--compact{font-size:var(--font-size-sm);padding:.375rem .75rem}.save-button--icon-only{padding:.5rem}.save-button svg{flex-shrink:0;width:20px;height:20px}.save-button .spinner{border:2px solid;border-right-color:#0000;border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spinner-rotation;display:inline-block}@keyframes spinner-rotation{to{transform:rotate(360deg)}}.save-button__tooltip{color:#fff;font-size:var(--text-sm);font-weight:var(--weight-medium);border-radius:var(--radius-sm);white-space:nowrap;z-index:1000;pointer-events:none;background-color:#1a1a1a;margin-top:.5rem;padding:.75rem 1rem;position:absolute;top:100%;left:50%;transform:translate(-50%);box-shadow:0 4px 12px #0000004d}.save-button__tooltip:before{content:"";border:6px solid #0000;border-bottom-color:#1a1a1a;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.save-button__error{background-color:var(--color-error-light);border:1px solid var(--color-error);border-radius:var(--border-radius-sm);color:var(--color-error-dark);font-size:var(--font-size-sm);margin-top:.5rem;padding:.75rem}.star-rating{align-items:center;gap:.5rem;display:inline-flex}.star-rating__stars{gap:.125rem;line-height:1;display:inline-flex}.star-rating__star{line-height:1;display:inline-block}.star-rating__star--filled{color:var(--glyc-blue,#6b78a8)}.star-rating__star--half{color:var(--glyc-blue,#6b78a8);position:relative}.star-rating__star--half:after{content:"☆";color:var(--neutral-400,#9ca3af);clip-path:polygon(50% 0,100% 0,100% 100%,50% 100%);position:absolute;left:0}.star-rating__star--empty{color:var(--neutral-400,#9ca3af)}.star-rating__count{color:var(--neutral-600,#4b5563);font-size:.875rem}.star-rating__no-rating{color:var(--neutral-500,#6b7280);font-size:.875rem;font-style:italic}.star-rating--sm .star-rating__star{font-size:14px}.star-rating--sm .star-rating__count{font-size:.75rem}.star-rating--md .star-rating__star{font-size:16px}.star-rating--md .star-rating__count{font-size:.875rem}.star-rating--lg .star-rating__star{font-size:20px}.star-rating--lg .star-rating__count{font-size:1rem}.star-rating__stars:focus{outline:2px solid var(--glyc-blue,#6b78a8);outline-offset:2px;border-radius:.25rem}.star-rating-input{align-items:center;gap:.5rem;display:inline-flex;position:relative}.star-rating-input__stars{border-radius:.25rem;gap:.125rem;padding:.25rem;line-height:1;display:inline-flex}.star-rating-input__stars:focus{outline:2px solid var(--glyc-blue,#6b78a8);outline-offset:2px}.star-rating-input__star{cursor:pointer;color:var(--neutral-400,#9ca3af);background:0 0;border:none;justify-content:center;align-items:center;padding:.125rem;line-height:1;transition:transform .2s,color .15s;display:inline-flex}.star-rating-input__star:hover:not(:disabled){transform:scale(1.1)}.star-rating-input__star:active:not(:disabled){transform:scale(.95)}.star-rating-input__star:disabled{cursor:not-allowed;opacity:.5}.star-rating-input__star--active,.star-rating-input__star--selected{color:var(--glyc-blue,#6b78a8)}.star-rating-input__loading{z-index:1;background:#ffffffe6;border-radius:.25rem;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.star-rating-input__spinner{color:var(--glyc-blue,#6b78a8);font-size:20px;animation:1s linear infinite spin;display:inline-block}@keyframes spin{to{transform:rotate(360deg)}}.star-rating-input--sm .star-rating-input__star{font-size:14px}.star-rating-input--md .star-rating-input__star{font-size:16px}.star-rating-input--lg .star-rating-input__star{font-size:20px}.star-rating-input__star:focus-visible{outline:2px solid var(--glyc-blue,#6b78a8);outline-offset:2px;border-radius:.125rem}@media (width<=768px){.recipe-image{height:180px}.recipe-title{font-size:18px}}.modal-overlay{z-index:9999;opacity:0;background-color:#00000080;justify-content:center;align-items:center;transition:opacity .2s;display:flex;position:fixed;inset:0}.modal-overlay--visible{opacity:1}.modal-overlay--enter{animation:.2s forwards modal-fade-in}.modal-overlay--exit{animation:.2s forwards modal-fade-out}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes modal-fade-out{0%{opacity:1}to{opacity:0}}.modal-content{background-color:var(--color-white);border-radius:var(--border-radius-lg);width:90%;max-width:500px;max-height:90vh;padding:2rem;animation:.2s forwards modal-slide-up;position:relative;overflow-y:auto;box-shadow:0 10px 25px #0003}@keyframes modal-slide-up{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-content--signin-prompt{max-width:450px}.modal-close{cursor:pointer;color:var(--color-gray-600);border-radius:var(--border-radius-sm);background:0 0;border:none;padding:.5rem;transition:color .2s;position:absolute;top:1rem;right:1rem}.modal-close:hover{color:var(--color-gray-900);background-color:var(--color-gray-100)}.modal-close:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.modal-heading{font-size:var(--font-size-2xl);font-weight:var(--font-weight-bold);color:var(--color-gray-900);margin:0 0 1rem;padding-right:2rem}.modal-message{font-size:var(--font-size-base);color:var(--color-gray-700);margin:0 0 1.5rem;line-height:1.6}.benefits-list{margin:0 0 1.5rem;padding:0;list-style:none}.benefit-item{font-size:var(--font-size-base);color:var(--color-gray-700);align-items:flex-start;gap:.75rem;padding:.75rem 0;line-height:1.5;display:flex}.benefit-icon{color:var(--color-success);flex-shrink:0;margin-top:.125rem}.modal-cta-button{background-color:var(--color-primary);width:100%;color:var(--color-white);border-radius:var(--border-radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.75rem;padding:.875rem 1.5rem;transition:background-color .2s;display:flex}.modal-cta-button:hover{background-color:var(--color-primary-dark)}.modal-cta-button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.modal-cta-button svg{flex-shrink:0;width:20px;height:20px}@media (width<=768px){.modal-content{width:95%;max-height:95vh;padding:1.5rem}.modal-content--mobile{border-radius:var(--border-radius-md)}.modal-heading{font-size:var(--font-size-xl);padding-right:1.5rem}.modal-message{font-size:var(--font-size-sm)}.benefit-item{font-size:var(--font-size-sm);padding:.5rem 0}.modal-cta-button{font-size:var(--font-size-sm);padding:.75rem 1.25rem}}@media (width<=1024px){.recipe-grid{grid-template-columns:repeat(2,1fr);gap:16px}.recipe-grid-section__header h2{font-size:24px}}@media (width<=768px){.recipe-grid-section__header{flex-direction:column;align-items:flex-start;gap:12px}.recipe-grid-section__header h2{font-size:22px}.recipe-grid{grid-template-columns:1fr;gap:16px}}@keyframes blog-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=1024px){.blog-grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media (width<=768px){.blog-grid{grid-template-columns:1fr;gap:12px}.blog-image{height:100px}.blog-content{padding:12px}.blog-title{font-size:14px}.blog-excerpt{font-size:11px}}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=1024px){.sidebar{margin-top:var(--space-6,1.5rem)}}@media (width<=768px){.sidebar{gap:var(--space-4,1rem)}.sidebar-section{padding:var(--space-3,.75rem)}.ad-space,.ad-space--250{min-height:200px}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@media (width<=480px){.extraction-progress-modal{padding:1.5rem}.extraction-progress-modal h3{font-size:1.25rem}.step-icon{width:2rem;height:2rem;font-size:1.5rem}.step-label{font-size:.9rem}}.homepage-container{max-width:var(--container-max-width,1200px);padding:var(--space-6,1.5rem) var(--space-4,1rem);gap:var(--space-6,1.5rem);grid-template-columns:1fr 320px;align-items:start;margin:0 auto;display:grid}.homepage-main{gap:var(--space-8,2rem);flex-direction:column;min-width:0;display:flex}.homepage-sidebar{top:var(--space-6,1.5rem);position:sticky}@media (width<=1024px){.homepage-container{gap:var(--space-6,1.5rem);padding:var(--space-4,1rem);grid-template-columns:1fr}.homepage-sidebar{position:static}}@media (width<=768px){.homepage-container{padding:var(--space-3,.75rem);gap:var(--space-4,1rem)}.homepage-main{gap:var(--space-6,1.5rem)}}.post-result-cta{background:var(--color-primary-light,#eaf1ea);border:1.5px solid var(--color-primary,#4a7c59);border-radius:8px;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;padding:.875rem 1rem;display:flex}.post-result-cta__body{flex:auto;min-width:0}.post-result-cta__headline{color:var(--color-text,#1a1a1a);margin:0 0 .2rem;font-size:.9375rem;font-weight:700;line-height:1.3}.post-result-cta__sub{color:var(--color-text-light,#555);margin:0;font-size:.8125rem;line-height:1.4}.post-result-cta__btn{background:var(--color-primary,#4a7c59);color:#fff;cursor:pointer;white-space:nowrap;border:none;border-radius:6px;flex:none;padding:.5rem 1rem;font-size:.875rem;font-weight:700;transition:background-color .15s}.post-result-cta__btn:hover,.post-result-cta__btn:focus-visible{background:var(--color-primary-dark,#3a6347);outline:none}.post-result-cta__btn:focus-visible{outline:2px solid var(--color-primary,#4a7c59);outline-offset:2px}@media (width<=480px){.post-result-cta{flex-direction:column;align-items:flex-start;gap:.75rem}.post-result-cta__btn{text-align:center;width:100%}}@media (width<=768px){.tags-section{margin-top:16px;padding:16px}.tag-primary,.tag-secondary{padding:6px 12px;font-size:12px}}@media (width<=768px){.pagination{gap:6px;padding:24px 16px}.page-btn{min-width:40px;padding:8px 12px;font-size:13px}}.tag-hero{background:linear-gradient(135deg,#6b78a8 0%,#8c97c8 100%);justify-content:center;align-items:center;min-height:160px;margin-bottom:0;display:flex;position:relative}.tag-hero__content{text-align:left;color:#fff;width:100%;max-width:1200px;margin:0 auto;padding:32px 24px}.tag-hero h1{color:#fff;margin:0 0 12px;font-family:Playfair Display,serif;font-size:32px;font-weight:700;line-height:1.3}.tag-hero__subtitle{color:#fff;opacity:.95;max-width:700px;margin:0 0 8px;font-size:15px;font-weight:500;line-height:1.5}.tag-hero__description{color:#fff;opacity:.95;max-width:700px;margin:0 0 12px;font-size:15px;line-height:1.5}.tag-hero__stats{color:#fff;opacity:.9;margin-top:8px;font-size:13px;font-weight:600}.stat{margin-right:16px;display:inline}.stat__value{font-weight:700}.stat__label{font-weight:400}.tag-layout{grid-template-columns:200px 1fr 200px;align-items:start;gap:2rem;max-width:1400px;margin:0 auto;padding:2rem 1rem;display:grid}.tag-ad-left,.tag-ad-right{display:block}.tag-ad-sticky{position:sticky;top:80px}.tag-content{min-width:0}.related-tags{background:#f8f9fa;border-radius:8px;margin-bottom:3rem;padding:2rem}.related-tags h3{color:var(--color-text-primary);margin-bottom:1rem;font-size:1.25rem}.tag-chips{flex-wrap:wrap;gap:.75rem;display:flex}.tag-chip{min-height:44px;color:var(--color-primary);border:1px solid var(--color-primary);background:#fff;border-radius:20px;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex}.tag-chip:hover{background:var(--color-primary);color:#fff;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.tag-tips{background:#f8f9fa;border-radius:8px;margin-bottom:1rem;padding:.75rem}.tag-tips h2{color:var(--color-text-primary);margin-bottom:.5rem;font-size:1.25rem}.tag-tips ul{margin:0;padding:0;list-style:none}.tag-tips li{color:var(--color-text-secondary);padding:.25rem 0 .25rem 1.75rem;line-height:1.4;position:relative}.tag-tips li:before{content:"✓";color:var(--color-primary);font-size:1.25rem;font-weight:700;position:absolute;left:0}.tag-tips li:not(:last-child){border-bottom:1px solid #e9ecef}.tag-recipes{margin-top:2rem}.tag-recipes .recipe-grid{grid-template-columns:repeat(3,1fr);gap:24px;margin-bottom:3rem;display:grid}.loading-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:4rem 2rem;display:flex}.loading-state .spinner{margin-bottom:1rem}.loading-state p{color:var(--color-text-light);font-size:1rem}.empty-state p{color:var(--color-text-secondary);margin-bottom:2rem;font-size:1.125rem}.empty-state .btn-primary{display:inline-block}@media (width<=1200px){.tag-layout{grid-template-columns:180px 1fr;gap:1.5rem}.tag-ad-right{display:none}}@media (width<=768px){.tag-layout{grid-template-columns:1fr;gap:0;padding:1.5rem 1rem}.tag-ad-left,.tag-ad-right{display:none}.tag-hero{min-height:140px}.tag-hero__content{padding:24px 16px}.tag-hero h1{margin-bottom:8px;font-size:24px}.tag-hero__subtitle{margin-bottom:8px;font-size:14px}.tag-hero__description{font-size:14px}.tag-hero__stats{font-size:12px}.related-tags{margin-bottom:2rem;padding:1.5rem}.tag-tips{margin-bottom:.75rem;padding:.5rem}.tag-tips h2{margin-bottom:.375rem;font-size:1.125rem}.tag-recipes .recipe-grid{grid-template-columns:repeat(2,1fr);gap:20px}}@media (width<=480px){.tag-recipes .recipe-grid{grid-template-columns:1fr;gap:16px}.tag-chips{gap:.5rem}.tag-chip{padding:.4rem .8rem;font-size:.8125rem}}.recipe-carousel-container{margin:1rem 0}.carousel-title{color:var(--theme-text,var(--color-text));text-align:center;margin-bottom:1rem;font-size:1.25rem;font-weight:600}.carousel-wrapper{align-items:center;gap:.5rem;display:flex;position:relative}.carousel-track{scroll-behavior:smooth;scrollbar-width:none;-ms-overflow-style:none;flex:1;gap:1rem;padding:.5rem 0;display:flex;overflow-x:auto}.carousel-track::-webkit-scrollbar{display:none}.carousel-nav{border:1px solid var(--theme-border,var(--color-border));background:var(--theme-bg,var(--color-bg));width:36px;height:36px;color:var(--theme-text-light,var(--color-text-light));cursor:pointer;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:1.5rem;line-height:1;transition:all .2s;display:flex}.carousel-nav:hover{background:var(--theme-primary-light,var(--color-primary-light,#f0f0f0));color:var(--theme-primary,var(--color-primary));border-color:var(--theme-primary,var(--color-primary))}.carousel-card{background:var(--theme-surface,var(--color-surface));border:1px solid var(--theme-border,var(--color-border));border-radius:var(--theme-radius,8px);width:200px;box-shadow:var(--theme-shadow-sm,var(--shadow-sm));flex-direction:column;flex-shrink:0;min-height:100px;padding:1rem;transition:all .2s;display:flex}.carousel-card.clickable{cursor:pointer}.carousel-card.clickable:hover{border-color:var(--theme-primary,var(--color-primary));transform:translateY(-2px);box-shadow:0 2px 8px #0000001a}.carousel-card.clickable:focus{outline:2px solid var(--theme-primary,var(--color-primary));outline-offset:2px}.carousel-card-title{color:var(--theme-text,var(--color-text));-webkit-line-clamp:3;-webkit-box-orient:vertical;margin:0 0 .5rem;font-size:.9rem;font-weight:500;line-height:1.3;display:-webkit-box;overflow:hidden}.carousel-card-category{margin-bottom:.5rem}.carousel-card-tags{flex-wrap:wrap;gap:.25rem;margin-bottom:.5rem;display:flex}.carousel-tag{color:var(--theme-text-light,var(--color-text-light));background:var(--theme-bg,#f5f5f5);border-radius:9999px;padding:.125rem .375rem;font-size:.65rem}.carousel-card-meta{color:var(--theme-text-light,var(--color-text-light));justify-content:space-between;align-items:center;margin-top:auto;font-size:.75rem;display:flex}.carousel-loading,.carousel-error,.carousel-empty{text-align:center;color:var(--theme-text-light,var(--color-text-light));padding:2rem;font-size:.9rem}.carousel-loading{justify-content:center;align-items:center;gap:.75rem;display:flex}.carousel-loading .spinner{border:2px solid var(--theme-border,var(--color-border));border-top-color:var(--theme-primary,var(--color-primary));border-radius:50%;width:20px;height:20px;animation:.8s linear infinite spin}@media (width<=768px){.carousel-card{width:160px;padding:.75rem}.carousel-card-title{font-size:.85rem}.carousel-nav{width:32px;height:32px;font-size:1.25rem}}.admin-article-editor__cover-color-wrapper,.admin-article-editor__label--center{text-align:center}.image-review-page{max-width:1400px;margin:2rem auto;padding:0 1rem}.image-review-header{justify-content:space-between;align-items:center;margin-bottom:2rem;display:flex}.image-review-filters{align-items:center;gap:.5rem;display:flex}.image-review-list{flex-direction:column;gap:2rem;margin-bottom:2rem;display:flex}.ir-card{background:#fff;border:1px solid #ddd;border-radius:10px;overflow:hidden}.ir-images{grid-template-columns:1fr 1fr;display:grid}.ir-image-panel{aspect-ratio:4/3;background:#f5f5f5;position:relative;overflow:hidden}.ir-image-panel:first-child{border-right:1px solid #ddd}.ir-image-panel img{object-fit:cover;width:100%;height:100%;display:block}.ir-image-label{color:#fff;z-index:1;background:#0009;border-radius:4px;padding:.2rem .6rem;font-size:.75rem;font-weight:600;position:absolute;top:.5rem;left:.5rem}.ir-image-placeholder{color:#999;justify-content:center;align-items:center;width:100%;height:100%;font-size:.875rem;display:flex}.ir-regen-overlay{z-index:2;background:#00000040;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ir-regen-overlay .spinner{border-width:3px;width:36px;height:36px}.ir-overlay-label{color:#fff;white-space:nowrap;background:#000000bf;border-radius:4px;padding:.4rem .8rem;font-size:.8rem;font-weight:600;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.ir-info{border-bottom:1px solid #eee;flex-wrap:wrap;align-items:baseline;gap:1rem;padding:1rem 1.25rem .75rem;display:flex}.ir-title{margin:0;font-size:1.125rem;font-weight:600}.ir-links{gap:1rem;display:flex}.ir-links a{color:#2563eb;font-size:.875rem;text-decoration:none}.ir-links a:hover{text-decoration:underline}.ir-meta{align-items:center;gap:.75rem;margin-left:auto;display:flex}.ir-controls{border-bottom:1px solid #eee;flex-direction:column;gap:.75rem;padding:1rem 1.25rem;display:flex}.ir-control-row{flex-direction:column;gap:.25rem;display:flex}.ir-control-row label{color:#4a5568;font-size:.8rem;font-weight:600}.ir-control-row input[type=url]{box-sizing:border-box;border:1px solid #e2e8f0;border-radius:6px;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.875rem}.ir-control-row textarea{box-sizing:border-box;resize:vertical;border:1px solid #e2e8f0;border-radius:6px;width:100%;padding:.5rem .75rem;font-family:inherit;font-size:.8rem}.ir-sliders{gap:2rem;display:flex}.ir-slider-group{flex-direction:column;flex:1;gap:.25rem;display:flex}.ir-slider-group label{color:#4a5568;justify-content:space-between;font-size:.8rem;font-weight:600;display:flex}.ir-slider-value{color:#718096;font-variant-numeric:tabular-nums;font-weight:400}.ir-slider-group input[type=range]{accent-color:#6b78a8;width:100%}.ir-slider-group input[type=range]:disabled{opacity:.4}.ir-actions{align-items:center;gap:.5rem;padding:.75rem 1.25rem;display:flex}.image-status{text-transform:uppercase;border-radius:4px;padding:.25rem .5rem;font-size:.75rem;font-weight:500}.status-queued{color:#92400e;background:#fef3c7}.status-generated{color:#1e40af;background:#dbeafe}.image-priority{color:#666;font-size:.75rem}.image-date{color:#999;font-size:.75rem}.empty-state{text-align:center;padding:3rem 1rem}.empty-state-icon{margin-bottom:1rem;font-size:3rem}.error-container{background:#fee2e2;border:1px solid #fecaca;border-radius:4px;margin-bottom:1rem;padding:1rem}.loading-container{justify-content:center;padding:3rem;display:flex}@media (width<=768px){.category-hero{min-height:140px}.category-hero-overlay{padding:24px 16px}.category-title{margin-bottom:0;font-size:24px}.category-subtitle,.category-description{display:none}.category-stats{font-size:12px}}@media (width<=768px){.filter-bar__row{flex-wrap:wrap}.filter-bar__select{flex:1;min-width:100px}.filter-bar__stats{font-size:.875rem}}@media (width<=768px){.filter-bar.browse{padding:12px 16px}.filter-bar.browse .filter-container{flex-wrap:wrap;gap:12px}.filter-bar.browse .filter-group{width:100%}.filter-bar.browse .search-group{width:100%;max-width:none;min-width:unset}.filter-bar.browse .filter-select{flex:1}.filter-bar.browse .results-count{text-align:right;width:100%;margin-left:0;font-size:13px}}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (width<=1024px){.sidebar-filters{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;min-width:0;max-width:100%;display:grid;position:static}}@media (width<=768px){.sidebar-filters{box-sizing:border-box;grid-template-columns:1fr;align-self:auto;width:100%;min-width:0;position:static;overflow:visible}.filter-section{padding:16px}.filter-section-title{margin-bottom:12px;font-size:14px}}@media (width<=768px){.empty-state{min-height:300px;padding:var(--space-6) var(--space-4)}.empty-state__icon{margin-bottom:var(--space-4);font-size:48px}.empty-state__title{font-size:var(--text-2xl)}.empty-state__message{font-size:var(--text-base)}}.error-boundary{background:#f5f5f5;justify-content:center;align-items:center;min-height:100vh;padding:1.5rem;display:flex}.error-boundary__content{text-align:center;background:#fff;border-radius:12px;max-width:600px;padding:2rem;box-shadow:0 8px 24px #0000001f}.error-boundary__icon{margin-bottom:1rem;font-size:4rem}.error-boundary__title{color:#1a1a1a;margin-bottom:.75rem;font-family:Playfair Display,Georgia,serif;font-size:1.75rem;font-weight:700}.error-boundary__message{color:#666;margin-bottom:1.5rem;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem;line-height:1.6}.error-boundary__details{text-align:left;background:#f5f5f5;border-radius:6px;margin:1.5rem 0;padding:1rem}.error-boundary__details summary{color:#1a1a1a;cursor:pointer;-webkit-user-select:none;user-select:none;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.8125rem;font-weight:600}.error-boundary__stack{color:#ef4444;white-space:pre-wrap;word-break:break-word;background:#fff;border:1px solid #e5e5e5;border-radius:4px;margin-top:.75rem;padding:.75rem;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.6875rem;overflow-x:auto}.error-boundary__actions{justify-content:center;gap:.75rem;display:flex}@media (width<=768px){.error-boundary__actions{flex-direction:column}.error-boundary__actions button{width:100%}}.route-error{text-align:center;padding:2rem}.route-error h2{color:#1a1a1a;margin-bottom:1rem;font-family:Playfair Display,Georgia,serif;font-size:1.5rem}.route-error p{color:#666;margin-bottom:1.5rem;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:1rem}.loading-spinner{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:2rem;display:flex}.loading-spinner .spinner{border:3px solid #f0f0f0;border-top-color:#6b78a8;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.loading-spinner p{color:#999;margin-top:1rem;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:.875rem}@media (width<=1024px){.main-content.browse{grid-template-rows:auto;grid-template-columns:1fr;gap:24px;padding:24px 16px}.main-content.browse>main{order:1}.browse-left-column{order:2;grid-column:1/-1;gap:16px}.recipe-grid{grid-template-columns:repeat(2,1fr);gap:20px}.footer-ad-space .ad-space{height:100px}}@media (width<=640px){.main-content.browse{padding:16px}.recipe-grid{grid-template-columns:1fr;gap:16px}.footer-ad-space{padding:24px 16px}.footer-ad-space .ad-space{height:80px}}.recipes-mobile-filters{z-index:var(--z-sticky-header);gap:var(--space-2);padding:var(--space-2) 0;margin-bottom:var(--space-2);background:var(--color-bg-primary,#fff);flex-direction:column;display:flex;position:sticky;top:0}.filters-trigger{align-items:center;gap:var(--space-2);min-height:44px;padding:var(--space-2) var(--space-4);background:var(--color-bg-primary,#fff);border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius-full,9999px);font-size:var(--text-sm,.875rem);color:var(--color-text-primary,#1a1a1a);cursor:pointer;align-self:flex-start;font-weight:600;display:inline-flex}.filters-trigger__badge{background:var(--color-primary,#6b78a8);color:#fff;border-radius:var(--radius-full,9999px);min-width:20px;height:20px;font-size:var(--text-xs,.75rem);justify-content:center;align-items:center;padding:0 6px;font-weight:700;display:inline-flex}.active-filter-chips{gap:var(--space-2);flex-wrap:wrap;display:flex}.filter-chip{align-items:center;gap:var(--space-1);min-height:36px;padding:var(--space-1) var(--space-3);background:var(--color-primary-ghost,#eef0f7);border:1px solid var(--color-primary-light,#c3cae0);border-radius:var(--radius-full,9999px);font-size:var(--text-sm,.875rem);color:var(--color-primary-dark,#4a5680);cursor:pointer;display:inline-flex}.filter-chip__remove{font-size:1.1em;line-height:1}.filter-chip--clear{color:var(--color-text-secondary,#4b5563);background:0 0;border-color:#0000;text-decoration:underline}.filters-drawer__apply{width:100%}.google-signin-button-container{flex-direction:column;align-items:center;gap:.5rem;display:flex}.google-signin-button{color:#3c4043;cursor:pointer;background-color:#fff;border:1px solid #dadce0;border-radius:4px;justify-content:center;align-items:center;gap:.75rem;min-width:240px;padding:.75rem 1.5rem;font-family:inherit;font-size:1rem;font-weight:500;transition:all .2s;display:flex;box-shadow:0 1px 3px #0000001a}.google-signin-button:hover:not(:disabled){background-color:#f8f9fa;border-color:#d2d3d4;box-shadow:0 2px 6px #00000026}.google-signin-button:active:not(:disabled){background-color:#f1f3f4;box-shadow:0 1px 2px #0000001a}.google-signin-button:disabled{opacity:.6;cursor:not-allowed}.google-signin-button:focus{outline-offset:2px;outline:2px solid #4285f4}.google-icon{flex-shrink:0;width:24px;height:24px}.google-signin-spinner{border:2px solid #0000001a;border-top-color:#4285f4;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite google-signin-spin;display:inline-block}@keyframes google-signin-spin{to{transform:rotate(360deg)}}.google-signin-error{color:#d93025;text-align:center;background-color:#fce8e6;border:1px solid #f5c6cb;border-radius:4px;max-width:300px;padding:.5rem;font-size:.875rem}@media (prefers-color-scheme:dark){.google-signin-button{color:#e8eaed;background-color:#2d2e30;border-color:#5f6368}.google-signin-button:hover:not(:disabled){background-color:#3c4043;border-color:#5f6368}.google-signin-button:active:not(:disabled){background-color:#4d4e52}.google-signin-error{color:#f28b82;background-color:#3c1f1e;border-color:#5f2120}}@media (width<=600px){.google-signin-button{min-width:200px;padding:.625rem 1.25rem;font-size:.9375rem}.google-icon{width:20px;height:20px}}.login-page{justify-content:center;align-items:center;min-height:60vh;padding:2rem 1rem;display:flex}.login-container{background:var(--color-surface,#fff);border-radius:var(--radius,4px);border:1px solid var(--color-border,#0000001a);width:100%;max-width:900px;overflow:hidden}.login-header{background:var(--color-surface,#fff);color:var(--color-text,#2d3748);text-align:center;border-bottom:1px solid var(--color-border,#0000001a);padding:2.5rem 2rem}.login-title{color:var(--color-text,#2d3748);margin:0 0 .5rem;font-size:2.5rem;font-weight:700}.login-subtitle{color:var(--color-text-light,#4a5568);margin:0;font-size:1.125rem}.login-content{grid-template-columns:1fr 1fr;gap:3rem;padding:2.5rem 2rem;display:grid}.login-benefits h2{color:var(--color-text,#2d3748);margin:0 0 1.5rem;font-size:1.5rem;font-weight:600}.benefits-list{flex-direction:column;gap:1.5rem;margin:0;padding:0;list-style:none;display:flex}.benefits-list li{align-items:flex-start;gap:1rem;display:flex}.benefit-icon{width:24px;height:24px;color:var(--color-primary,#8c97c8);flex-shrink:0;margin-top:.125rem}.benefits-list strong{color:var(--color-text,#2d3748);margin-bottom:.25rem;font-size:1rem;font-weight:600;display:block}.benefits-list p{color:var(--color-text-light,#4a5568);margin:0;font-size:.875rem;line-height:1.4}.login-action{background:var(--color-background,#f7fafc);border:1px solid var(--color-border,#e2e8f0);border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:1.5rem;padding:2rem;display:flex}.login-button{width:100%}.login-privacy{color:var(--color-text-light,#4a5568);text-align:center;margin:0;font-size:.875rem}.login-link{color:var(--color-primary,#8c97c8);cursor:pointer;font-size:inherit;background:0 0;border:none;padding:0;font-family:inherit;text-decoration:underline}.login-link:hover{color:var(--color-primary-dark,#6b78a8)}.coming-soon{color:var(--color-warning,#d4a84d);white-space:nowrap;font-size:.75rem;font-style:italic;font-weight:500}.login-footer{background:var(--color-background,#f7fafc);border-top:1px solid var(--color-border,#e2e8f0);padding:1.5rem 2rem}.login-footnote{color:var(--color-text-light,#718096);text-align:center;margin:0;font-size:.8125rem;line-height:1.5}@media (width<=768px){.login-page{padding:1rem}.login-title{font-size:2rem}.login-subtitle{font-size:1rem}.login-content{grid-template-columns:1fr;gap:2rem;padding:1.5rem 1rem}.login-benefits h2{font-size:1.25rem}.benefits-list{gap:1.25rem}.benefit-icon{width:20px;height:20px}.login-action{padding:1.5rem 1rem}.login-footer{padding:1rem}}.my-recipes-tabs{width:100%}.tabs{border-bottom:2px solid var(--color-gray-200);gap:.5rem;margin-bottom:2rem;display:flex}.tab{color:var(--color-gray-600);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;background:0 0;border:none;border-bottom:3px solid #0000;align-items:center;gap:.5rem;padding:1rem 1.5rem;transition:all .2s;display:flex;position:relative}.tab:hover{color:var(--color-gray-900);background-color:var(--color-gray-50)}.tab:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.tab-badge{background-color:var(--color-gray-200);min-width:1.5rem;height:1.5rem;color:var(--color-gray-700);font-size:var(--font-size-sm);font-weight:var(--font-weight-semibold);border-radius:12px;justify-content:center;align-items:center;padding:0 .5rem;line-height:1;display:inline-flex}.tab--active .tab-badge{color:#2c5aa0;background-color:#e8eef8}.tab-panel{min-height:400px}.tab-panel__loading{flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.spinner-large{border:4px solid var(--color-gray-200);border-top-color:var(--color-primary);border-radius:50%;width:48px;height:48px;animation:.8s linear infinite spinner-rotation}.tab-panel__loading p{color:var(--color-gray-600);font-size:var(--font-size-base)}.tab-panel__error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.tab-panel__error p{color:var(--color-error);font-size:var(--font-size-base);margin:0}.tab-panel__empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:4rem 2rem;display:flex}.tab-panel__empty h3{font-size:var(--font-size-xl);font-weight:var(--font-weight-bold);color:var(--color-gray-900);margin:0}.tab-panel__empty p{font-size:var(--font-size-base);color:var(--color-gray-600);max-width:400px;margin:0}.recipes-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:2rem;display:grid}.pagination{justify-content:center;align-items:center;gap:1rem;padding:2rem 0;display:flex}.pagination__button{background-color:var(--color-white);border:1px solid var(--color-gray-300);border-radius:var(--border-radius-md);color:var(--color-gray-700);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;padding:.5rem 1rem;transition:all .2s}.pagination__button:hover:not(:disabled){background-color:var(--color-gray-50);border-color:var(--color-gray-400)}.pagination__button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.pagination__button:disabled{opacity:.5;cursor:not-allowed}.pagination__info{color:var(--color-gray-700);font-size:var(--font-size-base)}.btn{border-radius:var(--border-radius-md);font-size:var(--font-size-base);font-weight:var(--font-weight-medium);cursor:pointer;border:none;justify-content:center;align-items:center;padding:.75rem 1.5rem;transition:all .2s;display:inline-flex}.btn--primary{background-color:var(--color-primary);color:#fff}.btn--primary:hover{background-color:var(--color-primary-dark);color:#fff}.btn--secondary{background-color:var(--color-white);color:var(--color-primary);border:2px solid var(--color-primary)}.btn--secondary:hover{background-color:var(--color-primary);color:var(--color-white)}@media (width<=1024px){.recipes-grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media (width<=768px){.tabs{gap:.25rem}.tab{font-size:var(--font-size-sm);padding:.75rem 1rem}.tab-badge{min-width:1.25rem;height:1.25rem;font-size:var(--font-size-xs)}.recipes-grid{grid-template-columns:1fr;gap:16px}.tab-panel__empty h3{font-size:var(--font-size-lg)}.tab-panel__empty p{font-size:var(--font-size-sm)}}.profile-page{background:#faf9f7;min-height:60vh;padding:2rem 1rem;font-family:Source Sans Pro,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.profile-container{background:#fff;border:1px solid #e8e4df;border-radius:8px;max-width:900px;margin:0 auto;overflow:hidden;box-shadow:0 2px 8px #8c97c814}.profile-header{color:#fff;background:linear-gradient(135deg,#8c97c8 0%,#6b78a8 100%);border-bottom:none;padding:2.5rem 2rem}.profile-avatar-section{align-items:center;gap:1.5rem;display:flex}.profile-avatar{object-fit:cover;border:3px solid #fff;border-radius:50%;width:80px;height:80px;box-shadow:0 4px 12px #00000026}.profile-avatar-placeholder{color:#fff;background:#d4c4a8;border:3px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;font-size:2rem;font-weight:700;display:flex;box-shadow:0 4px 12px #00000026}.profile-name-section{flex:1}.profile-name{color:#fff;letter-spacing:-.5px;margin:0 0 .5rem;font-family:Playfair Display,Georgia,serif;font-size:2rem;font-weight:700}.profile-email{color:#ffffffe6;margin:0;font-size:1rem;font-weight:400}.profile-content{flex-direction:column;gap:2.5rem;padding:2.5rem 2rem;display:flex}.profile-section{border-bottom:1px solid #e8e4df;padding-bottom:2.5rem}.profile-section:last-child{border-bottom:none;padding-bottom:0}.section-title{color:#6b78a8;letter-spacing:-.3px;margin:0 0 1.5rem;font-family:Playfair Display,Georgia,serif;font-size:1.5rem;font-weight:600}.info-grid{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;display:grid}.info-item{flex-direction:column;gap:.5rem;display:flex}.info-label{color:#8c97c8;text-transform:uppercase;letter-spacing:.8px;font-size:.875rem;font-weight:600}.tier-badge{letter-spacing:.3px;border-radius:6px;align-items:center;width:fit-content;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;display:inline-flex}.tier-badge-free{color:#5a5550;background:#e8e4df}.tier-badge-freemium{color:#5a5550;background:#d4c4a8}.tier-badge-premium{color:#fff;background:#8c97c8}.tier-badge-professional{color:#fff;background:#6b78a8}.tier-badge-admin{color:#fff;background:linear-gradient(135deg,#8c97c8 0%,#6b78a8 100%);border:2px solid #d4c4a8}.status-badge{letter-spacing:.3px;border-radius:6px;align-items:center;width:fit-content;padding:.5rem 1.25rem;font-size:.875rem;font-weight:600;display:inline-flex}.status-badge-active{color:#5a5550;background:#d4c4a8}.status-badge-trialing{color:#fff;background:#8c97c8}.status-badge-past-due{color:#8b4513;background:#f0b990}.status-badge-canceled{color:#8b4513;background:#f5e6e8}.status-badge-default{color:#5a5550;background:#e8e4df}.usage-stats{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem;display:grid}.stat-card{background:#faf9f7;border:1px solid #e8e4df;border-radius:8px;gap:1.25rem;padding:1.75rem;transition:transform .2s,box-shadow .2s;display:flex}.stat-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #8c97c81f}.stat-icon{color:#fff;background:linear-gradient(135deg,#8c97c8 0%,#6b78a8 100%);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:48px;height:48px;display:flex;box-shadow:0 2px 8px #8c97c833}.stat-icon svg{width:24px;height:24px}.stat-content{flex:1}.stat-label{color:#8c97c8;text-transform:uppercase;letter-spacing:.5px;margin:0 0 .5rem;font-size:.875rem;font-weight:600}.stat-value{color:#6b78a8;margin:0 0 .25rem;font-family:Playfair Display,Georgia,serif;font-size:2rem;font-weight:700}.stat-detail{color:#888;margin:0;font-size:.8125rem}.action-buttons{flex-wrap:wrap;gap:1rem;display:flex}.action-button{cursor:pointer;letter-spacing:.3px;border:none;border-radius:8px;align-items:center;gap:.5rem;padding:.875rem 1.75rem;font-family:Source Sans Pro,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;font-weight:600;transition:all .3s;display:inline-flex}.action-button svg{width:20px;height:20px}.action-button-primary{color:#fff;background:linear-gradient(135deg,#8c97c8 0%,#6b78a8 100%);box-shadow:0 2px 8px #8c97c84d}.action-button-primary:hover{background:linear-gradient(135deg,#6b78a8 0%,#5a668c 100%);transform:translateY(-1px);box-shadow:0 4px 12px #8c97c866}.action-button-upgrade{color:#5a5550;background:#d4c4a8;box-shadow:0 2px 8px #d4c4a84d}.action-button-upgrade:hover{background:#c4b498;transform:translateY(-1px);box-shadow:0 4px 12px #d4c4a866}@media (width<=768px){.profile-page{padding:1rem}.profile-header{padding:2rem 1.5rem}.profile-avatar-section{flex-direction:column;align-items:flex-start;gap:1rem}.profile-avatar,.profile-avatar-placeholder{width:64px;height:64px}.profile-name{font-size:1.5rem}.profile-email{font-size:.875rem}.profile-content{padding:2rem 1.5rem}.section-title{font-size:1.25rem}.info-grid,.usage-stats{grid-template-columns:1fr}.stat-value{font-size:1.5rem}.action-buttons{flex-direction:column}.action-button{justify-content:center;width:100%}}.login-nudge-banner{background-color:var(--color-primary);color:#fff;box-sizing:border-box;justify-content:center;align-items:center;gap:.75rem;width:100%;height:40px;padding:0 1rem;font-size:.8125rem;font-weight:500;line-height:1;display:flex;position:relative}.login-nudge-banner__text{text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:auto;max-width:600px;margin:0 auto;overflow:hidden}.login-nudge-banner__cta{color:var(--color-primary);cursor:pointer;white-space:nowrap;background:#fff;border:none;border-radius:4px;flex:none;padding:.25rem .875rem;font-size:.8125rem;font-weight:700;line-height:1.4;transition:background-color .15s,opacity .15s}.login-nudge-banner__cta:hover,.login-nudge-banner__cta:focus-visible{background-color:#ffffffe6;outline:none}.login-nudge-banner__cta:focus-visible{outline-offset:2px;outline:2px solid #fff}.login-nudge-banner__dismiss{color:#ffffffd9;cursor:pointer;background:0 0;border:none;border-radius:3px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:1.125rem;line-height:1;transition:color .15s,background-color .15s;display:flex;position:absolute;top:50%;right:.75rem;transform:translateY(-50%)}.login-nudge-banner__dismiss:hover,.login-nudge-banner__dismiss:focus-visible{color:#fff;background-color:#ffffff26;outline:none}.login-nudge-banner__dismiss:focus-visible{outline-offset:2px;outline:2px solid #fff}@media (width<=640px){.login-nudge-banner{flex-wrap:wrap;gap:.5rem;height:auto;min-height:48px;padding:.5rem 2.5rem .5rem .75rem}.login-nudge-banner__text{white-space:normal;text-align:left;flex:100%}.login-nudge-banner__cta{flex:none}.login-nudge-banner__dismiss{top:.5rem;transform:none}}@media (width<=768px){.header-content{justify-content:flex-start;gap:8px}.hamburger-btn{order:-1;display:flex}.auth-menu{margin-left:auto}.google-login-btn{padding:8px 12px;font-size:13px}.main-nav{z-index:999;-webkit-overflow-scrolling:touch;background:#fff;flex-direction:column;align-items:flex-start;gap:0;width:100%;height:calc(100dvh - 70px);padding:20px 24px;transition:left .3s;position:fixed;top:70px;left:-100%;overflow-y:auto}.main-nav.active{left:0}.main-nav .nav-item{border-bottom:1px solid #f0f0f0;width:100%;padding:16px 0}.main-nav .nav-item:last-child{border-bottom:none}.nav-section-label{letter-spacing:.08em;text-transform:uppercase;color:#b0b7c3;border-top:1px solid #f0f0f0;width:100%;margin-top:4px;padding:20px 0 8px;font-size:11px;font-weight:700;display:block}.main-nav .nav-item--category{color:#555;font-weight:500;display:block}.main-nav .nav-item--category:hover{color:#6b78a8}.main-nav .nav-item--active{color:#6b78a8;font-weight:600}}.category-tabs::-webkit-scrollbar{height:0}.category-nav__tabs::-webkit-scrollbar{height:0}@media (width<=768px){.category-nav{display:none}}@media (width<=1024px){.footer-content{grid-template-columns:1fr 1fr;gap:32px}.footer-about{grid-column:1/-1}}@media (width<=768px){.footer{margin-top:32px;padding:32px 16px 16px}.footer-content{grid-template-columns:1fr;gap:24px;margin-bottom:24px}.footer-about h3{font-size:24px}.footer-about p,.footer-column h4{font-size:13px}.footer-links a{font-size:12px}.footer-bottom{padding-top:16px;font-size:11px}}@keyframes slideUp{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@media (width<=768px){.cookie-consent-banner{padding:24px}.cookie-consent-title{font-size:20px}.cookie-consent-actions{flex-direction:column}.cookie-btn{width:100%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.skip-to-content{transition:none}}*,:before,:after{box-sizing:border-box}*{margin:0;padding:0}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizelegibility}html:focus-within{scroll-behavior:smooth}body{text-rendering:optimizespeed;min-height:100vh;line-height:1.5}ul[role=list],ol[role=list]{list-style:none}button{font:inherit;cursor:pointer;background:0 0;border:none}img,picture,svg{max-width:100%;display:block}input,button,textarea,select{font:inherit}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}:root{--color-primary:#6b78a8;--color-primary-dark:#5a6690;--color-primary-light:#8c97c8;--color-primary-ghost:#6b78a81a;--color-herb-green:#5c8a62;--color-herb-light:#7ba882;--color-gl-low:#10b981;--color-gl-low-bg:#ecfdf5;--color-gl-low-border:#d1fae5;--color-gl-medium:#f59e0b;--color-gl-medium-bg:#fffbeb;--color-gl-medium-border:#fef3c7;--color-gl-high:#ef4444;--color-gl-high-bg:#fef2f2;--color-gl-high-border:#fee2e2;--color-text-primary:#1a1a1a;--color-text-secondary:#666;--color-text-light:#999;--color-bg-primary:#fff;--color-bg-secondary:#fafafa;--color-bg-tertiary:#f5f5f5;--color-border-light:#f0f0f0;--color-border-medium:#e5e5e5;--color-border-dark:#d0d0d0;--color-error:#ef4444;--color-warning:#f59e0b;--color-success:#10b981;--color-info:#6b78a8;--shadow-sm:0 1px 3px #00000014;--shadow-md:0 2px 8px #0000000f;--shadow-lg:0 4px 12px #00000014;--shadow-xl:0 8px 24px #0000001f;--shadow-2xl:0 12px 32px #00000026;--shadow-primary:0 4px 12px #6b78a833;--shadow-primary-lg:0 8px 24px #6b78a840;--font-display:"Playfair Display", Georgia, serif;--font-body:"Inter", -apple-system, BlinkMacSystemFont, sans-serif;--font-mono:"SF Mono", Monaco, "Courier New", monospace;--text-xs:.6875rem;--text-sm:.8125rem;--text-base:.875rem;--text-md:.9375rem;--text-lg:1rem;--text-xl:1.125rem;--text-2xl:1.25rem;--text-3xl:1.5rem;--text-4xl:1.75rem;--text-5xl:2rem;--text-6xl:2.25rem;--leading-none:1;--leading-tight:1.2;--leading-snug:1.3;--leading-normal:1.5;--leading-relaxed:1.6;--leading-loose:1.7;--weight-light:300;--weight-normal:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--weight-extrabold:800;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.25rem;--space-6:1.5rem;--space-8:2rem;--space-10:2.5rem;--space-12:3rem;--space-16:4rem;--space-20:5rem;--radius-sm:4px;--radius-md:6px;--radius-lg:8px;--radius-xl:12px;--radius-2xl:16px;--radius-full:9999px;--container-sm:640px;--container-md:768px;--container-lg:1024px;--container-xl:1200px;--container-2xl:1400px;--breakpoint-sm:640px;--breakpoint-md:768px;--breakpoint-lg:1024px;--breakpoint-xl:1200px;--breakpoint-2xl:1400px;--focus-ring-color:var(--color-primary);--focus-ring-width:2px;--focus-ring-offset:2px;--focus-ring:var(--focus-ring-width) solid var(--focus-ring-color);--focus-ring-shadow:0 0 0 3px #6b78a833;--z-sticky-header:100;--z-scrim:1000;--z-drawer:1001;--z-modal:1002}@media (width<=768px){:root{--text-5xl:1.75rem;--text-4xl:1.5rem;--text-3xl:1.25rem}}body{color:#1a1a1a;background-color:#fafafa;margin:0;padding:0;font-family:Inter,-apple-system,sans-serif;font-size:16px;line-height:1.6}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:var(--weight-bold);color:var(--color-text-primary);line-height:var(--leading-tight);margin-bottom:var(--space-4)}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-2xl);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}h4{font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:var(--leading-snug)}h5{font-size:var(--text-lg);font-weight:var(--weight-semibold)}h6{font-size:var(--text-base);font-weight:var(--weight-semibold)}p{margin-bottom:var(--space-4)}a{color:var(--color-primary);text-decoration:none;transition:color .2s}a:hover{color:var(--color-primary-dark);text-decoration:underline}a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}ul,ol{margin-bottom:var(--space-4);padding-left:var(--space-6)}li{margin-bottom:var(--space-2)}code{font-family:var(--font-mono);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);padding:.125rem .25rem;font-size:.9em}pre{font-family:var(--font-mono);background:var(--color-bg-tertiary);padding:var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);overflow-x:auto}pre code{background:0 0;padding:0}blockquote{border-left:4px solid var(--color-primary);padding-left:var(--space-4);margin:var(--space-6) 0;color:var(--color-text-secondary);font-style:italic}hr{border:none;border-top:1px solid var(--color-border-medium);margin:var(--space-8) 0}table{border-collapse:collapse;width:100%;margin-bottom:var(--space-6)}th,td{padding:var(--space-3);text-align:left;border-bottom:1px solid var(--color-border-light)}th{font-weight:var(--weight-semibold);color:var(--color-text-primary);background:var(--color-bg-tertiary)}input[type=text],input[type=email],input[type=password],input[type=url],input[type=search],textarea,select{width:100%;padding:var(--space-3);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);transition:all .2s;display:block}label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-primary);margin-bottom:var(--space-2);display:block}strong,b{font-weight:var(--weight-bold)}em,i{font-style:italic}small{font-size:var(--text-sm);color:var(--color-text-light)}.container{width:100%;max-width:var(--container-xl);padding-left:var(--space-4);padding-right:var(--space-4);margin-left:auto;margin-right:auto}.container-sm{width:100%;max-width:var(--container-sm);padding-left:var(--space-4);padding-right:var(--space-4);margin-left:auto;margin-right:auto}.container-lg{width:100%;max-width:var(--container-2xl);padding-left:var(--space-4);padding-right:var(--space-4);margin-left:auto;margin-right:auto}.grid{gap:var(--space-6);display:grid}.grid-2{gap:var(--space-6);grid-template-columns:repeat(2,1fr);display:grid}.grid-3{gap:var(--space-6);grid-template-columns:repeat(3,1fr);display:grid}.grid-4{gap:var(--space-6);grid-template-columns:repeat(4,1fr);display:grid}@media (width<=768px){.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}}@media (width>=769px) and (width<=1024px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr)}}.flex{gap:var(--space-4);display:flex}.flex-center{justify-content:center;align-items:center;gap:var(--space-4);display:flex}.flex-between{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.flex-start{justify-content:flex-start;align-items:flex-start;gap:var(--space-4);display:flex}.flex-end{justify-content:flex-end;align-items:center;gap:var(--space-4);display:flex}.flex-col{gap:var(--space-4);flex-direction:column;display:flex}.flex-wrap{flex-wrap:wrap}@media (width<=768px){.flex-mobile-col{flex-direction:column}}.btn-primary{padding:var(--space-3) var(--space-5);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;box-shadow:var(--shadow-sm);justify-content:center;align-items:center;gap:var(--space-2);border:none;transition:all .2s;display:inline-flex}.btn-primary:hover{background:var(--color-primary-dark);box-shadow:var(--shadow-primary);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-primary[data-loading=true]{opacity:.6;pointer-events:none}.btn-primary:disabled,.btn-primary[disabled]{opacity:.5;cursor:not-allowed;transform:none}.btn-secondary{padding:var(--space-3) var(--space-5);color:var(--color-primary);border:2px solid var(--color-primary);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.05em;cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);background:#fff;transition:all .2s;display:inline-flex}.btn-secondary:active{background:var(--color-primary-ghost);transform:scale(.98)}.btn-secondary[data-loading=true]{opacity:.6;pointer-events:none}.btn-secondary:disabled,.btn-secondary[disabled]{opacity:.5;cursor:not-allowed}.btn-ghost{padding:var(--space-2) var(--space-4);color:var(--color-text-secondary);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;justify-content:center;align-items:center;gap:var(--space-2);background:0 0;transition:all .2s;display:inline-flex}.btn-ghost:hover{border-color:var(--color-primary);color:var(--color-primary);background:var(--color-primary-ghost)}.btn-ghost:active{background:var(--color-primary-ghost);transform:scale(.98)}.btn-ghost[data-loading=true]{opacity:.6;pointer-events:none}.btn-ghost:disabled,.btn-ghost[disabled]{opacity:.5;cursor:not-allowed}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--text-xs)}.btn-md{padding:var(--space-3) var(--space-5);font-size:var(--text-sm)}.btn-lg{padding:var(--space-4) var(--space-6);font-size:var(--text-base)}.btn-success{background:var(--color-success);color:#fff;border:none}.btn-success:hover{background:var(--color-herb-green)}.btn-error{background:var(--color-error);color:#fff;border:none}.btn-error:hover{background:#dc2626}.btn-warning{background:var(--color-warning);color:#fff;border:none}.btn-warning:hover{background:#d97706}.btn-full{width:100%}.btn-icon{padding:var(--space-2);border-radius:var(--radius-md);justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.btn-icon svg,.btn-icon img{width:20px;height:20px}.gl-badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-family:var(--font-body);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.gl-badge--sm{font-size:var(--text-xs);padding:var(--space-1) var(--space-2)}.gl-badge--md{font-size:var(--text-sm);padding:var(--space-1) var(--space-3)}.gl-badge--lg{font-size:var(--text-base);padding:var(--space-2) var(--space-4)}.gl-badge--low{background:var(--color-gl-low-bg);color:var(--color-gl-low);border:1px solid var(--color-gl-low-border)}.gl-badge--medium{background:var(--color-gl-medium-bg);color:var(--color-gl-medium);border:1px solid var(--color-gl-medium-border)}.gl-badge--high{background:var(--color-gl-high-bg);color:var(--color-gl-high);border:1px solid var(--color-gl-high-border)}.badge{padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-family:var(--font-body);font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.05em;white-space:nowrap;justify-content:center;align-items:center;display:inline-flex}.badge--primary{background:var(--color-primary-ghost);color:var(--color-primary);border:1px solid var(--color-primary-light)}.badge--success{background:var(--color-gl-low-bg);color:var(--color-gl-low);border:1px solid var(--color-gl-low-border)}.badge--warning{background:var(--color-gl-medium-bg);color:var(--color-gl-medium);border:1px solid var(--color-gl-medium-border)}.badge--error{background:var(--color-gl-high-bg);color:var(--color-gl-high);border:1px solid var(--color-gl-high-border)}.badge--neutral{background:var(--color-bg-tertiary);color:var(--color-text-secondary);border:1px solid var(--color-border-medium)}.recipe-card{background:var(--color-bg-primary);border-radius:var(--radius-xl);cursor:pointer;box-shadow:var(--shadow-md);border:2px solid #0000;flex-direction:column;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;overflow:hidden}.recipe-card:hover{box-shadow:var(--shadow-xl);transform:translateY(-6px)}.recipe-card.low:hover{border-color:var(--color-gl-low)}.recipe-card.medium:hover{border-color:var(--color-gl-medium)}.recipe-card.high:hover{border-color:var(--color-gl-high)}.recipe-card__image{background:var(--color-bg-tertiary);width:100%;height:200px;position:relative}.recipe-card__image img{object-fit:cover;width:100%;height:100%}.recipe-card__image .gl-badge{top:var(--space-3);right:var(--space-3);position:absolute}.recipe-card__content{padding:var(--space-4);flex-direction:column;flex:1;display:flex}.recipe-card__category{font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-primary);margin-bottom:var(--space-2)}.recipe-card__title{font-family:var(--font-display);font-size:var(--text-xl);font-weight:var(--weight-bold);color:var(--color-text-primary);line-height:var(--leading-tight);margin-bottom:var(--space-3);-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.recipe-card__meta{gap:var(--space-4);font-size:var(--text-sm);color:var(--color-text-light);margin-top:auto;display:flex}.recipe-card__meta-item{align-items:center;gap:var(--space-1);display:flex}.content-card{background:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--space-6);box-shadow:var(--shadow-md);border:1px solid var(--color-border-light);transition:box-shadow .2s}.content-card:hover{box-shadow:var(--shadow-lg)}.content-card__header{margin-bottom:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border-light)}.content-card__title{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.content-card__description{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-relaxed)}.content-card__body{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-normal)}.content-card__footer{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border-light)}.sidebar-card{background:var(--color-bg-primary);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4);box-shadow:var(--shadow-md);border:1px solid var(--color-border-light)}.sidebar-card__title{font-family:var(--font-display);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-3)}.sidebar-card__content{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-normal)}.gl-card{background:var(--color-bg-primary);border-radius:var(--radius-lg);padding:var(--space-6);box-shadow:var(--shadow-md);text-align:center}.gl-card.low{background:var(--color-gl-low-bg);border:2px solid var(--color-gl-low-border)}.gl-card.medium{background:var(--color-gl-medium-bg);border:2px solid var(--color-gl-medium-border)}.gl-card.high{background:var(--color-gl-high-bg);border:2px solid var(--color-gl-high-border)}.gl-card__value{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:var(--weight-bold);line-height:var(--leading-none);margin-bottom:var(--space-2)}.gl-card.low .gl-card__value{color:var(--color-gl-low)}.gl-card.medium .gl-card__value{color:var(--color-gl-medium)}.gl-card.high .gl-card__value{color:var(--color-gl-high)}.gl-card__label{font-size:var(--text-xs);font-weight:var(--weight-bold);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light)}.stats-card{background:var(--color-bg-primary);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);border:1px solid var(--color-border-light);text-align:center}.stats-card__value{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-bold);color:var(--color-text-primary);margin-bottom:var(--space-1)}.stats-card__label{font-size:var(--text-xs);font-weight:var(--weight-medium);text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-light)}@media (width<=768px){.recipe-card__image{height:160px}.recipe-card__title{font-size:var(--text-lg)}.content-card{padding:var(--space-4)}.content-card__title{font-size:var(--text-xl)}.gl-card__value{font-size:var(--text-4xl)}}.empty-state{text-align:center;min-height:400px;padding:var(--space-8) var(--space-4);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state__icon{margin-bottom:var(--space-6);-webkit-user-select:none;user-select:none;font-size:64px;line-height:1}.empty-state__title{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-4) 0;line-height:var(--leading-tight)}.empty-state__message{font-family:var(--font-body);font-size:var(--text-lg);color:var(--color-text-light);margin:0 0 var(--space-6) 0;max-width:480px;line-height:var(--leading-relaxed)}.empty-state__action{margin-top:var(--space-2)}.empty-state--search .empty-state__icon{color:var(--color-primary)}.empty-state--empty .empty-state__icon{color:var(--color-herb-green)}.empty-state--filtered .empty-state__icon{color:var(--color-text-light)}@media (width<=768px){.empty-state{min-height:300px;padding:var(--space-6) var(--space-4)}.empty-state__icon{margin-bottom:var(--space-4);font-size:48px}.empty-state__title{font-size:var(--text-2xl)}.empty-state__message{font-size:var(--text-base)}}.form-group label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-primary);margin-bottom:var(--space-2);display:block}.form-group label.required:after{content:"*";color:var(--color-error);margin-left:var(--space-1)}input[type=text],input[type=email],input[type=password],input[type=url],input[type=search],input[type=number],textarea,select{width:100%;padding:var(--space-3);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-bg-primary);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);transition:all .2s;display:block}input:focus,textarea:focus,select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ghost);outline:none}input[data-error=true],textarea[data-error=true],select[data-error=true]{border-color:var(--color-error)}input[data-error=true]:focus,textarea[data-error=true]:focus,select[data-error=true]:focus{border-color:var(--color-error);box-shadow:0 0 0 3px #ef44441a}input[data-success=true],textarea[data-success=true],select[data-success=true]{border-color:var(--color-success)}input[data-success=true]:focus,textarea[data-success=true]:focus,select[data-success=true]:focus{border-color:var(--color-success);box-shadow:0 0 0 3px #10b9811a}input:disabled,textarea:disabled,select:disabled{opacity:.6;cursor:not-allowed;background-color:var(--color-bg-tertiary)}input::placeholder,textarea::placeholder{color:var(--color-text-light)}textarea{resize:vertical;min-height:120px}select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-8)}input[type=checkbox],input[type=radio]{width:18px;height:18px;margin-right:var(--space-2);cursor:pointer;accent-color:var(--color-primary)}.checkbox-label,.radio-label{cursor:pointer;font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:var(--space-2);align-items:center;display:flex}.checkbox-label input,.radio-label input{margin:0;margin-right:var(--space-2)}.form-error{align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-error);display:flex}.form-success{align-items:center;gap:var(--space-2);margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-success);display:flex}.form-help{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-light);line-height:var(--leading-relaxed)}.form-row{gap:var(--space-4);grid-template-columns:repeat(2,1fr);display:grid}.form-row .form-group{margin-bottom:0}@media (width<=768px){.form-row{grid-template-columns:1fr}.form-row .form-group{margin-bottom:var(--space-4)}.form-row .form-group:last-child{margin-bottom:0}}.search-input-wrapper{position:relative}.search-input-wrapper input{padding-left:var(--space-10)}.search-input-wrapper .search-icon{left:var(--space-3);color:var(--color-text-light);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.input-with-icon{position:relative}.input-with-icon input{padding-left:var(--space-10)}.input-with-icon .icon{left:var(--space-3);color:var(--color-text-light);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.form-actions{gap:var(--space-3);margin-top:var(--space-6);display:flex}.form-actions button{flex:1}@media (width<=768px){.form-actions{flex-direction:column}.form-actions button{width:100%}}.top-bar{color:#fff;background:#6b78a8;justify-content:center;align-items:center;padding:8px 24px;font-size:13px;font-weight:500;display:flex;position:relative}.top-bar__dismiss{color:#ffffffbf;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:2px 8px;font-size:20px;line-height:1;transition:color .2s,background .2s;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.top-bar__dismiss:hover{color:#fff;background:#ffffff26}.header{z-index:1000;background:#fff;border-bottom:1px solid #e5e5e5;position:sticky;top:0;box-shadow:0 2px 8px #0000000a}.header-content{justify-content:space-between;align-items:center;max-width:1200px;height:70px;margin:0 auto;padding:0 24px;display:flex}.logo{color:#6b78a8;font-family:Playfair Display,serif;font-size:32px;font-weight:700;text-decoration:none}.main-nav{align-items:center;gap:32px;display:flex}.main-nav .nav-item{color:#1a1a1a;font-size:15px;font-weight:500;text-decoration:none;transition:color .2s}.main-nav .nav-item:hover{color:#6b78a8}.hamburger-btn{cursor:pointer;z-index:1100;background:0 0;border:none;flex-direction:column;align-items:center;gap:5px;padding:6px;display:none}.hamburger-btn span{background:#1a1a1a;width:24px;height:2px;transition:all .3s;display:block}.hamburger-btn.active span:first-child{transform:rotate(45deg)translate(8px,8px)}.hamburger-btn.active span:nth-child(2){opacity:0}.hamburger-btn.active span:nth-child(3){transform:rotate(-45deg)translate(8px,-8px)}.nav-section-label,.nav-item--category{display:none}.auth-menu{align-items:center;gap:16px;display:flex;position:relative}.search-btn{cursor:pointer;color:#555;background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:color .2s,background .2s;display:flex}.search-btn:hover{color:#6b78a8;background:#f0f2f8}.search-btn:focus-visible{outline-offset:2px;outline:2px solid #6b78a8}.google-login-btn{color:#3c4043;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #dadce0;border-radius:6px;align-items:center;gap:10px;padding:10px 20px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 1px 3px #00000014}.google-login-btn:hover{background:#f8f9fa;border-color:#8b9dc3;box-shadow:0 2px 6px #0000001f}.google-login-btn:active{transform:scale(.98)}.user-avatar{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6b78a8 0%,#8c97c8 100%);border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;font-size:16px;font-weight:600;transition:all .2s;display:flex;box-shadow:0 2px 8px #6b78a833}.user-avatar:hover{transform:scale(1.05);box-shadow:0 4px 12px #6b78a84d}.user-avatar img{object-fit:cover;border-radius:50%;width:100%;height:100%;display:block}.profile-menu{opacity:0;z-index:2000;background:#fff;border-radius:8px;min-width:220px;max-height:0;transition:max-height .3s,opacity .3s;position:absolute;top:55px;right:0;overflow:hidden;box-shadow:0 8px 24px #0000001f}.profile-menu.active{opacity:1;max-height:400px}.profile-menu-header{border-bottom:1px solid #f0f0f0;padding:16px}.profile-user-info{align-items:center;gap:12px;display:flex}.profile-avatar-small{color:#fff;background:linear-gradient(135deg,#6b78a8 0%,#8c97c8 100%);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;font-size:13px;font-weight:600;display:flex}.profile-avatar-small img{object-fit:cover;border-radius:50%;width:100%;height:100%}.profile-name{flex-direction:column;min-width:0;display:flex}.profile-full-name{color:#1a1a1a;white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.profile-email{color:#999;white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.profile-menu-items{padding:8px 0}.profile-menu-item{color:#1a1a1a;text-align:left;cursor:pointer;background:0 0;border:none;width:100%;padding:10px 16px;font-size:13px;text-decoration:none;transition:background .2s;display:block}.profile-menu-item:hover{background:#f8f8f8}.profile-menu-divider{background:#f0f0f0;height:1px;margin:8px 0}.profile-menu-item.logout{color:#ef4444}.profile-menu-item.logout:hover{background:#fee2e2}@media (width<=768px){.header-content{justify-content:flex-start;gap:8px}.hamburger-btn{order:-1;display:flex}.auth-menu{margin-left:auto}.google-login-btn{padding:8px 12px;font-size:13px}.main-nav{z-index:999;-webkit-overflow-scrolling:touch;background:#fff;flex-direction:column;align-items:flex-start;gap:0;width:100%;height:calc(100dvh - 70px);padding:20px 24px;transition:left .3s;position:fixed;top:70px;left:-100%;overflow-y:auto}.main-nav.active{left:0}.main-nav .nav-item{border-bottom:1px solid #f0f0f0;width:100%;padding:16px 0}.main-nav .nav-item:last-child{border-bottom:none}.nav-section-label{letter-spacing:.08em;text-transform:uppercase;color:#b0b7c3;border-top:1px solid #f0f0f0;width:100%;margin-top:4px;padding:20px 0 8px;font-size:11px;font-weight:700;display:block}.main-nav .nav-item--category{color:#555;font-weight:500;display:block}.main-nav .nav-item--category:hover{color:#6b78a8}.main-nav .nav-item--active{color:#6b78a8;font-weight:600}}.footer{color:#fff;background:#1a1a1a;margin-top:50px;padding:40px 24px 24px}.footer-content{grid-template-columns:2fr 1fr 1fr 1fr;gap:48px;max-width:1200px;margin:0 auto 32px;display:grid}.footer-about h3{color:#6b78a8;margin-bottom:16px;font-family:Playfair Display,serif;font-size:28px}.footer-about p{color:#fff;opacity:.7;font-size:14px;line-height:1.7}.footer-social{flex-wrap:wrap;gap:16px;margin:16px 0 0;padding:0;list-style:none;display:flex}.footer-social a{color:#999;font-size:13px;text-decoration:none;transition:color .2s}.footer-social a:hover{color:#fff}.footer-column h4{color:#fff;text-transform:uppercase;letter-spacing:.05em;margin-bottom:16px;font-size:14px;font-weight:700}.footer-links{margin:0;padding:0;list-style:none}.footer-links li{margin-bottom:12px}.footer-links a{color:#999;font-size:13px;text-decoration:none;transition:color .2s}.footer-links a:hover{color:#fff}.footer-bottom{text-align:center;color:#666;border-top:1px solid #333;max-width:1200px;margin:0 auto;padding-top:24px;font-size:12px}.footer-affiliate-disclosure{color:#888;margin:0 0 12px;font-size:12px}.footer-affiliate-disclosure a{color:#888;text-decoration:underline}@media (width<=1024px){.footer-content{grid-template-columns:1fr 1fr;gap:32px}.footer-about{grid-column:1/-1}}@media (width<=768px){.footer{margin-top:32px;padding:32px 16px 16px}.footer-content{grid-template-columns:1fr;gap:24px;margin-bottom:24px}.footer-about h3{font-size:24px}.footer-about p,.footer-column h4{font-size:13px}.footer-links a{font-size:12px}.footer-bottom{padding-top:16px;font-size:11px}}.breadcrumbs{display:none}.breadcrumbs-content{color:#999;max-width:1200px;margin:0 auto;padding:0 24px}.breadcrumbs__list{max-width:1200px;margin:0 auto;padding:0 24px}.breadcrumbs-content a{color:#6b78a8;text-decoration:none;transition:color .2s}.breadcrumbs-content a:hover{color:#5a6690;text-decoration:underline}.breadcrumbs-content span{color:#999}.breadcrumbs__list{flex-wrap:wrap;align-items:center;gap:8px;max-width:1200px;margin:0 auto;padding:0 24px;font-size:13px;list-style:none;display:flex}.breadcrumbs__item{color:#999;align-items:center;gap:8px;display:flex}.breadcrumbs__item a{color:#6b78a8;text-decoration:none;transition:color .2s}.breadcrumbs__item a:hover{color:#5a6690;text-decoration:underline}.breadcrumbs__separator{color:#999;-webkit-user-select:none;user-select:none}.breadcrumbs__item span[aria-current=page]{color:#999;font-weight:400}.category-nav{z-index:999;background:#fff;border-bottom:1px solid #e5e5e5;position:sticky;top:70px}.category-nav__container{max-width:1200px;margin:0 auto}.category-tabs,.category-nav__tabs{scrollbar-width:thin;gap:40px;padding:0 24px;display:flex;overflow-x:auto}.category-tab,.category-nav__tab{color:#666;white-space:nowrap;border-bottom:2px solid #0000;flex-shrink:0;padding:16px 0;font-size:14px;font-weight:600;text-decoration:none;transition:all .2s}.category-tab:hover,.category-nav__tab:hover{color:#6b78a8}.category-tab.active,.category-nav__tab--active{color:#6b78a8;border-bottom-color:#6b78a8}.category-tabs::-webkit-scrollbar{height:0}.category-nav__tabs::-webkit-scrollbar{height:0}@media (width<=768px){.category-nav{display:none}}.hero{color:#fff;text-align:center;background:linear-gradient(135deg,#6b78a8 0%,#8c97c8 100%);padding:32px 24px}.hero-content{max-width:1000px;margin:0 auto}.hero h1{color:#fff;margin-bottom:10px;font-family:Playfair Display,serif;font-size:32px;font-weight:700;line-height:1.3}.hero p{color:#fff;opacity:.95;margin-bottom:20px;font-size:15px;line-height:1.5}.extraction-form{background:#fffffff2;border-radius:12px;max-width:600px;margin:24px auto 0;padding:24px;box-shadow:0 10px 40px #00000026}.form-tabs{gap:8px;margin-bottom:20px;display:flex}.form-tab{color:#666;text-transform:uppercase;letter-spacing:.05em;cursor:pointer;background:#fff;border:2px solid #e5e5e5;border-radius:6px;flex:1;min-height:44px;padding:12px 16px;font-size:13px;font-weight:600;transition:all .3s}.form-tab:hover:not(.active){color:#6b78a8;background:#6b78a80d;border-color:#6b78a8}.form-tab.active{color:#fff;background:#6b78a8;border-color:#6b78a8;box-shadow:0 4px 12px #6b78a840}.form-group{text-align:left;margin-bottom:16px}.form-label{color:#1a1a1a;text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;font-size:12px;font-weight:600;display:block}.form-input{color:#1a1a1a;border:1px solid #e0e0e0;border-radius:6px;width:100%;padding:12px 14px;font-family:Inter,-apple-system,sans-serif;font-size:14px;transition:border-color .2s}.form-input:focus{border-color:#6b78a8;outline:none;box-shadow:0 0 0 3px #6b78a81a}.form-input:disabled{cursor:not-allowed;background:#f5f5f5}.extract-btn{color:#fff;cursor:pointer;background:#6b78a8;border:none;border-radius:6px;width:100%;min-height:44px;padding:14px 20px;font-size:14px;font-weight:600;transition:all .2s}.extract-btn:hover{background:#5a6690;transform:translateY(-1px);box-shadow:0 4px 12px #6b78a84d}.extract-btn:active{transform:translateY(0)}.extract-btn:disabled{cursor:not-allowed;background:#ccc;transform:none}.how-it-works-content{text-align:left;background:#fff;border-radius:10px;margin-top:8px;padding:16px 20px;box-shadow:0 4px 16px #0000001a}.how-it-works-content h4{text-transform:uppercase;letter-spacing:.05em;color:#6b78a8;margin-bottom:12px;font-size:13px;font-weight:600}.how-it-works-content ul{margin:0;padding:0;list-style:none}.how-it-works-content li{color:#444;align-items:baseline;gap:8px;margin-bottom:10px;font-size:14px;line-height:1.5;display:flex}.how-it-works-content li:last-child{margin-bottom:0}.how-it-works-content strong{color:#6b78a8;white-space:nowrap;min-width:80px;font-weight:700}.form-error{color:#dc2626;text-align:left;background:#fee2e2;border:1px solid #fecaca;border-radius:6px;margin-bottom:16px;padding:12px;font-size:13px}.hero--collapsed{padding:24px}.hero--expanded{padding:32px 24px}.hero-how{text-align:center;margin-top:12px}.hero-how__toggle{color:#ffffffe6;cursor:pointer;background:0 0;border:none;min-height:44px;padding:6px 8px;font-size:14px;font-weight:600;text-decoration:underline}.hero-how__toggle:hover{color:#fff}.hero-subtitle,.hero--expanded .form-tabs,.hero-how{animation:.2s hero-reveal}@media (prefers-reduced-motion:reduce){.hero-subtitle,.hero--expanded .form-tabs,.hero-how{animation:none}}@media (width<=768px){.hero{padding:20px 24px}.hero h1{margin-bottom:8px;font-size:24px}.hero p{margin-bottom:16px;font-size:14px}.extraction-form{max-width:100%;padding:16px}.form-tabs{flex-direction:column;margin-bottom:12px}.form-tab{padding:10px 12px;font-size:12px}.form-label{font-size:11px}.form-input{padding:10px 12px;font-size:13px}.extract-btn{padding:11px 16px;font-size:12px}}.featured-section{margin-bottom:var(--space-8,2rem)}.featured-section__header{margin-bottom:var(--space-5,1.25rem);justify-content:space-between;align-items:center;display:flex}.featured-section__title{color:#1a1a1a;margin:0;font-family:Playfair Display,serif;font-size:28px;font-weight:700}.featured-section__link{font-size:var(--text-sm,.875rem);color:var(--color-primary);font-weight:600;text-decoration:none;transition:color .2s}.featured-section__link:hover{color:var(--color-primary-dark,#5a6690)}.featured-section__loading{text-align:center;padding:var(--space-8,2rem);color:var(--color-text-light,#666)}.featured-grid{gap:var(--space-5,1.25rem);grid-template-columns:2fr 1fr;display:grid}.featured-main{border-radius:var(--radius-lg,12px);height:380px;text-decoration:none;transition:transform .3s;display:block;position:relative;overflow:hidden}.featured-main:hover{transform:translateY(-4px)}.featured-main__image{background-position:50%;background-size:cover;background-color:var(--color-primary);width:100%;height:100%;position:relative}.featured-overlay{color:#fff;padding:var(--space-6,1.5rem);background:linear-gradient(#0000,#000c);flex-direction:column;justify-content:flex-end;display:flex;position:absolute;bottom:0;left:0;right:0}.featured-category{font-size:var(--text-xs,.6875rem);text-transform:uppercase;letter-spacing:.05em;opacity:.8;margin-bottom:var(--space-2,.5rem);color:#fff;font-weight:600}.featured-title{font-family:var(--font-display);font-size:var(--text-xl,1.25rem);margin-bottom:var(--space-2,.5rem);color:#fff;font-weight:700;line-height:1.3}.featured-excerpt{font-size:var(--text-sm,.875rem);opacity:.9;margin-bottom:var(--space-3,.75rem);color:#fff;line-height:1.5}.featured-meta{font-size:var(--text-xs,.6875rem);opacity:.8;color:#fff;gap:0;display:flex}.featured-meta span:not(:last-child):after{content:" • ";opacity:.6;margin:0 8px}.featured-side{gap:var(--space-5,1.25rem);flex-direction:column;display:flex}.side-card{border-radius:var(--radius-md,8px);height:180px;text-decoration:none;transition:transform .3s;display:block;position:relative;overflow:hidden}.side-card:hover{transform:translateY(-4px)}.side-card__image{background-position:50%;background-size:cover;width:100%;height:100%;position:relative}.side-overlay{color:#fff;padding:var(--space-4,1rem);background:linear-gradient(#0000,#000000b3);flex-direction:column;justify-content:flex-end;display:flex;position:absolute;bottom:0;left:0;right:0}.side-title{font-family:var(--font-display);font-size:var(--text-base,1rem);color:#fff;margin:0;font-weight:600;line-height:1.3}@media (width<=1024px){.featured-grid{gap:var(--space-4,1rem);grid-template-columns:1fr}.featured-main{height:300px}.featured-side{gap:var(--space-3,.75rem);flex-direction:row}.side-card{flex:1;height:150px}}@media (width<=768px){.featured-section__title{font-size:var(--text-xl,1.25rem)}.featured-main{height:250px}.featured-side{flex-direction:column}.side-card{height:180px}}.sidebar{gap:var(--space-5,1.25rem);flex-direction:column;display:flex}.sidebar-section{border-radius:var(--radius-md,8px);padding:var(--space-4,1rem);background:#fff;box-shadow:0 2px 8px #0000000f}.sidebar-title{font-family:var(--font-display);font-size:var(--text-base,1rem);margin-bottom:var(--space-3,.75rem);color:var(--color-text);margin-top:0;font-weight:700}.ad-space{border-radius:var(--radius-sm,4px);background:#f5f5f5;border:2px dashed #d0d0d0;justify-content:center;align-items:center;min-height:280px;display:flex}.ad-space--250{min-height:250px}.ad-placeholder{font-size:var(--text-sm,.875rem);color:#999;text-align:center;line-height:1.5}.trending-list{margin:0;padding:0;list-style:none}.trending-item{gap:var(--space-3,.75rem);padding:var(--space-2,.5rem) 0;font-size:var(--text-sm,.875rem);border-bottom:1px solid #f0f0f0;display:flex}.trending-item:last-child{border-bottom:none}.trending-number{color:var(--color-primary);flex-shrink:0;min-width:20px;font-weight:700}.trending-title{color:var(--color-text);cursor:pointer;line-height:1.4;text-decoration:none;transition:color .2s}.trending-title:hover{color:var(--color-primary);text-decoration:underline}.trending-title:focus{outline:2px solid var(--color-primary);outline-offset:2px;border-radius:2px}.trending-title:focus:not(:focus-visible){outline:none}.trending-title:visited{color:var(--color-text)}.trending-skeleton{margin:0;padding:0;list-style:none}.skeleton-item{gap:var(--space-3,.75rem);padding:var(--space-2,.5rem) 0;border-bottom:1px solid #f0f0f0;align-items:flex-start;display:flex}.skeleton-item:last-child{border-bottom:none}.skeleton-number{background:linear-gradient(90deg,#f0f0f0 0%,#e0e0e0 50%,#f0f0f0 100%) 0 0/200% 100%;border-radius:3px;min-width:20px;height:16px;animation:1.5s ease-in-out infinite skeleton-shimmer}.skeleton-text{background:linear-gradient(90deg,#f0f0f0 0%,#e0e0e0 50%,#f0f0f0 100%) 0 0/200% 100%;border-radius:3px;flex:1;height:16px;animation:1.5s ease-in-out infinite skeleton-shimmer}.skeleton-text--short{width:75%}.newsletter-description{font-size:var(--text-sm,.875rem);color:#666;margin-bottom:var(--space-4,1rem);line-height:1.5}.newsletter-form{gap:var(--space-2,.5rem);flex-direction:column;display:flex}.newsletter-input{padding:var(--space-2,.5rem) var(--space-3,.75rem);border:1px solid var(--color-border,#e5e5e5);border-radius:var(--radius-sm,4px);font-size:var(--text-sm,.875rem);font-family:var(--font-body);transition:border-color .2s}.newsletter-input:focus{border-color:var(--color-primary);outline:none;box-shadow:0 0 0 3px #6b78a81a}.newsletter-btn{padding:var(--space-2,.5rem) var(--space-4,1rem);background:var(--color-primary);color:#fff;border-radius:var(--radius-sm,4px);font-weight:600;font-size:var(--text-sm,.875rem);cursor:pointer;border:none;transition:background .2s}.newsletter-btn:hover{background:var(--color-primary-dark,#5a6690)}.newsletter-btn:active{transform:scale(.98)}.newsletter-success{font-size:var(--text-sm,.875rem);color:var(--color-herb-green,#5c8a62);padding:var(--space-3,.75rem);border-radius:var(--radius-sm,4px);text-align:center;background:#5c8a621a;margin:0}@media (width<=1024px){.sidebar{margin-top:var(--space-6,1.5rem)}}@media (width<=768px){.sidebar{gap:var(--space-4,1rem)}.sidebar-section{padding:var(--space-3,.75rem)}.ad-space,.ad-space--250{min-height:200px}}.faq-section{background:#fff;border-radius:12px;margin-bottom:48px;padding:32px;box-shadow:0 2px 8px #0000000f}.faq-section__header h2{color:#1a1a1a;margin-bottom:16px;font-family:Playfair Display,serif;font-size:28px;font-weight:700}.faq-section__items{flex-direction:column;display:flex}.faq-item{border-bottom:1px solid #f0f0f0;margin-bottom:6px;padding-bottom:6px}.faq-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.faq-item__question{color:#1a1a1a;cursor:pointer;-webkit-user-select:none;user-select:none;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:4px 0;font-size:14px;font-weight:600;display:flex}.faq-item__question:hover{color:#6b78a8}.faq-item__icon{color:#6b78a8;text-align:center;flex-shrink:0;width:18px;height:18px;font-size:18px;line-height:1;transition:transform .3s;display:inline-block}.faq-item[data-expanded=true] .faq-item__icon{transform:rotate(45deg)}.faq-item__answer{color:#666;margin-top:4px;padding:2px 0 0;font-size:13px;line-height:1.5}.faq-item__answer[hidden]{display:none}.faq-item__answer:not([hidden]){animation:.3s slideDown}.faq-item__answer p{margin:0}@media (width<=768px){.faq-section{padding:20px}.faq-section__header h2{font-size:24px}.faq-item__question{font-size:13px}.faq-item__answer{font-size:12px}}.recipe-grid-section{margin-bottom:48px}.recipe-grid-section__header{justify-content:space-between;align-items:center;margin-bottom:20px;display:flex}.recipe-grid-section__header h2{color:#1a1a1a;margin:0;font-family:Playfair Display,serif;font-size:28px;font-weight:700}.recipe-grid-section__view-all{color:#6b78a8;font-size:14px;font-weight:500;text-decoration:none;transition:color .2s}.recipe-grid-section__view-all:hover{color:#5a6690;text-decoration:underline}.recipe-grid{grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:48px;display:grid}.recipe-grid-loading{text-align:center;flex-direction:column;align-items:center;gap:16px;padding:48px;display:flex}.recipe-grid-loading .spinner{border:3px solid #e0e0e0;border-top-color:#6b78a8;border-radius:50%;width:40px;height:40px;animation:.8s linear infinite spin}.recipe-grid-loading span{color:#666;font-size:14px}.recipe-grid-error{text-align:center;padding:48px}.recipe-grid-error p{color:#dc2626;font-size:14px}.recipe-grid-empty{text-align:center;color:#666;padding:48px;font-size:14px}@media (width<=1024px){.recipe-grid{grid-template-columns:repeat(2,1fr);gap:16px}.recipe-grid-section__header h2{font-size:24px}}@media (width<=768px){.recipe-grid-section__header{flex-direction:column;align-items:flex-start;gap:12px}.recipe-grid-section__header h2{font-size:22px}.recipe-grid{grid-template-columns:1fr;gap:16px}}.recipe-hero-image{background-color:var(--color-gray-100,#f5f5f5);justify-content:center;align-items:center;width:100%;margin:0 auto;display:flex}.recipe-hero-image img{object-fit:cover;width:100%;height:auto;max-height:300px;display:block}@media (width>=769px){.recipe-hero-image{width:30%;max-width:400px}.recipe-hero-image img{border-radius:8px;box-shadow:0 4px 12px #0000001a}}@media (width<=768px){.recipe-hero-image{width:100%}.recipe-hero-image img{border-radius:0}}.recipe-hero-image__pending{color:#9ca3af;text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:100%;min-height:160px;padding:2rem;display:flex}.recipe-hero-image__pending span{text-transform:uppercase;letter-spacing:.05em;color:#9ca3af;font-size:12px;font-weight:600}.recipe-hero-image__pending p{color:#b0b7c3;max-width:200px;margin:0;font-size:13px;line-height:1.4}.recipe-hero-image-loading{text-align:center;background-color:var(--color-gray-100,#f5f5f5);width:100%;padding:2rem}.recipe-hero{width:100%;min-height:160px;position:relative;overflow:hidden}.recipe-hero__background{z-index:0;background:linear-gradient(135deg,#6b78a8 0%,#8c97c8 100%);width:100%;height:100%;position:absolute;top:0;left:0}.recipe-hero__overlay{z-index:1;justify-content:center;align-items:center;width:100%;min-height:160px;padding:1.5rem 1rem;display:flex;position:relative}.recipe-hero__container{max-width:var(--max-width,1200px);color:#fff;width:100%}.recipe-hero .breadcrumbs{margin-bottom:.75rem}.recipe-hero .breadcrumbs__list{color:#ffffffe6}.recipe-hero .breadcrumbs a{color:#ffffffe6;text-decoration:none}.recipe-hero .breadcrumbs a:hover{color:#fff;text-decoration:underline}.recipe-hero .breadcrumbs__separator{color:#ffffffb3}.recipe-hero__meta{flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:.75rem;font-size:.875rem;display:flex}.recipe-hero__meta-item{color:#fffffff2;align-items:center;gap:.25rem;display:inline-flex}.recipe-hero__meta-separator{color:#ffffffb3;margin:0 .25rem}.recipe-hero__title{font-family:var(--font-heading,"Playfair Display", serif);color:#fff;margin:0 0 .5rem;font-size:2rem;font-weight:700;line-height:1.2}.recipe-hero__description{color:#fffffff2;max-width:800px;margin:0;font-size:1rem;line-height:1.5}.recipe-hero__gl{color:#fff;font-family:var(--font-sans,"Inter", sans-serif);background:#ffffff2e;border:1px solid #ffffff59;border-radius:999px;align-items:baseline;gap:.5rem;margin-top:.75rem;padding:.375rem .875rem;display:inline-flex}.recipe-hero__gl-label{text-transform:uppercase;letter-spacing:.04em;opacity:.9;font-size:.8125rem;font-weight:500}.recipe-hero__gl-value{font-size:1.5rem;font-weight:700;line-height:1}.recipe-hero__gl-rating{font-size:.875rem;font-weight:600}.recipe-hero__gl--low{background:#22c55e47;border-color:#bbf7d099}.recipe-hero__gl--medium{background:#eab30847;border-color:#fef08a99}.recipe-hero__gl--high{background:#ef444447;border-color:#fecaca99}@media (width<=768px){.recipe-hero{min-height:133px}.recipe-hero__overlay{min-height:133px;padding:1rem}.recipe-hero__gl{margin-top:.5rem;padding:.25rem .75rem}.recipe-hero__gl-value{font-size:1.25rem}.recipe-hero__gl-label{font-size:.75rem}.recipe-hero__meta{gap:.75rem;font-size:.8125rem}.recipe-hero__title{font-size:1.5rem}.recipe-hero__description{-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:.875rem;display:-webkit-box;overflow:hidden}}@media (width<=480px){.recipe-hero{min-height:120px}.recipe-hero__title{font-size:1.25rem}.recipe-hero__meta{gap:.5rem;font-size:.75rem}.recipe-hero__description{display:none}}.recipe-details{flex-direction:column;gap:1.5rem;display:flex}.description{color:#666;margin-bottom:12px;font-size:14px;font-weight:600;line-height:1.5}.recipe-meta{border-bottom:2px solid #f0f0f0;flex-wrap:wrap;gap:24px;margin-bottom:16px;padding:12px 0;font-size:14px;display:flex}.recipe-meta-item{color:#333;align-items:center;gap:6px;display:flex}.recipe-meta .meta-icon{font-size:16px}.recipe-meta .meta-label{color:#666;font-weight:600}.recipe-meta .meta-value{color:#1a1a1a;font-weight:500}.recipe-section{padding-bottom:1.5rem}.recipe-section:last-child{padding-bottom:0}.recipe-section__title,.section-title{color:#1a1a1a;margin-bottom:12px;font-family:Playfair Display,serif;font-size:20px;font-weight:700}.recipe-meta-block{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:1rem;display:flex}.recipe-meta-row{justify-content:space-between;align-items:center;font-size:.875rem;display:flex}.recipe-meta-label{color:#6b7280;font-weight:600}.recipe-meta-value{color:#111827}.recipe-source-link{color:#6b78a8;text-decoration:none}.recipe-source-link:hover{text-decoration:underline}.ingredient-group{margin-bottom:1rem}.ingredient-group:last-child{margin-bottom:0}.ingredient-group__title{color:#111827;text-transform:capitalize;margin:0 0 .75rem;font-family:Playfair Display,serif;font-size:1.125rem;font-weight:600}.ingredients-list,.instructions-list{margin-bottom:0;padding:0;list-style:none}.ingredient-item{background:#fafafa;border-left:3px solid #6b78a8;border-radius:6px;align-items:center;gap:8px;margin-bottom:4px;padding:8px 12px;font-size:13px;transition:all .2s;display:flex}.ingredient-text{color:#1a1a1a;flex:1;font-size:13px;line-height:1.5}.instruction-item{background:#fafafa;border-left:3px solid #6b78a8;border-radius:8px;margin-bottom:8px;padding:12px 14px 12px 48px;position:relative}.step-number{color:#6b78a8;background:#fff;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;font-family:Playfair Display,serif;font-size:20px;font-weight:700;display:flex;position:absolute;top:12px;left:10px;box-shadow:0 2px 8px #0000001a}.step-text{color:#1a1a1a;font-size:13px;line-height:1.5}.calculation-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.btn-toggle-math{color:#fff;cursor:pointer;background:#6b78a8;border:none;border-radius:4px;padding:.5rem 1rem;font-size:.875rem;font-weight:600;transition:background-color .2s}.btn-toggle-math:hover{background:#5a6690}.btn-toggle-math:focus{outline-offset:2px;outline:2px solid #6b78a8}.calculation-summary{background:#fafafa;border:1px solid #e5e7eb;border-radius:8px;padding:1rem;font-size:.875rem}.calculation-step{color:#111827;margin-bottom:.5rem}.calculation-step:last-child{margin-bottom:0;font-weight:600}.gl-data-warning{border-radius:4px;margin-top:1rem;padding:.75rem;font-size:.875rem;line-height:1.5}.gl-data-warning.fallback{color:#92400e;background:#fef3c7;border:1px solid #f59e0b}.gl-data-warning.estimated{color:#1e40af;background:#dbeafe;border:1px solid #3b82f6}.gl-data-warning strong{font-weight:700}@media (width<=768px){.recipe-details{gap:1.5rem}.recipe-section{padding-bottom:1.5rem}.recipe-section__title,.section-title{font-size:18px}.recipe-meta-block{padding:.75rem}.instruction-item{padding-left:44px}.step-number{width:28px;height:28px;font-size:16px}}@media (width<=480px){.recipe-section__title,.section-title{font-size:16px}.ingredient-item{padding:6px 10px;font-size:12px}.step-text{font-size:12px}}.recipe-sidebar{flex-direction:column;align-self:flex-start;gap:1rem;display:flex;position:sticky;top:100px}.sidebar-card{border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius,8px);background:#fff;padding:1.5rem;box-shadow:0 1px 3px #0000001a}.sidebar-card__title{font-family:var(--font-heading,"Playfair Display", serif);color:var(--color-text,#111827);margin:0 0 1rem;font-size:1.25rem;font-weight:700}.gl-display{text-align:center;background:linear-gradient(135deg,#ecfdf5 0%,#d1fae5 100%);border:2px solid #10b981;border-radius:8px;margin-bottom:12px;padding:12px}.gl-display--medium{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 100%);border-color:#f59e0b}.gl-display--high{background:linear-gradient(135deg,#fef2f2 0%,#fee2e2 100%);border-color:#ef4444}.gl-value-large{color:#10b981;margin-bottom:3px;font-family:Playfair Display,serif;font-size:36px;font-weight:800;line-height:1}.gl-display--medium .gl-value-large{color:#f59e0b}.gl-display--high .gl-value-large{color:#ef4444}.gl-rating{text-transform:uppercase;letter-spacing:.05em;color:#666;margin-bottom:6px;font-size:11px;font-weight:700}.gl-description{color:#666;margin:6px 0 0;font-size:11px;line-height:1.3}.quick-stats{grid-template-columns:repeat(2,1fr);gap:6px;margin-bottom:12px;display:grid}.stat-box{text-align:center;background:#fafafa;border-radius:6px;padding:6px 8px}.stat-value{color:#333;margin-bottom:2px;font-size:18px;font-weight:700;display:block}.stat-label{color:#999;font-size:11px;display:block}.action-buttons{flex-direction:column;gap:8px;display:flex}.action-buttons .btn{justify-content:center;width:100%;padding:10px 16px;font-size:14px;font-weight:600}.sidebar-card--nutrition{padding:16px}.sidebar-card--nutrition .card{box-shadow:none;border:none;margin:0}.sidebar-title{color:#1a1a1a;margin-bottom:12px;font-family:Playfair Display,serif;font-size:16px;font-weight:700}.nutrition-grid{grid-template-columns:1fr;gap:4px;display:grid}.nutrition-row{background:#fafafa;border-radius:4px;justify-content:space-between;align-items:center;padding:5px 10px;display:flex}.nutrition-label{color:#666;font-size:12px;font-weight:600}.nutrition-value{color:#1a1a1a;font-size:14px;font-weight:700}.sidebar-card--recommendations{padding:16px}.sidebar-card--recommendations .card{box-shadow:none;border:none;margin:0}@media (width<=1024px){.recipe-sidebar{position:static;top:auto}}@media (width<=768px){.recipe-sidebar{gap:1rem}.sidebar-card{padding:1rem}.stats-grid{grid-template-columns:repeat(2,1fr);gap:.75rem}.stat{padding:.75rem}.stat__value{font-size:1.25rem}.gl-scale{gap:.375rem}.gl-scale-item{padding:.375rem;font-size:.6875rem}}@media (width<=480px){.stats-grid{grid-template-columns:repeat(2,1fr)}.gl-title{font-size:1.25rem}.gl-rating{font-size:1rem}}@media print{.recipe-sidebar{page-break-inside:avoid;position:static}.sidebar-card--actions{display:none}}.recipe-container{max-width:var(--max-width,1200px);margin:0 auto;padding:2rem 1rem}.recipe-layout{grid-template-columns:2fr 1fr;align-items:flex-start;gap:2rem;display:grid}@media (width<=1024px){.recipe-layout{grid-template-columns:1fr;gap:2rem}.recipe-sidebar{order:2}.recipe-details{order:1}}@media (width<=768px){.recipe-container{padding:1.5rem 1rem}.recipe-layout{gap:1.5rem}}@media (width<=480px){.recipe-container{padding:1rem .75rem}.recipe-layout{gap:1rem}}@media print{.recipe-container{max-width:100%;padding:0}.recipe-layout{grid-template-columns:1fr;gap:1rem}.recipe-section,.instruction-item{page-break-inside:avoid}}.tags-section{background:#fff;border-radius:12px;margin-top:16px;padding:20px;box-shadow:0 2px 12px #0000000f}.tags-title{color:#1a1a1a;margin-bottom:16px;font-size:16px;font-weight:700}.tags-container{flex-wrap:wrap;gap:10px;display:flex}.tag-primary,.tag-secondary{cursor:pointer;border-radius:20px;padding:8px 14px;font-size:13px;font-weight:600;text-decoration:none;transition:all .2s;display:inline-block}.tag-primary{color:#6b78a8;background:#f0f0f0;border:1px solid #6b78a8;font-weight:700}.tag-primary:hover{color:#fff;background:#6b78a8;transform:translateY(-2px);box-shadow:0 4px 12px #6b78a833}.tag-secondary{color:#999;background:0 0;border:1px solid #d0d0d0;font-size:12px}.tag-secondary:hover{color:#666;border-color:#999}@media (width<=768px){.tags-section{margin-top:16px;padding:16px}.tag-primary,.tag-secondary{padding:6px 12px;font-size:12px}}.about-calculation{border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius,8px);background:#fff;margin:0 0 2rem;overflow:hidden}.about-calculation__header{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:1rem 1.25rem;display:flex}.about-calculation__header:hover{background:var(--color-bg-subtle,#f9fafb)}.about-calculation__title{font-family:var(--font-heading,"Playfair Display", serif);color:var(--color-text,#111827);margin:0;font-size:1rem;font-weight:700}.about-calculation__toggle{color:var(--color-text-light,#6b7280);flex-shrink:0;font-size:1.25rem;font-weight:300;line-height:1}.about-calculation__body{border-top:1px solid var(--color-border,#e5e7eb);padding:0 1.25rem 1.25rem}.about-calculation__body p{font-family:var(--font-body,"Inter", sans-serif);color:var(--color-text-secondary,#374151);margin:.9rem 0 0;font-size:.9rem;line-height:1.7}.about-calculation__body p:first-child{margin-top:1rem}.about-calculation__body strong{color:var(--color-text,#111827);font-weight:600}.about-calculation__title:only-child{padding:1rem 1.25rem}.related-section{margin:24px 0 32px;padding:0 24px}.related-grid{grid-template-columns:repeat(3,1fr);gap:20px;max-width:900px;margin:0 auto;display:grid}@media (width<=1024px){.related-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=640px){.related-section{padding:0 16px}.related-grid{grid-template-columns:1fr;gap:16px}}.blog-grid{grid-template-columns:repeat(4,1fr);gap:20px;display:grid}.blog-card{cursor:pointer;background:#fff;border-radius:8px;transition:transform .3s;overflow:hidden;box-shadow:0 2px 8px #0000000f}.blog-card:hover{transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.blog-image{background:#e0e0e0;width:100%;height:120px;overflow:hidden}.blog-image img{object-fit:cover;width:100%;height:100%}.blog-content{padding:16px}.blog-category{text-transform:uppercase;letter-spacing:.05em;color:#6b78a8;margin-bottom:4px;font-size:11px;font-weight:600}.blog-title{color:#1a1a1a;margin-bottom:6px;font-family:Playfair Display,serif;font-size:15px;font-weight:600;line-height:1.3}.blog-excerpt{color:#666;margin-bottom:8px;font-size:12px;line-height:1.5}.blog-meta{color:#999;font-size:11px}.blog-card--skeleton{pointer-events:none}.blog-skeleton{background:linear-gradient(90deg,#e5e7eb 25%,#f3f4f6 50%,#e5e7eb 75%) 0 0/200% 100%;border-radius:4px;margin-bottom:6px;animation:1.4s infinite blog-shimmer}.blog-skeleton--category{width:60px;height:10px}.blog-skeleton--title{width:90%;height:14px;margin-bottom:4px}.blog-skeleton--excerpt{width:100%;height:10px}.article-body{color:#1a1a1a;font-size:1.0625rem;line-height:1.8}.article-body h2{color:#1a1a1a;margin:2rem 0 .75rem;font-family:Playfair Display,serif;font-size:1.5rem;font-weight:700}.article-body h3{color:#1a1a1a;margin:1.5rem 0 .5rem;font-family:Playfair Display,serif;font-size:1.25rem;font-weight:600}.article-body p{margin:0 0 1.25rem}.article-body ul,.article-body ol{margin:0 0 1.25rem 1.5rem;padding:0}.article-body li{margin-bottom:.4rem}.article-body blockquote{color:#374151;background:#f0f2f8;border-left:4px solid #6b78a8;border-radius:0 6px 6px 0;margin:1.5rem 0;padding:.75rem 1.25rem;font-style:italic}.article-body blockquote p{margin:0}.article-body hr{border:none;border-top:1px solid #e5e7eb;margin:2rem 0}.article-body strong{font-weight:700}.article-body em{font-style:italic}.article-body s{color:#6b7280;text-decoration:line-through}@media (width<=1024px){.blog-grid{grid-template-columns:repeat(2,1fr);gap:16px}}@media (width<=768px){.blog-grid{grid-template-columns:1fr;gap:12px}.blog-image{height:100px}.blog-content{padding:12px}.blog-title{font-size:14px}.blog-excerpt{font-size:11px}}.admin-container{max-width:var(--container-xl,1200px);margin:0 auto;padding:0 24px 32px}@media (width<=640px){.admin-container{padding:0 16px 24px}}.admin-header{margin-bottom:1.5rem}.admin-header__title{font-family:var(--font-heading,"Playfair Display", serif);color:var(--color-text,#1a202c);margin-bottom:.75rem;font-size:1.75rem;font-weight:700}.admin-tabs{border-bottom:2px solid var(--color-border,#e5e7eb);-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:.25rem;display:flex;overflow-x:auto}.admin-tabs::-webkit-scrollbar{display:none}.admin-tab{font-family:var(--font-body,"Inter", sans-serif);color:var(--color-text-light,#6b7280);cursor:pointer;white-space:nowrap;background:0 0;border:none;border-bottom:3px solid #0000;margin-bottom:-2px;padding:.75rem 1.5rem;font-size:.9375rem;font-weight:400;transition:color .2s,border-color .2s}.admin-tab:hover{color:var(--color-primary,#2563eb)}.admin-tab[data-active=true]{border-bottom-color:var(--color-primary,#2563eb);color:var(--color-primary,#2563eb);font-weight:600}@media (width<=640px){.admin-tab{padding:.625rem 1rem;font-size:.875rem}}.admin-error{border-radius:var(--radius,.5rem);color:var(--color-error,#ef4444);background:#fef2f2;margin-bottom:1rem;padding:1rem;font-size:.9375rem}.admin-loading{text-align:center;padding:2rem}.admin-loading .spinner{margin:0 auto}.admin-auth-loading{text-align:center;max-width:400px;margin:2rem auto}.admin-auth-loading .spinner{margin:0 auto 1rem}.admin-failed-item{border-left:4px solid var(--color-text-lighter,#9ca3af);opacity:.8;overflow:hidden}.admin-failed-item__title{color:var(--color-text-light,#6b7280);word-break:break-word;margin-bottom:.25rem}.admin-failed-item__url{color:var(--color-text-lighter,#9ca3af);word-break:break-all;margin-bottom:.5rem;font-size:.875rem}.admin-failed-item__meta{color:var(--color-text-lighter,#9ca3af);flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.5rem;font-size:.875rem;display:flex}.admin-failed-item__error{color:var(--color-text-lighter,#9ca3af);word-break:break-word;margin-bottom:.5rem;font-size:.75rem;font-style:italic}.admin-failed-item__delete{color:var(--color-error,#ef4444);padding:.25rem .5rem;font-size:.75rem}.admin-pagination{justify-content:center;align-items:center;gap:.5rem;margin-top:1.5rem;padding:1rem 0;display:flex}.admin-pagination__info{color:var(--color-text-light,#6b7280);padding:.5rem 1rem;font-size:.9375rem}.admin-pagination button{padding:.5rem 1rem}.admin-modal-overlay{z-index:1000;background:#0009;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-modal{background-color:var(--color-bg-card,#fff);border-radius:var(--radius-lg,12px);width:100%;max-width:500px;margin:1rem;padding:2rem;box-shadow:0 20px 60px #0000004d}.admin-modal__title{color:var(--color-text,#1a202c);margin-bottom:1rem;font-size:1.5rem;font-weight:600}.admin-modal__body{color:var(--color-text-light,#4a5568);margin-bottom:1.5rem;font-size:1rem;line-height:1.6}.admin-modal__body--no-margin{margin-bottom:0}.admin-modal__loading{text-align:center;padding:1.5rem 0}.admin-modal__spinner{border:4px solid var(--color-border,#e5e7eb);border-top-color:var(--color-primary,#2563eb);border-radius:50%;width:48px;height:48px;margin:0 auto 1rem;animation:1s linear infinite spin}.admin-modal__actions{justify-content:flex-end;gap:.75rem;display:flex}.admin-modal__actions button{padding:.75rem 1.5rem;font-size:1rem}@media (width<=640px){.admin-modal{padding:1.5rem}.admin-modal__actions{flex-direction:column-reverse}.admin-modal__actions button{width:100%}}.admin-detail-actions{border-bottom:1px solid var(--color-border,#e5e7eb);flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:1rem;padding:1rem 0;display:flex}.admin-detail-actions__group{flex-wrap:wrap;gap:.5rem;margin-left:auto;display:flex}.admin-detail-actions .btn-action{background:var(--color-primary,#2563eb);color:#fff;border-radius:var(--radius,8px);cursor:pointer;border:none;align-items:center;padding:.5rem 1rem;font-size:.875rem;font-weight:600;text-decoration:none;transition:background .2s,opacity .2s;display:inline-flex}.admin-detail-actions .btn-action:hover{opacity:.85}.admin-detail-actions .btn-action:disabled{opacity:.5;cursor:not-allowed}.admin-detail-actions .btn-action.btn-danger-text{color:var(--color-error,#dc2626);border:1px solid var(--color-error,#dc2626);background:0 0}.admin-detail-actions .btn-action.btn-danger-text:hover{background-color:#fef2f2}@media (width<=640px){.admin-detail-actions{flex-direction:column;align-items:stretch}.admin-detail-actions__group{margin-left:0}}.btn-danger{background-color:var(--color-error,#dc2626);color:#fff;border:1px solid var(--color-error,#dc2626);border-radius:var(--radius,8px);cursor:pointer;font-weight:500;transition:background-color .15s,opacity .15s}.btn-danger:hover:not(:disabled){background-color:#b91c1c;border-color:#b91c1c}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.btn-secondary.btn-danger-text{color:var(--color-error,#dc2626)}.btn-secondary.btn-danger-text:hover{border-color:var(--color-error,#dc2626);background-color:#fef2f2}.admin-settings-card{margin-bottom:var(--space-4,1rem);background:var(--color-bg-primary,#fff);border-radius:var(--radius-xl,12px);padding:var(--space-5,1.25rem) var(--space-6,1.5rem);box-shadow:var(--shadow-md,0 4px 6px -1px #0000001a);border:1px solid var(--color-border-light,#e5e7eb)}.admin-settings-card__toggle{cursor:pointer;text-align:left;background:0 0;border:none;justify-content:space-between;align-items:center;width:100%;padding:0;display:flex}.admin-settings-card__toggle:hover .admin-settings-card__title{color:var(--color-primary,#2563eb)}.admin-settings-card__toggle .admin-settings-card__title{margin-bottom:0;transition:color .2s}.admin-settings-card__indicator{border-radius:var(--radius-full,50%);background:var(--color-bg-tertiary,#f3f4f6);width:1.5rem;height:1.5rem;color:var(--color-text-light,#6b7280);flex-shrink:0;justify-content:center;align-items:center;margin-left:.75rem;font-size:1rem;font-weight:600;line-height:1;transition:background-color .2s,color .2s;display:flex}.admin-settings-card__toggle:hover .admin-settings-card__indicator{background:var(--color-primary,#2563eb);color:#fff}.admin-settings-card__body{margin-top:var(--space-4,1rem);padding-top:var(--space-4,1rem);border-top:1px solid var(--color-border-light,#e5e7eb)}.admin-settings-card__title{color:var(--color-text,#1a202c);margin-bottom:.75rem;font-size:1.125rem;font-weight:600}.admin-settings-card__description{color:var(--color-text-light,#6b7280);margin-bottom:.75rem;font-size:.875rem}.admin-settings-card__detail{color:var(--color-text-light,#6b7280);font-size:.75rem;line-height:1.6}.admin-settings-card--info{border-left:4px solid var(--color-primary,#2563eb);background:#f0f9ff}.admin-recipe-item{cursor:pointer;background:var(--color-bg-card,#fff);border-radius:var(--radius,.5rem);box-shadow:var(--shadow-md,0 4px 6px -1px #0000001a);margin-bottom:1rem;padding:1rem;transition:box-shadow .2s;overflow:hidden}.admin-recipe-item:hover{box-shadow:var(--shadow-lg,0 10px 15px -3px #0000001a)}.admin-recipe-item__header{flex-wrap:wrap;align-items:center;gap:.5rem;margin-bottom:.25rem;display:flex}.admin-recipe-item__title{word-break:break-word;flex:1;min-width:200px;margin:0}.admin-recipe-item__description{color:var(--color-text-light,#6b7280);word-break:break-word;margin-bottom:.5rem;font-size:.875rem}.admin-recipe-item__meta{flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:.75rem;font-size:.875rem;display:flex}.admin-recipe-item__gl{font-weight:500}.admin-recipe-item__gl[data-rating=low]{color:var(--color-success,#10b981)}.admin-recipe-item__gl[data-rating=medium]{color:var(--color-warning,#f59e0b)}.admin-recipe-item__gl[data-rating=high]{color:var(--color-error,#ef4444)}.admin-recipe-item__actions{flex-wrap:wrap;gap:.5rem;display:flex}.admin-recipe-item__actions button,.admin-recipe-item__actions a{padding:.25rem .5rem;font-size:.75rem;text-decoration:none}.admin-recipe-item__error{border-radius:var(--radius,.5rem);color:var(--color-error,#dc2626);background-color:#fef2f2;border:1px solid #fecaca;margin-top:.5rem;padding:.5rem .75rem;font-size:.875rem}.admin-recipe-item__notes{border-radius:var(--radius,.5rem);word-break:break-word;background:#fef3c7;margin-top:.75rem;padding:.5rem;font-size:.875rem}@media (width<=640px){.admin-recipe-item__header{flex-direction:column;align-items:flex-start}.admin-recipe-item__actions{width:100%}.admin-recipe-item__actions button,.admin-recipe-item__actions a{flex:1;min-width:0}}.admin-db-migration{margin-top:var(--space-8);padding:var(--space-6);background-color:var(--color-bg-secondary);border-radius:var(--radius-lg)}.admin-db-migration__title{margin-bottom:var(--space-4);font-size:var(--text-2xl);font-weight:var(--weight-semibold)}.admin-db-migration__description{margin-bottom:var(--space-4);color:var(--color-text-secondary);font-size:var(--text-base)}.admin-db-migration__file-group{margin-bottom:var(--space-4)}.admin-db-migration__file-input{padding:var(--space-2);border:1px solid var(--color-border-dark);border-radius:var(--radius-sm);background-color:var(--color-bg-primary);cursor:pointer}.admin-db-migration__file-input:disabled{cursor:not-allowed}.admin-db-migration__action-group{margin-bottom:var(--space-4)}.admin-db-migration__error{padding:var(--space-4);color:#721c24;border-radius:var(--radius-sm);margin-bottom:var(--space-4);background-color:#f8d7da}.admin-db-migration__results{padding:var(--space-4);border-radius:var(--radius-sm);margin-bottom:var(--space-4)}.admin-db-migration__results--success{color:#155724;background-color:#d4edda;border:1px solid #c3e6cb}.admin-db-migration__results--failure{color:#721c24;background-color:#f8d7da;border:2px solid #f5c6cb}.admin-db-migration__results-title{margin-bottom:var(--space-2);font-size:var(--text-lg);font-weight:var(--weight-semibold)}.admin-db-migration__results-message{margin-bottom:var(--space-2)}.admin-db-migration__results-stats{font-size:var(--text-base);opacity:.9;margin-bottom:var(--space-4)}.admin-db-migration__results-stats-failed{font-weight:var(--weight-semibold)}.admin-db-migration__raw-output{margin-top:var(--space-4)}.admin-db-migration__raw-output-title{font-size:var(--text-base);font-weight:var(--weight-semibold);margin-bottom:var(--space-2)}.admin-db-migration__raw-output-pre{color:#0f0;padding:var(--space-4);border-radius:var(--radius-sm);max-height:500px;font-size:.75rem;font-family:var(--font-mono);white-space:pre-wrap;word-break:break-word;background-color:#000;overflow:auto}.admin-db-migration__details{margin-top:var(--space-4)}.admin-db-migration__details-summary{cursor:pointer;font-weight:var(--weight-semibold);font-size:var(--text-base)}.admin-db-migration__details-list{margin-top:var(--space-2);max-height:300px;padding:var(--space-2);border-radius:var(--radius-sm);background-color:#0000000d;font-size:.75rem;overflow-y:auto}.admin-db-migration__detail-item{margin-bottom:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid #0000001a}.admin-db-migration__detail-statement{font-family:var(--font-mono);margin-bottom:.25rem;font-size:.7rem}.admin-db-migration__detail-result--success{color:#155724;font-weight:var(--weight-normal)}.admin-db-migration__detail-result--failure{color:#721c24;font-weight:var(--weight-semibold)}.admin-db-migration__warning{padding:var(--space-3);border:1px solid var(--color-warning);border-radius:var(--radius-sm);color:#856404;background-color:#fff3cd;font-size:.75rem}.admin-db-migration__warning-list{margin-top:.25rem;margin-bottom:0;padding-left:1.25rem}.admin-article-list__loading{color:var(--color-text-light);padding:var(--space-8) 0}.admin-article-list__error{color:var(--color-error);padding:var(--space-8) 0}.admin-article-list__header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.admin-article-list__title{margin:0}.admin-article-list__new-btn{padding:var(--space-2) var(--space-5);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--weight-semibold);font-size:var(--text-base);border:none}.admin-article-list__empty{text-align:center;padding:var(--space-12) 0;color:var(--color-text-light)}.admin-article-list__empty-btn{margin-top:var(--space-2);color:var(--color-primary);cursor:pointer;background:0 0;border:none;text-decoration:underline}.admin-article-list__table{border-collapse:collapse;width:100%;font-size:var(--text-base)}.admin-article-list__thead-row{border-bottom:2px solid var(--color-border-medium)}.admin-article-list__th{text-align:left;padding:var(--space-2) var(--space-3);font-weight:var(--weight-semibold);color:var(--color-text-primary)}.admin-article-list__th--actions{padding:var(--space-2) var(--space-3)}.admin-article-list__row{border-bottom:1px solid var(--color-bg-tertiary)}.admin-article-list__cell{padding:var(--space-3)}.admin-article-list__cell--title{padding:var(--space-3);max-width:280px}.admin-article-list__cell--meta{padding:var(--space-3);color:var(--color-text-light)}.admin-article-list__cell--date{padding:var(--space-3);color:var(--color-text-light);white-space:nowrap}.admin-article-list__cell--actions{padding:var(--space-3);white-space:nowrap}.admin-article-list__title-text{font-weight:var(--weight-medium)}.admin-article-list__status{border-radius:var(--radius-full);font-size:var(--text-sm);font-weight:var(--weight-semibold);padding:.2rem .6rem;display:inline-block}.admin-article-list__status--live{color:var(--color-success);background:var(--color-gl-low-bg)}.admin-article-list__status--scheduled{color:var(--color-warning);background:var(--color-gl-medium-bg)}.admin-article-list__status--draft{color:var(--color-text-light);background:var(--color-bg-tertiary)}.admin-article-list__edit-btn{margin-right:var(--space-2);color:var(--color-primary);cursor:pointer;font-weight:var(--weight-medium);background:0 0;border:none}.admin-article-list__delete-btn{color:var(--color-error);cursor:pointer;background:0 0;border:none}.admin-article-list__th--sortable{cursor:pointer;-webkit-user-select:none;user-select:none}.admin-article-list__th--sortable:hover{color:var(--color-primary)}.admin-article-list__pagination{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-4) 0;display:flex}.admin-article-list__page-btn{padding:var(--space-2) var(--space-4);background:var(--glyc-blue,#2c5aa0);color:#fff;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-medium);border:none}.admin-article-list__page-btn:disabled{opacity:.4;cursor:not-allowed}.admin-article-list__page-info{font-size:var(--text-sm);color:var(--color-text-light)}.admin-article-editor__toolbar-btn{padding:var(--space-1) var(--space-2);color:#374151;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-normal);line-height:var(--leading-none);background:0 0;border:1px solid #0000}.admin-article-editor__toolbar-btn--active{color:var(--color-primary);font-weight:var(--weight-semibold);background:#e0e7ff;border-color:#c7d2fe}.admin-article-editor__toolbar-btn:disabled{cursor:not-allowed}.admin-article-editor__toolbar{gap:var(--space-1);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md) var(--radius-md) 0 0;background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-wrap:wrap;display:flex}.admin-article-editor__toolbar-separator{width:1px;margin:0 var(--space-1);background:#e5e7eb}.admin-article-editor__header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.admin-article-editor__header-title{margin:0}.admin-article-editor__back-btn{cursor:pointer;color:#6b7280;background:0 0;border:none}.admin-article-editor__form{gap:var(--space-5);flex-direction:column;max-width:800px;display:flex}.admin-article-editor__label{font-weight:var(--weight-semibold);font-size:var(--text-base);color:#374151;margin-bottom:.35rem;display:block}.admin-article-editor__label-hint{font-weight:var(--weight-normal);color:#6b7280}.admin-article-editor__field{width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--text-base);box-sizing:border-box;border:1px solid #d1d5db}.admin-article-editor__field--title{font-size:var(--text-lg)}.admin-article-editor__field--textarea{resize:vertical}.admin-article-editor__field--datetime{width:auto}.admin-article-editor__slug-preview{font-size:var(--text-xs);color:#6b7280;margin-top:var(--space-1)}.admin-article-editor__slug-code{background:#f3f4f6;border-radius:3px;padding:.1rem .3rem}.admin-article-editor__row-2col{gap:var(--space-4);grid-template-columns:1fr 1fr;display:grid}.admin-article-editor__cover-row{gap:var(--space-4);grid-template-columns:1fr auto;align-items:end;display:grid}.admin-article-editor__cover-input-row{gap:var(--space-2);align-items:center;display:flex}.admin-article-editor__cover-input-row .admin-article-editor__field{flex:1}.admin-article-editor__generate-cover-btn{padding:var(--space-2) var(--space-4);background:var(--glyc-blue,#2c5aa0);color:#fff;border-radius:var(--radius-sm);cursor:pointer;font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap;border:none;transition:opacity .2s}.admin-article-editor__generate-cover-btn:hover:not(:disabled){opacity:.85}.admin-article-editor__generate-cover-btn:disabled{opacity:.5;cursor:not-allowed}.admin-article-editor__cover-prompt{margin-top:var(--space-3)}.admin-article-editor__cover-preview{margin-top:var(--space-2);object-fit:cover;border-radius:var(--radius-sm);border:1px solid #e5e5e5;max-width:320px;max-height:200px}.admin-article-editor__cover-color-wrapper,.admin-article-editor__label--center{text-align:center}.admin-article-editor__color-input{border-radius:var(--radius-md);cursor:pointer;border:1px solid #d1d5db;width:48px;height:38px;padding:2px}.admin-article-editor__body-wrapper{border-radius:var(--radius-md);border:1px solid #d1d5db;overflow:hidden}.admin-article-editor__publishing{padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);background:#f9fafb;border:1px solid #e5e7eb}.admin-article-editor__publishing-label{font-weight:var(--weight-semibold);margin-bottom:var(--space-3);font-size:var(--text-base);color:#374151;display:block}.admin-article-editor__publishing-options{gap:var(--space-6);flex-wrap:wrap;align-items:center;display:flex}.admin-article-editor__radio-label{align-items:center;gap:var(--space-2);cursor:pointer;font-weight:var(--weight-normal);display:flex}.admin-article-editor__publish-date-group{align-items:center;gap:var(--space-2);display:flex}.admin-article-editor__publish-date-label{font-size:var(--text-base);color:#374151}.admin-article-editor__publish-date-hint{font-size:var(--text-xs);color:#6b7280}.admin-article-editor__error{color:#dc2626;font-size:var(--text-base);margin:0}.admin-article-editor__loading{color:#6b7280;padding:var(--space-8) 0}.admin-article-editor__actions{gap:var(--space-3);display:flex}.admin-article-editor__submit-btn{padding:.625rem var(--space-6);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--weight-semibold);border:none}.admin-article-editor__submit-btn:disabled{cursor:not-allowed;background:#9ca3af}.admin-article-editor__cancel-btn{padding:.625rem var(--space-5);border-radius:var(--radius-md);cursor:pointer;color:#374151;background:#f3f4f6;border:none}.admin-author-list__loading{color:var(--color-text-light);padding:var(--space-8) 0}.admin-author-list__error{color:var(--color-error);padding:var(--space-8) 0}.admin-author-list__header{margin-bottom:var(--space-5);justify-content:space-between;align-items:center;display:flex}.admin-author-list__title{margin:0}.admin-author-list__new-btn{padding:var(--space-2) var(--space-5);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--weight-semibold);font-size:var(--text-base);border:none}.admin-author-list__new-btn:hover{background:var(--color-primary-dark)}.admin-author-list__empty{text-align:center;padding:var(--space-12) 0;color:var(--color-text-light)}.admin-author-list__empty-link{margin-top:var(--space-2);color:var(--color-primary);cursor:pointer;background:0 0;border:none;text-decoration:underline}.admin-author-list__items{gap:var(--space-3);flex-direction:column;display:flex}.admin-author-list__card{padding:var(--space-4) var(--space-5);border:1px solid var(--color-border-medium);border-radius:var(--radius-lg);background:var(--color-bg-secondary);justify-content:space-between;align-items:flex-start;display:flex}.admin-author-list__name{font-weight:var(--weight-semibold);margin-bottom:var(--space-1)}.admin-author-list__slug{color:var(--color-text-light);margin-bottom:var(--space-1);font-size:.8rem}.admin-author-list__slug code{background:var(--color-bg-tertiary);border-radius:var(--radius-sm);padding:.1rem .3rem}.admin-author-list__bio{font-size:var(--text-base);color:var(--color-text-secondary);margin-top:var(--space-1);max-width:500px}.admin-author-list__edit-btn{color:var(--color-primary);cursor:pointer;font-weight:var(--weight-medium);white-space:nowrap;background:0 0;border:none}.admin-author-list__edit-btn:hover{color:var(--color-primary-dark)}.admin-author-editor__header{margin-bottom:var(--space-6);justify-content:space-between;align-items:center;display:flex}.admin-author-editor__title{margin:0}.admin-author-editor__back-btn{cursor:pointer;color:var(--color-text-light);background:0 0;border:none}.admin-author-editor__back-btn:hover{color:var(--color-text-secondary)}.admin-author-editor__form{gap:var(--space-5);flex-direction:column;max-width:600px;display:flex}.admin-author-editor__label{font-weight:var(--weight-semibold);font-size:var(--text-base);color:var(--color-text-secondary);margin-bottom:.35rem;display:block}.admin-author-editor__label-hint{font-weight:var(--weight-normal);color:var(--color-text-light)}.admin-author-editor__field{width:100%;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border-dark);border-radius:var(--radius-md);font-size:var(--text-base);box-sizing:border-box}.admin-author-editor__field--textarea{resize:vertical}.admin-author-editor__hint{font-size:var(--text-xs);color:var(--color-text-light);margin-top:var(--space-1)}.admin-author-editor__hint code{background:var(--color-bg-tertiary);border-radius:var(--radius-sm);padding:.1rem .3rem}.admin-author-editor__error{color:var(--color-error);font-size:var(--text-base);margin:0}.admin-author-editor__actions{gap:var(--space-3);display:flex}.admin-author-editor__submit-btn{padding:.625rem var(--space-6);background:var(--color-primary);color:#fff;border-radius:var(--radius-md);cursor:pointer;font-weight:var(--weight-semibold);border:none}.admin-author-editor__submit-btn:hover{background:var(--color-primary-dark)}.admin-author-editor__submit-btn--saving{background:var(--color-text-light);cursor:not-allowed}.admin-author-editor__cancel-btn{padding:.625rem var(--space-5);background:var(--color-bg-tertiary);border-radius:var(--radius-md);cursor:pointer;color:var(--color-text-secondary);border:none}.admin-author-editor__cancel-btn:hover{background:var(--color-border-medium)}.admin-edit-prompt__overlay{z-index:1000;padding:var(--space-4);background:#00000080;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.admin-edit-prompt__dialog{background:var(--color-surface,#fff);width:100%;max-width:600px;max-height:90vh;color:var(--color-text-primary,#1a1a1a);padding:var(--space-6,1.5rem);border-radius:var(--radius-lg,12px);overflow-y:auto;box-shadow:0 20px 50px #00000040}.admin-edit-prompt__title{margin-bottom:var(--space-2);align-items:center;gap:var(--space-2);display:flex}.admin-edit-prompt__title-icon{color:var(--color-primary)}.admin-edit-prompt__helper{font-size:var(--text-base);color:var(--color-text-light);margin-bottom:var(--space-4)}.admin-edit-prompt__error{padding:var(--space-3);background:var(--color-gl-high-bg);border-radius:var(--radius-md);margin-bottom:var(--space-4);font-size:var(--text-base)}.admin-edit-prompt__field{margin-bottom:var(--space-4)}.admin-edit-prompt__label{font-size:var(--text-base);font-weight:var(--weight-semibold);margin-bottom:var(--space-2);color:var(--color-text-primary);display:block}.admin-edit-prompt__label-hint{font-size:var(--text-sm);font-weight:var(--weight-normal);color:var(--color-text-light);margin-left:var(--space-2)}.admin-edit-prompt__input{width:100%;padding:var(--space-3);font-size:var(--text-base);border:2px solid var(--color-border-medium);border-radius:var(--radius-md);font-family:inherit}.admin-edit-prompt__textarea{width:100%;min-height:200px;padding:var(--space-3);font-size:var(--text-base);border:2px solid var(--color-border-medium);border-radius:var(--radius-md);margin-bottom:var(--space-2);resize:vertical;font-family:inherit}.admin-edit-prompt__char-count-wrapper{margin-bottom:var(--space-4)}.admin-edit-prompt__char-count{font-size:var(--text-sm);color:var(--color-text-light);text-align:right}.admin-edit-prompt__char-count--over{color:var(--color-error)}.admin-edit-prompt__char-warning{font-size:var(--text-sm);color:var(--color-warning);margin-top:var(--space-1)}.admin-edit-prompt__char-error{font-size:var(--text-sm);color:var(--color-error);margin-top:var(--space-1)}.admin-edit-prompt__actions{gap:var(--space-2);display:flex}.admin-edit-prompt__actions .btn-primary{flex:1}.admin-bulk-reprocessor__error{margin-bottom:var(--space-4)}.admin-bulk-reprocessor__start-btn{margin-top:var(--space-4)}.admin-bulk-reprocessor__progress{margin-bottom:var(--space-4)}.admin-bulk-reprocessor__progress-bar-bg{background-color:var(--color-border-medium);border-radius:var(--radius-sm);width:100%;height:24px;overflow:hidden}.admin-bulk-reprocessor__progress-bar-fill{background-color:var(--color-success);color:#fff;height:100%;font-weight:var(--weight-bold);font-size:var(--text-base);justify-content:center;align-items:center;transition:width .3s;display:flex}.admin-bulk-reprocessor__stats{margin-bottom:var(--space-4)}.admin-bulk-reprocessor__success{margin-bottom:var(--space-4);padding:var(--space-4);background-color:var(--color-gl-low-bg);border:1px solid var(--color-gl-low-border);border-radius:var(--radius-sm);color:#155724}.admin-bulk-reprocessor__results{margin-bottom:var(--space-4)}.admin-bulk-reprocessor__errors-details{margin-top:var(--space-4)}.admin-bulk-reprocessor__errors-summary{cursor:pointer;font-weight:var(--weight-bold)}.admin-bulk-reprocessor__errors-list{margin-top:var(--space-2);padding-left:var(--space-6)}.admin-bulk-reprocessor__warning{margin-bottom:var(--space-4);padding:var(--space-4);background-color:var(--color-gl-medium-bg);border:1px solid var(--color-gl-medium-border);border-radius:var(--radius-sm);color:#856404}.admin-user-mgmt__title{margin-bottom:var(--space-4)}.admin-user-mgmt__stats{gap:var(--space-4);padding:var(--space-4);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.admin-user-mgmt__stat--active{color:var(--color-success)}.admin-user-mgmt__stat--suspended{color:var(--color-error)}.admin-user-mgmt__filters{gap:var(--space-2);margin-bottom:var(--space-4);flex-direction:column;display:flex}.admin-user-mgmt__filter-row{gap:var(--space-2);flex-wrap:wrap;display:flex}.admin-user-mgmt__filter-select{padding:var(--space-2);flex:150px}.admin-user-mgmt__filter-search{width:100%}.admin-user-mgmt__error{padding:var(--space-4);background:var(--color-gl-high-bg);border-radius:var(--radius-md);margin-bottom:var(--space-4)}.admin-user-mgmt__loading{text-align:center;padding:var(--space-8)}.admin-user-mgmt__spinner{margin:0 auto}.admin-user-mgmt__table-wrapper{padding:0;overflow:auto}.admin-user-mgmt__table{border-collapse:collapse;width:100%}.admin-user-mgmt__table-head{background:var(--color-bg-secondary);border-bottom:2px solid var(--color-border-medium)}.admin-user-mgmt__th{padding:var(--space-3);text-align:left;font-weight:var(--weight-semibold)}.admin-user-mgmt__th--right{padding:var(--space-3);text-align:right;font-weight:var(--weight-semibold)}.admin-user-mgmt__row{cursor:pointer;border-bottom:1px solid var(--color-border-medium);transition:background-color .2s}.admin-user-mgmt__row:hover{background:var(--color-bg-secondary)}.admin-user-mgmt__td{padding:var(--space-3)}.admin-user-mgmt__td--email{padding:var(--space-3);font-size:var(--text-sm)}.admin-user-mgmt__td--recipes{padding:var(--space-3);text-align:right;font-weight:var(--weight-medium)}.admin-user-mgmt__td--joined{padding:var(--space-3);font-size:var(--text-sm);color:var(--color-text-light)}.admin-user-mgmt__user-name{font-weight:var(--weight-medium)}.admin-user-mgmt__admin-badge{font-size:var(--text-xs);color:var(--color-primary);font-weight:var(--weight-semibold)}.admin-user-mgmt__badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.admin-user-mgmt__badge--free{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.admin-user-mgmt__badge--freemium{background:var(--color-gl-low-border);color:#065f46}.admin-user-mgmt__badge--premium{color:#6b21a8;background:#ddd6fe}.admin-user-mgmt__badge--professional{color:#1e40af;background:#dbeafe}.admin-user-mgmt__status--active{background:var(--color-gl-low-border);color:#065f46}.admin-user-mgmt__status--suspended{background:var(--color-gl-high-border);color:#991b1b}.admin-user-mgmt__status--unknown{background:var(--color-bg-tertiary);color:var(--color-text-secondary)}.admin-user-mgmt__pagination{justify-content:center;align-items:center;gap:var(--space-2);margin-top:var(--space-4);display:flex}.admin-user-mgmt__page-btn{padding:var(--space-2) var(--space-4)}.admin-user-mgmt__page-info{padding:var(--space-2) var(--space-4);color:var(--color-text-light)}.filter-bar__stats{background:var(--color-bg-card,#fff);border-radius:var(--radius,.5rem);box-shadow:var(--shadow-md,0 4px 6px -1px #0000001a);flex-wrap:wrap;gap:1rem;margin-bottom:1rem;padding:1rem;display:flex}.filter-bar{background:var(--color-bg-card,#fff);border-radius:var(--radius,.5rem);box-shadow:var(--shadow-md,0 4px 6px -1px #0000001a);flex-direction:column;gap:.5rem;margin-bottom:1rem;padding:1rem;display:flex}.filter-bar__row{flex-wrap:nowrap;gap:.5rem;display:flex;overflow-x:auto}.filter-bar__select{border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius,.5rem);background:var(--color-bg,#fff);color:var(--color-text,#1f2937);cursor:pointer;white-space:nowrap;min-width:120px;padding:.5rem;font-size:.875rem;transition:border-color .2s}.filter-bar__select:hover{border-color:var(--color-primary,#3b82f6)}.filter-bar__select:focus{border-color:var(--color-primary,#3b82f6);outline:none;box-shadow:0 0 0 3px #3b82f61a}.filter-bar__search{border:1px solid var(--color-border,#e5e7eb);border-radius:var(--radius,.5rem);background:var(--color-bg,#fff);width:100%;color:var(--color-text,#1f2937);padding:.5rem;font-size:.875rem;transition:border-color .2s}.filter-bar__search:hover{border-color:var(--color-primary,#3b82f6)}.filter-bar__search:focus{border-color:var(--color-primary,#3b82f6);outline:none;box-shadow:0 0 0 3px #3b82f61a}.filter-bar__search::placeholder{color:var(--color-text-light,#9ca3af)}.filter-bar .search-clear-btn{color:#999;cursor:pointer;background:0 0;border:none;padding:0 8px;font-size:24px;line-height:1;transition:color .2s;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.filter-bar .search-clear-btn:hover{color:#666}@media (width<=768px){.filter-bar__row{flex-wrap:wrap}.filter-bar__select{flex:1;min-width:100px}.filter-bar__stats{font-size:.875rem}}.filter-bar__row::-webkit-scrollbar{height:6px}.filter-bar__row::-webkit-scrollbar-track{background:var(--color-bg-light,#f3f4f6);border-radius:3px}.filter-bar__row::-webkit-scrollbar-thumb{background:var(--color-border,#e5e7eb);border-radius:3px}.filter-bar__row::-webkit-scrollbar-thumb:hover{background:var(--color-text-light,#9ca3af)}.filter-bar.browse{background:#fff;border-bottom:1px solid #e5e5e5}.filter-bar.browse .filter-container{justify-content:flex-start;align-items:center;gap:16px;width:100%;max-width:1200px;margin:0 auto;padding:16px 24px 8px;display:flex}.filter-bar.browse .filter-group{align-items:center;gap:12px;display:flex}.filter-bar.browse .filter-label{color:#666;white-space:nowrap;font-size:14px;font-weight:600}.filter-bar.browse .filter-select{color:#1a1a1a;cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666' d='M6 9L1 4h10z'/%3E%3C/svg%3E") right 10px center no-repeat;border:1px solid #e0e0e0;border-radius:6px;padding:8px 32px 8px 12px;font-size:14px;transition:border-color .2s}.filter-bar.browse .filter-select:hover{border-color:#6b78a8}.filter-bar.browse .filter-select:focus{border-color:#6b78a8;outline:none;box-shadow:0 0 0 3px #6b78a81a}.filter-bar.browse .search-group{flex:1;min-width:300px;position:relative}.filter-bar.browse .filter-search{color:#1a1a1a;background:#fff;border:1px solid #e0e0e0;border-radius:6px;width:100%;padding:8px 36px 8px 12px;font-family:Inter,system-ui,-apple-system,sans-serif;font-size:14px;transition:border-color .2s}.filter-bar.browse .filter-search:hover{border-color:#6b78a8}.filter-bar.browse .filter-search:focus{border-color:#6b78a8;outline:none;box-shadow:0 0 0 3px #6b78a81a}.filter-bar.browse .filter-search::placeholder{color:#999}.filter-bar.browse .search-clear-btn{color:#999;cursor:pointer;background:0 0;border:none;padding:0 8px;font-size:24px;line-height:1;transition:color .2s;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.filter-bar.browse .search-clear-btn:hover{color:#666}.filter-bar.browse .results-count{color:#999;white-space:nowrap;margin-left:auto;font-size:14px}@media (width<=768px){.filter-bar.browse{padding:12px 16px}.filter-bar.browse .filter-container{flex-wrap:wrap;gap:12px}.filter-bar.browse .filter-group{width:100%}.filter-bar.browse .search-group{width:100%;max-width:none;min-width:unset}.filter-bar.browse .filter-select{flex:1}.filter-bar.browse .results-count{text-align:right;width:100%;margin-left:0;font-size:13px}}.recipe-card{background:#fff;border:2px solid #0000;border-radius:16px;flex-direction:column;height:280px;transition:all .3s;display:flex;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000000f}.recipe-card:hover{transform:translateY(-6px);box-shadow:0 12px 32px #0000001f}.recipe-card-link{height:100%;color:inherit;cursor:pointer;flex-direction:column;text-decoration:none;display:flex}.recipe-card-link:focus{outline-offset:2px;border-radius:16px;outline:2px solid #6b78a8}.recipe-image{background-position:50%;background-size:cover;width:100%;height:150px;position:relative;overflow:hidden}.recipe-image img{object-fit:cover;width:100%;height:100%;display:block}.recipe-image__pending{color:#ffffffd9;letter-spacing:.03em;text-transform:uppercase;flex-direction:column;justify-content:center;align-items:center;gap:6px;font-size:11px;font-weight:500;display:flex;position:absolute;inset:0}.gl-badge{background:#fff;border-radius:16px;padding:6px 10px;font-size:12px;font-weight:700;position:absolute;top:8px;right:8px;box-shadow:0 2px 8px #00000026}.gl-badge.gl-low{color:#10b981}.gl-badge.gl-medium{color:#f59e0b}.gl-badge.gl-high{color:#dc2626}.recipe-card__save-button{z-index:10;position:absolute;top:46px;right:8px}.recipe-card__save-button .save-button{background:#fff;border:none;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:all .2s;display:flex;box-shadow:0 2px 8px #00000026}.recipe-card__save-button .save-button:hover:not(:disabled){background-color:#6b78a8;transform:scale(1.1);box-shadow:0 4px 12px #0003}.recipe-card__save-button .save-button svg{color:#6b78a8;width:20px;height:20px;transition:all .2s}.recipe-card__save-button .save-button:hover:not(:disabled) svg{color:#fff}.recipe-card__save-button .save-button--saved svg{color:#6b78a8;fill:#6b78a8}.recipe-content{flex-direction:column;flex:1;padding:16px;display:flex}.recipe-category{text-transform:uppercase;letter-spacing:.05em;color:#6b78a8;margin:0 0 4px;font-size:10px;font-weight:700;display:block}.recipe-title{-webkit-line-clamp:2;text-overflow:ellipsis;-webkit-box-orient:vertical;flex:1;display:-webkit-box;overflow:hidden;color:#1a1a1a!important;margin:0 0 8px!important;font-family:Playfair Display,serif!important;font-size:16px!important;font-weight:600!important;line-height:1.3!important}.recipe-rating{align-items:center;margin:0 0 8px;display:flex}.recipe-stats{color:#999;border-top:1px solid #f0f0f0;flex-wrap:wrap;gap:0;padding-top:8px;font-size:11px;display:flex}.recipe-stats span{white-space:nowrap}.recipe-stats span:not(:last-child):after{content:" • ";color:#ccc;margin:0 8px}.recipe-card__tags{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.recipe-card__tag{color:#666;background:#f0f0f0;border-radius:4px;padding:4px 8px;font-size:10px;text-decoration:none;transition:all .2s;display:inline-block}.recipe-card__tag--clickable{color:#2c5aa0;cursor:pointer;background:#e8eef8}.recipe-card__tag--clickable:hover{color:#fff;background:#2c5aa0;transform:translateY(-1px)}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=768px){.recipe-image{height:180px}.recipe-title{font-size:18px}}.cookie-consent-overlay{z-index:10000;background:#00000080;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.cookie-consent-banner{background:#fff;border-radius:12px;width:100%;max-width:500px;padding:32px;animation:.3s slideUp;box-shadow:0 10px 40px #0003}.cookie-consent-content{margin-bottom:24px}.cookie-consent-title{color:#1a1a1a;margin:0 0 16px;font-family:Playfair Display,serif;font-size:24px;font-weight:700}.cookie-consent-text{color:#666;margin:0 0 12px;font-size:14px;line-height:1.6}.cookie-consent-link{margin:0}.cookie-consent-privacy-note{color:#999;font-size:13px}.cookie-consent-privacy-note strong{color:#6b78a8;font-weight:600}.cookie-consent-actions{flex-wrap:wrap;gap:12px;display:flex}.cookie-btn{cursor:pointer;border:none;border-radius:8px;flex:1;min-width:150px;padding:12px 24px;font-size:14px;font-weight:600;transition:all .2s}.btn-primary{color:#fff;background:#6b78a8}.btn-primary:hover{background:#5a6690}.btn-secondary{color:#666;background:#f0f0f0}.btn-secondary:hover{background:#e5e5e5}@media (width<=768px){.cookie-consent-banner{padding:24px}.cookie-consent-title{font-size:20px}.cookie-consent-actions{flex-direction:column}.cookie-btn{width:100%}}.category-hero{background:linear-gradient(135deg,#6b78a8 0%,#8c97c8 100%);justify-content:center;align-items:center;min-height:160px;display:flex;position:relative}.category-hero-overlay{width:100%;padding:32px 24px}.category-hero-content{text-align:left;color:#fff;max-width:1200px;margin:0 auto}.category-title{color:#fff;margin:0 0 12px;font-family:Playfair Display,serif;font-size:32px;font-weight:700;line-height:1.3}.category-description{color:#fff;opacity:.95;max-width:600px;margin:0 0 12px;font-size:15px;line-height:1.5}.category-stats{color:#fff;opacity:.9;margin-top:8px;font-size:13px;font-weight:600}@media (width<=768px){.category-hero{min-height:140px}.category-hero-overlay{padding:24px 16px}.category-title{margin-bottom:0;font-size:24px}.category-subtitle,.category-description{display:none}.category-stats{font-size:12px}}.sidebar-filters{flex-direction:column;align-self:flex-start;gap:6px;display:flex;position:sticky;top:150px}.filter-section{background:#fff;border-radius:6px;padding:8px;box-shadow:0 2px 8px #0000000f}.filter-section-title{color:#1a1a1a;text-transform:uppercase;letter-spacing:.02em;margin:0 0 6px;font-family:Playfair Display,serif;font-size:13px;font-weight:700}.filter-option{cursor:pointer;align-items:flex-start;gap:8px;min-height:22px;padding:3px 0;transition:opacity .2s;display:flex}.filter-option:hover{opacity:.7}.filter-option label{color:#1a1a1a;cursor:pointer;flex:1;padding-top:1px;font-size:13px;line-height:1.4}.checkbox{background:#fff;border:1.5px solid #d0d0d0;border-radius:2px;flex-shrink:0;width:14px;height:14px;margin-top:2px;transition:all .2s;position:relative}.checkbox.checked{background:#6b78a8;border-color:#6b78a8}.checkbox.checked:after{content:"";border:1.5px solid #fff;border-width:0 1.5px 1.5px 0;width:2.5px;height:5px;position:absolute;top:0;left:3px;transform:rotate(45deg)}.range-slider{appearance:none;background:#e5e5e5;border-radius:2px;outline:none;width:100%;height:3px;margin:3px 0 2px}.range-slider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#6b78a8;border-radius:50%;width:12px;height:12px;box-shadow:0 1px 3px #0003}.range-slider::-moz-range-thumb{cursor:pointer;background:#6b78a8;border:none;border-radius:50%;width:12px;height:12px;box-shadow:0 1px 3px #0003}.range-values{color:#999;justify-content:space-between;margin-top:2px;font-size:10px;display:flex}.prep-time-select{box-sizing:border-box;color:#1a1a1a;cursor:pointer;appearance:none;background:#fff url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%236b78a8' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") right 10px center no-repeat;border:1.5px solid #d0d0d0;border-radius:4px;width:100%;padding:8px 32px 8px 10px;font-family:Inter,sans-serif;font-size:13px;transition:border-color .2s}.prep-time-select:hover{border-color:#6b78a8}.prep-time-select:focus{border-color:#6b78a8;outline:none;box-shadow:0 0 0 3px #6b78a81a}.ad-space{color:#999;text-align:center;box-sizing:border-box;background:#f5f5f5;border:1px solid #e5e5e5;border-radius:6px;flex-direction:column;justify-content:center;align-items:center;max-width:100%;padding:24px 12px;font-size:9px;display:flex}.filter-clear-section{margin-top:1rem}.filter-clear-button{justify-content:center;align-items:center;gap:8px;width:100%;display:flex;position:relative}.filter-clear-icon{font-size:14px;font-weight:600}.filter-count-badge{color:#fff;background:#6b78a8;border-radius:10px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:11px;font-weight:600;line-height:1;display:inline-flex}@media (width<=1024px){.sidebar-filters{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px;min-width:0;max-width:100%;display:grid;position:static}}@media (width<=768px){.sidebar-filters{box-sizing:border-box;grid-template-columns:1fr;align-self:auto;width:100%;min-width:0;position:static;overflow:visible}.filter-section{padding:16px}.filter-section-title{margin-bottom:12px;font-size:14px}}.pagination{justify-content:center;align-items:center;gap:8px;max-width:1200px;margin:0 auto;padding:32px 24px;display:flex}.page-btn{color:#666;cursor:pointer;background:#fff;border:1px solid #e0e0e0;border-radius:6px;min-width:44px;padding:10px 16px;font-size:14px;font-weight:600;transition:all .2s}.page-btn:hover:not(:disabled):not(.active){color:#6b78a8;background:#f5f5f5;border-color:#6b78a8}.page-btn.active{color:#fff;cursor:default;background:#6b78a8;border-color:#6b78a8}.page-btn:disabled{opacity:.4;cursor:not-allowed}.page-btn:focus{outline-offset:2px;outline:2px solid #6b78a8}@media (width<=768px){.pagination{gap:6px;padding:24px 16px}.page-btn{min-width:40px;padding:8px 12px;font-size:13px}}.main-content.browse{grid-template-rows:auto 1fr;grid-template-columns:300px 1fr;align-items:start;gap:32px;max-width:1200px;margin:0 auto;padding:8px 24px 32px;display:grid}.main-content.browse>*{min-width:0}.main-content.browse>aside,.main-content.browse>main,.main-content.browse>.browse-left-column{align-self:start}.browse-left-column{flex-direction:column;gap:8px;display:flex}.recipe-grid{grid-template-columns:repeat(3,1fr);gap:24px;display:grid}.footer-ad-space{text-align:center;background:#f9f9f9;border-top:1px solid #e5e5e5;padding:40px 24px}.footer-ad-space .ad-space{box-sizing:border-box;color:#999;background:#fff;border:1px solid #e5e5e5;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;width:100%;max-width:728px;height:90px;margin:0 auto;font-size:12px;display:flex}.related-tags{box-sizing:border-box;background:#f8f9fa;border-radius:8px;flex-flow:column wrap;align-items:flex-start;gap:.5rem;max-width:100%;margin:8px 0;padding:.5rem 1rem;display:flex}.related-tags h3{color:#1a1a1a;white-space:nowrap;text-transform:uppercase;letter-spacing:.02em;margin:0;font-family:Playfair Display,serif;font-size:13px;font-weight:700}.tag-chips{flex-wrap:wrap;gap:.5rem;min-width:0;max-width:100%;display:flex}.tag-chip{color:#495057;background:#fff;border:1px solid #dee2e6;border-radius:20px;align-items:center;min-height:44px;padding:.5rem 1rem;font-size:.9rem;text-decoration:none;transition:all .2s;display:inline-flex}.tag-chip:hover{color:#fff;background:#2c5aa0;border-color:#2c5aa0}.category-faq{background:#fff;border:1px solid #e9ecef;border-radius:8px;margin:3rem 0;padding:2rem}.category-faq h2{color:#333;margin-bottom:1.5rem;font-size:1.75rem}.faq-list{flex-direction:column;gap:1rem;display:flex}.faq-item{border-bottom:1px solid #e9ecef;padding-bottom:1rem}.faq-item:last-child{border-bottom:none}.faq-question{color:#333;cursor:pointer;text-align:left;background:#f8f9fa;border:none;border-radius:4px;justify-content:space-between;align-items:center;width:100%;padding:1rem;font-size:1.1rem;font-weight:600;transition:background .2s;display:flex}.faq-icon{color:#2c5aa0;flex-shrink:0;margin-left:1rem;font-size:1.5rem;font-weight:700}.faq-answer{color:#555;padding:1rem;line-height:1.6}@media (width<=1024px){.main-content.browse{grid-template-rows:auto;grid-template-columns:1fr;gap:24px;padding:24px 16px}.main-content.browse>main{order:1}.browse-left-column{order:2;grid-column:1/-1;gap:16px}.recipe-grid{grid-template-columns:repeat(2,1fr);gap:20px}.footer-ad-space .ad-space{height:100px}}@media (width<=640px){.main-content.browse{padding:16px}.recipe-grid{grid-template-columns:1fr;gap:16px}.footer-ad-space{padding:24px 16px}.footer-ad-space .ad-space{height:80px}}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0 50%,#f0f0f0 75%) 0 0/200% 100%;border-radius:4px;animation:1.5s ease-in-out infinite loading}.skeleton-filter-select{width:120px;height:36px}.skeleton-filter-search{width:100%;height:36px}.skeleton-results-count{width:140px;height:20px}.skeleton-filter-title{width:80%;height:16px;margin-bottom:8px}.skeleton-filter-option{width:100%;height:22px;margin-bottom:6px}.skeleton-filter-dropdown{width:100%;height:36px}.filter-bar--loading,.sidebar-filters--loading{pointer-events:none;-webkit-user-select:none;user-select:none}.filter-bar--loading .filter-select,.filter-bar--loading .filter-search,.filter-bar--loading .search-clear-btn,.sidebar-filters--loading .checkbox,.sidebar-filters--loading .prep-time-select,.sidebar-filters--loading .filter-option{opacity:.5;cursor:not-allowed}.filter-bar--loading .results-count{opacity:.5}.sidebar-filters--loading .filter-section{opacity:.7}.recipe-card-skeleton{background:#fff;border:2px solid #0000;border-radius:16px;flex-direction:column;height:280px;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000000f}.recipe-card-skeleton__image{border-radius:0;width:100%;height:150px}.recipe-card-skeleton__body{flex-direction:column;flex:1;gap:10px;padding:16px;display:flex}.recipe-card-skeleton__line{border-radius:4px;height:12px}.recipe-card-skeleton__line--title{width:85%;height:18px}.recipe-card-skeleton__line--short{width:50%}.recipe-card-skeleton__line--meta{width:70%;margin-top:auto}.static-page{max-width:900px;padding:var(--space-12) var(--space-6);background:var(--color-bg-primary);line-height:var(--leading-relaxed);margin:0 auto}@media (width<=768px){.static-page{padding:var(--space-8) var(--space-4)}}.static-page h1{font-family:var(--font-display);font-size:var(--text-5xl);font-weight:var(--weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-2) 0;line-height:var(--leading-tight);letter-spacing:-.02em}.static-page .last-updated,.static-page .faq-intro{font-family:var(--font-body);font-size:var(--text-base);color:var(--color-text-light);margin:0 0 var(--space-10) 0;font-style:italic}.static-page h2{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin:var(--space-12) 0 var(--space-6) 0;padding-bottom:var(--space-3);border-bottom:2px solid var(--color-primary);line-height:var(--leading-tight)}.static-page section:first-of-type h2{margin-top:var(--space-8)}.static-page h3{font-family:var(--font-display);font-size:var(--text-2xl);font-weight:var(--weight-medium);color:var(--color-text-primary);margin:var(--space-8) 0 var(--space-4) 0;line-height:var(--leading-tight)}.static-page h4{font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin:var(--space-6) 0 var(--space-3) 0;line-height:var(--leading-snug)}.static-page p{font-family:var(--font-body);font-size:var(--text-md);color:var(--color-text-secondary);margin:0 0 var(--space-5) 0;line-height:var(--leading-relaxed)}.static-page ul,.static-page ol{font-family:var(--font-body);font-size:var(--text-md);color:var(--color-text-secondary);margin:0 0 var(--space-5) 0;padding-left:var(--space-6);line-height:var(--leading-relaxed)}.static-page li{margin-bottom:var(--space-3)}.static-page li strong{color:var(--color-text-primary);font-weight:var(--weight-semibold)}.static-page ul ul,.static-page ol ol{margin-top:var(--space-3);margin-bottom:var(--space-3)}.static-page a{color:var(--color-primary);font-weight:var(--weight-medium);border-bottom:1px solid #0000;text-decoration:none;transition:all .2s}.static-page a:hover{color:var(--color-primary-dark);border-bottom-color:var(--color-primary-dark)}.static-page a.btn-primary,.static-page a.btn-secondary,.static-page a.btn-ghost{border-bottom:none;text-decoration:none}.static-page a.btn-primary{color:#fff!important}.static-page a.btn-primary:hover{border-bottom:none;color:#fff!important}.static-page a.btn-secondary:hover,.static-page a.btn-ghost:hover{border-bottom:none}.static-page .link-button{color:var(--color-primary);font-weight:var(--weight-semibold);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);transition:all .2s;display:inline-block}.static-page .link-button:hover{background:var(--color-primary-ghost);color:var(--color-primary-dark);border-bottom:none}.static-page table,.cookie-table{border-collapse:collapse;width:100%;margin:var(--space-6) 0;font-family:var(--font-body);font-size:var(--text-sm);background:var(--color-bg-primary);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);overflow:hidden}.static-page thead{background:var(--color-bg-tertiary)}.static-page th{padding:var(--space-3) var(--space-4);text-align:left;font-weight:var(--weight-semibold);color:var(--color-text-primary);border-bottom:2px solid var(--color-border-dark)}.static-page td{padding:var(--space-3) var(--space-4);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-light)}.static-page tbody tr:last-child td{border-bottom:none}.static-page tbody tr:hover{background:var(--color-bg-secondary)}.static-page td code{font-family:var(--font-mono);font-size:var(--text-sm);background:var(--color-bg-tertiary);color:var(--color-primary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);border:1px solid var(--color-border-light)}@media (width<=768px){.static-page table{white-space:nowrap;display:block;overflow-x:auto}}.static-page .info-box,.static-page .warning-box,.static-page .formula-box{margin:var(--space-6) 0;padding:var(--space-5) var(--space-6);border-radius:var(--radius-md);border-left:4px solid}.static-page .info-box{background:var(--color-primary-ghost);border-left-color:var(--color-primary)}.static-page .info-box h4{color:var(--color-primary);margin-top:0}.static-page .warning-box{background:var(--color-gl-high-bg);border-left-color:var(--color-error)}.static-page .warning-box h4{color:var(--color-error);margin-top:0}.static-page .warning-box p:last-child{margin-bottom:0}.static-page .formula-box{border-left-color:var(--color-primary-light);font-family:var(--font-body);background:#f8f9fb}.static-page .formula-box strong{color:var(--color-text-primary);font-weight:var(--weight-semibold);margin-bottom:var(--space-2);display:block}.static-page .formula-box code{font-family:var(--font-mono);font-size:var(--text-base);background:var(--color-bg-primary);color:var(--color-primary);padding:var(--space-3) var(--space-4);border-radius:var(--radius-sm);margin:var(--space-3) 0;border:1px solid var(--color-border-light);display:block}.static-page .formula-box p:last-child{font-size:var(--text-sm);margin-bottom:0}.static-page .gl-low{color:var(--color-gl-low);font-weight:var(--weight-semibold)}.static-page .gl-medium{color:var(--color-gl-medium);font-weight:var(--weight-semibold)}.static-page .gl-high{color:var(--color-gl-high);font-weight:var(--weight-semibold)}.static-page section{margin-bottom:var(--space-12);scroll-margin-top:120px}.static-page section:last-child{margin-bottom:0}.static-page .page-footer{margin-top:var(--space-16);padding-top:var(--space-6);border-top:1px solid var(--color-border-light)}.faq-category{margin-bottom:var(--space-12);scroll-margin-top:120px}.faq-list{margin-top:var(--space-6)}.faq-item{border:1px solid var(--color-border-light);border-radius:var(--radius-md);margin-bottom:var(--space-4);transition:all .2s;overflow:hidden}.faq-item:hover{border-color:var(--color-border-medium);box-shadow:var(--shadow-sm)}.faq-item.open{border-color:var(--color-primary-light);box-shadow:var(--shadow-md)}.faq-question{justify-content:space-between;align-items:center;gap:var(--space-4);width:100%;padding:var(--space-4) var(--space-5);background:var(--color-bg-primary);font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text-primary);text-align:left;cursor:pointer;border:none;transition:all .2s;display:flex}.faq-question:hover{background:var(--color-bg-secondary)}.faq-item.open .faq-question{background:var(--color-primary-ghost);color:var(--color-primary-dark)}.faq-toggle{font-size:var(--text-2xl);font-weight:var(--weight-light);color:var(--color-primary);background:var(--color-bg-tertiary);border-radius:var(--radius-sm);flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;transition:all .2s;display:flex}.faq-item.open .faq-toggle{background:var(--color-primary);color:#fff;transform:rotate(180deg)}.faq-answer{padding:0 var(--space-5) var(--space-5) var(--space-5);background:var(--color-bg-secondary);border-top:1px solid var(--color-border-light);animation:.3s fadeIn}.faq-answer p{margin-bottom:var(--space-4);white-space:pre-line}.faq-answer p:last-child{margin-bottom:0}.faq-contact{margin-top:var(--space-16);margin-bottom:var(--space-8);padding:var(--space-8);background:var(--color-primary-ghost);border-radius:var(--radius-lg);text-align:center}.faq-contact h2{margin:0 0 var(--space-3) 0;border:none;padding:0}.faq-contact p{margin-bottom:var(--space-5)}.faq-contact .btn-primary{margin-top:var(--space-2)}.contact-form-section{margin-top:var(--space-10)}.contact-form{max-width:600px;margin:0 auto}.form-group{margin-bottom:var(--space-6)}.form-group input,.form-group select,.form-group textarea{width:100%;padding:var(--space-3) var(--space-4);font-family:var(--font-body);font-size:var(--text-md);color:var(--color-text-primary);background:var(--color-bg-primary);border:1px solid var(--color-border-medium);border-radius:var(--radius-md);transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-ghost);outline:none}.form-group input::placeholder,.form-group textarea::placeholder{color:var(--color-text-light)}.form-group textarea{resize:vertical;min-height:120px}.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center;padding-right:var(--space-10)}.form-actions{margin-top:var(--space-8)}.form-status{padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);margin-bottom:var(--space-6);font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--weight-medium);border:1px solid}.form-status.success{background:var(--color-gl-low-bg);border-color:var(--color-gl-low-border);color:var(--color-gl-low)}.form-status.error{background:var(--color-gl-high-bg);border-color:var(--color-gl-high-border);color:var(--color-gl-high)}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg-tertiary)}@media (width<=768px){.static-page h1{font-size:var(--text-4xl)}.static-page h2{font-size:var(--text-2xl);margin-top:var(--space-10)}.static-page h3{font-size:var(--text-xl)}.faq-question{padding:var(--space-3) var(--space-4);font-size:var(--text-sm)}.faq-answer{padding:0 var(--space-4) var(--space-4) var(--space-4)}.faq-contact{padding:var(--space-6)}}.store-page h1{margin-bottom:var(--space-8)}.store-book-card{gap:var(--space-10);background:var(--color-bg-secondary,#f9fafb);border:1px solid var(--color-border,#e5e7eb);padding:var(--space-8);border-radius:12px;align-items:center;display:flex}.store-book-cover img{border-radius:6px;width:220px;height:auto;display:block;box-shadow:0 4px 16px #00000026}.store-book-info{gap:var(--space-4);flex-direction:column;flex:1;display:flex}.store-book-title{font-size:var(--text-2xl,1.5rem);margin:0;font-weight:700}.store-book-subtitle{font-size:var(--text-base,1rem);color:var(--color-text-secondary,#4b5563);margin:0;line-height:1.7}.store-book-formats{font-size:var(--text-sm,.875rem);color:var(--color-text-secondary,#4b5563);margin:0;font-style:italic}.store-book-actions{gap:var(--space-3);margin-top:var(--space-2);flex-direction:column;align-items:stretch;max-width:320px;display:flex}.store-buy-btn{font-size:var(--text-base,1rem);text-align:center;box-sizing:border-box;border-radius:var(--radius-md,6px);border-bottom:none;width:100%;padding:.75rem 1.5rem;font-weight:600;text-decoration:none;transition:background .2s,color .2s;display:block}.store-book-actions a.store-buy-btn--primary{background:var(--color-primary);border:2px solid var(--color-primary);color:#fff!important}.store-book-actions a.store-buy-btn--primary:hover{background:var(--color-primary-dark);border:2px solid var(--color-primary-dark);color:#fff!important}.store-book-actions a.store-buy-btn--secondary{border:2px solid var(--color-primary);background:0 0;color:var(--color-primary)!important}.store-book-actions a.store-buy-btn--secondary:hover{background:var(--color-primary-ghost);border:2px solid var(--color-primary-dark);color:var(--color-primary-dark)!important}.store-affiliate-disclosure{font-size:var(--text-sm,.875rem);color:var(--color-text-tertiary,#9ca3af);margin:0;margin-top:var(--space-2)}@media (width<=640px){.store-book-card{text-align:center;flex-direction:column;align-items:center}.store-book-cover img{width:180px}.store-book-actions{align-items:stretch;max-width:100%}}.contact-page{background:linear-gradient(135deg,#fafafa 0%,#fff 50%,#f8f9fb 100%);min-height:100vh;position:relative;overflow:hidden}.contact-page:before{content:"";pointer-events:none;z-index:0;background:radial-gradient(circle,#6b78a808 0%,#0000 70%);width:600px;height:600px;position:absolute;top:0;right:0}.contact-hero{padding:var(--space-16) 0 var(--space-12) 0;text-align:center;z-index:1;position:relative}.contact-hero__title{font-family:var(--font-display);font-size:var(--text-6xl);font-weight:var(--weight-bold);color:var(--color-text-primary);margin:0 0 var(--space-4) 0;line-height:var(--leading-tight);animation:.6s ease-out fadeInUp}.contact-hero__subtitle{font-family:var(--font-body);font-size:var(--text-xl);color:var(--color-text-secondary);max-width:600px;line-height:var(--leading-relaxed);margin:0 auto;animation:.6s ease-out .1s backwards fadeInUp}.contact-info-cards{padding:0 0 var(--space-12) 0;z-index:1;position:relative}.info-cards-grid{gap:var(--space-6);grid-template-columns:repeat(3,1fr);max-width:900px;margin:0 auto;display:grid}.info-card{padding:var(--space-6);border-radius:var(--radius-lg);text-align:center;box-shadow:var(--shadow-sm);background:#fff;transition:all .3s;animation:.6s ease-out backwards fadeInUp}.info-card:hover{box-shadow:var(--shadow-md);transform:translateY(-4px)}.info-card__icon{margin-bottom:var(--space-3);filter:grayscale(.2);font-size:2.5rem}.info-card__title{font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-2) 0}.info-card__text{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-secondary);margin:0}.contact-main{padding:0 0 var(--space-20) 0;z-index:1;position:relative}.contact-layout{gap:var(--space-12);grid-template-columns:380px 1fr;max-width:1200px;margin:0 auto;display:grid}.contact-sidebar{animation:.6s ease-out .2s backwards fadeInLeft}.contact-sidebar__content{position:sticky;top:120px}.contact-sidebar h2{font-family:var(--font-display);font-size:var(--text-3xl);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-6) 0}.contact-reasons{margin:0 0 var(--space-10) 0;padding:0;list-style:none}.contact-reasons li{align-items:flex-start;gap:var(--space-3);padding:var(--space-4) 0;font-family:var(--font-body);font-size:var(--text-md);color:var(--color-text-secondary);border-bottom:1px solid var(--color-border-light);display:flex}.contact-reasons li:last-child{border-bottom:none}.reason-icon{flex-shrink:0;font-size:1.5rem}.contact-note{padding:var(--space-6);background:var(--color-primary-ghost);border-radius:var(--radius-lg);border-left:4px solid var(--color-primary);margin-bottom:var(--space-6)}.contact-note__emphasis{font-family:var(--font-body);font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin:0 0 var(--space-3) 0}.underline-handwritten{white-space:nowrap;position:relative}.underline-handwritten:after{content:"";opacity:.5;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 100 10'%3E%3Cpath d='M0,7 Q25,3 50,6 T100,5' stroke='%236b78a8' stroke-width='2' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") 0 0/auto 100% repeat-x;width:100%;height:8px;position:absolute;bottom:-2px;left:0}.contact-note__text{font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);margin:0}.contact-tip{padding:var(--space-4);border-radius:var(--radius-md);border-left:3px solid var(--color-warning);font-family:var(--font-body);font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-relaxed);background:#fffbeb}.contact-tip strong{color:var(--color-text-primary)}.contact-form-wrapper{animation:.6s ease-out .3s backwards fadeInRight}.contact-form-card{padding:var(--space-10);border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);border:1px solid var(--color-border-light);background:#fff}.form-group{margin-bottom:var(--space-6);animation:.5s ease-out backwards fadeInUp}.form-group label{font-family:var(--font-body);font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.05em;display:block}.label-with-counter{margin-bottom:var(--space-2);justify-content:space-between;align-items:center;display:flex}.char-counter{font-family:var(--font-body);font-size:var(--text-xs);color:var(--color-text-light);font-weight:var(--weight-normal);text-transform:none;letter-spacing:normal}.char-counter--warning{color:var(--color-warning);font-weight:var(--weight-semibold)}.input-with-icon{align-items:center;display:flex;position:relative}.input-icon{left:var(--space-4);pointer-events:none;z-index:1;filter:grayscale(.3);font-size:1.25rem;position:absolute}.input-icon--textarea{top:var(--space-4);align-self:flex-start}.input-with-icon input,.input-with-icon select,.input-with-icon textarea{width:100%;padding:var(--space-3) var(--space-4) var(--space-3) var(--space-12);font-family:var(--font-body);font-size:var(--text-md);color:var(--color-text-primary);background:var(--color-bg-primary);border:2px solid var(--color-border-medium);border-radius:var(--radius-md);transition:all .2s}.input-with-icon textarea{resize:vertical;min-height:150px}.input-with-icon input:focus,.input-with-icon select:focus,.input-with-icon textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 4px var(--color-primary-ghost);outline:none;transform:translateY(-1px)}.input-with-icon input::placeholder,.input-with-icon textarea::placeholder{color:var(--color-text-light)}.input-with-icon select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23666666' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-4) center;padding-right:var(--space-10)}.input-with-icon input:disabled,.input-with-icon select:disabled,.input-with-icon textarea:disabled{opacity:.6;cursor:not-allowed;background:var(--color-bg-tertiary)}.form-status{align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-radius:var(--radius-md);margin-bottom:var(--space-6);font-family:var(--font-body);font-size:var(--text-md);font-weight:var(--weight-medium);border:1px solid;animation:.4s ease-out slideInRight;display:flex}.form-status__icon{font-size:1.25rem;font-weight:700}.form-status--success{background:var(--color-gl-low-bg);border-color:var(--color-gl-low);color:var(--color-gl-low)}.form-status--success .form-status__icon{animation:.5s ease-out checkmarkPop}.form-status--error{background:var(--color-gl-high-bg);border-color:var(--color-gl-high);color:var(--color-gl-high)}.form-actions{margin-top:var(--space-8);animation:.5s ease-out backwards fadeInUp}.btn-submit{justify-content:center;align-items:center;gap:var(--space-2);width:100%;font-size:var(--text-base);padding:var(--space-4) var(--space-6);display:flex}.btn-submit .btn-arrow{transition:transform .2s}.btn-submit:hover .btn-arrow{transform:translate(4px)}.spinner{border:2px solid #ffffff4d;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}.confetti-container{pointer-events:none;z-index:9999;width:100%;height:100%;position:fixed;top:0;left:0;overflow:hidden}.confetti-container:before,.confetti-container:after{content:"🎉";font-size:3rem;animation:2s ease-out confettiFall;position:absolute}.confetti-container:before{animation-delay:0s;left:20%}.confetti-container:after{animation-delay:.3s;left:80%}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}@keyframes checkmarkPop{0%{transform:scale(0)}50%{transform:scale(1.2)}to{transform:scale(1)}}@keyframes confettiFall{0%{opacity:1;top:-10%;transform:rotate(0)}to{opacity:0;top:110%;transform:rotate(720deg)}}@media (width<=1024px){.contact-layout{gap:var(--space-8);grid-template-columns:320px 1fr}.contact-sidebar__content{position:static}.info-cards-grid{gap:var(--space-4)}.info-card{padding:var(--space-5)}}@media (width<=768px){.contact-hero{padding:var(--space-12) 0 var(--space-8) 0}.contact-hero__title{font-size:var(--text-4xl)}.contact-hero__subtitle{font-size:var(--text-lg)}.info-cards-grid{gap:var(--space-4);grid-template-columns:1fr}.info-card{padding:var(--space-5)}.contact-layout{gap:var(--space-8);grid-template-columns:1fr}.contact-sidebar h2{font-size:var(--text-2xl)}.contact-reasons li{font-size:var(--text-sm)}.contact-form-card{padding:var(--space-6)}.form-group{margin-bottom:var(--space-5)}.input-with-icon input,.input-with-icon select,.input-with-icon textarea{font-size:var(--text-sm)}.label-with-counter{align-items:flex-start;gap:var(--space-1);flex-direction:column}}.extraction-progress-overlay{z-index:9999;background:#000000b3;justify-content:center;align-items:center;animation:.2s ease-in fadeIn;display:flex;position:fixed;inset:0}.extraction-progress-modal{background:#fff;border-radius:8px;width:90%;max-width:400px;padding:2rem;box-shadow:0 4px 20px #0000004d}.extraction-progress-modal h3{color:var(--color-text-primary,#1a1a1a);text-align:center;margin:0 0 1.5rem;font-size:1.5rem;font-weight:600}.progress-steps{flex-direction:column;gap:1.5rem;display:flex}.progress-step{opacity:.3;border-radius:4px;align-items:center;gap:1rem;padding:.5rem;transition:opacity .3s;display:flex}.progress-step.active{opacity:1;background-color:#2563eb0d}.progress-step.complete{opacity:.6}.step-icon{flex-shrink:0;justify-content:center;align-items:center;width:2.5rem;height:2.5rem;font-size:2rem;display:flex}.step-label{color:var(--color-text-primary,#1a1a1a);flex:1;font-size:1rem;font-weight:500}.step-spinner{border:2px solid #ccc;border-top-color:var(--color-primary,#2563eb);border-radius:50%;flex-shrink:0;width:20px;height:20px;margin-left:auto;animation:1s linear infinite spin}@media (width<=480px){.extraction-progress-modal{padding:1.5rem}.extraction-progress-modal h3{font-size:1.25rem}.step-icon{width:2rem;height:2rem;font-size:1.5rem}.step-label{font-size:.9rem}}.ad-space:has(.house-ad){background:0 0;border:none;min-height:0;padding:0}.house-ad{border-radius:var(--radius-lg,8px);box-sizing:border-box;width:100%;text-decoration:none;transition:transform .25s,box-shadow .25s;display:block;position:relative;overflow:hidden}.house-ad:hover{transform:translateY(-2px)}.house-ad:focus-visible{outline-offset:3px;outline:2px solid}.house-ad__label{font-family:"DM Sans", var(--font-body,sans-serif);letter-spacing:.12em;text-transform:uppercase;opacity:.35;margin-bottom:16px;font-size:9px;font-weight:400;display:block}:root{--bv-charcoal:#1a1a1f;--bv-charcoal-light:#24242b;--bv-cream:#f5f0e8;--bv-warm-gray:#9a958d;--bv-accent:#c4a882;--bv-accent-light:#d4be9c;--bv-sage:#7a9e7e}.house-ad--bennernet{background:var(--bv-charcoal);border:1px solid #c4a8821f;padding:20px 20px 18px;box-shadow:0 2px 16px #00000059}.house-ad--bennernet:hover{border-color:#c4a88247;box-shadow:0 6px 24px #00000073}.house-ad--bennernet .house-ad__label{color:var(--bv-cream)}.bv-ad__wordmark{letter-spacing:.15em;text-transform:uppercase;color:var(--bv-cream);margin-bottom:14px;font-family:Cormorant Garamond,Georgia,serif;font-size:1.1rem;font-weight:500;line-height:1;display:block}.bv-ad__wordmark-accent{color:var(--bv-accent)}.bv-ad__divider{background:linear-gradient(90deg,#c4a88280,#0000);width:100%;height:1px;margin-bottom:14px;display:block}.bv-ad__tagline{letter-spacing:.28em;text-transform:uppercase;color:var(--bv-accent);margin-bottom:12px;font-family:DM Sans,sans-serif;font-size:.62rem;font-weight:500;line-height:1;display:block}.bv-ad__headline{color:var(--bv-cream);letter-spacing:-.01em;margin-bottom:10px;font-family:Cormorant Garamond,Georgia,serif;font-size:1.45rem;font-weight:300;line-height:1.15;display:block}.bv-ad__headline em{color:var(--bv-accent-light);font-style:italic}.bv-ad__body{color:var(--bv-warm-gray);margin-bottom:18px;font-family:DM Sans,sans-serif;font-size:.78rem;font-weight:300;line-height:1.6;display:block}.bv-ad__footer{border-top:1px solid #9a958d1a;justify-content:flex-end;align-items:center;padding-top:14px;display:flex}.bv-ad__cta{letter-spacing:.08em;color:var(--bv-accent);white-space:nowrap;align-items:center;gap:5px;font-family:DM Sans,sans-serif;font-size:.72rem;font-weight:500;transition:gap .2s,color .2s;display:inline-flex}.house-ad--bennernet:hover .bv-ad__cta{color:var(--bv-accent-light);gap:9px}.house-ad--bennernet .house-ad__arrow{width:13px;height:13px;transition:transform .2s}.house-ad--bennernet:hover .house-ad__arrow{transform:translate(3px)}.footer-ad-space .house-ad--bennernet,.bv-ad--horizontal{flex-direction:row;align-items:center;gap:20px;min-height:90px;padding:0 20px;display:flex}.footer-ad-space .house-ad--bennernet .house-ad__label{display:none}.footer-ad-space .house-ad--bennernet .bv-ad__wordmark{white-space:nowrap;flex:none;margin-bottom:0;font-size:.82rem}.footer-ad-space .house-ad--bennernet .bv-ad__divider{background:linear-gradient(#0000,#c4a88266,#0000);flex:none;width:1px;height:36px;margin-bottom:0}.footer-ad-space .house-ad--bennernet .bv-ad__tagline{flex:none;margin-bottom:0;font-size:.55rem}.footer-ad-space .house-ad--bennernet .bv-ad__headline{flex:1;margin-bottom:0;font-size:1rem}.footer-ad-space .house-ad--bennernet .bv-ad__body{display:none}.footer-ad-space .house-ad--bennernet .bv-ad__footer{border-top:none;flex:none;justify-content:flex-end;padding-top:0}.house-ad--ibdmovement{background:#fff;border:1px solid #e8e8e8;flex-wrap:wrap;align-items:center;gap:12px;padding:20px;display:flex;box-shadow:0 1px 6px #0000000f}.house-ad--ibdmovement:hover{border-color:#4caf50;box-shadow:0 3px 14px #2d7a3e1f}.house-ad--ibdmovement:before{content:"";border-radius:var(--radius-lg,8px) var(--radius-lg,8px) 0 0;background:linear-gradient(90deg,#2d7a3e,#4caf50);height:3px;position:absolute;top:0;left:0;right:0}.house-ad--ibdmovement .house-ad__label{color:#333;width:100%;margin-bottom:4px}.house-ad--ibdmovement .house-ad__brand{flex-direction:column;flex:none;align-items:center;gap:5px;display:flex}.house-ad--ibdmovement .house-ad__logo{object-fit:cover;border-radius:50%;width:56px;height:56px;display:block}.house-ad--ibdmovement .house-ad__brand-name{letter-spacing:.08em;text-transform:uppercase;color:#666;text-align:center;font-size:9px;font-weight:600;font-family:var(--font-body,"Inter", sans-serif);max-width:64px;line-height:1.3}.house-ad--ibdmovement .house-ad__content{flex-direction:column;flex:120px;gap:5px;min-width:0;display:flex}.house-ad--ibdmovement .house-ad__headline{font-family:var(--font-display,"Playfair Display", Georgia, serif);color:#2d7a3e;font-size:1rem;font-weight:700;line-height:1.2;display:block}.house-ad--ibdmovement .house-ad__body{font-family:var(--font-body,"Inter", sans-serif);color:#555;font-size:.75rem;line-height:1.5;display:block}.house-ad--ibdmovement .house-ad__action{flex:none}.house-ad--ibdmovement .house-ad__cta{font-family:var(--font-body,"Inter", sans-serif);border-radius:var(--radius-full,9999px);color:#fff;white-space:nowrap;background:#2d7a3e;align-items:center;gap:5px;padding:7px 14px;font-size:.75rem;font-weight:600;transition:background .2s,gap .2s;display:inline-flex}.house-ad--ibdmovement:hover .house-ad__cta{background:#1a5c2a;gap:9px}.house-ad--ibdmovement .house-ad__arrow{width:13px;height:13px;transition:transform .2s}.house-ad--ibdmovement:hover .house-ad__arrow{transform:translate(3px)}.sidebar .house-ad--ibdmovement,.ad-space .house-ad--ibdmovement,[class*=sidebar] .house-ad--ibdmovement{flex-direction:column;align-items:flex-start;padding-top:22px}.sidebar .house-ad--ibdmovement .house-ad__brand,.ad-space .house-ad--ibdmovement .house-ad__brand,[class*=sidebar] .house-ad--ibdmovement .house-ad__brand{flex-direction:row;align-items:center;gap:10px}.sidebar .house-ad--ibdmovement .house-ad__brand-name,.ad-space .house-ad--ibdmovement .house-ad__brand-name,[class*=sidebar] .house-ad--ibdmovement .house-ad__brand-name{text-align:left;max-width:none}.sidebar .house-ad--ibdmovement .house-ad__content,.ad-space .house-ad--ibdmovement .house-ad__content,[class*=sidebar] .house-ad--ibdmovement .house-ad__content,.sidebar .house-ad--ibdmovement .house-ad__action,.ad-space .house-ad--ibdmovement .house-ad__action,[class*=sidebar] .house-ad--ibdmovement .house-ad__action{width:100%}.sidebar .house-ad--ibdmovement .house-ad__cta,.ad-space .house-ad--ibdmovement .house-ad__cta,[class*=sidebar] .house-ad--ibdmovement .house-ad__cta{justify-content:center;width:100%}.footer-ad-space .house-ad--ibdmovement{border-radius:var(--radius-md,6px);flex-wrap:nowrap;align-items:center;max-width:728px;min-height:90px;max-height:100px;margin:0 auto;padding:0 20px}.footer-ad-space .house-ad--ibdmovement .house-ad__label{display:none}.footer-ad-space .house-ad--ibdmovement .house-ad__logo{width:38px;height:38px}.footer-ad-space .house-ad--ibdmovement .house-ad__brand-name{display:none}.u-mt-0{margin-top:0!important}.u-mt-2{margin-top:var(--space-2)!important}.u-mt-4{margin-top:var(--space-4)!important}.u-mt-6{margin-top:var(--space-6)!important}.u-mt-8{margin-top:var(--space-8)!important}.u-mb-0{margin-bottom:0!important}.u-mb-2{margin-bottom:var(--space-2)!important}.u-mb-4{margin-bottom:var(--space-4)!important}.u-mb-6{margin-bottom:var(--space-6)!important}.u-mb-8{margin-bottom:var(--space-8)!important}.u-ml-0{margin-left:0!important}.u-ml-2{margin-left:var(--space-2)!important}.u-ml-4{margin-left:var(--space-4)!important}.u-ml-6{margin-left:var(--space-6)!important}.u-ml-8{margin-left:var(--space-8)!important}.u-mr-0{margin-right:0!important}.u-mr-2{margin-right:var(--space-2)!important}.u-mr-4{margin-right:var(--space-4)!important}.u-mr-6{margin-right:var(--space-6)!important}.u-mr-8{margin-right:var(--space-8)!important}.u-pt-0{padding-top:0!important}.u-pt-2{padding-top:var(--space-2)!important}.u-pt-4{padding-top:var(--space-4)!important}.u-pt-6{padding-top:var(--space-6)!important}.u-pt-8{padding-top:var(--space-8)!important}.u-pb-0{padding-bottom:0!important}.u-pb-2{padding-bottom:var(--space-2)!important}.u-pb-4{padding-bottom:var(--space-4)!important}.u-pb-6{padding-bottom:var(--space-6)!important}.u-pb-8{padding-bottom:var(--space-8)!important}.u-pl-0{padding-left:0!important}.u-pl-2{padding-left:var(--space-2)!important}.u-pl-4{padding-left:var(--space-4)!important}.u-pl-6{padding-left:var(--space-6)!important}.u-pl-8{padding-left:var(--space-8)!important}.u-pr-0{padding-right:0!important}.u-pr-2{padding-right:var(--space-2)!important}.u-pr-4{padding-right:var(--space-4)!important}.u-pr-6{padding-right:var(--space-6)!important}.u-pr-8{padding-right:var(--space-8)!important}.u-hidden{display:none!important}.u-block{display:block!important}.u-inline{display:inline!important}.u-inline-block{display:inline-block!important}.u-flex{display:flex!important}.u-inline-flex{display:inline-flex!important}.u-grid{display:grid!important}.u-text-center{text-align:center!important}.u-text-left{text-align:left!important}.u-text-right{text-align:right!important}.u-text-bold{font-weight:var(--weight-bold)!important}.u-text-semibold{font-weight:var(--weight-semibold)!important}.u-text-medium{font-weight:var(--weight-medium)!important}.u-text-normal{font-weight:var(--weight-normal)!important}.u-text-uppercase{text-transform:uppercase!important}.u-text-lowercase{text-transform:lowercase!important}.u-text-capitalize{text-transform:capitalize!important}.u-text-primary{color:var(--color-text-primary)!important}.u-text-secondary{color:var(--color-text-secondary)!important}.u-text-light{color:var(--color-text-light)!important}@media (width<=768px){.u-hidden-mobile{display:none!important}}@media (width>=768px){.u-hidden-desktop{display:none!important}}@media (width>=768px) and (width<=1024px){.u-hidden-tablet{display:none!important}}.u-w-full{width:100%!important}.u-w-auto{width:auto!important}.u-pointer{cursor:pointer!important}.u-no-pointer{cursor:not-allowed!important}.u-truncate{text-overflow:ellipsis!important;white-space:nowrap!important;overflow:hidden!important}.u-shadow-sm{box-shadow:var(--shadow-sm)!important}.u-shadow-md{box-shadow:var(--shadow-md)!important}.u-shadow-lg{box-shadow:var(--shadow-lg)!important}.u-shadow-none{box-shadow:none!important}.u-rounded-sm{border-radius:var(--radius-sm)!important}.u-rounded-md{border-radius:var(--radius-md)!important}.u-rounded-lg{border-radius:var(--radius-lg)!important}.u-rounded-full{border-radius:var(--radius-full)!important}[data-loading=true]{pointer-events:none;opacity:.6;cursor:wait;position:relative}[data-loading=true]:after{content:"";border:2px solid var(--color-primary);border-top-color:#0000;border-radius:50%;width:20px;height:20px;margin:-10px 0 0 -10px;animation:.6s linear infinite spin;position:absolute;top:50%;left:50%}[data-disabled=true],[disabled]{opacity:.5;pointer-events:none;cursor:not-allowed}[data-active=true]{background:var(--color-primary-ghost);color:var(--color-primary);font-weight:var(--weight-semibold)}[data-error=true]{border-color:var(--color-error)}[data-error=true]:focus{outline-color:var(--color-error);box-shadow:0 0 0 3px #ef44441a}[data-success=true]{border-color:var(--color-success)}[data-success=true]:focus{outline-color:var(--color-success);box-shadow:0 0 0 3px #10b9811a}[data-expanded=true] .icon,[data-expanded=true] .chevron{transform:rotate(180deg)}[data-selected=true]{background:var(--color-primary);color:#fff}[data-hoverable=true]{transition:all .2s}[data-hoverable=true]:hover{box-shadow:var(--shadow-lg);transform:translateY(-2px)}.animate-fadeIn{animation:.3s ease-in-out fadeIn}.animate-slideDown{animation:.3s ease-out slideDown}.animate-slideUp{animation:.3s ease-out slideUp}@media (prefers-reduced-motion:reduce){[data-loading=true]:after,.animate-fadeIn,.animate-slideDown,.animate-slideUp{animation:none}[data-expanded=true] .icon,[data-expanded=true] .chevron{transition:none}}.skip-to-content{z-index:10000;color:#fff;background:#6b78a8;border-radius:0 0 6px;padding:.75rem 1.25rem;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;font-weight:700;text-decoration:none;transition:top .2s;position:absolute;top:-100px;left:0;box-shadow:0 8px 24px #0000001f}.skip-to-content:focus{outline-offset:2px;outline:3px solid #5c8a62;top:0}main:focus{outline:none}:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset);border-radius:2px}:focus:not(:focus-visible){outline:none}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:var(--focus-ring);outline-offset:var(--focus-ring-offset)}button:focus-visible{box-shadow:var(--focus-ring-shadow)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.skip-to-content{transition:none}}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.sr-only-focusable:focus{clip:auto;white-space:normal;width:auto;height:auto;position:static;overflow:visible}@media print{@page{size:letter;margin:.35in .5in .4in}*{box-shadow:none!important;text-shadow:none!important}body{color:#000;font-family:Georgia,Times New Roman,serif;font-size:8.5pt;line-height:1.2;background:#fff!important}header:not(.recipe-hero__container),footer,.footer,nav,.breadcrumbs,.category-nav,.top-bar,.tags-section,.related-recipes,.recipe-carousel,button,.btn-print,.btn-email,.action-buttons,.sidebar-card:first-child,.sidebar-card--actions,.sidebar-card--recommendations,.recommendations-panel,.gl-display,.adsense-container,.adsbygoogle,.house-ad,ins.adsbygoogle,[class*=adsense-],.recipe-section--calculations,.calculation-breakdown,.related-section{display:none!important}.nutrition-panel .warning,.nutrition-panel .note,.limited-data-warning,.fallback-warning,[class*=warning],[class*=note]{margin:.15rem 0 0!important;padding:.1rem!important;font-size:.55rem!important;line-height:1.15!important}.recipe-hero__background{display:none!important}.recipe-hero__overlay{background:0 0!important;margin:0!important;padding:0!important;position:static!important}.recipe-hero-image{page-break-inside:avoid!important;background:0 0!important;width:2.5in!important;max-width:2.5in!important;height:auto!important;margin:0 auto .25rem!important;display:block!important}.recipe-hero-image img{object-fit:cover!important;width:100%!important;height:auto!important;max-height:2in!important;box-shadow:none!important;border:1px solid #ddd!important;border-radius:4px!important;display:block!important}.recipe-hero{page-break-after:avoid!important;background:#fff!important;border:none!important;margin:0!important;padding:0!important;position:relative!important}.recipe-hero__container{margin:0 0 .3rem!important;padding:0!important;display:block!important}.recipe-hero__title{color:#000!important;border-bottom:2px solid #000!important;margin:0!important;padding:0 0 .1rem!important;font-size:1.1rem!important;font-weight:700!important;line-height:1.1!important}.recipe-container{page-break-inside:auto!important;max-width:100%!important;margin:0!important;padding:0!important}.recipe-layout{page-break-inside:auto!important;grid-template-columns:36% 64%!important;align-items:flex-start!important;gap:.5rem!important;display:grid!important}.recipe-details{page-break-inside:auto!important;grid-column:1/-1!important;grid-template-columns:36% 64%!important;gap:.5rem!important;display:grid!important}.recipe-sidebar{grid-area:2/2!important;margin:0!important;padding:0!important;position:static!important}.recipe-details>.description{color:#555!important;grid-column:1/-1!important;margin:0 0 .2rem!important;padding:0!important;font-size:.7rem!important;font-style:italic!important;line-height:1.2!important}.recipe-meta{border-bottom:1px solid #ddd!important;grid-column:1/-1!important;gap:.5rem!important;margin:0 0 .3rem!important;padding:.15rem 0 .25rem!important;font-size:.65rem!important;display:flex!important}.recipe-meta-item{align-items:center!important;gap:.25rem!important;display:flex!important}.meta-icon{font-size:.85rem!important}.meta-label{font-weight:400!important}.meta-value{font-weight:700!important}.recipe-meta-block{display:none!important}.recipe-section--ingredients{page-break-inside:auto!important;border-left:none!important;border-right:1px solid #ddd!important;grid-area:2/1!important;margin-top:0!important;padding-left:0!important;padding-right:.5rem!important}.recipe-section--ingredients *,.recipe-section--ingredients,.ingredients-list,.ingredient-group,.ingredient-group__list{border-left:none!important}.recipe-section__title{text-transform:uppercase!important;letter-spacing:.02em!important;color:#000!important;border-bottom:1px solid #333!important;margin:0 0 .2rem!important;padding:0 0 .08rem!important;font-size:.8rem!important;font-weight:700!important}.ingredient-group{page-break-inside:auto!important;border:none!important;margin-bottom:.3rem!important}.ingredient-group__title{color:#333!important;margin:.25rem 0 .12rem!important;font-size:.75rem!important;font-style:italic!important;font-weight:700!important}.ingredients-list{border:none!important;margin:0!important;padding:0!important;list-style:none!important}.ingredient-item{page-break-inside:auto!important;align-items:flex-start!important;gap:.4rem!important;margin:.04rem 0!important;padding:0!important;font-size:.72rem!important;line-height:1.2!important;display:flex!important}.ingredient-text{word-spacing:0!important;flex:1!important}.ingredient-item{text-indent:0!important}.recipe-section--instructions{grid-area:2/2!important;margin-top:0!important;padding-left:.5rem!important}.instructions-list{margin:0!important;padding:0!important;list-style:none!important}.instruction-item{page-break-inside:auto!important;gap:.25rem!important;margin:.08rem 0!important;font-size:.72rem!important;line-height:1.25!important;display:flex!important}.step-number{color:#333!important;flex-shrink:0!important;width:1.2rem!important;font-weight:700!important}.step-text{flex:1!important}.recipe-sidebar .sidebar-card:first-child{box-shadow:none!important;z-index:10!important;background:#fff!important;border:1.5px solid #333!important;border-radius:3px!important;width:auto!important;margin:0!important;padding:.2rem .4rem!important;position:absolute!important;top:.15rem!important;right:0!important}.gl-display{align-items:center!important;gap:.3rem!important;display:flex!important}.gl-display--low{border-color:#10b981!important}.gl-display--medium{border-color:#f59e0b!important}.gl-display--high{border-color:#ef4444!important}.gl-value-large{margin:0!important;font-size:.95rem!important;font-weight:700!important}.gl-display--low .gl-value-large{color:#10b981!important}.gl-display--medium .gl-value-large{color:#f59e0b!important}.gl-display--high .gl-value-large{color:#ef4444!important}.gl-rating{text-transform:uppercase!important;color:#333!important;font-size:.65rem!important;font-weight:700!important}.gl-description{display:none!important}.sidebar-card--nutrition{page-break-inside:auto!important;page-break-before:auto!important;background:0 0!important;border:none!important;grid-area:3/2!important;margin:0!important;padding:0!important;position:relative!important}.nutrition-panel{page-break-inside:auto!important;page-break-before:auto!important;background:#f9f9f9!important;border:1px solid #ddd!important;margin-top:.3rem!important;padding:.25rem!important}.nutrition-panel h3,.nutrition-panel h2{text-transform:uppercase!important;margin:0 0 .15rem!important;font-size:.7rem!important;font-weight:700!important}.nutrition-grid{grid-template-columns:repeat(2,1fr)!important;gap:.12rem!important;font-size:.62rem!important;display:grid!important}.nutrition-item{justify-content:space-between!important;padding:.04rem 0!important;display:flex!important}.nutrition-label{font-weight:400!important}.nutrition-value{font-weight:700!important}.calculation-breakdown{display:none!important}body.print-with-math .calculation-breakdown{background:#f5f5f5!important;border:1px dashed #999!important;grid-column:1/-1!important;margin-top:1rem!important;padding:.5rem!important;font-size:.7rem!important;display:block!important}.recommendations-panel{display:none!important}.recipe-hero,.ingredient-group,.instruction-item,.nutrition-panel{page-break-inside:avoid!important}p,li{orphans:3!important;widows:3!important}h1{font-size:1.5rem!important}h2{font-size:1rem!important}h3{font-size:.9rem!important}a{color:#000!important;text-decoration:none!important}a[href^=http]:after{content:none!important}.recipe-hero{background:#fff!important}.nutrition-panel{background:#f9f9f9!important}.sidebar-card{box-shadow:none!important;background:0 0!important;border:none!important;padding:0!important}.sidebar-card:not(:first-child){background:#f9f9f9!important;border:1px solid #ddd!important;padding:.5rem!important}}
