@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/1e219c03c996efbd-s.0vlx5hthn2t7i.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/b35b0dbffda7f2c4-s.0fu677rwbv-.g.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Fraunces;font-style:normal;font-weight:100 900;font-display:swap;src:url(../media/03bda585a99c6450-s.p.0zzh68k1~whtc.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Fraunces Fallback;src:local(Times New Roman);ascent-override:84.71%;descent-override:22.09%;line-gap-override:0.0%;size-adjust:115.45%}.fraunces_76fb862d-module__DIErJG__className{font-family:Fraunces,Fraunces Fallback;font-style:normal}.fraunces_76fb862d-module__DIErJG__variable{--font-heading:"Fraunces", "Fraunces Fallback"}
@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a342834df7752944-s.10ev4cu2inrn-.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/d3fe2f289711ac3f-s.0i6ci0u~g4zml.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/58c4895d0a0ef7cc-s.0x1a9yg0jkq20.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/bfc7db5c00d21bc5-s.0dyk20wuvya7a.woff2)format("woff2");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/6ab0db14f70d8ed6-s.0ctuso5mgh_i..woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Manrope;font-style:normal;font-weight:200 800;font-display:swap;src:url(../media/a343f882a40d2cc9-s.p.0kho-wj7-y-w1.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Manrope Fallback;src:local(Arial);ascent-override:103.31%;descent-override:29.07%;line-gap-override:0.0%;size-adjust:103.19%}.manrope_ff1d60ca-module__kNnxMW__className{font-family:Manrope,Manrope Fallback;font-style:normal}.manrope_ff1d60ca-module__kNnxMW__variable{--font-body:"Manrope", "Manrope Fallback"}
:root{--font-heading:"Fraunces", serif;--font-body:"Manrope", sans-serif;--ink:#18230f;--ink-soft:#475341;--paper:#f6efe2;--card:#fffaf0d1;--accent:#dd6b2c;--accent-soft:#f0bf94;--line:#18230f1f;--shadow:0 24px 60px #52351624}*{box-sizing:border-box}html,body{min-height:100%;color:var(--ink);font-family:var(--font-body);background:radial-gradient(circle at 0 0,#dd6b2c40,#0000 36%),radial-gradient(circle at 100% 100%,#5c8f7233,#0000 28%),linear-gradient(160deg,#f7e8d1 0%,#f5f1e8 48%,#e7efe2 100%);margin:0}body{padding-top:52px}body:before{content:"";pointer-events:none;opacity:.35;background-image:linear-gradient(#ffffff1f 1px,#0000 1px),linear-gradient(90deg,#ffffff1f 1px,#0000 1px);background-size:32px 32px;position:fixed;inset:0}button,input,select,textarea{font:inherit}.environment-badge{z-index:10;color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#18230fd6;border:1px solid #ffffff2e;border-radius:999px;align-items:center;gap:10px;padding:10px 16px;display:inline-flex;position:fixed;top:14px;left:50%;transform:translate(-50%);box-shadow:0 18px 36px #18230f2e}.environment-badge-label{color:#ffffffb8;letter-spacing:.18em;text-transform:uppercase;font-size:.72rem}.shell{max-width:1120px;margin:0 auto;padding:40px 20px 64px;position:relative}.hero-card,.filters-card,.composer-card,.login-card,.meal-card,.empty-card{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:var(--card);border:1px solid var(--line);box-shadow:var(--shadow)}.hero-card,.login-card,.filters-card,.composer-card{border-radius:28px}.hero-card,.login-card,.composer-card{padding:28px}.composer-card{margin-top:18px}.filters-card{margin-top:18px;padding:20px}.filters-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.filters-toggle{color:var(--ink-soft);cursor:pointer;font:inherit;background:0 0;border:0;padding:0;font-weight:600}.filters-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-top:16px;display:grid}.hero-row{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.hero-row>*,.composer-heading>*,.filters-header>*,.meal-card-header>*,.meta-row>*{min-width:0}.composer-heading,.composer-actions,.participant-list{display:flex}.composer-heading,.composer-actions{justify-content:space-between;align-items:center;gap:16px}.composer-form{gap:18px;margin-top:18px;display:grid}.composer-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.composer-field{color:var(--ink-soft);gap:8px;display:grid}.composer-field-wide{grid-column:1/-1}.composer-field textarea{resize:vertical;background:#ffffffd1;border:1px solid #18230f26;border-radius:14px;min-height:120px;padding:12px 14px}.filter-status{color:var(--ink-soft);font-size:.95rem}.participant-group{border:1px solid #18230f1a;border-radius:18px;margin:0;padding:16px}.participant-group legend{color:var(--ink-soft);padding:0 8px}.participant-list{flex-wrap:wrap;gap:10px}.participant-pill{max-width:100%;color:var(--ink);background:#ffffffb3;border:1px solid #18230f1f;border-radius:999px;align-items:center;gap:10px;padding:10px 14px;display:inline-flex}.advanced-fields{border-top:1px solid #18230f14;padding-top:16px}.advanced-fields summary{cursor:pointer;color:var(--ink-soft);margin-bottom:16px}.eyebrow{color:var(--ink-soft);letter-spacing:.22em;text-transform:uppercase;margin:0 0 10px;font-size:.82rem}h1,h2{font-family:var(--font-heading);letter-spacing:-.03em;margin:0}h1{max-width:11ch;font-size:clamp(2.3rem,5vw,4.4rem);line-height:.95}.lede{max-width:56ch;color:var(--ink-soft);margin:16px 0 0;font-size:1.05rem;line-height:1.6}.ghost-button,.primary-button{cursor:pointer;border:1px solid #0000;border-radius:999px;transition:transform .18s,background-color .18s}.ghost-button{color:var(--ink);background:#ffffff8c;padding:12px 18px}.primary-button{background:var(--ink);color:#fff;padding:14px 18px}.ghost-button:hover,.primary-button:hover{transform:translateY(-1px)}.filter{flex-direction:column;gap:8px;display:flex}.filter label{color:var(--ink-soft);font-size:.9rem}.filter input,.filter select,.composer-field input,.composer-field select,.login-form input{background:#ffffffd1;border:1px solid #18230f26;border-radius:14px;min-height:48px;padding:0 14px}.password-field{position:relative}.login-form .password-field input{width:100%;padding-right:54px}.password-toggle{width:36px;height:36px;color:var(--ink-soft);cursor:pointer;background:0 0;border:0;border-radius:999px;justify-content:center;align-items:center;transition:background-color .18s,color .18s;display:inline-flex;position:absolute;top:50%;right:7px;transform:translateY(-50%)}.password-toggle:hover{color:var(--ink);background:#18230f14}.password-toggle:focus-visible{outline-offset:2px;outline:2px solid #dd6b2cb3}.password-toggle svg{width:18px;height:18px}.filter-summary{color:var(--ink-soft);text-align:right;flex-direction:column;justify-content:space-between;font-size:.95rem;display:flex}.meals-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:18px;margin-top:24px;display:grid}.meal-card,.empty-card{border-radius:24px;padding:22px}.meal-card-header,.meta-row{justify-content:space-between;gap:12px;display:flex}.meal-card-header{align-items:center}.meta-row,.stamp,.description,.notes,.raw-input{color:var(--ink-soft)}.description,.notes,.raw-input{margin-top:12px;line-height:1.6}.item-list{flex-wrap:wrap;gap:8px;margin:18px 0 0;padding:0;list-style:none;display:flex}.item-list li{color:#8a4317;background:#dd6b2c1f;border-radius:999px;padding:8px 12px}.pill{text-transform:capitalize;border-radius:999px;align-items:center;padding:8px 12px;font-size:.85rem;display:inline-flex}.pill-breakfast{background:#f0bf9473}.pill-lunch,.pill-dinner{background:#dd6b2c2e}.pill-snack,.pill-other{background:#5c8f722e}.login-card{max-width:520px;margin:72px auto 0}.login-form{gap:14px;margin-top:24px;display:grid}.login-form label{color:var(--ink-soft);gap:8px;display:grid}.error-text,.error-banner{color:#8e1b13}.error-banner{background:#ce342914;border:1px solid #ce342933;border-radius:16px;margin-top:16px;padding:14px 16px}.success-banner{color:#245c2c;background:#4c91561f;border:1px solid #4c91563d;border-radius:16px;margin-top:16px;padding:14px 16px}@media (max-width:820px){.hero-card,.login-card,.composer-card,.filters-card,.meal-card,.empty-card{padding:18px}.hero-row,.composer-heading,.composer-actions,.meta-row,.meal-card-header{flex-direction:column;align-items:flex-start}.composer-grid{grid-template-columns:1fr}.filters-header{flex-direction:column;align-items:flex-start}.filters-grid{grid-template-columns:1fr}.filter-status{width:100%}.filter-summary{text-align:left}.participant-list{grid-template-columns:1fr;display:grid}.participant-pill{width:100%}.participant-pill span{overflow-wrap:anywhere}.composer-actions>*{width:100%}.meal-card-header,.meta-row{gap:8px}.shell{padding:20px 14px 36px}.environment-badge{max-width:calc(100vw - 20px);padding:9px 14px;top:10px}h1{max-width:100%}}@media (max-width:560px){body{padding-top:68px}.hero-card,.login-card,.composer-card,.filters-card,.meal-card,.empty-card{border-radius:22px;padding:16px}.eyebrow{letter-spacing:.16em}h1{font-size:clamp(2rem,12vw,3rem)}.meals-grid{grid-template-columns:1fr}.environment-badge{gap:8px;padding:8px 12px}}
