.lock-screen{min-height:100dvh;display:flex;flex-direction:column;justify-content:center;padding:32px 24px calc(32px + env(safe-area-inset-bottom));padding-top:calc(32px + env(safe-area-inset-top));gap:28px;max-width:420px;margin:0 auto}.lock-head{display:flex;flex-direction:column;gap:6px}.lock-brand{font-size:12px;letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--accent-orange);font-weight:600}.lock-form{display:flex;flex-direction:column;gap:16px}.lock-error{color:var(--accent-orange);font-size:14px;letter-spacing:.02em}.lock-forgot{align-self:center;font-size:13px;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);padding:12px 18px}.lock-reset{display:flex;flex-direction:column;gap:14px;background:var(--card);border-radius:var(--radius);padding:16px}.lock-reset-text{margin:0;font-size:13px;line-height:1.45;color:var(--ink-muted)}.lock-reset-actions{display:flex;gap:8px}.lock-reset-confirm{color:var(--accent-orange);border-color:var(--accent-orange)}.dashboard{display:flex;flex-direction:column;gap:14px;padding:8px 6px 18px}.dashboard-head{display:flex;align-items:baseline;justify-content:space-between;gap:8px}.dashboard-date{font-size:13px;color:var(--ink-muted)}.dashboard-number{font-size:clamp(64px,18vw,110px);line-height:.95;letter-spacing:-.02em;font-weight:400;color:var(--ink);display:flex;align-items:baseline;gap:10px}.dashboard-unit{font-size:18px;color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase}.dashboard-delta{font-size:clamp(28px,7vw,38px);font-weight:400;letter-spacing:-.01em;display:flex;align-items:baseline;gap:10px}.dashboard-delta-note{font-size:12px;letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--ink-muted)}.dashboard-macros{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.dashboard-macros>div{display:flex;flex-direction:column;gap:4px}.dashboard-macros strong{font-size:22px;font-weight:400;color:var(--ink)}.tile{background:var(--card);border-radius:var(--radius);padding:22px 18px;text-align:left;display:flex;align-items:flex-end;min-height:110px;transition:transform .08s ease}.tile:active{transform:scale(.985)}.tile-title{font-size:22px;font-weight:500;letter-spacing:-.01em;color:var(--ink)}.home{gap:8px}.home-head{display:flex;justify-content:flex-start;padding:4px 4px 0}.home-brand{font-size:12px;letter-spacing:var(--label-tracking);text-transform:uppercase;color:var(--accent-orange);font-weight:600}.home-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}.back-btn{width:44px;height:44px;border-radius:12px;background:#1f1f1f;color:#fff;display:inline-flex;align-items:center;justify-content:center}.screen-head{display:flex;align-items:center;gap:14px}.meal-empty{display:flex;flex-direction:column;gap:14px}.meal-empty-text{margin:0;color:var(--ink-muted);font-size:15px;line-height:1.4}.meal-manual{align-self:flex-start}.meal-thumb-wrap{border-radius:var(--radius);overflow:hidden;background:var(--card);aspect-ratio:4 / 3;display:flex;align-items:center;justify-content:center}.meal-thumb{width:100%;height:100%;object-fit:cover}.meal-status{text-align:center;padding:8px 0;color:var(--ink-muted)}.meal-error{background:var(--card);border-radius:var(--radius);padding:12px 14px;color:var(--accent-orange);font-size:14px}.meal-form{display:flex;flex-direction:column;gap:14px}.meal-macros{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.meal-chips{display:grid;grid-template-columns:1fr 1fr;gap:10px}.meal-manage-toggle{align-self:center;font-size:13px;color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase;padding:8px 16px}.shake-totals{display:flex;flex-direction:column;gap:6px;padding:8px 4px 0}.shake-cals{font-size:clamp(48px,14vw,72px);font-weight:400;line-height:.95;letter-spacing:-.02em;display:flex;align-items:baseline;gap:8px}.shake-macros{display:flex;gap:18px;font-size:13px;color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase}.shake-macros strong{color:var(--ink);font-weight:500}.shake-chips{display:grid;grid-template-columns:1fr 1fr;gap:10px}.chip{position:relative;background:var(--card);border:1px solid transparent;border-radius:var(--radius);padding:14px 14px 12px;text-align:left;display:flex;flex-direction:column;gap:4px;min-height:72px}.chip-active{border-color:var(--ink)}.chip-name{font-size:15px;font-weight:500;color:var(--ink)}.chip-meta{font-size:12px;color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase}.chip-badge{position:absolute;top:8px;right:8px;background:var(--ink);color:var(--card);border-radius:999px;padding:3px 9px;font-size:12px;font-weight:500;letter-spacing:.02em}.shake-manage-toggle{align-self:center;font-size:13px;color:var(--ink-muted);letter-spacing:.04em;text-transform:uppercase;padding:8px 16px}.manage{display:flex;flex-direction:column;gap:12px}.manage-row{display:flex;gap:8px}.manage-row input{flex:1;background:var(--bg);border:1px solid var(--rule);border-radius:10px;padding:10px 12px;font-size:15px;outline:none;min-width:0}.manage-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.manage-list li{display:flex;align-items:center;gap:8px;padding:8px 0;border-bottom:1px solid var(--rule)}.manage-list li:last-child{border-bottom:none}.manage-edit{flex:1;text-align:left;font-size:14px;color:var(--ink)}.manage-remove{width:28px;height:28px;border-radius:999px;color:var(--ink-muted);font-size:18px;line-height:1}.settings-card{display:flex;flex-direction:column;gap:12px}.settings-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.settings-grid.three{grid-template-columns:1fr 1fr 1fr}.span-2{grid-column:span 2}.settings-readout{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.settings-readout>div{display:flex;flex-direction:column;gap:4px}.settings-readout strong{font-size:22px;font-weight:400;color:var(--ink)}.settings-note{margin:0;font-size:13px;color:var(--ink-muted);line-height:1.4}.settings-key-actions{display:flex;gap:8px}.settings-msg{font-size:13px;letter-spacing:.02em}.stat-card{display:flex;flex-direction:column;gap:10px}.stat-chart{width:100%}.stat-empty{margin:0;color:var(--ink-muted);font-size:14px;padding:24px 0;text-align:center}.stat-weight-input{display:flex;gap:8px}.stat-weight-input input{flex:1;background:var(--bg);border:1px solid var(--rule);border-radius:10px;padding:10px 12px;font-size:16px;outline:none}.stat-totals{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.stat-totals>div{display:flex;flex-direction:column;gap:4px}.stat-totals strong{font-size:22px;font-weight:400;color:var(--ink)}:root{--bg: #ECE6D9;--card: #F6F1E6;--ink: #111111;--ink-muted: #6B6258;--accent-orange: #D97A2C;--accent-green: #7DB85F;--rule: #D9D2C2;--font: "Inter", "Helvetica Neue", system-ui, -apple-system, sans-serif;--radius: 14px;--label-tracking: .08em}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--bg);color:var(--ink);font-family:var(--font);font-feature-settings:"tnum" 1;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}button{font-family:inherit;border:none;cursor:pointer;background:none;color:inherit;padding:0}input,select,textarea{font-family:inherit;color:inherit}a{color:inherit}.label{text-transform:uppercase;letter-spacing:var(--label-tracking);font-size:12px;color:var(--ink-muted);font-weight:500}.rule{height:1px;background:var(--rule);border:0;margin:0}.screen{min-height:100dvh;padding:16px 16px calc(16px + env(safe-area-inset-bottom));padding-top:calc(16px + env(safe-area-inset-top));display:flex;flex-direction:column;gap:16px}.card{background:var(--card);border-radius:var(--radius);padding:18px}.field{display:flex;flex-direction:column;gap:6px}.field input,.field select{background:var(--bg);border:1px solid var(--rule);border-radius:10px;padding:10px 12px;font-size:16px;outline:none}.field input:focus,.field select:focus{border-color:var(--ink-muted)}.btn-primary{background:var(--ink);color:var(--card);border-radius:999px;padding:14px 22px;font-size:15px;letter-spacing:.04em;text-transform:uppercase;font-weight:500;width:100%}.btn-primary:disabled{opacity:.5}.btn-ghost{border-radius:999px;padding:12px 18px;border:1px solid var(--rule);font-size:14px;letter-spacing:.04em;text-transform:uppercase;background:var(--card)}
