/* Focused experience layer: preserve existing themes, pantry art and loggers. */
.experience-home { max-width:1480px; margin:auto; min-width:0; container:home-layout / inline-size; }
.experience-welcome { display:flex; align-items:center; justify-content:space-between; gap:20px; padding:22px 0 12px; }
.experience-welcome h1 { margin:0; font-size:clamp(32px,4vw,52px); line-height:1.1; }
.experience-welcome h1 span { color:#ca496c; }
.experience-welcome p { margin:7px 0; }
.pace-link { font-size:15px; text-decoration:underline; text-underline-offset:4px; }
.experience-home .dashboard-header { margin:16px 0; }
.experience-home .dashboard-header h1 { font-size:clamp(23px,2.5vw,34px); }
.home-log-launcher { padding:20px 24px; border:2px solid currentColor; border-radius:18px 23px 19px 15px; background:var(--surface,#fff9ed); box-shadow:3px 4px 0 #d5bda54d; margin:18px 0 28px; }
.home-log-launcher>label { font-size:24px; font-weight:700; }
.home-log-launcher form { display:flex; gap:12px; margin:10px 0; }
.home-log-launcher input { flex:1; min-width:0; background:transparent; border:1px solid #8e8370; border-radius:12px; padding:13px 16px; font:inherit; font-size:18px; }
.home-log-launcher p { margin:6px 0 0; font-size:15px; opacity:.8; }
.home-food-options { margin:8px 0; border:1px solid #c1b59f; border-radius:12px; overflow:hidden; }
.home-food-options a { display:flex; flex-direction:column; padding:12px 16px; min-height:48px; text-decoration:none; color:inherit; border-bottom:1px solid #d8ccba; }
.home-food-options a[aria-selected=true],.home-food-options a:hover { background:#f5dbdf; color:#332d28; }
.home-food-options small { font:13px/1.5 system-ui,sans-serif; opacity:.75; }
.home-recent { display:flex; flex-wrap:wrap; align-items:center; gap:8px; margin-top:14px; }
.home-recent a { padding:7px 12px; border:1px solid #b7a88d; border-radius:20px; text-decoration:none; color:inherit; font-size:15px; }
.hide-calories .result-nutrition { display:none!important; }
.experience-home .diary-content-grid { display:grid; grid-template-columns:minmax(0,1fr) 290px; align-items:start; gap:24px; }
.experience-home .diary-workspace { grid-template-columns:minmax(250px,280px) minmax(0,1fr); }
.experience-home .daily-checkins { display:grid; gap:20px; min-width:0; }
.experience-home .paper-mood,.experience-home .paper-water { position:relative; grid-area:auto; margin:0; width:100%; min-width:0; transform:none; }
.experience-home .paper-mood h2,.experience-home .paper-water h2 { font-size:24px; }
.experience-home .mood-faces { gap:2px; }
.experience-home .mood-faces label { min-width:0; flex:1; }
.experience-home .mood-faces span { padding:6px 0; }
.experience-home .mood-faces b { font-size:29px; }
.experience-home .mood-faces label:last-child b { font-size:35px; }
.home-optional-support { margin:26px 0; }
.home-optional-support .gentle-engagement-row:empty { display:none; }
.home-optional-support .daily-tip-paper { max-width:900px; }
.home-optional-support .comfort-reminder-card { max-width:650px; }
.experience-home .meal-list { min-width:0; container:meal-list / inline-size; }
/* The avatar is hidden here: give the three remaining children explicit areas,
   rather than letting the food name fall into the old 35px avatar column. */
.experience-home .food-row { min-width:0; grid-template-columns:minmax(0,1fr) auto 64px; grid-template-areas:"copy nutrition actions"; align-items:start; gap:10px; }
.experience-home .food-copy { grid-area:copy; min-width:0; overflow-wrap:anywhere; }
.experience-home .food-copy>strong { white-space:normal; overflow:visible; text-overflow:clip; line-height:1.4; }
.experience-home .food-copy>span { line-height:1.5; }
.experience-home .food-actions { grid-area:actions; justify-self:end; align-self:start; }
.experience-home .comfort-checkin-button { max-width:100%; width:fit-content; text-align:left; white-space:normal; }
.experience-home .comfort-checkin-button>span { flex-shrink:0; }
.experience-home .food-avatar { display:none; }
.experience-home .food-nutrition { grid-area:nutrition; display:flex; min-width:0; margin:0; white-space:nowrap; }
.experience-home .daily-plate-stage { min-height:0; padding-block:12px; }
.experience-home .daily-nutrition-plate .plate-shell { width:min(100%,245px); height:auto; aspect-ratio:1; }
.experience-home .weight-mini-card { padding:18px; gap:10px; }
.experience-home .daily-plate-heading p:last-child { font-size:14px; }
.nutrition-coverage-note { font:14px/1.5 system-ui,sans-serif; opacity:.8; }
.hide-calories .calorie-number,.hide-calories .plate-calorie-value,.hide-calories #preview-calories,.hide-calories .summary-calories { display:none!important; }
.hide-calories .food-nutrition>strong { display:none!important; }
.hide-calories .nutrition-preview>div:first-child,.hide-calories .recipe-calorie,.hide-calories .recipe-card .recipe-meta>span:first-child { display:none!important; }
button,a,input,select,summary { touch-action:manipulation; }
:focus-visible { outline:3px solid #237e87; outline-offset:4px; }
@media(max-width:1250px) { .experience-home .diary-content-grid { grid-template-columns:minmax(0,1fr); } .experience-home .daily-checkins { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:760px) { .experience-welcome { align-items:flex-start; flex-direction:column; gap:4px; } .home-log-launcher { padding:16px; } .home-log-launcher form { flex-direction:column; } .experience-home .diary-workspace { grid-template-columns:minmax(0,1fr); } .experience-home .daily-checkins { grid-template-columns:minmax(0,1fr); } }
@media(prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none!important; scroll-behavior:auto!important; transition:none!important; } }
@media(max-width:760px) {
  .experience-home .daily-nutrition-plate { display:grid; grid-template-columns:150px minmax(0,1fr); gap:8px; padding:14px; max-width:none; }
  .experience-home .daily-plate-heading { grid-column:1/-1; }
  .experience-home .daily-plate-stage { min-height:160px; margin:0; }
  .experience-home .daily-nutrition-plate .plate-shell { width:150px; height:150px; }
  .experience-home .daily-nutrition-plate .plate-center { width:106px; height:106px; }
  .experience-home .daily-plate-extras { grid-template-columns:1fr; align-content:center; }
  .experience-home .daily-plate-empty,.experience-home .nutrition-coverage-note { grid-column:1/-1; }
  .experience-home .pantry-label { font-size:13px; }
}
.hide-calories .recipe-macros>div:first-child,.hide-calories .recipe-detail-nutrition>strong,.hide-calories .recipe-detail-nutrition>span { display:none!important; }

/* Use available home width, not viewport width: the left navigation consumes
   nearly 300px on laptop layouts. Keep the nutrition plate out of a narrow track. */
@container home-layout (max-width:1050px) {
  .experience-home .diary-content-grid { grid-template-columns:minmax(0,1fr); }
  .experience-home .daily-checkins { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@container home-layout (max-width:620px) {
  .experience-home .diary-workspace,.experience-home .daily-checkins { grid-template-columns:minmax(0,1fr); }
}
@container meal-list (max-width:460px) {
  .experience-home .food-row { grid-template-columns:minmax(0,1fr) 64px; grid-template-areas:"copy actions" "nutrition actions"; gap:8px 12px; }
  .experience-home .food-nutrition { flex-direction:row; align-items:baseline; gap:10px; text-align:left; }
}

/* Permanent round plates; sticker count must not stretch the furniture or
   neighbouring empty plates. Extra artwork stays in the scrollable inner area. */
.experience-home .pantry-bottom { grid-template-columns:repeat(4,minmax(0,1fr)); align-items:start; }
.experience-home .pantry-plate { display:flex; flex-direction:column; width:100%; max-width:360px; aspect-ratio:1; min-height:0; height:auto; padding:40px 20px 22px; border-radius:50%; justify-self:center; }
.experience-home .pantry-plate .pantry-stickers { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); align-content:center; align-items:start; gap:8px 4px; min-height:0; height:auto; flex:1; overflow:auto; overscroll-behavior:contain; scrollbar-width:thin; }
.experience-home .pantry-plate .pantry-sticker { min-width:0; width:100%; }
.experience-home .pantry-plate .pantry-sticker img { width:52px; height:52px; max-width:100%; }
.experience-home .pantry-plate .pantry-sticker span { max-width:100%; }
.experience-home .pantry-shelf .pantry-stickers { height:auto; flex-wrap:wrap; gap:12px; }
@container home-layout (max-width:1000px) {
  .experience-home .pantry-bottom { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@container home-layout (max-width:540px) {
  .experience-home .pantry-bottom { grid-template-columns:minmax(0,1fr); }
  .experience-home .pantry-plate .pantry-sticker img { width:64px; height:64px; }
}
