:root{--bg:#f6f7f2;--surface:#fff;--ink:#2a3b30;--text:#546057;--muted:#657160;--line:#e8ece5;--green:#365e47;--green-dark:#294c37;--sage:#eaf0e6;--amber:#906125;--amber-bg:#f8f1e4;--red:#a44c3f;--shadow:0 4px 22px #30452e05;--radius:18px;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html{scroll-behavior:smooth;scroll-padding-top:30px}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;line-height:1.65}button,input,select,textarea{font:inherit}button,a,input,textarea,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit;background:0 0;border:0}button:disabled{cursor:not-allowed;opacity:.48}a{color:inherit;text-decoration:none}img{object-fit:cover;max-width:100%;display:block}h1,h2,h3,h4,p{margin:0}h1,h2,h3,h4{color:var(--ink)}h1{letter-spacing:-.9px;font-size:30px;font-weight:650;line-height:1.45}h2{letter-spacing:-.4px;font-size:19px;font-weight:600}h3{font-size:16px;font-weight:600}p{line-height:1.9}strong,b{font-weight:600}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #92af83}input:focus,textarea:focus,select:focus{outline-offset:1px;border-color:#b3c7a7;outline:2px solid #b3c7a7}input,select,textarea{min-height:44px;color:var(--ink);background:#fff;border:1px solid #e0e6dd;border-radius:10px;width:100%;max-width:100%;padding:10px 12px;transition:border-color .18s}input::placeholder,textarea::placeholder{color:#626761;font-size:13px}input:disabled,select:disabled,textarea:disabled{color:#616960;background:#f4f5f1}textarea{resize:vertical;line-height:1.9}select{padding-right:25px}input[type=checkbox]{accent-color:var(--green);cursor:pointer;width:17px;min-height:17px;padding:0}fieldset{border:0;min-width:0;margin:0;padding:0}label{color:var(--ink);flex-direction:column;gap:7px;font-size:13px;font-weight:500;display:flex}.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}.muted,.quiet-text{color:var(--muted)}.quiet-text{align-items:center;gap:5px;font-size:12px;display:inline-flex}.green-text{color:var(--green)!important}.amber-text{color:var(--amber)!important}.red-text,.danger-text{color:var(--red)!important}.full-width{width:100%}.button{white-space:nowrap;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:8px;min-height:43px;padding:10px 17px;font-size:13px;font-weight:500;line-height:1.5;transition:background .2s,transform .2s;display:inline-flex}.button:not(:disabled):active{transform:translateY(1px)}.button.primary{background:var(--green);color:#fff}.button.primary:not(:disabled):hover{background:var(--green-dark)}.button.secondary{color:var(--green);background:#f5f7f1;border-color:#e2e8dc}.button.secondary:not(:disabled):hover{background:var(--sage)}.button.ghost{color:var(--text);background:0 0;padding:9px 10px}.button.ghost:hover{background:var(--sage)}.button.danger{color:#fff;background:#b56253}.button-row{flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;display:flex}.icon-button{border-radius:9px;justify-content:center;align-items:center;width:36px;min-width:36px;height:36px;padding:0;transition:background .2s;display:inline-flex}.icon-button:hover{background:var(--sage)}.text-link{color:var(--green);white-space:nowrap;justify-content:center;align-items:center;gap:7px;padding:6px 0;font-size:12px;display:inline-flex}.text-link:hover{color:#183b27}.subtle-button{color:var(--muted);justify-content:center;align-items:center;gap:5px;padding:9px 4px;font-size:12px;display:inline-flex}.subtle-button:hover{color:var(--green)}.eyebrow{letter-spacing:2px;color:#5e695b;font-size:9px;font-weight:500;line-height:1.8;display:block}.inline-icon{align-items:center;gap:4px;display:inline-flex}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow)}.panel-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:23px 25px;display:flex}.panel-heading h2{font-size:17px}.panel-heading h2>span{color:var(--muted);margin-left:8px;font-size:11px;font-weight:400}.panel-heading p{color:var(--muted);margin-top:5px;font-size:12px}.count-pill{background:var(--sage);color:var(--green);white-space:nowrap;border-radius:6px;padding:3px 8px;font-size:11px;display:inline-block}.avatar{color:#5c6a56;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:35px;height:35px;font-size:12px;font-weight:600;display:inline-flex}.avatar.small{width:28px;height:28px;font-size:10px}.avatar-stack{align-items:center;display:flex}.avatar-stack .avatar+.avatar{margin-left:-8px;box-shadow:0 0 0 2px #fff}.brand-mark{color:#fff;background:var(--green);border-radius:14px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.app-shell{min-height:100dvh}.sidebar{border-right:1px solid var(--line);z-index:30;scrollbar-width:thin;background:#fdfefa;flex-direction:column;width:216px;padding:31px 19px 19px;display:flex;position:fixed;inset:0 auto 0 0;overflow-y:auto}.brand{align-items:center;gap:10px;padding:0 8px;display:flex}.brand strong{letter-spacing:1px;color:var(--ink);font-size:19px;display:block}.brand small{letter-spacing:1.5px;color:#606a59;margin-top:3px;font-size:7px;display:block}.brand .brand-mark{border-radius:12px;width:41px;height:43px}.sidebar-label{letter-spacing:2px;color:#63695e;margin:45px 17px 15px;font-size:10px}.desktop-nav{flex-direction:column;gap:8px;display:flex}.desktop-nav>button{text-align:left;color:#5f675c;border-radius:10px;align-items:center;gap:13px;min-height:48px;padding:12px 17px;font-size:13px;transition:background .18s;display:flex}.desktop-nav>button svg{stroke-width:1.65px}.desktop-nav>button:hover{background:#f0f3eb}.desktop-nav>button.active{color:var(--green);background:#e9f0e2;font-weight:600}.desktop-nav>button.active svg{stroke-width:1.9px}.nav-count{text-align:center;background:#d6e2cc;border-radius:5px;min-width:19px;margin-left:auto;font-size:10px;line-height:19px}.nav-dot{background:#b89056;border-radius:50%;width:5px;height:5px;margin-left:auto}.sidebar-bottom{margin-top:auto;padding-top:32px}.family-card{background:#f4f6ee;border-radius:13px;margin-bottom:20px;padding:18px 15px}.family-card .eyebrow{letter-spacing:1px;font-size:10px}.family-card .avatar-stack{margin:13px 0}.family-count{color:var(--muted);margin-left:10px;font-size:10px}.family-card p{color:#61685b;font-size:10px;line-height:2.1}.account-button{text-align:left;border-top:1px solid var(--line);align-items:center;gap:10px;width:100%;padding:12px 3px 0;display:flex}.account-button>span:nth-child(2){flex:1;min-width:0}.account-button strong{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12px;display:block;overflow:hidden}.account-button small{color:var(--muted);font-size:9px;display:block}.account-button>svg{color:#5f685b}.main-shell{min-width:0;margin-left:216px}.topbar{border-bottom:1px solid var(--line);background:#fafbf6;justify-content:space-between;align-items:center;gap:12px;height:74px;padding:0 32px;display:flex}.topbar-family{color:#586a4f;align-items:center;gap:10px;min-width:0;font-size:12px;display:flex}.topbar-family>span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.topbar-separator{color:#61675e;margin:0 4px}.topbar-right{flex-shrink:0;align-items:center;gap:16px;display:flex}.today-date{color:#60695b;letter-spacing:.5px;font-size:11px}.mobile-brand,.mobile-nav{display:none}.page-layout{min-width:0;max-width:1500px;margin:0 auto;padding:31px 32px 0}.page-layout.with-aside{grid-template-columns:minmax(0,1fr) 249px;gap:27px;display:grid}.page-main{min-width:0}.page-intro{justify-content:space-between;align-items:center;gap:18px;margin-bottom:26px;display:flex}.page-intro h1{align-items:center;gap:11px;margin:5px 0 6px;display:flex}.page-intro p{color:#61665b;letter-spacing:.15px;font-size:12px}.heading-leaf{color:#606658;transform:rotate(-24deg)}.people-pill{color:#5c6855;white-space:nowrap;background:#edf1e6;border:1px solid #e5eadd;border-radius:22px;align-items:center;gap:7px;padding:7px 12px;font-size:11px;display:flex}.home-hero{background:linear-gradient(110deg,#e6eddf,#edf0e3 75%,#e8eddf);border:1px solid #e0e7d7;border-radius:19px;min-height:312px;padding:30px 29px;position:relative;overflow:hidden}.hero-copy{z-index:2;max-width:62%;position:relative}.hero-eyebrow{color:#5a6c4a;letter-spacing:1px;background:#f4f6ea70;border:1px solid #d8e2cc;border-radius:6px;align-items:center;gap:6px;padding:4px 9px;font-size:10px;display:inline-flex}.hero-copy h2{letter-spacing:.5px;color:#385236;margin:13px 0 10px;font-size:29px;font-weight:600;line-height:1.55}.hero-copy p{color:#5e6855;margin-bottom:21px;font-size:12px;line-height:1.9}.mobile-break{display:none}.hero-copy .button{gap:8px;padding:11px 14px;font-size:11px;box-shadow:0 5px 12px #31502b11}.hero-footnote{color:#5e6857;letter-spacing:.3px;white-space:nowrap;align-items:center;gap:6px;margin-top:15px;font-size:9px;display:flex}.tiny-dot{background:#9faf8f;border-radius:50%;width:4px;height:4px;display:inline-block}.hero-art{z-index:1;width:290px;height:275px;position:absolute;top:26px;right:-22px}.hero-art>img{object-position:center;border:10px solid #fffdf5;border-radius:50%;width:244px;height:244px;position:absolute;top:6px;right:15px;transform:rotate(9deg);box-shadow:0 14px 23px #60794b24}.hero-orbit{border:1px solid #d3dfc6;border-radius:50%;width:312px;height:312px;position:absolute;top:-35px;right:-27px}.hero-orbit:after{content:"";border:1px solid #d8e1ce90;border-radius:50%;position:absolute;inset:-19px}.hero-note{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#5e6754;background:#ffffffdf;border:1px solid #e3e8d8;border-radius:10px;align-items:center;gap:9px;padding:10px 14px;font-size:9px;line-height:1.8;display:flex;position:absolute;bottom:0;left:-3px;transform:rotate(-7deg);box-shadow:0 4px 12px #6d7d5f0e}.hero-note>svg{color:#5a6b48}.hero-note b{color:#556b4a;font-weight:500}.hero-decor{letter-spacing:2px;color:#606a52;font-size:6px;position:absolute;bottom:-9px;right:65px;transform:rotate(-5deg)}.quick-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:13px;margin:18px 0 31px;display:grid}.quick-stats>button{text-align:left;background:var(--surface);border:1px solid var(--line);border-radius:12px;align-items:center;gap:10px;min-width:0;padding:15px 13px;transition:transform .2s;display:flex}.quick-stats>button:hover{transform:translateY(-2px)}.quick-stats>button>svg{color:#606658;flex-shrink:0;margin-left:auto}.quick-stats>button>span:nth-child(2){min-width:0}.stat-icon{border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:inline-flex}.stat-icon.rose{color:#796252;background:#f8efe8}.stat-icon.pale{color:#5c6958;background:#eef2ee}.quick-stats b{color:var(--ink);white-space:nowrap;font-size:17px;font-weight:600;line-height:1.4;display:block}.quick-stats small{color:#606a5a;font-size:9px;font-weight:400}.quick-stats em{color:#63695d;white-space:nowrap;margin-top:3px;font-size:9px;font-style:normal;display:block}.section-heading{justify-content:space-between;align-items:center;gap:14px;margin:0 0 18px;display:flex}.section-heading .eyebrow{letter-spacing:1.8px;margin-bottom:4px;font-size:8px}.section-heading h2{font-size:19px}.recommendation-section{margin-bottom:34px;scroll-margin-top:20px}.recommendation-controls{justify-content:space-between;align-items:center;gap:12px;margin:-7px 0 15px;display:flex}.recommendation-controls>p{color:#61695c;font-size:11px}.segmented{white-space:nowrap;background:#eef1e9;border:1px solid #e3e8dc;border-radius:8px;padding:3px;display:inline-flex}.segmented button{color:#5e6854;border-radius:5px;padding:5px 10px;font-size:10px;transition:background .2s}.segmented button.active{color:var(--green);background:#fff;box-shadow:0 2px 5px #5268460c}.recommendation-card{background:var(--surface);box-shadow:var(--shadow);border:1px solid #dde7d6;border-radius:15px;overflow:hidden}.recommendation-card-top{justify-content:space-between;align-items:center;gap:10px;padding:15px 19px;display:flex}.recommendation-card-top>span:first-child{color:#586b4b;align-items:center;gap:8px;font-size:12px;display:flex}.recommendation-card-top b{color:#5e6754;margin-left:2px;font-family:Georgia,serif;font-size:17px;font-weight:400}.meal-photos{grid-template-columns:repeat(auto-fit,minmax(0,1fr));gap:6px;margin:0 15px;display:grid}.meal-photo{border-radius:9px;min-width:0;position:relative;overflow:hidden}.meal-photo .image-button{background:#e9eadf;width:100%;height:155px;padding:0;display:block;overflow:hidden}.meal-photo img{width:100%;height:100%;transition:transform .5s}.meal-photo:hover img{transform:scale(1.04)}.meal-photo:after{content:"";pointer-events:none;background:linear-gradient(#0000,#172015bf);position:absolute;inset:40% 0 0}.meal-photo-label{z-index:1;color:#fff;pointer-events:none;position:absolute;bottom:10px;left:11px;right:8px}.meal-photo-label b{white-space:nowrap;text-overflow:ellipsis;letter-spacing:.3px;font-size:12px;display:block;overflow:hidden}.meal-photo>.icon-button{z-index:2;color:#60695b;background:#fffffff0;border-radius:7px;width:29px;min-width:29px;height:29px;position:absolute;top:6px;right:6px}.meal-photo>.icon-button.locked{background:var(--green);color:#fff}.recommendation-reasons{color:#5e6955;flex-wrap:wrap;align-items:center;gap:15px;padding:12px 19px;font-size:10px;display:flex}.recommendation-reasons>span{align-items:center;gap:5px;display:flex}.recommendation-reasons svg{color:#576948}.recommendation-card-bottom{background:#f8faf4;border-top:1px solid #edf1e7;justify-content:space-between;align-items:center;gap:15px;padding:15px 19px;display:flex}.recommendation-card-bottom b{color:#586a49;font-size:12px}.recommendation-card-bottom p{color:#626959;margin-top:4px;font-size:10px;line-height:1.6}.recommendation-card-bottom .button{min-height:38px;padding:9px 14px;font-size:11px}.recommendation-note{color:#736547;background:#fcf9ef;padding:9px 18px;font-size:10px}.recommendation-pagination{color:#61685b;justify-content:center;align-items:center;gap:7px;margin-top:11px;font-size:9px;display:flex}.recommendation-pagination>button{align-items:center;gap:5px;padding:7px 2px;font-size:9px;display:flex}.recommendation-pagination>button>span{background:#d9e0d0;border-radius:5px;width:5px;height:5px}.recommendation-pagination>button.active{color:#5c6b4f}.recommendation-pagination>button.active>span{background:#93a680;width:15px}.recommendation-pagination>span{margin-left:5px}.locked-summary{color:#606a54;flex-wrap:wrap;align-items:center;gap:5px;margin-top:9px;font-size:10px;display:flex}.locked-summary button{color:var(--green);margin-left:5px;text-decoration:underline}.recommendation-loading{background:#eef1e8;border-radius:15px;justify-content:center;align-items:center;height:296px;display:flex;position:relative;overflow:hidden}.recommendation-loading>.skeleton{position:absolute;inset:0}.recommendation-loading p{color:#5d6852;align-items:center;gap:8px;font-size:12px;display:flex;position:relative}.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.recipe-card{border:1px solid var(--line);background:#fff;border-radius:13px;min-width:0;transition:box-shadow .2s,transform .2s;overflow:hidden}.recipe-card:hover{transform:translateY(-2px);box-shadow:0 8px 22px #3746320b}.recipe-cover{background:#e6eadd;height:155px;position:relative;overflow:hidden}.image-button{border-radius:0;width:100%;height:100%;padding:0;display:block}.recipe-cover .image-button img{width:100%;height:100%;transition:transform .5s}.recipe-cover:hover img{transform:scale(1.045)}.photo-category{color:#5f6a55;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);pointer-events:none;background:#fffefaed;border-radius:5px;padding:4px 8px;font-size:9px;position:absolute;top:11px;left:11px}.favorite{color:#61675b;background:#fffef9eb;border-radius:50%;width:29px;min-width:29px;height:29px;position:absolute;top:9px;right:9px}.favorite:hover{background:#fff}.favorite.is-favorite{color:#7d5e4c}.recipe-card-body{padding:14px 15px 12px}.recipe-title{color:var(--ink);text-align:left;white-space:nowrap;text-overflow:ellipsis;max-width:100%;padding:0;font-size:15px;font-weight:600;display:block;overflow:hidden}.recipe-card-body>p{color:#61655b;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:10px;line-height:1.8;overflow:hidden}.recipe-meta{color:#61695b;flex-wrap:wrap;align-items:center;gap:10px;margin-top:13px;font-size:9px;display:flex}.recipe-meta>span{align-items:center;gap:4px;display:flex}.recipe-meta>span.green-text{color:#5b6b48!important}.recipe-card-bottom{border-top:1px solid #f0f2eb;justify-content:space-between;align-items:center;gap:8px;margin-top:12px;padding-top:11px;display:flex}.recipe-tag{color:#626857;white-space:nowrap;background:#f3f5ed;border-radius:4px;padding:3px 7px;font-size:9px;display:inline-block}.add-dish{color:#566b41;white-space:nowrap;background:#edf3e7;border-radius:6px;align-items:center;gap:4px;padding:6px 9px;font-size:10px;display:flex}.add-dish:hover{background:#e0ead6}.add-dish.selected{color:#546c3e;background:#e2ebda}.daily-tip{color:#5f6a4c;background:#f0f2e8;border:1px solid #e7ebdc;border-radius:12px;align-items:center;gap:15px;margin-top:27px;padding:19px 20px;display:flex}.daily-tip>div{flex:1;min-width:0}.daily-tip b{color:#5d694c;font-size:11px}.daily-tip p{color:#636958;margin-top:3px;font-size:10px;line-height:1.8}.daily-tip>button{color:#616854;place-items:center;width:32px;height:32px;display:grid}.recipe-toolbar{align-items:center;gap:12px;margin-bottom:19px;display:flex}.search-field{color:#5f6758;background:#fff;border:1px solid #e4e9de;border-radius:10px;flex-direction:row;flex:1;align-items:center;gap:10px;min-width:0;padding:0 14px;display:flex}.search-field input{background:0 0;border:0;outline:none;min-width:0;padding:12px 0;font-size:12px}.search-field:focus-within{outline:2px solid #b3c7a7}.filter-button{white-space:nowrap;border:1px solid var(--line);color:#5e6855;background:#fff;border-radius:10px;align-items:center;gap:7px;min-height:45px;padding:10px 14px;font-size:11px;display:flex}.filter-button.active{background:var(--sage);color:var(--green);border-color:#cadbbc}.category-tabs{scrollbar-width:none;align-items:center;gap:6px;min-width:0;padding-bottom:2px;display:flex;overflow-x:auto}.category-tabs::-webkit-scrollbar{display:none}.category-tabs>button{white-space:nowrap;color:#616a59;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;gap:6px;min-height:37px;padding:8px 13px;font-size:11px;display:flex}.category-tabs>button:hover{background:#eff2e8}.category-tabs>button.active{background:var(--green);color:#f8faf4}.result-count{color:#606658;margin:16px 0;font-size:10px}.result-count>span{float:right;font-size:9px}.right-rail{min-width:0;padding-top:4px}.menu-aside{border-radius:15px;padding:21px 18px 17px}.aside-heading{justify-content:space-between;align-items:center;gap:7px;display:flex}.aside-heading h2{white-space:nowrap;color:#566d45;align-items:center;gap:7px;font-size:14px;display:flex}.aside-heading h2 svg{width:17px}.aside-heading .count-pill{font-size:9px}.aside-description{color:#606757;margin-top:8px;font-size:10px}.aside-empty{text-align:center;margin:23px 0 0;padding:0 1px}.aside-empty>div{color:#62695a;background:#f3f5ec;border:1px dashed #dde5d0;border-radius:50%;place-items:center;width:84px;height:84px;margin:0 auto 17px;display:grid;position:relative}.empty-sparkle{color:#626752;font-size:16px;position:absolute;top:3px;right:9px}.aside-empty h3{color:#5c694c;font-size:12px;font-weight:500}.aside-empty p{color:#63695b;margin:8px 0 21px;font-size:10px;line-height:2}.aside-empty .button{color:#5c6a49;min-height:38px;font-size:11px}.aside-members{border-top:1px solid #eef1e7;align-items:center;gap:10px;margin-top:20px;padding-top:15px;display:flex}.aside-members>span{color:#63695a;font-size:9px}.aside-dishes{flex-direction:column;gap:14px;margin:17px 0 12px;display:flex}.aside-dish{text-align:left;align-items:center;gap:9px;min-width:0;padding:0;display:flex}.aside-dish>img{border-radius:8px;flex-shrink:0;width:46px;height:46px}.aside-dish>span{flex:1;min-width:0}.aside-dish b{white-space:nowrap;text-overflow:ellipsis;font-size:11px;display:block;overflow:hidden}.aside-dish small{color:#606758;white-space:nowrap;text-overflow:ellipsis;max-width:120px;margin-top:2px;font-size:9px;display:block;overflow:hidden}.aside-dish>svg{color:#5b6b4e;flex-shrink:0}.aside-summary{border-top:1px dashed #e3e9da;justify-content:space-between;align-items:center;padding:13px 0;font-size:10px;display:flex}.aside-summary>span{color:#5f6758}.aside-summary>b{color:#736546;font-size:10px}.menu-aside>.button{padding:10px;font-size:11px}.fridge-aside{background:#f0f3e8;border:1px solid #e5eadc;border-radius:13px;margin-top:22px;padding:19px 19px 16px}.fridge-aside .aside-heading h2{color:#5d6b48;font-size:12px}.fridge-aside>p{color:#606755;margin-top:10px;font-size:10px}.expiry-row{border-bottom:1px solid #e3e8d9;align-items:center;gap:7px;padding:12px 0;font-size:10px;display:flex}.expiry-row b{color:#606952;white-space:nowrap;text-overflow:ellipsis;flex:1;font-weight:500;overflow:hidden}.ingredient-dot{background:#a7b690;border-radius:50%;flex-shrink:0;width:5px;height:5px}.expiry-row>span:last-child{color:#716546;font-size:8px}.fridge-aside>.text-link{color:#5d6c4c;margin-top:12px;font-size:10px}.rail-note{text-align:center;color:#62695b;margin:35px 0;padding:0 20px}.rail-note>svg{stroke-width:1px;transform:rotate(-25deg)}.rail-note p{letter-spacing:2px;color:#63695a;margin:13px 0 15px;font-size:11px;line-height:2.3}.rail-note>span{letter-spacing:2px;font-size:7px}.page-footer{color:#63695c;letter-spacing:1px;justify-content:center;align-items:center;gap:6px;margin:39px 20px 24px;font-size:9px;display:flex}.page-footer>span{color:#61655d;border-left:1px solid #dde4d4;margin-left:6px;padding-left:12px;font-size:8px}.status-pill{color:#75623f;white-space:nowrap;background:#f5efe2;border:1px solid #eee4ce;border-radius:7px;align-items:center;gap:5px;padding:7px 11px;font-size:11px;display:inline-flex}.status-pill.confirmed{color:#596c46;background:#eaf2e4;border-color:#dde9d2}.plan-layout{grid-template-columns:minmax(0,1fr) 270px;align-items:start;gap:23px;display:grid}.plan-list{overflow:hidden}.plan-row{border-bottom:1px solid var(--line);align-items:center;gap:16px;padding:21px 24px;display:flex}.plan-thumb{border-radius:10px;flex-shrink:0;width:90px;height:85px;padding:0;overflow:hidden}.plan-thumb img{width:100%;height:100%}.plan-row-info{flex:1;min-width:0}.plain-heading{color:var(--ink);text-align:left;padding:0;font-size:15px;font-weight:600}.plan-row-info p{color:#60665a;flex-wrap:wrap;align-items:center;gap:5px;margin-top:6px;font-size:10px;display:flex}.plan-row-info p>span{color:#61655d}.note-input{color:#61675a;background:0 0;border:0;min-height:30px;padding:5px 0;font-size:10px}.note-input::placeholder{color:#63685e;font-size:10px}.plan-row-actions{flex-shrink:0;align-items:center;gap:6px;display:flex}.stepper{background:#f6f8f2;border:1px solid #e8ede1;border-radius:7px;justify-content:center;align-items:center;gap:3px;height:34px;display:flex;overflow:hidden}.stepper>button{color:#5e6b4f;place-items:center;width:28px;height:32px;display:grid}.stepper>span{color:#5a6a49;text-align:center;min-width:36px;padding:0 5px;font-size:12px}.stepper small{margin-left:3px;font-size:9px;font-weight:400}.plan-bottom{justify-content:space-between;align-items:center;gap:10px;padding:17px 24px;display:flex}.plan-bottom .avatar-stack>span:last-child:not(.avatar){color:#616758;margin-left:10px;font-size:10px}.plan-summary{padding:24px}.plan-summary h2{margin:8px 0 17px;font-size:17px}.summary-line{color:#616959;justify-content:space-between;align-items:center;margin:13px 0;font-size:12px;display:flex}.summary-line b{color:#5b6850;font-weight:500}.plan-summary>.button{min-height:43px;margin-top:12px;font-size:11px}.plan-summary>.subtle-button{margin:8px auto 0;display:block}.summary-note{text-align:center;color:#63695b;border-top:1px solid #edf0e5;margin-top:20px;padding-top:16px;font-size:9px;line-height:1.9}.summary-note svg{vertical-align:middle;margin-right:5px}.hint-box{color:#716449;background:#faf6eb;border-radius:7px;margin:14px 0;padding:11px 12px;font-size:11px}.requirements-panel{grid-column:1/-1;overflow:hidden}.table-wrap{width:100%;overflow-x:auto}.needs-table{border-collapse:collapse;text-align:left;width:100%;font-size:12px}.needs-table th{color:#616a58;white-space:nowrap;background:#f7f9f2;padding:12px 22px;font-size:10px;font-weight:400}.needs-table td{color:#5e6951;border-bottom:1px solid #f0f3e9;padding:13px 22px;font-size:11px}.needs-table tr:last-child td{border-bottom:0}.group-dot{vertical-align:middle;background:#adc594;border-radius:50%;width:6px;height:6px;margin-right:9px;display:inline-block}.group-dot.protein{background:#c9b194}.group-dot.staple{background:#c9c396}.group-dot.seasoning{background:#b7c0a8}.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin:0 0 24px;display:grid}.metric-card{border:1px solid var(--line);background:#fff;border-radius:13px;align-items:center;gap:16px;padding:23px 26px;display:flex}.metric-card>.stat-icon{border-radius:13px;width:45px;height:45px}.metric-card b{color:#5b6c4d;font-size:26px;font-weight:500;line-height:1.2}.metric-card b>small{color:#62695b;font-size:12px;font-weight:400}.metric-card p{color:#616758;margin-top:5px;font-size:11px}.shopping-panel{overflow:hidden}.shopping-row{border-bottom:1px solid #edf1e5;align-items:center;gap:17px;padding:22px 26px;transition:background .2s;display:flex}.shopping-row:last-child{border-bottom:0}.shopping-row.checked{background:#f5f9ef}.shopping-check{cursor:pointer;justify-content:center;align-items:center;width:29px;min-width:29px;height:42px;display:flex;position:relative}.shopping-check>input{opacity:0;z-index:2;width:100%;height:100%;margin:0;position:absolute;inset:0}.shopping-check>span{color:#0000;background:#fff;border:1.5px solid #d5dfc9;border-radius:5px;justify-content:center;align-items:center;width:20px;height:20px;display:flex}.shopping-check input:focus-visible+span{outline-offset:3px;outline:3px solid #9fb98b}.shopping-check input:checked+span{color:#fff;background:#7b965e;border-color:#7b965e}.shopping-row-main{flex:1;min-width:0}.shopping-row-main>b{color:#59694a;font-size:14px}.shopping-row-main>p{color:#5f6755;margin-top:5px;font-size:10px}.shopping-row-main p>span{color:#61655b;padding:0 9px}.shopping-amount{text-align:right;min-width:78px}.shopping-amount>strong{color:#77633f;font-size:16px;font-weight:500;display:block}.shopping-amount>small{color:#65665b;font-size:9px}.small-button{color:#5b6b46;white-space:nowrap;border:1px solid #e0e9d3;border-radius:7px;align-items:center;gap:5px;margin-left:13px;padding:7px 10px;font-size:11px;display:flex}.small-button:hover{background:#edf3e6}.shopping-ready{text-align:center;padding:43px 20px 47px}.ready-icon{color:#5a6b44;background:#f0f5e8;border-radius:50%;place-items:center;width:72px;height:72px;margin:0 auto 18px;display:grid}.shopping-ready h3{color:#5a694c;font-size:16px}.shopping-ready p{color:#606658;margin:7px 0 23px;font-size:11px}.shopping-secondary-grid{grid-template-columns:1fr 1fr;gap:23px;margin-top:24px;display:grid}.compact-panel{padding:23px 25px}.compact-panel h2{font-size:16px}.compact-panel .section-heading{margin-bottom:9px}.compact-panel>p{font-size:12px}.simple-list-row{border-bottom:1px solid #eef2e6;justify-content:space-between;align-items:center;gap:14px;padding:13px 0;font-size:12px;display:flex}.simple-list-row:last-child{border-bottom:0}.simple-list-row>span{color:#5b6c4e;align-items:center;gap:8px;display:inline-flex}.simple-list-row>b{color:#606755;font-size:11px;font-weight:400}.cook-banner{background:#eaf0e1;border-radius:13px;justify-content:space-between;align-items:center;gap:16px;margin-top:25px;padding:24px 26px;display:flex}.cook-banner>div{color:#5b6947;align-items:center;gap:16px;display:flex}.cook-banner b{color:#5a6b48;font-size:13px;display:block}.cook-banner small{color:#616954;margin-top:5px;font-size:10px;display:block}.notice{color:#5f6b51;background:#f0f4e9;border:1px solid #e7ecdc;border-radius:10px;gap:12px;margin:0 0 20px;padding:16px 19px;display:flex}.notice>svg{flex-shrink:0;margin-top:2px}.notice b{color:#5b694c;font-size:11px;font-weight:500}.notice p{color:#5f6755;margin-top:3px;font-size:10px;line-height:1.8}.notice.amber{color:#71634b;background:#faf7ee;border-color:#f0e7d3;margin-top:19px}.notice.amber b{color:#726446}.notice.amber p{color:#6e6652}.fridge-overview{background:linear-gradient(100deg,#edf2e6,#f1f3e9);border:1px solid #e2e9d7;border-radius:17px;justify-content:space-between;align-items:center;gap:25px;margin-bottom:27px;padding:31px 34px;display:flex}.fridge-overview h2{color:#596a48;margin:8px 0 9px;font-size:23px;font-weight:500;line-height:1.6}.fridge-overview p{color:#626959;font-size:11px}.fridge-location-counts{align-items:center;gap:32px;padding-right:20px;display:flex}.fridge-location-counts>button{flex-direction:column;align-items:center;gap:5px;min-width:50px;display:flex}.fridge-location-counts>button>span{color:#5f6754;font-size:24px;line-height:1}.fridge-location-counts b{color:#596949;font-size:27px;font-weight:400}.fridge-location-counts small{color:#606855;font-size:11px}.inventory-toolbar{justify-content:space-between;align-items:center;gap:20px;margin-bottom:21px;display:flex}.inventory-toolbar>.search-field{max-width:260px}.tab-count{color:#5e6b50;background:#e9efdf;border-radius:4px;padding:0 4px;font-size:8px}.inventory-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;display:grid}.inventory-card{border:1px solid var(--line);background:#fff;border-radius:13px;min-width:0;padding:19px 20px 16px;position:relative}.inventory-card.near-expiry{border-color:#eae4cf}.inventory-card-top{align-items:center;gap:8px;margin-bottom:17px;display:flex;position:relative}.ingredient-emoji{background:#f2f5eb;border-radius:13px;flex-shrink:0;justify-content:center;align-items:center;width:45px;height:45px;font-size:28px;line-height:1;display:flex}.ingredient-emoji.protein{background:#f7f0e8}.ingredient-emoji.staple{background:#f8f5e8}.ingredient-emoji.seasoning{color:#626a56;background:#f0f3ec}.storage-tag{color:#616859;white-space:nowrap;background:#f5f7f0;border-radius:5px;margin-left:auto;padding:3px 7px;font-size:9px}.inventory-card-top>.icon-button{color:#616958;opacity:0;background:#f4f6ef;width:26px;min-width:26px;height:26px;position:absolute;top:-9px;right:-10px}.inventory-card:hover .icon-button,.inventory-card:focus-within .icon-button{opacity:1}.inventory-card h3{color:#5d6b4e;white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:500;overflow:hidden}.inventory-quantity{color:#5b694c;margin:5px 0 14px;font-size:23px;font-weight:400;display:block}.inventory-expiry{color:#606656;white-space:nowrap;border-top:1px solid #f0f3e8;align-items:center;gap:5px;padding-top:11px;font-size:9px;display:flex}.inventory-expiry.soon{color:#726345}.inventory-expiry.expired{color:#865c4c}.expired-note{color:#7d5e51;margin-top:6px;font-size:9px}.history-tabs{margin-bottom:22px}.history-list{flex-direction:column;gap:20px;display:flex}.history-card{gap:26px;padding:22px 25px;display:flex}.history-date{border-right:1px solid var(--line);flex-direction:column;flex-shrink:0;align-items:flex-start;gap:7px;width:99px;padding-right:20px;display:flex}.history-date>span:first-child{color:#5c6b4c;font-size:16px}.history-date small{color:#616958;font-size:11px}.history-date .count-pill{margin-top:auto;font-size:9px}.history-meals{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px;min-width:0;display:grid}.history-meal{text-align:left;align-items:center;gap:12px;min-width:0;padding:0;display:flex}.history-meal img{border-radius:9px;flex-shrink:0;width:62px;height:62px}.history-meal>span{min-width:0}.history-meal b{white-space:nowrap;text-overflow:ellipsis;color:#5b684e;font-size:12px;font-weight:500;display:block;overflow:hidden}.history-meal small{color:#606858;margin-top:5px;font-size:10px;display:block}.history-meal:disabled{opacity:1;cursor:default}.ledger-panel{padding:3px 25px}.ledger-row{border-bottom:1px solid var(--line);align-items:center;gap:15px;padding:19px 0;display:flex}.ledger-row:last-child{border-bottom:0}.ledger-row>div{flex:1}.ledger-row b{color:#5e6a4f;font-size:13px}.ledger-row p{color:#616858;margin-top:4px;font-size:11px;line-height:1.6}.ledger-row small{color:#61675b;font-size:9px}.ledger-row>strong{white-space:nowrap;font-size:15px;font-weight:500}.load-more{justify-content:center;margin:25px;display:flex}.empty{text-align:center;background:#ffffffa0;border:1px dashed #dfe7d3;border-radius:15px;min-width:0;padding:52px 23px}.empty-icon{color:#5d694c;background:#eff4e7;border:1px solid #e3e9d8;border-radius:20px;place-items:center;width:65px;height:65px;margin:0 auto 17px;display:grid}.empty h3{color:#596947;font-size:16px;font-weight:500}.empty p{color:#616857;max-width:410px;margin:10px auto 22px;font-size:12px;line-height:2}.empty>.button{font-size:12px}.modal-backdrop{-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);z-index:100;background:#2434286b;justify-content:center;align-items:center;padding:25px;animation:.18s ease-out fade-in;display:flex;position:fixed;inset:0}.modal{overscroll-behavior:contain;background:#fffefa;border:1px solid #e9edde;border-radius:21px;width:530px;max-width:100%;max-height:calc(100dvh - 50px);animation:.2s ease-out slide-up;overflow:auto;box-shadow:0 30px 100px #1c341a40}.modal.wide{width:810px}.modal-heading{border-bottom:1px solid var(--line);z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffefaed;justify-content:space-between;align-items:flex-start;gap:15px;padding:23px 25px;display:flex;position:sticky;top:0}.modal-heading h2{color:#576b46;font-size:20px}.modal-heading p{color:#5f6755;max-width:600px;margin-top:5px;font-size:11px}.modal-heading>.icon-button{color:#5d684f;flex-shrink:0;margin:-2px -5px 0 0}.modal-body{padding:24px 25px}.modal-body h3{color:#5b6c4b;font-size:15px;font-weight:500}.modal-actions{border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;margin-top:10px;padding:19px 0 0;display:flex}.modal-actions>.subtle-button:first-child{margin-right:auto}.confirm-description{color:#5c6850;margin-bottom:23px;font-size:13px;line-height:2}.recipe-detail-photo{background:#e3e9d8;height:310px;position:relative;overflow:hidden}.recipe-detail-photo>img{object-position:center 48%;width:100%;height:100%}.recipe-detail-photo:after{content:"";pointer-events:none;background:linear-gradient(#0000,#26332399);position:absolute;inset:60% 0 0}.recipe-detail-photo .photo-category{font-size:10px;top:20px;left:24px}.detail-photo-meta{color:#ffffed;z-index:1;gap:20px;font-size:11px;display:flex;position:absolute;bottom:20px;left:24px}.detail-photo-meta>span{align-items:center;gap:6px;display:flex}.detail-tools{justify-content:space-between;align-items:center;gap:10px;margin:-8px 0 20px;display:flex}.tag-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.detail-tools>.button{color:#5e6752;font-size:11px}.detail-section-heading{justify-content:space-between;align-items:center;gap:15px;margin:24px 0 15px;display:flex}.detail-section-heading h3{font-size:16px}.recipe-detail-body .table-wrap{border:1px solid #e8eddc;border-radius:10px}.cooking-steps{flex-direction:column;gap:15px;margin:0;padding:0;list-style:none;display:flex}.cooking-steps>li{align-items:flex-start;gap:16px;display:flex}.cooking-steps>li>span{color:#5e6b52;background:#f0f5e7;border:1px solid #e5edd9;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:33px;height:33px;font-family:Georgia,serif;font-size:15px;display:inline-flex}.cooking-steps p{color:#5e6a55;padding-top:3px;font-size:12px;line-height:2.1}.video-link{background:#f0f4e8;border:1px solid #e2ead4;border-radius:12px;align-items:center;gap:15px;margin:25px 0;padding:19px;display:flex}.video-play{color:#576b3c;background:#dfeacc;border-radius:50%;flex-shrink:0;place-items:center;width:43px;height:43px;display:grid}.video-link>span:nth-child(2){flex:1}.video-link b{color:#586b46;font-size:12px;display:block}.video-link small{color:#5e6753;margin-top:4px;font-size:10px;display:block}.video-link>svg{color:#5f6a53;flex-shrink:0}.detail-note{color:#5d6850;margin-bottom:20px;font-size:11px}.detail-note input{font-size:12px}.detail-actions>span{color:#5e6751;align-items:center;gap:5px;margin-right:auto;font-size:10px;display:flex}.form-stack{flex-direction:column;gap:19px;display:flex}.form-stack label{color:#5d6a4f;font-size:12px;font-weight:400}.form-stack label input,.form-stack label select,.form-stack label textarea{margin-top:1px}.form-grid{grid-template-columns:1fr 1fr;gap:18px;display:grid}.form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.span-two{grid-column:span 2}.input-suffix{align-items:center;min-width:0;display:flex;position:relative}.input-suffix input{padding-right:47px}.input-suffix>span{color:#5e6756;pointer-events:none;font-size:11px;position:absolute;right:13px}.input-icon{align-items:center;display:flex;position:relative}.input-icon>svg{color:#5e6755;position:absolute;left:13px}.input-icon input{padding-left:39px;font-size:12px}.field-hint{line-height:1.9;display:block;color:#616957!important;font-size:10px!important;font-weight:400!important}.form-section-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.form-section-heading>.text-link{font-size:10px}.recipe-edit-top{grid-template-columns:230px 1fr;gap:24px;display:grid}.upload-area{cursor:pointer;color:#5e6852;background:#f4f7ee;border:1px dashed #d4e1c3;border-radius:13px;flex-direction:column;justify-content:center;align-items:center;min-height:231px;display:flex;position:relative;overflow:hidden}.upload-area>input{opacity:0;cursor:pointer;width:100%;height:100%;position:absolute;inset:0}.upload-area>span{text-align:center;color:#5b684d;margin-top:12px;font-size:12px}.upload-area small{color:#616958;margin-top:5px;font-size:9px;display:block}.upload-area.has-image>img{object-fit:cover;width:100%;height:100%;position:absolute;inset:0}.upload-area.has-image>span{color:#fbfdf4;background:#25401fd0;padding:13px;font-size:11px;position:absolute;bottom:0;left:0;right:0}.upload-area.has-image small{color:#61695b}.ingredient-creator{background:#f4f8ed;border:1px solid #e2ebd3;border-radius:10px;padding:18px}.ingredient-creator>.button{margin-top:16px;font-size:11px}.ingredient-rows{flex-direction:column;gap:11px;display:flex}.ingredient-form-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 32px;align-items:center;gap:10px;display:grid}.ingredient-form-row>select,.ingredient-form-row input{font-size:12px}.steps-textarea{min-height:180px}.purchase-item{background:#f8faf4;border:1px solid #e3ebd7;border-radius:11px;padding:20px}.purchase-item legend{color:#5d6b4d;padding:0 8px;font-size:13px}.cook-selection{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.cook-selection>label{cursor:pointer;background:#f5f8ef;border:1px solid #e5ebdb;border-radius:10px;position:relative;overflow:hidden}.cook-selection>label>input{opacity:0;z-index:3;width:100%;height:100%;margin:0;position:absolute;inset:0}.cook-selection>label>img{opacity:.65;width:100%;height:95px}.cook-selection>label>span{color:#5f6952;padding:2px 10px 10px;font-size:11px}.cook-selection>label>svg{color:#62695a;background:#fff;border-radius:50%;width:23px;height:23px;padding:4px;position:absolute;top:8px;right:8px}.cook-selection>label.selected{background:#edf5e2;border-color:#9db77e}.cook-selection>label.selected>img{opacity:1}.cook-selection>label.selected>span{color:#596d43}.cook-selection>label.selected>svg{color:#fff;background:#8ba66c}.cook-selection>label:has(input:focus-visible){outline-offset:3px;outline:3px solid #9fb787}.consumption-list{border:1px solid #e6eddc;border-radius:11px;overflow:hidden}.consumption-row{border-bottom:1px solid #eef3e5;flex-direction:row;justify-content:space-between;align-items:center;gap:15px;padding:12px 17px;display:flex}.consumption-row:last-child{border:0}.consumption-row>span>b{color:#5b694c;font-size:12px;font-weight:500;display:block}.consumption-row small{color:#5e6755;margin-top:3px;font-size:9px;display:block}.consumption-row>.input-suffix{flex-shrink:0;width:140px}.consumption-row input{min-height:36px;padding:8px 40px 8px 10px;font-size:12px}.settings-account{border-bottom:1px solid var(--line);align-items:center;gap:13px;margin-bottom:22px;padding:0 0 22px;display:flex}.settings-account>div{flex:1}.settings-account b{color:#5c694c;font-size:14px;display:block}.settings-account small{color:#606856;margin-top:3px;font-size:10px;display:block}.settings-account .button{font-size:11px}.settings-fieldset{flex-direction:column;gap:22px;display:flex}.preference-chips{flex-wrap:wrap;gap:8px;display:flex}.preference-chips>label{cursor:pointer;color:#616a55;background:#f5f7f0;border:1px solid #e6edde;border-radius:7px;flex-direction:row;justify-content:center;align-items:center;gap:4px;min-height:35px;padding:7px 12px;font-size:11px;font-weight:400;display:inline-flex;position:relative}.preference-chips>label>input{opacity:0;width:100%;height:100%;margin:0;position:absolute;inset:0}.preference-chips>label.selected{color:#5a6c46;background:#e9f2df;border-color:#cbdcbb}.preference-chips>label:has(input:focus-visible){outline-offset:2px;outline:3px solid #a4bc8c}.ingredient-preferences{align-content:flex-start;max-height:170px;padding:3px;overflow-y:auto}.small-search{max-width:180px;min-height:34px;padding:6px 10px;font-size:11px}.small-search::placeholder{font-size:11px}.settings-section{border-top:1px solid var(--line);margin-top:27px;padding-top:23px}.settings-section h3{margin-bottom:13px}.settings-section>p{margin-bottom:14px;font-size:11px}.member-list{flex-wrap:wrap;gap:22px;margin:20px 0;display:flex}.member-list>div{align-items:center;gap:9px;display:flex}.member-list b{color:#5b694c;font-size:12px;font-weight:500;display:block}.member-list small{color:#5f6655;font-size:9px;display:block}.invite-box{background:#f3f7eb;border:1px solid #e6eed9;border-radius:10px;padding:17px 19px}.invite-box>span{color:#5f6952;font-size:10px}.invite-box>div{align-items:center;gap:8px;margin-top:11px;display:flex}.invite-box input{letter-spacing:3px;color:#596a44;background:#fffefa;max-width:230px;min-height:38px;font-family:monospace;font-size:14px}.invite-box .icon-button{color:#5b694c}.invite-box .subtle-button{margin-left:5px;font-size:10px}.settings-footnote{color:#616957;letter-spacing:1px;justify-content:center;align-items:center;gap:7px;margin-top:29px;font-size:9px;display:flex}.form-error{color:var(--red);background:#fff3ee;border:1px solid #ead5c8;border-radius:9px;padding:11px 13px;font-size:12px}.toast{z-index:200;color:#fff;background:#355b45;border:1px solid #486e4f;border-radius:12px;align-items:center;gap:10px;max-width:min(550px,100vw - 35px);padding:13px 21px;font-size:12px;animation:.2s fade-in;display:flex;position:fixed;bottom:28px;left:calc(50% + 90px);transform:translate(-50%);box-shadow:0 9px 28px #27452325}.toast>svg{flex-shrink:0}.toast.error{background:#926b4d;border-color:#a77b59}.offline-banner{color:#776442;background:#f8eedc;border-bottom:1px solid #eee1c8;justify-content:center;align-items:center;gap:8px;padding:10px 20px;font-size:12px;display:flex}.auth-page{background:#fffefa;grid-template-columns:1fr 1fr;min-height:100dvh;display:grid}.auth-art{background:#e9eedf;min-height:760px;padding:42px 58px;position:relative;overflow:hidden}.auth-brand{color:#4e6c3f;letter-spacing:1px;align-items:center;gap:10px;font-size:19px;font-weight:600;display:flex}.auth-copy{z-index:2;margin-top:83px;position:relative}.auth-copy>.eyebrow{letter-spacing:2px;color:#5e6a52;margin-bottom:21px;font-size:9px}.auth-copy h1{color:#506d42;letter-spacing:2px;font-size:44px;font-weight:500;line-height:1.65}.auth-copy p{color:#5c6b4d;margin-top:20px;font-size:13px;line-height:2.2}.auth-photo{width:355px;height:355px;position:absolute;bottom:32px;right:-48px;transform:rotate(-12deg)}.auth-photo>img{z-index:1;border:14px solid #fcfbed;border-radius:50%;width:100%;height:100%;position:relative;box-shadow:0 12px 24px #6d88512e}.auth-photo:before{content:"";border:1px solid #cfddbc;border-radius:50%;position:absolute;inset:-25px}.auth-photo:after{content:"";border:1px solid #d8e2c9;border-radius:50%;position:absolute;inset:-49px}.auth-photo>span{z-index:2;color:#5b6a49;background:#fffefaed;border:1px solid #e5ebd8;border-radius:10px;align-items:center;gap:8px;padding:13px 20px;font-size:11px;display:flex;position:absolute;bottom:27px;left:-20px;transform:rotate(5deg);box-shadow:0 5px 13px #6c88501a}.auth-caption{letter-spacing:2px;color:#5e6752;font-size:9px;position:absolute;bottom:33px;left:59px}.auth-form-panel{justify-content:center;align-items:center;padding:50px;display:flex}.auth-form-wrap{width:355px;max-width:100%}.auth-form-wrap>.brand-mark{width:45px;height:45px;margin-bottom:27px}.auth-form-wrap>.eyebrow{color:#606857;letter-spacing:2px;font-size:8px}.auth-form-wrap>h2{color:#536b42;letter-spacing:.5px;margin:7px 0 10px;font-size:29px;font-weight:500}.auth-form-wrap>p{color:#606954;margin-bottom:27px;font-size:12px}.auth-form-wrap>.form-stack{gap:20px}.auth-form-wrap label{color:#5c694e;font-size:12px}.auth-form-wrap input{background:#fffefb;border-color:#e0e8d5;min-height:47px}.auth-form-wrap input::placeholder{color:#616759;font-size:11px}.auth-form-wrap .button{min-height:46px;margin-top:7px;font-size:13px}.auth-switch{text-align:center;color:#606857;margin-top:22px;font-size:11px}.auth-switch>button{color:#5b6d44;padding:3px 4px;font-size:11px}.auth-note{color:#61685a;border-top:1px solid #e9eedf;justify-content:center;align-items:center;gap:7px;margin-top:32px;padding-top:23px;font-size:10px;display:flex}.inline-error{color:#77644c;text-align:center;background:#f8f0e5;border:1px solid #ecdbc5;border-radius:12px;flex-direction:column;align-items:center;gap:13px;padding:19px;font-size:12px;display:flex}.boot{color:#5e6a52;flex-direction:column;justify-content:center;align-items:center;gap:14px;min-height:100dvh;display:flex}.boot .brand-mark{border-radius:18px;width:60px;height:60px}.boot h1{color:#586d49;letter-spacing:2px;margin-top:4px;font-size:25px;font-weight:500}.boot p{color:#616855;margin-bottom:8px;font-size:12px}.skeleton{background:linear-gradient(90deg,#edf1e6 0,#f5f7ef 45%,#edf1e6 90%) 0 0/250% 100%;animation:1.7s infinite shimmer}.skeleton-hero{border-radius:16px;height:280px;margin-bottom:22px}.skeleton-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.skeleton-card{border-radius:13px;height:250px}.spin{animation:1.1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{to{background-position:-150% 0}}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@keyframes slide-up{0%{opacity:.3;transform:translateY(13px)}to{opacity:1;transform:translateY(0)}}@media (min-width:1600px){.page-layout{padding-left:40px;padding-right:40px}.page-layout.with-aside{grid-template-columns:minmax(0,1fr) 275px;gap:32px}.hero-art{right:7px}.home-hero{min-height:330px;padding:35px 36px}.hero-copy h2{font-size:32px}.hero-art>img{width:269px;height:269px}.hero-art{width:310px;height:288px}.recipe-cover{height:185px}.meal-photo .image-button{height:175px}}@media (max-width:1279px){.sidebar{width:195px;padding-left:13px;padding-right:13px}.main-shell{margin-left:195px}.brand strong{font-size:18px}.brand small{font-size:6px}.page-layout{padding:27px 24px 0}.topbar{padding:0 24px}.page-layout.with-aside{grid-template-columns:minmax(0,1fr) 223px;gap:21px}.home-hero{padding:25px}.hero-copy h2{font-size:26px}.hero-art{right:-53px}.hero-art>img{width:220px;height:220px;top:24px;right:20px}.hero-copy{max-width:66%}.hero-footnote{letter-spacing:0;font-size:8px}.hero-note{bottom:7px;left:17px}.hero-decor{right:56px}.quick-stats{gap:9px}.quick-stats>button{gap:7px;padding:13px 10px}.quick-stats .stat-icon{border-radius:9px;width:30px;height:34px}.quick-stats .stat-icon>svg{width:17px}.quick-stats>button>svg{display:none}.quick-stats small,.quick-stats em{font-size:8px}.recipe-grid{gap:13px}.recipe-cover{height:140px}.recipe-card-body{padding:12px}.recipe-title{font-size:14px}.recipe-meta{gap:6px;font-size:8px}.recipe-meta svg{width:11px}.recipe-tag{font-size:8px}.recipe-card-bottom{gap:5px}.recipe-card .add-dish{padding:5px 7px;font-size:9px}.meal-photo .image-button{height:143px}.meal-photo-label{left:9px}.meal-photo-label b{font-size:11px}.recommendation-controls>p{font-size:10px}.segmented button{padding:5px 8px;font-size:9px}.menu-aside{padding:19px 15px}.plan-layout{grid-template-columns:minmax(0,1fr) 245px;gap:19px}.plan-summary{padding:21px}.plan-summary .button{padding-left:9px;padding-right:9px;font-size:10px}.plan-row{gap:13px;padding:20px}.plan-thumb{width:72px;height:72px}.plan-row-info p{font-size:9px}.plan-row-actions{flex-direction:column;gap:0}.inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.history-meals{grid-template-columns:repeat(2,minmax(0,1fr))}.fridge-location-counts{gap:24px;padding-right:0}.auth-art{padding:38px 40px}.auth-copy h1{font-size:37px}.auth-photo{width:300px;height:300px;bottom:48px}.auth-caption{left:40px}.auth-form-panel{padding:35px}}@media (max-width:1139px){.page-layout.with-aside{display:block}.right-rail{display:none}.hero-art{right:0}.hero-copy{max-width:62%}.recipe-cover{height:180px}.meal-photo .image-button{height:182px}.hero-copy h2{font-size:29px}.hero-art>img{width:253px;height:253px;top:0}.hero-note{bottom:3px;left:-9px}.quick-stats>button{padding:17px 15px}.quick-stats .stat-icon{width:38px;height:38px;margin-right:2px}.quick-stats small{font-size:10px}.quick-stats em{font-size:9px}.quick-stats>button>svg{display:block}.recipe-meta{font-size:10px}.recipe-title{font-size:16px}.recipe-tag{font-size:9px}.recipe-card .add-dish{padding:6px 9px;font-size:10px}.recipe-card-body{padding:15px}.plan-layout{grid-template-columns:minmax(0,1fr)}.plan-summary{grid-row:2;grid-template-columns:repeat(3,1fr);align-items:center;gap:0 17px;display:grid}.plan-summary>.eyebrow,.plan-summary>h2,.plan-summary>.hint-box,.plan-summary>.summary-note{grid-column:1/-1}.plan-summary>.button{grid-column:span 2;font-size:12px}.plan-summary>.button+.button{grid-column:span 1}.plan-summary>.subtle-button{margin:12px auto}.plan-summary>.summary-note{font-size:10px}.plan-row-actions{flex-direction:row;gap:8px}.plan-thumb{width:83px;height:78px}.plan-row-info p{font-size:11px}.metric-card{gap:12px;padding:19px 22px}.metric-card .stat-icon{width:39px;height:39px}.fridge-overview{padding:27px}.fridge-overview h2{font-size:21px}.fridge-location-counts{gap:15px}.inventory-toolbar{gap:10px}.inventory-toolbar .category-tabs>button{padding:8px 11px;font-size:10px}.inventory-toolbar>.search-field{max-width:230px}}@media (max-width:899px){.sidebar{display:none}.main-shell{margin-left:0;padding-bottom:76px}.topbar{background:#fffefa;height:67px;padding:0 25px}.topbar-family{display:none}.mobile-brand{color:#4f6f43;align-items:center;gap:8px;display:flex}.mobile-brand>b{letter-spacing:1px;font-size:18px}.topbar-right{gap:13px}.today-date{font-size:10px}.topbar-right>.avatar{display:none}.mobile-nav{z-index:40;padding:7px 8px calc(7px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#fffefaef;border-top:1px solid #e3eada;justify-content:space-around;align-items:center;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -3px 15px #54643f04}.mobile-nav>button{color:#606758;flex-direction:column;flex:1;align-items:center;gap:2px;min-height:51px;padding:3px 0;font-size:9px;display:flex}.mobile-nav>button.active{color:#4d6d3d}.mobile-nav>button.active .mobile-nav-icon{background:#eaf1df}.mobile-nav-icon{border-radius:10px;justify-content:center;align-items:center;padding:4px 14px;display:flex;position:relative}.mobile-nav-icon>svg{stroke-width:1.7px}.mobile-nav-icon>b{color:#fff;background:#87a366;border:2px solid #fffefa;border-radius:10px;min-width:18px;font-size:8px;font-weight:500;line-height:14px;position:absolute;top:-3px;right:4px}.page-layout{max-width:820px;padding:28px 25px 0}.hero-copy h2{font-size:32px}.hero-art{right:8px}.recipe-cover{height:177px}.recipe-card-body{padding:15px}.recipe-title{font-size:15px}.recipe-meta{font-size:9px}.meal-photo .image-button{height:176px}.meal-photo>.icon-button{width:36px;height:36px}.recipe-cover>.favorite{width:37px;height:37px}.icon-button{width:42px;min-width:42px;height:42px}.topbar .icon-button{color:#5c6c47}.page-footer{margin-top:32px;margin-bottom:12px}.toast{bottom:91px;left:50%}.inventory-card-top>.icon-button{opacity:1;width:32px;min-width:32px;height:32px;margin-left:-5px;margin-right:-10px;position:static}.storage-tag{margin-left:auto}.inventory-card{padding:19px 17px}.inventory-card h3{font-size:15px}.inventory-grid{gap:15px}.small-button{min-height:40px}.auth-art{min-height:100dvh;padding:32px}.auth-copy{margin-top:87px}.auth-copy h1{font-size:32px}.auth-copy>.eyebrow{letter-spacing:1px;font-size:7px}.auth-copy p{font-size:12px}.auth-photo{width:256px;height:256px;bottom:69px;right:-34px}.auth-photo>img{border-width:10px}.auth-photo>span{padding:11px 13px;font-size:9px;left:-12px}.auth-caption{letter-spacing:1px;font-size:8px;left:32px}.auth-form-panel{padding:35px 29px}.auth-form-wrap>h2{font-size:26px}.auth-form-wrap>p{font-size:11px}.auth-note{font-size:9px}.auth-note svg{width:15px}.modal-backdrop{padding:20px}.modal{max-height:calc(100dvh - 40px)}.modal-heading .icon-button{width:40px;min-width:40px;height:40px}}@media (max-width:599px){body{font-size:13px}.topbar{height:62px;padding:0 19px}.mobile-brand{gap:7px}.mobile-brand>b{font-size:17px}.mobile-brand>svg{width:24px}.topbar-right{gap:5px}.today-date{letter-spacing:0;font-size:9px}.page-layout{padding:22px 17px 0}.page-intro{gap:9px;margin-bottom:20px}.page-intro .eyebrow{letter-spacing:1.6px;font-size:7px}.page-intro h1{letter-spacing:-.8px;gap:8px;margin:4px 0 6px;font-size:26px}.heading-leaf svg{width:21px}.page-intro p{letter-spacing:0;font-size:10px;line-height:1.85}.page-intro>.button{gap:5px;min-height:38px;padding:9px 11px;font-size:10px}.page-intro>.button svg{width:14px}.people-pill{gap:4px;padding:6px 8px;font-size:9px}.people-pill svg{width:13px}.home-hero{border-radius:15px;min-height:287px;padding:23px 21px}.hero-copy{max-width:85%}.hero-eyebrow{letter-spacing:.5px;padding:3px 7px;font-size:9px}.hero-copy h2{letter-spacing:0;margin:11px 0 9px;font-size:25px;line-height:1.6}.hero-copy p{max-width:165px;margin-bottom:20px;font-size:10px;line-height:1.9}.mobile-break{display:block}.hero-copy .button{gap:6px;min-height:39px;padding:9px 11px;font-size:10px}.hero-copy .button>svg{width:14px}.hero-footnote{letter-spacing:0;gap:4px;margin-top:14px;font-size:8px}.hero-art{width:218px;height:215px;top:40px;right:-67px}.hero-art>img{border-width:7px;width:178px;height:178px;top:25px;right:2px;box-shadow:0 10px 15px #78965824}.hero-orbit{width:228px;height:228px;top:2px;right:-23px}.hero-orbit:after{inset:-15px}.hero-note{border-radius:8px;gap:6px;padding:7px 9px;font-size:7px;bottom:-10px;left:32px}.hero-note>svg{width:12px}.hero-decor{display:none}.quick-stats{gap:8px;margin:13px 0 27px}.quick-stats>button{align-items:flex-start;gap:6px;padding:12px 9px}.quick-stats .stat-icon{border-radius:7px;width:24px;height:27px;margin:0}.quick-stats .stat-icon svg{width:14px;height:14px}.quick-stats>button>svg{display:none}.quick-stats b{font-size:16px;line-height:1.2}.quick-stats small{margin-top:3px;font-size:8px;display:block}.quick-stats em{letter-spacing:-.1px;margin-top:5px;font-size:7px}.section-heading{margin-bottom:15px}.section-heading h2{font-size:18px}.section-heading .eyebrow{letter-spacing:1.2px;margin-bottom:3px;font-size:7px}.section-heading>.text-link{font-size:10px}.recommendation-controls{flex-direction:column;align-items:flex-start;gap:10px;margin-bottom:13px}.recommendation-controls>p{font-size:10px}.segmented button{min-height:31px;padding:5px 12px;font-size:10px}.recommendation-card-top{gap:7px;padding:12px 13px}.recommendation-card-top>span:first-child{gap:5px;font-size:11px}.recommendation-card-top .quiet-text{gap:3px;font-size:9px}.recommendation-card-top .quiet-text svg{width:11px}.recommendation-card-top b{font-size:15px}.meal-photos{gap:5px;margin:0 10px}.meal-photo{border-radius:7px}.meal-photo .image-button{height:125px}.meal-photo-label{bottom:8px;left:8px;right:5px}.meal-photo-label b{letter-spacing:0;font-size:10px}.meal-photo-label>span{font-size:7px}.meal-photo>.icon-button{background:#fffdf4e8;width:35px;min-width:35px;height:35px;top:4px;right:4px}.recommendation-reasons{gap:5px 9px;padding:11px 13px;font-size:9px}.recommendation-reasons>span{gap:4px}.recommendation-reasons svg{width:12px}.recommendation-card-bottom{gap:8px;padding:13px}.recommendation-card-bottom b{font-size:11px}.recommendation-card-bottom p{max-width:174px;font-size:9px;line-height:1.8}.recommendation-card-bottom .button{gap:5px;min-height:39px;padding:9px 11px;font-size:10px}.recommendation-card-bottom .button svg{width:13px}.recommendation-pagination{font-size:8px}.recommendation-section{margin-bottom:29px}.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px 11px}.recipe-cover{height:145px}.recipe-card{border-radius:12px}.recipe-cover>.favorite{width:35px;min-width:35px;height:35px;top:6px;right:6px}.photo-category{padding:3px 6px;font-size:8px;top:9px;left:8px}.recipe-card-body{padding:12px 11px 10px}.recipe-title{letter-spacing:-.2px;font-size:14px}.recipe-card-body>p{margin-top:4px;font-size:9px}.recipe-meta{justify-content:space-between;gap:6px;margin-top:11px;font-size:8px}.recipe-meta>span{gap:3px}.recipe-meta svg{width:10px;height:10px}.recipe-card-bottom{gap:3px;margin-top:10px;padding-top:9px}.recipe-tag{padding:3px 5px;font-size:8px}.recipe-card .add-dish{gap:3px;min-height:32px;padding:7px;font-size:9px}.recipe-card .add-dish svg{width:13px}.daily-tip{gap:10px;margin-top:23px;padding:16px 15px}.daily-tip>svg{flex-shrink:0;width:19px}.daily-tip b{font-size:10px}.daily-tip p{font-size:9px}.daily-tip>button{flex-shrink:0;width:24px}.page-footer{letter-spacing:.5px;margin:30px 10px 9px;font-size:8px}.page-footer>span{margin-left:2px;padding-left:8px;font-size:7px}.recipe-toolbar{gap:8px;margin-bottom:15px}.search-field{gap:7px;padding:0 11px}.search-field input{min-height:43px;padding:10px 0;font-size:11px}.search-field input::placeholder{font-size:10px}.search-field>svg{flex-shrink:0;width:16px}.filter-button{gap:5px;min-height:45px;padding:9px 10px;font-size:10px}.filter-button>svg{width:14px}.category-tabs{gap:4px}.category-tabs>button{min-height:36px;padding:8px 11px;font-size:10px}.result-count{margin:15px 0;font-size:9px}.result-count>span{font-size:8px}.status-pill{gap:4px;padding:6px 9px;font-size:9px}.status-pill svg{width:13px}.plan-layout{gap:18px}.panel{border-radius:13px}.panel-heading{gap:10px;padding:18px 17px}.panel-heading h2{font-size:15px}.panel-heading h2>span{margin-left:5px;font-size:9px}.panel-heading>.text-link,.panel-heading p{font-size:10px}.plan-row{flex-wrap:wrap;gap:12px;padding:17px}.plan-thumb{border-radius:9px;width:68px;height:68px}.plan-row-info{width:calc(100% - 80px)}.plan-row-info .plain-heading{font-size:14px}.plan-row-info p{gap:4px;margin-top:4px;font-size:9px}.note-input{min-height:28px;font-size:10px}.note-input::placeholder{font-size:9px}.plan-row-actions{flex:1;justify-content:space-between;margin-top:-8px;margin-left:80px}.stepper{height:36px}.stepper>button{width:33px;height:35px}.stepper>span{min-width:40px;font-size:12px}.stepper small{font-size:9px}.plan-row-actions>.icon-button{width:36px;min-width:36px;height:36px}.plan-bottom{padding:15px 17px}.plan-bottom .avatar-stack>span:last-child:not(.avatar){margin-left:8px;font-size:9px}.plan-bottom>.subtle-button{font-size:10px}.plan-summary{padding:23px 20px;display:block}.plan-summary>.button{min-height:43px;font-size:12px}.plan-summary>.button+.button{margin-top:10px}.plan-summary>.summary-note{margin-top:18px;font-size:10px}.summary-line{font-size:12px}.needs-table th{padding:10px 11px;font-size:9px}.needs-table td{padding:12px 11px;font-size:10px}.needs-table td:first-child{min-width:70px}.group-dot{width:5px;height:5px;margin-right:5px}.needs-table .inline-icon{gap:3px;font-size:9px}.needs-table .inline-icon>svg{width:11px}.requirements-panel .quiet-text{font-size:9px}.metric-grid{gap:9px;margin-bottom:19px}.metric-card{border-radius:11px;padding:14px 13px;display:block}.metric-card>.stat-icon{border-radius:9px;width:31px;height:31px;margin-bottom:10px}.metric-card>.stat-icon svg{width:18px}.metric-card b{font-size:24px}.metric-card b>small{font-size:10px}.metric-card p{margin-top:4px;font-size:9px}.shopping-panel .panel-heading{flex-direction:column;align-items:flex-start;gap:13px}.shopping-panel .panel-heading>.button{min-height:39px;padding:9px 12px;font-size:10px}.shopping-row{flex-wrap:wrap;gap:10px;padding:17px 13px;position:relative}.shopping-check{align-self:flex-start;width:25px;min-width:25px;height:39px}.shopping-check>span{width:19px;height:19px}.shopping-row-main>b{font-size:13px}.shopping-row-main>p{flex-wrap:wrap;column-gap:4px;max-width:190px;margin-top:5px;font-size:9px;line-height:1.9;display:flex}.shopping-row-main p>span{color:#63695e;padding:0}.shopping-amount{align-self:flex-start;min-width:66px;margin-top:3px}.shopping-amount>strong{font-size:14px}.shopping-amount>small{font-size:8px}.shopping-row>.small-button{min-height:33px;margin-top:-6px;margin-left:auto;padding:6px 10px;font-size:10px}.shopping-ready{padding:31px 16px 36px}.shopping-ready h3{font-size:14px}.shopping-ready p{margin-bottom:20px;font-size:10px}.shopping-ready .button{font-size:11px}.shopping-secondary-grid{grid-template-columns:1fr;gap:17px;margin-top:19px}.compact-panel{padding:20px}.simple-list-row{padding:11px 0;font-size:11px}.simple-list-row>b{font-size:10px}.cook-banner{flex-direction:column;align-items:stretch;gap:19px;margin-top:20px;padding:21px 20px}.cook-banner>div{gap:12px}.cook-banner b{font-size:12px}.cook-banner small{font-size:9px}.cook-banner .button{font-size:12px}.notice{gap:10px;margin-bottom:17px;padding:13px 14px}.notice b{font-size:10px}.notice p{font-size:9px}.notice svg{width:16px}.fridge-overview{flex-direction:column;align-items:flex-start;gap:14px;margin-bottom:20px;padding:23px 20px}.fridge-overview .eyebrow{font-size:8px}.fridge-overview h2{margin:7px 0;font-size:22px;line-height:1.55}.fridge-overview p{font-size:10px}.fridge-location-counts{border-top:1px solid #dfe7d1;justify-content:space-between;gap:10px;width:100%;margin-top:3px;padding:15px 10px 0}.fridge-location-counts>button{flex-flow:wrap;justify-content:center;align-items:center;gap:8px}.fridge-location-counts>button>span{font-size:18px}.fridge-location-counts b{font-size:21px}.fridge-location-counts small{font-size:10px}.inventory-toolbar{flex-direction:column;align-items:stretch;gap:13px;margin-bottom:17px}.inventory-toolbar>.search-field{max-width:none}.inventory-toolbar .category-tabs>button{padding:8px 12px;font-size:10px}.inventory-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.inventory-card{border-radius:12px;padding:15px 13px 13px}.inventory-card-top{gap:4px;margin-bottom:12px}.ingredient-emoji{border-radius:11px;width:37px;height:37px;font-size:24px}.ingredient-emoji svg{width:23px}.storage-tag{margin-left:auto;padding:2px 5px;font-size:8px}.inventory-card-top>.icon-button{background:0 0;width:27px;min-width:27px;height:30px;margin-left:0;margin-right:-6px}.inventory-card-top>.icon-button>svg{width:13px}.inventory-card h3{font-size:14px}.inventory-quantity{margin:5px 0 12px;font-size:21px}.inventory-expiry{gap:4px;padding-top:10px;font-size:8px}.inventory-expiry>svg{width:12px}.expired-note{font-size:8px}.history-card{flex-direction:column;gap:15px;padding:18px 16px}.history-date{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;align-items:center;gap:10px;width:100%;padding:0 0 12px}.history-date>span:first-child{font-size:14px}.history-date small{font-size:10px}.history-date .count-pill{margin-top:0;margin-left:auto}.history-meals{grid-template-columns:1fr 1fr;gap:14px}.history-meal{gap:8px}.history-meal img{width:47px;height:47px}.history-meal b{font-size:10px}.history-meal small{font-size:8px}.ledger-panel{padding:2px 17px}.ledger-row{gap:12px;padding:17px 0}.ledger-row .stat-icon{width:34px;height:34px}.ledger-row b{font-size:12px}.ledger-row p{font-size:9px}.ledger-row small{font-size:8px}.ledger-row>strong{font-size:12px}.empty{padding:39px 20px}.empty h3{font-size:15px}.empty p{margin:9px auto 20px;font-size:11px}.empty .button{padding:10px 13px;font-size:11px}.empty-icon{width:59px;height:59px;margin-bottom:16px}.modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%;max-height:94dvh;padding-bottom:env(safe-area-inset-bottom);border-bottom:0;border-radius:20px 20px 0 0}.modal.wide{width:100%}.modal-heading{gap:10px;padding:19px 18px 17px}.modal-heading h2{font-size:19px}.modal-heading p{margin-top:5px;font-size:10px;line-height:1.8}.modal-heading>.icon-button{width:36px;min-width:36px;height:36px;margin-right:-4px}.modal-body{padding:21px 18px}.modal-actions{gap:8px;padding-top:17px}.modal-actions>.button{min-height:42px;padding:10px 12px;font-size:11px}.modal-actions .subtle-button{font-size:10px}.confirm-description{margin-bottom:20px;font-size:12px}.recipe-detail-photo{height:225px}.detail-photo-meta{gap:15px;font-size:10px;bottom:16px;left:18px}.recipe-detail-photo .photo-category{top:15px;left:18px}.detail-tools{margin:-6px 0 14px}.detail-tools>.button{gap:4px;padding:6px;font-size:10px}.detail-section-heading{margin-top:22px}.detail-section-heading h3{font-size:15px}.recipe-detail-body .needs-table td,.recipe-detail-body .needs-table th{padding-left:9px;padding-right:9px}.cooking-steps{gap:16px}.cooking-steps>li{gap:12px}.cooking-steps>li>span{width:30px;height:30px;font-size:13px}.cooking-steps p{font-size:11px;line-height:2.1}.video-link{gap:11px;margin:22px 0;padding:16px}.video-play{width:36px;height:36px}.video-play>svg{width:15px}.video-link b{font-size:11px}.video-link small{font-size:9px}.video-link>svg{width:15px}.detail-note{font-size:11px}.detail-actions>span{gap:4px;font-size:9px}.detail-actions>span>svg{width:13px}.detail-actions>.button{font-size:11px}.form-stack{gap:18px}.form-stack label{font-size:11px}.form-grid{gap:15px 12px}.form-grid.three{grid-template-columns:1fr 1fr}.form-grid.three>label:last-child{grid-column:span 2}.form-stack input,.form-stack select,.form-stack textarea{min-height:44px;font-size:13px}.field-hint{font-size:9px!important}.recipe-edit-top{grid-template-columns:1fr;gap:21px}.upload-area{min-height:200px;max-height:230px}.recipe-edit-top .upload-area img{object-position:center}.ingredient-creator{padding:15px}.ingredient-form-row{grid-template-columns:minmax(0,1.2fr) minmax(0,1fr) 29px;gap:7px}.ingredient-form-row input,.ingredient-form-row select{padding-left:9px;font-size:11px}.ingredient-form-row>.icon-button{width:28px;min-width:28px}.ingredient-form-row>.input-suffix>span{font-size:10px;right:10px}.ingredient-form-row>.input-suffix>input{padding-right:30px}.form-section-heading h3{font-size:14px}.form-section-heading>.text-link{font-size:9px}.recipe-edit-top textarea{min-height:75px}.purchase-item{padding:16px}.purchase-item legend{font-size:12px}.cook-selection{gap:8px}.cook-selection>label>img{height:80px}.cook-selection>label>span{white-space:nowrap;text-overflow:ellipsis;max-width:100%;padding:1px 8px 9px;font-size:9px;overflow:hidden}.cook-selection>label>svg{width:21px;height:21px;top:6px;right:6px}.consumption-row{padding:11px 12px}.consumption-row>.input-suffix{width:114px}.consumption-row>span>b{font-size:11px}.consumption-row small{max-width:170px;font-size:8px}.consumption-row input{min-height:38px;font-size:12px}.settings-account{gap:10px;margin-bottom:21px;padding-bottom:20px}.settings-account b{font-size:13px}.settings-account small{font-size:9px;line-height:1.8}.settings-account>.button{flex-shrink:0;gap:4px;padding:8px 5px;font-size:10px}.settings-account>.button>svg{width:13px}.settings-fieldset{gap:20px}.preference-chips{gap:7px}.preference-chips>label{min-height:36px;padding:7px 10px;font-size:10px}.small-search{max-width:135px;min-height:34px;font-size:10px}.member-list{gap:17px}.member-list b{font-size:11px}.member-list small{font-size:8px}.invite-box{padding:15px}.invite-box>span{font-size:9px}.invite-box input{letter-spacing:2px;max-width:190px;font-size:13px}.invite-box .icon-button{width:33px;min-width:33px}.settings-footnote{font-size:8px}.toast{border-radius:10px;width:max-content;max-width:calc(100vw - 26px);padding:12px 15px;font-size:11px;bottom:89px}.toast>svg{width:16px}.auth-page{min-height:100dvh;display:block}.auth-art{display:none}.auth-form-panel{background:radial-gradient(at 100% 0,#ecf2e2 0,#0000 55%),#fffefa;align-items:flex-start;min-height:100dvh;padding:55px 27px 34px}.auth-form-wrap{width:370px}.auth-form-wrap>.brand-mark{border-radius:15px;width:49px;height:49px;margin-bottom:32px}.auth-form-wrap>h2{letter-spacing:.5px;font-size:29px}.auth-form-wrap>p{margin-bottom:28px;font-size:12px;line-height:1.9}.auth-form-wrap label{font-size:12px}.auth-form-wrap input{min-height:48px;font-size:14px}.auth-form-wrap input::placeholder{font-size:12px}.auth-form-wrap .button{min-height:47px;font-size:13px}.auth-switch{margin-top:24px;font-size:11px}.auth-switch>button{font-size:11px}.auth-note{margin-top:35px;padding-top:26px;font-size:10px}.auth-form-wrap>.eyebrow{font-size:8px}.button-row{gap:8px}.boot h1{font-size:23px}.boot p{font-size:11px}.offline-banner{padding:9px 14px;font-size:10px}.skeleton-grid{grid-template-columns:1fr 1fr}.skeleton-grid>div:last-child{display:none}}@media (max-width:374px){.page-layout{padding-left:14px;padding-right:14px}.topbar{padding-left:16px;padding-right:12px}.today-date{font-size:8px}.page-intro h1{font-size:24px}.people-pill{padding:5px 7px;font-size:8px}.hero-copy h2{font-size:23px}.hero-copy{max-width:90%}.home-hero{padding-left:19px}.hero-art{right:-76px}.hero-footnote{font-size:7px}.quick-stats>button{gap:5px;padding:12px 7px}.quick-stats em{letter-spacing:-.3px;font-size:6.8px}.quick-stats .stat-icon{width:20px;height:24px}.quick-stats small{font-size:7px}.recipe-grid{gap:11px 9px}.recipe-cover{height:131px}.recipe-card-body{padding:11px 9px}.recipe-title{font-size:13px}.recipe-meta{gap:3px;font-size:7px}.recipe-card .add-dish{padding:6px;font-size:8px}.recipe-card .recipe-tag{font-size:7px}.recommendation-card-top .quiet-text{font-size:8px}.meal-photo .image-button{height:117px}.meal-photo-label b{font-size:9px}.recommendation-card-bottom p{max-width:147px}.inventory-card{padding:14px 11px}.ingredient-emoji{width:32px;height:35px;font-size:22px}.storage-tag{padding:2px 4px;font-size:7px}.inventory-expiry{font-size:7px}.inventory-card-top>.icon-button{width:24px;min-width:24px}.small-search{max-width:112px}.modal-body{padding-left:16px;padding-right:16px}.detail-actions>span{font-size:8px}.detail-actions>.button{padding:10px;font-size:10px}.topbar-right>.icon-button{width:35px;min-width:35px}.page-footer>span{font-size:6px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.desktop-nav>button{font-size:14px}.aside-description,.aside-empty p,.aside-members>span,.fridge-aside>p,.fridge-aside>.text-link,.expiry-row,.family-card p{font-size:11px}.brand small{font-size:7px}.hero-copy p{font-size:13px}.hero-footnote{font-size:10px}.recipe-title{font-size:16px}.recipe-card-body>p{-webkit-line-clamp:2;white-space:normal;-webkit-box-orient:vertical;min-height:43px;font-size:12px;line-height:1.8;display:-webkit-box}.recipe-meta{row-gap:5px;font-size:11px}.recipe-tag{font-size:10px}.recipe-card .add-dish{min-height:36px;font-size:12px}.recipe-card-bottom{min-height:49px}.quick-stats em{font-size:10px}.quick-stats small{font-size:11px}.page-intro p{font-size:13px}.recommendation-controls>p{font-size:12px}.recommendation-card-top .quiet-text{font-size:11px}.recommendation-reasons{gap:9px 15px;font-size:12px}.recommendation-card-bottom b{font-size:13px}.recommendation-card-bottom p{font-size:11px}.meal-photo-label b{font-size:13px}.meal-photo-label span{color:#fff;font-size:10px}.daily-tip b{font-size:12px}.daily-tip p{font-size:11px}.form-stack label{font-size:13px}.field-hint{font-size:11px!important}.cooking-steps p{font-size:14px}.needs-table td{font-size:13px}.needs-table th{font-size:12px}.consumption-row>span>b{font-size:13px}.consumption-row small,.inventory-expiry{font-size:11px}.storage-tag{font-size:10px}.shopping-row-main>p{font-size:12px}.shopping-amount>small{font-size:10px}.auth-form-wrap label,.auth-form-wrap>p{font-size:13px}.auth-form-wrap input::placeholder{font-size:12px}.auth-note{font-size:11px}.auth-switch,.auth-switch>button{font-size:12px}@media (max-width:599px){.hero-copy p{font-size:11px}.hero-footnote{font-size:8px}.page-intro p{font-size:11px}.quick-stats em{font-size:8px}.quick-stats small{font-size:9px}.quick-stats>button{gap:5px}.recipe-title{font-size:15px}.recipe-card-body>p{min-height:40px;font-size:11px}.recipe-meta{justify-content:flex-start;gap:5px 8px;font-size:10px}.recipe-tag{font-size:9px}.recipe-card .add-dish{min-height:44px;padding:6px 9px;font-size:11px}.recipe-card-bottom{min-height:53px}.favorite,.recipe-cover>.favorite,.meal-photo>.icon-button{width:40px;min-width:40px;height:40px}.recipe-cover>.favorite{top:3px;right:3px}.meal-photo>.icon-button{top:1px;right:1px}.meal-photo-label b{font-size:11px}.meal-photo-label span{font-size:9px}.recommendation-reasons{row-gap:5px;font-size:11px}.recommendation-card-top .quiet-text{font-size:9px}.recommendation-card-bottom b{font-size:12px}.recommendation-card-bottom p{font-size:10px}.recommendation-card-bottom .button{min-height:44px;font-size:11px}.recommendation-controls>p{font-size:11px}.segmented button{min-height:36px;font-size:11px}.category-tabs>button{min-height:40px;font-size:11px}.result-count{font-size:10px}.daily-tip b{font-size:11px}.daily-tip p{font-size:10px}.inventory-expiry{white-space:normal;font-size:9px}.storage-tag{font-size:9px}.shopping-row-main>p{font-size:10px}.shopping-row>.small-button{min-height:40px}.form-stack label{font-size:12px}.field-hint{font-size:10px!important}.cooking-steps p{font-size:13px}.needs-table th{font-size:10px}.needs-table td{padding-left:10px;padding-right:10px;font-size:11px}.consumption-row>span>b{font-size:12px}.consumption-row small{font-size:10px}.modal-actions>.button,.auth-form-wrap>p{font-size:12px}.auth-note{font-size:10px}}.mobile-private-shortcuts{display:none}.private-loading{text-align:center;justify-items:center;gap:10px;max-width:620px;margin:80px auto;padding:42px;display:grid}.invite-type-grid,.claim-grid,.gathering-grid,.journal-grid{gap:18px;margin-bottom:28px;display:grid}.invite-type-grid,.claim-grid,.gathering-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.journal-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.invite-type-card{text-align:left;min-height:205px;box-shadow:var(--shadow);background:linear-gradient(135deg,#f5f8ef,#fffefa);border:1px solid #dfe8d8;border-radius:20px;padding:26px;transition:transform .18s,border-color .18s}.invite-type-card.warm{background:linear-gradient(135deg,#fff8ed,#fffefa);border-color:#eee0c8}.invite-type-card:hover{border-color:#b8cba8;transform:translateY(-2px)}.invite-type-card h2{margin:17px 0 8px;font-size:21px}.invite-type-card p{color:var(--muted);font-size:13px}.invite-type-card .text-link{margin-top:17px}.stat-icon{border-radius:14px;justify-content:center;align-items:center;width:46px;height:46px;display:inline-flex}.stat-icon.green{color:var(--green);background:#e4eddb}.stat-icon.amber{color:#936824;background:#f7ead4}.private-setup,.private-member,.private-invite-row,.simple-list-row,.share-instructions,.gathering-bottom,.journal-bottom,.row-heading,.private-meal-controls{align-items:center;gap:16px;display:flex}.private-setup{justify-content:space-between;margin:0 0 28px;padding:24px}.private-setup h2{align-items:center;gap:9px;display:flex}.private-setup p{color:var(--muted);margin-top:6px;font-size:12px}.quiet-panel{text-align:center;color:var(--muted);background:#fafbf7;border:1px dashed #d8e2d0;border-radius:16px;margin-bottom:28px;padding:25px}.claim-card h3{font-size:19px}.claim-card>p{color:var(--muted);margin:7px 0 16px}.claim-card input{text-transform:uppercase;letter-spacing:4px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.claim-card .button-row{justify-content:flex-end;margin-top:14px}.private-section{margin-bottom:28px;padding:25px}.private-member-list,.private-invite-list{display:grid}.private-member{border-bottom:1px solid var(--line);padding:17px 0}.private-member:last-child,.private-invite-row:last-child{border-bottom:0}.private-member>div:nth-child(2),.private-invite-row>div:nth-child(2){flex:1;min-width:0}.private-member p,.private-invite-row p{color:var(--muted);font-size:11px}.private-member .button-row{justify-content:flex-end}.private-invite-row{border-bottom:1px solid var(--line);padding:17px 8px}.private-invite-list{padding:7px 19px 10px}.count-pill,.status-pill{color:#537043;white-space:nowrap;background:#eef3e8;border-radius:999px;justify-content:center;align-items:center;padding:4px 10px;font-size:10px;display:inline-flex}.status-pill{color:#856329;background:#f6eddc}.gathering-card{padding:25px}.row-heading{justify-content:space-between}.gathering-card h2{margin:12px 0 4px;font-size:22px}.gathering-photos{margin:18px 0;display:flex}.gathering-photos img{border:5px solid #fff;border-radius:50%;width:82px;height:82px;margin-right:-17px;box-shadow:0 3px 12px #263f2922}.gathering-card>p:not(.muted){min-height:46px;font-size:12px}.gathering-bottom{border-top:1px solid var(--line);justify-content:space-between;margin-top:17px;padding-top:17px}.private-search{max-width:430px;margin-bottom:23px}.journal-card{padding:0;overflow:hidden}.journal-cover,.journal-no-photo{width:100%;height:225px;padding:0;position:relative}.journal-cover img{width:100%;height:100%}.journal-cover>span{color:#fff;background:#203428bd;border-radius:20px;padding:5px 10px;font-size:10px;position:absolute;bottom:12px;right:12px}.journal-no-photo{color:#5d754f;background:#eef3e8;flex-direction:column;justify-content:center;align-items:center;gap:10px;display:flex}.journal-body{padding:19px}.journal-body h2{font-size:18px}.journal-note{min-height:51px;color:var(--text);margin:12px 0;font-size:12px}.journal-bottom{border-top:1px solid var(--line);color:var(--muted);justify-content:space-between;padding-top:13px;font-size:10px}.private-meal-controls{background:#f5f7f1;border-radius:13px;flex-wrap:wrap;padding:16px}.detail-meal-recipes{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.detail-meal-recipe{border:1px solid var(--line);border-radius:13px;grid-template-columns:72px minmax(0,1fr);gap:13px;padding:10px;display:grid}.detail-meal-recipe img{border-radius:10px;width:72px;height:72px}.detail-meal-recipe p,.detail-meal-recipe small{color:var(--muted);font-size:10px;line-height:1.7;display:block}.simple-list-row{border-bottom:1px solid var(--line);justify-content:space-between;padding:10px 3px}.record-shortcut{border:1px solid var(--line);text-align:left;border-radius:11px;align-items:center;gap:10px;width:100%;padding:13px;display:flex}.record-shortcut span:nth-child(2){flex:1}.record-shortcut span:last-child{color:var(--green);font-size:11px}.share-instructions{background:#f3f7ed;border-radius:14px;align-items:flex-start;padding:17px}.share-instructions p{flex:1;font-size:12px}.copy-token{letter-spacing:1px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.wechat-code{object-fit:contain;border:1px solid var(--line);border-radius:14px;width:260px;height:260px;margin:0 auto}.hint-box{color:var(--muted);background:#f5f7f1;border:1px solid #e1e8da;border-radius:12px;padding:15px 17px;font-size:11px;line-height:1.9}.photo-privacy-note{color:var(--muted);align-items:center;gap:11px;font-size:11px;display:flex}.event-recipe-options{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;max-height:330px;padding:2px;display:grid;overflow:auto}.event-recipe-options label{border:1px solid var(--line);border-radius:11px;grid-template-columns:22px 52px minmax(0,1fr) 18px;align-items:center;gap:9px;padding:8px;display:grid;position:relative}.event-recipe-options label.selected{background:#eff4e9;border-color:#b7cca8}.event-recipe-options img{border-radius:8px;width:52px;height:52px}.event-recipe-options label>svg{opacity:0;color:var(--green)}.event-recipe-options label.selected>svg{opacity:1}.prepare-row{border:1px solid var(--line);border-radius:12px;grid-template-columns:minmax(145px,.7fr) 95px minmax(200px,1fr);align-items:end;gap:12px;padding:15px;display:grid}.prepare-check{flex-direction:row;align-items:center;height:44px;font-size:14px}.prepare-check input{width:18px;min-height:18px}.record-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:11px;display:grid}.record-photo-cell,.record-photo-add{border-radius:12px;min-height:145px;position:relative;overflow:hidden}.record-photo-cell img{width:100%;height:145px}.record-photo-cell .icon-button{background:#fffefaee;position:absolute;top:7px;right:7px}.record-photo-cell>span,.photo-retry{text-align:center;background:#fffefadd;border-radius:7px;padding:5px;font-size:9px;position:absolute;bottom:6px;left:6px;right:6px}.record-photo-add{color:var(--green);cursor:pointer;background:#f0f5ea;border:1px dashed #b8caa8;flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.record-photo-add input{display:none}.inline-checkbox{flex-direction:row;align-items:center;gap:9px;display:flex}.inline-checkbox input{width:17px;min-height:17px}.consumption-row{border:1px solid var(--line);border-radius:11px;flex-direction:row;justify-content:space-between;align-items:center;gap:15px;padding:13px;display:flex}.consumption-row>span{flex-direction:column;display:flex}.consumption-row small{color:var(--muted);font-size:10px}@media (max-width:1139px){.journal-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.gathering-grid{grid-template-columns:1fr}}@media (max-width:899px){.mobile-private-shortcuts{gap:7px;margin:-6px 0 20px;display:flex;overflow:auto}.mobile-private-shortcuts button{color:var(--green);white-space:nowrap;background:#edf3e7;border-radius:999px;padding:8px 12px;font-size:11px}.claim-grid,.invite-type-grid{grid-template-columns:1fr}.journal-cover,.journal-no-photo{height:250px}.page-intro>.button-row{justify-content:flex-end}.private-setup{align-items:flex-start}.event-recipe-options{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:599px){.page-intro{align-items:flex-start}.page-intro>.button-row .icon-button{display:none}.invite-type-card{min-height:180px;padding:21px}.private-setup,.private-member,.private-invite-row{align-items:flex-start}.private-setup,.private-member>.button-row,.private-invite-row>.button-row{display:grid}.journal-grid,.detail-meal-recipes{grid-template-columns:1fr}.journal-cover,.journal-no-photo{height:210px}.gathering-card{padding:20px}.gathering-bottom{align-items:flex-end}.gathering-bottom .button{padding:8px 9px;font-size:10px}.detail-meal-recipes{gap:9px}.private-meal-controls .button{flex:1}.event-recipe-options{grid-template-columns:1fr}.prepare-row{grid-template-columns:1fr 88px}.prepare-row label:last-child{grid-column:1/-1}.record-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.record-photo-cell,.record-photo-add{min-height:125px}.record-photo-cell img{height:125px}.wechat-code{width:220px;height:220px}.consumption-row{align-items:flex-start}.consumption-row>.input-suffix{width:125px}.mobile-private-shortcuts{margin-top:-4px}}.recipe-video,.journal-video{background:#15251a;border-radius:12px;width:100%;max-height:420px;display:block}.record-photo-cell video{object-fit:contain;background:#15251a;border-radius:10px;width:100%;height:150px}
