@font-face{font-family:Roboto;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/roboto-latin-500-normal-7RbcRiD8.woff2)format("woff2"),url(/assets/roboto-latin-500-normal-DQZyH_nt.woff)format("woff")}:root{color:#151515;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;background:#fff;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#root{width:100%;height:100%;margin:0}.mobile-carousel{overscroll-behavior:contain;scrollbar-width:none;-webkit-user-select:none;user-select:none;width:100%;min-width:0;max-width:100%;display:block;position:relative;overflow:auto}.mobile-carousel::-webkit-scrollbar{display:none}.mobile-carousel{touch-action:pan-y;overflow:auto hidden}.mobile-carousel[data-dragging=true]{cursor:none}.mobile-carousel-content{width:max-content;min-width:100%;transform:translateX(var(--mobile-carousel-overdrag));will-change:transform;display:flex}.mobile-carousel-scrollbar{z-index:4;opacity:0;pointer-events:none;transition:opacity .15s;position:absolute;inset:0}.mobile-carousel-scrollbar[data-visible=true]{opacity:1}.mobile-carousel-scrollbar-thumb{background:#00000059;border-radius:999px;height:3px;position:absolute;bottom:4px;right:4px}body{min-width:320px;overflow:hidden}button,input,textarea{font:inherit}button{cursor:pointer}.phone-stage{place-items:center;width:100%;height:100%;padding:24px;display:grid;position:relative}.device-menu-bar{z-index:100;border-radius:12px;padding:3px;position:absolute;top:18px;right:18px}.device-picker-trigger{color:#151515;background:0 0;border:0;border-radius:9px;align-items:center;gap:10px;height:34px;padding:0 10px 0 12px;font:600 14px/1 ui-sans-serif,system-ui,sans-serif;display:flex}.device-picker-trigger:hover,.device-picker-trigger[data-state=open]{background:#0000000e}.device-picker-trigger:focus-visible{outline-offset:2px;outline:2px solid #000000b8}.device-picker-menu{z-index:200;min-width:168px;transform-origin:var(--radix-dropdown-menu-content-transform-origin);background:#fffffffa;border-radius:12px;padding:3px;animation:.12s ease-out device-menu-in;box-shadow:0 0 1px #0000000f,0 0 0 1px #00000014,0 4px 4px #0000000d}.device-picker-item{color:#181818;-webkit-user-select:none;user-select:none;border-radius:8px;outline:none;justify-content:space-between;align-items:center;height:34px;padding:0 9px 0 10px;font:500 14px/1 ui-sans-serif,system-ui,sans-serif;display:flex}.device-picker-item[data-highlighted]{background:#f0f0f0}.device-picker-item[data-state=checked]{font-weight:600}.device-picker-check{color:#181818;place-items:center;display:grid}@keyframes device-menu-in{0%{opacity:0;transform:scale(.98)translateY(-2px)}to{opacity:1;transform:scale(1)translateY(0)}}.phone-scale-box{position:relative}.phone-device{transform-origin:0 0;-webkit-user-select:none;user-select:none;position:absolute;top:0;left:0}.phone-bezel{object-fit:contain;z-index:2;-webkit-user-drag:none;pointer-events:none;width:100%;height:100%;display:block;position:absolute;inset:0}.device-screen{cursor:none;z-index:1;-webkit-user-select:none;user-select:none;background:#fff;border-radius:42px;position:absolute;overflow:hidden;box-shadow:inset 0 0 0 1px #00000014}.device-camera{z-index:75;pointer-events:none;background:#050505;border-radius:50%;display:block;position:absolute;box-shadow:inset 0 0 0 1px #ffffff14}.device-screen,.device-screen *{cursor:none!important}.device-screen img,.keyboard-asset{-webkit-user-drag:none;-webkit-user-select:none;user-select:none}.device-screen input,.device-screen textarea,.device-screen select,.device-screen option,.device-screen [contenteditable=true]{-webkit-user-select:auto;user-select:auto}.device-screen:active,.device-screen:active *,.device-screen input,.device-screen textarea,.device-screen button,.device-screen a,.device-screen [role=button]{cursor:none!important}.device-screen[data-cursor-debug=true],.device-screen[data-cursor-debug=true] *{cursor:default!important}.device-screen :focus,.device-screen :focus-visible{box-shadow:none!important;outline:0!important}.flow-stack,.flow-scenes,.flow-screen,.mobile-app-viewport{position:absolute;inset:0}.mobile-app-viewport[data-platform=android][data-keyboard-visible=false]{bottom:var(--device-safe-area-bottom,48px)}.flow-stack{--flow-header-height:0px;--flow-header-content-height:0px;--flow-header-safe-area:0px;--flow-footer-height:0px;--keyboard-height:0px;touch-action:pan-y;background:0 0;overflow:hidden}.flow-fixed-header{z-index:12;height:var(--flow-header-height);padding-top:var(--flow-header-safe-area);box-sizing:border-box;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border-bottom:0;position:absolute;top:0;left:0;right:0}.flow-fixed-footer{z-index:12;right:0;bottom:var(--keyboard-height);height:var(--flow-footer-height);background:0 0;transition:bottom .26s cubic-bezier(.2,.8,.2,1);position:absolute;left:0}.flow-scenes{top:var(--flow-header-height);bottom:0;overflow:hidden}.flow-screen{will-change:transform;background:0 0;overflow:hidden}.mobile-page{--mobile-safe-area-height:var(--device-safe-area-bottom,34px);--keyboard-height:0px;position:absolute;inset:0}.mobile-page[data-keyboard-visible=true],.mobile-app-viewport[data-platform=android] .mobile-page{--mobile-safe-area-height:0px}.mobile-scroll{top:0;right:0;bottom:var(--keyboard-height);-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;touch-action:none;-webkit-user-select:none;user-select:none;transition:bottom .26s cubic-bezier(.2,.8,.2,1);position:absolute;left:0;overflow:hidden auto}.mobile-scroll::-webkit-scrollbar{display:none}.mobile-scroll[data-dragging=true]{cursor:none}.mobile-cursor{z-index:80;opacity:0;pointer-events:none;will-change:transform;background:radial-gradient(circle at 50% 44%,#ffffffb3 0 34%,#ffffff8a 58%,#eeeeee7a 100%);border:.5px solid #0000001f;border-radius:999px;width:48px;height:48px;transition:opacity 90ms,background 80ms,box-shadow 80ms;position:absolute;top:0;left:0;box-shadow:inset 0 1px 2px #fff9,inset 0 -5px 10px #0000000d,inset 0 0 0 1px #00000006}.mobile-cursor:before{content:"";pointer-events:none;background:linear-gradient(#ffffff61,#fff0);border-radius:999px;width:32px;height:17px;position:absolute;top:3px;left:50%;transform:translate(-50%)}.mobile-cursor:after{border-radius:inherit;content:"";pointer-events:none;position:absolute;inset:0;box-shadow:inset 1px 0 3px #ffffff47,inset -1px 0 3px #00000005}.mobile-cursor-hotspot{pointer-events:none;background:#ffffffd1;border:1px solid #007afff2;border-radius:999px;width:9px;height:9px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);box-shadow:0 0 0 1px #ffffffbf,0 0 0 3px #007aff29}.mobile-cursor-hotspot:before,.mobile-cursor-hotspot:after{content:"";background:#007afff2;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.mobile-cursor-hotspot:before{width:17px;height:1px}.mobile-cursor-hotspot:after{width:1px;height:17px}.mobile-cursor[data-visible=true]{opacity:1}.mobile-cursor[data-active=true]{background:radial-gradient(circle at 50% 55%,#e8e8e894 0 30%,#f8f8f880 62%,#ffffffad 100%);box-shadow:inset 0 3px 7px #00000014,inset 0 -4px 8px #ffffff57,inset 0 0 0 1px #00000008}.mobile-cursor[data-active=true]:before{background:linear-gradient(#0000000e,#0000)}.mobile-cursor[data-active=true]:after{box-shadow:inset 0 5px 9px #0000000b,inset 0 -3px 7px #ffffff47}.mobile-scroll-content{will-change:transform;grid-template-columns:minmax(0,1fr);gap:0;min-width:0;padding:0;display:grid}.app-screen{background:#fff}.mobile-scrollbar{z-index:9;top:4px;right:5px;bottom:calc(var(--mobile-safe-area-height) + var(--keyboard-height) + 4px);opacity:0;pointer-events:none;width:4px;transition:bottom .26s cubic-bezier(.2,.8,.2,1),opacity .18s;position:absolute}.mobile-page[data-keyboard-dragging=true] .mobile-scroll,.mobile-page[data-keyboard-dragging=true] .mobile-scrollbar,.flow-stack[data-keyboard-dragging=true] .flow-fixed-footer{transition:none}.mobile-scrollbar[data-visible=true]{opacity:1}.mobile-scrollbar-thumb{background:#00000047;border-radius:999px;width:4px;min-height:36px;transition:background .12s;box-shadow:0 0 0 1px #ffffff2e}.status-bar{z-index:72;color:#050505;pointer-events:none;background:0 0;grid-template-columns:1fr auto;align-items:center;height:54px;padding:10px 34px 0 36px;font-family:-apple-system,BlinkMacSystemFont,SF Pro Text,Helvetica Neue,Arial,sans-serif;display:grid;position:absolute;top:0;left:0;right:0}.device-screen[data-device=pixel-10] .status-bar{align-items:start;height:auto;padding:32px 32px 0;font-family:Roboto,Arial,sans-serif}.status-time{text-align:center;letter-spacing:0;justify-self:start;min-width:58px;font-size:15px;font-weight:600;line-height:1}.status-indicators{justify-self:end;align-items:center;display:flex}.status-indicator-svg{display:block}.status-indicator-svg[data-platform=ios]{width:79px;height:13px}.status-indicator-svg[data-platform=android]{width:50px;height:14px}.device-screen[data-device=pixel-10] .status-time{font-weight:500;transform:translateY(2px)}.home-indicator-svg{z-index:70;width:100%;height:var(--device-safe-area-bottom,34px);pointer-events:none;display:block;position:absolute;bottom:0;left:0;right:0}.android-navigation-bar{z-index:70;width:428px;height:var(--device-safe-area-bottom,48px);pointer-events:none;-webkit-user-drag:none;display:block;position:absolute;bottom:-1px;left:-1px}h1,h2,p{margin:0}h1{letter-spacing:0;font-size:26px;line-height:1.08}h2{font-size:15px}p{color:#555;font-size:14px;line-height:1.45}.field-label{color:#555;font-size:13px;font-weight:800}.mobile-field{gap:8px;display:grid}.mobile-field input{color:#151515;background:#fff;border:1px solid #0000001a;border-radius:8px;outline:0;width:100%;min-height:44px;padding:0 12px}.mobile-field input:focus{box-shadow:none;border-color:#00000029}.device-screen .mobile-field input:focus,.device-screen .mobile-field input:focus-visible{border-color:#0000001f;box-shadow:none!important;outline:0!important}.sheet-overlay{z-index:20;background:#00000057;position:absolute;inset:0}.bottom-sheet{z-index:21;touch-action:none;background:#fff;border-radius:22px 22px 0 0;flex-direction:column;min-height:260px;display:flex;position:absolute;left:0;right:0;overflow:hidden;box-shadow:0 -16px 48px #0003}.sheet-handle-zone{touch-action:none;place-items:center;height:30px;display:grid}.sheet-handle{background:#c9c9c4;border-radius:999px;width:42px;height:5px}.sheet-header{gap:4px;padding:0 18px 14px;display:grid}.sheet-title{margin:0;font-size:18px;font-weight:900}.sheet-description{color:#737373;margin:0;font-size:13px;line-height:1.35}.sheet-content{padding:0 18px 24px;overflow:auto}.keyboard-dock{z-index:30;height:339px;box-shadow:none;pointer-events:none;will-change:transform;background:#d8d9de;border-radius:32px 32px 0 0;padding:0;position:absolute;bottom:-1px;left:0;right:0;overflow:hidden}.keyboard-dock[data-platform=android]{background:#f3f2f6;border-radius:0;box-shadow:0 -1px 2px #00000014}.keyboard-dock[data-visible=true]{pointer-events:auto}.keyboard-asset{z-index:1;border-radius:inherit;object-fit:cover;object-position:center bottom;-webkit-user-drag:none;pointer-events:none;width:100%;height:100%;display:block;position:relative}.keyboard-dock[data-platform=android] .keyboard-asset{object-fit:fill;border-radius:0}:root{--porcelain:#f8faf8;--paper:#fff;--cobalt:#184a7a;--cobalt-dark:#123b66;--celadon:#b8cdbb;--celadon-dark:#527258;--yolk:#e4ad2f;--yolk-soft:#fff7df;--ink:#263238;--muted:#677278;--line:#dce3df;--serif-cn:"Songti SC", "STSong", "Noto Serif SC", serif;--sans-cn:"PingFang SC", "Microsoft YaHei", "Noto Sans SC", sans-serif}.app-screen{background:var(--porcelain);color:var(--ink);font-family:var(--sans-cn)}.app-screen *,.app-screen :before,.app-screen :after{box-sizing:border-box}.app-screen button,.app-screen input{font:inherit;-webkit-tap-highlight-color:transparent}.app-screen button:focus-visible,.app-screen input:focus-visible{outline-offset:2px;outline:3px solid #e4ad2fb3}.planner-screen,.flow-content{min-height:100%;padding:58px 18px calc(var(--flow-footer-height) + var(--mobile-safe-area-height) + 26px)}.flow-content{padding-top:20px}.screen-header{-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f8faf8f5;border-bottom:1px solid #184a7a21;grid-template-columns:48px 1fr 48px;align-items:center;min-height:52px;padding:0 10px;display:grid}.screen-header strong{color:var(--cobalt-dark);text-align:center;font-size:17px}.icon-button,.settings-button{width:48px;height:48px;color:var(--cobalt);background:0 0;border:0;place-items:center;padding:0;display:grid}.icon-button svg,.settings-button svg{width:23px;height:23px}.header-spacer{width:48px}.primary-button,.secondary-button{border-radius:15px;justify-content:center;align-items:center;gap:9px;width:100%;min-height:54px;padding:12px 18px;font-size:17px;font-weight:750;display:flex}.primary-button{border:1px solid var(--cobalt);background:var(--cobalt);color:#fff;box-shadow:0 9px 22px #123b662e}.secondary-button{background:var(--paper);color:var(--cobalt);border:1px solid #184a7a4d}.primary-button svg,.secondary-button svg{width:21px;height:21px}.fixed-action{height:100%;padding:8px 18px calc(var(--mobile-safe-area-height) + 8px);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#f8faf8f5;border-top:1px solid #184a7a21;align-content:start;display:grid}.tomorrow-hero{border-bottom:1px solid #184a7a2b;grid-template-columns:92px minmax(0,1fr);align-items:center;gap:15px;min-height:145px;padding-bottom:18px;display:grid;position:relative}.calendar-page{clip-path:polygon(0 0,100% 0,100% 93%,91% 100%,82% 93%,73% 100%,64% 93%,55% 100%,46% 93%,37% 100%,28% 93%,19% 100%,10% 93%,0 100%);border-top:8px solid var(--cobalt);background:var(--paper);align-content:start;justify-items:center;width:92px;height:126px;padding:8px 8px 15px;display:grid;position:relative;box-shadow:0 8px 22px #2632381f}.calendar-page span{color:var(--cobalt);letter-spacing:.2em;text-indent:.2em;font-size:15px;font-weight:800}.calendar-page strong{color:var(--cobalt-dark);font-family:var(--serif-cn);font-variant-numeric:tabular-nums;margin-top:2px;font-size:52px;font-weight:700;line-height:1}.calendar-page small{color:var(--muted);font-variant-numeric:tabular-nums;margin-top:5px;font-size:11px}.tomorrow-copy{min-width:0;padding-right:27px}.tomorrow-copy>p{color:var(--celadon-dark);font-variant-numeric:tabular-nums;align-items:center;gap:5px;margin:0 0 7px;font-size:12px;font-weight:750;line-height:1.35;display:flex}.tomorrow-copy>p svg{flex:none;width:15px;height:15px}.tomorrow-copy h1{color:var(--cobalt-dark);font-family:var(--serif-cn);margin:0;font-size:27px;line-height:1.25}.tomorrow-copy>span{color:var(--muted);margin-top:7px;font-size:13px;line-height:1.45;display:block}.settings-button{position:absolute;top:0;right:-8px}.plan-note,.confirmed-banner{background:#b8cdbb2e;border:1px solid #52725838;border-radius:15px;align-items:flex-start;gap:10px;margin-top:14px;padding:13px 14px;display:flex}.plan-note>svg,.confirmed-banner>svg{width:21px;height:21px;color:var(--celadon-dark);flex:none}.plan-note p{color:var(--ink);margin:0;font-size:13px;line-height:1.55}.confirmed-banner{background:var(--yolk-soft);border-color:#e4ad2f61}.confirmed-banner>svg{color:#9b710d}.confirmed-banner div{gap:3px;display:grid}.confirmed-banner strong{color:var(--cobalt-dark);font-size:15px}.confirmed-banner span{color:var(--muted);font-size:12px}.meal-list{gap:15px;margin-top:15px;display:grid}.meal-card{background:var(--paper);border:1px solid #184a7a26;border-radius:20px;overflow:hidden;box-shadow:0 5px 18px #2632380b}.meal-card-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:68px;padding:10px 11px 10px 16px;display:flex}.meal-card-header>div:first-child{min-width:0}.meal-card-header>div:first-child>span{color:var(--cobalt-dark);font-family:var(--serif-cn);font-size:23px;font-weight:700}.meal-card-header p{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin:3px 0 0;font-size:11px;line-height:1.35;overflow:hidden}.stepper{background:var(--porcelain);border:1px solid #184a7a3b;border-radius:13px;flex:none;grid-template-columns:36px 42px 36px;align-items:center;display:grid;overflow:hidden}.stepper button{min-width:36px;min-height:42px;color:var(--cobalt);background:0 0;border:0;place-items:center;padding:0;display:grid}.stepper button:disabled{color:#b8c0bd}.stepper button svg{width:17px;height:17px}.stepper strong{color:var(--cobalt-dark);font-variant-numeric:tabular-nums;text-align:center;font-size:19px}.stepper small{color:var(--muted);margin-left:1px;font-size:10px;font-weight:500}.meal-dishes{display:grid}.meal-dish-row{grid-template-columns:112px minmax(0,1fr);align-items:center;min-height:92px;display:grid}.meal-dish-row+.meal-dish-row{border-top:1px solid var(--line)}.meal-dish-row img{object-fit:cover;background:#eef2ef;width:112px;height:84px}.meal-dish-row>div{gap:4px;min-width:0;padding:11px 13px;display:grid}.dish-role-name{color:var(--cobalt-dark);font-family:var(--serif-cn);margin:0;font-size:18px;font-weight:700;line-height:1.35}.meal-dish-row strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:14px;line-height:1.45}.meal-dish-row span{color:var(--celadon-dark);font-size:11px;font-weight:650}.recipe-link{width:fit-content;min-height:44px;color:var(--cobalt);background:0 0;border:0;align-items:center;gap:4px;margin-top:2px;padding:0 2px;font-size:14px;font-weight:750;display:inline-flex}.recipe-link svg{width:17px;height:17px}.meal-swap-button{border:0;border-top:1px solid var(--line);width:100%;min-height:50px;color:var(--cobalt);background:#b8cdbb1a;justify-content:center;align-items:center;gap:8px;padding:0 15px;font-size:15px;font-weight:750;display:flex}.meal-swap-button svg{width:18px;height:18px}.meal-swap-button svg:last-child{margin-left:auto}.ingredient-summary,.fridge-required,.shopping-panel,.settings-section{background:var(--paper);border:1px solid #184a7a21;border-radius:20px;margin-top:16px;padding:16px}.section-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.section-heading>div{align-items:flex-start;gap:10px;min-width:0;display:flex}.section-heading>div>svg{width:23px;height:23px;color:var(--cobalt);flex:none}.section-heading h2{color:var(--cobalt-dark);margin:0;font-size:18px}.section-heading p{color:var(--muted);margin:3px 0 0;font-size:11px;line-height:1.4}.section-heading>span{color:var(--celadon-dark);white-space:nowrap;font-size:12px;font-weight:750}.ingredient-list{margin:13px 0 0;padding:0;list-style:none;display:grid}.ingredient-list li{border-top:1px solid var(--line);grid-template-columns:64px minmax(0,1fr);align-items:center;gap:11px;min-height:76px;display:grid}.ingredient-list img{object-fit:cover;background:#eef2ef;border-radius:13px;width:64px;height:64px}.ingredient-list li>div{gap:3px;min-width:0;display:grid}.ingredient-list strong{color:var(--ink);font-size:16px}.ingredient-list span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:13px;line-height:1.4}.ingredient-list.is-compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px}.ingredient-list.is-compact li{border:1px solid var(--line);border-radius:14px;grid-template-columns:58px minmax(0,1fr);gap:8px;min-height:68px;overflow:hidden}.ingredient-list.is-compact img{border-radius:0;width:58px;height:66px}.ingredient-list.is-compact li>div{padding-right:6px}.ingredient-list.is-compact strong{font-size:13px}.ingredient-list.is-compact span{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.fridge-entry{margin-top:14px}.fridge-entry svg{margin-left:auto}.page-heading{padding:2px 2px 17px}.page-heading>p{color:var(--celadon-dark);margin:0 0 5px;font-size:13px;font-weight:750}.page-heading h1{color:var(--cobalt-dark);font-family:var(--serif-cn);margin:0;font-size:29px;line-height:1.25}.page-heading>span{color:var(--muted);margin-top:7px;font-size:13px;line-height:1.5;display:block}.swap-list{gap:12px;margin:0;padding:0;list-style:none;display:grid}.swap-list li{border:1px solid var(--line);background:var(--paper);border-radius:19px;grid-template-columns:118px minmax(0,1fr);min-height:168px;display:grid;overflow:hidden}.swap-list img{object-fit:cover;background:#eef2ef;width:118px;height:100%;min-height:168px}.swap-list li>div{align-content:center;gap:5px;padding:13px 12px;display:grid}.swap-list h3{color:var(--cobalt-dark);font-family:var(--serif-cn);margin:0;font-size:21px;line-height:1.3}.swap-list p{color:var(--ink);font-variant-numeric:tabular-nums;margin:0;font-size:12px;line-height:1.45}.swap-list span{color:var(--muted);font-size:11px;line-height:1.4}.swap-list button{border:1px solid var(--cobalt);background:var(--cobalt);color:#fff;border-radius:12px;min-height:44px;margin-top:5px;padding:7px 10px;font-size:13px;font-weight:750}.fridge-required,.shopping-panel{margin-top:0}.shopping-panel{border-color:#52725838;margin-top:16px}.fridge-check-list{margin:13px 0 0;padding:0;list-style:none;display:grid}.fridge-check-list li{border-top:1px solid var(--line);grid-template-columns:64px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:82px;display:grid}.fridge-check-list img{object-fit:cover;background:#eef2ef;border-radius:13px;width:64px;height:64px}.fridge-check-list li>div{gap:3px;min-width:0;display:grid}.fridge-check-list strong{font-size:15px}.fridge-check-list li>div span{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px;line-height:1.35}.fridge-check-list label{min-width:66px;min-height:48px;color:var(--cobalt);text-align:center;place-items:center;gap:3px;font-size:10px;display:grid}.fridge-check-list input{width:24px;height:24px;accent-color:var(--cobalt);margin:0}.empty-shopping{min-height:92px;color:var(--celadon-dark);justify-content:center;align-items:center;gap:9px;margin-top:12px;font-size:15px;font-weight:700;display:flex}.empty-shopping svg{width:24px;height:24px}.recipe-screen{padding-bottom:calc(var(--mobile-safe-area-height) + 30px)}.recipe-hero{background:var(--paper);border:1px solid #184a7a26;border-radius:21px;grid-template-columns:132px minmax(0,1fr);min-height:142px;display:grid;overflow:hidden}.recipe-hero img{object-fit:cover;background:#eef2ef;width:132px;height:100%;min-height:142px}.recipe-hero>div{align-content:center;gap:5px;padding:15px 14px;display:grid}.recipe-hero p,.recipe-hero h1,.recipe-hero span{margin:0}.recipe-hero p{color:var(--celadon-dark);font-size:12px;font-weight:750}.recipe-hero h1{color:var(--cobalt-dark);font-family:var(--serif-cn);font-size:24px;line-height:1.25}.recipe-hero span{color:var(--muted);font-size:12px;line-height:1.45}.recipe-variants{background:var(--yolk-soft);border:1px solid #e4ad2f7a;border-radius:20px;min-width:0;margin:16px 0 0;padding:15px}.recipe-variants legend{color:var(--cobalt-dark);font-family:var(--serif-cn);padding:0 6px;font-size:20px;font-weight:700}.recipe-variants>p{color:var(--muted);margin:0 0 11px;font-size:12px}.recipe-variants>div{gap:9px;display:grid}.recipe-variants button{text-align:left;background:0 0;border:0;border-radius:14px;width:100%;padding:0;display:block}.recipe-variants button>span{background:var(--paper);border:1px solid #184a7a2e;border-radius:14px;align-content:center;gap:3px;min-height:64px;padding:10px 13px;display:grid}.recipe-variants button strong{color:var(--cobalt-dark);font-size:16px}.recipe-variants button small{color:var(--muted);font-size:11px}.recipe-variants button[aria-checked=true]>span{border:2px solid var(--cobalt);padding:9px 12px;box-shadow:0 5px 14px #123b6617}.recipe-variants button:focus-visible{outline-offset:3px;outline:3px solid #e4ad2fb3}.recipe-section{background:var(--paper);border:1px solid #184a7a21;border-radius:20px;margin-top:16px;padding:16px}.recipe-step-list{margin:13px 0 0;padding:0;list-style:none;display:grid}.recipe-step-list li{border-top:1px solid var(--line);grid-template-columns:34px minmax(0,1fr);gap:10px;min-height:90px;padding:13px 0;display:grid}.recipe-step-list li>span{background:var(--cobalt);color:#fff;border-radius:50%;place-items:center;width:32px;height:32px;font-size:15px;font-weight:800;display:grid}.recipe-step-list li>div{gap:4px;display:grid}.recipe-step-list strong{color:var(--cobalt-dark);font-size:17px}.recipe-step-list p{color:var(--ink);margin:0;font-size:15px;line-height:1.65}.recipe-step-list small{color:var(--celadon-dark);font-size:12px;font-weight:750}.recipe-start{min-height:58px;margin-top:16px}.cooking-step-screen{min-height:100%;padding-bottom:calc(var(--mobile-safe-area-height) + 24px);flex-direction:column;display:flex}.cooking-heading>p,.cooking-heading>h1,.cooking-heading>span{margin:0}.cooking-heading>p{color:var(--celadon-dark);font-size:13px;font-weight:750}.cooking-heading>h1{color:var(--cobalt-dark);font-family:var(--serif-cn);margin-top:4px;font-size:27px;line-height:1.3}.cooking-heading>span{color:var(--muted);margin-top:7px;font-size:14px;display:block}.step-progress{gap:7px;margin:18px 0;display:flex}.step-progress span{background:var(--line);border-radius:999px;flex:1 1 0;height:7px}.step-progress span.is-active{background:var(--yolk)}.current-step-card{background:var(--paper);border:2px solid #184a7a3d;border-radius:23px;align-content:center;gap:10px;min-height:330px;padding:23px 20px;display:grid;box-shadow:0 13px 30px #123b6617}.current-step-card>span{color:var(--celadon-dark);font-size:15px;font-weight:800}.current-step-card h2{color:var(--cobalt-dark);font-family:var(--serif-cn);margin:0;font-size:30px;line-height:1.25}.current-step-card>p{color:var(--ink);margin:5px 0 0;font-size:25px;font-weight:650;line-height:1.72}.step-meta{flex-wrap:wrap;gap:8px;margin-top:8px;display:flex}.step-meta strong{background:var(--yolk-soft);color:var(--cobalt-dark);border-radius:999px;padding:8px 12px;font-size:16px}.kitchen-note{color:var(--muted);text-align:center;margin:14px 4px;font-size:13px;line-height:1.5}.cooking-step-actions{gap:10px;margin-top:auto;display:flex}.cooking-step-actions button{flex:1 1 0;min-height:58px}.settings-section{margin-top:0;margin-bottom:14px}.editable-list{margin-top:12px;display:grid}.editable-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:10px;min-height:58px;padding:7px 0;display:flex}.editable-row>strong{color:var(--ink);font-size:15px;line-height:1.4}.editable-row>div:last-child{flex:none;gap:3px;display:flex}.editable-row>div:last-child button{min-width:48px;min-height:44px;color:var(--cobalt);background:0 0;border:0;padding:0 6px;font-size:13px}.editable-row>div:last-child button:last-child{color:#8d5050}.editable-row>div:last-child button:disabled{color:#b5bdb9}.inline-editor{grid-template-columns:minmax(0,1fr) auto;gap:8px;width:100%;display:grid}.inline-editor input,.search-field input,.measure-fields input{background:var(--porcelain);width:100%;min-height:48px;color:var(--ink);border:1px solid #184a7a47;border-radius:12px;padding:0 12px;font-size:16px}.inline-editor button{border:1px solid var(--cobalt);background:var(--cobalt);color:#fff;border-radius:12px;min-height:48px;padding:0 13px;font-size:13px;font-weight:700}.add-editor{margin-top:10px}.add-row-button{width:100%;min-height:48px;color:var(--cobalt);background:#b8cdbb1a;border:1px dashed #184a7a59;border-radius:13px;justify-content:center;align-items:center;gap:7px;margin-top:8px;padding:0;font-size:14px;font-weight:700;display:flex}.add-row-button svg{width:18px;height:18px}.favorite-tags{flex-wrap:wrap;gap:8px;margin-top:13px;display:flex}.favorite-tags>span{background:var(--yolk-soft);min-height:42px;color:var(--cobalt-dark);border:1px solid #e4ad2f99;border-radius:999px;align-items:center;gap:5px;padding:0 4px 0 12px;font-size:14px;font-weight:700;display:inline-flex}.favorite-tags button{color:#8d5050;background:0 0;border:0;border-radius:50%;place-items:center;width:34px;height:34px;padding:0;font-size:20px;display:grid}.search-field{gap:6px;margin-top:14px;display:grid}.search-field>span,.measure-fields label>span{color:var(--cobalt-dark);font-size:13px;font-weight:700}.familiarity-list{gap:10px;margin-top:12px;display:grid}.familiarity-list fieldset{border:1px solid var(--line);border-radius:14px;min-width:0;margin:0;padding:10px}.familiarity-list legend{color:var(--ink);padding:0 6px;font-size:14px;font-weight:750}.familiarity-list fieldset>div{grid-template-columns:repeat(4,minmax(0,1fr));gap:5px;display:grid}.familiarity-list label{position:relative}.familiarity-list input{opacity:0;width:1px;height:1px;position:absolute}.familiarity-list label span{border:1px solid var(--line);background:var(--porcelain);min-height:42px;color:var(--muted);border-radius:10px;place-items:center;padding:4px;font-size:11px;display:grid}.familiarity-list input:checked+span{border-color:var(--yolk);background:var(--yolk-soft);color:var(--cobalt-dark);font-weight:750}.familiarity-list input:focus-visible+span{outline-offset:2px;outline:3px solid #e4ad2fb3}.search-hint{color:var(--muted);text-align:center;margin:10px 0 0;font-size:11px}.measure-fields{gap:12px;margin-top:13px;display:grid}.measure-fields label{gap:6px;display:grid}.settings-save{margin-top:3px}.warning-actions{gap:10px;display:grid}@media (width<=640px){.phone-stage{background:var(--porcelain);width:100vw!important;height:100dvh!important;padding:0!important;display:block!important;position:fixed!important;inset:0!important}.phone-scale-box,.phone-device{width:100vw!important;height:100dvh!important}.phone-scale-box{position:static!important}.phone-device{position:fixed!important;inset:0!important;transform:none!important}.device-screen{width:100vw!important;height:100dvh!important;box-shadow:none!important;cursor:auto!important;border-radius:0!important;inset:0!important}.device-screen,.device-screen *{cursor:auto!important}.phone-bezel,.device-menu-bar,.device-camera,.status-bar,.home-indicator-svg,.android-navigation-bar,.mobile-cursor{display:none!important}.flow-fixed-header{height:calc(52px + env(safe-area-inset-top))!important;padding-top:env(safe-area-inset-top)!important}.flow-fixed-header+.flow-scenes{top:calc(52px + env(safe-area-inset-top))!important}.planner-screen{padding-top:calc(env(safe-area-inset-top) + 18px)}.fixed-action{padding-bottom:calc(env(safe-area-inset-bottom) + 8px)}}@media (prefers-reduced-motion:reduce){.app-screen *,.app-screen :before,.app-screen :after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}
