/* Only the editable review controls extend the established lens appearance. */
#lens-demo .review-view{overflow-y:auto;overscroll-behavior:contain;scrollbar-width:thin}
#lens-demo .quantity-controls{gap:5px}
#lens-demo .quantity-controls input{width:57px;height:32px;font-variant-numeric:tabular-nums;font-size:13px}
#lens-demo .quantity-controls button{height:32px;flex-shrink:0}
#lens-demo .quantity-controls .lens-gram-unit{font-size:12px;color:var(--ink);padding:0 3px}
#lens-demo .meal-composition{font-size:8px;color:var(--muted);font-weight:400;line-height:1.5;margin-top:1px}
#lens-demo .review-item{margin-bottom:6px}
#lens-demo .review-pfc input{width:40px}
#lens-demo input[aria-invalid=true]{border-color:#a94f38;background:#fff2ec}
#lens-demo .input-error{font-size:9px;line-height:1.6;color:#9a442e;margin-top:4px}
#lens-demo .input-error[hidden]{display:none}
#lens-demo .record-button[aria-disabled=true]{opacity:.55}
#lens-demo .quantity-controls input:focus-visible{outline:2px solid #6d8c68;outline-offset:2px}
#lens-demo .camera-library{cursor:default}
#lens-demo .saved-card>div{min-width:0}
#lens-demo .saved-card b{line-height:1.6}
#lens-demo .estimate-note{margin-block:6px}
#lens-demo .shutter-row{position:relative}
#lens-demo .lens-capture-hint{position:absolute;left:calc(50% + 42px);top:50%;transform:translateY(-50%);pointer-events:none;color:#e2efdc}
#lens-demo .lens-capture-hint svg{display:block;width:30px;height:24px;animation:lens-button-nudge 1.3s ease-in-out infinite}
#lens-demo[data-has-captured=true] .lens-capture-hint{display:none}
@keyframes lens-button-nudge{0%,100%{transform:translateX(3px)}50%{transform:translateX(-4px)}}
html.motion-paused #lens-demo .lens-capture-hint svg,body.motion-paused #lens-demo .lens-capture-hint svg{animation-play-state:paused}
@media(prefers-reduced-motion:reduce){#lens-demo .lens-capture-hint svg{animation:none}}
@media(max-width:359px){#lens-demo .quantity-controls input{width:57px}#lens-demo .quantity-controls{gap:5px}}
