/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}::backdrop{--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.collapse{visibility:collapse}.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.contents{display:contents}.hidden{display:none}.inline{display:inline}.table{display:table}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.shadow{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}}:root{--ink:#342b2b;--muted:#7d7070;--cream:#fffaf3;--paper:#fffefa;--line:#eadfd4;--pink:#f7b9c6;--green:#c9dda7;--orange:#f5c390;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--radius-control:13px;--radius-card:22px;--shadow-soft:0 10px 30px #49324014;--shadow-float:0 18px 48px #402b3624;--member-one:#e9b6cb;--member-one-soft:#fff0f6;--member-two:#aabf85;--member-two-soft:#f1f7e8;--status-good:#6f8d4f;--status-warn:#9b6a42;--status-danger:#a84f50;--surface-grain-image:radial-gradient(circle at 35% 35%, #43323b0b 0 .4px, transparent .65px);--surface-grain-size:4px 4px}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:radial-gradient(circle at 3% 12%, #f7b9c638, transparent 21rem), radial-gradient(circle at 95% 35%, #c9dda738, transparent 24rem), var(--cream);color:var(--ink);font-family:var(--font-geist-sans), "PingFang SC", "Microsoft YaHei", sans-serif;margin:0;overflow-x:clip}button,input,a{font:inherit}button{color:inherit}button:disabled{cursor:not-allowed;opacity:.5}:is(button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible){outline-offset:3px;outline:3px solid #e47e946b}.page-shell{width:min(1240px,100% - 40px);min-height:100vh;margin:0 auto;padding-bottom:90px}.topbar{grid-template-columns:auto auto 1fr;align-items:center;gap:20px;min-height:86px;display:grid}.brand{cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;width:max-content;font-size:17px;font-weight:850;display:inline-flex}.brand-mark{border:1.5px solid var(--ink);width:38px;height:38px;box-shadow:3px 3px 0 var(--ink);background:#fff;border-radius:13px;place-items:center;display:grid;transform:rotate(-3deg)}.nav-pills{border:1px solid var(--line);background:#ffffffb8;border-radius:999px;gap:5px;padding:5px;display:flex}.nav-pill,.soft-button{cursor:pointer;background:0 0;border:0}.nav-pill{color:var(--muted);border-radius:999px;padding:9px 17px;font-size:13px;transition:all .2s}.nav-pill:hover{color:var(--ink)}.nav-pill.active{color:var(--ink);background:#fff;font-weight:750;box-shadow:0 5px 18px #402b2514}.soft-button{border:1px solid var(--line);background:#ffffffad;border-radius:14px;justify-self:end;padding:10px 15px;font-size:13px;font-weight:700;transition:all .2s}.soft-button:hover{background:#fff;transform:translateY(-2px)}.top-actions{justify-self:end;align-items:center;gap:8px;display:flex}.week-switcher-wrap{z-index:35;position:relative}.week-switcher{border:1px solid var(--line);background:#ffffffc2;border-radius:15px;align-items:center;gap:4px;padding:4px;display:flex}.week-switcher>button{cursor:pointer;background:#f6eee7;border:0;border-radius:10px;min-width:29px;height:31px;font-size:16px}.week-switcher .week-display{background:0 0;justify-content:center;align-items:center;gap:7px;min-width:158px;padding:5px 8px;display:flex}.week-switcher .week-display span{white-space:nowrap;font-size:9px;font-weight:750}.week-switcher .week-display b{color:#8d7c72;font-size:8px;transition:transform .18s}.week-switcher .week-display[aria-expanded=true] b{transform:rotate(180deg)}.week-switcher .today-week{color:#7d6a61;min-width:auto;padding:0 8px;font-size:8px;font-weight:800}.month-calendar{border:1.5px solid var(--ink);width:min(340px,100vw - 24px);box-shadow:5px 7px 0 var(--ink), 0 20px 55px #392a252e;background:#fffdf9;border-radius:23px;padding:17px;animation:.2s both modalPop;position:absolute;top:calc(100% + 9px);right:0}.month-calendar-head{grid-template-columns:32px 1fr 32px;align-items:center;gap:8px;display:grid}.month-calendar-head strong{text-align:center;font-size:14px}.month-calendar-head button{border:1px solid var(--line);cursor:pointer;background:#f8eee5;border-radius:10px;width:31px;height:31px;font-size:16px}.calendar-weekdays,.calendar-weeks>button{grid-template-columns:repeat(7,1fr);display:grid}.calendar-weekdays{margin:13px 0 5px;padding:0 5px}.calendar-weekdays span{color:#9b8d83;text-align:center;font-size:8px;font-weight:850}.calendar-weeks{gap:4px;display:grid}.calendar-weeks>button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;padding:3px}.calendar-weeks>button:hover{background:#fff3f5;border-color:#e5b7c1}.calendar-weeks>button.selected{border-color:var(--ink);box-shadow:2px 2px 0 var(--ink);background:#f6dce2}.calendar-weeks>button.current:not(.selected){background:#eef4e5}.calendar-weeks span{border-radius:9px;place-items:center;min-height:31px;display:grid}.calendar-weeks span small{font-family:Georgia,serif;font-size:11px}.calendar-weeks span.outside{color:#c8beb7}.calendar-weeks span.today{background:var(--ink);color:#fff}.month-calendar-foot{border-top:1px dashed var(--line);justify-content:space-between;align-items:center;margin-top:10px;padding-top:10px;display:flex}.month-calendar-foot span{color:var(--muted);font-size:8px}.month-calendar-foot button{cursor:pointer;color:#65764c;background:#e8f0db;border:0;border-radius:9px;padding:6px 9px;font-size:8px;font-weight:850}.hero,.sub-hero{border:1.5px solid #decfc2;position:relative;overflow:hidden;box-shadow:0 18px 50px #5c3d3214}.hero{border-radius:34px;justify-content:space-between;align-items:flex-end;min-height:245px;padding:48px 52px;display:flex}.hero-menu{background:#f8d9df}.hero:before,.hero:after,.sub-hero:before{content:"";border:1.5px solid #342b2b21;border-radius:50%;position:absolute}.hero:before{width:210px;height:210px;top:-85px;right:8%}.hero:after{width:130px;height:130px;bottom:-45px;right:-30px}.eyebrow,.section-kicker,.source-copy>span:first-child,.note-label{letter-spacing:.16em;color:#8c6169;font-size:10px;font-weight:850}.hero h1,.sub-hero h1{letter-spacing:-.055em;max-width:760px;margin:14px 0 10px;line-height:1.08;position:relative}.hero h1{font-size:clamp(34px,4.2vw,61px)}.hero h1 span{font-family:Georgia,serif;font-weight:400}.hero p,.sub-hero p{color:#785d62;margin:0;font-size:14px}.hero-stats{z-index:1;align-items:center;gap:12px;display:flex;position:relative}.hero-stats>div:not(.mascot){border:1.5px solid var(--ink);min-width:105px;box-shadow:4px 4px 0 var(--ink);background:#ffffffad;border-radius:20px;padding:18px}.hero-stats strong,.hero-stats span{display:block}.hero-stats strong{letter-spacing:-.04em;font-size:23px}.hero-stats span{color:var(--muted);margin-top:3px;font-size:10px}.mascot{background:#fff4dc;border-radius:26px;place-items:center;width:72px;height:72px;font-size:39px;display:grid;transform:rotate(7deg);box-shadow:0 10px 25px #5332281f}.day-strip{grid-template-columns:repeat(7,1fr);gap:10px;margin:20px 0 46px;display:grid}.day-button{border:1px solid var(--line);cursor:pointer;background:#ffffffbf;border-radius:20px;padding:14px 8px 12px;transition:all .22s;position:relative}.day-button span,.day-button small,.day-button strong{display:block}.day-button span{color:var(--muted);font-size:11px}.day-button strong{margin:7px 0 4px;font-family:Georgia,serif;font-size:23px}.day-button small{color:#a0958d;font-size:9px}.day-button:hover{border-color:#cfbdb1;transform:translateY(-3px)}.day-button.selected{border:1.5px solid var(--ink);box-shadow:4px 5px 0 var(--ink);background:#fff;transform:translateY(-3px)rotate(-1deg)}.day-button.selected:after{content:"♥";color:#e47e94;font-size:10px;position:absolute;top:9px;right:11px}.daily-heading{justify-content:space-between;align-items:flex-end;margin-bottom:19px;display:flex}.section-kicker{color:#9b8e83}.daily-heading h2{letter-spacing:-.045em;margin:7px 0 0;font-size:clamp(25px,3vw,37px)}.day-progress{color:var(--muted);align-items:center;gap:11px;font-size:11px;display:flex}.day-progress b{color:var(--ink);font-size:17px}.day-progress i{background:#fff;border:1px solid #e3d9cf;border-radius:999px;width:112px;height:8px;overflow:hidden}.day-progress em{border-radius:inherit;background:#d79aad;height:100%;transition:width .35s;display:block}.live-refresh{background:#eff6e4d1;border:1px solid #d8e4c4;border-radius:17px;grid-template-columns:auto 1fr auto auto;align-items:center;gap:13px;margin:-26px 0 31px;padding:13px 16px;display:grid}.live-refresh.error{background:#fff0ed;border-color:#efc2bd}.live-pulse{background:#8db65c;border-radius:50%;width:10px;height:10px;position:relative}.live-pulse:after{content:"";border:1px solid #8db65c;border-radius:50%;animation:1.8s infinite livePulse;position:absolute;inset:-5px}@keyframes livePulse{0%{opacity:.8;transform:scale(.65)}80%,to{opacity:0;transform:scale(1.5)}}.live-refresh strong,.live-refresh p{margin:0;display:block}.live-refresh strong{font-size:11px}.live-refresh p{color:var(--muted);margin-top:3px;font-size:9px}.live-refresh time{color:#778367;font-variant-numeric:tabular-nums;font-size:10px}.live-refresh button{cursor:pointer;background:#fff;border:1px solid #bdccaa;border-radius:10px;padding:7px 10px;font-size:9px;font-weight:750}.assistant-update{background:linear-gradient(135deg,#f5effb,#fff8f3);border:1.5px solid #bba9cf;border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin:-18px 0 30px;padding:17px 18px;display:grid;box-shadow:3px 4px #705d83}.assistant-avatar{color:#705d83;background:#fff;border:1px solid #705d83;border-radius:15px;place-items:center;width:43px;height:43px;font-size:19px;display:grid;box-shadow:2px 3px #705d83}.assistant-update div>span,.assistant-update strong,.assistant-update p,.assistant-update small{display:block}.assistant-update div>span{color:#826c97;letter-spacing:.14em;font-size:8px;font-weight:850}.assistant-update strong{margin-top:4px;font-size:12px}.assistant-update p{color:#6f6277;margin:4px 0 0;font-size:10px;line-height:1.5}.assistant-update small{color:#9a8da2;margin-top:5px;font-size:8px}.assistant-update button{color:#705d83;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #705d83;border-radius:11px;padding:9px 11px;font-size:8px;font-weight:850}.history-update{background:#f7f2fb;border:1px solid #dfd1e9;border-radius:16px;align-items:center;gap:10px;margin:-18px 0 30px;padding:12px 15px;display:flex}.history-update>span{font-size:18px}.history-update p{color:#776b80;margin:0;font-size:9px;line-height:1.55}.history-update b{color:#705d83;margin-right:8px}.source-grid{grid-template-columns:1fr 1fr;gap:14px;display:grid}.source-card{border:1.5px solid var(--ink);min-height:158px;box-shadow:4px 5px 0 var(--ink);text-align:left;cursor:pointer;border-radius:25px;grid-template-columns:auto 1fr auto;align-items:start;gap:18px;padding:25px;transition:all .22s;display:grid;position:relative}.source-card:hover{box-shadow:6px 9px 0 var(--ink);transform:translateY(-4px)}.fridge-card{background:#e9f0d9}.shop-card{background:#ffecd3}.source-icon{background:#ffffffbf;border:1px solid #342b2b2e;border-radius:16px;place-items:center;width:49px;height:49px;font-size:23px;display:grid}.source-copy{display:block}.source-copy>strong{margin:5px 0 14px;font-size:19px;display:block}.source-copy>span:first-child{color:#778064;display:block}.shop-card .source-copy>span:first-child{color:#9d7550}.chips{flex-wrap:wrap;gap:7px;display:flex}.chips>span{background:#fff9;border:1px solid #342b2b21;border-radius:999px;padding:5px 9px;font-size:10px}.source-card>b{white-space:nowrap;background:#ffffff94;border-radius:9px;padding:5px 8px;font-size:11px}.missing-strip{text-align:left;cursor:pointer;background:#fff0ed;border:1px dashed #e0aca3;border-radius:17px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;width:100%;margin-top:13px;padding:13px 17px;display:grid}.missing-strip>span{font-size:23px}.missing-strip strong,.missing-strip p{margin:0;display:block}.missing-strip strong{font-size:11px}.missing-strip p{color:#996f69;margin-top:3px;font-size:9px}.missing-strip>b{color:#a45e58;font-size:9px}.inspiration-strip{background:#f3effa;border:1px solid #dfd4ee;border-radius:19px;grid-template-columns:minmax(230px,.7fr) 1.3fr;align-items:center;gap:20px;margin-top:13px;padding:17px 20px;display:grid}.inspiration-strip>div:first-child span,.inspiration-strip>div:first-child strong{display:block}.inspiration-strip>div:first-child span{color:#85719a;letter-spacing:.14em;font-size:8px;font-weight:850}.inspiration-strip>div:first-child strong{margin-top:5px;font-size:12px}.inspiration-strip>div:last-child{flex-wrap:wrap;gap:7px;display:flex}.inspiration-strip>div:last-child span{background:#ffffffb3;border:1px solid #ddd1e9;border-radius:11px;padding:7px 9px;font-size:9px}.priority-panel{background:#fffaf6;border:1px solid #ead7cc;border-radius:21px;margin-top:13px;padding:18px 20px}.priority-heading{justify-content:space-between;align-items:end;gap:20px;display:flex}.priority-heading span,.priority-heading strong{display:block}.priority-heading span{color:#a26963;letter-spacing:.14em;font-size:8px;font-weight:850}.priority-heading strong{margin-top:5px;font-size:13px}.priority-heading p{color:var(--muted);align-items:center;gap:6px;margin:0;font-size:8px;display:flex}.priority-dot{border-radius:50%;width:8px;height:8px;display:inline-block}.priority-dot.high{background:#e88f87}.priority-dot.watch{background:#e8b36d}.priority-cards{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:14px;display:grid}.priority-cards button{text-align:left;cursor:pointer;border:1px solid;border-radius:15px;gap:4px;padding:13px;display:grid;position:relative}.priority-cards button.high{background:#fff0ed;border-color:#efb9b3}.priority-cards button.watch{background:#fff6e5;border-color:#ebcea4}.priority-cards button>span{background:#ffffffb8;border-radius:999px;padding:3px 6px;font-size:8px;font-weight:850;position:absolute;top:9px;right:9px}.priority-cards strong{padding-right:36px;font-size:11px}.priority-cards small{min-height:28px;color:var(--muted);font-size:8px;line-height:1.55}.priority-cards em{color:#9b655e;font-size:8px;font-style:normal;font-weight:800}.meal-section{grid-template-columns:minmax(0,1.55fr) minmax(290px,.65fr);align-items:start;gap:18px;margin-top:18px;display:grid}.meal-list{gap:10px;display:grid}.meal-wrap{border:1px solid var(--line);background:var(--paper);border-radius:23px;transition:all .25s;overflow:hidden}.meal-wrap.open{border-color:#d7c7ba;box-shadow:0 13px 32px #3a292214}.meal-wrap.done .meal-card,.meal-wrap.done .meal-detail{opacity:.68}.meal-wrap.done .meal-copy strong{-webkit-text-decoration:line-through #c88b9c;text-decoration:line-through #c88b9c}.meal-wrap.priority-high{border-left:4px solid #e88f87}.meal-wrap.priority-watch{border-left:4px solid #e8b36d}.meal-card{background:#fbf9f6;min-height:70px;padding-right:52px;position:relative}.meal-toggle{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto 46px 1fr auto auto;align-items:center;gap:11px;width:100%;min-height:70px;padding:9px 8px 9px 15px;display:grid}.meal-emoji{border-radius:14px;place-items:center;width:44px;height:44px;font-size:23px;transition:transform .22s;display:grid}.meal-toggle:hover .meal-emoji{transform:rotate(-5deg)scale(1.06)}.meal-card.pink .meal-emoji{background:#fde5ea}.meal-card.orange .meal-emoji{background:#ffead6}.meal-card.green .meal-emoji{background:#edf3e3}.meal-time{color:var(--muted);font-size:10px;font-weight:750}.meal-copy strong,.meal-copy small,.meal-kcal strong,.meal-kcal small{display:block}.plan-label{color:#a38f95;letter-spacing:.11em;margin-bottom:2px;font-size:6px;font-weight:850;display:block}.meal-copy strong{font-size:13px}.meal-copy small{color:var(--muted);margin-top:3px;font-size:8px}.adjustment-badge,.priority-badge{border-radius:999px;width:max-content;margin:4px 4px 0 0;padding:3px 6px;font-size:7px;font-weight:800;display:inline-flex}.adjustment-badge{color:#76608c;background:#eee8f7}.priority-badge.high{color:#a45650;background:#ffe4df}.priority-badge.watch{color:#94672f;background:#fff0d5}.live-state{border-radius:999px;width:max-content;margin-top:4px;padding:3px 6px;font-size:7px;font-style:normal;font-weight:800;display:inline-flex}.live-state.ready{color:#607d3d;background:#e6f0d8}.live-state.shopping{color:#9c6b36;background:#fff0d7}.live-state.missing{color:#aa564f;background:#ffe3df}.meal-kcal{text-align:right}.meal-kcal strong{font-size:15px}.meal-kcal small{color:var(--muted);font-size:8px}.meal-arrow{border:1px solid var(--line);border-radius:50%;place-items:center;width:27px;height:27px;transition:all .2s;display:grid}.done-button{z-index:2;cursor:pointer;background:#fff;border:1.5px solid #cfc1b5;border-radius:10px;width:28px;height:28px;font-size:15px;font-weight:900;transition:all .18s;position:absolute;top:50%;right:17px;transform:translateY(-50%)}.done-button:hover{transform:translateY(-50%)scale(1.08)}.done-button.checked{border-color:var(--ink);box-shadow:2px 2px 0 var(--ink);background:#c9dda7}.refresh-meal-button{z-index:3;color:#745e83;cursor:pointer;background:#f6eef9;border:1px solid #d6c7dc;border-radius:8px;width:31px;height:23px;font-size:13px;font-weight:900;line-height:1;transition:all .18s;position:absolute;top:6px;right:10px}.refresh-meal-button:hover{background:#eee1f4;border-color:#826b92;transform:translateY(-1px)}.refresh-meal-button.spinning{animation:.8s linear infinite recipeSpin}@keyframes recipeSpin{to{transform:rotate(360deg)}}.meal-checkin{background:linear-gradient(135deg,#fff3f9,#fffaf2);border:2px solid #dfb8cf;border-radius:20px;margin:0 12px 14px;padding:19px;box-shadow:0 9px 24px #794d6917}.meal-checkin.saved{background:linear-gradient(135deg,#fbfff5,#fffaf2);border-color:#c2d39f}.checkin-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.checkin-heading span,.checkin-heading strong{display:block}.checkin-heading span{color:#9a6687;letter-spacing:.14em;font-size:8px;font-weight:850}.checkin-heading strong{margin-top:4px;font-size:15px}.checkin-heading strong i{background:#f2d7e5;border-radius:8px;place-items:center;width:23px;height:23px;margin-right:5px;font-size:12px;font-style:normal;display:inline-grid}.checkin-heading p{color:#7e6d77;margin:5px 0 0;font-size:9px;line-height:1.55}.checkin-heading>em{color:#65784a;white-space:nowrap;background:#e9f1dd;border-radius:999px;padding:6px 9px;font-size:8px;font-style:normal;font-weight:850}.checkin-form{grid-template-columns:minmax(220px,.68fr) 1fr 148px;align-items:stretch;gap:13px;display:grid}.photo-upload{cursor:pointer;text-align:center;background:#ffffffe6;border:2px dashed #c798b5;border-radius:17px;place-items:center;min-height:146px;transition:border-color .18s,transform .18s;display:grid;position:relative;overflow:hidden}.photo-upload:hover{border-color:#8f6581;transform:translateY(-1px)}.photo-upload>span>*{display:block}.photo-upload>span{font-size:31px}.photo-upload>span b{margin-top:7px;font-size:11px}.photo-upload>span small{color:var(--muted);margin-top:4px;font-size:7px}.photo-upload input{opacity:0;cursor:pointer;position:absolute;inset:0}.photo-upload img{object-fit:cover;width:100%;height:100%;min-height:146px}.photo-upload>em{color:#fff;text-overflow:ellipsis;white-space:nowrap;background:#342b2bc7;border-radius:8px;padding:4px 6px;font-size:7px;font-style:normal;position:absolute;inset:auto 6px 6px;overflow:hidden}.photo-upload.has-photo:after{content:"轻点可换一张";color:#6f5869;background:#ffffffe0;border-radius:999px;padding:4px 7px;font-size:7px;font-weight:850;position:absolute;top:7px;right:7px;box-shadow:0 2px 8px #442f3c1f}.meal-photo-preview-state{color:#765f78;text-align:center;background:linear-gradient(145deg,#fff9fd,#f5effa);align-content:center;place-items:center;gap:5px;padding:12px;display:grid}.meal-photo-preview-state b,.meal-photo-preview-state small{display:block}.meal-photo-preview-state b{font-size:11px}.meal-photo-preview-state small{color:var(--muted);font-size:8px;line-height:1.45}.meal-photo-preview-state.failed{color:#8b6266;background:linear-gradient(145deg,#fff8f3,#fbf0f2)}.photo-upload .meal-photo-preview-state{width:100%;min-height:146px;font-size:29px}.meal-photo-picker{background:#ffffffd1;border:1.5px solid #ddc3d3;border-radius:17px;align-content:start;gap:8px;min-width:0;padding:10px;display:grid}.meal-photo-picker-head{color:#7d6575;justify-content:space-between;align-items:center;gap:8px;font-size:9px;font-weight:850;display:flex}.meal-photo-picker-head strong{color:#765a6d;background:#f4e6ef;border-radius:999px;padding:4px 7px;font-size:8px}.meal-photo-grid{grid-template-columns:repeat(3,minmax(62px,1fr));gap:7px;display:grid}.meal-photo-tile,.meal-photo-add{aspect-ratio:1;background:#fff;border:1px solid #d9c7d7;border-radius:13px;min-width:0;position:relative;overflow:hidden}.meal-photo-tile>img,.meal-photo-tile>.meal-photo-preview-state{object-fit:cover;width:100%;height:100%;min-height:0}.meal-photo-tile-fallback{color:#80687b;text-align:center;background:#faf3f8;align-content:center;place-items:center;gap:4px;width:100%;height:100%;font-size:22px;display:grid}.meal-photo-tile-fallback small{font-size:7px;line-height:1.4}.meal-photo-index{color:#664f61;background:#ffffffeb;border-radius:999px;place-items:center;min-width:21px;height:21px;padding:0 5px;font-size:8px;font-weight:900;display:grid;position:absolute;top:5px;left:5px;box-shadow:0 2px 7px #462d4124}.meal-photo-tile>em{color:#fff;text-overflow:ellipsis;white-space:nowrap;background:#3f313bc2;border-radius:999px;max-width:calc(100% - 10px);padding:3px 5px;font-size:6px;font-style:normal;position:absolute;bottom:5px;left:5px;overflow:hidden}.meal-photo-tile>small{z-index:1;color:#695663;text-overflow:ellipsis;white-space:nowrap;background:#ffffffe6;border-radius:7px;padding:3px 5px;font-size:6px;line-height:1.3;position:absolute;bottom:24px;left:5px;right:5px;overflow:hidden}.meal-photo-tile>.meal-photo-remove{z-index:2;color:#9b5461;cursor:pointer;background:#fff4f6eb;border:0;border-radius:12px;width:44px;height:44px;font-size:19px;font-weight:800;position:absolute;top:2px;right:2px}.meal-photo-open{cursor:zoom-in;background:0 0;border:0;width:100%;height:100%;min-height:44px;padding:0;display:block}.meal-photo-open>img,.meal-photo-open>.meal-photo-preview-state{object-fit:cover;width:100%;height:100%}.meal-photo-open~.meal-photo-index,.meal-photo-open~em,.meal-photo-open~small{pointer-events:none}.meal-photo-open:focus-visible{outline-offset:-4px;outline:3px solid #725579}.saved-photo-dialog{color:#392e38;overscroll-behavior:contain;background:#fffafc;border:1px solid #ddc3d3;border-radius:22px;width:min(900px,100vw - 24px);max-height:calc(100dvh - 24px);margin:auto;padding:16px;overflow:auto;box-shadow:0 24px 80px #24152555}.saved-photo-dialog::backdrop{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#241c28c9}.saved-photo-dialog header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.saved-photo-dialog h2{margin:0;font-size:1.125rem}.saved-photo-dialog h2 small{color:#785f74;margin-left:8px;font-size:.875rem}.saved-photo-dialog button,.saved-photo-actions a{color:#523d50;min-height:44px;font:inherit;cursor:pointer;text-align:center;background:#fff;border:1px solid #bfa1b6;border-radius:12px;padding:10px 16px;font-size:1rem}.saved-photo-dialog button:disabled{opacity:.5;cursor:default}.saved-photo-dialog header button{min-width:44px;font-size:1.5rem}.saved-photo-stage{color:#fff;background:#302c33;border-radius:14px;place-items:center;height:min(55dvh,620px);min-height:180px;display:grid;overflow:auto}.saved-photo-stage>img{object-fit:contain;-webkit-touch-callout:default;width:100%;max-width:100%;height:100%;max-height:100%;display:block}.saved-photo-stage.zoomed{display:block}.saved-photo-stage.zoomed>img{width:auto;max-width:none;height:auto;max-height:none}.saved-photo-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.saved-photo-actions>button:first-child{background:#eed6e7;font-weight:700}.saved-photo-help,.saved-photo-message{color:#6e5569;margin:10px 0 0;font-size:.875rem;line-height:1.6}.saved-photo-error{text-align:center;padding:20px;font-size:1rem}.saved-photo-dialog nav{justify-content:space-between;gap:12px;margin-top:12px;display:flex}.meal-photo-add{cursor:pointer;color:#795e71;text-align:center;border:2px dashed #c798b5;align-content:center;place-items:center;gap:4px;transition:all .18s;display:grid}.meal-photo-add:hover{background:#fff8fc;border-color:#8f6581;transform:translateY(-1px)}.meal-photo-add>span{font-size:24px;line-height:1}.meal-photo-add>b{font-size:9px}.meal-photo-add>small{color:var(--muted);font-size:7px}.meal-photo-add input{opacity:0;cursor:pointer;position:absolute;inset:0}.meal-photo-add.normalizing{cursor:wait;animation:1.2s ease-in-out infinite alternate multiPhotoGlow}.meal-photo-picker>p{color:#887984;margin:0;font-size:7px;line-height:1.5}@keyframes multiPhotoGlow{to{background:#f9effc;border-color:#a178b1}}.meal-note-input{grid-template-rows:auto 1fr;gap:7px;display:grid}.meal-note-input>span,.people-picker>span{color:#7f6877;font-size:9px;font-weight:850}.meal-note-input textarea{resize:vertical;width:100%;min-height:119px;font:inherit;background:#fffffff0;border:1.5px solid #d8becd;border-radius:15px;outline:0;padding:13px 14px;font-size:11px;line-height:1.65}.meal-note-input textarea:focus{border-color:#98778f;box-shadow:0 0 0 3px #dec2d659}.people-picker{grid-template-rows:auto auto 1fr;gap:7px;display:grid}.people-picker>div{grid-template-columns:1fr 1fr;gap:4px;display:grid}.people-picker>div button{cursor:pointer;background:#fff;border:1px solid #d8bdcd;border-radius:11px;min-height:42px;padding:8px 5px;font-size:9px}.people-picker>div button.active{color:#684f62;background:#f3e7f0;border-color:#765f70;font-weight:850}.save-meal-button{border:1px solid var(--ink);min-height:49px;box-shadow:3px 3px 0 var(--ink);cursor:pointer;background:#edcfe0;border-radius:12px;align-self:end;padding:10px;font-size:9px;font-weight:850}.meal-visual-summary{background:#ffffffb8;border:1px solid #ead2df;border-radius:14px;grid-template-columns:auto 1fr;align-items:start;gap:9px;margin-top:11px;padding:10px 12px;display:grid}.meal-visual-summary>b{color:#8b607a;letter-spacing:.08em;white-space:nowrap;padding-top:6px;font-size:8px}.meal-visual-summary>div{flex-wrap:wrap;gap:6px;display:flex}.meal-visual-summary span{color:#624f45;background:#fff8ed;border:1px solid #ead8c4;border-radius:999px;align-items:center;gap:5px;min-height:29px;padding:5px 9px;font-size:9px;font-weight:780;display:inline-flex;box-shadow:0 2px 7px #694a350f}.meal-visual-summary span.photo{color:#6e5a7b;background:#f6f0fb;border-color:#d8cae7}.meal-visual-summary span i{font-size:16px;font-style:normal;line-height:1}.meal-analysis{background:#f3f0f4;border-radius:11px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin-top:10px;padding:9px 11px;display:grid}.meal-analysis>span{font-size:15px}.meal-analysis p{color:#746a75;margin:0;font-size:9px;line-height:1.55}.meal-analysis p b{color:#5f5160;margin-bottom:2px;display:block}.meal-analysis>em{color:#96708c;white-space:nowrap;font-size:7px;font-style:normal;font-weight:800}.meal-analysis.reviewed{background:#eee8f7}.meal-detail{grid-template-columns:.8fr 1.1fr;gap:18px;padding:0 22px 22px 102px;animation:.26s both detailIn;display:grid}@keyframes detailIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:none}}.detail-label{color:#9a8d83;letter-spacing:.13em;text-transform:uppercase;margin-bottom:11px;font-size:9px;font-weight:850;display:block}.detail-dishes{background:#fbf4ed;border-radius:16px;padding:17px}.detail-dishes>div{border-bottom:1px dashed #e4d5c9;justify-content:space-between;gap:10px;padding:6px 0;font-size:11px;display:flex}.detail-dishes>div b{white-space:nowrap;font-size:10px}.detail-dishes p{justify-content:space-between;margin:12px 0 0;font-size:11px;display:flex}.detail-dishes p span{color:var(--muted)}.detail-ingredients{border:1px dashed #dfd2c8;border-radius:16px;padding:17px}.ingredient-pills{flex-wrap:wrap;gap:7px;display:flex}.ingredient-pills>span{background:#f7f5f0;border-radius:10px;align-items:center;gap:5px;padding:6px 8px;font-size:10px;display:inline-flex}.ingredient-pills>span i,.source-legend i{border-radius:50%;width:7px;height:7px}.ingredient-pills>span.fridge i,.fridge-dot{background:#9fbd6f}.ingredient-pills>span.shop i,.shop-dot{background:#eda45e}.ingredient-pills>span.missing{color:#a65f58;background:#fff0ed}.ingredient-pills>span.missing i,.missing-dot{background:#d87970}.ingredient-pills small{color:var(--muted)}.source-legend{color:var(--muted);gap:12px;margin:12px 0 0;font-size:9px;display:flex}.source-legend span{align-items:center;gap:5px;display:inline-flex}.detail-recipe-card{background:linear-gradient(135deg,#faf6fc,#fffdf9);border:1px solid #d8cbe3;border-radius:18px;grid-column:1/-1;padding:18px}.detail-recipe-head{justify-content:space-between;align-items:flex-start;gap:15px;display:flex}.detail-recipe-head span,.detail-recipe-head strong{display:block}.detail-recipe-head span{color:#836e94;letter-spacing:.13em;font-size:8px;font-weight:850}.detail-recipe-head strong{margin-top:4px;font-size:13px}.detail-recipe-head p{color:var(--muted);margin:4px 0 0;font-size:8px}.detail-recipe-head>em{color:#647849;white-space:nowrap;background:#e7efd9;border-radius:999px;padding:5px 8px;font-size:7px;font-style:normal;font-weight:850}.detail-recipe-columns{grid-template-columns:.8fr 1.2fr;gap:11px;margin-top:13px;display:grid}.detail-recipe-columns>div{background:#ffffffc7;border:1px dashed #d9cce2;border-radius:13px;padding:13px}.detail-recipe-columns b{color:#775f88;margin-bottom:7px;font-size:8px;display:block}.detail-recipe-columns p{color:#6f6572;align-items:flex-start;margin:5px 0;font-size:8px;line-height:1.55;display:flex}.detail-recipe-columns p i{color:#755e86;background:#eee6f4;border-radius:50%;flex:none;place-items:center;width:17px;height:17px;margin-right:6px;font-size:7px;font-style:normal;display:inline-grid}.recipe-source-link{color:inherit;background:#fff;border:1px solid #d6b6d2;border-radius:13px;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;margin-top:11px;padding:11px;text-decoration:none;display:grid}.recipe-source-link>span{color:#b64f7a;background:#f4dfea;border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.recipe-source-link small,.recipe-source-link strong{display:block}.recipe-source-link small{color:#a17892;font-size:7px}.recipe-source-link strong{text-overflow:ellipsis;white-space:nowrap;max-width:420px;margin-top:2px;font-size:9px;overflow:hidden}.recipe-source-link>b{color:#826a91;white-space:nowrap;font-size:8px}.detail-adjustments{background:#f5f0fa;border:1px solid #ddd1e9;border-radius:13px;grid-column:1/-1;grid-template-columns:auto 1fr;align-items:start;gap:10px;padding:12px 14px;display:grid}.detail-adjustments>span{font-size:18px}.detail-adjustments b{color:#705d83;margin-bottom:3px;font-size:9px;display:block}.detail-adjustments p{color:#766c7d;margin:2px 0 0;font-size:9px;line-height:1.55}.detail-tip{background:#fff3bd;border-radius:13px;grid-column:1/-1;align-items:center;gap:10px;padding:11px 14px;display:flex}.detail-tip>span{font-size:17px}.detail-tip p{color:#726548;margin:0;font-size:10px;line-height:1.55}.detail-tip b{color:var(--ink);margin-right:8px}.snack-row{color:var(--muted);border:1px dashed #d8cabc;border-radius:17px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;padding:13px 18px;font-size:11px;display:grid}.snack-row strong{color:var(--ink)}.snack-row b{color:#b47987}.note-card{background:#fff2ba;border:1px solid #dfcfae;border-radius:7px 28px 28px;padding:35px 27px 23px;position:sticky;top:20px;transform:rotate(1deg);box-shadow:0 13px 32px #4b372614}.note-tape{background:#f5b9a3ad;width:84px;height:22px;position:absolute;top:-10px;left:50%;transform:translate(-50%)rotate(-3deg)}.note-label{color:#9d7d30}.note-card h3{margin:8px 0 14px;font-size:21px}.note-card>p{color:#77683e;margin:0;font-family:Georgia,Songti SC,serif;font-size:14px;line-height:1.9}.note-footer{flex-wrap:wrap;gap:8px;margin-top:24px;display:flex}.note-footer span{background:#ffffff7a;border-radius:10px;padding:7px 9px;font-size:10px}.daily-total{border-top:1px dashed #d9c57b;grid-template-columns:1fr auto auto;align-items:baseline;gap:4px;margin-top:18px;padding-top:15px;display:grid}.daily-total span{color:#8c793d;font-size:10px}.daily-total strong{font-size:23px}.daily-total small{font-size:9px}.subpage{animation:.34s both pageIn}@keyframes pageIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}.sub-hero{border-radius:34px;justify-content:space-between;align-items:flex-end;min-height:260px;padding:49px 54px;display:flex}.sub-hero:before{width:260px;height:260px;top:-115px;right:-65px}.sub-hero h1{max-width:760px;font-size:clamp(36px,4.4vw,60px)}.fridge-hero{background:#dce9c6}.fridge-hero .eyebrow{color:#6f8055}.fridge-hero p{color:#657153}.shop-hero{background:#ffe0bd}.shop-hero .eyebrow{color:#a16d43}.shop-hero p{color:#8d664b}.sub-mascot{z-index:1;border:1.5px solid var(--ink);width:115px;height:115px;box-shadow:5px 6px 0 var(--ink);background:#fff9;border-radius:35px;place-items:center;font-size:48px;display:grid;position:relative;transform:rotate(4deg)}.sub-mascot span{font-size:9px;font-weight:800;position:absolute;bottom:10px}.tool-row{justify-content:space-between;align-items:center;gap:18px;margin:27px 0 20px;display:flex}.filter-pills{flex-wrap:wrap;gap:7px;display:flex}.filter-pills button{border:1px solid var(--line);color:var(--muted);cursor:pointer;background:#ffffffb3;border-radius:999px;padding:8px 14px;font-size:11px}.filter-pills button.active{border-color:var(--ink);background:var(--ink);color:#fff;font-weight:750}.search-box{border:1px solid var(--line);background:#fff;border-radius:14px;align-items:center;gap:8px;min-width:260px;padding:10px 13px;display:flex}.search-box input{background:0 0;border:0;outline:0;width:100%;font-size:11px}.inventory-tools{align-items:center;gap:8px;display:flex}.pantry-photo-button{color:#526740;cursor:pointer;white-space:nowrap;background:#e7f0d8;border:1px solid #6c7f54;border-radius:12px;min-height:39px;padding:8px 12px;font-size:9px;font-weight:850;box-shadow:2px 3px #6c7f54}.add-food-button{border:1px solid var(--ink);box-shadow:2px 3px 0 var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border-radius:13px;padding:10px 13px;font-size:10px;font-weight:800;transition:all .18s}.add-food-button:hover{box-shadow:3px 5px 0 var(--ink);transform:translateY(-2px)}.inventory-grid{grid-template-columns:repeat(4,1fr);gap:11px;display:grid}.inventory-item{border:1px solid var(--line);background:#fffc;border-radius:20px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;min-height:95px;padding:16px;transition:all .2s;display:grid;position:relative}.inventory-item:hover{transform:translateY(-3px)rotate(-.4deg);box-shadow:0 10px 24px #35282212}.inventory-item.eat-high{background:#fff4f1;border-color:#eba9a2}.inventory-item.eat-watch{background:#fffaf0;border-color:#e7c58f}.eat-label{border-radius:999px;padding:3px 6px;font-size:7px;font-weight:850;position:absolute;bottom:7px;right:9px}.eat-label.high{color:#fff;background:#ef9d95}.eat-label.watch{color:#704d23;background:#efc37f}.inventory-emoji{background:#f5eee6;border-radius:15px;place-items:center;width:45px;height:45px;font-size:24px;display:grid}.cat-速食 .inventory-emoji{background:#ffe8d2}.cat-熟食 .inventory-emoji,.cat-荤食 .inventory-emoji{background:#fbe1e5}.cat-素食 .inventory-emoji{background:#e7f0d8}.cat-主食 .inventory-emoji{background:#fff2c8}.cat-零食 .inventory-emoji{background:#e6e5f6}.inventory-item small,.inventory-item strong,.inventory-copy em{display:block}.inventory-item small{color:var(--muted);margin-bottom:4px;font-size:9px}.inventory-item strong{font-size:12px;line-height:1.35}.inventory-copy em{color:#7c8d61;margin-top:5px;font-size:9px;font-style:normal}.inventory-actions{flex-direction:column;gap:5px;display:flex}.inventory-actions button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:9px;place-items:center;width:26px;height:26px;font-size:11px;display:grid}.inventory-actions button:hover{border-color:var(--ink)}.inventory-actions button.delete:hover{color:#b64f47;background:#fff0ed;border-color:#d67b72}.empty-state{text-align:center;padding:70px 20px}.empty-state span{font-size:46px}.empty-state h3{margin:12px 0 5px}.empty-state p{color:var(--muted);margin:0;font-size:12px}.empty-state button{border:1px solid var(--ink);cursor:pointer;background:#fff;border-radius:11px;margin-top:14px;padding:9px 13px;font-size:10px;font-weight:750}.pantry-tip{background:#eef5e4;border:1px solid #d8e3c3;border-radius:22px;grid-template-columns:auto 1fr auto;align-items:center;gap:17px;margin-top:22px;padding:20px 24px;display:grid}.pantry-tip>span{font-size:27px}.pantry-tip strong,.pantry-tip p{margin:0;display:block}.pantry-tip strong{font-size:13px}.pantry-tip p{color:var(--muted);margin-top:5px;font-size:11px}.pantry-tip button{border:1px solid var(--ink);cursor:pointer;background:#fff;border-radius:12px;padding:9px 13px;font-size:10px;font-weight:750}.orange-tip{background:#fff0da;border-color:#efd0a9}.shopping-progress{z-index:1;border-radius:50%;place-items:center;width:115px;height:115px;transition:background .3s;display:grid;position:relative}.shopping-progress:after{content:"";background:#fff0dc;border:1px solid #342b2b2e;border-radius:50%;position:absolute;inset:9px}.shopping-progress span{z-index:1;position:relative}.shopping-progress strong{font-size:31px}.shopping-progress small{font-size:12px}.basket-board{border:1.5px solid var(--ink);box-shadow:4px 5px 0 var(--ink);background:#fffaf3;border-radius:26px;margin-top:24px;padding:22px}.basket-heading{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.basket-heading>div:first-child>span{color:#a4764f;letter-spacing:.15em;font-size:8px;font-weight:850}.basket-heading h2{letter-spacing:-.04em;margin:5px 0 4px;font-size:24px}.basket-heading p{color:var(--muted);margin:0;font-size:10px}.basket-heading>div:last-child{gap:8px;display:flex}.recommend-button{color:#715d83;cursor:pointer;white-space:nowrap;background:#f0e8f7;border:1px solid #715d83;border-radius:13px;padding:10px 13px;font-size:10px;font-weight:850}.move-all-button{border:1px solid var(--ink);cursor:pointer;background:#c9dda7;border-radius:13px;padding:10px 13px;font-size:10px;font-weight:850}.basket-items{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:17px;display:grid}.basket-items article{background:#fff;border:1px solid #ead9c8;border-radius:17px;grid-template-columns:auto 1fr;align-items:center;gap:10px;min-height:86px;padding:12px;display:grid;position:relative}.basket-items article>span{background:#fff0df;border-radius:12px;place-items:center;width:38px;height:38px;font-size:20px;display:grid}.basket-items article small,.basket-items article strong,.basket-items article em{display:block}.basket-items article small{color:var(--muted);font-size:8px}.basket-items article strong{margin-top:2px;padding-right:18px;font-size:11px}.basket-items article em{color:#a27856;margin-top:3px;font-size:8px;font-style:normal}.basket-move{color:#617b43;cursor:pointer;background:#e8f1da;border:0;border-radius:10px;grid-column:1/-1;padding:7px;font-size:8px;font-weight:850}.basket-delete{cursor:pointer;background:#f7eee6;border:0;border-radius:50%;width:22px;height:22px;position:absolute;top:8px;right:8px}.empty-basket{cursor:pointer;background:#ffffff80;border:1px dashed #dfcbb8;border-radius:17px;grid-column:1/-1;place-items:center;min-height:105px;padding:17px;display:grid}.empty-basket span,.empty-basket strong,.empty-basket small{display:block}.empty-basket span{font-size:25px}.empty-basket strong{font-size:11px}.empty-basket small{color:var(--muted);font-size:8px}.shopping-scope{grid-template-columns:1fr auto;align-items:center;gap:18px;margin:26px 0 12px;display:grid}.window-controls{grid-template-columns:repeat(3,minmax(120px,1fr));gap:9px;display:grid}.window-controls button{border:1px solid var(--line);text-align:left;cursor:pointer;background:#ffffffad;border-radius:17px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;column-gap:10px;padding:13px 15px;transition:all .2s;display:grid;position:relative}.window-controls button>span{grid-row:1/3;align-self:center;font-size:22px}.window-controls button b{font-size:12px}.window-controls button small{color:var(--muted);font-size:9px}.window-controls button:hover{background:#fff;transform:translateY(-2px)}.window-controls button.active{border:1.5px solid var(--ink);box-shadow:3px 4px 0 var(--ink);background:#fff2df}.window-controls button.recommended:after{content:"推荐";color:var(--ink);background:#c9dda7;border-radius:999px;padding:3px 7px;font-size:8px;font-weight:850;position:absolute;top:-8px;right:8px}.shop-day-picker{border:1px solid var(--line);background:#ffffffb3;border-radius:16px;align-items:center;gap:10px;padding:9px 11px;display:flex}.shop-day-picker>span{color:var(--muted);white-space:nowrap;font-size:9px}.shop-day-picker>div{gap:4px;display:flex}.shop-day-picker button{cursor:pointer;background:#f4ede6;border:0;border-radius:9px;width:29px;height:29px;font-size:10px;font-weight:750}.shop-day-picker button.active{background:var(--ink);color:#fff}.freshness-note{background:#f0f5e8;border:1px solid #dce4c8;border-radius:18px;grid-template-columns:auto 1fr;align-items:center;gap:13px;padding:14px 17px;display:grid}.freshness-note>span{background:#ffffffb3;border-radius:13px;place-items:center;width:40px;height:40px;font-size:21px;display:grid}.freshness-note strong{font-size:12px;display:block}.freshness-note p{color:var(--muted);margin:4px 0 0;font-size:10px;line-height:1.5}.shopping-toolbar{border:1px solid var(--line);background:#ffffffa6;border-radius:18px;justify-content:space-between;align-items:center;margin:26px 0 18px;padding:17px 20px;display:flex}.shopping-toolbar span,.shopping-toolbar strong{display:block}.shopping-toolbar span{color:var(--muted);letter-spacing:.1em;margin-bottom:3px;font-size:9px}.shopping-toolbar strong{font-size:15px}.shopping-toolbar button{border:1px solid var(--ink);cursor:pointer;background:#fff;border-radius:11px;padding:8px 13px;font-size:10px;font-weight:750}.shopping-groups{grid-template-columns:1fr 1fr;align-items:start;gap:14px;display:grid}.shopping-group{border:1px solid var(--line);background:#ffffffc7;border-radius:22px;overflow:hidden}.group-title{border-bottom:1px solid var(--line);background:#fff9f2;justify-content:space-between;padding:15px 18px;display:flex}.group-title span{font-size:13px;font-weight:800}.group-title small{color:var(--muted);font-size:9px}.shopping-list{padding:8px}.shopping-list label{cursor:pointer;border-radius:15px;grid-template-columns:auto auto 1fr auto;align-items:center;gap:12px;min-height:68px;padding:10px;transition:all .2s;display:grid}.shopping-list label:hover{background:#fff8ef}.shopping-list label.checked{opacity:.55;background:#f4f5ee}.shopping-list label.checked .shop-copy strong,.shopping-list label.checked>b{text-decoration:line-through}.shopping-list input{opacity:0;pointer-events:none;position:absolute}.custom-check{background:#fff;border:1.5px solid #ccb9a9;border-radius:8px;place-items:center;width:24px;height:24px;font-size:12px;font-weight:900;display:grid}.checked .custom-check{border-color:var(--ink);box-shadow:2px 2px 0 var(--ink);background:#c9dda7}.shop-emoji{background:#fff0df;border-radius:14px;place-items:center;width:42px;height:42px;font-size:23px;display:grid}.shop-copy strong,.shop-copy small{display:block}.shop-copy strong{font-size:12px}.shop-copy small{color:var(--muted);margin-top:4px;font-size:9px}.shopping-list label>b{color:#9c7156;white-space:nowrap;font-size:10px}.recommendation-row{border-radius:15px;grid-template-columns:auto auto 1fr auto auto;align-items:center;gap:11px;min-height:68px;padding:10px;transition:all .2s;display:grid}.recommendation-row:hover{background:#fff8ef}.recommendation-row.satisfied{background:#f6f8f1}.recommendation-status{background:#fff;border:1px solid #d4c6ba;border-radius:8px;place-items:center;width:25px;height:25px;font-size:10px;font-weight:900;display:grid}.recommendation-status.fridge{color:#617b43;background:#e6f0d8;border-color:#a9bf84}.recommendation-status.basket{background:#fff0d7;border-color:#e2b67f}.recommendation-status.missing{color:#ac736e;border-style:dashed}.recommendation-row>b{color:#9c7156;white-space:nowrap;font-size:9px}.recommendation-row>em{color:#718255;white-space:nowrap;background:#fff;border-radius:999px;padding:5px 7px;font-size:8px;font-style:normal;font-weight:800}.recommendation-row>button{border:1px solid var(--ink);cursor:pointer;white-space:nowrap;background:#fff;border-radius:9px;padding:7px 9px;font-size:8px;font-weight:800}.recipe-hero{background:#e9e1f3}.recipe-hero .eyebrow{color:#76628a}.recipe-hero p{color:#71657b}.library-status{background:#f7f2fb;border:1px solid #d8cbe6;border-radius:20px;justify-content:space-between;align-items:center;gap:18px;margin-top:23px;padding:18px 21px;display:flex}.library-status span,.library-status strong,.library-status p{display:block}.library-status span{color:#826c97;letter-spacing:.14em;font-size:8px;font-weight:850}.library-status strong{margin-top:4px;font-size:13px}.library-status p{color:var(--muted);margin:4px 0 0;font-size:9px}.library-status button{color:#715d83;cursor:pointer;background:#fff;border:1px solid #715d83;border-radius:11px;padding:9px 12px;font-size:9px;font-weight:850}.recipe-toolbar{justify-content:space-between;align-items:center;gap:15px;margin:24px 0 17px;display:flex}.recipe-tools{align-items:center;gap:8px;display:flex}.recipe-add-button{color:#715d83;cursor:pointer;white-space:nowrap;background:#eee5f5;border:1px solid #715d83;border-radius:12px;align-items:center;gap:6px;min-height:39px;padding:8px 12px;font-size:9px;font-weight:850;display:flex;box-shadow:2px 3px #715d83}.recipe-add-button span{font-size:15px;line-height:1}.recipe-find-button{color:#995c72;cursor:pointer;white-space:nowrap;background:#fff1f5;border:1px solid #ca879e;border-radius:12px;align-items:center;gap:5px;min-height:39px;padding:8px 11px;font-size:9px;font-weight:850;display:flex}.recipe-find-button span{font-size:14px}.recipe-category-pills{background:#ffffff8c;border:1px solid #e1d6e9;border-radius:17px;flex-wrap:wrap;gap:7px;margin:-3px 0 18px;padding:10px;display:flex}.recipe-category-pills button{color:#75687b;cursor:pointer;white-space:nowrap;background:0 0;border:1px solid #0000;border-radius:12px;min-height:40px;padding:8px 11px;font-size:9px;font-weight:800;transition:all .16s}.recipe-category-pills button span{color:#806d8e;background:#f0e9f4;border-radius:999px;place-items:center;min-width:20px;height:20px;margin-left:4px;font-size:7px;display:inline-grid}.recipe-category-pills button:hover{background:#fff}.recipe-category-pills button.active{color:#5f4b6d;background:#eee5f5;border-color:#806792;box-shadow:2px 2px #806792}.recipe-category-pills button.active span{color:#654f75;background:#fff}.recipe-grid{grid-template-columns:repeat(3,1fr);align-items:start;gap:12px;display:grid}.recipe-card{border:1px solid var(--line);background:#ffffffd1;border-radius:21px;transition:all .2s;position:relative;overflow:hidden}.recipe-card:hover{transform:translateY(-3px);box-shadow:0 12px 27px #3d2b3614}.recipe-card.mastery-learning{border-style:dashed}.recipe-card.open{border-color:#a892b9;grid-column:span 2;box-shadow:0 14px 32px #533c621a}.recipe-main{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;width:100%;padding:15px;display:grid}.recipe-main>span:nth-child(2){min-width:0;padding-right:72px}.recipe-emoji{background:#f3ebf8;border-radius:15px;place-items:center;width:48px;height:48px;font-size:25px;display:grid}.recipe-main small,.recipe-main strong,.recipe-main em{display:block}.recipe-main small{color:#8b759b;font-size:7px;font-weight:800}.recipe-main small i{letter-spacing:.05em;border-radius:999px;margin-right:6px;padding:3px 6px;font-size:6px;font-style:normal;display:inline-block}.recipe-main small i.core{color:#637a47;background:#e8f1dc}.recipe-main small i.custom{color:#a26078;background:#fde9f0}.recipe-main strong{margin-top:4px;font-size:12px}.recipe-main em{color:var(--muted);margin-top:4px;font-size:8px;font-style:normal}.recipe-main>b{border:1px solid var(--line);border-radius:50%;place-items:center;width:27px;height:27px;font-size:10px;display:grid}.recipe-love-control{z-index:2;background:#fffafcf0;border:1px solid #efd0dc;border-radius:999px;align-items:center;gap:1px;padding:3px 5px;display:flex;position:absolute;top:34px;right:52px;box-shadow:0 3px 10px #96516f14}.recipe-love-control button{color:#c9a8b5;cursor:pointer;background:0 0;border:0;width:18px;height:18px;padding:0;font-size:15px;line-height:1;transition:transform .16s,color .16s}.recipe-love-control button:hover{color:#dc7696;transform:translateY(-1px)scale(1.12)}.recipe-love-control button.filled{color:#e2678d;text-shadow:0 1px #fff}.recipe-love-control button:disabled{cursor:wait;opacity:.55}.mastery-control{background:#faf6fc;border-radius:12px;grid-template-columns:auto 1fr auto auto auto;align-items:center;gap:8px;margin:0 12px 8px;padding:9px 10px;display:grid}.mastery-control>span{color:var(--muted);font-size:7px}.mastery-control select{background:#fff;border:1px solid #d9cce1;border-radius:8px;min-width:0;padding:6px;font-size:8px}.mastery-control i{border-radius:999px;padding:4px 6px;font-size:7px;font-style:normal;font-weight:850}.mastery-control i.learning{color:#93662e;background:#fff0d9}.mastery-control i.beginner{color:#71824f;background:#eaf2df}.mastery-control i.skilled{color:#4e7184;background:#e2edf4}.mastery-control i.master{color:#76598b;background:#eee4f7}.recipe-edit-button{color:#735e83;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #d7c9df;border-radius:8px;padding:6px 8px;font-size:8px;font-weight:850}.recipe-edit-button:hover{background:#f5eef9;border-color:#806792}.recipe-delete-button{color:#b85f58;cursor:pointer;background:#fff2f0;border:1px solid #e3c4c2;border-radius:8px;width:27px;height:27px;font-size:15px;line-height:1}.recipe-preference-control{background:#fff7fa;border:1px solid #f0dce3;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:center;gap:8px;margin:0 12px 12px;padding:8px 10px;display:grid}.recipe-preference-control>span{color:#9b7583;font-size:7px;font-weight:800}.recipe-preference-control select{color:#6e5961;background:#fff;border:1px solid #e4cbd5;border-radius:8px;min-width:0;padding:6px;font-size:8px}.recipe-preference-control i{color:#9a6075;white-space:nowrap;background:#f2e5eb;border-radius:999px;padding:5px 8px;font-size:7px;font-style:normal;font-weight:850}.recipe-preference-control i.breakfast{color:#9b6d31;background:#fff1d8}.recipe-preference-control i.lunch{color:#637b4d;background:#e8f1df}.recipe-preference-control i.dinner{color:#6d5b91;background:#e9e5f7}.recipe-detail{grid-template-columns:.8fr 1.2fr;gap:13px;padding:0 15px 15px;animation:.2s both detailIn;display:grid}.recipe-detail>div{background:#fff;border:1px solid #ded2e6;border-radius:15px;padding:14px}.recipe-detail header{border-bottom:1px dashed #e2d8e8;justify-content:space-between;align-items:baseline;gap:9px;margin-bottom:11px;padding-bottom:9px;display:flex}.recipe-detail header span{color:#6f587f;font-size:10px;font-weight:900}.recipe-detail header small{color:#9b8da2;white-space:nowrap;font-size:7px}.recipe-ingredient-panel ul,.recipe-step-panel ol{gap:7px;margin:0;padding:0;list-style:none;display:grid}.recipe-ingredient-panel li{color:#625b61;background:#f7f9f2;border-radius:9px;grid-template-columns:auto 1fr;align-items:center;gap:8px;min-height:34px;padding:8px 10px;font-size:9px;line-height:1.55;display:grid}.recipe-ingredient-panel li i{color:#5f7840;background:#dfeccd;border-radius:50%;place-items:center;width:17px;height:17px;font-size:7px;font-style:normal;font-weight:900;display:grid}.recipe-step-panel li{grid-template-columns:27px 1fr;align-items:start;gap:9px;display:grid}.recipe-step-panel li>b{color:#6e5680;background:#f1e9f6;border:1px solid #cbb9d6;border-radius:9px;place-items:center;width:27px;height:27px;font-family:Georgia,serif;font-size:8px;display:grid}.recipe-step-panel li p{color:#554e58;background:#fbf9fc;border-radius:9px;margin:0;padding:10px 11px;font-size:10px;line-height:1.82}.library-source-link{color:inherit;background:#fff;border:1px solid #d9bfd3;border-radius:13px;grid-column:1/-1;grid-template-columns:auto 1fr auto;align-items:center;gap:10px;padding:11px 13px;text-decoration:none;display:grid}.library-source-link>span{color:#b4537d;background:#f5e1eb;border-radius:11px;place-items:center;width:34px;height:34px;display:grid}.library-source-link small,.library-source-link strong{display:block}.library-source-link small{color:#a27b94;font-size:7px}.library-source-link strong{margin-top:2px;font-size:9px}.library-source-link>b{color:#80658e;white-space:nowrap;font-size:8px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#30262261;place-items:center;padding:20px;animation:.2s both modalFade;display:grid;position:fixed;inset:0}@keyframes modalFade{0%{opacity:0}to{opacity:1}}.add-food-modal{border:1.5px solid var(--ink);width:min(100%,510px);box-shadow:8px 10px 0 var(--ink);background:#fffdf8;border-radius:30px;padding:34px;animation:.25s both modalPop;position:relative}@keyframes modalPop{0%{opacity:0;transform:translateY(12px)scale(.97)}to{opacity:1;transform:none}}.modal-close{border:1px solid var(--line);cursor:pointer;background:#f7eee6;border-radius:50%;width:31px;height:31px;font-size:17px;position:absolute;top:14px;right:14px}.modal-emoji{border:1px solid var(--ink);width:58px;height:58px;box-shadow:3px 4px 0 var(--ink);background:#f7eadb;border-radius:18px;place-items:center;margin-bottom:16px;font-size:28px;display:grid;transform:rotate(-4deg)}.add-food-modal h2{letter-spacing:-.04em;margin:7px 0;font-size:28px}.add-food-modal>p{color:var(--muted);margin:0 0 21px;font-size:11px;line-height:1.65}.add-food-modal label{color:#76675f;letter-spacing:.05em;gap:7px;font-size:9px;font-weight:800;display:grid}.add-food-modal input,.add-food-modal select{width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border:1px solid #d9cbc0;border-radius:12px;outline:0;padding:10px 12px;font-size:11px;transition:all .18s}.add-food-modal input:focus,.add-food-modal select:focus{border-color:var(--ink);box-shadow:0 0 0 3px #c9dda76b}.modal-fields{grid-template-columns:1fr 1fr;gap:11px;margin-top:12px;display:grid}.modal-submit{border:1px solid var(--ink);width:100%;box-shadow:3px 4px 0 var(--ink);cursor:pointer;background:#c9dda7;border-radius:14px;margin-top:20px;padding:13px 18px;font-size:11px;font-weight:850}.pantry-photo-backdrop{z-index:61}.pantry-photo-modal{background:#fffdf9;border:1.5px solid #667852;border-radius:28px;width:min(100%,880px);max-height:min(94dvh,920px);padding:30px;animation:.25s both modalPop;position:relative;overflow-y:auto;box-shadow:8px 10px #667852}.pantry-photo-modal h2{letter-spacing:-.04em;margin:7px 0;font-size:27px}.pantry-photo-modal>p{color:var(--muted);margin:0 0 15px;font-size:10px;line-height:1.65}.pantry-photo-drop{cursor:pointer;background:#f7faef;border:1.5px dashed #aabb8e;border-radius:18px;grid-template-rows:auto auto;grid-template-columns:92px 1fr;align-items:center;gap:3px 13px;min-height:105px;margin-top:17px;padding:12px;display:grid}.pantry-photo-drop input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.pantry-photo-drop>img,.pantry-photo-drop>span{object-fit:cover;border-radius:13px;grid-row:1/3;width:92px;height:78px}.pantry-photo-drop>span{background:#e7efd8;place-items:center;font-size:31px;display:grid}.pantry-photo-drop strong{align-self:end;font-size:12px}.pantry-photo-drop small{color:#7d8870;align-self:start;font-size:9px;line-height:1.5}.pantry-photo-consent{background:#fafcf5;border:1px solid #d8e2c7;border-radius:15px;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;margin-top:11px;padding:12px;display:grid}.pantry-photo-consent>span{font-size:21px}.pantry-photo-consent p,.pantry-photo-consent strong,.pantry-photo-consent small{margin:0;display:block}.pantry-photo-consent strong{font-size:10px}.pantry-photo-consent small{color:var(--muted);margin-top:3px;font-size:8px;line-height:1.5}.pantry-photo-consent.unavailable{background:#fbf8f5;border-color:#e3d8d0}.pantry-photo-analyze{color:#4e633d;cursor:pointer;background:#e4eed3;border:1px solid #6c7f54;border-radius:13px;width:100%;min-height:44px;margin-top:11px;font-size:10px;font-weight:900}.pantry-photo-analyze:disabled,.pantry-photo-submit:disabled{cursor:not-allowed;opacity:.5;box-shadow:none}.pantry-photo-notice,.pantry-photo-error{background:#f6f1f8;border-radius:12px;padding:9px 11px;margin-top:10px!important}.pantry-photo-error{background:#fff0ed;color:#93453f!important}.pantry-photo-items{margin-top:14px}.pantry-photo-items>header{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.pantry-photo-items>header strong{font-size:12px}.pantry-photo-items>header button{cursor:pointer;color:#586c44;background:#f6faef;border:1px solid #9eaf83;border-radius:10px;min-height:38px;padding:7px 10px;font-size:9px;font-weight:850}.pantry-photo-items article{background:#fbfdf7;border:1px solid #d8e1ca;border-radius:15px;grid-template-columns:44px minmax(150px,1fr) 110px 135px 40px;align-items:end;gap:9px;margin-top:8px;padding:10px;display:grid}.pantry-photo-items article>span{text-align:center;align-self:center;font-size:24px}.pantry-photo-items label{gap:5px;display:grid}.pantry-photo-items label small{color:#76816a;font-size:8px;font-weight:850}.pantry-photo-items input,.pantry-photo-items select{width:100%;min-height:40px;color:var(--ink);font:inherit;background:#fff;border:1px solid #d0dbc0;border-radius:10px;padding:8px 9px;font-size:10px}.pantry-photo-remove{color:#a45c55;cursor:pointer;background:#fff2ef;border:1px solid #e2c6c1;border-radius:11px;width:40px;height:40px;font-size:17px}.pantry-photo-empty{color:#7d8872;text-align:center;border:1px dashed #ccd8ba;border-radius:14px;padding:18px;font-size:10px}.recipe-editor-backdrop{z-index:58}.recipe-editor-modal{background:#fffdfb;border:1.5px solid #715d83;border-radius:29px;width:min(100%,790px);max-height:min(92vh,840px);padding:31px;animation:.25s both modalPop;position:relative;overflow-y:auto;box-shadow:7px 9px #715d83}.recipe-editor-modal h2{letter-spacing:-.04em;margin:7px 0;font-size:27px}.recipe-editor-modal>p{color:var(--muted);margin:0 0 20px;font-size:10px;line-height:1.65}.recipe-import-review{color:#66576a;background:linear-gradient(135deg,#f5faed,#fff7fb);border:1px solid #bcd09f;border-radius:15px;grid-template-columns:auto 1fr;gap:11px;margin-bottom:16px;padding:13px 14px;display:grid}.recipe-import-review>span{background:#fff;border-radius:12px;place-items:center;width:36px;height:36px;font-size:19px;display:grid;box-shadow:2px 2px #a8bd88}.recipe-import-review strong{color:#4d6540;font-size:11px;display:block}.recipe-import-review p{margin:4px 0 0;font-size:9px;line-height:1.6}.recipe-import-review ul{color:#866374;margin:8px 0 0;padding-left:17px;font-size:8px;line-height:1.6}.recipe-form-grid{grid-template-columns:90px 1.2fr 1fr 1fr;gap:12px;display:grid}.recipe-form-grid label{color:#76675f;letter-spacing:.04em;align-content:start;gap:7px;min-width:0;font-size:9px;font-weight:800;display:grid}.recipe-form-grid input,.recipe-form-grid select,.recipe-form-grid textarea{width:100%;min-height:43px;color:var(--ink);font:inherit;resize:vertical;background:#fff;border:1px solid #d9cde1;border-radius:12px;outline:0;padding:10px 12px;font-size:11px;transition:all .18s}.recipe-form-grid input:focus,.recipe-form-grid select:focus,.recipe-form-grid textarea:focus{border-color:#806792;box-shadow:0 0 0 3px #dbcbe77a}.recipe-form-grid textarea{min-height:150px;line-height:1.6}.recipe-name-field,.recipe-textarea{grid-column:span 2}.recipe-source-fields{background:#faf6fc;border:1px dashed #d8c8e1;border-radius:14px;grid-column:1/-1;grid-template-columns:135px 1fr 1fr;gap:12px;padding:12px;display:grid}.number-input{position:relative}.number-input input{padding-right:47px}.number-input b{color:#927f9f;font-size:8px;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.recipe-save-button{background:#d9c9e6}.recipe-finder-backdrop{z-index:57}.recipe-finder-modal{background:#fffdfb;border:1.5px solid #9c6077;border-radius:29px;width:min(100%,820px);max-height:min(92vh,850px);padding:31px;animation:.25s both modalPop;position:relative;overflow-y:auto;box-shadow:7px 9px #9c6077}.recipe-finder-modal h2{letter-spacing:-.04em;margin:7px 0;font-size:27px}.recipe-finder-modal>p{max-width:660px;color:var(--muted);margin:0 0 18px;font-size:10px;line-height:1.65}.recipe-import-capability{background:#faf7fb;border:1px solid #ded0df;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:10px;margin-bottom:12px;padding:11px 13px;display:grid}.recipe-import-capability>span{background:#fff;border-radius:11px;place-items:center;width:34px;height:34px;font-size:17px;display:grid}.recipe-import-capability strong{color:#705b77;font-size:9px;display:block}.recipe-import-capability p{color:#907f8b;margin:3px 0 0;font-size:8px;line-height:1.5}.recipe-import-capability.ready{background:#f6faef;border-color:#bdd09f}.recipe-import-capability.ready strong{color:#587140}.recipe-import-capability.unavailable{background:#fff7f2;border-color:#e6c8bd}.online-recipe-search{background:#fff0f4;border-radius:15px;grid-template-columns:1fr auto;align-items:end;gap:9px;padding:13px;display:grid}.online-recipe-search label{color:#8b6574;gap:6px;font-size:8px;font-weight:850;display:grid}.online-recipe-search input{background:#fff;border:1px solid #dfbdca;border-radius:11px;outline:0;width:100%;min-height:43px;padding:10px 12px;font-size:11px}.online-recipe-search input:focus{border-color:#9c6077;box-shadow:0 0 0 3px #e7c4d166}.online-recipe-search>button{border:1px solid var(--ink);min-height:43px;box-shadow:2px 3px 0 var(--ink);cursor:pointer;background:#edcfda;border-radius:11px;padding:10px 15px;font-size:9px;font-weight:850}.recipe-search-error{color:#a0544e;background:#fff0ed;border:1px solid #edc1bd;border-radius:12px;margin-top:10px;padding:10px 12px;font-size:9px;line-height:1.5}.platform-search-links{align-items:center;gap:8px;margin-top:10px;display:flex}.platform-search-links span{color:var(--muted);margin-right:auto;font-size:8px}.platform-search-links a{color:#7d6477;background:#fff;border:1px solid #dbc6d5;border-radius:9px;padding:6px 8px;font-size:8px;font-weight:800;text-decoration:none}.online-candidates{gap:10px;margin-top:15px;display:grid}.online-candidates article{background:#fbf7fa;border:1px solid #decbd8;border-radius:17px;grid-template-columns:auto 1fr auto;align-items:center;gap:13px;padding:14px;display:grid}.online-candidates article.importing{background:linear-gradient(135deg,#f7fbed,#fff7fb);border-color:#a8bd88;box-shadow:0 0 0 3px #bbcf9a2e}.candidate-rank{color:#9f5e79;background:#fff;border:1px solid #c994aa;border-radius:14px;align-content:center;place-items:center;width:45px;height:52px;display:grid;transform:rotate(-2deg)}.candidate-rank span{letter-spacing:.12em;font-size:6px;font-weight:850}.candidate-rank strong{font-family:Georgia,serif;font-size:22px}.candidate-copy{min-width:0}.candidate-copy>span{color:#9a7788;font-size:7px;font-weight:800}.candidate-copy h3{margin:4px 0;font-size:12px;line-height:1.35}.candidate-copy p{color:var(--muted);-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:4px 0;font-size:8px;line-height:1.5;display:-webkit-box;overflow:hidden}.candidate-copy .candidate-import-progress{color:#5f744c;-webkit-line-clamp:unset;background:#edf5df;border-radius:9px;margin-top:8px;padding:7px 9px;font-weight:800;display:block}.candidate-metrics{flex-wrap:wrap;gap:5px;margin-top:7px;display:flex}.candidate-metrics em{color:#7d6a74;background:#fff;border-radius:999px;padding:4px 6px;font-size:7px;font-style:normal;font-weight:750}.candidate-actions{gap:7px;min-width:120px;display:grid}.candidate-actions a,.candidate-actions button{color:inherit;cursor:pointer;text-align:center;background:#fff;border:1px solid #d6c1ce;border-radius:10px;padding:8px 9px;font-size:8px;font-weight:850;text-decoration:none}.candidate-actions .candidate-auto-import{background:#f1dce4;border-color:#9c6077}.candidate-actions .candidate-manual-import{color:#806d79;background:#faf7fb;border-style:dashed}.candidate-actions button:disabled{cursor:not-allowed;opacity:.52}.candidate-placeholder{color:var(--muted);text-align:center;border:1px dashed #ddc9d5;border-radius:17px;place-items:center;padding:30px;display:grid}.candidate-placeholder span{font-size:29px}.candidate-placeholder strong{color:var(--ink);margin-top:7px;font-size:11px}.candidate-placeholder p{margin:4px 0 0;font-size:8px}.suggestion-backdrop{z-index:55}.suggestion-modal{background:#fffdfb;border:1.5px solid #715d83;border-radius:28px;width:min(100%,590px);max-height:min(86vh,720px);padding:31px;animation:.25s both modalPop;position:relative;overflow-y:auto;box-shadow:7px 9px #715d83}.suggestion-modal h2{letter-spacing:-.04em;margin:7px 0;font-size:26px}.suggestion-modal>p{color:var(--muted);margin:0;font-size:10px;line-height:1.6}.suggestion-list{gap:8px;margin-top:18px;display:grid}.suggestion-list article{background:#faf6fc;border:1px solid #ddd0e7;border-radius:15px;grid-template-columns:auto 1fr auto;align-items:center;gap:11px;padding:12px;display:grid}.suggestion-list article>span{background:#fff;border-radius:12px;place-items:center;width:40px;height:40px;font-size:21px;display:grid}.suggestion-list strong,.suggestion-list small{display:block}.suggestion-list strong{font-size:11px}.suggestion-list small{color:#8a7696;margin-top:2px;font-size:8px}.suggestion-list p{color:var(--muted);margin:4px 0 0;font-size:8px;line-height:1.5}.suggestion-list article>button{cursor:pointer;background:#f4e8ea;border:0;border-radius:50%;width:25px;height:25px}.suggestion-empty{color:var(--muted);text-align:center;border:1px dashed #dacdde;border-radius:15px;padding:24px;font-size:9px}.confirm-backdrop{z-index:75;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#30262273;place-items:center;padding:20px;animation:.18s both modalFade;display:grid;position:fixed;inset:0}.cute-confirm{border:1.5px solid var(--ink);width:min(100%,400px);box-shadow:7px 9px 0 var(--ink);text-align:center;background:#fffaf3;border-radius:31px;padding:34px 28px 25px;animation:.22s both modalPop;position:relative;overflow:hidden}.cute-confirm.green{background:#f2f7e9}.cute-confirm.danger{background:#fff0ed}.confirm-emoji{border:1px solid var(--ink);width:66px;height:66px;box-shadow:3px 4px 0 var(--ink);background:#fff;border-radius:22px;place-items:center;margin:0 auto 14px;font-size:31px;display:grid;transform:rotate(-4deg)}.cute-confirm h2{letter-spacing:-.04em;margin:0;font-size:23px}.cute-confirm p{max-width:320px;color:var(--muted);margin:9px auto 20px;font-size:10px;line-height:1.65}.cute-confirm>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}.cute-confirm>div button{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;padding:11px;font-size:9px;font-weight:800}.cute-confirm>div .confirm-primary{border-color:var(--ink);box-shadow:2px 3px 0 var(--ink);background:#efd6e5}.cute-confirm.green>div .confirm-primary{background:#c9dda7}.cute-confirm.danger>div .confirm-primary{background:#f3aaa3}.confirm-spark{color:#d390a0;font-size:19px;position:absolute}.spark-one{top:23px;left:28px;transform:rotate(-10deg)}.spark-two{top:35px;right:29px}.pantry-toast{z-index:60;border:1px solid var(--ink);max-width:min(360px,100% - 44px);box-shadow:3px 4px 0 var(--ink);background:#edf4e2;border-radius:14px;align-items:center;gap:9px;padding:12px 15px;font-size:10px;font-weight:750;animation:.25s both toastIn;display:flex;position:fixed;bottom:22px;right:22px}.pantry-toast span{color:#fff;background:#789653;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.pantry-toast.error{background:#fff0ed}.pantry-toast.error span{background:#c75f56}@keyframes toastIn{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:none}}.mobile-nav{display:none}@media (max-width:960px){.page-shell{padding-bottom:105px}.topbar{grid-template-columns:1fr auto}.nav-pills{display:none}.hero,.sub-hero{align-items:flex-start;padding:38px 30px}.hero-stats>div:not(.mascot){display:none}.source-grid,.meal-section{grid-template-columns:1fr}.note-card{position:relative;top:auto;transform:none}.inventory-grid{grid-template-columns:repeat(3,1fr)}.basket-items,.recipe-grid{grid-template-columns:repeat(2,1fr)}.mobile-nav{z-index:20;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffefaeb;border:1px solid #342b2b26;border-radius:20px;grid-template-columns:repeat(4,1fr);gap:4px;width:min(100% - 24px,430px);padding:6px;display:grid;position:fixed;bottom:13px;left:50%;transform:translate(-50%);box-shadow:0 15px 45px #36272233}.mobile-nav button{color:var(--muted);background:0 0;border:0;border-radius:14px;padding:8px 5px;font-size:9px;font-weight:750}.mobile-nav button span{margin-bottom:3px;font-size:18px;display:block}.mobile-nav button.active{color:var(--ink);background:#f8dfe4}}@media (max-width:680px){:root{--surface-grain-image:radial-gradient(circle at 35% 35%, #43323b08 0 .4px, transparent .65px);--surface-grain-size:5px 5px}.page-shell{width:min(100% - 24px,1240px);padding-bottom:105px}.topbar{min-height:72px}.top-actions{gap:4px}.week-switcher .week-display{min-width:126px}.week-switcher .today-week,.soft-button{display:none}.hero,.sub-hero{border-radius:27px;min-height:260px;padding:31px 23px}.hero h1,.sub-hero h1{font-size:35px}.hero p,.sub-hero p{max-width:84%;line-height:1.6}.mascot,.sub-mascot{width:67px;height:67px;box-shadow:3px 4px 0 var(--ink);border-radius:22px;font-size:34px;position:absolute;bottom:20px;right:20px}.sub-mascot span{display:none}.shopping-progress{width:75px;height:75px;position:absolute;bottom:20px;right:20px}.shopping-progress strong{font-size:23px}.day-strip{scrollbar-width:none;grid-template-columns:repeat(7,76px);gap:6px;margin-bottom:31px;padding:4px 3px 10px;overflow-x:auto}.day-strip::-webkit-scrollbar{display:none}.day-button{border-radius:17px}.daily-heading{align-items:center}.day-progress span{display:none}.day-progress i{width:75px}.source-grid{gap:11px}.live-refresh{grid-template-columns:auto 1fr auto;padding:12px 13px}.live-refresh p{font-size:9px}.live-refresh time{display:none}.assistant-update{grid-template-columns:auto 1fr;align-items:start;margin-top:-19px}.assistant-update button{grid-column:1/-1;width:100%}.priority-heading{flex-direction:column;align-items:flex-start;gap:8px}.priority-cards{grid-template-columns:1fr}.priority-cards small{min-height:0}.source-card{grid-template-columns:auto 1fr;padding:20px 17px}.source-card>b{position:absolute;top:16px;right:16px}.source-icon{width:43px;height:43px}.chips{gap:5px}.chips>span{padding:5px 7px}.meal-card{min-height:64px;padding-right:45px}.meal-toggle{grid-template-columns:auto 1fr auto;gap:9px;min-height:64px;padding:8px 5px 8px 10px}.meal-emoji{border-radius:13px;width:42px;height:42px;font-size:22px}.meal-time,.meal-arrow{display:none}.meal-copy strong{font-size:12px}.meal-copy small{font-size:8px}.meal-kcal strong{font-size:14px}.done-button{right:10px}.meal-checkin{border-radius:18px;margin:0 7px 10px;padding:14px}.checkin-heading{align-items:flex-start;margin-bottom:12px}.checkin-heading strong{font-size:14px}.checkin-heading p{max-width:240px;font-size:8px}.checkin-heading>em{padding:5px 7px;font-size:7px}.checkin-form{grid-template-columns:minmax(190px,.62fr) 1fr;gap:10px}.photo-upload,.photo-upload img{min-height:132px}.meal-note-input textarea{min-height:104px;padding:11px;font-size:10px}.people-picker{grid-column:1/-1;grid-template-rows:auto;grid-template-columns:auto 1fr 1fr;align-items:center}.people-picker>div{min-width:130px}.people-picker>div button{min-height:44px}.save-meal-button{align-self:center}.meal-visual-summary{grid-template-columns:1fr;gap:5px;padding:9px}.meal-visual-summary>b{padding:0}.meal-visual-summary span{min-height:32px}.meal-analysis{grid-template-columns:auto 1fr}.meal-analysis>em{grid-column:2}.meal-detail{grid-template-columns:1fr;padding:0 13px 14px}.detail-tip{grid-column:auto}.detail-recipe-card{grid-column:auto;padding:14px}.detail-recipe-columns{grid-template-columns:1fr}.recipe-source-link{grid-template-columns:auto 1fr}.recipe-source-link>b{grid-column:2}.snack-row{grid-template-columns:1fr auto}.snack-row strong{grid-area:2/1/auto/-1}.tool-row{flex-direction:column-reverse;align-items:stretch}.filter-pills{scrollbar-width:none;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.filter-pills button{white-space:nowrap}.search-box{width:100%;min-width:0}.inventory-grid{grid-template-columns:1fr 1fr;gap:8px}.inventory-tools{flex-wrap:wrap;width:100%}.inventory-tools .search-box{flex:1 0 100%}.pantry-photo-button,.add-food-button{min-height:44px}.inventory-item{gap:10px;min-height:85px;padding:12px}.inventory-emoji{width:39px;height:39px;font-size:21px}.inventory-item strong{font-size:11px}.pantry-tip{grid-template-columns:auto 1fr;padding:17px}.pantry-tip button{grid-column:1/-1;width:100%}.basket-board{box-shadow:3px 4px 0 var(--ink);border-radius:22px;padding:17px}.basket-heading{flex-direction:column;align-items:stretch}.basket-heading>div:last-child{grid-template-columns:1fr;display:grid}.basket-items,.shopping-groups,.shopping-scope{grid-template-columns:1fr}.window-controls{grid-template-columns:repeat(3,1fr)}.window-controls button{text-align:center;grid-template-rows:auto auto auto;grid-template-columns:1fr;padding:11px 8px}.window-controls button>span{grid-row:auto;font-size:20px}.shop-day-picker{justify-content:space-between;overflow-x:auto}.shop-day-picker>div{gap:3px}.shopping-toolbar{padding:14px}.recommendation-row{grid-template-columns:auto auto 1fr auto;gap:8px}.recommendation-row>b{grid-column:3}.recommendation-row>em,.recommendation-row>button{grid-area:1/4/3}.shopping-list label{grid-template-columns:auto auto 1fr}.shopping-list label>b{grid-column:3}.library-status{flex-direction:column;align-items:stretch}.library-status button{width:100%}.recipe-toolbar{flex-direction:column-reverse;align-items:stretch}.recipe-tools{flex-direction:column;align-items:stretch}.recipe-add-button,.recipe-find-button{justify-content:center;width:100%}.recipe-category-pills{scrollbar-width:none;flex-wrap:nowrap;margin-bottom:15px;padding:8px;overflow-x:auto}.recipe-category-pills::-webkit-scrollbar{display:none}.recipe-category-pills button{min-height:44px}.recipe-grid{grid-template-columns:1fr}.recipe-card.open{grid-column:auto}.mastery-control{grid-template-columns:auto 1fr auto}.mastery-control .recipe-edit-button{grid-column:2}.mastery-control .recipe-delete-button{grid-column:3}.recipe-main>span:nth-child(2){padding-right:66px}.recipe-love-control{right:51px}.recipe-detail{grid-template-columns:1fr}.recipe-detail header{flex-direction:column;align-items:flex-start}.modal-backdrop,.confirm-backdrop{align-items:end;padding:12px}.add-food-modal{box-shadow:4px 5px 0 var(--ink);border-radius:25px;padding:27px 20px 23px}.pantry-photo-modal{width:100%;max-height:100dvh;padding:24px 15px max(18px,env(safe-area-inset-bottom));box-shadow:none;border-radius:0}.pantry-photo-items article{grid-template-columns:40px minmax(0,1fr) 88px 40px}.pantry-photo-items article label:nth-of-type(3){grid-column:2/5}.pantry-photo-remove{grid-area:1/4}.suggestion-modal{border-radius:25px;width:100%;padding:26px 19px 21px;box-shadow:4px 5px #715d83}.recipe-editor-modal{border-radius:25px;width:100%;max-height:92vh;padding:26px 19px 21px;box-shadow:4px 5px #715d83}.recipe-finder-modal{border-radius:25px;width:100%;max-height:92vh;padding:26px 19px 21px;box-shadow:4px 5px #9c6077}.online-recipe-search{grid-template-columns:1fr}.online-candidates article{grid-template-columns:auto 1fr;align-items:start}.candidate-actions{grid-column:1/-1;grid-template-columns:1fr}.platform-search-links{flex-wrap:wrap}.platform-search-links span{width:100%}.recipe-form-grid{grid-template-columns:72px 1fr}.recipe-name-field{grid-column:auto}.recipe-form-grid>label:not(.recipe-emoji-field):not(.recipe-name-field),.recipe-textarea{grid-column:1/-1}.recipe-source-fields{grid-template-columns:1fr}.cute-confirm{box-shadow:4px 5px 0 var(--ink);border-radius:26px;padding:29px 20px 22px}.add-food-modal h2{font-size:24px}.modal-fields{grid-template-columns:1fr}.pantry-toast{max-width:calc(100% - 30px);bottom:92px;right:15px}.mobile-nav{z-index:20;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffefaeb;border:1px solid #342b2b26;border-radius:20px;grid-template-columns:repeat(4,1fr);gap:4px;width:min(100% - 24px,430px);padding:6px;display:grid;position:fixed;bottom:13px;left:50%;transform:translate(-50%);box-shadow:0 15px 45px #36272233}.mobile-nav button{color:var(--muted);background:0 0;border:0;border-radius:14px;padding:8px 5px;font-size:9px;font-weight:750}.mobile-nav button span{margin-bottom:3px;font-size:18px;display:block}.mobile-nav button.active{color:var(--ink);background:#f8dfe4}}@media (max-width:420px){.topbar{gap:8px}.brand{gap:0;font-size:0}.week-switcher .week-display{min-width:108px;padding-inline:3px}.week-switcher .week-display span{font-size:8px}.checkin-form{grid-template-columns:1fr}.people-picker{grid-template-columns:1fr 1fr}.people-picker>span{grid-column:1/-1}.people-picker>div{min-width:0}}@media print{body{background:#fff}.page-shell{width:100%;padding:0}.topbar,.soft-button,.mobile-nav,.day-progress,.done-button{display:none!important}.hero{min-height:170px;box-shadow:none}.day-strip{margin-bottom:20px}.source-card,.meal-wrap,.note-card{break-inside:avoid;box-shadow:none}}.revision-status-card{background:linear-gradient(135deg,#f8f2fcf7,#fffdf7f7);border:1.5px solid #b6a7c3;border-radius:24px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:16px;margin:20px 0 26px;padding:19px 21px;display:grid;position:relative;box-shadow:4px 5px #725f81}.revision-status-card.archived{background:#f7f3ef;border-color:#c7bbb1;box-shadow:4px 5px #88796e}.revision-status-card.mode-legacy_read_only{background:#fff7e9;border-color:#cfbdac;box-shadow:4px 5px #8f7561}.revision-status-card.mode-migration_required_read_only{background:#fff2ef;border-color:#d6aaa3;box-shadow:4px 5px #9b625a}.revision-status-icon{border:1px solid var(--ink);width:53px;height:53px;box-shadow:2px 3px 0 var(--ink);background:#fff;border-radius:18px;place-items:center;font-size:25px;display:grid;transform:rotate(-3deg)}.revision-status-copy{min-width:0}.revision-status-line{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.revision-status-line>span,.revision-status-line>em{letter-spacing:.06em;border-radius:999px;padding:4px 7px;font-size:8px;font-style:normal;font-weight:850}.revision-status-line>span{color:#705c80;background:#e8dcef}.revision-status-line>em{color:#796b62;background:#fff;border:1px solid #dfd3ca}.revision-status-copy h2{letter-spacing:-.025em;margin:7px 0 3px;font-size:18px}.revision-status-copy p{color:var(--muted);margin:0;font-size:9px;line-height:1.55}.revision-status-actions{align-items:end;gap:8px;display:flex}.revision-status-actions label{color:#75667e;gap:4px;font-size:8px;font-weight:800;display:grid}.revision-status-actions select,.revision-status-actions button{background:#fff;border:1px solid #a58fb5;border-radius:12px;min-height:44px}.revision-status-actions select{padding:8px 30px 8px 10px}.revision-status-actions button{cursor:pointer;background:#e8daef;padding:9px 13px;font-size:9px;font-weight:850;box-shadow:2px 3px #725f81}.revision-readonly-note{border-top:1px dashed #d8cbd2;grid-column:2/-1;padding-top:11px}.revision-readonly-note strong{font-size:10px;display:block}.revision-readonly-note p{color:var(--muted);margin:3px 0 0;font-size:9px;line-height:1.55}.revision-proposal-banner{background:linear-gradient(135deg,#fff0f4,#fff9ef);border:1.5px solid #ca91a5;border-radius:21px;grid-template-columns:auto 1fr auto;align-items:center;gap:14px;margin:0 0 26px;padding:16px 18px;display:grid;box-shadow:3px 4px #995e74}.proposal-banner-emoji{background:#fff;border-radius:15px;place-items:center;width:45px;height:45px;font-size:21px;display:grid}.revision-proposal-banner div>span{color:#98657a;letter-spacing:.08em;font-size:8px;font-weight:850}.revision-proposal-banner strong{margin-top:4px;font-size:13px;display:block}.revision-proposal-banner p{color:var(--muted);margin:3px 0 0;font-size:9px}.revision-proposal-banner button{border:1px solid var(--ink);min-height:44px;box-shadow:2px 3px 0 var(--ink);cursor:pointer;background:#fff;border-radius:12px;padding:10px 14px;font-size:9px;font-weight:850}.revision-live-region{z-index:62;pointer-events:none;gap:7px;width:min(390px,100vw - 44px);display:grid;position:fixed;bottom:75px;right:22px}.revision-live-region p{border:1px solid var(--ink);box-shadow:3px 4px 0 var(--ink);background:#f1f6e9;border-radius:13px;margin:0;padding:11px 14px;font-size:9px;font-weight:750;line-height:1.5}.revision-live-region p[role=alert]{background:#fff0ed}.revision-menu-unavailable{text-align:center;background:#fff9;border:1px dashed #cdbfb4;border-radius:27px;place-items:center;min-height:270px;margin:22px 0;padding:34px;display:grid}.revision-menu-unavailable>span{font-size:39px}.revision-menu-unavailable h2{margin:10px 0 5px;font-size:21px}.revision-menu-unavailable p{max-width:560px;color:var(--muted);margin:0;font-size:10px;line-height:1.65}.revision-menu-unavailable button{border:1px solid var(--ink);min-height:44px;box-shadow:2px 3px 0 var(--ink);cursor:pointer;background:#fff;border-radius:12px;margin-top:16px;padding:10px 17px;font-size:9px;font-weight:850}.revision-missing-meal{background:#ffffff94;border:1px dashed #cdbfb4;border-radius:20px;grid-template-columns:auto 1fr;align-items:center;gap:12px;min-height:92px;padding:17px;display:grid}.revision-missing-meal>span{background:#f5eee7;border-radius:14px;place-items:center;width:46px;height:46px;font-size:22px;display:grid}.revision-missing-meal strong{font-size:12px}.revision-missing-meal p{color:var(--muted);margin:4px 0 0;font-size:9px;line-height:1.55}.revision-shopping-authority{background:#f7f0fb;border:1.5px solid #b6a7c3;border-radius:19px;grid-template-columns:auto 1fr;align-items:center;gap:13px;margin:22px 0 12px;padding:16px 18px;display:grid}.revision-shopping-authority.unavailable{background:#f8f4f0;border-color:#d5c5ba}.revision-shopping-authority>span{font-size:25px}.revision-shopping-authority strong{font-size:12px;display:block}.revision-shopping-authority p{color:var(--muted);margin:4px 0 0;font-size:9px;line-height:1.55}.revision-review-dialog,.revision-confirm-dialog{color:var(--ink);font-family:inherit}.revision-review-dialog::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2e25228f}.revision-confirm-dialog::backdrop{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#2e25228f}.revision-review-dialog{background:#fffdf9;border:1.5px solid #715d83;border-radius:30px;width:min(1120px,100vw - 36px);max-width:none;max-height:calc(100dvh - 36px);margin:auto;padding:0;overflow:hidden;box-shadow:8px 10px #554460,0 28px 80px #2d23294d}.revision-review-dialog[open],.revision-confirm-dialog[open]{animation:.2s both modalPop}.revision-review-shell{overscroll-behavior:contain;max-height:calc(100dvh - 40px);overflow-y:auto}.revision-review-head{z-index:4;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffdf9f5;border-bottom:1px solid #e4d8e5;justify-content:space-between;gap:20px;padding:24px 26px 20px;display:flex;position:sticky;top:0}.revision-kicker{color:#8c6c98;letter-spacing:.14em;font-size:8px;font-weight:900}.revision-review-head h2{letter-spacing:-.045em;margin:7px 0 4px;font-size:clamp(23px,3vw,34px)}.revision-review-head p{color:var(--muted);margin:0;font-size:10px}.revision-dialog-close{cursor:pointer;background:#f7f0f8;border:1px solid #d8c9dc;border-radius:14px;flex:0 0 44px;width:44px;height:44px;font-size:22px}.revision-conflict,.revision-safety-alert{border-radius:16px;margin:18px 26px 0;padding:14px 16px}.revision-conflict{background:#fff1e9;border:1px solid #e2b7a6;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;display:grid}.revision-conflict>span{font-size:24px}.revision-conflict strong,.revision-safety-alert strong{font-size:11px;display:block}.revision-conflict p,.revision-safety-alert p{color:#806963;margin:3px 0 0;font-size:9px;line-height:1.55}.revision-conflict button{cursor:pointer;background:#fff;border:1px solid #a87767;border-radius:11px;min-height:44px;padding:9px 13px;font-size:9px;font-weight:850}.revision-safety-alert{color:#7f3934;background:#fff0ed;border:1.5px solid #c76d63}.revision-safety-alert ul{margin:8px 0 0;padding-left:17px;font-size:9px;line-height:1.6}.revision-review-summary{background:#faf6fc;border:1px solid #dfd2e4;border-radius:18px;grid-template-columns:repeat(4,auto) 1fr;align-items:center;gap:10px;margin:18px 26px;padding:14px;display:grid}.revision-review-summary>div{background:#fff;border-radius:12px;min-width:92px;padding:9px 11px}.revision-review-summary strong,.revision-review-summary span{display:block}.revision-review-summary strong{font-size:15px}.revision-review-summary span{color:var(--muted);margin-top:2px;font-size:7px}.revision-review-summary>p{color:#776b80;margin:0;font-size:9px;line-height:1.55}.revision-diff-list{gap:17px;padding:0 26px;display:grid}.revision-meal-diff{background:#fff;border:1px solid #dbcddf;border-radius:23px;padding:18px;scroll-margin-top:110px;box-shadow:0 12px 34px #48354e12}.revision-meal-diff:focus{outline-offset:3px;outline:3px solid #8c649c59}.revision-meal-diff>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;display:flex}.revision-meal-diff>header span{color:#8d7898;letter-spacing:.08em;font-size:8px;font-weight:850}.revision-meal-diff>header h3{margin:4px 0 0;font-size:17px}.revision-meal-diff>header em{border-radius:999px;padding:5px 8px;font-size:8px;font-style:normal;font-weight:850}.revision-meal-diff>header em.unlocked{color:#5e7442;background:#e9f1dd}.revision-meal-diff>header em.locked{color:#a84e46;background:#ffe3df}.revision-before-after{grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:11px;display:grid}.revision-diff-arrow{color:#80668e;background:#f8f2fa;border:1px solid #dfd2e2;border-radius:50%;align-self:center;place-items:center;width:36px;height:36px;display:grid}.revision-snapshot{background:#faf7f4;border:1px solid #e2d9d2;border-radius:18px;min-width:0;padding:15px}.revision-snapshot.after{background:#f2f7e9;border-color:#b7c99e}.snapshot-label{color:#7f7067;letter-spacing:.08em;background:#eee5df;border-radius:999px;padding:4px 7px;font-size:7px;font-weight:900;display:inline-block}.revision-snapshot.after .snapshot-label{color:#5f7544;background:#dce9c9}.snapshot-title{grid-template-columns:auto 1fr;align-items:center;gap:10px;margin-top:11px;display:grid}.snapshot-title>span{background:#fff;border-radius:14px;place-items:center;width:45px;height:45px;font-size:23px;display:grid}.snapshot-title strong{font-size:13px}.snapshot-title p{color:var(--muted);margin:3px 0 0;font-size:8px}.snapshot-empty{min-height:164px;color:var(--muted);text-align:center;align-content:center;place-items:center;display:grid}.snapshot-empty span{font-size:25px}.snapshot-empty p{margin:7px 0 0;font-size:9px}.snapshot-facts{grid-template-columns:1fr 1fr;gap:7px;margin:13px 0;display:grid}.snapshot-facts>div{background:#ffffffb8;border-radius:10px;padding:8px}.snapshot-facts dt{color:var(--muted);font-size:7px}.snapshot-facts dd{margin:2px 0 0;font-size:9px;font-weight:800}.revision-snapshot details{background:#ffffff8a;border:1px solid #806f662e;border-radius:10px;margin-top:7px}.revision-snapshot summary{cursor:pointer;align-items:center;min-height:44px;padding:8px 10px;font-size:8px;font-weight:850;display:flex}.revision-snapshot ul{gap:5px;margin:0;padding:0 10px 10px;list-style:none;display:grid}.revision-snapshot li{color:#756a63;justify-content:space-between;gap:8px;font-size:8px;display:flex}.revision-snapshot li b{color:#554a45;font-size:7px}.revision-reasons{background:#f7f2fa;border-radius:14px;margin-top:13px;padding:12px 14px}.revision-reasons>strong{font-size:9px}.revision-reasons ul{gap:5px;margin:7px 0 0;padding:0;list-style:none;display:grid}.revision-reasons li{color:#6f6276;font-size:9px;line-height:1.5}.revision-reasons li span{color:#796088;background:#e7dbed;border-radius:6px;margin-right:7px;padding:3px 5px;font-size:7px;font-weight:850}.revision-reasons p{color:var(--muted);margin:6px 0 0;font-size:9px}.revision-shopping-diff{background:#fff9ec;border:1px solid #e3cfb7;border-radius:22px;margin:20px 26px 0;padding:18px}.revision-section-head{grid-template-columns:auto 1fr;align-items:center;gap:11px;display:grid}.revision-section-head>span{font-size:26px}.revision-section-head h3{margin:0;font-size:16px}.revision-section-head p{color:var(--muted);margin:3px 0 0;font-size:8px}.revision-empty-copy{color:var(--muted);background:#fff;border-radius:12px;margin:13px 0 0;padding:12px;font-size:9px}.shopping-diff-groups{grid-template-columns:repeat(3,1fr);gap:9px;margin-top:14px;display:grid}.shopping-diff-groups>section{background:#ffffffbf;border-radius:14px;min-width:0;padding:11px}.shopping-diff-groups h4{margin:0 0 7px;font-size:10px}.shopping-diff-groups article{border-top:1px dashed #e2d3c1;gap:7px;padding:9px 0;display:grid}.shopping-diff-groups article:first-of-type{border-top:0}.shopping-diff-groups strong{font-size:9px}.shopping-diff-groups p{color:var(--muted);margin:2px 0 0;font-size:8px}.shopping-source-links{flex-wrap:wrap;align-items:center;gap:4px;display:flex}.shopping-source-links span{color:#9b8265;width:100%;font-size:7px}.shopping-source-links button{cursor:pointer;background:#fff;border:1px solid #dbc6aa;border-radius:8px;min-height:44px;padding:7px 9px;font-size:7px}.shopping-source-links em{color:#aa564e;font-size:8px}.revision-review-actions{z-index:4;-webkit-backdrop-filter:blur(15px);backdrop-filter:blur(15px);background:#fffdf9f7;border-top:1px solid #e3d8e4;justify-content:space-between;align-items:center;gap:14px;margin-top:20px;padding:17px 26px;display:flex;position:sticky;bottom:0}.revision-review-actions p{color:var(--muted);margin:0;font-size:9px}.revision-review-actions>div{gap:8px;display:flex}.revision-review-actions button,.revision-confirm-dialog button{cursor:pointer;background:#fff;border:1px solid #d3c5d7;border-radius:12px;min-height:44px;padding:10px 14px;font-size:9px;font-weight:850}.revision-primary{box-shadow:2px 3px 0 var(--ink);border-color:var(--ink)!important;background:#c9dda7!important}.revision-reject{box-shadow:2px 3px #713f3a;background:#f5b9b2!important;border-color:#9d5a54!important}.revision-confirm-dialog{border:1.5px solid var(--ink);width:min(430px,100vw - 28px);max-width:none;box-shadow:7px 9px 0 var(--ink);text-align:center;background:#fffaf3;border-radius:29px;margin:auto;padding:31px 27px 25px;overflow:hidden}.revision-confirm-dialog .confirm-spark{color:#d390a0;position:absolute;top:22px;left:25px}.revision-confirm-dialog h2{letter-spacing:-.04em;margin:0;font-size:22px}.revision-confirm-dialog p{color:var(--muted);margin:9px auto 20px;font-size:10px;line-height:1.65}.revision-confirm-dialog>div{grid-template-columns:1fr 1fr;gap:8px;display:grid}:is(.revision-status-card button:focus-visible,.revision-status-card select:focus-visible,.revision-proposal-banner button:focus-visible,.revision-review-dialog button:focus-visible,.revision-review-dialog summary:focus-visible,.revision-confirm-dialog button:focus-visible,.revision-menu-unavailable button:focus-visible){outline-offset:3px;outline:3px solid #805b926b}@media (max-width:760px){.revision-status-card{border-radius:20px;grid-template-columns:auto 1fr;padding:16px}.revision-status-actions,.revision-readonly-note{grid-column:1/-1}.revision-status-actions{grid-template-columns:1fr 1fr;align-items:end;display:grid}.revision-status-actions button{width:100%}.revision-proposal-banner{grid-template-columns:auto 1fr}.revision-proposal-banner button{grid-column:1/-1;width:100%}.revision-review-dialog{width:100vw;height:100dvh;max-height:none;box-shadow:none;border:0;border-radius:0;margin:0}.revision-review-shell{height:100dvh;max-height:none}.revision-review-head{padding:18px 16px 15px}.revision-review-head h2{padding-right:4px;font-size:23px}.revision-conflict,.revision-safety-alert,.revision-review-summary,.revision-shopping-diff{margin-left:14px;margin-right:14px}.revision-conflict{grid-template-columns:auto 1fr}.revision-conflict button{grid-column:1/-1;width:100%}.revision-review-summary{grid-template-columns:repeat(2,1fr)}.revision-review-summary>div{min-width:0}.revision-review-summary>p{grid-column:1/-1}.revision-diff-list{padding:0 14px}.revision-meal-diff{border-radius:19px;padding:14px}.revision-before-after{grid-template-columns:1fr}.revision-diff-arrow{justify-self:center;transform:rotate(90deg)}.shopping-diff-groups{grid-template-columns:1fr}.revision-review-actions{padding:13px 14px max(13px, env(safe-area-inset-bottom));display:grid}.revision-review-actions>div{grid-template-columns:1fr 1fr;display:grid}.revision-review-actions button{padding:9px 8px}.revision-live-region{width:calc(100vw - 28px);bottom:90px;right:14px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}body{background-color:var(--cream);background-image:var(--surface-grain-image), radial-gradient(circle at 8% 9%, #f7b9d64d, transparent 23rem), radial-gradient(circle at 91% 28%, #d3c2ef47, transparent 25rem), radial-gradient(circle at 47% 88%, #ffdcc533, transparent 28rem);background-size:var(--surface-grain-size), auto, auto, auto}.source-card,.meal-wrap,.shopping-group,.recipe-card,.journal-meal-card,.today-overview,.actual-meal-timeline{background-image:var(--surface-grain-image);background-size:var(--surface-grain-size)}.page-shell{z-index:1;position:relative}.dreamy-decor,.dreamy-decor *{pointer-events:none!important}.dreamy-decor{position:static;overflow:visible}.dream-cloud{opacity:.48;width:92px;height:35px;animation:7s ease-in-out infinite dreamFloat;position:absolute}.dream-cloud span{background:#ffffffc7;border:1px solid #997eae38;border-radius:999px;width:55px;height:25px;position:absolute;bottom:0;box-shadow:0 8px 24px #9b79a414}.dream-cloud span:first-child{left:0}.dream-cloud span:nth-child(2){width:43px;height:38px;bottom:10px;left:24px}.dream-cloud span:nth-child(3){right:0}.dream-cloud-one{top:22vh;left:2vw}.dream-cloud-two{animation-delay:-3s;top:54vh;right:3vw;transform:scale(.78)}.dream-star,.dream-moon{color:#a97cb88f;text-shadow:0 0 14px #e9aed98a;animation:3.6s ease-in-out infinite dreamTwinkle;position:absolute}.dream-star-one{font-size:18px;top:13vh;left:7vw}.dream-star-two{font-size:27px;animation-delay:-1.4s;top:18vh;right:7vw}.dream-moon{font-family:Georgia,serif;font-size:34px;animation-delay:-.8s;top:41vh;right:4vw}.dream-friend{z-index:0;color:#735d75;background:#fffcfdd6;border:1px solid #6a52714d;place-items:center;animation:5.8s ease-in-out infinite dreamFloat;display:grid;position:fixed;box-shadow:0 14px 38px #76506e1f}.dream-friend .ear{background:#fff7fb;border:1px solid #6a52714d;border-radius:90% 90% 48% 48%;width:24px;height:39px;position:absolute;top:-21px}.dream-friend .ear:after{content:"";border-radius:inherit;background:#f6ccdd;position:absolute;inset:7px}.dream-friend .ear.left{left:18px;transform:rotate(-12deg)}.dream-friend .ear.right{right:18px;transform:rotate(12deg)}.dream-friend .face{letter-spacing:.08em;font-size:15px;font-weight:850}.dream-friend small{color:#94778e;white-space:nowrap;background:#ffffffd6;border-radius:999px;padding:5px 8px;font-size:7px;position:absolute;top:calc(100% + 7px)}.dream-friend>i{color:#de85a3;font-family:Georgia,serif;font-style:normal;position:absolute;top:9px;right:11px}.dream-bunny{border-radius:46% 46% 42% 42%;width:83px;height:74px;bottom:54px;left:max(12px,50vw - 670px)}.dream-bear{background:#fff2e1e0;border-radius:44% 44% 39% 39%;width:76px;height:70px;animation-delay:-2.1s;bottom:95px;right:max(12px,50vw - 670px)}.dream-bear .ear{background:#f5d8bd;border-radius:50%;width:27px;height:27px;top:-10px}.dream-bear .ear:after{background:#e8bfa2;inset:7px}.dream-bear .ear.left{left:4px}.dream-bear .ear.right{right:4px}.dream-particles{z-index:80;position:fixed;inset:0;overflow:hidden}.dream-particle{--dream-x:0px;--dream-y:0px;--dream-drift:0px;--dream-delay:0s;color:#ed8eb2;opacity:0;transform:translate(calc(var(--dream-x) - 50%), calc(var(--dream-y) - 50%));animation:dreamBubble 1.05s var(--dream-delay) cubic-bezier(.2,.72,.25,1) forwards;font-size:18px;font-style:normal;position:absolute;top:0;left:0}.dream-particle.lilac{color:#b798db}.dream-particle.peach{color:#efa985}@keyframes dreamFloat{0%,to{transform:translateY(0)rotate(-1deg)}50%{transform:translateY(-9px)rotate(1deg)}}@keyframes dreamTwinkle{0%,to{opacity:.35;transform:scale(.85)rotate(-5deg)}50%{opacity:.9;transform:scale(1.08)rotate(5deg)}}@keyframes dreamBubble{0%{opacity:0;transform:translate(calc(var(--dream-x) - 50%), calc(var(--dream-y) - 30%)) scale(.45)}18%{opacity:.9}to{opacity:0;transform:translate(calc(var(--dream-x) + var(--dream-drift) - 50%), calc(var(--dream-y) - 92px)) scale(1.15) rotate(18deg)}}.hero-menu.journal-hero{background:linear-gradient(135deg,#f8d7e4,#f1e4fa 64%,#fff0dc);min-height:220px}.journal-hero .hero-stats>div:not(.mascot){background:#ffffffc2}.journal-hero .mascot{background:#fff}.quick-meal-capture{background-color:#fff3f9;background-image:var(--surface-grain-image), linear-gradient(120deg,#fff3f9f0,#f5edffeb);background-size:var(--surface-grain-size), 100% 100%;border:1px solid #d8bcd4;border-radius:20px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:14px;margin:17px 0;padding:14px 16px;display:grid;box-shadow:0 10px 28px #6f486914}.quick-capture-character{color:#725b6d;background:#fff;border:1px solid #d5b9cf;border-radius:48% 48% 42% 42%;place-items:center;width:62px;height:53px;display:grid;position:relative}.quick-capture-character:before,.quick-capture-character:after{content:"";background:#ffeefa;border:1px solid #d5b9cf;border-radius:80% 80% 40% 40%;width:17px;height:23px;position:absolute;top:-10px}.quick-capture-character:before{left:10px;transform:rotate(-13deg)}.quick-capture-character:after{right:10px;transform:rotate(13deg)}.quick-capture-character span{z-index:1;font-size:8px;font-weight:850;position:relative}.quick-capture-character i{color:#df86a4;font-family:Georgia,serif;font-style:normal;position:absolute;top:4px;right:8px}.quick-meal-capture>div:nth-child(2)>span{color:#a16d91;letter-spacing:.14em;font-size:10px;font-weight:900}.quick-meal-capture>div:nth-child(2) strong{margin-top:3px;font-size:14px;display:block}.quick-meal-capture>div:nth-child(2) p{color:var(--muted);margin:3px 0 0;font-size:11px;line-height:1.5}.quick-meal-capture>button{cursor:pointer;color:#523f55;background:#f4c9da;border:1px solid #725776;border-radius:13px;min-height:46px;padding:10px 15px;font-size:12px;font-weight:900;box-shadow:3px 4px #725776}.meal-draft-storage-note{color:#6d5b70;background:linear-gradient(120deg,#fff3f9,#f5f0ff);border:1px solid #d8c7e2;border-radius:15px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;margin:-5px 0 17px;padding:11px 13px;display:grid}.meal-draft-storage-note>span{font-size:18px}.meal-draft-storage-note p{margin:0;font-size:10px;line-height:1.55}.meal-draft-storage-note button{cursor:pointer;color:#816b82;background:0 0;border:0;border-radius:12px;width:44px;height:44px;font-size:19px}.meal-draft-week-links{flex-wrap:wrap;gap:6px;margin-top:7px;display:flex}.meal-draft-week-links button{background:#fffafc;border:1px solid #d8c7e2;width:auto;height:auto;min-height:36px;padding:7px 10px;font-size:10px;font-weight:700}.meal-pattern-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffcffd1;border:1px solid #dfcbe5;border-radius:23px;grid-template-columns:minmax(220px,.9fr) minmax(360px,1.1fr);align-items:center;gap:17px 24px;margin:20px 0;padding:18px 20px;display:grid;box-shadow:0 12px 33px #74497112}.meal-pattern-card>div:first-child>span{color:#936e9b;letter-spacing:.15em;font-size:8px;font-weight:900}.meal-pattern-card>div:first-child>strong{margin-top:5px;font-size:15px;display:block}.meal-pattern-card>div:first-child>p{color:var(--muted);margin:4px 0 0;font-size:9px;line-height:1.5}.meal-pattern-segmented{background:#f7f0f8;border:1px solid #dfd2e3;border-radius:17px;grid-template-columns:1fr 1fr;gap:7px;padding:5px;display:grid}.meal-pattern-segmented button{text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:13px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;align-content:center;gap:1px 8px;min-height:58px;padding:8px 12px;display:grid;position:relative}.meal-pattern-segmented button>span{grid-row:1/3;align-self:center;font-size:20px}.meal-pattern-segmented button b{font-size:10px}.meal-pattern-segmented button small{color:var(--muted);font-size:7px}.meal-pattern-segmented button.active{color:#6f557b;background:#fff;border-color:#80658d;box-shadow:2px 3px #80658d}.journal-compatibility-note{color:#806c54;background:#fff8e9;border:1px solid #efd5ae;border-radius:12px;grid-column:1/-1;align-items:center;gap:7px;margin:-5px 0 0;padding:9px 11px;font-size:8px;line-height:1.5;display:flex}.journal-compatibility-note span{font-size:15px}.journal-heading{justify-content:space-between;align-items:end;gap:20px;margin:27px 0 14px;display:flex}.journal-heading h2{letter-spacing:-.045em;margin:6px 0 0;font-size:clamp(25px,3vw,38px)}.journal-heading p{max-width:440px;color:var(--muted);text-align:right;margin:0;font-size:10px;line-height:1.6}.journal-layout{grid-template-columns:minmax(0,1.5fr) minmax(270px,.56fr);align-items:start;gap:18px;display:grid}.journal-meals{gap:12px;min-width:0;display:grid}.journal-meal-card{background:#fffefbeb;border:1px solid #dfcfe2;border-radius:25px;transition:border-color .18s,box-shadow .18s,transform .18s;overflow:hidden;box-shadow:0 13px 30px #5f3b5b12}.journal-meal-card.recorded{border-color:#b9cfa0}.journal-meal-card.journal-closed:hover{border-color:#caaec9;transform:translateY(-1px);box-shadow:0 15px 34px #5f3b5b1a}.journal-meal-card.journal-open{border-color:#c9adcb;box-shadow:0 18px 42px #5f3b5b1c}.journal-meal-card.sync-uploading{border-color:#ae9bca}.journal-meal-card.sync-retry_waiting{border-color:#d8b16f}.journal-meal-card.sync-needs_attention{border-color:#d9908a}.journal-slot-heading{padding:0}.journal-slot-toggle{width:100%;min-height:94px;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;grid-template-columns:auto minmax(150px,1fr) auto auto;align-items:center;gap:14px;padding:15px 17px;display:grid}.journal-slot-toggle:focus-visible{outline-offset:-4px;outline:3px solid #945d9f52}.journal-slot-primary{align-items:center;gap:10px;min-width:0;display:flex}.journal-slot-number{color:#77596d;background:#f9e8f1;border:1px solid #dcbfd0;border-radius:14px;flex:none;place-items:center;width:42px;height:42px;font-family:Georgia,serif;font-size:17px;display:grid}.journal-slot-primary small,.journal-slot-primary strong{display:block}.journal-slot-primary small{color:#9a7690;letter-spacing:.12em;font-size:7px;font-weight:900}.journal-slot-primary strong{margin-top:3px;font-size:14px}.journal-slot-glance{border-left:1px solid #eadde6;gap:3px;min-width:0;padding-left:14px;display:grid}.journal-slot-glance b{color:#7d6278;font-size:9px}.journal-slot-glance small{color:#50484f;text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.45;overflow:hidden}.journal-slot-glance em{color:#9a8793;font-size:8px;font-style:normal}.journal-kind-badge{color:#725f80;white-space:nowrap;background:#f6effa;border:1px solid #dac8e4;border-radius:999px;padding:6px 9px;font-size:8px;font-style:normal;font-weight:850}.journal-slot-chevron{color:#755e72;background:#f7edf4;border-radius:50%;place-items:center;width:32px;height:32px;font-size:18px;font-style:normal;transition:transform .18s,background .18s;display:grid}.journal-slot-toggle[aria-expanded=true] .journal-slot-chevron{background:#ead7e7;transform:rotate(180deg)}.journal-entry-panel{border-top:1px solid #eee2ea;padding-top:1px}.journal-meal-card .meal-checkin{margin:12px 13px 13px}.meal-timing-fields{grid-template-columns:minmax(120px,1.15fr) minmax(94px,.85fr);gap:7px;display:grid}.meal-time-field,.meal-date-field{gap:6px;display:grid}.meal-time-field>span,.meal-date-field>span{color:#7f6877;font-size:9px;font-weight:850}.meal-time-field input,.meal-date-field input{width:100%;min-height:44px;color:var(--ink);background:#fff;border:1.5px solid #d8bdcd;border-radius:11px;padding:8px 10px;font-size:12px}.meal-time-field small{color:var(--muted);font-size:7px;line-height:1.4}.journal-controls{gap:8px;display:grid}.journal-controls .people-picker{grid-template-rows:auto auto}.journal-controls .people-picker button{min-height:44px}.journal-controls .save-meal-button{width:100%}.meal-nutrition-card{background:linear-gradient(135deg,#faf5fd,#fffaf2);border:1px solid #dfd2e7;border-radius:17px;margin:0 13px 13px;padding:13px 14px}.meal-nutrition-card.needs-detail{background:#faf8fb;border-style:dashed}.meal-nutrition-heading{grid-template-columns:auto 1fr auto;align-items:center;gap:10px;display:grid}.meal-nutrition-heading>span{color:#8a68a0;background:#f2e3f5;border-radius:12px;place-items:center;width:35px;height:35px;font-size:17px;display:grid}.meal-nutrition-heading small,.meal-nutrition-heading strong{display:block}.meal-nutrition-heading small{color:#9879a2;letter-spacing:.12em;font-size:6px;font-weight:900}.meal-nutrition-heading strong{margin-top:3px;font-size:15px}.meal-nutrition-heading p{color:var(--muted);margin:3px 0 0;font-size:8px;line-height:1.5}.meal-nutrition-heading>em{white-space:nowrap;border-radius:999px;padding:5px 7px;font-size:7px;font-style:normal;font-weight:850}.meal-nutrition-heading>em.low{color:#986c3b;background:#fff0dd}.meal-nutrition-heading>em.medium{color:#725f84;background:#eee7f6}.meal-nutrition-heading>em.high{color:#627b45;background:#e9f1de}.nutrition-food-tags{flex-wrap:wrap;gap:6px;margin-top:10px;display:flex}.nutrition-food-tags span{background:#ffffffd1;border:1px solid #ead7df;border-radius:999px;align-items:center;gap:4px;min-height:30px;padding:5px 8px;font-size:8px;font-weight:750;display:inline-flex}.nutrition-food-tags i{font-size:14px;font-style:normal}.gentle-advice{background:#ffffffb8;border-radius:12px;gap:4px;margin-top:10px;padding:10px 11px;display:grid}.gentle-advice b{color:#79617e;font-size:8px}.gentle-advice p{color:#746b74;margin:0;font-size:8px;line-height:1.55}.gentle-advice p:before{content:"♡";color:#dc829f;margin-right:6px}.nutrition-disclaimer{color:#9b9098;margin-top:8px;font-size:7px;line-height:1.45;display:block}.daily-journal-summary{background:linear-gradient(150deg,#f7e8fb,#fff4ec);border:1px solid #d5c4e0;border-radius:8px 27px 27px;padding:22px 18px 17px;position:sticky;top:20px;overflow:hidden;box-shadow:0 14px 34px #5d3e6a1a}.summary-ribbon{color:#876b92;letter-spacing:.14em;font-size:7px;font-weight:900}.summary-character{color:#806c88;background:#fffc;border:1px solid #d5bddc;border-radius:50% 50% 44% 44%;place-items:center;width:79px;height:49px;display:grid;position:absolute;top:17px;right:15px}.summary-character:before,.summary-character:after{content:"";background:#fff7fc;border:1px solid #d5bddc;border-radius:90% 90% 40% 40%;width:20px;height:28px;position:absolute;top:-14px}.summary-character:before{left:10px;transform:rotate(-13deg)}.summary-character:after{right:10px;transform:rotate(13deg)}.summary-character span{z-index:1;font-size:8px;position:relative}.daily-journal-summary h3{margin:8px 0 5px;padding-right:69px;font-size:19px}.daily-journal-summary>p{color:#776b79;margin:0;font-size:9px}.daily-kcal-range{background:#ffffffb8;border:1px solid #bda5cb;border-radius:17px;margin-top:15px;padding:13px;box-shadow:3px 4px #826c91}.daily-kcal-range.empty{box-shadow:none;border-style:dashed}.daily-kcal-range span,.daily-kcal-range strong,.daily-kcal-range small{display:block}.daily-kcal-range span{color:#87758e;font-size:8px}.daily-kcal-range strong{letter-spacing:-.04em;margin:5px 0 1px;font-size:24px}.daily-kcal-range small{color:var(--muted);font-size:7px}.daily-gentle-notes{gap:6px;margin-top:11px;display:grid}.daily-gentle-notes p{color:#736875;grid-template-columns:auto 1fr;gap:7px;margin:0;font-size:8px;line-height:1.55;display:grid}.daily-gentle-notes span{color:#d77f9d;font-family:Georgia,serif}.daily-summary-disclaimer{color:#968b96;border-top:1px dashed #d8c8db;margin-top:11px;padding-top:9px;font-size:7px;line-height:1.5;display:block}.recipe-reference{background:#faf7fb;border:1px solid #ddd2e2;border-radius:16px;margin:0 13px 13px;overflow:hidden}.recipe-reference>summary{cursor:pointer;grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;gap:10px;min-height:58px;padding:8px 11px;list-style:none;display:grid}.recipe-reference>summary::-webkit-details-marker{display:none}.recipe-reference>summary:focus-visible{outline-offset:-3px;outline:3px solid #805b926b}.reference-emoji{background:#f0e5f4;border-radius:12px;place-items:center;width:38px;height:38px;font-size:20px;display:grid}.reference-copy{min-width:0}.reference-copy small,.reference-copy strong,.reference-copy em{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.reference-copy small{color:#92799d;letter-spacing:.1em;font-size:6px;font-weight:900}.reference-copy strong{margin-top:2px;font-size:11px}.reference-copy em{color:var(--muted);margin-top:2px;font-size:7px;font-style:normal}.reference-status{white-space:nowrap;border-radius:999px;padding:5px 7px;font-size:7px;font-weight:850}.reference-status.snapshot{color:#735c82;background:#e9e0f0}.reference-status.library{color:#617746;background:#e8f0dc}.reference-status.missing{color:#84766d;background:#f1ece8}.recipe-reference>summary>i{border:1px solid #ddd1e1;border-radius:50%;place-items:center;width:26px;height:26px;font-style:normal;transition:transform .18s;display:grid}.recipe-reference[open]>summary>i{transform:rotate(180deg)}.recipe-reference-body{padding:0 11px 11px}.recipe-reference-actions{background:#fff;border-radius:11px;grid-template-columns:1fr auto;align-items:center;gap:10px;padding:10px;display:grid}.recipe-reference-actions p{color:var(--muted);margin:0;font-size:8px;line-height:1.5}.recipe-reference-actions button{color:#705c7b;cursor:pointer;background:#f7eef9;border:1px solid #b7a1c1;border-radius:10px;min-height:44px;padding:8px 10px;font-size:8px;font-weight:850}.recipe-reference .meal-card{border-radius:13px;min-height:70px;margin-top:9px;padding-right:104px;overflow:hidden}.recipe-reference .done-button{width:44px;height:44px;right:55px}.recipe-reference .refresh-meal-button{border-radius:12px;width:44px;height:44px;top:13px;right:6px}.recipe-reference .meal-detail{padding:10px 0 0}.journal-menu-system{margin-top:28px}.journal-menu-system>details{background:#fcf9fdb8;border:1px solid #d8cde0;border-radius:21px}.journal-menu-system>details>summary{cursor:pointer;color:#725f7c;justify-content:space-between;align-items:center;gap:12px;min-height:56px;padding:12px 16px;font-size:10px;font-weight:850;list-style:none;display:flex}.journal-menu-system>details>summary::-webkit-details-marker{display:none}.journal-menu-system>details>summary small{color:#95879a;text-align:right;font-size:8px;font-weight:700}.journal-menu-system>details>div{padding:0 15px 15px}.journal-menu-system .day-strip,.journal-menu-system .meal-section{display:none}.journal-menu-system .live-refresh{margin-top:0}.meal-vision-consent{cursor:pointer;background:linear-gradient(135deg,#faf3fd,#fff8f2);border:1px solid #d9c8e2;border-radius:14px;grid-column:2;grid-template-columns:auto auto 1fr;align-items:center;gap:9px;min-height:58px;padding:9px 11px;display:grid}.meal-vision-consent.unavailable{cursor:default;opacity:.78;border-style:dashed}.meal-vision-consent>input{accent-color:#9f70aa;width:18px;height:18px}.meal-vision-consent>span{font-size:20px}.meal-vision-consent p{margin:0}.meal-vision-consent strong,.meal-vision-consent small{display:block}.meal-vision-consent strong{color:#725b7d;font-size:12px}.meal-vision-consent small{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.45}.meal-draft-progress{color:#746576;background:#ffffffb8;border:1px solid #e4d7df;border-radius:14px;grid-column:1/-1;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:9px;min-height:50px;padding:9px 11px;display:grid}.meal-draft-progress>span{color:#aa6d91;background:#f6e4ee;border-radius:11px;place-items:center;width:31px;height:31px;display:grid}.meal-draft-progress p{margin:0}.meal-draft-progress strong,.meal-draft-progress small{display:block}.meal-draft-progress strong{font-size:10px}.meal-draft-progress small{color:var(--muted);margin-top:2px;font-size:8px;line-height:1.45}.meal-draft-progress>button{color:#7c403c;cursor:pointer;background:#fff;border:1px solid #bd756f;border-radius:10px;grid-column:2;width:max-content;min-height:36px;margin-top:2px;padding:6px 9px;font-size:8px;font-weight:850}.meal-draft-progress.busy{background:linear-gradient(120deg,#f9edf8,#f3effc);border-color:#cdb4d6}.meal-draft-progress.uploading{background:#f6f2fc;border-color:#b8abd1}.meal-draft-progress.retry_waiting{color:#806642;background:#fff8e9;border-color:#e0bf83}.meal-draft-progress.meal_saved_fridge_pending{color:#3f6f76;background:#effafb;border-color:#9fc4c9}.meal-draft-progress.needs_attention{color:#873f3b;background:#fff1ef;border-color:#deaaa4}.meal-draft-progress.saved{color:#566f3d;background:#f6fbef;border-color:#b9d09d}.meal-draft-progress.busy>span{animation:1.2s ease-in-out infinite alternate gentleFloat}@keyframes gentleFloat{to{transform:translateY(-3px)rotate(4deg)}}.save-meal-button.review-first{color:#503f56;background:linear-gradient(135deg,#f6c7d9,#dac7ef);box-shadow:3px 4px #6b536f}.revision-menu-loading{color:#765f80;background:#faf5fc;border:1px dashed #dac9df;border-radius:16px;place-items:center;min-height:90px;margin:8px 0;font-size:10px;font-weight:850;display:grid}.dialog-loading-backdrop{z-index:170;color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#3727357a;place-items:center;font-size:13px;font-weight:850;display:grid;position:fixed;inset:0}.meal-capture-dialog{width:min(980px,100vw - 34px);max-width:none;max-height:calc(100dvh - 34px);color:var(--ink);background:#fffdfb;border:1.5px solid #6c526e;border-radius:31px;margin:auto;padding:0;font-family:inherit;overflow:hidden;box-shadow:9px 11px #59445e,0 30px 90px #422d4052}.meal-capture-dialog::backdrop{-webkit-backdrop-filter:blur(11px);backdrop-filter:blur(11px);background:#37273594}.meal-capture-dialog[open]{animation:.2s both modalPop}.meal-capture-shell{overscroll-behavior:contain;max-height:calc(100dvh - 38px);overflow-y:auto}.meal-capture-dialog-head{z-index:4;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdfbf5;border-bottom:1px solid #eadce7;justify-content:space-between;gap:22px;padding:24px 27px 19px;display:flex;position:sticky;top:0}.meal-capture-dialog-head>div>span{color:#a16991;letter-spacing:.16em;font-size:10px;font-weight:900}.meal-capture-dialog-head h2{letter-spacing:-.045em;margin:7px 0 4px;font-size:clamp(24px,3vw,35px)}.meal-capture-dialog-head h2:focus{outline:0}.meal-capture-dialog-head p{max-width:670px;color:var(--muted);margin:0;font-size:12px;line-height:1.55}.meal-capture-dialog-head>button{cursor:pointer;color:#71566d;background:#f9edf4;border:1px solid #dcc9d8;border-radius:14px;flex:0 0 44px;width:44px;height:44px;font-size:23px}.meal-capture-overview{background:linear-gradient(135deg,#f9edf7,#fff6ea);border:1px solid #dfcfe5;border-radius:22px;grid-template-columns:minmax(190px,280px) minmax(0,1fr);align-items:center;gap:17px;margin:20px 27px 17px;padding:15px;display:grid}.meal-review-sync{color:#6e5d75;background:#ffffffb8;border:1px solid #d9c8e1;border-radius:999px;width:max-content;margin-top:6px;padding:4px 7px;font-weight:800;font-size:8px!important;display:inline-flex!important}.meal-capture-overview>img,.meal-capture-overview>.meal-photo-preview-state,.meal-capture-photo-placeholder{object-fit:cover;background:#fff;border:1px solid #d9c7d7;border-radius:17px;width:150px;height:116px}.meal-capture-photo-placeholder{place-items:center;font-size:35px;display:grid}.meal-photo-review-gallery{grid-template-columns:repeat(3,minmax(58px,1fr));gap:7px;width:100%;display:grid}.meal-photo-review-gallery .meal-photo-tile{aspect-ratio:1}.meal-capture-overview>div>span{color:#94768f;letter-spacing:.08em;font-size:10px;font-weight:850}.meal-capture-overview strong{margin-top:5px;font-size:17px;display:block}.meal-capture-overview p{color:#746a73;margin:5px 0 8px;font-size:12px;line-height:1.55}.meal-capture-overview small{border-radius:999px;align-items:center;min-height:27px;padding:5px 9px;font-size:10px;font-weight:850;display:inline-flex}.meal-capture-overview small.local{color:#62784c;background:#e9f0df}.meal-capture-overview small.vision{color:#735880;background:#e9def1}.meal-capture-items{padding:0 27px}.meal-capture-section-title{justify-content:space-between;align-items:center;gap:12px;margin:0 0 10px;display:flex}.meal-capture-section-title>div{align-items:center;gap:9px;display:flex}.meal-capture-section-title>div span{color:#876678;background:#f3e2ee;border-radius:10px;place-items:center;width:30px;height:30px;font-family:Georgia,serif;font-size:11px;display:grid}.meal-capture-section-title strong{font-size:13px}.meal-capture-section-title>button{cursor:pointer;color:#715979;background:#faf2fc;border:1px solid #cdb6d3;border-radius:12px;min-height:44px;padding:8px 12px;font-size:12px;font-weight:850}.meal-capture-item{background:#fff;border:1px solid #e0d4df;border-radius:18px;grid-template-columns:48px minmax(150px,1fr) 125px 44px;align-items:end;gap:10px;margin-top:9px;padding:13px;display:grid;position:relative}.meal-capture-item.consumed{background:#fbfff6;border-color:#bfd1a8}.meal-capture-item.stored{background:#fffaf4;border-color:#efc8af}.meal-capture-item.unclear{background:#fcf8fd;border-style:dashed;border-color:#c7afd0}.meal-capture-item-emoji{background:#f7edf3;border-radius:14px;place-items:center;width:46px;height:46px;font-size:24px;display:grid}.meal-capture-item label{gap:5px;display:grid}.meal-capture-item label span{color:#88727f;font-size:10px;font-weight:850}.meal-capture-item input{width:100%;min-height:44px;color:var(--ink);font:inherit;background:#fff;border:1px solid #dacbd6;border-radius:11px;padding:8px 10px;font-size:14px}.meal-capture-ingredients{background:#f4f9ebb8;border:1px dashed #c9d8b5;border-radius:13px;grid-column:2/-2;gap:8px;margin-top:2px;padding:10px;display:grid}.meal-capture-ingredients-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.meal-capture-ingredients-head>span{color:#71805f;font-size:10px;font-weight:850}.meal-capture-ingredients-head>button{cursor:pointer;color:#60704e;background:#fff;border:1px solid #bdcca9;border-radius:10px;min-height:38px;padding:7px 10px;font-size:10px;font-weight:850}.meal-capture-ingredient{grid-template-columns:minmax(130px,1fr) 100px 100px 38px;align-items:end;gap:7px;display:grid}.meal-capture-ingredient>button{cursor:pointer;color:#a25b61;background:#fff2f2;border:1px solid #e0c7ca;border-radius:10px;width:38px;height:44px;font-size:17px}.meal-capture-ingredients>small{color:#7d796d;font-size:9px;line-height:1.5}.meal-disposition-picker{grid-template-columns:repeat(3,1fr);gap:5px;display:grid}.meal-disposition-picker button{cursor:pointer;color:#756773;background:#faf7fa;border:1px solid #ded1dc;border-radius:11px;min-height:44px;padding:6px 5px;font-size:11px;font-weight:800}.meal-disposition-picker button span{margin-right:3px}.meal-disposition-picker button.active{color:#5e475f;background:#f1e2ef;border-color:#705774;box-shadow:2px 2px #705774}.meal-capture-item.consumed .meal-disposition-picker button.active{background:#e4efd6}.meal-capture-item.stored .meal-disposition-picker button.active{background:#fde6d3}.meal-capture-remove{cursor:pointer;color:#a25b61;background:#fff2f2;border:1px solid #e0c7ca;border-radius:12px;width:44px;height:44px;font-size:19px}.meal-capture-empty{text-align:center;background:#fbf8fc;border:1px dashed #d8c8dc;border-radius:17px;align-content:center;place-items:center;min-height:100px;padding:15px;display:grid}.meal-capture-empty span{font-size:26px}.meal-capture-empty p{color:var(--muted);margin:6px 0 0;font-size:12px}.meal-capture-effects{grid-template-columns:1fr 1fr;gap:10px;margin:18px 27px 0;display:grid}.meal-capture-effects>div{background:#faf8fb;border:1px solid #e1d4dd;border-radius:17px;grid-template-columns:auto 1fr;gap:11px;padding:14px;display:grid}.meal-capture-effects>div>span{font-size:25px}.meal-capture-effects p{min-width:0;margin:0}.meal-capture-effects small,.meal-capture-effects strong,.meal-capture-effects em{display:block}.meal-capture-effects small{color:#91798b;letter-spacing:.09em;font-size:10px;font-weight:900}.meal-capture-effects strong{overflow-wrap:anywhere;margin-top:3px;font-size:13px}.meal-capture-effects em{color:var(--muted);margin-top:4px;font-size:10px;font-style:normal;line-height:1.45}.meal-capture-privacy{color:#716579;background:#f8f1fb;border:1px solid #dfcee6;border-radius:13px;align-items:center;gap:8px;margin:12px 27px 0;padding:10px 12px;display:flex}.meal-capture-privacy span{color:#d786a5;font-family:Georgia,serif;font-size:18px}.meal-capture-privacy p{margin:0;font-size:11px;line-height:1.55}.meal-capture-validation{color:#963f3b;background:#fff0ed;border:1px solid #e4afaa;border-radius:12px;margin:10px 27px 0;padding:10px 12px;font-size:11px}.meal-capture-save-error{color:#7f3734;background:#fff0ed;border:1.5px solid #d99691;border-radius:14px;align-items:flex-start;gap:10px;margin:10px 27px 0;padding:12px 14px;display:flex}.meal-capture-save-error>span{color:#fff;background:#d86868;border-radius:50%;flex:0 0 25px;place-items:center;width:25px;height:25px;font-weight:900;display:grid}.meal-capture-save-error p,.meal-capture-save-error strong,.meal-capture-save-error small{margin:0;display:block}.meal-capture-save-error p{font-size:11px;line-height:1.55}.meal-capture-save-error strong{margin-bottom:2px;font-size:12px}.meal-capture-save-error small{color:#8d625f;margin-top:4px}.meal-capture-save-status{color:#775f7c;text-align:right;margin:10px 27px 0;font-size:11px;font-weight:750}.meal-capture-actions{z-index:4;padding:15px 27px max(15px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffdfbf7;border-top:1px solid #eadde6;justify-content:flex-end;gap:9px;margin-top:18px;display:flex;position:sticky;bottom:0}.meal-capture-actions button{cursor:pointer;touch-action:manipulation;border:1px solid #cdbdca;border-radius:13px;min-height:46px;padding:10px 17px;font-size:12px;font-weight:900}.meal-capture-actions button.secondary{color:#6e6069;background:#fff}.meal-capture-actions button.pending{color:#805d51;background:#fff5ed;border-color:#d4b5a4}.meal-capture-actions button.primary{color:#4f3c51;background:linear-gradient(135deg,#f3c4d7,#d8c5ef);border-color:#674f69;box-shadow:3px 4px #674f69}.meal-capture-actions button:disabled{cursor:not-allowed;opacity:.52;box-shadow:none}:is(.meal-capture-dialog button:focus-visible,.meal-capture-dialog input:focus-visible){outline-offset:2px;outline:3px solid #945d9f66}.member-meal-calories{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:8px;margin:11px 0;display:grid}.member-meal-calories>div{background:#f8fcef;border:1px solid #c9d9b4;border-radius:13px;grid-template-columns:auto 1fr;align-items:center;gap:9px;padding:10px 11px;display:grid}.member-meal-calories>div>span{font-size:22px}.member-meal-calories p,.member-meal-calories small,.member-meal-calories strong{margin:0;display:block}.member-meal-calories small{color:#748064;font-size:8px}.member-meal-calories strong{margin-top:3px;font-size:12px}.daily-member-calories{gap:9px;display:grid}@media (max-width:960px){.dream-friend{opacity:.45}.journal-layout{grid-template-columns:minmax(0,1fr) 250px}.checkin-form.journal-checkin-form{grid-template-columns:minmax(190px,.62fr) minmax(0,1fr)}.journal-checkin-form .journal-controls{grid-column:1/-1;grid-template-columns:minmax(140px,.7fr) minmax(170px,.8fr) 1fr;align-items:end}.journal-checkin-form .journal-controls .people-picker{grid-template-columns:auto 1fr;align-items:center}.journal-checkin-form .journal-controls .people-picker>div{min-width:135px}.meal-capture-item{grid-template-columns:48px minmax(130px,1fr) 100px 44px}.meal-capture-remove{grid-area:1/4}}@media (max-width:680px){.dream-bear{display:none}.dream-bunny{opacity:.28;width:62px;height:55px;bottom:93px;left:7px}.dream-bunny .ear{width:18px;height:28px;top:-15px}.dream-cloud-one{left:-25px}.dream-moon{right:2vw}.hero-menu.journal-hero{min-height:190px}.quick-meal-capture{grid-template-columns:auto minmax(0,1fr);padding:13px}.quick-meal-capture>button{grid-column:1/-1;width:100%}.meal-pattern-card{grid-template-columns:1fr;padding:15px}.meal-pattern-segmented button{min-height:62px;padding:8px}.journal-heading{flex-direction:column;align-items:flex-start;gap:5px}.journal-heading p{text-align:left;max-width:none}.journal-layout{grid-template-columns:1fr}.journal-meals{grid-row:1}.daily-journal-summary{grid-row:2;position:relative;top:auto}.journal-slot-toggle{grid-template-columns:minmax(170px,.8fr) minmax(150px,1fr) auto;padding:13px}.journal-slot-chevron{display:none}.journal-meal-card .meal-checkin{margin:10px 8px 9px}.checkin-form.journal-checkin-form{grid-template-columns:1fr}.journal-checkin-form .journal-controls{grid-template-columns:1fr 1fr}.journal-checkin-form .journal-controls .people-picker{grid-column:1/-1}.journal-checkin-form .save-meal-button{min-height:48px}.meal-nutrition-card,.recipe-reference{margin-left:8px;margin-right:8px}.meal-nutrition-heading{grid-template-columns:auto 1fr}.meal-nutrition-heading>em{grid-column:2;width:max-content}.reference-status{display:none}.recipe-reference>summary{grid-template-columns:auto minmax(0,1fr) auto}.recipe-reference-actions{grid-template-columns:1fr}.recipe-reference-actions button{width:100%}.meal-vision-consent{grid-column:1/-1}.meal-capture-dialog{width:100vw;height:100dvh;max-height:none;box-shadow:none;border:0;border-radius:0;margin:0}.meal-capture-shell{height:100dvh;max-height:none}.meal-capture-dialog-head{padding:18px 15px 15px}.meal-capture-dialog-head h2{font-size:23px}.meal-capture-overview{grid-template-columns:minmax(170px,220px) minmax(0,1fr);margin:14px 13px;padding:11px}.meal-capture-overview>img,.meal-capture-overview>.meal-photo-preview-state,.meal-capture-photo-placeholder{width:100px;height:100px}.meal-capture-items{padding:0 13px}.meal-capture-item{grid-template-columns:46px minmax(0,1fr) 86px 44px;padding:10px}.meal-capture-ingredients{grid-column:1/-1}.meal-capture-ingredient{grid-template-columns:minmax(120px,1fr) 82px 82px 38px}.meal-disposition-picker{grid-column:1/-1}.meal-capture-effects{grid-template-columns:1fr;margin:14px 13px 0}.meal-capture-privacy,.meal-capture-validation,.meal-capture-save-error,.meal-capture-save-status{margin-left:13px;margin-right:13px}.meal-capture-actions{padding:12px 13px max(12px,env(safe-area-inset-bottom));grid-template-columns:.72fr 1.28fr;display:grid;position:static}.meal-capture-actions button.pending{grid-column:1/-1}}@media (max-width:420px){.meal-pattern-segmented{grid-template-columns:1fr}.journal-slot-toggle{grid-template-columns:minmax(0,1fr) auto;gap:9px;min-height:88px}.journal-slot-primary{grid-column:1}.journal-kind-badge{grid-area:1/2;align-self:start;margin-top:4px}.journal-slot-glance{border-top:1px solid #eadde6;border-left:0;grid-area:2/1/auto/-1;padding:8px 0 0}.checkin-form.journal-checkin-form{grid-template-columns:1fr}.journal-checkin-form .photo-upload{min-height:170px}.journal-checkin-form .journal-controls{grid-template-columns:1fr}.journal-checkin-form .journal-controls .people-picker{grid-template-columns:1fr;display:grid}.journal-checkin-form .journal-controls .people-picker>div{min-width:0}.meal-capture-overview{grid-template-columns:1fr}.meal-photo-review-gallery{grid-template-columns:repeat(3,minmax(72px,1fr))}.meal-capture-overview>img,.meal-capture-overview>.meal-photo-preview-state,.meal-capture-photo-placeholder{width:100%;height:170px}.meal-capture-item{grid-template-columns:44px minmax(0,1fr) 44px}.meal-capture-item>label:nth-of-type(2){grid-column:2/4}.meal-capture-remove{grid-area:1/3}.meal-capture-ingredients{grid-column:1/-1;padding:9px}.meal-capture-ingredients-head{flex-direction:column;align-items:stretch}.meal-capture-ingredient{grid-template-columns:minmax(0,1fr) 1fr 38px}.meal-capture-ingredient>label:first-child{grid-column:1/-1}.meal-capture-ingredient>button{grid-area:2/3}.meal-capture-actions{grid-template-columns:1fr}}.mobile-nav{-webkit-backdrop-filter:blur(15px)}.meal-pattern-card{-webkit-backdrop-filter:blur(12px)}.meal-capture-dialog-head,.meal-capture-actions{-webkit-backdrop-filter:blur(14px)}.household-bar{-webkit-backdrop-filter:blur(16px)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.mobile-nav,.household-bar,.meal-pattern-card,.meal-capture-dialog-head,.meal-capture-actions{background-color:#fffdf9f7}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more),(forced-colors:active){body,.source-card,.meal-wrap,.shopping-group,.recipe-card,.journal-meal-card,.today-overview,.actual-meal-timeline,.quick-meal-capture{background-image:none!important}.mobile-nav,.household-bar,.meal-pattern-card,.meal-capture-dialog-head,.meal-capture-actions{background-color:var(--paper);-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}@media (prefers-reduced-motion:reduce){.dream-cloud,.dream-star,.dream-moon,.dream-friend,.dream-particle,.meal-photo-add.normalizing{animation:none!important}.dream-particles{display:none}}@media print{.dreamy-decor,.meal-pattern-card,.recipe-reference-actions{display:none!important}.daily-journal-summary{position:static}body,.source-card,.meal-wrap,.shopping-group,.recipe-card,.journal-meal-card,.today-overview,.actual-meal-timeline,.quick-meal-capture{background-image:none!important}}.couple-access-shell{min-height:100dvh;padding:max(24px,env(safe-area-inset-top)) 18px max(24px,env(safe-area-inset-bottom));background:radial-gradient(circle at 18% 14%,#f4bed573,transparent 19rem),radial-gradient(circle at 82% 82%,#c3d8a166,transparent 21rem),var(--cream);place-items:center;display:grid}.couple-access-card{width:min(100%,480px);box-shadow:var(--shadow-float);text-align:center;background:#fffefbf0;border:1px solid #56414929;border-radius:32px;justify-items:center;padding:42px 32px 34px;display:grid}.couple-access-mark{background:linear-gradient(145deg,#ffe8f1,#f0e7fb);border-radius:25px;place-items:center;width:74px;height:74px;margin-bottom:19px;font-size:35px;display:grid}.couple-access-card h1{letter-spacing:-.045em;margin:9px 0 10px;font-size:clamp(27px,7vw,38px)}.couple-access-card p{max-width:390px;color:var(--muted);margin:0;font-size:14px;line-height:1.65}.couple-access-card small{color:#8e7d86;max-width:380px;margin-top:12px;font-size:12px;line-height:1.55}.couple-access-card button{cursor:pointer;background:#f3cadb;border:1px solid #6e5664;border-radius:15px;min-width:170px;min-height:48px;margin-top:23px;font-size:13px;font-weight:850;box-shadow:3px 4px #6e5664}.couple-access-card.state-offline .couple-access-mark{background:#eef2e8}.family-login-form{text-align:left;gap:14px;width:100%;margin-top:20px;display:grid}.family-login-form label{gap:7px;font-size:14px;font-weight:650;display:grid}.family-login-form input{color:#3b3036;width:100%;min-width:0;min-height:48px;font:inherit;background:#fffefa;border:1px solid #b69aaa;border-radius:12px;padding:10px 12px;font-size:16px}.family-login-form input:focus-visible{outline-offset:2px;outline:3px solid #d493b1}.family-login-form :disabled{opacity:.6;cursor:wait}.couple-access-card.state-unauthorized .couple-access-mark,.couple-access-card.state-error .couple-access-mark{background:#fff0ed}.household-bar{min-height:64px;box-shadow:var(--shadow-soft);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffefbc7;border:1px solid #5e4a5221;border-radius:20px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:16px;margin:0 0 14px;padding:9px 11px 9px 13px;display:grid}.household-members-compact{align-items:center;gap:10px;min-width:0;display:flex}.household-members-compact>span{border-right:1px solid #614f561f;align-items:center;gap:8px;min-width:0;padding-right:10px;display:flex}.household-members-compact>span:last-child{border-right:0}.household-members-compact>span>span:last-child{min-width:0}.household-members-compact small,.household-members-compact strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.household-members-compact small{color:#9a8791;font-size:10px}.household-members-compact strong{margin-top:1px;font-size:12px}.couple-avatar{color:#58464e;border:1px solid #523e4529;border-radius:50%;flex:none;place-items:center;width:38px;height:38px;font-size:16px;font-weight:850;display:grid;position:relative;overflow:hidden}.couple-avatar.member-1{background:var(--member-one-soft);box-shadow:inset 0 0 0 3px #e9b6cb38}.couple-avatar.member-2{background:var(--member-two-soft);box-shadow:inset 0 0 0 3px #aabf8538}.couple-avatar.current:after{content:"";background:var(--status-good);border:2px solid #fff;border-radius:50%;width:8px;height:8px;position:absolute;bottom:1px;right:1px}.household-connection{align-items:center;gap:8px;display:flex}.household-connection>i{background:var(--status-good);border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 4px #6f8d4f24}.household-connection strong,.household-connection small{display:block}.household-connection strong{font-size:11px}.household-connection small{color:var(--muted);margin-top:2px;font-size:10px}.household-activity-button{cursor:pointer;color:#765d69;background:#fff7fa;border:1px solid #ddcad4;border-radius:13px;min-height:44px;padding:9px 12px;font-size:11px;font-weight:800}.household-activity-button span{color:#d17898;margin-right:4px}.pwa-install-experience{margin:-3px 0 15px}.pwa-install-card{box-shadow:var(--shadow-soft);background:linear-gradient(105deg,#fff6faf0,#f7f4ffe8,#f6f9ede6);border:1px solid #714f6324;border-radius:19px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.pwa-install-card>img{border:1px solid #684b5b24;border-radius:16px;width:52px;height:52px;box-shadow:0 6px 16px #67485b1f}.pwa-install-card>div{min-width:0}.pwa-install-card span,.pwa-install-card strong,.pwa-install-card small{display:block}.pwa-install-card span{color:#a16f8d;letter-spacing:.13em;font-size:9px;font-weight:900}.pwa-install-card strong{margin-top:2px;font-size:13px}.pwa-install-card small{color:var(--muted);margin-top:2px;font-size:10px;line-height:1.45}.pwa-install-card>button{cursor:pointer;color:#523d49;background:#f3c9da;border:1px solid #725666;border-radius:13px;min-height:44px;padding:9px 13px;font-size:11px;font-weight:850;box-shadow:2px 3px #725666}:is(.pwa-install-card>button:focus-visible,.pwa-install-dialog button:focus-visible){outline-offset:3px;outline:3px solid #bad09e}.pwa-app-mode{color:#63744f;background:#f2f7e8;border:1px solid #6b8a4d2e;border-radius:999px;align-items:center;gap:7px;width:fit-content;margin:-4px 0 13px auto;padding:7px 10px;display:flex}.pwa-app-mode>span{color:#d67d9d}.pwa-app-mode strong{font-size:10px}.pwa-app-mode small{font-size:9px}.pwa-install-backdrop{z-index:80;padding:max(18px,env(safe-area-inset-top)) max(14px,env(safe-area-inset-right)) max(18px,env(safe-area-inset-bottom)) max(14px,env(safe-area-inset-left));-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#33252d7a;place-items:center;display:grid;position:fixed;inset:0;overflow-y:auto}.pwa-install-dialog{width:min(100%,520px);max-height:calc(100dvh - 36px);color:var(--ink);background:#fffdfa;border:1px solid #563e4c33;border-radius:29px;padding:26px;position:relative;overflow-y:auto;box-shadow:8px 10px #4c3643b8,0 26px 80px #3a29333d}.pwa-install-close{z-index:1;cursor:pointer;color:#705665;background:#fff5fa;border:1px solid #e3cfda;border-radius:14px;width:44px;height:44px;font-size:22px;position:absolute;top:15px;right:15px}.pwa-install-hero{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:15px;padding-right:42px;display:grid}.pwa-install-hero>img{border-radius:22px;width:76px;height:76px;box-shadow:0 9px 22px #68475b29}.pwa-install-hero span{color:#a16f8d;letter-spacing:.13em;font-size:9px;font-weight:900}.pwa-install-hero h2{letter-spacing:-.04em;margin:4px 0 3px;font-size:26px}.pwa-install-hero p{color:var(--muted);margin:0;font-size:11px;line-height:1.55}.pwa-native-install{background:#f4f9e9;border:1px solid #cfe0b7;border-radius:18px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:11px;margin-top:21px;padding:15px;display:grid}.pwa-native-install>span{font-size:24px}.pwa-native-install strong,.pwa-native-install p{margin:0;display:block}.pwa-native-install strong{font-size:12px}.pwa-native-install p{color:var(--muted);margin-top:3px;font-size:10px}.pwa-native-install button{cursor:pointer;color:#4f5942;background:#dfecc8;border:1px solid #6b7659;border-radius:12px;min-height:44px;padding:8px 13px;font-weight:850}.pwa-install-steps{gap:9px;margin:21px 0 0;padding:0;list-style:none;display:grid}.pwa-install-steps li{background:#fff8fb;border:1px solid #6d50601a;border-radius:16px;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:11px;padding:12px;display:grid}.pwa-install-steps li:nth-child(2){background:#f7f3fb}.pwa-install-steps li:nth-child(3){background:#f5f8ed}.pwa-install-steps b{color:#624957;background:#f3c8da;border-radius:11px;place-items:center;width:32px;height:32px;font-size:12px;display:grid}.pwa-install-steps strong,.pwa-install-steps p{margin:0;display:block}.pwa-install-steps strong{font-size:12px}.pwa-install-steps p{color:var(--muted);margin-top:3px;font-size:10px;line-height:1.5}.pwa-install-feedback{color:#8d586b;background:#fff0f3;border-radius:12px;margin:11px 0 0;padding:10px 12px;font-size:10px;font-weight:750;line-height:1.5}.pwa-install-privacy{background:#f3f1f5;border-radius:14px;grid-template-columns:auto 1fr;align-items:center;gap:9px;margin-top:13px;padding:11px 12px;display:grid}.pwa-install-privacy>span{font-size:19px}.pwa-install-privacy p{margin:0}.pwa-install-privacy strong,.pwa-install-privacy small{display:block}.pwa-install-privacy strong{font-size:10px}.pwa-install-privacy small{color:var(--muted);margin-top:2px;font-size:9px;line-height:1.5}.pwa-install-done{cursor:pointer;color:#513d48;background:#efc3d5;border:1px solid #705464;border-radius:14px;width:100%;min-height:48px;margin-top:14px;font-size:12px;font-weight:900;box-shadow:3px 4px #705464}.household-activity-dialog{width:min(520px,100vw - 30px);max-height:min(720px,100dvh - 32px);box-shadow:var(--shadow-float);color:var(--ink);background:#fffdfa;border:1px solid #523d482e;border-radius:28px;margin:auto;padding:0;overflow:hidden}.household-activity-dialog::backdrop{-webkit-backdrop-filter:blur(9px);backdrop-filter:blur(9px);background:#33262d6b}.household-activity-dialog>header{background:linear-gradient(135deg,#fff1f7,#f4f0fb);grid-template-columns:1fr auto;gap:15px;padding:23px 22px 16px;display:grid}.household-activity-dialog>header span{color:#987185;letter-spacing:.12em;font-size:10px;font-weight:900}.household-activity-dialog h2{letter-spacing:-.035em;margin:5px 0 3px;font-size:23px}.household-activity-dialog>header p{color:var(--muted);margin:0;font-size:11px;line-height:1.5}.household-activity-dialog>header button{cursor:pointer;background:#fffc;border:0;border-radius:14px;width:44px;height:44px;font-size:21px}.household-activity-members{border-bottom:1px solid #5c49521a;gap:9px;padding:13px 20px;display:flex}.household-activity-members>span{background:#f8f3f5;border-radius:999px;align-items:center;gap:7px;padding:5px 10px 5px 5px;font-size:11px;display:flex}.household-activity-members .couple-avatar{width:31px;height:31px;font-size:13px}.household-activity-list{max-height:min(500px,100dvh - 220px);padding:8px 18px max(18px,env(safe-area-inset-bottom));overscroll-behavior:contain;overflow-y:auto}.household-activity-list article{border-bottom:1px solid #5c49521a;grid-template-columns:auto 1fr;align-items:center;gap:10px;min-height:66px;padding:10px 2px;display:grid}.household-activity-list article:last-child{border-bottom:0}.household-activity-list p{margin:0;font-size:12px;line-height:1.45}.household-activity-list p strong{margin-right:4px}.household-activity-list time{color:var(--muted);margin-top:3px;font-size:10px;display:block}.household-activity-state{text-align:center;justify-items:center;padding:42px 20px;display:grid}.household-activity-state i{color:#926f82;background:#f4eaf2;border-radius:15px;place-items:center;width:44px;height:44px;font-size:21px;font-style:normal;display:grid}.household-activity-state strong{margin-top:11px;font-size:14px}.household-activity-state p{max-width:330px;color:var(--muted);margin:5px 0 0;font-size:11px;line-height:1.55}.household-activity-state button{cursor:pointer;background:#fff;border:1px solid #d8c4ce;border-radius:12px;min-height:44px;margin-top:14px;padding:8px 13px;font-size:11px;font-weight:800}.today-overview{border-radius:var(--radius-card);box-shadow:var(--shadow-soft);background:#fffefbdb;border:1px solid #654d5824;margin:17px 0 20px;padding:18px}.today-overview>header{justify-content:space-between;align-items:center;gap:14px;margin-bottom:12px;display:flex}.today-overview>header span,.today-overview>header h2{display:block}.today-overview>header span{color:#9b7184;letter-spacing:.13em;font-size:10px;font-weight:900}.today-overview>header h2{letter-spacing:-.04em;margin:1px 0 0;font-size:25px}.today-overview>header>small{color:#8d7d87;text-align:right;max-width:210px;font-size:10px;font-weight:750;line-height:1.45}.today-overview>header button{cursor:pointer;background:#f5cddd;border:1px solid #795d6d;border-radius:13px;min-height:44px;padding:9px 14px;font-size:12px;font-weight:850;box-shadow:2px 3px #795d6d}.today-overview-grid{grid-template-rows:1fr 1fr;grid-template-columns:minmax(0,1.35fr) minmax(190px,.65fr);gap:9px;display:grid}.today-real-records{background:linear-gradient(145deg,#fff0f6,#fff7f0);border-radius:17px;grid-row:1/3;min-width:0;padding:14px}.today-card-kicker{color:#9b6b82;font-size:10px;font-weight:850}.today-real-records>div{gap:7px;margin-top:9px;display:grid}.today-real-records>div>span{background:#ffffffad;border:1px solid #7153611a;border-radius:12px;grid-template-columns:auto minmax(0,1fr);align-items:center;gap:1px 8px;min-width:0;padding:8px 9px;display:grid}.today-real-records>div i{grid-row:1/3;font-size:17px;font-style:normal}.today-real-records>div b{text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.today-real-records>div small{color:var(--muted);font-size:10px}.today-real-records>button{cursor:pointer;text-align:left;background:#ffffff8f;border:1px dashed #d7b9c8;border-radius:14px;grid-template-columns:auto 1fr;align-content:center;align-items:center;gap:2px 10px;width:100%;min-height:88px;margin-top:8px;padding:12px;display:grid}.today-real-records>button>span{color:#d3799a;grid-row:1/3;font-size:26px}.today-real-records>button strong{font-size:12px}.today-real-records>button small{color:var(--muted);font-size:10px;line-height:1.4}.today-secondary-card{cursor:pointer;text-align:left;background:#f3f6eb;border:0;border-radius:15px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:9px;min-width:0;padding:10px 12px;display:grid}.today-secondary-card.today-shopping{background:#fff3e6}.today-secondary-card.today-shopping.needs-attention{background:#fff0e5}.today-secondary-card>span{font-size:20px}.today-secondary-card p{min-width:0;margin:0}.today-secondary-card small,.today-secondary-card strong,.today-secondary-card em{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.today-secondary-card small{color:var(--muted);font-size:9px}.today-secondary-card strong{margin-top:2px;font-size:11px}.today-secondary-card em{color:#8c6b55;margin-top:2px;font-size:9px;font-style:normal}.today-secondary-card>b{color:#806f68;font-size:10px}.meal-participant-picker{background:#ffffffb8;border:1px solid #664e5a24;border-radius:15px;grid-template-columns:minmax(135px,.72fr) minmax(225px,1.28fr);align-items:end;gap:9px 12px;min-width:0;padding:11px;display:grid}.meal-recorder-chip{align-items:center;gap:8px;min-width:0;display:flex}.meal-recorder-chip>span{background:var(--member-one-soft);border-radius:50%;flex:none;place-items:center;width:38px;height:38px;display:grid;box-shadow:inset 0 0 0 3px #e9b6cb33}.meal-recorder-chip p{min-width:0;margin:0}.meal-recorder-chip small,.meal-recorder-chip strong{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.meal-recorder-chip small{color:#937381;font-size:9px}.meal-recorder-chip strong{margin-top:2px;font-size:11px}.meal-participant-picker fieldset{border:0;min-width:0;margin:0;padding:0}.meal-participant-picker legend{color:#7f6874;margin-bottom:5px;font-size:9px;font-weight:850}.meal-eater-segments{background:#f1ecef;border-radius:13px;grid-template-columns:repeat(3,1fr);gap:5px;padding:4px;display:grid}.meal-eater-segments button{cursor:pointer;background:0 0;border:1px solid #0000;border-radius:10px;min-height:44px;font-size:11px;font-weight:800}.meal-eater-segments button.active{background:#fff;border-color:#4a394133;box-shadow:0 4px 12px #47343e14}.meal-eater-segments button.active.member-self{box-shadow:inset 0 -3px 0 var(--member-one)}.meal-eater-segments button.active.member-partner{box-shadow:inset 0 -3px 0 var(--member-two)}.meal-eater-segments button.active.household{box-shadow:inset 0 -3px #b6a2cb}.portion-share-control{background:linear-gradient(90deg,var(--member-one-soft),var(--member-two-soft));border-radius:12px;grid-column:1/-1;grid-template-columns:minmax(150px,.65fr) 1fr;align-items:center;gap:12px;padding:8px 10px;display:grid}.portion-share-control>span strong,.portion-share-control>span small{display:block}.portion-share-control>span strong{font-size:10px}.portion-share-control>span small{color:var(--muted);margin-top:2px;font-size:9px}.portion-share-control input{accent-color:#a1748c;cursor:pointer;width:100%;min-height:44px}.meal-participant-summary{color:#756a70;grid-column:1/-1;margin:-2px 0 0;font-size:9px;line-height:1.45}.meal-participant-summary.needs-choice{color:var(--status-danger);background:#fff0e9;border-radius:9px;padding:7px 9px}.journal-controls .meal-participant-picker{grid-column:auto}.actual-meal-timeline{box-shadow:var(--shadow-soft);background:#ffffffe0;border:1px solid #eadde6;border-radius:26px;margin:14px 0 18px;padding:22px}.actual-meal-timeline>header{justify-content:space-between;align-items:center;gap:18px;margin-bottom:15px;display:flex}.actual-meal-timeline>header div{gap:3px;display:grid}.actual-meal-timeline>header span{color:#a9799b;letter-spacing:.18em;font-size:10px;font-weight:900}.actual-meal-timeline>header h2{color:#44343e;margin:0;font-size:24px}.actual-meal-timeline>header button{color:#493642;background:linear-gradient(135deg,#f6c7dd,#e8d5f6);border:1px solid #4e3948;border-radius:16px;min-height:45px;padding:0 20px;font-weight:900;box-shadow:3px 4px #735a70}.actual-meal-events{gap:9px;display:grid}.actual-meal-event{color:#44343e;text-align:left;background:#fffafc;border:1px solid #eadde6;border-radius:19px;grid-template-columns:64px 42px minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;min-height:82px;padding:13px 16px;transition:transform .18s,border-color .18s,box-shadow .18s;display:grid}.actual-meal-event:hover{border-color:#d6afc8;transform:translateY(-1px);box-shadow:0 8px 20px #583c5014}.actual-meal-event time{font-variant-numeric:tabular-nums;font-size:22px;font-weight:900}.actual-event-marker{background:#fae7f1;border-radius:13px;place-items:center;width:38px;height:38px;display:grid}.actual-event-copy{gap:3px;min-width:0;display:grid}.actual-event-copy small{color:#a06f90;font-size:10px;font-weight:900}.actual-event-copy strong{color:#43343d;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.actual-event-copy em{color:#887780;font-size:11px;font-style:normal}.actual-meal-event>i{color:#a37896;font-size:25px;font-style:normal}.actual-meal-empty{color:#5d4656;background:#fff9fc;border:1px dashed #d9b9cd;border-radius:20px;justify-items:center;gap:5px;width:100%;padding:25px;display:grid}.actual-meal-empty>span{font-size:25px}.actual-meal-empty small{color:#8c7885}.actual-events-compatibility{color:#775f3f;background:#fff5df;border-radius:12px;margin:12px 0 0;padding:9px 12px;font-size:11px;line-height:1.5}.actual-meal-drafts{border-top:1px dashed #dbc5d4;gap:8px;margin-top:10px;padding-top:10px;display:grid}.actual-meal-drafts>button{color:#604b5a;text-align:left;background:#fcf7ff;border:1px dashed #caaec1;border-radius:16px;grid-template-columns:58px 30px minmax(0,1fr) auto;align-items:center;gap:9px;min-height:62px;padding:10px 13px;display:grid}.actual-meal-drafts time{font-variant-numeric:tabular-nums;font-weight:900}.actual-meal-drafts p{gap:2px;min-width:0;margin:0;display:grid}.actual-meal-drafts small{color:#9b7591;font-size:9px;font-weight:900}.actual-meal-drafts strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.actual-meal-drafts i{font-size:20px;font-style:normal}.reference-menu-explainer{color:#887680;text-align:right;max-width:470px;margin:0;font-size:12px;line-height:1.55}@media (max-width:700px){.actual-meal-timeline{border-radius:21px;padding:15px}.actual-meal-timeline>header h2{font-size:20px}.actual-meal-timeline>header button{min-height:42px;padding:0 14px;font-size:12px}.actual-meal-event{grid-template-columns:54px 34px minmax(0,1fr) auto;gap:8px;min-height:75px;padding:11px}.actual-meal-event time{font-size:18px}.actual-event-marker{border-radius:11px;width:32px;height:32px}.reference-menu-explainer{text-align:left;max-width:none}}@media (max-width:390px){.actual-meal-timeline{margin-top:9px;padding:13px}.actual-meal-timeline>header{align-items:end;margin-bottom:12px}.actual-meal-timeline>header button{padding:0 12px;box-shadow:2px 3px #735a70}.actual-meal-event{grid-template-columns:48px 30px minmax(0,1fr) auto}.actual-meal-event time{font-size:16px}.actual-event-marker{width:29px;height:29px;font-size:12px}}@media (prefers-reduced-motion:reduce){.actual-meal-event{transition:none}.actual-meal-event:hover{transform:none}}.legacy-meal-participant-row{grid-column:1/-1;grid-template-columns:1fr auto;align-items:end;gap:9px;display:grid}@media (max-width:960px){.mobile-nav{padding:6px 6px max(6px,env(safe-area-inset-bottom));bottom:max(8px,env(safe-area-inset-bottom));grid-template-columns:repeat(5,1fr)}.mobile-nav button{min-height:48px}.mobile-nav .mobile-record-action{color:#513e49;background:linear-gradient(145deg,#f5bed3,#e7cee9);border:1px solid #6e5363;border-radius:20px;align-self:end;min-height:58px;margin-top:-22px;font-size:10px;position:relative;box-shadow:0 8px 20px #6241543d,2px 3px #6e5363}.mobile-nav .mobile-record-action span{background:#ffffffb8;border-radius:50%;place-items:center;width:30px;height:30px;margin:0 auto 1px;font-size:24px;line-height:1;display:grid}}@media (max-width:680px){.page-shell{width:min(100% - 20px,1240px);padding-bottom:calc(122px + env(safe-area-inset-bottom))}.page-shell button,.page-shell input,.page-shell select,.page-shell summary{touch-action:manipulation}.page-shell button,.page-shell summary,.page-shell input:not([type=checkbox]):not([type=range]),.page-shell select,.page-shell textarea{min-height:44px}.topbar{min-height:64px}.brand-mark{width:36px;height:36px;box-shadow:none;border:1px solid #342b2b59}.household-bar{border-radius:17px;grid-template-columns:minmax(0,1fr) auto;gap:8px;margin-bottom:10px;padding:7px}.household-members-compact{gap:5px}.household-members-compact>span{gap:5px;padding-right:5px}.household-members-compact>span>span:last-child{max-width:72px}.household-members-compact small{font-size:9px}.household-members-compact strong{font-size:11px}.couple-avatar{width:34px;height:34px;font-size:14px}.household-connection{display:none}.household-activity-button{color:#0000;width:44px;padding:0;font-size:0;overflow:hidden}.household-activity-button span{color:#c86f92;place-items:center;margin:0;font-size:21px;display:grid}.pwa-install-experience{margin:-2px 0 10px}.pwa-install-card{border-radius:17px;grid-template-columns:auto minmax(0,1fr) auto;gap:9px;padding:9px}.pwa-install-card>img{border-radius:13px;width:44px;height:44px}.pwa-install-card span{font-size:8px}.pwa-install-card strong{font-size:12px}.pwa-install-card small{display:none}.pwa-install-card>button{padding-inline:10px}.pwa-app-mode{margin:-2px 0 9px auto}.pwa-install-backdrop{padding:max(12px,env(safe-area-inset-top)) 0 0;place-items:end center}.pwa-install-dialog{width:100%;max-height:91dvh;padding:23px 17px max(18px,env(safe-area-inset-bottom));border:0;border-radius:27px 27px 0 0;box-shadow:0 -15px 55px #3a29333d}.pwa-install-hero{grid-template-columns:62px minmax(0,1fr);gap:12px;padding-right:37px}.pwa-install-hero>img{border-radius:19px;width:62px;height:62px}.pwa-install-hero h2{font-size:23px}.pwa-native-install{grid-template-columns:auto minmax(0,1fr)}.pwa-native-install button{grid-column:1/-1;width:100%}.hero,.sub-hero{box-shadow:var(--shadow-soft);border-width:1px}.hero-menu.journal-hero{border-radius:23px;min-height:148px;padding:22px 19px}.journal-hero h1{max-width:290px;margin:8px 0 6px;font-size:clamp(29px,9vw,35px)}.journal-hero p{max-width:92%;font-size:12px;line-height:1.5}.journal-hero .mascot{display:none}.eyebrow,.section-kicker,.source-copy>span:first-child,.note-label{letter-spacing:.11em;font-size:10px}.quick-meal-capture{box-shadow:var(--shadow-soft);border:0;border-radius:19px;grid-template-columns:1fr auto;gap:8px;margin:10px 0;padding:14px}.quick-capture-character{display:none}.quick-meal-capture>div:nth-child(2) strong{font-size:13px}.quick-meal-capture>div:nth-child(2) p{font-size:10px}.quick-meal-capture>button{border-radius:15px;grid-area:1/2;width:112px;min-height:58px;padding:8px 10px;font-size:11px;box-shadow:2px 3px #725776}.today-overview{box-shadow:none;border-radius:19px;margin:10px 0 14px;padding:13px}.today-overview>header{margin-bottom:9px}.today-overview>header h2{font-size:22px}.today-overview-grid{grid-template-rows:auto auto;grid-template-columns:1fr 1fr}.today-real-records{grid-area:auto/1/auto/-1;padding:12px}.today-secondary-card{grid-template-columns:auto minmax(0,1fr);min-height:72px;padding:9px}.today-secondary-card>b{display:none}.today-secondary-card em{white-space:normal}.today-card-kicker,.today-real-records>div small,.today-secondary-card small,.meal-recorder-chip small,.meal-participant-picker legend,.meal-participant-summary,.portion-share-control>span small{font-size:10px}.journal-day-strip{margin-top:6px}.journal-meal-card{border-radius:20px;box-shadow:0 7px 20px #553c510f}.journal-meal-card .meal-checkin{box-shadow:none;border-width:1px}.meal-participant-picker{grid-template-columns:1fr}.meal-participant-picker fieldset,.portion-share-control,.meal-participant-summary{grid-column:1}.portion-share-control{grid-template-columns:1fr;gap:3px}.journal-checkin-form .journal-controls{grid-template-columns:minmax(110px,.6fr) minmax(0,1fr)}.journal-controls .meal-participant-picker{grid-column:1/-1}.legacy-meal-participant-row{grid-template-columns:1fr}.household-activity-dialog{border:0;border-radius:26px 26px 0 0;width:100vw;max-height:92dvh;margin:auto 0 0}.household-activity-list{max-height:calc(92dvh - 205px)}.pantry-toast{bottom:calc(100px + env(safe-area-inset-bottom));font-size:12px}.mobile-nav{border-radius:21px;width:min(100% - 18px,430px)}.mobile-nav button{font-size:10px}}@media (max-width:390px){.week-switcher .week-display{min-width:98px}.week-switcher .week-display span{font-size:8px}.household-members-compact>span>span:last-child{max-width:62px}.quick-meal-capture{grid-template-columns:minmax(0,1fr) 103px}.quick-meal-capture>button{width:103px}.today-overview>header button{padding-inline:10px}.journal-slot-toggle{padding:12px}.meal-eater-segments button{padding-inline:4px}}@media (prefers-reduced-motion:reduce){.couple-access-card,.household-activity-dialog,.pwa-install-dialog,.mobile-nav .mobile-record-action,.meal-draft-progress.busy>span{transition:none!important;animation:none!important}}@media (display-mode:standalone){body{overscroll-behavior-y:none}.page-shell{padding-top:max(8px,env(safe-area-inset-top))}}.journal-meal-card,.today-overview,.actual-meal-timeline{background-image:var(--surface-grain-image);background-size:var(--surface-grain-size)}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.modal-backdrop,.confirm-backdrop,.revision-review-head,.revision-review-actions,.mobile-nav,.meal-pattern-card,.dialog-loading-backdrop,.meal-capture-dialog-head,.meal-capture-actions,.household-bar,.pwa-install-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.revision-review-dialog::backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.revision-confirm-dialog::backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.meal-capture-dialog::backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.household-activity-dialog::backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.revision-review-head,.revision-review-actions,.mobile-nav,.meal-pattern-card,.meal-capture-dialog-head,.meal-capture-actions,.household-bar{background-color:#fffdf9!important}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more),(forced-colors:active){body,.source-card,.meal-wrap,.shopping-group,.recipe-card,.journal-meal-card,.today-overview,.actual-meal-timeline,.quick-meal-capture{background-image:none!important}.source-card,.meal-wrap,.shopping-group,.recipe-card,.journal-meal-card,.today-overview,.actual-meal-timeline,.quick-meal-capture,.revision-review-head,.revision-review-actions,.mobile-nav,.meal-pattern-card,.meal-capture-dialog-head,.meal-capture-actions,.household-bar{background-color:#fffdf9!important}.modal-backdrop,.confirm-backdrop,.revision-review-head,.revision-review-actions,.mobile-nav,.meal-pattern-card,.dialog-loading-backdrop,.meal-capture-dialog-head,.meal-capture-actions,.household-bar,.pwa-install-backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.revision-review-dialog::backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.revision-confirm-dialog::backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.meal-capture-dialog::backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}.household-activity-dialog::backdrop{-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}@media (forced-colors:active){.source-card,.meal-wrap,.shopping-group,.recipe-card,.journal-meal-card,.today-overview,.actual-meal-timeline,.quick-meal-capture,.revision-review-head,.revision-review-actions,.mobile-nav,.meal-pattern-card,.meal-capture-dialog-head,.meal-capture-actions,.household-bar{background-color:canvas!important}}@media print{.household-bar,.pwa-install-experience,.pwa-app-mode,.today-overview,.household-activity-dialog{display:none!important}}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
