:root {
  color-scheme: light;
  background: #fff;
  color: #111;
  font-family: system-ui, sans-serif;
}
* { box-sizing: border-box; }
body { margin: 0; padding: 24px; }
.tabs { display: inline-flex; gap: 4px; padding: 4px; margin-bottom: 24px; border-radius: 10px; background: #f4f4f5; }
.tabs button { min-height: 40px; padding: 0 18px; border: 0; border-radius: 7px; background: transparent; color: #666; font: inherit; font-size: 14px; cursor: pointer; }
.tabs button[aria-selected="true"] { background: #fff; color: #111; box-shadow: 0 1px 3px #00000014; }
.tabs button:focus-visible { outline: 2px solid #777; outline-offset: 2px; }
.empty { margin: 0; color: #777; font-size: 14px; }
.cameras { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 24px; }
.camera { position: relative; min-width: 0; }
h2 { margin: 0; font-size: 14px; font-weight: 500; }
.fullscreen { display: inline-flex; align-items: center; gap: 4px; min-height: 44px; max-width: 100%; padding: 10px 0; border: 0; border-radius: 2px; background: transparent; color: inherit; font: inherit; text-align: left; cursor: pointer; }
.fullscreen svg { flex-shrink: 0; width: 12px; height: 12px; color: #999; fill: none; stroke: currentColor; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.fullscreen:hover:not(:disabled) svg { color: #555; }
.fullscreen:focus-visible { outline: 2px solid #777; outline-offset: 2px; }
.fullscreen:disabled { cursor: default; }
.fullscreen:disabled svg { opacity: .4; }
.fullscreen[data-supported="false"] svg { display: none; }
video { display: block; width: 100%; aspect-ratio: 16 / 9; border-radius: 12px; background: #f5f5f5; object-fit: contain; }
video:fullscreen { background: #000; border-radius: 0; }
video::backdrop { background: #000; }
video:-webkit-full-screen { background: #000; border-radius: 0; }
.retry { position: absolute; top: 50%; left: 50%; transform: translate(-50%, -50%); padding: 8px 16px; border: 1px solid #ccc; background: #fff; color: #111; font: inherit; cursor: pointer; }
.status { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip-path: inset(50%); white-space: nowrap; }
[hidden] { display: none !important; }
@media (max-width: 700px) {
  .cameras { grid-template-columns: 1fr; }
}
