@import url("https://fonts.googleapis.com/css2?family=Raleway:wght@700;800&family=Lato:wght@400;700&display=swap");
:root{
  --bg:#F4F4F5; --surface:#FFFFFF; --surface-2:#EDEDEE; --line:#D9D9DC;
  --ink:#2C2E30; --ink-2:#555555; --ink-3:#8A8E92;
  --accent:#DA251C; --accent-ink:#FFFFFF; --accent-soft:#FBE9E8;
  --ok:#1F8A4C; --ok-bg:#DFF3E6; --warn:#B8690E; --warn-bg:#FBEBD3; --crit:#DA251C; --crit-bg:#FBE9E8;
  --head:#2C2E30; --head-ink:#FFFFFF;
  --display:"Raleway","Helvetica Neue",Arial,sans-serif;
  --body:"Lato","Helvetica Neue",Arial,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root{
    --bg:#1A1B1D; --surface:#242628; --surface-2:#2F3134; --line:#3C3F43;
    --ink:#F1F1F2; --ink-2:#C4C6C9; --ink-3:#8A8E92;
    --accent:#F0392F; --accent-soft:#4A1F1C;
    --ok:#5BD08A; --ok-bg:#173D27; --warn:#F2B04B; --warn-bg:#3D2C10; --crit:#FF6B62; --crit-bg:#4A1F1C;
    --head:#121314;
  }
}
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--body);font-size:16px;line-height:1.45}
button{font:inherit;color:inherit;background:none;border:0;cursor:pointer}
button:focus-visible,input:focus-visible,textarea:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
input:not([type=checkbox]),textarea{font:inherit;color:var(--ink);background:var(--surface);border:1px solid var(--line);border-radius:6px;padding:10px 12px;width:100%}
textarea{min-height:64px;resize:vertical}
.hidden{display:none}
.wrap{max-width:720px;margin:0 auto;padding:0 16px 60px}
.wrap.wide{max-width:1040px}
.top{background:var(--head);color:var(--head-ink);margin:0 -16px 16px;padding:14px 16px;border-bottom:4px solid var(--accent)}
.top .brand{display:flex;gap:12px;align-items:center}
.top .logo{flex:0 0 auto;width:64px;height:44px;background:#fff;border-radius:6px;display:grid;place-items:center;padding:3px}
.top .logo img{width:100%;height:100%;object-fit:contain;display:block}
.top .kicker{font-family:var(--display);font-weight:700;letter-spacing:.1em;text-transform:uppercase;font-size:11px;opacity:.7}
.top h1{font-family:var(--display);font-weight:800;font-size:20px;line-height:1.1;margin:2px 0 0;text-transform:uppercase}
h2{font-family:var(--display);font-weight:800;font-size:18px;text-transform:uppercase;margin:24px 0 8px}
p{margin:0 0 10px;max-width:70ch}
.muted{color:var(--ink-3);font-size:14px;font-weight:400}
.card{background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:14px;margin-bottom:12px}
.intro p:last-child{margin:0}
.f{display:block;font-weight:700;font-size:14px;margin:14px 0 6px}
.card > .f:first-child,.card > label.f:first-child{margin-top:0}
.chips{display:flex;flex-wrap:wrap;gap:6px}
.chip{border:1px solid var(--line);border-radius:999px;padding:7px 12px;font-size:14px;font-weight:700;color:var(--ink-2);background:var(--surface)}
.chip.on{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.day .dn{font-family:var(--display);font-weight:800;text-transform:uppercase;font-size:15px}
.menu{margin:8px 0 10px;padding:0;list-style:none;font-size:14px;color:var(--ink-2)}
.menu li{padding:2px 0 2px 14px;position:relative}
.menu li::before{content:"";position:absolute;left:2px;top:.7em;width:5px;height:5px;border-radius:50%;background:var(--accent)}
.note{font-size:13px;color:var(--ok);font-weight:700;margin:-4px 0 10px}
.seg{display:inline-flex;border:1px solid var(--line);border-radius:999px;overflow:hidden;background:var(--surface)}
.seg.wide{display:flex}
.seg.wide button{flex:1}
.seg button{padding:10px 14px;font-size:14px;font-weight:700;color:var(--ink-2)}
.seg button+button{border-left:1px solid var(--line)}
.seg button.on-oui{background:var(--ok-bg);color:var(--ok)}
.seg button.on-non{background:var(--crit-bg);color:var(--crit)}
.sub .f{margin-top:12px}
.checks{display:flex;flex-wrap:wrap;gap:4px 18px}
.check{display:inline-flex;align-items:center;gap:8px;padding:6px 0;font-size:15px;cursor:pointer;margin-right:18px}
.check input{width:20px;height:20px;accent-color:var(--accent)}
#diet_other{margin-top:4px}
.actions{display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin-top:6px}
.btn{background:var(--accent);color:var(--accent-ink);font-family:var(--display);font-weight:800;text-transform:uppercase;letter-spacing:.04em;padding:13px 20px;border-radius:8px;font-size:14px;text-decoration:none;display:inline-block}
.btn:disabled{opacity:.6}
.btn.ghost{background:transparent;color:var(--ink-2);border:1px solid var(--line)}
.msg{font-size:14px;font-weight:700;color:var(--ok)}
.msg.err{color:var(--crit)}
.foot{margin-top:28px;font-size:13px;color:var(--ink-3)}
