:root{--bg: #F4F4F5;--surface: #FFFFFF;--surface2: #F0F0F2;--fg: #111111;--fg-dim: #666666;--muted: #A0A0A0;--border: rgba(0, 0, 0, .07);--border-strong: rgba(0, 0, 0, .14);--accent: #0EA5E9;--accent-dim: rgba(14, 165, 233, .1);--danger: #ef4444;--shadow: 0 2px 16px rgba(0, 0, 0, .08);--font-body: "Inter", -apple-system, system-ui, sans-serif;--font-mono: "JetBrains Mono", "Fira Code", monospace;--font-display: var(--font-body);--warm-gray: var(--fg-dim);--charcoal: var(--fg);--cream: var(--bg);--white: var(--surface)}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}html{font-size:15px;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg);color:var(--fg);font-family:var(--font-body);font-weight:400;line-height:1.55;min-height:100dvh;overscroll-behavior:none}#root{min-height:100dvh}input,button,textarea,select{font-family:var(--font-body);font-weight:400}button{cursor:pointer;border:none;background:none;color:inherit}ul{list-style:none}.page{min-height:100dvh;padding-bottom:80px;animation:fadeUp .18s ease both}@keyframes fadeUp{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}.bottom-nav{position:fixed;bottom:0;left:0;right:0;z-index:100;height:60px;padding-bottom:env(safe-area-inset-bottom,0);background:#f4f4f5eb;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border);display:flex;align-items:center;justify-content:space-around}.nav-item{display:flex;flex-direction:column;align-items:center;gap:3px;padding:8px 12px;min-width:52px;min-height:52px;justify-content:center;color:var(--muted);font-size:9px;font-weight:400;letter-spacing:.06em;text-transform:uppercase;text-decoration:none;transition:color .15s ease;cursor:pointer}.nav-item:hover{color:var(--fg-dim)}.nav-item.active{color:var(--accent)}.nav-dot{width:3px;height:3px;border-radius:50%;background:transparent;transition:background .15s ease}.nav-item.active .nav-dot{background:var(--accent)}.display{font-family:var(--font-body);font-weight:600;line-height:1.1;letter-spacing:-.02em}.label{font-size:10px;font-weight:400;letter-spacing:.08em;text-transform:uppercase;color:var(--muted)}.weight-number{font-family:var(--font-mono);font-size:clamp(80px,20vw,130px);font-weight:300;letter-spacing:-.03em;line-height:1;color:var(--fg);font-variant-numeric:tabular-nums}.weight-number.empty{color:var(--muted)}.weight-number.negative{color:var(--fg-dim)}.weight-unit{font-family:var(--font-mono);font-size:clamp(22px,5vw,32px);font-weight:300;color:var(--muted);align-self:flex-end;padding-bottom:.1em}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.dot-connected{animation:pulse-dot 2s ease-in-out infinite}.field{width:100%;background:transparent;border:none;border-bottom:1px solid var(--border-strong);padding:12px 0;font-size:15px;font-family:var(--font-body);font-weight:400;color:var(--fg);outline:none;transition:border-color .2s ease;-moz-appearance:none;appearance:none;-webkit-appearance:none}.field:focus{border-bottom-color:var(--accent)}.field::placeholder{color:var(--muted)}.field[type=date]::-webkit-calendar-picker-indicator{opacity:.4}.btn{display:flex;align-items:center;justify-content:center;width:100%;min-height:48px;padding:0 20px;font-family:var(--font-body);font-size:11px;font-weight:500;letter-spacing:.08em;text-transform:uppercase;border:none;cursor:pointer;transition:opacity .15s ease,background .15s ease;-webkit-user-select:none;user-select:none}.btn-primary{background:var(--accent);color:#000}.btn-primary:hover{opacity:.88}.btn-primary:active{opacity:.72}.btn-primary:disabled{opacity:.25;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--fg);border:1px solid var(--border-strong)}.btn-ghost:hover{border-color:var(--accent);color:var(--accent)}.btn-ghost:active{opacity:.7}.btn-ghost:disabled{opacity:.3;cursor:not-allowed}.btn-text{background:transparent;color:var(--fg-dim);font-size:11px;letter-spacing:.06em;width:auto;min-height:44px}.btn-text:hover{color:var(--fg)}.card{background:var(--surface);border:1px solid var(--border)}.list-row{display:flex;align-items:center;justify-content:space-between;padding:14px 0;border-bottom:1px solid var(--border);min-height:52px;cursor:pointer;-webkit-user-select:none;user-select:none;transition:opacity .12s ease}.list-row:active{opacity:.55}.list-row:last-child{border-bottom:none}.nutri-grid{display:grid;grid-template-columns:repeat(4,1fr);border-top:1px solid var(--border)}.nutri-cell{padding:14px 8px;text-align:center;border-right:1px solid var(--border)}.nutri-cell:last-child{border-right:none}.nutri-value{font-family:var(--font-mono);font-size:22px;font-weight:400;color:var(--fg);line-height:1;font-variant-numeric:tabular-nums}.nutri-label{font-size:9px;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin-top:5px}.overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:#0009;display:flex;flex-direction:column;justify-content:flex-end;animation:overlayIn .18s ease both}@keyframes overlayIn{0%{opacity:0}to{opacity:1}}.sheet{background:var(--surface);border-top:1px solid var(--border-strong);box-shadow:0 -4px 32px #00000014;padding:24px 24px max(env(safe-area-inset-bottom,20px),20px);animation:sheetUp .24s cubic-bezier(.22,1,.36,1) both}@keyframes sheetUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.page-header{padding:52px 24px 20px}.page-section{padding:0 24px}.error-msg{font-size:12px;color:var(--danger);letter-spacing:.02em}
