@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial}}}@layer theme{:root,:host{--font-sans:-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.table{display:table}.grow{flex-grow:1}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}}:root{--ink:#24332f;--ink-soft:#59635f;--paper:#f4efe7;--paper-deep:#e9e0d3;--cream:#fffdf8;--sage:#718f79;--sage-light:#dfe8dc;--forest:#29463e;--tomato:#d75e45;--apricot:#eaa875;--saffron:#e4b956;--plum:#69566c;--line:#d8d0c4;--shadow:0 18px 55px #2a363117;--serif:Iowan Old Style, Baskerville, "Times New Roman", serif;--sans:Avenir Next, Avenir, "Helvetica Neue", sans-serif}*{box-sizing:border-box}html{background:var(--paper);scroll-behavior:smooth;min-height:100%}body{min-height:100%;color:var(--ink);background:var(--paper);font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}body:before{content:"";z-index:-1;pointer-events:none;opacity:.38;background-image:url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.75' numOctaves='3' stitchTiles='stitchTiles'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.04'/%3E%3C/svg%3E");position:fixed;inset:0}a{color:inherit}button,textarea{font:inherit}button{color:inherit}button,a{-webkit-tap-highlight-color:transparent}button:disabled{cursor:not-allowed;opacity:.48}:focus-visible{outline:3px solid var(--tomato);outline-offset:3px}.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{z-index:100;color:#fff;background:var(--forest);border-radius:8px;padding:11px 16px;font-weight:700;position:fixed;top:8px;left:8px;transform:translateY(-160%)}.skip-link:focus{transform:translateY(0)}.app-shell{min-height:100vh}.household-header{z-index:30;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#f4efe7e0;justify-content:space-between;align-items:center;height:84px;padding:0 clamp(20px,5vw,76px);display:flex;position:relative}.brand{align-items:center;gap:12px;text-decoration:none;display:flex}.brand-mark,.mini-mark,.state-mark{width:40px;height:40px;color:var(--paper);background:var(--forest);font:italic 700 24px/1 var(--serif);border-radius:50%;place-items:center;display:grid}.portrait-mark{flex-shrink:0;overflow:hidden}.portrait-mark img{object-fit:cover;width:100%;height:100%;display:block}.brand>span:last-child{flex-direction:column;display:flex}.brand strong,.brand-word{font:700 24px/1 var(--serif);letter-spacing:-.03em}.brand small{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;margin-top:4px;font-size:11px;font-weight:700}.household-meta{align-items:center;gap:17px;display:flex}.household-name{font-size:13px;font-weight:650}.live-status{color:var(--sage);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;font-size:11px;font-weight:800;display:inline-flex}.live-status i{background:currentColor;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px}@supports (color:color-mix(in lab, red, red)){.live-status i{box-shadow:0 0 0 4px color-mix(in srgb,currentColor 13%,transparent)}}.live-status.neutral{color:#66716d}.live-status.warning{color:#8a641f}.live-status.danger{color:#a43f31}.avatar-stack{padding-left:7px;display:flex}.avatar{border:2px solid var(--paper);width:32px;height:32px;color:var(--ink);font:800 11px/1 var(--sans);border-radius:50%;place-items:center;margin-left:-7px;display:grid}.avatar.sage{background:#b9cfbb}.avatar.apricot{background:#f2c09d}.avatar.plum{color:#fff;background:#8b728d}.icon-button{border:1px solid var(--line);cursor:pointer;background:0 0;border-radius:50%;place-items:center;width:40px;height:40px;padding:0;text-decoration:none;display:grid}.icon-button:hover{background:var(--cream)}.connection-banner{color:#46534f;text-align:center;background:#ebe6dc;padding:10px clamp(20px,5vw,76px);font-size:12px;line-height:1.5}.connection-banner.warning{color:#684b16;background:#f5e8c9}.connection-banner.danger{color:#762e24;background:#f4d9d4}.top-tabs{border-bottom:1px solid var(--line);background:#f4efe7b3;justify-content:center;gap:36px;display:flex}.top-tabs button{color:#737a76;cursor:pointer;background:0 0;border:0;align-items:center;gap:8px;height:58px;padding:0 4px;font-size:13px;font-weight:650;display:flex;position:relative}.top-tabs button:after{content:"";background:var(--forest);height:2px;transition:transform .18s;position:absolute;bottom:-1px;left:0;right:0;transform:scaleX(0)}.top-tabs button.active{color:var(--forest)}.top-tabs button.active:after{transform:scaleX(1)}.tab-count{color:#fff;background:var(--tomato);border-radius:10px;place-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;display:grid}.bottom-tabs{display:none}#main-content{width:min(1180px,100% - 40px);margin:0 auto;padding:72px 0 100px}.eyebrow{color:var(--tomato);letter-spacing:.14em;text-transform:uppercase;margin:0 0 10px;font-size:11px;font-weight:800}.welcome-row,.shop-heading{justify-content:space-between;align-items:end;gap:50px;margin-bottom:50px;display:flex}.welcome-row h1,.shop-heading h1{max-width:700px;font:500 clamp(45px,7vw,76px)/.96 var(--serif);letter-spacing:-.045em;margin:0}h1 em{color:var(--sage);font-weight:400}.week-note{max-width:340px;color:var(--ink-soft);font:500 15px/1.6 var(--serif);gap:12px;margin:0 0 7px;display:flex}.week-note svg{color:var(--tomato);flex:none;margin-top:3px}.use-first{background:linear-gradient(115deg,#e2eadf,#edf0e8);border:1px solid #c9d8c8;border-radius:18px;grid-template-columns:auto 1fr auto;align-items:center;gap:23px;padding:24px 28px;display:grid;box-shadow:0 10px 35px #475e4912}.use-first-icon{color:#fff;background:var(--sage);border-radius:50%;place-items:center;width:54px;height:54px;font-size:25px;display:grid}.use-first h2{font:600 22px/1.15 var(--serif);margin:0 0 4px}.use-first p:not(.eyebrow){color:var(--ink-soft);margin:0;font-size:13px;line-height:1.5}.use-first-date{color:var(--forest);letter-spacing:.08em;text-transform:uppercase;background:#ffffff9e;border-radius:20px;padding:7px 11px;font-size:11px;font-weight:800}.meal-section{margin-top:70px}.section-heading{justify-content:space-between;align-items:end;margin-bottom:25px;display:flex}.section-heading h2,.shopping-section h2,.ingredients-card h2,.method h2{font:600 31px/1.1 var(--serif);letter-spacing:-.03em;margin:0}.text-button{color:var(--forest);cursor:pointer;letter-spacing:.03em;background:0 0;border:0;border-bottom:1px solid;align-items:center;gap:8px;padding:7px 0;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.text-button svg{width:16px;height:16px}.text-button:disabled{cursor:default;opacity:.35}.meal-grid{grid-template-columns:repeat(2,1fr);gap:20px;display:grid}.meal-card{border:1px solid var(--line);background:var(--cream);min-height:330px;box-shadow:var(--shadow);border-radius:22px;grid-template-columns:88px 1fr;display:grid;position:relative;overflow:hidden}.meal-date{border-right:1px solid var(--line);color:var(--ink-soft);flex-direction:column;align-items:center;padding-top:30px;display:flex}.meal-date strong{color:var(--ink);font:600 16px/1.2 var(--serif)}.meal-date span{letter-spacing:.06em;text-transform:uppercase;margin-top:5px;font-size:11px;font-weight:800}.food-art{opacity:.95;width:30%;height:100%;position:absolute;top:0;right:0;overflow:hidden}.food-art:before,.food-art:after{content:"";border-radius:50%;position:absolute}.food-art:before{background:#efc774;width:210px;height:210px;top:-35px;right:-55px}.food-art:after{border:30px solid #ffffff40;width:145px;height:145px;bottom:-35px;right:-20px}.tomato .food-art:before{background:#d77a62}.sage .food-art:before{background:#95ad91}.plum .food-art:before{background:#8e778e}.food-art span{z-index:1;color:#23332fb3;font:500 87px/1 var(--serif);position:absolute;top:43px;right:35px;transform:rotate(-12deg)}.meal-content{z-index:2;flex-direction:column;align-items:flex-start;padding:29px 27% 27px 26px;display:flex;position:relative}.meal-meta{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;gap:12px;font-size:11px;font-weight:800;display:flex}.meal-meta span+span:before{content:"·";margin-right:12px}.meal-content h3{font:600 29px/1.06 var(--serif);letter-spacing:-.025em;margin:31px 0 10px}.meal-content>p{color:var(--ink-soft);margin:0;font-size:13px;line-height:1.55}.tag-row{flex-wrap:wrap;gap:7px;margin-top:17px;display:flex}.tag-row span{border:1px solid var(--line);color:var(--ink-soft);letter-spacing:.03em;text-transform:uppercase;background:#ffffff73;border-radius:20px;padding:5px 8px;font-size:11px;font-weight:750}.recipe-link{color:var(--forest);align-items:center;gap:7px;margin-top:auto;padding-top:22px;font-size:12px;font-weight:800;text-decoration:none;display:flex}.recipe-link svg{width:16px;transition:transform .15s}.recipe-link:hover svg{transform:translate(3px)}.card-use-first{z-index:3;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#fffdf8cc;border-radius:10px;max-width:155px;padding:9px 11px;position:absolute;bottom:18px;right:18px;color:var(--forest)!important;font-size:11px!important}.card-use-first span{color:var(--tomato);letter-spacing:.08em;text-transform:uppercase;margin-bottom:3px;font-size:10px;font-weight:900;display:block}.week-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:35px;padding:24px 0;display:flex}.week-footer>div,.recipe-footer>div{align-items:center;gap:12px;display:flex}.mini-mark{width:34px;height:34px;font-size:18px}.week-footer strong,.recipe-footer strong{font:600 14px/1.2 var(--serif);display:block}.week-footer small,.recipe-footer small{color:var(--ink-soft);margin-top:4px;font-size:11px;display:block}.history-panel{z-index:60;border:1px solid var(--line);width:min(430px,100% - 36px);max-height:calc(100vh - 105px);color:var(--ink);background:var(--cream);border-radius:20px;margin:0;padding:26px;animation:.2s ease-out slide-in;position:fixed;top:85px;right:18px;overflow:auto;box-shadow:0 24px 80px #1e2a2638}.history-panel::backdrop{background:#19221f47}.history-panel>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:start;padding-bottom:20px;display:flex}.history-panel h2{font:600 27px/1 var(--serif);margin:0}.history-entry{border-bottom:1px solid var(--line);grid-template-columns:34px 1fr auto;gap:12px;padding:22px 0;display:grid}.timeline-dot{color:#fff;background:var(--forest);width:31px;height:31px;font:700 12px/1 var(--serif);border-radius:50%;place-items:center;display:grid}.timeline-dot.fixture-member{color:var(--ink);background:#b9cfbb}.history-entry strong{font:600 14px/1.3 var(--serif)}.history-entry p{color:var(--ink-soft);margin:5px 0;font-size:12px;line-height:1.45}.history-entry small{color:#6e7772;font-size:11px}.history-entry.compact{padding:16px 0}.quiet-button{color:var(--tomato);cursor:pointer;background:0 0;border:0;align-self:start;padding:4px 0;font-size:11px;font-weight:800}.empty-note{color:var(--ink-soft);font:500 13px/1.55 var(--serif)}.shop-heading{align-items:start}.sync-card{border:1px solid var(--line);background:var(--cream);width:315px;box-shadow:var(--shadow);border-radius:17px;padding:22px}.sync-card>span{color:var(--sage);letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:8px;font-size:11px;font-weight:800;display:flex}.sync-card>span i{background:currentColor;border-radius:50%;width:7px;height:7px}.sync-card.warning>span{color:#8a641f}.sync-card.danger>span{color:#a43f31}.sync-card .avatar-stack{margin:17px 0 11px}.sync-card p{color:var(--ink-soft);font:500 13px/1.5 var(--serif);margin:0}.list-progress{color:#fff;background:var(--forest);border-radius:17px;grid-template-columns:auto 1fr auto;align-items:center;gap:22px;padding:22px 25px;display:grid}.list-progress>div:first-child{flex-direction:column;display:flex}.list-progress strong{font:600 24px/1 var(--serif)}.list-progress div span{color:#ffffffb8;letter-spacing:.06em;text-transform:uppercase;margin-top:4px;font-size:11px;font-weight:800}.progress-track{background:#ffffff29;border-radius:5px;height:7px;overflow:hidden}.progress-track span{background:var(--saffron);border-radius:5px;height:100%;transition:width .3s;display:block;margin:0!important}.list-progress>b{font:500 16px/1 var(--serif)}.list-toolbar{justify-content:space-between;align-items:center;margin:24px 0 35px;display:flex}.list-toolbar p{color:var(--ink-soft);margin:0;font-size:12px}.list-state{border:1px solid var(--line);background:var(--cream);border-radius:16px;margin:20px 0;padding:22px 25px}.list-state h2{font:600 24px/1.2 var(--serif);margin:0}.list-state p{color:var(--ink-soft);margin:7px 0 0;font-size:13px;line-height:1.5}.list-state.success{background:#e7eee3;border-color:#bdd0ba}.list-state.conflict{background:#f5ded9;border-color:#d9a097}.shopping-sections{grid-template-columns:repeat(3,1fr);align-items:start;gap:20px;display:grid}.shopping-section{border:1px solid var(--line);background:#fffdf8a6;border-radius:18px;overflow:hidden}.shopping-section>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;padding:21px 20px 16px;display:flex}.shopping-section h2{font-size:21px}.shopping-section header span{color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800}.shopping-section ul{margin:0;padding:0;list-style:none}.shopping-section li+li{border-top:1px solid #e3dcd2}.shopping-item{text-align:left;cursor:pointer;background:0 0;border:0;grid-template-columns:30px 1fr auto;align-items:center;gap:11px;width:100%;min-height:75px;padding:12px 16px;transition:background .15s,opacity .15s;display:grid}.shopping-item:hover{background:var(--cream)}.shopping-item:disabled{cursor:not-allowed}.check-box{color:#fff;border:1.5px solid #858b86;border-radius:50%;place-items:center;width:25px;height:25px;display:grid}.check-box svg{width:15px;height:15px}.item-main{flex-direction:column;min-width:0;display:flex}.item-main strong{font:600 14px/1.3 var(--serif)}.item-main small{color:var(--ink-soft);white-space:nowrap;text-overflow:ellipsis;margin-top:4px;font-size:11px;overflow:hidden}.item-quantity{color:var(--ink-soft);text-align:right;flex-direction:column;font-size:11px;font-weight:700;display:flex}.item-quantity small{color:#55765e;margin-top:4px;font-size:11px}.shopping-item.checked{opacity:.62}.shopping-item.checked .check-box{border-color:var(--sage);background:var(--sage)}.shopping-item.checked .item-main strong{text-decoration:line-through}.pantry-covered{border:1px solid var(--line);background:#fffdf873;border-radius:18px;margin-top:28px}.pantry-covered>summary{cursor:pointer;justify-content:space-between;align-items:center;gap:18px;padding:18px 21px;list-style-position:inside;display:flex}.pantry-covered>summary span{flex-direction:column;margin-left:7px;display:inline-flex}.pantry-covered>summary strong{font:600 19px/1.2 var(--serif)}.pantry-covered>summary small{color:var(--ink-soft);margin-top:3px;font-size:11px}.pantry-covered>summary b{min-width:27px;height:27px;color:var(--forest);background:var(--sage-light);border-radius:14px;place-items:center;font-size:11px;display:grid}.pantry-covered>.shopping-sections{padding:0 18px 18px}.pantry-covered .shopping-section{background:var(--cream)}.pantry-covered .item-main small{white-space:normal;text-overflow:clip;line-height:1.35;overflow:visible}.recipe-page{width:min(1120px,100% - 40px);margin:0 auto;padding-bottom:70px}.recipe-nav{grid-template-columns:1fr auto 1fr;align-items:center;height:82px;display:grid}.recipe-nav>a{color:var(--ink-soft);justify-self:start;font-size:12px;font-weight:800;text-decoration:none}.recipe-nav .live-status{justify-self:end}.recipe-page>.connection-banner{border-radius:10px;margin:0 0 18px;padding:10px 16px}.recipe-hero{background:var(--cream);min-height:430px;box-shadow:var(--shadow);border-radius:28px;grid-template-columns:56% 44%;display:grid;overflow:hidden}.recipe-heading{align-self:center;padding:55px}.recipe-heading h1{max-width:580px;font:600 clamp(44px,6vw,69px)/.92 var(--serif);letter-spacing:-.05em;margin:0}.recipe-heading>p:not(.eyebrow){max-width:530px;color:var(--ink-soft);font:500 15px/1.65 var(--serif);margin:25px 0 0}.recipe-art{background:#e8bf66;place-items:center;display:grid;position:relative;overflow:hidden}.recipe-art:before,.recipe-art:after{content:"";background:#ffffff2e;border-radius:50%;position:absolute}.recipe-art:before{width:430px;height:430px}.recipe-art:after{background:0 0;border:45px solid #24332f14;width:240px;height:240px}.recipe-hero.tomato .recipe-art{background:#d77a62}.recipe-hero.sage .recipe-art{background:#95ad91}.recipe-hero.plum .recipe-art{background:#8e778e}.plate{z-index:2;width:230px;height:230px;color:var(--forest);background:#d4a952;border:28px solid #f8f3e9;border-radius:50%;place-items:center;display:grid;position:relative;box-shadow:0 18px 35px #2a2a232e}.plate span{font:500 110px/1 var(--serif)}.recipe-art small{z-index:3;color:#24332fbd;letter-spacing:.12em;font-size:11px;font-weight:900;position:absolute;bottom:25px}.recipe-layout{grid-template-columns:350px 1fr;gap:65px;margin-top:65px;display:grid}.ingredients-card{border:1px solid var(--line);background:var(--cream);border-radius:20px;align-self:start;padding:30px}.ingredients-card ul{margin:22px 0 0;padding:0;list-style:none}.ingredients-card li{border-top:1px solid var(--line);grid-template-columns:65px 1fr;gap:10px;padding:13px 0;font-size:12px;display:grid}.ingredients-card li strong{color:var(--tomato);text-transform:uppercase;font-size:11px}.pantry-note{color:var(--forest);background:var(--sage-light);border-radius:10px;gap:9px;margin:18px 0 0;padding:13px;font-size:11px;line-height:1.5;display:flex}.pantry-note svg{flex:none;width:15px}.method{padding-top:6px}.method h2{font-size:40px}.method ol{margin:30px 0 0;padding:0;list-style:none}.method li{grid-template-columns:42px 1fr;gap:18px;padding:0 0 26px;display:grid}.method li>span{color:#fff;background:var(--forest);width:37px;height:37px;font:600 15px/1 var(--serif);border-radius:50%;place-items:center;display:grid}.method li p{font:500 15px/1.65 var(--serif);margin:6px 0 0}.safety-note{border-left:3px solid var(--tomato);background:#eee6da;margin-top:14px;padding:22px 25px}.safety-note strong{letter-spacing:.09em;text-transform:uppercase;font-size:11px}.safety-note p{color:var(--ink-soft);font:500 13px/1.6 var(--serif);margin:7px 0 0}.recipe-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;margin-top:60px;padding-top:30px;display:flex}.primary-button{color:#fff;background:var(--forest);cursor:pointer;letter-spacing:.03em;border:0;border-radius:23px;justify-content:center;align-items:center;gap:9px;min-height:46px;padding:0 20px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.primary-button svg{width:16px}.primary-button:hover:not(:disabled){background:#36574e}.onboarding-page{background:radial-gradient(circle at 15% 15%,#d8a6732e,transparent 30%), radial-gradient(circle at 87% 80%,#718f7933,transparent 32%), var(--paper);min-height:100vh}.onboarding-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;height:84px;padding:0 clamp(20px,5vw,68px);display:flex}.secure-label{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:800}.onboarding-wrap{width:min(600px,100% - 32px);margin:0 auto;padding:38px 0 52px}.preview-notice{color:#654c20;background:#f7edcf;border:1px solid #d7c89f;border-radius:12px;margin-bottom:24px;padding:13px 16px;font-size:12px;line-height:1.5}.stepper{justify-content:space-between;margin:0 22px 28px;padding:0;list-style:none;display:flex}.stepper li{color:#777e79;flex-direction:column;flex:1;align-items:center;display:flex;position:relative}.stepper li:not(:last-child):after{content:"";z-index:0;background:var(--line);width:100%;height:1px;position:absolute;top:14px;left:50%}.stepper li.done:not(:last-child):after{background:var(--sage)}.stepper li>span{z-index:1;border:1px solid var(--line);background:var(--paper);border-radius:50%;place-items:center;width:29px;height:29px;font-size:11px;font-weight:800;display:grid;position:relative}.stepper li>span svg{width:14px}.stepper li small{letter-spacing:.06em;text-transform:uppercase;margin-top:7px;font-size:11px;font-weight:800}.stepper li.active,.stepper li.done{color:var(--forest)}.stepper li.active>span{color:#fff;border-color:var(--forest);background:var(--forest)}.stepper li.done>span{color:#fff;border-color:var(--sage);background:var(--sage)}.onboarding-card{border:1px solid var(--line);min-height:490px;box-shadow:var(--shadow);background:#fffdf8e8;border-radius:25px;padding:clamp(30px,7vw,56px)}.onboarding-card h1{max-width:470px;font:600 clamp(36px,7vw,51px)/1 var(--serif);letter-spacing:-.04em;margin:0}.onboarding-dek{color:var(--ink-soft);font:500 14px/1.65 var(--serif);margin:20px 0 27px}.onboarding-icon{width:54px;height:54px;color:var(--tomato);background:#f4dfd4;border-radius:50%;place-items:center;margin-bottom:30px;display:grid}.onboarding-icon svg{width:25px;height:25px}.onboarding-icon.success{color:#fff;background:var(--sage)}.terms-copy{color:#6e7772;text-align:center;max-width:420px;margin:22px auto 0;font-size:11px;line-height:1.55;display:block}.terms-copy a{text-decoration:underline}.choice-grid{border:0;gap:9px;margin:0;padding:0;display:grid}.choice-grid label{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:12px;grid-template-columns:1fr 25px;align-items:center;min-height:70px;padding:12px 17px;display:grid}.choice-grid label.selected{border-color:var(--sage);box-shadow:inset 0 0 0 1px var(--sage);background:#f2f6f0}.choice-grid input{opacity:0;position:absolute}.choice-grid label>span{flex-direction:column;display:flex}.choice-grid strong{font:600 15px/1.2 var(--serif)}.choice-grid small{color:var(--ink-soft);margin-top:4px;font-size:11px}.choice-grid i{border:1px solid var(--line);color:#fff;background:#fff;border-radius:50%;place-items:center;width:22px;height:22px;display:grid}.choice-grid .selected i{border-color:var(--sage);background:var(--sage)}.choice-grid i svg{width:13px}.onboarding-actions{justify-content:space-between;margin-top:28px;display:flex}.back-button{cursor:pointer;background:0 0;border:0;padding:0 10px;font-size:12px;font-weight:800}.field-label{letter-spacing:.06em;text-transform:uppercase;flex-direction:column;gap:8px;font-size:11px;font-weight:800;display:flex}.field-label textarea{resize:vertical;border:1px solid var(--line);width:100%;color:var(--ink);text-transform:none;background:#fff;border-radius:12px;padding:16px;font-size:14px;line-height:1.5}.field-help{color:var(--ink-soft);margin:9px 0 0;font-size:11px;line-height:1.5}.safety-attestation{border:1px solid var(--line);cursor:pointer;background:#f7f3ec;border-radius:12px;grid-template-columns:20px 1fr;align-items:start;gap:10px;margin-top:20px;padding:14px;font-size:12px;line-height:1.45;display:grid}.safety-attestation input{width:18px;height:18px;accent-color:var(--forest);margin:0}.ready-summary{background:var(--sage-light);border-radius:12px;gap:9px;margin:27px 0;padding:18px;display:grid}.ready-summary span{color:var(--forest);align-items:center;gap:9px;font-size:12px;font-weight:700;display:flex}.ready-summary svg{width:15px}.full-button{width:100%}.onboarding-footnote{color:#6e7772;text-align:center;max-width:450px;margin:22px auto 0;font-size:11px;line-height:1.5}.state-page{text-align:center;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:30px;display:flex}.state-mark{width:56px;height:56px;margin-bottom:25px}.state-page h1{max-width:720px;font:600 48px/1 var(--serif);margin:0}.state-page>p:not(.eyebrow){max-width:680px;color:var(--ink-soft);font:500 14px/1.5 var(--serif);margin:15px 0 25px}.loading-line{background:var(--line);width:220px;height:2px;overflow:hidden}.loading-line:after{content:"";background:var(--tomato);width:40%;height:100%;animation:1.2s ease-in-out infinite loading;display:block}.legal-page{width:min(680px,100% - 40px);min-height:100vh;margin:0 auto;padding:70px 0}.legal-page>.brand-word{margin-bottom:70px;text-decoration:none;display:inline-block}.legal-page h1{font:600 clamp(48px,8vw,72px)/1 var(--serif);margin:0 0 30px}.legal-page p{color:var(--ink-soft);font:500 16px/1.75 var(--serif)}.legal-page .text-button{margin-top:20px}.settings-panel{gap:22px;display:grid}.settings-status{min-height:18px;color:var(--forest);letter-spacing:.03em;margin:0;font-size:12px;font-weight:800}.settings-status.failed{color:#a43f31}.settings-group{border:1px solid var(--line);background:var(--cream);box-shadow:var(--shadow);border-radius:20px;padding:24px 26px}.settings-group>header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:4px 14px;display:flex}.settings-group h2{font:600 23px/1.15 var(--serif);letter-spacing:-.02em;margin:0}.settings-help{color:var(--ink-soft);font:500 13px/1.5 var(--serif);flex-basis:100%;margin:6px 0 0}.settings-default{color:var(--tomato);letter-spacing:.08em;text-transform:uppercase;font-size:10px;font-weight:900}.chip-row{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.chip{border:1px solid var(--line);min-height:40px;color:var(--ink);cursor:pointer;background:#ffffffa6;border-radius:20px;padding:0 15px;font-size:13px;font-weight:700;transition:background .15s,border-color .15s,color .15s}.chip:hover{background:#fff;border-color:#b8ad9b}.chip[aria-pressed=true]{border-color:var(--forest);color:var(--paper);background:var(--forest)}.chip[aria-disabled=true]{cursor:default}.chip:focus-visible,.chip-field input:focus-visible,.chip-select:focus-visible{outline:2px solid var(--tomato);outline-offset:2px}.chip-field{gap:8px;margin-top:12px;display:flex}.chip-field input{border:1px solid var(--line);min-width:0;min-height:40px;color:var(--ink);font:inherit;background:#fff;border-radius:20px;flex:1;padding:0 15px;font-size:13px}.chip-select{border:1px solid var(--line);min-height:40px;color:var(--ink);font:inherit;background:#fff;border-radius:20px;margin-top:12px;padding:0 14px;font-size:13px;display:block}.tastes-list{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.tastes-list li{font:500 14px/1.4 var(--serif);align-items:baseline;gap:12px;display:flex}.tastes-list strong{color:var(--ink-soft);font:800 11px/1.4 var(--sans);letter-spacing:.06em;text-transform:uppercase;flex:0 0 74px}@keyframes slide-in{0%{opacity:0;transform:translate(10px)}}@keyframes loading{0%{transform:translate(-100%)}to{transform:translate(350%)}}@media (max-width:900px){.shopping-sections{grid-template-columns:1fr}.recipe-layout{grid-template-columns:300px 1fr;gap:35px}.household-name{display:none}.meal-content{padding-right:24%}.food-art{width:25%}}@media (max-width:700px){.household-header{height:70px;padding:0 18px}.brand-mark{width:36px;height:36px}.brand strong{font-size:21px}.household-meta{gap:10px}.household-meta .live-status,.household-meta .avatar-stack{display:none}.connection-banner{text-align:left;padding:10px 18px}.top-tabs{display:none}.bottom-tabs{z-index:50;right:12px;bottom:max(12px,env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#24332ff5;border:1px solid #ffffff24;border-radius:19px;grid-template-columns:1fr 1fr;padding:5px;display:grid;position:fixed;left:12px;box-shadow:0 15px 45px #1d2a2547}.bottom-tabs button{color:#ffffffa3;cursor:pointer;background:0 0;border:0;border-radius:14px;justify-content:center;align-items:center;gap:8px;height:49px;font-size:12px;font-weight:800;display:flex;position:relative}.bottom-tabs button.active{color:var(--forest);background:var(--paper)}.bottom-tabs b{color:#fff;background:var(--tomato);border-radius:10px;place-items:center;min-width:20px;height:20px;font-size:11px;display:grid}.bottom-tabs svg{width:18px}#main-content{width:min(100% - 28px,600px);padding:44px 0 105px}.welcome-row,.shop-heading{margin-bottom:34px;display:block}.welcome-row h1,.shop-heading h1{font-size:49px}.week-note{margin-top:25px;font-size:13px}.use-first{grid-template-columns:auto 1fr;gap:15px;padding:20px}.use-first-icon{width:43px;height:43px}.use-first-date{display:none}.use-first h2{font-size:18px}.meal-section{margin-top:50px}.section-heading{align-items:start}.section-heading h2{font-size:27px}.meal-grid{grid-template-columns:1fr}.meal-card{grid-template-columns:72px 1fr;min-height:315px}.meal-date{padding-top:25px}.meal-content{padding:25px 20px 23px}.meal-content h3{max-width:75%;margin-top:25px;font-size:26px}.meal-content>p{max-width:80%}.food-art{width:32%;height:58%}.food-art:before{width:160px;height:160px}.food-art span{font-size:66px;top:26px;right:22px}.card-use-first{display:none}.week-footer{align-items:start}.week-footer>.text-button{font-size:0}.week-footer>.text-button svg{width:20px}.history-panel{max-height:none;top:76px;bottom:84px}.settings-group{padding:20px 18px}.settings-group h2{font-size:20px}.chip{min-height:44px}.sync-card{width:100%;margin-top:28px}.list-progress{grid-template-columns:auto 1fr;gap:15px}.list-progress>b{display:none}.list-toolbar{margin-bottom:22px}.list-toolbar p{display:none}.list-toolbar .text-button{margin-left:auto}.shopping-item{min-height:71px}.recipe-page{width:min(100% - 28px,600px)}.recipe-nav{height:70px}.recipe-nav .brand-word{font-size:20px}.recipe-hero{flex-direction:column;min-height:0;display:flex}.recipe-heading{padding:38px 27px}.recipe-heading h1{font-size:47px}.recipe-art{height:280px}.plate{border-width:21px;width:170px;height:170px}.plate span{font-size:80px}.recipe-layout{flex-direction:column;gap:42px;margin-top:35px;display:flex}.ingredients-card{order:0}.method{order:1}.recipe-footer{flex-direction:column;align-items:stretch;gap:24px}.recipe-footer .primary-button{width:100%}.onboarding-header{height:70px}.secure-label{display:none}.onboarding-wrap{padding:24px 0 90px}.stepper{margin-left:5px;margin-right:5px}.stepper li small{font-size:10px}.onboarding-card{padding:32px 25px}.onboarding-card h1{font-size:40px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.session-controls{flex-wrap:wrap;justify-content:flex-end;gap:4px 22px;padding:6px clamp(20px,5vw,76px) 0;display:flex}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}
.date-setting{align-items:center;gap:12px;margin-top:16px;display:flex}.date-setting input{color:#315b45;width:100%;min-width:0;min-height:48px;font:inherit;background:#f8f9f3;border:1px solid #dce3d4;border-radius:14px;flex:1;padding:10px 14px;font-size:16px}.today-section{gap:16px;display:grid}.kitchen-app,.recipe-screen,.settings-app{--ink:#263e34;--ink-soft:#657267;--paper:#f7f8f2;--cream:#fffefa;--forest:#315b45;--line:#e1e6dc;--tomato:#bc3460;--sage-light:#e9f0e3;--sans:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;color:var(--ink);background:var(--paper);font-family:var(--sans)}.kitchen-app{min-height:100dvh}.kitchen-app .household-header,.settings-app .household-header{-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:0;max-width:1064px;height:88px;margin:auto;padding:0 32px}.brand-avatar{object-fit:cover;border-radius:50%}.kitchen-app .brand,.settings-app .brand{gap:10px}.kitchen-app .brand strong,.settings-app .brand strong{font:750 25px/1.2 ui-rounded, "SF Pro Rounded", var(--sans);letter-spacing:-.9px}.kitchen-app .icon-button,.settings-app .icon-button,.recipe-screen .icon-button{border-color:var(--line);background:#fffefa;width:44px;height:44px}.icon-button svg{width:20px;height:20px}.preview-label{color:#63735e;background:#e7eddf;border-radius:20px;padding:5px 9px;font-size:11px;font-weight:650}.preview-note{text-align:center;color:#727c6b;margin:0;font-size:11px}.kitchen-app #main-content{width:min(920px,100% - 64px);padding:38px 0 132px}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:27px;display:flex}.kitchen-app .eyebrow,.recipe-screen .eyebrow,.settings-app .eyebrow{color:var(--ink-soft);letter-spacing:.02em;text-transform:none;margin:0 0 7px;font-size:12px;font-weight:550}.page-heading h1{font:750 38px/1.15 ui-rounded, "SF Pro Rounded", var(--sans);letter-spacing:-1.3px;margin:0}.xp-summary{text-align:left;cursor:pointer;background:#edf2e7;border:1px solid #e0e7d9;border-radius:20px;align-items:center;gap:13px;width:100%;margin-bottom:28px;padding:15px 18px;display:flex}.level-emblem{color:#4c692a;background:#dbe7c9;border-radius:13px;flex:0 0 37px;place-items:center;height:40px;font-size:25px;display:grid}.xp-summary-label{flex:1;min-width:0}.xp-summary-label strong{align-items:baseline;gap:9px;font-size:13px;font-weight:700;display:flex}.xp-summary-label strong span{color:#64705c;font-size:12px;font-weight:450}.xp-track,.shopping-track{background:#dce4d3;border-radius:9px;height:5px;display:block;overflow:hidden}.xp-track{max-width:245px;margin-top:9px}.xp-track i,.shopping-track i{border-radius:inherit;transform-origin:0;background:#779b49;width:100%;height:100%;transition:transform .4s cubic-bezier(.2,.8,.2,1);display:block}.xp-number{font-variant-numeric:tabular-nums;font-size:17px;font-weight:750}.xp-number small{color:#6c795e;font-size:10px;font-weight:650}.xp-summary>svg{color:#6c795e;width:16px;height:16px}.dinner-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.dinner-card{border:1px solid var(--line);background:var(--cream);border-radius:25px;overflow:hidden;box-shadow:0 3px 3px #263e3403}.dinner-open{padding:20px 22px 21px;text-decoration:none;display:block}.dinner-date{color:#74806e;justify-content:space-between;gap:12px;font-size:11px;font-weight:650;display:flex}.dinner-date>span:last-child{font-weight:450}.dinner-body{align-items:center;gap:16px;margin-top:20px;display:flex}.dish-emoji{background:#f8ebd5;border-radius:22px;flex:0 0 66px;place-items:center;height:70px;font:42px/1 Apple Color Emoji,Segoe UI Emoji,sans-serif;display:grid}.sage .dish-emoji{background:#eaf0dd}.tomato .dish-emoji{background:#f9e6df}.plum .dish-emoji{background:#efe8f4}.dinner-body>div{flex:1;min-width:0}.dinner-body h2{letter-spacing:-.45px;text-wrap:balance;overflow-wrap:anywhere;margin:0;font-size:19px;font-weight:720;line-height:1.24}.dinner-facts{color:var(--ink-soft);margin:9px 0 0;font-size:12px;line-height:1.5}.dinner-arrow{color:#7b8873;flex:0 0 18px;width:18px;display:none}.dinner-actions{border-top:1px solid #edf0e8;justify-content:space-between;align-items:center;gap:10px;min-height:60px;padding:8px 20px;display:flex}.quiet-link{min-height:44px;color:var(--forest);font:600 12px/1.3 var(--sans);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:8px 0;text-decoration:none;display:inline-flex}.quiet-link svg{width:14px;height:14px}.future-xp{color:#77816e;font-size:11px}.cooked-button{color:#365c36;cursor:pointer;background:#eef4e7;border:1px solid #d7e2cc;border-radius:13px;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:9px 12px;font-size:12px;font-weight:650;display:inline-flex}.cooked-button svg{width:15px;height:15px}.cooked-button small{color:#718856;font-size:10px}.cooked-button.is-cooked{color:#fff;background:#315b45;border-color:#315b45}.today-section{margin-bottom:32px}.dinner-today{background:linear-gradient(115deg,#f1f5e8,#fffefa 65%);border-color:#cfdec2}.dinner-today .dinner-open{padding:22px 26px 24px}.dinner-today .dinner-date{color:#486b37}.dinner-today .dinner-date>span:first-child{align-items:center;gap:7px;display:inline-flex}.dinner-today .dinner-date>span:first-child:before{content:"";background:#779b49;border-radius:50%;width:6px;height:6px}.dinner-today .dinner-body{gap:23px;margin-top:18px}.dinner-today .dish-emoji{border-radius:28px;flex-basis:94px;height:96px;font-size:58px}.dinner-today h2{letter-spacing:-.8px;max-width:540px;font-size:29px}.dinner-today .dinner-facts{font-size:13px}.dinner-today .dinner-arrow{display:block}.dinner-today .dinner-actions{border-color:#e1e9d9;padding:10px 26px}.section-label{letter-spacing:-.15px;align-items:center;gap:9px;margin:0 0 14px;font-size:14px;font-weight:650;display:flex}.section-label span{color:#828d7b;font-size:12px;font-weight:450}.subtle-help{color:#788171;text-align:center;margin:27px 0 0;font-size:12px;line-height:1.5}.kitchen-tabbar{z-index:40;bottom:max(18px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffefaed;border:1px solid #e0e5d9;border-radius:24px;gap:5px;width:290px;padding:6px;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 8px 32px #253c341a,0 2px 4px #253c3405}.kitchen-tabbar button{color:#7b8474;cursor:pointer;background:0 0;border:0;border-radius:18px;flex:1;justify-content:center;align-items:center;gap:8px;height:48px;padding:0 12px;font-size:12px;font-weight:650;display:flex}.kitchen-tabbar button.active{color:#315b45;background:#eaf0e2}.kitchen-tabbar svg{width:19px;height:19px}.kitchen-tabbar small{color:#fff;background:#bd4068;border-radius:8px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;display:grid}.remaining-badge{background:#e9efdf;border-radius:15px;flex-shrink:0;padding:9px 13px;font-size:12px;font-weight:650}.shopping-progress{color:#707c67;align-items:center;gap:16px;min-height:44px;margin:-8px 0 28px;font-size:12px;display:flex}.shopping-track{flex:1;max-width:270px;height:5px}.shopping-progress .quiet-link{margin-left:auto}.grocery-groups{grid-template-columns:1fr 1fr;align-items:start;gap:24px;display:grid}.grocery-group{min-width:0}.grocery-group h2{gap:8px;margin:0 0 12px;font-size:13px;font-weight:650;display:flex}.grocery-group h2 span{color:#89927f;font-weight:450}.grocery-rows{border:1px solid var(--line);background:var(--cream);border-radius:21px;margin:0;padding:0 16px;list-style:none}.grocery-rows li+li{border-top:1px solid #edf0e8}.grocery-row{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:12px;width:100%;min-height:72px;padding:14px 0;display:flex}.grocery-check{color:#fff;border:1.5px solid #c5cfbc;border-radius:8px;flex:0 0 24px;place-items:center;height:24px;display:grid}.grocery-check svg{width:15px;height:15px}.grocery-name{flex:1;min-width:0}.grocery-name strong{overflow-wrap:anywhere;font-size:14px;font-weight:550;line-height:1.4;display:block}.grocery-name small{color:#7c8674;margin-top:3px;font-size:11px;line-height:1.5;display:block}.grocery-quantity{color:#687760;text-align:right;overflow-wrap:anywhere;flex:0 100px;font-size:12px;line-height:1.45}.grocery-row.is-checked .grocery-check{background:#789767;border-color:#789767}.grocery-row.is-checked .grocery-name{opacity:.6}.grocery-row.is-checked strong{text-decoration:line-through}.checked-group{margin-top:30px}.checked-heading{color:#77836b;cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:9px;width:100%;padding:14px 0;font-size:13px;display:flex}.checked-heading svg{width:16px;height:16px}.checked-heading span:last-child{margin-left:auto;font-size:20px}.kitchen-empty{text-align:center;border:1px dashed #d9e0d1;border-radius:24px;padding:50px 24px}.kitchen-empty>span{font-size:46px}.kitchen-empty h2{letter-spacing:-.4px;margin:18px 0 8px;font-size:20px}.kitchen-empty p{max-width:300px;color:var(--ink-soft);margin:0 auto;font-size:13px;line-height:1.6}.kitchen-empty.compact{margin-bottom:24px;padding:30px 20px}.inline-error{color:#a62f4f;font-size:13px;line-height:1.5}.progress-sheet{color:#263e34;text-align:center;background:#fffefa;border:1px solid #e1e7d9;border-radius:32px;width:min(420px,100% - 32px);max-height:calc(100dvh - 40px);margin:auto;padding:32px;position:fixed;overflow:auto;box-shadow:0 24px 80px #14271e26}.progress-sheet::backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#1e302746}.progress-sheet[open]{animation:.22s cubic-bezier(.2,.8,.2,1) sheet-arrive}.sheet-close{font-size:25px;position:absolute;top:14px;right:14px}.progress-avatar{border-radius:30px;margin:8px auto 22px}.progress-sheet h2{letter-spacing:-.7px;margin:0;font-size:28px}.progress-sheet>p{color:#748069;font-size:12px}.progress-sheet .progress-total{color:#315b45;letter-spacing:-2px;margin:24px 0 0;font-size:48px;font-weight:750;line-height:1}.progress-total span{letter-spacing:0;margin-left:6px;font-size:14px}.progress-stats{border-block:1px solid #e5eadd;grid-template-columns:1fr 1fr;margin:24px 0;padding:18px 0;display:grid}.progress-stats div{gap:6px;display:grid}.progress-stats div+div{border-left:1px solid #e5eadd}.progress-stats strong{font-size:24px}.progress-stats span{color:#748069;font-size:11px}.xp-rules{background:#f0f4e9;border-radius:18px;padding:6px 14px}.xp-rules p{justify-content:space-between;align-items:center;gap:10px;font-size:12px;display:flex}.xp-rules strong{color:#638145;font-size:11px}.progress-footnote{margin-bottom:0;line-height:1.6}.xp-toast{z-index:80;top:max(24px, env(safe-area-inset-top));opacity:0;pointer-events:none;color:#315b45;background:#fffefa;border:1px solid #d9e6ce;border-radius:23px;align-items:center;gap:12px;padding:13px 22px;transition:transform .36s cubic-bezier(.2,.9,.3,1.1),opacity .18s;display:flex;position:fixed;left:50%;transform:translate(-50%,-140px);box-shadow:0 8px 35px #203b3429}.xp-toast.visible{opacity:1;transform:translate(-50%)}.xp-toast>span{color:#91a94f;font-size:32px}.xp-toast strong{font-size:18px;display:block}.xp-toast small{color:#55664c;margin-top:2px;font-size:11px;display:block}.xp-toast i{opacity:0;background:#b84470;border-radius:2px;width:7px;height:7px;position:absolute;top:50%;left:50%}.xp-toast.visible i{animation:kitchen-confetti .75s calc(var(--particle) * 25ms) ease-out}.xp-toast i:nth-of-type(2n){background:#a3b965}.view-enter{animation:.18s ease-out kitchen-enter}.cooked-button,.xp-summary,.kitchen-tabbar button,.icon-button{transition:transform .14s,background-color .14s}.cooked-button:active:not(:disabled),.xp-summary:active,.kitchen-tabbar button:active,.icon-button:active{transform:scale(.97)}@media (hover:hover){.dinner-open:hover .dinner-body h2{color:#538045}.grocery-row:hover{background:#f5f7ef}.xp-summary:hover{background:#e7eedd}}@keyframes kitchen-enter{0%{opacity:.5;transform:translateY(5px)}}@keyframes sheet-arrive{0%{opacity:0;transform:translateY(15px)scale(.98)}}@keyframes kitchen-confetti{15%{opacity:1}to{opacity:0;transform:rotate(calc(var(--particle) * 45deg)) translateY(95px) rotate(140deg)}}@media (max-width:640px){.kitchen-app .household-header,.settings-app .household-header{height:78px;padding:0 22px}.kitchen-app #main-content{width:calc(100% - 40px);padding-top:27px}.page-heading{margin-bottom:23px}.page-heading h1{letter-spacing:-1px;font-size:32px}.kitchen-app .brand strong{font-size:24px}.brand-avatar{width:42px;height:42px}.preview-note{font-size:10px}.xp-summary{border-radius:18px;gap:10px;margin-bottom:22px;padding:13px}.xp-summary-label strong{gap:6px;font-size:12px}.xp-summary-label strong span{font-size:11px}.xp-summary>svg{display:none}.level-emblem{flex-basis:32px;height:36px;font-size:22px}.xp-number{font-size:15px}.dinner-grid{grid-template-columns:1fr;gap:14px}.dinner-open{padding:17px 18px 18px}.dinner-body{gap:14px;margin-top:17px}.dinner-body h2{font-size:18px}.dish-emoji{border-radius:19px;flex-basis:60px;height:64px;font-size:38px}.dinner-actions{padding:7px 18px}.dinner-card{border-radius:23px}.dinner-today .dinner-open{padding:19px}.dinner-today .dinner-body{gap:15px}.dinner-today .dish-emoji{border-radius:23px;flex-basis:70px;height:78px;font-size:46px}.dinner-today h2{letter-spacing:-.5px;font-size:22px}.dinner-today .dinner-arrow{display:none}.dinner-today .dinner-actions{padding:9px 18px}.dinner-today .dinner-facts{font-size:12px}.today-section{margin-bottom:27px}.section-label{font-size:13px}.grocery-groups{grid-template-columns:1fr;gap:26px}.grocery-quantity{flex-basis:85px}.grocery-row{min-height:70px}.shopping-progress{gap:12px;margin-bottom:24px}.shopping-track{max-width:none}.progress-sheet{padding:28px 24px}.kitchen-tabbar{bottom:max(14px, env(safe-area-inset-bottom))}}.recipe-screen{min-height:100dvh}.recipe-reader{width:calc(100% - 64px);max-width:960px;margin:auto;padding-bottom:64px}.reader-nav{justify-content:space-between;align-items:center;height:88px;display:flex}.reader-nav>a{text-decoration:none;display:inline-flex}.reader-back{align-items:center;min-height:44px;font-size:14px;font-weight:600}.reader-hero{align-items:center;gap:28px;margin-top:35px;display:flex}.reader-hero .dish-emoji{border-radius:35px;flex-basis:130px;height:140px;font-size:78px}.reader-hero h1{letter-spacing:-1.2px;text-wrap:balance;max-width:630px;margin:0;font-size:39px;font-weight:750;line-height:1.13}.reader-facts{color:var(--ink-soft);margin:14px 0 0;font-size:13px}.reader-intro{color:#687562;max-width:740px;margin:27px 0 0;font-size:14px;line-height:1.7}.reader-columns{grid-template-columns:320px 1fr;align-items:start;gap:40px;margin-top:42px;display:grid}.reader-section-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.reader-section-heading h2{letter-spacing:-.5px;margin:0;font-size:21px;font-weight:700}.reader-section-heading>span{color:#7f8976;font-size:11px}.reader-hint{color:#7f8976;margin:7px 0 0;font-size:11px}.reader-ingredients{border:1px solid var(--line);background:var(--cream);border-radius:23px;padding:22px 20px 8px}.reader-ingredients ul{margin:19px 0 0;padding:0;list-style:none}.reader-ingredients li+li{border-top:1px solid #e9ede2}.reader-ingredients button{text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:11px;width:100%;min-height:55px;padding:13px 0;display:flex}.ingredient-check{border:1px solid #cbd5c0;border-radius:6px;flex:0 0 18px;place-items:center;width:18px;height:18px;display:grid}.ingredient-check svg{width:12px;height:12px}.ingredient-name{overflow-wrap:anywhere;flex:1;font-size:13px;line-height:1.5}.ingredient-amount{color:#718067;text-align:right;overflow-wrap:anywhere;max-width:85px;font-size:12px}.is-ready .ingredient-check{color:#62864a;background:#e4ecd9}.is-ready .ingredient-name{color:#87917e;text-decoration:line-through}.reader-method{padding-top:5px}.reader-method ol{margin:25px 0 0;padding:0;list-style:none}.reader-method li{gap:17px;margin-bottom:25px;display:flex}.reader-method li>button{color:#577346;cursor:pointer;background:#eaf0e1;border:1px solid #dce5d3;border-radius:13px;flex:0 0 36px;place-items:center;height:36px;margin-top:1px;font-size:13px;font-weight:700;display:grid}.reader-method li>button svg{width:17px;height:17px}.reader-method li p{color:#46583e;margin:6px 0 0;font-size:15px;line-height:1.75}.reader-method .step-complete p{color:#909986}.reader-method .step-complete button{color:#fff;background:#315b45;border-color:#315b45}.reader-note{background:#ecf0e3;border-radius:17px;padding:18px 20px}.reader-note strong{font-size:12px}.reader-note p{color:#65775a;margin:7px 0 0;font-size:12px;line-height:1.65}.reader-completion{background:#eef3e6;border:1px solid #dce5ce;border-radius:23px;justify-content:space-between;align-items:center;gap:20px;margin-top:35px;padding:24px;display:flex}.reader-completion>div{align-items:center;gap:16px;display:flex}.reader-completion>div>span{font-size:30px}.reader-completion h2{letter-spacing:-.3px;margin:0;font-size:16px}.reader-completion p{color:#738064;margin:6px 0 0;font-size:12px}.reader-shop{color:#627955;justify-content:center;align-items:center;gap:10px;min-height:48px;margin-top:22px;font-size:13px;text-decoration:none;display:flex}.reader-shop svg{width:18px;height:18px}.reader-shop>span{margin-left:6px}.settings-app #main-content{width:min(640px,100% - 40px);padding:30px 0 70px}.settings-app .settings-panel{gap:17px}.settings-app .settings-group{box-shadow:none;border-radius:23px;padding:23px}.settings-app .settings-group h2{font:650 18px/1.3 var(--sans);letter-spacing:-.35px}.settings-app .settings-help{font:400 12px/1.6 var(--sans);color:#79846e}.settings-app .settings-default{letter-spacing:0;text-transform:none;color:#79846e;font-size:10px;font-weight:500}.settings-app .chip{background:#f8f9f3;border-radius:14px;min-height:44px;font-size:12px;font-weight:550}.settings-app .chip[aria-pressed=true]{color:#385c32;background:#e8f0df;border-color:#b7cba5}.settings-app .chip-field input,.settings-app .chip-select{border-radius:13px;min-height:44px;font-size:16px}.settings-app .tastes-list li{font:400 13px/1.6 var(--sans)}.settings-app .tastes-list strong{font-size:10px}.settings-app .settings-status{color:#5d7850;min-height:0}.settings-app .settings-status:empty{display:none}@media (max-width:640px){.recipe-reader{width:calc(100% - 40px)}.reader-nav{height:76px}.reader-hero{align-items:flex-start;gap:17px;margin-top:27px}.reader-hero .dish-emoji{border-radius:25px;flex-basis:78px;height:90px;font-size:49px}.reader-hero h1{letter-spacing:-.8px;font-size:27px;line-height:1.17}.reader-hero .eyebrow{font-size:11px}.reader-facts{margin-top:11px;font-size:12px}.reader-intro{margin-top:23px;font-size:13px}.reader-columns{grid-template-columns:1fr;gap:32px;margin-top:28px}.reader-ingredients{padding:21px 18px 8px}.reader-method li>button{flex-basis:44px;height:44px}.reader-method li{gap:14px}.reader-method li p{font-size:14px}.reader-completion{flex-direction:column;align-items:stretch;padding:22px}.reader-completion .cooked-button{min-height:45px}.reader-completion .future-xp{text-align:center}.settings-app #main-content{padding-top:24px}.settings-app .settings-group{padding:21px 18px}}.kitchen-app .preview-label,.preview-note,.xp-number small,.cooked-button small,.dinner-date,.future-xp,.subtle-help,.kitchen-tabbar button:not(.active),.shopping-progress,.grocery-name small,.grocery-group h2 span,.checked-heading,.section-label span,.reader-section-heading>span,.reader-hint,.reader-completion p,.reader-shop,.progress-sheet>p,.progress-stats span,.xp-rules strong,.settings-app .settings-help,.settings-app .settings-default,.xp-summary-label strong span,.ingredient-amount,.reader-note p{color:#55664c}.grocery-row.is-checked .grocery-name{opacity:1;color:#627058}.reader-method .step-complete p,.is-ready .ingredient-name{color:#627058}.cooked-button{min-height:44px}.reader-method li>button{flex-basis:44px;height:44px}.progress-sheet h2{font-weight:700}.xp-rules p{margin:10px 0}.progress-sheet .progress-footnote{margin-top:15px}.xp-toast{white-space:nowrap;min-width:190px}.xp-confetti{position:absolute;inset:0}.settings-app .settings-group{min-width:0}.settings-app .chip-select{width:100%;min-width:0;max-width:100%}.pantry-disclosure{border:1px solid var(--line);background:#f0f3e9;border-radius:21px;margin-top:28px;padding:0 20px}.pantry-disclosure summary{cursor:pointer;min-height:60px;padding:20px 0;font-size:14px;font-weight:650}.pantry-disclosure summary span{margin-left:8px;font-weight:400}.pantry-disclosure section{padding:6px 0 20px}.pantry-disclosure h2{margin:0;font-size:14px}.pantry-disclosure p{color:#55664c;font-size:12px;line-height:1.6}.pantry-disclosure ul{margin:0;padding:0;list-style:none}.pantry-disclosure li{border-top:1px solid var(--line);overflow-wrap:anywhere;justify-content:space-between;gap:20px;padding:12px 0;font-size:13px;line-height:1.5;display:flex}.pantry-disclosure li span{min-width:0}.pantry-disclosure li strong{text-align:right;flex:0 110px;font-weight:500}.pantry-disclosure li small{color:#55664c;margin-top:4px;display:block}.state-page{color:#253f35;background:#f7f8f2;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.state-page .state-mark{width:80px;height:80px;margin-bottom:28px}.state-page h1{letter-spacing:-.035em;max-width:620px;font:700 clamp(28px,6vw,42px)/1.12 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.state-page .eyebrow{color:#bc3460}.state-page>p:not(.eyebrow){color:#55664c;max-width:430px;font:400 15px/1.6 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.state-page .primary-button{color:#fffefa;background:#315b45;border-radius:18px;min-height:48px;padding:14px 22px;font:600 15px/1.3 -apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}@media (prefers-reduced-motion:reduce){.view-enter,.progress-sheet[open],.xp-toast.visible i{animation:none}.xp-toast,.xp-track i,.shopping-track i{transition:none}}
