:root{--bg: #111827;--surface: #1f2937;--text: #f3f4f6;--text-muted: #9ca3af;--accent: #34d399;--touch-target: 48px;color-scheme:dark}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,sans-serif;background:var(--bg);color:var(--text)}#root{max-width:480px;margin:0 auto;min-height:100dvh;display:flex;flex-direction:column;padding:env(safe-area-inset-top) 16px env(safe-area-inset-bottom)}main{flex:1}h1{font-size:1.25rem;margin:16px 0 8px}h2{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted);margin:20px 0 8px}.empty-note{color:var(--text-muted);font-size:.9rem}.action-bar{position:sticky;bottom:0;display:grid;gap:8px;padding:12px 0 16px;background:linear-gradient(transparent,var(--bg) 30%)}.action-bar button{min-height:var(--touch-target);font-size:1rem;font-weight:600;border:none;border-radius:12px;background:var(--surface);color:var(--text);cursor:pointer}.action-bar button.primary{background:var(--accent);color:#052e22}.action-bar button:disabled{opacity:.45;cursor:default}.link-button{background:none!important;color:var(--text-muted)!important;font-weight:400!important;min-height:32px!important}.stacked-form{display:flex;flex-direction:column;gap:10px}.stacked-form label,.stacked-form legend{font-size:.8rem;text-transform:uppercase;letter-spacing:.08em;color:var(--text-muted)}.stacked-form input[type=text],.stacked-form input[type=email]{min-height:var(--touch-target);border-radius:10px;border:1px solid #374151;background:var(--surface);color:var(--text);padding:0 12px;font-size:1rem}.stacked-form fieldset{border:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.chip-row{display:flex;flex-wrap:wrap;gap:8px}.chip{min-height:40px;padding:0 14px;border-radius:999px;border:1px solid #374151;background:var(--surface);color:var(--text);font-size:.95rem;cursor:pointer}.chip.selected{background:var(--accent);border-color:var(--accent);color:#052e22;font-weight:600}.photo-buttons{display:grid;gap:8px}.photo-buttons button{min-height:var(--touch-target);border-radius:10px;border:1px dashed #4b5563;background:transparent;color:var(--text);font-size:1rem;cursor:pointer}.photo-chosen{color:var(--accent);font-size:.9rem;margin:0}.form-error{color:#fca5a5;font-size:.9rem}.save-progress{color:var(--accent);font-size:.9rem}.rating-row .rating-controls{display:flex;align-items:center;gap:10px}.rating-controls input[type=range]{flex:1;accent-color:var(--accent);min-height:var(--touch-target)}.rating-controls input[type=range].untouched{accent-color:#4b5563;opacity:.6}.rating-value{min-width:44px;text-align:right;font-variant-numeric:tabular-nums;color:var(--text-muted)}.clear-rating{border:none;background:var(--surface);color:var(--text-muted);border-radius:50%;width:28px;height:28px;cursor:pointer}.entry-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.entry-time{color:var(--text-muted);font-variant-numeric:tabular-nums}.entry-detail{color:var(--text-muted)}.nutrition-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.nutrition-field{display:flex;flex-direction:column;gap:4px}.nutrition-field input{min-width:0;width:100%;min-height:var(--touch-target);border-radius:10px;border:1px solid #374151;background:var(--surface);color:var(--text);padding:0 12px;font-size:1rem}.search-input{width:100%;min-height:var(--touch-target);border-radius:10px;border:1px solid #374151;background:var(--surface);color:var(--text);padding:0 12px;font-size:1rem;margin-bottom:12px}.camera-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;background:#000;display:flex;flex-direction:column}.camera-overlay video{flex:1;width:100%;object-fit:cover;min-height:0}.camera-controls{display:flex;align-items:center;justify-content:space-between;padding:18px 24px calc(18px + env(safe-area-inset-bottom));background:#000}.camera-cancel{background:none;border:none;color:#fff;font-size:1rem;cursor:pointer;width:72px;text-align:left}.camera-shutter{width:68px;height:68px;border-radius:50%;border:4px solid #fff;background:#fff;box-shadow:0 0 0 4px #000 inset;cursor:pointer}.camera-shutter:disabled{opacity:.4}.camera-spacer{width:72px}.timeline-row{display:flex;justify-content:space-between;align-items:center;gap:8px}.row-actions{display:flex;gap:6px;flex-shrink:0}.row-actions button{min-height:36px;padding:0 10px;border-radius:8px;border:1px solid #374151;background:var(--surface);color:var(--text-muted);font-size:.85rem;cursor:pointer}
