:root{--bg:#f2f2f7;--card:#fff;--text:#1c1c1e;--muted:#8e8e93;--hairline:#e5e5ea;--fill:#f2f2f7;--accent:#007aff;--protein:#30b58a;--success:#34c759;--danger:#ff3b30;--sel-bg:#1c1c1e;--sel-fg:#fff;--radius:20px;--radius-sm:14px;--gap:16px;--tap:48px;--shadow:0 1px 3px #0000000f;--sf:-apple-system, "SF Pro Display", "SF Pro Text", system-ui, sans-serif}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}html,body,#root{height:100%}body{background:var(--bg);color:var(--text);font-family:var(--sf);-webkit-font-smoothing:antialiased;margin:0}.screen{max-width:480px;padding:var(--gap);min-height:100%;margin:0 auto;padding-bottom:96px}.h1{letter-spacing:-.5px;margin:4px 0 10px;font-size:28px;font-weight:700}.sub{color:var(--muted);font-size:13px;font-weight:600}.label{color:var(--muted);text-transform:uppercase;letter-spacing:.4px;font-size:13px;font-weight:700}.card{background:var(--card);border-radius:var(--radius);padding:var(--gap);box-shadow:var(--shadow)}.card+.card{margin-top:12px}.btn{min-height:var(--tap);border-radius:var(--radius-sm);background:var(--accent);color:#fff;cursor:pointer;border:0;width:100%;font-family:inherit;font-size:17px;font-weight:600}.btn:active{opacity:.85}.btn.secondary{color:var(--text);background:#e5e5ea}.btn.success{background:var(--success)}.row{gap:12px;display:flex}.muted{color:var(--muted)}label{color:var(--muted);margin:8px 0 4px;font-size:14px;display:block}input,select{min-height:var(--tap);border-radius:var(--radius-sm);border:1px solid var(--hairline);width:100%;color:var(--text);background:#fff;padding:0 14px;font-family:inherit;font-size:17px}input[type=range]{background:0 0;border:0;padding:0}@media (prefers-reduced-motion:no-preference){.screen{animation:.28s cubic-bezier(.22,.61,.36,1) screenIn}@keyframes screenIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}button{transition:transform 80ms,opacity .15s,background-color .18s,color .18s}.btn:active,button:active{transform:scale(.97)}.card{transition:box-shadow .2s,transform .2s}}@keyframes celebFade{0%{opacity:0}to{opacity:1}}@keyframes celebPop{0%{opacity:0;transform:scale(.7)}to{opacity:1;transform:scale(1)}}
