@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}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{--orange:#fa641d;--ink:#4b2d1c;--line:#f3e2d2;--cream:#fffaf5;--blue:#1f78c9}*{box-sizing:border-box}.meal-app{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;scrollbar-width:none;background:var(--cream);width:min(430px,100%);height:100dvh;color:var(--ink);margin:0 auto;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,system-ui,sans-serif;overflow:hidden auto}.meal-app::-webkit-scrollbar{display:none}.app-screen{-webkit-overflow-scrolling:touch;height:100%;overflow:auto}.meal-content{padding:50px 18px calc(var(--mobile-safe-area-height) + 88px)}.top-brand{isolation:isolate;background:linear-gradient(#fff8ee,#fff9f5);border-bottom:1px solid #f5dfcd;justify-content:space-between;height:99px;margin:0 -18px 22px;padding:18px 25px 17px;display:flex;position:relative;overflow:hidden}.top-brand:after{content:"";z-index:-1;opacity:.48;background:url(/meal-assets/chongqing-bridge.png) 50%/cover no-repeat;width:57%;height:42px;position:absolute;bottom:-6px;left:36%}.top-brand b{color:#e85719;letter-spacing:-1px;font-size:22px;display:block}.top-brand span{color:#795849;margin-top:3px;font-size:11px;display:block}.city{text-align:right}.city .pin{color:var(--orange);margin-right:6px;display:inline}.city b{color:#533221;font-size:17px;display:inline}.city small{margin-top:3px;font-size:12px;display:block}.date-row{justify-content:space-between;align-items:center;display:flex}.date-row h1{letter-spacing:-1px;margin:0;font-size:25px;line-height:1.2}.date-row p{color:#805f4b;margin:5px 0 0;font-size:12px}.taste{color:#df5d20;white-space:nowrap;background:#fffdfa;border:1px solid #ffd6bb;border-radius:20px;padding:9px 13px;font-size:13px}.generate,.primary{color:#fff;cursor:pointer;background:linear-gradient(90deg,#f87825,#fb5717);border:0;border-radius:14px;justify-content:center;align-items:center;gap:10px;min-height:49px;font-size:16px;font-weight:800;display:flex;box-shadow:0 7px 15px #fb6c2738}.generate{border-radius:30px;width:100%;height:59px;margin:22px 0 14px;font-size:20px}.generate:disabled,.primary:disabled{opacity:.62;cursor:wait}.generate svg{width:22px;height:22px}.success{color:#61964d;justify-content:center;align-items:center;gap:5px;margin:0 0 10px;font-size:12px;display:flex}.success svg{width:14px}.meal-summary,.dish-card,.cook-steps{border:1px solid var(--line);background:#fffdfb;border-radius:18px;box-shadow:0 3px 12px #b4876510}.meal-summary{grid-template-columns:repeat(3,1fr);display:grid;overflow:hidden}.meal-summary>div{border-right:1px dashed #f0d8c8;min-height:114px;padding:15px 10px 8px}.meal-summary>div:nth-child(3){border:0}.meal-summary svg{color:#1c78c3;vertical-align:-3px;width:17px;height:17px}.meal-summary b{white-space:nowrap;margin-top:3px;font-size:12px;display:block}.meal-summary p{color:#6c4c3c;margin:7px 0;font-size:11px;line-height:1.6}.sun{color:#f6a100}.moon{color:#2d79d0}.meal-summary footer{border-top:1px solid var(--line);color:#6a4b3b;grid-column:1/4;justify-content:space-between;align-items:center;height:38px;padding:8px 11px;font-size:10px;display:flex}.meal-summary footer strong{color:var(--orange);font-size:18px}.meal-summary footer svg{vertical-align:-2px;width:12px;height:12px}.dish-card{grid-template-columns:1fr;margin-top:14px;display:grid;overflow:hidden}.dish-info{padding:15px 14px 0}.dish-info h2{letter-spacing:-1px;margin:0;font-size:26px}.dish-info>p{color:#746151;margin:4px 0 8px;font-size:12px}.chips{flex-wrap:wrap;gap:4px;display:flex}.chips span{color:#e96a25;background:#fff2e7;border-radius:8px;padding:4px 6px;font-size:10px}.dish-info h3{margin:14px 0 7px;font-size:13px}.dish-info dl{grid-template-columns:1fr auto 1fr auto;column-gap:8px;margin:0;font-size:12px;line-height:2;display:grid}.dish-info dd{text-align:right;color:#5c4d43;margin:0}.dish-info aside{color:#e16625;white-space:normal;background:#fff2e7;margin:8px -14px 0;padding:7px 8px;font-size:10px}.cook-steps{margin-top:14px;padding:15px 13px 12px}.cook-steps>h2{margin:0 0 12px;font-size:18px}.cook-steps h2 small{color:#866d5b;font-size:11px;font-weight:400}.timeline{position:relative}.timeline:before{content:"";border-left:2px solid #b7d7ef;position:absolute;top:13px;bottom:13px;left:15px}.step{grid-template-columns:31px 43px 1fr;gap:7px;padding-bottom:12px;display:grid;position:relative}.step-dot{color:#fff;z-index:1;background:#2078c8;border-radius:50%;place-items:center;width:31px;height:31px;font-size:13px;font-weight:700;display:grid}.when{color:#237cc9;padding-top:3px;font-size:11px}.when b{display:block}.when span{color:#846756;margin-top:4px;display:block}.instruction h3{margin:2px 0 4px;font-size:14px}.instruction p{color:#684e3f;margin:0;font-size:11px;line-height:1.6}.storage{color:#4d86bf;background:#eff6ff;border-radius:9px;gap:10px;padding:9px;font-size:11px;display:flex}.storage b{white-space:nowrap}.storage span{color:#6a7987}.bottom-nav{width:min(430px,100%);height:66px;padding:7px 14px max(7px, env(safe-area-inset-bottom));z-index:5;background:#fffdfb;border-top:1px solid #f0e2d7;justify-content:space-between;display:flex;position:fixed;bottom:0;left:50%;transform:translate(-50%)}.bottom-nav button{color:#938981;cursor:pointer;background:0 0;border:0;flex-direction:column;align-items:center;gap:3px;min-width:48px;font-size:10px;display:flex}.bottom-nav svg{width:20px;height:20px}.bottom-nav .active{color:var(--orange);font-weight:700}.list-page{background:var(--cream);min-height:100%;padding:88px 22px 100px}.list-page h1{margin:0 0 8px;font-size:28px}.list-page>p{color:#836754;margin:0 0 22px;font-size:14px}.list-page label{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:16px 4px;font-size:16px;display:flex}.list-page input{accent-color:var(--orange);width:19px;height:19px}.list-page label:has(input:checked) span{color:#a6968c;text-decoration:line-through}.list-page label button{color:var(--orange);background:#fff0e6;border:0;border-radius:8px;margin-left:auto;padding:6px 9px}.add-food{width:100%;color:var(--orange);background:#fff9f4;border:1px dashed #f17835;border-radius:12px;margin-top:22px;padding:15px;font-weight:700}@media (width>=700px){body{background:#f4eee8}.meal-app{height:100dvh;box-shadow:0 0 0 1px #eaded4}}.dish-card{position:relative}.image-pending{color:#b86d17;background:#fff8e8;border-radius:10px;padding:5px 8px;font-size:11px;position:absolute;top:12px;left:12px}.title-line{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.heart{color:#dc6530;cursor:pointer;background:#fff9f5;border:1px solid #f6c4ad;border-radius:50%;place-items:center;width:33px;height:33px;display:grid}.heart.active{color:#ef5421;background:#ffebe1}.instruction small{color:#94786a;margin-top:4px;font-size:10px;display:block}.today-actions{grid-template-columns:repeat(3,1fr);gap:6px;margin-top:12px;display:grid}.today-actions button{color:#cf5f28;white-space:nowrap;background:#fffdfb;border:1px solid #f2d8c7;border-radius:11px;justify-content:center;align-items:center;gap:4px;min-width:0;padding:10px 4px;font-size:11px;font-weight:700;display:flex}.today-actions svg{flex:none;width:14px;height:14px}.today-actions .made-on{color:#4c7d3a;background:#f2f9ee;border-color:#cfe6c4}.breakfast-card{border:1px solid var(--line);background:#fffdfb;border-radius:16px;margin-top:12px;padding:14px}.breakfast-card h2{margin:0 0 5px;font-size:17px}.breakfast-card h3{color:#d45d26;margin:0;font-size:16px}.breakfast-card>p{color:#826958;margin:5px 0 10px;font-size:11px}.breakfast-ingredients{flex-wrap:wrap;gap:6px;display:flex}.breakfast-ingredients span{color:#b45e32;background:#fff0e6;border-radius:7px;padding:5px 7px;font-size:11px}.breakfast-card ol{margin:12px 0 0;padding-left:20px}.breakfast-card li{color:#6e5141;padding:5px 0 5px 2px;font-size:11px;line-height:1.55}.breakfast-card li b{color:var(--ink);font-size:12px;display:block}.breakfast-card li span{display:block}.page{min-height:100%;padding:24px 0 90px}.page-header{justify-content:space-between;align-items:flex-start;margin-bottom:18px;display:flex}.page-header h1,.page>h1{letter-spacing:-1px;margin:0 0 6px;font-size:27px}.page-header p,.page>p{color:#816452;margin:0;font-size:13px;line-height:1.55}.page-header>svg{width:27px;height:27px;color:var(--orange)}.full{width:100%;margin-bottom:14px}.segment{border:1px solid var(--line);border-radius:12px;margin:14px 0;padding:3px;display:flex}.segment button{color:#785f51;background:0 0;border:0;border-radius:9px;flex:1;padding:9px}.segment .selected{color:var(--orange);background:#fff0e5;font-weight:700}.sum{color:#765d4e;font-size:14px}.sum b{color:var(--orange);font-size:20px}.week-list,.shop-list,.fridge-list,.history-list,.settings,.price-list{border:1px solid var(--line);background:#fffdfb;border-radius:16px;overflow:hidden}.week-list article,.shop-list article,.fridge-list article,.history-list article,.settings button,.price-list label{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:13px;display:flex}.week-list article:last-child,.shop-list article:last-child,.fridge-list article:last-child,.history-list article:last-child,.settings button:last-child,.price-list label:last-child{border-bottom:0}.week-list article>div,.fridge-list article>div{flex:1;min-width:0}.week-list b,.fridge-list b,.shop-list b,.history-list b,.price-list b{font-size:14px;display:block}.week-list span,.fridge-list span,.shop-list small,.history-list span,.price-list small{color:#8c7160;margin-top:3px;font-size:11px;display:block}.week-list button,.fridge-list button,.shop-list button{color:#da6227;cursor:pointer;background:#fff9f5;border:1px solid #f3d5c3;border-radius:8px;padding:6px 7px;font-size:11px}.shop-list label{flex:1;align-items:center;gap:9px;display:flex}.shop-list input{accent-color:var(--orange);width:18px;height:18px}.shop-list em{color:#e35f23;white-space:nowrap;font-size:11px;font-style:normal}.empty{text-align:center;color:#947766;background:#fffdf9;border:1px dashed #edcdbb;border-radius:14px;place-items:center;min-height:280px;margin-top:18px;padding:25px 16px;font-size:13px;line-height:1.8;display:grid}.back{color:var(--orange);cursor:pointer;background:0 0;border:0;margin:0 0 14px;padding:0;font-size:14px}.settings button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fffdfb;border-top:0;border-left:0;border-right:0;font-size:14px}.settings button svg{color:var(--orange)}.settings button span{color:#ad988b;margin-left:auto;font-size:20px}.settings .danger{color:#c94f2b;justify-content:center}.price-list label{justify-content:space-between}.price-list label>span{flex:1}.price-list input{border:1px solid var(--line);text-align:right;width:82px;color:var(--ink);border-radius:8px;padding:7px}.modal-backdrop{z-index:20;background:#30201680;place-items:end center;padding:16px;display:grid;position:fixed;inset:0}.modal{background:#fffdfb;border-radius:20px;width:min(430px,100%);max-height:calc(100dvh - 32px);padding:18px;overflow-y:auto;box-shadow:0 20px 60px #34201455}.modal header{justify-content:space-between;align-items:center;display:flex}.modal h2{margin:0;font-size:20px}.modal header button{color:#9c6546;background:#fff0e7;border:0;border-radius:50%;width:30px;height:30px;font-size:22px}.modal p{color:#795f50;font-size:13px;line-height:1.6}.form{gap:12px;margin-top:15px;display:grid}.form input{border:1px solid var(--line);width:100%;font:inherit;background:#fff;border-radius:10px;padding:12px}.form label{color:#785f4f;font-size:12px}.form-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.modal-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.modal-actions>button{border:1px solid var(--line);color:#795a49;background:#fff;border-radius:10px;padding:10px 14px}.modal-actions .primary{min-height:40px}.toast{z-index:30;color:#fff;background:#4b2d1ce8;border-radius:20px;width:max-content;max-width:calc(100% - 36px);padding:10px 14px;font-size:12px;position:fixed;bottom:86px;left:50%;transform:translate(-50%);box-shadow:0 8px 24px #0003}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.inline-form{grid-template-columns:1fr 106px;gap:8px;margin:16px 0;display:grid}.inline-form input,.inline-form select{border:1px solid var(--line);min-width:0;font:inherit;color:var(--ink);background:#fff;border-radius:10px;padding:11px}.inline-form select{grid-column:span 1}.inline-form:has(select){grid-template-columns:1fr 86px 72px}.inline-form .primary{min-height:42px;font-size:12px}.history-list button{color:#da6227;cursor:pointer;background:#fff9f5;border:1px solid #f3d5c3;border-radius:8px;margin-left:auto;padding:6px 7px;font-size:11px}.image-form{margin:14px 0 20px}.image-form input[type=file]{padding:9px;font-size:12px}.image-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.image-grid article{border:1px solid var(--line);background:#fffdfb;border-radius:12px;padding-bottom:9px;overflow:hidden}.image-grid img{object-fit:cover;background:#fff4eb;width:100%;height:106px;display:block}.image-grid b,.image-grid small{margin:7px 9px 0;font-size:12px;display:block}.image-grid small{color:#8c7160;font-size:10px}.image-grid button{color:#d55f26;cursor:pointer;background:#fff0e7;border:0;border-radius:7px;margin:8px 9px 0;padding:5px 8px;font-size:11px}.week-list.week-cards article{cursor:pointer;gap:12px;padding:10px 12px;transition:background .15s}.week-list.week-cards article:hover{background:#fff5ec}.week-list.week-cards article img{object-fit:cover;background:#fff4eb;border-radius:12px;flex:none;width:56px;height:56px}.week-card-body{flex:1;min-width:0}.week-card-body b{font-size:14px;display:block}.week-card-body span{color:#8c7160;margin-top:3px;font-size:11px;line-height:1.5;display:block}.week-locked{color:#da6227;white-space:nowrap;background:#fff9f5;border:1px solid #f3d5c3;border-radius:8px;flex:none;margin-left:auto;padding:5px 8px;font-size:10px;font-style:normal}.favorite-list article{gap:10px}.favorite-list article img{object-fit:cover;background:#fff4eb;border-radius:10px;flex:none;width:48px;height:48px}.favorite-list article div{flex:1;min-width:0}.favorite-list article .primary{background:var(--orange);color:#fff;cursor:pointer;border:0;border-radius:10px;flex:none;min-height:0;margin-left:auto;padding:8px 12px;font-size:11px}.fridge-actions{flex:none;gap:6px;display:flex}.fridge-actions button{margin:0}.settings button small{color:#da6227;background:#fff0e5;border-radius:9px;margin-left:6px;padding:1px 7px;font-size:10px}.modal .dish-card{margin-top:14px}.modal .dish-card img{max-height:210px}.modal .cook-steps{max-height:45dvh;padding-right:4px;overflow-y:auto}.meal-content{padding-left:22px;padding-right:22px}.top-brand{margin-left:-22px;margin-right:-22px}.page{padding-left:22px;padding-right:22px}.modal-backdrop{padding:16px}.top-brand b{font-size:20px}.top-brand span{font-size:10px}.city b{font-size:15px}.city small{font-size:11px}.date-row h1{font-size:23px}.date-row p{font-size:11px}.taste{font-size:12px}.generate{font-size:18px}.generate,.primary{font-size:14px}.success,.meal-summary b{font-size:11px}.meal-summary p,.meal-summary footer{font-size:10px}.meal-summary footer strong{font-size:16px}.dish-info>p{font-size:11px}.dish-info h3{font-size:12px}.dish-info dl{font-size:11px}.chips span{font-size:10px}.instruction h3{font-size:12px}.instruction p{font-size:10px}.breakfast-card h2{font-size:15px}.breakfast-card h3{font-size:14px}.breakfast-card>p,.breakfast-ingredients span,.breakfast-card li{font-size:10px}.breakfast-card li b{font-size:11px}.page-header p,.page>p,.sum{font-size:12px}.sum b{font-size:18px}.week-list b,.fridge-list b,.shop-list b,.history-list b,.price-list b,.week-card-body b{font-size:12px}.week-list span,.fridge-list span,.shop-list small,.history-list span,.price-list small,.week-card-body span{font-size:10px}.settings button,.back,.empty{font-size:12px}.today-actions button{font-size:11px}.modal h2{font-size:18px}.modal p{font-size:12px}.form label{font-size:11px}.week-locked{font-size:10px}.price-add{border:1px solid var(--line);background:#fffdfb;border-radius:12px;grid-template-columns:1fr 1fr;gap:8px;margin-bottom:12px;padding:10px;display:grid}.price-add input,.price-add select{border:1px solid var(--line);font-size:11px;font:inherit;color:var(--ink);background:#fff;border-radius:8px;padding:8px}.price-add .primary{grid-column:1/3;min-height:36px;font-size:12px}.step-group{margin-top:14px}.step-group:first-of-type{margin-top:0}.step-group-title{color:var(--blue);border-left:3px solid var(--blue);margin:0 0 8px;padding-left:9px;font-size:13px}.price-search{border:1px solid var(--line);width:100%;font-size:12px;font:inherit;color:var(--ink);background:#fff;border-radius:10px;margin-bottom:12px;padding:9px 12px}.price-search:focus{outline:2px solid #ffd9c0}.meal-summary p{white-space:normal}.dish-info h2{font-size:22px}.cook-steps>h2{font-size:15px}.page-header h1,.page>h1{font-size:23px}.fridge-list article>.fridge-actions{flex:none;margin-left:auto}.date-row-side{align-items:center;gap:8px;display:flex}.made-badge{color:#2e7d32;white-space:nowrap;background:#e8f5e9;border:1px solid #a5d6a7;border-radius:20px;padding:9px 13px;font-size:13px;font-weight:600}.week-made{color:#2e7d32;white-space:nowrap;border:1px solid #a5d6a7;border-radius:999px;margin-left:10px;padding:1px 8px;font-style:normal;display:inline}.dish-intro{color:#6b5847;background:#fff8f2;border-left:3px solid #f5a25d;border-radius:0 8px 8px 0;margin:0 0 10px;padding:8px 10px;font-size:12px;line-height:1.7}.step-tip{color:#7a5c00;background:#fff8e1;border:1px solid #ffe082;border-radius:8px;margin:6px 0;padding:6px 8px;font-size:11px;line-height:1.6}.success-tips{background:#f0f7f0;border:1px solid #c8e6c9;border-radius:10px;margin-top:12px;padding:10px 12px}.success-tips b{color:#2e7d32;font-size:13px}.success-tips p{color:#3d5c43;margin:6px 0 0;font-size:12px;line-height:1.6}.fridge-add-row{gap:8px;display:flex}.fridge-add-row .primary,.fridge-add-row .scan-btn{white-space:nowrap;flex:1 1 0;width:auto;min-width:0;margin:0;padding:10px 6px}.scan-btn{border:1px dashed var(--orange);min-height:49px;color:var(--orange);cursor:pointer;background:#fff9f4;border-radius:14px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:13px;font-weight:700;display:flex}.scan-btn svg{width:18px;height:18px}.scan-row{grid-template-columns:1.6fr .7fr .8fr auto;align-items:center;gap:6px;margin-bottom:8px;display:grid}.scan-row input{border:1px solid var(--line);font-size:12px;font:inherit;color:var(--ink);border-radius:8px;padding:8px}.scan-row button{color:#c33;cursor:pointer;background:#fee;border:0;border-radius:8px;padding:8px 10px;font-size:12px}.ai-guess-btn{color:#3d6bb8;cursor:pointer;background:#f4f8ff;border:1px dashed #7e9bd9;border-radius:14px;justify-content:center;align-items:center;gap:6px;min-height:49px;padding:0 12px;font-size:13px;font-weight:700;display:flex}.ai-guess-btn:disabled{opacity:.6;cursor:wait}.week-progress{background:#f0e2d7;border-radius:3px;height:6px;margin:10px 0 0;overflow:hidden}.week-progress-bar{background:linear-gradient(90deg,#f87825,#fb5717);border-radius:3px;height:100%;transition:width .3s}.list-actions{margin-left:8px}.list-actions button{border:1px solid var(--line);color:var(--orange);cursor:pointer;background:#fff;border-radius:8px;margin-left:6px;padding:3px 8px;font-size:11px}.list-actions button:disabled{opacity:.4;cursor:default}.today-actions button.made-on{color:#2e7d32;background:#e8f5e9;border-color:#a5d6a7}.receipt-bar{margin:10px 0 0}.scan-btn{border:1px dashed var(--orange);width:100%;color:var(--orange);cursor:pointer;background:#fff7f0;border-radius:10px;padding:10px;font-size:14px}.scan-btn:disabled{opacity:.5;cursor:default}.scan-hint{color:var(--muted);margin:0 0 8px;font-size:12px}.receipt-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:8px;padding:8px 0;font-size:13px;display:flex}.receipt-check{flex:1;align-items:flex-start;gap:8px;min-width:0;display:flex}.receipt-check b{font-size:13px}.receipt-check small{color:var(--muted);font-size:11px;display:block}.receipt-row em{color:var(--orange);white-space:nowrap;font-size:12px;font-style:normal}.recipe-list{border:1px solid var(--line);background:#fffdfb;border-radius:16px;margin-top:4px;overflow:hidden}.recipe-list article{border-bottom:1px solid var(--line);align-items:center;gap:8px;padding:13px;display:flex}.recipe-list article:last-child{border-bottom:0}.recipe-list article>div:first-child{flex:1;min-width:0}.recipe-list b{font-size:14px;display:block}.recipe-list span{color:#8c7160;margin-top:3px;font-size:11px;line-height:1.5;display:block}.recipe-list article.recipe-disabled{opacity:.5}.recipe-list b small{color:var(--orange);vertical-align:1px;background:#fff0e7;border-radius:6px;margin-left:4px;padding:1px 5px;font-size:10px}.recipe-list .recipe-custom{color:#4c7d3a;background:#f2f9ee}.recipe-list .recipe-off{color:#c94f2b;background:#fdecea}.recipe-list button{color:#da6227;cursor:pointer;background:#fff9f5;border:1px solid #f3d5c3;border-radius:8px;padding:6px 7px;font-size:11px}.recipe-list .fridge-actions{flex:none;margin-left:auto}.recipe-form{gap:10px;margin-top:12px;display:grid}.recipe-form label{color:#785f4f;gap:6px;font-size:12px;display:grid}.recipe-form input,.recipe-form select,.recipe-form textarea{border:1px solid var(--line);font:inherit;color:var(--ink);background:#fff;border-radius:8px;padding:9px;font-size:13px}.recipe-form textarea{resize:vertical}.ing-row{grid-template-columns:1fr 60px 52px 26px;gap:6px;display:grid}.ing-row button{color:#d55f26;cursor:pointer;background:#fff0e7;border:0;border-radius:6px}.add-ing{border:1px dashed var(--orange);color:var(--orange);cursor:pointer;background:#fff7f0;border-radius:8px;padding:6px;font-size:12px}.lunch-hint{color:#b3541e;background:#fff3e8;border:1px dashed #f0c9a8;border-radius:10px;margin:8px 0;padding:8px 10px;font-size:12px;line-height:1.6}.season-rec{background:#fffbef;border:1px dashed #e6c9a4;border-radius:14px;margin:14px 0;padding:12px}.season-rec-head{align-items:baseline;gap:6px;margin-bottom:8px;display:flex}.season-rec-head b{color:#7a5a35;font-size:13px}.season-rec-head small{color:#a08a68;margin-left:auto;font-size:10px}.season-rec-list{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.season-rec-list button{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;flex:none;width:128px;padding:8px 10px;display:block}.season-rec-list b{color:var(--ink);white-space:nowrap;text-overflow:ellipsis;font-size:12px;display:block;overflow:hidden}.season-rec-list small{color:var(--muted);margin-top:3px;font-size:10px;display:block}.season-rec-list em{color:var(--orange);margin-top:4px;font-size:11px;font-style:normal;display:block}.season-detail b{color:#6b4f38;margin:10px 0 6px;font-size:13px;display:block}.season-detail ul,.season-detail ol{color:var(--ink);margin:0;padding-left:18px;font-size:13px;line-height:1.7}.quick-fridge{margin-top:14px}.quick-fridge p{color:#a08a68;margin:0 0 8px;font-size:11px}.quick-fridge-chips{flex-wrap:wrap;gap:8px;display:flex}.quick-fridge-chips button{color:#d85f26;cursor:pointer;background:#fff8f2;border:1px solid #f0d3bd;border-radius:20px;padding:9px 16px;font-size:13px}.quick-fridge-chips button:active{background:#fff0e2}.date-row{align-items:flex-start;gap:10px}.date-row>div:first-child{min-width:0}.date-row h1{white-space:normal;overflow-wrap:anywhere;font-size:clamp(20px,6vw,27px);line-height:1.25}.date-row p{font-size:13px;line-height:1.55}.date-row-side{flex:none}.connection-banner{color:#9c4e1e;background:#fff4e9;border:1px solid #f1c6a6;border-radius:10px;margin:0 0 12px;padding:9px 11px;font-size:12px;line-height:1.55}.meal-summary{grid-template-columns:1fr}.meal-summary>div{border-right:0;border-bottom:1px dashed var(--line);min-height:0;padding:13px 14px}.meal-summary>div:last-of-type{border-bottom:0}.meal-summary footer{flex-wrap:wrap;grid-column:auto;justify-content:flex-start;gap:7px 12px;height:auto;min-height:44px;padding:9px 14px}.meal-summary footer span{white-space:nowrap}.dish-card{grid-template-columns:1fr}.dish-card>img{object-fit:cover;width:100%;height:205px}.dish-info{min-width:0}.dish-info dl{grid-template-columns:minmax(0,1fr) auto}.today-actions{grid-template-columns:repeat(3,minmax(0,1fr))}.today-actions button{min-width:0;padding:10px 5px;font-size:12px}.today-actions button svg{flex:none}.cook-steps>h2 small{margin:5px 0 0;display:block}.step{grid-template-columns:28px 52px minmax(0,1fr)}.step .instruction{min-width:0}.step .instruction p{overflow-wrap:anywhere}.today-list-note{color:var(--muted);margin:-4px 0 12px;font-size:12px}.today-add-form{grid-template-columns:minmax(0,1fr) 60px 52px auto;gap:7px;margin:10px 0 12px;display:grid}.today-add-form input{border:1px solid var(--line);min-width:0;font:inherit;border-radius:8px;padding:8px;font-size:12px}.today-add-form button{background:var(--orange);color:#fff;white-space:nowrap;border:0;border-radius:8px;padding:8px 10px;font-size:12px}@media (width<=360px){.made-badge{padding:6px 8px;font-size:11px}.today-add-form{grid-template-columns:1fr 53px 45px}.today-add-form button{grid-column:1/-1}}
