:root{--paper:#f7f1e7;--paper-deep:#eee5d6;--ink:#25251f;--muted:#737166;--coral:#e97746;--coral-dark:#c85d31;--sage:#6f8f72;--line:#2d2d241f;--white:#fffdf8;--shadow:0 18px 50px #342c1f1a;--display:Georgia, "Times New Roman", serif;--sans:Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink)}body{background:var(--paper);min-height:100vh;font-family:var(--sans);-webkit-font-smoothing:antialiased;margin:0}button,input,textarea,select{font:inherit}button{color:inherit}button:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline-offset:2px;outline:3px solid #e9774647}img{max-width:100%;display:block}h1,h2,h3,p{margin-top:0}h1,h2{font-family:var(--display);letter-spacing:-.035em;font-weight:500}.splash{min-height:100vh;color:var(--muted);place-content:center;justify-items:center;gap:16px;display:grid}.brand-mark{background:var(--coral);color:#fff;width:62px;height:62px;font:700 35px/1 var(--display);border-radius:21px;place-items:center;display:grid;box-shadow:0 12px 35px #e977464d}.eyebrow,.form-kicker{color:var(--coral-dark);letter-spacing:.13em;text-transform:uppercase;margin:0 0 8px;font-size:11px;font-weight:800}.app-shell{min-height:100vh;padding-bottom:104px}.topbar{z-index:20;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-bottom:1px solid var(--line);background:#f7f1e7e6;justify-content:space-between;align-items:center;height:76px;padding:0 max(22px,50vw - 590px);display:flex;position:sticky;top:0}.wordmark{cursor:pointer;text-align:left;background:0 0;border:0;align-items:center;gap:11px;padding:0;display:flex}.wordmark>span{background:var(--coral);color:#fff;width:39px;height:39px;font:700 23px var(--display);border-radius:13px;place-items:center;display:grid}.wordmark div{line-height:1.05;display:grid}.wordmark strong{font:600 22px var(--display)}.wordmark small{color:var(--muted);margin-top:4px;font-size:10px}.avatar-button{border:3px solid var(--white);color:#fff;cursor:pointer;border-radius:50%;width:39px;height:39px;font-weight:800;box-shadow:0 3px 12px #0000001f}.page{width:min(1180px,100% - 44px);margin:0 auto;padding:46px 0 28px}.page-heading{justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:30px;display:flex}.page-heading h1{margin:0;font-size:clamp(38px,6vw,58px)}.page-heading .eyebrow{margin-bottom:5px}.primary,.secondary,.text-danger{cursor:pointer;border:1px solid #0000;border-radius:14px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 18px;font-weight:750;transition:all .18s;display:inline-flex}.primary{background:var(--coral);color:#fff;box-shadow:0 9px 24px #e9774633}.primary:hover{background:var(--coral-dark);transform:translateY(-1px)}.primary:disabled{opacity:.55;cursor:wait;transform:none}.secondary{background:var(--white);border-color:var(--line)}.secondary:hover{border-color:#2d2d244d}.secondary.compact{border-radius:12px;min-height:40px;padding:0 13px;font-size:13px}.primary.round{border-radius:999px}.full{width:100%}.text-danger{color:#a64236;background:0 0;border:0}.icon-button{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:50%;flex:none;place-items:center;width:40px;height:40px;display:grid}.icon-button.danger{color:#a64236}.link-button,.back-link{color:var(--coral-dark);cursor:pointer;background:0 0;border:0;padding:0;font-weight:750}.back-link{align-items:center;margin-bottom:25px;display:flex}.align-left{text-align:left}.bottom-nav{z-index:30;left:50%;bottom:max(14px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#272721f2;border-radius:23px;grid-template-columns:repeat(4,1fr);width:min(520px,100% - 26px);height:72px;padding:7px;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 15px 40px #00000038}.bottom-nav button{color:#cbc8bf;cursor:pointer;background:0 0;border:0;border-radius:17px;place-items:center;gap:2px;display:grid;position:relative}.bottom-nav svg{width:20px}.bottom-nav span{font-size:10px;font-weight:700}.bottom-nav button.active{color:#fff;background:#ffffff1c}.bottom-nav i{background:var(--coral);color:#fff;border-radius:9px;min-width:17px;height:17px;padding:0 4px;font-size:9px;font-style:normal;line-height:17px;position:absolute;top:2px;left:calc(50% + 5px)}.toast{z-index:100;color:#fff;max-width:calc(100% - 30px);box-shadow:var(--shadow);text-align:center;background:#2c2c27;border-radius:999px;padding:12px 18px;font-size:13px;font-weight:700;animation:.2s toast-in;position:fixed;bottom:102px;left:50%;transform:translate(-50%)}@keyframes toast-in{0%{opacity:0;transform:translate(-50%,8px)}}.auth-page{background:radial-gradient(circle at 10% 15%, #e977461f, transparent 28%), radial-gradient(circle at 80% 85%, #6f8f7226, transparent 30%), var(--paper);grid-template-columns:1.15fr .85fr;align-items:center;gap:clamp(45px,8vw,120px);min-height:100vh;padding:8vh max(24px,50vw - 540px);display:grid}.auth-brand .brand-mark{margin-bottom:30px}.auth-brand h1{max-width:650px;margin-bottom:22px;font-size:clamp(47px,6.7vw,82px);line-height:.97}.auth-brand>p:last-child{max-width:560px;color:var(--muted);font-size:17px;line-height:1.65}.auth-card{min-height:420px;box-shadow:var(--shadow);background:#fffdf8c7;border:1px solid #ffffffd9;border-radius:32px;padding:clamp(25px,5vw,45px)}.auth-card h2{margin-bottom:9px;font-size:35px}.auth-card form>p{color:var(--muted);line-height:1.5}.step-pill{color:#536f56;text-transform:uppercase;letter-spacing:.06em;background:#6f8f7221;border-radius:999px;margin-bottom:17px;padding:6px 10px;font-size:11px;font-weight:800;display:inline-block}label{color:#56564e;gap:7px;font-size:12px;font-weight:750;display:grid}input,textarea,select{border:1px solid var(--line);background:var(--white);width:100%;color:var(--ink);border-radius:13px;padding:12px 13px;font-size:15px}textarea{resize:vertical;line-height:1.5}input::placeholder,textarea::placeholder{color:#aaa69b}.auth-card label{margin:18px 0}.auth-card fieldset{border:0;margin:17px 0 24px;padding:0}.auth-card legend{color:#56564e;margin-bottom:10px;font-size:12px;font-weight:750}.color-row{gap:10px;display:flex}.color-row button{cursor:pointer;border:3px solid #0000;border-radius:50%;width:31px;height:31px}.color-row button.selected{outline:2px solid var(--ink);border-color:#fff}.profile-grid{grid-template-columns:repeat(2,1fr);gap:13px;margin-top:25px;display:grid}.profile-grid button{border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:19px;justify-items:center;gap:10px;padding:22px 12px;display:grid}.profile-grid button:hover{transform:translateY(-2px);box-shadow:0 12px 30px #32281c14}.profile-grid span,.selected-profile span{background:var(--profile);color:#fff;width:59px;height:59px;font:700 27px var(--display);border-radius:50%;place-items:center;display:grid}.selected-profile{justify-items:center;gap:10px;margin:15px 0 25px;display:grid}.selected-profile h2{margin:0}.home-page{padding-top:28px}.home-hero{color:#fff;min-height:320px;box-shadow:var(--shadow);background:#344e40;border-radius:35px;flex-direction:column;justify-content:center;align-items:flex-start;padding:clamp(32px,6vw,68px);display:flex;position:relative;overflow:hidden}.home-hero:after{content:"";border:55px solid #ffffff0e;border-radius:50%;width:300px;height:300px;position:absolute;top:-70px;right:-50px}.home-hero .eyebrow{color:#efbd91}.home-hero h1{max-width:650px;margin-bottom:12px;font-size:clamp(42px,7vw,68px);line-height:1}.home-hero p:not(.eyebrow){color:#ffffffbf;max-width:520px;margin-bottom:24px;line-height:1.55}.home-hero .primary{z-index:1;position:relative}.section{margin-top:48px}.section-title{justify-content:space-between;align-items:end;margin-bottom:18px;display:flex}.section-title h2{margin:0;font-size:32px}.today-meals{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.today-meals article{background:var(--white);border:1px solid var(--line);border-radius:20px;gap:15px;min-height:105px;padding:13px;display:flex}.today-meals img,.meal-placeholder{object-fit:cover;border-radius:15px;flex:none;width:80px;height:80px}.meal-placeholder{background:var(--paper-deep);place-items:center;font-size:30px;display:grid}.today-meals article>div:last-child{align-content:center;min-width:0;display:grid}.today-meals small{color:var(--coral-dark);text-transform:uppercase;letter-spacing:.08em;font-size:9px;font-weight:800}.today-meals strong{white-space:nowrap;text-overflow:ellipsis;margin:5px 0;overflow:hidden}.today-meals span{color:var(--muted);font-size:11px}.empty-card,.big-empty{width:100%;color:var(--muted);background:#fffdf873;border:1px dashed #2d2d2440;border-radius:23px;padding:34px}.empty-card{cursor:pointer;justify-items:center;gap:7px;display:grid}.empty-card svg{color:var(--coral)}.empty-card strong{color:var(--ink)}.empty-card span{font-size:12px}.quick-grid{grid-template-columns:1fr 1fr;gap:16px;margin-top:17px;display:grid}.quick-grid button{text-align:left;border:1px solid var(--line);background:var(--white);cursor:pointer;border-radius:21px;grid-template-rows:auto auto;grid-template-columns:auto 1fr;column-gap:15px;padding:23px;display:grid}.quick-icon{border-radius:15px;grid-row:1/3;place-items:center;width:48px;height:48px;display:grid}.quick-icon.sage{color:var(--sage);background:#6f8f7226}.quick-icon.coral{color:var(--coral-dark);background:#e9774621}.quick-grid small{color:var(--muted)}.quick-grid strong{margin-top:3px}.recipe-strip{grid-template-columns:repeat(4,1fr);gap:15px;display:grid}.recipe-strip article{min-width:0}.recipe-strip img,.recipe-strip .recipe-placeholder{object-fit:cover;border-radius:20px;width:100%;height:150px}.recipe-strip strong{white-space:nowrap;text-overflow:ellipsis;margin:10px 2px 6px;display:block;overflow:hidden}.recipe-strip span{color:var(--muted);align-items:center;gap:5px;font-size:11px;display:flex}.toolbar{gap:10px;margin-bottom:25px;display:flex}.search-box{flex:1;align-items:center;display:flex;position:relative}.search-box svg{color:var(--muted);position:absolute;left:13px}.search-box input{padding-left:41px}.recipe-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.recipe-card{border:1px solid var(--line);background:var(--white);text-align:left;cursor:pointer;border-radius:25px;padding:0;transition:all .2s;overflow:hidden}.recipe-card:hover{box-shadow:var(--shadow);transform:translateY(-3px)}.recipe-card>img,.recipe-card>.recipe-placeholder{object-fit:cover;width:100%;height:220px}.recipe-placeholder{color:#fff;font:700 64px var(--display);background:linear-gradient(145deg,#e6d4bd,#c9b18f);place-items:center;display:grid}.recipe-card-body{padding:19px}.recipe-card h2{margin:9px 0 15px;font-size:25px}.tag-row{flex-wrap:wrap;gap:5px;min-height:20px;display:flex}.tag-row span{color:#547257;text-transform:uppercase;letter-spacing:.04em;background:#6f8f721f;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:800}.recipe-meta{color:var(--muted);gap:15px;display:flex}.recipe-meta span{align-items:center;gap:5px;font-size:11px;display:flex}.big-empty{text-align:center;justify-items:center;padding:70px 25px;display:grid}.big-empty>span{font-size:48px}.big-empty h2{color:var(--ink);margin:15px 0 8px;font-size:30px}.big-empty p{max-width:430px;line-height:1.5}.big-empty .primary{margin-top:8px}.modal-backdrop{z-index:80;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#1c1c188c;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.modal{background:var(--paper);border-radius:27px;width:min(520px,100%);max-height:calc(100vh - 36px);padding:24px;overflow:auto;box-shadow:0 30px 90px #0000004d}.modal-wide{width:min(930px,100%)}.modal-head{z-index:3;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--line);background:#f7f1e7f5;justify-content:space-between;align-items:center;margin:-24px -24px 22px;padding:20px 24px 15px;display:flex;position:sticky;top:-24px}.modal-head h2{margin:0;font-size:28px}.stack{gap:16px;display:grid}.two-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.member-list{gap:8px;margin-bottom:20px;display:grid}.member-list>div{background:var(--white);border:1px solid var(--line);border-radius:14px;align-items:center;gap:11px;padding:10px;display:flex}.member-list span{color:#fff;border-radius:50%;place-items:center;width:34px;height:34px;display:grid}.member-list small{color:var(--muted);margin-left:auto}.detail-image{object-fit:cover;border-radius:22px;width:100%;max-height:420px}.detail-actions{justify-content:flex-end;gap:8px;margin:14px 0;display:flex}.lead{max-width:720px;color:var(--muted);line-height:1.65}.nutrition-row{border-block:1px solid var(--line);grid-template-columns:repeat(3,1fr);padding:18px 0;display:grid}.nutrition-row div{border-right:1px solid var(--line);justify-items:center;gap:4px;display:grid}.nutrition-row div:last-child{border:0}.nutrition-row strong{font:500 26px var(--display)}.nutrition-row span{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px}.detail-columns{grid-template-columns:.85fr 1.15fr;gap:45px;margin-top:30px;display:grid}.ingredient-list,.step-list{margin:0;padding:0;list-style:none}.ingredient-list li{border-bottom:1px solid var(--line);justify-content:space-between;gap:15px;padding:10px 0;display:flex}.ingredient-list strong{color:var(--coral-dark);font-size:13px}.ingredient-list span{text-align:right}.step-list{gap:18px;display:grid}.step-list li{grid-template-columns:30px 1fr;gap:12px;display:grid}.step-list li>span{background:var(--sage);color:#fff;border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;font-weight:800;display:grid}.step-list p{margin:4px 0 0;line-height:1.6}.recipe-form{gap:18px;display:grid}.form-section{border:1px solid var(--line);background:#fffdf8a6;border-radius:20px;padding:22px}.field-grid{grid-template-columns:repeat(3,1fr);gap:13px;display:grid}.span-2{grid-column:span 2}.form-section-head{justify-content:space-between;align-items:start;gap:15px;margin-bottom:16px;display:flex}.form-section-head p:last-child{color:var(--muted);margin:0;font-size:12px}.image-uploader>label{cursor:pointer;min-height:95px;color:var(--muted);border:1px dashed #2d2d2440;border-radius:16px;flex-direction:column;justify-content:center;align-items:center;gap:4px;margin-top:14px;display:flex}.image-uploader label strong{color:var(--ink)}.image-uploader label span{font-size:10px}.image-preview-row{gap:8px;margin-top:10px;display:flex;overflow:auto}.image-preview-row div{flex:none;position:relative}.image-preview-row img{object-fit:cover;border-radius:12px;width:100px;height:76px}.image-preview-row button{color:#fff;cursor:pointer;background:#0009;border:0;border-radius:50%;place-items:center;width:25px;height:25px;display:grid;position:absolute;top:3px;right:3px}.ingredient-editor,.step-editor{gap:9px;display:grid}.ingredient-row{grid-template-columns:minmax(180px,2fr) 80px 90px 150px 40px;align-items:end;gap:8px;display:grid}.ingredient-name{position:relative}.suggestions{z-index:10;background:var(--white);border:1px solid var(--line);max-height:260px;box-shadow:var(--shadow);border-radius:14px;padding:5px;position:absolute;top:calc(100% + 5px);left:0;right:0;overflow:auto}.suggestions button{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-content:space-between;align-items:center;gap:10px;width:100%;padding:10px;display:flex}.suggestions button:hover{background:var(--paper)}.suggestions span{display:grid}.suggestions small{color:var(--muted)}.suggestions em{color:var(--sage);text-transform:uppercase;flex:none;font-size:9px;font-style:normal;font-weight:800}.step-editor>div{grid-template-columns:32px 1fr 40px;align-items:center;gap:8px;display:grid}.step-editor>div>span{color:#fff;background:var(--sage);border-radius:50%;place-items:center;width:30px;height:30px;font-size:12px;font-weight:800;display:grid}.form-footer{justify-content:flex-end;gap:10px;display:flex}.week-switcher{text-align:center;grid-template-columns:44px 1fr 44px;align-items:center;width:min(520px,100%);margin:0 auto 25px;display:grid}.week-switcher>button:nth-child(2){cursor:pointer;background:0 0;border:0}.week-switcher strong{text-transform:capitalize;display:block}.week-switcher small{color:var(--muted);font-size:10px}.week-grid{scroll-snap-type:x proximity;grid-template-columns:repeat(7,minmax(150px,1fr));gap:11px;padding-bottom:12px;display:grid;overflow-x:auto}.day-card{border:1px solid var(--line);scroll-snap-align:start;background:#fffdf8ad;border-radius:21px;min-width:150px;overflow:hidden}.day-card.today{border-color:#e9774699;box-shadow:0 8px 28px #e977461a}.day-card>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;min-height:76px;padding:13px;display:flex}.day-card>header div{display:grid}.day-card>header small{color:var(--muted);text-transform:capitalize;font-size:10px}.day-card>header strong{font:500 28px var(--display)}.day-card>header>span{color:var(--coral-dark);background:#e9774624;border-radius:999px;padding:4px 6px;font-size:8px;font-weight:800}.day-meals{padding:10px}.meal-slot{border-bottom:1px solid var(--line);padding:9px 0}.meal-slot:last-child{border:0}.meal-slot>p{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;margin:0 0 7px;font-size:9px;font-weight:800}.meal-slot>button{color:var(--coral-dark);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:4px 0;font-size:10px;font-weight:750;display:flex}.meal-slot article{background:var(--white);border:1px solid var(--line);border-radius:11px;grid-template-columns:31px 1fr;gap:7px;margin-bottom:6px;padding:7px;display:grid;position:relative}.meal-slot article img,.meal-slot article>span{object-fit:cover;background:var(--paper-deep);border-radius:8px;place-items:center;width:31px;height:31px;font-size:14px;display:grid}.meal-slot article div{min-width:0;display:grid}.meal-slot article strong{white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.meal-slot article small{color:var(--muted);font-size:8px}.meal-slot article>button{opacity:0;color:#fff;cursor:pointer;background:#2e2e29;border:0;border-radius:50%;place-items:center;width:19px;height:19px;padding:0;display:grid;position:absolute;top:-5px;right:-5px}.meal-slot article:hover>button{opacity:1}.recipe-picker{grid-template-columns:1fr 1fr;gap:8px;max-height:260px;display:grid;overflow:auto}.recipe-picker button{border:1px solid var(--line);background:var(--white);text-align:left;cursor:pointer;border-radius:13px;grid-template-columns:42px 1fr auto;align-items:center;gap:8px;min-width:0;padding:8px;display:grid}.recipe-picker button.selected{border-color:var(--sage);background:#6f8f7214}.recipe-picker img,.recipe-picker button>span{object-fit:cover;background:var(--paper-deep);border-radius:9px;place-items:center;width:42px;height:42px;display:grid}.recipe-picker strong{white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.recipe-picker svg{color:var(--sage)}.shopping-summary{color:#fff;background:#344e40;border-radius:23px;grid-template-columns:auto 1fr auto;align-items:center;gap:28px;margin-bottom:17px;padding:22px 25px;display:grid}.shopping-summary>div:first-child{align-items:center;gap:10px;display:flex}.shopping-summary>div:first-child span{font:500 43px var(--display)}.shopping-summary p{color:#ffffffb3;margin:0;font-size:11px}.shopping-summary button{color:#efbd91;cursor:pointer;background:0 0;border:0;font-size:11px;font-weight:800}.progress{background:#ffffff26;border-radius:5px;height:7px;position:relative}.progress>span{background:var(--coral);border-radius:5px;position:absolute;inset:0 auto 0 0}.progress small{color:#fff9;font-size:9px;position:absolute;top:12px;right:0}.quick-add{border:1px solid var(--line);background:var(--white);border-radius:17px;grid-template-columns:auto 1fr 75px 75px auto;align-items:center;gap:8px;margin-bottom:30px;padding:8px 8px 8px 15px;display:grid}.quick-add>svg{color:var(--coral)}.quick-add input{background:0 0;border:0;padding:8px 4px}.quantity-input,.unit-input{border-left:1px solid var(--line)!important;padding-left:9px!important}.shopping-groups{gap:24px;display:grid}.shopping-groups section>header{align-items:center;gap:9px;margin-bottom:8px;display:flex}.shopping-groups section>header span{font-size:20px}.shopping-groups h2{font:750 14px var(--sans);margin:0}.shopping-groups header small{color:var(--muted);margin-left:auto}.shopping-groups section>div{border:1px solid var(--line);background:var(--white);border-radius:18px;overflow:hidden}.shopping-groups article{border-bottom:1px solid var(--line);align-items:center;gap:11px;min-height:62px;padding:8px 12px;display:flex}.shopping-groups article:last-child{border:0}.shopping-groups article.checked{opacity:.48}.shopping-groups article.checked strong{text-decoration:line-through}.check-button{cursor:pointer;background:0 0;border:2px solid #b4b0a5;border-radius:8px;flex:none;place-items:center;width:24px;height:24px;display:grid}.checked .check-button{border-color:var(--sage);background:var(--sage);color:#fff}.item-copy{text-align:left;cursor:pointer;background:0 0;border:0;flex:1;gap:3px;min-width:0;padding:0;display:grid}.item-copy strong{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.item-copy small{white-space:nowrap;text-overflow:ellipsis;color:var(--muted);font-size:9px;overflow:hidden}.item-quantity{color:var(--coral-dark);flex:none;font-size:12px;font-weight:800}.delete-item{color:#9b978d;cursor:pointer;background:0 0;border:0;place-items:center;width:30px;height:30px;display:grid}.sync-note{color:var(--muted);justify-content:center;align-items:center;gap:7px;margin:25px 0 0;font-size:10px;display:flex}.sync-note span{background:#69a16e;border-radius:50%;width:7px;height:7px;box-shadow:0 0 0 4px #69a16e1f}@media (max-width:850px){.auth-page{grid-template-columns:1fr;gap:25px;padding-block:45px}.auth-brand{text-align:center}.auth-brand .brand-mark,.auth-brand h1,.auth-brand>p:last-child{margin-inline:auto}.today-meals{grid-template-columns:1fr}.recipe-grid,.recipe-strip{grid-template-columns:repeat(2,1fr)}.detail-columns{grid-template-columns:1fr;gap:25px}.ingredient-row{grid-template-columns:minmax(150px,1fr) 70px 85px 40px}.ingredient-row>label:nth-of-type(4){grid-column:1/4}.field-grid{grid-template-columns:1fr 1fr}.field-grid .span-2{grid-column:span 2}}@media (max-width:560px){.topbar{height:66px;padding-inline:18px}.wordmark strong{font-size:20px}.page{width:calc(100% - 28px);padding-top:28px}.page-heading{align-items:center;margin-bottom:22px}.page-heading h1{font-size:38px}.primary.round{min-width:44px;padding-inline:13px}.home-page{padding-top:14px}.home-hero{border-radius:26px;min-height:290px;padding:30px 24px}.home-hero h1{font-size:45px}.quick-grid{grid-template-columns:1fr}.section{margin-top:36px}.section-title h2{font-size:28px}.recipe-grid{grid-template-columns:1fr}.recipe-card>img,.recipe-card>.recipe-placeholder{height:220px}.toolbar{flex-wrap:wrap}.toolbar .search-box{flex-basis:100%}.modal-backdrop{align-items:end;padding:0}.modal{width:100%;max-height:92vh;padding:20px 16px calc(20px + env(safe-area-inset-bottom));border-radius:25px 25px 0 0}.modal-head{margin:-20px -16px 18px;padding:18px 16px 13px;top:-20px}.modal-head h2{font-size:25px}.form-section{padding:15px 12px}.field-grid{grid-template-columns:1fr 1fr}.field-grid>label:first-child,.field-grid .span-2{grid-column:1/3}.ingredient-row{border-bottom:1px solid var(--line);grid-template-columns:1fr 75px 40px;padding-bottom:13px}.ingredient-name{grid-column:1/4}.ingredient-row>label:nth-of-type(3){grid-column:1/2}.ingredient-row>label:nth-of-type(4){grid-column:2/3}.ingredient-row>button{grid-column:3}.form-footer{padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:#f7f1e7f5;margin:0 -16px -20px;position:sticky;bottom:-20px}.form-footer .primary{flex:1}.nutrition-row strong{font-size:22px}.recipe-picker{grid-template-columns:1fr}.week-grid{margin-inline:-14px;padding-inline:14px}.shopping-summary{grid-template-columns:auto 1fr;gap:16px}.shopping-summary button{text-align:right;grid-column:1/3}.quick-add{grid-template-columns:auto 1fr auto}.quick-add .quantity-input,.quick-add .unit-input{grid-row:2}.quick-add .quantity-input{grid-column:2}.quick-add .unit-input{grid-column:3}.quick-add button{grid-area:1/3;font-size:0}.quick-add button:after{content:"OK";font-size:12px}.item-quantity{text-align:right;max-width:80px}.auth-page{padding:30px 16px}.auth-brand h1{font-size:48px}.auth-brand>p:last-child{font-size:14px}.auth-card{border-radius:25px;min-height:0;padding:25px 20px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}
