:root{--paper:#f4f1e8;--surface:#fcfbf7;--ink:#252a27;--muted:#667068;--sage:#66785f;--forest:#334238;--line:#d9d1be;--soft:#e8e5da;--absent:#8a8175}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit}.page-shell{width:min(980px,100% - 48px);margin:0 auto;padding:48px 0 88px}.hero{padding:18px 0 52px}h1{letter-spacing:-.065em;margin:0;font-size:clamp(54px,9vw,88px);line-height:.92}.day+.day{margin-top:5px}.day-heading{justify-content:space-between;align-items:end;gap:20px;margin-bottom:14px;display:flex}h2{letter-spacing:-.04em;margin:0;font-size:32px}.meal-list{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:16px;display:grid}.meal{border:1px solid var(--line);background:var(--surface);border-radius:14px;overflow:hidden;box-shadow:0 7px 20px #252a270b}.meal-heading{cursor:pointer;background:#f0f1e9;min-height:164px;padding:20px 50px 20px 22px;list-style:none;display:block;position:relative}.meal-heading::-webkit-details-marker{display:none}.meal-heading:after{content:"+";color:var(--sage);font-size:24px;line-height:1;position:absolute;top:18px;right:20px}.meal[open] .meal-heading{border-bottom:1px solid var(--line)}.meal[open] .meal-heading:after{content:"−"}.meal-heading:hover{background:#e9ebe1}.meal-heading:focus-visible{outline:3px solid var(--sage);outline-offset:-3px}h3{letter-spacing:-.025em;margin:0;font-size:20px}.meal-heading>span{color:var(--muted);margin-top:12px;font-size:12px;font-weight:700;display:block}.meal-description{color:var(--muted);margin:8px 0 0;font-size:14px;line-height:1.5}.people{margin:0;padding:0;list-style:none}.people li{justify-content:space-between;align-items:center;gap:18px;min-height:62px;padding:0 22px;display:flex}.people li+li{border-top:1px solid var(--line)}.person-name{font-size:16px;font-weight:800}.no-attendees{color:var(--muted);font-size:14px}.empty-state{border:1px solid var(--line);background:var(--surface);border-radius:14px;padding:34px}.empty-state h2{margin:0}.empty-state p{color:var(--muted);margin:10px 0 0}@media (max-width:720px){.page-shell{width:min(100% - 28px,560px);padding:28px 0 56px}.hero{padding:10px 0 38px}h1{font-size:clamp(48px,16vw,64px)}.day-heading{align-items:center}h2{font-size:27px}.meal-list{grid-template-columns:1fr;gap:12px}.meal-heading{min-height:0;padding:17px 48px 17px 16px}.people li{min-height:58px;padding:0 16px}}@media (prefers-reduced-motion:reduce){html{scroll-behavior:auto}}
