/* Larger aspect-preserving view; immersive mode never changes capture pixels. */
html:has(.camera-dialog.camera-immersive[open]){overflow:hidden;scrollbar-gutter:auto}
.camera-dialog.camera-immersive.camera-has-result [data-camera-settings]{display:none}
.camera-dialog .camera-frame{width:min(100%,calc(max(240px,100svh - 250px)*var(--camera-ratio)))}
.camera-dialog>header{flex-wrap:wrap;align-items:center}.camera-dialog>header h3{flex:1;margin:0;font-size:1rem}.camera-dialog>header button{font-size:13px;min-height:44px}
.camera-dialog [data-camera-settings],.camera-dialog [data-camera-settings-close]{display:none}.camera-settings-panel{min-width:0}.camera-settings-panel>[data-camera-fallback]{margin:10px 0}
.camera-dialog.camera-immersive{position:fixed;inset:0;width:100%;max-width:none;height:100vh;height:100dvh;max-height:100dvh;margin:0;padding:0;overflow:hidden;display:block;background:#071325;border-radius:0}
.camera-dialog.camera-immersive .camera-frame{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:min(100%,calc(100dvh * var(--camera-ratio)));max-width:100%;margin:0;border-radius:0}
.camera-immersive>header{position:absolute;inset:0 0 auto;z-index:8;display:flex;justify-content:flex-end;gap:8px;padding:calc(10px + env(safe-area-inset-top)) max(12px,env(safe-area-inset-right)) 18px;background:linear-gradient(#07132599,transparent);pointer-events:none}
.camera-immersive>header h3,.camera-immersive>p{display:none}.camera-immersive>header button{pointer-events:auto;border:1px solid #ffffff60;background:#102640a8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);color:#fff;border-radius:24px;padding:8px 12px;line-height:1.2}
.camera-dialog.camera-immersive [data-camera-settings]{display:block}.camera-immersive [data-camera-close]{font-size:0!important;width:44px;padding:0!important}.camera-immersive [data-camera-close]::after{content:'×';font-size:24px}
.camera-immersive .camera-controls{position:static;margin:0;max-width:none}.camera-immersive .camera-controls>.experience-actions{position:absolute;inset:auto 12px calc(14px + env(safe-area-inset-bottom));z-index:6;display:flex;justify-content:center;gap:12px;background:transparent;padding:0;margin:0;min-height:64px}
.camera-immersive .experience-actions button{background:#102640bd;color:#fff;border:1px solid #ffffffa0;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);box-shadow:0 2px 12px #0005;padding:12px 18px;min-height:52px;font-size:14px}
.camera-immersive [data-camera-capture]{width:68px;height:68px;min-height:68px;border-radius:50%;border:4px solid #fff!important;background:#ffffffb3!important;outline:1px solid #10264066;outline-offset:3px;font-size:0!important;padding:0!important;box-shadow:inset 0 0 0 4px #10264080,0 2px 14px #0008!important}
.camera-immersive [data-camera-capture]:disabled{opacity:.45}.camera-immersive [data-camera-capture] span{display:none}
.camera-quick-zoom{position:absolute;bottom:calc(99px + env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);z-index:6;padding:3px;border:1px solid #ffffff50;border-radius:28px;background:#102640a8;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.camera-quick-zoom .camera-zoom-presets{display:flex;gap:3px;margin:0}.camera-quick-zoom button{width:44px;min-height:44px;padding:4px;border-radius:50%;border:0;background:transparent;color:#fff;font:600 13px/1 sans-serif}.camera-quick-zoom button[aria-pressed=true]{background:#fff;color:#102640}.camera-quick-zoom button:disabled{opacity:.38}
.camera-immersive .camera-settings-panel{display:none}.camera-immersive.camera-settings-open .camera-settings-panel{display:block;position:absolute;z-index:9;right:max(12px,env(safe-area-inset-right));top:calc(72px + env(safe-area-inset-top));width:min(420px,calc(100% - 24px));box-sizing:border-box;max-height:calc(100dvh - 180px - env(safe-area-inset-top) - env(safe-area-inset-bottom));overflow:auto;padding:16px;border:1px solid #fff6;border-radius:20px;background:#102640ed;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);box-shadow:0 12px 40px #0006}
.camera-dialog.camera-immersive [data-camera-settings-close]{display:block;margin:0 0 14px auto;background:transparent;color:#fff;border:1px solid #fff8;border-radius:24px;padding:10px 14px;min-height:44px}
.camera-immersive [data-camera-status]{position:absolute;top:calc(72px + env(safe-area-inset-top));left:12px;right:12px;z-index:5;max-width:600px;margin:0 auto;padding:8px 12px;border-radius:12px;background:#102640d9;color:#fff;font-size:13px}.camera-immersive.camera-live [data-camera-status],.camera-immersive.camera-has-result [data-camera-status]{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%);padding:0}
.camera-immersive .camera-frame .camera-countdown-cancel{bottom:145px}.camera-immersive button:focus-visible{outline:3px solid #f4c655;outline-offset:3px}
@media(orientation:landscape) and (max-height:500px){.camera-immersive .camera-controls>.experience-actions{inset:50% max(18px,env(safe-area-inset-right)) auto auto;transform:translateY(-50%);flex-direction:column}.camera-quick-zoom{left:max(14px,env(safe-area-inset-left));bottom:14px;transform:none}.camera-immersive.camera-settings-open .camera-settings-panel{max-height:calc(100dvh - 96px);width:min(380px,calc(100% - 120px));right:100px}.camera-immersive .camera-frame .camera-countdown-cancel{bottom:12px}}
