.topbar{display:none}.card:before,.card h2:before{display:none!important}.muted,.tiny,.item-main small,.stat small{color:var(--muted)}.app-shell{padding-bottom:152px}.hero.hero-compact{min-height:238px;padding:20px 18px}.hero-compact .hero-cat{position:absolute;right:10px;top:14px;width:39%;height:calc(100% - 28px);object-fit:contain;border:0;background:transparent;z-index:2;box-shadow:none}.hero-compact h2,.hero-compact .eyebrow,.hero-compact .hero-subtitle{max-width:56%;position:relative;z-index:2}.hero-compact h2{font-size:25px;line-height:1.04;margin:8px 0}.hero-compact .hero-subtitle{font-size:13px;line-height:1.35;margin-bottom:10px;color:#f6e7cb}.hero-goal .eyebrow,.hero-goal h2,.hero-goal .hero-subtitle{width:56%;max-width:none;text-align:center}.hero-goal .metric-row{position:absolute;left:calc(28% - 46px);bottom:20px;width:92px;max-width:none;margin:0;display:block}.hero-goal .ring{width:92px;height:92px;font-size:17px}.hero-goal .ring:after{inset:8px}.tabbar{min-height:124px;padding:7px 8px calc(7px + env(safe-area-inset-bottom));align-items:end}.tabbar button,.tabbar button.active{min-width:0;width:20%;padding:0 2px;font-size:14px;line-height:1.15;text-transform:none;font-weight:700;color:#8a9792}.tabbar img.nav-cat{display:block;width:46px;height:83px;object-fit:contain;margin:0 auto 2px;filter:none}.modal-inner .action.ghost{margin-top:8px}.plan-space{margin-top:14px}
.hero-goal h2{white-space:nowrap;font-size:20px}
.card h2,.card .split>div>b{margin:0;display:block}.card h2+.muted,.card h2+.tiny,.card .split>div>b+.muted,.card .split>div>b+.tiny,.card .split>div>h2+.muted,.card .split>div>h2+.tiny,.card .split+.muted,.card .split+.tiny{margin:5px 0 0}
button{text-transform:lowercase}
.card .item,.card .meal-nutrients{ text-transform:lowercase}.item-main small,.meal-nutrients small,.stat small{font-size:12px}.meal-nutrients small{margin-top:3px}.tiny{font-size:13px}
.card>label+.chips{margin-top:8px}.card>label{margin-bottom:0}
.note-stack{display:grid;gap:7px;margin-top:5px}.note-stack .muted{margin:0}
.nutrition-dashboard{background:#751f39;border-color:#b88357;color:#f7ebd5}.nutrition-dashboard h2{color:#f7ebd5}.nutrition-dashboard .stat-grid{gap:6px}.nutrition-dashboard .stat{background:transparent;padding:8px 3px}.nutrition-dashboard .stat b{color:#f7ebd5;font-weight:800;font-size:21px}.nutrition-dashboard .stat small{color:#d7c4c6;font-size:13px;line-height:1.25}
.nutrition-dashboard{background:var(--card);border-color:#eff1ed;color:var(--ink)}.nutrition-dashboard h2{color:var(--ink)}.nutrition-dashboard .stat{background:#f4e5d4;padding:12px}.nutrition-dashboard .stat b{color:var(--ink)}.nutrition-dashboard .stat small{color:var(--muted)}
.goals-card .goals-guides{margin:12px 0 16px;grid-template-columns:repeat(2,minmax(0,1fr))}.goals-card .action{margin-top:0}.goals-guides .stat{min-height:76px;display:flex;flex-direction:column;justify-content:center}.goals-guides .stat b{font-size:22px}.goals-guides .stat small{font-size:13px;line-height:1.25}.progress-card .chips{margin:12px 0 8px}.progress-chart{display:block;width:100%;height:100px;margin:4px 0 10px}.progress-chart path{stroke:#e3d4b6;stroke-width:1;fill:none}.progress-chart polyline{stroke:#751f39;stroke-width:3;fill:none;stroke-linecap:round;stroke-linejoin:round}.progress-empty{height:100px;display:grid;place-items:center;margin:4px 0 10px;border-bottom:1px solid #e3d4b6}.progress-empty span{display:block;width:100%;height:1px;background:#e3d4b6}.progress-empty .muted{margin:-30px 0 0;background:var(--card);padding:0 8px;text-align:center}.progress-stats{margin-top:0}.progress-stats .stat{padding:10px 6px}.progress-stats .stat b{font-size:19px}.progress-stats .stat small{font-size:12px}
.goals-card .goals-guides{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;grid-auto-flow:row}
.tabbar button,.tabbar button.active{font-family:"DM Serif Display",Georgia,serif;font-size:20px;line-height:1;color:var(--ink);font-weight:400;text-transform:lowercase}
.tabbar{min-height:124px}.tabbar img.nav-cat{width:46px;height:83px;margin-bottom:2px;object-fit:contain!important;object-position:center center}
.tabbar button[data-route="plan"] .nav-cat{transform:translateY(-32px) scale(1.5)!important;transform-origin:center center}
.action[data-water-change]{background:var(--green)!important;color:#fff!important;border:0!important}
.food-results{display:grid;gap:7px;margin:10px 0}.food-result{width:100%;text-align:left;border:1px solid #d9b789;background:#fff9ef;border-radius:12px;padding:10px;color:var(--ink);font:inherit}.food-result b,.food-result small{display:block}.food-result small{margin-top:3px;color:var(--muted);font-size:12px}.food-result.selected{background:#751f39;border-color:#751f39;box-shadow:inset 0 0 0 2px #d7b35b}.food-result.selected b,.food-result.selected small{color:#fff9ef}
.meals-heading{align-items:flex-start}.meals-heading .action{margin-top:0}
dialog h2{font-family:"DM Serif Display",Georgia,serif;font-size:26px;line-height:1.1;color:#751f39;margin:0 0 18px}dialog label{font-size:14px;line-height:1.45;font-weight:400;color:var(--muted);margin:13px 0 6px}dialog .form-grid label{margin-top:0}
/* Compact hero: date and greeting sit above the larger cat artwork. */
.hero.hero-goal{min-height:238px;padding:0 18px}
.hero-goal .eyebrow{position:absolute;z-index:3;top:12px;left:0;width:100%;max-width:none;margin:0;text-align:center}
.hero-goal h2{position:absolute;z-index:3;top:38px;left:18px;width:auto;max-width:none;margin:0;text-align:left;font-size:19px;line-height:1;white-space:nowrap}
.hero-goal .hero-subtitle{position:absolute;z-index:3;top:43px;left:162px;width:auto;max-width:none;margin:0;text-align:left;font-size:11px;line-height:1.1;white-space:nowrap}
.hero-goal .hero-cat{right:8px;top:66px;width:47%;height:calc(100% - 74px);object-fit:contain;object-position:center center}
.hero-goal .metric-row{left:calc(28% - 46px);bottom:44px}
/* One compact greeting line frees the rest of the card for the cat artwork. */
.hero-goal h2{top:11px;left:8px;width:calc(100% - 16px);font-size:11px;line-height:1.1;letter-spacing:.15px;text-align:center;white-space:nowrap}
.hero-goal .hero-subtitle:empty{display:none}
.hero-goal .eyebrow{top:108px;left:calc(28% - 54px);width:108px;font-size:11px;line-height:1.1;text-align:center}
.hero-goal .hero-cat{right:2px;top:42px;width:58%;height:calc(100% - 54px)}
.hero-goal .metric-row{bottom:16px}
/* Final hero alignment: headline above; date and ring form one left-side group. */
.hero.hero-goal{min-height:270px}
.hero-goal h2{top:13px;left:8px;width:calc(100% - 16px);font-size:26px;line-height:1;text-align:center;letter-spacing:0}
.hero-goal .eyebrow{top:92px;left:calc(25% - 55px);width:110px;font-size:11px;white-space:nowrap;text-align:center}
.hero-goal .metric-row{left:calc(25% - 46px);bottom:58px}
.hero-goal .hero-cat{right:1px;top:52px;width:55%;height:calc(100% - 70px)}
/* Support line, date, and ring share the left-half centre; the cat shares their vertical centre. */
.hero-goal .hero-subtitle{display:block;position:absolute;z-index:3;top:68px;left:calc(25% - 77px);width:154px;max-width:none;margin:0;color:#fff9ef;font-size:14px;line-height:1.2;text-align:center;white-space:nowrap}
.hero-goal .eyebrow{top:94px}
.hero-goal .hero-cat{width:52%}
/* The support line, weekday, month/date, and ring are a single left-side group. */
.hero-goal .hero-subtitle{top:68px;left:calc(25% - 70px);width:140px}
.hero-goal .hero-date-group{position:absolute;z-index:3;top:94px;left:calc(25% - 55px);width:110px;text-align:center}
.hero-goal .hero-date-group .eyebrow{position:static;width:auto;margin:0;color:#f6e7cb;font-size:11px;line-height:1.2;letter-spacing:.14em;text-align:center}
.hero-goal .hero-month-day{margin:3px 0 0;color:#f6e7cb;font-size:11px;line-height:1.2;letter-spacing:.14em;text-align:center}
.hero-goal .metric-row{bottom:46px}
.hero-goal .hero-cat{top:59px}
.hero-goal:after{display:none}
