#screen-meal{background:#ECECEC;color:#1c1c1c;font:400 16px/22px 'Avenir Next',sans-serif;}
#screen-meal [hidden]{display:none!important;}
#screen-meal button,#screen-meal input,#screen-meal textarea{font:inherit;}
#screen-meal button{cursor:pointer;-webkit-tap-highlight-color:transparent;}
#screen-meal button:focus-visible{outline:2px solid #ff626a;outline-offset:-2px;}
.meal-header{position:absolute;inset:0 0 auto;height:149px;background:#fff;z-index:10;}
.meal-heading{position:absolute;top:44px;left:0;right:0;height:66px;display:flex;align-items:center;justify-content:space-between;padding:0 10px;}
.meal-heading h1{font-size:16px;letter-spacing:2px;font-weight:700;margin:0;}
.meal-icon{border:0;background:none;width:44px;height:44px;padding:10px;display:grid;place-items:center;}
.meal-icon img{width:20px;height:20px;object-fit:contain;}
.meal-tabs{position:absolute;bottom:0;left:0;right:0;height:55px;display:flex;align-items:center;justify-content:center;gap:28px;}
.meal-tabs button{background:none;border:0;padding:0 0 6px;position:relative;font-weight:700!important;}
.meal-tabs button[aria-selected=true]:after{content:'';position:absolute;bottom:0;left:0;right:0;height:3px;background:#ff626a;}
.meal-scroll{position:absolute;inset:149px 0 70px;overflow:auto;overscroll-behavior:contain;scrollbar-width:none;padding:20px 10px 90px;}
.meal-primary{background:#ff626a;color:#fff;border:0;border-radius:24px;min-height:38px;padding:10px 22px;font-size:11px!important;font-weight:600!important;letter-spacing:1.1px;}
.meal-primary:disabled{background:#aaa;cursor:default!important;}
.meal-floating{position:absolute;bottom:90px;left:68px;width:240px;z-index:12;box-shadow:2px 2px 5px #0002;}
.meal-row{height:120px;border-radius:6px;background:#fff;overflow:hidden;position:relative;margin-bottom:10px;--swipe-x:0px;--delete-width:44px;touch-action:pan-y;}
.meal-row .shop-row-content{height:120px;padding:0;display:block;background:#fff;}
.meal-row-image{width:120px;height:120px;object-fit:cover;display:block;}
.meal-row-open{border:0;background:none;display:block;padding:0;text-align:left;width:100%;height:120px;color:#1c1c1c;}
.meal-row-copy{position:absolute;left:130px;right:10px;top:10px;}
.meal-row-copy strong{display:block;font-family:"Avenir Next Condensed","Arial Narrow",sans-serif;font-size:16px;line-height:21px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.meal-row-copy small{display:block;font-size:10px;font-weight:600;line-height:20px;}
.meal-row-plan{display:block;font-size:12px;font-weight:600;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;}
.meal-made{position:absolute;left:130px;bottom:10px;border:0;padding:0;background:none;display:flex;align-items:center;gap:5px;height:24px;font-size:12px!important;letter-spacing:1.1px;}
.meal-star-strip{display:block;width:74px;height:12px;background:url('assets/meal/stars.svg') center/74px 12px no-repeat;}
.meal-star-strip{position:relative;}
.meal-star-strip.rated:after{content:"";position:absolute;inset:0 auto 0 0;width:calc(var(--rating) * 20%);background:url('assets/meal/stars.svg') left center/74px 12px no-repeat;filter:sepia(1) saturate(8) hue-rotate(315deg);}
.meal-schedule{position:absolute;right:10px;bottom:8px;width:32px;height:32px;border:0;border-radius:50%;background:#ffdbdd;display:grid;place-items:center;padding:8px;}
.meal-schedule img{width:15px;height:16px;}
.meal-date{font-family:"Avenir Next Condensed","Arial Narrow",sans-serif;font-size:20px;line-height:25px;margin:0 0 4px;font-weight:600;}
.meal-type{display:flex;align-items:center;gap:8px;font-weight:600;margin:0 0 10px;}
.meal-type-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;flex:0 0 32px;width:32px;height:26px;transform:scale(.9);transform-origin:center;}
.meal-type-icon img{display:block;width:32px;height:23px;object-fit:contain;}
.meal-type-icon .meal-dinner-plate{top:auto;bottom:3px;left:2px;width:28px;height:3px;border-width:1px;}
.meal-group+.meal-group{margin-top:20px;}
.meal-row .shop-swipe-delete{z-index:0;}
.meal-row .shop-swipe-delete img{width:18px;height:23px;}
.meal-row.deleting{pointer-events:none;}
.meal-row.collapsing{transition:height 180ms ease;}
.meal-scroll:has(>.meal-browse-section){padding-top:0;}
.meal-browse-section{margin:16px -10px 0;}
.meal-browse-section h2{text-align:center;font-size:12px;line-height:16px;font-weight:700;text-transform:uppercase;letter-spacing:1.5px;padding-top:3px;margin:0 0 10px;}
.meal-rail{display:flex;overflow-x:auto;gap:10px;padding:0 48px;scrollbar-width:none;overscroll-behavior-x:contain;}
.meal-plan-card{position:relative;flex:0 0 280px;height:280px;border:0;border-radius:6px;overflow:hidden;padding:0;color:white;background:#C9C9C9;text-align:center;}
.meal-plan-card>img{width:100%;height:100%;object-fit:cover;}
.meal-plan-card-copy{position:absolute;inset:95px 0 0;background:linear-gradient(transparent,#0009);display:flex;flex-direction:column;align-items:center;justify-content:flex-end;padding:12px 10px;}
.meal-plan-card-copy strong{font-size:20px;line-height:24px;font-weight:700;margin-bottom:12px;}
.meal-plan-card-copy small{font-size:13px;font-weight:700;letter-spacing:1px;}
.meal-plan-card-copy .meal-brand{display:block;width:60px;height:60px;object-fit:contain;border-radius:50%;margin:0 0 10px;}
.meal-detail{margin:-20px -10px 0;}
.meal-detail-hero{height:235px;width:100%;object-fit:cover;}
.meal-detail-summary{position:relative;margin:-70px 18px 28px;background:white;border-radius:6px;text-align:center;padding:20px 18px;}
.meal-eyebrow{font-size:14px;font-weight:700;letter-spacing:1.4px;}
.meal-detail-summary h2{font-size:20px;line-height:25px;}
.meal-chefs{display:flex;gap:12px;justify-content:center;font-size:13px;align-items:center;}
.meal-chefs img{width:32px;height:32px;border-radius:50%;}
.meal-detail-summary p{font-size:16px;line-height:22px;}
.meal-detail-summary small{display:block;margin-top:16px;color:#888;font-size:12px;font-weight:600;}
.meal-detail-section h3{text-align:center;font-size:18px;line-height:24px;margin:28px 0 18px;}
.meal-detail-section .meal-rail{gap:20px;padding:0 58px;}
.meal-recipe-card{position:relative;flex:0 0 260px;height:355px;background:#fff;border-radius:6px;overflow:hidden;}
.meal-recipe-card>img{width:260px;height:195px;object-fit:cover;}
.meal-recipe-copy{padding:10px;}
.meal-recipe-copy h4{font-size:20px;line-height:25px;margin:0 0 10px;}
.meal-recipe-copy p{margin:0;font-weight:600;}
.meal-recipe-copy small{display:block;font-size:12px;margin-top:10px;color:#888;}
.meal-add-recipe{position:absolute;right:10px;top:143px;width:42px;height:42px;border:0;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0002;color:#ff626a;display:grid;place-items:center;font-size:24px!important;}
.meal-add-recipe img{width:22px;height:22px;}
.meal-overlay{position:absolute;inset:0;background:#0009;z-index:65;display:flex;align-items:flex-end;justify-content:center;}
.meal-dialog{position:relative;width:100%;background:white;border-radius:10px 10px 0 0;padding:28px 20px 35px;max-height:710px;overflow:auto;}
.meal-dialog:before{content:'';position:absolute;top:9px;left:calc(50% - 10px);width:20px;height:3px;border-radius:2px;background:#c8c8c8;}
.meal-dialog h2{text-align:center;font-size:14px;letter-spacing:1.7px;margin:0 0 24px;line-height:20px;}
.meal-dialog h3{font-size:20px;line-height:27px;text-align:center;margin:12px 20px 22px;}
.meal-dialog button{border:0;}
.meal-dialog-cancel{border:0;box-shadow:none;position:absolute;right:12px;top:22px;background:none;color:#ff626a;font-size:15px!important;font-weight:700!important;}
.meal-menu-button{display:block;width:100%;background:none;text-align:left;min-height:52px;font-weight:700!important;letter-spacing:1.8px;}
.meal-week{display:flex;align-items:center;justify-content:space-between;padding:0 36px;font-size:14px;font-weight:600;margin-bottom:12px;}
.meal-week button{width:35px;height:32px;background:none;}
.meal-week img{width:8px;height:14px;}
.meal-week button:last-child img{transform:rotate(180deg);}
.meal-dates{display:grid;grid-template-columns:repeat(7,1fr);gap:2px;text-align:center;margin-bottom:28px;}
.meal-date-button{background:none;padding:0;display:grid;place-items:center;gap:14px;}
.meal-date-button strong{font-size:16px;}
.meal-date-button span{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;}
.meal-date-button.today span{box-shadow:inset 0 0 0 3px #ffdbdd;}
.meal-date-button[aria-pressed=true] span{background:#ff626a;color:#fff;}
.meal-types{display:flex;justify-content:space-between;margin:0 0 24px;}
.meal-types button{position:relative;width:70px;height:86px;background:none;padding-top:26px;font-size:12px!important;font-weight:700!important;}
.meal-types button:before{content:'';position:absolute;inset:16px 0 0;border-radius:50%;background:#ffdbdd;z-index:0;}
.meal-types button[aria-pressed=true]:before{background:#ff626a;}
.meal-types button[aria-pressed=true]{color:#fff;}
.meal-types img{position:absolute;top:0;left:13px;width:44px;height:38px;object-fit:contain;}
.meal-types span{position:relative;}
.meal-drawer-done{background:#ff626a;color:#fff;width:calc(100% + 40px);margin:0 -20px -35px;height:60px;font-size:15px!important;letter-spacing:1.5px;font-weight:600!important;}
.meal-drawer-done:disabled{background:#aaa;}
.meal-unschedule{display:block;background:none;color:#ff626a;margin:0 auto 15px;font-size:12px!important;}
.meal-stars{display:flex;justify-content:center;gap:12px;margin:24px 0;}
.meal-stars button{width:32px;height:32px;padding:0;background:none;}
.meal-stars img{width:100%;height:100%;}
.meal-stars button[aria-pressed=true]{filter:sepia(1) saturate(8) hue-rotate(315deg);}
.meal-review{width:100%;min-height:110px;border:1px solid #ddd;border-radius:4px;padding:10px;margin-bottom:20px;}
.meal-toast{position:absolute;bottom:140px;left:12px;right:12px;border-radius:9px;background:#a5e5f5;box-shadow:0 2px 4px #0002;padding:12px;z-index:70;display:flex;align-items:center;gap:8px;font-size:14px;}
#meal-shopping[hidden] + .meal-toast{bottom:40px;}
.meal-toast button{margin-left:auto;border:0;background:none;white-space:nowrap;font-size:12px!important;font-weight:600!important;letter-spacing:1px;}
.phone-shell:has(#meal-overlay:not([hidden])) #shared-nav{visibility:hidden;}
.phone-shell:has(#meal-overlay:not([hidden])) .system-status{opacity:.4;}
.meal-selection{display:flex;align-items:center;gap:10px;background:#fff;padding:10px;margin-bottom:10px;border-radius:6px;}
.meal-selection input{appearance:none;width:22px;height:22px;flex:none;border:1px solid #ff626a;border-radius:50%;}
.meal-selection input:checked{background:url('assets/shopping/recipe-check-selected.svg') center/cover;}
.meal-selection img{width:70px;height:70px;object-fit:cover;border-radius:5px;}
.meal-selection strong{font-size:16px;line-height:21px;}
.meal-selection-all{display:flex;gap:10px;align-items:center;margin-bottom:16px;font-weight:600;}
.meal-help{text-align:center;background:#ffd2c8 url('assets/meal/empty.png.webp') center bottom/100% auto no-repeat;padding:60px 24px 210px;min-height:550px;}
.meal-help h2{font-size:30px;line-height:33px;letter-spacing:0;}
.meal-help p{font-size:18px;line-height:25px;}
.meal-help .meal-dialog-cancel{color:#333;}
#profile-meal-count{position:absolute;left:33px;top:335px;width:87px;height:22px;border-radius:14px;background:white;color:#ff626a;font:600 11px/22px 'Avenir Next',sans-serif;text-align:center;pointer-events:none;}
.meal-one-star{display:block;width:32px;height:32px;overflow:hidden;}
.meal-stars .meal-one-star img{display:block;width:197px;height:32px;max-width:none;}
.meal-preview-image{width:100%;height:190px;object-fit:cover;border-radius:6px;}
.meal-preview-chef{text-align:center;}
.meal-visually-hidden{position:absolute!important;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);}
.meal-share-text{height:240px;}

/* Schedule sheet: 375 × 812 Figma canvas, shared by all recipe cards. */
.meal-overlay:has(.meal-schedule-dialog){background:rgb(0 0 0 / 65%);}
.meal-schedule-dialog{height:535px;max-height:100%;padding:0;overflow:auto;}
.meal-schedule-dialog:before{top:14px;height:4px;}
.meal-schedule-dialog h2{position:absolute;top:30px;left:60px;right:60px;margin:0;font-size:14px;line-height:19px;font-weight:700;letter-spacing:2px;}
.meal-schedule-dialog .meal-dialog-cancel{top:22px;right:10px;height:36px;padding:0 6px;font-size:14px!important;font-weight:600!important;}
.meal-schedule-photo{position:absolute;top:66px;left:calc(50% - 40px);width:80px;height:80px;object-fit:cover;border-radius:6px;}
.meal-schedule-dialog h3{position:absolute;top:154px;left:calc(50% - 140px);width:280px;margin:0;font-family:'Avenir Next Condensed','Arial Narrow',sans-serif;font-size:20px;font-weight:600;line-height:27px;}
.meal-schedule-dialog .meal-week{position:absolute;top:211px;left:60px;right:60px;height:38px;padding:0;margin:0;font-size:14px;font-weight:600;white-space:nowrap;}
.meal-schedule-dialog .meal-week button{flex:none;width:32px;height:38px;padding:10px;}
.meal-schedule-dialog .meal-dates{position:absolute;top:264px;left:11px;right:11px;gap:0;margin:0;justify-content:space-between;grid-template-columns:repeat(7,40px);}
.meal-schedule-dialog .meal-date-button{position:relative;gap:3px;color:#1c1c1c;}
.meal-schedule-dialog .meal-date-button strong{font-size:10px;line-height:14px;color:#000;}
.meal-schedule-dialog .meal-date-button span{width:40px;height:40px;font-size:16px;font-weight:600;box-shadow:none;}
.meal-schedule-dialog .meal-date-button.today:after{content:'';position:absolute;top:19px;left:17px;width:6px;height:6px;background:#ff626a;border-radius:50%;}
.meal-schedule-dialog .meal-date-button.today[aria-pressed=true]:after{background:white;}
.meal-schedule-dialog .meal-types{position:absolute;top:361px;left:21px;right:22px;gap:16px;margin:0;}
.meal-schedule-dialog .meal-types button{flex:1;min-width:0;width:71px;height:74px;padding:0;border:1px solid #ff626a;border-radius:4px;background:white;color:black;}
.meal-schedule-dialog .meal-types button:before{display:none;}
.meal-schedule-dialog .meal-types button[aria-pressed=true]{background:#ff626a;color:white;}
.meal-schedule-dialog .meal-types span{position:absolute;top:53px;left:0;right:0;font-size:8px;line-height:12px;letter-spacing:1.5px;font-weight:700;text-transform:uppercase;}
.meal-schedule-dialog .meal-types .meal-course-art{top:15px;left:calc(50% - 21px);width:42px;height:31px;}
.meal-schedule-dialog .meal-types [data-type=Dinner] .meal-course-art{width:47px;left:calc(50% - 23.5px);}
.meal-dinner-plate{position:absolute;top:40px;left:calc(50% - 20px);width:40px;height:4px;border:1.5px solid black;border-radius:4px;background:#89caf7;}
.meal-schedule-dialog .meal-types .meal-course-check{display:none;top:-11px;left:calc(50% - 10px);width:20px;height:20px;}
.meal-schedule-dialog .meal-types [aria-pressed=true] .meal-course-check{display:block;}
.meal-schedule-dialog .meal-unschedule{position:absolute;top:440px;left:0;right:0;margin:0 auto;height:28px;}
.meal-schedule-dialog .meal-drawer-done{position:absolute;top:475px;left:0;width:100%;margin:0;height:60px;font-size:14px!important;font-weight:600!important;letter-spacing:1.4px;}
.meal-schedule-dialog .meal-drawer-done:disabled{background:#979797;}

.meal-row-thumbnail{display:block;width:120px;height:120px;overflow:hidden;border-radius:6px 0 0 6px;}
.meal-row-thumbnail .meal-row-image{border-radius:0;}
/* This supplied thumbnail has transparent rounded corners baked into the PNG. */
.meal-row-thumbnail-crop .meal-row-image{transform:scale(1.16);}

/* Figma meal-plan collections retain the centered Browse carousel alignment. */
.meal-collection-card>img{position:absolute;max-width:none;object-fit:cover;}
.meal-collection-shade{position:absolute;inset:0;background:linear-gradient(transparent 35.36%,rgba(0,0,0,var(--gradient-shade))),rgba(0,0,0,var(--photo-shade));}
.meal-collection-copy{position:absolute;bottom:16px;left:50%;transform:translateX(-50%);width:209px;display:flex;flex-direction:column;align-items:center;}
.meal-collection-copy strong{font:600 23px/28px "Avenir Next Condensed","Arial Narrow",sans-serif;display:block;width:100%;margin:8px 0 4px;}
.meal-collection-copy small{display:flex;align-items:center;justify-content:center;gap:6px;font:600 11px/15px "Avenir Next",Arial,sans-serif;white-space:nowrap;}
.meal-collection-copy small>span{letter-spacing:.7px;}
.meal-collection-copy small>i{width:3px;height:3px;border-radius:50%;background:white;}
.meal-collection-badge{position:relative;display:block;flex:none;width:50px;height:50px;}
.meal-collection-badge img{display:block;width:50px;height:50px;border-radius:50%;object-fit:cover;}
.meal-collection-badge.is-brand img{position:absolute;inset:0;width:50px;height:50px;border-radius:0;object-fit:contain;}

/* Center snapping and faded neighbors apply only to Browse Meal Plans. */
.meal-browse-section>.meal-rail{position:relative;gap:0;scroll-snap-type:x mandatory;padding-inline:max(0px,calc((100% - 280px)/2));}
/* Scaling a 280px neighbor to 85% adds 21px of visual inset; -1px gives a 20px visible gap. */
.meal-browse-section>.meal-rail>.meal-collection-card{margin-inline-end:-1px;scroll-snap-align:center;opacity:var(--card-opacity,.35);transform:scale(var(--card-scale,.85));transform-origin:center;will-change:transform,opacity;}

@media(prefers-reduced-motion:reduce){.meal-browse-section>.meal-rail>.meal-collection-card{transition:none;}}

.meal-browse-section>.meal-rail,.meal-browse-section>.meal-rail>.meal-collection-card{cursor:grab;user-select:none;-webkit-user-select:none;}
.meal-browse-section>.meal-rail img{-webkit-user-drag:none;}
.meal-browse-section>.meal-rail.is-dragging{scroll-snap-type:none;scroll-behavior:auto;}
.meal-browse-section>.meal-rail.is-dragging,.meal-browse-section>.meal-rail.is-dragging>.meal-collection-card{cursor:grabbing;}

/* Explore uses its standard edge-aligned, full-size carousel treatment. */
#screen-landing .lp-meal-heading{margin:16px 0 10px var(--page-gutter);padding-top:3px;font:700 12px/16px "Avenir Next",Arial,sans-serif;letter-spacing:1.5px;color:#1c1c1c;}
.lp-row-meals{display:flex;gap:10px;width:max-content;height:280px;margin:0 var(--page-gutter);}
.lp-row-meals>.meal-collection-card{width:280px;opacity:1;transform:none;cursor:pointer;}

/* Low-Effort Favorites: full-bleed hero, recipe carousels and compact scroll header. */
#screen-meal.low-effort-open>.meal-header{display:none;}
#screen-meal.low-effort-open>.meal-scroll{inset:0 0 70px;padding:0 0 35px;}
.low-effort-hero{position:relative;height:375px;overflow:hidden;}
.low-effort-hero>img{position:absolute;left:-232px;top:0;width:607px;height:455px;max-width:none;object-fit:cover;}
.low-effort-summary{position:relative;width:340px;min-height:288px;margin:-141px auto 0;padding:29px 16px 25px;background:white;border-radius:6px;text-align:center;box-sizing:border-box;}
.low-effort-logo{position:absolute;top:-47px;left:135px;width:70px;height:70px;}
.low-effort-summary h2{margin:0 auto 6px;width:254px;font:600 23px/28px 'Avenir Next Condensed','Arial Narrow',sans-serif;}
.low-effort-meta{display:flex;align-items:center;justify-content:center;gap:6px;font:600 11px/14px 'Avenir Next',sans-serif;letter-spacing:.7px;}
.low-effort-meta i{width:3px;height:3px;border-radius:50%;background:currentColor;}
.low-effort-summary p{margin:16px 0;font:400 14px/22px 'Avenir Next',sans-serif;}
.low-effort-summary .meal-primary{width:161px;height:38px;padding:0;display:inline-flex;align-items:center;justify-content:flex-start;gap:9px;padding-left:9px;font-size:11px!important;letter-spacing:1.5px;}
.low-effort-summary .meal-primary>span{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:white;color:#ff626a;font-size:18px;letter-spacing:0;}
.low-effort-section{margin-top:20px;}
.low-effort-summary+.low-effort-section{margin-top:24px;}
.low-effort-section>h2{margin:0 0 12px;text-align:center;font:700 11px/15px 'Avenir Next',sans-serif;letter-spacing:1.5px;}
.low-effort-section>.meal-rail{position:relative;gap:11px;padding:0 calc((100% - 260px)/2);scroll-snap-type:x mandatory;cursor:grab;user-select:none;}
.low-effort-card{position:relative;flex:0 0 260px;width:260px;height:326px;overflow:hidden;border-radius:6px;background:white;scroll-snap-align:center;opacity:var(--card-opacity,.35);transform:scale(var(--card-scale,.85));transform-origin:center;}
.low-effort-photo{position:relative;height:195px;}
.low-effort-photo>img{display:block;width:260px;height:195px;object-fit:cover;-webkit-user-drag:none;}
#screen-meal .low-effort-add{position:absolute;right:10px;bottom:10px;width:42px;height:42px;padding:0;border:0;border-radius:50%;background:#fff;color:#ff626a;font:400 22px/42px 'Avenir Next',sans-serif;box-shadow:0 1px 4px #0002;display:grid;place-items:center;}
.low-effort-add>img{display:block;width:42px;height:42px;}
.low-effort-copy{padding:12px 10px;}
.low-effort-copy h3{height:48px;margin:0 0 8px;font:600 18px/24px 'Avenir Next Condensed','Arial Narrow',sans-serif;}
.low-effort-copy p{margin:0;font:500 12px/14px 'Avenir Next',sans-serif;}
.low-effort-copy b{letter-spacing:1px;font-weight:700;}
.low-effort-tags{display:flex;gap:6px;margin-top:16px;}
.low-effort-tags span{padding:3px 6px;border-radius:2px;background:#efeded;color:#6d6d6d;font:500 8px/11px 'Avenir Next',sans-serif;white-space:nowrap;}
.low-effort-section>.meal-rail.is-dragging{scroll-snap-type:none;cursor:grabbing;}
.low-effort-header{display:none;}
.low-effort-open .low-effort-header{position:absolute;top:0;left:0;right:0;height:105px;z-index:20;display:flex;align-items:center;padding:44px 12px 0;box-sizing:border-box;gap:0;}
.low-effort-header strong{flex:1;min-width:0;font:600 14px/18px 'Avenir Next',sans-serif;white-space:nowrap;letter-spacing:-.45px;visibility:hidden;}
.low-effort-header .meal-icon{flex:0 0 32px;width:32px;padding:6px;}
.low-effort-header-add{flex:0 0 24px;width:24px;height:24px;padding:0;border:0;border-radius:50%;background:#ff626a;color:white;visibility:hidden;}
.low-effort-scrolled .low-effort-header{background:white;box-shadow:0 2px 4px #0003;}
.low-effort-scrolled .low-effort-header strong,.low-effort-scrolled .low-effort-header-add{visibility:visible;}

/* White controls over the meal-plan hero, dark controls on the compact header. */
.phone-shell:has(#screen-meal.active.low-effort-open:not(.low-effort-scrolled)) .system-status{color:#fff;}
.low-effort-open:not(.low-effort-scrolled) .low-effort-header .meal-icon img{filter:brightness(0) invert(1);}

/* Figma's top overlay: 52% black fading to transparent over 147px. */
.low-effort-open:not(.low-effort-scrolled) .low-effort-header::before{content:"";position:absolute;top:0;left:0;right:0;height:147px;background:linear-gradient(to bottom,rgba(0,0,0,.52),rgba(0,0,0,0));pointer-events:none;z-index:-1;}

/* Detail pages use the full viewport without the main tab bar. */
.phone-shell:has(#screen-meal.active.meal-detail-open) #shared-nav{display:none;}
#screen-meal.meal-detail-open>.meal-scroll{bottom:0;}

/* Autoplay must not display a keyboard focus ring on Cancel. */
body.meal-demo #screen-meal .meal-dialog-cancel{outline:none!important;border:0!important;box-shadow:none!important;}

#screen-meal.is-empty .meal-scroll{padding:0;}
.meal-empty{min-height:100%;background:#ececec;padding:34px 0 20px;text-align:center;overflow:hidden;}
.meal-empty h2{font-size:18px;line-height:25px;font-weight:700;margin:0 20px 8px;color:#000;}
.meal-empty p{font-size:14px;line-height:20px;font-weight:500;margin:0 20px 18px;color:#000;}
#screen-meal .meal-empty .meal-primary{width:160px;height:40px;background:#ff626a;border:0;border-radius:100px;padding:0;color:#fff;font:600 12px/12px "Avenir Next",Arial,sans-serif!important;letter-spacing:1.5px;display:inline-flex;align-items:center;justify-content:center;}
.meal-empty-illustration{width:375px;height:220px;max-width:100%;margin:84px auto 0;background:url('assets/meal/empty-state-reference.jpg.webp') center -390px/375px 812px no-repeat;}

.meal-browse-section>.meal-rail{touch-action:pan-y pinch-zoom;}
.meal-browse-section>.meal-rail>.meal-collection-card{scroll-snap-stop:always;}

/* Keep the full breakfast sandwich title readable in My Plan. */
.meal-row[data-row="117"] .meal-row-copy strong{white-space:normal;text-overflow:clip;}
