:root{color:#2d2119;font-synthesis:none;text-rendering:optimizelegibility;background:#fff7e8;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom);background:radial-gradient(circle at 0 0,#f28f3b3d,#0000 34rem),radial-gradient(circle at 100% 100%,#5d946633,#0000 30rem),#fff7e8;margin:0}button,input,textarea,select{font:inherit}button{color:#fff;cursor:pointer;background:#cf4f2f;border:0;border-radius:999px;padding:.85rem 1.2rem;font-weight:800;box-shadow:0 12px 24px #732d182e}button:hover{transform:translateY(-1px)}button.secondary{color:#6c3828;box-shadow:none;background:#fffdf7;border:1px solid #6c38282e}.shell{width:min(1120px,100% - 2rem);padding:2rem env(safe-area-inset-right) 4rem env(safe-area-inset-left);margin:0 auto}.landing{place-items:center;min-height:100vh;display:grid}.hero-card,.panel{background:#fffdf7e0;border:1px solid #6c382824;border-radius:32px;box-shadow:0 24px 70px #53301c21}.hero-card{max-width:800px;padding:clamp(2rem,6vw,4.5rem)}.eyebrow{text-transform:uppercase;letter-spacing:.18em;color:#8f4b2e;margin:0 0 .5rem;font-size:.75rem;font-weight:900}h1{letter-spacing:-.07em;max-width:840px;margin:0;font-size:clamp(2.4rem,7vw,5.8rem);line-height:.92}h2{margin:0 0 1rem;font-size:1.35rem}.lede{color:#6c5b4f;max-width:620px;font-size:1.25rem;line-height:1.55}.invite-actions{flex-wrap:wrap;align-items:center;gap:.9rem;margin-top:2rem;display:flex}.invite-actions form{flex-wrap:wrap;gap:.6rem;display:flex}input,textarea,select{color:#2d2119;appearance:none;background:#fffdf7;border:1px solid #6c382833;border-radius:18px;outline:none;width:100%;padding:.9rem 1rem}textarea{resize:vertical;min-height:120px}select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%236c3828' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;padding-right:2.5rem}select.placeholder{color:#7a6659}input:focus,textarea:focus,select:focus{border-color:#cf4f2f;box-shadow:0 0 0 4px #cf4f2f1f}.topbar{justify-content:space-between;align-items:center;gap:1rem;margin:2rem 0;display:flex}.topbar-brand{align-items:center;gap:1.5rem;display:flex}.logo{object-fit:cover;border-radius:40px;width:200px;height:200px;box-shadow:0 20px 60px #53301c2e}.logo-hero{object-fit:cover;border-radius:40px;width:200px;height:200px;margin-bottom:1.5rem;box-shadow:0 20px 60px #53301c2e}.topbar-actions{flex-wrap:wrap;gap:.6rem;display:flex}.event-banner{background:#fffdf7e0;border:1px solid #6c382824;border-radius:22px;margin:0 0 1rem;padding:1rem 1.2rem;box-shadow:0 12px 40px #53301c1a}.event-display{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.event-title{flex-wrap:wrap;align-items:baseline;gap:.75rem;display:flex}.event-title strong{color:#2d2119;letter-spacing:-.03em;font-size:1.35rem;font-weight:900}.event-title span{color:#7a6659;font-weight:800}.event-title em{color:#7a6659;font-style:normal;font-weight:800}.event-edit{flex-wrap:wrap;align-items:center;gap:.6rem;display:flex}.event-edit input{width:auto;min-width:180px;padding:.65rem 1rem;font-size:.95rem}.event-edit input[type=date]{min-width:150px}.event-edit button{padding:.65rem 1.1rem;font-size:.9rem}.invite-strip{background:#fffdf7b8;border:1px dashed #6c38283d;border-radius:20px;grid-template-columns:auto auto 1fr;align-items:center;gap:.8rem;padding:.85rem 1rem;display:grid;overflow:hidden}.invite-strip span,.invite-strip small{color:#7a6659}.invite-strip small{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.grid{grid-template-columns:minmax(280px,410px) 1fr;gap:1.25rem;margin-top:1.25rem;display:grid}.panel{padding:1.3rem}.form{align-self:start;gap:1rem;display:grid}label{color:#4c382d;gap:.45rem;font-weight:800;display:grid}.list-header{justify-content:space-between;align-items:center;gap:1rem;display:flex}.list-controls{align-items:center;gap:.75rem;display:flex}.sort-select{width:auto;min-width:140px;padding:.5rem 2rem .5rem .75rem;font-size:.85rem}.list-header span,.list-controls span{color:#7a6659;font-weight:800}.meal-summary{margin-top:1.25rem}.meal-summary-header{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.meal-summary-header h2{margin:0}.meal-summary-header span{color:#7a6659;white-space:nowrap;font-weight:800}.summary-empty{color:#7a6659;text-align:center;background:#f28f3b1f;border-radius:22px;padding:1.4rem;font-weight:800}.course-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem;display:grid}.course-summary{border-top:4px solid #6c382824;min-width:0;padding-top:.8rem}.course-main-dish{border-color:#cf4f2f73}.course-side-dish{border-color:#5d946673}.course-snack{border-color:#d4a72c73}.course-dessert{border-color:#c850646b}.course-beverage{border-color:#5082a06b}.course-summary-title{justify-content:space-between;align-items:center;gap:.5rem;display:flex}.course-summary-title h3{margin:0;font-size:.95rem}.course-summary-title span{color:#6c3828;background:#6c382814;border-radius:999px;place-items:center;min-width:1.8rem;height:1.8rem;font-weight:900;display:grid}.course-summary ul{gap:.55rem;margin:.8rem 0 0;padding:0;list-style:none;display:grid}.course-summary li{gap:.15rem;min-width:0;display:grid}.course-summary li strong,.course-summary li span{overflow-wrap:anywhere}.course-summary li span,.course-missing{color:#7a6659;font-size:.88rem}.course-missing{margin:.8rem 0 0;font-weight:800}.uncategorized-summary{border-top:1px dashed #6c382838;gap:.25rem;margin-top:1rem;padding-top:1rem;display:grid}.uncategorized-summary span{color:#7a6659;overflow-wrap:anywhere}.empty{color:#7a6659;text-align:center;background:#f28f3b1f;border-radius:22px;padding:2rem}.entries{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.9rem;display:grid}.entry{background:#fff7e8;border:1px solid #6c38281f;border-radius:24px;min-height:150px;padding:1rem;position:relative}.entry-main-dish{background:#fdf0e6;border-color:#cf4f2f2e}.entry-side-dish{background:#f0f5eb;border-color:#5d946638}.entry-snack{background:#fef9e7;border-color:#d4a72c38}.entry-dessert{background:#fdeff2;border-color:#c850642e}.entry-beverage{background:#edf4f8;border-color:#5082a02e}.entry h3{margin:0 2rem .25rem 0;font-size:1.25rem}.entry p{color:#6c5b4f;line-height:1.45}.entry .byline{color:#8f4b2e;margin:0 0 .5rem;font-weight:800}.category-badge{text-transform:uppercase;letter-spacing:.08em;color:#8f4b2e;background:#cf4f2f1f;border-radius:999px;margin-bottom:.5rem;padding:.25rem .6rem;font-size:.7rem;font-weight:800;display:inline-block}.delete{color:#6c3828;width:2rem;height:2rem;box-shadow:none;background:#6c382814;place-items:center;padding:0;display:grid;position:absolute;top:.7rem;right:.7rem}@media (width<=760px){.topbar,.grid{grid-template-columns:1fr;display:grid}.topbar{text-align:center;flex-direction:column;align-items:center;gap:1rem}.topbar-brand{flex-direction:column;align-items:center}.logo{border-radius:28px;width:120px;height:120px}.topbar-actions{justify-content:center;width:100%}.meal-summary-header{align-items:start;display:grid}.meal-summary-header span{white-space:normal}.course-summary-grid,.invite-strip{grid-template-columns:1fr}h1{font-size:clamp(2.4rem,16vw,4.2rem)}.event-display{flex-direction:column;align-items:flex-start}.event-edit{flex-direction:column;align-items:stretch}.event-edit input{width:100%}}.sync-banner,.error-banner{border-radius:18px;margin-top:1rem;padding:.85rem 1rem;font-weight:800}.sync-banner{color:#8f4b2e;background:#cf4f2f1a;border:1px solid #cf4f2f2e}.sync-banner.online{color:#3f6b49;background:#5d946624;border-color:#5d946638}.error-banner{color:#961818;background:#9618181a;border:1px solid #9618182e}
