:root,[data-theme=light]{--bg:#f2f2f7;--card:#fff;--card-alt:#f5f5f4;--card-elevated:#fff;--border:#e7e5e4;--border-strong:#d6d3d1;--text:#1c1c1e;--muted:#78716c;--faint:#a8a29e;--accent:#0f766e;--accent-light:#ccfbf1;--protein:#1e3a8a;--carbs:#3b82f6;--fat:#7dd3fc;--water:#0a84ff;--workout:#dc2626;--calories:#ff9500;--success:#34c759;--warning:#ff9500;--danger:#ff3b30;--success-surface:#ecfdf5;--success-line:#a7f3d0;--success-ink:#065f46;--warning-surface:#fffbeb;--warning-line:#fde68a;--warning-ink:#92400e;--danger-surface:#fef2f2;--danger-line:#fecaca;--danger-ink:#b91c1c;--shadow-sm:0 1px 2px rgba(0,0,0,.04);--shadow:0 1px 4px rgba(0,0,0,.04);--shadow-lg:0 4px 12px rgba(0,0,0,.06)}[data-theme=dark]{--bg:#000;--card:#1c1c1e;--card-alt:#2c2c2e;--card-elevated:#1c1c1e;--border:#38383a;--border-strong:#48484a;--text:#f5f5f7;--muted:#98989d;--faint:#636366;--accent:#14b8a6;--accent-light:#134e4a;--protein:#5b9eff;--carbs:#64b5f6;--fat:#b3e5fc;--water:#0a84ff;--workout:#ff453a;--calories:#ff9f0a;--success-surface:#06251c;--success-line:#12503f;--success-ink:#6ee7b7;--warning-surface:#2a1c05;--warning-line:#6b4708;--warning-ink:#fcd34d;--danger-surface:#2d0b0b;--danger-line:#7f1d1d;--danger-ink:#fca5a5;--success:#30d158;--warning:#ff9f0a;--danger:#ff453a;--shadow-sm:0 1px 2px rgba(0,0,0,.3);--shadow:0 1px 4px rgba(0,0,0,.3);--shadow-lg:0 4px 12px rgba(0,0,0,.4)}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent}body,html{background:var(--bg);color:var(--text);font-family:-apple-system,SF Pro Display,Segoe UI,system-ui,sans-serif;-webkit-font-smoothing:antialiased;transition:background .2s ease,color .2s ease;overflow-x:hidden;max-width:100vw}button{font-family:inherit;cursor:pointer;border:none;background:none;color:inherit}input,select,textarea{font-family:inherit;color:var(--text);background:var(--card)}input:focus,select:focus,textarea:focus{outline:none}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}[data-theme=dark] input[type=time]::-webkit-calendar-picker-indicator{filter:invert(1)}