:root{--content-max: 430px;--design-floor: 360px;--tap-min: 48px;--row-min: 56px;--tab-bar-height: 56px;--input-font: 16px;--ink: #111;--paper: #f4f1ea;--accent: #1f4e3d;color:var(--ink);background:var(--paper);font-family:system-ui,sans-serif;font-size:var(--input-font)}html,body{margin:0;min-height:100%}body,input,textarea,select,button{font-size:var(--input-font)}.app-shell{box-sizing:border-box;margin:0 auto;width:100%;max-width:var(--content-max);min-height:100dvh;display:flex;flex-direction:column}.top-bar{box-sizing:border-box;display:flex;align-items:center;justify-content:space-between;gap:.75rem;min-height:var(--tap-min);padding:env(safe-area-inset-top) 1rem .25rem;position:sticky;top:0;background:var(--paper);z-index:2}.top-bar h1{font-size:1.15rem;margin:0;font-weight:650}.gear{min-height:var(--tap-min);min-width:var(--tap-min);display:inline-flex;align-items:center;justify-content:center;color:var(--ink);text-decoration:none;font-size:.85rem}.back{min-height:var(--tap-min);min-width:var(--tap-min);display:inline-flex;align-items:center;justify-content:center;color:var(--ink);text-decoration:none;font-size:1.75rem;line-height:1;margin-left:-.35rem}main{box-sizing:border-box;flex:1;padding:.75rem 1.25rem 1.25rem}.app-shell.with-tabs main{padding-bottom:calc(var(--tab-bar-height) + env(safe-area-inset-bottom) + 1rem)}.tab-bar{box-sizing:border-box;position:fixed;left:50%;bottom:0;transform:translate(-50%);width:100%;max-width:var(--content-max);display:grid;grid-template-columns:repeat(4,1fr);min-height:var(--tab-bar-height);padding-bottom:env(safe-area-inset-bottom);background:#fff;border-top:1px solid #ddd;z-index:3}.tab-bar a{box-sizing:border-box;min-height:var(--tap-min);min-width:var(--tap-min);display:flex;align-items:center;justify-content:center;text-decoration:none;color:#444;font-size:.85rem}.tab-bar a.active{color:var(--ink);font-weight:650}.tab-bar a.emphasized{color:#fff;background:var(--accent);border-radius:999px;margin:4px 8px;font-weight:700}p{margin:0;line-height:1.4}.auth-form{display:flex;flex-direction:column;gap:.85rem}.auth-form label,.auth-form input,.auth-form button,a.google,button.secondary,button.text{font-size:var(--input-font)}.auth-form label{display:flex;flex-direction:column;gap:.35rem}.auth-form input,.auth-form select{box-sizing:border-box;width:100%;min-height:var(--tap-min);padding:.65rem .75rem;border:1px solid #ccc;border-radius:8px;background:#fff}.auth-form button,a.google,button.secondary{box-sizing:border-box;min-height:var(--tap-min);width:100%;border:0;border-radius:8px;background:var(--accent);color:#fff;font-weight:650}a.google{display:flex;align-items:center;justify-content:center;margin-top:1rem;text-decoration:none;background:#fff;color:var(--ink);border:1px solid #ccc}button.secondary{margin-top:1rem;background:#fff;color:var(--ink);border:1px solid #ccc}button.text{min-height:var(--tap-min);border:0;background:none;color:var(--accent);padding:0 .25rem}.switch{margin-top:.75rem}.field-error{color:#8a1f1f;font-size:.9rem}.banner{margin-bottom:.85rem;color:#8a1f1f}.hero{display:flex;flex-direction:column;gap:.35rem;margin-bottom:1rem}.hero .peptide{font-weight:650}.hero .mg{font-size:2.4rem;font-weight:750;line-height:1.1;letter-spacing:-.03em}.hero.warning .mg{color:#8a5a10}.hero.danger .mg{color:#8a1f1f}.hero .meta,.muted{color:#555;font-size:.95rem}.tone{font-size:.95rem}.tone.warning{color:#8a5a10}.tone.danger{color:#8a1f1f}.chip{display:inline-flex;align-items:center;min-height:var(--tap-min);padding:0 .9rem;border:1px solid #ccc;border-radius:999px;background:#fff;color:var(--ink);text-decoration:none;font-size:.95rem;margin:.5rem 0 1rem}button.chip{font:inherit;cursor:pointer}.row-list{display:flex;flex-direction:column}.row{box-sizing:border-box;min-height:var(--row-min);display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.35rem 0;border-bottom:1px solid #e4e0d8;color:var(--ink);text-decoration:none}.row .primary{font-weight:650}.row .secondary{color:#666;font-size:.85rem}.cards{display:flex;flex-direction:column;gap:.75rem}.card{box-sizing:border-box;background:#fff;border:1px solid #ddd;border-radius:12px;padding:.9rem 1rem;min-height:var(--row-min);color:var(--ink);text-decoration:none;display:block}a.card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.danger{min-height:var(--tap-min);width:100%;margin-top:1.5rem;border:1px solid #8a1f1f;border-radius:8px;background:#fff;color:#8a1f1f;font-weight:650}.danger:disabled{opacity:.55}.badge{display:inline-block;margin-left:.4rem;padding:.1rem .45rem;border-radius:999px;background:var(--accent);color:#fff;font-size:.75rem;font-weight:650;vertical-align:middle}.stepper{display:grid;grid-template-columns:var(--tap-min) 1fr var(--tap-min);gap:.5rem;align-items:center}.stepper button{min-height:var(--tap-min);min-width:var(--tap-min);border:1px solid #ccc;border-radius:8px;background:#fff;font-size:1.4rem}.preview{margin:.75rem 0;font-weight:650}.below-fold{margin-top:1.5rem}.day-heading{margin:1rem 0 .25rem;font-size:.85rem;font-weight:650;color:#555}.sticky-cta{position:fixed;left:50%;transform:translate(-50%);width:100%;max-width:var(--content-max);box-sizing:border-box;bottom:calc(var(--tab-bar-height) + env(safe-area-inset-bottom));padding:.5rem 1.25rem;background:var(--paper);z-index:2}.sticky-cta a,.sticky-cta button{box-sizing:border-box;min-height:var(--tap-min);width:100%;border:0;border-radius:8px;background:var(--accent);color:#fff;font-weight:650;display:flex;align-items:center;justify-content:center;text-decoration:none}.sticky-cta button:disabled{opacity:.55}.stock-actions{display:grid;grid-template-columns:4.5rem 1fr 1fr;gap:.5rem;margin-top:.75rem;align-items:stretch}.stock-actions input{box-sizing:border-box;min-height:var(--tap-min);width:100%;padding:.5rem;border:1px solid #ccc;border-radius:8px;background:#fff}button.secondary.stock{margin-top:0;width:100%}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:5;display:flex;align-items:flex-end;justify-content:center}.modal-backdrop-hit{position:absolute;top:0;right:0;bottom:0;left:0;border:0;padding:0;background:#0006}.modal-sheet{position:relative;z-index:1;box-sizing:border-box;width:100%;max-width:var(--content-max);padding:1rem 1.25rem calc(1rem + env(safe-area-inset-bottom));background:var(--paper);border-radius:16px 16px 0 0;display:flex;flex-direction:column;gap:.5rem}.modal-sheet .day-heading{margin:0 0 .25rem}.chooser-option{box-sizing:border-box;min-height:var(--tap-min);width:100%;display:flex;align-items:center;justify-content:center;border:1px solid #ccc;border-radius:8px;background:#fff;color:var(--ink);text-decoration:none;font-weight:650}.modal-sheet button.secondary{margin-top:.25rem}.modal-sheet.calculator{max-height:min(90dvh,760px);overflow-y:auto}.calc-row{display:grid;grid-template-columns:1fr 1fr;gap:.75rem}.result-card{margin:.25rem 0 .5rem;padding:1rem;border:1px solid #c5d4cc;border-radius:12px;background:#fff;text-align:center}.result-title{font-size:.8rem;font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:#555}.result-value{font-size:1.8rem;font-weight:700;color:var(--accent)}.result-unit{font-size:1rem;font-weight:650;color:#555}.app-shell.with-tabs main.has-sticky{padding-bottom:calc(var(--tab-bar-height) + env(safe-area-inset-bottom) + 4.5rem)}.toast{box-sizing:border-box;min-height:var(--tap-min);display:flex;align-items:center;margin:0 0 1rem;padding:.75rem 1rem;border-radius:8px;background:#111;color:#fff}.empty-state{display:flex;flex-direction:column;gap:.5rem}.default-mark{color:var(--accent);font-size:.85rem;font-weight:650}
