/* Meals along your route (/plan/). Mobile first; same tokens as app.css. */
.plan-page .lede{max-width:46rem}
.plan-form{margin:1rem 0}
.plan-grid{display:grid;gap:.25rem 1rem;grid-template-columns:1fr}
.plan-grid .field{max-width:none;margin:0 0 .5rem}
.plan-grid input[type=time]{font:inherit;font-size:1.125rem;color:var(--c-text);background:var(--c-bg);border:2px solid var(--c-border);border-radius:.75rem;min-height:var(--tap-min);padding:.5rem .8rem;width:100%}
.plan-actions{margin:.25rem 0 0}
.plan-actions .btn{width:100%}
.plan-tries{font-weight:700;color:var(--c-text)}
.plan-gate{margin:0 0 1rem;border-color:var(--c-accent)}
.plan-summary{margin:0 0 1rem}
.plan-summary h2{font-size:1.375rem;margin:0}
.plan-moods{border:0;margin:0 0 1rem;padding:0;min-width:0}
.plan-moods legend{font-weight:700;font-size:1.125rem;margin-bottom:.35rem;padding:0}
.plan-mood-row{display:flex;flex-wrap:wrap;gap:.4rem}
.plan-mood-row label{display:inline-flex;align-items:center;gap:.4rem;min-height:var(--tap-min);padding:0 .9rem;border-radius:999px;border:2px solid var(--c-border);background:var(--c-bg);font-size:1.0625rem;cursor:pointer}
.plan-mood-row input{accent-color:var(--c-accent);width:1.1rem;height:1.1rem;margin:0}
.plan-mood-row label:has(input:checked){background:var(--c-accent);border-color:var(--c-accent);color:var(--c-on-accent)}
.plan-mood-row label:has(input:focus-visible){outline:4px solid var(--c-focus);outline-offset:2px}
.plan-mood-row label:has(input:disabled){opacity:.6;cursor:not-allowed}
.plan-meals{list-style:none;margin:0 0 1.5rem;padding:0;display:grid;gap:1rem}
.plan-meal{background:var(--c-surface);border:2px solid var(--c-line);border-radius:var(--radius);padding:1rem 1.25rem;min-width:0}
.plan-meal h3{font-size:1.375rem;margin:0 0 .15rem;display:flex;gap:.5rem;align-items:baseline;flex-wrap:wrap}
.plan-meal h3 .pnum{display:inline-grid;place-items:center;min-width:2rem;height:2rem;border-radius:999px;background:var(--c-accent);color:var(--c-on-accent);font-size:1.0625rem}
.plan-stops{list-style:none;margin:.6rem 0 0;padding:0;display:grid;gap:.6rem}
.plan-stop{border-top:1px solid var(--c-line);padding-top:.6rem;display:grid;gap:.2rem;min-width:0}
.plan-stop:first-child{border-top:0;padding-top:0}
.plan-stop a.name{font-size:1.1875rem;font-weight:700;color:var(--c-heading)}
.plan-stop .pills{margin:.1rem 0 0}
.plan-stop .pill{font-size:.9375rem}
.plan-stop .pill.must{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-on-accent)}
.plan-stop .pill.guess{border-style:dashed;font-weight:400}
.plan-vote{justify-self:start;min-height:2.75rem;font-size:1rem;padding:.2rem .8rem}
.plan-vote[aria-pressed=true]{background:var(--c-accent);border-color:var(--c-accent);color:var(--c-on-accent)}
.plan-more{margin:.6rem 0 0}
.plan-empty{margin:.4rem 0 0}
.plan-assume{margin:0 0 2rem}
@media (min-width:44rem){
  .plan-grid{grid-template-columns:1fr 1fr}
  .plan-actions .btn{width:auto;min-width:16rem}
}
@media (min-width:64rem){.plan-grid{grid-template-columns:2fr 2fr 1.2fr 1fr}}
