:root{--primary:#1a56db;--primary-dark:#1244b0;--accent:#06b6d4;--bg:#0f172a;--card:#1e293b;--text:#f1f5f9;--text-light:#94a3b8;--border:#334155;--radius:12px}
*{margin:0;padding:0;box-sizing:border-box}
body{font-family:-apple-system,BlinkMacSystemFont,'Segoe UI',Roboto,sans-serif;background:var(--bg);color:var(--text);min-height:100dvh;-webkit-font-smoothing:antialiased}
.container{max-width:640px;margin:0 auto;padding:12px;min-height:100dvh;display:flex;flex-direction:column}
header{text-align:center;padding:12px 0 8px}
header h1{font-size:20px;font-weight:700;background:linear-gradient(135deg,var(--accent),#22d3ee);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.subtitle{color:var(--text-light);font-size:11px;margin-top:2px;letter-spacing:1px;text-transform:uppercase}
main{flex:1}
.video-wrapper{position:relative;width:100%;aspect-ratio:4/3;background:#000;border-radius:var(--radius);overflow:hidden;border:2px solid var(--border)}
video{width:100%;height:100%;object-fit:cover;display:block}
#overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}
.stats{position:absolute;top:8px;left:8px;display:flex;gap:8px}
.stats span{background:rgba(0,0,0,0.7);color:#22d3ee;font-size:11px;font-weight:600;padding:4px 8px;border-radius:6px;font-family:monospace}
.controls{margin-top:12px;display:flex;flex-direction:column;gap:10px}
.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:14px 20px;border:none;border-radius:var(--radius);font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;-webkit-tap-highlight-color:transparent}
.btn-primary{background:var(--accent);color:#0f172a;width:100%}
.btn-primary:active{transform:scale(.98);opacity:.9}
.btn-primary.active{background:#ef4444}
.btn-small{background:var(--card);color:var(--text);border:1px solid var(--border);padding:10px 16px;font-size:13px;border-radius:8px}
.btn-small:disabled{opacity:.4}
.slider-group{background:var(--card);border-radius:var(--radius);padding:12px 16px;border:1px solid var(--border)}
.slider-group label{font-size:13px;color:var(--text-light);display:flex;justify-content:space-between}
.slider-group label span{color:var(--accent);font-weight:600}
input[type=range]{width:100%;margin-top:8px;accent-color:var(--accent);height:6px}
.camera-switch{display:flex;justify-content:center}
footer{text-align:center;padding:12px 0;color:var(--text-light);font-size:11px}
footer strong{color:var(--text)}
