/* Automatic camera. Photo capture uses the inset frame itself; no visible controls. */
.camera-modal{width:540px}
.camera-intro{display:flex;align-items:center;gap:10px;margin:1px 0 15px}
.camera-intro .auto-symbol{display:grid;place-items:center;width:34px;height:34px;background:#eef2e9;color:#536b52;border-radius:11px;flex-shrink:0}
.camera-intro strong{display:block;font-size:12px;font-weight:650}
.camera-intro small{display:block;font-size:10px;color:var(--muted);margin-top:4px;line-height:1.5}
.camera-modal .camera-stage{height:min(48dvh,430px);min-height:230px;background:#101610}
.camera-status{position:absolute;top:14px;left:14px;right:14px;display:flex;align-items:center;gap:7px;pointer-events:none}
.camera-status>span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border-radius:30px;background:#101810b8;backdrop-filter:blur(12px);font-size:10px;color:#fff;line-height:1.3}
.camera-status i{width:5px;height:5px;background:#bfd5a9;border-radius:50%;flex-shrink:0}
.camera-status .ai-state{margin-left:auto;font-size:9px;color:#e2e8dd}
.camera-status[data-state="warning"] i{background:#f1bf86}
.camera-status[data-state="busy"] i{animation:cameraPulse 1s ease-in-out infinite}
.camera-result{display:flex;align-items:center;gap:9px;margin:13px 0 3px;padding:12px;border-radius:12px;background:#f0f4ea;color:#4e6441}
.camera-result svg{width:19px;height:19px}
.camera-result strong{display:block;font-size:12px}
.camera-result small{display:block;font-size:10px;line-height:1.6;margin-top:4px;color:#758169}
.camera-modal .camera-tools button{min-width:32px;min-height:44px}
.camera-modal .camera-tools .shutter{flex-shrink:0;width:70px;height:70px}
.camera-modal .shutter[aria-busy="true"]{animation:cameraPulse 1s ease-in-out infinite}
.camera-modal .demo-footnote{margin-top:16px}
.camera-modal .draft-thumb{max-height:43dvh;background:#111711}
.camera-save-original{display:inline-flex;align-items:center;gap:6px;font-size:10px;color:var(--muted);padding:8px 0;text-decoration:underline;text-underline-offset:3px}
@keyframes cameraPulse{50%{opacity:.55}}
@media(max-width:600px){.camera-modal .camera-tools{gap:13px}.camera-modal .camera-tools .shutter{margin:0 5px}.camera-modal .composer-actions{gap:6px}.camera-modal .composer-actions button{padding:11px 6px;font-size:11px}.camera-status{left:10px;right:10px;top:10px}.camera-status>span{font-size:9px;padding:7px 8px}.camera-status .ai-state{font-size:8px}}
@media(prefers-reduced-motion:reduce){.camera-modal .shutter,.camera-status i{animation:none!important}}
@media(max-width:360px){.camera-modal .camera-tools{gap:9px}.camera-modal .camera-tools .shutter{margin:0}.camera-status{gap:4px}.camera-status>span{padding:6px}}

.photo-composer .camera-tools{justify-content:space-around;max-width:310px;margin:auto}
.photo-capture-surface{padding:0;background:var(--bg);backdrop-filter:none;touch-action:none;user-select:none;-webkit-user-select:none}
.photo-capture-surface .photo-capturing{width:100%;height:100dvh;max-width:none;max-height:none;border:0;border-radius:0;box-shadow:none;overflow:hidden;background:var(--bg)}
.photo-capturing .modal-header,.photo-capturing .create-modes,.photo-capturing .camera-intro,.photo-capturing .camera-tools,.photo-capturing .camera-mode-help,.photo-capturing .demo-footnote,.photo-capturing .test-back{display:none}
.photo-capturing .modal-body{--capture-height:calc(100dvh - 48px - env(safe-area-inset-top,0px) - env(safe-area-inset-bottom,0px));height:100%;padding:calc(24px + env(safe-area-inset-top,0px)) max(18px,env(safe-area-inset-right,0px)) calc(24px + env(safe-area-inset-bottom,0px)) max(18px,env(safe-area-inset-left,0px))}
.photo-capturing #camera-composer{height:100%;display:grid;place-items:center}
.photo-capturing .camera-stage{width:min(100%,calc(var(--capture-height) * var(--camera-aspect,0.75)));max-width:600px;height:auto;min-height:0;aspect-ratio:var(--camera-aspect,0.75);border-radius:20px;cursor:pointer;touch-action:none;outline:none}
.photo-capturing .camera-stage:focus-visible{outline:2px solid var(--muted);outline-offset:5px}
.photo-capturing .camera-stage video{pointer-events:none;object-fit:contain}
.photo-capturing .camera-meta,.photo-capturing .camera-overlay{display:none}
/* Status remains accessible without placing badges over the image. */
.photo-capturing .camera-status{position:absolute;inset:auto;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap}
.photo-capturing .camera-stage[aria-busy="true"]{cursor:progress}
.photo-capturing .camera-stage[aria-busy="true"]:after{content:'';position:absolute;inset:0;border:2px solid #ffffff9c;border-radius:inherit;pointer-events:none;animation:cameraPulse 1s ease-in-out infinite}
@media(prefers-reduced-motion:reduce){.photo-capturing .camera-stage:after{animation:none!important}}
.rec-capturing .camera-stage video{object-fit:cover;object-position:center}
.rec-composer:not(.photo-capturing) .camera-stage{aspect-ratio:9/16;height:auto;min-height:230px;max-height:48dvh}
.rec-indicator{position:absolute;top:14px;left:14px;display:flex;align-items:center;gap:7px;padding:7px 10px;background:#15151580;color:#fff;border-radius:30px;font-size:11px;font-variant-numeric:tabular-nums;pointer-events:none}
.rec-indicator[hidden]{display:none}
.rec-indicator i{width:7px;height:7px;border-radius:50%;background:#ff5858}
.camera-modal .capture-review-frame{max-width:340px;margin:0 auto 14px}
.camera-modal .capture-review-frame .draft-thumb{max-height:48dvh;object-fit:contain}
