html,body{max-width:100%;overflow-x:hidden}.view,.view-inner,.app-shell,main{max-width:100%;box-sizing:border-box}.view-inner{width:min(100%,1180px);margin-inline:auto}.wwe-checked-by{margin-left:auto;font-size:10px;font-weight:900;color:#2e6c45;background:#e8f5eb;border-radius:999px;padding:5px 8px;white-space:nowrap}.wwe-race-board{margin:12px 0 18px;padding:14px;border:1px solid #e2dbd0;border-radius:16px;background:linear-gradient(135deg,#fffdf8,#f5efe5)}.wwe-race-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}.wwe-race-title b{font-size:14px}.wwe-race-title span{font-size:10px;font-weight:900;color:#7f7569}.wwe-race-scores{display:flex;gap:8px;flex-wrap:wrap}.wwe-racer{display:flex;align-items:center;gap:7px;border:1px solid #e4ddd2;background:#fff;border-radius:12px;padding:8px 10px;min-width:120px}.wwe-racer.leading{border-color:#e8ad28;box-shadow:0 0 0 2px rgba(232,173,40,.12)}.wwe-racer span{font-size:18px}.wwe-racer strong{font-size:11px}.wwe-racer>b{margin-left:auto;font-size:15px}.wwe-race-board>small{display:block;margin-top:9px;color:#847b70;font-size:9px}.wwe-remove-member{margin-left:8px;border:1px solid #e6cbc7;background:#fff5f3;color:#9b3b32;border-radius:9px;padding:6px 9px;font-size:9px;font-weight:900;cursor:pointer}.grocery-item{gap:10px;align-items:center}.grocery-name{min-width:0}.grocery-qty{white-space:nowrap}.grocery-toolbar{flex-wrap:wrap}.wwe-race-toggle{white-space:nowrap}

/* Mobile hardening: keep every app surface inside the viewport. */
img,video,canvas,svg{max-width:100%}.topbar>*,main>*,.view-inner>*,.section-card>*,.v3-meals-tools>*,.v3-meal-card>*,.v3-inventory-card>*{min-width:0}.dm-auth-form input,.dm-auth-form select,.dm-auth-form textarea,input,select,textarea{max-width:100%;box-sizing:border-box}

@media(max-width:760px){
  html,body{width:100%;min-width:0;overscroll-behavior-x:none}
  body{min-width:0}.app-shell{width:100%;max-width:100%;overflow-x:clip}.topbar{width:100%;padding-left:max(10px,env(safe-area-inset-left));padding-right:max(10px,env(safe-area-inset-right));gap:8px;box-sizing:border-box}.topbar .brand{min-width:0;flex:0 0 auto}.brand-logo{max-width:74px!important;height:auto!important}.topbar-right{gap:6px;min-width:0;flex:0 1 auto}.sync-pill{display:none!important}.profile-button{max-width:132px;min-width:0;padding-inline:8px}.profile-button #activeProfile{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  main{width:100%;max-width:100%;margin:0 auto;overflow-x:clip}.view-inner,.v3-home-inner,.narrow{width:100%!important;max-width:100%!important;margin:0 auto!important;padding-left:16px!important;padding-right:16px!important;box-sizing:border-box}.view{width:100%;max-width:100%;overflow-x:clip}.page-heading,.page-kicker{max-width:100%}.page-heading h1{font-size:clamp(28px,9vw,42px);line-height:1.03;overflow-wrap:anywhere}.page-heading p{font-size:14px;line-height:1.5}.v3-home-hero,.section-card,.savings-banner,.v3-panel,.card,.cook-card,.grocery-group{width:100%;max-width:100%;box-sizing:border-box}.v3-home-hero{grid-template-columns:1fr!important}.v3-hero-collage{min-width:0}.v3-dashboard-grid,.kitchen-grid,.cook-grid,.v3-discover-grid{grid-template-columns:1fr!important}.v3-meals-tools{width:100%;max-width:100%;grid-template-columns:minmax(0,1fr) auto}.v3-search-wrap{min-width:0}.v3-search-wrap input{min-width:0}.v3-filter-row{max-width:100%;overscroll-behavior-inline:contain}.v3-meal-grid,.v3-inventory-grid{width:100%;max-width:100%}.v3-meal-card,.v3-inventory-card{min-width:0;max-width:100%}.grocery-toolbar{display:grid!important;grid-template-columns:1fr 1fr;gap:8px}.grocery-toolbar button{width:100%;min-width:0;padding-left:8px;padding-right:8px;font-size:11px}.wwe-race-toggle{grid-column:1/-1}.grocery-item{grid-template-columns:auto minmax(0,1fr) auto!important;padding:11px 4px}.wwe-checked-by{grid-column:2/-1;justify-self:start;margin-left:0;margin-top:-5px}.wwe-race-scores{display:grid;grid-template-columns:1fr 1fr}.wwe-racer{min-width:0}

  /* Critical: mobile nav uses edge anchoring, so remove desktop translate-centering. */
  .bottom-nav,.bottom-nav.v3-nav{left:max(8px,env(safe-area-inset-left))!important;right:max(8px,env(safe-area-inset-right))!important;bottom:max(8px,env(safe-area-inset-bottom))!important;width:auto!important;max-width:none!important;transform:none!important;grid-template-columns:repeat(6,minmax(0,1fr))!important;box-sizing:border-box;margin:0!important;padding:7px!important;padding-bottom:max(7px,env(safe-area-inset-bottom))!important}
  .bottom-nav button,.bottom-nav.v3-nav button{min-width:0;width:100%;padding-inline:2px}.bottom-nav button span,.bottom-nav.v3-nav button span{font-size:16px}.bottom-nav b,.bottom-nav.v3-nav button b{font-size:7px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}

  .dm-account-backdrop{padding:10px max(10px,env(safe-area-inset-right)) max(10px,env(safe-area-inset-bottom)) max(10px,env(safe-area-inset-left))}.dm-account-panel{width:100%;max-width:100%;max-height:calc(100dvh - 20px);box-sizing:border-box}.dm-member-row{flex-wrap:wrap}.wwe-remove-member{margin-left:auto}.recipe-modal{max-width:calc(100vw - 20px)!important;max-height:calc(100dvh - 20px)!important}.modal-backdrop{padding:max(10px,env(safe-area-inset-top)) 10px max(10px,env(safe-area-inset-bottom))}
}
@media(max-width:390px){.view-inner,.v3-home-inner,.narrow{padding-left:12px!important;padding-right:12px!important}.grocery-toolbar{grid-template-columns:1fr}.wwe-race-toggle{grid-column:auto}.wwe-race-scores{grid-template-columns:1fr}.profile-button{max-width:112px}.brand-logo{max-width:64px!important}.bottom-nav,.bottom-nav.v3-nav{left:6px!important;right:6px!important}}
