*,*:before,*:after{box-sizing:border-box}*{margin:0}html{interpolate-size:allow-keywords}body{line-height:1.5;-webkit-font-smoothing:antialiased}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p{overflow-wrap:break-word;text-wrap:pretty}h1,h2,h3,h4,h5,h6{overflow-wrap:break-word;text-wrap:balance}#root,#app{isolation:isolate}:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;color-scheme:light dark;--color-red: #f2352a;--color-blue: #2e6ff2;--color-yellow: #ffc72c;--color-green: #2e9e4f;--color-ink: #171717;--color-cream: #fbf7ed;--color-white: #ffffff;--font-heading: ui-rounded, "SF Pro Rounded", system-ui, -apple-system, sans-serif;--border-thick: 3px;--radius-lg: 22px;--radius-md: 16px;--bounce: cubic-bezier(.34, 1.56, .64, 1);--bg: var(--color-cream);--ink: var(--color-ink);--surface: var(--color-white)}@media(prefers-color-scheme:dark){:root{--bg: #14161b;--ink: var(--color-cream);--surface: #1e2128}}body{min-height:100dvh;background-color:var(--bg);color:var(--ink)}.page{max-width:80ch;margin-inline:auto;padding:2rem;font-family:var(--font-heading)}@keyframes pop-in{0%{opacity:0;transform:scale(.85)}to{opacity:1;transform:scale(1)}}.home{max-width:640px;margin-inline:auto;padding:1.5rem 1.25rem 4rem;display:flex;flex-direction:column;gap:2rem}.home__header{text-align:center;padding-block:.5rem}.home__title{font-family:var(--font-heading);font-weight:800;font-size:clamp(2.25rem,8vw,3rem);letter-spacing:-.02em;color:var(--color-red)}.home__tagline{font-family:var(--font-heading);font-weight:600;font-size:1.05rem;color:var(--ink);opacity:.75}.btn{font-family:var(--font-heading);font-weight:800;font-size:1rem;border:var(--border-thick) solid var(--ink);border-radius:999px;padding:.85rem 1.4rem;background:var(--surface);color:var(--ink);cursor:pointer;transition:transform .15s var(--bounce),box-shadow .15s var(--bounce)}.btn:hover{transform:translateY(-2px) scale(1.03)}.btn:active{transform:scale(.96)}.btn--primary{background:var(--color-yellow)}.btn--success{background:var(--color-green);color:var(--color-white)}.btn--ghost{background:transparent}.btn--small{padding:.4rem .9rem;font-size:.85rem}.suggestion{display:flex;flex-direction:column;align-items:center;gap:1.25rem}.suggestion__card{--card-color: var(--color-red);width:100%;background:var(--card-color);border:var(--border-thick) solid var(--ink);border-radius:var(--radius-lg);padding:2.25rem 1.5rem;display:flex;flex-direction:column;align-items:center;gap:.5rem;text-align:center;animation:pop-in .32s var(--bounce)}.suggestion__emoji{font-size:4rem;line-height:1}.suggestion__badge{font-family:var(--font-heading);font-weight:700;text-transform:uppercase;letter-spacing:.08em;font-size:.8rem;color:var(--color-white);background:#0003;padding:.2rem .7rem;border-radius:999px}.suggestion__name{font-family:var(--font-heading);font-weight:800;font-size:1.75rem;color:var(--color-white)}.suggestion__actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:center;width:100%}.suggestion__actions .btn{flex:1 1 auto}.suggestion__toggle{font-family:var(--font-heading);font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:.5rem;cursor:pointer}.suggestion__toggle input{width:1.2rem;height:1.2rem;accent-color:var(--color-blue)}.week-summary{border:var(--border-thick) solid var(--ink);border-radius:var(--radius-lg);background:var(--surface);padding:1.25rem;display:flex;flex-direction:column;gap:.9rem}.week-summary__heading{font-family:var(--font-heading);font-weight:800;font-size:1.2rem}.week-summary__empty{opacity:.7}.week-summary__chips{list-style:none;display:flex;flex-wrap:wrap;gap:.5rem}.chip{border:var(--border-thick) solid var(--ink);border-radius:999px;padding:.35rem .8rem;font-family:var(--font-heading);font-weight:700;font-size:.85rem}.week-summary__bars{list-style:none;display:flex;flex-direction:column;gap:.4rem}.balance-bar{display:grid;grid-template-columns:4.5rem 1fr 1.5rem;align-items:center;gap:.6rem;font-family:var(--font-heading);font-weight:600;font-size:.85rem}.balance-bar__track{height:.65rem;border-radius:999px;background:#7f7f7f33;overflow:hidden}.balance-bar__fill{display:block;height:100%;border-radius:999px;transition:width .25s var(--bounce)}.balance-bar__count{text-align:right}.recipe-list__heading{font-family:var(--font-heading);font-weight:800;font-size:1.2rem;margin-bottom:.9rem}.recipe-list__grid{list-style:none;display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:.9rem}.recipe-card{border:var(--border-thick) solid var(--ink);border-radius:var(--radius-md);background:var(--surface);padding:1rem;display:flex;flex-direction:column;align-items:center;gap:.3rem;text-align:center;transition:transform .15s var(--bounce)}.recipe-card:hover{transform:translateY(-3px) scale(1.02)}.recipe-card__emoji{font-size:2rem}.recipe-card__badge{font-family:var(--font-heading);font-weight:700;text-transform:uppercase;letter-spacing:.06em;font-size:.7rem}.recipe-card__name{font-family:var(--font-heading);font-weight:700;font-size:.95rem}.recipe-edit{display:flex;flex-direction:column;gap:.6rem;width:100%;text-align:left}.recipe-edit__field{display:flex;flex-direction:column;gap:.25rem;font-family:var(--font-heading);font-weight:600;font-size:.8rem}.recipe-edit__field input,.recipe-edit__field select{border:2px solid var(--ink);border-radius:.6rem;padding:.4rem .5rem;font-family:var(--font-heading);font-size:.9rem;background:var(--surface);color:var(--ink)}.recipe-edit__actions{display:flex;gap:.5rem}
