:root{color-scheme:dark;--bg:#101817;--panel:#17211f;--line:#2b3733;--text:#edf1e9;--muted:#93a29a;--green:#c3f285;--danger:#ffb6a6;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--text)}[hidden]{display:none!important}button,input{font:inherit}button{cursor:pointer;min-height:44px;border:1px solid var(--line);color:var(--text);background:none;border-radius:7px;padding:10px 15px}button:hover{border-color:#6d8478}button:disabled{opacity:.45;cursor:not-allowed}button:focus-visible,a:focus-visible,input:focus-visible,summary:focus-visible{outline:2px solid var(--green);outline-offset:4px}header{padding:24px 4.5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:11px;font-size:26px;letter-spacing:-1.1px;text-decoration:none;color:var(--text);font-weight:650}.brandmark{display:grid;place-items:center;font-size:31px;font-weight:800;color:var(--bg);background:var(--green);width:34px;height:36px;border-radius:9px 9px 9px 2px}.brand-sub{font-size:9px;letter-spacing:1.6px;color:var(--muted);border-left:1px solid var(--line);padding-left:19px;margin-left:9px;font-weight:500}.header-right{display:flex;align-items:center;gap:24px}.local{font-size:10px;letter-spacing:1.2px;display:flex;align-items:center;gap:9px;color:var(--muted)}i{display:block;width:6px;height:6px;background:var(--green);border-radius:50%}main{max-width:1560px;margin:auto;padding:48px 4.5% 35px}.eyebrow{font-size:10px;letter-spacing:2px;color:var(--green);margin:0 0 12px;font-weight:650}h1{font-size:clamp(32px,4vw,48px);line-height:1.12;font-weight:500;letter-spacing:-1.7px;margin:0}.accent{color:var(--green)}.subtitle,.intro{color:var(--muted);font-size:14px;line-height:1.7;margin:15px 0 0}.page-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:38px}.overview{display:flex;gap:13px;align-items:center}.overview strong{font-weight:400;font-size:36px}.overview span{font-size:9px;line-height:1.8;letter-spacing:1px;color:var(--muted)}.toolbar{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--line);padding:19px 0 24px}.tabs,.toolbar-actions{display:flex;align-items:center;gap:13px}.tab{background:#24312b;border-color:#3b4a3f;color:var(--green);font-size:12px}.badge{font-size:11px;color:var(--muted)}.quiet{font-size:12px;border-color:transparent;color:#c0cbc2}.quiet:hover{background:#25312b}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.camera{border:1px solid var(--line);border-radius:12px;background:var(--panel);overflow:hidden}.camera-heading{display:flex;justify-content:space-between;align-items:center;padding:20px 20px 17px}h2{font-size:16px;font-weight:550;margin:0 0 4px}.camera-address{color:var(--muted);font-size:10px;letter-spacing:.5px}.connection{font-size:10px;color:#e4c58c;background:#3a3425;padding:6px 9px;border-radius:4px}.connection[data-state=connected]{color:var(--green);background:#283b29}.connection[data-state=closed]{color:var(--muted);background:var(--line)}.viewport{position:relative;background:#090f0d;aspect-ratio:16/9}.viewport video{height:100%;width:100%;object-fit:contain;display:block}.video-overlay{position:absolute;left:14px;top:14px}.video-label{font-size:8px;letter-spacing:1.3px;background:#0b1812b8;padding:6px 8px;border:1px solid #53615155;color:#d9e9d7;border-radius:3px}.video-placeholder{position:absolute;inset:0;display:flex;gap:15px;flex-direction:column;align-items:center;justify-content:center;padding:30px;color:#92a297;font-size:12px;text-align:center;background:radial-gradient(ellipse at 50% 50%,#20302a 0,#0e1813 75%)}.lens{width:39px;height:29px;border:1px solid #637a6a;border-radius:6px;position:relative}.lens:before{content:"";position:absolute;inset:7px 12px;border:1px solid #a6c291;border-radius:50%}.fullscreen{position:absolute;bottom:12px;right:12px;background:#101817b8;border:1px solid #a4b89745;font-size:23px;line-height:1;padding:5px 11px}.camera-controls{display:flex;align-items:center;gap:5px;padding:10px 15px;border-bottom:1px solid var(--line)}.volume{accent-color:var(--green);width:80px;min-height:44px;cursor:pointer}.close-view{margin-left:auto}.talk-area{padding:17px 20px 10px}.talk-button{width:100%;background:var(--green);border-color:var(--green);color:#1c2a19;font-size:13px;font-weight:650;display:flex;align-items:center;justify-content:center;gap:10px;min-height:47px}.talk-button:hover{background:#d0ffa1}.talk-button.transmitting{background:var(--danger);border-color:var(--danger);color:#351a14}.talk-status{font-size:10px;line-height:1.6;min-height:18px;text-align:center;color:var(--muted);margin:10px 0 3px}.camera[data-talking=true]{border-color:var(--danger)}.camera[data-talking=true] .talk-status{color:var(--danger)}.diagnostics{padding:0 20px 17px;font-size:11px;color:var(--muted);line-height:1.7}.diagnostics summary{cursor:pointer;font-size:10px;min-height:32px;padding-top:6px}.speaker-note{font-size:10px}.privacy{display:flex;align-items:center;gap:18px;border:1px solid var(--line);border-radius:10px;padding:25px;margin-top:30px;background:#16201b}.privacy-icon{font-size:30px;color:var(--green)}.privacy strong{font-weight:500;font-size:13px}.privacy p{font-size:11px;color:var(--muted);line-height:1.8;margin:6px 0 0;max-width:610px}.privacy-tag{margin-left:auto;color:var(--green);font-size:8px;letter-spacing:1.3px;white-space:nowrap}footer{padding:25px 4.5%;border-top:1px solid var(--line);display:flex;justify-content:space-between;color:#7e9186;font-size:9px;letter-spacing:1px;gap:20px}.footer-divider{color:var(--green);padding:0 9px}footer>span:last-child{letter-spacing:0}.login-panel{max-width:500px;margin:35px auto 80px}.login-panel h1{font-size:48px}.login-panel form{margin-top:35px;display:flex;flex-direction:column;gap:20px}label{font-size:12px;color:var(--muted);display:grid;gap:9px}input:not([type=range]){border:1px solid var(--line);background:var(--panel);color:var(--text);border-radius:7px;padding:14px;min-width:0}.primary{background:var(--green);color:var(--bg);border-color:var(--green);font-weight:650;display:flex;justify-content:space-between}.notice{border:1px solid #796444;background:#302a20;padding:15px;border-radius:7px;font-size:12px;line-height:1.7;color:#efdbb3;margin:0 0 23px}#login-error{color:var(--danger);font-size:12px;line-height:1.6}.empty{text-align:center;padding:60px 20px;background:var(--panel);border:1px dashed #445047;border-radius:12px}.empty-symbol{font-size:35px;color:var(--green);margin-bottom:15px}.empty p{color:var(--muted);font-size:13px;line-height:1.8}.empty code{color:var(--green);font-size:12px}.camera:fullscreen{border-radius:0;display:flex;flex-direction:column;overflow:auto;background:var(--bg)}.camera:fullscreen .viewport{flex:1;min-height:0}.camera:fullscreen .diagnostics{display:none}.camera:fullscreen .camera-heading{padding:10px 20px}.camera:fullscreen .talk-area{padding:8px 20px}.camera:fullscreen .camera-controls{padding:0 15px}@media(min-width:1450px){.grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:680px){header{padding:19px 5%}.brand-sub,.local,.privacy-tag{display:none}.brand{font-size:23px}.header-right{gap:0}main{padding:30px 5%}.page-heading{margin-bottom:27px}.overview strong{font-size:29px}.overview span{font-size:8px}.toolbar{padding:13px 0 18px}.tabs,.toolbar-actions{gap:3px}.quiet{padding:10px;font-size:11px}.badge{font-size:9px;padding-left:7px}.grid{grid-template-columns:1fr;gap:20px}.privacy{padding:19px 16px;gap:13px}.privacy p{font-size:10px}.privacy-icon{font-size:25px}footer{padding:22px 5%;font-size:8px}footer>span:last-child{display:none}.login-panel{margin:25px auto 40px}.login-panel h1{font-size:39px}.camera-heading{padding:17px}.talk-area{padding:15px 17px 9px}.volume{flex:1;max-width:100px}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important}}

.viewport .picture-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:contain;background:#090f0d}.camera-controls{flex-wrap:wrap}.picture-button{font-size:11px;padding:8px}.connection[data-state=preview]{color:var(--green);background:#283b29}

.motion-indicator{display:inline-block;padding:6px 8px;border-radius:3px;background:#3a3425;color:#f2cf84;font-size:10px}


.camera:not(:fullscreen) .close-view{display:none}

.camera:not(:fullscreen) .camera-controls,.camera:not(:fullscreen) .talk-area,.camera:not(:fullscreen) .diagnostics{display:none}

.camera:not(:fullscreen) .shock-controls{display:none}.shock-controls{padding:12px 20px;border-top:1px solid var(--line)}.shock-target{font-size:12px}.shock-sliders{display:flex;gap:24px;margin:12px 0}.shock-sliders label{flex:1}.shock-sliders input{width:100%;accent-color:var(--green)}.shock-actions{display:flex;gap:12px}.shock-button{background:var(--danger);color:#351a14;border-color:var(--danger)}.shock-status{font-size:12px;color:var(--muted);min-height:1em}

.fullscreen-exit,.controls-toggle{display:none}.viewport{overflow:hidden}.camera:fullscreen .fullscreen{display:none}.camera:fullscreen .fullscreen-exit{display:block;position:absolute;top:max(12px,env(safe-area-inset-top));right:max(12px,env(safe-area-inset-right));z-index:5;background:#101817d9}.camera:fullscreen .fullscreen-controls{flex-shrink:0}.shock-actions{flex-wrap:wrap}
@media(pointer:coarse){.camera:fullscreen .viewport{touch-action:none}.camera:fullscreen video{transform-origin:center;will-change:transform}}
@media(pointer:coarse) and (orientation:landscape){
.camera:fullscreen{position:fixed;inset:0;overflow:hidden;background:#000}
.camera:fullscreen .camera-heading{display:none}
.camera:fullscreen .viewport{position:absolute;inset:0;width:100%;height:100%;aspect-ratio:auto}
.camera:fullscreen .video-overlay{display:none}
.camera:fullscreen .controls-toggle{display:block;position:absolute;top:max(12px,env(safe-area-inset-top));left:max(12px,env(safe-area-inset-left));z-index:5;background:#101817d9}
.camera:fullscreen .fullscreen-controls{display:none;position:absolute;bottom:0;left:0;right:0;z-index:4;max-height:calc(100% - 70px);overflow-y:auto;background:#101817ed;padding:6px max(12px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left));border-top:1px solid var(--line)}
.camera:fullscreen.controls-open .fullscreen-controls{display:block}
.camera:fullscreen .talk-area{padding:5px 0}.camera:fullscreen .talk-status{margin:3px 0}.camera:fullscreen .shock-controls{padding:8px 0}.camera:fullscreen .shock-sliders{margin:6px 0}.camera:fullscreen .shock-status{margin:4px 0}
}

.camera:fullscreen .viewport{touch-action:none}.camera:fullscreen video{transform-origin:center}
