* { box-sizing: border-box; }
body { margin: 0; font-family: Arial, sans-serif; }

.top { padding: 12px; border-bottom: 1px solid #ddd; }
.actions { display: flex; gap: 8px; margin: 8px 0; flex-wrap: wrap; }
button { padding: 10px 12px; font-size: 16px; cursor: pointer; }

.status {
  margin-top: 6px; padding: 8px;
  background: #f5f5f5; border: 1px solid #ddd; border-radius: 8px;
  word-break: break-word;
}

.wrap { display: grid; grid-template-columns: 1fr; gap: 12px; padding: 12px; }
@media (min-width: 900px) { .wrap { grid-template-columns: 1.2fr 1fr; } }

.cam { background: #000; border-radius: 12px; overflow: hidden; min-height: 280px; }
#video { width: 100%; height: auto; display: block; background: #000; }

#list { padding-left: 18px; margin: 0; }
#list li { padding: 6px 0; border-bottom: 1px dashed #ddd; }

.manual { margin-top: 12px; }
#manualInput { width: 100%; padding: 10px; font-size: 16px; }