.aisles{padding:8px var(--gutter) calc(32px + env(safe-area-inset-bottom))}.aisles h2{margin:8px 0}.aisles .aisles-heading{margin-top:24px}.aisles-back{align-items:center;text-decoration:none;display:inline-flex}.aisles-error{text-align:left;border:0;width:100%;margin:8px 0;display:block}.store-list{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:0 0 8px;padding:0;list-style:none;overflow:hidden}.store-row{align-items:center;display:flex}.store-row+.store-row{border-top:1px solid var(--line)}.store-choice{cursor:pointer;flex:1;align-items:center;gap:12px;min-width:0;min-height:52px;padding:8px 4px 8px 14px;display:flex}.store-choice input{width:22px;height:22px;accent-color:var(--accent);flex:none;margin:0}.store-address{color:var(--muted);font-size:15px;display:block}.item-remove{width:var(--tap);min-height:var(--tap);color:var(--muted);background:0 0;border:0;flex:none;font-size:24px;line-height:1}.aisle-row{padding-left:14px}.aisle-name{overflow-wrap:anywhere;flex:1;min-width:0;padding:8px 0}.aisle-value{flex:none;padding-left:8px;font-weight:600}.store-form{gap:8px;display:grid}.store-form-actions{justify-content:space-between;display:flex}.plan{padding:0 var(--gutter) calc(32px + env(safe-area-inset-bottom))}.week-bar{z-index:1;padding-top:env(safe-area-inset-top);background:var(--bg);justify-content:space-between;align-items:center;display:flex;position:sticky;top:0}.week-title{background:0 0;border:0;min-height:44px;font-weight:700}.plan .error-banner{width:100%;margin:8px 0 0}.name-prompt,.settings-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:14px}.name-prompt{margin-top:8px}.day{border-bottom:1px solid var(--line);padding:8px 0}.day-title{justify-content:space-between;align-items:center;display:flex}.day-title h2{font-size:17px}.day-title .muted{font-weight:400}.day-today h2{color:var(--accent)}.meal{width:100%;min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);text-align:left;flex-direction:column;gap:2px;margin-bottom:8px;padding:10px 14px;display:flex}.meal .muted{font-size:15px}.meal-title{font-weight:600}.plan-note{text-align:center;margin-top:12px}.sheet-backdrop{z-index:3;background:#00000073;justify-content:center;align-items:flex-end;display:flex;position:fixed;inset:0}.sheet{width:100%;max-width:560px;max-height:92dvh;padding:16px var(--gutter) max(16px, env(safe-area-inset-bottom));border-radius:var(--radius) var(--radius) 0 0;background:var(--bg);overflow-y:auto}.sheet-title{justify-content:space-between;align-items:center;display:flex}.field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.field-row .input{min-width:0}.owner-field{border:0;margin:0;padding:0}.owner-options{gap:8px;margin-top:6px;display:flex}.owner-options .button{flex:1;min-width:0}.meal-delete{color:var(--error-ink)}.settings{padding-top:4px}.back-link{align-self:flex-start;align-items:center;text-decoration:none;display:inline-flex}.add-bar{z-index:1;padding:max(8px, env(safe-area-inset-top)) var(--gutter) 10px;border-bottom:1px solid var(--line);background:var(--bg);position:sticky;top:0}.offline{color:var(--muted);margin-top:6px;font-size:14px}.add-form{gap:8px;display:flex}.add-button{width:var(--tap);height:var(--tap);border-radius:var(--radius);background:var(--accent);color:var(--on-accent);border:0;flex:none;font-size:28px;line-height:1}.error-banner{width:calc(100% - 2 * var(--gutter));margin:12px var(--gutter) 0;text-align:left;border:0;display:block}.error-banner .muted{color:inherit;opacity:.8}.list{padding:4px var(--gutter) calc(32px + env(safe-area-inset-bottom))}.empty{text-align:center;padding:48px 0}.group-title{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:18px 0 6px;font-size:14px;font-weight:700}.items{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:0;padding:0;list-style:none;overflow:hidden}.item{align-items:stretch;display:flex}.item+.item{border-top:1px solid var(--line)}.item-main{cursor:pointer;flex:1;align-items:center;gap:12px;min-width:0;min-height:52px;padding:8px 4px 8px 14px;display:flex}.item-main input{appearance:none;border:2px solid var(--muted);background:0 0;border-radius:50%;flex:none;place-content:center;width:26px;height:26px;margin:0;display:grid}.item-main input:checked{border-color:var(--accent);background:var(--accent)}.item-main input:checked:after{content:"";border:solid var(--on-accent);border-width:0 2.5px 2.5px 0;width:6px;height:12px;margin-top:-2px;transform:rotate(45deg)}.item-name{overflow-wrap:anywhere;flex:1;min-width:0}.item-quantity{background:var(--bg);max-width:40%;color:var(--muted);border-radius:999px;flex:none;padding:1px 8px;font-size:15px}.item-checked .item-name{color:var(--muted);text-decoration:line-through}.item-delete{width:var(--tap);color:var(--muted);background:0 0;border:0;flex:none;font-size:24px;line-height:1}.done{margin-top:22px}.done-header{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.done-toggle{background:0 0;border:0;align-items:center;gap:8px;min-height:44px;padding:0 4px 0 0;font-weight:600;display:flex}.chevron{font-size:22px;line-height:1;transition:transform .15s;display:inline-block}.chevron-open{transform:rotate(90deg)}@media (prefers-reduced-motion:reduce){.chevron{transition:none}}.store-picker{align-items:center;gap:8px;margin-top:8px;display:flex}.store-select{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;min-height:44px;color:var(--ink);font:inherit;flex:1;padding:0 10px;font-size:16px}.store-link{flex:none;align-items:center;text-decoration:none;display:inline-flex}.aisle-chip{border:1px solid var(--line);background:var(--bg);max-width:96px;min-height:36px;color:var(--ink);text-overflow:ellipsis;white-space:nowrap;border-radius:999px;flex:none;align-self:center;padding:0 10px;font-size:15px;font-weight:600;overflow:hidden}.aisle-chip-empty{color:var(--muted);border-style:dashed;font-weight:400}.aisle-form{flex:none;align-self:center}.aisle-input{border:1px solid var(--accent);background:var(--bg);border-radius:10px;width:84px;min-height:36px;padding:0 8px;font-size:16px}.recipes{padding:8px var(--gutter) calc(32px + env(safe-area-inset-bottom))}.recipes-empty{text-align:center;padding:48px 0}.recipe-add{justify-content:center;align-items:center;text-decoration:none;display:flex}.error-banner-recipes{text-align:left;border:0;width:100%;margin-top:12px;display:block}.recipe-list,.recipe-ingredients{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin:14px 0 0;padding:0;list-style:none;overflow:hidden}.recipe-list li+li,.recipe-ingredient+.recipe-ingredient{border-top:1px solid var(--line)}.recipe-list a{min-height:60px;color:inherit;flex-direction:column;justify-content:center;padding:8px 14px;text-decoration:none;display:flex}.recipe-list-title{overflow-wrap:anywhere;font-weight:600}.recipe-list-meta{font-size:15px}.recipe-top{justify-content:space-between;align-items:center;display:flex}.recipe-back{align-self:flex-start;align-items:center;text-decoration:none;display:inline-flex}.recipe-top .link-button{align-items:center;text-decoration:none;display:inline-flex}.recipe-title{overflow-wrap:anywhere;font-size:24px}.recipe-heading{color:var(--muted);letter-spacing:.04em;text-transform:uppercase;margin:0 0 8px;font-size:14px;font-weight:700}.recipe-multipliers{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.recipe-multipliers .button{flex-direction:column;align-items:center;padding:8px 4px;font-size:20px;line-height:1.2;display:flex}.recipe-multiplier-serves{font-size:13px;font-weight:500}.recipe-message{margin-top:8px}.recipe-read-list,.recipe-steps{margin:0;padding-left:22px}.recipe-read-list li,.recipe-steps li{overflow-wrap:anywhere;margin-bottom:8px}.recipe-source{align-self:flex-start;align-items:center;display:inline-flex}.recipe-delete{color:var(--error-ink);align-self:flex-start}.recipe-textarea{font:inherit;resize:vertical;font-size:17px}.recipe-time{grid-template-columns:1fr auto 1fr auto;align-items:center;gap:8px;display:grid}.recipe-flagged{border-radius:var(--radius);background:var(--error-bg);padding:10px}.recipe-ask{color:var(--ink);font-size:15px}.recipe-chips{flex-wrap:wrap;gap:8px;display:flex}.chip{border:1px solid var(--accent);background:var(--surface);min-height:44px;color:var(--accent);border-radius:999px;padding:6px 14px;font-size:15px;font-weight:600}.chip-on{background:var(--accent);color:var(--on-accent)}.recipe-ingredient{padding:8px}.recipe-ingredient.recipe-flagged{border-radius:0}.recipe-ingredient-fields{grid-template-columns:1fr 1fr 36px;align-items:center;gap:6px;display:grid}.recipe-name{grid-area:1/1/2/3}.recipe-amount{grid-area:2/1}.recipe-unit{grid-area:2/2}.item-remove{grid-area:1/3}.recipe-ingredient-fields .input{padding:8px}.item-remove{width:36px;height:var(--tap);color:var(--muted);background:0 0;border:0;font-size:24px;line-height:1}.recipe-note{margin:4px 0 0 2px;font-size:14px}.recipe-taste{align-items:center;gap:8px;min-height:44px;font-size:15px;display:flex}.recipe-taste input{width:22px;height:22px;accent-color:var(--accent);margin:0}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;--bg:#faf5ec;--surface:#fffdf8;--ink:#2b2118;--muted:#76664f;--line:#eadfcd;--accent:#a84c14;--on-accent:#fffdf8;--error-bg:#fbe5dc;--error-ink:#8f2410;--tap:48px;--radius:14px;--gutter:16px}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--bg:#1c1814;--surface:#28221c;--ink:#f5ecdf;--muted:#b3a28f;--line:#3b332a;--accent:#eb9a55;--on-accent:#241505;--error-bg:#47201a;--error-ink:#ffc2b3}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%}body{background:var(--bg);color:var(--ink);-webkit-tap-highlight-color:transparent;margin:0;font:17px/1.4 -apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}h1,h2,p{margin:0}h2{font-size:19px}button,input{font:inherit;color:inherit}button{cursor:pointer;touch-action:manipulation}button:disabled{opacity:.5}:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.brand{letter-spacing:-.01em;font-family:ui-rounded,-apple-system,BlinkMacSystemFont,sans-serif;font-size:26px;font-weight:700}.muted{color:var(--muted)}.centered{width:100%;max-width:420px;min-height:100dvh;padding:max(32px, env(safe-area-inset-top)) var(--gutter) max(32px, env(safe-area-inset-bottom));flex-direction:column;justify-content:center;gap:20px;margin:0 auto;display:flex}.stack{flex-direction:column;gap:14px;display:flex}.field{color:var(--muted);flex-direction:column;gap:6px;font-size:15px;display:flex}.input{width:100%;min-height:var(--tap);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);padding:10px 14px;font-size:17px}.input::placeholder{color:var(--muted)}.invite-input{letter-spacing:.12em;text-transform:uppercase;font-size:20px}.button{min-height:var(--tap);border-radius:var(--radius);background:var(--accent);color:var(--on-accent);border:0;padding:10px 18px;font-weight:600}.button-quiet{border:1px solid var(--accent);color:var(--accent);background:0 0}.link-button{min-height:44px;color:var(--accent);white-space:nowrap;background:0 0;border:0;padding:0 4px;font-weight:600}.divider{text-align:center;color:var(--muted)}.error{border-radius:var(--radius);background:var(--error-bg);color:var(--error-ink);padding:10px 14px}.menu{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-bottom:12px;padding:14px}.invite-code{letter-spacing:.1em;-webkit-user-select:all;user-select:all;margin-top:6px;font:700 28px/1.3 ui-monospace,SFMono-Regular,Menlo,monospace}.menu-actions{justify-content:space-between;display:flex}.shell{max-width:560px;min-height:100dvh;padding-bottom:calc(60px + env(safe-area-inset-bottom));margin:0 auto}.shell-header{padding:max(10px, env(safe-area-inset-top)) var(--gutter) 6px}.shell-title-row{align-items:center;gap:10px;display:flex}.shell-title-row .brand{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.tab-bar{z-index:2;padding-bottom:env(safe-area-inset-bottom);border-top:1px solid var(--line);background:var(--bg);justify-content:center;display:flex;position:fixed;inset:auto 0 0}.tab{max-width:187px;min-height:56px;color:var(--muted);flex-direction:column;flex:1;justify-content:center;align-items:center;gap:2px;font-size:12px;font-weight:600;text-decoration:none;display:flex}.tab svg{width:24px;height:24px}.tab.active{color:var(--accent)}.placeholder{padding:64px var(--gutter);text-align:center}.placeholder h2{margin-bottom:6px}
