:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#f0f2f5f2;background-color:#050508;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#00d4ff;text-decoration:inherit}a:hover{color:#00a8cc}body{margin:0;min-width:320px;min-height:100vh;background:#050508}h1{font-size:2em;line-height:1.1}h2{font-size:1.5em}h3{font-size:1.2em}h4{font-size:1em}button{border-radius:4px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#12131a;color:inherit;cursor:pointer;transition:all .2s ease}button:hover{border-color:#00d4ff;background-color:#1a1c25}button:focus,button:focus-visible{outline:2px solid #00d4ff;outline-offset:2px}input{font-family:inherit;font-size:inherit}code{font-family:SF Mono,Fira Code,monospace}.landing-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:linear-gradient(180deg,#050508,#09090c,#050508);position:relative;overflow-x:hidden}.particles-bg{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;z-index:0;background:linear-gradient(90deg,rgba(0,212,255,.02) 1px,transparent 1px),linear-gradient(rgba(0,212,255,.02) 1px,transparent 1px);background-size:80px 80px}.particles-bg:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 50% 0%,rgba(0,212,255,.05) 0%,transparent 50%)}.particle{position:absolute;width:2px;height:2px;background:#00d4ff;border-radius:50%;box-shadow:0 0 6px #00d4ff,0 0 12px #09c6;opacity:.15}.hero-section{flex:1;display:flex;align-items:center;justify-content:center;padding:80px 24px;position:relative;z-index:1}.hero-content{text-align:center;max-width:680px}.logo-large{display:flex;flex-direction:column;align-items:center;gap:20px;margin-bottom:32px}.logo-icon-large{font-size:52px;color:#00d4ff;text-shadow:0 0 30px rgba(0,212,255,.6),0 0 60px rgba(0,212,255,.3);animation:tacticalGlow 4s ease-in-out infinite;filter:drop-shadow(0 0 8px rgba(0,212,255,.5))}@keyframes tacticalGlow{0%,to{text-shadow:0 0 20px rgba(0,212,255,.5),0 0 40px rgba(0,212,255,.25);transform:scale(1)}50%{text-shadow:0 0 30px rgba(0,212,255,.7),0 0 60px rgba(0,212,255,.35);transform:scale(1.02)}}.logo-title{font-size:48px;font-weight:700;letter-spacing:.35em;color:#f5f7fa;margin:0;text-transform:uppercase;font-feature-settings:"ss01" on,"ss02" on}.hero-tagline{font-size:12px;color:#00d4ff;text-transform:uppercase;letter-spacing:.4em;margin-bottom:32px;font-weight:500;opacity:.9}.hero-description{font-size:15px;color:#a0a4ad;line-height:1.75;max-width:480px;margin:0 auto;font-weight:400}.features-section{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;padding:48px 24px;max-width:1000px;margin:0 auto;position:relative;z-index:1}.feature-card{background:#0f1014cc;border:1px solid rgba(255,255,255,.06);border-radius:6px;padding:24px 20px;text-align:center;transition:all .25s ease;position:relative;overflow:hidden;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.feature-card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent 0%,rgba(0,212,255,.4) 50%,transparent 100%);opacity:0;transition:opacity .25s ease}.feature-card:after{content:"";position:absolute;top:8px;left:8px;width:16px;height:16px;border-left:1px solid rgba(0,212,255,.3);border-top:1px solid rgba(0,212,255,.3);opacity:0;transition:opacity .25s ease}.feature-card:hover{background:#0f1014f2;border-color:#00d4ff33;transform:translateY(-2px);box-shadow:0 8px 32px #0000004d,0 0 0 1px #00d4ff1a}.feature-card:hover:before,.feature-card:hover:after{opacity:1}.feature-icon{font-size:28px;display:block;margin-bottom:14px;filter:saturate(.8)}.feature-card h3{font-size:12px;font-weight:600;color:#f5f7fa;margin-bottom:8px;text-transform:uppercase;letter-spacing:.12em}.feature-card p{font-size:12px;color:#6b6f7a;line-height:1.5;margin:0}.cta-section{padding:60px 24px;text-align:center;position:relative;z-index:1}.btn-start-tracking-main{display:flex;flex-direction:column;align-items:center;gap:8px;padding:24px 48px;background:linear-gradient(135deg,#00d4ff,#09c);border:none;border-radius:6px;cursor:pointer;transition:all .25s ease;position:relative;overflow:hidden;margin:0 auto;box-shadow:0 4px 20px #00d4ff40,inset 0 1px #ffffff1a}.btn-start-tracking-main:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.15),transparent);transition:left .6s ease}.btn-start-tracking-main:hover:before{left:100%}.btn-start-tracking-main:hover{transform:translateY(-2px);box-shadow:0 8px 32px #00d4ff59,inset 0 1px #ffffff1a}.btn-start-tracking-main:active{transform:translateY(0)}.btn-icon-main{font-size:32px}.btn-text-main{font-size:18px;font-weight:700;color:#050508;letter-spacing:.2em;text-transform:uppercase}.btn-subtitle-main{font-size:10px;color:#05050899;text-transform:uppercase;letter-spacing:.15em;font-weight:500}.privacy-notice{margin-top:28px;font-size:11px;color:#4a4d56;display:flex;align-items:center;justify-content:center;gap:8px;font-weight:400}.landing-footer{padding:28px 24px;text-align:center;border-top:1px solid rgba(255,255,255,.04);position:relative;z-index:1}.landing-footer p{font-size:11px;color:#4a4d56;margin-bottom:6px;letter-spacing:.02em}.version-info{font-size:10px!important;color:#3a3c42!important;letter-spacing:.1em}@media(max-width:900px){.features-section{grid-template-columns:repeat(2,1fr);gap:14px;padding:32px 20px}}@media(max-width:768px){.logo-icon-large{font-size:44px}.logo-title{font-size:36px;letter-spacing:.25em}.hero-tagline{font-size:11px;letter-spacing:.3em}.hero-description{font-size:14px}.hero-section{padding:60px 20px}.feature-card{padding:20px 16px}.feature-icon{font-size:24px}.btn-start-tracking-main{padding:20px 36px}.btn-icon-main{font-size:28px}.btn-text-main{font-size:16px}}@media(max-width:480px){.logo-icon-large{font-size:36px}.logo-title{font-size:28px;letter-spacing:.2em}.hero-tagline{font-size:10px;letter-spacing:.25em}.hero-description{font-size:13px}.features-section{grid-template-columns:1fr;max-width:320px;gap:12px}.btn-start-tracking-main{padding:18px 28px;width:100%;max-width:280px}.btn-icon-main{font-size:24px}.btn-text-main{font-size:15px;letter-spacing:.15em}.btn-subtitle-main{font-size:9px}}.camera-view{position:relative;width:100%;max-width:100%;background:#050508;border-radius:0 0 8px 8px;overflow:hidden;border:1px solid rgba(0,212,255,.1);border-top:none}.video-container{position:relative;width:100%;aspect-ratio:16 / 9;background:linear-gradient(135deg,#050508,#0a0b0f)}.camera-feed{position:absolute;top:0;left:0;width:100%;height:100%;object-fit:cover}.detection-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.fluid-overlay{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none;mix-blend-mode:screen}.camera-controls{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#050508f2;border-top:1px solid rgba(0,212,255,.1)}.tracking-status{display:flex;align-items:center;gap:10px;color:#22c55e;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.tracking-indicator{width:8px;height:8px;background:#22c55e;border-radius:50%;animation:trackingPulse 1.5s infinite}@keyframes trackingPulse{0%,to{box-shadow:0 0 #22c55e99}50%{box-shadow:0 0 0 6px #22c55e00}}.model-badge{padding:4px 10px;border-radius:3px;font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;margin-left:10px}.model-badge.yolov8{background:#8b5cf626;color:#a78bfa;border:1px solid rgba(139,92,246,.3)}.model-badge.coco-ssd{background:#f9731626;color:#fb923c;border:1px solid rgba(249,115,22,.3)}.btn-stop-camera{display:flex;align-items:center;gap:8px;padding:8px 16px;font-size:11px;font-weight:600;border:1px solid rgba(239,68,68,.3);border-radius:4px;cursor:pointer;transition:all .2s ease;background:#ef44441a;color:#ef4444;text-transform:uppercase;letter-spacing:1px}.btn-stop-camera:hover{background:#ef4444;color:#fff}.icon{font-size:14px}.camera-capabilities{display:flex;align-items:center;gap:16px;flex:1;justify-content:center}.zoom-control{display:flex;align-items:center;gap:10px}.control-label{font-size:10px;font-weight:600;color:#8b8f9a;text-transform:uppercase;letter-spacing:1px}.zoom-slider{width:100px;height:4px;appearance:none;background:#00d4ff33;border-radius:2px;cursor:pointer}.zoom-slider::-webkit-slider-thumb{appearance:none;width:16px;height:16px;background:#00d4ff;border-radius:50%;cursor:pointer;transition:transform .2s}.zoom-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.zoom-slider::-moz-range-thumb{width:16px;height:16px;background:#00d4ff;border-radius:50%;cursor:pointer;border:none}.zoom-value{font-size:11px;font-weight:600;color:#00d4ff;min-width:35px;text-align:center}.btn-torch{display:flex;align-items:center;gap:6px;padding:6px 12px;font-size:10px;font-weight:600;background:#ffc8321a;border:1px solid rgba(255,200,50,.3);border-radius:4px;color:#ffc832;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:.5px}.btn-torch:hover{background:#ffc83233;border-color:#ffc83280}.btn-torch.active{background:#ffc832;color:#050508;border-color:#ffc832}.torch-icon{font-size:14px}.permission-overlay{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#050508fa,#0a0b0ffa);z-index:10;padding:30px}.permission-content{text-align:center;max-width:360px}.permission-icon{font-size:56px;margin-bottom:20px;animation:targetPulse 2.5s infinite}@keyframes targetPulse{0%,to{transform:scale(1);filter:drop-shadow(0 0 10px rgba(0,212,255,.4))}50%{transform:scale(1.08);filter:drop-shadow(0 0 20px rgba(0,212,255,.6))}}.permission-content h2{font-size:20px;font-weight:700;color:#f0f2f5;margin-bottom:12px;text-transform:uppercase;letter-spacing:2px}.permission-content p{font-size:13px;color:#8b8f9a;line-height:1.7;margin-bottom:24px}.permission-denied-hint{color:#ef4444!important;font-size:12px!important;padding:12px;background:#ef44441a;border:1px solid rgba(239,68,68,.2);border-radius:6px;margin-bottom:20px!important}.btn-start-tracking{display:flex;flex-direction:column;align-items:center;gap:6px;width:100%;padding:20px 28px;background:linear-gradient(135deg,#00d4ff,#09c);border:none;border-radius:6px;cursor:pointer;transition:all .2s ease;position:relative;overflow:hidden}.btn-start-tracking:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .4s}.btn-start-tracking:hover:before{left:100%}.btn-start-tracking:hover{transform:translateY(-3px);box-shadow:0 8px 24px #00d4ff66}.btn-start-tracking:active{transform:translateY(-1px)}.btn-icon{font-size:24px}.btn-text{font-size:16px;font-weight:700;color:#050508;text-transform:uppercase;letter-spacing:2px}.btn-subtitle{font-size:10px;color:#05050899;text-transform:uppercase;letter-spacing:1px}.loading-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:linear-gradient(135deg,#050508fa,#0a0b0ffa);z-index:10}.loader{width:50px;height:50px;border:2px solid rgba(0,212,255,.1);border-top-color:#00d4ff;border-radius:50%;animation:spin 1s linear infinite}.loading-overlay p{margin-top:20px;color:#8b8f9a;font-size:13px;letter-spacing:.5px}.error-overlay{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#050508fa;z-index:10;padding:30px;text-align:center}.error-icon{font-size:44px;margin-bottom:16px}.error-overlay p{color:#ef4444;margin-bottom:20px;max-width:280px;line-height:1.6;font-size:13px}.error-overlay button{padding:10px 24px;background:#ef4444;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:1px;transition:all .2s}.error-overlay button:hover{background:#dc2626}@media(max-width:480px){.camera-view{border-radius:0 0 6px 6px}.video-container{aspect-ratio:4 / 3}.camera-controls{flex-direction:column;gap:10px;padding:12px}.tracking-status{font-size:11px}.tracking-indicator{width:6px;height:6px}.model-badge{font-size:8px;padding:3px 6px}.btn-stop-camera{width:100%;justify-content:center;padding:10px 14px;font-size:10px}.permission-overlay{padding:20px}.permission-icon{font-size:44px;margin-bottom:16px}.permission-content h2{font-size:18px;margin-bottom:10px}.permission-content p{font-size:12px;margin-bottom:20px}.btn-start-tracking{padding:16px 24px}.btn-icon{font-size:20px}.btn-text{font-size:14px}.btn-subtitle{font-size:9px}.loading-overlay p{font-size:12px}.loader{width:44px;height:44px}.error-icon{font-size:36px}.error-overlay p{font-size:12px;max-width:240px}.error-overlay button{padding:10px 20px;font-size:11px}}.threat-display{background:#0c0d12f2;border:1px solid rgba(255,255,255,.06);border-radius:8px;padding:16px;transition:all .3s ease}.threat-header{display:flex;align-items:center;gap:10px;margin-bottom:16px}.threat-indicator{width:10px;height:10px;border-radius:50%;animation:pulse 2s infinite}.threat-critical .threat-indicator{animation:criticalPulse .5s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.1)}}@keyframes criticalPulse{0%,to{opacity:1;transform:scale(1);box-shadow:0 0 8px currentColor}50%{opacity:.8;transform:scale(1.3);box-shadow:0 0 16px currentColor}}.threat-level{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:2px}.threat-stats{display:flex;gap:16px;margin-bottom:16px;padding:12px;background:#ffffff05;border-radius:6px;border:1px solid rgba(255,255,255,.04)}.stat{display:flex;flex-direction:column;align-items:center;flex:1}.stat-value{font-size:22px;font-weight:700;color:#f0f2f5;font-variant-numeric:tabular-nums}.stat-label{font-size:9px;color:#5a5d68;text-transform:uppercase;letter-spacing:1px}.active-threats{margin-top:12px}.active-threats h4{font-size:10px;color:#5a5d68;text-transform:uppercase;letter-spacing:1.5px;margin-bottom:10px}.active-threats ul{list-style:none;padding:0;margin:0}.threat-item{display:flex;align-items:center;gap:10px;padding:10px;background:#ffffff05;border-radius:4px;margin-bottom:6px;border-left:2px solid #ef4444}.threat-dot{width:8px;height:8px;border-radius:50%}.threat-name{flex:1;font-size:12px;color:#f0f2f5}.threat-confidence{font-size:11px;color:#00d4ff;font-weight:600}.threat-none{border-color:#22c55e}.threat-low{border-color:#eab308}.threat-medium{border-color:#f97316}.threat-high{border-color:#ef4444}.threat-critical{border-color:#dc2626;animation:criticalBorder 1s infinite}@keyframes criticalBorder{0%,to{box-shadow:0 0 8px #dc262666}50%{box-shadow:0 0 20px #dc2626b3}}@media(max-width:480px){.threat-display{padding:14px;border-radius:6px}.threat-header{margin-bottom:12px}.threat-level{font-size:12px;letter-spacing:1.5px}.threat-stats{gap:12px;padding:10px;margin-bottom:12px}.stat-value{font-size:18px}.stat-label{font-size:8px}.threat-item{padding:8px}.threat-name{font-size:11px}}.network-panel{background:#0c0d12f2;border:1px solid rgba(255,255,255,.06);border-radius:8px;overflow:hidden;transition:all .3s ease}.network-header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;cursor:pointer;background:#ffffff05}.connection-status{display:flex;align-items:center;gap:10px}.status-dot{width:8px;height:8px;border-radius:50%;background:#5a5d68;transition:background .3s}.status-dot.connected{background:#22c55e;box-shadow:0 0 8px #22c55e80;animation:statusPulse 2s infinite}@keyframes statusPulse{0%,to{box-shadow:0 0 4px #22c55e80}50%{box-shadow:0 0 12px #22c55eb3}}.status-text{font-size:12px;color:#f0f2f5;font-weight:500}.peer-count{display:flex;flex-direction:column;align-items:center}.peer-count .count{font-size:18px;font-weight:700;color:#00d4ff;font-variant-numeric:tabular-nums}.peer-count .label{font-size:9px;color:#5a5d68;text-transform:uppercase;letter-spacing:1px}.expand-btn{background:none;border:none;color:#5a5d68;font-size:10px;cursor:pointer;padding:6px;transition:transform .3s}.expanded .expand-btn{transform:rotate(180deg)}.network-content{padding:16px;border-top:1px solid rgba(255,255,255,.06)}.device-info{margin-bottom:16px}.device-info label{display:block;font-size:10px;color:#5a5d68;text-transform:uppercase;letter-spacing:1px;margin-bottom:6px}.id-display{display:flex;align-items:center;gap:8px;background:#0000004d;padding:10px 12px;border-radius:4px;border:1px solid rgba(255,255,255,.04)}.id-display code{flex:1;font-family:SF Mono,Fira Code,monospace;font-size:11px;color:#00d4ff}.copy-btn{background:none;border:none;font-size:14px;cursor:pointer;padding:4px;opacity:.6;transition:opacity .2s}.copy-btn:hover{opacity:1}.room-section{margin-bottom:16px}.btn-create-room{width:100%;padding:12px;background:linear-gradient(135deg,#00d4ff,#09c);color:#050508;border:none;border-radius:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .2s}.btn-create-room:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00d4ff66}.divider{text-align:center;color:#5a5d68;font-size:10px;text-transform:uppercase;letter-spacing:1px;margin:14px 0}.join-room{display:flex;gap:8px}.join-room input{flex:1;padding:10px 12px;background:#0000004d;border:1px solid rgba(255,255,255,.06);border-radius:4px;color:#f0f2f5;font-size:12px}.join-room input::placeholder{color:#5a5d68}.join-room input:focus{border-color:#00d4ff;outline:none}.btn-join{padding:10px 18px;background:#22c55e;color:#fff;border:none;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .2s}.btn-join:hover{background:#16a34a}.room-active{text-align:center}.room-active label{font-size:10px;color:#5a5d68;text-transform:uppercase;letter-spacing:1px}.room-id{display:flex;align-items:center;justify-content:center;gap:10px;margin:10px 0}.room-id code{font-size:16px;font-weight:700;color:#22c55e;letter-spacing:1px}.share-hint{font-size:10px;color:#5a5d68}.peers-list{margin-top:16px}.peers-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.peers-list h4{font-size:10px;color:#5a5d68;text-transform:uppercase;letter-spacing:1px;margin:0}.btn-grid-view{display:flex;align-items:center;gap:6px;padding:4px 10px;background:#ffc8321a;border:1px solid rgba(255,200,50,.3);border-radius:4px;color:#ffc832;font-size:9px;font-weight:600;cursor:pointer;transition:all .2s;text-transform:uppercase;letter-spacing:.5px}.btn-grid-view:hover{background:#ffc83233;border-color:#ffc83280}.btn-grid-view.active{background:#ffc832;color:#050508;border-color:#ffc832}.grid-icon{font-size:12px}.peers-list ul{list-style:none;padding:0;margin:0}.peer-item{display:flex;align-items:center;gap:10px;padding:10px;background:#ffffff05;border-radius:4px;margin-bottom:6px;border-left:2px solid #00d4ff}.peer-item.grid-active{border-left-color:#ffc832;background:#ffc8320d}.peer-icon{font-size:16px}.peer-id{flex:1;font-family:SF Mono,Fira Code,monospace;font-size:11px;color:#f0f2f5}.peer-status{font-size:9px;color:#22c55e;background:#22c55e1a;padding:3px 8px;border-radius:3px;text-transform:uppercase;letter-spacing:.5px}.host-hint{font-size:10px;color:#5a5d68;margin-bottom:8px;font-style:italic}.btn-view-switch{padding:4px 10px;background:#00d4ff26;color:#00d4ff;border:1px solid rgba(0,212,255,.3);border-radius:4px;font-size:10px;font-weight:500;cursor:pointer;transition:all .2s;margin-left:auto}.btn-view-switch:hover{background:#00d4ff40;border-color:#00d4ff}.btn-view-switch.viewing{background:#00d4ff4d;border-color:#00d4ff;color:#fff}.peer-item.active-view{border-left-color:#00d4ff;background:#00d4ff1a}.remote-alerts{margin-top:16px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06)}.remote-alerts h4{font-size:10px;color:#5a5d68;text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.remote-alerts ul{list-style:none;padding:0;margin:0}.alert-item{display:flex;align-items:center;gap:8px;padding:10px;border-radius:4px;margin-bottom:6px;font-size:11px}.alert-low{background:#eab3081a;border-left:2px solid #eab308}.alert-medium{background:#f973161a;border-left:2px solid #f97316}.alert-high{background:#ef44441a;border-left:2px solid #ef4444}.alert-critical{background:#dc262626;border-left:2px solid #dc2626}.alert-source{color:#00d4ff;font-family:SF Mono,Fira Code,monospace}.alert-message{flex:1;color:#f0f2f5}.alert-time{color:#5a5d68;font-size:9px}@media(max-width:480px){.network-panel{border-radius:6px}.network-header{padding:12px 14px}.status-text{font-size:11px}.peer-count .count{font-size:16px}.network-content{padding:14px}.btn-create-room{padding:10px;font-size:10px}.join-room input{padding:8px 10px;font-size:11px}.btn-join{padding:8px 14px;font-size:10px}.peer-item{padding:8px}.peer-id{font-size:10px}}.join-error{color:#ef4444;font-size:11px;margin-top:12px;padding:10px 12px;background:#ef44441a;border-radius:4px;border-left:2px solid #ef4444;white-space:pre-wrap;line-height:1.5}.connection-progress{font-size:11px;margin-top:8px;padding:8px 12px;border-radius:4px;animation:progressPulse 1.5s ease-in-out infinite}.connection-progress.connecting{color:#00d4ff;background:#00d4ff1a;border-left:2px solid #00d4ff}.connection-progress.retrying{color:#ffc832;background:#ffc8321a;border-left:2px solid #ffc832}.connection-progress.connected{color:#22c55e;background:#22c55e1a;border-left:2px solid #22c55e;animation:none}@keyframes progressPulse{0%,to{opacity:1}50%{opacity:.6}}.btn-join:disabled,.btn-create-room:disabled{opacity:.5;cursor:not-allowed}.btn-join:disabled:hover,.btn-create-room:disabled:hover{transform:none;box-shadow:none}.join-room input:disabled{opacity:.5;cursor:not-allowed}.chat-panel{background:#0c0d12f2;border:1px solid rgba(255,255,255,.06);border-radius:8px;overflow:hidden;transition:all .3s ease;margin-top:12px}.chat-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;cursor:pointer;background:#ffffff05}.chat-title{display:flex;align-items:center;gap:8px}.chat-icon{font-size:14px}.chat-text{font-size:12px;color:#f0f2f5;font-weight:500}.chat-badge{display:flex;align-items:center}.message-count{background:#00d4ff;color:#050508;font-size:10px;font-weight:700;padding:2px 8px;border-radius:10px;min-width:20px;text-align:center}.chat-expand-btn{background:none;border:none;color:#5a5d68;font-size:10px;cursor:pointer;padding:6px;transition:transform .3s}.expanded .chat-expand-btn{transform:rotate(180deg)}.chat-content{padding:0;border-top:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;height:250px}.messages-container{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:8px}.messages-container::-webkit-scrollbar{width:4px}.messages-container::-webkit-scrollbar-track{background:#0003}.messages-container::-webkit-scrollbar-thumb{background:#00d4ff4d;border-radius:2px}.no-messages{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100%;color:#5a5d68;font-size:12px;text-align:center}.no-messages .hint{font-size:10px;margin-top:4px;opacity:.7}.message-item{padding:8px 12px;border-radius:6px;max-width:85%}.message-item.local{background:#00d4ff26;border-left:2px solid #00d4ff;align-self:flex-end}.message-item.remote{background:#ffffff0d;border-left:2px solid #22c55e;align-self:flex-start}.message-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:4px}.message-sender{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.message-item.local .message-sender{color:#00d4ff}.message-item.remote .message-sender{color:#22c55e}.message-time{font-size:9px;color:#5a5d68}.message-body{font-size:12px;color:#f0f2f5;line-height:1.4;word-wrap:break-word}.chat-input-form{display:flex;gap:8px;padding:12px;border-top:1px solid rgba(255,255,255,.06);background:#0003}.chat-input{flex:1;padding:10px 12px;background:#0000004d;border:1px solid rgba(255,255,255,.06);border-radius:4px;color:#f0f2f5;font-size:12px}.chat-input::placeholder{color:#5a5d68}.chat-input:focus{border-color:#00d4ff;outline:none}.btn-send{padding:10px 18px;background:#00d4ff;color:#050508;border:none;border-radius:4px;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .2s}.btn-send:hover:not(:disabled){background:#00b8e0}.btn-send:disabled{opacity:.5;cursor:not-allowed}@media(max-width:480px){.chat-panel{border-radius:6px}.chat-header{padding:10px 14px}.chat-text{font-size:11px}.chat-content{height:200px}.messages-container{padding:10px}.message-item{padding:6px 10px}.message-body{font-size:11px}.chat-input-form{padding:10px}.chat-input{padding:8px 10px;font-size:11px}.btn-send{padding:8px 14px;font-size:10px}}.walkie-talkie{background:#0c0d12f2;border:1px solid rgba(255,255,255,.06);border-radius:8px;overflow:hidden;margin-top:12px}.walkie-header{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#ffffff05;border-bottom:1px solid rgba(255,255,255,.06)}.walkie-icon{font-size:14px}.walkie-title{font-size:12px;color:#f0f2f5;font-weight:500;flex:1}.talkers-badge{background:#22c55e;color:#050508;font-size:9px;font-weight:700;padding:3px 8px;border-radius:10px;text-transform:uppercase;letter-spacing:.5px;animation:talkPulse 1s infinite}@keyframes talkPulse{0%,to{opacity:1}50%{opacity:.7}}.walkie-content{padding:16px;display:flex;flex-direction:column;align-items:center;gap:12px}.btn-talk{width:100%;padding:16px 24px;background:#00d4ff1a;border:2px solid rgba(0,212,255,.3);border-radius:8px;color:#00d4ff;font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:1px;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:10px;transition:all .2s ease;user-select:none;-webkit-user-select:none;touch-action:manipulation}.btn-talk:hover{background:#00d4ff33;border-color:#00d4ff80}.btn-talk:active,.btn-talk.talking{background:linear-gradient(135deg,#00d4ff,#09c);border-color:#00d4ff;color:#050508;transform:scale(1.02)}.btn-talk.talking{animation:transmitPulse .5s infinite}@keyframes transmitPulse{0%,to{box-shadow:0 0 10px #00d4ff80}50%{box-shadow:0 0 25px #00d4ffcc}}.talk-icon{font-size:18px}.talk-text{font-size:11px}.walkie-error{color:#ef4444;font-size:11px;text-align:center;margin:0}.walkie-hint{color:#5a5d68;font-size:10px;text-align:center;margin:0}.remote-talkers{width:100%;padding-top:8px;border-top:1px solid rgba(255,255,255,.06)}.receiving-label{font-size:9px;color:#5a5d68;text-transform:uppercase;letter-spacing:1px;display:block;margin-bottom:8px}.remote-talkers ul{list-style:none;padding:0;margin:0}.talker-item{display:flex;align-items:center;gap:8px;padding:6px 10px;background:#22c55e1a;border-radius:4px;margin-bottom:4px}.talker-indicator{width:8px;height:8px;background:#22c55e;border-radius:50%;animation:indicatorPulse .8s infinite}@keyframes indicatorPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.3);opacity:.7}}.talker-id{font-size:10px;color:#22c55e;font-family:SF Mono,Fira Code,monospace}.walkie-talkie.compact{margin-top:0;border-radius:6px}.walkie-talkie.compact .walkie-header{padding:8px 12px}.walkie-talkie.compact .walkie-content{padding:12px}.walkie-talkie.compact .btn-talk{padding:12px 16px}@media(max-width:480px){.walkie-talkie{border-radius:6px}.walkie-header{padding:10px 14px}.walkie-title{font-size:11px}.walkie-content{padding:14px}.btn-talk{padding:14px 20px}.talk-icon{font-size:16px}.talk-text{font-size:10px}}.fullscreen-camera{position:fixed;inset:0;background:#050508;z-index:10000;display:flex;flex-direction:column;overflow:hidden}.fs-header{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:#050508f2;border-bottom:1px solid rgba(0,212,255,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10}.fs-header-left{display:flex;align-items:center;gap:20px}.fs-logo{display:flex;align-items:center;gap:10px}.fs-logo-icon{font-size:20px;color:#00d4ff;text-shadow:0 0 15px #00d4ff}.fs-logo-text{font-size:16px;font-weight:700;letter-spacing:4px;color:#f0f2f5}.fs-mode-badge{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#00d4ff1a;border:1px solid rgba(0,212,255,.3);border-radius:4px;font-size:10px;font-weight:600;letter-spacing:1px;color:#00d4ff}.fs-mode-dot{width:6px;height:6px;background:#00d4ff;border-radius:50%;animation:modePulse 1.5s infinite}@keyframes modePulse{0%,to{opacity:1}50%{opacity:.4}}.fs-header-center{flex:1;display:flex;justify-content:center}.fs-threat-indicator{display:flex;align-items:center;gap:10px;padding:8px 20px;border-radius:4px;font-size:14px;font-weight:700;letter-spacing:2px;text-transform:uppercase;transition:all .3s ease}.fs-threat-indicator.threat-none{background:#22c55e1a;border:1px solid rgba(34,197,94,.3);color:#22c55e}.fs-threat-indicator.threat-info{background:#3b82f61a;border:1px solid rgba(59,130,246,.3);color:#3b82f6}.fs-threat-indicator.threat-low{background:#eab3081a;border:1px solid rgba(234,179,8,.3);color:#eab308}.fs-threat-indicator.threat-medium{background:#f973161a;border:1px solid rgba(249,115,22,.3);color:#f97316}.fs-threat-indicator.threat-high{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:#ef4444;animation:threatPulse 1s infinite}.fs-threat-indicator.threat-critical{background:#dc262633;border:1px solid rgba(220,38,38,.5);color:#dc2626;animation:criticalPulse .5s infinite}@keyframes threatPulse{0%,to{box-shadow:0 0 10px #ef44444d}50%{box-shadow:0 0 20px #ef444480}}@keyframes criticalPulse{0%,to{box-shadow:0 0 15px #dc262680}50%{box-shadow:0 0 30px #dc2626cc}}.fs-threat-dot{width:10px;height:10px;border-radius:50%;background:currentColor;animation:dotPulse 2s infinite}@keyframes dotPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}}.fs-header-right{display:flex;align-items:center;gap:20px}.fs-stats{display:flex;gap:16px}.fs-stat{display:flex;flex-direction:column;align-items:center;padding:6px 14px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:4px}.fs-stat-value{font-size:20px;font-weight:700;color:#00d4ff;font-variant-numeric:tabular-nums}.fs-stat-label{font-size:9px;color:#5a5d68;letter-spacing:1px}.fs-btn-close{display:flex;align-items:center;gap:8px;padding:10px 18px;background:#ef44441a;border:1px solid rgba(239,68,68,.3);border-radius:4px;color:#ef4444;font-size:11px;font-weight:600;letter-spacing:1px;cursor:pointer;transition:all .2s ease}.fs-btn-close:hover{background:#ef4444;color:#fff}.fs-main{flex:1;display:flex;position:relative;overflow:hidden}.fs-video-container{flex:1;position:relative;background:#050508;display:flex;align-items:center;justify-content:center}.fs-video{width:100%;height:100%;object-fit:contain;background:#050508}.fs-detection-canvas,.fs-fluid-canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.fs-fluid-canvas{mix-blend-mode:screen}.fs-tactical-overlay{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,212,255,.02) 1px,transparent 1px),linear-gradient(rgba(0,212,255,.02) 1px,transparent 1px);background-size:60px 60px}.fs-corner{position:absolute;width:60px;height:60px;border-color:#00d4ff80;border-style:solid}.fs-corner-tl{top:20px;left:20px;border-width:2px 0 0 2px}.fs-corner-tr{top:20px;right:20px;border-width:2px 2px 0 0}.fs-corner-bl{bottom:20px;left:20px;border-width:0 0 2px 2px}.fs-corner-br{bottom:20px;right:20px;border-width:0 2px 2px 0}.fs-crosshair{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:40px;height:40px}.fs-crosshair:before,.fs-crosshair:after{content:"";position:absolute;background:#00d4ff66}.fs-crosshair:before{width:1px;height:100%;left:50%;transform:translate(-50%)}.fs-crosshair:after{width:100%;height:1px;top:50%;transform:translateY(-50%)}.fs-hud{position:absolute;bottom:20px;left:20px;right:20px;display:flex;justify-content:space-between;pointer-events:none}.fs-hud-timestamp,.fs-hud-model{padding:6px 12px;background:#0009;border:1px solid rgba(0,212,255,.2);border-radius:4px;font-size:11px;font-family:SF Mono,Fira Code,monospace;color:#00d4ff;letter-spacing:1px}.fs-camera-controls{position:absolute;bottom:70px;left:50%;transform:translate(-50%);display:flex;align-items:center;gap:20px;padding:12px 20px;background:#000000b3;border:1px solid rgba(0,212,255,.2);border-radius:8px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.fs-zoom-control{display:flex;align-items:center;gap:12px}.fs-control-label{font-size:10px;font-weight:600;color:#8b8f9a;letter-spacing:1px}.fs-zoom-slider{width:120px;height:4px;appearance:none;background:#00d4ff33;border-radius:2px;cursor:pointer}.fs-zoom-slider::-webkit-slider-thumb{appearance:none;width:18px;height:18px;background:#00d4ff;border-radius:50%;cursor:pointer;transition:transform .2s}.fs-zoom-slider::-webkit-slider-thumb:hover{transform:scale(1.2)}.fs-zoom-slider::-moz-range-thumb{width:18px;height:18px;background:#00d4ff;border-radius:50%;cursor:pointer;border:none}.fs-zoom-value{font-size:12px;font-weight:600;color:#00d4ff;min-width:40px;text-align:center;font-family:SF Mono,Fira Code,monospace}.fs-btn-torch{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:10px;font-weight:600;background:#ffc8321a;border:1px solid rgba(255,200,50,.3);border-radius:4px;color:#ffc832;cursor:pointer;transition:all .2s ease;text-transform:uppercase;letter-spacing:1px}.fs-btn-torch:hover{background:#ffc83233;border-color:#ffc83280}.fs-btn-torch.active{background:#ffc832;color:#050508;border-color:#ffc832}.fs-torch-icon{font-size:14px}.fs-sidebar{width:280px;background:#0a0b0ff2;border-left:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;overflow-y:auto}.fs-panel{padding:16px;border-bottom:1px solid rgba(255,255,255,.06)}.fs-panel-alert{background:#ef44440d}.fs-panel-title{font-size:10px;font-weight:600;color:#5a5d68;letter-spacing:1.5px;margin-bottom:12px;text-transform:uppercase}.fs-threat-status{padding:12px;border-radius:6px;text-align:center}.fs-threat-status.threat-none{background:#22c55e1a}.fs-threat-status.threat-low{background:#eab3081a}.fs-threat-status.threat-medium{background:#f973161a}.fs-threat-status.threat-high{background:#ef44441a}.fs-threat-status.threat-critical{background:#dc262626}.fs-threat-level-display{display:flex;align-items:center;justify-content:center;gap:10px}.fs-threat-level-icon{width:12px;height:12px;border-radius:50%;animation:iconPulse 2s infinite}.threat-none .fs-threat-level-icon{background:#22c55e}.threat-low .fs-threat-level-icon{background:#eab308}.threat-medium .fs-threat-level-icon{background:#f97316}.threat-high .fs-threat-level-icon{background:#ef4444}.threat-critical .fs-threat-level-icon{background:#dc2626}@keyframes iconPulse{0%,to{transform:scale(1)}50%{transform:scale(1.2)}}.fs-threat-level-text{font-size:14px;font-weight:700;letter-spacing:1px}.threat-none .fs-threat-level-text{color:#22c55e}.threat-low .fs-threat-level-text{color:#eab308}.threat-medium .fs-threat-level-text{color:#f97316}.threat-high .fs-threat-level-text{color:#ef4444}.threat-critical .fs-threat-level-text{color:#dc2626}.fs-no-detections{font-size:12px;color:#5a5d68;text-align:center;padding:20px 0}.fs-detection-list,.fs-threat-list{list-style:none;padding:0;margin:0}.fs-detection-item,.fs-threat-item{display:flex;align-items:center;gap:10px;padding:10px;background:#ffffff05;border-radius:4px;margin-bottom:6px;border-left:2px solid transparent}.fs-detection-item{border-left-color:#00d4ff}.fs-threat-item{border-left-color:#ef4444}.fs-detection-dot,.fs-threat-type-dot{width:8px;height:8px;border-radius:50%}.fs-detection-label,.fs-threat-type-label{flex:1;font-size:12px;color:#f0f2f5}.fs-detection-confidence{font-size:11px;color:#00d4ff;font-weight:600}.fs-threat-type-level{font-size:10px;font-weight:700;letter-spacing:.5px}.fs-loading{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#050508fa;z-index:100}.fs-loader{width:60px;height:60px;border:2px solid rgba(0,212,255,.1);border-top-color:#00d4ff;border-radius:50%;animation:spin 1s linear infinite}.fs-loading-text{margin-top:20px;color:#8b8f9a;font-size:14px;letter-spacing:.5px}.fs-loading-progress{width:200px;height:2px;background:#00d4ff1a;border-radius:1px;margin-top:16px;overflow:hidden}.fs-loading-bar{width:40%;height:100%;background:#00d4ff;animation:loadingBar 1.5s ease infinite}@keyframes loadingBar{0%{transform:translate(-100%)}to{transform:translate(350%)}}.fs-error{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#050508fa;z-index:100;text-align:center;padding:20px}.fs-error-icon{font-size:48px;margin-bottom:16px;color:#ef4444}.fs-error p{color:#ef4444;font-size:14px;margin-bottom:20px;max-width:300px}.fs-error button{padding:12px 24px;background:#ef4444;color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:all .2s}.fs-error button:hover{background:#dc2626}.fs-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 20px;background:#050508f2;border-top:1px solid rgba(255,255,255,.06);font-size:11px;color:#5a5d68}.fs-footer-left{display:flex;align-items:center;gap:8px}.fs-recording-indicator{width:8px;height:8px;background:#ef4444;border-radius:50%;animation:recordingPulse 1s infinite}@keyframes recordingPulse{0%,to{opacity:1}50%{opacity:.3}}.fs-footer-center{color:#8b8f9a}.fs-camera-active{color:#22c55e;font-weight:600}.fs-btn-comm{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#00d4ff1a;border:1px solid rgba(0,212,255,.3);border-radius:4px;color:#00d4ff;font-size:11px;font-weight:600;letter-spacing:1px;cursor:pointer;transition:all .2s ease}.fs-btn-comm:hover{background:#00d4ff33;border-color:#00d4ff80}.fs-btn-comm.active{background:#00d4ff;color:#050508;border-color:#00d4ff}.fs-comm-icon{font-size:14px}.fs-comm-panel{position:fixed;top:60px;right:-320px;width:320px;bottom:50px;background:#0a0b0ffa;border-left:1px solid rgba(0,212,255,.2);display:flex;flex-direction:column;transition:right .3s ease;z-index:10001}.fs-comm-panel.visible{right:0}.fs-comm-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#00d4ff1a;border-bottom:1px solid rgba(0,212,255,.2)}.fs-comm-title{font-size:12px;font-weight:700;color:#00d4ff;letter-spacing:1px}.fs-comm-close{background:none;border:none;color:#5a5d68;font-size:20px;cursor:pointer;padding:4px 8px;transition:color .2s}.fs-comm-close:hover{color:#f0f2f5}.fs-comm-content{flex:1;overflow-y:auto;padding:12px;display:flex;flex-direction:column;gap:12px}@media(max-width:900px){.fs-sidebar{display:none}.fs-header{flex-wrap:wrap;gap:10px;padding:10px 16px}.fs-header-center{order:3;width:100%;justify-content:center}.fs-mode-badge,.fs-stats{display:none}.fs-comm-panel{width:280px;right:-280px}}@media(max-width:480px){.fs-header{padding:8px 12px}.fs-logo-text{font-size:14px;letter-spacing:2px}.fs-threat-indicator{padding:6px 14px;font-size:12px}.fs-btn-close{padding:8px 12px;font-size:10px}.fs-footer{flex-direction:column;gap:6px;text-align:center}.fs-corner{width:30px;height:30px}}.tracking-page{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:#050508;overflow-x:hidden}.tracking-header{display:flex;align-items:center;justify-content:space-between;padding:12px 24px;background:linear-gradient(180deg,#0a0b0ffa,#050508f2);border-bottom:1px solid rgba(0,212,255,.1);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:100}.header-left{display:flex;align-items:center;gap:20px}.btn-back{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#ffffff08;border:1px solid rgba(255,255,255,.08);border-radius:4px;color:#8b8f9a;cursor:pointer;font-size:12px;font-weight:500;text-transform:uppercase;letter-spacing:1px;transition:all .2s ease}.btn-back:hover{background:#ffffff0f;border-color:#00d4ff;color:#f0f2f5}.back-icon{font-size:16px}.logo-section-small{display:flex;align-items:center;gap:10px}.logo-icon-small{font-size:18px;color:#00d4ff;text-shadow:0 0 12px #00d4ff}.logo-text-small{font-size:16px;font-weight:700;letter-spacing:4px;color:#f0f2f5}.tracking-main{display:grid;grid-template-columns:1fr 320px;gap:20px;padding:20px;flex:1;min-height:0}.camera-section{min-width:0;min-height:0;display:flex;flex-direction:column}.camera-section-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#0a0b0fcc;border:1px solid rgba(0,212,255,.1);border-bottom:none;border-radius:8px 8px 0 0}.camera-section-actions{display:flex;align-items:center;gap:10px}.btn-back-to-local{display:flex;align-items:center;gap:6px;padding:8px 14px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1);border-radius:4px;color:#8b8f9a;font-size:11px;font-weight:600;text-transform:uppercase;letter-spacing:.5px;cursor:pointer;transition:all .2s ease}.btn-back-to-local:hover{background:#ffffff1a;border-color:#00d4ff;color:#f0f2f5}.camera-section-title{display:flex;align-items:center;gap:10px;font-size:12px;font-weight:600;color:#8b8f9a;letter-spacing:2px;text-transform:uppercase;margin:0}.camera-title-icon{color:#00d4ff;font-size:10px;animation:recordBlink 1.5s infinite}.remote-view-badge{display:inline-flex;align-items:center;gap:6px;margin-left:12px;padding:4px 10px;background:#00d4ff26;border:1px solid rgba(0,212,255,.3);border-radius:4px;font-size:10px;font-weight:500;color:#00d4ff;letter-spacing:.5px}.grid-view-badge{display:inline-flex;align-items:center;gap:6px;margin-left:12px;padding:4px 10px;background:#ffc83226;border:1px solid rgba(255,200,50,.3);border-radius:4px;font-size:10px;font-weight:500;color:#ffc832;letter-spacing:.5px;animation:gridPulse 2s infinite}@keyframes gridPulse{0%,to{opacity:1}50%{opacity:.7}}@keyframes recordBlink{0%,to{opacity:1}50%{opacity:.3}}.btn-fullscreen{display:flex;align-items:center;gap:8px;padding:8px 16px;background:linear-gradient(135deg,#00d4ff,#09c);border:none;border-radius:4px;color:#050508;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .2s ease}.btn-fullscreen:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00d4ff66}.fullscreen-icon{font-size:14px}.remote-video-container{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#0a0b0fe6;border:1px solid rgba(0,212,255,.2);border-top:none;border-radius:0 0 8px 8px;min-height:400px;position:relative;overflow:hidden}.remote-video-feed{width:100%;height:100%;object-fit:cover;background:#0a0b0f}.remote-video-loading,.remote-video-waiting,.remote-video-error{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;padding:40px;text-align:center}.remote-video-loading .loading-spinner{width:48px;height:48px;border:3px solid rgba(0,212,255,.2);border-top-color:#00d4ff;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.remote-video-loading p,.remote-video-waiting p,.remote-video-error p{color:#8b8f9a;font-size:14px;margin:0}.remote-video-error{color:#ef4444}.remote-video-error .error-icon{font-size:48px;color:#ef4444}.remote-video-error button{padding:10px 20px;background:#00d4ff33;border:1px solid #00d4ff;border-radius:4px;color:#00d4ff;font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .2s ease}.remote-video-error button:hover{background:#00d4ff4d}.remote-video-waiting .waiting-icon{font-size:48px;animation:pulse 2s infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.05)}}.remote-video-waiting .hint{font-size:12px;color:#5a5d68}.sidebar{display:flex;flex-direction:column;gap:16px;min-height:0;overflow-y:auto}.tracking-footer{padding:16px 24px;text-align:center;background:#050508f2;border-top:1px solid rgba(255,255,255,.06)}.tracking-footer p{font-size:11px;color:#5a5d68;letter-spacing:.5px}@media(max-width:900px){.tracking-page .tracking-main{grid-template-columns:1fr;gap:16px}.tracking-page .tracking-main .camera-section{order:0}.tracking-page .tracking-main .sidebar{order:1}.tracking-header{flex-direction:column;gap:12px;text-align:center}.header-left{justify-content:center}}@media(max-width:480px){.tracking-main{padding:12px;gap:12px}.tracking-header{padding:10px 16px}.logo-text-small{font-size:14px;letter-spacing:3px}.btn-back{padding:6px 12px;font-size:11px}.tracking-footer{padding:12px 16px}.tracking-footer p{font-size:10px}.camera-section-header{flex-direction:column;gap:10px;padding:10px 12px}.camera-section-actions{width:100%}.btn-fullscreen,.btn-back-to-local{flex:1;justify-content:center}}*{box-sizing:border-box;margin:0;padding:0}:root{--bg-primary: #050508;--bg-secondary: #09090c;--bg-tertiary: #0d0e12;--bg-card: #0f1014;--bg-elevated: #141519;--bg-surface: #18191e;--text-primary: #f5f7fa;--text-secondary: #a0a4ad;--text-muted: #6b6f7a;--text-dim: #4a4d56;--accent-primary: #00d4ff;--accent-secondary: #0099cc;--accent-tertiary: #006b8f;--accent-glow: rgba(0, 212, 255, .12);--accent-border: rgba(0, 212, 255, .25);--accent-hover: rgba(0, 212, 255, .08);--status-active: #00e676;--status-inactive: #4a4d56;--threat-none: #00e676;--threat-low: #ffc107;--threat-medium: #ff9100;--threat-high: #ff5252;--threat-critical: #ff1744;--border-subtle: rgba(255, 255, 255, .04);--border-default: rgba(255, 255, 255, .08);--border-hover: rgba(255, 255, 255, .12);--border-focus: rgba(0, 212, 255, .4);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3);--shadow-md: 0 4px 12px rgba(0, 0, 0, .4);--shadow-lg: 0 8px 24px rgba(0, 0, 0, .5);--shadow-glow: 0 0 20px rgba(0, 212, 255, .15);--transition-fast: .15s ease;--transition-normal: .25s ease;--transition-slow: .4s ease}body{background:var(--bg-primary);color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,sans-serif;min-height:100vh;min-height:100dvh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:linear-gradient(rgba(0,212,255,.015) 1px,transparent 1px),linear-gradient(90deg,rgba(0,212,255,.015) 1px,transparent 1px);background-size:60px 60px}#root{max-width:100%;margin:0;padding:0;text-align:left}.app{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column}.app-header{display:flex;align-items:center;justify-content:space-between;padding:15px 24px;background:linear-gradient(180deg,#0a0b0ffa,#050508f2);border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:sticky;top:0;z-index:100}.logo-section{display:flex;flex-direction:column}.minovsky-logo{display:flex;align-items:center;gap:12px}.logo-icon{font-size:24px;color:var(--accent-primary);text-shadow:0 0 20px var(--accent-primary);animation:tacticalPulse 3s infinite}@keyframes tacticalPulse{0%,to{text-shadow:0 0 10px var(--accent-primary),0 0 20px var(--accent-secondary);opacity:1}50%{text-shadow:0 0 15px var(--accent-primary),0 0 30px var(--accent-secondary);opacity:.85}}.logo-text{font-size:20px;font-weight:700;letter-spacing:6px;color:var(--text-primary);text-transform:uppercase}.logo-subtitle{font-size:10px;color:var(--text-muted);letter-spacing:2px;margin-top:2px;text-transform:uppercase}.header-stats{display:flex;gap:16px}.stat-item{display:flex;flex-direction:column;align-items:center;padding:8px 16px;background:var(--bg-card);border-radius:6px;border:1px solid var(--border-subtle)}.stat-item .stat-value{font-size:22px;font-weight:700;color:var(--accent-primary);font-variant-numeric:tabular-nums}.stat-item .stat-label{font-size:9px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}.main-content{display:grid;grid-template-columns:1fr 320px;gap:20px;padding:20px;flex:1}.camera-section{min-width:0}.sidebar{display:flex;flex-direction:column;gap:16px}.remote-detections{background:var(--bg-card);border:1px solid var(--border-subtle);border-radius:8px;padding:16px}.remote-detections h3{font-size:11px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:12px}.remote-detections ul{list-style:none}.remote-detection-item{display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:var(--bg-tertiary);border-radius:4px;margin-bottom:6px;border-left:2px solid var(--accent-primary)}.remote-detection-item .device-id{font-family:SF Mono,Fira Code,monospace;font-size:11px;color:var(--accent-primary)}.remote-detection-item .threat-count{font-size:11px;color:var(--threat-high);font-weight:600}.app-footer{padding:16px 24px;text-align:center;background:var(--bg-secondary);border-top:1px solid var(--border-subtle)}.app-footer p{font-size:11px;color:var(--text-muted);letter-spacing:.5px}@media(max-width:900px){.main-content{grid-template-columns:1fr}.app-header{flex-direction:column;gap:12px;text-align:center}.logo-section{align-items:center}}@media(max-width:480px){.main-content{padding:12px}.logo-text{font-size:16px;letter-spacing:3px}.app-header{padding:12px 16px}}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:var(--bg-secondary)}::-webkit-scrollbar-thumb{background:var(--bg-elevated);border-radius:3px}::-webkit-scrollbar-thumb:hover{background:var(--accent-secondary)}.fullscreen-camera-overlay{position:fixed;inset:0;background:var(--bg-primary);z-index:1000;display:flex;flex-direction:column}.fullscreen-camera-header{display:flex;align-items:center;justify-content:space-between;padding:12px 20px;background:#050508f2;border-bottom:1px solid var(--border-subtle);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.fullscreen-camera-title{display:flex;align-items:center;gap:12px}.fullscreen-camera-title h2{font-size:14px;font-weight:600;letter-spacing:2px;text-transform:uppercase;color:var(--text-primary)}.fullscreen-status{display:flex;align-items:center;gap:8px;padding:6px 12px;background:#00ff881a;border:1px solid rgba(0,255,136,.3);border-radius:4px}.fullscreen-status-dot{width:8px;height:8px;background:var(--status-active);border-radius:50%;animation:statusBlink 2s infinite}@keyframes statusBlink{0%,to{opacity:1}50%{opacity:.5}}.fullscreen-status-text{font-size:11px;color:var(--status-active);font-weight:600;text-transform:uppercase;letter-spacing:1px}.btn-exit-fullscreen{display:flex;align-items:center;gap:8px;padding:10px 20px;background:var(--bg-elevated);border:1px solid var(--border-default);border-radius:4px;color:var(--text-primary);font-size:12px;font-weight:600;text-transform:uppercase;letter-spacing:1px;cursor:pointer;transition:all .2s ease}.btn-exit-fullscreen:hover{background:var(--threat-high);border-color:var(--threat-high)}.fullscreen-camera-content{flex:1;display:flex;position:relative;overflow:hidden}.fullscreen-video-container{flex:1;position:relative;background:var(--bg-primary)}.fullscreen-video-container video{width:100%;height:100%;object-fit:contain}.fullscreen-video-container canvas{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.fullscreen-sidebar{width:280px;background:var(--bg-secondary);border-left:1px solid var(--border-subtle);display:flex;flex-direction:column;overflow-y:auto}.fullscreen-threat-panel{padding:16px;border-bottom:1px solid var(--border-subtle)}.fullscreen-detections{padding:16px;flex:1;overflow-y:auto}.tactical-overlay{position:absolute;inset:0;pointer-events:none;background:linear-gradient(90deg,rgba(0,212,255,.03) 1px,transparent 1px),linear-gradient(rgba(0,212,255,.03) 1px,transparent 1px);background-size:40px 40px}.tactical-corners{position:absolute;inset:20px;pointer-events:none}.tactical-corners:before,.tactical-corners:after{content:"";position:absolute;width:40px;height:40px;border-color:var(--accent-primary);border-style:solid}.tactical-corners:before{top:0;left:0;border-width:2px 0 0 2px}.tactical-corners:after{bottom:0;right:0;border-width:0 2px 2px 0}@media(max-width:768px){.fullscreen-sidebar{display:none}.fullscreen-camera-header{padding:10px 16px}.fullscreen-camera-title h2{font-size:12px}}
