.webcam-stage{position:relative;aspect-ratio:16/9;background:#18364b;isolation:isolate}
.webcam-landmarks{margin:28px 0;border:1px solid #b9d3e4;border-radius:6px;overflow:hidden}.webcam-landmarks-image{display:block}.webcam-landmarks img{display:block;width:100%;height:auto}.webcam-landmarks-zoom{display:block;padding:10px 16px;font-size:.95rem}.webcam-landmarks figcaption{display:grid;gap:5px;padding:14px 16px;background:#f4f9fd;font-size:.95rem}.webcam-landmarks figcaption>span{color:var(--muted)}
.webcam-stage iframe{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto;pointer-events:none}
.webcam-shield{position:absolute;inset:0;z-index:1;cursor:default}
.webcam-idle{position:absolute;inset:0;display:grid;place-items:center;margin:0;padding:24px;text-align:center;color:white}
.webcam-controls{display:flex;flex-wrap:wrap;gap:12px;padding:18px}
.webcam-controls .button{min-height:44px;white-space:normal;text-align:center}
.webcam-controls [aria-disabled=true]{opacity:1;background:#e5f0f7;color:#526779;border-color:#728b9e;cursor:default}
.webcam-help,.webcam-status{margin:0;padding:0 18px 18px;max-width:85ch}
.webcam-status{min-height:1.5em;color:var(--ink)}
.webcam-player-note p{margin:0}
.webcam-player:fullscreen{width:100%;height:100%;display:flex;flex-direction:column;padding:16px;overflow:auto;background:var(--card);color:var(--ink)}
.webcam-player:fullscreen [data-webcam-view]{display:flex;flex:1;flex-direction:column;min-height:0}
.webcam-player:fullscreen .webcam-stage{flex:1;min-height:100px;aspect-ratio:auto}
.webcam-player:fullscreen .webcam-help{display:none}
@media(max-width:480px){.webcam-controls{padding:14px;gap:10px}.webcam-controls .button{flex:1 1 100%;width:100%}.webcam-help,.webcam-status{padding:0 14px 14px}.webcam-player:fullscreen{padding:6px}.webcam-player:fullscreen .webcam-controls{padding:10px}}
