:root{
  color-scheme:dark;
  font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  background:#050505;color:#f4f4f4
}
*{box-sizing:border-box}
body{margin:0;background:#050505;min-height:100vh}
.app{width:min(100%,1000px);margin:auto;padding:14px 14px 42px}
.topbar{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px}
h1{margin:0;font-size:clamp(21px,5vw,31px)}
.topbar p{margin:4px 0 0;color:#999;font-size:12px}
.badge{border:1px solid #333;border-radius:999px;padding:7px 11px;font-size:11px;font-weight:900}
.viewer{position:relative;overflow:hidden;background:#000;border:1px solid #242424;border-radius:16px 16px 0 0;min-height:230px}
#camera{display:block;width:100%;height:auto;background:#000}
.overlay{position:absolute;inset:0;display:grid;place-content:center;text-align:center;padding:22px;background:rgba(0,0,0,.72)}
.overlay.hidden{display:none}
.overlay span{margin-top:5px;color:#aaa;font-size:12px}
.angle-strip{display:flex;direction:ltr;justify-content:space-between;align-items:center;padding:7px 10px;background:#0b0b0b;border:1px solid #242424;border-top:0;border-radius:0 0 14px 14px}
.angle-strip span,.label,.metric span,.quality-meta span{color:#888;font-size:9px;font-weight:900;letter-spacing:.11em;text-transform:uppercase}
.angle-strip strong{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:17px;font-variant-numeric:tabular-nums}
.metrics{display:grid;grid-template-columns:repeat(4,1fr);gap:7px;margin-top:8px}
.metric,.quality,.folder-card,.guide,.status{background:#101010;border:1px solid #242424;border-radius:13px}
.metric{padding:10px}
.metric strong{display:block;margin-top:4px;font-size:12px;direction:ltr;text-align:right;font-variant-numeric:tabular-nums}
.quality{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;margin-top:8px}
.quality strong{display:block;margin-top:4px;font-size:14px}
.quality-meta{display:flex;gap:10px;flex-wrap:wrap;direction:ltr}
.folder-card{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px;margin-top:8px}
.folder-card strong{display:block;margin-top:4px}
.folder-card small{display:block;color:#888;font-size:11px;margin-top:3px}
.controls{display:grid;grid-template-columns:1fr 1fr auto;gap:8px;margin-top:8px}
.btn{appearance:none;border:0;border-radius:13px;padding:14px;font-size:15px;font-weight:850;cursor:pointer}
.btn:disabled{opacity:.35;cursor:not-allowed}
.primary{background:#fff;color:#000}
.secondary{background:#242424;color:#fff}
.danger{background:#681818;color:#fff}
.guide,.status{padding:12px;margin-top:8px}
.guide p{margin:5px 0 0;color:#c9c9c9;font-size:12px;line-height:1.6}
.guide code{color:#fff}
.status #statusText{margin-top:4px;font-size:13px;line-height:1.45}
.good{color:#9ce3ad!important}.warn{color:#ffd37a!important}.bad{color:#ff9696!important}
@media(max-width:760px){
  .metrics{grid-template-columns:repeat(2,1fr)}
  .quality,.folder-card{align-items:flex-start;flex-direction:column}
  .controls{grid-template-columns:1fr 1fr}
  #stopBtn{grid-column:1/-1}
  #folderBtn{width:100%}
}
