.living-garden{aspect-ratio:1.18;isolation:isolate;width:100%;position:relative;container-type:inline-size}.garden-viewport{pointer-events:none;position:absolute;inset:0;overflow:hidden;-webkit-mask-image:linear-gradient(#0000,#000 7% 94%,#0000),linear-gradient(90deg,#0000,#000 5% 95%,#0000);mask-image:linear-gradient(#0000,#000 7% 94%,#0000),linear-gradient(90deg,#0000,#000 5% 95%,#0000);-webkit-mask-composite:source-in;mask-composite:intersect}.garden-world{aspect-ratio:3/2;transform-origin:55% 65%;width:112%;animation:garden-camera 40s var(--ease-in-out) infinite;position:absolute;bottom:3%;left:-6%;transform:translate(-1%,1%)scale(1.04)}.garden-painting,.garden-branch{opacity:.9;filter:saturate(.85)contrast(.97);width:100%;height:auto;display:block}.garden-branch-layer{transform-origin:0 10%;width:90%;animation:garden-branch-sway 8s var(--ease-in-out) infinite alternate;position:absolute;top:-14%;left:-4%}.garden-water{width:100%;height:100%;position:absolute;inset:0;overflow:visible}.garden-ripples ellipse{fill:none;stroke:#918b7b;stroke-width:1.5px;opacity:0;transform-box:fill-box;transform-origin:50%;animation:9s linear infinite garden-ripple}.garden-ripples ellipse:nth-child(2){animation-delay:-4.5s}.garden-petal-fall{opacity:0;width:7px;height:10px;animation:16s linear infinite garden-petal-fall;position:absolute}.garden-petal{background:var(--primary);width:100%;height:100%;box-shadow:inset 1px 1px 2px var(--accent-soft);animation:garden-petal-turn 4s var(--ease-in-out) infinite alternate;border-radius:70% 25% 65% 35%;display:block}.garden-petal-fall:nth-of-type(2n){width:5px;height:7px}.garden-motion-control{background:var(--background);min-height:44px;color:var(--muted);border:0;border-radius:24px;align-items:center;gap:7px;padding:8px 12px;font-size:12px;display:inline-flex;position:absolute;bottom:0;right:12px}.living-garden[data-running=false] .garden-world,.living-garden[data-running=false] .garden-world *{animation-play-state:paused}.living-garden[data-still=true] .garden-world,.living-garden[data-still=true] .garden-world *{animation:none}@keyframes garden-camera{0%,to{transform:translate(-1%,1%)scale(1.04)}28%{transform:translate(-6%,4%)scale(1.2)}52%{transform:translate(0)scale(1.07)}76%{transform:translate(5%,-3%)scale(1.17)}}@keyframes garden-branch-sway{0%{transform:rotate(-.6deg)translateY(0)}to{transform:rotate(1.2deg)translateY(.7%)}}@keyframes garden-ripple{0%{opacity:0;transform:scale(.35)}20%{opacity:.28}to{opacity:0;transform:scale(1.8)}}@keyframes garden-petal-fall{0%{opacity:0;transform:translate(0)rotate(-15deg)}12%{opacity:.65}45%{transform:translate(calc(var(--petal-drift) * -.3), 20cqw) rotate(90deg)}82%{opacity:.5}to{opacity:0;transform:translate(var(--petal-drift), 45cqw) rotate(210deg)}}@keyframes garden-petal-turn{0%{transform:rotateX(-25deg)rotateY(-40deg)}to{transform:rotateX(60deg)rotateY(55deg)}}.onboarding-garden .onboarding-stage{grid-template-columns:minmax(0,.9fr) minmax(0,1.2fr)}.onboarding-garden .living-garden{aspect-ratio:1.18}.welcome-gate-layout{grid-template-columns:minmax(0,.85fr) minmax(0,1.2fr);align-items:center;gap:30px;width:min(1200px,100%);display:grid}.welcome-gate-layout .welcome-gate-card{text-align:left;background:0 0;border:0;width:100%;padding:16px}.welcome-gate-layout .welcome-gate-card h1{font-family:var(--font-display);font-weight:500}@media (width<=760px){.onboarding-garden .onboarding-stage{grid-template-columns:1fr;gap:16px;padding-top:0}.onboarding-garden .living-garden{aspect-ratio:auto;width:calc(100% + 32px);height:245px;margin:0 -16px}.onboarding-garden .onboarding-guide{display:none}.onboarding-garden .onboarding-copy h1{min-height:0}.onboarding-garden .garden-world{width:100%;bottom:0;left:0}.garden-petal-fall{width:5px;height:7px}.welcome-gate-layout{grid-template-columns:1fr;gap:0}.welcome-gate-layout .living-garden{aspect-ratio:auto;grid-row:1;max-width:510px;height:250px;margin:0 auto}.welcome-gate>.brand{margin:0 0 6px}}@media (prefers-reduced-motion:reduce){.living-garden .garden-world,.living-garden .garden-world *{animation:none!important}}.onboarding{--onboarding-ease:var(--ease-out);min-height:100dvh;color:var(--ink);background:var(--background);flex-direction:column;padding:0 clamp(20px,5vw,76px);display:flex}.onboarding-header{justify-content:space-between;align-items:center;gap:20px;width:100%;max-width:1480px;margin:0 auto;padding:22px 0;display:flex}.onboarding-header>a{display:flex}.tomoni-lockup{object-fit:contain;width:190px;height:64px;display:block}.onboarding-tools{color:var(--muted);align-items:center;gap:18px;font-size:13px;display:flex}.motion-control{border:1px solid var(--line);min-width:44px;min-height:44px;color:var(--ink);background:0 0;border-radius:50%;place-items:center;display:grid}.onboarding-stage{grid-template-columns:minmax(0,1.1fr) minmax(280px,.9fr);align-items:center;gap:3vw;width:100%;max-width:1320px;margin:auto;padding:48px 0 72px;display:grid}.onboarding-conversation{min-width:0;position:relative}.onboarding-guide{width:66px;height:66px;margin:0 0 24px}.onboarding-guide img{object-fit:contain;width:100%;height:100%;display:block}.onboarding-copy h1{max-width:16ch;min-height:2.2em;font-family:var(--font-display);letter-spacing:-.025em;text-wrap:balance;outline:none;margin:0 0 24px;font-size:clamp(32px,3.7vw,52px);font-weight:500;line-height:1.13}.onboarding-answer{max-width:510px;animation:answer-enter .24s var(--onboarding-ease) both}.onboarding-answer p{color:var(--muted);text-wrap:pretty;margin:0 0 19px;font-size:16px;line-height:1.65}.onboarding-form{gap:13px;display:grid}.onboarding-form>p{margin:0 0 6px}.onboarding-form label{font-size:14px;font-weight:500}.onboarding input:not([type=radio]),.onboarding select{box-sizing:border-box;background:var(--surface);width:100%;min-width:0;color:var(--ink);border:1px solid var(--control-border);min-height:50px;font:inherit;border-radius:9px;padding:11px 15px}.onboarding input::placeholder{color:var(--placeholder)}.onboarding input:focus-visible,.onboarding select:focus-visible,.onboarding button:focus-visible,.onboarding a:focus-visible{outline:2px solid var(--primary);outline-offset:4px}.onboarding .primary-button{background:var(--primary);min-height:50px;color:var(--on-primary);box-shadow:none;transition:background-color .15s ease, transform .12s var(--onboarding-ease);border:0;border-radius:999px;justify-self:start;gap:24px;padding:13px 22px;font-size:14px;font-weight:600}.onboarding .primary-button:active{transform:translateY(1px)}.onboarding .primary-button:disabled{opacity:.6;cursor:wait}.onboarding .secondary-button{border:1px solid var(--control-border);background:var(--surface);color:var(--ink);border-radius:999px;min-height:46px;padding:9px 18px}.onboarding .text-link{color:var(--primary);align-items:center;gap:9px;min-height:44px;font-size:14px;display:inline-flex}.onboarding .onboarding-small{color:var(--muted);font-size:13px;line-height:1.6}.onboarding .onboarding-error{color:var(--danger);font-size:14px}.onboarding-scene{aspect-ratio:1;align-items:center;width:100%;display:grid;position:relative}.onboarding-scene>img{object-fit:contain;opacity:.9;filter:saturate(.9)contrast(.97);width:100%;height:auto}.onboarding-footer{width:100%;max-width:1480px;color:var(--muted);justify-content:space-between;align-items:center;gap:20px;margin:0 auto;padding:14px 0 24px;font-size:12px;display:flex}.onboarding-private{align-items:center;gap:8px;display:inline-flex}.onboarding-choices{border:0;gap:9px;margin:0;padding:0;display:grid}.onboarding-choice{border:1px solid var(--line);background:var(--surface);cursor:pointer;border-radius:11px;align-items:center;gap:14px;min-height:66px;padding:12px 16px;transition:background-color .15s,border-color .15s;display:flex}.onboarding-choice:has(:checked){background:var(--surface);border-color:var(--primary)}.onboarding-choice input{accent-color:var(--primary);flex:none;width:18px;height:18px}.onboarding-choice span{gap:4px;display:grid}.onboarding-choice strong{font-size:15px;font-weight:500}.onboarding-choice small{color:var(--muted);font-size:12px;line-height:1.4}.compact .onboarding-choice{min-height:54px;padding:10px 14px}.onboarding-actions{margin-top:14px}.onboarding .portions-input{max-width:130px;font-size:24px}.onboarding-summary{gap:0;margin:0 0 12px;display:grid}.onboarding-summary>div{border-bottom:1px solid var(--line);justify-content:space-between;gap:22px;padding:10px 0;font-size:14px;display:flex}.onboarding-summary dt{color:var(--muted)}.onboarding-summary dd{text-align:right;margin:0}.onboarding-theme{border:0;flex-wrap:wrap;gap:16px;margin:0 0 8px;padding:0;display:flex}.onboarding-theme legend{margin-bottom:12px;font-size:14px}.onboarding-theme label{align-items:center;gap:7px;font-size:13px;display:flex}.onboarding-theme input{accent-color:var(--primary)}.onboarding-invite{border-block:1px solid var(--line);gap:12px;margin:24px 0 12px;padding:18px 0;display:grid}.onboarding-invite label{font-size:13px}.onboarding-invite small{color:var(--muted);font-size:12px}.onboarding-invite button{justify-self:start}.household-list{border-bottom:1px solid var(--line);margin-bottom:16px;padding:16px 0}.household-list summary{cursor:pointer;font-size:14px}.household-list>div{justify-content:space-between;align-items:center;gap:16px;padding:12px 0;display:flex}.household-list span{gap:4px;display:grid}.household-list strong{font-size:14px;font-weight:500}.household-list small{color:var(--muted);font-size:12px}.question-cursor{vertical-align:-.02em;background:var(--primary);width:2px;height:.82em;margin-left:4px;display:inline-block}.question-cursor.done{opacity:0}.brand .tomoni-lockup{width:170px;height:58px}.brand:has(.tomoni-lockup){gap:0}.mobile-brand .brand .tomoni-lockup{width:125px;height:43px}:root[data-theme=dark] .brand .tomoni-lockup{filter:brightness(0)invert(94%)sepia(15%)saturate(350%)}.household-title{color:var(--muted);margin-top:8px;font-size:13px;display:block}.onboarding ::selection{background:var(--accent-soft);color:var(--ink)}.onboarding input{caret-color:var(--primary)}@keyframes answer-enter{0%{opacity:0;transform:translateY(6px)}}@media (hover:hover) and (pointer:fine){.onboarding .primary-button:hover{background:var(--primary-hover)}.onboarding-choice:hover{background:var(--surface);border-color:var(--control-border)}}@media (width<=760px){.onboarding-header{padding:12px 0}.tomoni-lockup{width:144px;height:48px}.onboarding-tools{gap:9px;font-size:11px}.onboarding-stage{grid-template-columns:1fr;gap:15px;max-width:520px;padding:20px 0 30px}.onboarding-scene{grid-row:1;width:180px;margin:0 auto}.onboarding-guide{display:none}.onboarding-copy h1{max-width:19ch;min-height:2.2em;margin-bottom:18px;font-size:34px}.onboarding-footer{align-items:flex-start;padding-top:16px;font-size:11px}.onboarding-private{max-width:150px;line-height:1.4}.onboarding-answer p{font-size:15px}.onboarding-summary>div{font-size:13px}.onboarding-answer{max-width:none}}@media (width<=380px){.onboarding-scene{width:135px}.onboarding-copy h1{font-size:30px}.onboarding-header{gap:10px}.onboarding-tools{gap:4px}.tomoni-lockup{width:122px}}html[data-motion=paused] .onboarding *,html[data-motion=paused] .onboarding :before,html[data-motion=paused] .onboarding :after{transition:none!important;animation:none!important}@media (prefers-reduced-motion:reduce){.onboarding *,.onboarding :before,.onboarding :after{transition:none!important;animation:none!important}}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-body:"Source Sans 3", Arial, sans-serif;--font-display:"Source Serif 4", Georgia, serif;--background:#f6f2e8;--sidebar:#efebe1;--surface:#fcfaf4;--ink:#35352f;--muted:#6b695f;--placeholder:#716c63;--primary:#965246;--primary-hover:#7e4137;--on-primary:#fcfaf4;--soft-green:#636a5c;--subtle:#ece7dd;--hero:#ece8dd;--meal-banner:#f0ece2;--clay:#965246;--clay-light:#efe3dc;--yellow-light:#efe8d8;--brown:#706451;--line:#dad5c9;--line-soft:#e5e0d5;--line-strong:#b6ad9d;--control-border:#8c867a;--input:#f8f5ed;--hover:#eae4d8;--danger:#b54037;--danger-light:#f7e7e2;--warning:#735f32;--focus:#965246;--nav:#fcfaf4f5;--accent:#965246;--accent-soft:#efe3dc;--on-accent:#fcfaf4;--market:#ecebe4;--market-ink:#53594f}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--background:#20201c;--sidebar:#25251f;--surface:#2c2c26;--ink:#eeebe1;--muted:#bbb7aa;--placeholder:#b6ae9d;--primary:#d5a295;--primary-hover:#e4b5a9;--on-primary:#2b211e;--soft-green:#b7bcae;--subtle:#37372e;--hero:#36362e;--meal-banner:#353128;--clay:#d5a295;--clay-light:#40312c;--yellow-light:#3c3628;--brown:#c9bba4;--line:#48483e;--line-soft:#3c3c33;--line-strong:#777364;--control-border:#928b7a;--input:#303029;--hover:#3d3b31;--danger:#eeb0a6;--danger-light:#402c27;--warning:#d0b780;--focus:#d5a295;--nav:#2c2c26f5;--accent:#d5a295;--accent-soft:#40312c;--on-accent:#2b211e;--market:#34372f;--market-ink:#c1c6b7}*{box-sizing:border-box}html{scroll-behavior:smooth;min-width:320px}body{background:var(--background);color:var(--ink);font-family:var(--font-body);-webkit-font-smoothing:antialiased;margin:0;font-size:.9375rem;line-height:1.5}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{color:inherit;cursor:pointer;border:0}button:disabled{cursor:wait;opacity:.55}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,summary:focus-visible{outline:3px solid var(--focus);outline-offset:4px}button:disabled:focus-visible{outline:3px solid var(--focus)}h1,h2,h3,p{margin:0}h1,h2,h3{font-weight:400}h1,h2,.brand,.sidebar-poem p{font-family:inherit}h3{font-size:1.1875rem;line-height:1.4}svg{flex-shrink:0}small{font-size:.75rem}.muted{color:var(--muted)}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.skip-link{background:var(--primary);color:var(--on-primary);z-index:99;border-radius:12px;padding:15px 20px;position:fixed;top:12px;left:20px;transform:translateY(calc(-100% - 24px))}.skip-link:focus{transform:translateY(0)}main:focus{outline:none}.eyebrow{letter-spacing:1.8px;color:var(--muted);text-transform:uppercase;font-size:.75rem;font-weight:600;line-height:1.5}.heading-dot{color:var(--primary)}.app-shell{min-height:100dvh}.sidebar{background:var(--sidebar);border-right:1px solid var(--line);z-index:20;flex-direction:column;width:228px;padding:38px 22px 24px;display:flex;position:fixed;inset:0 auto 0 0}.brand{white-space:nowrap;letter-spacing:-.5px;align-items:center;gap:11px;font-size:1.25rem;display:flex}.brand-icon{background:var(--primary);width:40px;height:43px;color:var(--on-primary);border-radius:15px;place-items:center;display:grid}.brand small{font-family:var(--font-body);letter-spacing:1.8px;color:var(--muted);margin-top:3px;font-size:.75rem;font-weight:500;line-height:1.7;display:block}.brand-link{padding:0 3px}.sidebar-caption{letter-spacing:1.6px;color:var(--muted);margin:54px 12px 16px;font-size:.75rem;font-weight:600}.desktop-nav{flex-direction:column;gap:8px;display:flex}.desktop-nav a{min-height:51px;color:var(--muted);border-radius:15px;align-items:center;gap:15px;padding:0 17px;font-size:.875rem;transition:background .18s;display:flex}.desktop-nav a:hover{background:var(--hover)}.nav-count{background:#ffffff24;border-radius:7px;place-items:center;min-width:21px;height:21px;margin-left:auto;font-size:.75rem;display:grid}.sidebar-bottom{margin-top:auto}.sidebar-poem{color:var(--soft-green);padding:38px 15px 35px;position:relative}.sidebar-poem p{margin:14px 0;font-size:1.375rem;line-height:1.45}.sidebar-poem>span{letter-spacing:4px;color:var(--muted);font-size:.75rem}.sidebar-settings{border-top:1px solid var(--line);width:100%;color:var(--muted);background:0 0;align-items:center;gap:11px;min-height:55px;padding:23px 8px 3px;font-size:.75rem;display:flex}.sidebar-settings svg:last-child{margin-left:auto}.app-main{margin-left:228px}.topbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:20px;height:91px;margin:0 48px;display:flex}.desktop-breadcrumb{color:var(--muted);align-items:center;gap:14px;font-size:.75rem;display:flex}.desktop-breadcrumb>span{opacity:.5}.topbar-actions{align-items:center;gap:21px;display:flex}.member-avatars{align-items:center;gap:7px;display:flex}.avatar{width:36px;height:36px;font-size:.75rem;font-family:var(--font-body);border:2px solid var(--background);border-radius:50%;flex-shrink:0;place-items:center;display:grid}.member-0{background:var(--market);color:var(--market-ink)}.member-1{background:var(--accent-soft);color:var(--primary)}.avatar-invite{border:1px dashed var(--control-border);color:var(--muted);background:0 0}.sync-status{color:var(--muted);white-space:nowrap;align-items:center;gap:6px;font-size:.75rem;display:flex}.sync-status small{background:var(--subtle);border-radius:5px;padding:0 4px;font-size:.75rem}.status-offline,.status-error,.status-conflict{color:var(--warning)}.status-syncing>svg{animation:1.4s linear infinite spin}.status-demo>span:first-child{background:var(--soft-green);border-radius:50%;width:5px;height:5px}.icon-button{background:0 0;border-radius:50%;flex-shrink:0;place-items:center;width:44px;height:44px;display:inline-grid}.icon-button:hover{background:var(--hover)}.theme-toggle{width:32px;height:36px;color:var(--muted)}.mobile-brand,.mobile-settings{display:none}.page{max-width:1390px;margin:0 auto;padding:40px 48px 35px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:29px;display:flex}.page-heading>div>p:last-child{color:var(--muted);margin-top:13px;font-size:.75rem}.page-emblem{border:1px solid var(--line);width:65px;height:65px;color:var(--soft-green);border-radius:24px;place-items:center;display:grid}.primary-button,.secondary-button,.danger-button,.hero-button{border-radius:30px;justify-content:center;align-items:center;gap:10px;min-height:45px;padding:11px 21px;font-size:.75rem;font-weight:500;transition:transform .18s;display:inline-flex}.primary-button{background:var(--primary);color:var(--on-primary)}.primary-button:hover,.round-button:hover{background:var(--primary-hover)}.secondary-button{border:1px solid var(--line-strong);color:var(--ink);background:0 0}.secondary-button:hover{background:var(--hover)}.full-width{width:100%}.text-link{min-height:44px;color:var(--primary);background:0 0;align-items:center;gap:7px;padding:5px 0;font-size:.75rem;display:inline-flex}.text-link:hover{text-decoration:underline}.panel{background:var(--surface);border:1px solid var(--line-soft);border-radius:23px;padding:25px 26px}.section-heading{justify-content:space-between;align-items:center;gap:12px;margin-bottom:20px;display:flex}.section-heading .eyebrow{margin-bottom:8px}.section-heading>svg{color:var(--soft-green)}.empty-state{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:36px 15px;display:flex}.empty-icon{background:var(--subtle);width:53px;height:53px;color:var(--soft-green);border-radius:20px;place-items:center;margin-bottom:2px;display:grid}.empty-state h3{font-family:var(--font-body);font-size:1.1875rem}.empty-state p{max-width:300px;color:var(--muted);font-size:.75rem;line-height:1.7}.empty-state .secondary-button{margin-top:3px}.today-heading{margin-bottom:27px}.today-heading h1{font-size:3.0625rem}.welcome-note{color:var(--soft-green);align-items:center;gap:11px;margin-right:10px;display:flex;transform:rotate(-5deg)}.welcome-note>span:last-child{font-family:var(--font-body);font-size:.875rem;font-style:italic;line-height:1.45}.tiny-flower{font-size:2.6875rem;font-weight:200}.welcome-hero{background:var(--hero);border-radius:25px;height:263px;margin-bottom:21px;padding:30px 35px;position:relative;overflow:hidden}.hero-copy{z-index:2;position:relative}.hero-tag{letter-spacing:1.5px;color:var(--muted);align-items:center;gap:8px;margin-bottom:14px;font-size:.75rem;font-weight:600;display:flex}.hero-tag>span{background:var(--soft-green);border-radius:50%;width:5px;height:5px}.hero-copy h2{letter-spacing:-.8px;font-size:2.1875rem;line-height:1.12}.hero-copy>p{color:var(--muted);margin-top:10px;font-size:.75rem;line-height:1.6}.hero-button{background:var(--surface);color:var(--ink);gap:17px;min-height:36px;margin-top:16px;padding:8px 15px;font-size:.75rem}.hero-button:hover{background:var(--background)}.tea-art{width:440px;position:absolute;bottom:0;right:25px}.hero-japanese{letter-spacing:9px;writing-mode:vertical-rl;color:var(--soft-green);opacity:.6;font-size:.9375rem;position:absolute;top:29px;right:24px}.overview-grid{grid-template-columns:repeat(3,1fr);gap:17px;margin-bottom:27px;display:grid}.overview-card{background:var(--surface);border:1px solid var(--line-soft);text-align:left;border-radius:20px;min-width:0;padding:21px 22px 17px;transition:transform .18s,box-shadow .18s;position:relative}.overview-card:hover{transform:translateY(-3px);box-shadow:0 7px 18px #29302008}.overview-icon{background:var(--subtle);width:34px;height:34px;color:var(--soft-green);border-radius:12px;place-items:center;display:grid;position:absolute;top:20px;right:20px}.overview-shopping .overview-icon{background:var(--clay-light);color:var(--clay)}.overview-meal .overview-icon{background:var(--yellow-light);color:var(--brown)}.overview-caption{color:var(--muted);margin-bottom:10px;font-size:.75rem;display:block}.overview-card>strong{font-family:var(--font-body);letter-spacing:-.7px;align-items:baseline;gap:10px;height:53px;font-size:2.25rem;font-weight:400;display:flex}.overview-card>strong>small{letter-spacing:0;color:var(--muted);font:12px -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.overview-card .meal-overview-name{padding-top:5px;padding-right:6px;font-size:1.625rem;line-height:1.2;display:block;overflow:hidden}.overview-bottom{border-top:1px solid var(--line-soft);color:var(--muted);white-space:nowrap;justify-content:space-between;align-items:center;gap:10px;margin-top:9px;padding-top:12px;font-size:.75rem;display:flex;overflow:hidden}.overview-bottom>svg{color:var(--primary)}.today-details{grid-template-columns:1.2fr 1fr;gap:22px;margin-bottom:25px;display:grid}.today-agenda,.today-groceries{min-height:284px}.agenda-event{text-align:left;border-top:1px solid var(--line-soft);background:0 0;align-items:center;gap:14px;width:100%;padding:18px 0;display:flex}.agenda-event:hover .agenda-event-content strong{color:var(--primary)}.agenda-event-content{flex-direction:column;flex:1;gap:5px;min-width:0;display:flex}.agenda-event-content strong{overflow-wrap:anywhere;font-size:.8125rem;font-weight:500}.event-time{color:var(--muted);font-size:.75rem}.event-dot{background:var(--event-color);border-radius:50%;flex-shrink:0;align-self:flex-start;width:8px;height:8px;margin-top:5px}.color-sage{--event-color:#71776a}.color-clay{--event-color:#965246}.color-lavender{--event-color:#8b7c63}.event-people{color:var(--muted);align-items:center;gap:6px;font-size:.75rem;display:flex}.agenda-event>svg:last-child{color:var(--muted)}.mini-products{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:8px 0 22px;display:grid}.mini-products>div{text-align:center;flex-direction:column;align-items:center;gap:5px;min-width:0;display:flex}.mini-products .product-art{width:67px;height:67px}.mini-products strong{overflow-wrap:anywhere;font-size:.75rem;font-weight:500}.mini-products small{color:var(--muted);font-size:.75rem}.today-groceries>.full-width{min-height:37px;font-size:.75rem}.today-meal-banner{background:var(--meal-banner);border-radius:23px;align-items:center;min-height:180px;padding:29px 32px;display:flex;position:relative;overflow:hidden}.today-meal-banner>div{z-index:2;max-width:62%;position:relative}.today-meal-banner h2{margin-top:9px;font-size:1.5625rem}.today-meal-banner p{color:var(--muted);max-width:370px;margin-top:9px;font-size:.75rem}.today-meal-banner .food-art{width:275px;position:absolute;top:-18px;right:-3px;transform:rotate(-8deg)}.today-meal-banner .text-link{min-height:34px;margin-top:5px;font-size:.75rem}.home-footer{color:var(--muted);justify-content:space-between;gap:15px;margin:27px 0 0;font-size:.75rem;display:flex}.home-footer>span{align-items:center;gap:7px;display:flex}.home-footer>span:first-child{font-family:var(--font-body);font-size:.75rem;font-style:italic}.shopping-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:30px;display:flex}.search-field{width:100%;max-width:340px;color:var(--muted);border:1px solid var(--line-strong);background:var(--surface);border-radius:28px;align-items:center;gap:10px;padding:0 15px;display:flex}.search-field input{outline-offset:0;width:100%;min-width:0;height:43px;color:var(--ink);background:0 0;border:0;font-size:.75rem}.segmented{border:1px solid var(--line);background:var(--subtle);border-radius:25px;padding:4px;display:flex}.segmented>button{width:42px;height:34px;color:var(--muted);background:0 0;border-radius:20px;place-items:center;display:grid}.segmented>button.selected{background:var(--surface);color:var(--primary);box-shadow:0 1px 5px #00000007}.shopping-category{margin-bottom:26px}.shopping-category h2{align-items:center;gap:12px;margin-bottom:14px;font-size:1.375rem;display:flex}.shopping-category h2>span{font-family:var(--font-body);background:var(--subtle);color:var(--muted);border-radius:7px;place-items:center;min-width:21px;height:20px;font-size:.75rem;display:grid}.product-grid{grid-template-columns:repeat(auto-fill,minmax(145px,1fr));gap:14px;display:grid}.product-card{background:var(--surface);border:1px solid var(--line-soft);border-radius:21px;min-width:0;position:relative;overflow:hidden}.product-card:hover{border-color:var(--line-strong)}.product-complete{text-align:left;background:0 0;flex-direction:column;align-items:flex-start;width:100%;min-height:183px;padding:27px 17px 19px;display:flex;position:relative}.purchase-circle{border:1px solid var(--control-border);color:#0000;border-radius:50%;place-items:center;width:19px;height:19px;transition:background .15s;display:grid;position:absolute;top:14px;left:14px}.product-complete:hover .purchase-circle{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.product-card .product-art{align-self:center;width:81px;height:81px;margin-bottom:8px}.product-name{overflow-wrap:anywhere;padding-right:18px;font-size:.8125rem;font-weight:500}.product-quantity{color:var(--muted);margin-top:3px;padding-right:20px;font-size:.75rem}.product-edit{width:44px;height:44px;color:var(--muted);z-index:1;position:absolute;bottom:6px;right:2px}.product-edit:hover{background:var(--subtle)}.product-list{flex-direction:column;gap:9px;display:flex}.product-list .product-complete{flex-direction:row;align-items:center;gap:15px;min-height:78px;padding:10px 60px 10px 48px}.product-list .purchase-circle{top:30px;left:17px}.product-list .product-art{width:51px;height:51px;margin:0}.product-list .product-name{flex:1;padding:0;font-size:.875rem}.product-list .product-quantity{margin:0;padding:0;font-size:.75rem}.product-list .product-edit{bottom:17px;right:10px}.purchased-section{border-top:1px solid var(--line-strong);margin-top:30px;padding-top:20px}.purchased-section>summary{cursor:pointer;min-height:48px;color:var(--muted);justify-content:space-between;align-items:center;list-style:none;display:flex}.purchased-section>summary::-webkit-details-marker{display:none}.purchased-section>summary>span{align-items:center;gap:10px;font-size:.875rem;display:flex}.count-badge{background:var(--subtle);border-radius:20px;padding:2px 8px;font-size:.75rem}.purchased-section[open]>summary>svg{transform:rotate(180deg)}.purchased-list>div{border-bottom:1px solid var(--line-soft);align-items:center;display:flex}.purchased-item{text-align:left;background:0 0;flex:1;align-items:center;gap:13px;min-height:62px;display:flex}.checked-circle{background:var(--primary);color:var(--on-primary);border-radius:50%;flex-shrink:0;place-items:center;width:20px;height:20px;display:grid}.purchased-item>span:nth-child(2){font-size:.75rem}.purchased-item small{color:var(--muted);font-size:.75rem;display:block}.restore-label{color:var(--primary);margin-left:auto;padding:0 10px;font-size:.75rem}.shopping-composer{background:var(--surface);border:1px solid var(--line-strong);z-index:12;border-radius:22px;max-width:1294px;margin:0 auto;padding:15px 18px;position:fixed;bottom:25px;left:276px;right:48px;box-shadow:0 7px 35px #242e2020}.composer-fields{align-items:flex-end;gap:13px;display:flex}.composer-fields label{color:var(--muted);flex-direction:column;flex:1;gap:4px;min-width:0;font-size:.75rem;display:flex}.composer-fields input{width:100%;min-height:32px;color:var(--ink);background:0 0;border:0;border-radius:5px;padding:0;font-size:.875rem}.composer-fields .quantity-field{border-left:1px solid var(--line);flex:0 0 120px;padding-left:18px}.round-button{background:var(--primary);width:46px;height:46px;color:var(--on-primary);border-radius:50%;flex-shrink:0;place-items:center;margin-bottom:2px;display:grid}.shopping-composer .form-error{margin-top:10px;font-size:.75rem}.edit-product-preview{background:var(--subtle);border-radius:18px;place-items:center;margin-bottom:20px;display:grid}.edit-product-preview .product-art{width:100px;height:100px}.calendar-layout{grid-template-columns:1.2fr 1fr;align-items:start;gap:22px;display:grid}.calendar-panel{padding:27px 23px}.month-heading{justify-content:space-between;align-items:center;gap:10px;margin-bottom:24px;display:flex}.month-heading h2{font-size:1.5rem}.month-actions{align-items:center;gap:1px;display:flex}.month-actions .icon-button{width:34px;height:39px}.today-button{background:var(--subtle);white-space:nowrap;border-radius:20px;min-height:36px;padding:7px 12px;font-size:.75rem}.calendar-filters{flex-wrap:wrap;gap:8px;margin-bottom:25px;display:flex}.calendar-filters>button{background:var(--subtle);border-radius:25px;align-items:center;gap:6px;min-height:34px;padding:7px 13px;font-size:.75rem;display:flex}.calendar-filters>button.selected{background:var(--primary);color:var(--on-primary)}.tiny-avatar{border-radius:50%;place-items:center;width:18px;height:18px;font-size:.75rem;display:grid}.month-grid{grid-template-columns:repeat(7,minmax(0,1fr));row-gap:8px;display:grid}.weekday{text-align:center;color:var(--muted);padding-bottom:12px;font-size:.75rem}.day-cell{width:100%;min-height:53px;color:var(--ink);background:0 0;flex-direction:column;align-items:center;gap:3px;padding:3px 0;display:flex;position:relative}.day-cell>span:first-child{border-radius:50%;place-items:center;width:34px;height:34px;font-size:.75rem;display:grid}.day-cell.is-today>span:first-child{box-shadow:inset 0 0 0 1px var(--line-strong)}.day-cell.selected>span:first-child{background:var(--primary);color:var(--on-primary);box-shadow:none}.day-cell:hover>span:first-child{background:var(--hover)}.day-cell.selected:hover>span:first-child{background:var(--primary)}.day-dots{justify-content:center;align-items:center;gap:3px;height:7px;display:flex}.day-dots>i{background:var(--event-color);border-radius:50%;width:4px;height:4px}.day-dots small{font-size:.75rem}.calendar-caption{color:var(--muted);border-top:1px solid var(--line-soft);align-items:center;gap:7px;margin-top:24px;padding-top:17px;font-size:.75rem;display:flex}.color-dot{background:var(--soft-green);border-radius:50%;width:5px;height:5px}.day-agenda .full-width{margin-top:22px;font-size:.75rem}.day-agenda .section-heading h2{font-size:1.375rem}.day-agenda .agenda-event{padding:22px 0}.day-agenda .empty-state{padding:30px 0}.meal-week{margin-bottom:35px}.meal-week .section-heading{margin-bottom:19px}.meal-days{flex-direction:column;display:flex}.meal-day{border-top:1px solid var(--line-soft);align-items:center;gap:21px;min-height:92px;padding:15px 0;display:flex}.meal-day-date{flex-direction:column;flex-shrink:0;align-items:center;width:39px;display:flex}.meal-day-date>span{text-transform:uppercase;color:var(--muted);font-size:.75rem}.meal-day-date>strong{font:400 25px/1.3 system-ui,sans-serif}.meal-day-date>small{color:var(--primary);margin-top:1px;font-size:.75rem}.meal-day.is-today .meal-day-date{background:var(--subtle);border-radius:12px;padding:8px 0}.meal-open-slot{color:var(--muted);border:1px dashed var(--line-strong);text-align:left;background:0 0;border-radius:14px;flex:1;align-items:center;gap:10px;min-height:48px;padding:12px 17px;font-size:.75rem;display:flex}.meal-open-slot:hover{background:var(--hover);color:var(--primary)}.recipe-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.recipe-card{background:var(--surface);border:1px solid var(--line-soft);text-align:left;border-radius:23px;padding:0;transition:transform .18s;overflow:hidden}.recipe-card:hover{transform:translateY(-4px)}.recipe-art{background:var(--meal-banner);place-items:center;height:195px;display:grid;position:relative;overflow:hidden}.recipe-pasta .recipe-art,.recipe-pasta.recipe-detail-art{background:var(--yellow-light)}.recipe-bowl .recipe-art,.recipe-bowl.recipe-detail-art{background:var(--subtle)}.recipe-art .food-art{width:250px;margin-top:8px;transform:rotate(-5deg)}.recipe-time{background:var(--surface);border-radius:20px;align-items:center;gap:5px;padding:5px 9px;font-size:.75rem;display:flex;position:absolute;top:14px;right:13px}.recipe-copy{padding:21px 21px 18px}.recipe-copy .eyebrow{letter-spacing:1px;font-size:.75rem}.recipe-copy h3{letter-spacing:-.5px;margin:7px 0 12px;font:25px system-ui,sans-serif}.recipe-copy p{color:var(--muted);flex-wrap:wrap;align-items:center;gap:6px;font-size:.75rem;display:flex}.recipe-copy p>span{color:var(--primary);margin-left:auto;font-size:.75rem}.recipe-detail-art{background:var(--meal-banner);border-radius:18px;place-items:center;height:210px;margin-bottom:20px;display:grid;overflow:hidden}.recipe-detail-art .food-art{width:275px}.small-section-title{font-family:var(--font-body);margin:26px 0 13px;font-size:1.3125rem}.ingredient-list{margin:0;padding:0;list-style:none}.ingredient-list li{border-bottom:1px solid var(--line-soft);justify-content:space-between;gap:15px;padding:10px 0;font-size:.8125rem;display:flex}.ingredient-list strong{color:var(--muted);font-size:.75rem;font-weight:500}.recipe-steps{color:var(--muted);margin:0 0 30px;padding-left:22px;font-size:.8125rem;line-height:1.8}.recipe-steps li{margin:12px 0;padding-left:8px}.ingredient-field{border:0;margin:4px 0;padding:0}.ingredient-field>legend{margin-bottom:7px;font-size:.75rem;font-weight:600}.field-help{color:var(--muted);margin:5px 0 13px;font-size:.75rem;line-height:1.7}.ingredient-edit-row{align-items:center;gap:7px;margin:8px 0;display:flex}.ingredient-edit-row label{flex:1;min-width:0}.ingredient-edit-row label:nth-child(2){flex:0 0 100px}.ingredient-edit-row .icon-button{width:37px;height:43px}.ingredient-edit-row input{font-size:.75rem}.import-target{border:1px solid var(--line);background:var(--subtle);border-radius:16px;align-items:center;gap:10px;margin-bottom:20px;padding:16px;font-size:.75rem;display:flex}.import-target>span{color:var(--muted)}.import-target>strong{margin-left:auto;font-size:.75rem;font-weight:500}.import-ingredients{margin:10px 0 25px}.import-ingredients>label{border-bottom:1px solid var(--line-soft);cursor:pointer;align-items:center;gap:14px;min-height:60px;padding:14px 0;display:flex}.import-ingredients input{width:19px;height:19px;accent-color:var(--primary)}.import-ingredients>label>span{font-size:.875rem}.import-ingredients small{color:var(--muted);margin-top:3px;font-size:.75rem;display:block}.already-imported{opacity:.65}.import-success{text-align:center;flex-direction:column;align-items:center;gap:15px;padding:25px 0;display:flex}.import-success h3{font:25px system-ui,sans-serif}.import-success p{color:var(--muted);font-size:.8125rem}.success-icon{background:var(--subtle);width:70px;height:70px;color:var(--primary);border-radius:50%;place-items:center;margin-bottom:5px;display:grid}.modal{border:1px solid var(--line);background:var(--surface);width:min(530px,100vw - 32px);max-height:calc(100dvh - 55px);color:var(--ink);overscroll-behavior:contain;border-radius:28px;padding:27px 30px 30px;overflow-y:auto;box-shadow:0 20px 80px #17201730}.modal-wide{width:min(730px,100vw - 32px)}.modal-heading{justify-content:space-between;align-items:center;gap:14px;margin-bottom:20px;display:flex}.modal-heading>.icon-button{color:var(--muted);margin-right:-8px}.form{flex-direction:column;gap:17px;display:flex}.form label,.invite-result label{flex-direction:column;gap:7px;font-size:.75rem;font-weight:500;display:flex}.form input:not([type=checkbox]),.form select,.form textarea,.invite-result input{border:1px solid var(--control-border);width:100%;min-width:0;color:var(--ink);background:var(--input);border-radius:12px;min-height:46px;padding:12px 13px;font-size:.875rem;font-weight:400}.form textarea{resize:vertical;line-height:1.6}.form input::placeholder,.form textarea::placeholder,.search-field input::placeholder,.composer-fields input::placeholder{color:var(--placeholder)}.form-grid{grid-template-columns:1fr 1fr;gap:13px;display:grid}.form-intro{color:var(--muted);margin-bottom:5px;font-size:.75rem;line-height:1.8}.form-actions{justify-content:space-between;align-items:center;gap:12px;margin-top:9px;display:flex}.form-actions.stacked{flex-direction:column;align-items:stretch}.form-error{color:var(--danger);background:var(--danger-light);border-radius:12px;padding:12px 14px;font-size:.75rem;line-height:1.65}.switch-row{justify-content:space-between;align-items:center;gap:20px;min-height:43px;flex-direction:row!important;display:flex!important}.switch-row>span{align-items:center;gap:10px;font-size:.75rem;display:flex}.switch-row input{appearance:none;background:var(--control-border);cursor:pointer;border-radius:20px;flex-shrink:0;width:39px;height:24px;position:relative}.switch-row input:after{content:"";background:#fff;border-radius:50%;width:18px;height:18px;transition:transform .2s;position:absolute;top:3px;left:3px}.switch-row input:checked{background:var(--primary)}.switch-row input:checked:after{transform:translate(15px)}.participant-field{border:0;margin:0;padding:0}.participant-field legend{margin-bottom:10px;font-size:.75rem;font-weight:500}.choice-row{flex-wrap:wrap;gap:9px;display:flex}.choice{background:var(--subtle);border:1px solid var(--line-strong);cursor:pointer;border-radius:25px;align-items:center;min-height:41px;padding:7px 13px;flex-direction:row!important;gap:8px!important;display:flex!important}.choice.selected{border-color:var(--primary);color:var(--primary)}.choice input{accent-color:var(--primary);width:15px;height:15px}.visibility-note{color:var(--muted);background:var(--subtle);border-radius:12px;align-items:center;gap:8px;padding:10px 12px;font-size:.75rem;line-height:1.6;display:flex}.form-details{border-top:1px solid var(--line);padding-top:8px}.form-details summary{color:var(--primary);cursor:pointer;min-height:44px;padding:12px 0;font-size:.75rem}.form-details label{margin:12px 0}.quiet-danger{color:var(--danger);background:0 0;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:6px;font-size:.75rem;display:flex}.danger-button{background:var(--danger);color:var(--surface)}.inline-confirm{border:1px solid var(--line-strong);background:var(--background);border-radius:16px;margin-top:16px;padding:16px}.inline-confirm p{color:var(--muted);margin-bottom:12px;font-size:.75rem;line-height:1.7}.inline-confirm>.text-link{margin-left:15px}.event-detail{padding:5px 0 15px}.event-detail>h3{font-family:var(--font-body);overflow-wrap:anywhere;margin:10px 0 25px;font-size:2rem;line-height:1.2}.event-detail>p:not(.eyebrow){color:var(--muted);align-items:flex-start;gap:12px;margin:13px 0;font-size:.8125rem;line-height:1.7;display:flex}.event-detail small{margin-left:auto;font-size:.75rem}.event-detail .event-note{border-left:2px solid var(--event-color);white-space:pre-wrap;overflow-wrap:anywhere;padding-left:15px;margin-top:22px!important;display:block!important}.detail-actions{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding-bottom:20px;display:flex}.comments{margin-top:25px}.comments>h3{font-family:var(--font-body);align-items:center;gap:9px;margin-bottom:17px;font-size:1.3125rem;display:flex}.comments>.muted{margin-bottom:17px;font-size:.75rem;line-height:1.8}.comments form{flex-direction:column;gap:12px;margin-top:20px;display:flex}.comments form>label{flex-direction:column;gap:7px;font-size:.75rem;display:flex}.comments textarea{resize:vertical;border:1px solid var(--control-border);width:100%;color:var(--ink);background:var(--input);border-radius:14px;padding:13px;font-size:.8125rem}.comments form>button{align-self:flex-end}.comment{background:var(--subtle);border-radius:17px 17px 17px 3px;width:fit-content;max-width:90%;margin:12px 0;padding:13px 16px}.comment.own{background:var(--hero);border-radius:17px 17px 3px;margin-left:auto}.comment>span{color:var(--muted);font-size:.75rem}.comment>p{white-space:pre-wrap;overflow-wrap:anywhere;margin-top:4px;font-size:.8125rem}.discard-prompt{padding:10px 0}.discard-prompt h3{font:24px system-ui,sans-serif}.discard-prompt p{color:var(--muted);margin:12px 0 25px;font-size:.75rem}.settings-members{border-bottom:1px solid var(--line);flex-wrap:wrap;gap:25px;margin-bottom:22px;padding-bottom:23px;display:flex}.settings-members>div{align-items:center;gap:10px;display:flex}.settings-members strong{font-size:.75rem;font-weight:500}.settings-members small{color:var(--muted);font-size:.75rem;display:block}.settings-name{gap:12px}.settings-name button{align-self:flex-start;min-height:38px}.settings-section{border-top:1px solid var(--line);margin-top:24px;padding:24px 0}.settings-section+.settings-section{margin-top:0}.settings-section>h3{align-items:center;gap:10px;margin-bottom:15px;font:20px system-ui,sans-serif;display:flex}.settings-section>p{color:var(--muted);margin-bottom:17px;font-size:.75rem;line-height:1.8}.settings-section .switch-row{margin-top:10px}.invite-result{margin-top:20px}.invite-result button{margin-top:12px}.invite-result p{color:var(--muted);margin-top:13px;font-size:.75rem;line-height:1.7}.settings-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;padding-top:13px;display:flex}.version-label{text-align:center;color:var(--muted);margin-top:23px;font-size:.75rem}.demo-banner,.conflict-banner,.connection-banner{background:var(--subtle);border:1px solid var(--line);border-radius:13px;justify-content:space-between;align-items:center;gap:20px;margin:20px 48px 0;padding:12px 22px;font-size:.75rem;display:flex}.demo-banner>span,.conflict-banner>span{align-items:center;gap:9px;display:flex}.demo-banner button,.conflict-banner button,.connection-banner button{color:var(--primary);white-space:nowrap;background:0 0;align-items:center;gap:8px;min-height:28px;font-size:.75rem;font-weight:500;display:flex}.conflict-banner{background:var(--yellow-light);color:var(--warning)}.connection-banner{color:var(--warning);background:var(--yellow-light)}.conflict-versions{flex-direction:column;gap:14px;margin:20px 0;display:flex}.conflict-versions>div{border:1px solid var(--line);background:var(--subtle);border-radius:17px;padding:20px}.conflict-versions>div:last-child{background:var(--hero)}.conflict-versions span{color:var(--muted);margin-bottom:9px;font-size:.75rem;display:block}.conflict-versions strong{font-size:.875rem;font-weight:500}.toast{z-index:50;border:1px solid var(--line-strong);background:var(--ink);color:var(--surface);border-radius:18px;flex-wrap:wrap;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 30px);padding:14px 16px;font-size:.75rem;display:flex;position:fixed;bottom:25px;left:calc(50% + 114px);transform:translate(-50%);box-shadow:0 8px 35px #16251625}.toast-check{background:#ffffff1a;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.toast>button{color:inherit;background:0 0;min-height:34px;padding:7px 5px;font-size:.75rem;text-decoration:underline}.toast .toast-close{place-items:center;width:30px;text-decoration:none;display:grid}.toast>p{color:inherit;flex-basis:100%;max-width:350px;font-size:.75rem}.loading-screen,.welcome-gate{background:var(--background);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:35px 20px;display:flex}.welcome-gate>.brand{margin:20px 0 40px}.welcome-gate-card{border:1px solid var(--line);background:var(--surface);text-align:center;border-radius:30px;width:min(510px,100%);padding:35px}.welcome-icon{background:var(--hero);width:75px;height:75px;color:var(--primary);border-radius:26px;place-items:center;margin:0 auto 25px;display:grid}.welcome-gate-card h1{margin:16px 0;font-size:2.3125rem;line-height:1.2}.welcome-gate-card>p:not(.eyebrow){color:var(--muted);font-size:.8125rem;line-height:1.8}.welcome-gate-card .form{text-align:left;margin-top:26px}.welcome-actions{flex-direction:column;gap:12px;margin-top:26px;display:flex}.demo-link{color:var(--primary);background:0 0;justify-content:center;align-items:center;gap:9px;min-height:44px;margin-top:25px;font-size:.75rem;display:inline-flex}.welcome-footnote{color:var(--muted);text-align:center;margin-top:30px;font-size:.75rem}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{50%{opacity:.4;transform:translateY(-4px)}}@media (width>=1600px){.page{padding-top:50px}.welcome-hero{height:295px}.tea-art{width:490px;right:50px}.hero-copy h2{font-size:2.4375rem}.hero-copy>p{font-size:.75rem}.hero-copy .hero-button{margin-top:22px}.overview-card{padding:26px}.today-details{grid-template-columns:1.15fr 1fr}.shopping-composer{right:max(48px,50vw - 761px)}}@media (width<=1190px){.sidebar{width:202px;padding-left:16px;padding-right:16px}.sidebar .brand{gap:8px;font-size:1.125rem}.brand-icon{width:36px;height:39px}.app-main{margin-left:202px}.topbar{margin:0 30px}.page{padding:32px 30px}.today-heading h1{font-size:2.75rem}.welcome-hero{height:255px;padding:28px}.tea-art{width:360px;bottom:0;right:-18px}.hero-copy h2{font-size:2rem}.hero-japanese{right:18px}.overview-card{padding:20px 16px 15px}.overview-icon{width:29px;height:29px;right:13px}.overview-bottom,.overview-caption{font-size:.75rem}.today-details{gap:16px}.panel{padding:23px 20px}.section-heading h2{font-size:1.3125rem}.section-heading .text-link{font-size:.75rem}.today-meal-banner{padding:26px}.today-meal-banner .food-art{width:245px;top:-5px;right:-24px}.today-meal-banner h2{font-size:1.4375rem}.calendar-layout{grid-template-columns:1fr}.month-grid{row-gap:10px}.day-cell{min-height:60px}.calendar-panel{padding:27px 32px}.day-cell>span:first-child{width:38px;height:38px;font-size:.8125rem}.calendar-caption{margin-top:18px}.day-agenda .empty-state{padding:25px 0}.shopping-composer{left:232px;right:30px}.shopping-page{padding-bottom:150px}.demo-banner,.conflict-banner,.connection-banner{margin-left:30px;margin-right:30px}.recipe-grid{gap:14px}.recipe-art{height:160px}.recipe-art .food-art{width:215px}.recipe-copy{padding:17px 15px}.recipe-copy h3{font-size:1.4375rem}.recipe-copy p{font-size:.75rem}.recipe-copy p>span{flex-basis:100%;margin-top:6px;margin-left:0}.meal-week .section-heading h2{font-size:1.375rem}.topbar-actions{gap:12px}}@media (width<=940px){.sidebar{width:176px;padding:31px 12px 20px}.sidebar .brand{gap:7px;font-size:1rem}.sidebar .brand-icon{border-radius:12px;width:31px;height:36px}.sidebar .brand-icon>svg{width:22px}.brand small{letter-spacing:1.1px;font-size:.75rem}.sidebar-caption{letter-spacing:1px;margin:45px 10px 14px;font-size:.75rem}.desktop-nav a{gap:11px;padding:0 13px;font-size:.8125rem}.sidebar-poem{padding:25px 12px}.sidebar-poem p{font-size:1.25rem}.sidebar-settings{gap:8px;font-size:.75rem}.app-main{margin-left:176px}.topbar{height:78px;margin:0 25px}.page{padding:30px 25px}.page-heading h1{font-size:2.375rem}.page-heading>div>p:last-child{font-size:.75rem}.today-heading h1{font-size:2.625rem}.welcome-note{display:none}.welcome-hero{height:252px}.tea-art{opacity:.9;width:300px;bottom:0;right:-32px}.hero-copy h2{font-size:2rem}.hero-copy>p,.hero-tag{font-size:.75rem}.overview-grid{gap:11px}.overview-card{padding:19px 13px 13px}.overview-icon{width:25px;height:25px;top:13px;right:12px}.overview-icon>svg{width:16px}.overview-caption{max-width:120px;min-height:27px;margin-bottom:4px;padding-right:25px;font-size:.75rem}.overview-card>strong{height:48px;font-size:1.875rem}.overview-card>strong>small{font-size:.75rem}.overview-card .meal-overview-name{font-size:1.5rem}.overview-bottom{white-space:normal;align-items:flex-end;min-height:37px;font-size:.75rem;line-height:1.6}.today-details{grid-template-columns:1fr}.today-agenda,.today-groceries{min-height:unset}.today-groceries .mini-products{margin:12px 0 20px}.today-groceries .product-art{width:65px;height:65px}.today-groceries>.full-width{max-width:100%}.today-meal-banner h2{font-size:1.375rem}.today-meal-banner>div{max-width:67%}.today-meal-banner .food-art{width:210px;top:5px;right:-35px}.today-meal-banner .eyebrow{font-size:.75rem}.home-footer>span:last-child{display:none}.desktop-breadcrumb{font-size:.75rem}.topbar-actions{gap:8px}.sync-status{font-size:.75rem}.avatar{width:32px;height:32px}.topbar .theme-toggle{width:27px}.shopping-composer{left:201px;right:25px}.shopping-page{padding-bottom:150px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.desktop-create{white-space:nowrap;gap:6px;padding:10px 15px;font-size:.75rem}.desktop-create>svg{width:15px}.recipe-grid{grid-template-columns:1fr}.recipe-card{display:flex}.recipe-art{flex-shrink:0;width:185px;height:150px}.recipe-copy{flex-direction:column;flex:1;justify-content:center;display:flex}.recipe-copy p>span{flex-basis:auto;margin-left:auto}.recipe-copy h3{font-size:1.625rem}.meal-week .section-heading{flex-wrap:wrap}.demo-banner,.conflict-banner,.connection-banner{margin-left:25px;margin-right:25px}.toast{left:calc(50% + 88px)}}@media (width<=700px){body{font-size:1rem}.sidebar{display:none}.app-main{margin-left:0}.topbar{height:78px;padding-top:env(safe-area-inset-top);gap:10px;margin:0 22px}.mobile-brand{display:block}.mobile-brand .brand{gap:8px;font-size:1.125rem}.mobile-brand .brand-icon{border-radius:12px;width:33px;height:35px}.mobile-brand .brand-icon svg{width:23px}.mobile-brand .brand small{letter-spacing:1.3px;font-size:.75rem}.desktop-breadcrumb,.topbar .theme-toggle,.topbar .sync-status{display:none}.member-avatars{gap:5px}.topbar .avatar{width:33px;height:33px}.mobile-settings{width:33px;height:38px;display:grid}.topbar-actions{gap:8px}.page{padding:29px 22px 115px}.page-heading{gap:12px;margin-bottom:23px}.page-heading h1{letter-spacing:-1.1px;font-size:2.25rem}.page-heading .eyebrow{letter-spacing:1.3px;margin-bottom:11px;font-size:.75rem}.page-heading>div>p:last-child{max-width:285px;margin-top:13px;font-size:.75rem;line-height:1.7}.page-emblem{border-radius:19px;align-self:flex-start;width:50px;height:53px;margin-top:23px}.page-emblem>svg{width:24px}.today-heading h1{font-size:2.6875rem;line-height:1.09}.today-heading>div>p:last-child{max-width:100%;font-size:.75rem}.today-heading .eyebrow{margin-bottom:13px;font-size:.75rem}.welcome-hero{border-radius:22px;height:240px;margin-bottom:17px;padding:26px 23px}.hero-copy h2{font-size:1.875rem;line-height:1.13}.hero-copy>p{max-width:175px;margin-top:10px;font-size:.75rem}.hero-tag{letter-spacing:1.2px;gap:6px;font-size:.75rem}.hero-japanese{letter-spacing:7px;font-size:.75rem;top:22px;right:14px}.tea-art{opacity:.87;width:265px;bottom:0;right:-57px}.hero-button{gap:9px;min-height:36px;margin-top:19px;padding:8px 13px;font-size:.75rem}.hero-button>svg{width:14px}.overview-grid{gap:9px;margin-bottom:24px}.overview-card{border-radius:18px;padding:14px 11px 12px}.overview-icon{border-radius:10px;width:29px;height:29px;margin-bottom:13px;position:static}.overview-caption{min-height:24px;margin-bottom:2px;padding-right:0;font-size:.75rem;line-height:1.5}.overview-card>strong{flex-wrap:wrap;align-items:baseline;gap:5px;height:44px;font-size:1.8125rem;line-height:1.1}.overview-card>strong>small{font-size:.75rem}.overview-card .meal-overview-name{padding:0;font-size:1.3125rem;line-height:1.15}.overview-bottom{gap:3px;min-height:39px;margin-top:7px;padding-top:9px;font-size:.75rem;line-height:1.5}.overview-bottom>svg{width:13px;height:13px}.today-details{gap:17px;margin-bottom:20px}.panel{border-radius:21px;padding:22px 20px}.section-heading{margin-bottom:16px}.section-heading h2{font-size:1.4375rem}.section-heading .eyebrow{letter-spacing:1.4px;margin-bottom:7px;font-size:.75rem}.section-heading .text-link{white-space:nowrap;font-size:.75rem}.agenda-event{gap:12px;padding:20px 0}.agenda-event-content strong{font-size:.875rem}.event-time,.event-people{font-size:.75rem}.today-groceries .mini-products{margin-bottom:23px}.today-groceries .mini-products strong,.today-groceries .mini-products small{font-size:.75rem}.today-groceries>.full-width{min-height:43px;font-size:.75rem}.today-meal-banner{border-radius:22px;min-height:220px;padding:25px 22px}.today-meal-banner>div{max-width:69%}.today-meal-banner h2{font-size:1.5rem;line-height:1.22}.today-meal-banner p{max-width:190px;font-size:.75rem}.today-meal-banner .food-art{width:215px;top:47px;right:-69px}.home-footer{margin-top:25px}.home-footer>span:first-child{font-size:.75rem}.shopping-toolbar{gap:11px;margin-bottom:28px}.search-field{padding:0 12px}.search-field input{height:42px;font-size:.75rem}.segmented{padding:3px}.segmented>button{width:34px;height:33px}.shopping-page{padding-bottom:210px}.shopping-category{margin-bottom:25px}.shopping-category h2{gap:10px;font-size:1.4375rem}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.product-card{border-radius:17px}.product-complete{min-height:158px;padding:28px 11px 16px}.purchase-circle{width:18px;height:18px;top:12px;left:11px}.product-card .product-art{width:64px;height:64px;margin-bottom:5px}.product-name{padding-right:15px;font-size:.75rem;line-height:1.45}.product-quantity{padding-right:15px;font-size:.75rem}.product-edit{width:36px;height:40px;bottom:2px;right:0}.product-edit>svg{width:13px;height:13px}.product-list .product-complete{gap:9px;min-height:75px;padding:9px 45px 9px 43px}.product-list .purchase-circle{top:28px;left:13px}.product-list .product-art{width:45px;height:45px}.product-list .product-name{font-size:.8125rem}.product-list .product-quantity{text-align:right;max-width:60px;font-size:.75rem}.product-list .product-edit{bottom:17px;right:3px}.shopping-composer{bottom:calc(80px + env(safe-area-inset-bottom));border-radius:20px;padding:12px 14px;left:14px;right:14px}.composer-fields{gap:10px}.composer-fields label{gap:5px;font-size:.75rem}.composer-fields input{min-height:30px;font-size:.75rem}.composer-fields .quantity-field{flex:0 0 82px;padding-left:10px}.round-button{width:43px;height:43px}.purchased-section{margin-top:26px}.purchased-section>summary>span{font-size:.875rem}.restore-label{padding:0 4px;font-size:.75rem}.purchased-item>span:nth-child(2){font-size:.75rem}.desktop-create{display:none}.calendar-layout{gap:20px}.calendar-panel{padding:22px 15px}.month-heading{gap:8px;margin-bottom:23px;padding:0 4px}.month-heading h2{white-space:nowrap;font-size:1.5rem}.month-actions .icon-button{width:31px;height:38px}.today-button{padding:6px 10px;font-size:.75rem}.calendar-filters{gap:7px;margin-bottom:25px;padding:0 4px}.calendar-filters>button{min-height:36px;padding:7px 12px;font-size:.75rem}.month-grid{row-gap:7px}.weekday{padding-bottom:8px;font-size:.75rem}.day-cell{gap:4px;min-height:48px}.day-cell>span:first-child{width:33px;height:33px;font-size:.75rem}.calendar-caption{margin-top:20px;margin-left:5px;margin-right:5px;font-size:.75rem}.day-agenda{padding:24px 20px}.day-agenda .section-heading h2{font-size:1.5rem;line-height:1.2}.day-agenda .section-heading>svg{display:none}.day-agenda .full-width{min-height:45px;font-size:.75rem}.meal-week{margin-bottom:30px;padding:22px 17px}.meal-week .section-heading{align-items:flex-start;gap:15px}.meal-week .section-heading>div:first-child{width:100%}.meal-week .month-actions{margin-left:-5px}.meal-week .section-heading h2{font-size:1.5625rem}.meal-day{gap:13px;min-height:90px;padding:15px 0}.meal-day-date{width:32px}.meal-day-date>strong{font-size:1.5rem}.meal-day-date>span{font-size:.75rem}.meal-open-slot{min-height:48px;padding:11px 12px;font-size:.75rem}.recipe-grid{gap:15px}.recipe-card{display:block}.recipe-art{width:100%;height:205px}.recipe-art .food-art{width:275px}.recipe-copy{padding:23px}.recipe-copy h3{margin:9px 0 14px;font-size:1.75rem}.recipe-copy .eyebrow,.recipe-copy p{font-size:.75rem}.recipe-copy p>span{flex-basis:auto;margin-left:auto;font-size:.75rem}.recipe-heading{margin-bottom:20px}.recipe-heading h2{font-size:1.5625rem;line-height:1.25}.recipe-heading>svg{width:22px}.demo-banner,.conflict-banner,.connection-banner{flex-wrap:wrap;gap:9px;margin:14px 16px 0;padding:10px 12px;font-size:.75rem}.demo-banner>span{gap:7px}.demo-banner>button,.conflict-banner>button{margin-left:22px;font-size:.75rem}.toast{left:50%;bottom:calc(87px + env(safe-area-inset-bottom));border-radius:15px;gap:9px;max-width:calc(100vw - 24px);padding:11px 13px;font-size:.75rem}.toast-check{width:21px;height:21px}.toast>button{font-size:.75rem}.toast>span:nth-child(2){max-width:200px}.modal{border-radius:24px;width:calc(100vw - 24px);max-height:calc(100dvh - 35px);padding:22px 22px 25px}.modal-heading h2{font-size:1.5625rem}.form{gap:17px}.form input:not([type=checkbox]),.form select,.form textarea{min-height:48px;padding:12px 11px;font-size:1rem}.form label{font-size:.75rem}.form-grid{gap:10px}.primary-button,.secondary-button,.danger-button{min-height:47px;padding:12px 17px;font-size:.75rem}.form-actions{gap:9px}.form-actions .primary-button{padding:12px 16px}.form-details summary{font-size:.8125rem}.visibility-note{font-size:.75rem}.ingredient-edit-row{gap:5px}.ingredient-edit-row label:nth-child(2){flex:0 0 83px}.ingredient-edit-row input{padding:11px 9px!important;font-size:.8125rem!important}.ingredient-edit-row .icon-button{width:32px}.event-detail>h3{font-size:1.9375rem}.settings-section>h3{font-size:1.3125rem}.settings-members{gap:18px}.welcome-gate{padding:20px 16px 35px}.welcome-gate-card{padding:30px 24px}.welcome-gate-card h1{font-size:2.0625rem}.welcome-gate>.brand{margin-top:10px;margin-bottom:30px}.welcome-gate .brand small,.welcome-footnote{font-size:.75rem}.empty-state{padding:31px 9px}.empty-state h3{font-size:1.25rem}.empty-state p{font-size:.75rem}.import-target{gap:8px;padding:14px 11px;font-size:.75rem}.import-target>strong{font-size:.75rem}}@media (width<=370px){.topbar{margin:0 16px}.page{padding-left:16px;padding-right:16px}.topbar .brand{font-size:1rem}.topbar .avatar{width:29px;height:29px}.topbar .mobile-settings{width:27px}.today-heading h1{font-size:2.5rem}.welcome-hero{padding-left:20px}.tea-art{right:-70px}.overview-grid{gap:7px}.overview-card{padding:13px 9px}.overview-card .meal-overview-name{font-size:1.1875rem}.product-grid{gap:7px}.product-name{font-size:.75rem}.month-heading h2{font-size:1.375rem}.calendar-panel{padding-left:12px;padding-right:12px}.day-cell>span:first-child{width:30px;height:30px}.month-actions .icon-button{width:28px}.today-button{padding:6px 9px}.composer-fields .quantity-field{flex-basis:70px}.composer-fields{gap:8px}.toast>span:nth-child(2){max-width:165px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.mobile-sync{display:none}@media (width<=700px){.mobile-sync{justify-content:flex-end;margin:12px 22px -8px;display:flex}.mobile-sync .sync-status,.event-time,.event-people{font-size:.75rem}.product-name{font-size:.8125rem}.product-quantity,.composer-fields label{font-size:.75rem}.composer-fields input{font-size:1rem}.composer-fields .quantity-field{flex-basis:91px}.overview-caption{min-height:32px;font-size:.75rem}.overview-bottom,.hero-copy>p{font-size:.75rem}.hero-button{min-height:42px;font-size:.75rem}}:root{--visible-height:100dvh;--visible-top:0px;--keyboard-inset:0px}body{font-size:1rem;line-height:1.6}h1,h2,h3,.brand{font-family:var(--font-body);font-weight:500}h1{letter-spacing:-.8px;font-size:clamp(30px,3vw,42px);line-height:1.25}h2{letter-spacing:-.35px;font-size:1.4375rem;line-height:1.4}h3{font-size:1.1875rem}button,a{-webkit-user-select:none;user-select:none}input,select,textarea{scroll-margin-block:90px;font-size:max(16px,1rem)!important}button,.primary-button,.secondary-button,.danger-button{font-weight:500}.primary-button,.secondary-button,.danger-button,.text-link,.icon-button{min-height:48px}.primary-button,.secondary-button,.danger-button{border-radius:14px;font-size:.9375rem}.icon-button{min-width:48px}.page{padding-top:42px}.page-heading{align-items:center;margin-bottom:32px}.page-heading>div>p:last-child{margin-top:10px;font-size:1rem;line-height:1.65}.page-heading .eyebrow,.eyebrow{letter-spacing:1.15px;font-size:.75rem;font-weight:500}.page-heading .eyebrow{margin-bottom:12px}.heading-dot{display:none}.brand{letter-spacing:-.45px;font-size:1.4375rem}.brand-icon{background:var(--primary);width:46px;height:46px;color:var(--on-primary);border-radius:16px}.brand small{letter-spacing:1.1px;margin-top:4px;font-family:inherit;font-size:.625rem}.sidebar-caption{letter-spacing:1px;font-size:.6875rem}.desktop-nav a{border-radius:14px;min-height:52px;font-size:1rem}.sidebar-bottom{gap:12px}.sidebar-settings{text-align:left;min-height:48px;font-size:.875rem}.topbar{border-bottom-color:var(--line)}.panel{box-shadow:none;border-radius:20px}.section-heading{gap:12px}.daily-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:24px;display:grid}.daily-summary button{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:20px;grid-template-columns:24px 1fr 20px;align-items:center;gap:5px 14px;padding:22px;display:grid}.daily-summary button>strong{font-size:1.9375rem;font-weight:500;line-height:1.1}.daily-summary button>span{color:var(--muted);grid-column:2;font-size:.875rem}.daily-summary button>svg:first-child{color:var(--primary);grid-row:1/3}.daily-summary button>svg:last-child{color:var(--muted);grid-area:1/3/3}.today-columns{grid-template-columns:1.1fr 1fr;gap:24px;display:grid}.today-columns .panel{min-width:0;padding:24px}.today-columns .empty-state{padding:28px 10px}.today-task{border-bottom:1px solid var(--line-soft);text-align:left;background:0 0;align-items:flex-start;gap:14px;width:100%;padding:16px 0;display:flex}.today-task>span:last-child{gap:5px;min-width:0;display:grid}.today-task strong{overflow-wrap:anywhere;font-size:1rem;font-weight:500}.today-task small{color:var(--muted);font-size:.8125rem;line-height:1.5}.task-empty-check{border:1.5px solid var(--control-border);border-radius:7px;flex-shrink:0;width:20px;height:20px;margin-top:4px;display:inline-block}.today-tasks>.secondary-button{margin-top:20px}.home-next{grid-template-columns:1fr 1fr;gap:24px;margin-top:24px;display:grid}.home-next>button{text-align:left;background:var(--surface);align-items:center;gap:18px;padding:24px;display:flex}.home-next>button>span:not(.date-symbol){flex:1;gap:6px;min-width:0;display:grid}.home-next small,.home-next span span{color:var(--muted);font-size:.875rem}.home-next strong{overflow-wrap:anywhere;font-size:1.25rem;font-weight:500}.date-symbol{color:var(--clay);font-size:2.625rem;line-height:1}.product-line-icon{color:var(--primary);place-items:center;display:grid}.product-card{border-radius:18px}.product-card .product-edit{min-width:48px;min-height:48px}.category-heading{font-size:1rem}.composer-fields label{font-size:.8125rem}.shopping-composer{border-radius:18px}.composer-fields input{min-height:38px}.calendar-filters button,.filter-row button{min-height:48px;font-size:.875rem}.calendar-caption{font-size:.8125rem;line-height:1.6}.day-cell{touch-action:pan-y;-webkit-touch-callout:none}.day-details-button{margin-bottom:14px}.event-title{font-size:1rem}.event-row{min-height:74px}.event-row small{font-size:.8125rem}.form label,.invite-result label{font-size:.875rem}.form input:not([type=checkbox]),.form select,.form textarea,.invite-result input{border-radius:12px;min-height:48px}.form-intro,.field-help,.visibility-note{font-size:.875rem;line-height:1.65}.choice{min-height:48px;font-size:.9375rem}.small-section-title{margin:24px 0 12px;font-size:1.0625rem}.modal-is-open,.modal-is-open body{overflow:hidden}.modal{inset:auto;top:calc(var(--visible-top) + 16px);max-height:calc(var(--visible-height) - 32px);border-radius:22px;margin:0;padding:0;position:fixed;left:50%;overflow:hidden;transform:translate(-50%)}.modal[open]{flex-direction:column;display:flex}.modal-heading{border-bottom:1px solid var(--line-soft);flex-shrink:0;margin:0;padding:18px 24px 14px}.modal-heading h2{font-size:1.4375rem;line-height:1.35}.modal-heading>.icon-button{margin-right:-10px}.modal-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;min-height:0;padding:22px 24px 30px;scroll-padding-block:24px 80px;overflow-y:auto}.modal-scroll>.full-width:last-child{margin-top:20px}.form-actions{flex-wrap:wrap;gap:12px;padding-top:10px}.filter-row{flex-wrap:wrap;gap:8px;margin-bottom:20px;display:flex}.filter-row button{border:1px solid var(--line);background:var(--surface);border-radius:30px;padding:9px 17px}.filter-row button.selected{background:var(--primary);border-color:var(--primary);color:var(--on-primary)}.reminder-scope{max-width:650px;margin-bottom:20px}.task-list{padding:8px 24px}.task-row{border-bottom:1px solid var(--line-soft);align-items:flex-start;gap:10px;padding:14px 0;display:flex}.task-row:last-child{border-bottom:0}.task-row .task-check{background:var(--subtle);border-radius:13px;margin-top:2px}.task-row .task-check .task-empty-check{margin-top:0}.task-copy{text-align:left;background:0 0;flex:1;gap:4px;min-width:0;padding:4px 0;display:grid}.task-copy strong{overflow-wrap:anywhere;font-size:1.0625rem;font-weight:500}.task-copy>span{color:var(--muted);font-size:.875rem}.task-copy .assignee-label{color:var(--primary)}.task-row.completed .task-copy strong{color:var(--muted);text-decoration:line-through}.task-copy .overdue{color:var(--danger)}.speech-controls{align-items:center;gap:15px;margin:20px 0 10px;display:flex}.speech-controls>span{font-size:.875rem}.speech-transcript,.speech-item label{gap:8px;margin:20px 0;font-size:.875rem;display:grid}.speech-transcript textarea,.speech-item input{width:100%;color:var(--ink);background:var(--input);border:1px solid var(--control-border);border-radius:12px;padding:12px}.speech-item{grid-template-columns:minmax(0,1fr) minmax(0,100px) 40px;align-items:end;gap:8px;display:grid}.speech-item label{min-width:0;margin:12px 0}.speech-item>button{min-width:40px;margin-bottom:12px}.interim-transcript{color:var(--muted);margin-bottom:16px}.speech-review h3{margin-top:24px}.recipe-provenance{max-width:750px;color:var(--muted);margin-bottom:24px;font-size:.875rem}.recipe-tools .search-field{max-width:480px;margin-bottom:14px}.result-count{color:var(--muted);margin:0 0 14px;font-size:.8125rem}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.recipe-card{text-align:left;border:1px solid var(--line);background:var(--surface);min-height:260px;color:var(--ink);border-radius:20px;flex-direction:column;padding:22px;display:flex}.recipe-card:hover{background:var(--hover);transform:none}.recipe-card-top{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:.8125rem;display:flex}.recipe-copy{flex:1;padding:23px 0 24px}.recipe-copy h3{margin:0 0 9px;font-size:1.375rem;font-weight:500;line-height:1.35}.recipe-copy p{margin:0;font-size:.875rem;line-height:1.5;display:block}.recipe-card-bottom{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;display:flex}.recipe-card-bottom strong{color:var(--primary);font-size:1.5625rem;font-weight:500;line-height:1.3;display:grid}.recipe-card-bottom strong span{color:var(--muted);font-size:.75rem}.recipe-card-bottom>span{color:var(--muted);align-items:center;gap:5px;font-size:.8125rem;display:flex}.recipe-source{border-top:1px solid var(--line-soft);color:var(--muted);margin-top:18px;padding-top:14px;font-size:.75rem;display:block}.nutrition-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:22px 0 16px;display:grid}.nutrition-grid>div{background:var(--subtle);text-align:center;border-radius:14px;gap:3px;padding:14px 9px;display:grid}.nutrition-grid strong{font-size:1.4375rem;font-weight:500}.nutrition-grid span{color:var(--muted);overflow-wrap:anywhere;font-size:.75rem}.source-link{margin-top:22px}.source-policy{margin:12px 0;font-size:.8125rem}.ingredient-list li{gap:14px;font-size:.9375rem;line-height:1.6}.ingredient-list strong{text-align:right;font-weight:500}.ideas-page .page-heading h1{max-width:650px}.idea-card{background:var(--surface);text-align:left;flex-direction:column;align-items:flex-start;min-width:0;padding:24px;display:flex}.idea-number{color:var(--clay);margin-bottom:25px;font-size:2.5rem;font-weight:400;line-height:1.1}.idea-category{color:var(--muted);margin-bottom:12px;font-size:.8125rem}.idea-card h2{margin-bottom:12px;font-size:1.4375rem}.idea-card>p{color:var(--muted);flex:1;font-size:.9375rem}.idea-footer{border-top:1px solid var(--line-soft);width:100%;color:var(--primary);justify-content:space-between;margin-top:24px;padding-top:16px;display:flex}.idea-footer>span{align-items:center;gap:7px;font-size:.8125rem;display:flex}.idea-preparation{margin-bottom:22px;font-size:1rem}@media (width<=1100px){.recipe-grid,.ideas-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.daily-summary button{gap:5px 9px;padding:18px}.today-columns,.home-next{grid-template-columns:1fr}}@media (width<=700px){.topbar{height:80px;margin:0 20px}.topbar .member-avatars{display:none}.topbar-actions{gap:0}.mobile-brand .brand{gap:9px;font-size:1.1875rem}.mobile-brand .brand-icon{border-radius:14px;width:40px;height:40px}.mobile-brand .brand-icon svg{width:32px;height:32px}.mobile-brand .brand small{letter-spacing:.9px;font-size:.5rem}.mobile-settings{min-width:44px;min-height:48px}.page{padding:27px 20px 125px}.page-heading{flex-wrap:wrap;align-items:flex-start;gap:16px;margin-bottom:26px}.page-heading h1{letter-spacing:-.6px;font-size:1.9375rem;line-height:1.25}.page-heading .eyebrow{letter-spacing:1px;margin-bottom:10px;font-size:.75rem}.page-heading>div>p:last-child{max-width:none;margin-top:10px;font-size:.9375rem;line-height:1.6}.page-heading>.primary-button{padding-inline:18px}.daily-summary{gap:9px;margin-bottom:20px}.daily-summary button{flex-direction:column;align-items:flex-start;gap:10px;padding:16px 12px;display:flex}.daily-summary button>strong{font-size:1.8125rem}.daily-summary button>span{font-size:.75rem;line-height:1.4}.daily-summary button>svg:last-child{display:none}.today-columns{gap:20px}.today-columns .panel{padding:20px}.home-next{gap:20px;margin-top:20px}.home-next>button{gap:13px;padding:20px}.home-next strong{font-size:1.1875rem}.section-heading h2{font-size:1.3125rem}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.product-card .product-art{width:64px;height:64px}.product-card .product-name{font-size:1rem;line-height:1.4}.product-card .product-quantity{font-size:.875rem}.product-list{grid-template-columns:1fr}.product-list .product-art{width:42px;height:42px}.shopping-composer{left:12px;right:12px;bottom:calc(86px + env(safe-area-inset-bottom));padding:12px 14px}.composer-fields{gap:10px}.composer-fields .quantity-field{flex-basis:82px;padding-left:10px}.composer-fields .round-button{width:46px;height:46px}:root[data-keyboard=open] .shopping-composer{bottom:calc(var(--keyboard-inset) + 12px)}:root[data-keyboard=open] .toast{bottom:calc(var(--keyboard-inset) + 118px)}.modal{width:calc(100vw - 20px);top:calc(var(--visible-top) + 10px);max-height:calc(var(--visible-height) - 20px);border-radius:20px;padding:0}.modal-heading{padding:12px 20px}.modal-heading h2{font-size:1.3125rem}.modal-scroll{padding:20px 20px 28px}.task-list{padding:6px 16px}.task-row{gap:10px}.task-copy strong{font-size:1rem}.filter-row{gap:7px}.filter-row button{padding:9px 14px;font-size:.875rem}.recipe-grid,.ideas-grid{grid-template-columns:1fr;gap:16px}.recipe-card{min-height:230px;padding:22px}.recipe-copy h3{font-size:1.4375rem}.recipe-card-bottom strong{font-size:1.75rem}.idea-card{padding:24px}.nutrition-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.nutrition-grid>div{padding:12px}.ingredient-list li{align-items:flex-start}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}.agenda-event-content strong{font-size:1rem;line-height:1.5}.event-time,.event-people{font-size:.8125rem}.empty-state h3{font-weight:500}.empty-state p{font-size:.875rem}.calendar-layout>section{min-width:0}@media (width<=700px){.calendar-layout{grid-template-columns:minmax(0,1fr)}.month-heading{flex-wrap:wrap;row-gap:14px}.month-heading h2{flex-basis:100%;font-size:1.4375rem}.month-heading .month-actions{justify-content:space-between;width:100%}.month-actions .icon-button{width:48px;height:48px}.today-button{min-height:48px;padding-inline:18px;font-size:.875rem}.day-cell>span:first-child{font-size:1rem}.weekday{font-size:.8125rem}}.shopping-page{padding-bottom:180px}@media (width<=700px){.shopping-page{padding-bottom:calc(240px + env(safe-area-inset-bottom))}}.meal-day{position:relative}.meal-random-button{border:1px solid var(--line-strong);background:var(--surface);min-height:48px;color:var(--primary);border-radius:14px;flex:none;justify-content:center;align-items:center;gap:7px;width:auto;margin-top:0;margin-left:auto;padding:10px 12px;font-size:.875rem;display:flex}.recipe-suggestion{border-bottom:1px solid var(--line);margin-bottom:20px;padding-bottom:20px}.suggestion-day{color:var(--primary);margin-bottom:16px;font-size:.9375rem;font-weight:500}.recipe-suggestion .field-help{margin-bottom:16px}.recipe-portion-row{justify-content:space-between;align-items:center;gap:16px;margin:24px 0 12px;display:flex}.recipe-portion-row h3{font-size:1.25rem}.recipe-portion-row label{align-items:center;gap:10px;font-size:.875rem;display:flex}.recipe-portion-row select{min-height:48px;color:var(--ink);background:var(--input);border:1px solid var(--control-border);border-radius:12px;padding:8px 12px}.ingredient-amount{text-align:right;gap:5px;display:grid}.ingredient-amount small{color:var(--clay);max-width:150px;font-size:.75rem}.recipe-equipment{background:var(--subtle);border-radius:14px;align-items:flex-start;gap:10px;margin:24px 0;padding:16px;font-size:.875rem;display:flex}.recipe-equipment svg{color:var(--primary);margin-top:3px}.cooking-heading{flex-wrap:wrap;margin:28px 0 14px}.cooking-heading h3{font-size:1.375rem}.cooking-heading>span{color:var(--muted);font-size:.8125rem}.cooking-steps{margin:0;padding:0;list-style:none}.cooking-steps li{border-bottom:1px solid var(--line-soft);padding:18px 0}.cooking-steps label{cursor:pointer;grid-template-columns:32px minmax(0,1fr);gap:14px;min-height:48px;display:grid;position:relative}.cooking-steps input{opacity:0;cursor:pointer;width:30px;height:30px;margin:0;position:absolute}.cooking-steps input:focus-visible+.cooking-step-number{outline:3px solid var(--focus);outline-offset:4px}.cooking-step-number{border:1px solid var(--line-strong);width:30px;height:30px;color:var(--primary);border-radius:10px;place-items:center;font-size:.9375rem;font-weight:500;display:grid}.cooking-steps strong{margin:2px 0 9px;font-size:1.0625rem;font-weight:500;line-height:1.5;display:block}.cooking-step-text{color:var(--ink);font-size:1rem;line-height:1.75;display:block}.cooking-steps .is-complete .cooking-step-number{background:var(--primary);color:var(--on-primary);border-color:var(--primary)}.cooking-steps .is-complete strong{color:var(--muted)}.cooking-tip{background:var(--subtle);border-radius:16px;margin:24px 0;padding:20px}.cooking-tip h4{margin:0 0 8px;font-size:1rem;font-weight:500}.cooking-tip p{font-size:.9375rem;line-height:1.7}.recipe-sources{border-top:1px solid var(--line);color:var(--muted);margin-top:22px;padding-top:18px;font-size:.875rem}.recipe-sources summary{cursor:pointer;min-height:48px;color:var(--primary);padding-block:10px}.recipe-sources p{margin:10px 0}.recipe-sources .text-link{font-size:.875rem}@media (width<=700px){.meal-random-button{flex:0 0 100%;width:auto;margin-top:0;margin-left:45px}.meal-day{flex-wrap:wrap}.meal-day>.meal-open-slot{flex:1}.meal-random-button{flex-basis:calc(100% - 45px);margin-left:45px}}.modal-footer{border-top:1px solid var(--line);background:var(--surface);flex-shrink:0;padding:14px 24px 18px}@media (width<=700px){.modal-footer{padding:12px 20px 16px}}body,h1,h2,h3,.brand,.avatar,.meal-day-date>strong{font-family:var(--font-body)}body{letter-spacing:-.2px;line-height:1.45}h1{letter-spacing:-1.2px;font-size:2.25rem;font-weight:750;line-height:1.12}h2{letter-spacing:-.55px;font-size:1.375rem;font-weight:700}h3{font-weight:650}button{font-weight:550}.eyebrow{text-transform:none;letter-spacing:0;font-size:.8125rem;font-weight:550}.page{max-width:1360px;margin-inline:auto;padding-top:28px}.page-heading{align-items:center;gap:16px;margin-bottom:26px}.page-heading:before,.page-heading .eyebrow{display:none}.page-heading>div>p:last-child{color:var(--muted);margin-top:8px;font-size:.9375rem;line-height:1.45}.page-emblem,.ideas-page>.page-heading>svg{display:none}.brand{letter-spacing:-.5px;font-size:1.125rem;font-weight:650}.brand-icon{color:#fff;background:#252729;border-radius:11px;width:36px;height:36px;box-shadow:inset 0 1px #ffffff20}.sidebar{background:var(--sidebar);padding-top:28px}.sidebar-caption{letter-spacing:.4px;margin-top:36px;font-size:.6875rem}.desktop-nav a{border-radius:12px;font-weight:550}.desktop-nav a.active{background:var(--surface);color:var(--primary);box-shadow:0 1px 3px #00000006}.nav-count{background:var(--subtle);color:var(--muted);border-radius:50%}.topbar{border-bottom:0;height:64px}.topbar-actions{gap:10px}.topbar .icon-button{background:var(--surface);border-radius:50%;width:44px;min-width:44px;height:44px;min-height:44px}.topbar .sync-status{font-size:.75rem}.primary-button,.secondary-button,.danger-button{box-shadow:none;border-radius:14px;font-weight:650}.secondary-button{background:var(--surface);border-color:var(--line)}.panel{background:var(--surface);border:0;border-radius:22px;box-shadow:0 1px 2px #00000003}.section-heading h2{font-size:1.25rem}.today-page>.page-heading{color:var(--ink);background:0 0;border-radius:0;padding:0}.today-page>.page-heading .eyebrow{color:var(--muted);margin-bottom:7px;font-size:.8125rem;display:block}.daily-summary{gap:12px}.daily-summary button{background:var(--surface);border:0;border-radius:20px;padding:20px}.daily-summary button>strong{font-size:1.875rem;font-weight:700}.daily-summary button>svg:first-child{color:var(--primary)}.daily-summary button:nth-child(2)>svg:first-child{color:var(--soft-green)}.daily-summary button:nth-child(3)>svg:first-child{color:var(--brown)}.today-agenda,.today-tasks{border:0}.today-columns .panel{padding:22px}.empty-state{padding:24px 8px}.empty-state>svg{width:28px;height:28px}.empty-state h3{font-size:1.0625rem}.home-next>button{background:var(--surface);border:0;border-radius:20px;min-width:0}.home-next strong{font-size:1.125rem}.home-next .eyebrow{font-size:.75rem}.meal-week{box-shadow:none;background:0 0;margin-bottom:24px;padding:0}.meal-week>.section-heading{border:0;flex-wrap:nowrap;align-items:center;gap:6px;margin:0;padding:0 0 14px;display:flex}.week-label{color:var(--muted);margin-bottom:3px;font-size:.75rem}.meal-week .section-heading h2{letter-spacing:-.5px;font-size:1.125rem;font-weight:650}.meal-week .month-actions{flex-shrink:0;gap:0}.meal-week .month-actions .icon-button{width:40px;min-width:40px;min-height:48px}.meal-week .today-button{min-height:48px;color:var(--primary);background:0 0;padding:6px;font-size:.75rem}.meal-days{background:var(--surface);border-radius:22px;gap:0;padding:0 16px;display:flex;overflow:hidden}.meal-day{border:0;border-bottom:1px solid var(--line-soft);grid-template-columns:42px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:82px;padding:12px 0;display:grid}.meal-day:last-child{border-bottom:0}.meal-day-date{gap:1px;width:42px;padding:0}.meal-day-date>span{text-transform:none;font-size:.6875rem;font-weight:550}.meal-day-date>strong{letter-spacing:-.8px;font-size:1.4375rem;font-weight:600;line-height:1.1}.meal-day-date>small{margin:0;font-size:.625rem}.meal-day.is-today{background:0 0;border-radius:0}.meal-day.is-today .meal-day-date{background:var(--clay-light);color:var(--primary);border-radius:13px;padding:6px 0}.meal-day.is-today .meal-day-date>span{color:var(--primary)}.meal-open-slot{border:0;border-radius:10px;gap:7px;width:100%;min-height:48px;padding:0;font-size:.9375rem}.meal-open-slot svg{width:17px;color:var(--primary)}.meal-random-button{background:var(--subtle);width:auto;min-height:48px;color:var(--primary);border:0;border-radius:14px;gap:5px;margin:0;padding:0 10px;font-size:.75rem}.meal-random-button:hover{background:var(--hover)}.market-season{background:var(--market);color:var(--market-ink);border-radius:22px;margin:0 0 28px;padding:20px}.market-heading{align-items:center;gap:10px;display:flex}.market-heading .eyebrow{color:inherit;margin-bottom:3px;font-size:.75rem}.market-heading h2{font-size:1.3125rem}.market-tags{flex-wrap:wrap;gap:6px;margin:14px 0 10px;display:flex}.market-tags>span{background:var(--surface);color:var(--market-ink);border-radius:9px;padding:5px 9px;font-size:.8125rem}.market-tags small{font-size:.6875rem}.market-season>p,.market-season details{font-size:.8125rem;line-height:1.5}.market-season summary{cursor:pointer;align-content:center;min-height:44px}.market-season .text-link{color:inherit;font-size:.8125rem}.recipe-collection{margin-top:28px}.recipe-heading{margin-bottom:8px}.recipe-heading .eyebrow{display:none}.recipe-heading h2{font-size:1.5625rem}.recipe-provenance{color:var(--muted);margin:0 0 18px;font-size:.8125rem}.recipe-provenance summary{cursor:pointer;min-height:44px;padding:10px 0}.recipe-provenance p{padding:4px 0 10px}.search-field{background:var(--subtle);border:0;border-radius:13px}.search-field input{background:0 0}.filter-row{gap:7px}.filter-row button{background:var(--surface);border-color:#0000;border-radius:12px;font-size:.875rem}.filter-row button.selected{background:var(--ink);color:var(--background);border-color:#0000}.season-toggle{align-items:center;gap:10px;min-height:48px;font-size:.875rem;display:flex}.season-toggle input{width:22px;height:22px;accent-color:var(--primary);flex-shrink:0}.recipe-grid{gap:16px}.recipe-card{background:var(--surface);min-height:0;box-shadow:none;border:0;border-radius:22px;padding:20px;overflow:hidden}.recipe-card:hover{background:var(--surface);border-color:#0000;transform:none;box-shadow:0 4px 20px #00000008}.recipe-photo-preview{margin:-20px -20px 16px;display:block;position:relative}.recipe-photo-preview img{object-fit:cover;width:100%;height:190px;display:block}.recipe-photo-preview>span{color:#fff;background:#000b;border-radius:7px;padding:3px 7px;font-size:.625rem;position:absolute;bottom:10px;left:12px}.recipe-card-top{align-items:center;font-size:.75rem}.recipe-copy{margin:12px 0 18px;padding:0}.recipe-copy h3{letter-spacing:-.5px;font-size:1.3125rem;font-weight:650;line-height:1.25}.recipe-copy p{margin-top:8px;font-size:.875rem;line-height:1.45}.recipe-card-bottom strong{color:var(--soft-green);font-size:1.1875rem;font-weight:700}.recipe-card-bottom strong span{font-size:.6875rem;font-weight:500}.recipe-source{margin-top:12px;font-size:.6875rem}.recipe-photo{margin:0 0 20px}.recipe-photo img{object-fit:cover;border-radius:18px;width:100%;height:220px;display:block}.recipe-photo figcaption{color:var(--muted);margin-top:7px;font-size:.6875rem}.recipe-photo a{text-decoration:underline}.season-badge{color:var(--soft-green);margin:12px 0;font-size:.8125rem}.guest-portions{flex-wrap:wrap;gap:8px;margin:4px 0 12px;display:flex}.guest-portions button{background:var(--subtle);border-radius:12px;min-height:48px;padding:9px 13px;font-size:.875rem}.guest-portions button.selected{background:var(--primary);color:var(--on-primary)}.season-warning{background:var(--yellow-light);border-radius:12px;padding:12px;font-size:.875rem}.ideas-page h1{max-width:none}.idea-card{background:var(--surface);border:0;min-height:0;padding:24px}.idea-category{color:var(--primary);font-size:.75rem}.idea-card h2{margin:10px 0;font-size:1.375rem}.idea-card p{font-size:.9375rem}.idea-footer{margin-top:20px}.shopping-toolbar .segmented{background:var(--subtle);border-radius:12px;padding:3px}.product-card{background:var(--surface);border:0;border-radius:18px}.product-card .product-art{width:58px;height:58px}.product-card .product-name{font-size:.9375rem;font-weight:600}.product-card .product-quantity{font-size:.8125rem}.shopping-category h2{font-size:1.1875rem;font-weight:650}.shopping-composer{background:var(--nav);border:1px solid var(--line-soft);border-radius:24px;box-shadow:0 8px 32px #0000000c}.task-list{border:0;padding:4px 18px}.task-row{padding-block:14px}.task-copy strong{font-weight:600}.calendar-panel{border:0;padding:22px}.calendar-panel h2{font-weight:650}.day-cell.selected>span:first-child{border-radius:50%}.day-cell{border-radius:12px}.calendar-caption{font-size:.75rem}.modal{border:1px solid var(--line-soft);border-radius:28px;box-shadow:0 24px 100px #0003}.modal::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0005}.modal-heading{background:var(--surface);align-items:center;padding:14px 22px}.modal-heading h2{letter-spacing:-.5px;font-size:1.25rem;font-weight:700}.modal-heading>.icon-button{background:var(--subtle);border-radius:50%;width:40px;min-width:40px;height:40px;min-height:44px;margin:0}.form input,.form textarea,.form select{background:var(--input);border-color:#0000;border-radius:13px}.form label{font-size:.875rem;font-weight:550}.form input:focus,.form textarea:focus,.form select:focus{border-color:var(--primary)}.nutrition-grid>div{border-radius:14px}.cooking-step-number{background:var(--subtle);color:var(--primary)}@supports ((-webkit-backdrop-filter:blur(20px)) or (backdrop-filter:blur(20px))){.shopping-composer{background:color-mix(in srgb, var(--surface) 88%, transparent);-webkit-backdrop-filter:blur(24px)saturate(1.5);backdrop-filter:blur(24px)saturate(1.5)}}@media (width<=700px){.topbar{gap:8px;height:58px;margin:0 20px}.mobile-brand .brand{gap:8px;font-size:1rem;font-weight:650}.mobile-brand .brand-icon{border-radius:9px;width:30px;height:30px}.mobile-brand .brand-icon svg{width:25px;height:25px}.topbar-actions{gap:4px}.topbar .icon-button{background:var(--surface)}.topbar .status-saved{min-width:18px;display:inline-flex}.topbar .status-saved>span{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.topbar .status-saved svg{color:var(--soft-green);width:16px}.mobile-sync{margin:0 20px 8px}.page{padding:14px 20px 130px}.page-heading{flex-wrap:nowrap;gap:12px;margin-bottom:22px}.page-heading h1{letter-spacing:-1.1px;font-size:2.125rem;line-height:1.12}.page-heading>div>p:last-child{margin-top:7px;font-size:.875rem}.page-heading .desktop-create{display:none}.today-page>.page-heading h1{font-size:2.125rem}.today-page>.page-heading .eyebrow{font-size:.75rem}.today-page>.page-heading>.primary-button{min-width:48px;padding-inline:12px;font-size:.8125rem}.daily-summary{gap:9px;margin-bottom:18px}.daily-summary button{border-radius:18px;gap:6px;padding:14px}.daily-summary button>strong{font-size:1.75rem}.daily-summary button>span{font-size:.75rem}.daily-summary button>svg:first-child{width:20px;height:20px}.today-columns{gap:18px}.today-columns .panel{padding:18px}.today-columns .empty-state{padding:18px 0}.home-next{gap:12px}.home-next>button{padding:18px}.meal-week .section-heading h2{font-size:1rem}.meal-week .month-actions .icon-button{width:32px;min-width:32px}.meal-week .today-button{padding-inline:4px;font-size:.6875rem}.meal-days{border-radius:20px;padding-inline:14px}.meal-day{grid-template-columns:38px minmax(0,1fr) auto;gap:9px;min-height:78px;padding:10px 0;display:grid}.meal-day-date{width:38px}.meal-open-slot{gap:5px;font-size:.875rem}.meal-random-button{grid-column:auto;gap:4px;width:auto;margin:0;padding:0 9px;font-size:.75rem}.meal-random-button svg{width:15px}.market-season{margin-top:0;padding:18px}.market-heading h2{font-size:1.25rem}.recipe-grid,.ideas-grid{gap:14px}.recipe-card{min-height:0;padding:20px}.product-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px}.product-complete{padding-inline:8px}.product-card .product-art{width:48px;height:48px}.product-list{grid-template-columns:1fr}.product-card .product-name{font-size:.875rem}.product-card .product-quantity{font-size:.75rem}.shopping-composer{bottom:calc(92px + env(safe-area-inset-bottom));border-radius:22px;padding:10px 12px}.shopping-page{padding-bottom:calc(240px + env(safe-area-inset-bottom))}.modal{border-radius:26px}.modal-heading{padding:13px 18px}.modal-heading h2{font-size:1.1875rem}.modal-scroll{padding:20px 18px 28px}.calendar-panel{border-radius:20px;padding:18px 12px}.calendar-connections-toolbar{gap:8px;margin-bottom:12px}.calendar-connections-toolbar .secondary-button{min-height:44px;padding:9px 12px;font-size:.8125rem}.day-agenda{padding:18px}}@media (width<=360px){.mobile-brand .brand{gap:6px;font-size:.875rem}.topbar{margin-inline:16px}.page{padding-inline:16px}.meal-random-button>span{display:none}.meal-random-button{justify-content:center;width:44px;padding:0}.meal-week .section-heading h2{font-size:.9375rem}.product-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.product-list{grid-template-columns:1fr}}@media (prefers-reduced-transparency:reduce){.shopping-composer{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}.modal::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.shopping-followup{background:var(--hero);border-radius:14px;align-items:flex-start;gap:12px;padding:16px;display:flex!important}.shopping-followup input{width:22px;height:22px;accent-color:var(--primary);flex-shrink:0;min-height:0!important}.shopping-followup span{gap:5px;display:grid}.shopping-followup small{color:var(--muted);font-size:.8125rem}.stock-ingredient{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:14px;padding:14px 0;display:flex}.stock-ingredient>div{gap:4px;min-width:0;display:grid}.stock-ingredient strong{overflow-wrap:anywhere;font-size:.9375rem;font-weight:500}.stock-ingredient small{color:var(--muted);font-size:.8125rem}.stock-ingredient select{border:1px solid var(--control-border);width:156px;max-width:100%;min-height:48px;color:var(--ink);background:var(--input);border-radius:12px;padding:8px}.stock-ingredient>label{flex-shrink:0}.ingredient-import-footer{gap:4px;display:grid}.ingredient-import-footer .text-link{justify-self:center}@media (width<=380px){.stock-ingredient{flex-direction:column;align-items:stretch;gap:8px}.stock-ingredient select{width:100%}}.calendar-connections-toolbar,.calendar-link-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 20px;display:flex}.calendar-source-problems{background:var(--yellow-light);border-radius:16px;margin-bottom:20px;padding:16px;font-size:.875rem}.calendar-source-problems p+p{margin-top:8px}.calendar-connection{border:1px solid var(--line);border-radius:18px;margin-top:20px;padding:20px}.connection-heading{align-items:center;gap:13px;margin-bottom:14px;display:flex}.connection-heading h3{font-size:1.25rem;font-weight:700}.connection-heading p{color:var(--muted);font-size:.8125rem}.connection-icon{background:var(--hero);width:46px;height:46px;color:var(--primary);border-radius:14px;flex-shrink:0;place-items:center;display:grid}.connection-icon.provider-google{background:var(--clay-light);color:var(--clay)}.connection-icon.provider-apple{background:var(--subtle);color:var(--ink)}.calendar-connection>.secondary-button{margin-top:12px}.connection-unavailable{color:var(--muted);margin-top:12px;font-size:.8125rem;display:block}.calendar-guidance{margin-top:24px;font-size:.875rem}.calendar-guidance summary{cursor:pointer;min-height:48px;font-weight:500}.calendar-guidance p{margin-bottom:12px}.connection-calendar-list{border:0;border-top:1px solid var(--line);min-width:0;margin:18px 0 0;padding:18px 0 0}.connection-calendar-list legend{padding-right:8px;font-size:.875rem;font-weight:500}.connection-calendar-list>label{overflow-wrap:anywhere;align-items:center;gap:12px;min-height:48px;padding:8px 0;display:flex}.connection-calendar-list input{width:22px;height:22px;accent-color:var(--primary);flex-shrink:0}.connection-calendar-list small{color:var(--muted);display:block}.connection-calendar-list .primary-button{margin-top:16px}.connected-agenda{background:var(--hero);border-radius:20px;margin-top:24px;padding:22px}.connected-agenda>h3{font-size:1.0625rem}.connected-event{text-align:left;border-bottom:1px solid var(--line-strong);background:0 0;gap:5px;width:100%;padding:16px 0;display:grid}.connected-event>span,.connected-event small{color:var(--muted);font-size:.8125rem}.connected-event strong{overflow-wrap:anywhere;font-size:1rem;font-weight:500}.external-day-count{color:var(--primary);font-size:.625rem;font-weight:700}.event-calendar-link{border-top:1px solid var(--line);border-bottom:1px solid var(--line);margin:24px 0;padding:20px 0}.event-calendar-link h3{margin-bottom:15px}.event-calendar-link .form{margin-top:18px}.event-calendar-link select{white-space:normal;width:100%;max-width:100%}.calendar-link-state{background:var(--hero);border-radius:14px;margin-top:15px;padding:16px;font-size:.875rem}.calendar-link-state .secondary-button{margin-top:12px}@media (width<=380px){.calendar-connection{padding:15px}.calendar-connection .secondary-button,.connection-calendar-list .primary-button{width:100%}}.meal-day-date,.meal-random-button{align-self:start}.meal-day-date{margin-top:3px}.page-heading>div{min-width:0}.meal-open-slot{font-weight:400}@media (width<=700px){.page-heading{flex-wrap:wrap}.topbar .sync-status.status-demo{display:none}}.idea-card p,.recipe-copy p,.product-quantity,.event-people,.event-time,.home-next small,.daily-summary button>span{font-weight:400}@media (width<=700px){.month-heading{flex-wrap:nowrap;gap:4px;margin-bottom:12px}.month-heading h2{flex-basis:auto;font-size:1.125rem}.month-heading .month-actions{justify-content:flex-end;width:auto}.month-heading .month-actions .icon-button{width:36px;min-width:36px;min-height:48px}.month-heading .today-button{color:var(--primary);background:0 0;padding-inline:6px;font-size:.75rem}.calendar-filters{margin-bottom:14px}.calendar-filters>button{border-radius:12px;min-height:44px;padding:8px 12px}.month-grid{row-gap:3px}.day-cell{min-height:48px}.weekday{padding-bottom:8px}}.meal-week>.section-heading{flex-wrap:wrap}.meal-week>.section-heading>div:first-child{flex:140px;min-width:0}@media (width<=700px){.month-heading{flex-wrap:wrap}.month-heading h2{flex:140px}.calendar-filters>button{white-space:normal}}.day-cell.outside{color:var(--muted);opacity:1}.idea-card h2,.home-next strong{overflow-wrap:anywhere;min-width:0}@media (width<=700px){.mobile-brand{flex:1;min-width:0}.mobile-brand .brand{min-width:0}.mobile-brand .brand>span:last-child{text-overflow:ellipsis;min-width:0;overflow:hidden}.mobile-brand .brand-icon,.topbar-actions{flex-shrink:0}.daily-summary button>span{overflow-wrap:anywhere;min-width:0}}.page-heading h1{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto}.meal-day{grid-template-columns:2.5rem minmax(0,1fr) auto}.meal-day-date{width:100%}.home-next small{overflow-wrap:anywhere}.owner-person-1{--event-fill:#e8e7df;--event-ink:#494b42;--event-accent:#71776a}.owner-person-2{--event-fill:#efe0db;--event-ink:#744135;--event-accent:#965246}.owner-together{--event-fill:#ece5d9;--event-ink:#625845;--event-accent:#8b7c63}.owner-unassigned{--event-fill:#ece9e2;--event-ink:#625f55;--event-accent:#858071}:root[data-theme=dark] .owner-person-1{--event-fill:#30332b;--event-ink:#d7dccd;--event-accent:#b5beab}:root[data-theme=dark] .owner-person-2{--event-fill:#40312c;--event-ink:#edc8bd;--event-accent:#d5a295}:root[data-theme=dark] .owner-together{--event-fill:#383329;--event-ink:#ded3bf;--event-accent:#c3b28f}:root[data-theme=dark] .owner-unassigned{--event-fill:#34332c;--event-ink:#dad5c7;--event-accent:#b9b19d}.agenda-event .event-dot{background:var(--event-accent)}.event-detail{background:var(--event-fill);color:var(--event-ink)}.event-assignment-preview{background:var(--event-fill);color:var(--event-ink);border-radius:12px;align-items:center;gap:9px;padding:12px;font-size:.875rem;display:flex}.legend-dot{background:var(--event-accent);color:#fff;border-radius:50%;flex-shrink:0;place-items:center;width:18px;height:18px;font-size:.6875rem;display:inline-grid}.calendar-filters .tiny-avatar{background:var(--event-fill);color:var(--event-ink)}.calendar-filters .legend-dot{color:var(--event-ink);background:var(--event-fill)}.month-with-previews{flex-direction:column;gap:0;font-size:1rem;display:flex}.month-weekdays,.month-week{grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.month-weekdays{flex-shrink:0}.month-weekdays .weekday{padding:0;font-size:.6875rem}.month-week{border-top:1px solid var(--line-soft);flex:1;min-height:8rem;position:relative}.month-week>.day-cell{border-radius:0;justify-content:flex-start;gap:0;height:100%;min-height:0;padding:3px 0 0}.month-week>.day-cell.selected{background:color-mix(in srgb, var(--primary) 4%, transparent)}.month-week .day-cell>span:first-child{flex-shrink:0;width:1.5rem;height:1.5rem;font-size:.875rem;font-weight:550}.week-previews{pointer-events:none;grid-template-columns:repeat(7,minmax(0,1fr));grid-auto-rows:1.5rem;gap:.0625rem 2px;display:grid;position:absolute;inset:1.5rem 0 auto}.month-event-preview{pointer-events:auto;background:var(--event-fill);min-width:0;color:var(--event-ink);text-align:left;border-radius:4px;align-items:center;gap:3px;margin:0 1px;padding:0 3px;font-size:.6875rem;font-weight:550;line-height:1.1;display:flex;overflow:hidden}.preview-owner{flex-shrink:0;font-size:.5625rem;font-weight:750}.preview-title{white-space:nowrap;text-overflow:ellipsis;min-width:0;overflow:hidden}.private-preview-mark{flex-shrink:0}.month-more{pointer-events:auto;text-align:center;width:100%;min-width:0;color:var(--muted);background:0 0;padding:0;font-size:.625rem;font-weight:600;line-height:1.15;display:block}.calendar-caption{margin:12px 0 18px;font-size:.75rem}@media (width>=701px){.month-with-previews{min-height:50rem}.calendar-layout{grid-template-columns:minmax(0,1.4fr) minmax(0,1fr)}.calendar-layout>.calendar-caption{grid-area:2/1;margin-top:-12px}.calendar-layout>.day-agenda{grid-area:1/2}}@media (width<=700px){.app-shell[data-tab=kalender] .topbar{height:44px;margin-inline:16px}.app-shell[data-tab=kalender] .topbar .icon-button{background:0 0;width:40px;min-width:44px;height:40px;min-height:44px}.mobile-calendar-title{letter-spacing:-.4px;font-size:1.0625rem;font-weight:650}.calendar-page{padding:0 8px calc(80px + env(safe-area-inset-bottom))}.calendar-page>.page-heading{clip-path:inset(50%);width:1px;height:1px;margin:0;padding:0;position:absolute;overflow:hidden}.calendar-page>.page-heading>.desktop-create{display:none}.calendar-layout{display:block}.calendar-panel{height:calc(var(--visible-height) - 116px - env(safe-area-inset-bottom));min-height:24rem;box-shadow:none;background:0 0;border-radius:0;flex-direction:column;padding:0 6px;display:flex}.calendar-panel .month-heading{flex-shrink:0;min-height:44px;margin:0}.calendar-panel .month-heading h2{font-size:1.25rem}.calendar-filters{scrollbar-width:none;flex-wrap:nowrap;flex-shrink:0;gap:6px;min-height:42px;margin:0 0 2px;padding:2px 0;overflow-x:auto}.calendar-filters>button{border-radius:10px;flex-shrink:0;gap:5px;min-height:36px;padding:5px 10px;font-size:.75rem}.calendar-filters>button.selected{background:var(--ink);color:var(--surface)}.month-with-previews{flex:1;min-height:0}.month-week{min-height:0}.calendar-page .calendar-caption{margin:16px 8px 20px}.calendar-page .day-agenda{margin:0 8px 20px}.calendar-page>.calendar-connections-toolbar{margin:16px 8px}.calendar-page .calendar-source-problems{margin:10px}.calendar-panel .month-actions .icon-button,.calendar-panel .month-actions .today-button{height:44px;min-height:44px}}.calendar-view-switch{background:var(--subtle);border-radius:12px;flex-shrink:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:3px;margin:8px 0;padding:3px;display:grid}.calendar-view-switch button{min-height:36px;color:var(--muted);background:0 0;border-radius:9px;padding:6px 8px;font-size:.8125rem}.calendar-view-switch button[aria-pressed=true]{color:var(--ink);background:var(--surface);font-weight:600;box-shadow:0 1px 4px #0000000c}.calendar-page:not([data-view=month]) .calendar-panel{height:auto;min-height:0}.calendar-agenda-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.calendar-date-button{text-align:left;background:0 0;flex-wrap:wrap;align-items:baseline;gap:8px;min-height:48px;padding:8px 0;display:flex}.calendar-date-button>span{color:var(--muted);font-size:.8125rem}.calendar-date-button>strong{font-size:1rem;font-weight:600}.calendar-date-button[aria-current=date]{color:var(--primary)}.calendar-date-button>small{font-size:.75rem}.calendar-agenda-day{border-bottom:1px solid var(--line-soft);padding:8px 0 14px}.calendar-free-day{color:var(--muted);margin:4px 0;font-size:.875rem}.calendar-list-empty{color:var(--muted);gap:16px;padding:24px 0;display:grid}.calendar-list-empty>button{justify-self:start}.calendar-page:not([data-view=month]) .calendar-layout{display:block}.calendar-agenda .connected-agenda{margin-block:12px}.agenda-event.is-completed .agenda-event-content>strong{text-decoration:line-through}.calendar-controls{align-items:center;gap:8px;display:flex}.calendar-controls .calendar-view-switch{flex:1;min-width:0}.calendar-add{color:var(--primary);flex:0 0 44px}.day-task-create{margin-top:10px}.creation-choices{gap:12px;display:grid}.creation-choice{text-align:left;color:var(--ink);background:var(--subtle);border:1px solid var(--line-soft);border-radius:18px;align-items:center;gap:16px;padding:20px;display:flex}.creation-choice>svg{color:var(--primary);flex-shrink:0}.creation-choice>span{gap:6px;display:grid}.creation-choice strong{font-size:1.125rem}.creation-choice span span{color:var(--muted);line-height:1.45}.task-group-filter{gap:8px;max-width:26rem;margin-block:16px;display:grid}.task-group-filter select{width:100%}.calendar-agenda-day .task-row,.day-dialog-events .task-row{margin-block:8px}.tasks-page .filter-row{gap:6px}.tasks-page .filter-row button{min-height:44px;padding:10px 12px;font-size:.8125rem}.task-help{color:var(--muted);margin-top:20px;font-size:.875rem;line-height:1.55}.task-help summary{cursor:pointer;min-height:44px;padding-block:12px}.task-help p{max-width:42rem}.calendar-panel .month-heading h2{white-space:normal;overflow-wrap:anywhere;min-width:0}.task-group-filter{color:var(--muted);font-size:.875rem}.task-group-filter select{border:1px solid var(--control-border);background:var(--input);min-width:0;min-height:48px;color:var(--ink);font:inherit;border-radius:12px;padding:12px 13px;font-size:1rem}.task-copy>span{font-weight:400}.task-copy .assignee-label{font-weight:500}body{background-image:url(/brand/paper-grain.svg);background-repeat:repeat}.brand-icon{color:#fbf6eb;box-shadow:none;background:#252729;border-radius:10px}.brand-icon svg,.mobile-brand .brand-icon svg{width:100%;height:100%}.brand>span:last-child{font-family:var(--font-display);letter-spacing:-.6px;font-size:1.2em;font-weight:600}.page-heading h1{font-family:var(--font-display);letter-spacing:-.035em;font-weight:600}.panel,.recipe-card,.product-card{background:var(--surface);box-shadow:0 1px 0 color-mix(in srgb, var(--ink) 7%, transparent);border-radius:20px}.daily-summary button{background:var(--surface);border-radius:20px}.daily-summary button>svg:first-child{width:28px;height:28px}.primary-button,.secondary-button{border-radius:14px}.icon-button{border-radius:50%}.meal-days{background:var(--surface);border-radius:20px}.meal-day{border-bottom-color:#0000}.meal-day:not(:last-child){border-bottom:1px solid var(--line-soft)}.meal-day.is-today .meal-day-date{border-radius:14px}.meal-random-button{background:var(--subtle);border-radius:14px}.market-season{background:var(--market);border-radius:20px}.market-heading>svg{width:36px;height:36px;transform:rotate(-6deg)}.market-heading .eyebrow{text-transform:none;letter-spacing:.2px}.recipe-card{border:1px solid var(--line-soft);box-shadow:none}.recipe-card-bottom strong{color:var(--soft-green)}.purchase-circle{border-color:var(--control-border);border-radius:50%}.shopping-composer{background:var(--nav);border-color:var(--line);border-radius:20px}.modal{background:var(--surface)}.modal-heading{background:var(--surface);border-bottom-color:var(--line)}.modal-footer{background:var(--surface)}.form input,.form textarea,.form select{background:var(--input)}.task-check{border-radius:50%}.empty-state>svg{color:var(--soft-green)}.month-week{border-top-color:var(--line)}.month-week .day-cell.selected>span:first-child{border-radius:50%}.month-event-preview{border-radius:4px}.month-event-preview.continues-before{border-top-left-radius:0;border-bottom-left-radius:0}.month-event-preview.continues-after{border-top-right-radius:0;border-bottom-right-radius:0}.desktop-nav a.active{background:var(--surface);box-shadow:none}@media (width<=700px){.brand-icon,.mobile-brand .brand-icon{border-radius:8px}.calendar-panel{box-shadow:none;background:0 0;border-radius:0}.daily-summary button>svg:first-child{width:26px;height:26px}}@media (prefers-reduced-transparency:reduce){.shopping-composer{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}@media (forced-colors:active){body{background-image:none}.page-heading h1:after,.month-week:before{display:none}}.ink-landscape{width:112px;height:72px;display:block;position:relative}.ink-landscape>img{object-fit:contain;object-position:bottom;opacity:.9;filter:saturate(.9)contrast(.97);width:100%;height:100%;display:block}.ink-sun{background:#c47b58;border-radius:50%;width:22px;height:22px;position:absolute;top:4px;left:4px}:root[data-theme=dark] .ink-landscape>img{filter:brightness(1.1)saturate(.7)contrast(.97)}.ideas-intro{isolation:isolate;border-bottom:1px solid var(--line);margin-bottom:20px;padding-top:4px;position:relative}.ideas-title{z-index:1;position:relative}.ideas-title h1{font-family:var(--font-display);letter-spacing:-.04em;margin:0 0 12px;font-size:2.25rem;font-weight:600;line-height:1.12}.ideas-title>p:last-child{color:var(--muted);max-width:none;font-size:.875rem}.ideas-intro>.ink-landscape{width:100%;height:150px;margin-top:16px;overflow:hidden}.ideas-intro .ink-landscape>img{object-fit:cover;object-position:68% bottom}.ideas-intro .ink-sun{width:34px;height:34px;top:0;left:16%}.ideas-page .filter-row{flex-wrap:wrap;gap:4px;margin:0;display:flex}.ideas-page .filter-row button{white-space:nowrap;background:0 0;border:0;border-radius:24px;min-height:48px;padding:8px;font-size:.8125rem;font-weight:500}.ideas-page .filter-row button.selected{background:var(--ink);color:var(--background)}.ideas-count{color:var(--muted);margin:18px 0 4px;font-size:.75rem}.ideas-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 32px;display:grid}.ideas-page .idea-card{border:0;border-bottom:1px solid var(--line);box-shadow:none;background:0 0;border-radius:0;padding:20px 32px 20px 0;transition:background .15s;position:relative}.ideas-page .idea-card:hover{background:var(--subtle);transform:none}.ideas-page .idea-card:focus-visible{outline-offset:-3px}.ideas-page .idea-category{color:var(--primary);margin:0 0 8px;font-size:.6875rem;font-weight:500}.ideas-page .idea-card h2{letter-spacing:-.025em;margin:0 0 8px;font-size:1.1875rem;font-weight:600;line-height:1.3}.ideas-page .idea-card>p{overflow-wrap:anywhere;flex:none;width:100%;margin:0;font-size:.875rem;line-height:1.5}.ideas-page .idea-footer{color:var(--muted);border:0;margin:12px 0 0;padding:0}.ideas-page .idea-footer>span{font-size:.75rem}.ideas-page .idea-footer>svg{color:var(--primary);position:absolute;top:21px;right:0}@media (width<=700px){.ideas-intro{margin-bottom:12px;padding-top:6px}.ideas-title h1{font-size:2.125rem}.ideas-title>p:last-child{max-width:none;line-height:1.5}.ideas-intro>.ink-landscape{width:calc(100% + 40px);height:110px;margin-inline:-20px}.ideas-intro .ink-sun{width:28px;height:28px;left:15%}.ideas-page .filter-row{scrollbar-width:thin;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.ideas-page .filter-row button{flex:none}.ideas-grid{grid-template-columns:minmax(0,1fr);gap:0}}@media (prefers-reduced-motion:reduce){.ideas-page .idea-card{transition:none}}@media (width<=360px){.ideas-intro>.ink-landscape{width:calc(100% + 32px);margin-inline:-16px}}.primary-button,.secondary-button,.danger-button{border-radius:var(--radius-control);min-height:48px;font-size:.875rem;font-weight:600}.filter-row button{border-radius:24px;min-height:48px;padding:8px 14px;font-size:.8125rem;font-weight:500}.panel,.product-card,.recipe-card,.market-season{border-radius:var(--radius-panel)}.modal{border-radius:var(--radius-sheet);max-width:calc(100vw - 32px)}.modal-heading{gap:16px}.modal-heading h2{-webkit-hyphens:auto;hyphens:auto;overflow-wrap:anywhere;min-width:0;font-size:1.0625rem;font-weight:600;line-height:1.3}.modal-heading>.icon-button{flex-shrink:0;width:44px;min-width:44px;height:44px}.modal-scroll{overflow-wrap:anywhere}.form-actions>button{flex:auto}.toast>span:nth-child(2){overflow-wrap:anywhere;flex:160px;min-width:0;max-width:32rem}.toast>button{min-height:44px}.toast .toast-close{min-width:44px}.empty-icon{color:var(--soft-green)}@media (width<=700px){.modal{max-width:calc(100vw - 20px)}.page{padding-bottom:calc(var(--mobile-nav-height,60px) + 32px)}.shopping-page{padding-bottom:calc(var(--mobile-nav-height,60px) + var(--shopping-composer-height,96px) + 40px)}.shopping-composer{bottom:calc(var(--mobile-nav-height,60px) + 12px);border-radius:var(--radius-panel)}.toast{--notice-bottom:calc(var(--mobile-nav-height,60px) + 12px);bottom:var(--notice-bottom);max-height:calc(var(--visible-height) - var(--notice-bottom) + var(--keyboard-inset,0px) - 24px);overflow-y:auto}.app-shell[data-tab=einkauf] .toast{--notice-bottom:calc(var(--mobile-nav-height,60px) + var(--shopping-composer-height,96px) + 24px)}:root[data-keyboard=open] .shopping-composer{bottom:calc(var(--keyboard-inset) + 12px)}:root[data-keyboard=open] .toast{--notice-bottom:calc(var(--keyboard-inset) + 12px)}:root[data-keyboard=open] .app-shell[data-tab=einkauf] .toast{--notice-bottom:calc(var(--keyboard-inset) + var(--shopping-composer-height,96px) + 24px)}.topbar{height:auto;min-height:58px;padding-block:7px}.mobile-brand .brand{line-height:1.2}.app-shell[data-tab=kalender] .topbar{min-height:44px;padding-block:0}.calendar-panel{height:calc(var(--visible-height) - 56px - var(--mobile-nav-height,60px))}}.section-heading>div{min-width:0}.day-agenda .section-heading{flex-wrap:wrap}.day-agenda .section-heading h2{overflow-wrap:anywhere}.shopping-composer{container-type:inline-size}@container (width<=20rem){.composer-fields{grid-template-columns:minmax(0,1fr) 48px;align-items:end;display:grid}.composer-fields>label:first-child{grid-column:1/-1}.composer-fields .quantity-field{border-left:0;padding-left:0}.composer-fields label{width:100%}}.loading-screen{gap:24px}.loading-screen>.brand{flex-direction:column;gap:16px;margin:0;display:flex}.loading-screen .brand-icon{border-radius:20px;width:72px;height:72px}.loading-screen .brand>span:last-child{font-size:2rem}.loading-message{color:var(--muted);text-align:center;font-size:.875rem}.today-page .page-heading h1{-webkit-hyphens:none;hyphens:none;letter-spacing:-.04em;font-size:2rem;font-weight:500}.today-page .page-heading .eyebrow{text-transform:none;letter-spacing:0}.today-page .daily-summary{background:var(--surface);border:1px solid var(--line-soft);border-radius:20px;gap:0;overflow:hidden}.today-page .daily-summary button{text-align:center;box-shadow:none;background:0 0;border:0;border-radius:0;flex-direction:column;justify-content:center;align-items:center;gap:7px;padding:16px 8px;display:flex}.today-page .daily-summary button+button{border-left:1px solid var(--line-soft)}.today-page .daily-summary button>svg:first-child{color:var(--ink);width:21px;height:21px}.today-page .daily-summary button>strong{font-size:1.625rem;font-weight:600}.today-page .daily-summary button>span{font-size:.75rem;font-weight:400}.today-page .daily-summary button>svg:last-child{display:none}.today-page .today-columns .section-heading{margin-bottom:8px}.today-page .today-columns .empty-state{text-align:left;align-items:flex-start;gap:8px;padding:8px 0 0}.today-page .today-columns .empty-icon{display:none}.today-page .today-columns .empty-state h3{font-size:1rem;font-weight:500}.today-page .today-columns .empty-state p{max-width:none}.today-page .section-heading h2{font-size:1.125rem;font-weight:600}@media (width<=700px){.today-page>.page-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center;margin-bottom:20px;display:grid}.today-page .page-heading h1{font-size:1.875rem}.today-page .page-heading .eyebrow{margin-bottom:7px;font-size:.75rem}.today-columns .panel{padding:18px}}.today-page{container-type:inline-size}@container (width<=18rem){.today-page .daily-summary{grid-template-columns:minmax(0,1fr)}.today-page .daily-summary button{text-align:left;grid-template-columns:21px 2ch minmax(0,1fr);gap:12px;padding:14px;display:grid}.today-page .daily-summary button+button{border-left:0;border-top:1px solid var(--line-soft)}.today-page .daily-summary button>svg:first-child{grid-area:auto/1}.today-page .daily-summary button>strong{grid-column:2}.today-page .daily-summary button>span{overflow-wrap:normal;grid-column:3}.today-page>.page-heading{grid-template-columns:minmax(0,1fr)}.today-page>.page-heading>.primary-button{justify-self:start}}.toast{grid-template-columns:minmax(0,1fr) auto;gap:6px 12px;width:min(420px,100vw - 32px);padding:10px 14px;font-size:.875rem;display:grid}.toast>.toast-check{display:none}.toast>span:nth-child(2){grid-area:1/1;align-self:center;max-width:none}.toast>.toast-close{grid-area:1/2}.toast>button:not(.toast-close){grid-area:2/1/auto/-1;justify-self:start;padding-inline:0}.toast>p{grid-column:1/-1;margin:0}@media (width>=701px) and (width<=1000px){.topbar{flex-wrap:wrap;height:auto;min-height:64px;padding-block:12px}.desktop-breadcrumb{overflow-wrap:anywhere;min-width:0}.topbar-actions{flex-wrap:wrap;min-width:0;max-width:100%}}.form[hidden],.mobile-nav{display:none}@media (width<=700px){.mobile-nav{z-index:30;min-height:60px;padding:3px 8px calc(4px + env(safe-area-inset-bottom));background:var(--nav);border-top:1px solid var(--line-soft);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);grid-template-columns:repeat(5,minmax(0,1fr));gap:2px;display:grid;position:fixed;inset:auto 0 0}.mobile-nav>a{min-width:0;min-height:52px;color:var(--muted);text-align:center;border-radius:10px;grid-template-rows:28px auto;align-content:start;justify-items:center;gap:3px;padding:3px 0;font-weight:500;display:grid}.mobile-nav>a>.tab-icon{border-radius:16px;place-items:center;width:44px;height:28px;display:grid}.mobile-nav>a>.tab-icon>svg{width:23px;height:23px;color:inherit}.mobile-nav>a>.tab-label{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;width:100%;min-width:0;font-size:.6875rem;line-height:1.2;display:block}.mobile-nav>a.active{color:var(--accent);font-weight:600}.mobile-nav>a.active>.tab-icon{background:var(--subtle)}.mobile-nav>a:focus-visible{outline:3px solid var(--focus);outline-offset:0}:root[data-keyboard=open] .mobile-nav{display:none}}@media (prefers-reduced-transparency:reduce){.mobile-nav{background:var(--surface);-webkit-backdrop-filter:none;backdrop-filter:none}}.list-navigation{justify-content:space-between;align-items:center;max-width:1300px;margin:8px 20px 0;display:flex}.household-lists{grid-template-columns:repeat(auto-fill,minmax(min(100%,340px),1fr));gap:20px;display:grid}.list-card{--list-paper:#e7e2d8;--list-muted:#625d52;isolation:isolate;text-align:left;border-radius:var(--radius-panel);background:var(--list-paper);min-height:224px;color:var(--ink);border:1px solid #0000;grid-template-rows:auto auto 1fr;grid-template-columns:minmax(0,1.25fr) minmax(0,1fr);align-content:start;gap:6px;padding:26px;display:grid;position:relative}.list-card-title,.list-card-subject,.list-card-meta{z-index:1;width:100%;position:relative}.page .list-card-title{overflow-wrap:anywhere;-webkit-hyphens:auto;hyphens:auto;text-wrap:pretty;grid-column:1/-1;width:calc(100% - 22px);margin:0;font-size:1.75rem;line-height:1.18}.list-card-subject{color:var(--list-muted);grid-column:1;font-size:.875rem}.list-card-meta{color:var(--list-muted);grid-column:1;align-self:end;gap:2px;margin-top:28px;font-size:.875rem;display:grid}.list-card-meta strong{color:var(--ink);font-size:1rem;font-weight:600}.list-card>svg{color:var(--ink);position:absolute;top:22px;right:22px}.list-card-art{pointer-events:none;opacity:.9;grid-area:2/2/4;align-self:end;width:100%;height:150px;position:relative;overflow:hidden}.list-card-art>img{object-fit:contain;width:100%;height:100%}.list-theme-groceries .list-card-art>img{transform:scale(2)}.list-theme-home .list-card-art>img{transform:scale(1.25)}.list-theme-garden .list-card-art>img{transform:scale(1.35)}.list-card:hover{border-color:var(--list-muted)}.list-card:focus-visible{outline:2px solid var(--focus);outline-offset:4px}.list-theme-groceries{--list-paper:#e1e6d6;--list-muted:#555f48}.list-theme-travel{--list-paper:#ecdfc8;--list-muted:#6b5942}.list-theme-errands{--list-paper:#ead7d2;--list-muted:#705049}.list-theme-home{--list-paper:#dde2e3;--list-muted:#4c5d62}.list-theme-garden{--list-paper:#d9e3cc;--list-muted:#4b5f40}.list-theme-celebration{--list-paper:#e7d8df;--list-muted:#6b4e60}:root[data-theme=dark] .list-card{--list-paper:#38362f;--list-muted:#c5bfb1}:root[data-theme=dark] .list-theme-groceries{--list-paper:#343e2f;--list-muted:#bdc9ad}:root[data-theme=dark] .list-theme-travel{--list-paper:#463b2b;--list-muted:#d5c2a1}:root[data-theme=dark] .list-theme-errands{--list-paper:#49352f;--list-muted:#d7b7ad}:root[data-theme=dark] .list-theme-home{--list-paper:#303f43;--list-muted:#b2c9ce}:root[data-theme=dark] .list-theme-garden{--list-paper:#34402a;--list-muted:#bdd0a8}:root[data-theme=dark] .list-theme-celebration{--list-paper:#43323d;--list-muted:#d2b6c8}:root[data-theme=dark] .list-card-art{filter:invert(.8)hue-rotate(180deg)saturate(.5)}@media (width<=700px){.household-lists{gap:16px}.list-card{min-height:206px;padding:22px}.list-card-art{height:132px}.page .list-card-title{font-size:1.5rem}}@media (forced-colors:active){.list-card{border-color:buttontext}.list-card-art{display:none}}.frequent-entries,.recent-entries{margin-top:28px}.frequent-entries h2,.recent-entries h2{margin-bottom:12px;font-size:1rem;font-weight:600}.frequent-entries>p{color:var(--muted);font-size:.875rem;line-height:1.5}.frequent-entries>div{flex-wrap:wrap;gap:8px;display:flex}.frequent-entries button{text-align:left;max-width:100%}.frequent-entries button>span{overflow-wrap:anywhere;min-width:0}.frequent-entries small{color:var(--muted);font-size:.75rem;font-weight:400;display:block}.checklist-entries>article{border-bottom:1px solid var(--line-soft);align-items:center;gap:12px;padding-block:10px;display:flex}.checklist-entries>article:last-child{border-bottom:0}.checklist-copy{text-align:left;overflow-wrap:anywhere;background:0 0;flex:1;gap:5px;min-width:0;min-height:48px;padding:8px 0;display:grid}.checklist-copy>small{color:var(--muted);font-weight:400}.recent-entry{text-align:left;border-bottom:1px solid var(--line-soft);background:0 0;align-items:center;gap:12px;width:100%;min-height:52px;padding:10px 0;display:flex}.recent-entry>span{overflow-wrap:anywhere;flex:1;min-width:0}@media (width>=701px){.list-navigation{margin-inline:40px}}.meal-week>.section-heading{gap:16px;padding:20px 24px 16px}.meal-week .week-label{margin-bottom:6px}@media (width<=700px){.meal-week>.section-heading{padding:16px 16px 12px}}.meal-days{container:meal-plan/inline-size}.planned-meals{gap:14px;min-width:0;display:grid}.planned-meal{gap:6px;min-width:0;display:grid}.meal-title-button{text-align:left;background:0 0;grid-template-columns:minmax(0,1fr);gap:4px;width:100%;min-width:0;min-height:48px;padding:0;display:grid}.meal-title-button strong{overflow-wrap:anywhere;min-width:0;font-size:.9375rem;font-weight:600;line-height:1.4}.meal-title-button small{color:var(--muted);font-size:.75rem;font-weight:400}.meal-actions{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.meal-actions:empty{display:none}.ingredient-target{gap:8px;margin-bottom:12px;font-weight:600;display:grid}.ingredient-target select{border:1px solid var(--control-border);border-radius:var(--radius-control);width:100%;min-width:0;min-height:48px;color:var(--ink);background:var(--input);padding:10px 12px;font-size:1rem}.ingredient-list-create{margin-block:16px}.ingredient-import-summary{margin-block:20px 12px}.import-success .secondary-button{margin-top:12px}.today-page .today-quick-actions{grid-template-columns:repeat(3,minmax(0,1fr));max-width:640px}.today-tasks .task-copy{min-width:0}.meal-import-button{background:var(--subtle);width:auto;min-width:0;max-width:100%;height:auto;min-height:44px;color:var(--primary);text-align:left;border-radius:12px;flex:0 auto;justify-content:flex-start;align-items:center;gap:6px;padding:8px 10px;font-size:.8125rem;font-weight:500;display:inline-flex}.meal-import-button>span{overflow-wrap:anywhere;min-width:0;display:inline}@container meal-plan (width<=18rem){.meal-day{grid-template-columns:2.5rem minmax(0,1fr)}.meal-day>.meal-random-button{grid-column:2;justify-self:start}}.meal-section-links{margin:-8px 0 24px}.pantry-page>.text-link{margin-bottom:20px}.pantry-search{max-width:520px;margin-block:20px 16px}.pantry-entry{border-bottom:1px solid var(--line-soft);padding:20px 0}.pantry-entry:last-child{border-bottom:0}.pantry-copy{text-align:left;overflow-wrap:anywhere;background:0 0;gap:6px;width:100%;min-height:48px;padding:0;display:grid}.pantry-copy strong{font-size:1.125rem}.pantry-copy span{color:var(--ink)}.pantry-copy small,.stock-booked{color:var(--muted);font-size:.875rem}.pantry-actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.pantry-actions .secondary-button{padding-inline:12px}.stock-purchase,.stock-booked{flex:none;padding:10px}:is(.purchased-list>div:has(.stock-purchase),.purchased-list>div:has(.stock-booked)){flex-wrap:wrap}@media (width<=700px){.pantry-page .page-heading{flex-wrap:wrap;gap:16px}.pantry-actions .secondary-button{flex:auto}.stock-purchase,.stock-booked{margin-inline-start:32px}}.note-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));align-items:start;gap:20px;display:grid}.note-card{border-radius:var(--radius-panel);background:var(--surface);min-width:0;padding:22px}.note-color-sage{background:var(--market)}.note-color-clay{background:var(--clay-light)}.note-color-sand{background:var(--yellow-light)}.note-open{text-align:left;background:0 0;gap:12px;width:100%;padding:0;display:grid}.note-open h2{font-family:var(--font-display);overflow-wrap:anywhere;font-size:1.375rem;font-weight:500}.note-open p{white-space:pre-wrap;overflow-wrap:anywhere;-webkit-line-clamp:7;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.note-scope{color:var(--muted);flex-wrap:wrap;align-items:center;gap:7px;font-size:.875rem;display:flex}.note-checklist{margin-top:16px}.note-checklist>label{overflow-wrap:anywhere;align-items:center;gap:12px;min-height:48px;display:flex}.note-checklist input{width:20px;height:20px;accent-color:var(--primary);flex:none}.note-checklist .is-done>span{color:var(--muted);text-decoration:line-through}.note-lock{align-items:center;gap:7px;margin-top:16px;display:flex}.note-fields{border:0;gap:18px;min-width:0;padding:0;display:grid}.note-read-body{white-space:pre-wrap;overflow-wrap:anywhere;margin-block:20px}.note-read-checklist{margin-bottom:20px;padding-inline-start:20px}.note-checklist-editor{border:0;min-width:0;padding:0}.note-checklist-editor .ingredient-edit-row{grid-template-columns:minmax(0,1fr) 48px}.form .note-option{flex-direction:row;align-items:center;gap:10px;min-height:48px;display:flex}.note-option input{width:20px;height:20px;accent-color:var(--primary)}.area-links{border-block:1px solid var(--line);gap:0;display:grid}.area-links>button{border-bottom:1px solid var(--line-soft);text-align:left;background:0 0;align-items:center;gap:20px;min-height:108px;padding:24px 4px;display:flex}.area-links>button:last-child{border-bottom:0}.area-links>button>span{flex:1;gap:6px;min-width:0;display:grid}.area-links strong{font-family:var(--font-display);font-size:1.375rem;font-weight:500}.area-links small{color:var(--muted);font-size:1rem}.today-module-links{flex-wrap:wrap;gap:12px;margin-top:24px;display:flex}.birthday-row{text-align:left;border-bottom:1px solid var(--line-soft);background:0 0;align-items:center;gap:18px;width:100%;padding:20px 0;display:flex}.birthday-row:last-child{border-bottom:0}.birthday-row>span{overflow-wrap:anywhere;gap:7px;min-width:0;display:grid}.birthday-row strong{font-family:var(--font-display);font-size:1.25rem;font-weight:500}.birthday-row small{color:var(--muted);font-size:.875rem}.conflict-record-details{max-height:16rem;margin-top:12px;font-size:.9375rem;overflow:auto}.conflict-record-details p{white-space:pre-wrap;overflow-wrap:anywhere;margin-bottom:12px}.conflict-record-details ul{padding-inline-start:20px}.conflict-record-details:focus-visible{outline:2px solid var(--focus);outline-offset:3px}.notes-page .page-heading,.birthdays-page .page-heading{flex-wrap:wrap;gap:16px}.ink-illustration{pointer-events:none;width:140px;height:100px;display:block}.ink-illustration>img{object-fit:contain;mix-blend-mode:multiply;opacity:.9;filter:saturate(.9)contrast(.97);width:100%;height:100%;display:block}:root[data-theme=dark] .ink-illustration>img{filter:brightness(1.1)saturate(.7)contrast(.97);mix-blend-mode:normal}.ink-page-heading{grid-template-columns:minmax(0,1fr) 140px;align-items:center;gap:12px 16px;display:grid}.ink-page-heading>div{grid-area:1/1}.ink-page-heading>.ink-illustration{grid-area:1/2}.ink-page-heading>button{grid-column:1/-1;justify-self:start}.meals-page,.lists-page{container-type:inline-size}@container (width<=20rem){.ink-page-heading{grid-template-columns:minmax(0,1fr)}.ink-page-heading>.ink-illustration{display:none}}@media (width>=1100px){.ink-page-heading{grid-template-columns:minmax(0,1fr) 140px auto}.ink-page-heading>button{grid-area:1/3}}@font-face{font-family:"Source Sans 3";src:url(/fonts/source-sans-3-roman.woff2)format("woff2");font-style:normal;font-weight:200 900;font-display:swap}@font-face{font-family:"Source Serif 4";src:url(/fonts/source-serif-4-roman.woff2)format("woff2");font-style:normal;font-weight:200 900;font-display:swap}.page h1,.page h2,.modal h2,.onboarding-copy h1{font-family:var(--font-display);font-optical-sizing:auto}.today-welcome{grid-template-columns:minmax(0,1fr) minmax(140px,.7fr);align-items:center;gap:18px;min-height:200px;margin-bottom:12px;display:grid}.today-welcome>div{z-index:1;min-width:0;position:relative}.today-welcome .today-date{color:var(--muted);margin:0 0 9px;font-size:13px}.today-welcome h1{text-wrap:balance;max-width:18ch;font-size:clamp(30px,3.2vw,44px);font-weight:500}.today-home-ink{object-fit:contain;opacity:.9;filter:saturate(.9)contrast(.97);width:100%;height:220px;display:block}.today-quick-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-width:540px;margin:0 0 22px;display:grid}.today-quick-actions button{border-radius:15px;justify-content:center;gap:9px;min-width:0;min-height:48px;padding:11px 13px;font-size:14px}.daily-summary{background:var(--surface)}.page h2{font-family:var(--font-display);font-weight:500}@media (width<=700px){.today-welcome{grid-template-columns:minmax(0,1.05fr) minmax(120px,.95fr);gap:0;min-height:175px;margin-bottom:10px}.today-home-ink{height:185px}.today-welcome h1{font-size:30px;line-height:1.18}.today-welcome .today-date{font-size:11px}.today-welcome .household-title{font-size:12px}.today-quick-actions{gap:9px;margin-bottom:18px}.today-quick-actions button{padding-inline:10px;font-size:12px}}:root{--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-in-out:cubic-bezier(.77, 0, .175, 1)}#main-content>section:not([hidden]){opacity:1;transition:opacity .16s var(--ease-out)}.modal[open]{opacity:1;transition:opacity .22s var(--ease-out), transform .22s var(--ease-out);transform:translate(-50%)scale(1)}.modal[open]::backdrop{opacity:1;transition:opacity .22s var(--ease-out)}@starting-style{#main-content>section:not([hidden]){opacity:.94}.modal[open]{opacity:0;transform:translate(-50%)scale(.97)}.modal[open]::backdrop{opacity:0}}.modal[data-motion=instant],.modal[data-motion=instant]::backdrop{transition:none}html:has(nav a:focus-visible) #main-content>section{transition:none}html[data-motion=paused] #main-content>section,html[data-motion=paused] .modal,html[data-motion=paused] .modal::backdrop{transition:none}html[data-motion=paused] .ink-motion{opacity:.9!important;clip-path:none!important;transform:none!important}@media (prefers-reduced-motion:reduce){#main-content>section,.modal,.modal::backdrop{transition:none}.ink-motion{opacity:.9!important;clip-path:none!important;transform:none!important}}:root{--radius-control:10px;--radius-panel:14px;--radius-sheet:20px}body{font-family:var(--font-body);letter-spacing:0;font-size:1rem;line-height:1.55}.page h1,.page h2,.modal h2,.modal h3,.recipe-copy h3,.event-detail>h3,.settings-section>h3,.discard-prompt h3,.onboarding-copy h1{font-family:var(--font-display);font-optical-sizing:auto;font-weight:500}.page h1{letter-spacing:-.025em}.page h2,.modal h2,.modal h3,.recipe-copy h3{letter-spacing:-.015em}.recipe-copy h3,.today-page .section-heading h2{font-weight:500}.modal-heading h2{font-size:1.25rem}.lucide{stroke-width:1.6px}.sidebar-caption{font-family:var(--font-body);letter-spacing:.055em;font-size:.6875rem;font-weight:500}.desktop-nav a{border-radius:8px}.desktop-nav a.active{color:var(--primary);background:var(--accent-soft)}.panel,.daily-summary,.product-card,.recipe-card,.market-season{border-radius:var(--radius-panel);box-shadow:none}.daily-summary{border-color:var(--line-soft)}.today-page .daily-summary{border-radius:var(--radius-panel)}.today-quick-actions button,.shopping-composer,.meal-banner,.onboarding-choice,.onboarding input:not([type=radio]),.onboarding select{border-radius:var(--radius-control)}.primary-button,.secondary-button,.filter-row button,.text-link{font-family:var(--font-body)}.filter-row button,.ideas-page .filter-row button{border-radius:8px}.today-home-ink{object-fit:contain;height:210px}.ink-page-heading .ink-illustration{width:140px;height:100px}.ink-sun{background:var(--primary);opacity:.75}@media (width>=701px){.ideas-intro .ink-landscape>img{object-fit:contain;object-position:center bottom}}.onboarding .primary-button,.onboarding .secondary-button{border-radius:var(--radius-control)}:root[data-theme=dark] .brand .tomoni-lockup,:root[data-theme=dark] .tomoni-lockup,:root[data-theme=dark] .tomoni-symbol{filter:invert(.88)hue-rotate(180deg)}:root[data-theme=dark] .today-home-ink,:root[data-theme=dark] .ink-illustration>img,:root[data-theme=dark] .ink-landscape>img,:root[data-theme=dark] .onboarding-scene>img,:root[data-theme=dark] .garden-painting,:root[data-theme=dark] .garden-branch{filter:invert(.8)hue-rotate(180deg)saturate(.5);mix-blend-mode:normal}@media (width<=700px){.today-page>.today-welcome{grid-template-columns:minmax(0,1.2fr) minmax(0,.8fr)}.today-home-ink{min-width:0;height:170px}.mobile-nav>a.active>.tab-icon{background:var(--accent-soft)}}@media (forced-colors:active){.ink-sun{background:highlight}}
