*{box-sizing:border-box}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--export-bg:#e7dfd6;--bg-body-base:#e7dfd6;--bg-body-radial:#ffffffb8;--text:#342d27;--text-muted:#7d7166;--text-pill:#5a524a;--text-hint:#6f665e;--text-placeholder:#a09080;--text-on-primary:#fff;--label-day:#3930278f;--label-today:#393027d1;--label-today-underline:#39302752;--label-meal:#39302785;--text-option-name:#393027ad;--text-plus:#39302761;--border-08:#50402a14;--border-12:#50402a1f;--border-14:#50402a24;--border-20:#50402a33;--border-24:#50402a3d;--border-30:#50402a4d;--focus-ring:#50402a0f;--surface-60:#fff9;--surface-72:#ffffffb8;--surface-92:#ffffffeb;--surface-80:#fffc;--surface-close:#342d2714;--surface-add-hover:#ffffff80;--control-bg:#342d27;--control-fg:#fff;--control-shadow:0 12px 24px #362a1e29;--tray-bg:repeating-linear-gradient(135deg, #4436260e 0px, #4436260e 1px, #ffffff2e 1px, #ffffff2e 9px), linear-gradient(180deg, #f5efe7 0%, #e6ded3 100%);--tray-border:#ffffffe6;--tray-shadow:0 30px 80px #362a1e24, inset 0 1px 0 #fffffff2, inset 0 -11px 24px #46362311;--tray-inner-ring:#ffffff85;--backdrop-scrim:#241c163d;--picker-fade-start:#fff;--picker-fade-end:#f7f1e9;--modal-surface:linear-gradient(180deg, #ffffffeb, #f7f1e9eb);--modal-border:#ffffffe6;--modal-shadow:0 24px 70px #20191438, inset 0 1px 0 #fffffff0;--grocery-surface:linear-gradient(180deg, #fffffff2, #f7f1e9f2);--food-option-surface:linear-gradient(180deg, #ffffffd1, #ffffff6b);--food-option-shadow:0 10px 20px #50402a14, inset 0 1px 0 #ffffffdb;--pocket-base-bg:linear-gradient(180deg, #ffffff38 0%, #ffffff12 100%);--pocket-base-shadow:0 12px 22px #50402a1a, inset 0 1px 2px #fff9, inset 0 -2px 5px #0000000d;--pocket-rim-bg:linear-gradient(160deg, #dcd7cde6 0%, #c8c3b9b3 20%, #b4afa580 40%, #c3beb499 60%, #d2cdc3cc 80%, #beb9afb3 100%);--pocket-rim-shadow:0 14px 28px #4838232e, inset 0 1px 2px #fffffff2, inset 0 -3px 8px #4637231f, inset 1px 0 2px #fff9, inset -1px 0 2px #645a501a;--pocket-rim-border:#ffffffb3;--food-shadow-fill:#402e1c38;--food-img-shadow:drop-shadow(0 9px 10px #3c2f1c47) saturate(1.12) contrast(1.05);--food-img-shadow-sticker:drop-shadow(0 6px 8px #3c2f1c33) saturate(1.1) contrast(1.06);--food-emoji-shadow:drop-shadow(0 9px 10px #3c2f1c3d) saturate(1.08);--food-option-img-shadow:drop-shadow(0 7px 7px #3c2f1c29) saturate(1.1) contrast(1.02);--food-option-emoji-shadow:drop-shadow(0 7px 7px #3c2f1c29);--bubble-bg:radial-gradient(ellipse 70% 50% at 25% 15%, #fffffff2 0%, #fff9 20%, #fff3 40%, transparent 60%), radial-gradient(ellipse 40% 30% at 75% 80%, #ffffff40 0%, transparent 50%), radial-gradient(ellipse 100% 100% at 50% 50%, transparent 50%, #645a5014 80%, #50463c1f 100%), linear-gradient(180deg, #ffffff26 0%, #f5f2ee14 50%, #dcd7cd1a 100%);--bubble-border:#ffffffbf;--bubble-shadow:inset 0 2px 4px #ffffffe6, inset 0 -8px 16px #44342214, inset 2px 0 8px #ffffff4d, inset -2px 0 8px #645a500f, 0 8px 20px #4636231f;--bubble-shine-before:linear-gradient(90deg, #fffffffa 0%, #ffffffb3 30%, #ffffff4d 60%, transparent 100%);--bubble-shine-after:linear-gradient(270deg, #ffffff80 0%, #fff3 50%, transparent 100%);--bubble-inner-bg:radial-gradient(ellipse at center, #ffffff24 0%, #ffffff0a 52%, #0001 100%);--bubble-inner-shadow:inset 0 9px 14px #ffffff85, inset 0 -8px 12px #00000014;--bubble-sticker-bg:radial-gradient(ellipse 65% 48% at 26% 14%, #ffffff70 0%, #ffffff29 38%, transparent 64%), radial-gradient(ellipse 36% 26% at 78% 82%, #ffffff1f 0%, transparent 54%), radial-gradient(ellipse 100% 100% at 50% 50%, transparent 56%, #645a500b 84%, #50463c12 100%), linear-gradient(180deg, #ffffff0e 0%, #f5f2ee06 52%, #dcd7cd0b 100%);--bubble-sticker-shadow:inset 0 1px 3px #ffffffb8, inset 0 -6px 12px #4434220e, inset 1px 0 6px #ffffff38, inset -1px 0 6px #645a5009, 0 6px 16px #46362317;--bubble-sticker-border:#ffffff94;--bubble-sticker-inner-bg:radial-gradient(ellipse at center, #ffffff17 0%, #ffffff05 56%, #0000000a 100%);--bubble-sticker-inner-shadow:inset 0 6px 11px #ffffff6b, inset 0 -6px 10px #0000000b;--add-plus-bg:#ffffff73;--add-plus-border:#fffc;--add-plus-shadow:0 8px 16px #46362314, inset 0 1px 0 #ffffffd9;--bubble-empty-bg:radial-gradient(ellipse 70% 50% at 25% 15%, #fffffffa 0%, #ffffffa6 20%, #ffffff40 40%, transparent 60%), radial-gradient(ellipse 40% 30% at 75% 80%, #ffffff4d 0%, transparent 50%), radial-gradient(ellipse 100% 100% at 50% 50%, transparent 50%, #645a500f 80%, #50463c1a 100%), linear-gradient(180deg, #ffffff2e 0%, #f5f2ee1a 50%, #dcd7cd1f 100%);--popped-rim-shadow:0 7px 16px #48382317, inset 0 2px 4px #ffffffc7, inset 0 -3px 8px #46372321;--popped-bubble-bg:radial-gradient(ellipse at 50% 60%, #00000014 0%, #b4afa51f 48%, #a09b9114 100%), linear-gradient(145deg, #c8c3b933 0%, #b4afa51a 45%, #a0968c1f 100%);--popped-bubble-shadow:inset 0 14px 22px #3c2d1c26, inset 0 -4px 9px #fff6, 0 3px 8px #4636230d;--popped-inner-bg:radial-gradient(ellipse at center, #00000014 0%, #ffffff0a 52%, #ffffff1f 100%);--popped-inner-shadow:inset 0 13px 22px #0000001f, inset 0 -4px 8px #ffffff6b}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--export-bg:#2b2722;--bg-body-base:#2b2722;--bg-body-radial:#ffecce29;--text:#fff7ec;--text-muted:#d8cabb;--text-pill:#e5d8c9;--text-hint:#cfc1b1;--text-placeholder:#ad9f90;--label-day:#fff4e694;--label-today:#fffaf0eb;--label-today-underline:#ffe8c47a;--label-meal:#fff4e685;--text-option-name:#fff4e6d1;--text-plus:#fff4e66b;--border-08:#ffd2aa14;--border-12:#ffd2aa24;--border-14:#ffd2aa2e;--border-20:#ffd2aa38;--border-24:#ffd2aa47;--border-30:#ffd2aa57;--focus-ring:#ffc8a01f;--surface-60:#24201cd9;--surface-72:#2c2722eb;--surface-92:#342e2af5;--surface-80:#26221ee6;--surface-close:#ffdcbe1a;--surface-add-hover:#ffffff0f;--control-bg:#f0dfc4;--control-fg:#221b16;--control-shadow:0 10px 24px #0000004d;--tray-bg:repeating-linear-gradient(135deg, #ffffff0b 0px, #ffffff0b 1px, #2a221b29 1px, #2a221b29 9px), linear-gradient(180deg, #4a4036 0%, #312b25 100%);--tray-border:#ffeed633;--tray-shadow:0 30px 80px #18120e57, inset 0 1px 0 #ffffff1f, inset 0 -11px 24px #0003;--tray-inner-ring:#ffebd229;--backdrop-scrim:#060504b8;--picker-fade-start:#2a2622;--picker-fade-end:#1c1a16;--modal-surface:linear-gradient(180deg, #2a2622fa, #1c1a16fc);--modal-border:#ffdcb424;--modal-shadow:0 28px 80px #0000008c, inset 0 1px 0 #ffffff0f;--grocery-surface:linear-gradient(180deg, #2a2622fa, #1a1814fc);--food-option-surface:linear-gradient(180deg, #342e28f2, #221e1aeb);--food-option-shadow:0 2px 6px #00000040, inset 0 1px 0 #ffffff14;--pocket-base-bg:linear-gradient(180deg, #ffffff14 0%, #ffffff05 100%);--pocket-base-shadow:0 12px 22px #00000073, inset 0 1px 2px #ffffff14, inset 0 -2px 5px #00000059;--pocket-rim-bg:linear-gradient(160deg, #7870668c 0%, #58524a6b 22%, #413c3661 48%, #524c4675 72%, #625c5480 100%);--pocket-rim-shadow:0 14px 28px #00000080, inset 0 1px 2px #ffffff2e, inset 0 -3px 8px #00000073, inset 1px 0 2px #ffffff1a, inset -1px 0 2px #0000004d;--pocket-rim-border:#fff5e624;--food-shadow-fill:#20140c57;--food-img-shadow:drop-shadow(0 9px 12px #140e0a6b) saturate(1.18) brightness(1.08) contrast(1.07);--food-img-shadow-sticker:drop-shadow(0 6px 10px #140e0a57) saturate(1.18) brightness(1.08) contrast(1.07);--food-emoji-shadow:drop-shadow(0 8px 11px #140e0a57) saturate(1.16) brightness(1.08);--food-option-img-shadow:drop-shadow(0 7px 10px #140e0a52) saturate(1.16) brightness(1.06) contrast(1.04);--food-option-emoji-shadow:drop-shadow(0 7px 10px #140e0a4d) saturate(1.14) brightness(1.06);--bubble-bg:radial-gradient(ellipse 70% 50% at 25% 15%, #ffffff38 0%, #ffffff14 22%, #ffffff05 42%, transparent 62%), radial-gradient(ellipse 40% 30% at 75% 80%, #ffffff12 0%, transparent 52%), radial-gradient(ellipse 100% 100% at 50% 50%, transparent 48%, #00000052 78%, #0000007a 100%), linear-gradient(180deg, #ffffff12 0%, #2824208c 52%, #181613b8 100%);--bubble-border:#fff0dc29;--bubble-shadow:inset 0 2px 4px #ffffff24, inset 0 -8px 16px #0000006b, inset 2px 0 8px #ffffff0f, inset -2px 0 8px #00000038, 0 8px 22px #0006;--bubble-shine-before:linear-gradient(90deg, #ffffff59 0%, #ffffff24 35%, #ffffff0a 62%, transparent 100%);--bubble-shine-after:linear-gradient(270deg, #ffffff29 0%, #ffffff0d 52%, transparent 100%);--bubble-inner-bg:radial-gradient(ellipse at center, #ffffff0f 0%, #ffffff05 52%, #00000038 100%);--bubble-inner-shadow:inset 0 9px 14px #ffffff14, inset 0 -8px 12px #00000059;--bubble-sticker-bg:radial-gradient(ellipse 65% 48% at 26% 14%, #ffffff29 0%, #ffffff0d 40%, transparent 66%), radial-gradient(ellipse 36% 26% at 78% 82%, #ffffff0f 0%, transparent 54%), radial-gradient(ellipse 100% 100% at 50% 50%, transparent 54%, #00000038 84%, #00000059 100%), linear-gradient(180deg, #ffffff0a 0%, #221e1a73 52%, #14121094 100%);--bubble-sticker-shadow:inset 0 1px 3px #ffffff1f, inset 0 -6px 12px #00000061, inset 1px 0 6px #ffffff0d, inset -1px 0 6px #00000040, 0 6px 18px #00000059;--bubble-sticker-border:#ffebd224;--bubble-sticker-inner-bg:radial-gradient(ellipse at center, #ffffff0d 0%, #ffffff04 56%, #0003 100%);--bubble-sticker-inner-shadow:inset 0 6px 11px #ffffff0f, inset 0 -6px 10px #00000052;--add-plus-bg:#ffffff1a;--add-plus-border:#ffebd233;--add-plus-shadow:0 8px 16px #00000059, inset 0 1px 0 #ffffff1f;--bubble-empty-bg:radial-gradient(ellipse 70% 50% at 25% 15%, #ffffff29 0%, #ffffff0f 24%, #ffffff05 44%, transparent 64%), radial-gradient(ellipse 40% 30% at 75% 80%, #ffffff0f 0%, transparent 52%), radial-gradient(ellipse 100% 100% at 50% 50%, transparent 48%, #00000042 80%, #00000061 100%), linear-gradient(180deg, #ffffff12 0%, #2824206b 52%, #1a181594 100%);--popped-rim-shadow:0 7px 16px #0006, inset 0 2px 4px #ffffff1f, inset 0 -3px 8px #00000073;--popped-bubble-bg:radial-gradient(ellipse at 50% 60%, #00000073 0%, #5a544c47 52%, #46403a33 100%), linear-gradient(145deg, #6e665c38 0%, #48423c24 48%, #34302c2e 100%);--popped-bubble-shadow:inset 0 14px 22px #00000080, inset 0 -4px 9px #ffffff1a, 0 3px 8px #00000059;--popped-inner-bg:radial-gradient(ellipse at center, #00000059 0%, #ffffff08 52%, #ffffff14 100%);--popped-inner-shadow:inset 0 13px 22px #00000073, inset 0 -4px 8px #ffffff14}body{background:radial-gradient(circle at 50% 0%, var(--bg-body-radial), transparent 42%), var(--bg-body-base);width:100%;min-height:100vh;color:var(--text);place-items:center;margin:0;font-family:Arial,sans-serif;display:grid;overflow-x:hidden}html{background:var(--bg-body-base);overflow-x:hidden}:root[data-theme-switching=true] *,:root[data-theme-switching=true] :before,:root[data-theme-switching=true] :after{transition-duration:0s!important;transition-delay:0s!important}button{font-family:inherit}.page{width:min(96vw,1180px);padding:34px 0;position:relative}.appBar{justify-content:space-between;align-items:center;margin-bottom:28px;display:flex}.appBrand{align-items:center;gap:10px;display:flex}.appActions{align-items:center;gap:8px;display:flex}.appLogo{object-fit:cover;border-radius:10px;width:36px;height:36px;display:block;box-shadow:0 2px 8px #0000001f}.appName{letter-spacing:-.03em;color:var(--text);font-size:20px;font-weight:800}.themeToggle{background:var(--surface-72);width:42px;height:42px;color:var(--text);cursor:pointer;border:0;border:1px solid var(--border-08);border-radius:999px;place-items:center;padding:0;transition:background .18s,border-color .18s;display:grid;box-shadow:0 10px 24px #362a1e14,inset 0 1px #ffffff8a}.themeToggle svg{width:19px;height:19px;display:block}.themeToggle:hover{background:var(--surface-92)}.themeToggle:focus-visible{outline:2px solid var(--border-24);outline-offset:2px}.feedbackTopButton{background:var(--surface-72);min-height:42px;color:var(--text);cursor:pointer;border:0;border:1px solid var(--border-08);border-radius:999px;justify-content:center;align-items:center;gap:7px;padding:0 14px;font-size:12px;font-weight:700;transition:background .18s,border-color .18s;display:inline-flex;box-shadow:0 10px 24px #362a1e14,inset 0 1px #ffffff8a}.feedbackTopButton svg{flex:none;width:18px;height:18px}.feedbackTopButton:hover{background:var(--surface-92)}.feedbackTopButton:focus-visible{outline:2px solid var(--border-24);outline-offset:2px}.title{text-align:center;margin-bottom:20px}.title h1{letter-spacing:0;margin:0 0 8px;font-size:clamp(24px,3.5vw,36px)}.title p{color:var(--text-muted);margin:0;font-size:14px;font-weight:600}.weekNav{justify-content:center;align-items:center;gap:10px;margin-bottom:14px;display:flex}.weekLabel{color:var(--text);text-align:center;min-width:160px;font-size:16px;font-weight:400}.weekNavCenter{flex-direction:column;align-items:center;gap:4px;min-width:160px;display:flex}.weekNavJump{font:inherit;letter-spacing:.02em;color:var(--text-muted);cursor:pointer;text-decoration:underline;-webkit-text-decoration-color:var(--border-20);text-decoration-color:var(--border-20);text-underline-offset:3px;background:0 0;border:0;margin:0;padding:0;font-size:12px;font-weight:600;transition:color .16s,text-decoration-color .16s}.weekNavJump:hover{color:var(--text-hint);-webkit-text-decoration-color:var(--border-30);text-decoration-color:var(--border-30)}.weekNavJump:focus-visible{outline:2px solid var(--focus-ring);outline-offset:3px;border-radius:4px}.weekNavButton{background:var(--surface-72);color:var(--text);cursor:pointer;border:0;border:1px solid var(--border-08);border-radius:999px;align-items:center;gap:6px;padding:7px 12px;font-size:12px;font-weight:400;transition:background .18s,border-color .18s;display:inline-flex;box-shadow:0 8px 18px #362a1e12,inset 0 1px #ffffff70}.weekNavButton svg{flex:none;width:18px;height:18px}.weekNavButton:hover{background:var(--surface-92);border-color:var(--border-14)}.progressRow{justify-content:center;min-height:33px;margin-bottom:14px;display:flex}.progressPill{text-align:center;color:var(--text-pill);background:var(--surface-60);border:1px solid var(--border-08);border-radius:999px;align-items:center;min-height:31px;padding:6px 16px;font-size:13px;font-weight:400;display:inline-flex}.progressPillSkeleton{background:linear-gradient(90deg, transparent 0%, #ffffff6b 48%, transparent 100%), var(--surface-60);background-size:180% 100%,auto;width:210px;animation:1s ease-in-out infinite progressSkeleton}@keyframes progressSkeleton{0%{background-position:120% 0,0 0}to{background-position:-80% 0,0 0}}.plannerTop{flex-wrap:wrap;justify-content:center;gap:8px;margin-bottom:16px;display:flex}.controlButton{background:var(--control-bg);color:var(--control-fg);letter-spacing:.01em;cursor:pointer;box-shadow:var(--control-shadow);white-space:nowrap;border:0;border-radius:999px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:9px 13px;font-size:12px;font-weight:400;transition:background .18s,border-color .18s,box-shadow .18s;display:inline-flex}.controlButton svg{flex:none;width:17px;height:17px}.controlButton:disabled{cursor:wait}.controlButton.isLoading{opacity:.86}.controlButton.isLoading svg{animation:.9s linear infinite controlButtonSpin}@keyframes controlButtonSpin{to{transform:rotate(360deg)}}.controlButton.secondary{background:var(--surface-72);color:var(--text);border:1px solid var(--border-08);box-shadow:0 8px 18px #362a1e12,inset 0 1px #ffffff75}.controlButton.secondary:hover{background:var(--surface-92);border-color:var(--border-14)}.controlButton.coverControl[aria-pressed=true]{background:var(--surface-92);border-color:var(--border-20)}.tray{background:var(--tray-bg);border:1px solid var(--tray-border);box-shadow:var(--tray-shadow);border-radius:42px;padding:30px;position:relative}.tray:before{content:"";border:1px solid var(--tray-inner-ring);pointer-events:none;border-radius:36px;position:absolute;inset:9px}.plannerGrid{z-index:1;flex-direction:column;gap:14px;display:flex;position:relative}.plannerMobile{display:none}.exportBrand{z-index:1;border-top:1px solid var(--tray-inner-ring);color:var(--label-day);letter-spacing:.04em;text-transform:uppercase;justify-content:center;align-items:center;gap:8px;margin-top:18px;padding-top:16px;font-size:12px;font-weight:800;display:none;position:relative}.exportBrandLogo{object-fit:cover;border-radius:7px;width:24px;height:24px;box-shadow:0 5px 12px #00000024}.page--export .exportBrand,:root[data-exporting=true] .exportBrand{display:flex}.dayLabelsRow{grid-template-columns:86px repeat(7,minmax(110px,1fr));gap:14px;display:grid}.mealRow{grid-template-columns:86px repeat(7,minmax(110px,1fr));align-items:start;gap:14px;display:grid}.cornerCell{min-height:30px}.dayLabel{text-align:center;letter-spacing:.08em;text-transform:uppercase;color:var(--label-day);padding-bottom:2px;font-size:12px;font-weight:800}.dayLabel:after{content:"";background:0 0;border-radius:50%;width:4px;height:4px;margin:5px auto 0;display:block}.dayLabel--today{color:var(--label-today);text-decoration:underline;-webkit-text-decoration-color:var(--label-today-underline);text-decoration-color:var(--label-today-underline);text-underline-offset:5px;text-decoration-skip-ink:auto;text-decoration-thickness:1.5px}.dayLabel--today:after{opacity:0;background:0 0}.mealLabel{letter-spacing:.08em;text-transform:uppercase;color:var(--label-meal);text-align:right;align-self:center;padding-right:4px;font-size:12px;font-weight:800}.pocketCell{flex-direction:column;align-items:stretch;gap:5px;min-width:0;display:flex}.pocketLabel{letter-spacing:.02em;width:100%;color:var(--text-option-name);text-align:center;white-space:nowrap;text-overflow:ellipsis;padding:0 2px;font-size:11px;font-weight:600;line-height:1.25;display:block;overflow:hidden}.pocketCell--popped .pocketLabel{opacity:.48}.pocket{cursor:pointer;isolation:isolate;appearance:none;height:98px;transform-style:preserve-3d;perspective:520px;background:0 0;border:0;border-radius:27px;padding:0;position:relative}.pocketBase{background:var(--pocket-base-bg);box-shadow:var(--pocket-base-shadow);z-index:1;border-radius:27px;position:absolute;inset:0}.pocketRim{background:var(--pocket-rim-bg);box-shadow:var(--pocket-rim-shadow);border:1px solid var(--pocket-rim-border);z-index:2;border-radius:24px;transition:transform .26s,box-shadow .26s,opacity .26s;position:absolute;inset:4px}.pocketContent{z-index:3;border-radius:21px;place-items:center;transition:transform .34s cubic-bezier(.2,.9,.2,1.1),opacity .22s,filter .22s;display:grid;position:absolute;inset:10px 12px;overflow:hidden}.foodShadow{background:var(--food-shadow-fill);filter:blur(7px);opacity:.62;border-radius:999px;width:68px;height:17px;transition:opacity .22s,transform .26s;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.foodImage{z-index:2;width:var(--foodSize,54px);height:var(--foodSize,54px);object-fit:contain;transform:translateY(var(--foodY,0px)) rotate(var(--foodRotate,0deg)) scale(var(--foodScale,1));filter:var(--food-img-shadow);border-radius:8px;transition:transform .34s cubic-bezier(.2,.9,.2,1.1),opacity .22s,filter .22s;position:relative}.pocketBubble{background:var(--bubble-bg);box-shadow:var(--bubble-shadow);border:1px solid var(--bubble-border);z-index:4;-webkit-backdrop-filter:blur(.5px);backdrop-filter:blur(.5px);border-radius:21px;transition:transform .26s,box-shadow .26s,opacity .26s,background .26s;position:absolute;inset:10px 12px;overflow:hidden}.pocketBubble:before{content:"";background:var(--bubble-shine-before);opacity:.92;filter:blur(.3px);border-radius:999px;width:55%;height:16px;transition:opacity .26s,transform .26s;position:absolute;top:8px;left:12px;transform:rotate(-5deg)}.pocketBubble:after{content:"";background:var(--bubble-shine-after);opacity:.7;border-radius:999px;width:30%;height:12px;transition:opacity .26s;position:absolute;bottom:8px;right:8px;transform:rotate(8deg)}.pocketInnerShadow{background:var(--bubble-inner-bg);box-shadow:var(--bubble-inner-shadow);z-index:5;pointer-events:none;border-radius:18px;transition:transform .26s,box-shadow .26s,background .26s,opacity .26s;position:absolute;inset:16px 18px}.pocket.filled.pocket--sticker .pocketBubble{-webkit-backdrop-filter:none;background:var(--bubble-sticker-bg);box-shadow:var(--bubble-sticker-shadow);border-color:var(--bubble-sticker-border)}.pocket.filled.pocket--sticker .pocketBubble:before{opacity:.36;filter:none;width:46%;height:11px}.pocket.filled.pocket--sticker .pocketBubble:after{opacity:.22}.pocket.filled.pocket--sticker .pocketInnerShadow{background:var(--bubble-sticker-inner-bg);box-shadow:var(--bubble-sticker-inner-shadow)}.pocket.filled.pocket--sticker .foodImage{filter:var(--food-img-shadow-sticker)}.addPlus{z-index:6;background:var(--add-plus-bg);border:1px solid var(--add-plus-border);width:32px;height:32px;color:var(--text-plus);box-shadow:var(--add-plus-shadow);pointer-events:none;border-radius:999px;place-items:center;font-size:22px;line-height:1;transition:transform .22s,opacity .22s;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.pocket.filled .addPlus{opacity:0}.pocket--skeleton{pointer-events:none}.pocket--skeleton .addPlus{opacity:0}.pocket--skeleton .pocketRim{animation:1.8s ease-in-out infinite pocketSkeletonPulse}@keyframes pocketSkeletonPulse{0%,to{opacity:.55}50%{opacity:1}}.pocket--skeleton .pocketBubble:before{filter:blur(2px);opacity:1;background:linear-gradient(90deg,#0000 0%,#ffffff1a 35%,#ffffff47 50%,#ffffff1a 65%,#0000 100%);border-radius:0;width:70%;height:100%;animation:2s cubic-bezier(.4,0,.6,1) infinite pocketShineSweep;top:0;bottom:0;left:-90%;transform:skew(-10deg)}.pocket--skeleton .pocketBubble:after{opacity:0}@keyframes pocketShineSweep{0%{left:-90%}50%{left:120%}to{left:120%}}.mealRow .pocketCell:nth-child(2) .pocket--skeleton .pocketRim,.mealRow .pocketCell:nth-child(2) .pocket--skeleton .pocketBubble:before{animation-delay:0s}.mealRow .pocketCell:nth-child(3) .pocket--skeleton .pocketRim,.mealRow .pocketCell:nth-child(3) .pocket--skeleton .pocketBubble:before{animation-delay:90ms}.mealRow .pocketCell:nth-child(4) .pocket--skeleton .pocketRim,.mealRow .pocketCell:nth-child(4) .pocket--skeleton .pocketBubble:before{animation-delay:.18s}.mealRow .pocketCell:nth-child(5) .pocket--skeleton .pocketRim,.mealRow .pocketCell:nth-child(5) .pocket--skeleton .pocketBubble:before{animation-delay:.27s}.mealRow .pocketCell:nth-child(6) .pocket--skeleton .pocketRim,.mealRow .pocketCell:nth-child(6) .pocket--skeleton .pocketBubble:before{animation-delay:.36s}.mealRow .pocketCell:nth-child(7) .pocket--skeleton .pocketRim,.mealRow .pocketCell:nth-child(7) .pocket--skeleton .pocketBubble:before{animation-delay:.45s}.mealRow .pocketCell:nth-child(8) .pocket--skeleton .pocketRim,.mealRow .pocketCell:nth-child(8) .pocket--skeleton .pocketBubble:before{animation-delay:.54s}.pocketLabelSkeleton{background:linear-gradient(90deg, transparent 0%, var(--surface-60) 35%, var(--surface-80) 50%, var(--surface-60) 65%, transparent 100%);background-size:220% 100%;border-radius:999px;width:55%;height:8px;margin:0 auto;animation:1.8s ease-in-out infinite labelSkeletonShimmer;display:block}@keyframes labelSkeletonShimmer{0%{background-position:120% 0}to{background-position:-80% 0}}.mealRow .pocketCell:nth-child(2) .pocketLabelSkeleton{animation-delay:0s}.mealRow .pocketCell:nth-child(3) .pocketLabelSkeleton{animation-delay:90ms}.mealRow .pocketCell:nth-child(4) .pocketLabelSkeleton{animation-delay:.18s}.mealRow .pocketCell:nth-child(5) .pocketLabelSkeleton{animation-delay:.27s}.mealRow .pocketCell:nth-child(6) .pocketLabelSkeleton{animation-delay:.36s}.mealRow .pocketCell:nth-child(7) .pocketLabelSkeleton{animation-delay:.45s}.mealRow .pocketCell:nth-child(8) .pocketLabelSkeleton{animation-delay:.54s}.pocket:hover .pocketBubble{transform:translateY(-1px)}.pocket:hover .foodImage{transform:translateY(calc(var(--foodY,0px) - 1px)) rotate(var(--foodRotate,0deg)) scale(calc(var(--foodScale,1) + .025))}.pocket.empty .pocketContent{opacity:0}.pocket.empty:hover .addPlus{opacity:1;transform:translate(-50%,-50%)scale(1.08)}.pocket.empty .pocketBubble{background:var(--bubble-empty-bg)}.tray--openMode .pocketBubble,.tray--openMode .pocketInnerShadow{opacity:0;pointer-events:none;animation:none;transform:none}.tray--openMode .pocketContent{z-index:5}.tray--openMode .pocket.filled .pocketContent{overflow:visible}.tray--openMode .pocket.filled .foodShadow{opacity:.44;transform:translate(-50%)scale(.82)}.tray--openMode .pocket.filled .foodImage{filter:var(--food-img-shadow)}.tray--openMode .pocket.filled .foodEmoji{filter:var(--food-emoji-shadow)}.tray--openMode .pocket:hover .pocketBubble{transform:none}.tray--openMode .pocket.isPopped .pocketContent{opacity:.42;filter:grayscale(.35)blur(.2px);transform:translateY(9px)scale(.78)rotate(5deg)}.tray--openMode .pocket.isPopped .foodShadow{opacity:.16}.tray--openMode .pocket.empty.isAdding .pocketBubble,.tray--openMode .pocket.empty.isAdding .pocketInnerShadow{opacity:0}.pocket.isAdding .pocketRim{transition:none;animation:1.28s cubic-bezier(.18,.86,.18,1) forwards blisterRimSeal}.pocket.isAdding .pocketBubble{transform-origin:50% 100%;transition:none;animation:1.28s cubic-bezier(.18,.86,.18,1) forwards blisterOpenSeal}.pocket.isAdding .pocketInnerShadow{transform-origin:50% 100%;transition:none;animation:1.28s cubic-bezier(.18,.86,.18,1) forwards blisterInnerSeal}.pocket.isAdding .pocketContent{transition:none;animation:1.28s cubic-bezier(.18,.86,.18,1) forwards foodSealIn}.pocket.isAdding .pocketBubble:before{animation:1.28s cubic-bezier(.18,.86,.18,1) forwards shineSealIn}.pocket.empty.isAdding .addPlus{opacity:0;transform:translate(-50%,-50%)scale(.82)}@media (prefers-reduced-motion:reduce){.pocket.isAdding .pocketRim,.pocket.isAdding .pocketBubble,.pocket.isAdding .pocketInnerShadow,.pocket.isAdding .pocketContent,.pocket.isAdding .pocketBubble:before{transition:transform .26s,box-shadow .26s,opacity .26s;animation:none}.pocket.isAdding .pocketBubble,.pocket.isAdding .pocketInnerShadow{transform-origin:unset;transform:none}.foodTransfer{opacity:0;animation:none}}.pocket.isPopping{animation:.42s cubic-bezier(.2,.9,.2,1.1) pocketPop}.pocket.isPopped .pocketRim{box-shadow:var(--popped-rim-shadow);transform:scale(.985)}.pocket.isPopped .pocketBubble{background:var(--popped-bubble-bg);box-shadow:var(--popped-bubble-shadow);opacity:.75;transform:scale(.92)translateY(4px)}.pocket.isPopped .pocketBubble:before{opacity:.28;transform:translateY(10px)rotate(-4deg)scale(.75)}.pocket.isPopped .pocketBubble:after{opacity:.28}.pocket.isPopped .pocketInnerShadow{background:var(--popped-inner-bg);box-shadow:var(--popped-inner-shadow);transform:scale(.9)translateY(4px)}.pocket.isPopped .pocketContent{opacity:0;filter:blur(1px);transform:translateY(22px)scale(.45)rotate(14deg)}.pocket.isPopped .foodShadow{opacity:0;transform:translate(-50%)scale(.4)}@keyframes foodDrop{0%{opacity:0;transform:translateY(-30px)scale(.72)rotate(-8deg)}58%{opacity:1;transform:translateY(4px)scale(1.08)rotate(2deg)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}@keyframes blisterOpenSeal{0%{transform:translateY(0)scale(1)rotateX(0)}18%{transform:translateY(4px)scale(1.03,.56)rotateX(48deg)}36%{transform:translateY(10px)scale(1.08,.18)rotateX(78deg)}50%{transform:translateY(10px)scale(1.08,.16)rotateX(82deg)}64%{transform:translateY(5px)scale(1.04,.52)rotateX(52deg)}82%{transform:translateY(-2px)scale(.98,1.08)rotateX(-7deg)}to{transform:translateY(0)scale(1)rotateX(0)}}@keyframes blisterInnerSeal{0%{transform:scale(1)translateY(0)}18%{transform:scale(1.04,.62)translateY(5px)}36%{transform:scale(1.09,.24)translateY(10px)}50%{transform:scale(1.09,.2)translateY(10px)}66%{transform:scale(1.03,.64)translateY(4px)}84%{transform:scale(.98,1.05)translateY(-1px)}to{transform:scale(1)translateY(0)}}@keyframes blisterRimSeal{0%,to{transform:scale(1)}34%,52%{transform:scale(1.035,.94)}78%{transform:scale(.99,1.02)}}@keyframes foodSealIn{0%{opacity:0;transform:translateY(-18px)scale(.82)rotate(-5deg)}46%{opacity:0;transform:translateY(-14px)scale(.86)rotate(-3deg)}56%{opacity:1;transform:translateY(8px)scale(1.08)rotate(3deg)}74%{opacity:1;transform:translateY(-3px)scale(1.02)rotate(-1deg)}88%{transform:translateY(2px)scale(.99)rotate(0)}to{opacity:1;transform:translateY(0)scale(1)rotate(0)}}@keyframes shineSealIn{0%{opacity:.24;transform:translate(-34px)translateY(0)rotate(-7deg)}36%{opacity:.5;transform:translate(-12px)translateY(8px)rotate(-5deg)scale(.8)}56%{opacity:.64;transform:translate(12px)translateY(8px)rotate(-5deg)scale(.82)}78%{opacity:.96;transform:translate(38px)translateY(-1px)rotate(-7deg)}to{opacity:.92;transform:translate(70px)rotate(-7deg)}}@keyframes shineSweep{0%{opacity:0;transform:translate(-34px)rotate(-7deg)}35%{opacity:.95}to{opacity:.7;transform:translate(58px)rotate(-7deg)}}@keyframes pocketPop{0%{transform:scale(1)rotateX(0)}28%{transform:scale(.94)rotateX(10deg)}62%{transform:scale(1.035)rotateX(0)}to{transform:scale(1)rotateX(0)}}.pickerBackdrop{background:var(--backdrop-scrim);z-index:20;opacity:0;visibility:hidden;justify-content:center;align-items:end;padding:22px;transition:opacity .22s,visibility .22s;display:flex;position:fixed;inset:0}.pickerBackdrop.open{opacity:1;visibility:visible}.foodPicker{background:var(--modal-surface);border:1px solid var(--modal-border);width:min(620px,100%);max-height:calc(100vh - 44px);box-shadow:var(--modal-shadow);opacity:0;border-radius:30px;flex-direction:column;min-height:0;padding:18px;transition:transform .22s,opacity .22s;display:flex;overflow:hidden;transform:translateY(18px)}.pickerBackdrop.open .foodPicker{opacity:1;transform:translateY(0)}.pickerBackdrop.dismissing{pointer-events:none;opacity:0;transition:opacity .46s cubic-bezier(.18,.86,.18,1)}.pickerBackdrop.dismissing .foodPicker{opacity:0;transition:transform .52s cubic-bezier(.18,.86,.18,1),opacity .36s;transform:translateY(28px)}.foodTransfer{z-index:40;width:var(--foodSize,54px);height:var(--foodSize,54px);pointer-events:none;transform-origin:50%;place-items:center;animation:.76s cubic-bezier(.16,.9,.16,1) forwards foodTransferFlight;display:grid;position:fixed;top:0;left:0}.foodTransferImage,.foodTransferEmoji{z-index:2;transform:translateY(var(--foodY,0px)) rotate(var(--foodRotate,0deg)) scale(var(--foodScale,1));position:relative}.foodTransferImage{width:var(--foodSize,54px);height:var(--foodSize,54px);object-fit:contain;filter:var(--food-img-shadow);border-radius:8px}.foodTransferEmoji{font-size:var(--foodSize,48px);filter:var(--food-emoji-shadow);line-height:1}.foodTransferShadow{z-index:1;filter:blur(8px);background:#2c20143d;border-radius:999px;width:64%;height:14px;animation:.76s cubic-bezier(.16,.9,.16,1) forwards foodTransferShadow;position:absolute;bottom:-5px;left:50%;transform:translate(-50%)scale(.9)}@keyframes foodTransferFlight{0%{opacity:0;transform:translate(calc(var(--transferStartX) - 50%), calc(var(--transferStartY) - 50%)) scale(.72) rotate(-8deg)}12%{opacity:1;transform:translate(calc(var(--transferStartX) - 50%), calc(var(--transferStartY) - 50% - 12px)) scale(1.02) rotate(-3deg)}54%{opacity:1;transform:translate(calc(var(--transferMidX) - 50%), calc(var(--transferMidY) - 50% - var(--transferLift) - 12px)) scale(1.08) rotate(4deg)}82%{opacity:1;transform:translate(calc(var(--transferEndX) - 50%), calc(var(--transferEndY) - 50% - 16px)) scale(1) rotate(1deg)}to{opacity:0;transform:translate(calc(var(--transferEndX) - 50%), calc(var(--transferEndY) - 50%)) scale(.9) rotate(0deg)}}@keyframes foodTransferShadow{0%,to{opacity:.28;transform:translate(-50%)scale(.78)}18%,74%{opacity:.12;transform:translate(-50%)scale(.48)}88%{opacity:.34;transform:translate(-50%)scale(1)}}.pickerHeader{flex-shrink:0;justify-content:space-between;align-items:center;gap:14px;margin-bottom:14px;display:flex}.pickerHeader h2{letter-spacing:-.02em;color:var(--text);margin:0;font-size:18px}.pickerContext{color:var(--text-muted);margin:-8px 0 14px;font-size:13px}.searchInput{border:1px solid var(--border-12);background:var(--surface-80);width:100%;color:var(--text);border-radius:14px;outline:none;flex-shrink:0;margin-bottom:14px;padding:12px 16px;font-size:14px;transition:border-color .18s,box-shadow .18s}.searchInput:focus{border-color:var(--border-24);box-shadow:0 0 0 3px var(--focus-ring)}.searchInput::placeholder{color:var(--text-placeholder)}.closeButton{background:var(--surface-close);width:34px;height:34px;color:var(--text);cursor:pointer;border:0;border-radius:999px;font-size:20px;line-height:1}.foodPickerEmpty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:6px;height:356px;padding:0 24px;display:flex}.foodPickerEmptyIcon{width:40px;height:40px;color:var(--text-muted);opacity:.35;margin-bottom:6px}.foodPickerEmptyTitle{color:var(--text-muted);letter-spacing:-.01em;margin:0;font-size:14px;font-weight:600}.foodPickerEmptySub{color:var(--text-muted);opacity:.55;margin:0;font-size:12px}.foodOptionsWrapper{flex-shrink:0;position:relative}.foodOptionsWrapper:before,.foodOptionsWrapper:after{content:"";pointer-events:none;z-index:2;opacity:0;height:56px;transition:opacity .24s;position:absolute;left:0;right:0}.foodOptionsWrapper:before{background:linear-gradient(to bottom, var(--picker-fade-start), transparent);top:0}.foodOptionsWrapper:after{background:linear-gradient(to top, var(--picker-fade-end), transparent);bottom:0}.foodOptionsWrapper.showTopFade:before,.foodOptionsWrapper.showBottomFade:after{opacity:1}.foodOptions{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:var(--border-20) transparent;grid-template-columns:repeat(4,1fr);grid-auto-rows:minmax(112px,auto);gap:10px;max-height:356px;display:grid;overflow-y:auto}.foodOptions::-webkit-scrollbar{width:6px}.foodOptions::-webkit-scrollbar-track{background:0 0}.foodOptions::-webkit-scrollbar-thumb{background:var(--border-20);border-radius:999px}.foodOption{appearance:none;border:1px solid var(--border-08);background:var(--food-option-surface);box-shadow:var(--food-option-shadow);cursor:pointer;isolation:isolate;border-radius:20px;padding:12px 8px;transition:border-color .18s,box-shadow .18s;overflow:hidden}.foodOption:hover{border-color:var(--border-14)}.foodOptionSkeleton{cursor:default;pointer-events:none;min-height:99px;overflow:hidden}.foodOptionSkeletonImage,.foodOptionSkeletonName{background:linear-gradient(90deg, transparent, #ffffff80, transparent), var(--surface-60);background-size:220% 100%,100% 100%;animation:1.2s ease-in-out infinite foodOptionSkeletonShimmer;display:block;position:relative;overflow:hidden}.foodOptionSkeletonImage{border-radius:18px;width:52px;height:52px;margin:0 auto 8px;box-shadow:inset 0 1px #ffffff8a,0 8px 16px #50402a14}.foodOptionSkeletonName{border-radius:999px;width:64%;height:12px;margin:0 auto;animation-delay:.12s}.foodOptionImage{object-fit:contain;transform-origin:50%;width:52px;height:52px;filter:var(--food-option-img-shadow);border-radius:8px;margin:0 auto 8px;transition:transform .2s cubic-bezier(.2,.9,.2,1);display:block}.foodOption:hover .foodOptionImage{transform:scale(1.08)}.foodOptionName{color:var(--text-option-name);font-size:12px;font-weight:700;display:block}.addCustomButton{border:1px dashed var(--border-20);width:100%;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:14px;margin-top:14px;padding:12px;font-size:14px;font-weight:600;transition:background .18s,border-color .18s}.addCustomButton:hover{background:var(--surface-add-hover);border-color:var(--border-30)}.customFoodForm{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.customInput{border:1px solid var(--border-12);background:var(--surface-80);min-width:120px;color:var(--text);border-radius:10px;outline:none;flex:1;padding:10px 14px;font-size:14px}.customInput.emojiInput{text-align:center;flex:0 0 70px;min-width:70px}.customInput:focus{border-color:var(--border-24)}.saveCustomButton{background:var(--control-bg);color:var(--control-fg);cursor:pointer;border:0;border-radius:10px;padding:10px 18px;font-weight:600}.cancelCustomButton{border:1px solid var(--border-12);color:var(--text-muted);cursor:pointer;background:0 0;border-radius:10px;padding:10px 18px;font-weight:600}.foodOptionEmoji{transform-origin:50%;width:56px;height:56px;filter:var(--food-option-emoji-shadow);border-radius:18px;place-items:center;margin:0 auto 8px;font-size:35px;line-height:1;transition:transform .2s cubic-bezier(.2,.9,.2,1);display:grid;position:relative}.foodOption:hover .foodOptionEmoji{transform:scale(1.08)}.foodEmoji{z-index:2;width:calc(var(--foodSize,46px) + 12px);height:calc(var(--foodSize,46px) + 12px);font-size:calc(var(--foodSize,46px) * .78);transform:translateY(var(--foodY,0px)) rotate(var(--foodRotate,0deg)) scale(var(--foodScale,1));filter:var(--food-emoji-shadow);border-radius:19px;place-items:center;line-height:1;transition:transform .34s cubic-bezier(.2,.9,.2,1.1),opacity .22s,filter .22s;display:grid;position:relative}.groceryModal{background:var(--grocery-surface);border:1px solid var(--modal-border);width:min(420px,100%);box-shadow:var(--modal-shadow);opacity:0;border-radius:30px;padding:18px;transition:transform .22s,opacity .22s;transform:translateY(18px)scale(.98)}.pickerBackdrop.open .groceryModal{opacity:1;transform:translateY(0)scale(1)}.feedbackModal{background:var(--grocery-surface);border:1px solid var(--modal-border);width:min(460px,100%);box-shadow:var(--modal-shadow);opacity:0;border-radius:30px;padding:18px;transition:transform .22s,opacity .22s;transform:translateY(18px)scale(.98)}.pickerBackdrop.open .feedbackModal{opacity:1;transform:translateY(0)scale(1)}.feedbackTypeGroup{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:14px;display:grid}.feedbackTypeButton{border:1px solid var(--border-08);background:var(--food-option-surface);min-height:72px;color:var(--text);box-shadow:var(--food-option-shadow);cursor:pointer;border-radius:16px;place-items:center;gap:4px;padding:10px;font-size:13px;font-weight:800;transition:border-color .18s,background .18s,transform .18s;display:grid}.feedbackTypeButton:hover{border-color:var(--border-14)}.feedbackTypeButton.active{border-color:var(--border-30);background:var(--surface-92);transform:translateY(-1px)}.feedbackTypeEmoji{font-size:24px;line-height:1}.feedbackField{color:var(--text);gap:7px;margin-bottom:12px;font-size:13px;font-weight:800;display:grid}.feedbackField em{color:var(--text-muted);font-size:12px;font-style:normal;font-weight:600}.feedbackTextarea,.feedbackInput{border:1px solid var(--border-12);background:var(--surface-80);width:100%;color:var(--text);font:inherit;border-radius:14px;outline:none;font-size:14px;font-weight:500;transition:border-color .18s,box-shadow .18s}.feedbackTextarea{resize:vertical;min-height:128px;padding:12px 14px;line-height:1.45}.feedbackInput{min-height:42px;padding:0 14px}.feedbackTextarea:focus,.feedbackInput:focus{border-color:var(--border-24);box-shadow:0 0 0 3px var(--focus-ring)}.feedbackTextarea.feedbackTextarea--invalid,.feedbackInput.feedbackInput--invalid{border-color:#c45c52}.feedbackTextarea.feedbackTextarea--invalid:focus,.feedbackInput.feedbackInput--invalid:focus{box-shadow:0 0 0 3px #c45c5259}.feedbackFieldError{color:#a33b32;margin:-4px 0 0;font-size:12px;font-weight:700}:root[data-theme=dark] .feedbackFieldError{color:#ffafa6}.feedbackTextarea::placeholder,.feedbackInput::placeholder{color:var(--text-placeholder)}.feedbackTextarea:disabled,.feedbackInput:disabled,.feedbackTypeButton:disabled{opacity:.72;cursor:wait}.feedbackMessage{border-radius:12px;margin:2px 0 12px;padding:9px 12px;font-size:13px;font-weight:700}.feedbackMessage.success{color:#2f7d4d;background:#44946024}.feedbackMessage.error{color:#a33b32;background:#ba463a24}:root[data-theme=dark] .feedbackMessage.success{color:#9ee0b7}:root[data-theme=dark] .feedbackMessage.error{color:#ffafa6}.feedbackActions{justify-content:flex-end;align-items:center;gap:8px;margin-top:4px;display:flex}.groceryItems{margin:0;padding:0;list-style:none}.groceryItem{border-bottom:1px solid var(--border-08);justify-content:space-between;align-items:center;padding:12px 0;display:flex}.groceryItem:last-child{border-bottom:none}.groceryName{color:var(--text);font-weight:600}.groceryCount{color:var(--text-muted);font-size:14px;font-weight:600}.emptyGrocery{text-align:center;color:var(--text-muted);padding:20px 0;font-size:14px}.hint{text-align:center;color:var(--text-hint);margin-top:16px;font-size:13px}@keyframes pickerIn{0%{opacity:0;transform:translateY(18px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes foodOptionSkeletonShimmer{0%{background-position:180% 0,0 0}to{background-position:-80% 0,0 0}}@media (prefers-reduced-motion:reduce){.foodOptionSkeletonImage,.foodOptionSkeletonName{animation:none}}@media (max-width:1100px){.tray{overflow-x:auto}.plannerGrid{min-width:980px}}@media (max-width:900px){.page{width:100%;max-width:560px;padding:18px 14px 30px}.appBar{margin-bottom:16px}.appLogo{border-radius:8px;width:30px;height:30px}.appName{font-size:17px}.themeToggle{width:36px;height:36px}.feedbackTopButton{min-height:36px;padding:0 11px;font-size:11px}.feedbackTopButton svg{width:17px;height:17px}.title{margin-bottom:12px}.title h1{letter-spacing:-.02em;margin-bottom:4px;font-size:22px}.title p{max-width:30ch;margin:0 auto;font-size:12px;line-height:1.35}.weekNav{grid-template-columns:38px minmax(0,1fr) 38px;gap:6px;margin-bottom:10px;display:grid}.weekNavButton{justify-content:center;gap:4px;width:38px;height:38px;padding:0;font-size:11px;position:relative}.weekNavButton span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.weekNavButton svg{width:20px;height:20px}.weekLabel{overflow-wrap:anywhere;min-width:0;font-size:14px}.weekNavCenter{justify-content:center;min-width:0}.progressRow{margin-bottom:10px}.progressPill{padding:5px 12px;font-size:11px}.plannerTop{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:12px;display:grid}.controlButton{white-space:normal;border-radius:999px;gap:5px;width:100%;min-height:32px;padding:8px 9px;font-size:11px;line-height:1.1}.tray{border-radius:26px;padding:13px;overflow:visible}.tray:before{border-radius:21px;inset:6px}.plannerGrid--desktop{display:none}.plannerMobile{z-index:1;gap:10px;display:grid;position:relative}.mobileDay{border:1px solid var(--tray-inner-ring);background:#ffffff14;border-radius:18px;padding:12px 10px 14px}.mobileDayTitle{color:var(--label-day);letter-spacing:.08em;text-align:center;text-transform:uppercase;margin:0 0 10px;font-size:13px;font-weight:800;line-height:1.2}.mobileDayTitle--today{color:var(--label-today);text-decoration:underline;-webkit-text-decoration-color:var(--label-today-underline);text-decoration-color:var(--label-today-underline);text-underline-offset:5px;text-decoration-thickness:1.5px}.mobileMeals{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 10px;display:grid}.mobileMeal{flex-direction:column;justify-content:start;align-items:center;gap:6px;min-width:0;min-height:132px;display:flex}.mobileMealLabel{color:var(--label-meal);letter-spacing:.08em;text-align:center;text-transform:uppercase;font-size:11px;font-weight:800;line-height:1.2}.mobileMeal .pocketCell{width:min(126px,100%)}.mobileMeal .pocket{border-radius:25px;height:92px}.mobileMeal .pocketBase{border-radius:25px}.mobileMeal .pocketRim{border-radius:22px}.mobileMeal .pocketContent,.mobileMeal .pocketBubble{border-radius:19px;inset:9px 11px}.mobileMeal .pocketInnerShadow{border-radius:16px;inset:15px 17px}.mobileMeal .pocketLabel{font-size:11px}.pickerBackdrop{padding:10px}.foodOptions{grid-template-columns:repeat(3,1fr);grid-auto-rows:minmax(98px,auto);gap:8px;max-height:min(42vh,310px)}.foodOption{border-radius:16px;padding:10px 6px}.foodOptionImage,.foodOptionSkeletonImage{width:42px;height:42px}.foodPicker{border-radius:22px;max-height:calc(100dvh - 20px);padding:14px}.feedbackModal{border-radius:22px;max-height:calc(100dvh - 20px);padding:14px;overflow-y:auto}}@media (max-width:420px){.page{padding-inline:10px}.plannerTop{grid-template-columns:1fr}.controlButton{min-height:36px}.feedbackTopButton span{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.feedbackTopButton{width:36px;padding:0}.feedbackActions{grid-template-columns:1fr;display:grid}.mobileDay{padding:10px}.mobileMeals{gap:10px 8px}.mobileMeal .pocketCell{width:min(118px,100%)}.foodOptions{grid-template-columns:repeat(2,1fr)}}
