*{box-sizing:border-box}body{margin:0;background:#101827;color:#f1f5fc;font-family:Arial,sans-serif;font-size:20px}main{max-width:1200px;margin:auto;padding:18px}h1{font-size:30px;margin:6px 0 14px}h2{font-size:23px}.note,.privacy{line-height:1.5;font-size:18px;color:#bacbe2}.privacy{border-right:4px solid #65deab;padding-right:12px}.controls,.settings{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin:16px 0}button,select{font:inherit;border-radius:10px;border:1px solid #7187a8;background:#21344f;color:white;padding:12px;min-height:48px}button:disabled{opacity:.45}button:focus-visible,select:focus-visible{outline:3px solid #71edc0}#start{background:#156349}.settings{font-size:18px}label{display:flex;gap:8px;align-items:center;flex-wrap:wrap}#status{padding:12px;background:#263248;border-radius:8px;line-height:1.4}.grid{display:grid;grid-template-columns:1.2fr 1fr;gap:18px}.camera{position:relative;aspect-ratio:4/3;background:#05090f;border-radius:12px;overflow:hidden}video{display:none}canvas{width:100%;height:100%;object-fit:contain}#cameraLabel{position:absolute;bottom:8px;right:8px;background:#000b;padding:6px;font-size:16px}.dashboard{background:#1b293f;border-radius:12px;padding:16px}.dashboard p{font-size:18px;line-height:1.5}.signal{padding:11px 8px;border-bottom:1px solid #42536d;direction:ltr;text-align:right;font-weight:bold}.signal.active{color:#6df4b7}.metrics{color:#93c5fd;font-size:17px;line-height:1.5;margin:10px 0}pre{direction:ltr;text-align:left;white-space:pre-wrap;font-size:15px;max-height:180px;overflow:auto;background:#070e19;padding:12px;border-radius:8px}a{color:#a5cfff}@media(max-width:700px){.grid{grid-template-columns:1fr}main{padding:12px}h1{font-size:25px}body{font-size:18px}.controls button{flex:1 1 43%;font-size:17px}.settings select{font-size:17px}.dashboard p{font-size:16px}.camera{max-height:48vh}}@media(min-width:701px) and (max-height:650px){main{padding:10px}.camera{max-height:65vh}.note,.privacy{font-size:16px}}
@media(max-width:700px){.privacy{font-size:14px;margin:8px 0}.note{font-size:15px;margin:8px 0}.settings{gap:8px;margin:10px 0;font-size:16px}.settings label{flex:1 1 44%}.settings select{max-width:100%;padding:8px}.controls{gap:8px;margin:10px 0}#status{font-size:16px;margin:8px 0}.camera{max-height:35vh}.dashboard{padding:10px}.dashboard p{margin:10px 0}.signal{padding:8px}.metrics{margin:6px 0}}

[hidden]{display:none!important}input[type=range]{min-width:120px;max-width:190px}input[type=file]{max-width:100%;font-size:16px}
