:root{
  color-scheme:dark;
  --bg:#050505;
  --panel:#101010;
  --panel2:#171717;
  --line:#2b2b2b;
  --text:#f4f4f4;
  --muted:#8d8d8d;
  --accent:#d7ff45;
  --danger:#ff5d5d;
}
*{box-sizing:border-box}
html,body{margin:0;background:var(--bg);color:var(--text);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
body{min-height:100svh}
button,input{font:inherit}
.app{width:min(760px,100%);margin:auto;padding:calc(env(safe-area-inset-top) + 18px) 16px calc(env(safe-area-inset-bottom) + 30px)}
.topbar{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.eyebrow{margin:0 0 3px;color:var(--accent);font-size:.67rem;font-weight:800;letter-spacing:.17em}
h1{font-size:1.55rem;margin:0;letter-spacing:-.04em}
.icon-btn{width:46px;height:46px;border-radius:50%;border:1px solid var(--line);background:var(--panel);color:white;font-size:1.4rem}
.stats{display:grid;grid-template-columns:1.35fr repeat(4,1fr);gap:8px;margin-bottom:10px}
.stat{border:1px solid var(--line);background:var(--panel);padding:10px;border-radius:16px;min-width:0}
.stat span{display:block;color:var(--muted);font-size:.67rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.stat strong{display:block;font-size:1.3rem;margin-top:3px}
.stat.primary{background:var(--accent);color:#050505;border-color:var(--accent)}
.stat.primary span{color:#242424}
.stat.primary strong{font-size:1.75rem}
.camera-card{overflow:hidden;background:var(--panel);border:1px solid var(--line);border-radius:24px}
.camera-stage{position:relative;width:100%;aspect-ratio:3/4;background:#000;overflow:hidden}
video,canvas{position:absolute;inset:0;width:100%;height:100%}
video{object-fit:cover}
canvas{pointer-events:none}
.count-line{position:absolute;left:0;right:0;top:58%;height:2px;background:var(--accent);box-shadow:0 0 18px rgba(215,255,69,.8);pointer-events:none}
.count-line span{position:absolute;right:8px;bottom:7px;background:var(--accent);color:#050505;padding:4px 7px;border-radius:6px;font-size:.58rem;font-weight:900;letter-spacing:.1em}
.loading-panel{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;background:rgba(0,0,0,.72);backdrop-filter:blur(8px);text-align:center;padding:28px;z-index:3}
.loading-panel.hidden{display:none}
.loading-panel span{font-size:.8rem;color:#aaa;max-width:260px}
.spinner{width:28px;height:28px;border:3px solid #333;border-top-color:var(--accent);border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{to{transform:rotate(360deg)}}
.camera-footer{height:42px;padding:0 13px;display:flex;align-items:center;gap:7px;color:var(--muted);font-size:.72rem}
.dot{width:7px;height:7px;border-radius:50%;background:#777}.dot.live{background:var(--accent);box-shadow:0 0 9px var(--accent)}
.spacer{flex:1}
.controls{display:grid;gap:8px;margin-top:10px}
.control{display:block;background:var(--panel);border:1px solid var(--line);border-radius:17px;padding:12px 13px}
.control>div{display:flex;justify-content:space-between;font-size:.78rem;margin-bottom:8px}
.control output{color:var(--muted)}
input[type=range]{width:100%;accent-color:var(--accent)}
.actions{display:grid;grid-template-columns:1.5fr 1fr;gap:8px;margin-top:10px}
.btn{height:50px;border:0;border-radius:16px;font-weight:800}
.primary-btn{background:var(--accent);color:#090909}
.secondary-btn{background:var(--panel2);color:white;border:1px solid var(--line)}
.privacy{text-align:center;color:#666;font-size:.68rem;margin:14px 0 0}
@media(max-width:480px){
  .stats{grid-template-columns:1.3fr repeat(4,minmax(0,1fr));gap:5px}
  .stat{padding:8px 7px;border-radius:13px}
  .stat strong{font-size:1rem}.stat.primary strong{font-size:1.45rem}
}
.smart-id,.recent-panel{margin-top:10px;background:var(--panel);border:1px solid var(--line);border-radius:18px;padding:13px}
.smart-id{display:flex;align-items:center;gap:12px}
.smart-copy{display:flex;flex-direction:column;gap:3px;min-width:0}
.smart-copy strong{font-size:.9rem}
.smart-copy small{color:var(--muted);font-size:.7rem;line-height:1.35}
.smart-btn{margin-left:auto;flex:0 0 auto;border:1px solid var(--line);background:var(--panel2);color:white;border-radius:12px;padding:10px 13px;font-weight:800;font-size:.75rem}
.smart-btn.on{background:var(--accent);color:#090909;border-color:var(--accent)}
.smart-btn:disabled{opacity:.55}
.recent-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:9px}
.recent-head strong{font-size:.82rem}
.recent-head span{font-size:.66rem;color:var(--muted)}
.recent-list{display:grid;gap:7px}
.vehicle-row{display:grid;grid-template-columns:40px minmax(0,1fr) auto;gap:9px;align-items:center;background:#0b0b0b;border:1px solid #222;border-radius:13px;padding:9px}
.vehicle-badge{width:40px;height:40px;border-radius:11px;display:flex;align-items:center;justify-content:center;background:var(--accent);color:#090909;font-size:.72rem;font-weight:900}
.vehicle-main{min-width:0}
.vehicle-main strong{display:block;font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vehicle-main small{display:block;color:var(--muted);font-size:.65rem;margin-top:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.vehicle-score{font-size:.65rem;color:var(--muted);text-align:right}
.empty-state{margin:4px 0;color:#666;font-size:.72rem;text-align:center}
