/*! 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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--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-serif:ui-serif, Georgia, Cambria, "Times New Roman", Times, serif;--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;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{.\!visible{visibility:visible!important}.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)}.isolate{isolation:isolate}.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}}.\!table{display:table!important}.block{display:block}.contents{display:contents}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.rounded{border-radius:.25rem}.border{border-style:var(--tw-border-style);border-width:1px}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.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)}.blur{--tw-blur:blur(8px);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,)}.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:#726764;--cream:#faf7f1;--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 8px 28px #4932400e;--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:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='160' height='160'%3E%3Cfilter id='g'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.82' numOctaves='3' stitchTiles='stitch' seed='17'/%3E%3CfeColorMatrix type='saturate' values='0'/%3E%3CfeComponentTransfer%3E%3CfeFuncA type='linear' slope='.09'/%3E%3C/feComponentTransfer%3E%3C/filter%3E%3Cpath fill='%23000' filter='url(%23g)' d='M0 0h160v160H0z'/%3E%3C/svg%3E");--surface-grain-size:160px 160px}*{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}.dish-suggestions{border:1px solid var(--line);background:var(--surface-grain-image), #fffdf8eb;background-size:var(--surface-grain-size), auto;box-shadow:var(--shadow-soft);border-radius:22px;margin:18px 0;padding:16px;scroll-margin-top:20px}.dish-suggestions>header{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.dish-suggestions h2{margin:0;font-size:18px}.dish-suggestions p{color:var(--muted);margin:6px 0;font-size:12px;line-height:1.6}.dish-suggestions button,.dish-archive button{cursor:pointer;background:#fff7fb;border:1px solid #d9c3d2;border-radius:12px;min-height:44px;padding:8px 12px;font-size:12px}.dish-suggestions>header>button{flex-shrink:0;font-weight:700}.dish-suggestion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.dish-suggestion-grid article{overflow-wrap:anywhere;background:#ffffffb8;border:1px solid #e3d8d0;border-radius:16px;min-width:0}.dish-suggestion-grid summary{cursor:pointer;align-items:center;gap:10px;padding:12px;list-style:none;display:flex}.dish-suggestion-grid summary::-webkit-details-marker{display:none}.dish-suggestion-grid summary>span:first-child{font-size:28px}.dish-suggestion-grid summary>span:nth-child(2){flex:1;min-width:0}.dish-suggestion-grid summary strong,.dish-suggestion-grid summary small{display:block}.dish-suggestion-grid summary strong{font-size:15px}.dish-suggestion-grid small{color:var(--muted);font-size:11px;line-height:1.5}.dish-suggestion-grid footer{justify-content:space-between;align-items:center;gap:8px;padding:0 12px 10px;display:flex}.dish-suggestion-grid footer button{flex-shrink:0}.dish-method{border-top:1px dashed var(--line);padding:0 14px 12px;font-size:13px;line-height:1.75}.dish-method h3{margin:12px 0 5px;font-size:13px}.dish-method ul,.dish-method ol{margin:0;padding-left:20px}.dish-method ul{list-style:outside}.dish-method ol{list-style:decimal}.dish-method li+li{margin-top:6px}.dish-remove-confirm{background:#fff2f4;border:1px solid #d9a6b3;border-radius:14px;margin-top:12px;padding:12px}.dish-remove-confirm h3{margin:0;font-size:14px}.dish-remove-confirm button+button{margin-left:8px}.dish-archive{border:1px dashed var(--line);background:var(--paper);border-radius:16px;margin-top:18px;padding:16px;font-size:13px}.dish-archive summary{cursor:pointer;min-height:44px}.dish-archive p{color:var(--muted)}.dish-archive>div{justify-content:space-between;align-items:center;gap:12px;padding:8px 0;display:flex}@media (max-width:600px){.dish-suggestions{padding:12px}.dish-suggestion-grid{grid-template-columns:minmax(0,1fr);gap:8px}.dish-suggestion-grid summary{padding:10px 12px 4px}.dish-suggestion-grid footer{padding-bottom:6px}}.yesterday-diet-advice>summary{cursor:pointer;flex-wrap:wrap;align-items:center;gap:8px;min-height:44px;font-weight:700;display:flex}.yesterday-diet-advice>summary small{font-weight:400}.dish-suggestions select{border:1px solid var(--line);background:var(--paper);max-width:100%;min-height:44px;color:var(--ink);border-radius:10px;padding:6px 10px}.meal-portion-adjust{flex-wrap:wrap;gap:8px;padding:12px 0;display:flex}.meal-capture-item>.meal-portion-adjust{grid-column:1/-1}.meal-portion-adjust small{flex-basis:100%;line-height:1.6}.meal-portion-adjust button{background:#edf3e7;border:1px solid #bac8b0;border-radius:12px;min-height:44px;padding:8px 16px}:root[data-festival]{--festival-bg:#f8f4e9;--festival-card:#fffdf6;--festival-accent:#526f50;--festival-soft:#e8efdf;--cream:var(--festival-bg);--paper:var(--festival-card)}:root:is([data-festival=valentine],[data-festival=love520],[data-festival=qixi],[data-festival=mother],[data-festival=women]){--festival-bg:#fff4f6;--festival-card:#fffbfc;--festival-accent:#8b4262;--festival-soft:#f4dce5}:root:is([data-festival=spring],[data-festival=reunion],[data-festival=lantern],[data-festival=national]){--festival-bg:#fff5e8;--festival-card:#fffaf2;--festival-accent:#a53d32;--festival-soft:#f6dfce}:root[data-festival=moon]{--festival-bg:#f5f1fa;--festival-card:#fffdf5;--festival-accent:#695080;--festival-soft:#ece1f3}:root[data-festival=halloween]{--festival-bg:#f9eee2;--festival-card:#fff8ee;--festival-accent:#674176;--festival-soft:#f3d4ad}:root:is([data-festival=christmas],[data-festival=eve]){--festival-bg:#eef4ef;--festival-card:#fffdfa;--festival-accent:#346449;--festival-soft:#dcebdd}html[data-festival] body{background:radial-gradient(ellipse at top, var(--festival-soft), transparent 65vh), var(--festival-bg)}html[data-festival] .editorial-app :is(.dish-suggestions,.journal-settings,.today-overview){background-color:var(--festival-card)}html[data-festival] .editorial-app :is(.nav-pill.active,.primary-button){background:var(--festival-accent);color:#fff}html[data-festival] .editorial-app .brand-mark,html[data-festival] .editorial-app :is(.quick-meal-capture,.hero-menu.journal-hero){background:var(--festival-soft)}html[data-festival] .editorial-app :is(.quick-meal-capture button,.actual-meal-timeline>header>button,.day-button.selected,.day-button.active){background:var(--festival-accent);color:#fff;border-color:var(--festival-accent)}html[data-festival] .editorial-app :is(.actual-meal-event,.source-card,.dish-suggestion-grid article){background:var(--festival-card)}html[data-festival] .editorial-app .journal-hero h1 span{color:var(--festival-accent)}html[data-festival] .editorial-app :is(.mobile-nav .mobile-record-action,.mobile-nav .mobile-record-action:hover,.mobile-nav .mobile-record-action:active,.filter-pills button.active){background:var(--festival-accent);color:#fff;border-color:var(--festival-accent)}html[data-festival] .editorial-app :is(.fridge-hero,.yesterday-diet-advice){background:var(--festival-soft)}html[data-festival] .editorial-app :is(.inventory-item,.mobile-nav){background:var(--festival-card)}html[data-festival] .editorial-app .mobile-nav button.active:not(.mobile-record-action){color:var(--festival-accent);background:var(--festival-soft)}.festival-accent{color:#354833;background:#f0f5e9;border:1px solid #d9dfcf;border-radius:18px;align-items:center;gap:12px;margin-bottom:16px;padding:14px 18px;display:flex}.festival-accent strong{font-size:15px}.festival-accent p{margin:4px 0 0;font-size:12px;line-height:1.6}.festival-accent button{min-height:44px;color:inherit;cursor:pointer;background:0 0;border:0;flex-shrink:0;margin-left:auto;font-size:12px;text-decoration:underline}.festival-icon{font-size:30px}.festival-warm{color:#704d31;background:#fcf1e2;border-color:#ead7b9}.festival-moon{color:#55436c;background:#f1edf7;border-color:#ddd4eb}.festival-rose{color:#714c5d;background:#f9edf1;border-color:#ead3dc}.festival-quiet{background:0 0;border:0;margin-bottom:4px;padding:0 12px}@media (max-width:480px){.festival-accent{flex-wrap:wrap;gap:8px}.festival-accent>div{flex:1;min-width:170px}}@media print{.festival-accent{display:none}}.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-previews{gap:10px;padding:10px 0;display:flex;overflow-x:auto}.pantry-photo-previews>div{flex:0 0 104px;position:relative}.pantry-photo-previews img{object-fit:cover;border-radius:12px;width:104px;height:96px}.pantry-photo-previews button{color:#633e4f;background:#fff9;border:1px solid #d4bdc7;border-radius:12px;width:44px;height:44px;position:absolute;top:0;right:0}.pantry-photo-camera{cursor:pointer;align-items:center;min-height:44px;padding:8px 12px;display:inline-flex;position:relative}.pantry-photo-camera input{opacity:0;width:1px;height:1px;position:absolute}.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){.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)}}.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}.meal-draft-controls{background:#fffdf5;border-block:1px dashed #dacfb9;flex-wrap:wrap;align-items:center;gap:10px;padding:12px 16px;display:flex}.meal-draft-controls button,.meal-draft-discard-dialog button{color:#4c604b;cursor:pointer;background:#fffef9;border:1px solid #b7bea5;border-radius:12px;min-height:44px;padding:10px 14px;font-size:14px}.meal-draft-controls button span{opacity:.8;font-size:11px;display:block}.meal-draft-controls .discard-draft{margin-left:auto}.meal-draft-controls small,.meal-draft-discard-hint{color:#766b60;flex-basis:100%;font-size:12px;line-height:1.6}.meal-draft-controls button:disabled,.meal-draft-discard-dialog button:disabled{opacity:.55;cursor:not-allowed}.meal-draft-discard-dialog{color:#392e27;background:#fffdf6;border:1px solid #d6c7b1;border-radius:22px;width:min(420px,100vw - 32px);max-height:calc(100dvh - 40px);margin:auto;padding:22px;overflow:auto;box-shadow:0 20px 60px #38261d38}.meal-draft-discard-dialog::backdrop{background:#30262266}.meal-draft-discard-dialog h2{font-size:21px}.meal-draft-discard-dialog p{overflow-wrap:anywhere;font-size:14px;line-height:1.8}.meal-draft-discard-dialog [role=alert]{color:#9a4139}.meal-draft-discard-dialog>div{flex-wrap:wrap;gap:10px;margin-top:18px;display:flex}.meal-draft-discard-dialog>div button{flex:1}.meal-draft-controls .discard-draft,.meal-draft-discard-dialog .discard-draft,.meal-capture-actions .discard-draft{color:#984d43;background:#fff4ec;border-color:#d6b6a9}.meal-capture-actions{flex-wrap:wrap}.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-password-field{gap:7px;min-width:0;display:grid}.family-password-controls{flex-wrap:wrap;align-items:stretch;gap:8px;display:flex}.family-password-controls input{flex:140px;width:auto}.family-login-form .family-password-toggle{min-width:0;min-height:48px;box-shadow:none;background:#fff5fa;border-radius:12px;flex:none;margin:0;padding:10px 12px;font-size:14px}.family-password-toggle: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 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}}.test-version-notice{padding:.75rem max(1rem, env(safe-area-inset-left));color:#503956;overflow-wrap:anywhere;background:#f5edf8;border-bottom:1px solid #d8c5de;gap:.25rem;font-size:.875rem;line-height:1.5;display:grid}.couple-access-shell{background-image:var(--surface-grain-image), radial-gradient(circle at 18% 14%,#f4bed580,transparent 19rem), radial-gradient(circle at 82% 82%,#c3d8a16b,transparent 21rem);background-size:var(--surface-grain-size), auto, auto}.couple-access-card,.source-card,.meal-wrap,.shopping-group,.recipe-card,.journal-meal-card,.today-overview,.actual-meal-timeline,.household-bar,.mobile-nav,.meal-pattern-card,.meal-capture-dialog,.pantry-photo-dialog,.meal-capture-dialog-head,.meal-capture-actions,.test-version-notice{background-image:var(--surface-grain-image);background-size:var(--surface-grain-size)}.couple-access-card,.household-bar,.mobile-nav{-webkit-backdrop-filter:blur(18px)saturate(115%);backdrop-filter:blur(18px)saturate(115%);background-color:#fffdfac7;border-color:#6d51653d;box-shadow:inset 0 1px #fffc,0 12px 30px #462e411f}.family-login-form input{background-color:#fffefd}.page-shell{max-width:1160px}.brand-mark,.source-card,.source-card:hover,.basket-board,.sub-mascot,.assistant-update,.assistant-avatar,.hero-stats>div:not(.mascot),.add-food-button,.add-food-button:hover,.recipe-add-button,.pantry-photo-button,.save-meal-button,.window-controls button.active,.recipe-category-pills button.active{box-shadow:var(--shadow-soft);border-width:1px;border-color:#dfd3d2;transform:none}.hero-menu.journal-hero{background:linear-gradient(115deg,#fbf3ef,#f8f7ef);min-height:130px}.journal-hero h1{letter-spacing:-.04em;font-weight:650}.journal-hero p,.journal-heading>p{color:var(--muted)}.journal-settings{border-bottom:1px solid #e7dce2;margin:10px 0}.journal-settings>summary{cursor:pointer;color:var(--ink);padding:12px 4px;font-size:14px}.journal-settings>summary span{color:var(--muted);margin-left:12px;font-size:12px}.journal-settings>summary:focus-visible{outline-offset:3px;border-radius:6px;outline:2px solid #946380}.journal-settings[open]{padding-bottom:12px}.journal-overview-details .today-overview{margin-top:8px}@media (max-width:600px){.journal-settings>summary span{margin:4px 0 0 16px;display:block}.hero-menu.journal-hero{gap:12px;min-height:0;padding:16px}.hero-menu.journal-hero h1{font-size:25px}.hero-menu.journal-hero .hero-stats{gap:16px}.journal-heading{margin-top:18px}}.household-bar,.mobile-nav,.couple-access-card{border-color:#7f69692e;box-shadow:inset 0 1px #fffc,0 6px 22px #4936400a}.today-overview,.actual-meal-timeline,.journal-meal-card,.dish-suggestions{background-color:#fffefbeb;border-color:#e8dfd9}.day-button.selected{border-color:#bf9fa8;transform:none;box-shadow:0 4px 14px #80636b10}.journal-heading{margin-block:22px 12px}.actual-meal-timeline>header h2{font-weight:650}.actual-meal-timeline>header button{background:#eac5ce;border-color:#ba8e9b;font-weight:650;box-shadow:0 3px #c0a1ab}.actual-meal-events{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.actual-meal-event{background:#fffdfa;border-color:#e9dfd8;border-radius:19px;grid-template-rows:auto 1fr;grid-template-columns:92px minmax(0,1fr) auto;gap:6px 14px;min-height:122px;padding:12px;position:relative}.actual-meal-event time{color:#594b48;grid-area:1/2;font-size:17px;font-weight:650}.actual-event-photo,.actual-meal-event>.actual-event-marker{background:#f1eae3;border-radius:13px;grid-area:1/1/3;width:92px;height:96px;overflow:hidden}.actual-event-photo{display:block;position:relative}.actual-event-photo img{object-fit:cover;width:100%;height:100%;display:block}.actual-event-photo small{color:#50453e;background:#fffef5e8;border-radius:8px;padding:2px 7px;font-size:12px;position:absolute;bottom:6px;right:6px}.actual-event-photo-fallback{place-items:center;height:100%;font-size:26px;display:grid}.actual-meal-event>.actual-event-marker{background:#f2e9ed;font-size:26px}.actual-event-copy{grid-area:2/2;align-self:start;gap:5px}.actual-event-copy strong{-webkit-line-clamp:2;white-space:normal;overflow-wrap:anywhere;-webkit-box-orient:vertical;font-size:15px;font-weight:600;line-height:1.5;display:-webkit-box}.actual-event-copy small{color:#887165;font-size:12px;font-weight:500}.actual-event-copy em{color:#766960;font-size:12px}.actual-meal-event>i{grid-area:1/3/3}.journal-slot-heading,.journal-meal-card .meal-checkin{background:#fffdf9;border-color:#e6d9d9}.checkin-heading strong{font-size:17px;font-weight:650}.checkin-heading p{font-size:12px}.checkin-heading>em{color:#516347;background:#edf2e8;font-size:12px;font-weight:500}.journal-checkin-form .meal-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.meal-draft-progress{box-shadow:none;border-width:1px}.meal-progress-copy{flex:1;gap:4px;min-width:0;display:grid}.meal-progress-copy>strong{font-size:14px}.meal-progress-copy small{color:var(--muted);font-size:12px;line-height:1.6;display:block}.saved-sync-detail summary{color:#6a735f;cursor:pointer;align-items:center;min-height:44px;font-size:12px;display:inline-flex}.dish-suggestions{box-shadow:none;margin-block:20px;padding:18px}.dish-suggestions h2{font-weight:650}.dish-suggestions>header>button{color:#775664;background:#f9f0f2;font-weight:600}.dish-suggestion-grid article{background:#fffefd;border-color:#e6ded7}.dish-suggestion-grid summary{min-height:78px}.dish-suggestion-grid summary strong{font-size:16px;font-weight:600}.dish-suggestion-grid small{color:#6d655e;font-size:12px}.dish-suggestion-grid article[data-readiness=near] footer>small{color:#8a592f}.dish-suggestion-grid article[data-readiness=ready] footer>small{color:#506a43}.dish-suggestion-grid footer{align-items:start}.dish-suggestion-grid footer button{color:#7b5d69;background:0 0;border-color:#0000;min-height:44px}.dish-method{border-top:1px solid #eee5df}.dish-assumptions{color:var(--muted);margin-top:10px;font-size:12px;line-height:1.6;display:block}@media (max-width:700px){.actual-meal-events{grid-template-columns:minmax(0,1fr)}.actual-meal-event{grid-template-columns:88px minmax(0,1fr) auto;gap:5px 12px;min-height:118px}.actual-event-photo,.actual-meal-event>.actual-event-marker{width:88px;height:92px}.actual-meal-event time{font-size:17px}.hero-menu.journal-hero{min-height:124px;padding:20px}.journal-hero h1{font-size:29px}.journal-heading>p{font-size:12px}.dish-suggestions{padding:14px}.dish-suggestion-grid{gap:10px}}@media (prefers-reduced-motion:reduce){.actual-meal-event,.source-card,.day-button{transition:none;transform:none}}.family-login-options{width:100%}.family-login-methods{gap:10px;margin:16px 0 10px;display:flex}.couple-access-card .family-login-methods button{min-width:0;min-height:44px;box-shadow:none;background:#fff9fc;flex:1;margin:0;font-size:.875rem}.couple-access-card .family-login-methods button[aria-pressed=true]{background:#efcede;border-width:2px}.couple-access-card .family-login-methods button:disabled{opacity:.65;cursor:not-allowed}.couple-access-card small{color:#705f69;font-size:.875rem}@supports not ((-webkit-backdrop-filter:blur(1px)) or (backdrop-filter:blur(1px))){.couple-access-card,.household-bar,.mobile-nav{background-color:#fffdf9}}@media (prefers-reduced-transparency:reduce),(prefers-contrast:more),(forced-colors:active),print{:root{--surface-grain-image:none}.couple-access-shell,.couple-access-card,.test-version-notice,.meal-capture-dialog,.pantry-photo-dialog{background-image:none!important}.couple-access-card,.household-bar,.mobile-nav{background-color:#fffdf9;-webkit-backdrop-filter:none!important;backdrop-filter:none!important}}@media (forced-colors:active){.couple-access-card,.household-bar,.mobile-nav,.test-version-notice{color:canvastext;background-color:canvas!important}}.meal-delete-entry{border-top:1px dashed #ddd2ce;flex-wrap:wrap;align-items:center;gap:12px;margin-top:18px;padding:18px 4px 2px;display:flex}.meal-delete-entry button{color:#8b4344;min-height:44px;font:inherit;cursor:pointer;background:#fff9f7;border:1px solid #d5b8b4;border-radius:14px;padding:10px 16px;font-size:.9rem}.meal-delete-entry small{color:#807476;font-size:.8rem}.meal-delete-dialog{box-sizing:border-box;color:#463b3f;background:#fffaf5;border:1px solid #d8c6c6;border-radius:26px;width:min(480px,100vw - 32px);max-height:calc(100dvh - 40px);margin:auto;padding:clamp(20px,5vw,32px);overflow-y:auto;box-shadow:0 18px 70px #34232d33}.meal-delete-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#332b365c}.meal-delete-kicker{color:#926d79;letter-spacing:.08em;font-size:.8rem}.meal-delete-dialog h2{margin:10px 0 18px;font-size:1.45rem}.meal-delete-dialog p{overflow-wrap:anywhere;line-height:1.65}.meal-delete-dialog small{color:#817277;line-height:1.65;display:block}.meal-delete-target{background:#f3eae8;border-radius:16px;padding:14px 16px}.meal-delete-target p{max-height:6em;margin:8px 0 0;overflow:auto}.meal-delete-error{color:#913b32;background:#ffefea;border-radius:12px;padding:12px}.meal-delete-actions{flex-wrap:wrap;gap:10px;margin-top:22px;display:flex}.meal-delete-actions button{color:#544650;min-height:48px;font:inherit;cursor:pointer;background:#fffdfa;border:1px solid #cbbcc0;border-radius:14px;flex:160px;padding:12px;font-size:.9rem}.meal-delete-actions .meal-delete-confirm{color:#fff;background:#8d4548;border-color:#8d4548}.meal-delete-actions button:disabled,.meal-delete-entry button:disabled{opacity:.55;cursor:not-allowed}:is(.meal-delete-actions button:focus-visible,.meal-delete-entry button:focus-visible){outline-offset:3px;outline:3px solid #b56e98}.yesterday-diet-advice{color:#49404b;background:linear-gradient(135deg,#f5f8eff2,#fff8f2eb);border:1px solid #d7dfcc;border-radius:24px;grid-column:1/-1;padding:22px}.yesterday-diet-advice h3{margin:0 0 10px;font-size:21px}.yesterday-diet-advice>p,.yesterday-diet-advice small{font-size:13px;line-height:1.7}.yesterday-diet-advice article{background:#ffffffa6;border:1px solid #e3ddd9;border-radius:18px;margin-top:14px;padding:16px}.yesterday-diet-advice h4{margin:0 0 8px}.yesterday-diet-advice article p,.yesterday-diet-advice li{overflow-wrap:anywhere;font-size:14px;line-height:1.7}.yesterday-diet-advice ul{padding-left:20px}.meal-capture-ingredients summary{cursor:pointer;overflow-wrap:anywhere;padding:8px 0;font-size:14px;line-height:1.8}.touch-sparkles{pointer-events:none;z-index:2147483000;position:fixed;inset:0;overflow:hidden}.touch-sparkles-origin{width:0;height:0;position:absolute}.touch-sparkles i{color:#b56b91;font-size:19px;font-style:normal;line-height:1;animation:.56s ease-out both tap-sparkle;position:absolute}.touch-sparkles i:nth-child(2n){color:#b49a55;font-size:15px}@keyframes tap-sparkle{0%{opacity:0;transform:translate(-50%,-50%)scale(.45)}20%{opacity:.85}to{opacity:0;transform:translate(calc(-50% + var(--spark-x)), calc(-50% + var(--spark-y))) scale(.8)}}@media (prefers-reduced-motion:reduce){.touch-sparkles{display:none}}.meal-feedback-card{background:#fafbf6;border:1px solid #dce3d3;border-radius:18px;margin:10px 0 20px;overflow:hidden}.meal-feedback-toggle{color:#50664b;text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;min-height:46px;padding:12px 16px;font-weight:750;display:flex}.meal-feedback-body{padding:0 16px 16px}.meal-feedback-intro,.meal-feedback-message{color:#6e7569;font-size:13px;line-height:1.6}.meal-feedback-summary{overflow-wrap:anywhere;background:#fff;border-radius:12px;gap:5px;margin:10px 0;padding:12px;display:grid}.meal-feedback-summary p{white-space:pre-wrap;margin:0}.meal-feedback-summary small{color:#737970}.meal-feedback-body fieldset{border:0;min-width:0;margin:14px 0;padding:0}.meal-feedback-body legend{margin-bottom:10px;font-weight:750}.meal-feedback-options{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.meal-feedback-options button{color:#53604d;background:#fff;border:1px solid #d7dfcf;border-radius:14px;min-height:44px;padding:8px 12px}.meal-feedback-options button[aria-pressed=true]{background:#dbe7ce;border-color:#80996f}.meal-feedback-again{align-items:center;gap:10px;min-height:44px;display:flex}.meal-feedback-note{gap:8px;margin:12px 0;font-size:13px;display:grid}.meal-feedback-note textarea{box-sizing:border-box;resize:vertical;width:100%;font:inherit;border:1px solid #ccd8c1;border-radius:12px;padding:12px;font-size:16px}.meal-feedback-reload{color:#576b50;background:0 0;border:0;min-height:44px;padding:10px 0;font-size:12px}.meal-feedback-actions{bottom:calc(88px + env(safe-area-inset-bottom,0px));z-index:3;background:var(--paper,#fffdf6);border-top:1px solid var(--line,#e5ddcd);padding:12px 0 4px;position:sticky}.meal-feedback-submit{color:#fff;width:100%;min-height:48px;font:inherit;cursor:pointer;background:#47634e;border:1px solid #47634e;border-radius:12px;justify-content:center;align-items:center;padding:12px 16px;font-weight:750;display:flex}.meal-feedback-submit:disabled{cursor:default;opacity:.75}.meal-feedback-submit:focus-visible{outline-offset:3px;outline:3px solid #b68a38}.meal-feedback-submit-status{overflow-wrap:anywhere;margin:8px 0 0;font-size:12px;line-height:1.6}.meal-feedback-actions[data-state=success] .meal-feedback-submit-status{color:#355d3c}.meal-feedback-actions[data-state=error] .meal-feedback-submit-status{color:#8f332c}.meal-feedback-note textarea{scroll-margin-bottom:220px}@media (min-width:981px){.meal-feedback-actions{bottom:12px}}:root:not([data-festival]){--ink:#30392d;--muted:#6c7165;--cream:#f5f3eb;--paper:#fffdf7;--line:#e0e2d5;--shadow-soft:0 4px 18px #30392d06}body:has(.table-journal-v2){background:var(--cream)}.table-journal-v2{--journal-accent:#526345;--journal-soft:#e8edde;--journal-apricot:#f4e4ce}html[data-festival] .table-journal-v2{--journal-accent:var(--festival-accent);--journal-soft:var(--festival-soft);--journal-apricot:var(--festival-soft)}.table-journal-v2 .topbar{border-bottom:1px solid var(--line);margin-bottom:12px}.table-journal-v2 .brand{color:var(--ink);letter-spacing:-.03em;font-weight:650}.table-journal-v2 .brand-mark{background:var(--journal-apricot);box-shadow:none;border:0;border-radius:50%}.table-journal-v2 .nav-pills{box-shadow:none;background:0 0;border:0}.table-journal-v2 .nav-pill{color:var(--muted);border-radius:10px}.table-journal-v2 .nav-pill.active{background:var(--journal-soft);color:var(--journal-accent);box-shadow:none}.table-journal-v2 .hero-menu.journal-hero{background:var(--paper);min-height:226px;box-shadow:none;border:0;border-top:3px solid var(--journal-accent);border-radius:6px 6px 28px;margin-top:18px;padding:30px 36px;position:relative;overflow:hidden}.table-journal-v2 .journal-hero .eyebrow{color:var(--journal-accent);letter-spacing:.14em;font-size:10px;line-height:1.7}.table-journal-v2 .journal-hero h1{color:var(--ink);letter-spacing:-.03em;font-family:Songti SC,STSong,serif;font-size:clamp(30px,4vw,48px);font-weight:600;line-height:1.18}.table-journal-v2 .journal-hero h1 span{color:var(--journal-accent)}.table-journal-v2 .journal-hero p{color:var(--muted);font-size:13px;line-height:1.7}.table-journal-v2 .journal-hero:before,.table-journal-v2 .journal-hero:after{display:none}.table-journal-v2 .table-illustration{pointer-events:none;flex:0 0 190px;justify-items:center;gap:8px;display:grid;transform:rotate(-3deg)}.table-journal-v2 .table-illustration>span{color:var(--journal-accent);border:1px dashed var(--line);background:var(--journal-apricot);border-radius:20px;padding:5px 13px;font-size:12px}.table-companions{width:190px;height:120px;color:var(--journal-accent);display:block}.table-journal-v2 .table-plate{background:#fffef8;border:12px solid #e7e6da;border-radius:50%;outline:1px solid #dadccf;width:144px;height:144px;position:relative;box-shadow:0 8px 24px #39452b12}.table-journal-v2 .table-plate i{display:block;position:absolute}.table-journal-v2 .table-tomato{background:#ce795f;border-radius:50%;width:40px;height:40px;top:23px;left:16px}.table-journal-v2 .table-leaf{background:#8fa47d;border-radius:70% 12%;width:32px;height:53px;bottom:20px;right:18px;transform:rotate(25deg)}.table-journal-v2 .table-egg{background:#f6e3a8;border:9px solid #fff;border-radius:50%;width:44px;height:38px;bottom:18px;left:20px}.table-journal-v2 .hero-stats{gap:18px}.table-journal-v2 .hero-stats>div:not(.mascot){border:0;border-left:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;padding:8px 0 8px 18px}.table-journal-v2 .hero-stats strong{color:var(--journal-accent);font-weight:600}.table-journal-v2 .quick-meal-capture{background:var(--journal-soft);box-shadow:none;border:0;border-radius:18px}.table-journal-v2 .quick-meal-capture>button,.table-journal-v2 .actual-meal-timeline>header>button{background:var(--journal-accent);color:#fff;box-shadow:none;border:0;border-radius:12px;min-height:44px}.table-journal-v2 .quick-meal-capture>div:nth-child(2)>span{color:var(--journal-accent)}.table-journal-v2 .quick-capture-character{background:var(--paper);box-shadow:none}.table-journal-v2 .journal-settings{border-color:var(--line)}.table-journal-v2 .day-button{box-shadow:none;background:0 0;border-color:#0000}.table-journal-v2 .day-button.selected{border-color:var(--journal-accent);background:var(--journal-soft);color:var(--journal-accent);box-shadow:none}.table-journal-v2 .journal-heading h2{color:var(--ink);font-family:Songti SC,STSong,serif}.table-journal-v2 .section-kicker{color:var(--journal-accent)}.table-journal-v2 .actual-meal-timeline{border:0;border-top:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;padding:24px 0}.table-journal-v2 .actual-meal-timeline>header{padding-inline:4px}.table-journal-v2 .actual-meal-timeline>header span{color:var(--journal-accent)}.table-journal-v2 .actual-meal-timeline>header h2{color:var(--ink);font-family:Songti SC,STSong,serif;font-size:25px}.table-journal-v2 .actual-meal-event{border-color:var(--line);background:var(--paper);border-radius:18px;grid-template-columns:116px minmax(0,1fr) auto;gap:8px 16px;min-height:148px;padding:12px}.table-journal-v2 .actual-event-photo,.table-journal-v2 .actual-meal-event>.actual-event-marker{background:var(--journal-apricot);border-radius:12px;width:116px;height:122px}.table-journal-v2 .actual-meal-event time{color:var(--journal-accent);font-size:19px}.table-journal-v2 .actual-event-copy strong{color:var(--ink);font-weight:650}.table-journal-v2 .actual-event-copy :is(small,em){color:var(--muted)}.table-journal-v2 .actual-meal-event>i{color:var(--journal-accent)}.table-journal-v2 .actual-meal-empty{background:var(--paper);color:var(--ink);border-color:var(--line)}.table-journal-v2 .journal-meal-card{background:var(--paper);box-shadow:none;background-image:none}.table-journal-v2 .journal-slot-heading{background:var(--paper)}.table-journal-v2 .meal-feedback-card{background:var(--journal-apricot);border:0;border-left:3px solid var(--journal-accent);border-radius:3px 14px 14px 3px;position:relative}.table-journal-v2 .meal-feedback-card:before{content:"";background:var(--journal-soft);border-inline:1px dashed var(--journal-accent);opacity:.7;pointer-events:none;width:42px;height:11px;position:absolute;top:0;right:20px;transform:rotate(5deg)}.table-journal-v2 .actual-meal-timeline>header h2:after{content:" ✿";color:#b28348;vertical-align:middle;font-family:sans-serif;font-size:18px;display:inline-block}.table-journal-v2 .actual-meal-empty>span{background:var(--journal-apricot);width:44px;height:44px;color:var(--journal-accent);border-radius:45% 55% 52% 48%;place-items:center;display:grid}.table-journal-v2 .meal-feedback-toggle{color:var(--ink)}.table-journal-v2 .meal-feedback-summary{background:var(--paper)}.table-journal-v2 .meal-feedback-options button[aria-pressed=true]{background:var(--journal-soft);border-color:var(--journal-accent)}.table-journal-v2 .mobile-nav{border:1px solid var(--line);background:var(--paper);-webkit-backdrop-filter:none;background-image:none;box-shadow:0 6px 24px #30392d12}.table-journal-v2 .mobile-nav button.active:not(.mobile-record-action){background:var(--journal-soft);color:var(--journal-accent)}.table-journal-v2 .mobile-nav .mobile-record-action{background:var(--journal-soft);min-height:58px;color:var(--journal-accent);box-shadow:none;border:0;border-radius:15px;margin-top:0}@media (max-width:700px){.table-journal-v2 .hero-menu.journal-hero{gap:14px;min-height:172px;padding:22px 18px}.table-journal-v2 .journal-hero h1{font-size:34px}.table-journal-v2 .journal-hero .table-illustration{gap:4px;width:94px;display:grid;position:absolute;top:48px;right:15px;transform:rotate(3deg)}.table-journal-v2 .journal-hero .table-companions{width:94px;height:60px}.table-journal-v2 .table-illustration>span{padding:4px 5px;font-size:9px}.table-journal-v2 .journal-hero h1{padding-right:94px}.table-journal-v2 .hero-stats>div:not(.mascot){padding-left:12px}.table-journal-v2 .actual-meal-timeline{padding:18px 0}.table-journal-v2 .actual-meal-event{grid-template-columns:96px minmax(0,1fr) auto;gap:6px 12px;min-height:130px}.table-journal-v2 .actual-event-photo,.table-journal-v2 .actual-meal-event>.actual-event-marker{width:96px;height:104px}.table-journal-v2 .actual-meal-timeline>header h2{font-size:23px}.table-journal-v2 .quick-meal-capture>button{width:104px}}@media (max-width:360px){.table-journal-v2 .journal-hero h1{padding-right:82px;font-size:28px}.table-journal-v2 .journal-hero .table-illustration{width:80px;right:12px}.table-journal-v2 .journal-hero .table-companions{width:80px;height:52px}.table-journal-v2 .table-illustration>span{white-space:nowrap;font-size:8px}.table-journal-v2 .actual-meal-event{grid-template-columns:80px minmax(0,1fr) auto;gap:6px 8px}.table-journal-v2 .actual-event-photo,.table-journal-v2 .actual-meal-event>.actual-event-marker{width:80px;height:96px}}@media (forced-colors:active){.table-journal-v2{--journal-accent:CanvasText;--journal-soft:Canvas;--journal-apricot:Canvas}.table-journal-v2 .quick-meal-capture>button,.table-journal-v2 .actual-meal-timeline>header>button{color:buttontext;background:buttonface;border:1px solid buttontext}}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@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}.editorial-app{--ink:#302f25;--muted:#747365;--line:#dedccd;--pink:#edc5b4;--green:#cbd7ac;color:var(--ink)}.editorial-app .topbar{border-bottom:1px solid var(--line);padding-bottom:18px}.editorial-app .brand{letter-spacing:-.06em;color:#373c29}.editorial-app .brand-mark{box-shadow:none;background:#e9edda;border-radius:50%}.editorial-app .nav-pill.active{color:#fffdf5;box-shadow:none;background:#354833}.editorial-app .journal-settings{border:0;border-bottom:1px solid var(--line);background:0 0;border-radius:0}.editorial-app .hero-menu.journal-hero{background:#f4f0e4;background-image:var(--surface-grain-image);min-height:310px;box-shadow:none;border:0;border-radius:4px;grid-template-columns:minmax(0,1fr) 240px;gap:22px;padding:38px 36px 24px;display:grid;position:relative;overflow:hidden}.editorial-app .journal-hero:before,.editorial-app .journal-hero:after{display:none}.editorial-app .eyebrow{color:#63704c;letter-spacing:.12em;font-size:11px;line-height:1.8}.editorial-app .journal-hero h1,.editorial-app .sub-hero h1{letter-spacing:-.05em;color:#33382b;margin:18px 0 12px;font-family:Georgia,Songti SC,STSong,serif;font-size:clamp(32px,4.5vw,58px);font-weight:600;line-height:1.28}.editorial-app .journal-hero h1 span{color:#bc4932}.editorial-intro{color:#747365;font-size:14px;line-height:1.8}.editorial-app .hero-stats{border-top:1px solid #d9d8c8;grid-column:1/-1;justify-content:flex-start;gap:28px;padding-top:16px}.editorial-app .hero-stats>div:not(.mascot){min-width:0;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;align-items:baseline;gap:9px;padding:0;display:flex;transform:none}.editorial-app .hero-stats strong{color:#425136;font-family:Georgia,serif;font-size:29px}.editorial-app .hero-stats span{color:#747365;font-size:12px}.table-illustration{text-align:center;pointer-events:none;align-self:center;transform:rotate(-9deg)}.table-illustration>span{color:#74785a;letter-spacing:.2em;margin-top:12px;font-size:12px;display:inline-block}.table-plate{background:#fffcf2;border:12px solid #e6e6d7;border-radius:50%;width:214px;height:214px;margin:auto;position:relative;box-shadow:inset 0 0 0 2px #c8cdb6,10px 12px #333b2910}.table-plate i{display:block;position:absolute}.table-tomato{background:#cb5137;border-radius:45% 48% 44%;width:81px;height:76px;top:28px;left:24px;box-shadow:inset -12px -5px #b4422c}.table-tomato:after{content:"✦";color:#4d663f;font-size:39px;position:absolute;top:-14px;left:24px}.table-leaf{background:#7d9258;border-left:7px solid #a9b77a;border-radius:90% 0 80% 5%;width:67px;height:106px;top:25px;right:20px;transform:rotate(21deg)}.table-egg{background:#fffef8;border-radius:65% 45% 55% 40%;width:102px;height:79px;bottom:18px;left:44px;box-shadow:1px 3px #c7bba04d}.table-egg:after{content:"";background:#e7ad35;border-radius:50%;width:41px;height:39px;position:absolute;top:19px;left:34px}.editorial-app .quick-meal-capture{box-shadow:none;background:#e9eddd;border:1px solid #d3dac3;border-radius:18px}.editorial-app .quick-meal-capture button,.editorial-app .actual-meal-timeline>header>button{color:#304530;box-shadow:none;background:#cbd8bc;border:1px solid #a6b895;border-radius:12px;min-height:44px}.editorial-app .quick-capture-character{color:#52603c;box-shadow:none;background:#faf8ed}.editorial-app .day-button{box-shadow:none;background:#fffdf7;border-color:#dfdfd0}.editorial-app .day-button.selected,.editorial-app .day-button.active{color:#fffdf5;box-shadow:none;background:#354833;transform:none}.editorial-app .actual-meal-timeline>header h2{color:#33382b;font-family:Georgia,Songti SC,serif;font-size:28px}.editorial-app .actual-meal-timeline>header span{color:#7b805f;letter-spacing:.15em}.editorial-app .actual-meal-event{background:#fffdf8;border:1px solid #dedccd;border-radius:18px;position:relative;overflow:hidden;transform:none;box-shadow:0 5px 16px #3c392706}.editorial-app .actual-meal-event.has-photo{grid-template-columns:minmax(0,1fr) auto;gap:0;padding:0;display:grid}.editorial-app .has-photo .actual-event-photo{background:#e9e8dc;border-radius:0;grid-area:1/1/auto/-1;width:100%;height:190px;margin:0}.editorial-app .has-photo .actual-event-photo img{object-fit:cover;width:100%;height:100%}.editorial-app .has-photo>time{z-index:1;color:#33382b;background:#fffdf3ed;border-radius:7px;padding:5px 9px;font-size:12px;position:absolute;top:12px;left:12px}.editorial-app .has-photo .actual-event-copy{grid-area:2/1;min-width:0;padding:18px}.editorial-app .has-photo>i{color:#ad412d;grid-area:2/2;align-self:center;padding:16px}.editorial-app .actual-event-copy strong{font-size:18px;line-height:1.5}.editorial-app .actual-meal-empty{background:#f2f3e8;border:1px dashed #bcc4a7;border-radius:18px}.editorial-app .dish-suggestions{box-shadow:none;background:#f0f2e8;border:1px solid #d8dccb;border-radius:18px}.editorial-app .dish-suggestion-grid article{box-shadow:none;background:#fffdf5;border:1px solid #d8dccb;border-radius:13px}.editorial-app .fridge-hero{box-shadow:none;background:#e9eddd;border:0;border-radius:5px}.editorial-app .fridge-hero h1{font-size:clamp(30px,4vw,46px)}.editorial-app .filter-pills button.active{color:#fffdf5;box-shadow:none;background:#354833}.editorial-app .inventory-item{box-shadow:none;background:#fffdf6;border:1px solid #dedccd;border-radius:15px;min-width:0}.editorial-app .inventory-emoji{background:#f0efdf;border-radius:50%}.editorial-app .inventory-actions button{min-width:44px;min-height:44px}.editorial-app .inventory-actions{flex-direction:column;display:flex}.editorial-app .yesterday-diet-advice{color:#3d4633;background:#f0f2e8;border-color:#d8dccb;border-radius:18px}.editorial-app .mobile-nav{background:#fffdf3f5;border:1px solid #dadcc8;box-shadow:0 5px 25px #38432c1a}.editorial-app .mobile-nav button.active{color:#ad412d;background:#f2e4da}.editorial-app .mobile-nav .mobile-record-action{color:#304530;box-shadow:none;background:#cbd8bc;border:1px solid #a6b895}.editorial-app .quick-meal-capture button:active,.editorial-app .actual-meal-timeline>header>button:active,.editorial-app .mobile-nav .mobile-record-action:active{color:#304530;background:#b8cba7}@media (hover:hover){.editorial-app .quick-meal-capture button:hover,.editorial-app .actual-meal-timeline>header>button:hover,.editorial-app .mobile-nav .mobile-record-action:hover{color:#304530;background:#bfd0af}}.editorial-app button:focus-visible{outline-offset:3px;outline:3px solid #657c43}@media (max-width:640px){.editorial-app .hero-menu.journal-hero{grid-template-columns:minmax(0,1fr) 90px;gap:10px;min-height:0;padding:25px 19px 18px}.editorial-app .journal-hero h1{font-size:clamp(25px,6.6vw,36px)}.editorial-app .journal-hero .eyebrow{letter-spacing:.03em;font-size:9px}.editorial-app .editorial-intro{font-size:12px}.table-plate{border-width:6px;width:90px;height:90px}.table-tomato{width:34px;height:32px;top:12px;left:10px;box-shadow:inset -4px -3px #b4422c}.table-tomato:after{font-size:20px;top:-10px;left:8px}.table-leaf{border-left-width:3px;width:28px;height:44px;top:10px;right:8px}.table-egg{width:44px;height:33px;bottom:8px;left:18px}.table-egg:after{width:18px;height:17px;top:8px;left:14px}.table-illustration>span{letter-spacing:0;font-size:9px}.editorial-app .actual-meal-events{grid-template-columns:minmax(0,1fr)}.editorial-app .has-photo .actual-event-photo{height:190px}.editorial-app .inventory-grid{grid-template-columns:minmax(0,1fr)}.editorial-app .inventory-actions{flex-direction:row}}@media (prefers-reduced-motion:reduce){.editorial-app *,.editorial-app :before,.editorial-app :after{scroll-behavior:auto}}@media (forced-colors:active){.table-illustration{display:none}.editorial-app button{border:1px solid buttontext}}@media print{.table-illustration{display:none}.editorial-app .hero-menu.journal-hero{min-height:0}}.table-journal-v2{--diary-paper:var(--festival-card,#fffdf7);--diary-soft:var(--festival-soft,#f4eedf);--diary-accent:var(--festival-accent,#a54330)}.table-journal-v2 .hero-menu.journal-hero{border-block:1px solid var(--line);background:0 0;border-radius:0;grid-template-columns:minmax(0,1fr) 150px;gap:14px 24px;min-height:0;padding:28px 32px 18px}.table-journal-v2 .journal-hero h1{margin:10px 0;padding-right:0;font-size:clamp(32px,4.1vw,52px);line-height:1.25}.table-journal-v2 .journal-hero .eyebrow{color:var(--diary-accent);letter-spacing:.17em;font-size:10px}.table-journal-v2 .editorial-intro{margin:8px 0;font-size:13px}.table-journal-v2 .journal-hero .table-illustration{width:auto;position:static;transform:rotate(-5deg)}.table-journal-v2 .table-illustration svg{max-width:140px;height:auto}.table-journal-v2 .hero-stats{border-top-style:dashed;gap:18px;padding-top:12px}.table-journal-v2 .hero-stats strong{font-size:24px}.table-journal-v2 .hero-stats span{font-size:11px}.table-journal-v2 .quick-meal-capture{border:0;border-left:3px solid var(--journal-accent);border-radius:4px 20px 20px 4px;margin-block:18px}.table-journal-v2 .quick-meal-capture button{background:var(--diary-accent);border-color:var(--diary-accent);color:#fff;border-radius:999px}.table-journal-v2 .journal-heading{border-bottom:2px solid var(--ink);margin-top:24px;padding-bottom:14px}.table-journal-v2 .journal-heading h2{font-family:Georgia,Songti SC,serif;font-size:30px}.table-journal-v2 .actual-meal-timeline{box-shadow:none;background:0 0;border:0;padding:0}.table-journal-v2 .actual-meal-timeline>header{margin-bottom:18px}.table-journal-v2 .actual-meal-timeline>header h2{font-size:18px}.table-journal-v2 .actual-meal-timeline>header span{font-size:9px}.table-journal-v2 .actual-meal-events{align-items:start;gap:26px 22px}.table-diary-entry{background:var(--diary-paper);border:1px solid var(--line);border-radius:3px;min-width:0;padding:12px;box-shadow:0 5px 14px #40362507}.table-diary-caption{color:var(--muted);letter-spacing:.08em;justify-content:space-between;gap:8px;padding:3px 2px 13px;font-size:10px;display:flex}.table-journal-v2 .table-diary-entry .actual-meal-event{width:100%;box-shadow:none;text-align:left;background:0 0;border:0;border-radius:2px}.table-journal-v2 .table-diary-entry .actual-event-photo{aspect-ratio:3/2;background:var(--diary-soft);width:100%;height:auto}.table-journal-v2 .table-diary-entry .actual-event-photo img{object-fit:cover}.table-journal-v2 .table-diary-entry .actual-event-copy{padding:18px 4px 12px}.table-journal-v2 .table-diary-entry .actual-event-copy strong{overflow-wrap:anywhere;font-family:Georgia,Songti SC,serif;font-size:23px;font-weight:600;line-height:1.55}.table-journal-v2 .table-diary-entry .actual-event-copy small{color:var(--diary-accent);letter-spacing:.08em}.table-journal-v2 .table-diary-entry .actual-event-copy em{font-size:12px;line-height:1.6}.table-journal-v2 .table-diary-entry .actual-event-photo small{color:#393c2f;background:#fffdf2ed;border-radius:3px}.table-journal-v2 .table-diary-entry .actual-meal-event>time{font-variant-numeric:tabular-nums}.table-journal-v2 .table-diary-entry .has-photo>time{grid-area:auto;font-size:13px;inset:12px auto auto 12px}.table-journal-v2 .table-diary-entry .text-only{background:var(--diary-soft);grid-template-columns:32px minmax(0,1fr);min-height:165px;padding:16px 10px}.table-journal-v2 .table-diary-entry .text-only>time{grid-area:1/1/auto/-1;font-size:15px}.table-journal-v2 .table-diary-entry .text-only>.actual-event-marker{grid-area:2/1;width:32px;height:32px}.table-journal-v2 .table-diary-entry .text-only>.actual-event-copy{grid-area:2/2}.table-journal-v2 .table-diary-entry .text-only>i{display:none}.table-journal-v2 .table-diary-repeat{min-height:44px;box-shadow:none;color:var(--muted);text-align:left;background:0 0;border:0;padding:8px 4px;font-size:12px}.table-diary-repeat span{font-size:10px}.table-journal-v2 .table-diary-entry .meal-feedback-card{background:var(--diary-soft);border-left:0;border-radius:2px;margin:8px 0 0}.table-journal-v2 .table-diary-entry .meal-feedback-toggle{min-height:48px;padding:15px 12px;font-size:12px}.table-journal-v2 .table-diary-entry .meal-feedback-card:before{width:36px;height:8px;top:0;right:24px}.table-journal-v2 .meal-feedback-summary{border-left:2px solid var(--diary-accent);border-radius:0}.table-journal-v2 .actual-meal-empty{border:1px dashed var(--line);background:var(--diary-soft);border-radius:3px;width:100%;min-height:240px;padding:28px 18px}.table-journal-v2 .actual-meal-empty .table-empty-places{width:auto;height:auto;color:var(--diary-accent);letter-spacing:.15em;background:0 0;font-family:Georgia,serif;font-size:34px}.table-journal-v2 .actual-meal-empty strong{font-family:Georgia,Songti SC,serif;font-size:22px}.table-journal-v2 .actual-meal-empty em{color:var(--diary-accent);margin-top:16px;font-size:13px;font-style:normal;display:block}.table-journal-v2 .journal-day-strip{gap:6px}.table-journal-v2 .day-button{border-radius:3px}@media (min-width:850px){.table-diary-entry.with-photo:first-child{grid-column:1/-1}.table-journal-v2 .table-diary-entry.with-photo:first-child .has-photo{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.table-journal-v2 .table-diary-entry.with-photo:first-child .actual-event-photo{aspect-ratio:auto;grid-area:1/1;height:310px}.table-journal-v2 .table-diary-entry.with-photo:first-child .actual-event-copy{grid-area:1/2;align-self:center;padding:28px 24px}.table-journal-v2 .table-diary-entry.with-photo:first-child .has-photo>i{display:none}}@media (max-width:640px){.table-journal-v2 .hero-menu.journal-hero{grid-template-columns:minmax(0,1fr) 72px;gap:8px;padding:20px 4px 14px}.table-journal-v2 .journal-hero h1{letter-spacing:-.055em;font-size:clamp(24px,6.1vw,34px)}.table-journal-v2 .journal-hero .eyebrow{letter-spacing:.05em;font-size:8px}.table-journal-v2 .editorial-intro{font-size:11px;line-height:1.8}.table-journal-v2 .table-illustration svg{width:72px}.table-journal-v2 .journal-hero .table-companions{width:72px;height:auto}.table-journal-v2 .table-illustration>span{font-size:8px}.table-journal-v2 .hero-stats{flex-wrap:wrap;gap:12px;display:none}.table-journal-v2 .hero-stats span{font-size:10px}.table-journal-v2 .quick-meal-capture{gap:10px;padding:14px 12px}.table-journal-v2 .quick-capture-character{display:none}.table-journal-v2 .quick-meal-capture strong{font-size:15px}.table-journal-v2 .quick-meal-capture p{font-size:11px}.table-journal-v2 .quick-meal-capture button{white-space:nowrap;padding:10px 14px}.table-journal-v2 .journal-heading h2{font-size:26px}.table-journal-v2 .journal-heading p{max-width:100px;font-size:10px}.table-journal-v2 .journal-heading{margin-top:18px;margin-bottom:8px;padding-bottom:10px}.table-journal-v2 .journal-day-strip{grid-template-columns:repeat(7,minmax(44px,1fr));gap:2px;padding:0;display:grid;overflow-x:auto}.table-journal-v2 .journal-day-strip .day-button{min-width:44px;min-height:68px;padding:8px 1px}.table-journal-v2 .journal-day-strip .day-button span{font-size:10px}.table-journal-v2 .journal-day-strip .day-button strong{font-size:14px}.table-journal-v2 .journal-day-strip .day-button small{font-size:8px}.table-journal-v2 .table-diary-entry .actual-event-copy strong{font-size:21px}.table-journal-v2 .actual-meal-events{gap:22px}}@media (max-width:360px){.table-journal-v2 .hero-menu.journal-hero{grid-template-columns:minmax(0,1fr)}.table-journal-v2 .journal-hero .table-illustration{display:none}}@media (prefers-reduced-motion:reduce){.table-diary-entry *,.table-diary-entry :before{transition:none;animation:none}}@media (forced-colors:active){.table-diary-entry,.table-journal-v2 .meal-feedback-card,.table-journal-v2 .actual-meal-empty{border:1px solid canvastext}.table-journal-v2 .table-diary-caption,.table-journal-v2 .actual-event-copy small{color:canvastext}}.scrapbook-app{--table-handwriting-license:"Copyright 2018 The Ma Shan Zheng Project Authors (https://github.com/googlefonts/mashanzheng) This Font Software is licensed under the SIL Open Font License, Version 1.1. This license is copied below, and is also available with a FAQ at: http://scripts.sil.org/OFL ----------------------------------------------------------- SIL OPEN FONT LICENSE Version 1.1 - 26 February 2007 ----------------------------------------------------------- PREAMBLE The goals of the Open Font License (OFL) are to stimulate worldwide development of collaborative font projects, to support the font creation efforts of academic and linguistic communities, and to provide a free and open framework in which fonts may be shared and improved in partnership with others. The OFL allows the licensed fonts to be used, studied, modified and redistributed freely as long as they are not sold by themselves. The fonts, including any derivative works, can be bundled, embedded, redistributed and/or sold with any software provided that any reserved names are not used by derivative works. The fonts and derivatives, however, cannot be released under any other type of license. The requirement for fonts to remain under this license does not apply to any document created using the fonts or their derivatives. DEFINITIONS \"Font Software\" refers to the set of files released by the Copyright Holder(s) under this license and clearly marked as such. This may include source files, build scripts and documentation. \"Reserved Font Name\" refers to any names specified as such after the copyright statement(s). \"Original Version\" refers to the collection of Font Software components as distributed by the Copyright Holder(s). \"Modified Version\" refers to any derivative made by adding to, deleting, or substituting -- in part or in whole -- any of the components of the Original Version, by changing formats or by porting the Font Software to a new environment. \"Author\" refers to any designer, engineer, programmer, technical writer or other person who contributed to the Font Software. PERMISSION & CONDITIONS Permission is hereby granted, free of charge, to any person obtaining a copy of the Font Software, to use, study, copy, merge, embed, modify, redistribute, and sell modified and unmodified copies of the Font Software, subject to the following conditions: 1) Neither the Font Software nor any of its individual components, in Original or Modified Versions, may be sold by itself. 2) Original or Modified Versions of the Font Software may be bundled, redistributed and/or sold with any software, provided that each copy contains the above copyright notice and this license. These can be included either as stand-alone text files, human-readable headers or in the appropriate machine-readable metadata fields within text or binary files as long as those fields can be easily viewed by the user. 3) No Modified Version of the Font Software may use the Reserved Font Name(s) unless explicit written permission is granted by the corresponding Copyright Holder. This restriction only applies to the primary font name as presented to the users. 4) The name(s) of the Copyright Holder(s) or the Author(s) of the Font Software shall not be used to promote, endorse or advertise any Modified Version, except to acknowledge the contribution(s) of the Copyright Holder(s) and the Author(s) or with their explicit written permission. 5) The Font Software, modified or unmodified, in part or in whole, must be distributed entirely under this license, and must not be distributed under any other license. The requirement for fonts to remain under this license does not apply to any document created using the Font Software. TERMINATION This license becomes null and void if any of the above conditions are not met. DISCLAIMER THE FONT SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT OF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THE COPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, INCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIAL DAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROM OTHER DEALINGS IN THE FONT SOFTWARE."}@font-face{font-family:Table Hand;src:url(/releases/33e02c37fd1c949c656f49192375ff6810266f32/_next/static/media/table-handwriting-v1.Cu-eStf1.woff2)format("woff2");font-display:swap;font-weight:400}@font-face{font-family:Table Sidebar Serif;src:url(data:font/woff2;base64,d09GMgABAAAAAA9EABEAAAAAGDgAAA7lAAEAAAAAAAAAAAAAAAAAAAAAAAAAAAAAGYFeGx4cQAZgP1NUQVQqAIEkEQgKolybWQsiAAE2AiQDJgQgBYQYByAXJBgiG2gTEUV9iEwjZeH8/f4PN+tPkkI7kwT6SkPF3pZmzYxAZY1SXze4nkpqTnepOF0xzcCJOz/wN3stcv5/YE1ptwZVg2tqYA2uCZ3mtp2MHcWjtVZfPN1HoljJ1LZ79zr74oqoJAiZ0Ew8kdqXkgkpca0tVy+qEXWpGHwxZwA0ChYAD4OfvAAc6GbNWWSFcc692zaAnLstez3IeY5N+TBuvWOTA8ZtcOzYBDLoaNls037QBw5AwhubcUlgRGuIYA+w7C0aVUI13ZnIjkEgj/uAIwZMgKE9AAo+Cyy7gu6GwSMAwOU7czLznTk78rOyN2/bvHETRRxDHMQBzdUZClwnpmAQiyF4psAUmeofwJX5Mh70abs1x37EnIEQAOZ5JrUiC8910BoYgUaFGYaBjTIJEoUDPphknKql50PmLl06F5IgqczIbgk+W3TgDqOEdTqkV9DFMG/VB51fIFRCMB3bxQGzOzdvB7oD85YBZGLO2AVbC1NpWGoXB69iQJK8L0taQlboVtSunJcWl9Gb/VVOeu6AA/sLxxT/XvpBmVGXoRBfGfyo64+2/9qyWs8e+dqzojyxrKP0w8JXD/jzzblDc4KSDH7TEAEKBsFw1RpNogc36EPKwKLf2YzLQYgmR4WADjgIAwI6ECGk+k0dGICAiWNZlhVDSbggJHCcwBkTBT1PeF4w8hzPE0JEIxdLeEHPcbwgcJyeM4RNDucwxwm8mER4gkWBhIvFSQJPouN4gfQTjEQUuY1Bj9dFeoEPE+MbFgp6LBKeH6t5qn+OwHFYr+jDdQW5Yna2fo8hJ0eXu5tSSutar8jtfr9/wmqX14exnjjdTWfPpqjYGGPYr3qjEiilisnzIM7vt5mtqgdrmmaVAoGAPa1W0zTNKgUCgUCysFJRPSZN0/p5NVxRLRXfGoMar14lL5hLAgE7ATFmMwG8Fq9UVI+JU70+jHcJwNsVVbVoGGrlJ/2CS7a7zinZXNTb6ygxtwwdCCkj4MSMryec6wacsUawu5tOnk1RVSymGu5JbMxQVDkpq3R55/2Unq30XhlQ3n1OTtNF7Lvg9NucEussrGfZbfTXszuAj1Wu3m2r9B4bUF7fHmNTPfJ39vltFdXCqB4fxuzU7cxIpKl2CtC2Sq9PrvYPcJji8l6tn1TR0BC7qcvVaVF9zTHlHX2Pnu+J2VhsjbauVFTVxLg671jLgXXK5O7V8faItase+Yw2TqoJJK+7Srsqvb4B5d3dMc65bwhCigC8U1UtgFE28MgJPLIrjYZkLRGYumS7taWMy7ddpgFEZABRIYzV0rsJYDupJO+DOxZcEQhsQgrmXCewl7CG7dYQwFYC2O4kF3NXdqqCBeBBAD63ngRclgLFRKyOBQrRvLpzQCEuF4CriJAXXgiJkhKJ0lgGLq+G8fPHqlGG33pr0lB0Kqpq0Y28awg4qbiLUjrf5ItIym/bL5K81Djc0iDWpqoWRgwRmzbbUsvdmKw0sSrg+LC76eRJr2lyyI6ZZPCovKv2xJjmEiZkUnqxqtUnl1+6NGAj5bjbnSZo7JUKaHQ9y1lK6WzwnGmN8vv9aZQ+rGv1pVn7CVZVlVs1bV4chRKd7sZOk2KMkIMUtQA5aezsjBg8ZUbYutshHOMMUHqx9oQsIBkTvyzfNqOko+fPnzfbrt6M1x3l8u4Y+0lK6VzTCV29M/rekYw99GwF+JjtIKKNgJEdMLKe1Q4+xSyxu0/e7S/QfAYljFnU5Lk22P5ywm7gkYIRMis4pcpp3Ykx545akEFpW+WJ5we429ulVUeHN4o8oVnX9mesS6tqvSbb6RbE5p4xFPs+J5Fzkm9K5qseyaNNquXx5dj0JCEQchol2G/mpJQ+rPLKp/x+/xwbRmigglO5dPdo2ryMFMY6dZhE9us3m1LyXeXtkk1V5TPaPKnlciB2p+qRfNosqeX+/Vhrl0HgkdD/yOy8yHZGMxgjoRN8FwYko5/CBKPdGjKk0ht7T1h39WZTqfeYXNEu2XsXusZOBPDAzcDH2NxNLnUiMkKpv5oxcu7+MunLV+Imlx5YfXFy6Yj+lzMOTC5dfXHE5FLgE3PDXxmbNn3gjLRi/H3OjKVLFq6YtUBayLneTzTPOzhoNTS8qg2dGvPCCx/DgJFTMtY8KIybu/HQy47F8QObFtbtXFD0dXJX0Zb5clhE8tztJVVPZg3au3DS7poVLZELaytmR24avikt/xVHfv+qnCm7nhhTaDwQ1f/d/HSl308hB0ydfdYfUadHjAgrvfNdb4rg/mQGb771baTT0MAVjI2LfwEKlvwS/8uJHaRma/qc9E8Oc598IEX83eiO33PwpzIh+vs+kB5yTjozusfpWTr3vWnZMz6I/gp9f38teT8vo/0Xpjj0kfG5mOWjSqdH9UvIe76t8JrwU+Ewwn+2E0wu/O2pj0fAzuHH404f0de3R0dAT9VBv27BcPPd39+ZZYXXNnUlmP8gT1wVPpiTBupLPYlTox8eu//fCrEgkC3qGLctM2iFc6hJMg+sujIjQWXPCLmP3yRosLNL3elSZJp0Nt9kRZl7Uj+av6KnbKdjE7/7X0VBhgUL0WWt65s8bOhyMZqCD2xrfGrd1Z7N92ALjT3DqfLjFiHjJYsZKWoTEnnaPGH9r7y+62MVpE+jDxqX+vtDcMPiNTmyXeOTO2NmWqqifiROPYXdt8bS4g+5PRq6VJP/h1m1dTwCa6VKjo23fBF/7+sBMV/ROXXMmgpdOvZjVkTYl2lR5dHYsbKY7Lf6n+oP2oHpOQJsMnmvDDmAAN2ySu37c1jrLvuoICAr1p3VaeiAGZ5EoreRRzXO9RcAJjHc9fgFx+IHs0hvo7w2xe9ZpA2qOPI5fR1h8z5rNlcMraKF6ArmB9IZzqn6986vkLfImz7kLQKO159GZsLkCZvtLZ9T+0dGSGG05DxyfSbh0l1rrsMtysiGzMigxy047zc83n0NC2FdZyGsU/M7zuGjhJaAXLiFvFhrS11Tka3hfkhb+PY+/Zqt3Cq8EfFp8qZPJ9wScHZtp/DLk0fEXgo0OzfEZY/t3oHsgHc7kB3wZgeyY2DQGSfOt+HIickOUUuQJVeXoEuK6RRZpXpE3KU3uHtzuVy/9JkSvifLp7RzRpJo5+/ARnFv8716s3TmHJ8BXeua0m7B/GqxqTqh1aGTOCFgSTmJS3hKbmYK6ZYEalU1J/IU1axTtoxpfk7ODFZ6jL7uDK77b0RoYMrIRXZCm5bYdxGKVOhMWMiw/E69I701h0l+J0kjXDlnYRlgOcQKn/D96Zq4drW/aUrZ8qvJp7PLa9LaQi/Zusl2J3oYR+WsRMthBOeXv9/HnhjfJN9IVr53oofqfRODfMdpOf7uaUuLt6a/ZCYmzqJEpqmM3uTfyyuoRAcUKfH8DHqJTVP18uzYJmGfdQyBKtg5O9d6QmKJEclLyQKdl+FfmFXv0B9UF6n9MmW6d02008jCkmre4EAlfsgjJeD2wq1WOcqg+MAkqVPOr0hCqrvabuKOBYOe06TzaqEwyPA3zKqk4yakziTf/qhxl12Q48i9a+c4ujJguF5MpLWQWjRLvWLm9R2trraPi3Du1NXUxdc/3uRhlV1vrZU3CNudTMy+tGq/ZDtTdmmLQJxJrZWOO53z9j0hUB0VQ9npJvvOuZoRVxV6tONQYk6g9pdpEFSUpLthllbGGZrVo6bRyHclmnujZtDIdyWa6EA1aJGwd0KryyriWAG3/F4abs0qG67+fjV4ZxRS+thpHqmsxE+9EUK1t8olqKjvZ7G2lAPMXM9cQVIvY/berPO3x5acVY45WqvyPPFIl0Ur47daGklahuMUh1i6yb8xZfHw/Nnpu5WV7MoI61Hymvj0pK2TAv3LB0+gL4fmHkXvo8Z16HF0axq6FR1ORU4jJ9KQnUimBsfx4nnU30mBOD9xmOU5Y2yVoUybG8V9kKEIuDxdurSBs8qnH5P5c3BQ1Va5rXwoNwKuMtCjqFJfy9entXgxlCmdlK2i2jBpuEs21qE4qj6iPpBH/SPHRzvP6bcRdVsw2u9dG/2plj6eG0f1erEkqcIzRrhwnUFg1bVk/rHQdgdX1qDYNlif1ZM8URFpkXPBmFNdlljyc6OnILZTWCSqc26yjmY2p+v9omx7kqpKUhl+vE974qxUvNLZSzXfrnRBZKVK+nLTQ9yn8xbmkrjPyHHkcAd6BIUpHUbcJpdaSe/4W8MeZYHNshaht9hUzU/8kelIn5J0oYzcSVMSkbUafo33t1jjBkydx/dJk0dvlzfrIumPD87hjslV96XmEs/97vvo94Urr4qaamq85Ra+91ljFO7LuDo0bs2iCehHLRFdjI7PQMYh69PRjWgepji2XTEfd38Nj/dEv16mV/XGTA6I4SSE23SqDNnJ2YTFblaxdfHFnk32rbwSpvVgaILFeGVt1sURq8pS24ed0xZ1NNvnpnuVDHBT7qWVkE1CVdAvffrNBEVYUrDaVzHgz271mXdY60PUv70iS85M0HAxoTm3jBORvCbB1iFBZiDyOb6uBGEONkrh2IR/Qst9SGoFcdXwvNJ9sCEH8r/jzODorKg9pQXM4K8kLPZFEXp0fOHe81Yv6u//of9+RdUTGQCEfJXOwP240f8ewbKpO//Q/yqp+jwSY9iL4Rd0wL4AO7AGVkbb0BmcQA7WfwM8KDjmx1mWWSWEYfa/cVJgVG5swJFLTyZGca/GgA2GX20GJIxDNRaC4Uk1DlzgYDUe8kEXJYADYFQxwA9oJgzmfwpTAg9vpwwogQoog3Jo3LdthFpogEAQjlSGKlECeigdddRDI1RDBRS9Hd0AJeADBqiHMkgCAzQu26ZCCdRDBZSOdlaCNyjAANVQDJpvqoYxRriZA0jAB0QgAil4QwyIIQjKW0MRSdU8ZouZfWEQ1IAWqipcJkqhBFpLpj34Ycg5j3YYg8NY6DAAt7WLBhWoIBqCJJefB8kjxYciEMjTUARikIH31SEBX2goh2IwgE5eHd+2zAhatj4f0JLBR/9EDQhBUBFsiCz5fxtIYKPHsMD55R8tOsv+M/8q+o0sFQZuBthacAZLcAdbsAIUJGAH9jGKj2oHAAA=)format("woff2");font-display:swap;font-style:normal;font-weight:700}@font-face{font-family:Table Sidebar Hand;src:url(/releases/33e02c37fd1c949c656f49192375ff6810266f32/_next/static/media/table-sidebar-hand-v1.C_aGMpv0.woff2)format("woff2");font-display:swap;font-style:normal;font-weight:400}.scrapbook-app{--festival-accent:#4b7066;--festival-card:#fffdf6;--festival-page:#f5f3e8;--festival-soft:#e8eee3;--journal-accent:#4b7066;--diary-accent:#4b7066;--scrap-ink:#33433b;--scrap-red:#4b7066;--scrap-paper:#faf8ef;--scrap-muted:#727e72;color:var(--scrap-ink)}body:has(.scrapbook-app){background-color:#f5f3e8}.scrapbook-app .topbar{border-bottom:0;gap:16px;margin-bottom:0;padding-block:10px 16px}.scrapbook-app .brand{color:var(--scrap-ink);letter-spacing:.02em;font-family:Table Hand,Kaiti SC,serif;font-size:36px;font-weight:400}.scrapbook-app .brand .brand-mark{display:none}.scrapbook-app .brand>span:last-child{align-items:center;gap:12px;display:inline-flex}.scrapbook-brand-en{letter-spacing:.22em;white-space:normal;width:36px;font-family:Georgia,serif;font-size:10px;font-weight:500;line-height:1.7;display:block}.scrapbook-app .nav-pill.active{background:var(--scrap-red)}.scrapbook-dateline{justify-content:space-between;align-items:center;gap:10px;padding:10px 0 6px;display:flex}.scrapbook-dateline>div{flex-wrap:wrap;align-items:baseline;gap:12px;display:flex}.scrapbook-dateline strong{letter-spacing:-.06em;font-family:Georgia,Songti SC,serif;font-size:clamp(34px,4.5vw,54px);font-weight:800;line-height:1.1}.scrapbook-dateline span{font-size:14px}.scrapbook-dateline em{color:#fff;background:var(--scrap-red);border-radius:8px;padding:5px 9px;font-size:13px;font-style:normal}.rice-companions{pointer-events:none;flex:none;width:116px;height:72px}.scrapbook-app .journal-day-strip{grid-template-columns:repeat(7,minmax(44px,1fr));gap:4px;margin:8px 0 14px;padding:4px 0;display:grid;overflow-x:auto}.scrapbook-app .journal-day-strip .day-button{min-width:44px;min-height:70px;box-shadow:none;color:var(--scrap-ink);background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;padding:6px 2px;display:flex}.scrapbook-app .journal-day-strip .day-button strong{place-items:center;width:38px;height:38px;font-family:Georgia,serif;font-size:22px;line-height:1;display:grid}.scrapbook-app .journal-day-strip .day-button span{font-size:11px}.scrapbook-app .journal-day-strip .day-button small{color:var(--scrap-muted);font-size:9px}.scrapbook-app .journal-day-strip .day-button.selected{color:var(--scrap-red);background:0 0}.scrapbook-app .journal-day-strip .day-button.selected strong{background:var(--scrap-red);color:#fff;border-radius:50%}.scrapbook-app .journal-day-strip .day-button.selected:after{display:none}.scrapbook-app .journal-heading{border:0;align-items:center;gap:16px;margin:6px 0 18px;padding:0}.scrapbook-app .journal-heading h1{letter-spacing:.015em;margin:0;font-family:Table Hand,Kaiti SC,serif;font-size:clamp(38px,4.3vw,58px);font-weight:400;line-height:1.3;display:inline-block;position:relative}.scrapbook-app .journal-heading h1:after{content:"";background:var(--scrap-red);pointer-events:none;border-radius:50%;width:100%;height:3px;position:absolute;bottom:-4px;left:0;transform:rotate(-2deg)}.scrapbook-app .journal-heading p{color:var(--scrap-ink);text-align:left;margin:0;font-family:Table Hand,Kaiti SC,serif;font-size:19px;line-height:1.65;transform:rotate(-3deg)}.scrapbook-app .journal-heading p span{color:var(--scrap-red)}.scrapbook-app .actual-meal-timeline{border:0;margin:0 0 18px;padding:0}.scrapbook-app .actual-meal-timeline>header{justify-content:flex-end;margin-bottom:8px}.scrapbook-app .actual-meal-timeline>header>div{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.scrapbook-app .actual-meal-timeline>header>button{min-height:44px;color:var(--scrap-red);box-shadow:none;border:1px solid var(--line);background:0 0;border-radius:4px}.scrapbook-app .actual-meal-events{grid-template-columns:minmax(0,1fr);gap:34px;display:grid}.scrapbook-app .table-diary-entry{box-shadow:none;background:0 0;border:0;border-radius:0;grid-template-columns:74px minmax(0,1fr);gap:20px;padding:0;display:grid}.scrapbook-app .scrapbook-story{min-width:0}.scrapbook-time{flex-direction:column;align-items:flex-start;gap:8px;padding-top:8px;font-family:Georgia,Songti SC,serif;display:flex}.scrapbook-time time{font-variant-numeric:tabular-nums;font-size:22px}.scrapbook-time b{overflow-wrap:anywhere;font-family:Table Hand,Kaiti SC,serif;font-size:28px;font-weight:400;line-height:1.4}.scrapbook-time>span{color:#a67939;margin-top:14px;font-size:34px;line-height:1}.scrapbook-app .table-diary-entry .actual-meal-event,.scrapbook-app .table-diary-entry.with-photo:first-child .actual-meal-event{width:100%;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;display:block;position:relative;overflow:visible;transform:none}.scrapbook-app .table-diary-entry .actual-event-photo,.scrapbook-app .table-diary-entry.with-photo:first-child .actual-event-photo{aspect-ratio:auto;background:0 0;grid-template-columns:minmax(0,1fr);align-items:center;gap:7px;width:100%;height:auto;margin:0;display:grid;position:relative;overflow:visible}.scrapbook-app .table-diary-entry .actual-event-photo.photo-pair{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;padding-bottom:16px}.scrapbook-photo-print{aspect-ratio:1.15;background:#fffdf6;border:6px solid #fffdf6;border-bottom-width:22px;width:100%;min-width:0;display:block;position:relative;transform:rotate(-1.4deg);box-shadow:0 3px 7px #314a3522}.scrapbook-photo-print img{object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.scrapbook-photo-print:not(.photo-loaded) img{opacity:0}.photo-garland{display:none}.journal-photo-state{color:#756d5e;text-align:center;background:repeating-linear-gradient(135deg,#f3ecdf 0 12px,#f8f3e9 12px 24px);align-content:center;justify-items:center;gap:8px;display:grid;position:absolute;inset:0}.journal-photo-state>span{color:#a58d58;font:28px/1 serif}.scrapbook-app .actual-event-photo .journal-photo-state small{color:inherit;background:0 0;padding:0 5px;font:12px/1.6 sans-serif;position:static}.journal-photo-retry{min-height:44px;color:var(--scrap-muted,#786f62);background:0 0;border:0;margin-left:auto;padding:6px 2px;font-size:11px;display:block}.journal-meal-tools{flex-wrap:wrap;justify-content:space-between;gap:0 8px;display:flex}.journal-meal-tools .journal-photo-retry{margin-left:0}.scrapbook-photo-print:nth-child(2){aspect-ratio:.9;margin-top:38px;transform:rotate(3deg)}.scrapbook-photo-print.portrait{aspect-ratio:.8}.scrapbook-photo-print:after{content:"a little moment ♡";color:#788c80;text-align:center;font:italic 10px Georgia,serif;position:absolute;inset:auto 2px -19px}.scrapbook-photo-print:first-child:before{content:"";z-index:1;pointer-events:none;background:repeating-linear-gradient(90deg,#bcd4bcad 0 6px,#d6e6ccbb 6px 12px);width:46%;height:18px;position:absolute;top:-13px;left:26%;transform:rotate(-4deg)}.scrapbook-photo-print:nth-child(2):before{content:"";z-index:1;pointer-events:none;background:#e9cf9bb3;width:66%;height:15px;position:absolute;top:-12px;left:15%;transform:rotate(6deg)}.scrapbook-app .table-diary-entry .actual-event-photo .scrapbook-photo-count{color:var(--scrap-ink);background:#fffdf4ed;border-radius:999px;padding:6px 9px;font-size:11px;line-height:1.3;position:absolute;bottom:8px;right:8px}.scrapbook-app .table-diary-entry .actual-event-photo .actual-event-photo-fallback{width:100%;height:100%;color:var(--scrap-muted);text-align:center;background:#e9e1d0;place-content:center;gap:5px;font-size:25px;display:grid}.scrapbook-app .actual-event-photo-fallback small{color:inherit;background:0 0;padding:0;font-size:11px;line-height:1.6;position:static}.scrapbook-app .table-diary-entry .actual-event-copy,.scrapbook-app .table-diary-entry.with-photo:first-child .actual-event-copy{gap:6px;padding:14px 2px 4px;display:grid}.scrapbook-app .table-diary-entry .actual-event-copy strong{color:var(--scrap-ink);-webkit-line-clamp:3;font-family:Georgia,Songti SC,serif;font-size:25px;line-height:1.5}.scrapbook-app .table-diary-entry .actual-event-copy em{color:var(--scrap-muted);font-size:12px}.scrapbook-app .table-diary-entry .actual-meal-event>i{display:none}.scrapbook-app .table-diary-entry .text-only{background:#f2ead9;border-left:2px solid #d9bea0;padding:22px 18px}.scrapbook-app .table-diary-entry .actual-event-marker{background:0 0;border-radius:50%;width:32px;height:32px;min-height:0;margin:0 0 4px}.scrapbook-app .table-diary-repeat{color:var(--scrap-muted);min-height:44px;margin-left:auto;padding:6px 2px;font-size:11px;display:block}.scrapbook-app .table-diary-entry .meal-feedback-card{background:0 0;border:0;margin:4px 0 0;overflow:visible}.scrapbook-app .table-diary-entry .meal-feedback-card:before{display:none}.scrapbook-inline-notes{gap:12px;padding-top:8px;display:grid}.scrapbook-inline-note{background:#e4edf0;border-radius:1px 1px 15px;gap:9px;min-width:0;padding:14px 13px 12px;display:flex;position:relative;transform:rotate(.7deg);box-shadow:1px 3px 5px #3248340a}.scrapbook-inline-note:nth-child(2n){background:#f4e9cc;transform:rotate(-.6deg)}.scrapbook-inline-note:before{content:"";pointer-events:none;background:#e6ce9bbb;width:38px;height:12px;position:absolute;top:-7px;left:20px;transform:rotate(-5deg)}.scrapbook-note-avatar{background:#fffaf4;border:1px solid #c5b7bd;border-radius:50%;flex:none;place-items:center;width:28px;height:28px;font-size:12px;display:grid}.scrapbook-inline-note>div{min-width:0}.scrapbook-inline-note b{color:var(--scrap-ink);font-size:12px;font-weight:600}.scrapbook-inline-note p{color:var(--scrap-ink);white-space:pre-wrap;overflow-wrap:anywhere;margin:5px 0 0;font-family:Kaiti SC,STKaiti,KaiTi,Songti SC,serif;font-size:18px;line-height:1.65}.scrapbook-app .table-diary-entry .meal-feedback-toggle{color:var(--scrap-ink);justify-content:flex-end;gap:8px;min-height:44px;padding:8px 2px;font-size:12px}.scrapbook-app .meal-feedback-body{background:var(--diary-paper);border:1px solid var(--line);padding:16px}.scrapbook-note-loading{color:var(--scrap-muted);margin:0;padding:8px 0;font-size:11px}.scrapbook-app .meal-feedback-message{padding:8px;font-size:12px}.scrapbook-app .actual-meal-empty{border:0;background:0 0;border-block:1px dashed #cfc4ae;min-height:210px;padding:24px 8px}.scrapbook-day-footer{color:var(--scrap-muted);text-align:center;margin:24px 0;font-family:Kaiti SC,Songti SC,serif;font-size:17px;line-height:1.8}.scrapbook-day-footer>span{color:var(--scrap-red)}.scrapbook-app .journal-settings{background:0 0;border-radius:0}.scrapbook-app .scrapbook-household-settings{border-top:1px solid var(--line);margin-top:28px}.scrapbook-app .mobile-nav{border:0;border-top:1px solid var(--line);width:100%;max-width:none;padding:8px 10px max(10px, env(safe-area-inset-bottom));background:var(--scrap-paper);border-radius:0;grid-template-columns:repeat(5,minmax(0,1fr));bottom:0;left:0;right:0;transform:none;box-shadow:0 -3px 16px #47351d05}.scrapbook-app .mobile-nav button{color:var(--scrap-ink);gap:5px;min-height:56px;font-size:11px}.scrapbook-app .mobile-nav button svg{width:26px;height:26px;margin-inline:auto;display:block}.scrapbook-app .mobile-nav button.active:not(.mobile-record-action){color:var(--scrap-red);background:0 0}.scrapbook-app .mobile-nav .mobile-record-action{color:var(--scrap-ink);box-shadow:none;background:0 0;border:0;margin-top:-20px;overflow:visible}.scrapbook-app .mobile-nav .mobile-record-action>span{color:#fff;background:var(--scrap-red);border-radius:50%;place-items:center;width:54px;height:54px;min-height:54px;margin:0 auto 4px;font-family:sans-serif;font-size:38px;line-height:1;display:grid}.scrapbook-app .mobile-record-action small{font-size:11px;font-weight:600}@media (min-width:850px){.scrapbook-app .actual-meal-events{max-width:880px;margin-inline:auto}.scrapbook-app .scrapbook-photo-print{aspect-ratio:1.8}.scrapbook-app .scrapbook-photo-print:nth-child(2){aspect-ratio:.85}}@media (max-width:700px){.scrapbook-app .topbar{flex-wrap:nowrap;justify-content:space-between;gap:8px;padding:12px 0;display:flex}.scrapbook-app .brand{font-size:26px}.scrapbook-app .brand>span:last-child{gap:8px;display:inline-flex}.scrapbook-brand-en{width:30px;font-size:8px}.scrapbook-app .top-actions{width:auto}.scrapbook-app .week-switcher{background:0 0;border:0;gap:0;min-height:44px;padding:0}.scrapbook-app .week-switcher .week-display{min-width:0;max-width:110px;padding:0 2px;font-size:9px}.scrapbook-app .week-switcher>button:not(.week-display){background:0 0;width:28px;min-width:28px}.scrapbook-app .top-actions>.soft-button{display:none}.scrapbook-dateline{padding:4px 0}.scrapbook-dateline strong{font-size:38px}.scrapbook-dateline>div{gap:8px}.scrapbook-dateline span{font-size:12px}.scrapbook-dateline em{padding:4px 7px;font-size:11px}.rice-companions{width:72px;height:48px}.scrapbook-app .journal-day-strip{margin:8px 0 14px}.scrapbook-app .journal-day-strip .day-button{min-height:58px}.scrapbook-app .journal-day-strip .day-button strong{width:32px;height:32px;font-size:19px}.scrapbook-app .journal-day-strip .day-button small{display:block}.scrapbook-app .journal-heading{text-align:left;flex-direction:row;justify-content:space-between;align-items:center;gap:12px;margin-bottom:22px;display:flex}.scrapbook-app .journal-heading h1{font-size:36px}.scrapbook-app .journal-heading p{max-width:none;font-size:13px}.scrapbook-app .actual-meal-timeline>header{display:none}.scrapbook-app .table-diary-entry{grid-template-columns:44px minmax(0,1fr);gap:10px}.scrapbook-time time{font-size:15px}.scrapbook-time b{font-size:18px}.scrapbook-time>span{font-size:26px}.scrapbook-app .table-diary-entry .actual-event-copy strong{font-size:21px}.scrapbook-app .table-diary-entry .actual-event-copy em{font-size:10px}.scrapbook-app .table-diary-entry .actual-event-photo .scrapbook-photo-count{padding:4px 6px;font-size:9px}.scrapbook-inline-note{gap:7px;padding:12px 9px}.scrapbook-inline-note p{font-size:16px}.scrapbook-app .journal-layout:empty{display:none}}@media (max-width:360px){.scrapbook-app .brand{font-size:23px}.scrapbook-app .scrapbook-brand-en{display:none}.scrapbook-dateline strong{font-size:32px}.rice-companions{width:56px;height:40px}.scrapbook-app .journal-heading h1{font-size:30px}.scrapbook-app .journal-heading p{font-size:11px}.scrapbook-app .table-diary-entry{grid-template-columns:36px minmax(0,1fr);gap:8px}.scrapbook-time time{font-size:13px}.scrapbook-time b{font-size:16px}}@media (prefers-reduced-motion:reduce){.scrapbook-app .actual-meal-event,.scrapbook-app .scrapbook-inline-note,.scrapbook-app .scrapbook-photo-print{transition:none;animation:none;transform:none}}@media (forced-colors:active){.scrapbook-photo-print,.scrapbook-inline-note,.scrapbook-app .actual-meal-empty{border:1px solid canvastext}.scrapbook-app .journal-day-strip .day-button.selected strong,.scrapbook-app .mobile-record-action>span{color:highlighttext;background:highlight}.scrapbook-inline-note:before,.scrapbook-photo-print:before,.scrapbook-app .journal-heading h1:after{display:none}}.scrapbook-app{--ink:#33433b;--muted:#727e72;--line:#d6dfd1;--pink:#cfdfd5}.scrapbook-app .journal-heading{position:relative}.scrapbook-app .journal-heading:after{content:"✿";color:#b9c6aa;pointer-events:none;font-size:25px;position:absolute;top:-18px;right:4px;transform:rotate(15deg)}.scrapbook-app .scrapbook-time>span{color:#98b2a2}.scrapbook-app .scrapbook-story{position:relative}.scrapbook-app .scrapbook-story:after{content:"OUR LITTLE TABLE";letter-spacing:.25em;color:#9cad9d;text-align:right;pointer-events:none;border-bottom:1px dashed #c4d2bf;margin-top:12px;padding-bottom:12px;font:8px Georgia,serif;display:block}.scrapbook-app .scrapbook-dateline em{color:#425e4e;background:#dce6d2;border-radius:45% 40% 45% 38%;transform:rotate(-5deg)}.scrapbook-app .actual-meal-empty .table-empty-places{color:#91ada2}.scrapbook-app .scrapbook-day-footer{font-family:Table Hand,Kaiti SC,serif}:is(.scrapbook-app button:focus-visible,.scrapbook-app input:focus-visible,.scrapbook-app select:focus-visible,.scrapbook-app textarea:focus-visible){outline-color:#6d9686}.batch-launcher{background:#e9eee3;border-left:2px solid #8ba990;border-radius:5px 16px 16px 5px;justify-content:space-between;align-items:center;gap:14px;margin:6px 0 12px;padding:12px 16px;display:flex}.batch-launcher[hidden]{display:none}.batch-launcher h2{margin:3px 0;font:400 24px Table Hand,Kaiti SC,serif}.batch-launcher>div>span{color:#789586;letter-spacing:.15em;font:9px Georgia,serif}.batch-launcher p{color:#617669;margin:3px 0;font-size:11px;line-height:1.7}.batch-pick-button{white-space:nowrap;color:#3c6653;cursor:pointer;background:#fffdf7;border:1px solid #adc3ad;border-radius:999px;align-items:center;min-height:44px;padding:10px 14px;font-size:12px;display:flex;position:relative}.batch-pick-button input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.batch-pick-button:focus-within{outline-offset:3px;outline:3px solid #709b84}.scrapbook-app .batch-launcher .soft-button{color:#3c6653;background:#fffdf7;border-color:#adc3ad;flex-shrink:0;justify-content:center;align-items:center;min-height:44px;display:inline-flex}.batch-studio-backdrop{z-index:200;background:#233c3366;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.batch-studio{overscroll-behavior:contain;background:#faf8ef;border:1px solid #fff;border-radius:20px;width:min(900px,100%);max-height:92dvh;padding:24px;overflow-y:auto;box-shadow:0 20px 70px #21352b44}.batch-studio header{justify-content:space-between;align-items:center;gap:12px;display:flex}.batch-studio header h2{font-size:34px}.batch-studio header button{background:#e1e8db;border:1px solid #b9cdb9;border-radius:50%;min-width:44px;min-height:44px;font-size:24px}.batch-studio p,.batch-studio small{font-size:12px;line-height:1.75}.batch-studio .batch-notice{white-space:pre-wrap;overflow-wrap:anywhere;background:#e4ecdf;border-radius:8px;padding:12px}.batch-meal{background:#fffdf7;border:1px solid #ccd9c6;border-radius:3px 18px 18px 3px;margin-top:20px;padding:18px}.batch-meal h3{color:#496451;margin:0;font-size:20px}.batch-meal h3 small{margin-left:8px;font-weight:400}.batch-fields{grid-template-columns:1.3fr 1fr 1fr;gap:10px;margin:12px 0;display:grid}.batch-meal label{gap:6px;min-width:0;font-size:12px;display:grid}.batch-meal input,.batch-meal select,.batch-meal textarea{color:#344c3f;width:100%;min-width:0;min-height:44px;font:inherit;background:#fbfcf8;border:1px solid #bdcdb8;border-radius:8px;padding:8px}.batch-meal textarea{resize:vertical;font-size:16px}.batch-photos{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:14px 0;display:grid}.batch-photos img{aspect-ratio:1;object-fit:contain;background:#f0f2e8;border:4px solid #fff;width:100%;display:block;box-shadow:0 2px 4px #33442e12}.batch-photos small{color:#6d7f6c;font-size:10px}.batch-meal .batch-confirm{align-items:center;gap:8px;min-height:44px;margin-top:14px;line-height:1.7;display:flex}.batch-confirm input{accent-color:#567b60;flex:none;width:22px;min-height:22px}.batch-studio footer{gap:12px;margin-top:24px;display:grid}.batch-studio .primary-button{color:#fff;background:#4b7066;border:0;border-radius:99px;min-height:48px;padding:12px}.batch-draft-queue{background:#edf1e5;border:1px dashed #afc2a9;border-radius:12px;margin:14px 0 24px;padding:16px}.batch-draft-queue h2{margin:0 0 12px;font-size:17px}.batch-draft-queue small,.batch-draft-queue p{font-size:11px;font-weight:400;line-height:1.7}.batch-draft-queue>div{gap:8px;padding-bottom:6px;display:flex;overflow-x:auto}.batch-draft-queue button{text-align:left;background:#fffdf5;border:1px solid #c5d1bd;border-radius:8px;gap:5px;min-width:155px;min-height:70px;padding:10px;display:grid}.batch-draft-queue button[aria-pressed=true]{outline:2px solid #769681}.batch-draft-queue button span{font-size:11px}@media (max-width:700px){.batch-launcher{gap:8px;padding:8px 10px}.batch-launcher h2{font-size:18px}.batch-launcher>div>span{display:none}.batch-launcher p{font-size:9px}.batch-pick-button{padding:8px 10px;font-size:11px}.batch-studio-backdrop{padding:8px}.batch-studio{max-height:94dvh;padding:14px}.batch-studio header h2{font-size:29px}.batch-meal{padding:12px}.batch-fields{grid-template-columns:1.1fr 1fr}.batch-fields label:last-child{grid-column:1/-1}.batch-photos{grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.scrapbook-app .journal-heading>div{flex-shrink:0}.scrapbook-app .journal-heading h1{white-space:nowrap;font-size:clamp(28px,8.3vw,36px)}.scrapbook-app .journal-heading p{max-width:42%;font-size:clamp(12px,3.7vw,15px)}.scrapbook-app .brand{font-size:30px}.scrapbook-time b{font-size:22px}}@media (prefers-reduced-motion:reduce){.scrapbook-app .scrapbook-dateline em{transform:none}}@media (forced-colors:active){.batch-launcher,.batch-studio,.batch-meal{border:1px solid canvastext}.batch-pick-button,.batch-studio .primary-button{color:buttontext;background:buttonface}}.daybook-today{isolation:isolate;background:#efe9d9 repeating-linear-gradient(0deg,#0000 0 26px,#c9bba52b 26px 27px);border:1px solid #dbd0bb;border-radius:2px 14px 3px 3px;margin:8px 0 30px 12px;padding:20px 24px 16px;position:relative;box-shadow:4px 5px #e5ddce}.daybook-today:before{content:"";pointer-events:none;background:radial-gradient(#f6f2e9 0 3px,#0000 4px) 0 0/18px 22px;width:18px;position:absolute;top:14px;bottom:14px;left:-10px}.daybook-tab{color:#4f6048;letter-spacing:.16em;background:#c4cfb3;padding:3px 14px;font:9px/1.4 Georgia,serif;position:absolute;top:-9px;left:19px;transform:rotate(-2deg)}.daybook-today-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.daybook-today-heading small{color:#7b7464;letter-spacing:.08em;font-size:10px}.daybook-today h2{margin:3px 0 8px;font:700 25px/1.5 Songti SC,serif}.daybook-today h2 span{color:#8b9a73}.daybook-today .journal-doodles{flex:0 0 34px;width:34px;height:50px}.daybook-today .doodle-sprout{width:30px;height:46px}.daybook-facts{flex-wrap:wrap;gap:5px 17px;font-size:11px;display:flex}.daybook-facts b{color:#526148;padding-right:3px;font:400 24px/1.2 Georgia,serif}.daybook-today>p{color:#776b58;margin:12px 24px 0 0;font:14px/1.7 Table Hand,Kaiti SC,serif}.daybook-today>button{color:#4b6047;text-underline-offset:4px;background:0 0;border:0;justify-content:space-between;align-items:center;gap:30px;min-height:44px;margin-top:3px;padding:6px 0;font-size:12px;text-decoration:underline;display:flex}.daybook-paper-flower{color:#b9a474;pointer-events:none;font:45px/1 serif;position:absolute;bottom:8px;right:16px;transform:rotate(14deg)}.daybook-feedback-label{display:none}.reference-home .daybook-feedback-label{color:#726650;letter-spacing:.08em;align-items:center;gap:7px;margin:10px 0 4px;font-size:10px;display:flex}.daybook-feedback-label>span{color:#8b9b78;font-size:18px}.daybook-feedback-label i{text-align:right;color:#8d826d;letter-spacing:0;flex:1;font:12px/1.5 Table Hand,Kaiti SC,serif}.reference-home .table-diary-entry .meal-feedback-card{border-top:1px dashed #d5c9b5}.reference-home .scrapbook-inline-note{border-radius:1px 8px 2px 2px;padding:11px 10px}.daybook-week{background-color:#f1ebde;background-image:linear-gradient(90deg,#c5bda312 1px,#0000 1px),linear-gradient(#c5bda312 1px,#0000 1px);background-position:0 0;background-repeat:repeat;background-size:16px 16px;background-attachment:scroll;background-origin:padding-box;background-clip:border-box;border:1px solid #ded3bf;margin:24px 0 28px;padding:22px 22px 18px;position:relative;box-shadow:3px 4px #e7dfd1}.daybook-week:before{content:"";pointer-events:none;background:#e2c58a80;width:72px;height:17px;position:absolute;top:-6px;right:27px;transform:rotate(5deg)}.daybook-week>header>small{color:#8a7b64;letter-spacing:.18em;font:9px/1.6 Georgia,serif}.daybook-week h2{margin:4px 0 18px;font:700 24px/1.5 Songti SC,serif}.daybook-week h2 span{color:#b1975e}.daybook-week-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1fr);align-items:center;gap:22px;display:grid}.daybook-cat-postcard{text-align:center;min-width:0}.daybook-cat-prints{justify-content:center;align-items:center;gap:8px;min-height:110px;padding:10px 5px 4px;display:flex;position:relative}.daybook-cat-prints .journal-photo-sticker{flex:0 0 82px;width:82px}.daybook-cat-prints .sticker-full-frame img{object-fit:contain;background:#f6f0e6;height:91px}.daybook-cat-prints .journal-photo-sticker:nth-child(2){margin-top:12px;transform:rotate(8deg)}.daybook-cat-doodle{color:#969875;font:32px/1.5 Georgia,serif;position:absolute}.daybook-cat-prints:has(.sticker-visible) .daybook-cat-doodle{display:none}.daybook-cat-postcard>p{color:#667353;margin:9px 0 3px;font:19px/1.65 Table Hand,Kaiti SC,serif;transform:rotate(-4deg)}.daybook-cat-postcard>small{color:#81755f;font-size:10px}.daybook-week-notes{border-left:1px dashed #cbbda7;min-width:0;padding-left:20px}.daybook-week-notes>p{margin:0 0 8px;font:17px/1.6 Songti SC,serif}.daybook-week-notes>p b{color:#63744f;font:400 26px/1 Georgia,serif}.daybook-week-notes>span{color:#786f61;font-size:11px}.daybook-week-stamps{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;margin:15px 0;display:grid}.daybook-week-stamps button{color:#6e6b53;background:#fffaf0;border:1px dashed #c9bea9;border-radius:12px 12px 2px 2px;align-content:center;justify-items:center;gap:3px;min-width:0;min-height:63px;padding:3px 0;display:grid}.daybook-week-stamps button[aria-pressed=true]{color:#405537;background:#dce3ce;border-style:solid}.daybook-week-stamps button>span{font-size:10px}.daybook-week-stamps button b{font:400 21px/1 Georgia,serif}.daybook-week-stamps button small{font-size:9px}.daybook-week-notes .daybook-footnote{color:#81745f;margin-bottom:0;font:12px/1.8 Table Hand,Kaiti SC,serif}@media (max-width:700px){.daybook-today{margin:4px 3px 26px 7px;padding:18px 15px 9px}.daybook-today h2{font-size:22px}.daybook-facts{gap:7px 12px;font-size:10px}.daybook-facts b{font-size:21px}.daybook-today>p{font-size:13px}.daybook-week{margin-inline:2px;padding:18px 13px 15px}.daybook-week h2{margin-bottom:8px;font-size:22px}.daybook-week-layout{grid-template-columns:minmax(0,1fr);gap:16px}.daybook-cat-postcard{grid-template-columns:minmax(0,1fr) minmax(0,.8fr);align-items:center;gap:0 8px;display:grid}.daybook-cat-prints{grid-row:span 2;gap:1px;min-height:117px;padding-inline:0}.daybook-cat-prints .journal-photo-sticker{flex-basis:65px;width:65px}.daybook-cat-prints .sticker-full-frame img{height:82px}.daybook-cat-postcard>p{align-self:end;margin:8px 0;font-size:16px}.daybook-cat-postcard>small{align-self:start;font-size:9px;line-height:1.7}.daybook-week-notes{border-top:1px dashed #cbbda7;border-left:0;padding:14px 0 0}.daybook-week-stamps{gap:6px}}@media (forced-colors:active){.daybook-today,.daybook-week,.daybook-week-stamps button{box-shadow:none;border:1px solid canvastext}.daybook-cat-doodle,.daybook-tab{color:canvastext}.daybook-week-stamps button[aria-pressed=true]{outline:2px solid highlight}}.home-brand-note,.home-margin-note,.home-margin-leaf,.home-corner-leaves{display:none}body:has(.reference-home){background-color:#f6f2e9;background-image:var(--surface-grain-image);background-size:var(--surface-grain-size)}.reference-home{--scrap-ink:#28180f;--scrap-red:#cf3624;--scrap-paper:#f8f4eb;--scrap-muted:#786f62;--ink:#28180f;--muted:#786f62;--line:#e5ddcd;--festival-accent:#cf3624;--diary-accent:#cf3624;--journal-accent:#cf3624;color:var(--scrap-ink);overflow-x:clip}.reference-home .topbar{align-items:center;position:relative}.reference-home .brand{letter-spacing:-.05em;font-family:Songti SC,STSong,Noto Serif CJK SC,serif;font-size:42px;font-weight:900}.reference-home .brand>span:last-child{gap:14px}.reference-home .scrapbook-brand-en{letter-spacing:.2em;color:#28180f;line-height:1.6}.reference-home .home-brand-note{align-items:center;gap:12px;margin-left:auto;display:flex}.reference-home .home-brand-note>span{font:400 18px/1.55 Table Hand,Kaiti SC,serif;transform:rotate(-7deg)}.reference-home .home-brand-note .rice-companions{width:110px;height:74px}.reference-home .rice-companions path[fill=\#7fabb0]{fill:#cf3624}.reference-home .scrapbook-dateline{padding-block:14px 4px;position:relative;overflow:visible}.reference-home .scrapbook-dateline strong{color:#28180f;letter-spacing:-.04em;font-family:Georgia,Songti SC,STSong,serif;font-weight:900}.reference-home .scrapbook-dateline em{color:#fff;background:#cf3624;border-radius:8px;transform:none}.reference-home .home-corner-leaves{z-index:2;pointer-events:none;opacity:.85;width:64px;height:160px;display:block;position:absolute;top:8px;right:-18px;transform:rotate(23deg)}.reference-home .journal-day-strip{border-bottom:1px solid #e8dfd0;padding:4px 32px 4px 2px}.reference-home .journal-day-strip .day-button.selected{color:#fff;background:#cf3624;border-radius:50%;justify-self:center;width:56px}.reference-home .journal-day-strip .day-button.selected span{color:#fff}.reference-home .journal-day-strip .day-button.selected strong{background:0 0}.reference-home .journal-day-strip .day-button.selected .diary-day-count{color:#fff}.reference-home .journal-day-strip .diary-day-count{white-space:nowrap;display:block}.journal-keepsake{grid-template-columns:45px minmax(0,1fr) 84px;align-items:center;gap:8px;margin:16px 0;display:grid}.journal-keepsake .scrapbook-day-footer{margin:8px 0}.journal-meal-tools:has(.journal-photo-sticker){align-items:center;min-height:96px;padding-left:94px;position:relative}.journal-photo-sticker{pointer-events:none;background:#fffdf5;border:1px solid #e8decb;width:66px;padding:5px 5px 14px;display:block;position:relative;transform:rotate(-7deg);box-shadow:1px 3px 6px #493b2820}.journal-photo-sticker:before{content:"";z-index:1;background:#e8cd9a9e;width:36px;height:12px;position:absolute;top:-6px;left:12px;transform:rotate(5deg)}.journal-photo-sticker img{object-fit:cover;border-radius:0;width:100%;height:68px;display:block}.journal-photo-sticker.sticker-waiting{visibility:hidden}.journal-photo-sticker>span{color:#b98275;font:14px/14px serif;position:absolute;bottom:0;right:7px}.journal-photo-sticker.sticker-couple{width:86px;transform:rotate(5deg)}.journal-meal-tools>.journal-photo-sticker{position:absolute;top:10px;left:4px}.journal-cat-corner{justify-content:center;align-items:center;gap:18px;margin:18px 10px 28px;display:flex}.journal-cat-corner:has(img)>span{color:#777b5e;max-width:135px;font:italic 15px/1.8 Table Hand,Kaiti SC,serif;transform:rotate(-4deg)}.journal-cat-corner:not(:has(img))>span:not(.journal-photo-sticker){visibility:hidden}.journal-cat-corner .journal-photo-sticker.sticker-full-frame{flex:0 0 86px;width:86px}.journal-cat-corner .sticker-full-frame img{object-fit:contain;background:#f6f0e6;height:108px}.journal-photo-sticker.sticker-cat:nth-child(3){transform:rotate(9deg)}.journal-doodles{pointer-events:none;-webkit-user-select:none;user-select:none;width:84px;height:65px;display:block;position:relative}.journal-doodles-sprout{width:45px}.journal-doodles svg{display:block}.journal-doodles .rice-companions{width:84px;height:54px}.home-brand-note .journal-doodles,.home-brand-note .journal-doodles .rice-companions{width:110px;height:74px}.journal-doodles .doodle-companions{transform-origin:50% 90%;animation:6s ease-in-out infinite journal-companion-sway;display:block}.journal-doodles .doodle-sprout{transform-origin:50% 95%;width:40px;height:60px;animation:7s ease-in-out infinite journal-sprout-sway}.journal-doodles .doodle-heart{width:12px;height:14px;animation:5s ease-in-out infinite journal-heart-drift;position:absolute;top:2px;right:5px}.journal-doodles .doodle-spark{color:#b78a39;font:17px/1 serif;animation:8s ease-in-out infinite journal-spark-turn;position:absolute;top:1px;left:4px}.journal-doodles>*{animation-play-state:paused!important}.journal-doodles[data-awake=true]>*{animation-play-state:running!important}@keyframes journal-companion-sway{0%,to{transform:rotate(-2deg)}50%{transform:rotate(2deg)translateY(-2px)}}@keyframes journal-sprout-sway{0%,to{transform:rotate(-4deg)}50%{transform:rotate(4deg)}}@keyframes journal-heart-drift{0%,to{transform:translateY(2px)rotate(-8deg)}50%{transform:translateY(-3px)rotate(8deg)}}@keyframes journal-spark-turn{0%,to{transform:scale(.85)rotate(-8deg)}50%{transform:scale(1)rotate(12deg)}}@media (max-width:360px){.journal-keepsake{grid-template-columns:30px minmax(0,1fr) 64px;gap:4px}.journal-keepsake .scrapbook-day-footer{font-size:14px}.journal-doodles,.journal-doodles .rice-companions{width:64px}.journal-doodles-sprout,.journal-doodles .doodle-sprout{width:30px}}@media (prefers-reduced-motion:reduce){.journal-doodles>*{animation:none!important;transform:none!important}}.reference-home .journal-heading{margin-bottom:20px;padding-top:3px}.reference-home .journal-heading:after{display:none}.reference-home .journal-heading h1{letter-spacing:-.045em;font:900 clamp(44px,5.5vw,68px)/1.18 Songti SC,STSong,Noto Serif CJK SC,serif}.reference-home .journal-heading h1:after{width:106%;height:2px;bottom:-6px;left:-3%;transform:rotate(-2deg);box-shadow:0 3px 0 -1px #cf3624}.reference-home .journal-heading p{max-width:45%;font-family:Table Hand,Kaiti SC,serif;font-size:21px;line-height:1.6}.reference-home .actual-meal-events{gap:28px}.reference-home .table-diary-entry{border-bottom:1px solid #e8e0d3;grid-template-columns:88px minmax(0,1fr);gap:20px;padding-bottom:16px}.reference-home .scrapbook-time{gap:5px;min-width:0}.reference-home .scrapbook-time>*{max-width:100%}.reference-home .scrapbook-time b{font-synthesis:none;font:700 28px/1.5 Table Sidebar Serif,Songti SC,STSong,serif}.reference-home .scrapbook-time>span{color:#d79a26;margin-top:12px}.reference-home .home-margin-note{font-synthesis:style;transform-origin:0 0;overflow-wrap:anywhere;width:calc(100% - 10px);margin:8px 6px 0 4px;padding-inline:2px;font:italic 400 19px/1.65 Table Sidebar Hand,Kaiti SC,serif;display:block;transform:rotate(-6deg)}.reference-home .home-margin-leaf{width:36px;height:65px;margin:8px auto 0;display:block}.reference-home .scrapbook-story:after{display:none}.reference-home .table-diary-entry .actual-event-photo{padding:0 6px 0 0}.reference-home .scrapbook-photo-print{aspect-ratio:1.72;border:4px solid #fffdf8;border-bottom-width:5px;transform:rotate(-1.3deg);box-shadow:0 2px 5px #63513725}.reference-home .scrapbook-photo-print:after,.reference-home .scrapbook-photo-print:first-child:before{display:none}.reference-home .table-diary-entry .actual-event-photo.photo-pair{grid-template-columns:minmax(0,2.65fr) minmax(0,.95fr);gap:7px;padding-bottom:4px}.reference-home .scrapbook-photo-print:nth-child(2){aspect-ratio:.67;margin-top:19px;transform:rotate(4deg)}.reference-home .scrapbook-photo-print:nth-child(2):before{background:#e8c58ca6;width:62%;height:13px;top:-11px}.reference-home .scrapbook-photo-print.portrait{aspect-ratio:.8}.reference-home .table-diary-entry .actual-event-copy{padding-top:9px;padding-bottom:0}.reference-home .table-diary-entry .actual-event-copy strong{font-family:Songti SC,STSong,serif;font-size:26px;font-weight:800;line-height:1.4}.reference-home .table-diary-entry .actual-event-copy em{opacity:.8;font-size:10px}.reference-home .scrapbook-inline-note{background:#efdaee;border-radius:1px;box-shadow:0 2px 5px #3822170b}.reference-home .table-diary-entry:nth-child(2n) .scrapbook-inline-note{background:#f6d9d1;transform:rotate(-.6deg)}.reference-home .scrapbook-inline-note p{font-family:Table Hand,Kaiti SC,serif;font-size:19px}.reference-home .table-diary-entry .meal-feedback-toggle{font-family:Table Hand,Kaiti SC,serif;font-size:17px}.reference-home .table-diary-repeat{font-size:11px}.reference-home .scrapbook-day-footer{color:#28180f;text-align:center;font-size:20px}.reference-home .mobile-nav{background:#f8f4eb;background-image:var(--surface-grain-image);border-top:1px dashed #ded4c3}.reference-home .mobile-nav button.active:not(.mobile-record-action){color:#cf3624}.reference-home .mobile-nav button.active svg{fill:#cf3624;stroke:#cf3624}.reference-home .mobile-nav .mobile-record-action>span{background:#cf3624}.reference-home .batch-launcher{background:0 0;border:1px dashed #d5c9b7;order:10;margin-top:28px}@media (max-width:700px){.reference-home{width:calc(100% - 28px)}.reference-home .topbar{flex-wrap:wrap;gap:0;padding:10px 0 7px}.reference-home .brand{font-size:29px}.reference-home .brand>span:last-child{gap:9px}.reference-home .scrapbook-brand-en{width:26px;font-size:7px;display:block}.reference-home .home-brand-note{gap:3px}.reference-home .home-brand-note>span{font-size:12px}.reference-home .home-brand-note .rice-companions,.reference-home .home-brand-note .journal-doodles{width:73px;height:49px}.reference-home .topbar .top-actions{flex-basis:100%;justify-content:flex-end;height:28px;padding-top:1px;display:flex}.reference-home .week-switcher,.reference-home .week-switcher button{min-height:28px}.reference-home .week-switcher .week-display{font-size:9px}.reference-home .scrapbook-dateline{padding-top:2px}.reference-home .scrapbook-dateline strong{font-size:35px}.reference-home .scrapbook-dateline>div{gap:9px}.reference-home .home-corner-leaves{width:44px;height:123px;top:36px;right:-17px}.reference-home .journal-day-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;margin:5px 0 13px;padding-right:0}.reference-home .journal-day-strip .day-button{gap:0;min-width:0;min-height:68px}.reference-home .journal-day-strip .day-button.selected{width:40px}.reference-home .journal-day-strip .day-button strong{width:26px;height:25px;font-size:16px}.reference-home .journal-day-strip .day-button span{font-size:10px}.reference-home .journal-day-strip .day-button .diary-day-count{white-space:nowrap;font-size:9px;line-height:16px;display:block}.reference-home .journal-heading h1{font-size:clamp(34px,9.6vw,44px)}.reference-home .journal-heading p{max-width:44%;font-size:13px}.reference-home .journal-heading{gap:8px;margin-bottom:19px}.reference-home .table-diary-entry{grid-template-columns:54px minmax(0,1fr);gap:10px;padding-bottom:14px}.reference-home .scrapbook-time time{font-size:15px}.reference-home .scrapbook-time b{letter-spacing:0;font-size:18px;line-height:1.5}.reference-home .scrapbook-time>span{margin-top:6px;font-size:25px}.reference-home .home-margin-note{font-size:13px;line-height:1.7}.reference-home .home-margin-leaf{width:25px;height:48px}.reference-home .scrapbook-photo-print,.reference-home .scrapbook-photo-print.portrait{aspect-ratio:auto;outline-offset:4px;border-width:8px;outline:2px dashed #c8bba4;height:clamp(128px,40vw,180px)}.reference-home .scrapbook-photo-print img{object-fit:cover;object-position:center}.reference-home .scrapbook-photo-print:nth-child(2){height:clamp(112px,35vw,156px);margin-top:12px}.reference-home .scrapbook-photo-print:after{content:"";display:none}.reference-home .scrapbook-photo-print .photo-garland{z-index:1;pointer-events:none;width:86px;height:78px;display:block;position:absolute;bottom:-35px;left:-28px}.reference-home .scrapbook-photo-print:nth-child(2) .photo-garland{width:61px;height:56px;bottom:-26px;left:auto;right:-13px;transform:scaleX(-1)}.reference-home .scrapbook-photo-print:first-child:before{content:"";background:repeating-linear-gradient(90deg,#d4dfc4c4 0 7px,#e6ebd8b3 7px 14px);width:52px;height:17px;display:block;position:absolute;top:-17px;left:10px;transform:rotate(-7deg)}.reference-home .table-diary-entry .actual-event-copy{padding-top:37px}.reference-home .table-diary-entry .actual-event-copy strong{font-size:19px}.reference-home .table-diary-entry .actual-event-copy em{font-size:9px}.reference-home .scrapbook-inline-note{gap:7px;padding:10px 9px}.reference-home .scrapbook-inline-note p{font-size:15px;line-height:1.5}.reference-home .scrapbook-inline-note b{font-size:10px}.reference-home .scrapbook-note-avatar{width:22px;height:22px;font-size:11px}.reference-home .table-diary-entry:first-child:has(.scrapbook-inline-note) .scrapbook-inline-notes{z-index:2;width:126px;padding-top:0;position:absolute;top:-2px;right:-4px}.reference-home .table-diary-entry:first-child .meal-feedback-card:not(:has(.meal-feedback-body)){position:static}.reference-home .table-diary-entry:first-child .scrapbook-inline-note{transform:rotate(4deg)}.reference-home .table-diary-entry:first-child .scrapbook-inline-note p{-webkit-line-clamp:3;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.reference-home .table-diary-entry .meal-feedback-toggle{font-size:14px}.reference-home .scrapbook-day-footer{font-size:16px}.reference-home .mobile-nav{padding:8px 14px max(12px,env(safe-area-inset-bottom))}.reference-home .mobile-nav .mobile-record-action>span{width:44px;height:44px;min-height:44px;font-size:32px}}@media (prefers-reduced-motion:reduce){.reference-home .home-brand-note>span{transform:none}}@media (forced-colors:active){.reference-home .home-corner-leaves,.reference-home .home-margin-leaf{display:none}.reference-home .journal-day-strip .day-button.selected,.reference-home .mobile-nav .mobile-record-action>span{color:highlighttext;background:highlight}}.reference-home{--notoserifsc-license:"Copyright 2012 Google Inc. All Rights Reserved.nnThis Font Software is licensed under the SIL Open Font License,nVersion 1.1.nnThis license is copied below, and is also available with a FAQ at:nhttp://scripts.sil.org/OFLnn-----------------------------------------------------------nSIL OPEN FONT LICENSE Version 1.1 - 26 February 2007n-----------------------------------------------------------nnPREAMBLEnThe goals of the Open Font License (OFL) are to stimulate worldwidendevelopment of collaborative font projects, to support the fontncreation efforts of academic and linguistic communities, and tonprovide a free and open framework in which fonts may be shared andnimproved in partnership with others.nnThe OFL allows the licensed fonts to be used, studied, modified andnredistributed freely as long as they are not sold by themselves. Thenfonts, including any derivative works, can be bundled, embedded,nredistributed and/or sold with any software provided that any reservednnames are not used by derivative works. The fonts and derivatives,nhowever, cannot be released under any other type of license. Thenrequirement for fonts to remain under this license does not apply tonany document created using the fonts or their derivatives.nnDEFINITIONSn\"Font Software\" refers to the set of files released by the CopyrightnHolder(s) under this license and clearly marked as such. This mayninclude source files, build scripts and documentation.nn\"Reserved Font Name\" refers to any names specified as such after thencopyright statement(s).nn\"Original Version\" refers to the collection of Font Softwarencomponents as distributed by the Copyright Holder(s).nn\"Modified Version\" refers to any derivative made by adding to,ndeleting, or substituting -- in part or in whole -- any of thencomponents of the Original Version, by changing formats or by portingnthe Font Software to a new environment.nn\"Author\" refers to any designer, engineer, programmer, technicalnwriter or other person who contributed to the Font Software.nnPERMISSION & CONDITIONSnPermission is hereby granted, free of charge, to any person obtainingna copy of the Font Software, to use, study, copy, merge, embed,nmodify, redistribute, and sell modified and unmodified copies of thenFont Software, subject to the following conditions:nn1) Neither the Font Software nor any of its individual components, innOriginal or Modified Versions, may be sold by itself.nn2) Original or Modified Versions of the Font Software may be bundled,nredistributed and/or sold with any software, provided that each copyncontains the above copyright notice and this license. These can benincluded either as stand-alone text files, human-readable headers ornin the appropriate machine-readable metadata fields within text ornbinary files as long as those fields can be easily viewed by the user.nn3) No Modified Version of the Font Software may use the Reserved FontnName(s) unless explicit written permission is granted by thencorresponding Copyright Holder. This restriction only applies to thenprimary font name as presented to the users.nn4) The name(s) of the Copyright Holder(s) or the Author(s) of the FontnSoftware shall not be used to promote, endorse or advertise anynModified Version, except to acknowledge the contribution(s) of thenCopyright Holder(s) and the Author(s) or with their explicit writtennpermission.nn5) The Font Software, modified or unmodified, in part or in whole,nmust be distributed entirely under this license, and must not bendistributed under any other license. The requirement for fonts tonremain under this license does not apply to any document created usingnthe Font Software.nnTERMINATIONnThis license becomes null and void if any of the above conditions arennot met.nnDISCLAIMERnTHE FONT SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OFnMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENTnOF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THEnCOPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,nINCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIALnDAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISINGnFROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROMnOTHER DEALINGS IN THE FONT SOFTWARE.n";--lxgwwenkaitc-license:"Copyright 2024 The LXGW WenKai Project Authors (https://github.com/lxgw/LxgwWenkaiTC)nnThis Font Software is licensed under the SIL Open Font License, Version 1.1.nThis license is copied below, and is also available with a FAQ at:nhttps://openfontlicense.orgnnn-----------------------------------------------------------nSIL OPEN FONT LICENSE Version 1.1 - 26 February 2007n-----------------------------------------------------------nnPREAMBLEnThe goals of the Open Font License (OFL) are to stimulate worldwidendevelopment of collaborative font projects, to support the font creationnefforts of academic and linguistic communities, and to provide a free andnopen framework in which fonts may be shared and improved in partnershipnwith others.nnThe OFL allows the licensed fonts to be used, studied, modified andnredistributed freely as long as they are not sold by themselves. Thenfonts, including any derivative works, can be bundled, embedded, nredistributed and/or sold with any software provided that any reservednnames are not used by derivative works. The fonts and derivatives,nhowever, cannot be released under any other type of license. Thenrequirement for fonts to remain under this license does not applynto any document created using the fonts or their derivatives.nnDEFINITIONSn\"Font Software\" refers to the set of files released by the CopyrightnHolder(s) under this license and clearly marked as such. This mayninclude source files, build scripts and documentation.nn\"Reserved Font Name\" refers to any names specified as such after thencopyright statement(s).nn\"Original Version\" refers to the collection of Font Software components asndistributed by the Copyright Holder(s).nn\"Modified Version\" refers to any derivative made by adding to, deleting,nor substituting -- in part or in whole -- any of the components of thenOriginal Version, by changing formats or by porting the Font Software to annew environment.nn\"Author\" refers to any designer, engineer, programmer, technicalnwriter or other person who contributed to the Font Software.nnPERMISSION & CONDITIONSnPermission is hereby granted, free of charge, to any person obtainingna copy of the Font Software, to use, study, copy, merge, embed, modify,nredistribute, and sell modified and unmodified copies of the FontnSoftware, subject to the following conditions:nn1) Neither the Font Software nor any of its individual components,nin Original or Modified Versions, may be sold by itself.nn2) Original or Modified Versions of the Font Software may be bundled,nredistributed and/or sold with any software, provided that each copyncontains the above copyright notice and this license. These can benincluded either as stand-alone text files, human-readable headers ornin the appropriate machine-readable metadata fields within text ornbinary files as long as those fields can be easily viewed by the user.nn3) No Modified Version of the Font Software may use the Reserved FontnName(s) unless explicit written permission is granted by the correspondingnCopyright Holder. This restriction only applies to the primary font name asnpresented to the users.nn4) The name(s) of the Copyright Holder(s) or the Author(s) of the FontnSoftware shall not be used to promote, endorse or advertise anynModified Version, except to acknowledge the contribution(s) of thenCopyright Holder(s) and the Author(s) or with their explicit writtennpermission.nn5) The Font Software, modified or unmodified, in part or in whole,nmust be distributed entirely under this license, and must not bendistributed under any other license. The requirement for fonts tonremain under this license does not apply to any document creatednusing the Font Software.nnTERMINATIONnThis license becomes null and void if any of the above conditions arennot met.nnDISCLAIMERnTHE FONT SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND,nEXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO ANY WARRANTIES OFnMERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENTnOF COPYRIGHT, PATENT, TRADEMARK, OR OTHER RIGHT. IN NO EVENT SHALL THEnCOPYRIGHT HOLDER BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,nINCLUDING ANY GENERAL, SPECIAL, INDIRECT, INCIDENTAL, OR CONSEQUENTIALnDAMAGES, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISINGnFROM, OUT OF THE USE OR INABILITY TO USE THE FONT SOFTWARE OR FROMnOTHER DEALINGS IN THE FONT SOFTWARE.n"}
