.site-camera { box-sizing: border-box; position: fixed; inset: 0; width: min(100vw, 700px); height: 92vh; height: min(92dvh, 900px); max-width: 100vw; max-height: 100vh; max-height: 100dvh; margin: auto; padding: 0; border: 0; border-radius: 18px; background: #0f172a; color: #fff; overflow: hidden; }
.site-camera[open] { display: grid; grid-template-rows: auto minmax(0, 1fr) auto; }
.site-camera::backdrop { background: rgb(0 0 0 / .8); }
.site-camera .site-camera-header { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 12px 16px; background: #172033; }
.site-camera .site-camera-stage { display: grid; min-height: 0; overflow: auto; place-items: center; background: #080c13; }
.site-camera .site-camera-stage video, .site-camera .site-camera-stage img { display: block; width: 100%; height: 100%; min-height: 0; max-height: 100%; object-fit: contain; }
.site-camera .site-camera-stage p { margin: 0; padding: 24px; text-align: center; line-height: 2; }
.site-camera .site-camera-actions { display: flex; flex-wrap: wrap; align-items: stretch; justify-content: center; gap: 12px; padding: 16px; padding-bottom: max(16px, env(safe-area-inset-bottom)); background: #172033; }
.site-camera button { position: static; display: inline-flex; align-items: center; justify-content: center; flex: 1 1 150px; min-height: 48px; height: auto; width: auto; margin: 0; padding: 12px 16px; border: 1px solid #64748b; border-radius: 10px; background: #24334a; color: #fff; font: inherit; font-size: 14px; font-weight: 600; line-height: 1.6; white-space: normal; transform: none; cursor: pointer; }
.site-camera .site-camera-header button { flex: 0 0 auto; }
.site-camera [data-confirm], .site-camera [data-shoot] { background: #f59e0b; color: #18212d; border-color: #fbbf24; }
.site-camera button:focus-visible { outline: 3px solid #fbbf24; outline-offset: 3px; }
.site-camera [hidden] { display: none !important; }
@media (max-width: 575.98px) { .site-camera { width: 100%; height: 100vh; height: 100dvh; max-height: 100vh; max-height: 100dvh; border-radius: 0; } }
