:root{--bg-primary: #000000;--bg-secondary: #1C1C1E;--bg-tertiary: #2C2C2E;--bg-elevated: #3A3A3C;--text-primary: #FFFFFF;--text-secondary: #8E8E93;--text-tertiary: #636366;--accent-protein: #007AFF;--accent-carbs: #FF9500;--accent-fat: #FFCC00;--accent-calorie: #34C759;--accent-danger: #FF3B30;--border-subtle: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--font-apple: "Inter", -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", sans-serif;--radius-sm: 10px;--radius-md: 16px;--radius-lg: 24px;--radius-full: 9999px}*{box-sizing:border-box;margin:0;padding:0;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;user-select:none}html,body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-apple);font-size:16px;line-height:1.4;height:100%;width:100%;overflow-x:hidden;-webkit-font-smoothing:antialiased}#root{min-height:100vh;display:flex;flex-direction:column;padding-bottom:env(safe-area-inset-bottom,20px)}.app-container{max-width:480px;width:100%;margin:0 auto;min-height:100vh;display:flex;flex-direction:column;background-color:var(--bg-primary);position:relative}.app-header{display:flex;justify-content:space-between;align-items:center;padding:calc(12px + env(safe-area-inset-top,0px)) 20px 12px 20px;border-bottom:1px solid var(--border-subtle);background-color:#000000d9;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);position:sticky;top:0;z-index:50}.brand-title{font-size:19px;font-weight:700;letter-spacing:-.4px;display:flex;align-items:center;gap:8px}.brand-badge{font-size:11px;font-weight:600;padding:2px 7px;border-radius:12px;background-color:var(--bg-tertiary);color:var(--text-secondary);letter-spacing:.2px;text-transform:uppercase}.icon-btn{background:var(--bg-secondary);border:1px solid var(--border-subtle);color:var(--text-primary);width:38px;height:38px;border-radius:var(--radius-full);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background-color .15s ease,transform .1s ease}.icon-btn:active{transform:scale(.94);background-color:var(--bg-tertiary)}.app-main{flex:1;padding:16px 20px 100px;display:flex;flex-direction:column;gap:20px}.apple-card{background-color:var(--bg-secondary);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px;display:flex;flex-direction:column;gap:16px}.card-title{font-size:14px;font-weight:600;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.5px}.macro-ring-container{display:flex;align-items:center;justify-content:space-around;gap:16px}.calorie-display{display:flex;flex-direction:column;align-items:center;text-align:center}.calorie-num{font-size:42px;font-weight:700;letter-spacing:-1.2px;line-height:1}.calorie-unit{font-size:13px;color:var(--text-secondary);font-weight:500;margin-top:4px}.macro-bars-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-top:4px}.macro-pill{background-color:var(--bg-tertiary);border-radius:var(--radius-md);padding:12px;display:flex;flex-direction:column;gap:6px}.macro-pill-header{display:flex;justify-content:space-between;align-items:center;font-size:12px;font-weight:600;color:var(--text-secondary)}.dot-indicator{width:8px;height:8px;border-radius:var(--radius-full)}.dot-protein{background-color:var(--accent-protein)}.dot-carbs{background-color:var(--accent-carbs)}.dot-fat{background-color:var(--accent-fat)}.macro-value{font-size:20px;font-weight:700;letter-spacing:-.5px}.macro-progress-track{height:4px;background-color:#ffffff14;border-radius:var(--radius-full);overflow:hidden}.macro-progress-fill{height:100%;border-radius:var(--radius-full);transition:width .4s cubic-bezier(.16,1,.3,1)}.camera-trigger-card{background-color:var(--bg-secondary);border:1px dashed var(--border-strong);border-radius:var(--radius-lg);padding:24px 20px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;text-align:center;cursor:pointer;transition:border-color .2s ease,background-color .2s ease}.camera-trigger-card:active{background-color:var(--bg-tertiary)}.shutter-outer{width:72px;height:72px;border-radius:var(--radius-full);border:4px solid var(--text-primary);display:flex;align-items:center;justify-content:center;padding:3px;transition:transform .15s ease}.shutter-inner{width:100%;height:100%;border-radius:var(--radius-full);background-color:var(--text-primary);display:flex;align-items:center;justify-content:center;color:var(--bg-primary)}.shutter-outer:active{transform:scale(.92)}.viewfinder-container{position:relative;width:100%;aspect-ratio:4/3;border-radius:var(--radius-md);overflow:hidden;background-color:#000;border:1px solid var(--border-subtle)}.viewfinder-img{width:100%;height:100%;object-fit:cover}.items-list{display:flex;flex-direction:column;gap:8px}.ingredient-row{display:flex;justify-content:space-between;align-items:center;padding:12px 14px;background-color:var(--bg-tertiary);border-radius:var(--radius-md)}.ingredient-info{display:flex;flex-direction:column;gap:2px}.ingredient-name{font-size:15px;font-weight:600}.ingredient-portion{font-size:12px;color:var(--text-secondary)}.ingredient-stats{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600}.macro-tag{font-size:11px;color:var(--text-secondary);font-weight:500}.btn-primary{background-color:var(--text-primary);color:var(--bg-primary);border:none;font-family:inherit;font-size:16px;font-weight:600;padding:14px 20px;border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;width:100%;transition:opacity .15s ease,transform .1s ease}.btn-primary:active{opacity:.85;transform:scale(.98)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-subtle);font-family:inherit;font-size:15px;font-weight:500;padding:12px 16px;border-radius:var(--radius-full);cursor:pointer;display:flex;align-items:center;justify-content:center;gap:6px;transition:background-color .15s ease}.btn-secondary:active{background-color:var(--bg-elevated)}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background-color:#000000bf;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:100;display:flex;align-items:flex-end;justify-content:center}.modal-content{background-color:var(--bg-secondary);border-top-left-radius:var(--radius-lg);border-top-right-radius:var(--radius-lg);border:1px solid var(--border-subtle);width:100%;max-width:480px;padding:24px 20px calc(24px + env(safe-area-inset-bottom,0px)) 20px;display:flex;flex-direction:column;gap:18px;max-height:90vh;overflow-y:auto;animation:slideUp .25s cubic-bezier(.16,1,.3,1)}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center}.modal-title{font-size:18px;font-weight:700}.form-group{display:flex;flex-direction:column;gap:6px}.form-label{font-size:13px;font-weight:600;color:var(--text-secondary)}.form-input{background-color:var(--bg-tertiary);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:12px 14px;color:var(--text-primary);font-family:inherit;font-size:15px;outline:none}.form-input:focus{border-color:var(--text-secondary)}.spinner{width:32px;height:32px;border:3px solid var(--border-subtle);border-top-color:var(--text-primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}
