*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@font-face{font-family:PJS Fallback;src:local("Arial");size-adjust:112%;ascent-override:88%;descent-override:24%;line-gap-override:0%}body{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:400;line-height:24px;color:#1b1c1c;background:#fbf9f8;min-height:100vh;overflow-x:hidden}#root{min-height:100vh;display:flex;flex-direction:column}a{color:#8a3000;text-decoration:none}.material-symbols-outlined{font-variation-settings:"FILL" 0,"wght" 400,"GRAD" 0,"opsz" 24;font-size:20px;line-height:1}.material-symbols-outlined.filled{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.skeleton{background:linear-gradient(90deg,#f5f3f3 25%,#eae8e7,#f5f3f3 75%);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:.5rem}.skeleton-text{height:16px;margin-bottom:8px}.skeleton-text.short{width:40%}.skeleton-text.medium{width:70%}.skeleton-text.long{width:100%}.skeleton-title{height:28px;width:60%;margin-bottom:12px}.skeleton-card{height:200px;width:100%}.skeleton-avatar{width:48px;height:48px;border-radius:9999px}.skeleton-image{width:100%;aspect-ratio:4/3}.skeleton-pill{width:100px;height:32px;border-radius:9999px}.recipe-card-skeleton{background:#fff;border-radius:1.5rem;overflow:hidden;box-shadow:0 4px 8px #0000001a;display:flex;flex-direction:column}.recipe-card-skeleton-body{padding:24px;display:flex;flex-direction:column;gap:12px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.app-layout{display:flex;min-height:100vh}.app-content{flex:1;display:flex;flex-direction:column;margin-left:64px;min-height:100vh;padding-top:56px;overflow-x:hidden}@media (max-width: 767px){.app-content{margin-left:0;padding-bottom:calc(64px + env(safe-area-inset-bottom,0px))}}.app-content>footer{flex-shrink:0;margin-top:auto}.app-main{flex:1;padding:48px 64px;max-width:1200px;width:100%;margin:0 auto}@media (max-width: 767px){.app-main{padding:24px 16px}}.sidebar{position:fixed;left:0;top:0;bottom:0;width:64px;display:flex;flex-direction:column;align-items:center;padding:24px 0;background:#fff;border-right:1px solid rgba(225,191,179,.3);box-shadow:2px 0 8px #0000000f;z-index:100}@media (max-width: 767px){.sidebar{display:none}}.sidebar-brand{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:700;color:#8a3000;padding:12px;margin-bottom:48px;writing-mode:vertical-rl;letter-spacing:.05em}.sidebar-nav{display:flex;flex-direction:column;align-items:center;gap:4px;flex:1}.sidebar-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:12px 4px;border-radius:1rem;border:none;background:transparent;color:#594138;cursor:pointer;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:9px;font-weight:600;letter-spacing:.03em;text-align:center;transition:all .15s ease;width:52px}.sidebar-nav-item .material-symbols-outlined{font-size:22px}.sidebar-nav-item:hover{background:#c5531c14;color:#8a3000}.sidebar-nav-item.active{color:#8a3000;background:#c5531c26;font-weight:700}.sidebar-nav-item.active .material-symbols-outlined{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24;color:#8a3000}.sidebar-bottom{display:flex;flex-direction:column;align-items:center;gap:4px;padding-top:24px;border-top:1px solid rgba(225,191,179,.3);width:100%}.sidebar-lang{display:flex;flex-direction:column;align-items:center;padding-top:24px;border-top:1px solid rgba(225,191,179,.3);width:100%}.lang-switcher{position:relative;z-index:200}.lang-switcher-btn{display:inline-flex;align-items:center;gap:4px;padding:6px 10px;border-radius:9999px;border:1px solid #e1bfb3;background:transparent;color:#594138;cursor:pointer;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:11px;font-weight:600;letter-spacing:.05em;transition:all .15s ease}.lang-switcher-btn .material-symbols-outlined{font-size:18px}.lang-switcher-btn:hover{background:#c5531c1a;border-color:#8a3000;color:#8a3000}.lang-dropdown{position:absolute;top:calc(100% + 4px);background:#fff;border:1px solid #e1bfb3;border-radius:1rem;box-shadow:0 4px 16px #0000001f;padding:4px;min-width:140px;z-index:200}.lang-option{display:block;width:100%;text-align:left;padding:8px 12px;border:none;background:transparent;color:#1b1c1c;cursor:pointer;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;border-radius:8px;transition:background .15s ease}.lang-option:hover{background:#f5f3f3}.lang-option.active{background:#c5531c26;color:#8a3000;font-weight:600}.domain-picker{position:relative;z-index:200}.domain-picker-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;border-radius:9999px;border:1px solid #e1bfb3;background:#fff;color:#594138;cursor:pointer;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;letter-spacing:.03em;transition:all .15s ease}.domain-picker-btn .material-symbols-outlined{font-size:18px}.domain-picker-btn:hover{border-color:#8a3000;color:#8a3000;background:#c5531c0f}.domain-picker-dropdown{position:absolute;top:calc(100% + 6px);right:0;background:#fff;border:1px solid #e1bfb3;border-radius:1rem;box-shadow:0 8px 24px #0000001f;padding:4px;min-width:200px;z-index:200}.domain-picker-dropdown--left{right:auto;left:0}.domain-picker-option{display:flex;align-items:center;gap:12px;width:100%;text-align:left;padding:10px 14px;border:none;background:transparent;color:#1b1c1c;cursor:pointer;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;border-radius:10px;transition:background .15s ease}.domain-picker-option .domain-flag{font-size:18px;flex-shrink:0}.domain-picker-option .domain-label{flex:1}.domain-picker-option:hover{background:#f5f3f3}.domain-picker-option.active{background:#c5531c1a;color:#8a3000;font-weight:600}.topbar{display:flex;position:fixed;top:0;left:0;right:0;height:56px;align-items:center;justify-content:space-between;padding:0 24px;background:#fff;border-bottom:1px solid rgba(225,191,179,.3);box-shadow:0 2px 8px #0000000f;z-index:90}@media (min-width: 768px){.topbar{padding:0 48px}}@media (min-width: 768px){.sidebar~.topbar{left:64px}}.topbar-left{display:flex;align-items:center;gap:48px}.topbar-brand{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:700;color:#8a3000;letter-spacing:-.01em;white-space:nowrap}.topbar-nav{display:none;align-items:center;gap:4px}@media (min-width: 768px){.topbar-nav{display:flex}}.topbar-nav-link{padding:6px 14px;border-radius:9999px;border:none;background:transparent;color:#594138;cursor:pointer;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:600;transition:all .15s ease;text-decoration:none}.topbar-nav-link:hover{background:#c5531c14;color:#8a3000}.topbar-nav-link.active{background:#c5531c1f;color:#8a3000}.topbar-right{display:flex;align-items:center;gap:12px}.topbar-avatar{width:36px;height:36px;border-radius:9999px;background:#f5f3f3;border:2px solid #ffdbce;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .15s ease}.topbar-avatar .material-symbols-outlined{font-size:20px;color:#594138}.topbar-avatar:hover{background:#c5531c1a;border-color:#c5531c}.bottom-nav{display:none;position:fixed;bottom:0;left:0;right:0;height:64px;justify-content:space-around;align-items:center;background:#fff;border-top:1px solid rgba(225,191,179,.3);box-shadow:0 -2px 8px #0000000f;z-index:90;padding:0 12px}@media (max-width: 767px){.bottom-nav{display:flex}}.bottom-nav-item{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px;border:none;background:transparent;color:#594138;cursor:pointer;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:10px;font-weight:600;letter-spacing:.03em;transition:all .15s ease}.bottom-nav-item .material-symbols-outlined{font-size:22px}.bottom-nav-item.active{color:#8a3000}.bottom-nav-item.active .material-symbols-outlined{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.week-header{margin-bottom:48px}@media (max-width: 767px){.week-header{margin-bottom:24px}}.week-navigator{display:flex;align-items:center;gap:12px;margin-bottom:24px}.week-nav-btn{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:9999px;border:1px solid #e1bfb3;background:#fff;color:#594138;cursor:pointer;transition:all .15s ease}.week-nav-btn .material-symbols-outlined{font-size:20px}.week-nav-btn:hover:not(:disabled){background:#c5531c1a;border-color:#8a3000;color:#8a3000}.week-nav-btn:disabled{opacity:.3;cursor:default}.week-nav-label{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;line-height:16px;letter-spacing:.05em;text-transform:uppercase;color:#594138;font-weight:400;min-width:48px;text-align:center}.week-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:48px;font-weight:800;line-height:56px;letter-spacing:-.02em;color:#1b1c1c;margin-bottom:4px}@media (max-width: 767px){.week-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:24px;font-weight:700;line-height:32px}}.week-subtitle{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:400;line-height:24px;color:#594138}.week-actions{display:flex;gap:24px;margin-top:24px;flex-wrap:wrap}.meal-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}@media (max-width: 1023px){.meal-grid{grid-template-columns:1fr}}.meal-card{background:#fff;border:1px solid rgba(225,191,179,.3);border-radius:1.5rem;box-shadow:0 4px 8px #0000001a;display:block;padding:24px;transition:all .25s ease;cursor:pointer;text-decoration:none;color:inherit}.meal-card:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.meal-card-header{display:flex;align-items:flex-start;gap:24px}.meal-card-icon{width:40px;height:40px;border-radius:1rem;background:#c5531c1f;display:flex;align-items:center;justify-content:center;flex-shrink:0}.meal-card-icon .material-symbols-outlined{color:#8a3000;font-size:22px}.meal-card-info{flex:1;min-width:0}.meal-card-day{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;background:#c5531c1f;color:#fff;border-radius:9999px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:600;border:1px solid rgba(197,83,28,.2);font-weight:400;margin-bottom:4px}.meal-card-name{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:24px;font-weight:700;line-height:32px;color:#1b1c1c;margin-bottom:4px}.meal-card-simplified{display:block;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#8a3000;font-weight:500;margin-top:2px;letter-spacing:.01em}.meal-card-meta{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#594138;margin-bottom:12px;display:flex;gap:24px;flex-wrap:wrap}.meal-card-tags{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;line-height:20px;color:#8a3000;font-weight:400}.meal-card-actions{display:flex;gap:12px;margin-top:24px;flex-wrap:wrap}.meal-feedback{display:flex;gap:4px;margin-top:12px;align-items:center}.feedback-btn{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:9999px;border:1px solid #e1bfb3;background:#fff;color:#594138;cursor:pointer;transition:all .15s ease;padding:0}.feedback-btn:hover{background:#c5531c1a}.feedback-btn.active-like{color:#3b6934;border-color:#3b693466;background:#3b693414}.feedback-btn.active-dislike{color:#ba1a1a;border-color:#ba1a1a66;background:#ba1a1a14}.feedback-comment-display{margin-top:4px;padding:4px 12px;border-radius:.75rem;background:#c5531c14;color:#594138;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;line-height:1.4;word-break:break-word}.feedback-comment-editor{margin-top:4px}.feedback-textarea{width:100%;padding:12px;border-radius:.75rem;border:1px solid #e1bfb3;background:#f5f3f3;color:#1b1c1c;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;line-height:1.4;resize:vertical;outline:none;box-sizing:border-box}.feedback-textarea:focus{border-color:#c5531c;box-shadow:0 0 0 2px #c5531c33}.feedback-textarea::placeholder{color:#594138;opacity:.6}.feedback-comment-actions{display:flex;gap:12px;margin-top:4px}.feedback-save-btn{padding:4px 12px;border-radius:9999px;border:none;background:#c5531c;color:#fff;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:11px;font-weight:600;cursor:pointer}.feedback-save-btn:hover{background:#a14417}.feedback-cancel-btn{padding:4px 12px;border-radius:9999px;border:1px solid #e1bfb3;background:transparent;color:#594138;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:11px;font-weight:600;cursor:pointer}.feedback-cancel-btn:hover{background:#e1bfb326}.meal-expanded{margin-top:24px;padding-top:24px;border-top:1px solid rgba(225,191,179,.3);display:grid;grid-template-columns:1fr 1fr;gap:80px}@media (max-width: 767px){.meal-expanded{grid-template-columns:1fr}}.meal-ingredients h4{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;line-height:16px;letter-spacing:.05em;text-transform:uppercase;color:#594138;margin-bottom:24px}.ingredient-item{display:flex;align-items:center;gap:12px;padding:12px 0;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px}.ingredient-item .ingredient-dot{width:8px;height:8px;border-radius:50%;background:#c5531c;flex-shrink:0}.ingredient-item .ingredient-dot.primary{background:#8a3000}.meal-recipe h4{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;line-height:16px;letter-spacing:.05em;text-transform:uppercase;color:#594138;margin-bottom:24px}.recipe-step{display:flex;gap:24px;padding:12px 0}.recipe-step .step-number{width:28px;height:28px;border-radius:50%;background:#c5531c26;color:#8a3000;display:flex;align-items:center;justify-content:center;flex-shrink:0;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600}.recipe-step .step-content{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#1b1c1c}.recipe-step .step-content .kid-mod{display:block;margin-top:4px;color:#594138;font-style:italic;padding-left:24px;border-left:2px solid rgba(197,83,28,.3)}.meal-kid-version{margin-top:24px;padding:24px;background:#c5531c0f;border:1px solid rgba(197,83,28,.12);border-radius:1rem;display:flex;gap:24px;align-items:flex-start}.meal-kid-version .material-symbols-outlined{color:#8a3000;font-size:22px;flex-shrink:0}.meal-kid-version .kid-text{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#1b1c1c}.meal-kid-version .kid-label{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;line-height:16px;letter-spacing:.05em;text-transform:uppercase;color:#8a3000;margin-bottom:4px}.empty-state{display:flex;align-items:center;justify-content:center;min-height:calc(100vh - 200px)}.empty-state-card{background:#fff;border:1px solid rgba(225,191,179,.3);border-radius:1.5rem;box-shadow:0 4px 8px #0000001a;padding:80px 48px;text-align:center;max-width:480px;width:100%}.empty-state-icon{width:80px;height:80px;border-radius:50%;background:#c5531c1a;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.empty-state-icon .material-symbols-outlined{font-size:40px;color:#8a3000}.empty-state-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:32px;font-weight:700;line-height:40px;color:#1b1c1c;margin-bottom:24px}@media (max-width: 767px){.empty-state-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:24px;font-weight:700;line-height:32px}}.empty-state-text{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:400;line-height:24px;color:#594138;margin-bottom:80px}.shopping-header{margin-bottom:80px}@media (max-width: 767px){.shopping-header{margin-bottom:24px}}.shopping-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:48px;font-weight:800;line-height:56px;letter-spacing:-.02em;color:#1b1c1c;margin-bottom:4px}@media (max-width: 767px){.shopping-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:24px;font-weight:700;line-height:32px}}.shopping-subtitle{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#594138}.shopping-actions{display:flex;gap:24px;margin-bottom:24px;flex-wrap:wrap}.shopping-progress{background:#fff;border:1px solid rgba(225,191,179,.3);border-radius:1.5rem;box-shadow:0 4px 8px #0000001a;padding:24px;margin-bottom:24px;display:flex;align-items:center;gap:24px}.progress-label{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;line-height:16px;letter-spacing:.05em;text-transform:uppercase;color:#594138;white-space:nowrap}.progress-count{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;line-height:20px;color:#594138;white-space:nowrap;font-weight:400}.progress-bar{flex:1;height:8px;background:#e1bfb34d;border-radius:9999px;overflow:hidden}.progress-fill{height:100%;background:#c5531c;border-radius:9999px;transition:width .25s ease}.shopping-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}@media (max-width: 767px){.shopping-grid{grid-template-columns:1fr}}.shopping-category{background:#fff;border:1px solid rgba(225,191,179,.3);border-radius:1.5rem;box-shadow:0 4px 8px #0000001a;padding:24px}.category-header{display:flex;align-items:center;gap:12px;margin-bottom:24px;padding-bottom:24px;border-bottom:1px solid rgba(225,191,179,.2)}.category-header .material-symbols-outlined{color:#8a3000;font-size:22px}.category-header h3{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;line-height:16px;letter-spacing:.05em;text-transform:uppercase;color:#1b1c1c;font-weight:700;text-transform:none;letter-spacing:0;font-size:14px}.shopping-item{display:flex;align-items:center;gap:12px;padding:12px 0;cursor:pointer;transition:all .15s ease}.shopping-item:hover{background:#1b1c1c05;border-radius:.5rem;padding-left:12px;margin-left:-12px;padding-right:12px;margin-right:-12px}.shopping-item.checked .shopping-item-name,.shopping-item.checked .shopping-item-amount{text-decoration:line-through;opacity:.5}.shopping-checkbox{width:20px;height:20px;border-radius:.25rem;border:2px solid #e1bfb3;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .15s ease;color:transparent}.shopping-checkbox .material-symbols-outlined{font-size:14px}.shopping-item.checked .shopping-checkbox{background:#3b6934;border-color:#3b6934;color:#fff}.shopping-item-name{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shopping-item-amount{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#594138;white-space:nowrap}.shopping-item-tag{display:inline-flex;align-items:center;gap:4px;background:#c5531c1f;color:#fff;border-radius:9999px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:600;border:1px solid rgba(197,83,28,.2);font-size:11px;padding:2px 12px;white-space:nowrap;flex-shrink:0}.shopping-item-info-wrap{position:relative;flex-shrink:0}.shopping-item-info-btn{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;border:none;cursor:pointer;color:#594138;opacity:.5;background:none;flex-shrink:0;transition:all .15s ease}.shopping-item-info-btn:hover,.shopping-item-info-btn:active{opacity:1;color:#8a3000;background:#8a300014}.shopping-item-info-btn .material-symbols-outlined{font-size:16px}.shopping-item-tooltip{position:absolute;bottom:calc(100% + 6px);right:-4px;width:max-content;max-width:220px;background:#f5f3f3;color:#1b1c1c;border:1px solid #e1bfb3;border-radius:.25rem;padding:4px 12px;font-size:11px;line-height:1.4;z-index:110;box-shadow:0 2px 8px #0000001f}.shopping-item-tooltip:after{content:"";position:absolute;top:100%;right:8px;width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:5px solid #f5f3f3}.shopping-item-remove{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:50%;cursor:pointer;color:#594138;opacity:.4;flex-shrink:0;transition:all .15s ease}.shopping-item-remove:hover{opacity:1;color:#ba1a1a;background:#ba1a1a14}.shopping-add-form{background:#fff;border:1px solid rgba(225,191,179,.3);border-radius:1.5rem;box-shadow:0 4px 8px #0000001a;padding:24px;margin-bottom:24px}.shopping-add-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.shopping-add-input{font-size:14px;font-weight:400;line-height:20px;padding:12px 24px;background:#f5f3f3;border:1px solid #e1bfb3;border-radius:.5rem;color:#1b1c1c;outline:none;flex:1;min-width:100px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;transition:border-color .15s ease}.shopping-add-input:focus{border-color:#c5531c;box-shadow:0 0 0 3px #c5531c26}.shopping-add-input[type=number]{-moz-appearance:textfield}.shopping-add-input[type=number]::-webkit-outer-spin-button,.shopping-add-input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.shopping-add-input--small{max-width:80px;flex:0 0 auto}.shopping-add-select{font-size:14px;font-weight:400;line-height:20px;padding:12px 24px;background:#f5f3f3;border:1px solid #e1bfb3;border-radius:.5rem;color:#1b1c1c;outline:none;cursor:pointer;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;transition:border-color .15s ease;max-width:180px}.shopping-add-select:focus{border-color:#c5531c}.shopping-add-submit{display:inline-flex;align-items:center;justify-content:center;width:36px;height:36px;border-radius:50%;border:none;background:#c5531c;color:#fff;cursor:pointer;flex-shrink:0;transition:all .15s ease}.shopping-add-submit:hover{opacity:.85;transform:scale(1.05)}.settings-header{margin-bottom:80px}.settings-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:48px;font-weight:800;line-height:56px;letter-spacing:-.02em;color:#1b1c1c;margin-bottom:4px}@media (max-width: 767px){.settings-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:24px;font-weight:700;line-height:32px}}.settings-section{background:#fff;border:1px solid rgba(225,191,179,.3);border-radius:1.5rem;box-shadow:0 4px 8px #0000001a;position:relative;padding:24px;margin-bottom:24px}.settings-section-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;line-height:16px;letter-spacing:.05em;text-transform:uppercase;color:#1b1c1c;display:flex;align-items:center;gap:12px;margin-bottom:24px;font-weight:700;text-transform:none;letter-spacing:0;font-size:14px}.settings-section-title .material-symbols-outlined{color:#8a3000;font-size:20px}.banned-chips{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:24px}.banned-chip{display:inline-flex;align-items:center;gap:4px;padding:4px 4px 4px 12px;background:#c5531c1f;color:#fff;border-radius:9999px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:600;border:1px solid rgba(197,83,28,.2)}.banned-chip button{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:transparent;cursor:pointer;color:#fff;border-radius:50%;transition:all .15s ease}.banned-chip button:hover{background:#ffffff1a}.banned-chip button .material-symbols-outlined{font-size:14px}.add-banned-row{display:flex;gap:12px}.add-banned-input{width:100%;padding:12px 24px;background:#fff;border:1px solid #e1bfb3;border-radius:1rem;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;color:#1b1c1c;outline:none;transition:all .15s ease}.add-banned-input::placeholder{color:#1b1c1c66}.add-banned-input:focus{border-color:#c5531c;box-shadow:0 0 0 3px #c5531c33}.add-banned-input{flex:1}.ingredient-autocomplete{position:relative;flex:1}.ingredient-dropdown{position:absolute;top:100%;left:0;right:0;z-index:50;margin-top:4px;background:#fff;border:1px solid #e1bfb3;border-radius:12px;box-shadow:0 4px 16px #0000001f;max-height:240px;overflow-y:auto;padding:4px}.ingredient-dropdown-item{padding:8px 12px;font-size:14px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;color:#1b1c1c;border-radius:8px;cursor:pointer;transition:background .15s ease}.ingredient-dropdown-item:hover,.ingredient-dropdown-item.highlighted{background:#f5f3f3}.radio-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}@media (max-width: 767px){.radio-cards{grid-template-columns:1fr}}.radio-card{display:flex;align-items:flex-start;gap:24px;padding:24px;border:1px solid #e1bfb3;border-radius:1.5rem;cursor:pointer;transition:all .15s ease;background:#fff}.radio-card:hover{border-color:#c5531c66}.radio-card.active{border:2px solid #8a3000;background:#c5531c0a}.radio-card .material-symbols-outlined{color:#594138;font-size:24px}.radio-card.active .material-symbols-outlined{color:#8a3000}.radio-card-content{flex:1}.radio-card-label{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;line-height:20px;font-weight:400;color:#1b1c1c;margin-bottom:4px}.radio-card-indicator{width:20px;height:20px;border-radius:50%;border:2px solid #e1bfb3;flex-shrink:0;display:flex;align-items:center;justify-content:center;margin-top:2px;transition:all .15s ease}.radio-card-indicator:after{content:"";width:10px;height:10px;border-radius:50%;background:transparent;transition:all .15s ease}.radio-card.active .radio-card-indicator{border-color:#8a3000}.radio-card.active .radio-card-indicator:after{background:#8a3000}.save-settings-btn{display:inline-flex;align-items:center;gap:8px;background:#c5531c;color:#fff;border:none;border-radius:1.5rem;padding:12px 24px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 4px #c5531c4d}.save-settings-btn:hover{background:#af4a19;transform:translateY(-1px);box-shadow:0 4px 8px #c5531c59}.save-settings-btn:active{transform:translateY(0);box-shadow:0 1px 2px #c5531c4d}.save-settings-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.save-settings-btn{margin-top:24px;padding:24px 80px;font-size:14px;width:100%;justify-content:center;max-width:300px}.loading-overlay{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px;text-align:center}.spinner{width:48px;height:48px;border:3px solid rgba(197,83,28,.2);border-top-color:#c5531c;border-radius:50%;animation:spin .8s linear infinite;margin-bottom:24px}@keyframes spin{to{transform:rotate(360deg)}}.material-symbols-outlined.spinning{display:inline-block;animation:spin .8s linear infinite}.loading-text{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:400;line-height:24px;color:#594138}.error-banner{background:#ba1a1a14;border:1px solid rgba(186,26,26,.2);border-radius:1rem;padding:24px;margin-bottom:24px;display:flex;align-items:center;gap:24px}.error-banner .material-symbols-outlined{color:#ba1a1a;font-size:22px;flex-shrink:0}.error-text{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#ba1a1a;flex:1}.error-close{background:none;border:none;cursor:pointer;color:#ba1a1a;padding:4px}.error-close .material-symbols-outlined{font-size:18px}.recipes-search-bar{display:flex;align-items:center;background:#f5f3f3;border-radius:1.5rem;padding:12px 24px;gap:12px;transition:all .25s ease;margin-bottom:24px}.recipes-search-bar:focus-within{box-shadow:0 0 0 2px #8a3000;transform:scale(1.01)}.recipes-search-bar .material-symbols-outlined{color:#594138;font-size:22px}.recipes-search-bar input{border:none;background:transparent;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;color:#1b1c1c;outline:none;flex:1}.recipes-search-bar input::placeholder{color:#594138;opacity:.6}.cuisine-filters{display:flex;gap:12px;overflow-x:auto;padding:12px 0;margin-bottom:24px;-webkit-overflow-scrolling:touch}.cuisine-filters::-webkit-scrollbar{display:none}.cuisine-filter-pill{padding:4px 24px;border-radius:9999px;border:1px solid #e1bfb3;background:transparent;color:#594138;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease}.cuisine-filter-pill:hover{border-color:#8a3000;color:#8a3000}.cuisine-filter-pill.active{background:#c5531c;color:#fff;border-color:#c5531c}.recipes-filters{display:flex;flex-direction:column;gap:12px;margin-bottom:24px}.filter-group{display:flex;align-items:center;gap:12px}.filter-group-label{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;color:#594138;white-space:nowrap;min-width:fit-content}.filter-pills-row{display:flex;flex-wrap:wrap;gap:4px;flex:1}.filter-pill{padding:4px 24px;border-radius:9999px;border:1px solid #e1bfb3;background:transparent;color:#594138;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;cursor:pointer;white-space:nowrap;transition:all .15s ease}.filter-pill:hover{border-color:#8a3000;color:#8a3000}.filter-pill.active{background:#c5531c;color:#fff;border-color:#c5531c}.view-toggle{display:flex;gap:4px;margin-bottom:24px}.view-toggle-btn{display:inline-flex;align-items:center;justify-content:center;padding:4px;border:1px solid #e1bfb3;border-radius:.5rem;background:transparent;cursor:pointer;color:#594138;transition:all .15s ease}.view-toggle-btn .material-symbols-outlined{font-size:20px}.view-toggle-btn:hover{border-color:#8a3000;color:#8a3000}.view-toggle-btn.active{background:#c5531c;color:#fff;border-color:#c5531c}.recipes-toolbar{display:flex;justify-content:space-between;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:24px}.recipes-header-new{margin-bottom:48px}.recipes-header-new h1{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:32px;font-weight:700;color:#1b1c1c;margin-bottom:4px}@media (max-width: 767px){.recipes-header-new h1{font-size:28px;line-height:36px}}.recipe-card-new{display:block;background:#fff;border-radius:1.5rem;overflow:hidden;box-shadow:0 4px 8px #0000001a;transition:all .25s ease;cursor:pointer;text-decoration:none;color:inherit}.recipe-card-new:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.recipe-card-image{position:relative;aspect-ratio:4/3;overflow:hidden;display:flex;align-items:flex-start;justify-content:space-between}.recipe-card-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.recipe-card-overlay{position:absolute;top:12px;left:12px;display:flex;gap:4px;flex-wrap:wrap}.recipe-card-tag{padding:2px 8px;border-radius:9999px;background:#ffffffe6;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:10px;font-weight:600;color:#1b1c1c;display:inline-flex;align-items:center;gap:3px}.recipe-card-tag .material-symbols-outlined{font-size:12px}.recipe-card-tag--kid{color:#3b6934}.recipe-card-tag--time{color:#8a3000}.recipe-card-tag--easy{color:#3b6934}.recipe-card-tag--medium{color:#8a3000}.recipe-card-tag--challenging{color:#ba1a1a}.recipe-card-body{padding:24px}.recipe-card-name{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:20px;font-weight:600;color:#1b1c1c;margin-bottom:4px}.recipe-card-simplified{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:500;color:#8a3000;margin-top:-2px;margin-bottom:4px;display:-webkit-box;-webkit-line-clamp:1;-webkit-box-orient:vertical;overflow:hidden}.recipe-card-desc{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;color:#594138;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;margin-bottom:12px}.recipe-card-meta-row{display:flex;justify-content:space-between;align-items:center}.recipe-card-meta-info{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.recipe-card-fav{position:absolute;top:12px;right:12px;width:32px;height:32px;border-radius:50%;border:none;background:#ffffffd9;backdrop-filter:blur(4px);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;color:#594138;z-index:2}.recipe-card-fav .material-symbols-outlined{font-size:18px}.recipe-card-fav:hover{background:#ba1a1a1f}.recipe-card-fav.active{color:#ba1a1a}.recipe-card-fav.active .material-symbols-outlined{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.recipe-card-delete{position:absolute;top:48px;right:12px;width:32px;height:32px;border-radius:50%;border:none;background:#ffffffd9;backdrop-filter:blur(4px);cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease;color:#ba1a1a;z-index:2}.recipe-card-delete .material-symbols-outlined{font-size:18px}.recipe-card-delete:hover{background:#ba1a1a26}.recipe-card-kcal{display:inline-flex;align-items:center;gap:3px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;color:#594138}.recipe-card-kcal .material-symbols-outlined{font-size:14px;color:#8a3000}.recipe-card-cuisine-pill{padding:2px 10px;border-radius:9999px;background:#b9eeab;color:#3f6d38;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600}.recipe-card-expand-toggle{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:50%;border:none;background:#f5f3f3;color:#594138;cursor:pointer;transition:all .15s ease}.recipe-card-expand-toggle .material-symbols-outlined{font-size:20px}.recipe-card-expand-toggle:hover{background:#c5531c1f;color:#8a3000}.recipe-card-view-link{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:1rem;text-decoration:none;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;color:#8a3000;background:#c5531c14;transition:all .15s ease}.recipe-card-view-link:hover{background:#c5531c2e}.recipe-card-detail{padding:24px;border-top:1px solid rgba(225,191,179,.3)}.recipe-card-kid-version{display:flex;align-items:flex-start;gap:12px;padding:12px 24px;background:#f5f3f3;border-radius:.75rem;margin-bottom:24px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;color:#594138;font-style:italic}.recipe-card-kid-version .material-symbols-outlined{font-size:18px;color:#3b6934;flex-shrink:0;margin-top:1px}.recipe-card-section{margin-bottom:24px}.recipe-card-section:last-child{margin-bottom:0}.recipe-card-section-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;color:#8a3000;letter-spacing:.05em;margin-bottom:12px}.recipe-card-ingredients{display:flex;flex-direction:column;gap:12px}.recipe-card-ingredient-group{margin-bottom:2px}.recipe-card-cat-label{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:11px;font-weight:600;color:#594138;display:block;margin-bottom:4px}.recipe-card-ingredient-list{list-style:none;padding:0;margin:0}.recipe-card-ingredient-item{display:flex;justify-content:space-between;align-items:center;padding:4px 12px;border-radius:.25rem;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px}.recipe-card-ingredient-item:nth-child(odd){background:#f5f3f3}.recipe-card-ingredient-name{color:#1b1c1c}.recipe-card-ingredient-amount{color:#594138;font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:24px}.recipe-card-steps{list-style:none;counter-reset:step-counter;padding:0;margin:0}.recipe-card-step-item{counter-increment:step-counter;position:relative;padding-left:40px;margin-bottom:24px}.recipe-card-step-item:last-child{margin-bottom:0}.recipe-card-step-item:before{content:counter(step-counter);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:9999px;background:#c5531c;color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.recipe-card-step-instruction{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;color:#1b1c1c;line-height:1.6}.recipe-card-kid-mod{display:flex;align-items:flex-start;gap:12px;padding:12px 24px;background:#b9eeab4d;border-radius:.75rem;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;color:#594138;font-style:italic;margin-top:12px}.recipe-card-kid-mod .material-symbols-outlined{font-size:18px;color:#3b6934;flex-shrink:0;margin-top:1px}.recipe-card-collapse-btn{display:inline-flex;align-items:center;gap:4px;padding:4px 24px;margin-top:24px;border:1px solid #e1bfb3;border-radius:9999px;background:transparent;color:#594138;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.recipe-card-collapse-btn .material-symbols-outlined{font-size:18px}.recipe-card-collapse-btn:hover{border-color:#8a3000;color:#8a3000}.recipes-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:48px}@media (max-width: 1023px){.recipes-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 767px){.recipes-grid{grid-template-columns:1fr}}.recipes-grid.list-view{grid-template-columns:1fr}.recipes-grid.list-view .recipe-card-new{display:grid;grid-template-columns:240px 1fr}@media (max-width: 767px){.recipes-grid.list-view .recipe-card-new{grid-template-columns:1fr}}.recipes-grid.list-view .recipe-card-image{aspect-ratio:auto;min-height:160px}@media (max-width: 767px){.recipes-grid.list-view .recipe-card-image{aspect-ratio:4/3}}.recipes-grid.list-view .recipe-card-body{display:flex;flex-direction:column;justify-content:center}.load-more-btn{display:block;margin:80px auto;padding:12px 80px;background:#c5531c;color:#fff;border:none;border-radius:1.5rem;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;cursor:pointer;transition:all .15s ease}.load-more-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.recipes-empty{text-align:center;padding:80px 24px}.recipes-empty .material-symbols-outlined{font-size:48px;color:#594138;opacity:.3;margin-bottom:24px}.recipes-empty h3{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:20px;font-weight:600;color:#1b1c1c;margin-bottom:4px}.recipes-empty p{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;color:#594138}@media print{body{background:#fff!important;color:#000!important}.sidebar,.topbar,.bottom-nav,.week-actions,.meal-card-actions,.meal-feedback,.feedback-comment-display,.feedback-comment-editor,.shopping-actions,.shopping-progress{display:none!important}.app-content{margin-left:0!important;padding:0!important}.app-main{padding:20px!important;max-width:100%!important}.shopping-item.checked{text-decoration:line-through;opacity:.6}}.recipes-header{margin-bottom:80px}.recipes-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:32px;font-weight:700;line-height:40px}.recipes-subtitle{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:400;line-height:24px;color:#594138;margin-top:4px}.generate-panel{background:#fff;border:1px solid rgba(225,191,179,.3);border-radius:1.5rem;box-shadow:0 4px 8px #0000001a;padding:24px;margin-bottom:80px}.generate-panel-row{display:flex;gap:12px;align-items:center;flex-wrap:wrap}.generate-input{width:100%;padding:12px 24px;background:#fff;border:1px solid #e1bfb3;border-radius:1rem;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;color:#1b1c1c;outline:none;transition:all .15s ease}.generate-input:focus{border-color:#c5531c;box-shadow:0 0 0 3px #c5531c33}.generate-input{flex:1;min-width:140px}.generate-input::placeholder{color:#1b1c1c66}.generate-count{max-width:80px;text-align:center}.generate-btn{display:inline-flex;align-items:center;gap:8px;background:#c5531c;color:#fff;border:none;border-radius:1.5rem;padding:12px 24px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 4px #c5531c4d}.generate-btn:hover{background:#af4a19;transform:translateY(-1px);box-shadow:0 4px 8px #c5531c59}.generate-btn:active{transform:translateY(0);box-shadow:0 1px 2px #c5531c4d}.generate-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.generate-btn{padding:12px 24px;white-space:nowrap}.generate-btn .material-symbols-outlined{font-size:18px}.generate-error{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#ba1a1a;margin-top:12px}.generate-success{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#3b6934;margin-top:12px;font-weight:600}.spinner-small{display:inline-block;width:18px;height:18px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}.cuisine-group{margin-bottom:24px}.cuisine-header{background:#fff;border:1px solid rgba(225,191,179,.3);border-radius:1.5rem;box-shadow:0 4px 8px #0000001a;display:flex;align-items:center;gap:24px;width:100%;border:none;cursor:pointer;padding:24px;transition:.15s ease}.cuisine-header:hover{background:#c5531c0f}.cuisine-header.open{border-radius:1rem 1rem 0 0}.cuisine-name{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:24px;font-weight:700;line-height:32px;flex:1;text-align:left}.cuisine-count{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;line-height:16px;letter-spacing:.05em;text-transform:uppercase;color:#594138;background:#f5f3f3;padding:2px 12px;border-radius:.25rem}.cuisine-chevron{color:#594138;font-size:24px}.cuisine-meals{background:#f5f3f3;border-radius:0 0 1rem 1rem;padding:12px 24px 24px;display:flex;flex-direction:column;gap:12px}.recipe-card{background:#fff;border:1px solid rgba(225,191,179,.3);border-radius:1.5rem;box-shadow:0 4px 8px #0000001a;overflow:hidden;padding:0}.recipe-card-header{display:flex;align-items:center;gap:24px;width:100%;border:none;background:transparent;cursor:pointer;padding:24px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;color:#1b1c1c;transition:.15s ease}.recipe-card-header:hover{background:#c5531c0f}.recipe-card-title{flex:1;text-align:left;min-width:0}.recipe-card-name{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:400;line-height:24px;display:block;font-weight:600;margin-bottom:4px}.recipe-card-meta{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;line-height:16px;letter-spacing:.05em;text-transform:uppercase;display:flex;align-items:center;gap:4px;color:#594138;flex-wrap:wrap}.recipe-icon{font-size:14px;margin-right:-2px}.recipe-icon:first-of-type{margin-left:0;margin-right:2px}.recipe-chevron{color:#594138;flex-shrink:0}.recipe-card-body{padding:24px;border-top:1px solid rgba(225,191,179,.3)}.recipe-kid-version{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;display:flex;align-items:flex-start;gap:12px;color:#594138;background:#f5f3f3;padding:12px 24px;border-radius:.75rem;margin-bottom:24px;font-style:italic}.recipe-kid-version .material-symbols-outlined{font-size:18px;flex-shrink:0;margin-top:1px}.recipe-section{margin-bottom:24px}.recipe-section:last-child{margin-bottom:0}.recipe-section-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;line-height:16px;letter-spacing:.05em;text-transform:uppercase;color:#8a3000;margin-bottom:12px}.recipe-ingredients{display:flex;flex-direction:column;gap:12px}.ingredient-category{margin-bottom:2px}.ingredient-cat-label{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;line-height:16px;letter-spacing:.05em;text-transform:uppercase;display:block;color:#594138;margin-bottom:4px;font-size:11px}.ingredient-list{list-style:none;padding:0;margin:0}.ingredient-item{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;display:flex;justify-content:space-between;align-items:center;padding:4px 12px;border-radius:.25rem}.ingredient-item:nth-child(odd){background:#f5f3f3}.ingredient-name{color:#1b1c1c}.ingredient-amount{color:#594138;font-variant-numeric:tabular-nums;white-space:nowrap;margin-left:24px}.recipe-steps{list-style:none;counter-reset:step-counter;padding:0;margin:0}.recipe-step-item{counter-increment:step-counter;position:relative;padding-left:40px;margin-bottom:24px}.recipe-step-item:last-child{margin-bottom:0}.recipe-step-item:before{content:counter(step-counter);position:absolute;left:0;top:0;width:28px;height:28px;border-radius:9999px;background:#c5531c;color:#fff;font-size:13px;font-weight:700;display:flex;align-items:center;justify-content:center;line-height:1}.step-instruction{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:400;line-height:24px;line-height:1.6}.step-kid-mod{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;display:flex;align-items:flex-start;gap:4px;margin-top:4px;padding:4px 12px;background:#c5531c1a;border-radius:.25rem;color:#594138;font-style:italic}.step-kid-mod .material-symbols-outlined{font-size:16px;flex-shrink:0;margin-top:1px}.landing-hero{position:relative;overflow:hidden;background:#fbf9f8;padding:80px 64px 0;min-height:80vh;display:flex;align-items:center}@media (max-width: 767px){.landing-hero{padding:48px 16px 0;min-height:auto}}.landing-hero-grid{max-width:1200px;margin:0 auto;width:100%;display:grid;grid-template-columns:repeat(12,1fr);gap:20px;align-items:center}.landing-hero-left{grid-column:span 6;display:flex;flex-direction:column;gap:24px}@media (max-width: 1023px){.landing-hero-left{grid-column:span 12;text-align:center;align-items:center}}.landing-hero-right{grid-column:span 6;position:relative;display:flex;justify-content:center;align-items:center}@media (max-width: 1023px){.landing-hero-right{grid-column:span 12;margin-top:48px}}.landing-pill{display:inline-block;align-self:flex-start;padding:4px 24px;background:#b9eeab;color:#3f6d38;border-radius:9999px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:.05em}@media (max-width: 1023px){.landing-pill{align-self:center}}.landing-hero-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:48px;font-weight:800;line-height:56px;color:#1b1c1c;margin:0;line-height:1.15;letter-spacing:-.02em}@media (max-width: 767px){.landing-hero-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:32px;font-weight:700;line-height:40px}}.landing-hero-title .highlight{color:#c5531c}.landing-hero-desc{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:18px;font-weight:400;line-height:28px;color:#594138;max-width:520px;margin:0}@media (max-width: 1023px){.landing-hero-desc{max-width:100%}}.landing-hero-actions{display:flex;gap:12px;flex-wrap:wrap}.landing-cta-btn{display:inline-flex;align-items:center;gap:8px;background:#c5531c;color:#fff;border:none;border-radius:1.5rem;padding:12px 24px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 4px #c5531c4d}.landing-cta-btn:hover{background:#af4a19;transform:translateY(-1px);box-shadow:0 4px 8px #c5531c59}.landing-cta-btn:active{transform:translateY(0);box-shadow:0 1px 2px #c5531c4d}.landing-cta-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.landing-cta-btn{padding:12px 48px;font-size:16px;font-weight:700;border-radius:1.5rem;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease}.landing-cta-btn:hover{transform:translateY(-2px) scale(1.02)}.landing-cta-btn:active{transform:scale(.95)}.landing-cta-btn-secondary{display:inline-flex;align-items:center;justify-content:center;padding:12px 48px;background:transparent;color:#3b6934;border:2px solid #3b6934;border-radius:1.5rem;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:700;cursor:pointer;transition:all .15s ease}.landing-cta-btn-secondary:hover{background:#3b69340f;border-color:#2d5428}.landing-cta-btn-secondary:active{transform:scale(.95)}.landing-social{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.landing-avatars{display:flex;margin-right:4px}.landing-avatars .landing-avatar{width:40px;height:40px;border-radius:9999px;border:2px solid #fbf9f8;margin-left:-12px}.landing-avatars .landing-avatar:first-child{margin-left:0}.landing-avatars .landing-avatar--1{background:#eae8e7}.landing-avatars .landing-avatar--2{background:#e4e2e2}.landing-avatars .landing-avatar--3{background:#efeded}.landing-stars{display:flex;color:#bc8800}.landing-stars .material-symbols-outlined{font-size:18px;font-variation-settings:"FILL" 1}.landing-social-text{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#594138}.landing-food-card{position:relative;display:block;width:100%;aspect-ratio:4/3;min-height:240px;border-radius:48px;overflow:hidden;box-shadow:0 24px 48px #8a30002e;transform:rotate(3deg);transition:transform .5s ease;text-decoration:none;color:inherit}.landing-food-card:hover{transform:rotate(0)}@media (max-width: 1023px){.landing-food-card{max-width:400px;transform:rotate(0)}}.landing-food-image{width:100%;height:100%;background:linear-gradient(135deg,#c5531c,#bc8800);position:relative}.landing-food-img{width:100%;height:100%;min-height:240px;object-fit:cover}.landing-food-plate{position:absolute;bottom:16%;left:50%;transform:translate(-50%);width:70%;height:55%;border-radius:50%;background:linear-gradient(135deg,#fde0d0,#f8c9a0);box-shadow:0 4px 24px #8a300040,inset 0 2px 8px #ffffff4d}.landing-food-plate:before{content:"";position:absolute;top:12%;left:15%;width:55%;height:50%;border-radius:50%;background:linear-gradient(135deg,#ffb088,#f4976c);box-shadow:inset 0 1px 4px #fff3}.landing-food-plate:after{content:"";position:absolute;top:15%;right:18%;width:18%;height:12%;border-radius:4px;background:#6b8f3a;box-shadow:0 1px 3px #00000026}.landing-food-overlay{position:absolute;bottom:24px;left:24px;right:24px;padding:24px;background:#ffffffe0;backdrop-filter:blur(12px);border-radius:1.5rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 4px 8px #0000001a}.landing-food-info{display:flex;flex-direction:column;gap:4px}.landing-food-name{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:20px;font-weight:600;line-height:28px;color:#1b1c1c}.landing-food-meta{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#594138;display:flex;align-items:center;gap:4px}.landing-food-meta .material-symbols-outlined{font-size:14px}.landing-food-fav{padding:12px;background:#c5531c;border-radius:1rem;color:#fff;display:flex;align-items:center;justify-content:center}.landing-food-fav .material-symbols-outlined{font-variation-settings:"FILL" 1}.landing-blur-bubble{position:absolute;top:-40px;right:-40px;width:160px;height:160px;background:#ffdea6;border-radius:9999px;filter:blur(60px);opacity:.3;z-index:-1}@media (max-width: 1023px){.landing-blur-bubble{top:-20px;right:-20px;width:100px;height:100px}}.landing-trust{padding:48px 64px;background:#f5f3f3}@media (max-width: 767px){.landing-trust{padding:24px 16px}}.landing-trust-inner{max-width:1200px;margin:0 auto;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:80px;opacity:.6;transition:opacity .5s ease,filter .5s ease}.landing-trust-inner:hover{opacity:1}@media (max-width: 767px){.landing-trust-inner{gap:24px}}.landing-trust-item{display:flex;align-items:center;gap:4px}.landing-trust-item .material-symbols-outlined{font-size:28px;color:#3b6934}.landing-trust-item:nth-child(2) .material-symbols-outlined{color:#8a3000}.landing-trust-item:nth-child(3) .material-symbols-outlined{color:#7c5800}.landing-trust-name{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:20px;font-weight:600;line-height:28px;color:#1b1c1c}.landing-features{padding:80px 64px}@media (max-width: 767px){.landing-features{padding:48px 16px}}.landing-features-header{max-width:640px;margin:0 auto 80px;text-align:center}.landing-features-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:32px;font-weight:700;line-height:40px;color:#1b1c1c;margin-bottom:12px}@media (max-width: 767px){.landing-features-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:24px;font-weight:700;line-height:32px}}.landing-features-subtitle{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:400;line-height:24px;color:#594138}.landing-features-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);gap:20px}.landing-feature-card{border-radius:32px;padding:48px;transition:box-shadow .25s ease,transform .25s ease;position:relative;overflow:hidden}.landing-feature-card:hover{box-shadow:0 8px 24px #0000001f;transform:translateY(-2px)}@media (max-width: 767px){.landing-feature-card{padding:24px}}.landing-feature-card--wide{grid-column:span 8;background:#efeded;border:1px solid rgba(225,191,179,.3);display:flex;gap:48px;align-items:center}@media (max-width: 1023px){.landing-feature-card--wide{grid-column:span 12;flex-direction:column}}.landing-feature-card--green{grid-column:span 4;background:#b9eeab4d;border:1px solid rgba(59,105,52,.1)}@media (max-width: 1023px){.landing-feature-card--green{grid-column:span 6}}@media (max-width: 767px){.landing-feature-card--green{grid-column:span 12}}.landing-feature-card--gold{grid-column:span 4;background:#ffdea6}@media (max-width: 1023px){.landing-feature-card--gold{grid-column:span 6}}@media (max-width: 767px){.landing-feature-card--gold{grid-column:span 12}}.landing-feature-card--gray{grid-column:span 4;background:#e4e2e2}@media (max-width: 1023px){.landing-feature-card--gray{grid-column:span 6}}@media (max-width: 767px){.landing-feature-card--gray{grid-column:span 12}}.landing-feature-card--orange{grid-column:span 4;background:#c5531c1a}@media (max-width: 1023px){.landing-feature-card--orange{grid-column:span 6}}@media (max-width: 767px){.landing-feature-card--orange{grid-column:span 12}}.landing-feature-card-body{flex:1}.landing-feature-icon{width:48px;height:48px;border-radius:1rem;background:#c5531c;color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:24px}.landing-feature-icon .material-symbols-outlined{font-size:24px}.landing-feature-icon--green{background:#3b6934;color:#fff}.landing-feature-icon--gold{background:#7c5800;color:#fff}.landing-feature-icon--gray{background:#594138;color:#fff}.landing-feature-icon--orange{background:#8a3000;color:#fff}.landing-feature-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:20px;font-weight:600;line-height:28px;color:#1b1c1c;margin-bottom:12px}.landing-feature-desc{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:400;line-height:24px;color:#594138;line-height:1.5}.landing-feature-mockup{flex:1;background:#fff;border-radius:1.5rem;box-shadow:0 1px 2px #0000000d,inset 0 1px 3px #0000000a;border:1px solid rgba(225,191,179,.15);overflow:hidden;padding:12px;display:flex;flex-direction:column;gap:12px;width:100%}.landing-mockup-bar{height:40px;border-radius:.75rem;display:flex;align-items:center;padding:0 24px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;background:#f5f3f3;color:#594138}.landing-mockup-bar--active{background:#c5531c;color:#fff}.landing-testimonials{padding:80px 64px;background:#f5f3f3;overflow:hidden}@media (max-width: 767px){.landing-testimonials{padding:48px 16px}}.landing-testimonials-grid{max-width:1200px;margin:0 auto;display:grid;grid-template-columns:repeat(12,1fr);gap:20px;align-items:center}.landing-testimonials-left{grid-column:span 5}@media (max-width: 1023px){.landing-testimonials-left{grid-column:span 12}}.landing-testimonials-heading{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:32px;font-weight:700;line-height:40px;color:#1b1c1c;margin-bottom:24px}@media (max-width: 767px){.landing-testimonials-heading{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:24px;font-weight:700;line-height:32px}}.landing-testimonials-right{grid-column:span 7;display:flex;justify-content:flex-end;position:relative}@media (max-width: 1023px){.landing-testimonials-right{grid-column:span 12;justify-content:center}}.landing-quote-card{background:#fff;border-radius:1.5rem;padding:48px;box-shadow:0 4px 8px #0000001a;position:relative}.landing-quote-icon{position:absolute;top:-16px;left:-16px;font-size:40px;color:#c5531c;background:#fff;border-radius:9999px;padding:4px}.landing-quote-text{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:18px;font-weight:400;line-height:28px;color:#1b1c1c;font-style:italic;padding-top:12px;margin-bottom:24px;line-height:1.6}.landing-quote-author{display:flex;align-items:center;gap:12px}.landing-testimonial-photo{width:48px;height:48px;border-radius:9999px;background:linear-gradient(135deg,#b9eeab,#c5531c);flex-shrink:0}.landing-quote-meta{display:flex;flex-direction:column}.landing-quote-name{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:400;line-height:24px;font-weight:700;color:#1b1c1c}.landing-quote-role{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#594138}.landing-family-photo{width:100%;max-width:480px;aspect-ratio:1;border-radius:40px;background:linear-gradient(135deg,#b9eeab,#ffdbce);box-shadow:0 8px 24px #0000001f;position:relative;overflow:hidden}.landing-family-photo:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 40% 30%,rgba(161,212,148,.35),transparent 60%),radial-gradient(ellipse at 70% 60%,rgba(255,187,22,.25),transparent 50%)}@media (max-width: 1023px){.landing-family-photo{max-width:340px}}.landing-saved-badge{position:absolute;bottom:-30px;left:-30px;background:#b9eeab;padding:48px;border-radius:1.5rem;box-shadow:0 8px 24px #0000001f;display:flex;align-items:center;gap:12px}.landing-saved-badge .material-symbols-outlined{font-size:36px;color:#3b6934}@media (max-width: 767px){.landing-saved-badge{bottom:-20px;left:0;padding:24px}}.landing-saved-text{display:flex;flex-direction:column}.landing-saved-hours{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:32px;font-weight:700;line-height:40px;color:#3f6d38;line-height:1.1}.landing-saved-label{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#3b6934}.landing-final-cta{padding:80px 64px}@media (max-width: 767px){.landing-final-cta{padding:48px 16px}}.landing-final-cta-inner{max-width:1200px;margin:0 auto;background:#c5531c;border-radius:48px;padding:80px 48px;text-align:center;display:flex;flex-direction:column;align-items:center;gap:24px;color:#fff;position:relative;overflow:hidden}@media (max-width: 767px){.landing-final-cta-inner{border-radius:1.5rem;padding:48px 24px}}.landing-dot-pattern{position:absolute;inset:0;opacity:.1;pointer-events:none;background-image:radial-gradient(#ffffff 2px,transparent 2px);background-size:32px 32px}.landing-final-cta-heading{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:48px;font-weight:800;line-height:56px;letter-spacing:-.02em;max-width:640px;position:relative;z-index:1}@media (max-width: 767px){.landing-final-cta-heading{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:32px;font-weight:700;line-height:40px}}.landing-final-cta-desc{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:18px;font-weight:400;line-height:28px;max-width:520px;opacity:.9;position:relative;z-index:1}.landing-final-cta-actions{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:12px;position:relative;z-index:1}.landing-final-cta-primary{background:#fff;color:#8a3000;padding:12px 48px;border:none;border-radius:1.5rem;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:700;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease;box-shadow:0 8px 24px #0000001f}.landing-final-cta-primary:hover{transform:translateY(-2px) scale(1.02);box-shadow:0 8px 24px #0000001f,0 8px 24px #00000026}.landing-final-cta-primary:active{transform:scale(.95)}.landing-final-cta-secondary{background:transparent;color:#fff;border:2px solid rgba(255,255,255,.3);padding:12px 48px;border-radius:1.5rem;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:700;cursor:pointer;transition:all .15s ease}.landing-final-cta-secondary:hover{background:#ffffff1a}.landing-final-cta-secondary:active{transform:scale(.95)}.landing-trial-note{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;opacity:.8;margin-top:4px;position:relative;z-index:1}.landing-footer{padding:48px 64px;background:#e4e2e2;border-top:1px solid rgba(225,191,179,.2)}@media (max-width: 767px){.landing-footer{padding:24px 16px}}.landing-footer-inner{max-width:1200px;margin:0 auto;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:24px}.landing-footer-brand{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:20px;font-weight:600;line-height:28px;color:#8a3000}.landing-footer-links{display:flex;gap:24px;flex-wrap:wrap}.landing-footer-links a{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#594138;text-decoration:none;transition:color .15s ease}.landing-footer-links a:hover{color:#8a3000}.landing-footer-copy{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#594138;opacity:.7}.recipe-detail-page{max-width:1200px;margin:0 auto;padding:24px 0}.recipe-detail-hero{display:grid;grid-template-columns:7fr 5fr;gap:48px;padding:48px 0;margin-bottom:48px}@media (max-width: 1023px){.recipe-detail-hero{grid-template-columns:1fr;gap:24px}}.recipe-detail-image{border-radius:1.5rem;background:linear-gradient(135deg,#c5531c,#b9eeab);min-height:400px;display:flex;align-items:flex-start;justify-content:flex-start;position:relative;overflow:hidden}.recipe-detail-image.has-image{background:none}@media (max-width: 1023px){.recipe-detail-image{min-height:300px}}.recipe-detail-img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.recipe-detail-tags{position:absolute;top:24px;left:24px;display:flex;gap:4px;flex-wrap:wrap}.recipe-detail-tag{display:inline-flex;align-items:center;gap:4px;padding:4px 12px;border-radius:9999px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600}.recipe-detail-tag .material-symbols-outlined{font-size:16px}.recipe-detail-tag--cuisine{background:#b9eeab;color:#3f6d38}.recipe-detail-tag--kid-friendly{background:#ffdea6;color:#271900}.recipe-detail-info{display:flex;flex-direction:column;gap:24px}.recipe-detail-breadcrumb{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;color:#594138;display:flex;align-items:center;gap:8px;flex-wrap:wrap}.recipe-detail-breadcrumb a{color:#594138;text-decoration:none;transition:color .15s ease}.recipe-detail-breadcrumb a:hover{color:#8a3000}.recipe-detail-breadcrumb-sep{color:#59413866}.recipe-detail-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:32px;font-weight:700;color:#8a3000;line-height:1}@media (max-width: 767px){.recipe-detail-title{font-size:28px;line-height:36px}}.recipe-detail-simplified{display:block;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:500;color:#3b6934;margin-top:4px}.recipe-detail-desc{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:18px;font-weight:400;line-height:28px;color:#594138}.recipe-detail-stats{display:grid;grid-template-columns:1fr 1fr;gap:24px;background:#f5f3f3;border-radius:1.5rem;padding:24px;border:1px solid rgba(225,191,179,.3)}.recipe-detail-stat{text-align:center}.recipe-detail-stat:nth-child(odd){border-right:1px solid rgba(225,191,179,.2);padding-right:24px}.recipe-detail-stat:nth-child(2n){padding-left:24px}.recipe-detail-stat-label{display:block;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;color:#594138;text-transform:uppercase;letter-spacing:.05em;margin-bottom:2px}.recipe-detail-stat-value{display:block;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:20px;font-weight:600;color:#8a3000}.recipe-detail-actions{display:flex;gap:12px}.recipe-detail-action-btn{display:inline-flex;align-items:center;justify-content:center;gap:12px;padding:24px 48px;border-radius:1.5rem;border:none;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s ease}.recipe-detail-action-btn .material-symbols-outlined{font-size:20px}.recipe-detail-action-btn--primary{flex:1;background:#c5531c;color:#fff;box-shadow:0 8px 24px #0000001f}.recipe-detail-action-btn--primary:hover{transform:scale(1.02);box-shadow:0 8px 24px #0000001f,0 4px 12px #c5531c4d}.recipe-detail-action-btn--primary:active{transform:scale(.95)}.recipe-detail-action-btn--secondary{width:auto;height:auto;padding:24px 48px;border:2px solid #3b6934;color:#3b6934;background:transparent;flex-shrink:0}.recipe-detail-action-btn--secondary:hover:not(:disabled){background:#b9eeab4d}.recipe-detail-action-btn--secondary:disabled{opacity:.5;cursor:not-allowed}.recipe-detail-action-btn--added{border-color:#3b6934;background:#b9eeab4d;color:#3b6934}.recipe-detail-action-btn--remove{border-color:#ba1a1a;color:#ba1a1a}.recipe-detail-action-btn--remove:hover:not(:disabled){background:#ba1a1a0f}.recipe-detail-action-btn--danger{border:2px solid #ba1a1a;color:#ba1a1a;background:transparent;flex-shrink:0}.recipe-detail-action-btn--danger:hover{background:#ba1a1a1a}.recipe-detail-content{display:grid;grid-template-columns:4fr 8fr;gap:80px;margin-top:48px}@media (max-width: 1023px){.recipe-detail-content{grid-template-columns:1fr;gap:48px}}.recipe-detail-section-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:32px;font-weight:700;color:#1b1c1c;border-bottom:1px solid rgba(225,191,179,.3);padding-bottom:12px;margin-bottom:24px}@media (max-width: 767px){.recipe-detail-section-title{font-size:28px;line-height:36px}}.recipe-detail-ingredients{background:#fff;border-radius:1.5rem;padding:48px;border:1px solid rgba(225,191,179,.3);box-shadow:0 4px 8px #0000001a}@media (max-width: 767px){.recipe-detail-ingredients{padding:24px}}.recipe-detail-ingredient-group{margin-bottom:24px}.recipe-detail-ingredient-group:last-of-type{margin-bottom:0}.recipe-detail-ingredient-cat-label{display:block;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:11px;font-weight:600;color:#594138;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.recipe-detail-ingredient-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:12px}.recipe-detail-ingredient-item{list-style:none}.recipe-detail-ingredient-label{display:flex;align-items:center;gap:12px;cursor:pointer;padding:4px 0;transition:color .15s ease}.recipe-detail-ingredient-label:hover .recipe-detail-ingredient-name{color:#8a3000}.recipe-detail-ingredient-checkbox{width:20px;height:20px;border-radius:.25rem;border:2px solid #8d7166;accent-color:#3b6934;cursor:pointer;flex-shrink:0}.recipe-detail-ingredient-name{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;color:#1b1c1c;flex:1;transition:all .15s ease}.recipe-detail-ingredient-name--checked{text-decoration:line-through;opacity:.5}.recipe-detail-ingredient-amount{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;color:#594138;white-space:nowrap}.recipe-detail-kid-tip{border:2px dashed rgba(59,105,52,.3);border-radius:1rem;padding:24px;display:flex;gap:24px;background:#b9eeab33;margin-top:48px;position:relative;overflow:hidden}.recipe-detail-kid-tip:after{content:"";position:absolute;right:-16px;top:-16px;width:80px;height:80px;opacity:.1;border-radius:50%;background:#b9eeab}.recipe-detail-kid-tip-icon{width:40px;height:40px;border-radius:50%;background:#3b69341a;display:flex;align-items:center;justify-content:center;flex-shrink:0}.recipe-detail-kid-tip-icon .material-symbols-outlined{color:#3b6934;font-size:22px}.recipe-detail-kid-tip-content{flex:1}.recipe-detail-kid-tip-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:20px;font-weight:600;color:#3b6934;margin-bottom:4px;display:flex;align-items:center;gap:12px}.recipe-detail-kid-tip-title .material-symbols-outlined{font-size:20px}.recipe-detail-kid-tip-text{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;color:#594138;line-height:1.5}.recipe-detail-steps{display:flex;flex-direction:column;gap:24px}.recipe-detail-step{display:flex;gap:24px;padding:24px;background:#fff;border-radius:1rem;box-shadow:0 1px 2px #0000000d;transition:box-shadow .15s ease}.recipe-detail-step:hover{box-shadow:0 4px 8px #0000001a}.recipe-detail-step--highlighted{border:2px solid rgba(138,48,0,.2)}.recipe-detail-step-num{width:44px;height:44px;border-radius:50%;background:#c5531c;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:18px;flex-shrink:0;box-shadow:0 4px 6px -1px #c5531c4d}.recipe-detail-step-body{flex:1;display:flex;flex-direction:column;gap:4px}.recipe-detail-step-text{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;color:#594138;line-height:1.6}.recipe-detail-step-kid-mod{display:flex;align-items:flex-start;gap:4px;padding:4px 12px;background:#c5531c14;border-radius:.25rem;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;color:#594138;font-style:italic}.recipe-detail-step-kid-mod .material-symbols-outlined{font-size:16px;flex-shrink:0;margin-top:1px}.recipe-detail-feedback{text-align:center;padding:80px 0;background:#eae8e7;border-radius:1.5rem;margin-top:80px;display:flex;flex-direction:column;align-items:center;gap:24px}.recipe-detail-feedback-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:32px;font-weight:700;color:#8a3000}@media (max-width: 767px){.recipe-detail-feedback-title{font-size:28px;line-height:36px}}.recipe-detail-feedback-desc{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:18px;color:#594138;max-width:480px}@media (max-width: 767px){.recipe-detail-feedback-desc{font-size:16px}}.recipe-detail-feedback-emoji-row{display:flex;gap:24px;flex-wrap:wrap;justify-content:center;color:#7c5800}.feedback-emoji{display:inline-flex;flex-direction:column;align-items:center;gap:4px;padding:12px 24px;border:none;border-radius:1rem;cursor:pointer;background:transparent;font-size:24px;transition:all .15s ease}.feedback-emoji .material-symbols-outlined{font-size:36px}.feedback-emoji:hover{background:#f5f3f3;transform:scale(1.1)}.feedback-emoji--active{color:#8a3000;background:#c5531c14}.feedback-emoji--active .material-symbols-outlined{font-variation-settings:"FILL" 1,"wght" 400,"GRAD" 0,"opsz" 24}.feedback-emoji-label{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;color:inherit}.recipe-detail-feedback-actions{display:flex;gap:12px;width:100%;max-width:480px;margin-top:12px}.recipe-detail-feedback-btn{flex:1;padding:12px 24px;border-radius:1rem;border:none;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s ease}.recipe-detail-feedback-btn--primary{background:#c5531c;color:#fff;box-shadow:0 4px 8px #0000001a}.recipe-detail-feedback-btn--primary:hover{opacity:.9}.recipe-detail-feedback-btn--secondary{background:transparent;color:#8a3000;border:2px solid #8a3000}.recipe-detail-feedback-btn--secondary:hover{background:#ffdbce33}.recipe-detail-fab{position:fixed;bottom:32px;right:32px;width:56px;height:56px;border-radius:50%;background:#c5531c;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #0000001f;z-index:50;transition:all .15s ease}.recipe-detail-fab .material-symbols-outlined{font-size:28px}.recipe-detail-fab:hover{transform:scale(1.1)}.recipe-detail-fab:active{transform:scale(.95)}@media (max-width: 767px){.recipe-detail-fab{bottom:calc(80px + env(safe-area-inset-bottom,0px));right:16px}}.profile-page{max-width:700px;margin:0 auto}.profile-header{background:#fff;border:1px solid rgba(225,191,179,.3);border-radius:1.5rem;box-shadow:0 4px 8px #0000001a;padding:48px;text-align:center;margin-bottom:24px}@media (max-width: 767px){.profile-header{padding:24px}}.profile-avatar{width:96px;height:96px;border-radius:9999px;background:#b9eeab;border:2px solid #ffdbce;display:flex;align-items:center;justify-content:center;margin:0 auto 24px}.profile-avatar .material-symbols-outlined{font-size:48px;color:#3f6d38}.profile-name{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:32px;font-weight:700;line-height:40px;color:#1b1c1c;margin-bottom:4px}@media (max-width: 767px){.profile-name{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:24px;font-weight:700;line-height:32px}}.profile-email{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:400;line-height:24px;color:#594138}.profile-name-input{display:block;width:100%;max-width:320px;margin:0 auto 12px;text-align:center;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:32px;font-weight:700;line-height:40px;color:#1b1c1c;border:none;border-bottom:2px solid transparent;background:transparent;outline:none;padding:4px 8px;border-radius:.25rem;transition:border-color .15s ease,background .15s ease}.profile-name-input:focus{border-color:#c5531c;background:#c5531c0a}.profile-name-input::placeholder{color:#59413880}@media (max-width: 767px){.profile-name-input{font-size:24px;line-height:32px;max-width:280px}}.profile-email-input{display:block;width:100%;max-width:320px;margin:0 auto;text-align:center;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:400;line-height:24px;color:#594138;border:none;border-bottom:2px solid transparent;background:transparent;outline:none;padding:4px 8px;border-radius:.25rem;transition:border-color .15s ease,background .15s ease}.profile-email-input:focus{border-color:#c5531c;background:#c5531c0a}.profile-email-input::placeholder{color:#59413880}@media (max-width: 767px){.profile-email-input{max-width:280px}}.profile-section{background:#fff;border:1px solid rgba(225,191,179,.3);border-radius:1.5rem;box-shadow:0 4px 8px #0000001a;padding:24px;margin-bottom:24px}.profile-section-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:20px;font-weight:600;line-height:28px;color:#1b1c1c;display:flex;align-items:center;gap:12px;margin-bottom:24px}.profile-section-title .material-symbols-outlined{color:#8a3000;font-size:22px}.profile-subsection{margin-top:24px;padding-top:24px;border-top:1px solid rgba(225,191,179,.2)}.profile-subsection:first-of-type{margin-top:0;padding-top:0;border-top:none}.profile-subsection-label{display:block;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;color:#594138;letter-spacing:.05em;margin-bottom:12px}.profile-chips{display:flex;flex-wrap:wrap;gap:12px}.profile-chip{display:inline-flex;align-items:center;gap:4px;padding:6px 14px;border-radius:9999px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:600;border:1px solid #e1bfb3;background:#f5f3f3;color:#594138;cursor:pointer;transition:all .15s ease}.profile-chip:hover{border-color:#8a3000;color:#8a3000;background:#c5531c0f}.profile-chip--active{background:#3b69341a;border-color:#3b69344d;color:#3f6d38}.profile-chip--removable{padding-right:4px}.profile-chip--removable button{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border:none;background:transparent;cursor:pointer;color:#594138;border-radius:50%;transition:all .15s ease}.profile-chip--removable button:hover{background:#ba1a1a1a;color:#ba1a1a}.profile-chip--removable button .material-symbols-outlined{font-size:14px}.profile-chip-add{border-style:dashed;color:#594138}.profile-chip-add:hover{color:#3b6934;border-color:#3b6934}.profile-chip-add-wrap{position:relative}.profile-chip-dropdown{position:absolute;top:calc(100% + 4px);left:0;z-index:100;background:#fff;border:1px solid #e1bfb3;border-radius:1rem;box-shadow:0 4px 16px #0000001f;padding:4px;min-width:180px}.profile-chip-dropdown-item{display:block;width:100%;text-align:left;padding:8px 12px;border:none;background:transparent;color:#1b1c1c;cursor:pointer;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;border-radius:8px;transition:background .15s ease}.profile-chip-dropdown-item:hover{background:#c5531c14}.profile-toggles{display:flex;flex-direction:column;gap:12px}.profile-toggle-row{display:flex;align-items:center;justify-content:space-between;padding:12px;background:#f5f3f3;border-radius:1rem;border:1px solid rgba(225,191,179,.15)}.profile-toggle-label{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:600;color:#1b1c1c}.profile-toggle-desc{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;color:#594138;margin-top:2px}.profile-toggle{position:relative;display:inline-flex;align-items:center;cursor:pointer;flex-shrink:0}.profile-toggle-input{position:absolute;opacity:0;width:0;height:0}.profile-toggle-track{width:44px;height:24px;background:#e4e2e2;border-radius:9999px;position:relative;transition:background .15s ease}.profile-toggle-track.active{background:#8a3000}.profile-toggle-thumb{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px #00000026;transition:transform .15s ease}.profile-toggle-track.active .profile-toggle-thumb{transform:translate(20px)}.profile-account-row{display:flex;gap:12px;align-items:center}@media (max-width: 767px){.profile-account-row{flex-direction:column;align-items:stretch}}.profile-account-input{flex:1;padding:12px 24px;background:#f5f3f3;border:1px solid #e1bfb3;border-radius:1rem;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;color:#594138;outline:none;cursor:not-allowed}.profile-account-btn{display:inline-flex;align-items:center;gap:4px;padding:12px 24px;border-radius:9999px;border:1px solid #e1bfb3;background:transparent;color:#594138;cursor:pointer;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;white-space:nowrap;transition:all .15s ease}.profile-account-btn:hover{border-color:#8a3000;color:#8a3000;background:#c5531c0f}.profile-danger{border:1px solid rgba(186,26,26,.2)}.profile-danger-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:24px;border-radius:1.5rem;border:none;background:#ba1a1a1a;color:#ba1a1a;cursor:pointer;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:600;transition:all .15s ease}.profile-danger-btn:hover{background:#ba1a1a2e}.profile-danger-btn .material-symbols-outlined{font-size:20px}.profile-save-btn{display:flex;align-items:center;justify-content:center;gap:12px;width:100%;padding:24px;margin-top:24px;border-radius:1.5rem;border:none;background:#c5531c;color:#fff;cursor:pointer;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:700;transition:all .15s ease;box-shadow:0 2px 4px #c5531c4d}.profile-save-btn:hover{background:#af4a19;transform:translateY(-1px);box-shadow:0 4px 8px #c5531c59}.profile-save-btn:active{transform:translateY(0)}.profile-save-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}@media (max-width: 767px){.profile-save-btn{width:100%}}.auth-page{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:48px;background:#fbf9f8}.auth-card{background:#fff;border:1px solid rgba(225,191,179,.3);border-radius:1.5rem;box-shadow:0 4px 8px #0000001a;width:100%;max-width:420px;padding:80px 48px;text-align:center}.auth-brand{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:32px;font-weight:700;color:#8a3000;margin-bottom:24px}.auth-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:24px;font-weight:700;line-height:32px;color:#1b1c1c;margin-bottom:48px}.auth-error{background:#ba1a1a14;border:1px solid rgba(186,26,26,.2);border-radius:.75rem;padding:12px 24px;color:#ba1a1a;font-size:14px;margin-bottom:24px}.auth-form{text-align:left;margin-bottom:24px}.auth-label{display:block;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;line-height:16px;letter-spacing:.05em;text-transform:uppercase;color:#594138;margin-bottom:4px}.auth-input{width:100%;padding:12px 24px;background:#f5f3f3;border:1px solid #e1bfb3;border-radius:.5rem;color:#1b1c1c;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;outline:none;margin-bottom:24px;transition:border-color .15s ease}.auth-input:focus{border-color:#c5531c;box-shadow:0 0 0 3px #c5531c26}.auth-input::placeholder{color:#594138;opacity:.5}.auth-submit{display:flex;align-items:center;justify-content:center;width:100%;padding:12px 24px;background:#c5531c;color:#fff;border:none;border-radius:1.5rem;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:700;cursor:pointer;margin-top:12px;transition:all .15s ease}.auth-submit:hover{opacity:.9;transform:translateY(-1px)}.auth-submit:disabled{opacity:.6;cursor:default;transform:none}.auth-switch{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#594138}.auth-switch a{color:#8a3000;font-weight:600}.app-content--full{margin-left:0;padding-top:0}.app-main--full{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:48px}.profile-toast{position:fixed;bottom:calc(100px + env(safe-area-inset-bottom,0px));left:50%;transform:translate(-50%);z-index:9999;padding:12px 24px;background:#fff;color:#1b1c1c;border:1px solid #e1bfb3;border-radius:9999px;box-shadow:0 8px 24px #0000001f;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:600;animation:profileToastIn .3s ease,profileToastOut .3s ease 1.7s forwards}@keyframes profileToastIn{0%{opacity:0;transform:translate(-50%) translateY(12px)}to{opacity:1;transform:translate(-50%) translateY(0)}}@keyframes profileToastOut{0%{opacity:1;transform:translate(-50%) translateY(0)}to{opacity:0;transform:translate(-50%) translateY(-12px)}}.cooking-overlay{position:fixed;inset:0;z-index:200;background:#fbf9f8;display:flex;flex-direction:column;overflow-y:auto}.cooking-overlay-header{display:flex;align-items:center;gap:24px;padding:24px;background:#fff;border-bottom:1px solid rgba(225,191,179,.3);box-shadow:0 1px 2px #0000000d;position:sticky;top:0;z-index:10}.cooking-overlay-header .cooking-back-btn{display:inline-flex;align-items:center;justify-content:center;width:40px;height:40px;border-radius:9999px;border:none;background:transparent;color:#594138;cursor:pointer;transition:all .15s ease}.cooking-overlay-header .cooking-back-btn:hover{background:#1b1c1c0f}.cooking-overlay-header .cooking-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:20px;font-weight:600;line-height:28px;color:#1b1c1c;flex:1}.cooking-overlay-body{flex:1;padding:24px;max-width:800px;width:100%;margin:0 auto}.cooking-step{margin-bottom:48px}.cooking-step .cooking-step-number{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:20px;font-weight:600;line-height:28px;color:#8a3000;margin-bottom:12px;display:flex;align-items:center;gap:12px}.cooking-step .cooking-step-number .step-badge{width:32px;height:32px;border-radius:9999px;background:#c5531c;color:#fff;display:flex;align-items:center;justify-content:center;font-size:14px;font-weight:700}.cooking-step .cooking-instruction{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:400;line-height:24px;color:#1b1c1c;line-height:1.7}.cooking-step .cooking-timer{display:inline-flex;align-items:center;gap:12px;margin-top:12px;padding:12px 24px;background:#f5f3f3;border-radius:9999px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:600;color:#8a3000}.cooking-step .cooking-timer .material-symbols-outlined{font-size:18px}.cooking-overlay-footer{padding:24px;border-top:1px solid rgba(225,191,179,.3);background:#fff;display:flex;justify-content:space-between;align-items:center;position:sticky;bottom:0;z-index:10}.cooking-overlay-footer .cooking-progress{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#594138;font-weight:600}.cooking-overlay-footer .cooking-nav-buttons{display:flex;gap:12px}.cooking-overlay-footer .cooking-nav-btn{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#3b6934;border:2px solid #3b6934;border-radius:1.5rem;padding:12px 24px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.cooking-overlay-footer .cooking-nav-btn:hover{background:#3b69340f;border-color:#2c4e26;color:#2c4e26;transform:translateY(-1px)}.cooking-overlay-footer .cooking-nav-btn:active{transform:translateY(0)}.cooking-overlay-footer .cooking-nav-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.cooking-overlay-footer .cooking-nav-btn{padding:12px 24px}.cooking-mode-overlay{position:fixed;inset:0;background:#000000e6;z-index:1000;display:flex;align-items:center;justify-content:center}.cooking-mode-card{background:#fbf9f8;border-radius:1.5rem;max-width:600px;width:90%;max-height:90vh;overflow-y:auto;padding:80px}.cooking-mode-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:48px}.cooking-mode-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:32px;font-weight:700;color:#1b1c1c}.cooking-mode-close{width:40px;height:40px;border-radius:50%;border:none;background:#eae8e7;color:#1b1c1c;cursor:pointer;display:flex;align-items:center;justify-content:center}.cooking-mode-step-display{text-align:center;margin:80px 0}.cooking-mode-step-num{font-size:72px;font-weight:800;color:#c5531c;line-height:1;margin-bottom:24px}.cooking-mode-step-text{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:18px;color:#1b1c1c;line-height:1.6}.cooking-mode-nav{display:flex;justify-content:center;gap:12px;margin:48px 0}.cooking-mode-nav-btn{width:48px;height:48px;border-radius:50%;border:2px solid #e1bfb3;background:transparent;cursor:pointer;display:flex;align-items:center;justify-content:center}.cooking-mode-nav-btn:hover{border-color:#8a3000;color:#8a3000}.cooking-mode-nav-btn:disabled{opacity:.3;cursor:default}.cooking-mode-timer{display:flex;flex-direction:column;align-items:center;margin:48px 0}.cooking-mode-timer-ring{position:relative;width:120px;height:120px;margin-bottom:24px}.cooking-mode-timer-svg{transform:rotate(-90deg);width:120px;height:120px}.cooking-mode-timer-bg{fill:none;stroke:#eae8e7;stroke-width:8}.cooking-mode-timer-fill{fill:none;stroke:#c5531c;stroke-width:8;stroke-linecap:round;transition:stroke-dashoffset 1s linear}.cooking-mode-timer-text{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-size:28px;font-weight:700;color:#1b1c1c}.cooking-mode-timer-controls{display:flex;gap:12px;justify-content:center}.cooking-mode-timer-presets{display:flex;gap:4px;flex-wrap:wrap;justify-content:center;margin-bottom:24px}.cooking-mode-timer-preset{padding:4px 12px;border-radius:9999px;border:1px solid #e1bfb3;background:transparent;cursor:pointer;font-size:12px;font-weight:600;color:#594138}.cooking-mode-timer-preset:hover{border-color:#8a3000;color:#8a3000}.cooking-mode-timer-preset.active{background:#c5531c;color:#fff;border-color:#c5531c}.cooking-mode-ingredients{margin:48px 0;border-top:1px solid #e1bfb3;padding-top:48px}.cooking-mode-ingredients-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;color:#594138;margin-bottom:12px}.cooking-mode-ingredient-item{display:flex;align-items:center;gap:12px;padding:4px 0;cursor:pointer;font-size:14px;color:#1b1c1c;user-select:none}.cooking-mode-ingredient-item.checked{text-decoration:line-through;opacity:.5}.cooking-mode-ingredient-item input[type=checkbox]{cursor:pointer;accent-color:#3b6934}.cooking-mode-done-btn{display:block;margin:48px auto 0;padding:12px 80px;background:#3b6934;color:#fff;border:none;border-radius:1.5rem;font-weight:600;font-size:16px;cursor:pointer;transition:all .15s ease}.cooking-mode-done-btn:hover{transform:translateY(-2px);box-shadow:0 4px 8px #0000001a}.cooking-mode-alert{position:fixed;top:20px;left:50%;transform:translate(-50%);background:#c5531c;color:#fff;padding:12px 48px;border-radius:1.5rem;font-weight:700;z-index:1100;animation:pulse .5s ease-in-out 3}@keyframes pulse{0%,to{transform:translate(-50%) scale(1)}50%{transform:translate(-50%) scale(1.05)}}.app-content--landing{margin-left:0}@media (max-width: 767px){.app-content--landing{padding-bottom:0}}.app-content--sidebar{padding-top:0}.app-main--landing{padding:0;max-width:100%}@media (max-width: 767px){.app-main--landing{padding:0}}.domain-picker-dropdown--up{top:auto;right:auto;bottom:calc(100% + 6px);left:0}.footer{background:#fff;border-top:1px solid rgba(225,191,179,.3);padding:48px 64px 24px;margin-top:80px}@media (max-width: 767px){.footer{padding:24px 16px;margin-top:24px}}.footer-grid{display:grid;grid-template-columns:1.5fr 2fr;gap:48px;max-width:1200px;margin:0 auto}@media (max-width: 767px){.footer-grid{grid-template-columns:1fr;gap:24px}}.footer-brand .footer-logo{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:20px;font-weight:700;color:#8a3000}.footer-brand .footer-tagline{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#594138;margin-top:12px;max-width:320px}.footer-links{display:grid;grid-template-columns:repeat(4,1fr);gap:24px}@media (max-width: 767px){.footer-links{grid-template-columns:repeat(2,1fr)}}.footer-col .footer-col-title,.footer-col h2{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;line-height:16px;letter-spacing:.05em;text-transform:uppercase;color:#1b1c1c;font-weight:700;text-transform:none;letter-spacing:0;margin-bottom:12px;font-size:14px}.footer-col a{display:block;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#594138;text-decoration:none;padding:4px 0;cursor:pointer;transition:color .15s ease}.footer-col a:hover{color:#8a3000}.footer-bottom{display:flex;justify-content:space-between;align-items:center;max-width:1200px;margin:24px auto 0;padding-top:24px;border-top:1px solid rgba(225,191,179,.2)}@media (max-width: 767px){.footer-bottom{flex-direction:column;gap:12px;text-align:center}}.footer-bottom p{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:400;line-height:20px;color:#594138}.footer-social{display:flex;gap:12px}.footer-social .material-symbols-outlined{font-size:20px;color:#594138;opacity:.5;cursor:pointer;transition:all .15s ease}.footer-social .material-symbols-outlined:hover{opacity:1;color:#8a3000}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:24px;background:#fbf9f8}.error-boundary-card{background:#fff;border:1px solid rgba(225,191,179,.3);border-radius:1.5rem;box-shadow:0 4px 8px #0000001a;padding:80px;text-align:center;max-width:480px;width:100%}.error-boundary-card .material-symbols-outlined{font-size:48px;color:#ba1a1a;margin-bottom:24px}.error-boundary-card h2{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:32px;font-weight:700;line-height:40px;color:#1b1c1c;margin-bottom:12px}@media (max-width: 767px){.error-boundary-card h2{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:24px;font-weight:700;line-height:32px}}.error-boundary-card p{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;font-weight:400;line-height:24px;color:#594138;margin-bottom:48px}.btn-outline{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#594138;border:1px solid #e1bfb3;border-radius:1.5rem;padding:12px 24px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-outline:hover{background:#1b1c1c0a;border-color:#c5531c;color:#8a3000}.btn-outline:active{background:#1b1c1c14}.btn-outline:disabled{opacity:.5;cursor:not-allowed}.btn-primary{display:inline-flex;align-items:center;gap:8px;background:#c5531c;color:#fff;border:none;border-radius:1.5rem;padding:12px 24px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 4px #c5531c4d}.btn-primary:hover{background:#af4a19;transform:translateY(-1px);box-shadow:0 4px 8px #c5531c59}.btn-primary:active{transform:translateY(0);box-shadow:0 1px 2px #c5531c4d}.btn-primary:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.btn-secondary{display:inline-flex;align-items:center;gap:8px;background:transparent;color:#3b6934;border:2px solid #3b6934;border-radius:1.5rem;padding:12px 24px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease}.btn-secondary:hover{background:#3b69340f;border-color:#2c4e26;color:#2c4e26;transform:translateY(-1px)}.btn-secondary:active{transform:translateY(0)}.btn-secondary:disabled{opacity:.5;cursor:not-allowed;transform:none}.seo-page{max-width:800px;margin:0 auto;padding:80px 0}.seo-breadcrumb{display:flex;align-items:center;gap:8px;padding:12px 0;font-size:12px;color:#594138;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif}.seo-breadcrumb a{color:#594138;text-decoration:none}.seo-breadcrumb a:hover{color:#8a3000}.seo-breadcrumb-sep{color:#59413866}.seo-hero{text-align:center;padding:80px 0;background:linear-gradient(135deg,#c5531c1a,#b9eeab1a);border-radius:1.5rem;margin-bottom:80px}.seo-hero-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:48px;font-weight:800;line-height:56px;letter-spacing:-.02em;color:#1b1c1c;margin-bottom:24px}@media (max-width: 767px){.seo-hero-title{font-size:28px;line-height:36px}}.seo-hero-subtitle{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:18px;line-height:28px;color:#594138;max-width:600px;margin:0 auto 48px}.seo-section{margin:80px 0;padding:48px;background:#fff;border-radius:1.5rem;box-shadow:0 4px 8px #0000001a}.seo-section-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:32px;font-weight:700;color:#1b1c1c;margin-bottom:24px}.seo-section-text{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;line-height:24px;color:#594138}.seo-feature-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:48px}.seo-feature-card{padding:48px;background:#f5f3f3;border-radius:1rem}.seo-feature-icon{width:48px;height:48px;border-radius:1rem;background:#c5531c;color:#fff;display:flex;align-items:center;justify-content:center;margin-bottom:12px}.seo-feature-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:20px;font-weight:600;color:#1b1c1c;margin-bottom:4px}.seo-feature-text{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;color:#594138}.seo-faq-list{border-top:1px solid #e1bfb3}.seo-faq-item{border-bottom:1px solid #e1bfb3;padding:24px 0}.seo-faq-q{font-weight:600;color:#1b1c1c;margin-bottom:4px;font-size:16px}.seo-faq-a{color:#594138;font-size:14px;line-height:24px}.seo-blog-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:48px}.seo-blog-card{background:#fff;border-radius:1.5rem;overflow:hidden;box-shadow:0 4px 8px #0000001a;transition:all .25s ease;cursor:pointer}.seo-blog-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #0000001f}.seo-blog-card-body{padding:48px}.seo-blog-card-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:20px;font-weight:600;color:#1b1c1c;margin-bottom:4px}.seo-blog-card-excerpt{font-size:14px;color:#594138;margin-bottom:12px}.seo-blog-card-meta{font-size:12px;color:#594138}.seo-blog-post{max-width:720px;margin:0 auto;padding:80px 0}.seo-blog-post-header{text-align:center;margin-bottom:80px}.seo-blog-post-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:48px;font-weight:800;color:#1b1c1c;margin-bottom:12px}@media (max-width: 767px){.seo-blog-post-title{font-size:28px;line-height:36px}}.seo-blog-post-meta{color:#594138;font-size:14px}.seo-blog-post-content{font-size:18px;line-height:1.8;color:#1b1c1c}.seo-blog-post-content h2{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:32px;font-weight:700;margin:80px 0 24px}.seo-blog-post-content h3{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:20px;font-weight:600;margin:48px 0 12px}.seo-blog-post-content p{margin-bottom:24px}.seo-blog-post-content ul,.seo-blog-post-content ol{margin-bottom:24px;padding-left:48px}.seo-blog-post-content ul li,.seo-blog-post-content ol li{margin-bottom:4px}.seo-page-cta{text-align:center;padding:80px;background:#c5531c;border-radius:1.5rem;margin-top:80px;color:#fff}.seo-page-cta-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:32px;font-weight:700;margin-bottom:12px}.seo-page-cta-text{margin-bottom:48px}.seo-page-cta-btn{display:inline-block;padding:12px 80px;background:#fff;color:#8a3000;font-weight:700;border-radius:1.5rem;text-decoration:none;cursor:pointer;transition:all .15s ease;border:none;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px}.seo-page-cta-btn:hover{transform:scale(1.05);box-shadow:0 4px 8px #0000001a}.seo-contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:48px}@media (max-width: 767px){.seo-contact-grid{grid-template-columns:1fr}}.seo-contact-form{display:flex;flex-direction:column;gap:12px}.seo-contact-input{padding:12px;border:1px solid #e1bfb3;border-radius:1rem;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;outline:none;background:#fff}.seo-contact-input:focus{border-color:#c5531c;box-shadow:0 0 0 3px #c5531c26}.seo-contact-textarea{padding:12px;border:1px solid #e1bfb3;border-radius:1rem;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;outline:none;resize:vertical;background:#fff}.seo-contact-textarea:focus{border-color:#c5531c;box-shadow:0 0 0 3px #c5531c26}.seo-contact-address{padding:48px;background:#f5f3f3;border-radius:1rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.auth-gate{display:flex;align-items:center;justify-content:center;min-height:60vh;padding:48px}.auth-gate__card{background:#fff;border-radius:1.5rem;box-shadow:0 4px 8px #0000001a;padding:80px 48px;max-width:460px;width:100%;text-align:center}.auth-gate__icon{font-size:48px;margin-bottom:24px}.auth-gate__title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:20px;font-weight:700;color:#1b1c1c;margin-bottom:12px}.auth-gate__text{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:16px;color:#594138;line-height:24px;margin-bottom:24px}.auth-gate__actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}.auth-gate__actions .button{padding:12px 24px;border-radius:9999px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-weight:600;font-size:14px;text-decoration:none;cursor:pointer;transition:all .15s ease;border:none}.auth-gate__actions .button--primary{background:#c5531c;color:#fff}.auth-gate__actions .button--primary:hover{background:#8a3000}.auth-gate__actions .button--secondary{background:#eae8e7;color:#1b1c1c}.auth-gate__actions .button--secondary:hover{background:#e4e2e2}.equipment-chips{display:flex;flex-wrap:wrap;gap:12px}.equipment-chip{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:9999px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:600;border:2px solid #e1bfb3;background:#f5f3f3;color:#594138;cursor:pointer;transition:all .15s ease}.equipment-chip:hover{border-color:#3b6934}.equipment-chip--active{background:#3b69341a;border-color:#3b6934;color:#3f6d38}.equipment-chip-icon{width:20px;height:20px;object-fit:contain;flex-shrink:0}.equipment-chip-label{white-space:nowrap}.equipment-chip-check{font-size:16px;color:#3b6934}.recipe-detail-equipment{margin-top:24px;padding:12px 24px;background:#f5f3f3;border-radius:1rem}.recipe-detail-equipment-label{display:block;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;color:#594138;margin-bottom:4px}.recipe-detail-equipment-chips{display:flex;flex-wrap:wrap;align-items:center;gap:4px}.recipe-detail-equipment-group{display:inline-flex;align-items:center;gap:4px}.recipe-detail-equipment-chip{display:inline-flex;align-items:center;gap:4px;padding:3px 10px;border-radius:9999px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600}.recipe-detail-equipment-chip .material-symbols-outlined{font-size:14px}.recipe-detail-equipment-chip.informational{background:#e1bfb333;color:#594138}.recipe-detail-equipment-chip.has{background:#3b69341a;color:#3f6d38}.recipe-detail-equipment-chip.missing{background:#e1bfb34d;color:#594138;text-decoration:line-through;opacity:.7}.recipe-detail-equipment-and{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;color:#594138;margin:0 2px}.recipe-card-equipment{display:flex;flex-wrap:wrap;gap:4px;margin-top:6px;margin-bottom:6px}.recipe-card-eq-badge{display:inline-flex;align-items:center;gap:2px;padding:2px 8px;border-radius:9999px;background:#e1bfb333;color:#594138;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:10px;font-weight:600}.meal-card-tags .complexity-chip{margin-right:12px}.recipe-detail-tags .complexity-chip{font-size:11px;padding:3px 10px}.info-banner{border-radius:1rem;padding:24px;margin-bottom:24px;display:flex;flex-direction:column;gap:12px}.info-banner--short-plan{background:#ffb74d26;border:1px solid rgba(255,152,0,.3)}.info-banner-content{display:flex;align-items:flex-start;gap:12px}.info-banner-content .material-symbols-outlined{color:#e65100;font-size:22px;flex-shrink:0}.info-banner-content span{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;color:#1b1c1c}.info-banner-reason{display:block;color:#594138!important;font-size:12px!important;margin-top:2px}.info-banner-actions{display:flex;gap:24px;margin-left:34px}.info-banner-link{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;font-weight:600;color:#8a3000;text-decoration:underline;cursor:pointer}.info-banner-link:hover{color:#571e00}.meal-picker-overlay{position:fixed;inset:0;background:#00000080;z-index:1000;display:flex;align-items:center;justify-content:center;padding:24px}.meal-picker-card{background:#fbf9f8;border-radius:1.5rem;max-width:640px;width:100%;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.meal-picker-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e1bfb3;flex-shrink:0}.meal-picker-title{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:20px;font-weight:600;color:#1b1c1c;margin:0}.meal-picker-close{width:36px;height:36px;border-radius:50%;border:none;background:#eae8e7;color:#1b1c1c;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .15s ease}.meal-picker-close:hover{background:#e4e2e2}.meal-picker-search{display:flex;align-items:center;gap:12px;padding:12px 24px;border-bottom:1px solid #e1bfb3;flex-shrink:0}.meal-picker-search .material-symbols-outlined{color:#594138;font-size:20px}.meal-picker-search input{flex:1;border:none;outline:none;background:none;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;color:#1b1c1c}.meal-picker-search input::placeholder{color:#1b1c1c66}.meal-picker-loading{display:flex;align-items:center;justify-content:center;padding:80px}.meal-picker-grid{overflow-y:auto;flex:1;padding:12px}.meal-picker-item{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;border-radius:1rem;cursor:pointer;transition:all .15s ease;gap:12px}.meal-picker-item:hover{background:#c5531c14}.meal-picker-item.selected{background:#c5531c1f}.meal-picker-item-info{flex:1;min-width:0}.meal-picker-item-name{display:block;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:600;color:#1b1c1c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.meal-picker-item-meta{display:block;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:12px;color:#594138;margin-top:2px}.meal-picker-add-btn{display:inline-flex;align-items:center;gap:8px;background:#c5531c;color:#fff;border:none;border-radius:1.5rem;padding:12px 24px;font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;font-weight:700;cursor:pointer;transition:all .15s ease;box-shadow:0 2px 4px #c5531c4d}.meal-picker-add-btn:hover{background:#af4a19;transform:translateY(-1px);box-shadow:0 4px 8px #c5531c59}.meal-picker-add-btn:active{transform:translateY(0);box-shadow:0 1px 2px #c5531c4d}.meal-picker-add-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}.meal-picker-add-btn{padding:4px 12px;font-size:12px;flex-shrink:0;white-space:nowrap}.meal-picker-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:80px;color:#594138;gap:12px}.meal-picker-empty .material-symbols-outlined{font-size:40px;opacity:.5}.meal-picker-empty p{font-family:Plus Jakarta Sans,PJS Fallback,sans-serif;font-size:14px;margin:0}
