
:root{color-scheme:light dark;font-family:system-ui,-apple-system,Segoe UI,Roboto,sans-serif}
body{margin:0;background:#111827;color:#e5e7eb}
.wrap{max-width:1120px;margin:0 auto;padding:18px}
.card{background:#1f2937;border:1px solid #374151;border-radius:14px;padding:16px;margin-bottom:16px}
h1,h2{margin:.2rem 0 .7rem}
.actions{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:12px}
button,.filebtn{border:0;border-radius:10px;padding:11px 14px;font-size:16px;cursor:pointer;background:#2563eb;color:#fff}
button:disabled{opacity:.45;cursor:not-allowed}
.filebtn input{display:none}
.cameraBox{position:relative;width:100%;aspect-ratio:4/3;background:#000;border-radius:12px;overflow:hidden}
video,canvas,img{width:100%;height:100%;object-fit:contain;display:none}
.guide{position:absolute;inset:10%;border:3px solid rgba(250,204,21,.95);border-radius:14px;pointer-events:none;display:flex;align-items:flex-end;justify-content:center}
.guide span{margin-bottom:8px;background:rgba(0,0,0,.6);color:white;padding:5px 8px;border-radius:7px;font-size:14px}
.grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
pre,textarea{white-space:pre-wrap;word-break:break-word;background:#111827;color:#d1fae5;border:1px solid #374151;border-radius:10px;padding:12px;width:100%;box-sizing:border-box}
textarea{min-height:460px;resize:vertical}
.status{padding:10px 12px;border-radius:9px;background:#111827}
.field{display:grid;grid-template-columns:150px 1fr auto;gap:10px;align-items:center;padding:9px 0;border-bottom:1px solid #374151}
.field:last-child{border-bottom:0}
.field .name{opacity:.75}
.badge{font-size:12px;padding:3px 7px;border-radius:999px;background:#374151}
.badge.good{background:#166534}.badge.mid{background:#a16207}.badge.bad{background:#991b1b}
#overlayCanvas{display:block;width:100%;height:auto;background:#000;border-radius:10px}
.hint{opacity:.7;font-size:14px}
footer{text-align:center;opacity:.65;padding:12px 0 24px}
@media(max-width:800px){.grid{grid-template-columns:1fr}.field{grid-template-columns:110px 1fr auto}}
