.auth-container{align-items:center;background:linear-gradient(135deg,#a1c84c,#d4e157);display:flex;justify-content:center;min-height:100vh;padding:20px}.auth-card{background:#fff;border-radius:24px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:440px;padding:40px 30px;width:100%}.auth-header{margin-bottom:32px;text-align:center}.auth-logo{font-size:48px;margin-bottom:16px}.auth-title{color:#000;font-size:28px;font-weight:700;margin-bottom:8px}.auth-subtitle{color:#7f8c8d;font-size:15px}.auth-form{margin-bottom:24px}.auth-footer{border-top:1px solid #ecf0f1;padding-top:20px;text-align:center}.auth-footer p{color:#7f8c8d;font-size:14px}.auth-link{color:#a1c84c;font-weight:600;text-decoration:none;transition:color .2s ease}.auth-link:hover{color:#7e9d39}@media (max-width:480px){.auth-container{padding:16px}.auth-card{padding:32px 24px}.auth-logo{font-size:40px}.auth-title{font-size:24px}}.setup-container{align-items:center;background:linear-gradient(135deg,#a1c84c,#8ab53f);display:flex;justify-content:center;min-height:100vh;overscroll-behavior-x:none;padding:20px}.setup-card{background:#fff;border-radius:24px;box-shadow:0 20px 60px rgba(0,0,0,.3);display:flex;flex-direction:column;max-height:90vh;max-width:540px;overflow-y:auto;padding:40px 30px;width:100%}.setup-header{margin-bottom:40px;text-align:center}.setup-logo{font-size:64px;margin-bottom:20px}.persistent-avatar-preview{align-items:center;display:flex;flex-direction:column;gap:8px;margin-bottom:20px}.persistent-avatar{align-items:center;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.15);display:flex;font-size:32px;height:60px;justify-content:center;transition:all .3s ease;width:60px}.persistent-avatar-name{color:#000;font-size:16px;font-weight:700;margin:0}.progress-bar{background:#ecf0f1;border-radius:8px;height:8px;margin-bottom:12px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#a1c84c,#8ab53f);height:100%;transition:width .3s ease}.progress-text{color:#7f8c8d;font-size:14px}.edit-mode-title{color:#000;font-size:24px;font-weight:700;margin:0}.setup-step{animation:slideIn .3s ease}.step-title{color:#000;font-size:26px;font-weight:700;margin-bottom:8px;text-align:center}.step-subtitle{color:#7f8c8d;font-size:15px;margin-bottom:32px;text-align:center}.tags-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr);margin-bottom:32px}.tag-button{align-items:center;aspect-ratio:1;background:#fff;border:2px solid #ecf0f1;border-radius:20px;cursor:pointer;display:flex;justify-content:center;padding:20px;transition:all .2s ease}.tag-emoji{font-size:48px;line-height:1}.tag-button:hover{background:#fff5f5;border-color:#a1c84c}.tag-button.active,.tag-button.active.danger{background:#a1c84c;border-color:#a1c84c;color:#000}.tag-button:active{transform:scale(.95)}.allergy-input{display:flex;gap:12px;margin-bottom:16px}.allergy-input input{flex:1 1}.btn-add{background:#a1c84c;border:none;border-radius:12px;color:#000;cursor:pointer;font-size:16px;font-weight:600;padding:14px 24px;transition:all .2s ease}.btn-add:hover{background:#8ab53f}.btn-add:active{transform:scale(.95)}.btn-show-more{background:#fff;border:2px solid #ecf0f1;border-radius:12px;color:#a1c84c;cursor:pointer;font-size:16px;font-weight:600;margin-bottom:20px;padding:14px 24px;transition:all .2s ease;width:100%}.btn-show-more:hover{background:#fff5f5;border-color:#a1c84c}.btn-show-more:active{transform:scale(.98)}.btn-reset{background:none;border:none;color:#7f8c8d;cursor:pointer;font-size:14px;font-weight:600;margin-bottom:20px;padding:12px 24px;text-decoration:underline;transition:all .2s ease;width:100%}.btn-reset:hover{color:#a1c84c}.btn-reset:active{transform:scale(.98)}.tag-danger{align-items:center;background:#ffe5e5;color:#a1c84c;display:inline-flex;gap:8px}.tag-remove{background:none;border:none;color:#a1c84c;cursor:pointer;font-size:20px;font-weight:700;line-height:1;padding:0}.tag-remove:hover{color:#e84545}.step-actions{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-top:32px}.step-actions .btn{width:100%}.step-actions-centered{align-items:center;display:flex;flex-direction:column;gap:16px;margin-top:32px}.step-actions-centered .btn{max-width:300px;width:100%}.avatar-preview,.avatar-preview-container{justify-content:center}.avatar-preview{align-items:center;border-radius:50%;box-shadow:0 8px 24px rgba(0,0,0,.15);display:flex;height:120px;transition:transform .3s ease;width:120px}.avatar-preview:hover{transform:scale(1.05)}.avatar-emoji-large{font-size:64px}.avatar-section{margin-bottom:32px}.avatar-label{color:#000;display:block;font-size:16px;font-weight:600;margin-bottom:16px;text-align:center}.avatar-colors-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(5,1fr);margin:0 auto;max-width:400px}.color-button{aspect-ratio:1;border:3px solid transparent;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.1);cursor:pointer;transition:all .2s ease;width:100%}.color-button:hover{box-shadow:0 4px 12px rgba(0,0,0,.2);transform:scale(1.1)}.color-button.active{border-color:#000;box-shadow:0 4px 16px rgba(0,0,0,.3);transform:scale(1.15)}.avatar-emojis-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(7,1fr);margin:0 auto;max-width:500px}.emoji-button{align-items:center;aspect-ratio:1;background:#fff;border:2px solid #ecf0f1;border-radius:12px;cursor:pointer;display:flex;font-size:28px;justify-content:center;transition:all .2s ease;width:100%}.emoji-button:hover{background:#f8f9fa;border-color:#bdc3c7;transform:scale(1.1)}.emoji-button.active{background:#a1c84c;border-color:#a1c84c;box-shadow:0 4px 12px hsla(0,100%,71%,.3);transform:scale(1.15)}.avatar-photo-preview,.persistent-avatar-photo{border-radius:50%;height:100%;object-fit:cover;width:100%}.avatar-preview-container{align-items:center;display:flex;flex-direction:column;gap:12px;margin:32px 0}.btn-remove-photo{background:#fff;border:2px solid #a1c84c;border-radius:8px;color:#a1c84c;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease}.btn-remove-photo:hover{background:#a1c84c;color:#000}.btn-remove-photo:active{transform:scale(.95)}.photo-upload-container{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.file-input{display:none}.file-input-label{background:#fff;border:2px solid #ecf0f1;border-radius:10px;color:#000;cursor:pointer;font-size:14px;font-weight:600;max-width:200px;overflow:hidden;padding:12px 24px;text-align:center;text-overflow:ellipsis;transition:all .2s ease;white-space:nowrap}.file-input-label:hover{background:#fff5f5;border-color:#a1c84c;color:#a1c84c}.file-input-label.disabled{cursor:not-allowed;opacity:.5}.file-input-label.disabled:hover{background:#fff;border-color:#ecf0f1;color:#000}.btn-upload{background:#a1c84c;border:none;border-radius:10px;color:#000;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-upload:hover{background:#8ab53f}.btn-upload:active{transform:scale(.95)}.btn-upload:disabled{cursor:not-allowed;opacity:.6}.upload-hint{color:#7f8c8d;font-size:13px;font-style:italic;margin-top:8px;text-align:center}@media (max-width:480px){.setup-container{padding:16px}.setup-card{padding:32px 24px}.setup-logo{font-size:48px}.step-title{font-size:22px}.tags-grid{gap:10px;grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.tag-button{font-size:13px;padding:12px 16px}}.text-link{background:none;border:none;color:#7f8c8d;cursor:pointer;font-size:14px;padding:8px;text-decoration:underline}.text-link:hover{color:#2c3e50}.edit-actions-links{align-items:center;display:flex;gap:8px;justify-content:center}.link-separator{color:#bdc3c7;font-size:14px}.text-link-danger{color:#e74c3c}.text-link-danger:hover{color:#c0392b}.slide-in-hidden{opacity:0;transform:translateY(40px)}.slide-in-visible{opacity:1;transform:translateY(0);transition:opacity .6s ease-out,transform .6s cubic-bezier(.16,1,.3,1)}.recipe-card{background:#fff;border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.15);cursor:pointer;display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative;transition:transform .2s ease;-webkit-user-select:none;user-select:none;width:100%}.recipe-card.compact{background:transparent}.recipe-card.compact .recipe-image-container{border-radius:20px;bottom:0;height:100%;left:0;overflow:hidden;position:absolute;right:0;top:0}.recipe-card.compact .recipe-emoji,.recipe-card.compact .recipe-image{height:100%;object-fit:cover;width:100%}.recipe-card.compact .card-title-overlay{background:linear-gradient(0deg,rgba(0,0,0,.5) 0,rgba(0,0,0,.3) 40%,transparent);bottom:0;color:#fff;display:flex;flex-direction:column;justify-content:flex-end;left:0;padding:80px 16px 16px;position:absolute;right:0}.recipe-card.compact .overlay-title{font-size:2rem;font-weight:900;line-height:1.1;margin:0;text-shadow:0 2px 4px rgba(0,0,0,.3);transition:transform .3s ease}.overlay-actions{display:flex;gap:8px;margin-top:12px}.overlay-button{border:none;border-radius:8px;box-shadow:0 2px 8px rgba(0,0,0,.3);cursor:pointer;flex:1 1;font-size:13px;font-weight:700;padding:10px 12px;transition:all .2s ease}.overlay-button:active{transform:scale(.95)}.overlay-button.save,.overlay-button.skip{background:#a1c84c;color:#000}.overlay-button.details{background:#4ecdc4;color:#000}.read-recipe-button{background:#a1c84c;border:none;border-radius:24px;bottom:16px;color:#000;cursor:pointer;font-size:14px;font-weight:600;left:16px;opacity:0;padding:12px 24px;pointer-events:none;position:absolute;transform:translateY(20px);transition:all .3s ease;white-space:nowrap}.read-recipe-button:active{transform:translateY(0) scale(.95)}.recipe-card.compact .card-actions,.recipe-card.compact .overlay-actions,.recipe-card.compact .recipe-info{display:none}.recipe-card:hover{transform:translateY(-4px)}.recipe-card:has(.positioning-mode){cursor:default;pointer-events:auto}.recipe-card:has(.positioning-mode):hover{transform:none}.recipe-card:hover .card-title-overlay{background:linear-gradient(0deg,rgba(0,0,0,.7) 0,rgba(0,0,0,.45) 40%,rgba(0,0,0,.15) 70%,transparent)}.recipe-card:hover .overlay-title{transform:translateY(-50px)}.recipe-card:hover .read-recipe-button{background:#b5d96a;opacity:1;pointer-events:auto;transform:translateY(0)}.recipe-image-container{background:linear-gradient(135deg,#a1c84c,#b5d96a);height:clamp(150px,calc(100vh - 600px),250px);overflow:hidden;position:relative;width:100%}.recipe-image{animation:fadeInImage .3s ease forwards;height:100%;object-fit:cover;opacity:0;width:100%}@keyframes fadeInImage{0%{opacity:0}to{opacity:1}}.recipe-emoji{background:linear-gradient(135deg,#a1c84c,#b5d96a);font-size:100px;height:100%;width:100%}.recipe-emoji,.save-heart-button{align-items:center;display:flex;justify-content:center}.save-heart-button{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border:none;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.2);color:#7f8c8d;cursor:pointer;height:48px;left:12px;position:absolute;top:12px;width:48px;z-index:10}.save-heart-button,.save-heart-button svg{transition:all .2s ease}.save-heart-button:hover{background:#fff;transform:scale(1.1)}.save-heart-button:active{transform:scale(.95)}.save-heart-button.saved{color:#a1c84c}.save-heart-button.saved:hover{transform:scale(1.1) rotate(5deg)}.vote-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border:none;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.2);cursor:pointer;display:flex;font-size:24px;height:48px;justify-content:center;left:12px;position:absolute;top:68px;transition:all .2s ease;width:48px;z-index:10}.vote-button .vote-emoji{filter:grayscale(100%) opacity(.5);transition:all .2s ease}.vote-button:hover{background:#fff;transform:scale(1.1)}.vote-button:hover .vote-emoji{filter:grayscale(0) opacity(1)}.vote-button:active{transform:scale(.95)}.vote-button.voted .vote-emoji{filter:grayscale(0) opacity(1)}.vote-button.voted{background:rgba(255,193,7,.95)}.vote-button.voted:hover{background:#ffc107;transform:scale(1.1) rotate(5deg)}.recipe-image-container .position-image-button-card{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border:none;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.2);cursor:pointer;display:flex;font-size:18px;height:40px;justify-content:center;left:12px;position:absolute;top:68px;transition:all .2s ease;width:40px;z-index:10}.recipe-image-container .position-image-button-card:hover{background:#fff;transform:scale(1.1)}.recipe-image-container .position-image-button-card.active{background:#a1c84c;color:#000}.recipe-image-container .position-image-button-card.active:hover{background:#b5d96a}.recipe-image-container .position-image-button-card:active{transform:scale(.95)}.zoom-buttons-stack{display:flex;flex-direction:column;gap:6px;left:12px;position:absolute;top:118px;z-index:10}.zoom-circle-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border:none;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.2);color:#000;cursor:pointer;display:flex;font-size:10px;font-weight:700;height:40px;justify-content:center;transition:all .2s ease;width:40px}.zoom-circle-btn:hover{background:#fff;transform:scale(1.1)}.zoom-circle-btn.active{background:#a1c84c;color:#000}.zoom-circle-btn.active:hover{background:#b5d96a}.zoom-circle-btn:active{transform:scale(.95)}.recipe-image-container.positioning-mode{cursor:crosshair;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.recipe-image-container.positioning-mode .recipe-image{-webkit-user-drag:none;pointer-events:none;user-select:none;-webkit-user-select:none}.recipe-image-container.positioning-mode~.card-title-overlay{pointer-events:none}.recipe-image-container.positioning-mode~.card-title-overlay .read-recipe-button{opacity:0;pointer-events:none}.recipe-image-container.positioning-mode .card-badges,.recipe-image-container.positioning-mode .card-comments,.recipe-image-container.positioning-mode .save-heart-button{opacity:.3;pointer-events:none}.recipe-image-container .positioning-overlay{background:rgba(0,0,0,.3);bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:5}.recipe-image-container .positioning-puck{animation:pulsePuck 2s ease-in-out infinite;background:rgba(81,207,102,.3);border:3px solid #a1c84c;border-radius:50%;box-shadow:0 0 0 2px hsla(0,0%,100%,.8),0 4px 12px rgba(0,0,0,.4);height:32px;pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:32px}.recipe-image-container .positioning-instructions{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(0,0,0,.8);border-radius:16px;box-shadow:0 4px 12px rgba(0,0,0,.3);color:#fff;font-size:12px;font-weight:500;left:50%;padding:8px 16px;pointer-events:none;position:absolute;top:50%;transform:translate(-50%,-50%);white-space:nowrap}.card-badges{align-items:flex-end;display:flex;flex-direction:column;gap:8px;position:absolute;right:12px;top:12px}.allergen-badge,.healthy-badge,.match-badge,.not-rated-badge,.success-badge,.time-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.15);font-size:12px;font-weight:700;padding:6px 12px;white-space:nowrap}.success-badge{background:rgba(0,0,0,.8);color:#a1c84c}.match-badge{background:rgba(0,0,0,.8);color:#fff}.allergen-badge{background:hsla(0,100%,71%,.95);color:#000}.healthy-badge{background:rgba(81,207,102,.95);color:#000}.not-rated-badge{background:rgba(0,0,0,.6);color:#fff}.time-badge{background:rgba(161,200,76,.95);color:#000}.card-comments{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border-top:1px solid rgba(0,0,0,.1);bottom:0;left:0;max-height:0;opacity:0;overflow:hidden;padding:12px;position:absolute;right:0;transition:all .3s ease;z-index:5}.recipe-card:hover .card-comments{max-height:200px;opacity:1}.card-comment{align-items:flex-start;display:flex;font-size:12px;gap:8px;margin-bottom:8px}.card-comment:last-child{margin-bottom:0}.comment-icon{flex-shrink:0;font-size:16px;margin-top:2px}.comment-preview{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#000;display:-webkit-box;font-weight:500;line-height:1.4;margin:0;overflow:hidden}.recipe-info{padding:16px}.recipe-info.focal-layout{grid-gap:16px;display:grid;gap:16px;grid-template-columns:1fr 1fr}.recipe-info.focal-layout .recipe-name,.recipe-info.focal-layout .tap-hint{grid-column:1/-1}.info-column-left,.info-column-right{display:flex;flex-direction:column}.recipe-name{color:#000;font-size:18px;font-weight:700;line-height:1.3;margin-bottom:8px}.recipe-description,.recipe-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.recipe-description{color:#7f8c8d;font-size:13px;line-height:1.4;margin-bottom:12px}.recipe-meta{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:12px}.meta-item{align-items:center;color:#000;display:flex;font-size:12px;font-weight:600;gap:4px}.meta-icon{font-size:16px}.difficulty{text-transform:capitalize}.tags{gap:6px;margin-bottom:12px}.tag{border-radius:12px;color:#000;font-size:10px;padding:4px 8px}.ingredient-preview{border-top:1px solid #ecf0f1;margin-top:12px;padding-top:12px}.preview-title{color:#000;font-size:14px;font-weight:700;margin-bottom:8px}.preview-list{display:flex;flex-direction:column;gap:4px;list-style:none;margin:0;padding:0}.preview-item{color:#7f8c8d;font-size:12px;padding-left:12px;position:relative}.preview-item:before{color:#a1c84c;content:"•";font-weight:700;left:0;position:absolute}.preview-more{color:#a1c84c;font-size:12px;font-weight:600;padding-left:12px}.allergen-warning{background:#fff5f5;border:1px solid #ffe0e0;border-radius:8px;border-top:2px solid #a1c84c;margin-top:12px;padding:12px}.allergen-warning .preview-title{color:#a1c84c}.allergen-item{color:#a1c84c;font-weight:600}.allergen-item:before{color:#a1c84c;content:"⚠"}.tap-hint{animation:fadeIn .2s ease-out;background:linear-gradient(135deg,#a1c84c10,#4ecdc410);border-radius:8px;color:#000;cursor:pointer;font-size:12px;font-weight:600;margin-top:12px;padding:12px 16px;text-align:center;transition:all .2s ease}.tap-hint:hover{background:linear-gradient(135deg,#a1c84c20,#4ecdc420);transform:translateY(-1px)}.card-actions{animation:fadeIn .2s ease-out;background:#f8f9fa;border-top:1px solid #ecf0f1;gap:16px;padding:20px}.action-button,.card-actions{display:flex;justify-content:center}.action-button{align-items:center;border:none;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.15);cursor:pointer;flex-direction:column;flex-shrink:0;font-size:11px;font-weight:700;gap:4px;height:68px;padding:0;transition:all .2s ease;width:68px}.action-button:active{transform:scale(.9)}.action-button.save,.action-button.skip{background:#a1c84c;color:#000}.action-button.make{background:#4ecdc4;color:#000}.action-icon{font-size:24px}.swipe-indicator{align-items:center;display:flex;flex-direction:column;gap:8px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);z-index:10}.swipe-left{left:40px}.swipe-right{right:40px}.swipe-icon{filter:drop-shadow(0 4px 8px rgba(0,0,0,.2));font-size:60px}.swipe-text{color:#000;font-size:20px;font-weight:700;letter-spacing:1px;text-shadow:0 2px 4px rgba(0,0,0,.3);text-transform:uppercase}.swipe-left .swipe-text,.swipe-right .swipe-text{color:#a1c84c}@media (max-width:768px){.recipe-card.compact .card-title-overlay{padding-bottom:70px}.recipe-card.compact .overlay-title{font-size:40px;line-height:.95}.read-recipe-button{opacity:1;pointer-events:auto;transform:translateY(0)}.recipe-card:hover .overlay-title{transform:none}}@media (max-width:480px){.recipe-card{width:calc(100% - 30px)}.recipe-image-container{height:clamp(120px,calc(100vh - 550px),200px)}.recipe-info{padding:16px}.recipe-name{font-size:18px}.recipe-description{font-size:13px}.card-actions{gap:10px;padding:15px}.action-button{font-size:10px;height:56px;width:56px}.action-icon{font-size:20px}.swipe-icon{font-size:50px}.swipe-text{font-size:18px}.swipe-left{left:30px}.swipe-right{right:30px}}.modal-backdrop{align-items:flex-end;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{animation:slideUpModal .4s cubic-bezier(.16,1,.3,1);border-radius:24px 24px 0 0;display:flex;flex-direction:column;height:calc(100vh - 50px);margin-top:50px;max-width:600px;overflow:hidden;width:100%}.modal-close{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);box-shadow:0 2px 8px rgba(0,0,0,.2);color:#000;font-size:24px;height:40px;width:40px;z-index:10}.modal-close:hover{background:#fff;transform:scale(1.05)}.modal-share-link{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border:none;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.2);color:#000;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;position:absolute;right:112px;top:16px;transition:all .2s ease;width:40px;z-index:10}.modal-share-link:hover{background:#fff;transform:scale(1.05)}.modal-share{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border:none;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.2);color:#000;cursor:pointer;display:flex;font-size:20px;height:40px;justify-content:center;position:absolute;right:64px;top:16px;transition:all .2s ease;width:40px;z-index:10}.modal-share:hover{background:#fff;transform:scale(1.05)}.modal-share:disabled{cursor:not-allowed;opacity:.6}.modal-image-container .save-heart-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border:none;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.2);color:#7f8c8d;cursor:pointer;display:flex;height:48px;justify-content:center;left:12px;position:absolute;top:12px;transition:all .2s ease;width:48px;z-index:10}.modal-image-container .save-heart-button svg{transition:all .2s ease}.modal-image-container .save-heart-button:hover{background:#fff;transform:scale(1.1)}.modal-image-container .save-heart-button:active{transform:scale(.95)}.modal-image-container .save-heart-button.saved{color:#7e9d39}.modal-image-container .save-heart-button.saved:hover{transform:scale(1.1) rotate(5deg)}.modal-image-container .vote-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border:none;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.2);cursor:pointer;display:flex;font-size:24px;height:48px;justify-content:center;left:12px;position:absolute;top:68px;transition:all .2s ease;width:48px;z-index:10}.modal-image-container .vote-button .vote-emoji{filter:grayscale(100%) opacity(.5);transition:all .2s ease}.modal-image-container .vote-button:hover{background:#fff;transform:scale(1.1)}.modal-image-container .vote-button:hover .vote-emoji{filter:grayscale(0) opacity(1)}.modal-image-container .vote-button:active{transform:scale(.95)}.modal-image-container .vote-button.voted .vote-emoji{filter:grayscale(0) opacity(1)}.modal-image-container .vote-button.voted{background:rgba(255,193,7,.95)}.modal-image-container .vote-button.voted:hover{background:#ffc107;transform:scale(1.1) rotate(5deg)}.modal-image-container .meal-plan-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border:none;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.2);cursor:pointer;display:flex;font-size:24px;height:48px;justify-content:center;left:12px;position:absolute;top:68px;transition:all .2s ease;width:48px;z-index:10}.modal-image-container .meal-plan-button .meal-plan-emoji{filter:grayscale(100%) opacity(.75);transition:all .2s ease}.modal-image-container .meal-plan-button:hover{background:#fff;transform:scale(1.1)}.modal-image-container .meal-plan-button:hover .meal-plan-emoji{filter:grayscale(0) opacity(1)}.modal-image-container .meal-plan-button:active{transform:scale(.95)}.modal-image-container .meal-plan-button.planned .meal-plan-emoji{filter:grayscale(0) opacity(1)}.modal-image-container .meal-plan-button.planned{background:rgba(161,200,76,.95)}.modal-image-container .meal-plan-button.planned:hover{background:#a1c84c;transform:scale(1.1)}.modal-image-container .shopping-list-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border:none;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.2);cursor:pointer;display:flex;font-size:24px;height:48px;justify-content:center;left:12px;position:absolute;top:68px;transition:all .2s ease;width:48px;z-index:10}.modal-image-container .shopping-list-button .shopping-list-emoji{filter:grayscale(100%) opacity(.75);transition:all .2s ease}.modal-image-container .shopping-list-button:hover{background:#fff;transform:scale(1.1)}.modal-image-container .shopping-list-button:hover .shopping-list-emoji{filter:grayscale(0) opacity(1)}.modal-image-container .shopping-list-button:active{transform:scale(.95)}.modal-image-container .shopping-list-button.added .shopping-list-emoji{filter:grayscale(0) opacity(1)}.modal-image-container .shopping-list-button.added{background:rgba(161,200,76,.95)}.modal-image-container .shopping-list-button.added:hover{background:#a1c84c;transform:scale(1.1)}.modal-image-container .upload-image-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border:none;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.2);cursor:pointer;display:flex;font-size:20px;height:48px;justify-content:center;left:12px;position:absolute;top:68px;transition:all .2s ease;width:48px;z-index:10}.modal-image-container .upload-image-button:hover:not(:disabled){background:#fff;transform:scale(1.1)}.modal-image-container .upload-image-button:active:not(:disabled){transform:scale(.95)}.modal-image-container .upload-image-button:disabled{cursor:not-allowed;opacity:.6}.modal-image-container .position-image-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border:none;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.2);cursor:pointer;display:flex;font-size:20px;height:48px;justify-content:center;left:12px;position:absolute;top:124px;transition:all .2s ease;width:48px;z-index:10}.modal-image-container .position-image-button:hover:not(:disabled){background:#fff;transform:scale(1.1)}.modal-image-container .position-image-button.active{background:#a1c84c;color:#000}.modal-image-container .position-image-button.active:hover{background:#b5d96a}.modal-image-container .position-image-button:active:not(:disabled){transform:scale(.95)}.modal-image-container .position-image-button:disabled{cursor:not-allowed;opacity:.6}.title-with-edit{align-items:center;display:flex;gap:12px;margin-bottom:12px}.edit-recipe-button-inline{align-items:center;background:#f8f9fa;border:none;border-radius:50%;color:#000;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.edit-recipe-button-inline:hover{background:#ecf0f1;transform:scale(1.1)}.edit-recipe-button-inline.active{background:#a1c84c;color:#000}.edit-recipe-button-inline.active:hover{background:#b5d96a}.edit-recipe-button-inline:active{transform:scale(.95)}.cancel-edit-button-inline{align-items:center;background:#f8f9fa;border:none;border-radius:50%;color:#7e9d39;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.cancel-edit-button-inline:hover{background:#ffe5e5;transform:scale(1.1)}.cancel-edit-button-inline:active{transform:scale(.95)}.zoom-buttons-stack-modal{bottom:20px;display:flex;flex-direction:row;gap:12px;left:50%;position:absolute;transform:translateX(-50%);z-index:10}.zoom-buttons-stack-modal .zoom-circle-btn{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border:none;border-radius:50%;box-shadow:0 4px 12px rgba(0,0,0,.2);color:#000;cursor:pointer;display:flex;font-size:12px;font-weight:700;height:48px;justify-content:center;transition:all .2s ease;width:48px}.zoom-buttons-stack-modal .zoom-circle-btn:hover{background:#fff;transform:scale(1.1)}.zoom-buttons-stack-modal .zoom-circle-btn.active{background:#a1c84c;color:#000}.zoom-buttons-stack-modal .zoom-circle-btn.active:hover{background:#b5d96a}.zoom-buttons-stack-modal .zoom-circle-btn:active{transform:scale(.95)}.modal-image-container.positioning-mode{cursor:crosshair;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.modal-image-container.positioning-mode .modal-image{-webkit-user-drag:none;pointer-events:none;user-select:none;-webkit-user-select:none}.positioning-overlay{background:rgba(0,0,0,.3);bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:5}.positioning-puck{animation:pulsePuck 2s ease-in-out infinite;background:rgba(81,207,102,.3);border:3px solid #a1c84c;border-radius:50%;box-shadow:0 0 0 2px hsla(0,0%,100%,.8),0 4px 12px rgba(0,0,0,.4);height:40px;pointer-events:none;position:absolute;transform:translate(-50%,-50%);width:40px}@keyframes pulsePuck{0%,to{transform:translate(-50%,-50%) scale(1)}50%{transform:translate(-50%,-50%) scale(1.1)}}.positioning-instructions{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:rgba(0,0,0,.8);border-radius:20px;box-shadow:0 4px 12px rgba(0,0,0,.3);color:#fff;font-size:14px;font-weight:500;left:50%;padding:12px 20px;pointer-events:none;position:absolute;top:20px;transform:translateX(-50%);white-space:nowrap}.modal-badges{align-items:flex-end;display:flex;flex-direction:column;gap:8px;position:absolute;right:12px;top:64px;z-index:10}.modal-badges .match-badge,.modal-badges .success-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.15);font-size:12px;font-weight:700;padding:6px 12px;white-space:nowrap}.modal-badges .success-badge{background:rgba(0,0,0,.8);color:#7e9d39}.modal-badges .success-badge.not-rated{color:#95a5a6}.modal-badges .match-badge{background:rgba(0,0,0,.8);color:#fff}.modal-body{-webkit-overflow-scrolling:touch;flex:1 1;overflow-y:auto}.modal-image-container{height:250px;overflow:hidden;position:relative;width:100%}.modal-image{height:100%;object-fit:cover;width:100%}.modal-emoji{align-items:center;background:linear-gradient(135deg,#a1c84c,#b5d96a);display:flex;font-size:120px;height:100%;justify-content:center;width:100%}.modal-info{padding:24px}.modal-title{color:#000;font-size:28px;font-weight:700;line-height:1.3;margin:0}.modal-description{color:#7f8c8d;font-size:16px;line-height:1.6;margin-bottom:24px}.recipe-author{align-items:center;background:#fff9e6;border-left:4px solid #f5e638;border-radius:8px;display:flex;gap:8px;margin-bottom:24px;padding:12px 16px}.author-label{color:#7f8c8d;font-size:14px;font-weight:600}.author-name{color:#000;font-size:14px;font-weight:700}.recipe-stats{grid-gap:12px;background:#f8f9fa;border-radius:16px;display:grid;gap:12px;grid-template-columns:repeat(4,1fr);margin-bottom:32px;padding:16px}.stat-item{align-items:flex-start;display:flex;flex-direction:column;gap:4px}.stat-icon{font-size:24px;margin-bottom:4px}.stat-label{font-size:12px;margin-bottom:2px}.stat-value{color:#000;font-size:16px;font-weight:700;text-transform:capitalize}.section{margin-bottom:32px}.section-title{align-items:center;display:flex;gap:8px;margin-bottom:0;padding-bottom:16px}.section-title+.comments-list,.section-title+.instructions-list,.section-title+.nutrition-grid,.section-title+.tips-list{margin-top:16px}.ingredients-list{display:flex;flex-direction:column;gap:12px;list-style:none}.ingredient-item{align-items:center;background:transparent!important;border:none!important;box-shadow:none!important;display:flex;gap:8px;list-style:none;outline:none!important;padding:8px 0}.ingredient-checkbox{appearance:none;-webkit-appearance:none;background:#fff;border:2px solid #bdc3c7;border-radius:50%;cursor:pointer;flex-shrink:0;height:28px;position:relative;transition:all .2s ease;width:28px}.ingredient-checkbox:checked{background:#f5e638;border-color:#f5e638}.ingredient-checkbox:checked:after{color:#000;content:"✓";font-size:16px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.ingredient-text{color:#000;line-height:1.6}.ingredient-amount-display{color:#7e9d39;font-weight:700}.section-header-with-controls{align-items:center;border-bottom:2px solid #ecf0f1;display:flex;justify-content:space-between;margin-bottom:0;padding-bottom:16px}.section-header-with-controls .section-title{border-bottom:none;margin-bottom:0;padding-bottom:0}.section-header-with-controls+.ingredients-list{margin-top:16px}.serving-multiplier-buttons{display:flex;gap:8px}.multiplier-btn{background:#fff;border:2px solid #ecf0f1;border-radius:8px;color:#7f8c8d;cursor:pointer;font-size:14px;font-weight:600;padding:6px 14px;transition:all .2s ease}.multiplier-btn:hover{border-color:#7e9d39;color:#7e9d39}.multiplier-btn.active{background:#a1c84c;border-color:#7e9d39;color:#000}.instructions-list{counter-reset:step-counter;display:flex;flex-direction:column;gap:20px;list-style:none}.instruction-item{align-items:flex-start;counter-increment:step-counter;display:flex;gap:16px}.instruction-text{color:#000;flex:1 1;line-height:1.6;padding-top:15px}.nutrition-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(4,1fr)}.nutrition-item{background:#f8f9fa;border-radius:12px;padding:16px;text-align:center}.nutrition-value{color:#7e9d39;font-size:20px;font-weight:700;margin-bottom:4px}.nutrition-label{color:#7f8c8d;font-size:12px}.tips-list{flex-direction:column}.tip-item,.tips-list{display:flex;gap:12px}.tip-item{background:#fff9e6;border-left:4px solid #f5e638;border-radius:12px;padding:16px}.tip-icon{flex-shrink:0;font-size:20px}.tip-text{color:#000;line-height:1.6}.comments-list{display:flex;flex-direction:column;gap:12px}.comment-item{background:#f8f9fa;border-left:4px solid #ecf0f1;border-radius:12px;padding:16px}.comment-header{align-items:center;display:flex;gap:8px;margin-bottom:8px}.comment-emoji{font-size:18px}.comment-label{color:#7f8c8d;flex:1 1;font-size:13px;font-weight:600}.delete-comment-btn{background:none;border:none;border-radius:6px;cursor:pointer;font-size:18px;margin-left:auto;opacity:.6;padding:4px 8px;transition:all .2s ease}.delete-comment-btn:hover{background:#ffe5e5;opacity:1;transform:scale(1.1)}.delete-comment-btn:active{transform:scale(.95)}.comment-text{color:#000;font-size:14px;line-height:1.6;margin:0}.modal-footer{background:#fff;border-top:1px solid #ecf0f1;bottom:0;display:flex;gap:12px;padding:20px;position:-webkit-sticky;position:sticky}.modal-footer .btn{flex:1 1}.modal-footer .btn-shopping-list{background:#fff;border:2px solid #a1c84c;color:#2c3e50}.modal-footer .btn-shopping-list:hover{background:#f1faeb}.modal-footer .btn-shopping-list.added{background:#a1c84c;border-color:#a1c84c;color:#000}.rating-modal-backdrop{align-items:center;animation:fadeIn .2s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:2000}.rating-modal{animation:scaleIn .2s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:400px;padding:32px;width:calc(100% - 40px)}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.rating-modal-title{color:#000;font-size:20px;font-weight:700;margin-bottom:20px;text-align:center}.rating-buttons-compact{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin-bottom:16px}.btn-rating-compact{align-items:center;background:#fff;border:2px solid #ecf0f1;border-radius:12px;color:#000;cursor:pointer;display:flex;flex-direction:column;font-size:13px;font-weight:600;gap:6px;padding:16px 12px;transition:all .2s ease}.btn-rating-compact:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.btn-rating-compact:active{transform:scale(.95)}.btn-rating-compact.selected{border-color:transparent}.btn-rating-compact:disabled{cursor:not-allowed;opacity:.5}.btn-ate.selected,.btn-didnt-eat.selected{background:#a1c84c;color:#000}.rating-emoji-small{font-size:24px}.rating-comment-input{border:2px solid #ecf0f1;border-radius:12px;box-sizing:border-box;font-family:inherit;font-size:14px;margin-bottom:16px;min-height:70px;padding:12px;resize:vertical;width:100%}.rating-comment-input:focus{border-color:#7e9d39;outline:none}.rating-success-message{animation:slideDown .3s ease;background:#a1c84c;border-radius:12px;color:#000;font-size:14px;font-weight:600;margin-bottom:16px;padding:12px 16px;text-align:center}.rating-modal-actions{display:flex;gap:12px}.btn-rating-submit{background:#a1c84c;border:none;border-radius:12px;color:#000;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:14px;transition:all .2s ease}.btn-rating-submit:hover{background:#b5d96a;box-shadow:0 4px 12px hsla(0,100%,71%,.3);transform:translateY(-1px)}.btn-rating-submit:disabled{background:#ecf0f1;box-shadow:none;color:#7f8c8d;cursor:not-allowed;transform:none}.btn-rating-submit:active:not(:disabled){transform:scale(.98)}.btn-rating-cancel{background:#fff;border:2px solid #ecf0f1;border-radius:12px;color:#7f8c8d;cursor:pointer;font-size:15px;font-weight:600;padding:14px 24px;transition:all .2s ease}.btn-rating-cancel:hover{background:#f8f9fa;border-color:#7f8c8d}.btn-rating-cancel:disabled{cursor:not-allowed;opacity:.5}.modal-title-edit{border:2px solid #ecf0f1;border-radius:8px;color:#000;flex:1 1;font-family:inherit;font-size:28px;font-weight:700;padding:8px 12px;transition:border-color .2s ease}.modal-title-edit:focus{border-color:#7e9d39;outline:none}.modal-description-edit{border:2px solid #ecf0f1;border-radius:8px;color:#7f8c8d;font-family:inherit;font-size:16px;line-height:1.6;margin-bottom:24px;padding:12px;resize:vertical;transition:border-color .2s ease;width:100%}.modal-description-edit:focus{border-color:#7e9d39;outline:none}.stat-value-edit{border:2px solid #ecf0f1;border-radius:6px;color:#000;font-family:inherit;font-size:16px;font-weight:700;padding:4px 8px;text-transform:capitalize;transition:border-color .2s ease}.stat-value-edit:focus{border-color:#7e9d39;outline:none}.ingredient-amount-edit,.ingredient-name-edit{background:#fff;border:2px solid #ecf0f1;border-radius:6px;font-family:inherit;font-size:14px;padding:8px 12px;transition:border-color .2s ease}.ingredient-amount-edit{color:#7e9d39;font-weight:700;min-width:80px}.ingredient-name-edit{color:#000;flex:1 1}.ingredient-amount-edit:focus,.ingredient-name-edit:focus{border-color:#7e9d39;outline:none}.instruction-text-edit{border:2px solid #ecf0f1;border-radius:8px;color:#000;flex:1 1;font-family:inherit;font-size:14px;line-height:1.6;padding:12px;resize:vertical;transition:border-color .2s ease}.instruction-text-edit:focus{border-color:#7e9d39;outline:none}.substitute-btn{align-items:center;background:#2c3e50;border:none;border-radius:50%;cursor:pointer;display:flex;flex-shrink:0;font-size:14px;height:28px;justify-content:center;margin-left:8px;transition:all .2s ease;width:28px}.substitute-btn:hover{background:#34495e;transform:scale(1.15)}.substitute-btn:active{transform:scale(.95)}.revert-btn{align-items:center;background:#a1c84c;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:16px;height:28px;justify-content:center;margin-left:8px;transition:all .2s ease;width:28px}.revert-btn:hover{background:#b5d96a;transform:scale(1.15)}.revert-btn:active{transform:scale(.95)}.ingredient-text.substituted{color:#7e9d39;font-weight:500}.substituted-label{color:#95a5a6;display:block;font-size:12px;font-style:italic;font-weight:400;margin-top:2px}.substitution-modal{animation:scaleIn .2s ease;background:#fff;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-height:80vh;max-width:500px;overflow-y:auto;padding:32px;position:relative;width:calc(100% - 40px)}.substitution-modal-close{align-items:center;background:#f8f9fa;border:none;border-radius:50%;color:#000;cursor:pointer;display:flex;font-size:18px;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s ease;width:32px;z-index:10}.substitution-modal-close:hover{background:#ecf0f1;transform:scale(1.1)}.substitution-modal-title{color:#000;font-size:20px;font-weight:700;margin-bottom:16px;margin-top:0}.original-ingredient{background:#f8f9fa;border-radius:10px;color:#000;font-size:14px;margin-bottom:20px;padding:12px 16px}.original-ingredient strong{color:#7f8c8d;margin-right:8px}.substitution-loading{padding:40px 20px;text-align:center}.loading-spinner{animation:sparkle 1.5s ease-in-out infinite;font-size:48px;margin-bottom:12px}@keyframes sparkle{0%,to{opacity:.8;transform:scale(1) rotate(0deg)}50%{opacity:1;transform:scale(1.2) rotate(180deg)}}.substitution-loading p{color:#7f8c8d;font-size:14px;margin:0}.substitution-error{background:#ffe5e5;border-radius:10px;color:#7e9d39;font-size:14px;padding:16px;text-align:center}.substitution-note{align-items:flex-start;background:#e8f5e9;border-radius:10px;color:#000;display:flex;font-size:14px;gap:8px;line-height:1.5;margin-bottom:16px;padding:12px 16px}.note-icon{flex-shrink:0;font-size:18px}.substitution-suggestions{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.substitution-item{background:#f8f9fa;border-left:4px solid #f5e638;border-radius:12px;padding:16px;transition:all .2s ease}.substitution-item.clickable{cursor:pointer}.substitution-item.clickable:hover{background:#e8f4e0;border-left-color:#a1c84c;box-shadow:0 2px 8px rgba(161,200,76,.2);transform:translateX(4px)}.substitution-item:hover{background:#ecf0f1;transform:translateX(4px)}.substitution-header{align-items:center;display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.substitution-header strong{color:#000;font-size:16px}.dietary-tag{border-radius:12px;display:inline-block;font-size:11px;font-weight:600;letter-spacing:.5px;padding:4px 10px;text-transform:uppercase}.dietary-tag.dairyfree{background:#e3f2fd;color:#1976d2}.dietary-tag.glutenfree{background:#fff3e0;color:#f57c00}.dietary-tag.nutfree{background:#fce4ec;color:#c2185b}.dietary-tag.vegan{background:#e8f5e9;color:#388e3c}.dietary-tag.vegetarian{background:#f1f8e9;color:#689f38}.substitution-amount{color:#7e9d39;font-size:13px;font-weight:600;margin-bottom:6px}.substitution-reason{color:#7f8c8d;font-size:13px;line-height:1.5}.substitution-modal-actions{display:flex;justify-content:center;margin-top:20px}.btn-substitution-close{background:#fff;border:2px solid #ecf0f1;border-radius:12px;color:#7f8c8d;cursor:pointer;font-size:15px;font-weight:600;padding:12px 32px;transition:all .2s ease}.btn-substitution-close:hover{background:#f8f9fa;border-color:#7f8c8d;box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-1px)}.btn-substitution-close:active{transform:scale(.98)}@media (max-width:480px){.recipe-stats{gap:8px;grid-template-columns:repeat(4,1fr);padding:12px}.nutrition-grid{grid-template-columns:repeat(2,1fr)}.modal-title{font-size:24px}.stat-item{align-items:center;text-align:center}.stat-icon{font-size:20px;margin-bottom:2px}.stat-label{font-size:10px}.stat-value{font-size:14px;font-weight:700}.substitution-modal{padding:24px}.ai-disclaimer{padding-bottom:calc(100px + env(safe-area-inset-bottom, 0px))}}.tags-debug{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:16px}.tag-debug-item{background:#f0f0f0;border:1px solid #ddd;border-radius:16px;color:#333;font-size:13px;font-weight:500;padding:6px 12px}.kids-tags-debug{background:#f9f9f9;border-radius:8px;margin-top:16px;padding:12px}.kid-tags-section{margin-bottom:12px}.kid-tags-section:last-child{margin-bottom:0}.kid-tags-section strong{color:#000;display:block;margin-bottom:4px}.kid-tags-section>div{color:#555;font-size:13px;line-height:1.6}.chat-modal{background:#fff;border-radius:20px;box-shadow:0 10px 40px rgba(0,0,0,.2);display:flex;flex-direction:column;max-height:80vh;max-width:600px;padding:0;width:90%}.chat-modal-header{align-items:center;border-bottom:2px solid #f8f9fa;display:flex;justify-content:space-between;padding:20px 24px}.chat-modal-title{color:#000;font-size:20px;font-weight:700;margin:0}.chat-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#95a5a6;cursor:pointer;display:flex;font-size:24px;height:32px;justify-content:center;padding:0;transition:all .2s ease;width:32px}.chat-modal-close:hover{background:#f8f9fa;color:#000}.suggested-questions{background:#f8f9fa;border-bottom:1px solid #ecf0f1;padding:20px 24px}.suggested-questions-label{color:#7f8c8d;font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;text-transform:uppercase}.question-chips{display:flex;flex-wrap:wrap;gap:8px}.question-chip{background:#fff;border:2px solid #e0e0e0;border-radius:20px;color:#000;cursor:pointer;font-size:13px;font-weight:500;padding:8px 14px;transition:all .2s ease}.question-chip:hover{background:#a1c84c;border-color:#7e9d39;color:#000;transform:translateY(-1px)}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:16px;max-height:400px;min-height:200px;overflow-y:auto;padding:20px 24px}.chat-message{animation:slideIn .3s ease;display:flex}.chat-message.user{justify-content:flex-end}.chat-message.assistant{justify-content:flex-start}.chat-message-content{border-radius:16px;font-size:14px;line-height:1.5;max-width:80%;padding:12px 16px}.chat-message.user .chat-message-content{background:#a1c84c;border-bottom-right-radius:4px;color:#000}.chat-message.assistant .chat-message-content{background:#f8f9fa;border-bottom-left-radius:4px;color:#000}.chat-message.error .chat-message-content{background:#ffe5e5;border:1px solid #a1c84c;color:#d63031}.chat-loading{display:flex;gap:6px;padding:4px 0}.chat-loading .dot{animation:bounce 1.4s ease-in-out infinite both;background:#95a5a6;border-radius:50%;height:8px;width:8px}.chat-loading .dot:first-child{animation-delay:-.32s}.chat-loading .dot:nth-child(2){animation-delay:-.16s}.chat-input-container{background:#fff;border-bottom-left-radius:20px;border-bottom-right-radius:20px;border-top:2px solid #f8f9fa;display:flex;gap:12px;padding:20px 24px}.chat-input{border:2px solid #ecf0f1;border-radius:12px;flex:1 1;font-family:inherit;font-size:14px;padding:12px 16px;transition:border-color .2s ease}.chat-input:focus{border-color:#7e9d39;outline:none}.chat-input:disabled{background:#f8f9fa;cursor:not-allowed}.chat-send-btn{background:#a1c84c;border:none;border-radius:12px;color:#000;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.chat-send-btn:hover:not(:disabled){background:#b5d96a;transform:translateY(-1px)}.chat-send-btn:disabled{background:#bdc3c7;cursor:not-allowed;opacity:.6}.premium-prompt-modal{background:#fff;border-radius:20px;box-shadow:0 10px 40px rgba(0,0,0,.2);max-width:480px;padding:40px;text-align:center;width:90%}.premium-prompt-icon{animation:pulse 2s infinite;font-size:60px;margin-bottom:20px}.premium-prompt-title{color:#000;font-size:24px;font-weight:700;margin-bottom:16px}.premium-prompt-text{color:#7f8c8d;font-size:15px;line-height:1.6;margin-bottom:24px}.premium-prompt-benefits{background:#f8f9fa;border-radius:12px;margin-bottom:24px;padding:20px;text-align:left}.benefit-item{color:#000;font-size:14px;font-weight:500;margin-bottom:10px}.benefit-item:last-child{margin-bottom:0}.premium-prompt-pricing{color:#7e9d39;font-size:28px;margin-bottom:24px}.premium-prompt-actions{display:flex;flex-direction:column;gap:12px}.btn-premium-upgrade{background:linear-gradient(135deg,#a1c84c,#b5d96a);border:none;border-radius:12px;box-shadow:0 4px 12px hsla(0,100%,71%,.3);color:#000;cursor:pointer;font-size:16px;font-weight:600;padding:14px 28px;transition:all .3s ease}.btn-premium-upgrade:hover{box-shadow:0 6px 20px hsla(0,100%,71%,.4);transform:translateY(-2px)}.btn-premium-cancel{background:transparent;border:none;border-radius:12px;color:#7f8c8d;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-premium-cancel:hover{background:#f8f9fa;color:#000}.premium-badge-inline{font-size:14px;margin-left:6px}.tags-section{margin-bottom:24px}.tags-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.edit-tags-button{background:#a1c84c;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;padding:6px 12px;transition:all .2s ease}.edit-tags-button:hover{background:#b5d96a;transform:scale(1.05)}.tags-container{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.tag-item{align-items:center;background:#e8f4e0;border-radius:16px;color:#000;display:inline-flex;font-size:14px;font-weight:500;gap:6px;padding:6px 12px;transition:all .2s ease}.tag-text{-webkit-user-select:none;user-select:none}.remove-tag-button{align-items:center;background:rgba(0,0,0,.1);border:none;border-radius:50%;color:#000;cursor:pointer;display:flex;font-size:12px;height:18px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:18px}.remove-tag-button:hover{background:#ff6b6b;color:#fff;transform:scale(1.1)}.add-tag-input-container{align-items:center;background:#f8f9fa;border:2px dashed #a1c84c;border-radius:16px;display:flex;gap:6px;padding:4px 8px}.add-tag-input{background:transparent;border:none;color:#000;font-size:14px;outline:none;padding:2px 6px;width:120px}.add-tag-input::placeholder{color:#95a5a6}.add-tag-button{align-items:center;background:#a1c84c;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;font-weight:700;height:22px;justify-content:center;line-height:1;padding:0;transition:all .2s ease;width:22px}.add-tag-button:hover:not(:disabled){background:#b5d96a;transform:scale(1.1)}.add-tag-button:disabled{cursor:not-allowed;opacity:.5}.meal-types-section{margin-bottom:24px}.meal-types-checkboxes{display:flex;flex-wrap:wrap;gap:12px;margin-top:12px}.meal-type-checkbox-label{align-items:center;background:#f8f9fa;border:2px solid #e9ecef;border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:8px 16px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.meal-type-checkbox-label:hover{background:#e9ecef;border-color:#a1c84c}.meal-type-checkbox-label input[type=checkbox]{accent-color:#a1c84c;cursor:pointer;height:18px;width:18px}.meal-type-checkbox-label input[type=checkbox]:checked+.meal-type-text{color:#000;font-weight:600}.meal-type-text{color:#6c757d;font-size:14px;text-transform:capitalize;transition:all .2s ease}@media (max-width:768px){.chat-modal{max-height:90vh;width:95%}.chat-messages{max-height:300px}.question-chips{flex-direction:column}.question-chip{text-align:left;width:100%}.chat-message-content{max-width:85%}.premium-prompt-modal{padding:30px 24px}}.ai-disclaimer{background:#f8f9fa;border-top:1px solid #ecf0f1;color:#95a5a6;font-size:11px;line-height:1.5;margin-top:auto;padding:16px 24px calc(16px + env(safe-area-inset-bottom, 0px));text-align:center}.toast{border-radius:999px;bottom:40px;box-shadow:0 8px 32px rgba(0,0,0,.2);color:#000;font-size:15px;font-weight:600;left:50%;opacity:0;padding:16px 24px;pointer-events:none;position:fixed;transform:translateX(-50%) translateY(100px);transition:transform .3s ease,opacity .3s ease;z-index:10001}.toast.show{opacity:1;transform:translateX(-50%) translateY(0)}.toast-error,.toast-info{color:#fff}.share-menu-container{align-items:center;display:flex;flex-direction:row-reverse;gap:8px;position:absolute;right:64px;top:16px;z-index:10}.modal-share-toggle{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border:none;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.2);color:#000;cursor:pointer;display:flex;flex-shrink:0;font-size:20px;height:40px;justify-content:center;transition:all .2s ease;width:40px}.modal-share-toggle:hover{background:#fff;transform:scale(1.05)}.modal-share-option{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border:none;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.2);color:#000;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:40px;justify-content:center;opacity:0;pointer-events:none;transform:scale(.5) translateX(20px);transition:all .25s cubic-bezier(.34,1.56,.64,1);width:40px}.share-menu-container.open .modal-share-option{opacity:1;pointer-events:auto;transform:scale(1) translateX(0)}.share-menu-container.open .modal-share-option.share-link{transition-delay:.05s}.share-menu-container.open .modal-share-option.share-image{transition-delay:.1s}.modal-share-option:hover{background:#fff;transform:scale(1.1) translateX(0)}.modal-share-option:disabled{cursor:not-allowed;opacity:.6}.share-menu-container.open .modal-share-option:disabled{opacity:.6}.followup-overlay{animation:fadeIn .3s ease;background:rgba(0,0,0,.5);bottom:0;left:0;position:fixed;right:0;top:0;z-index:1003}.followup-modal{animation:slideUp .3s ease;background:#fff;border-radius:24px;box-shadow:0 10px 40px rgba(0,0,0,.2);left:50%;max-height:85vh;max-width:500px;overflow-y:auto;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:1004}.followup-close{align-items:center;background:#fff;border:none;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.1);color:#7f8c8d;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;position:absolute;right:20px;top:20px;transition:all .2s ease;width:40px;z-index:1}.followup-close:hover{background:#f5f5f5;color:#2c3e50;transform:scale(1.05)}.followup-content{padding:40px 32px 32px}.followup-title{color:#2c3e50;font-size:26px;font-weight:800;margin:0 0 8px}.followup-subtitle,.followup-title{font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif;text-align:center}.followup-subtitle{color:#7f8c8d;font-size:15px;line-height:1.5;margin:0 0 28px}.followup-recipe-preview{background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.08);margin-bottom:28px;overflow:hidden}.followup-preview-image{background:#ecf0f1;height:220px;overflow:hidden;position:relative;width:100%}.followup-preview-image img{height:100%;object-fit:cover;width:100%}.followup-image-overlay{background:linear-gradient(180deg,transparent 0,rgba(0,0,0,.5));bottom:0;color:#fff;display:flex;flex-direction:column;gap:6px;justify-content:flex-end;left:0;padding:16px;position:absolute;right:0;top:0}.followup-overlay-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:24px;font-weight:700;line-height:1.3;margin:0;overflow:hidden;text-shadow:0 2px 8px rgba(0,0,0,.5)}.followup-overlay-meta,.followup-overlay-title{font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif}.followup-overlay-meta{font-size:13px;opacity:.95;text-shadow:0 1px 4px rgba(0,0,0,.4)}.followup-emoji{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-size:100px;height:100%;justify-content:center;width:100%}.followup-helper-text{color:#7f8c8d;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;line-height:1.5;margin:20px 0 24px;text-align:center}.followup-actions{display:flex;flex-direction:row;gap:12px}.followup-btn{border:none;border-radius:100px;cursor:pointer;flex:1 1;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif;font-size:16px;font-weight:700;padding:16px 24px;transition:all .2s ease}.followup-btn-primary{background:#a1c84c;box-shadow:0 2px 8px rgba(161,200,76,.2);color:#2c3e50}.followup-btn-primary:hover{background:#8fb539;box-shadow:0 4px 12px rgba(161,200,76,.3);transform:translateY(-1px)}.followup-btn-secondary{background:#fff;border:2px solid #e5e5e5;box-shadow:0 1px 3px rgba(0,0,0,.04);color:#2c3e50}.followup-btn-secondary:hover{background:#f8faf6;border-color:#a1c84c;transform:translateY(-1px)}@media (max-width:480px){.followup-modal{border-radius:20px;width:95%}.followup-content{padding:36px 24px 24px}.followup-title{font-size:22px}.followup-subtitle{font-size:14px}.followup-preview-image{height:180px}.followup-overlay-title{font-size:18px}.followup-helper-text{font-size:14px;margin:16px 0 20px}.followup-actions{flex-direction:row;gap:10px}.followup-btn{font-size:14px;padding:14px 18px}}.onboarding-overlay{animation:fadeIn .3s ease;background:rgba(0,0,0,.7);bottom:0;cursor:pointer;left:0;pointer-events:auto;position:fixed;right:0;top:0;z-index:99998}.onboarding-modal{animation:slideIn .4s cubic-bezier(.4,0,.2,1);background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(161,200,76,.25),0 0 0 3px #a1c84c;max-width:360px;padding:20px 24px;position:fixed;z-index:100000}.onboarding-modal.top-left{left:12px;top:90px}.onboarding-modal.top-center{left:50%;top:200px;transform:translateX(-50%)}.onboarding-modal.top-right{right:85px;top:90px}.onboarding-modal.bottom-left{bottom:80px;left:12px}.onboarding-modal.bottom-center{bottom:80px;left:50%;transform:translateX(-50%)}.onboarding-modal.center{left:50%;top:50%;transform:translate(-50%,-50%)}.onboarding-modal-content h2{color:#000;font-size:20px;font-weight:700;margin:0 0 8px}.onboarding-modal-content p{color:#5a6c7d;font-size:14px;line-height:1.4;margin:0 0 16px}.onboarding-progress{display:flex;gap:8px;justify-content:flex-start;margin-bottom:0}.progress-dot{background:#d1d5db;border-radius:50%;height:8px;transition:all .3s ease;width:8px}.progress-dot.active{background:#a1c84c;border-radius:4px;width:24px}.progress-dot.completed{background:#a1c84c}.onboarding-footer{align-items:center;display:flex;justify-content:space-between;margin-top:4px}.onboarding-actions{display:flex;gap:12px;justify-content:flex-end}.onboarding-actions button{border:none;border-radius:8px;cursor:pointer;font-size:14px;font-weight:600;padding:10px 20px;transition:all .2s ease}.btn-skip{background:transparent;color:#6b7280}.btn-skip:hover{background:#f3f4f6;color:#4b5563}.btn-next{background:linear-gradient(135deg,#a1c84c,#b5d96a);box-shadow:0 2px 8px rgba(161,200,76,.3);color:#000}.btn-next:hover{box-shadow:0 4px 12px rgba(161,200,76,.4);transform:translateY(-1px)}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}body.onboarding-step-1 .nav-container,body.onboarding-step-1 .nav-container .family-avatar-stack{position:relative;z-index:99999!important}body.onboarding-step-1 .hero-marquee{opacity:.3!important;z-index:1!important}body.onboarding-step-1 .ai-menu-container,body.onboarding-step-1 .filter-controls{z-index:auto!important}body.onboarding-step-2 .filter-controls{position:relative;z-index:99999!important}body.onboarding-step-2 .ai-menu-container,body.onboarding-step-2 .hero-marquee,body.onboarding-step-2 .nav-container{z-index:auto!important}body.onboarding-step-3 .ai-menu-container{position:relative;z-index:99999!important}body.onboarding-step-3 .filter-controls,body.onboarding-step-3 .hero-marquee,body.onboarding-step-3 .nav-container{z-index:auto!important}@media (max-width:768px){.onboarding-modal{max-width:calc(100% - 32px);right:16px!important;transform:none!important}.onboarding-modal,.onboarding-modal.top-center{left:16px!important}.onboarding-modal.top-right{right:16px!important}}.ai-menu-button{align-items:center;background:#222;border:2px solid #fff;border-radius:50%;box-shadow:0 4px 4px 0 rgba(0,0,0,.25);cursor:pointer;display:flex;flex-shrink:0;font-size:22px;height:44px;justify-content:center;transition:all .2s ease;width:44px}@media (max-width:768px){.ai-menu-button{display:none}}.ai-menu-button:hover{box-shadow:0 6px 8px 0 rgba(0,0,0,.3);transform:scale(1.05)}.sign-in-button{align-items:center;background:#000;border:2px solid #fff;border-radius:22px;box-shadow:0 4px 4px 0 rgba(0,0,0,.25);color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:15px;font-weight:700;justify-content:center;padding:10px 20px;transition:all .2s ease;white-space:nowrap}.sign-in-button:hover{background:#333;box-shadow:0 6px 8px 0 rgba(0,0,0,.3);transform:scale(1.05)}.ai-modal-overlay{animation:fadeIn .2s ease;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:rgba(0,0,0,.35);bottom:0;left:0;right:0;top:0;z-index:10000}.ai-modal-close,.ai-modal-overlay{align-items:center;display:flex;justify-content:center;position:fixed}.ai-modal-close{background:hsla(0,0%,100%,.95);border:none;border-radius:50%;box-shadow:0 4px 20px rgba(0,0,0,.25);color:#333;cursor:pointer;font-size:20px;height:44px;line-height:1;right:24px;top:24px;transition:all .2s ease;width:44px;z-index:10002}.ai-modal-close:hover{background:#fff;box-shadow:0 6px 24px rgba(0,0,0,.3);transform:scale(1.08)}.ai-modal-cards{animation:slideUp .3s ease-out;display:flex;flex-direction:row;gap:24px;left:50%;position:fixed;top:50%;transform:translate(-50%,-50%);z-index:10001}.ai-modal-card{align-items:stretch;background-position:50%;background-size:cover;border:none;border-radius:24px;box-shadow:0 8px 20px rgba(0,0,0,.12),0 4px 10px rgba(0,0,0,.08);cursor:default;display:flex;flex-direction:column;height:400px;justify-content:flex-end;overflow:hidden;padding:0;position:relative;transition:all .25s ease;width:320px}.ai-modal-card:hover{box-shadow:0 12px 28px rgba(0,0,0,.14),0 6px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.ai-card-gradient{background:linear-gradient(180deg,transparent 40%,rgba(0,0,0,.45));border-radius:24px;bottom:0;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1}.ai-card-badge{backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);background:hsla(0,0%,100%,.9);border:none;border-radius:12px;color:#5a8a2a;font-size:11px;font-weight:600;left:16px;letter-spacing:.3px;padding:4px 10px;position:absolute;text-transform:uppercase;top:16px;z-index:3}.ai-card-content{align-items:flex-start;display:flex;flex-direction:column;gap:0;padding:20px;position:relative;z-index:2}.ai-modal-card-title{color:#fff;font-size:22px;font-weight:600;line-height:1.2;margin:0 0 8px;text-align:left;text-shadow:0 1px 4px rgba(0,0,0,.4)}.ai-modal-card-description{color:hsla(0,0%,100%,.92);font-size:15px;font-weight:400;line-height:1.45;margin:0;max-width:280px;text-align:left;text-shadow:0 1px 2px rgba(0,0,0,.4)}.ai-modal-card-uses{color:hsla(0,0%,100%,.75);font-size:13px;font-weight:500;line-height:1.3;margin:6px 0 0;text-align:left;text-shadow:0 1px 2px rgba(0,0,0,.3)}.ai-card-button{background:#8fb539;border:none;border-radius:50px;box-shadow:0 2px 8px rgba(143,181,57,.25);color:#fff;cursor:pointer;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:600;margin-top:12px;padding:12px 24px;position:relative;transition:all .2s ease}.ai-card-button:hover{background:#7ba23a;box-shadow:0 4px 12px rgba(143,181,57,.3);transform:translateY(-1px)}.ai-card-button:active{box-shadow:0 2px 6px rgba(143,181,57,.2);transform:translateY(0)}@media (max-width:860px){.ai-modal-cards{flex-direction:column;gap:16px;max-width:320px;width:90%}.ai-modal-card{height:260px;width:100%}.ai-card-gradient,.ai-modal-card{border-radius:20px}.ai-card-content{padding:16px}.ai-modal-card-title{font-size:20px;margin-bottom:6px}.ai-modal-card-description{font-size:14px;max-width:100%}.ai-card-button{font-size:13px;margin-top:10px;padding:10px 20px}.ai-modal-close{font-size:18px;height:40px;right:16px;top:16px;width:40px}.ai-card-badge{font-size:10px;left:12px;padding:3px 8px;top:12px}}@media (max-width:480px){.ai-modal-card{height:240px}.ai-card-gradient,.ai-modal-card{border-radius:18px}.ai-card-content{padding:14px}.ai-modal-card-title{font-size:18px;margin-bottom:5px}.ai-modal-card-description{font-size:13px}.ai-modal-card-uses{font-size:11px}.ai-card-button{font-size:12px;margin-top:8px;padding:10px 18px}.ai-card-badge{font-size:9px;left:10px;padding:3px 7px;top:10px}.create-recipe-modal{padding:20px}.create-modal-title,.modal-close{font-size:18px}.modal-close{height:32px;width:32px}}@media (max-width:768px){.ai-menu-button{right:130px}.create-recipe-modal{max-width:calc(100% - 32px);padding:24px}.create-modal-title{font-size:20px;padding-right:30px}.create-modal-subtitle{font-size:13px}.create-recipe-textarea{font-size:16px;min-height:100px}.meal-type-buttons{gap:10px;grid-template-columns:1fr}.meal-type-btn{font-size:15px;padding:14px 16px}}.hero-marquee{align-items:center;display:flex;margin-top:0;min-height:432px;overflow:hidden;padding:120px 40px 40px;position:relative;width:100%}.hero-image{display:none}.hero-image img{height:100%;object-fit:cover;width:100%}.hero-logo-mobile{display:none}.hero-marquee:before{background-image:url(/static/media/marqueeImage.30b275a845e024d0d4cf.png);background-position:100%;background-repeat:no-repeat;background-size:cover;right:0;z-index:0}.hero-marquee:after,.hero-marquee:before{bottom:0;content:"";left:0;position:absolute;top:0}.hero-marquee:after{background:linear-gradient(90deg,rgba(0,0,0,.15) 0,transparent);pointer-events:none;width:50%;z-index:1}.hero-content{max-width:600px;position:relative;z-index:2}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.hero-headline{animation:fadeSlideUp .8s ease-out .2s both;color:#000;font-family:Winkie,OpenRunde,sans-serif;font-size:64px;font-weight:400;line-height:.95;margin:0 0 20px;max-width:440px;text-shadow:0 2px 8px hsla(0,0%,100%,.8)}.hero-subheading{animation:fadeSlideUp .8s ease-out .4s both;color:rgba(0,0,0,.75);font-family:OpenRunde,sans-serif;font-size:22px;font-weight:500;line-height:1.35;margin:0 0 28px;max-width:350px;text-shadow:0 1px 4px hsla(0,0%,100%,.7)}.hero-cta-group{align-items:center;animation:fadeSlideUp .8s ease-out .6s both;display:flex;flex-wrap:wrap;gap:12px}.hero-cta-button{border-radius:50px;cursor:pointer;font-family:OpenRunde,sans-serif;font-size:16px;font-weight:600;padding:14px 32px;transition:all .2s ease;white-space:nowrap}.hero-cta-primary{background:#a1c84c;border:none;color:#000}.hero-cta-primary:hover{background:#b5d96a;transform:translateY(-2px)}.hero-cta-secondary{align-items:center;background:#fff;border:1px solid #d0d5dd;border-radius:999px;box-shadow:none;color:#344054;display:inline-flex;font-size:16px;font-weight:600;gap:6px;justify-content:center;padding:14px 32px;transition:background .15s ease,border-color .15s ease,color .15s ease,transform .1s ease}.hero-cta-secondary:hover{background:#f9fafb;border-color:#98a2b3;transform:translateY(-1px)}.hero-cta-secondary:active{background:#eef2f7;transform:translateY(0)}@media (max-width:1024px) and (min-width:769px){.hero-headline{font-size:48px}}@media (max-width:768px){.hero-marquee{align-items:center;background:#fff;box-shadow:0 4px 12px rgba(0,0,0,.08);display:flex;flex-direction:column;justify-content:center;margin-top:0;min-height:500px;overflow:hidden;padding:0;position:relative}.hero-marquee:after,.hero-marquee:before{display:none}.hero-image{display:block;height:130%;left:0;position:absolute;right:0;top:-15%;width:100%;will-change:transform}.hero-image img{display:block;height:100%;object-fit:cover;transform:translateZ(0);width:100%}.hero-logo-mobile{display:block;filter:drop-shadow(0 2px 8px rgba(0,0,0,.3));height:auto;margin-bottom:6px;max-width:270px;width:52.5vw;z-index:3}.hero-headline{display:none}.hero-subheading{background-color:#000;color:#fff;display:block;font-size:18px;line-height:1.4;margin-bottom:32px;max-width:450px;padding:6px 12px;rotate:-1deg;text-align:center;text-shadow:0 2px 4px rgba(0,0,0,.3);width:100%;z-index:3}.hero-content{align-items:center;-webkit-backdrop-filter:none;backdrop-filter:none;background:none;border-radius:0;display:flex;flex-direction:column;margin:0;padding:0 24px;position:relative;text-align:center;width:auto;z-index:2}.hero-cta-group{align-items:stretch;flex-direction:column}.hero-cta-secondary{justify-content:center;width:100%}.hero-cta-button{font-size:16px;padding:14px 32px}.hero-cta-button,.hero-cta-primary{min-width:200px;width:auto}.hero-cta-secondary{display:none}}@media (max-width:480px){.hero-logo-mobile{margin-bottom:6px;max-width:240px;width:60vw}.hero-subheading{font-size:16px;margin-bottom:28px;max-width:400px}.hero-content{padding:0 20px}.hero-cta-button{font-size:15px;min-width:180px;padding:13px 28px}}.swipe-container{align-items:center;display:flex;flex-direction:column;min-height:100dvh;overflow-x:hidden;overflow-y:auto;overscroll-behavior-x:none}.swipe-container.recipes-hidden .carousel-wrapper,.swipe-container.recipes-hidden .filter-controls{opacity:0;pointer-events:none;visibility:hidden}.swipe-container.recipes-visible .carousel-wrapper,.swipe-container.recipes-visible .filter-controls{opacity:1;pointer-events:auto;transition:opacity .3s ease;visibility:visible}.kid-selector{-webkit-overflow-scrolling:touch;display:flex;gap:12px;max-width:600px;overflow-x:auto;padding:20px 20px 10px;width:100%}.kid-button{background:#fff;border:2px solid #ecf0f1;border-radius:24px;color:#000;cursor:pointer;flex-shrink:0;font-size:16px;font-weight:600;padding:12px 24px;transition:all .2s ease;white-space:nowrap}.kid-button.active,.kid-button:hover{border-color:#a1c84c}.kid-button.active{background:#a1c84c;color:#000}.swipe-counter{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);color:#000;font-size:14px;font-weight:600;margin:0 20px 10px;max-width:600px;padding:12px 20px;text-align:center;width:calc(100% - 40px)}.premium-hint{color:#a1c84c;font-weight:700}.filter-controls{align-items:center;display:flex;justify-content:flex-start;margin:32px auto 0;max-width:1400px;padding:0 40px;width:100%}.search-bar-container{align-items:center;display:flex;flex:1 1;flex-shrink:0;margin-right:24px;max-width:520px;min-width:260px;position:relative}.search-icon{color:#95a5a6;left:18px;pointer-events:none;position:absolute;z-index:1}.search-input{background:#fff;border:2px solid #e8e8e8;border-radius:24px;box-shadow:inset 0 1px 2px hsla(200,7%,92%,.5),0 1px 3px rgba(0,0,0,.04);color:#000;font-size:15px;font-weight:500;height:48px;outline:none;padding:11px 50px;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.search-input:hover{border-color:#d0d0d0}.search-input:focus{border-color:#a1c84c;box-shadow:inset 0 1px 2px hsla(200,7%,92%,.5),0 0 0 3px rgba(161,200,76,.12),0 2px 6px rgba(0,0,0,.06)}.search-input::placeholder{color:#b0b0b0;font-weight:400}.search-clear{align-items:center;background:#f0f0f0;border:none;border-radius:50%;color:#6b7280;cursor:pointer;display:flex;font-size:12px;font-weight:600;height:24px;justify-content:center;position:absolute;right:14px;transition:all .15s ease;width:24px;z-index:1}.search-clear:hover{background:#d0d0d0;color:#000;transform:scale(1.05)}.sort-filter{align-items:center;display:flex;flex-shrink:0;position:relative}.sort-filter label,.sort-icon{display:none}.custom-dropdown{position:relative}.sort-select-button{align-items:center;background:#fff;border:2px solid #e8e8e8;border-radius:26px;box-shadow:0 1px 3px rgba(0,0,0,.04);color:#000;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;outline:none;padding:11px 18px;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.sort-select-button:focus,.sort-select-button:hover{background:#f8f9fa;border-color:#d0d0d0}.sort-select-button svg{flex-shrink:0;opacity:.5}.dropdown-menu{animation:dropdownFadeIn .2s ease;background:#fff;border:2px solid #ecf0f1;border-radius:16px;box-shadow:0 4px 12px rgba(0,0,0,.1);left:0;min-width:100%;overflow:hidden;position:absolute;top:calc(100% + 8px);z-index:100}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.dropdown-item{color:#000;cursor:pointer;font-size:14px;font-weight:600;padding:12px 16px;transition:all .15s ease;white-space:nowrap}.dropdown-item:hover{background:#f8f9fa}.dropdown-item.active{background:#a1c84c;color:#000}.dropdown-item.active:hover{background:#b5d96a}.segmented-control{border:2px solid #ecf0f1;border-radius:24px;display:flex;overflow:hidden}.segmented-control,.segmented-option{background:#fff;box-sizing:border-box}.segmented-option{border:none;color:#000;cursor:pointer;font-size:14px;font-weight:600;outline:none;padding:8px 18px;transition:all .2s ease;white-space:nowrap}.segmented-option:first-child{border-right:2px solid #ecf0f1}.segmented-option:hover:not(.active){background:#f8f9fa}.segmented-option.active{background:#a1c84c;color:#000;font-weight:700}.hide-low-matches-toggle{align-items:center;display:flex}.toggle-button-group{border:2px solid #ecf0f1;border-radius:24px;display:flex;overflow:hidden}.toggle-button-group,.toggle-option{background:#fff;box-sizing:border-box}.toggle-option{border:none;color:#000;cursor:pointer;font-size:14px;font-weight:600;outline:none;padding:8px 16px;transition:background-color .2s ease,color .2s ease;white-space:nowrap}.toggle-option:first-child{border-right:2px solid #ecf0f1}.toggle-option:hover{background:#f8f9fa}.toggle-option.active{background:#a1c84c;color:#000}.toggle-option.active:hover{background:#b5d96a}.filter-menu-container{flex-shrink:0;margin-right:16px;position:relative}.filter-menu-button{align-items:center;background:#fff;border:2px solid #e8e8e8;border-radius:24px;box-shadow:0 1px 3px rgba(0,0,0,.04);box-sizing:border-box;color:#000;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;height:48px;justify-content:center;outline:none;padding:0 18px;position:relative;transition:all .2s cubic-bezier(.4,0,.2,1);white-space:nowrap}.filter-menu-button:hover{background:#f8f9fa;border-color:#d0d0d0}.filter-menu-button.active{background:#a1c84c;border-color:#a1c84c;box-shadow:0 2px 6px rgba(161,200,76,.25);color:#000}.filter-menu-button svg{flex-shrink:0}.refresh-button,.view-toggle-button{align-items:center;background:#f8f9fa;border:none;border-radius:50%;box-shadow:inset 0 0 0 1px #e0e0e0;cursor:pointer;display:flex;height:36px;justify-content:center;outline:none;padding:8px;transition:all .2s ease;width:36px}.view-toggle-button{margin-left:8px}.view-toggle-button:hover{background:#ecf0f1}.view-toggle-button.active{background:#a1c84c;box-shadow:none;color:#000}.view-toggle-button:active{transform:scale(.95)}.view-toggle-button svg{color:#000;flex-shrink:0}.refresh-button:hover{background:#ecf0f1;transform:rotate(180deg)}.refresh-button:active{transform:rotate(180deg) scale(.95)}.refresh-button svg{color:#000;flex-shrink:0}.refresh-button.spinning svg{animation:spin 1s linear infinite}.refresh-button:disabled{cursor:not-allowed;opacity:.7}.filter-count-badge{align-items:center;background:#ff6b6b;border-radius:10px;color:#fff;display:flex;font-size:11px;font-weight:700;height:20px;justify-content:center;min-width:20px;padding:0 6px;position:absolute;right:-6px;top:-6px}.filter-menu-button.active .filter-count-badge{background:#2c3e50;color:#fff}.filter-menu-dropdown{background:#fff;border:2px solid #ecf0f1;border-radius:16px;box-shadow:0 8px 24px rgba(0,0,0,.12);display:flex;flex-direction:column;left:0;max-height:60vh;overflow:hidden;position:absolute;top:calc(100% + 8px);width:480px;z-index:100}.filter-menu-header{align-items:center;border-bottom:1px solid #e7e7e7;box-sizing:border-box;color:#000;display:flex;flex-shrink:0;font-size:12px;font-weight:700;justify-content:space-between;letter-spacing:.5px;line-height:1;padding:6px 10px;text-transform:uppercase}.clear-filters-btn{background:none;border:none;border-radius:6px;color:#a1c84c;cursor:pointer;flex-shrink:0;font-size:12px;font-weight:600;min-width:60px;padding:4px 8px;text-align:right;transition:all .2s ease;white-space:nowrap}.clear-filters-btn:hover{background:#fff5f5}.filter-modal-actions{display:none;gap:12px;margin-top:8px;padding:0}.filter-cancel-button{background:#fff;border:2px solid #ecf0f1;border-radius:10px;color:#7f8c8d;cursor:pointer;flex:1 1;font-size:14px;font-weight:700;padding:12px;transition:all .2s ease}.filter-cancel-button:hover{border-color:#bdc3c7;color:#000}.filter-apply-button{background:#a1c84c;border:none;border-radius:10px;color:#000;cursor:pointer;flex:2 1;font-size:14px;font-weight:700;padding:12px;transition:all .2s ease}.filter-apply-button:hover{background:#b5d96a}.filter-options{grid-gap:0;grid-column-gap:0;column-gap:0;display:grid;flex:1 1;gap:0;grid-template-columns:repeat(2,1fr);min-height:0;overflow-y:auto;padding:2px 6px 28px}@media (max-width:768px){.filter-options{column-gap:10px;gap:10px;grid-template-columns:repeat(2,1fr);padding:16px 16px 20px}}.filter-checkbox-label{align-items:center;border-radius:5px;cursor:pointer;display:flex;min-height:28px;padding:4px 7px;transition:all .2s ease;-webkit-user-select:none;user-select:none}.filter-checkbox-label:hover{background:#f8f9fa}.filter-checkbox-label input[type=checkbox]{appearance:none;-webkit-appearance:none;background:#fff;border:2px solid #d0d0d0;border-radius:50%;box-sizing:border-box;cursor:pointer;flex-shrink:0;height:18px;margin-right:8px;min-height:18px;min-width:18px;position:relative;transition:all .2s ease;width:18px}.filter-checkbox-label input[type=checkbox]:checked{background:#a1c84c;border-color:#a1c84c}.filter-checkbox-label input[type=checkbox]:checked:after{content:""}.filter-checkbox-text{align-items:center;color:#000;display:flex;flex:1 1;font-size:13px;font-weight:500;gap:5px;line-height:1.2}.filter-icon{align-items:center;display:flex;flex-shrink:0;font-size:14px;justify-content:center;line-height:1;width:16px}.filter-divider{background:#e7e7e7;grid-column:1/-1;height:1px;margin:2px 4px}.filter-section-title{color:#7f8c8d;font-size:10px;font-weight:600;grid-column:1/-1;letter-spacing:.5px;margin-top:0;padding:3px 7px 1px;text-transform:uppercase}.filter-section-title:not(:first-child){margin-top:6px}.filter-profiles-section{grid-column:1/-1;padding:0 10px}.filter-profiles-section .filter-section-title{padding:3px 0 1px}.filter-profiles-row{-webkit-overflow-scrolling:touch;align-items:center;display:flex;gap:10px;overflow-x:auto;padding:4px 0 6px}.filter-profiles-row::-webkit-scrollbar{display:none}.filter-profiles-row{-ms-overflow-style:none;scrollbar-width:none}.profile-avatar-button{align-items:center;border:2.5px solid #b0b0b0;border-radius:50%;cursor:pointer;display:flex;filter:grayscale(100%);height:38px;justify-content:center;min-height:38px;min-width:38px;opacity:.7;outline:none;overflow:hidden;padding:0;transition:all .2s ease;width:38px}.profile-avatar-button:hover{box-shadow:0 4px 8px rgba(0,0,0,.15);opacity:.85;transform:translateY(-1px)}.profile-avatar-button.selected{border-color:#8fb539;box-shadow:0 0 0 2px rgba(143,181,57,.3);filter:grayscale(0);opacity:1}.profile-avatar-img{border-radius:50%;height:100%;object-fit:cover;width:100%}.profile-avatar-emoji{font-size:20px;line-height:1}.kid-profiles-filter{align-items:center;display:flex;flex-wrap:wrap;gap:6px;grid-column:1/-1;min-height:auto;padding:2px 7px 4px;position:relative}.kid-profiles-filter .kid-profile-circle{height:32px;left:auto;position:relative;right:auto;width:32px}.kid-profiles-filter .kid-circle-emoji{font-size:16px}.kid-profiles-filter-bar{align-items:center;display:flex;flex-shrink:0;height:48px;margin-left:auto;margin-right:16px;padding:0 4px;position:relative}.kid-profile-circle{align-items:center;border:3px solid #b0b0b0;border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.15);cursor:pointer;display:flex;height:48px;justify-content:center;opacity:.7;outline:none;overflow:hidden;padding:0;position:absolute;top:0;transition:all .2s cubic-bezier(.4,0,.2,1);width:48px}.kid-profile-circle:hover{box-shadow:0 4px 10px rgba(0,0,0,.25);opacity:.85;transform:translateY(-2px) scale(1.05);z-index:9999!important}.kid-profile-circle.selected{border:3px solid #8fb539;box-shadow:0 0 0 2px rgba(143,181,57,.3),0 3px 8px rgba(0,0,0,.2);opacity:1}.kid-circle-emoji{font-size:24px;line-height:1;transition:filter .2s ease}.kid-profile-circle:not(.selected) .kid-circle-emoji{filter:grayscale(100%)}.kid-circle-photo{border-radius:50%;height:100%;object-fit:cover;transition:filter .2s ease;width:100%}.kid-profile-circle:not(.selected) .kid-circle-photo{filter:grayscale(100%)}.kid-profile-chip{align-items:center;border:2px solid transparent;border-radius:20px;cursor:pointer;display:flex;font-size:14px;font-weight:500;gap:6px;outline:none;padding:8px 14px;transition:all .2s ease;white-space:nowrap}.kid-profile-chip:hover{box-shadow:0 2px 8px rgba(0,0,0,.15);transform:translateY(-2px)}.kid-profile-chip.selected{border-color:rgba(0,0,0,.1);box-shadow:0 2px 4px rgba(0,0,0,.1)}.kid-chip-emoji{font-size:18px;line-height:1}.kid-chip-photo{border:1px solid hsla(0,0%,100%,.3);border-radius:50%;height:24px;object-fit:cover;width:24px}.kid-chip-name{font-weight:500;line-height:1}.carousel-wrapper{display:flex;flex-direction:column;height:-webkit-fit-content;height:fit-content;margin-top:0;max-width:100vw;overflow:visible;position:relative;width:100%}.carousel-arrow{align-items:center;background:rgba(0,0,0,.6);border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:48px;justify-content:center;opacity:0;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%);transition:opacity .2s ease,background .2s ease,transform .2s ease;width:48px;z-index:10}.carousel-arrow svg{height:24px;width:24px}.carousel-arrow-left{left:8px}.carousel-arrow-right{right:8px}.carousel-wrapper:hover .carousel-arrow.visible{opacity:1;pointer-events:auto}.carousel-arrow:hover{background:rgba(0,0,0,.85)}.carousel-arrow:active{transform:translateY(-50%) scale(.95)}@media (max-width:768px){.carousel-arrow{display:none}}.carousel-container{-webkit-overflow-scrolling:touch;left:50%;margin-left:-50vw;margin-right:-50vw;overflow-x:auto;overflow-y:hidden;overscroll-behavior-x:none;padding:30px 0 20px;position:relative;right:50%;scroll-behavior:auto;width:100vw}.carousel-container::-webkit-scrollbar{display:none}.carousel-container{-ms-overflow-style:none;scrollbar-width:none}.carousel-scroll{display:flex;gap:24px;overflow:visible;padding:0 40px 10px}.carousel-scroll:after{content:"";display:block;flex-shrink:0;height:1px;min-width:22.5px}.carousel-scroll.entering{animation:slideInFromBottom .5s ease-out}.carousel-scroll.exiting{animation:fadeOut .5s ease-out forwards;pointer-events:none}.carousel-scroll.exiting .stacked-cards-wrapper{animation:none;opacity:1}@keyframes slideInFromBottom{0%{opacity:0;transform:translateY(50px)}to{opacity:1;transform:translateY(0)}}.carousel-card{cursor:pointer;display:flex;flex:0 0 clamp(300px,23vw,340px);height:clamp(322px,calc(100dvh*1.15 - 345px),575px);max-width:clamp(300px,23vw,340px);min-width:300px;overflow:visible;transition:transform .2s ease}.carousel-card:hover{transform:translateY(-4px)}@media (min-width:481px) and (max-width:768px){.carousel-scroll{gap:16px!important;padding:0 20px 10px!important}.carousel-card{flex:0 0 min(400px,92vw)!important;height:75dvh!important;margin-right:0!important;max-height:calc(95dvh - 180px)!important;max-width:min(400px,92vw)!important;min-width:min(340px,88vw)!important}}.carousel-card.stacked-cards-wrapper{cursor:default}.carousel-card.stacked-cards-wrapper:hover{transform:none}.stacked-cards-container{gap:12px}.create-recipe-card,.stacked-cards-container{display:flex;flex-direction:column;height:100%;width:100%}.create-recipe-card{align-items:center;background-position:50%;background-size:cover;border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.15);cursor:pointer;justify-content:center;overflow:hidden;padding:32px;position:relative;transition:all .3s ease}.create-recipe-card.half-height{height:calc(50% - 6px);padding:20px}.create-recipe-card:hover{box-shadow:0 15px 40px rgba(0,0,0,.25);transform:scale(1.02)}.surprise-me-card{align-items:center;background-position:50%;background-size:cover;border-radius:20px;box-shadow:0 10px 30px rgba(0,0,0,.15);cursor:pointer;display:flex;flex-direction:column;justify-content:center;overflow:hidden;padding:20px;position:relative;transition:all .3s ease;width:100%}.surprise-me-card.half-height{height:calc(50% - 6px)}.surprise-me-card.full-height{height:100%}.surprise-me-card:hover{box-shadow:0 15px 40px rgba(0,0,0,.25);transform:scale(1.02)}.surprise-me-card.loading{background:linear-gradient(135deg,#d4e157,#fff176);cursor:wait;opacity:.7}.surprise-icon{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.2);border-radius:50%;color:#000;display:flex;justify-content:center;position:relative;transition:all .3s ease;z-index:2}.surprise-icon,.surprise-icon.small{font-size:36px;font-weight:700;height:60px;margin-bottom:12px;width:60px}.surprise-me-card:hover .surprise-icon{background:hsla(0,0%,100%,.6)}.surprise-title{color:#fff;font-size:22px;font-weight:900;line-height:1;margin:0;position:relative;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.4);z-index:2}.surprise-title.small{font-size:24px;margin:0}.surprise-subtitle{color:#000;font-size:13px;font-weight:500;margin:0;text-align:center;text-shadow:none}.surprise-subtitle.small{font-size:13px}.create-recipe-icon{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.2);border-radius:50%;color:#000;display:flex;font-size:48px;font-weight:200;height:80px;justify-content:center;line-height:1;margin-bottom:20px;position:relative;transition:all .3s ease;width:80px}.create-recipe-icon.small{font-size:42px;height:60px;margin-bottom:12px;width:60px}.create-recipe-icon:before{content:"";left:50%;position:absolute;top:50%;transform:translate(-50%,-60%);transition:transform .3s ease}.create-recipe-card:hover .create-recipe-icon{background:hsla(0,0%,100%,.3)}.card-overlay{background:rgba(0,0,0,.4);border-radius:16px;bottom:0;left:0;position:absolute;right:0;top:0;z-index:1}.create-recipe-title{color:#fff;font-size:22px;font-weight:900;line-height:1;margin:0;position:relative;text-align:center;text-shadow:0 2px 8px rgba(0,0,0,.4);z-index:2}.create-recipe-title.small{font-size:24px;margin:0}.create-recipe-subtitle{color:#000;font-size:14px;font-weight:500;margin:0;text-align:center;text-shadow:none}.create-recipe-subtitle.small{font-size:13px}.carousel-card.loading-more{align-items:center;background:transparent;cursor:default;display:flex;justify-content:center}.carousel-card.loading-more:hover{transform:none}.loading-more-content{align-items:center;display:flex;flex-direction:column;gap:16px}.loading-more-content p{color:#7f8c8d;font-size:14px;font-weight:600;margin:0}.modal-backdrop{align-items:center;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:rgba(0,0,0,.7);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1005}.create-recipe-modal{background:#fff;border-radius:24px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:500px;padding:40px;position:relative;width:calc(100% - 40px)}.create-modal-title{color:#000;font-size:24px;font-weight:900;margin:0 0 8px;padding-right:40px}.create-modal-subtitle{color:#7f8c8d;font-size:14px;line-height:1.5;margin:0 0 24px}.modal-close{align-items:center;background:#f8f9fa;border:none;border-radius:50%;color:#7f8c8d;cursor:pointer;display:flex;font-size:20px;height:36px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s ease;width:36px}.modal-close:hover{background:#ecf0f1;color:#000}.create-recipe-textarea{border:2px solid #ecf0f1;border-radius:12px;box-sizing:border-box;font-family:inherit;font-size:15px;margin-bottom:24px;min-height:120px;padding:16px;resize:vertical;transition:border-color .2s ease;width:100%}.create-recipe-textarea:focus{border-color:#a1c84c;outline:none}.create-recipe-textarea:disabled{background:#f8f9fa;cursor:not-allowed}.create-modal-actions{display:flex;gap:12px}.create-modal-actions .btn{border:none;border-radius:12px;cursor:pointer;flex:1 1;font-size:15px;font-weight:600;padding:14px;transition:all .2s ease}.create-modal-actions .btn-primary{background:linear-gradient(135deg,#a1c84c,#b5d96a)!important;color:#000!important}.create-modal-actions .btn-primary:hover:not(:disabled){box-shadow:0 4px 12px rgba(161,200,76,.4);transform:translateY(-1px)}.create-modal-actions .btn-primary:disabled{background:#ecf0f1;color:#7f8c8d;cursor:not-allowed}.create-modal-actions .btn-secondary{background:#fff;border:2px solid #ecf0f1;color:#7f8c8d}.create-modal-actions .btn-secondary:hover:not(:disabled){background:#f8f9fa;border-color:#7f8c8d}.create-modal-actions .btn-secondary:disabled{cursor:not-allowed;opacity:.5}.meal-type-buttons{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,1fr);margin-bottom:16px}.meal-type-btn{align-items:center;background:#fff;border:2px solid #ecf0f1;border-radius:12px;color:#000;cursor:pointer;display:flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:16px 20px;transition:all .2s ease}.meal-type-btn:hover:not(:disabled){background:#a1c84c;border-color:#a1c84c;box-shadow:0 4px 12px rgba(161,200,76,.3);color:#000;transform:translateY(-2px)}.meal-type-btn:disabled{cursor:not-allowed;opacity:.5}.meal-type-btn.meal-type-any{background:linear-gradient(135deg,#a1c84c,#b5d96a);border-color:#a1c84c;color:#000;grid-column:1/-1}.meal-type-btn.meal-type-any:hover:not(:disabled){background:linear-gradient(135deg,#b5d96a,#c8e386);box-shadow:0 4px 12px rgba(161,200,76,.4)}.toast-notification{animation:toast-slide-up .3s ease-out;border-radius:12px;bottom:40px;box-shadow:0 8px 24px rgba(0,0,0,.15);left:50%;max-width:90%;overflow:hidden;position:fixed;transform:translateX(-50%);width:auto;z-index:10000}@keyframes toast-slide-up{0%{opacity:0;transform:translateX(-50%) translateY(20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.toast-content{color:#000;font-size:15px;font-weight:500;gap:12px;padding:16px 24px}.toast-content,.toast-icon{align-items:center;display:flex}.toast-icon{font-size:20px;font-weight:700;justify-content:center;min-width:24px}.toast-message{line-height:1.4}.toast-success{background:linear-gradient(135deg,#a1c84c,#8fb63d)}.toast-error{background:linear-gradient(135deg,#e74c3c,#c0392b)}.toast-info{background:linear-gradient(135deg,#3498db,#2980b9)}.recipe-list-view{margin:30px auto 0;max-width:1200px;padding:0 40px 40px;width:100%}.recipe-list-header{align-items:center;border-bottom:2px solid #ecf0f1;display:flex;justify-content:space-between;margin-bottom:24px;padding-bottom:16px}.recipe-list-header-left h2{color:#000;font-size:28px;font-weight:700;margin:0 0 8px}.recipe-list-header-info{align-items:flex-start;display:flex;flex-direction:column;gap:4px}.list-sort-controls{align-items:center;display:flex;gap:12px}.sort-label{color:#000;font-size:14px;font-weight:600}.list-sort-dropdown{position:relative}.list-sort-button{align-items:center;background:#fff;border:2px solid #ecf0f1;border-radius:24px;color:#000;cursor:pointer;display:flex;font-size:14px;font-weight:600;gap:8px;min-width:110px;outline:none;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.list-sort-button:hover{border-color:#a1c84c}.list-sort-button svg{flex-shrink:0}.list-sort-menu{animation:dropdownFadeIn .2s ease;background:#fff;border:2px solid #ecf0f1;border-radius:16px;box-shadow:0 4px 12px rgba(0,0,0,.1);left:0;min-width:100%;overflow:hidden;position:absolute;top:calc(100% + 8px);z-index:100}.list-sort-item{color:#000;cursor:pointer;font-size:14px;font-weight:600;padding:12px 16px;transition:all .15s ease;white-space:nowrap}.list-sort-item:hover{background:#f8f9fa}.list-sort-item.active{background:#a1c84c;color:#000}.list-sort-item.active:hover{background:#b5d96a}.list-sort-order-toggle{align-items:center;background:#fff;border:2px solid #ecf0f1;border-radius:50%;cursor:pointer;display:flex;height:40px;justify-content:center;outline:none;padding:8px;transition:all .2s ease;width:40px}.list-sort-order-toggle:hover{background:#f8f9fa;border-color:#a1c84c}.list-sort-order-toggle:active{transform:scale(.95)}.list-sort-order-toggle svg{color:#000}.recipe-count{color:#7f8c8d;font-size:14px;font-weight:600}.hidden-count{color:#a1c84c;font-size:12px;font-weight:500}.recipe-list-grid{display:flex;flex-direction:column;gap:12px}.recipe-list-item{align-items:flex-start;background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);display:flex;gap:12px;padding:12px;transition:all .2s ease}.recipe-list-item.hidden-recipe{background:#f8f9fa;opacity:.4}.recipe-list-checkbox{align-items:center;display:flex;padding-top:32px}.recipe-list-checkbox input[type=checkbox]{accent-color:#a1c84c;cursor:pointer;height:20px;width:20px}.recipe-list-content{align-items:center;cursor:pointer;display:flex;flex:1 1;gap:16px}.recipe-list-content:hover .recipe-list-info{transform:translateY(-2px)}.recipe-list-thumbnail{background:linear-gradient(135deg,#a1c84c,#b5d96a);border-radius:8px;flex-shrink:0;height:80px;overflow:hidden;width:80px}.recipe-list-thumbnail img{height:100%;object-fit:cover;width:100%}.list-emoji{align-items:center;display:flex;font-size:48px;height:100%;justify-content:center;width:100%}.recipe-list-info{flex:1 1;min-width:0}.recipe-list-title{color:#000;font-size:18px;font-weight:900;line-height:1;margin:0 0 8px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.recipe-list-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:8px}.list-meal-type{background:#e8f4e0;border-radius:6px;color:#000;font-size:12px;font-weight:600;padding:4px 10px;text-transform:capitalize}.recipe-list-tags{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px}.list-tag{background:#f8f9fa;color:#7f8c8d;font-weight:500}.list-tag,.list-tag-more{border-radius:4px;font-size:11px;padding:3px 8px}.list-tag-more{background:#e8f4e0;color:#a1c84c;font-weight:600}.recipe-list-stats{display:flex;flex-shrink:0;gap:16px;margin-left:auto;padding-left:24px}.stat-box{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;flex-direction:column;gap:4px;min-width:60px;padding:8px 12px}.stat-label{color:#7f8c8d;font-size:10px;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.stat-number{color:#000;font-size:16px;font-weight:700}@media (min-width:769px) and (max-width:1024px){.carousel-card{height:clamp(322px,calc(100dvh*1.15 - 345px),655px)}.carousel-container{padding-bottom:40px}}@media (hover:none) and (pointer:coarse){.btn-submit:hover,.btn-view:hover,.carousel-card:hover,.family-modal-add-btn:hover,.filter-apply-button:hover,.filter-cancel-button:hover,.hero-cta-button:hover,.recipe-card-small:hover,button:hover{transform:none!important}}.filters-overlay{align-items:center;background:rgba(0,0,0,.45);display:flex;inset:0;justify-content:center;position:fixed;z-index:9998}.filters-modal{background:#fff;border-radius:28px;box-shadow:0 16px 48px rgba(0,0,0,.24);display:flex;flex-direction:column;max-height:80vh;max-width:640px;overflow:hidden;position:relative;width:94vw;z-index:9999}.filters-modal-header{align-items:center;border-bottom:1px solid rgba(0,0,0,.06);display:flex;flex-shrink:0;justify-content:space-between;padding:24px 32px 22px}.filters-modal-header h2{color:#2c3e50;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif;font-size:20px;font-weight:700;margin:0}.filters-modal-close{align-items:center;background:none;border:none;border-radius:50%;color:#7f8c8d;cursor:pointer;display:flex;font-size:28px;height:36px;justify-content:center;padding:0;transition:all .2s ease;width:36px}.filters-modal-close:hover{background:#f8f9fa;color:#2c3e50}.filters-modal-body{flex:1 1;overflow-y:auto;padding:22px 32px 24px}.filters-modal-footer{background:#fafbfc;border-top:1px solid rgba(0,0,0,.06);display:flex;flex-shrink:0;gap:12px;justify-content:flex-end;padding:18px 32px 24px}.filters-modal-footer button{border:none;border-radius:24px;cursor:pointer;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;font-weight:600;min-height:44px;outline:none;padding:13px 28px;transition:all .2s ease}.filters-modal-footer button:first-child{background:#f8f9fa;border:1px solid #e0e0e0;color:#2c3e50}.filters-modal-footer button:first-child:hover{background:#ecf0f1;border-color:#d0d0d0}.filters-modal-footer button:last-child{background:linear-gradient(135deg,#a1c84c,#b5d96a);box-shadow:0 2px 8px rgba(161,200,76,.3);color:#000;padding:13px 36px}.filters-modal-footer button:last-child:hover{box-shadow:0 4px 12px rgba(161,200,76,.4);transform:translateY(-1px)}body.modal-open{overflow:hidden}.filters-modal .filter-profiles-section{margin-bottom:20px;padding:6px 0 0}.filters-modal .filter-profiles-section .filter-section-title{color:#95a5a6;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif;font-size:10px;font-weight:700;letter-spacing:.6px;margin-bottom:20px;padding:0;text-align:center;text-transform:uppercase}.filters-modal .filter-profiles-row{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:center;padding:0 0 20px}.filters-modal .profile-avatar-button{border:4px solid #e0e0e0;box-shadow:0 2px 8px rgba(0,0,0,.1);height:60px;min-height:60px;min-width:60px;transition:all .2s ease;width:60px}.filters-modal .profile-avatar-button:hover{border-color:#c9dca0;box-shadow:0 4px 12px rgba(0,0,0,.15);transform:translateY(-2px)}.filters-modal .profile-avatar-button.selected{border-color:#a1c84c;border-width:4px;box-shadow:0 3px 12px rgba(161,200,76,.4)}.filters-modal .profile-avatar-emoji{font-size:28px}.filters-modal .filter-sort-section{border-bottom:1px solid rgba(0,0,0,.06);margin-bottom:20px;padding:16px 16px 20px}.filters-modal .filter-sort-section .filter-section-title{margin-bottom:12px;margin-top:0}.filters-modal .sort-pills-row{display:flex;flex-wrap:wrap;gap:8px}.filters-modal .sort-pill{background:#f8f9fa;border:2px solid #e8e8e8;border-radius:999px;color:#2c3e50;cursor:pointer;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:500;padding:10px 16px;transition:all .15s ease}.filters-modal .sort-pill:hover{background:#f0f2f5;border-color:#c9dca0}.filters-modal .sort-pill.sort-pill--active{background:#eaf4d4;border-color:#a1c84c;color:#2c3e50;font-weight:600}.filters-modal .filter-section-title{color:#95a5a6;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif;font-size:10px;font-weight:700;letter-spacing:.6px;margin-bottom:10px;margin-top:20px;padding:0;text-transform:uppercase}.filters-modal .filter-section-title:first-of-type{margin-top:0}.filters-modal .filter-options{grid-gap:8px;grid-row-gap:7px;display:grid;gap:8px;grid-template-columns:repeat(2,1fr);margin-bottom:8px;row-gap:7px}.filters-modal .filter-pill{align-items:center;background:#f8f9fa;border:2px solid #e8e8e8;border-radius:12px;box-shadow:0 1px 2px rgba(0,0,0,.04);cursor:pointer;display:flex;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif;gap:6px;justify-content:flex-start;min-height:44px;padding:11px 12px;transition:all .15s cubic-bezier(.4,0,.2,1)}.filters-modal .filter-pill:hover{background:#f0f2f5;border-color:#d0d0d0}.filters-modal .filter-pill:active{transform:scale(.98)}.filters-modal .filter-pill.filter-pill--active{background:#eaf4d4;border-color:#a6c462;box-shadow:0 0 0 1px rgba(0,0,0,.05),0 2px 4px rgba(166,196,98,.2)}.filters-modal .filter-pill.filter-pill--active .filter-pill-label{font-weight:700}.filters-modal .filter-pill-label{color:#2c3e50;font-size:14px;font-weight:600;text-align:left}.filters-modal .filter-icon{align-items:center;display:flex;font-size:16px;line-height:1}@media (max-width:480px){.filters-modal{border-radius:24px;max-height:85vh;width:94vw}.filters-modal-header{padding:20px 20px 18px}.filters-modal-header h2{font-size:18px}.filters-modal-body{padding:18px 20px 20px}.filters-modal-footer{flex-direction:column;padding:16px 20px 20px}.filters-modal-footer button{width:100%}.filters-modal-footer button:last-child{padding:13px 28px}.filters-modal .profile-avatar-button{height:56px;min-height:56px;min-width:56px;width:56px}.filters-modal .profile-avatar-emoji{font-size:26px}.filters-modal .sort-pills-row{gap:6px}.filters-modal .sort-pill{font-size:13px;padding:8px 14px}.filters-modal .filter-section-title{margin-bottom:9px;margin-top:18px}.filters-modal .filter-profiles-section{margin-bottom:18px;padding-top:4px}.filters-modal .filter-profiles-section .filter-section-title{margin-bottom:16px}}@media (max-width:768px){.filter-controls{background:linear-gradient(180deg,hsla(0,0%,100%,.98),hsla(86,68%,94%,.98));border-top:1px solid rgba(161,200,76,.2);bottom:0;box-shadow:0 -4px 12px rgba(161,200,76,.12);flex-wrap:nowrap;gap:10px;justify-content:flex-start;left:0;margin:0;padding:12px 20px 16px;position:fixed;right:0;z-index:100}.filter-menu-container,.search-bar-container{margin-right:0}.filter-menu-dropdown:not(.mobile-fullscreen){display:none}.filter-menu-overlay{align-items:center;animation:fadeIn .2s ease;background:rgba(0,0,0,.45);display:flex;inset:0;justify-content:center;position:fixed;z-index:999999}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.hide-low-matches-toggle,.segmented-control{display:none}.filter-menu-container{flex-shrink:0;margin-left:0;order:1}.filter-menu-button{align-items:center;border-radius:50%;display:flex;font-size:0;gap:0;height:44px;justify-content:center;min-width:44px;overflow:visible;padding:0;width:44px}.filter-menu-button svg{font-size:20px;height:20px;margin:0;width:20px}.filter-menu-button .filter-count-badge{font-size:11px}.kid-profiles-filter-bar,.sort-filter{display:none}.search-bar-container{flex:1 1;margin-left:0;max-width:none;min-width:0;order:2;position:relative;width:auto}.search-input{border-radius:24px;font-size:14px;height:44px;padding:11px 38px 11px 42px}.search-icon{left:16px}.search-clear{right:12px}.refresh-button{flex-shrink:0;height:44px;order:3;padding:10px;width:44px}.refresh-button svg{height:18px;width:18px}.view-toggle-button{display:none}.filter-menu-dropdown.mobile-fullscreen{background:#fff;border-radius:24px;box-shadow:0 18px 40px rgba(0,0,0,.25);display:flex!important;flex-direction:column;max-height:80vh;max-width:480px;min-height:400px;opacity:1!important;overflow:visible;padding:20px 20px 16px;visibility:visible!important;width:90vw}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.filter-menu-dropdown.mobile-fullscreen .filter-menu-header{align-items:center;background:#fff;display:flex;flex-shrink:0;justify-content:space-between;padding:0 0 12px;position:relative}.filter-menu-dropdown.mobile-fullscreen .filter-menu-header span{color:#000;font-size:18px;font-weight:700;line-height:1}.filter-menu-dropdown.mobile-fullscreen .filter-menu-header:after{align-items:center;color:#666;content:"✕";cursor:pointer;display:flex;font-size:28px;font-weight:300;height:44px;justify-content:center;margin:-12px -12px -12px 0;transition:all .2s ease;width:44px}.filter-menu-dropdown.mobile-fullscreen .filter-menu-header:after:active{background:#f5f5f5;border-radius:50%}.filter-menu-dropdown.mobile-fullscreen .filter-options{-webkit-overflow-scrolling:touch;flex:1 1;margin-bottom:16px;min-height:0;overflow-x:hidden;overflow-y:auto;padding:0}.filter-menu-dropdown.mobile-fullscreen .filter-checkbox-label{-webkit-tap-highlight-color:transparent;align-items:center;background:#f5f5f5;border:2px solid #e8e8e8;border-radius:12px;box-shadow:0 1px 3px rgba(0,0,0,.05);cursor:pointer;display:flex;font-size:15px;justify-content:flex-start;min-height:60px;padding:16px 14px;transition:all .15s cubic-bezier(.4,0,.2,1)}.filter-menu-dropdown.mobile-fullscreen .filter-checkbox-label:active{box-shadow:0 1px 2px rgba(0,0,0,.08);transform:scale(.97)}.filter-menu-dropdown.mobile-fullscreen .filter-checkbox-label input[type=checkbox]{display:none}.filter-menu-dropdown.mobile-fullscreen .filter-checkbox-label:has(input:checked){background:#e8f4e0;border-color:#a1c84c;box-shadow:0 2px 6px rgba(161,200,76,.2)}.filter-menu-dropdown.mobile-fullscreen .filter-checkbox-text{flex:1 1;font-size:15px;font-weight:600;justify-content:flex-start;line-height:1.3}.filter-menu-dropdown.mobile-fullscreen .filter-icon{align-items:center;display:flex;font-size:22px;justify-content:center;margin-right:12px;min-width:28px}.filter-menu-dropdown.mobile-fullscreen .filter-section-title{color:#7f8c8d;font-size:11px;font-weight:700;grid-column:1/-1;letter-spacing:.8px;margin-top:20px;padding:0 0 10px;text-transform:uppercase}.filter-menu-dropdown.mobile-fullscreen .filter-section-title:first-child{margin-top:0}.filter-menu-dropdown.mobile-fullscreen .filter-profiles-section{grid-column:1/-1;padding:0 0 16px}.filter-menu-dropdown.mobile-fullscreen .filter-profiles-section .filter-section-title{padding:0 0 10px;text-align:center}.filter-menu-dropdown.mobile-fullscreen .filter-profiles-row{flex-wrap:wrap;gap:14px;justify-content:center;padding:0}.filter-menu-dropdown.mobile-fullscreen .profile-avatar-button{border:3px solid #fff;box-shadow:0 2px 8px rgba(0,0,0,.15);height:56px;min-height:56px;min-width:56px;transition:all .2s ease;width:56px}.filter-menu-dropdown.mobile-fullscreen .profile-avatar-button:active{transform:scale(.95)}.filter-menu-dropdown.mobile-fullscreen .profile-avatar-button.selected{border-color:#a1c84c;box-shadow:0 3px 10px rgba(161,200,76,.4)}.filter-menu-dropdown.mobile-fullscreen .profile-avatar-emoji{font-size:28px}.filter-menu-dropdown.mobile-fullscreen .filter-divider{background:#e8e8e8;margin:0}.filter-menu-dropdown.mobile-fullscreen .filter-modal-actions{background:#fff;display:flex;flex-shrink:0;gap:12px;padding:0;width:100%;z-index:10}.filter-menu-dropdown.mobile-fullscreen .filter-cancel-button{background:#fff;border:2px solid #d0d0d0;border-radius:12px;color:#666;flex:0 0 auto;font-size:16px;font-weight:600;min-height:50px;padding:15px 22px;transition:all .15s ease}.filter-menu-dropdown.mobile-fullscreen .filter-cancel-button:active{background:#f5f5f5;transform:scale(.97)}.filter-menu-dropdown.mobile-fullscreen .filter-apply-button{background:#a1c84c;border:none;border-radius:12px;box-shadow:0 2px 6px rgba(161,200,76,.3);color:#000;flex:1 1;font-size:16px;font-weight:700;min-height:50px;padding:15px 22px;transition:all .15s ease}.filter-menu-dropdown.mobile-fullscreen .filter-apply-button:active{background:#8fb63d;transform:scale(.97)}.carousel-card{flex:0 0 min(340px,92vw);height:79dvh;margin-right:-10px;max-height:calc(99dvh - 150px);max-width:min(340px,92vw);min-width:min(300px,88vw)}.carousel-scroll{gap:0;padding:0 20px 20px}.carousel-container{margin-bottom:0;overflow-y:hidden;padding-bottom:90px}.carousel-wrapper{margin-bottom:0}.stacked-cards-wrapper{display:none}.toast-notification{bottom:20px;max-width:calc(100% - 40px)}.toast-content{font-size:14px;padding:14px 20px}.recipe-list-view{padding:0 20px 90px}.recipe-list-header{align-items:flex-start;flex-direction:column;gap:16px}.recipe-list-header-left h2{font-size:24px}.list-sort-controls{justify-content:flex-start;width:100%}.list-sort-button{font-size:13px;min-width:90px;padding:7px 12px}.list-sort-order-toggle{height:36px;width:36px}.recipe-list-item{gap:12px;padding:10px}.recipe-list-thumbnail{height:60px;width:60px}.list-emoji{font-size:36px}.recipe-list-title{font-size:16px}.recipe-list-checkbox{padding-top:24px}.recipe-list-checkbox input[type=checkbox]{height:18px;width:18px}.recipe-list-stats{gap:8px;padding-left:12px}.stat-box{min-width:50px;padding:6px 8px}.stat-label{font-size:9px}.stat-number{font-size:14px}body.modal-open{overflow:hidden}}.dice-button{align-items:center;animation:bounce 2s ease-in-out infinite;background:linear-gradient(135deg,#d4e157,#fff176);border:none;border-radius:50%;bottom:20px;box-shadow:0 8px 24px rgba(212,225,87,.4);color:#000;cursor:pointer;display:flex;font-size:48px;height:80px;justify-content:center;position:fixed;right:20px;transition:all .3s ease;width:80px;z-index:900}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.dice-button:hover{animation:none;box-shadow:0 12px 32px rgba(212,225,87,.6);transform:scale(1.1) translateY(0)!important}.dice-button:active{transform:scale(.95)!important}.winner-modal-backdrop{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:rgba(0,0,0,.7);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.winner-modal{animation:slideUpFadeIn .5s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:24px;box-shadow:0 20px 60px rgba(0,0,0,.3);max-width:500px;padding:40px;position:relative;text-align:center;width:90%}@keyframes slideUpFadeIn{0%{opacity:0;transform:translateY(100px)}to{opacity:1;transform:translateY(0)}}.winner-title{animation:pulse 1s ease-in-out;color:#000;font-size:32px;font-weight:900;line-height:1;margin:0 0 24px}@keyframes pulse{0%,to{transform:scale(1)}50%{transform:scale(1.05)}}.winner-recipe-preview{border-radius:20px;box-shadow:0 8px 24px rgba(0,0,0,.15);height:200px;margin:0 auto 24px;overflow:hidden;width:200px}.winner-image{height:100%;object-fit:cover;width:100%}.winner-emoji{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-size:120px;height:100%;justify-content:center;width:100%}.winner-recipe-name{color:#000;font-size:24px;font-weight:900;line-height:1;margin:0 0 32px}.runner-ups-section{background:#f8f9fa;border-radius:16px;margin:0 0 32px;padding:20px}.runner-ups-title{color:#7f8c8d;font-size:14px;font-weight:600;margin:0 0 16px;text-align:center}.runner-ups-list{display:flex;flex-direction:column;gap:12px}.runner-up-item{align-items:center;background:#fff;border-radius:12px;cursor:pointer;display:flex;gap:12px;padding:12px;transition:all .2s ease}.runner-up-item:hover{box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateX(4px)}.runner-up-place{color:#a1c84c;font-size:16px;font-weight:900;min-width:32px}.runner-up-image{border-radius:8px;height:48px;object-fit:cover;width:48px}.runner-up-emoji{align-items:center;display:flex;font-size:32px;height:48px;justify-content:center;width:48px}.runner-up-name{color:#000;flex:1 1;font-size:16px;font-weight:700}.winner-modal-actions{display:flex;gap:12px;justify-content:center}.winner-modal-actions .btn{font-size:16px;font-weight:600;padding:12px 24px}@media (min-width:481px) and (max-width:768px){.carousel-card{flex:0 0 min(400px,92vw)!important;margin-right:12px!important;max-width:min(400px,92vw)!important;min-width:min(340px,88vw)!important}.carousel-scroll{gap:16px!important;padding:0 20px 10px!important}}@media (max-width:768px){.dice-button{bottom:20px;font-size:40px;height:70px;right:20px;width:70px}.winner-modal{padding:32px 24px}.winner-title{font-size:24px}.winner-recipe-preview{height:160px;width:160px}.winner-recipe-name{font-size:20px}.runner-ups-section{padding:16px}.runner-up-item{padding:10px}.runner-up-emoji,.runner-up-image{height:40px;width:40px}.runner-up-emoji{font-size:28px}.runner-up-name{font-size:14px}.runner-up-place{font-size:14px;min-width:28px}.mobile-top-controls{align-items:center;background:#fff;display:flex;gap:12px;justify-content:space-between;padding:12px 20px}.mobile-toggle-group{background:#f5f5f5;border-radius:8px;display:flex;gap:4px;padding:3px}.mobile-toggle-btn{background:transparent;border:none;border-radius:6px;color:#666;cursor:pointer;font-size:13px;font-weight:600;padding:6px 12px;transition:all .2s}.mobile-toggle-btn.active{background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.1);color:#a1c84c}.sort-label-button{align-items:center;background:transparent;border:none;border-radius:8px;color:#7fa239;cursor:pointer;display:flex;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif;font-size:12px;font-weight:500;gap:6px;padding:6px 12px;transition:all .15s ease}.sort-label-button:hover{background:rgba(161,200,76,.1)}.sort-label-button svg{opacity:.6}.sort-label-text{white-space:nowrap}.carousel-card{height:76dvh!important;max-height:calc(96dvh - 150px)!important}}.mobile-top-controls,.sort-label-button{display:none}.saved-container{margin:0 auto;max-width:95%;padding:120px 24px 20px}.saved-header{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between;margin-bottom:24px}.saved-header h2{color:#000;font-size:28px;font-weight:700;margin:0}.saved-header-controls{align-items:center;display:flex;flex-wrap:wrap;gap:16px}.profile-filter-container{align-items:center;display:flex;gap:8px}.profile-filter-container label{color:#000;font-size:14px;font-weight:600;white-space:nowrap}.profile-filter-select{background:#fff;border:2px solid #ecf0f1;border-radius:999px;color:#000;cursor:pointer;font-size:14px;font-weight:600;outline:none;padding:8px 16px;transition:all .2s ease}.profile-filter-select:hover{border-color:#a1c84c}.profile-filter-select:focus{border-color:#a1c84c;box-shadow:0 0 0 3px rgba(161,200,76,.1)}.recipes-grid{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.recipe-card-small{border-radius:20px}.saved-emoji{background:linear-gradient(135deg,#667eea,#764ba2);font-size:100px}.heart-button{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border:none;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.15);color:#7f8c8d;cursor:pointer;display:flex;height:44px;justify-content:center;left:12px;position:absolute;top:12px;width:44px;z-index:10}.heart-button,.heart-button svg{transition:all .2s ease}.heart-button:hover{box-shadow:0 4px 12px rgba(0,0,0,.25);transform:scale(1.1)}.heart-button.saved{color:#a1c84c}.heart-button.saved:hover{transform:scale(1.1) rotate(5deg)}.recipe-card-title{margin-bottom:12px}.recipe-card-meta{margin-bottom:16px}.recipe-card-actions{grid-gap:8px;display:grid;grid-template-columns:1fr auto}.btn-remove{background:#fff;border:2px solid #ecf0f1;border-radius:999px;color:#7f8c8d;cursor:pointer;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s ease}.btn-remove:hover{border-color:#a1c84c;color:#a1c84c}.btn-remove:active{transform:scale(.95)}.btn-clear-all{background:#fff;border:2px solid #ecf0f1;border-radius:999px;color:#7f8c8d;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.btn-clear-all:hover{border-color:#e74c3c;color:#e74c3c}.btn-clear-all:disabled{cursor:not-allowed;opacity:.5}.btn-clear-all:active:not(:disabled){transform:scale(.95)}.modal-overlay{align-items:center;background:rgba(0,0,0,.5);bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1003}.modal-content{background:#fff;border-radius:20px 20px 0 0;box-shadow:0 10px 40px rgba(0,0,0,.2);padding:0}.clear-all-modal{max-height:225px;max-width:450px;padding:28px;text-align:center;width:auto}.clear-all-modal h3{color:#000;font-size:20px;font-weight:700;margin:0 0 16px;text-align:center}.clear-all-modal p{color:#7f8c8d;font-size:14px;line-height:1.5;margin:0 0 12px;text-align:center}.warning-text{color:#e74c3c!important;font-weight:600;margin-bottom:10px!important}.modal-actions{display:flex;gap:12px;justify-content:center;margin-top:20px}.btn-cancel,.btn-confirm-clear{border-radius:999px;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-cancel:hover{border-color:#a1c84c;color:#a1c84c}.btn-confirm-clear{background:#e74c3c;border:none;color:#fff}.btn-confirm-clear:hover{background:#c0392b}.btn-cancel:disabled,.btn-confirm-clear:disabled{cursor:not-allowed;opacity:.5}.btn-cancel:active:not(:disabled),.btn-confirm-clear:active:not(:disabled){transform:scale(.95)}@media (max-width:768px){.recipes-grid{gap:16px;grid-template-columns:repeat(auto-fill,minmax(240px,1fr))}.recipe-card-image{height:180px}.recipe-card-title{font-size:16px}}@media (max-width:480px){.saved-container{padding:140px 16px 40px}.recipes-grid{grid-template-columns:1fr}.saved-header{align-items:flex-start;flex-direction:column}.saved-header h2{font-size:24px}.saved-header-controls{align-items:stretch;flex-direction:column;gap:12px;width:100%}.profile-filter-container{display:none}.btn-clear-all,.profile-filter-select{width:100%}.modal-actions{flex-direction:column-reverse}.btn-cancel,.btn-confirm-clear{width:100%}}.shopping-list-container{background:#f7f8fa;margin:0 auto;max-width:95%;min-height:100vh;padding:90px 24px 20px}.shopping-list-content{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.08);padding:24px}.shopping-list-title{color:#2c3e50;font-size:32px;font-weight:700;margin:0 0 24px}.shopping-list-card{background:#fafbfc;border:none;border-radius:20px;box-shadow:0 2px 12px rgba(0,0,0,.06);margin-top:32px;padding:20px 24px}.shopping-list-card-header{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:14px}.header-left{align-items:baseline;display:flex;gap:8px}.card-title{color:#1d2730;font-size:17px;font-weight:700;letter-spacing:-.2px;margin:0}.item-count{color:#a0aec0;font-size:12px;font-weight:500}.header-actions{display:flex;flex-shrink:0;gap:6px;margin-left:auto}.header-action-btn{background:#f5f7fa;border:none;border-radius:999px;box-shadow:0 1px 2px rgba(0,0,0,.04);color:#64748b;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:8px 16px;transition:all .15s;white-space:nowrap}.header-action-btn:hover{background:#eef1f5;color:#475569}.progress-bar-container{align-items:center;background:#e8f1ce;border-radius:999px;display:flex;gap:12px;height:8px;margin-bottom:24px;overflow:hidden;position:relative}.progress-bar{background:#a1c84c;border-radius:999px;height:100%;transition:width .3s ease}.progress-text{color:#7fa239;font-size:12px;font-weight:600;position:absolute;right:0;top:16px;white-space:nowrap}.recipes-summary{margin-bottom:24px}.recipes-summary-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.recipes-summary h3{color:#1c2734;font-size:18px;font-weight:700;margin:0}.btn-remove-all{background:#fff;border:1px solid #c9dca0;border-radius:999px;color:#7fa239;cursor:pointer;font-family:inherit;font-size:13px;font-weight:500;padding:10px 16px;transition:all .15s}.btn-remove-all:hover{background:#e8f1ce}.btn-remove-all:active{background:#c9dca0}.recipes-grid{grid-gap:28px;gap:28px;grid-template-columns:repeat(auto-fill,minmax(160px,1fr))}.ingredients-title{color:#2c3e50;font-size:18px;font-weight:700;margin:24px 0 16px}.recipe-card-small{border:1px solid rgba(0,0,0,.03);border-radius:18px;box-shadow:0 4px 16px rgba(0,0,0,.05);transition:all .12s ease}.recipe-card-small:hover{box-shadow:0 6px 20px rgba(0,0,0,.06);transform:translateY(-2px)}.recipe-card-image{height:160px}.saved-emoji{align-items:center;background:linear-gradient(135deg,#a1c84c,#b5d96a);display:flex;font-size:80px;height:100%;justify-content:center;transition:transform .3s ease;width:100%}.recipe-card-image:hover .saved-emoji,.recipe-card-image:hover img{transform:scale(1.05)}.mini-badge{border-radius:12px;font-size:11px;padding:4px 8px;right:8px;top:8px}.recipe-card-content{background:#fff;border-top:3px solid #a1c84c;padding:20px 18px 16px}.recipe-card-title{color:#1c2734;font-size:14px;margin-bottom:10px}.recipe-meta-item{color:#7fa239;font-size:11px;font-weight:600}.btn-remove-recipe{background:#fff;border:1px solid #c9dca0;border-radius:999px;color:#7fa239;cursor:pointer;font-family:inherit;font-size:14px;font-weight:500;margin-top:12px;padding:10px 20px;transition:all .15s;width:100%}.btn-remove-recipe:hover{background:#e8f1ce}.btn-remove-recipe:active{background:#c9dca0}.bottom-controls{align-items:center;display:flex;flex-wrap:nowrap;gap:12px;justify-content:flex-start;margin-top:24px;padding:20px 0}.btn-text{background:#fff;border:1px solid #ecf0f1;border-radius:8px;box-shadow:0 2px 4px rgba(0,0,0,.05);color:#2c3e50;cursor:pointer;font-family:inherit;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s}.btn-text:hover{background:#f8f9fa;box-shadow:0 2px 6px rgba(0,0,0,.1)}.shopping-categories{display:flex;flex-direction:column;gap:16px;max-width:1040px}.category-section{background:#fff;border-radius:18px;box-shadow:0 2px 12px rgba(0,0,0,.06);overflow:hidden;transition:opacity .2s ease}.category-section.all-checked{opacity:.6}.category-header{align-items:center;background:#e8f1ce;border-radius:18px 18px 0 0;display:flex;gap:12px;padding:16px 20px}.category-icon{font-size:22px;line-height:1}.category-name{color:#7fa239;flex:1 1;font-size:12px;font-weight:700;letter-spacing:.06em;margin:0;text-transform:uppercase}.category-count{background:#c9dca0;border-radius:999px;color:#7fa239;font-size:11px;font-weight:600;padding:4px 12px}.category-items{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr 1fr;padding:8px 12px 12px}.shopping-items{grid-gap:0;background:#fff;border-radius:12px;display:grid;gap:0;grid-template-columns:1fr auto 1fr;margin-top:0}.shopping-items-column{display:flex;flex-direction:column;gap:0;padding:8px 24px}.shopping-items-column:first-child,.shopping-items-column:last-child{padding-left:24px;padding-right:24px}.column-divider{background:linear-gradient(180deg,transparent,rgba(0,0,0,.03) 10%,rgba(0,0,0,.03) 90%,transparent);margin:8px 0;width:1px}.shopping-item{background:transparent;border-radius:10px;cursor:pointer;margin:2px 8px;padding:16px 18px;transition:all .15s ease}.shopping-item:hover{background:#f5f7f2}.shopping-item.checked{background:rgba(0,0,0,.015)}.shopping-item.checked .item-name{color:#7fa239;text-decoration:line-through}.shopping-item.checked .item-amount{opacity:.5}.shopping-item.checked .item-recipes{opacity:.3}.shopping-item.hiding{animation:fadeOut .3s ease forwards}@keyframes fadeOut{0%{opacity:1;transform:translateX(0)}to{opacity:0;transform:translateX(-10px)}}.item-label{align-items:flex-start;cursor:pointer;display:flex;gap:0;margin:0}.item-checkbox{height:0;opacity:0;position:absolute;width:0}.checkbox-custom{align-items:center;background:#fff;border:2px solid #c9dca0;border-radius:7px;box-shadow:0 1px 3px rgba(0,0,0,.05);display:flex;height:24px;justify-content:center;margin-left:0;margin-right:14px;margin-top:0;min-width:24px;transition:all .12s ease;width:24px}.checkbox-custom:hover{border-color:#a1c84c}.item-checkbox:checked+.checkbox-custom{background:#a1c84c;border-color:#a1c84c;box-shadow:0 2px 8px rgba(161,200,76,.35);transform:scale(1.1)}.check-icon{color:#fff;font-size:13px;font-weight:700;line-height:1}.item-content{display:flex;flex:1 1;flex-direction:column;gap:2px}.item-name{color:#1c2734;font-size:16px;font-weight:600;line-height:1.4;transition:all .15s ease}.item-amount{color:#7fa239;font-size:13px;font-weight:500;margin-top:2px}.item-amount,.item-recipes{transition:opacity .15s ease}.item-recipes{align-items:center;display:flex;flex-wrap:wrap;gap:4px;margin-top:4px}.recipes-label{background:#e8f1ce;border:1px solid #c9dca0;border-radius:999px;color:#7fa239;font-size:11px;font-weight:500;margin-right:4px;padding:3px 8px;transition:opacity .15s ease}.recipe-tags{display:flex;flex-wrap:wrap;gap:4px}.recipe-tag{background:#e8f1ce;border:1px solid #c9dca0;border-radius:999px;color:#7fa239;font-size:11px;font-weight:500;padding:3px 8px;transition:opacity .15s ease}.recipe-amount{color:#94a3b8;font-size:10px}.all-checked-message{align-items:center;background:linear-gradient(135deg,#d5f4e6,#e8faf0);border:none;border-radius:16px;display:flex;flex-direction:column;gap:8px;margin-top:24px;padding:32px 24px;text-align:center}.check-icon-large{align-items:center;background:#fff;border-radius:50%;box-shadow:0 2px 8px rgba(39,174,96,.2);color:#27ae60;display:flex;font-size:32px;height:56px;justify-content:center;margin-bottom:4px;width:56px}.all-checked-message p{color:#27ae60;font-size:16px;font-weight:600;margin:0}.bottom-action-bar{background:#fcfcfc;border-radius:16px 16px 0 0;border-top:none;bottom:0;box-shadow:0 -2px 12px rgba(0,0,0,.06);display:flex;gap:12px;margin:24px -24px -20px;padding:18px 20px;position:-webkit-sticky;position:sticky}.action-btn{border:none;border-radius:999px;cursor:pointer;flex:1 1;font-family:inherit;font-size:15px;font-weight:600;height:50px;transition:all .15s ease}.action-btn-secondary{background:#f5f7f2;border:1px solid #c9dca0;color:#7fa239}.action-btn-secondary:hover{background:#e8f1ce}.action-btn-secondary:active{transform:scale(.97)}.action-btn-primary{background:#a1c84c;box-shadow:0 4px 12px rgba(161,200,76,.25);color:#fff}.action-btn-primary:hover{background:#8fb640}.action-btn-primary:active{transform:scale(.97)}.bottom-actions{background:#fff;border-radius:12px;box-shadow:0 2px 8px rgba(0,0,0,.1);margin-top:32px;padding:24px;text-align:center}.btn-large{font-size:16px;font-weight:700;min-width:300px}@media (max-width:768px){.shopping-list-container{background:#f8f9f9;padding:80px 10px 16px}.shopping-list-content{padding:15px}.shopping-list-title{font-size:24px}.recipes-grid{gap:20px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr))}.shopping-list-card{border-radius:14px;margin-top:24px;padding:14px 12px}.shopping-list-card-header{align-items:flex-start;flex-direction:column;gap:10px;margin-bottom:12px}.header-left{gap:6px}.card-title{font-size:15px}.item-count{font-size:11px}.header-actions{gap:6px;justify-content:flex-start;width:100%}.header-action-btn{font-size:10px;padding:5px 10px}.shopping-categories{gap:12px}.category-section{border-radius:16px}.category-header{border-radius:16px 16px 0 0;padding:14px 16px}.category-icon{font-size:20px}.category-name{font-size:11px}.category-count{font-size:10px;padding:3px 10px}.category-items{grid-template-columns:1fr;padding:8px 8px 12px}.shopping-item{margin:2px 4px;padding:14px}.item-name{font-size:15px}.item-amount{font-size:12px}.shopping-items{background:transparent;border-radius:0;gap:0;grid-template-columns:1fr;margin-top:0}.column-divider{display:none}.shopping-items-column{gap:0;padding:4px 0}.shopping-item{border-radius:6px;padding:12px}.shopping-item:hover{background:transparent}.shopping-item:active{background:rgba(0,0,0,.03)}.item-recipes{align-items:center;flex-direction:row;gap:4px}.bottom-controls,.item-recipes{flex-wrap:wrap}.progress-text{font-size:10px}.checkbox-custom{border-radius:8px;height:26px;margin-left:0;margin-right:12px;min-width:26px;width:26px}.check-icon{font-size:14px}.recipe-tag{font-size:10px;padding:2px 6px}.bottom-action-bar{border-radius:14px 14px 0 0;margin-bottom:-16px;margin-left:-16px;margin-right:-16px;padding:16px}.action-btn{border-radius:999px;font-size:14px;height:48px}}.history-container{margin:0 auto;max-width:1200px;padding:120px 20px 20px}.history-header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:32px}.history-header h2{color:#000;font-size:28px;font-weight:700;margin-bottom:8px}.history-count{color:#7f8c8d;font-size:16px;font-weight:600}.kid-filter{align-items:center;display:flex;gap:12px}.kid-filter label,.kid-filter-select{color:#000;font-size:14px;font-weight:600}.kid-filter-select{background:#fff;border:2px solid #ecf0f1;border-radius:8px;cursor:pointer;padding:8px 12px;transition:all .2s ease}.kid-filter-select:hover{border-color:#a1c84c}.kid-filter-select:focus{border-color:#a1c84c;box-shadow:0 0 0 3px hsla(0,100%,71%,.1);outline:none}.recipes-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(4,1fr);padding-top:8px}@media (max-width:1200px){.recipes-grid{grid-template-columns:repeat(3,1fr)}}@media (max-width:900px){.recipes-grid{grid-template-columns:repeat(2,1fr)}}.recipe-card-small{background:#fff;border-radius:16px;box-shadow:0 4px 12px rgba(0,0,0,.1);display:flex;flex-direction:column;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.recipe-card-small:hover{box-shadow:0 8px 20px rgba(0,0,0,.15);transform:translateY(-4px)}.recipe-card-image{cursor:pointer;height:200px;overflow:hidden;position:relative;width:100%}.recipe-card-image img{object-fit:cover}.history-emoji,.recipe-card-image img{height:100%;transition:transform .3s ease;width:100%}.history-emoji{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;font-size:100px;justify-content:center}.recipe-card-image:hover .history-emoji,.recipe-card-image:hover img{transform:scale(1.05)}.rating-badge{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.15);display:flex;font-size:20px;justify-content:center;left:12px;padding:8px 12px;position:absolute;top:12px}.rating-badge.fresh{background:hsla(0,0%,100%,.95);border:3px solid #8fb539}.rating-badge.rotten{background:hsla(0,100%,71%,.95)}.mini-badge{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:hsla(0,0%,100%,.95);border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.15);color:#a1c84c;font-size:12px;font-weight:700;padding:6px 12px;position:absolute;right:12px;top:12px}.recipe-card-content{padding:16px}.recipe-card-title{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#000;display:-webkit-box;font-size:18px;font-weight:700;line-height:1.3;margin-bottom:8px;overflow:hidden}.recipe-date{color:#7f8c8d;font-size:13px;font-weight:500;margin-bottom:12px}.recipe-card-meta{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.meta-badge{background:#f8f9fa;border-radius:8px;color:#000;font-size:12px;font-weight:600;padding:6px 10px;text-transform:capitalize}.rated-by{color:#7f8c8d;font-size:13px;margin-bottom:8px}.rated-by strong{color:#000;font-weight:600}.rating-comment{background:#f8f9fa;border-radius:8px;color:#555;font-size:13px;font-style:italic;line-height:1.4;margin-bottom:12px;padding:8px 12px}.recipe-card-actions{display:flex;gap:8px}.btn-view{background:#a1c84c;border:none;border-radius:999px;color:#000;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;padding:10px 16px;transition:all .2s ease}.btn-view:hover{background:#b5d96a}.btn-view:active{transform:scale(.95)}@media (max-width:768px){.history-header{align-items:flex-start;flex-direction:column}.recipes-grid{gap:16px;grid-template-columns:repeat(2,1fr)}.recipe-card-image{height:180px}.recipe-card-title{font-size:16px}.kid-filter{width:100%}.kid-filter-select{flex:1 1}}@media (max-width:480px){.history-container{padding:16px}.recipes-grid{grid-template-columns:1fr}.history-header h2{font-size:24px}}@keyframes slideDown{0%{opacity:0;transform:translateX(-50%) translateY(-20px)}to{opacity:1;transform:translateX(-50%) translateY(0)}}.meal-plan-container{background:transparent;margin:140px auto 40px;max-width:100%;padding:0 40px}.meal-plan-main-card{background:#fff;border-radius:24px;box-shadow:0 8px 24px rgba(0,0,0,.08);margin:0;max-width:none;padding:48px 40px;width:100%}.page-title{border:none;color:var(--dark);font-weight:800;letter-spacing:-.5px;margin-bottom:48px}.meal-plan-section{background:#fff;border-bottom:none;border-radius:20px;box-shadow:0 4px 12px rgba(0,0,0,.08);margin-bottom:24px;overflow:visible;padding:32px;transition:transform .2s ease,box-shadow .2s ease}.meal-plan-section:hover{box-shadow:0 8px 20px rgba(0,0,0,.12);transform:translateY(-2px)}.section-title{border:none!important;color:var(--dark);letter-spacing:-.3px;margin-bottom:16px;text-align:center!important}.step-container{background:rgba(161,200,76,.08);border:2px solid rgba(161,200,76,.15);border-radius:16px;margin-bottom:0;padding:24px}.step-number{background:var(--primary-color);border-radius:50%;color:#2c3e50;display:inline-block;font-size:16px;font-weight:800;height:32px;line-height:32px;margin-right:12px;text-align:center;vertical-align:middle;width:32px}.step-helper-text{color:#666;font-size:14px;font-weight:400;margin-bottom:16px;margin-top:8px;text-align:center}.kids-selector{display:flex;flex-wrap:wrap;gap:16px;justify-content:center}.kid-card{align-items:center;background:#fff;border:3px solid #e5e5e5;border-radius:16px;cursor:pointer;display:flex;flex-direction:column;padding:20px 16px;position:relative;transition:all .2s ease}.kid-card:hover{border-color:var(--primary-color);box-shadow:0 6px 16px rgba(161,200,76,.2);transform:translateY(-4px) scale(1.02)}.kid-card.selected{background:linear-gradient(135deg,rgba(161,200,76,.15),hsla(79,59%,63%,.1));border-color:var(--primary-color);border-width:3px}.kid-avatar{align-items:center;border-radius:50%;display:flex;height:64px;justify-content:center;margin-bottom:8px;overflow:hidden;width:64px}.kid-avatar img{height:100%;object-fit:cover;width:100%}.avatar-emoji{font-size:32px}.kid-name{font-size:14px;font-weight:500;text-align:center}.selected-check{align-items:center;background-color:var(--primary-color);border-radius:50%;box-shadow:0 2px 8px rgba(161,200,76,.4);color:#2c3e50;display:flex;font-size:16px;font-weight:900;height:28px;justify-content:center;position:absolute;right:8px;top:8px;width:28px}.cook-nights-buttons{display:flex;flex-wrap:wrap;gap:12px;justify-content:center}.cook-nights-btn{background-color:#fff;border:2px solid #e5e5e5;border-radius:100px;box-shadow:0 2px 4px rgba(0,0,0,.05);color:var(--dark);cursor:pointer;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif!important;font-size:18px;font-weight:700;min-width:70px;padding:14px 28px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.cook-nights-btn:hover{border-color:rgba(161,200,76,.5);box-shadow:0 4px 12px rgba(161,200,76,.25);transform:translateY(-2px) scale(1.05)}.cook-nights-btn.selected{background:linear-gradient(135deg,#a1c84c,#b5d96a);border-color:#8fb539;box-shadow:0 6px 16px rgba(161,200,76,.5);color:#2c3e50;transform:translateY(-2px) scale(1.08)}.cook-nights-btn.selected:after{align-items:center;background:#2c3e50;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.2);color:var(--primary-color);content:"✓";display:flex;font-size:14px;font-weight:900;height:24px;justify-content:center;position:absolute;right:-8px;top:-8px;width:24px}.generate-meal-plan-btn{background:var(--primary-color);border:none;border-radius:100px;box-shadow:none;color:#fff;cursor:pointer;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif!important;font-size:17px;font-weight:700;letter-spacing:.3px;padding:16px 40px;text-transform:none;transition:all .2s ease}.generate-meal-plan-btn:hover:not(:disabled){background:#8fb539;transform:scale(1.02)}.generate-meal-plan-btn:active:not(:disabled){transform:scale(.98)}.generate-meal-plan-btn:disabled{cursor:not-allowed;opacity:.5}.toggle-buttons{display:flex;gap:12px;justify-content:center}.toggle-btn{background-color:#fff;border:2px solid #e5e5e5;border-radius:16px;box-shadow:0 2px 4px rgba(0,0,0,.05);color:var(--dark);cursor:pointer;font-size:18px;font-weight:700;min-width:100px;padding:14px 40px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.toggle-btn:hover{border-color:rgba(161,200,76,.5);box-shadow:0 4px 12px rgba(161,200,76,.25);transform:translateY(-2px) scale(1.05)}.toggle-btn.selected{background:linear-gradient(135deg,#a1c84c,#b5d96a);border-color:#8fb539;box-shadow:0 6px 16px rgba(161,200,76,.5);color:#2c3e50;transform:translateY(-2px) scale(1.08)}.toggle-btn.selected:after{align-items:center;background:#2c3e50;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.2);color:var(--primary-color);content:"✓";display:flex;font-size:14px;font-weight:900;height:24px;justify-content:center;position:absolute;right:-8px;top:-8px;width:24px}.day-pattern-container{background:rgba(161,200,76,.06);border:2px solid rgba(161,200,76,.12);border-radius:20px;padding:20px}.day-pattern-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(7,1fr);margin-bottom:0}.day-pattern-card{background-color:#fff;border:2px solid transparent;border-radius:12px;box-shadow:0 2px 4px rgba(0,0,0,.08);cursor:pointer;display:flex;flex-direction:column;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.day-pattern-card:hover{border-color:rgba(161,200,76,.3);box-shadow:0 6px 16px rgba(0,0,0,.15);transform:translateY(-3px) scale(1.02)}.day-card-header{border-radius:0;color:#fff;font-size:11px;font-weight:800;letter-spacing:.3px;padding:8px 6px;text-align:center;text-transform:uppercase}.day-card-body{align-items:center;background:#fff;display:flex;flex-direction:column;gap:6px;justify-content:center;min-height:65px;padding:14px 6px;position:relative;text-align:center}.day-type-label{color:var(--dark);font-size:14px;font-weight:700;text-align:center}.day-type-icon{font-size:20px}.day-type-button{align-items:center;background:transparent;border:none;border-radius:8px;color:var(--dark);cursor:pointer;display:flex;flex-direction:column;font-size:15px;font-weight:700;gap:4px;justify-content:center;padding:10px;transition:all .2s ease;width:100%}.day-type-button:hover{background-color:rgba(161,200,76,.15);transform:scale(1.05)}.day-type-dropdown{background:#fff;border:3px solid var(--primary-color);border-radius:16px;box-shadow:0 8px 24px rgba(161,200,76,.3);left:50%;margin-top:8px;min-width:140px;overflow:hidden;position:absolute;top:100%;transform:translateX(-50%);z-index:100}.dropdown-option{align-items:center;background:#fff;border:none;border-bottom:2px solid #f5f5f5;color:var(--dark);cursor:pointer;display:flex;font-size:15px;font-weight:700;gap:8px;justify-content:center;padding:14px 20px;text-align:center;transition:all .2s ease;width:100%}.dropdown-option:last-child{border-bottom:none}.dropdown-option:hover{background-color:rgba(161,200,76,.2);color:var(--primary-color);transform:scale(1.03)}.template-link{background:transparent;border:2px solid var(--primary-color);border-radius:12px;color:var(--primary-color);cursor:pointer;font-size:14px;font-weight:700;padding:10px 20px;text-decoration:none;transition:all .2s ease}.template-link:hover{background:rgba(161,200,76,.1);box-shadow:0 2px 8px rgba(161,200,76,.2);transform:translateY(-1px)}.plan-week-subtitle{color:#666;font-size:16px;font-weight:500;margin-bottom:24px;margin-top:24px;text-align:center}.meal-plan-week-section{border-bottom:none;margin-bottom:0;padding-bottom:48px}.meal-plan-week-section:last-of-type{border-bottom:none;padding-bottom:0}.meal-plan-week-section:not(:first-of-type){padding-top:48px}.week-section-header{border-radius:12px;display:inline-block;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;font-weight:600;letter-spacing:.8px;margin-bottom:24px;margin-left:50%;padding:10px 20px;text-align:center;text-transform:uppercase;transform:translateX(-50%)}.meal-plan-week-section:first-of-type .week-section-header{background:rgba(161,200,76,.12);color:#7a9a30}.meal-plan-week-section:not(:first-of-type) .week-section-header{background:rgba(0,0,0,.04);color:#666}.plan-days-gallery{align-items:flex-start;display:flex;gap:10px;justify-content:center;margin-bottom:0;margin-top:8px}.plan-gallery-card{background-color:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.06);display:flex;flex:1 1;flex-direction:column;height:250px;min-width:0;overflow:visible;padding-top:16px;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.plan-gallery-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.08);transform:translateY(-2px)}.plan-gallery-card.plan-off-day-card{background:rgb(0 0 0/8%);border:1px solid hsla(0,0%,47%,.15);flex:0 0 auto;height:250px;max-width:60px;min-width:60px;width:60px}.plan-card-day-pill{border-radius:12px;box-shadow:0 2px 4px rgba(0,0,0,.1);color:#fff;font-size:10px;font-weight:800;left:50%;letter-spacing:.5px;padding:6px 12px;position:absolute;text-align:center;text-transform:uppercase;top:-8px;transform:translateX(-50%);white-space:nowrap;z-index:10}.plan-gallery-card.plan-off-day-card .plan-card-day-pill{font-size:10px}.plan-gallery-image{background-position:50%;background-size:cover;border-radius:16px 16px 0 0;cursor:pointer;flex-shrink:0;height:250px;margin-top:-16px;overflow:hidden;position:relative;transition:transform .2s ease;width:100%}.plan-gallery-image:hover{transform:scale(1.01)}.plan-image-overlay{background:rgba(0,0,0,.5);bottom:0;color:#fff;display:flex;flex-direction:column;gap:8px;justify-content:flex-end;left:0;opacity:1;padding:12px;position:absolute;right:0;top:0;transition:opacity .2s ease;z-index:2}.plan-recipe-title{font-size:18px;font-weight:700;line-height:1;margin-bottom:6px}.plan-recipe-meta{font-size:12px;opacity:.9}.plan-recipe-info{display:none;flex:1 1;flex-direction:column;gap:10px;padding:16px}.plan-recipe-name{-webkit-line-clamp:2;-webkit-box-orient:vertical;color:#2c3e50;display:-webkit-box;font-size:14px;font-weight:600;line-height:1.3;margin:0;overflow:hidden}.plan-recipe-badges{display:flex;flex-wrap:wrap;gap:6px}.plan-metric-badge{background:#f8f9fa;border-radius:6px;color:#2c3e50;font-size:11px;font-weight:600;padding:4px 8px;white-space:nowrap}.plan-recipe-details{display:none}.plan-card-body{border-radius:16px;flex-direction:column;gap:8px;padding:16px 12px}.plan-card-body,.plan-card-body.plan-off-day{align-items:center;display:flex;justify-content:center}.plan-card-body.plan-off-day{background:transparent;border-radius:0;flex:1 1;flex-direction:column;height:250px;padding:20px 8px}.plan-day-icon{font-size:48px;margin-bottom:8px}.plan-day-message,.plan-empty-message{color:#666;display:none;font-size:13px;font-weight:600;line-height:1.4;max-width:100%;text-align:center}.plan-swap-btn{background:#f5f5f5;border:none;border-radius:0 0 16px 16px;color:#2c3e50;cursor:pointer;font-size:12px;font-weight:700;padding:10px 16px;transition:all .2s ease;width:100%}.plan-swap-btn:hover:not(:disabled){background:var(--primary-color);color:#2c3e50}.plan-swap-btn:disabled{cursor:not-allowed;opacity:.6}.continue-button{display:flex;justify-content:center;margin-top:24px}.btn-continue{background:var(--primary-color);border:none;border-radius:100px;box-shadow:0 4px 12px rgba(161,200,76,.3);color:#2c3e50;cursor:pointer;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif!important;font-size:18px;font-weight:700;padding:16px 48px;transition:all .2s ease}.btn-continue:hover:not(:disabled){box-shadow:0 6px 16px rgba(161,200,76,.4);transform:translateY(-2px) scale(1.03)}.btn-continue:disabled{cursor:not-allowed;opacity:.5;transform:none}.meal-plan-global-actions{align-items:center;display:flex;flex-wrap:nowrap;gap:16px;justify-content:center;margin-top:48px;padding-top:48px}.meal-plan-global-actions .btn{border-radius:100px;flex:1 1;font-size:16px;font-weight:700;max-width:300px;min-width:180px;padding:14px 32px;transition:all .2s ease}.meal-plan-global-actions .btn-primary{background:var(--primary-color);border:none;color:#2c3e50}.meal-plan-global-actions .btn-primary:hover{background:#8fb539;box-shadow:0 4px 12px rgba(143,181,57,.3);transform:translateY(-2px)}.meal-plan-global-actions .btn-secondary{background:#fff;border:2px solid #e5e5e5;color:#2c3e50}.meal-plan-global-actions .btn-secondary:hover{background:#f5f5f5;border-color:var(--primary-color);box-shadow:0 4px 12px rgba(0,0,0,.1);transform:translateY(-2px)}.btn-reset-link{background:none;border:none;color:#e74c3c;cursor:pointer;display:block;font-size:14px;font-weight:500;margin-top:24px;padding:8px;text-align:center;transition:opacity .2s ease;width:100%}.btn-reset-link:hover{opacity:.7;text-decoration:underline}.btn-reset-link:disabled{cursor:not-allowed;opacity:.5}.meal-plan-actions{align-items:center;display:flex;flex-direction:row-reverse;gap:16px;justify-content:center;margin-top:40px;padding:24px 0}.meal-plan-actions .generate-meal-plan-btn{background:var(--primary-color);border:none;border-radius:100px;box-shadow:none;color:#fff;cursor:pointer;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif!important;font-size:17px;font-weight:700;letter-spacing:.3px;padding:16px 40px;text-transform:none;transition:all .2s ease}.meal-plan-actions .generate-meal-plan-btn:hover:not(:disabled){background:#8fb539;transform:scale(1.02)}.meal-plan-actions .generate-meal-plan-btn:active:not(:disabled){transform:scale(.98)}.meal-plan-actions .generate-meal-plan-btn:disabled{cursor:not-allowed;opacity:.5}.back-link{background:#e5e5e5;border:none;border-radius:100px;color:#2c3e50;cursor:pointer;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif!important;font-size:17px;font-weight:700;padding:16px 40px;text-decoration:none;transition:all .2s ease}.back-link:hover:not(:disabled){background:#d0d0d0;transform:scale(1.02)}.back-link:disabled{cursor:not-allowed;opacity:.5}.btn-large{font-size:18px;padding:16px 32px}.btn-small{font-size:14px;padding:8px 16px}body{background:var(--background);min-height:100vh}.loading{padding:48px}.spinner{border:5px solid #e5e5e5;border-top:5px solid var(--primary-color);height:50px;width:50px}.alert{border-radius:16px;box-shadow:0 4px 12px rgba(0,0,0,.1);font-size:15px;font-weight:600;padding:18px 24px}.alert-error{background:linear-gradient(135deg,#ffe5e5,#fff0f0);border:3px solid #ef5350;color:#d32f2f}.alert-success{background:linear-gradient(135deg,#e8f5e9,#f1f8e9);border:3px solid var(--primary-color);color:#388e3c}@media (max-width:900px){.meal-plan-main-card{padding:32px 24px;width:90%}.meal-plan-week-section{padding-bottom:32px}.meal-plan-week-section:not(:first-of-type){padding-top:32px}.week-section-header{font-size:11px;margin-bottom:16px}.meal-plan-global-actions{margin-top:32px;padding-top:32px}.plan-days-gallery{align-items:stretch;flex-direction:column;gap:14px}.plan-gallery-card{align-items:center;border-radius:24px;flex-direction:row;height:auto;padding:12px 16px;width:100%}.plan-card-day-pill{border-radius:999px;font-size:11px;margin:0 12px 0 0;padding:6px 14px;position:static;transform:none}.plan-gallery-image{background-position:50%;border-radius:16px;flex-shrink:0;height:72px;margin:0 12px 0 0;width:72px}.plan-image-overlay{display:none}.plan-recipe-info{display:flex;flex:1 1;flex-direction:column;gap:4px;padding:0}.plan-recipe-name{font-size:14px;font-weight:600;line-height:1.3}.plan-recipe-badges{gap:6px;margin-top:2px}.plan-swap-btn{border-radius:999px;flex-shrink:0;font-size:13px;margin-left:12px;padding:8px 16px;width:auto}.plan-gallery-card.plan-off-day-card{align-items:center;background:#f6f6f7;border-radius:14px;box-shadow:none!important;display:flex;height:auto!important;max-height:56px!important;max-width:100%!important;min-height:48px!important;padding:6px 14px!important;width:100%!important}.plan-gallery-card.plan-off-day-card .plan-card-body.plan-off-day{align-items:center;display:flex;flex-direction:row;gap:8px;margin:0;padding:0;width:100%}.plan-gallery-card.plan-off-day-card .plan-card-day-pill{background:#d3d4d8;font-size:11px;font-weight:600;margin:0;padding:4px 10px;position:static}.plan-gallery-card.plan-off-day-card .plan-day-icon{font-size:18px;margin:0 4px 0 8px}.plan-gallery-card.plan-off-day-card .plan-day-message{color:#777;display:block;font-size:13px;font-weight:500}}@media (max-width:768px){.meal-plan-container{margin:120px 20px 40px;padding:0}.meal-plan-main-card{margin:20px auto;padding:24px 20px;width:95%}.meal-plan-section{padding:24px 20px}.meal-plan-week-section{padding-bottom:28px}.meal-plan-week-section:not(:first-of-type){padding-top:28px}.page-title{margin-bottom:32px}.meal-plan-global-actions{gap:12px;margin-top:28px;padding-top:28px}.meal-plan-global-actions .btn{font-size:14px;min-width:140px;padding:12px 24px}.page-title{font-size:26px;margin-bottom:28px}.section-title{font-size:18px}.kids-selector{gap:12px;grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.cook-nights-btn,.toggle-btn{font-size:16px;padding:12px 20px}.day-pattern-grid{gap:6px;grid-template-columns:repeat(7,1fr)}.day-pattern-card{border-width:2px}.day-card-header{font-size:11px;padding:8px 4px}.day-card-body{min-height:60px;padding:12px 4px}.day-type-button{font-size:13px}.plan-recipe-card{flex-direction:column}.plan-recipe-image{height:200px;width:100%}.meal-plan-actions{flex-direction:column}.btn{width:100%}}.submit-recipe-page{background:#f8f9fa;min-height:100vh;overflow-y:auto;padding:80px 20px 40px}.submit-recipe-container{background:#fff;border-radius:20px;box-shadow:0 4px 12px rgba(0,0,0,.1);margin:0 auto 20px;max-width:800px;padding:40px}.page-title{color:#000;font-size:32px;font-weight:700;margin:0 0 8px;text-align:center}.page-subtitle{color:#7f8c8d;font-size:16px;margin:0 0 32px;text-align:center}.recipe-form{gap:32px}.form-section,.recipe-form{display:flex;flex-direction:column}.form-section{gap:16px}.section-title{border-bottom:2px solid #ecf0f1;color:#000;font-size:20px;font-weight:700;margin:0;padding-bottom:8px}.form-group input,.form-group select,.form-group textarea{border:2px solid #ecf0f1;border-radius:8px;font-family:inherit;font-size:14px;padding:12px;transition:border-color .2s ease}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#667eea;outline:none}.form-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.ingredient-row{align-items:center;display:flex;gap:12px}.ingredient-amount{flex:0 0 140px}.ingredient-amount,.ingredient-item{border:2px solid #ecf0f1;border-radius:8px;font-family:inherit;font-size:14px;padding:12px;transition:border-color .2s ease}.ingredient-item{flex:1 1}.ingredient-amount:focus,.ingredient-item:focus{border-color:#667eea;outline:none}.instruction-row{align-items:flex-start;display:flex;gap:12px}.instruction-number{align-items:center;background:#a1c84c;border-radius:50%;color:#000;display:flex;flex-shrink:0;font-size:14px;font-weight:700;height:32px;justify-content:center;margin-top:12px;width:32px}.instruction-input{border:2px solid #ecf0f1;border-radius:8px;flex:1 1;font-family:inherit;font-size:14px;padding:12px;resize:vertical;transition:border-color .2s ease}.instruction-input:focus{border-color:#667eea;outline:none}.add-btn{background:#f8f9fa;border:2px dashed #bdc3c7;border-radius:8px;color:#7f8c8d;cursor:pointer;font-size:14px;font-weight:600;padding:12px 20px;transition:all .2s ease;width:-webkit-fit-content;width:fit-content}.add-btn:hover{background:#ecf0f1;border-color:#667eea;color:#667eea}.remove-btn{align-items:center;background:#ffe5e5;border:none;border-radius:50%;color:#a1c84c;cursor:pointer;display:flex;flex-shrink:0;font-size:18px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.remove-btn:hover{background:#a1c84c;color:#000;transform:scale(1.1)}.form-actions{border-top:2px solid #ecf0f1;display:flex;gap:12px;justify-content:flex-end;padding-top:20px}.btn-cancel{background:#fff;border:2px solid #ecf0f1;border-radius:999px;cursor:pointer;font-size:16px;font-weight:600;padding:14px 32px;transition:all .2s ease}.btn-cancel:hover{background:#f8f9fa;border-color:#7f8c8d}.btn-cancel:disabled{cursor:not-allowed;opacity:.5}.btn-submit{background:linear-gradient(135deg,#a1c84c,#b5d96a);border:none;border-radius:999px;box-shadow:0 4px 12px rgba(161,200,76,.3);color:#000;cursor:pointer;font-size:16px;font-weight:600;padding:14px 32px;transition:all .2s ease}.btn-submit:hover{box-shadow:0 6px 20px rgba(161,200,76,.4);transform:translateY(-2px)}.btn-submit:active{transform:translateY(0)}.btn-submit:disabled{cursor:not-allowed;opacity:.6;transform:none}.success-message{background:#fff;border-radius:20px;box-shadow:0 20px 60px rgba(0,0,0,.3);margin:100px auto;max-width:500px;padding:60px 40px}.success-icon{align-items:center;animation:successPop .4s ease;background:#a1c84c;border-radius:50%;color:#000;display:flex;font-size:48px;height:80px;justify-content:center;margin:0 auto 24px;width:80px}@keyframes successPop{0%{transform:scale(0)}50%{transform:scale(1.1)}to{transform:scale(1)}}.success-message h2{color:#000;font-size:24px;font-weight:700;margin:0 0 12px}.success-message p{color:#7f8c8d;font-size:16px;margin:0}@media (max-width:768px){.submit-recipe-container{padding:24px}.page-title{font-size:24px}.form-row{grid-template-columns:1fr}.ingredient-row{flex-direction:column}.ingredient-amount{flex:1 1;width:100%}.form-actions{flex-direction:column}.btn-cancel,.btn-submit{width:100%}}.feedback-page{margin:0 auto;max-width:1200px;padding:140px 20px 40px}.feedback-header{margin-bottom:32px}.feedback-header h1{color:#000;font-size:32px;font-weight:700;margin:0 0 8px}.feedback-subtitle{color:#7f8c8d;font-size:16px;margin:0}.feedback-unauthorized{padding:60px 20px;text-align:center}.feedback-unauthorized h2{color:#e74c3c;font-size:24px;margin:0 0 12px}.feedback-unauthorized p{color:#7f8c8d;font-size:16px}.feedback-filters{background:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.1);gap:20px;margin-bottom:32px;padding:24px}.feedback-filters,.filter-group{display:flex;flex-direction:column}.filter-group{gap:12px}.filter-group label{color:#000;font-size:14px;font-weight:600}.filter-buttons{display:flex;flex-wrap:wrap;gap:8px}.filter-btn{background:#fff;border:2px solid #ecf0f1;border-radius:8px;color:#7f8c8d;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease}.filter-btn:hover{border-color:#a1c84c;color:#000}.filter-btn.active{background:#a1c84c;border-color:#a1c84c;color:#fff}.feedback-empty,.feedback-loading{color:#7f8c8d;padding:60px 20px;text-align:center}.feedback-loading .spinner{animation:spin 1s linear infinite;border:4px solid #ecf0f1;border-radius:50%;border-top-color:#a1c84c;height:40px;margin:0 auto 16px;width:40px}.feedback-list{display:flex;flex-direction:column;gap:16px}.feedback-item{background:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.1);padding:24px;transition:all .2s ease}.feedback-item:hover{box-shadow:0 4px 12px rgba(0,0,0,.15)}.feedback-item-header{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px}.feedback-item-type{align-items:center;background:#f8f9fa;border-radius:8px;display:flex;gap:8px;padding:6px 12px}.type-icon{font-size:18px}.type-text{color:#000;font-size:14px;font-weight:600;text-transform:capitalize}.feedback-item-meta{align-items:flex-end;display:flex;flex-direction:column;gap:4px}.feedback-user{color:#000;font-size:14px;font-weight:600}.feedback-date{color:#95a5a6;font-size:12px}.feedback-item-message{background:#f8f9fa;border-radius:12px;color:#000;font-size:15px;line-height:1.6;margin-bottom:16px;padding:16px;white-space:pre-wrap}.feedback-item-footer{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.status-selector{align-items:center;display:flex;gap:8px}.status-selector label{color:#7f8c8d;font-size:14px;font-weight:600}.status-selector select{background:#fff;border:2px solid #ecf0f1;border-radius:8px;color:#000;cursor:pointer;font-size:14px;font-weight:600;padding:8px 12px;transition:all .2s ease}.status-selector select:focus{border-color:#a1c84c;outline:none}.delete-btn{background:#fff;border:2px solid #e74c3c;border-radius:8px;color:#e74c3c;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease}.delete-btn:hover{background:#e74c3c;color:#fff}@media (max-width:768px){.feedback-page{padding:20px 16px}.feedback-item-header{flex-direction:column}.feedback-item-header,.feedback-item-meta{align-items:flex-start}.feedback-item-footer{align-items:stretch;flex-direction:column}.status-selector{justify-content:space-between}}.analytics-page{margin:0 auto;max-width:1200px;padding:140px 20px 40px}.analytics-header{margin-bottom:32px}.analytics-header h1{color:#000;font-size:32px;font-weight:700;margin:0 0 8px}.analytics-subtitle{color:#7f8c8d;font-size:16px;margin:0}.analytics-unauthorized{padding:60px 20px;text-align:center}.analytics-unauthorized h2{color:#e74c3c;font-size:24px;margin:0 0 12px}.analytics-unauthorized p{color:#7f8c8d;font-size:16px}.analytics-empty,.analytics-loading{color:#7f8c8d;padding:60px 20px;text-align:center}.analytics-loading .spinner{animation:spin 1s linear infinite;border:4px solid #ecf0f1;border-radius:50%;border-top-color:#a1c84c;height:40px;margin:0 auto 16px;width:40px}.analytics-summary{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:40px}.summary-card{align-items:center;background:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.1);display:flex;gap:16px;padding:24px;transition:all .2s ease}.summary-card:hover{box-shadow:0 4px 12px rgba(0,0,0,.15);transform:translateY(-2px)}.summary-icon{align-items:center;background:#f8f9fa;border-radius:12px;display:flex;flex-shrink:0;font-size:36px;height:60px;justify-content:center;width:60px}.summary-content{flex:1 1}.summary-label{color:#7f8c8d;font-size:12px;font-weight:600;letter-spacing:.5px;margin-bottom:4px;text-transform:uppercase}.summary-value{color:#000;font-size:28px;font-weight:700}.analytics-users{background:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.1);padding:24px}.analytics-users h2{color:#000;font-size:20px;font-weight:700;margin:0 0 20px}.users-table{overflow-x:auto}.user-row,.users-table-header{grid-gap:16px;align-items:center;display:grid;gap:16px;grid-template-columns:1.5fr 2fr .8fr 1.2fr 1fr;padding:12px 0}.users-table-header{border-bottom:2px solid #ecf0f1;color:#7f8c8d;font-size:12px;font-weight:700;letter-spacing:.5px;text-transform:uppercase}.user-row{border-bottom:1px solid #f8f9fa;color:#000;font-size:14px;transition:background .2s ease}.user-row:hover{background:#f8f9fa}.user-row:last-child{border-bottom:none}.col-name{font-weight:600}.col-email{color:#7f8c8d}.col-logins{font-weight:600;text-align:center}.col-created,.col-last-login{color:#95a5a6;font-size:13px}@media (max-width:768px){.analytics-page{padding:20px 16px}.analytics-summary{grid-template-columns:1fr}.summary-card{padding:20px}.summary-icon{font-size:32px;height:50px;width:50px}.summary-value{font-size:24px}.user-row,.users-table-header{gap:4px;grid-template-columns:1fr}.users-table-header{display:none}.user-row{background:#f8f9fa;border-radius:8px;margin-bottom:8px;padding:16px}.col-name:before{color:#7f8c8d;content:"Name: ";font-weight:600}.col-email:before{color:#7f8c8d;content:"Email: ";font-weight:600}.col-logins{text-align:left}.col-logins:before{color:#7f8c8d;content:"Logins: ";font-weight:600}.col-last-login:before{color:#7f8c8d;content:"Last Login: ";font-weight:600}.col-created:before{color:#7f8c8d;content:"Joined: ";font-weight:600}}.users-container{margin:0 auto;max-width:1400px;padding:140px 40px 40px}.users-header{margin-bottom:32px}.users-header h1{color:#000;font-size:32px;font-weight:700;margin-bottom:8px}.users-subtitle{color:#7f8c8d;font-size:16px;font-weight:600}.success-message{background:#a1c84c;border-radius:12px;color:#fff;font-weight:600;margin-bottom:24px;padding:16px 24px;text-align:center}.error,.loading{color:#7f8c8d;font-size:18px;padding:40px;text-align:center}.error{color:#e74c3c}.users-table-container{background:#fff;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.1);overflow:hidden}.users-table{border-collapse:collapse;width:100%}.users-table thead{background:#f8f9fa}.users-table th{border-bottom:2px solid #ecf0f1;color:#000;font-size:14px;font-weight:700;letter-spacing:.5px;padding:16px;text-align:left;text-transform:uppercase}.users-table td{border-bottom:1px solid #ecf0f1;color:#000;padding:16px}.users-table tbody tr:hover{background:#f8f9fa}.premium-badge{background:#ecf0f1;border-radius:12px;color:#7f8c8d;display:inline-block;padding:4px 12px}.premium-badge.active{background:gold;color:#000}.reset-password-form{align-items:center;display:flex;gap:8px}.password-input{border:2px solid #ecf0f1;border-radius:8px;font-size:14px;padding:8px 12px;width:150px}.password-input:focus{border-color:#a1c84c;outline:none}.btn-cancel,.btn-reset,.btn-save{border:none;border-radius:999px;cursor:pointer;font-size:14px;font-weight:600;padding:8px 16px;transition:all .2s ease;white-space:nowrap}.btn-reset{background:#a1c84c;color:#000}.btn-reset:hover{background:#b5d96a}.btn-save{background:#a1c84c;color:#fff}.btn-save:hover{background:#8ab53f}.btn-save:disabled{cursor:not-allowed;opacity:.5}.btn-cancel{background:#ecf0f1;color:#7f8c8d}.btn-cancel:hover{background:#bdc3c7}@media (max-width:768px){.users-container{padding:140px 20px 40px}.users-table-container{overflow-x:auto}.users-table{min-width:800px}.users-header h1{font-size:24px}.reset-password-form{align-items:stretch;flex-direction:column}.password-input{width:100%}}.drawer-overlay{animation:fadeIn .2s ease;background:rgba(0,0,0,.4);bottom:0;left:0;position:fixed;right:0;top:0;z-index:9998}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.navigation-drawer{background:linear-gradient(180deg,#eef7dd,#e6f1d0);box-shadow:-3px 0 16px rgba(0,0,0,.12);display:flex;flex-direction:column;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif;height:100vh;position:fixed;right:0;top:0;transform:translateX(calc(100% + 8px));transition:transform .22s cubic-bezier(.22,1,.36,1);width:380px;z-index:9999}.navigation-drawer.open{transform:translateX(0)}.drawer-header{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:hsla(0,0%,100%,.6);border-bottom:1px solid hsla(0,0%,100%,.5);box-shadow:0 1px 3px rgba(0,0,0,.04);justify-content:space-between;padding:14px 20px}.drawer-header,.drawer-logo{align-items:center;display:flex}.drawer-logo-image{filter:drop-shadow(0 1px 2px rgba(0,0,0,.1));height:40px;width:auto}.drawer-close{align-items:center;background:#fff;border:1px solid rgba(0,0,0,.06);border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.06);color:#7f8c8d;cursor:pointer;display:flex;font-size:16px;height:36px;justify-content:center;transition:all .2s ease;width:36px}.drawer-close:hover{background:#f5f5f5;border-color:rgba(0,0,0,.1);transform:scale(1.05)}.drawer-nav{flex:1 1;overflow-x:hidden;overflow-y:auto;padding:8px 20px 24px}.menu-section-label{border-top:1px solid hsla(0,0%,100%,.6);color:#5a8a2a;font-size:13px;font-weight:600;letter-spacing:.5px;margin:20px 0 6px 4px;padding-top:16px;text-transform:uppercase}.menu-section-label:first-child{border-top:none;margin-top:4px;padding-top:0}.drawer-item{align-items:center;background:#fff;border:1px solid hsla(0,0%,100%,.8);border-radius:16px;box-shadow:0 2px 6px rgba(0,0,0,.06);color:#2c3e50;cursor:pointer;display:flex;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;font-weight:500;gap:12px;margin-bottom:8px;padding:12px 18px 12px 16px;text-align:left;transition:all .15s ease;width:100%}.drawer-item:after{color:rgba(0,0,0,.35);content:"›";font-size:24px;margin-left:auto;transition:transform .15s ease}.drawer-item:hover{background:#f0f4ea;border-color:rgba(161,200,76,.25);box-shadow:0 2px 6px rgba(0,0,0,.06)}.drawer-item:hover:after{transform:translateX(2px)}.drawer-item:active{border-color:rgba(0,0,0,.1);transform:scale(.99)}.drawer-icon-circle{align-items:center;background:#f4f7de;border-radius:50%;display:flex;flex-shrink:0;font-size:16px;height:36px;justify-content:center;transition:transform .15s ease;width:36px}.drawer-item:hover .drawer-icon-circle{transform:scale(1.03)}.drawer-icon-circle.logout-icon{background:#f5f5f5}.drawer-divider{background:transparent;height:1px;margin:8px 0}.family-section{background:#fff;border:1px solid hsla(0,0%,100%,.8);border-radius:16px;box-shadow:0 2px 6px rgba(0,0,0,.06);margin:8px 0;padding:14px 16px}.family-section-header{color:#5a8a2a;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;font-weight:600;letter-spacing:.5px;margin-bottom:12px;padding:0 4px;text-transform:uppercase}.family-list{display:flex;flex-direction:column;gap:8px}.family-member-row{align-items:center;background:#fafcf6;border:1px solid rgba(0,0,0,.04);border-radius:12px;display:flex;gap:10px;padding:10px 14px;transition:all .15s ease}.family-member-row:hover{background:#fefffe;border-color:rgba(161,200,76,.2);box-shadow:0 1px 4px rgba(0,0,0,.06)}.family-member-row:active{border-color:rgba(0,0,0,.1);transform:scale(.99)}.family-member-avatar{align-items:center;border-radius:50%;box-shadow:0 2px 4px rgba(0,0,0,.08);display:flex;flex-shrink:0;font-size:16px;height:32px;justify-content:center;width:32px}.family-member-photo{border-radius:50%;height:100%;object-fit:cover;width:100%}.family-member-checkbox{appearance:none;-webkit-appearance:none;background:#fff;border:2px solid #d1d5db;border-radius:50%;cursor:pointer;flex-shrink:0;height:20px;position:relative;transition:all .2s ease;width:20px}.family-member-checkbox:checked{background:#8fb539;border-color:#8fb539}.family-member-checkbox:checked:after{color:#fff;content:"✓";font-size:12px;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.family-member-name{color:#2c3e50;flex:1 1;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;font-weight:500;transition:all .2s ease}.family-member-row.clickable{cursor:pointer}.family-member-row.clickable:hover{background:#f0f7e6;border-color:rgba(161,200,76,.3)}.family-member-edit-hint{font-size:14px;opacity:.4;transition:opacity .15s ease}.family-member-row.clickable:hover .family-member-edit-hint{opacity:.8}.family-edit-row{background:transparent;border:none;margin-top:8px;padding:0}.family-edit-row:hover{background:transparent;border-color:transparent;box-shadow:none}.family-edit-row:active{transform:none}.family-edit-link{align-items:center;background:#fafcf6;border:1px solid rgba(0,0,0,.04);border-radius:12px;color:#5a8a2a;cursor:pointer;display:flex;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px;font-weight:500;gap:8px;padding:10px 14px;text-align:left;transition:all .15s ease;width:100%}.family-edit-link:hover{background:#fefffe;border-color:rgba(161,200,76,.25);box-shadow:0 1px 4px rgba(0,0,0,.06);color:#8fb539}.family-edit-link:active{border-color:rgba(0,0,0,.1);transform:scale(.99)}.family-edit-icon{font-size:14px;opacity:.8}.family-empty{padding:16px 8px;text-align:center}.family-empty p{color:#6b7280;margin:0 0 12px}.family-add-button,.family-empty p{font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif;font-size:13px}.family-add-button{background:#8fb539;border:none;border-radius:16px;color:#fff;cursor:pointer;font-weight:600;padding:12px 20px;transition:all .15s ease}.family-add-button:hover{background:#7ba23a;box-shadow:0 4px 8px rgba(143,181,57,.2);transform:translateY(-1px)}.family-add-button:active{transform:scale(.99)}.settings-section{background:#fff;border:1px solid hsla(0,0%,100%,.8);border-radius:16px;box-shadow:0 2px 6px rgba(0,0,0,.06);margin:12px 0;padding:12px 14px}.settings-section .drawer-item{background:#fafcf6;box-shadow:none;margin-bottom:4px}.settings-section .drawer-item:last-child{margin-bottom:0}.admin-toggle{position:relative}.admin-status{background:hsla(93,22%,90%,.8);border-radius:12px;color:#5a8a2a;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif;font-size:10px;font-weight:700;letter-spacing:.5px;margin-left:auto;padding:4px 10px;transition:all .2s ease}.admin-status.active{background:#8fb539;color:#fff}.drawer-item.logout{background:#fafbf9;color:#7f8c8d;margin-top:8px}.drawer-item.logout:hover{background:#f5f5f5;border-color:rgba(0,0,0,.08);box-shadow:0 1px 4px rgba(0,0,0,.06);color:#6b7280}.drawer-premium{display:flex;justify-content:center;margin:12px 0;padding:0}.premium-badge{align-items:center;background:linear-gradient(135deg,#ffc107,#ffb300);box-shadow:0 2px 8px rgba(255,193,7,.3);color:#fff;display:inline-flex;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif;font-weight:600;gap:6px;padding:10px 16px}@media (max-width:480px){.navigation-drawer{transform:translateX(calc(100% + 8px));width:100%}.drawer-header{padding:12px 16px}.drawer-logo-image{height:32px}.drawer-nav{padding:8px 16px 100px}.drawer-item{font-size:14px;padding:11px 16px 11px 14px}.drawer-icon-circle{font-size:15px;height:34px;width:34px}}.family-dialog-overlay{animation:fadeIn .3s ease;background:rgba(0,0,0,.5);bottom:0;left:0;position:fixed;right:0;top:0;z-index:9998}.family-dialog{animation:slideUp .3s ease;background:#fff;border-radius:20px;box-shadow:0 10px 40px rgba(0,0,0,.2);display:flex;flex-direction:column;left:50%;max-height:80vh;max-width:600px;position:fixed;top:50%;transform:translate(-50%,-50%);width:90%;z-index:9999}@keyframes slideUp{0%{opacity:0;transform:translate(-50%,-45%)}to{opacity:1;transform:translate(-50%,-50%)}}.family-dialog-header{align-items:center;border-bottom:1px solid rgba(0,0,0,.06);display:flex;justify-content:space-between;padding:18px 24px}.family-dialog-header h2{color:#000;font-size:24px;margin:0}.family-dialog-close{align-items:center;background:none;border:none;border-radius:50%;color:#000;cursor:pointer;display:flex;font-size:24px;height:40px;justify-content:center;transition:background .2s ease;width:40px}.family-dialog-close:hover{background:#ecf0f1}.family-dialog-content{flex:1 1;overflow-y:auto;padding:24px}.family-members-gallery{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));margin-bottom:16px}.family-member-card-gallery{align-items:center;background:#fff;border:1px solid rgba(0,0,0,.03);border-radius:24px;box-shadow:0 4px 12px rgba(0,0,0,.05);cursor:pointer;display:flex;flex-direction:column;font-family:inherit;gap:4px;padding:16px 14px 14px;position:relative;text-align:center;transition:all .2s ease}.family-member-card-gallery:hover{box-shadow:0 8px 20px rgba(0,0,0,.12);transform:translateY(-2px)}.family-member-card-gallery:focus{outline:2px solid #a1c84c;outline-offset:4px}.family-member-card-gallery:active{box-shadow:0 4px 12px rgba(0,0,0,.08);transform:translateY(0)}.edit-member-label{color:#7fa239;font-size:12px;font-weight:500;margin-top:2px}.delete-member-button-gallery{align-items:center;background:#a1c84c;border:none;border-radius:50%;color:#000;cursor:pointer;display:flex;height:28px;justify-content:center;padding:0;position:absolute;right:8px;top:8px;transition:all .2s ease;width:28px;z-index:10}.delete-member-button-gallery:hover{background:#8ab53f;transform:scale(1.1)}.delete-member-button-gallery:active{transform:scale(.95)}.family-member-avatar-gallery{align-items:center;border-radius:50%;box-shadow:0 2px 8px rgba(0,0,0,.1);display:flex;flex-shrink:0;font-size:28px;height:60px;justify-content:center;width:60px}.family-member-photo-gallery{border-radius:50%;height:100%;object-fit:cover;width:100%}.family-member-name-gallery{color:#1c2734;font-size:15px;font-weight:600;margin:2px 0 0;text-align:center;word-break:break-word}.member-details{display:flex;gap:12px;margin-bottom:12px}.member-age,.member-allergies{color:#7f8c8d;font-size:14px;font-weight:600}.member-allergies{color:#a1c84c}.member-tags{color:#000;font-size:13px;margin-top:8px}.member-tags strong{display:inline-block;margin-right:4px}.btn-add-member{margin-top:16px;width:100%}.empty-state{padding:40px 20px}.empty-state p{color:#7f8c8d;font-size:16px;margin-bottom:20px}.add-member-container{border-top:1px solid rgba(0,0,0,.04);display:flex;justify-content:center;margin-top:16px;padding-top:16px}.btn-add-member-centered{align-items:center;background:#a1c84c;border:none;border-radius:999px;box-shadow:0 2px 8px rgba(161,200,76,.25);color:#fff;cursor:pointer;display:flex;font-family:OpenRunde,-apple-system,BlinkMacSystemFont,sans-serif;font-size:15px;font-weight:600;gap:8px;justify-content:center;padding:14px 32px;transition:all .15s ease}.btn-add-member-centered:hover{background:#8fb640;box-shadow:0 4px 12px rgba(161,200,76,.35)}.btn-add-member-centered:active{transform:scale(.98)}.add-member-icon{font-size:20px;font-weight:700;line-height:1}@media (max-width:480px){.family-dialog{max-height:85vh;width:95%}.family-dialog-header{padding:16px 20px}.family-dialog-header h2{font-size:20px}.family-dialog-content{padding:16px}.add-member-container{padding-left:0;padding-right:0;width:100%}.btn-add-member-centered{max-width:280px;width:85%}}.feedback-button{align-items:center;background:#222;border:2px solid #fff;border-radius:50%;box-shadow:0 4px 4px 0 rgba(0,0,0,.25);cursor:pointer;display:flex;flex-shrink:0;font-size:22px;height:44px;justify-content:center;transition:all .2s ease;width:44px}@media (max-width:768px){.feedback-button{display:none}}.feedback-button:hover{box-shadow:0 6px 8px 0 rgba(0,0,0,.3);transform:scale(1.05)}.feedback-modal-backdrop{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(0,0,0,.7);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.feedback-modal-content{animation:slideUpModal .4s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.3);max-width:500px;padding:32px;position:relative;width:90%}.feedback-modal-close{align-items:center;background:#ecf0f1;border:none;border-radius:50%;color:#000;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s ease;width:32px}.feedback-modal-close:hover{background:#bdc3c7;transform:scale(1.05)}.feedback-modal-title{color:#000;font-size:24px;font-weight:700;margin:0 0 8px}.feedback-modal-subtitle{color:#7f8c8d;font-size:14px;line-height:1.5;margin:0 0 24px}.feedback-type-selector{display:flex;gap:8px;margin-bottom:20px}.feedback-type-btn{align-items:center;background:#fff;border:2px solid #ecf0f1;border-radius:12px;color:#7f8c8d;cursor:pointer;display:flex;flex:1 1;font-size:14px;font-weight:600;gap:6px;justify-content:center;padding:12px 16px;transition:all .2s ease}.feedback-type-btn:hover{background:#f8fbf4;border-color:#a1c84c;color:#000}.feedback-type-btn.active{background:#a1c84c;border-color:#a1c84c;color:#fff}.feedback-form{display:flex;flex-direction:column;gap:16px}.feedback-textarea{border:2px solid #ecf0f1;border-radius:12px;color:#000;font-family:inherit;font-size:14px;min-height:150px;padding:16px;resize:vertical;transition:all .2s ease;width:100%}.feedback-textarea:focus{background:#f8fbf4;border-color:#a1c84c;outline:none}.feedback-textarea::placeholder{color:#bdc3c7}.feedback-textarea:disabled{background:#f8f9fa;cursor:not-allowed}.feedback-success{background:#d4edda;border:1px solid #c3e6cb;border-radius:8px;color:#155724;font-size:14px;font-weight:600;padding:12px 16px;text-align:center}.feedback-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:8px}.btn-feedback-cancel{background:#fff;border:2px solid #ecf0f1;border-radius:12px;color:#7f8c8d;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-feedback-cancel:hover:not(:disabled){border-color:#bdc3c7;color:#000}.btn-feedback-cancel:disabled{cursor:not-allowed;opacity:.5}.btn-feedback-submit{background:#a1c84c;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;padding:12px 24px;transition:all .2s ease}.btn-feedback-submit:hover:not(:disabled){background:#8fb63d;box-shadow:0 4px 8px rgba(161,200,76,.3);transform:translateY(-1px)}.btn-feedback-submit:disabled{cursor:not-allowed;opacity:.5}.account-modal-backdrop{align-items:center;animation:fadeIn .3s ease;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:rgba(0,0,0,.7);bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.account-modal-content{animation:slideUpModal .4s cubic-bezier(.16,1,.3,1);background:#fff;border-radius:16px;box-shadow:0 12px 40px rgba(0,0,0,.3);max-width:500px;padding:32px;position:relative;width:90%}@keyframes slideUpModal{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.account-modal-close{align-items:center;background:#ecf0f1;border:none;border-radius:50%;color:#000;cursor:pointer;display:flex;font-size:20px;height:32px;justify-content:center;position:absolute;right:16px;top:16px;transition:all .2s ease;width:32px}.account-modal-close:hover{background:#bdc3c7;transform:scale(1.05)}.account-modal-title{color:#000;font-size:24px;font-weight:700;margin:0 0 8px}.account-modal-subtitle{color:#7f8c8d;font-size:14px;margin:0 0 24px}.account-tabs{border-bottom:2px solid #ecf0f1;display:flex;gap:8px;margin-bottom:24px}.account-tab{background:none;border:none;border-bottom:2px solid transparent;color:#7f8c8d;cursor:pointer;flex:1 1;font-size:14px;font-weight:600;margin-bottom:-2px;padding:12px 16px;position:relative;transition:all .2s ease}.account-tab:hover{color:#000}.account-tab.active{border-bottom-color:#a1c84c;color:#a1c84c}.account-message{border-radius:8px;font-size:14px;font-weight:600;margin-bottom:20px;padding:12px 16px;text-align:center}.account-message.success{background:#d4edda;border:1px solid #c3e6cb;color:#155724}.account-message.error{background:#f8d7da;border:1px solid #f5c6cb;color:#721c24}.account-form{gap:16px}.account-form,.form-group{display:flex;flex-direction:column}.form-group{gap:8px}.form-group label{color:#000;font-size:14px;font-weight:600}.form-group input{border:2px solid #ecf0f1;border-radius:12px;box-sizing:border-box;color:#000;font-family:inherit;font-size:14px;padding:12px 16px;transition:all .2s ease;width:100%}.form-group input:focus{background:#f8fbf4;border-color:#a1c84c;outline:none}.form-group input:disabled{background:#f8f9fa;cursor:not-allowed;opacity:.6}.form-group input::placeholder{color:#bdc3c7}.disabled-input{background:#f8f9fa!important;color:#95a5a6!important;cursor:not-allowed!important}.btn-account-submit{background:#a1c84c;border:none;border-radius:12px;color:#fff;cursor:pointer;font-size:14px;font-weight:600;margin-top:8px;padding:12px 24px;transition:all .2s ease}.btn-account-submit:hover:not(:disabled){background:#8fb63d;box-shadow:0 4px 8px rgba(161,200,76,.3);transform:translateY(-1px)}.btn-account-submit:disabled{cursor:not-allowed;opacity:.5}@media (max-width:480px){.account-modal-content{padding:24px}.account-modal-title{font-size:20px}.account-tab{font-size:13px;padding:10px 12px}}@font-face{font-display:swap;font-family:OpenRunde;font-style:normal;font-weight:400;src:url(/static/media/OpenRunde-Regular.3a2561edba0b51c5bd0e.woff2) format("woff2"),url(/static/media/OpenRunde-Regular.583467e0911eea417339.woff) format("woff"),url(/static/media/OpenRunde-Regular.d2d31a34774bec45670d.otf) format("opentype")}@font-face{font-display:swap;font-family:OpenRunde;font-style:normal;font-weight:500;src:url(/static/media/OpenRunde-Medium.8a6f88327a90b338a57c.woff2) format("woff2"),url(/static/media/OpenRunde-Medium.28086fe85e24b818fdf8.woff) format("woff"),url(/static/media/OpenRunde-Medium.78b4889b387053be5979.otf) format("opentype")}@font-face{font-display:swap;font-family:OpenRunde;font-style:normal;font-weight:600;src:url(/static/media/OpenRunde-Semibold.5c645db5c725ae4290bb.woff2) format("woff2"),url(/static/media/OpenRunde-Semibold.81daffde9cd47604bd03.woff) format("woff"),url(/static/media/OpenRunde-Semibold.ca8d3e387448b44fbb32.otf) format("opentype")}@font-face{font-display:swap;font-family:OpenRunde;font-style:normal;font-weight:700;src:url(/static/media/OpenRunde-Bold.30ce13955c3f8819dea7.woff2) format("woff2"),url(/static/media/OpenRunde-Bold.17a61d7efec84d420dbd.woff) format("woff"),url(/static/media/OpenRunde-Bold.316a21888d69a8ee4a82.otf) format("opentype")}@font-face{font-display:swap;font-family:Winkie;font-style:normal;font-weight:400;src:url(/static/media/Winkie.62950b96e4793f99070b.otf) format("opentype")}*{box-sizing:border-box;margin:0;padding:0}html{overscroll-behavior:none;overscroll-behavior-x:none}:root{--primary-color:#a1c84c;--secondary-color:#4ecdc4;--success-color:#a1c84c;--danger-color:#a1c84c;--warning-color:#f5e638;--dark:#2c3e50;--gray:#7f8c8d;--light-gray:#ecf0f1;--background:#f8f9fa;--white:#fff;--shadow:0 4px 6px rgba(0,0,0,.1);--shadow-lg:0 10px 25px rgba(0,0,0,.15);--border-radius:50px;--transition:all 0.3s ease}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8f9fa;background-color:var(--background);color:#2c3e50;color:var(--dark);font-family:OpenRunde,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;overscroll-behavior:none;overscroll-behavior-x:none;touch-action:pan-y}.app,body{overflow-x:hidden}.app{display:flex;flex-direction:column;min-height:100vh;overscroll-behavior-x:none}.announcement-banner{align-items:center;background-color:#a1c84c;box-shadow:0 2px 4px rgba(0,0,0,.1);color:#000;display:flex;font-size:14px;font-weight:600;height:32px;justify-content:center;padding:8px 16px;text-align:center}main{flex:1 1;overflow-x:hidden;overflow-y:visible;padding-top:0}input,select,textarea{font-size:16px}.container{margin:0 auto;max-width:500px;min-height:100vh;padding:20px}.btn{align-items:center;border:none;border-radius:50px;border-radius:var(--border-radius);box-shadow:0 4px 6px rgba(0,0,0,.1);box-shadow:var(--shadow);cursor:pointer;display:inline-flex;font-size:16px;font-weight:600;gap:8px;justify-content:center;padding:14px 24px;text-decoration:none;transition:all .3s ease;transition:var(--transition);width:100%}.btn:active{transform:scale(.98)}.btn-primary{background:linear-gradient(135deg,#a1c84c,#b5d96a);background:linear-gradient(135deg,var(--primary-color),#b5d96a);color:#000}.btn-secondary{background:#ecf0f1;background:var(--light-gray);color:#000}.btn-success{background:#a1c84c;background:var(--success-color);color:#000}.btn-danger{background:#a1c84c;background:var(--danger-color);color:#000}.btn:disabled{cursor:not-allowed;opacity:.6}.input-group{margin-bottom:20px}.input-group label{color:#2c3e50;color:var(--dark);display:block;font-size:14px;font-weight:600;margin-bottom:8px}.input-group input,.input-group select,.input-group textarea{background:#fff;background:var(--white);border:2px solid #ecf0f1;border:2px solid var(--light-gray);border-radius:50px;border-radius:var(--border-radius);font-size:16px;padding:14px;transition:all .3s ease;transition:var(--transition);width:100%}.input-group input:focus,.input-group select:focus,.input-group textarea:focus{border-color:#a1c84c;border-color:var(--primary-color);outline:none}.input-group textarea{min-height:100px;resize:vertical}.card{background:#fff;background:var(--white);border-radius:50px;border-radius:var(--border-radius);box-shadow:0 4px 6px rgba(0,0,0,.1);box-shadow:var(--shadow);margin-bottom:20px;padding:20px}.app-header{display:none}.header-bar{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:hsla(0,0%,100%,.8);height:0;left:0;overflow:hidden;position:fixed;right:0;top:32px;transition:height .3s ease,box-shadow .3s ease;z-index:100}.header-bar.scrolled{height:84px}@keyframes fadeSlideDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.logo{align-items:center;animation:fadeSlideDown .6s ease-out .1s both;display:flex;justify-content:flex-start;left:40px;position:fixed;top:52px;transition:top .3s ease;z-index:101}.logo-image{display:block;filter:drop-shadow(0 3px 2px rgba(0,0,0,.1));height:52px;width:auto}.nav-container{align-items:center;animation:fadeSlideDown .6s ease-out .2s both;display:flex;gap:12px;position:fixed;right:40px;top:52px;z-index:999}.nav-divider{background:rgba(0,0,0,.15);flex-shrink:0;height:24px;width:1px}.hamburger-button{align-items:center;background:#222;border:2px solid #fff;border-radius:50%;box-shadow:0 4px 4px 0 rgba(0,0,0,.25);cursor:pointer;display:flex;flex-direction:column;flex-shrink:0;gap:4px;height:44px;justify-content:center;padding:0;transition:all .2s ease;width:44px}.hamburger-button:hover{box-shadow:0 6px 8px 0 rgba(0,0,0,.3);transform:scale(1.05)}.hamburger-line{background:#fff;border-radius:3px;height:3px;transition:all .3s ease;transition:var(--transition);width:20px}.premium-badge{background:linear-gradient(135deg,#f5e638,#e8d830);border-radius:16px;color:#000;font-size:12px;font-weight:700;padding:6px 12px}.loading{align-items:center;display:flex;flex-direction:column;gap:24px;justify-content:center;min-height:400px;padding:40px}.loading p{animation:fadeInOut 2s ease-in-out infinite;color:#000;font-size:18px;font-weight:600;margin:0;text-align:center}.spinner{animation:spin .8s linear infinite;border:5px solid #fff9e6;border-radius:50%;border-top-color:#a1c84c;box-shadow:0 4px 12px rgba(245,230,56,.3);height:60px;width:60px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}@keyframes fadeInOut{0%,to{opacity:.6}50%{opacity:1}}.alert{border-radius:50px;border-radius:var(--border-radius);font-size:14px;margin-bottom:20px;padding:14px}.alert-error{background:#d5f4e6;border:1px solid #27ae60;color:#000}.alert-success{background:#e5ffe5;border:1px solid #a1c84c;border:1px solid var(--success-color);color:#a1c84c;color:var(--success-color)}.alert-info{background:#e5f3ff;border:1px solid #2196f3;color:#2196f3}.tags{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0}.tag{background:#ecf0f1;background:var(--light-gray);border-radius:20px;color:#2c3e50;color:var(--dark);font-size:12px;font-weight:600;padding:6px 12px}.tag.tag-primary{background:#a1c84c;background:var(--primary-color);color:#fff;color:var(--white)}.tag.tag-success{background:#a1c84c;background:var(--success-color);color:#fff;color:var(--white)}.empty-state{color:#7f8c8d;color:var(--gray);padding:60px 20px;text-align:center}.empty-state h3{font-size:20px;margin-bottom:12px}.empty-state p{font-size:14px;margin-bottom:24px}.text-center{text-align:center}.text-muted{color:#7f8c8d;color:var(--gray)}.mt-20{margin-top:20px}.mb-20{margin-bottom:20px}.flex{display:flex}.flex-between{justify-content:space-between}.flex-between,.flex-center{align-items:center;display:flex}.flex-center{justify-content:center}.gap-12{gap:12px}.touchable{-webkit-tap-highlight-color:rgba(0,0,0,.1);cursor:pointer;-webkit-user-select:none;user-select:none}.touchable:active{opacity:.8}@supports (padding:max(0px)){.container{padding-left:max(20px,env(safe-area-inset-left));padding-right:max(20px,env(safe-area-inset-right))}.app-header{padding-top:max(16px,env(safe-area-inset-top))}}@media (min-width:769px){.announcement-banner{left:0;position:fixed;right:0;top:0;z-index:1002}main{padding-top:32px}}@media (max-width:768px){.announcement-banner{position:static}.header-bar{display:none}.logo{left:20px;top:40px}.logo.logo-homepage{display:none}.logo.scrollable-nav,.nav-container{position:absolute}.nav-container{right:20px;top:40px}}@media (max-width:480px){.container{padding:16px}.btn{font-size:15px;padding:12px 20px}.app-header{padding:12px 16px}.hamburger-button{height:44px;width:44px}.nav-container{align-items:center;right:16px;top:40px}.hamburger-line{height:4px}.nav-divider{display:none}}@supports (padding-top:env(safe-area-inset-top)){@media (min-width:769px){.announcement-banner{height:calc(32px + env(safe-area-inset-top));padding-top:calc(8px + env(safe-area-inset-top))}main{padding-top:calc(32px + env(safe-area-inset-top))}}}
/*# sourceMappingURL=main.16acc31f.css.map*/