.dash{max-width:900px;margin:0 auto;padding:100px 16px 50px}
.hi{color:var(--mute);font-size:14px}
.loading{color:var(--mute);text-align:center;padding:60px 0}
.intake header{margin-bottom:6px}.intake h1,.rhead h1{font-size:clamp(28px,4vw,40px)}
fieldset.card{display:grid;gap:14px;border:1px solid var(--line)}
legend{font-weight:800;font-size:18px;color:var(--acc);padding:0 6px}
.row3{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}
@media(max-width:520px){.row3{grid-template-columns:1fr 1fr}.row3 label:first-child{grid-column:1/-1}}
.hint{color:var(--mute);font-size:14px}
.actions{display:flex;gap:10px;flex-wrap:wrap}
.rhead{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}
.notes{display:grid;gap:10px;margin-bottom:16px}
.top-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:760px){.top-grid{grid-template-columns:1fr}}
.plate-card{display:grid;place-items:center;padding:34px 22px}
.plate-card .plate{width:min(300px,70vw)}
.facts{display:grid;grid-template-columns:1fr 1fr;gap:10px;align-content:start}
.facts div{background:rgba(255,255,255,.04);border-radius:14px;padding:10px 14px}
.facts dt{color:var(--mute);font-size:13px}.facts dd{font-size:22px;font-weight:800;margin:0}
.facts dd small{font-size:13px;color:var(--mute);font-weight:400}
.how{margin-top:14px;font-size:14px}
.danger-zone{margin-top:14px}.danger-zone summary{cursor:pointer;color:var(--stop);font-weight:700}
.danger-zone form{margin-top:12px}
.prose h1{font-size:clamp(28px,4vw,40px)}.prose .card{margin-top:16px}
.prose h2{font-size:19px;color:var(--acc);margin-top:14px}.prose h2:first-child{margin-top:0}.prose p{color:var(--mute)}
.sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
.chips.dislike input:checked+span{background:var(--stop);border-color:var(--stop);color:#3b0d0d}
/* tabs */
.tabs{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:16px}
.tabs button,.days button{flex:none;font:inherit;font-weight:800;font-size:14px;color:var(--mute);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:8px 16px;min-height:40px;cursor:pointer}
.tabs button[aria-selected=true],.days button[aria-selected=true]{background:var(--acc);color:var(--acc-ink);border-color:var(--acc)}
[role=tabpanel]{display:grid;grid-template-columns:minmax(0,1fr);gap:14px}
#result{min-width:0}
/* meals */
.tiers{margin-bottom:4px}
.days{display:flex;gap:6px;overflow-x:auto;padding-bottom:4px}
.day-total{display:flex;flex-wrap:wrap;gap:6px 16px;color:var(--mute);font-size:14px}.day-total span:first-child{color:var(--ink);font-weight:800}
.meals{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr));gap:14px}
.meal .head{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin-bottom:8px}
.meal .slot{color:var(--acc);font-weight:800;font-size:14px}.meal h3{font-size:18px;flex:1}.meal .kcal{color:var(--mute);font-size:14px}
.meal ul{list-style:none;padding:0;display:grid;gap:6px}
.meal li{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;border-bottom:1px dashed var(--line);padding-bottom:6px}
.meal li .nm{flex:1;min-width:50%}.meal li b{color:var(--acc)}.meal li small{color:var(--mute);width:100%;text-align:end}
.meal .foot{display:flex;justify-content:space-between;align-items:center;gap:8px;flex-wrap:wrap;margin-top:10px;color:var(--mute)}
.shop summary{cursor:pointer;font-weight:800}.shop ul{columns:2 220px;margin-top:10px;color:var(--mute)}
/* workout */
.w-head h2{font-size:22px;color:var(--acc)}.w-head p{margin-top:4px}
.w-week{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr));gap:14px}
.w-day .head{display:flex;gap:10px;align-items:baseline;margin-bottom:6px}.w-day .head b{color:var(--acc);font-size:18px}
.w-day.rest{opacity:.75}
.w-day ol{padding-inline-start:20px;display:grid;gap:8px;margin:8px 0}
.w-day li b{display:inline}.w-day .dose{display:block;color:var(--acc);font-weight:800}
.w-day li small{display:block;color:var(--mute)}
/* guide */
.water h2,.rule h2{font-size:22px}.water h2{color:var(--acc)}.water .big{font-size:22px;font-weight:800}
.water .sched{columns:2 220px;margin:8px 0;color:var(--mute)}
.rules{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:14px}
.rule ul{list-style:none;padding:0;display:grid;gap:10px;margin-top:8px}
.rule li b{display:block}.rule li small{color:var(--mute)}
.rule.ok h2{color:var(--acc)}.rule.mid h2{color:var(--warn)}.rule.no h2{color:var(--stop)}
/* chat */
.chat-log{display:grid;gap:10px;max-height:60vh;overflow-y:auto;padding:4px}
.msg{max-width:88%;padding:10px 14px;border-radius:18px;border:1px solid var(--line)}
.msg p{margin:0}.msg p:empty{height:.6em}
.msg.user{justify-self:start;background:rgba(94,234,212,.12)}
.msg.bot{justify-self:end;background:var(--card)}.msg.wait{color:var(--mute)}
.ask textarea{min-height:70px}
