/* Shared forest backdrop, with quiet glass surfaces and sage accents. */
@font-face {
  font-family:'Manrope';
  src:url('./fonts/Manrope-Variable.ttf') format('truetype');
  font-style:normal;
  font-weight:200 800;
  font-display:swap;
}
:root {
  --font-ui:'Manrope',-apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;
  font-family:var(--font-ui);
  --canvas:#060907;
  --app-background:linear-gradient(155deg,#193e2d 0%,#0d2119 46%,#060907 100%);
  --chef-ink-filter:brightness(2.3) saturate(.6) brightness(1.45);
  --panel:#25262a;
  --panel-raised:#2c2d31;
  --ink:#f2f2f4;
  --muted:#a7a8b0;
  --line:#ffffff18;
  --mint:#bdcec3;
  --glass:linear-gradient(145deg,#f1fff712 0%,#ffffff05 40%,#ffffff02 100%),#0c1c1438;
  --glass-border:#e2ffed26;
  --glass-shadow:inset 0 1px 0 #f1fff72e,inset 0 -1px 0 #ffffff06,0 16px 38px #0000001c;
}
body,body[data-screen='home'] {
  background:var(--app-background);
  background-attachment:fixed;
  color:var(--ink);
  font-weight:450;
  letter-spacing:-.012em;
  -webkit-font-smoothing:antialiased;
  text-rendering:optimizeLegibility;
}
.shell h1,.shell h2,.shell h3,dialog h2 { font-family:var(--font-ui); }
body[data-screen] .shell { max-width:1050px; padding-bottom:calc(118px + env(safe-area-inset-bottom)); }
body[data-screen='pantry'] .shell { max-width:960px; }
body[data-screen='list'] .shell { max-width:900px; }
body[data-screen] .shell header { padding:25px 0 14px; }
body[data-screen] .brand { font-size:25px; letter-spacing:-1.1px; font-weight:750; }
body[data-screen] .brand img { width:48px; height:48px; flex-shrink:0; background:transparent; border:0; padding:0; border-radius:0; box-shadow:none; filter:var(--chef-ink-filter); }
body[data-screen] .local { color:#b2b4bc; background:#ffffff05; border:1px solid #ffffff0d; font-size:9px; max-width:none; }
body[data-screen] .shell h1 { font-weight:650; }
.section-head { margin:28px 0 23px; gap:15px; }
.view-title { font-size:33px; letter-spacing:-1.1px; margin:0; }
.screen-subtitle { margin:8px 0 0; color:var(--muted); font-size:13px; line-height:1.6; }
.count-label { color:var(--muted); font-size:12px; border:1px solid var(--line); border-radius:30px; padding:8px 12px; white-space:nowrap; }
.shell .muted,.quiet-note { color:var(--muted); font-size:12px; line-height:1.7; }
.quiet-note { margin:16px 3px 0; }
body[data-screen] :is(.glass-panel,.home-chat,.glass-surface,.month-calendar,.profile-identity,.profile-group,.settings-card,.budget-panel,.run-picker,.meal,.proposal,.empty) {
  background:var(--glass);
  border:1px solid var(--glass-border);
  box-shadow:var(--glass-shadow);
  -webkit-backdrop-filter:blur(28px) saturate(125%);
  backdrop-filter:blur(28px) saturate(125%);
  border-radius:25px;
}
button { transition:background .16s,box-shadow .16s,transform .16s; }
button:active:not(:disabled) { transform:scale(.985); }
button:disabled { cursor:default; }
body[data-screen] :is(input,select,textarea) { background:#ffffff05; color:var(--ink); border-color:#ffffff24; border-radius:12px; }
body[data-screen] :is(input,textarea)::placeholder { color:#898b96; }
body[data-screen] input[type=checkbox] { accent-color:#adbfaf; }
body[data-screen] select option { background:#25262a; color:var(--ink); }
body[data-screen] :is(button,a,input,select,textarea,summary):focus-visible { outline:2px solid #d6e2da; outline-offset:3px; }
body[data-screen] .secondary { background:#ffffff05; border:1px solid #ffffff26; color:#d8d9df; border-radius:12px; }
body[data-screen] :is(.itemform > button,.schedule-actions > button:first-child,.budget-heading > button) { background:linear-gradient(145deg,#e9eceb,#d0d6d2); color:#24282a; border:1px solid #ffffff25; border-radius:12px; font-weight:550; }
body[data-screen] .bottom-nav { width:min(620px,calc(100% - 26px)); background:linear-gradient(145deg,#f1fff716,#ffffff06),#10201988; border:1px solid var(--glass-border); box-shadow:var(--glass-shadow); -webkit-backdrop-filter:blur(32px) saturate(140%); backdrop-filter:blur(32px) saturate(140%); }
body[data-screen] .bottom-nav button { color:#a5a7b2; }
body[data-screen] .bottom-nav button.active { color:#f6f7f8; background:linear-gradient(140deg,#ffffff22,#ffffff09); box-shadow:inset 0 1px 0 #ffffff19; }
body[data-screen] .bottom-nav button[data-tab='profile'] .nav-icon { background:#ffffff10; color:#c6d4cb; }
body[data-screen] .bottom-nav b { color:#252928; background:#d3ddd6; border-color:#282a2e; }

/* Home keeps the week and AI layout; color and materials match the other tabs. */
.home-welcome .home-eyebrow { display:none; }
.home-welcome { padding-top:20px; }
.home-welcome > p:last-child,.home-eyebrow,.week-topline p,.week-date,.week-summary,.selected-dinner-copy > p:not(.home-eyebrow),.home-layout .chat-help,.home-layout .chat-bottom > span,.week-plan-action span { color:var(--muted); }
.week-arrows button,.week-summary button,.home-layout .ai-label { color:#c2c3cb; }
.week-date > strong,.week-summary > span > strong,.week-plan-action strong { color:#e0e1e6; }
.week-date.selected { color:#e9eeeb; background:linear-gradient(145deg,#e3eee21d,#ffffff06); border-color:#d1ded02d; box-shadow:inset 0 1px 0 #fff2; }
.week-date.selected > strong,.week-date.is-today:not(.selected) > strong { color:#cedfd3; }
.week-date.has-dinner > i { background:#bdcec3; box-shadow:none; }
.week-date:hover:not(.selected),.week-arrows button:hover { background:#ffffff09; }
.week-summary,.week-plan-action { border-color:#ffffff12; }
.dinner-edit { background:#ffffff07; border-color:#ffffff24; color:#dcdde3; }
.dinner-mascot { background:radial-gradient(circle at 30% 20%,#f0f1ef,#bfc9c2); box-shadow:inset 0 1px 0 #fff9,0 8px 28px #0002; }
.home-layout .chat-composer { background:linear-gradient(145deg,#193628,#10251b); }
.home-layout .chat-composer textarea { background:transparent; color:var(--ink); }
.home-layout .chat-composer textarea::placeholder { color:#a5a6b1; }
.home-layout .chat-composer button { background:linear-gradient(145deg,#e9efeb,#bfcfc4); color:#303833; }
.home-layout .chat-date { color:#b8b9c2; background:#ffffff05; border-color:#ffffff11; }
.chat-prompts button { color:#c1c2ca; background:#ffffff05; border-color:#ffffff18; }
.chat-prompts button:hover { background:#ffffff0e; color:#f1f2f5; }
.week-plan-action button { background:linear-gradient(145deg,#ffffff15,#ffffff06); color:#e0e6e2; border-color:#ffffff28; }
.home-layout #home-chat-status { color:#d3dfd6; background:#c0d5c70b; border-color:#c5ddcd20; }
.home-layout #home-chat-status.chat-error { color:#edb8af; background:#edb8af08; border-color:#edb8af25; }
.home-layout .unscheduled-link { color:#bcbfc8; }

/* Schedule */
.month-calendar { padding:25px; }
.month-heading { margin-bottom:21px; }
.month-heading h2,.schedule-calendar .month-heading h2 { font-size:23px; font-weight:550; }
.month-weekdays { color:#979aa7; font-size:10px; margin-bottom:10px; }
.month-grid { gap:6px; }
.schedule-calendar .month-day { min-height:70px; border-radius:14px; }
.month-day { color:#bcc0c9; }
.month-day.in-range { background:#ffffff05; color:#d1d3db; }
.month-day.selected { background:linear-gradient(140deg,#d7e1d926,#ffffff0a); color:#e6eee8; border-color:#c6d7c845; box-shadow:inset 0 1px 0 #fff2; }
.month-day.selected .month-meal-name { color:#cfdbd2; }
.month-day:hover { background:#ffffff0c; }
.month-markers i,.calendar-legend i,.month-day.selected i { background:#b5cbbb; }
.month-markers svg,.calendar-legend svg,.month-day.selected svg { stroke:#b6b8c5; }
.calendar-legend { color:#a5a8b4; gap:17px; }
.calendar-legend b { background:#ffffff12; border:1px solid #ffffff16; }
.schedule-calendar .month-meal-name { color:#b5b8c5; }
.plan-summary-row { display:flex; align-items:stretch; gap:13px; margin-top:14px; }
.routine-summary { flex:1; margin:0; background:#ffffff05; border-color:var(--line); color:#d5d7df; border-radius:17px; }
.routine-summary strong { font-size:12px; font-weight:500; }
.routine-summary small { color:#a1a4b1; }
.grocery-runs-link { width:auto; min-width:180px; margin:0; padding:14px 18px; color:#bdc0cb; font-size:12px; border:1px solid var(--line); border-radius:17px; background:#ffffff03; }
.dinner-heading { margin-top:32px; }
.dinner-heading h2 { font-size:23px; font-weight:550; }
.dinner-heading h2 span { font-size:12px; color:#9d9fab; }
.schedule-actions { gap:8px; }
.schedule-actions button { padding:10px 14px; }
.menu-details { position:relative; }
.menu-details > summary { min-height:44px; padding:11px 12px; border:1px solid var(--line); border-radius:12px; color:#aeb1bd; font-size:12px; }
.menu-details > button { margin-top:8px; }
.meal h3 { font-weight:550; }
.meal .meal-top,.shell .meal p,.meal .actions button { color:#b6b8c4; }
.meal .actions { border-color:var(--line); }
.empty { padding:27px; color:var(--muted); }
.empty h3 { margin:0 0 8px; color:#e0e2e9; font:550 21px/1.3 var(--font-ui); letter-spacing:-.5px; }
.empty p { margin:0; color:var(--muted); font-size:12px; line-height:1.7; }

/* Pantry and household items */
.pantry-add { padding:23px; margin-bottom:18px; }
.pantry-add h2 { font-size:20px; font-weight:550; letter-spacing:-.5px; margin:0; }
.pantry-add .muted { margin:7px 0 0; }
.itemform { display:grid; grid-template-columns:minmax(100px,1fr) 100px 100px auto; gap:13px; align-items:end; padding:20px 0 0; }
.itemform > label:not(.check) { display:flex; flex-direction:column; gap:9px; color:#b4b6c0; font-size:11px; }
.itemform :is(input[name='name'],input[name='qty'],select) { width:100%; min-width:0; min-height:44px; margin:0; }
.itemform .check { grid-column:1/-1; grid-row:2; align-self:center; color:#aeb1bc; font-size:12px; }
.itemform .check input { width:18px; height:18px; margin:0; }
.itemform > button { grid-column:4; grid-row:1; align-self:end; min-height:44px; margin-bottom:0; padding:12px 21px; }
.inventory-list { padding:0 23px; }
.row { border-color:#ffffff12; color:#e4e5ec; }
.row small,.shell .row small { color:#9fa4ae; }
.row button { color:#b9bdc8; }
.row:last-child { border-bottom:0; }
.inventory-list .empty { margin:20px 0; box-shadow:none; border:0; background:transparent; padding:12px 0; }
.pantry-row { display:grid; grid-template-columns:minmax(100px,1fr) 85px 40px 108px 36px; gap:12px; padding:19px 0; }
.pantry-row > div:first-child { min-width:0; }
.pantry-row strong { font-weight:500; }
.pantry-row input[type=number] { width:85px; min-height:42px; text-align:center; }
.pantry-row .stock-unit { color:#a4a8b5; font-size:12px; }
.pantry-row .stock-status { color:#aeb9b0; border:1px solid #c3d1c518; border-radius:11px; background:#ffffff03; font-size:10px; min-height:38px; padding:8px; }
.pantry-row .remove-icon { min-width:36px; padding:9px; color:#9da1af; }

/* Order is a list first; extra settings are one tap away. */
.run-picker { display:flex; align-items:flex-end; gap:16px; padding:21px; }
.run-picker > div { flex:1; min-width:0; }
.run-picker label { color:#aeb2be; margin-bottom:9px; }
.run-picker select { font-size:13px; }
.run-picker .quiet-button { white-space:nowrap; margin:0; color:#b8bdc8; padding:10px 4px; }
.budget-panel { padding:22px; }
.budget-heading .micro-label { display:none; }
.budget-heading h2 { font-weight:550; font-size:21px; }
.budget-heading > button { min-height:40px; }
.budget-amount { margin-top:20px; }
.budget-amount > strong { color:#e7e9ef; font-weight:500; }
.budget-amount > span,.budget-comparison { color:#a7aeba; }
.budget-track { background:#ffffff10; height:4px; }
.budget-track > span { background:#b9ccbe; }
.budget-extra { border-top:1px solid var(--line); margin-top:17px; padding-top:8px; }
.budget-extra > summary { padding:9px 0; font-size:12px; color:#b7bec9; }
.budget-caption { margin:5px 0 0; font-size:10px !important; color:#9199a7 !important; }
.budget-split > div { background:#ffffff04; border-color:var(--line); border-radius:15px; }
.budget-split span,.budget-split small { color:#a9aebb; }
.budget-split strong { color:#dce3e0; }
.snap-projection,.budget-details p,.budget-note,.snap-guide { color:#b0b8c2; }
.budget-details { border-color:var(--line); }
.budget-details summary,.budget-details > div { color:#b7bfca; }
.budget-details > div strong { color:#e2e6ec; }
.shopping-items { padding:0 20px; }
.shopping-items:has(> .empty) { padding:0; margin:18px 0; }
.shopping-items .item-estimate button { color:#c1c8d2; background:#ffffff04; border-color:#ffffff1c; border-radius:10px; }
.snap-label { color:#a6adba; }
.snap-label.snap-yes { color:#b9cdbf; }
.essentials-panel { margin-top:18px; padding:6px 21px; }
.essentials-panel > summary { min-height:61px; font-size:14px; font-weight:500; color:#d8dce4; }
.essentials-panel > summary > span { margin-left:auto; margin-right:15px; color:#989fac; font-size:12px; }
.essentials-panel > summary::after { margin-left:0; }
.essentials-panel[open] { padding-bottom:21px; }
.essentials-panel > .muted { margin:5px 0 0; }
.help-details { margin:13px 3px 0; color:#9da5b3; }
.help-details > summary { padding:10px 0; font-size:11px; }
.help-details p { font-size:12px; line-height:1.8; }
details > summary { cursor:pointer; list-style:none; display:flex; align-items:center; gap:12px; }
details > summary::-webkit-details-marker { display:none; }
details > summary::after { content:'+'; font-size:17px; font-weight:400; margin-left:auto; opacity:.65; }
details[open] > summary::after { content:'−'; }

/* Profile and dialogs */
.profile-page { padding-top:10px; }
.profile-page > h1 { margin:19px 0 26px; font-size:33px; font-weight:560; }
.profile-identity { padding:23px; }
.profile-avatar { background:linear-gradient(135deg,#ffffff1c,#ffffff06); border:1px solid #ffffff24; color:#c7d4cc; }
.profile-identity .micro-label { display:none; }
.profile-identity h2 { color:#eceef2; font-size:23px; font-weight:550; }
.profile-identity > div > p:last-child,.profile-local-note { color:#a6adba; }
.profile-group-label { color:#a5abb9 !important; font-size:12px; margin:25px 3px 11px; }
.profile-row { min-height:67px; color:#dcdfe6; font-size:14px; }
.profile-row + .profile-row { border-color:var(--line); }
.profile-row > svg:first-child { stroke:#b4bdc8; }
.profile-row > svg:last-child { color:#858e9f; }
.settings-back { color:#b7c0cc; }
.kitchen-settings-card { max-width:640px; margin-bottom:18px; overflow:hidden; }
.kitchen-settings-card > h2 { font-size:19px; font-weight:600; margin:0; padding:22px 22px 12px; }
body[data-screen] .kitchen-setting-row { display:flex; align-items:center; justify-content:space-between; width:100%; gap:18px; min-height:76px; padding:17px 22px; text-align:left; border-radius:0; background:transparent; border:0; color:var(--ink); }
.kitchen-setting-row + .kitchen-setting-row { border-top:1px solid var(--line) !important; }
.kitchen-setting-row strong { display:block; font-size:14px; font-weight:550; }
.kitchen-setting-row small { display:block; margin-top:6px; color:#a8bdb0; font-size:12px; line-height:1.6; font-weight:400; }
.setting-chevron { color:#a6b6ac; font-size:24px; font-weight:400; }
.kitchen-setting-dialog { max-width:500px; max-height:85dvh; overflow:auto; }
.kitchen-setting-dialog h2 { font-size:23px; }
.kitchen-setting-dialog .muted { font-size:13px; line-height:1.7; }
.kitchen-setting-dialog .setup-pick { margin:0; }
.kitchen-setting-dialog :is(input,select) { font-size:16px; }
.kitchen-setting-dialog input[type=checkbox] { width:16px; }
.kitchen-setting-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:24px; }
.kitchen-setting-dialog [data-kitchen-error] { color:#f2b5ad; font-size:13px; line-height:1.6; }
.kitchen-setting-dialog [data-kitchen-error]:empty { display:none; }
.cooking-tools-card { padding:24px; max-width:640px; margin-bottom:18px; }
.cooking-tools-heading { display:flex; align-items:center; justify-content:space-between; gap:16px; }
.cooking-tools-heading h2 { margin:0; font-size:19px; font-weight:600; }
.cooking-tools-heading button { min-height:44px; padding:10px 19px; font-size:13px; }
.cooking-tools-card p { color:#c0cfc5; font-size:13px; line-height:1.8; margin:14px 0 9px; }
.cooking-tools-card small { color:#91a69a; font-size:11px; }
.equipment-dialog { max-width:560px; max-height:85dvh; overflow:auto; }
.equipment-dialog .dialog-head { gap:14px; }
.equipment-dialog h2 { font-size:23px; }
.equipment-dialog .setup-pick { margin:0; }
.equipment-dialog .equipment-actions { display:flex; justify-content:flex-end; gap:10px; margin-top:24px; }
.equipment-dialog [data-equipment-error] { color:#f2b5ad; font-size:13px; line-height:1.6; }
.equipment-dialog [data-equipment-error]:empty { display:none; }
.dev-code-card { padding:24px; max-width:640px; }
.dev-code-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; }
.dev-code-heading h2 { margin:0; font-size:19px; font-weight:600; }
.dev-code-status { color:#aab7b0; font-size:12px; white-space:nowrap; }
.dev-code-status.connected { color:#b6e4c8; }
.dev-code-card > .muted { font-size:13px; line-height:1.7; margin:12px 0; }
#dev-code-form { margin-top:22px; }
#dev-code-form label { display:block; font-size:13px; margin-bottom:9px; color:#c4cec8; }
.dev-code-entry { display:flex; gap:10px; }
.dev-code-entry input { flex:1; min-width:0; width:100%; min-height:48px; margin:0; background:#ffffff07; color:var(--ink); border:1px solid #ffffff26; border-radius:13px; padding:12px 14px; font-size:16px; }
.dev-code-entry input::placeholder { color:#8d9d94; }
.dev-code-entry button { flex-shrink:0; min-height:48px; padding:12px 18px; border-radius:13px; }
#dev-code-error { color:#f2b5ad; font-size:13px; line-height:1.6; margin:10px 0 0; }
#dev-code-error:empty { display:none; }
.dev-code-card .sign-out { border-top:1px solid var(--line); margin-top:20px; padding:18px 0 0; }
@media(max-width:360px) { .dev-code-card { padding:20px; } .dev-code-entry { flex-direction:column; } }
.sign-out { color:#d9a6a1; }
dialog { color:#e8eaf0; background:linear-gradient(145deg,#f1fff713,#ffffff03),#102019c9; border:1px solid #e2ffed32; border-radius:26px; box-shadow:inset 0 1px 0 #f1fff72e,0 25px 90px #0007; -webkit-backdrop-filter:blur(32px) saturate(125%); backdrop-filter:blur(32px) saturate(125%); }
dialog::backdrop { background:#07080b9c; -webkit-backdrop-filter:blur(9px); backdrop-filter:blur(9px); }
dialog h2 { font-weight:550; letter-spacing:-.6px; }
dialog .muted,dialog label,dialog small,.snap-form-note { color:#b6bdc8; }
dialog :is(input,select,textarea) { border-radius:12px; background:#ffffff05; border-color:#ffffff24; color:var(--ink); }
dialog select option { background:#2b2d32; }
dialog .dialog-head button { color:#bac2ce; }
body[data-screen] dialog button:not(.secondary):not(.dialog-head button):not(.text-button) { background:linear-gradient(145deg,#e8edeb,#ccd6ce); color:#242a27; border-radius:12px; }
body[data-screen] dialog .secondary { color:#c9d0da; }
.planning-preview { background:#ffffff05; border-color:var(--line); color:#b7c4bd; border-radius:15px; }
.proposal summary,.draft-date,#ai-result,.snap-form-note a { color:#bdc9c3; }
.proposal .row { border-color:var(--line); }
.welcome { --welcome-chef-filter:var(--chef-ink-filter); color:#e9edf0; background:var(--app-background); }
.welcome-tagline,.welcome-status { color:#a6aebb; }
.welcome-retry { color:#d8dfe6; border-color:#ffffff26; border-radius:12px; }
@media(max-width:759px) {
  body[data-screen] .shell { padding-left:max(20px,env(safe-area-inset-left)); padding-right:max(20px,env(safe-area-inset-right)); }
  body[data-screen] .shell header { padding:20px 0 13px; }
  body[data-screen] .brand { font-size:24px; }
  body[data-screen] .brand img { height:42px; width:42px; }
  body[data-screen] .local { max-width:86px; font-size:8px; padding:6px 8px; }
  .section-head { margin:23px 0 20px; }
  .view-title,.profile-page > h1 { font-size:29px; }
  .screen-subtitle { font-size:12px; }
  .month-calendar { padding:17px; }
  .month-heading h2,.schedule-calendar .month-heading h2 { font-size:19px; }
  .schedule-calendar .month-day { min-height:47px; border-radius:11px; }
  .month-grid { gap:4px; }
  .calendar-legend { font-size:8px; gap:11px; }
  .plan-summary-row { gap:9px; }
  .routine-summary { padding:13px; }
  .routine-summary strong { font-size:10px; line-height:1.5; }
  .grocery-runs-link { min-width:0; width:106px; padding:12px; font-size:10px; }
  .grocery-runs-link > svg { display:none; }
  .dinner-heading { align-items:flex-start; }
  .dinner-heading > div { flex-basis:100%; }
  .dinner-heading h2 span { display:inline; margin-left:8px; }
  .schedule-actions { gap:7px; }
  .schedule-actions button { font-size:11px; }
  .pantry-add { padding:19px; }
  .itemform { grid-template-columns:minmax(0,1fr) 85px; gap:14px 10px; }
  .itemform .item-name { grid-column:1/-1; }
  .itemform .item-amount { grid-column:1; grid-row:2; }
  .itemform .item-unit { grid-column:2; grid-row:2; }
  .itemform .check { grid-column:1/-1; grid-row:3; font-size:11px; }
  .itemform .check input { width:20px; height:20px; }
  .itemform > button { grid-column:1/-1; grid-row:4; width:100%; margin-top:0; }
  .inventory-list { padding:0 17px; }
  .pantry-row { grid-template-columns:minmax(75px,1fr) 72px 24px 32px; gap:8px; padding:17px 0; }
  .pantry-row input[type=number] { width:72px; }
  .pantry-row .stock-status { grid-column:1/4; grid-row:2; justify-self:start; margin-left:0; min-height:32px; font-size:9px; padding:5px 9px; }
  .pantry-row .remove-icon { grid-column:4; grid-row:1; min-width:32px; }
  .run-picker { flex-wrap:wrap; padding:18px; gap:5px; }
  .run-picker > div { flex-basis:100%; }
  .run-picker select { font-size:16px; }
  .run-picker .quiet-button { padding:6px 0; min-height:32px; font-size:11px; }
  .budget-panel { padding:19px; }
  .budget-heading h2 { font-size:20px; }
  .budget-amount > strong { font-size:31px; }
  .budget-amount > span { font-size:10px; }
  .essentials-panel { padding:4px 18px; }
  .shopping-items { padding:0 15px; }
  .home-layout .chat-composer textarea { font-size:16px; }
}
@media(prefers-reduced-motion:reduce) { button { transition:none; } button:active:not(:disabled) { transform:none; } }
