.mobile-plan-title{display:none}
@media(max-width:1023px){
 :root{--motion-open:250ms;--motion-ease:cubic-bezier(.22,1,.36,1)}
 .meal-scene.gsap-motion .meal-food,.meal-scene.gsap-motion .meal-plate{animation:none}
 .modal,.account-dialog{animation:mobile-sheet-open var(--motion-open) var(--motion-ease)}
 .progress-track span{transition:width var(--motion-open) var(--motion-ease)}
 .is-favorite svg{fill:currentColor}
 .recipe-thumb,.recipe-tile img{outline:1px solid #0000001a;outline-offset:-1px}
 html[data-theme="dark"] .recipe-thumb,html[data-theme="dark"] .recipe-tile img{outline-color:#ffffff1a}
 .setup-mobile-brand>span,.step-count{font-variant-numeric:tabular-nums}
 @keyframes mobile-sheet-open{from{opacity:0;transform:translateY(8px) scale(.98)}to{opacity:1;transform:none}}
 @media(prefers-reduced-motion:reduce){.modal,.account-dialog{animation:none}.progress-track span{transition:none}}
}
/* One mobile visual system over the full application, not a second app. */
@media(max-width:1023px){
 :root{--paper:#f6f4ed;--cream:#f6f4ed;--white:#fffef9;--ink:#203c32;--muted:#627065;--line:#dddeda;--green:#214e3c;--lime:#d5e7a0;--wash:#edf0e4;--soft:#f0f1e8;--radius:16px;--shadow:0 7px 20px #203c3207}
 body{background:var(--paper);-webkit-font-smoothing:antialiased}
 h1{font-size:34px;line-height:1.08;letter-spacing:-.035em;text-wrap:balance}h2{font-size:22px;letter-spacing:-.025em}h3{font-size:17px;letter-spacing:-.02em}p{text-wrap:pretty}
 .desktop-plan-title{display:none}.mobile-plan-title{display:inline}
 button{transition:transform 180ms cubic-bezier(.2,0,0,1),background 180ms,color 180ms}button:active{transform:scale(.96)}
 .button{border-radius:14px;min-height:50px;background:var(--green);color:var(--paper);padding:14px 18px}.button:hover{background:var(--green);transform:none}.button.secondary,.button.outline{background:var(--white);color:var(--ink)}.button.dark{background:var(--green);color:var(--paper)}
 .icon-button,.theme-toggle,.tile-heart{min-width:44px;min-height:44px}.text-button,.setting-link{min-height:44px}
 .button:focus-visible,button:focus-visible,input:focus-visible,select:focus-visible{outline:3px solid #cc603f;outline-offset:3px}
 .sidebar{display:none}.app-shell{display:block}.app-main{max-width:600px;margin:auto;padding:0 22px 110px;width:100%;min-width:0}
 .app-top{display:flex;flex-wrap:wrap;gap:10px;min-height:80px;padding:12px 0 16px;margin-bottom:10px}.app-top .breadcrumb{display:none}.mobile-brand{display:block}.mobile-brand .brand-logo-img{width:72px;height:54px;object-fit:contain}.app-top>.line{margin-left:auto;gap:6px}.top-location{max-width:135px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;min-height:44px}.account-entry{max-width:112px;font-size:12px;background:var(--white);color:var(--ink)}
 .bottom-nav{display:flex;position:fixed;bottom:0;left:0;right:0;z-index:40;background:var(--white);border-top:1px solid var(--line);padding:10px 10px max(12px,env(safe-area-inset-bottom));height:auto;min-height:78px;gap:4px}.bottom-nav button{width:25%;min-height:54px;border-radius:12px;padding:7px 2px;display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;color:var(--muted);font-size:11px}.bottom-nav button.active{background:var(--wash);color:var(--ink);font-weight:700}.bottom-nav button.active:before{display:none}.bottom-nav svg{width:22px;height:22px}
 .plan-header{margin:12px 0 22px;gap:14px;align-items:flex-start;flex-wrap:wrap}.plan-header .eyebrow{font-size:11px;letter-spacing:.8px}.plan-header p{font-size:13px;color:var(--muted);line-height:1.6;margin-top:10px}.plan-header>.button{min-height:44px;font-size:12px}
 .dashboard-columns{display:block}.dashboard-aside{display:none}.mobile-overview{display:grid;grid-template-columns:1.15fr 1fr;gap:0;background:var(--green);color:var(--paper);border-radius:16px;margin-bottom:22px;overflow:hidden}.mini-budget,.mini-groceries{background:transparent!important;color:inherit!important;border:0!important;border-radius:0;padding:18px 14px}.mini-budget .eyebrow,.mini-budget span,.mini-groceries small{color:inherit;opacity:.9;font-size:11px}.mini-budget strong{display:block;font-size:26px;font-variant-numeric:tabular-nums;margin:4px 0}.mini-groceries{border-left:1px solid #ffffff30!important}.mini-groceries b{font-size:14px}.mini-groceries svg{width:22px}.mini-groceries small{display:block;line-height:1.5;margin-top:6px}.mini-budget .budget-progress{height:3px;background:#ffffff30}.mini-budget .budget-progress span{background:var(--lime)}
 .week-banner{background:transparent!important;color:var(--ink)!important;padding:0;margin:0 0 22px;border-radius:0}.banner-top{display:none}.week-stats{margin:0;padding:0;gap:12px;border:0}.week-stats b{font-size:20px}.week-stats small{color:var(--muted);font-size:11px}
 .week-preset,.notice,.setup-review,.budget-hint,.shopping-summary,.profile-card,.account-card{border-radius:16px}.week-preset{padding:16px;gap:12px;flex-wrap:wrap}.notice{line-height:1.6;font-size:13px;padding:16px}.fineprint{font-size:12px;line-height:1.6}
 .day-tabs{display:flex;gap:7px;overflow-x:auto;flex-wrap:nowrap;padding:3px 0 8px;margin:20px 0;scrollbar-width:none}.day-tabs button{min-width:44px;min-height:48px;border-radius:14px;background:var(--white);border:0;padding:10px 15px;white-space:nowrap}.day-tabs button.active{background:var(--wash);color:var(--ink)}.day-title{margin:24px 0 14px}.day-title h2{font-size:20px}
 .recipe-row{position:relative;display:grid;grid-template-columns:102px minmax(0,1fr) 44px;padding:0;gap:0;background:var(--white)!important;border:0;border-radius:16px;overflow:hidden;box-shadow:var(--shadow);margin-bottom:16px}.recipe-main{min-width:0;padding:12px;text-align:left}.recipe-row>button.recipe-main:first-child{padding:0;height:100%;width:100%;min-width:0;justify-self:stretch;overflow:hidden}.recipe-thumb{display:block;width:102px;height:100%;min-height:132px;object-fit:cover;border-radius:0}.recipe-row h3{font-size:16px;line-height:1.3}.recipe-meta{display:flex;flex-wrap:wrap;gap:6px;font-size:11px;color:var(--muted)}.recipe-meta svg{width:14px;height:14px}.row-actions{padding:7px 0;align-self:center}.pill{font-size:11px;padding:4px 8px}.recipe-main .pill{margin-bottom:6px}
 .day-group .recipe-row:first-of-type{grid-template-columns:minmax(0,1fr) 54px}.day-group .recipe-row:first-of-type>.recipe-main:first-child{grid-column:1/-1;height:210px}.day-group .recipe-row:first-of-type .recipe-thumb{width:100%;height:210px}.day-group .recipe-row:first-of-type>.recipe-main:nth-child(2){padding:16px}.day-group .recipe-row:first-of-type h3{font-size:18px}.day-group .recipe-row:first-of-type .row-actions{grid-column:2;grid-row:2}
 .recipe-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.recipe-tile{border:0;border-radius:16px;overflow:hidden;background:var(--white);box-shadow:var(--shadow)}.recipe-tile img{height:150px;object-fit:cover}.tile-copy{padding:13px}.tile-copy h3{font-size:15px;line-height:1.35}.tile-copy .pill{white-space:normal}.tile-heart{top:8px;right:8px;background:var(--white);color:var(--ink)}.search-bar{border-radius:14px;min-height:50px;background:var(--white)}.search-bar input{font-size:16px}.chip{min-height:44px;padding:10px 14px;font-size:13px}.chips{gap:8px}
 .setup-shell{display:block;background:var(--paper)}.setup-story{display:none}.setup-main{max-width:600px;width:100%;margin:auto;padding:16px 22px 28px;min-height:100svh}.setup-mobile-brand{display:flex;align-items:center;justify-content:space-between}.setup-mobile-brand .brand-logo-img{width:80px;height:58px;object-fit:contain}.setup-mobile-brand>span{font-size:12px;color:var(--muted)}.setup-account{margin:12px 0}.setup-top{gap:12px;margin:12px 0 24px}.progress-track{background:var(--line);height:4px}.progress-track span{background:var(--green)}.setup-body{padding:0}.setup-body>.eyebrow{display:none}.setup-description{font-size:15px;line-height:1.6;color:var(--muted);margin:14px 0 24px}.setup-footer{position:relative;bottom:auto;padding:24px 0 max(16px,env(safe-area-inset-bottom));background:var(--paper);border:0}.setup-footer p{margin-top:12px;text-align:center}.welcome-photo{border-radius:16px;overflow:hidden}.field-row{gap:14px}.field select,.input{font-size:16px;min-height:50px;background:var(--white);color:var(--ink);border-radius:12px}.choice{border-radius:16px;background:var(--white);padding:18px 14px;min-height:110px}.choice.selected{border-color:var(--green);background:var(--wash)}.choice small{color:var(--muted);font-size:12px}.counter button{width:52px;height:52px;border-radius:14px;background:var(--white)}.day-options{gap:5px}.day-option{min-width:0;flex:1;border-radius:14px;padding:12px 3px}.day-option.selected{background:var(--wash);color:var(--ink);border-color:var(--green)}.budget-number strong{font-size:42px;font-variant-numeric:tabular-nums}.kitchen{border-radius:16px;overflow:hidden}.hotspot{min-height:44px;font-size:11px;padding:6px 9px;border-radius:12px}.hotspot.selected{background:var(--lime);color:#203c32}.store-help,.location-note,.appliance-feedback{font-size:12px;line-height:1.6}
 .shop-items{border-radius:16px;background:var(--white)}.shop-row{min-height:76px;padding:14px 12px}.shop-price{font-variant-numeric:tabular-nums}.shopping-tabs{border-radius:14px;padding:4px}.shopping-tabs button{min-height:44px;border-radius:10px}.profile-card{padding:18px;background:var(--white)}.profile-detail{font-size:13px}.delivery-option,.market-product,.market-ingredient{border-radius:16px}.market-product input,.market-product select{font-size:16px}.shopping-actions{flex-wrap:wrap}
 .modal-backdrop{align-items:flex-end;padding:0}.modal{width:100%;max-width:600px;max-height:94svh;border-radius:24px 24px 0 0;background:var(--white)}.modal-content{padding:22px 22px max(24px,env(safe-area-inset-bottom))}.detail-photo{height:240px;object-fit:cover}.detail-heading h2{font-size:28px}.detail-stats{border-radius:14px;background:var(--wash)}.detail-tabs button{min-height:44px}.account-backdrop{padding:0;align-items:flex-end}.account-dialog{width:100%;max-width:600px;max-height:94svh;border-radius:24px 24px 0 0;padding:24px 22px max(24px,env(safe-area-inset-bottom));background:var(--white);color:var(--ink)}.account-dialog input{background:var(--paper);color:var(--ink)}.account-close{min-width:44px;min-height:44px}.resume-banner{background:var(--wash);color:var(--ink);padding:12px 20px;font-size:14px}.resume-banner span{font-size:12px}
 .loading-screen{background:var(--paper)}.loading-screen>.eyebrow{display:none}
 @media(max-width:360px){.app-main,.setup-main{padding-left:16px;padding-right:16px}.app-top>.line{gap:4px}.top-location{max-width:100px}.recipe-grid{gap:9px}.recipe-row{grid-template-columns:85px minmax(0,1fr) 44px}.recipe-thumb{width:85px}.hotspot{font-size:10px;padding:4px 6px}}
 @media(prefers-reduced-motion:reduce){button{transition:none}button:active{transform:none}}
}
