:root{font-family:system-ui,-apple-system,BlinkMacSystemFont,SF Pro Text,sans-serif;line-height:1.5;font-weight:400;color-scheme:dark;color:#e5e7eb;background-color:#0b0f1a;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{height:100%;margin:0;padding:0;overflow:hidden}body{min-width:320px;background-color:#0b0f1a}a{font-weight:500;color:#67e8f9;text-decoration:none}a:hover{color:#22d3ee}.emergency-confirmation-box{background:#7f1d1df2;border:2px solid #ef4444;padding:16px;border-radius:12px;margin-top:12px;margin-bottom:12px;animation:lockdownGlitchIn .3s ease-out;position:relative;z-index:10}.emergency-confirmation-box p{color:#fff;font-weight:600;margin-bottom:12px;font-size:.9rem}.confirmation-btns{display:flex;gap:10px}.confirmation-btns button{flex:1;padding:8px;border-radius:6px;border:none;font-weight:800;font-size:.75rem;cursor:pointer;transition:all .2s}.confirmation-btns button:first-child{background:#ef4444;color:#fff}.confirmation-btns button:last-child{background:#ffffff1a;color:#94a3b8;border:1px solid rgba(148,163,184,.3)}.confirmation-btns button:hover{filter:brightness(1.2);transform:translateY(-1px)}.safety-checkpoint-navigation{background:#0f172af2;border:2px solid #38bdf8;border-radius:12px;padding:12px;margin-top:8px;margin-bottom:8px;width:100%;box-sizing:border-box;animation:slideInDown .4s cubic-bezier(.22,.61,.36,1);box-shadow:0 0 20px #38bdf84d;z-index:10}.checkpoint-header{display:flex;flex-direction:column;gap:2px;margin-bottom:12px}.checkpoint-badge{font-size:.65rem;font-weight:800;color:#38bdf8;letter-spacing:.15em;text-transform:uppercase}.checkpoint-name{font-size:1.1rem;font-weight:700;color:#fff}.checkpoint-actions{display:flex;gap:10px;flex-wrap:wrap}.checkpoint-nav-btn{flex:2;background:#38bdf8;color:#020617;text-decoration:none;text-align:center;padding:10px;border-radius:6px;font-weight:800;font-size:.8rem;transition:all .2s;display:flex;align-items:center;justify-content:center}.checkpoint-status-btn{flex:2;background:#38bdf81a;border:1px solid rgba(56,189,248,.3);color:#38bdf8;padding:10px;border-radius:6px;font-weight:800;font-size:.7rem;display:flex;align-items:center;justify-content:center;letter-spacing:.05em;cursor:pointer;transition:all .2s}.checkpoint-status-btn.active{animation:pulse 2s infinite;background:#38bdf833}.checkpoint-status-btn:hover:not(.active){background:#38bdf84d;color:#fff}.checkpoint-dismiss-btn{flex:1;background:#ffffff0d;border:1px solid rgba(148,163,184,.3);color:#94a3b8;padding:10px;border-radius:6px;font-weight:600;font-size:.75rem;cursor:pointer;transition:all .2s}.checkpoint-dismiss-btn:hover{background:#ffffff1a;color:#fff}.right-map-controls{position:sticky;bottom:8px;display:flex;justify-content:flex-end;padding:6px 0}.right-close-map{background:#ffffff0d;border:1px solid rgba(148,163,184,.35);color:#94a3b8;padding:8px 12px;border-radius:8px;font-weight:700;font-size:.75rem;cursor:pointer;transition:all .2s}.right-close-map:hover{background:#ffffff1f;color:#fff}@keyframes slideInDown{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}.welcome-overlay{position:fixed;top:0;left:0;width:100vw;height:100vh;background:#020617d9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:10000;display:flex;align-items:center;justify-content:center;overflow:hidden}.welcome-card{position:relative;width:500px;padding:40px;background:linear-gradient(145deg,#0f172ae6,#020617f2);border:1px solid rgba(56,189,248,.3);border-radius:24px;text-align:center;box-shadow:0 0 40px #00000080,0 0 20px #38bdf81a;overflow:hidden;animation:cardFadeIn .8s ease-out}.welcome-scanner{position:absolute;top:-100%;left:0;width:100%;height:100%;background:linear-gradient(to bottom,transparent,rgba(56,189,248,.05),rgba(56,189,248,.2),rgba(56,189,248,.05),transparent);animation:scan 4s linear infinite;pointer-events:none}.welcome-logo{display:inline-flex;align-items:center;gap:10px;font-family:Inter,sans-serif;font-weight:800;letter-spacing:.3em;color:#38bdf8;margin-bottom:24px;font-size:.9rem}.logo-dot{width:8px;height:8px;background:#38bdf8;border-radius:50%;box-shadow:0 0 10px #38bdf8;animation:pulse 2s infinite}.welcome-title{font-size:2.5rem;font-weight:800;background:linear-gradient(to right,#fff,#94a3b8);-webkit-background-clip:text;-webkit-text-fill-color:transparent;margin-bottom:16px;letter-spacing:-.02em}.welcome-tagline{color:#94a3b8;font-size:1.1rem;line-height:1.6;margin-bottom:40px;max-width:80%;margin-left:auto;margin-right:auto}.welcome-enter-btn{position:relative;padding:16px 40px;background:transparent;border:1px solid #38bdf8;color:#38bdf8;font-weight:700;letter-spacing:.15em;border-radius:12px;cursor:pointer;transition:all .3s ease;overflow:hidden}.welcome-enter-btn:hover{background:#38bdf81a;box-shadow:0 0 30px #38bdf84d;transform:translateY(-2px)}.btn-glow{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:.5s}.welcome-enter-btn:hover .btn-glow{left:100%}.welcome-footer{margin-top:40px;font-size:.7rem;color:#94a3b866;letter-spacing:.1em;font-family:monospace}.app-blurred{filter:blur(20px);transform:scale(1.05);pointer-events:none}@keyframes scan{0%{top:-100%}to{top:100%}}@keyframes cardFadeIn{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulse{0%{transform:scale(1);opacity:1}50%{transform:scale(1.2);opacity:.7}to{transform:scale(1);opacity:1}}.emergency-lockdown-overlay{position:fixed;inset:0;background:radial-gradient(circle at center,#7f1d1dfa,#000);z-index:10000;display:flex;align-items:center;justify-content:center;animation:lockdownGlitchIn .4s cubic-bezier(.22,.61,.36,1);overflow:hidden}.emergency-lockdown-overlay:after{content:"";position:absolute;inset:0;border:15px solid #ef4444;animation:emergencyBorderBlink .6s step-end infinite;pointer-events:none;z-index:10}.emergency-lockdown-overlay:before{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,transparent 50%,rgba(255,0,0,.1) 50%);background-size:100% 4px;z-index:5;pointer-events:none;opacity:.3}.emergency-content{text-align:center;position:relative;z-index:20;max-width:600px;padding:30px;background:#0006;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;border:1px solid rgba(239,68,68,.3)}.emergency-pulse-ring{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:350px;height:350px;border:3px solid #ef4444;border-radius:50%;animation:emergencySirenPulse 1.5s infinite;opacity:.4;z-index:-1}.emergency-title{font-size:2.2rem;font-weight:950;color:#fff;letter-spacing:.12em;text-shadow:0 0 10px #ef4444,0 0 20px #ef4444;margin-bottom:12px;animation:emergencyTextBlink .4s infinite;font-family:Inter,sans-serif}.emergency-subtitle{font-size:1rem;color:#fca5a5;margin-bottom:24px;font-weight:600;text-transform:uppercase;letter-spacing:.08em}.emergency-location-badge{display:inline-flex;flex-direction:column;align-items:center;gap:8px;padding:12px 24px;background:#000;border:1px solid #ef4444;border-radius:8px;color:#fff;font-family:JetBrains Mono,monospace;font-size:1.1rem;margin-bottom:30px;box-shadow:0 0 20px #ef444466;animation:locationBadgePulse 2s infinite}.live-badge{font-size:.7rem;background:#ef4444;color:#fff;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.1em;font-weight:800;animation:blink 1s infinite}@keyframes blink{0%,to{opacity:1}50%{opacity:.4}}.toast-details{display:block;font-size:.7rem;color:#94a3b8;margin-top:4px;font-family:JetBrains Mono,monospace}.emergency-reset-btn{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-bottom:30px}.status-item{display:flex;flex-direction:column;gap:6px;padding:12px;background:#ef44440d;border-radius:12px;border:1px solid rgba(239,68,68,.2)}.status-label{font-size:.65rem;color:#94a3b8;letter-spacing:.2em;font-weight:700}.status-value.active{color:#ef4444;font-size:.9rem;font-weight:900;letter-spacing:.08em;animation:emergencyPulseActive .8s infinite}.emergency-reset-btn{padding:12px 30px;background:#ef4444;border:none;color:#fff;font-weight:900;font-size:1rem;letter-spacing:.2em;border-radius:12px;cursor:pointer;transition:all .3s cubic-bezier(.22,.61,.36,1);box-shadow:0 0 15px #ef444466}.emergency-reset-btn:hover{background:#fff;color:#ef4444;transform:scale(1.05) translateY(-2px);box-shadow:0 0 40px #fff9}@keyframes emergencyBorderBlink{0%,to{border-color:#ef4444;box-shadow:inset 0 0 50px #ef444480}50%{border-color:transparent;box-shadow:none}}@keyframes lockdownGlitchIn{0%{transform:scale(1.1);filter:brightness(2) contrast(2);opacity:0}20%{transform:scale(.98) skew(5deg)}40%{transform:scale(1.02) skew(-5deg)}to{transform:scale(1);filter:none;opacity:1}}@keyframes locationBadgePulse{0%,to{transform:scale(1);box-shadow:0 0 30px #ef444480}50%{transform:scale(1.02);box-shadow:0 0 50px #ef4444cc}}@keyframes iconBlink{0%,to{opacity:1;transform:scale(1.2)}50%{opacity:.3;transform:scale(1)}}@keyframes emergencyTextBlink{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(.99);color:#fca5a5}}.emergency-toast{position:fixed;top:80px;right:20px;background:#000;border:2px solid #ef4444;padding:20px 32px;border-radius:12px;display:flex;align-items:center;gap:20px;box-shadow:0 0 30px #ef444466;z-index:10001;animation:toastSlideIn .5s cubic-bezier(.175,.885,.32,1.275)}.toast-icon{font-size:2rem;animation:iconBlink .5s infinite}.toast-content strong{display:block;color:#fff;font-size:1.1rem;margin-bottom:4px}.toast-content p{color:#fca5a5;font-size:.9rem;margin:0;font-weight:500}@keyframes lockdownFadeIn{0%{opacity:0}to{opacity:1}}@keyframes emergencySirenPulse{0%{transform:translate(-50%,-50%) scale(.8);opacity:.8;border-width:8px}to{transform:translate(-50%,-50%) scale(1.8);opacity:0;border-width:1px}}@keyframes emergencyPulseActive{0%,to{opacity:1;transform:scale(1);filter:brightness(1.2)}50%{opacity:.5;transform:scale(1.1);filter:brightness(.8)}}@keyframes toastSlideIn{0%{transform:translate(120%);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:640px){.emergency-title{font-size:2rem}.emergency-status-grid{grid-template-columns:1fr;gap:16px}.emergency-content{padding:20px}}.sentinel-app{position:relative;height:100vh;display:flex;flex-direction:column;padding:12px 16px;box-sizing:border-box;background:radial-gradient(circle at top,#020617 0 55%,#020617),linear-gradient(135deg,#020617,#020617);color:#e5e7eb;overflow:hidden}.sentinel-lockdown{animation:lockdownPulse 1.5s infinite;box-shadow:inset 0 0 200px #ff000040}.sentinel-app:before{content:"";position:absolute;inset:-35%;background:radial-gradient(circle at 0% 0%,rgba(45,212,191,.2),transparent 55%),radial-gradient(circle at 100% 10%,rgba(56,189,248,.18),transparent 55%),radial-gradient(circle at 50% 100%,rgba(34,197,94,.22),transparent 60%);opacity:.55;filter:blur(42px);animation:bgShift 40s ease-in-out infinite alternate;pointer-events:none;z-index:0}.sentinel-app:after{content:"";position:absolute;inset:0;background:radial-gradient(circle at 50% 0%,rgba(148,163,184,.12),transparent 55%),repeating-linear-gradient(to right,#0f172acc 0 1px,#0f172a26 1px 24px),repeating-linear-gradient(to bottom,#0f172acc 0 1px,#0f172a1a 1px 24px);opacity:.07;mix-blend-mode:screen;animation:particlesDrift 55s linear infinite;pointer-events:none;z-index:0;box-shadow:0 0 60px #0f172a inset}.sentinel-main{flex:1;position:relative;display:flex;align-items:stretch;overflow:hidden;z-index:1}.sentinel-main:before{content:"";position:absolute;inset:0;background:linear-gradient(120deg,transparent 0%,rgba(148,163,184,.12) 16%,rgba(148,163,184,.06) 22%,transparent 34%);mix-blend-mode:screen;transform:translate3d(-120%,0,0);animation:ambientSweep 10s cubic-bezier(.22,.61,.36,1) infinite;pointer-events:none;z-index:-1}.sentinel-layout{flex:1;display:flex;justify-content:space-between;align-items:stretch;gap:24px;padding:16px 0 140px;box-sizing:border-box;overflow-y:auto}.layout-left,.layout-center{display:flex;flex-direction:column;align-items:center;justify-content:flex-start;position:relative;min-height:0;padding-top:20px}.layout-right{display:flex;flex-direction:column;align-items:stretch;justify-content:flex-start;position:relative;min-height:0;width:30%;padding-top:0;gap:16px}.right-safety-stack{margin-top:12px;display:flex;flex-direction:column;gap:12px}.layout-left{width:30%;display:flex;flex-direction:column;gap:12px;overflow-y:visible;max-height:100%;padding-right:8px}.layout-left::-webkit-scrollbar{width:6px}.layout-left::-webkit-scrollbar-track{background:#0f172a4d;border-radius:10px}.layout-left::-webkit-scrollbar-thumb{background:#38bdf833;border-radius:10px;border:1px solid rgba(56,189,248,.1)}.layout-left::-webkit-scrollbar-thumb:hover{background:#38bdf866}.layout-center{width:35%}.layout-center:before{content:"";position:absolute;width:340px;height:340px;border-radius:50%;background:radial-gradient(circle,rgba(34,197,94,.14),transparent 70%);filter:blur(16px);opacity:.9;pointer-events:none;z-index:0}.camera-container{width:100%;display:flex;justify-content:center}.camera-panel{position:relative;width:100%;transition:transform .3s ease,box-shadow .3s ease,opacity .3s ease}.camera-box{width:100%;aspect-ratio:16 / 9;border-radius:16px;border:1px solid rgba(148,163,184,.4);background:radial-gradient(circle at top left,#0f172ad9,#0f172a99);display:flex;align-items:center;justify-content:center;box-shadow:0 0 0 1px #0f172a,0 30px 70px #0f172af5,0 0 34px #38bdf833;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);overflow:hidden;position:relative}.camera-feed-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;filter:saturate(1.05) contrast(1.05)}.camera-panel:after{content:"";position:absolute;inset:12%;border-radius:20px;border:1px solid rgba(148,163,184,.1);box-shadow:0 0 28px #0f172ae6;pointer-events:none}.camera-panel:hover{transform:translateY(-2px)}.camera-panel:hover .camera-box{box-shadow:0 0 0 1px #0f172a,0 26px 70px #0f172af2,0 0 38px #38bdf83d}.camera-scanlines{position:absolute;inset:0;background-image:linear-gradient(to bottom,#0f172a00 0,#0f172a59,#0f172a00);background-size:100% 4px;opacity:.18;mix-blend-mode:soft-light;animation:scanLines 12s cubic-bezier(.22,.61,.36,1) infinite;pointer-events:none}.camera-overlay-label-wrap{position:absolute;left:16px;bottom:12px;padding:4px 10px;border-radius:999px;background:#0f172ab3;border:1px solid rgba(56,189,248,.65)}.camera-overlay-label{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#a5f3fc}.camera-overlay-rec{position:absolute;top:10px;right:14px;display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:999px;background:#0f172acc;border:1px solid rgba(248,113,113,.8)}.camera-rec-dot{width:8px;height:8px;border-radius:999px;background:#ef4444;box-shadow:0 0 10px #f87171e6;animation:recBlink 1.4s ease-in-out infinite}.camera-rec-text{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;color:#fecaca}.camera-content{position:relative;z-index:2;display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:18px 22px;width:100%}.camera-title{font-size:.7rem;letter-spacing:.18em;text-transform:uppercase;color:#93c5fd;opacity:.8}.camera-headline{font-size:.9rem;font-weight:500;color:#e5e7eb}.camera-subtext{font-size:.75rem;color:#9ca3af}.camera-encrypted-tag{position:absolute;top:12px;left:16px;padding:4px 10px;border-radius:999px;border:1px solid rgba(248,113,113,.6);background:#0f172ae6;font-size:.65rem;letter-spacing:.18em;text-transform:uppercase;color:#fecaca;z-index:2}.camera-mode-safe .camera-box{opacity:.5;animation:cameraSafeBreath 8s ease-in-out infinite}.camera-mode-critical .camera-box{border-color:#fbbf24d9;box-shadow:0 0 0 1px #0f172a,0 30px 70px #0f172af5,0 0 40px #fbbf2447;animation:cameraCriticalPulse 3.2s ease-in-out infinite}.camera-mode-lockdown .camera-box{border-color:#f87171e6;box-shadow:0 0 0 1px #0f172a,0 34px 80px #0f172afa,0 0 48px #f8717173}.camera-mode-lockdown .camera-box:before{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at center,#7f1d1d66,#0f172af5);mix-blend-mode:soft-light;pointer-events:none}.camera-mode-lockdown .camera-box:after{content:"";position:absolute;inset:12%;border-radius:inherit;border:1px solid rgba(248,113,113,.22);opacity:.6;mix-blend-mode:screen;pointer-events:none;animation:cameraLockPattern 6s linear infinite}.camera-mode-safe .camera-overlay-rec,.camera-mode-critical .camera-overlay-rec{display:none}.camera-mode-lockdown .camera-overlay-rec{display:inline-flex}@keyframes cameraSafeBreath{0%{box-shadow:0 0 0 1px #0f172a,0 26px 64px #0f172af5,0 0 28px #38bdf829}50%{box-shadow:0 0 0 1px #0f172a,0 30px 72px #0f172afa,0 0 32px #38bdf838}to{box-shadow:0 0 0 1px #0f172a,0 26px 64px #0f172af5,0 0 28px #38bdf829}}@keyframes cameraCriticalPulse{0%{box-shadow:0 0 0 1px #0f172a,0 30px 70px #0f172af5,0 0 34px #fbbf2429}50%{box-shadow:0 0 0 1px #0f172a,0 32px 78px #0f172afa,0 0 42px #fbbf2452}to{box-shadow:0 0 0 1px #0f172a,0 30px 70px #0f172af5,0 0 34px #fbbf2429}}@keyframes cameraLockPattern{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.camera-bracket{position:absolute;width:32px;height:32px;border:1px solid rgba(125,211,252,.7);opacity:.9;animation:cameraBracketShift 14s ease-in-out infinite alternate}.camera-bracket-tl{top:10px;left:10px;border-right:none;border-bottom:none}.camera-bracket-tr{top:10px;right:10px;border-left:none;border-bottom:none}.camera-bracket-bl{bottom:10px;left:10px;border-right:none;border-top:none}.camera-bracket-br{bottom:10px;right:10px;border-left:none;border-top:none}.controls-panel{gap:.8rem}.control-bar-wrapper{position:absolute;left:50%;bottom:20px;transform:translate(-50%);z-index:999;pointer-events:auto}.control-bar{min-width:260px;padding:12px 20px;border-radius:999px;background:radial-gradient(circle at top,#0f172ae6,#0f172abf);border:1px solid rgba(148,163,184,.6);box-shadow:0 0 0 1px #0f172a,0 26px 60px #0f172af2,0 0 32px #38bdf833;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);transition:transform .2s cubic-bezier(.22,.61,.36,1),box-shadow .2s cubic-bezier(.22,.61,.36,1)}.control-bar:after{content:"";position:absolute;inset:0;border-radius:inherit;background:radial-gradient(circle at center,rgba(56,189,248,.18),transparent 70%);opacity:.5;filter:blur(10px);pointer-events:none;z-index:-1}.control-bar:hover{transform:translateY(-2px);box-shadow:0 0 0 1px #0f172a,0 32px 80px #0f172afa,0 0 40px #38bdf840}.mic-container{display:flex;align-items:center;justify-content:center;gap:24px}.mic-button-main{width:72px;height:72px;border-radius:50%;border:1px solid rgba(59,130,246,.9);background:radial-gradient(circle at 30% 0,#1e40af,#1d4ed8,#0b1120);color:#e5e7eb;font-size:.9rem;cursor:pointer;box-shadow:0 0 0 1px #0f172a,0 18px 36px #0f172ad9,0 0 22px #3b82f699;transition:transform .15s cubic-bezier(.22,.61,.36,1),box-shadow .15s cubic-bezier(.22,.61,.36,1);position:relative;overflow:hidden}.mic-button-emergency{width:76px;height:76px;border-radius:50%;border:1px solid rgba(248,113,113,.7);background:radial-gradient(circle at 30% 0,#581c1c,#7f1d1d,#111827);color:#fecaca;font-size:.7rem;cursor:pointer;box-shadow:0 0 0 1px #0f172a,0 16px 30px #0f172ae6,0 0 18px #f8717180;transition:transform .15s cubic-bezier(.22,.61,.36,1),box-shadow .15s cubic-bezier(.22,.61,.36,1);position:relative;overflow:hidden}.mic-button-main:hover,.mic-button-emergency:hover{transform:translateY(-1px);box-shadow:0 0 0 1px #0f172a,0 24px 50px #0f172af5,0 0 34px #3b82f6b3}.mic-button-main:before{content:"";position:absolute;inset:10%;border-radius:inherit;border:2px dashed rgba(191,219,254,.5);opacity:.85;opacity:.4}.mic-button-emergency:before{content:"";position:absolute;inset:-4px;border-radius:inherit;border:1px solid rgba(248,113,113,.55);opacity:.4;animation:emergencyPulse 3.6s cubic-bezier(.22,.61,.36,1) infinite}.mic-button-emergency-active{transform:scale(1.05);box-shadow:0 0 0 1px #0f172a,0 26px 60px #0f172a,0 0 40px #f87171e6}.mic-button-emergency-active:before{border-color:#f87171e6;opacity:.9;animation-duration:2s}.emergency-active{box-shadow:0 0 30px #f00c;animation:emergencyPulse 1.2s infinite}@keyframes emergencyPulse{0%{transform:scale(1)}50%{transform:scale(1.06)}to{transform:scale(1)}}.mic-button-main:after{content:"";position:absolute;inset:30%;border-radius:inherit;background:radial-gradient(circle at center,rgba(191,219,254,.4),transparent 70%);opacity:0;transform:scale(.8);pointer-events:none;transition:opacity .2s ease,transform .2s ease}.mic-button-main:active:after{opacity:1;transform:scale(1)}.sensor-select{display:flex;flex-direction:column;align-items:flex-start;margin-bottom:12px;gap:4px}.sensor-select-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.14em;opacity:.8}.sensor-select-input{width:220px;padding:6px 10px;border-radius:999px;border:1px solid rgba(148,163,184,.7);background:radial-gradient(circle at top,#0f172af2,#0f172ad9);color:#e5e7eb;font-size:.75rem;outline:none;box-shadow:0 0 0 1px #0f172a,0 10px 24px #0f172ae6}.sensor-select-input:disabled{opacity:.6}.mic-button-main-active:before{animation:micOrbit 16s linear infinite}.mic-button-label{position:relative;z-index:1}.mic-button-waveform{position:absolute;inset:26%;border-radius:999px;background:radial-gradient(circle at 50% 0%,rgba(191,219,254,.3),transparent 70%),repeating-linear-gradient(to right,rgba(191,219,254,.7) 0,rgba(191,219,254,.7) 1px,transparent 1px,transparent 4px);opacity:0;transform:scaleX(.9);filter:blur(.5px);pointer-events:none}.mic-button-main-active .mic-button-waveform{opacity:.65;animation:micWave 2.8s cubic-bezier(.22,.61,.36,1) infinite}.risk-container{display:flex;justify-content:center;align-items:center;width:100%;flex-direction:column}.risk-container-lockdown{animation:riskLockdownPulse 1.4s ease-in-out infinite}.risk-orbit{width:164px;height:164px;border-radius:50%;display:flex;align-items:center;justify-content:center;position:relative}.risk-orbit-lockdown{animation-duration:26s}.risk-ring{position:absolute;border-radius:50%;border:1px solid rgba(34,197,94,.7)}.risk-ring-outer{width:164px;height:164px;box-shadow:0 0 22px #22c55e59;animation:riskRotate 42s linear infinite}.risk-ring-inner{width:132px;height:132px;border-color:#2dd4bfb3;box-shadow:0 0 18px #2dd4bf61;animation:riskPulse 4.4s cubic-bezier(.22,.61,.36,1) infinite}.risk-ring-ticks{width:146px;height:146px;border:none;background-image:repeating-conic-gradient(from 0deg,rgba(148,163,184,.5) 0deg,rgba(148,163,184,.5) 1deg,transparent 1deg,transparent 6deg);-webkit-mask-image:radial-gradient(circle,transparent 56%,#000 60%,#000 70%,transparent 76%);mask-image:radial-gradient(circle,transparent 56%,#000 60%,#000 70%,transparent 76%);opacity:.35;animation:riskRotateTicks 60s linear infinite}.risk-core{width:110px;height:110px;position:relative;border-radius:inherit;display:flex;flex-direction:column;align-items:center;justify-content:center;background:radial-gradient(circle at center,#0f172afa,#0f172ae6);border:1px solid rgba(22,163,74,.8);box-shadow:0 0 26px #22c55eb3,inset 0 0 18px #0f172a;animation:riskCoreBreath 5.4s cubic-bezier(.22,.61,.36,1) infinite;transition:box-shadow .4s ease,border-color .4s ease,background .4s ease,color .3s ease}.risk-core-safe{box-shadow:0 0 18px #22c55e80,inset 0 0 18px #0f172a}.risk-core-elevated{box-shadow:0 0 24px #facc15bf,inset 0 0 18px #0f172a}.risk-core-critical{box-shadow:0 0 28px #f87171d9,inset 0 0 18px #0f172a}.risk-core-lockdown{border-color:#f87171e6;box-shadow:0 0 32px #f87171,0 0 90px #7f1d1df2,inset 0 0 20px #0f172a}.risk-data{position:absolute;width:6px;height:6px;border-radius:999px;background:#38bdf8d9;box-shadow:0 0 10px #38bdf8b3;opacity:.85}.risk-data-a{top:6px;left:50%;transform:translate(-50%);animation:riskDataOrbitA 18s linear infinite}.risk-data-b{bottom:6px;right:18px;animation:riskDataOrbitB 24s linear infinite}.risk-text-main{font-size:1rem;font-weight:600;letter-spacing:.14em;text-transform:uppercase}.risk-text-sub{margin-top:2px;font-size:.7rem;color:#bbf7d0}.risk-text-response{margin-top:2px;font-size:.7rem;color:#fca5a5;letter-spacing:.12em;text-transform:uppercase}.center-stack{display:flex;flex-direction:column;align-items:center}.telemetry-panel{margin-top:32px;min-width:280px;padding:18px 24px;border-radius:18px;background:radial-gradient(circle at top,#0f172aeb,#0f172ad1);border:1px solid rgba(148,163,184,.7);box-shadow:0 0 22px #0f172ae6,inset 0 0 #0f172a;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:flex;flex-direction:column;gap:12px;transition:box-shadow .3s ease,border-color .3s ease,background .3s ease}.telemetry-safe{box-shadow:0 0 22px #16a34a66,inset 0 0 #0f172a;border-color:#22c55eb3}.telemetry-critical{box-shadow:0 0 28px #f59e0b99,inset 0 0 #0f172a;border-color:#f59e0bcc}.telemetry-lockdown{box-shadow:0 0 32px #f87171cc,inset 0 0 #0f172a;border-color:#f87171d9}.telemetry-row{display:flex;flex-direction:row;justify-content:space-between;align-items:center;gap:16px;padding:4px 0;border-bottom:1px solid rgba(148,163,184,.1)}.telemetry-row:last-child{border-bottom:none}.telemetry-label{font-size:.72rem;letter-spacing:.14em;text-transform:uppercase;color:#94a3b8e6}.telemetry-value{margin-top:0;font-size:.95rem;font-weight:700;color:#e5e7eb}@keyframes riskLockdownPulse{0%{transform:scale(1)}50%{transform:scale(1.04)}to{transform:scale(1)}}.lockdown-overlay{position:fixed;inset:0;background:radial-gradient(circle at center,#780000cc,#000000f2);display:flex;align-items:center;justify-content:center;z-index:9999;animation:lockdownFade 2.5s forwards}.lockdown-overlay-content{text-align:center;color:#ff3b3b;animation:lockdownPulseText 1s infinite}.lockdown-overlay-content h1{font-size:64px;letter-spacing:6px;font-weight:700;text-shadow:0 0 8px rgba(248,113,113,.8),0 0 18px rgba(127,29,29,.9)}.lockdown-overlay-content p{margin-top:20px;font-size:18px;opacity:.8}@keyframes lockdownPulseText{0%{opacity:.7;transform:scale(1);text-shadow:0 0 6px rgba(248,113,113,.6),0 0 10px rgba(127,29,29,.7)}50%{opacity:1;transform:scale(1.05);text-shadow:0 0 10px rgba(248,113,113,1),0 0 22px rgba(127,29,29,1)}to{opacity:.7;transform:scale(1);text-shadow:0 0 6px rgba(248,113,113,.6),0 0 10px rgba(127,29,29,.7)}}@keyframes lockdownFade{0%{opacity:0}10%{opacity:1}85%{opacity:1}to{opacity:0}}.transcript-container{flex:1;min-height:0;padding:16px;margin-bottom:8px;border-radius:12px;background:radial-gradient(circle at top,#0f172af2,#0f172ac7);border:1px solid rgba(148,163,184,.5);display:flex;flex-direction:column;max-height:100%;box-shadow:0 0 0 1px #0f172a,0 0 30px #38bdf82e;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);gap:12px}.transcript-header{font-size:.8rem;font-weight:700;margin-bottom:12px;letter-spacing:.18em;text-transform:uppercase;color:#38bdf8;opacity:.9}.transcript-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:16px;border-radius:10px;border:1px solid rgba(37,99,235,.55);background-color:#0f172af5;scroll-behavior:smooth;scrollbar-width:thin;scrollbar-color:rgba(56,189,248,.7) transparent}.log-entry{font-size:.82rem;padding:4px 0 6px;margin-bottom:8px;opacity:0;transform:translateY(3px);animation:transcriptIn .5s cubic-bezier(.22,.61,.36,1) forwards}.log-entry:nth-child(1){animation-delay:.06s}.log-entry:nth-child(2){animation-delay:.12s}.log-entry:nth-child(3){animation-delay:.18s}.log-entry:nth-child(4){animation-delay:.24s}.log-entry:nth-child(5){animation-delay:.3s}.log-entry:nth-child(6){animation-delay:.36s}.log-entry:nth-child(7){animation-delay:.42s}.log-entry-active{animation:transcriptIn .5s cubic-bezier(.22,.61,.36,1) forwards,logGlow 2.4s cubic-bezier(.22,.61,.36,1) .1s forwards}.log-entry-header{font-size:.7rem;letter-spacing:.16em;text-transform:uppercase;margin-bottom:1px}.log-entry-body{display:flex;align-items:baseline;gap:4px;color:#e5e7eb}.log-entry-tag,.log-system .log-entry-tag{color:#9ca3af}.log-user .log-entry-tag{color:#7dd3fc}.log-assistant .log-entry-tag{color:#a5b4fc}.log-entry-cursor{width:1px;height:1em;background-color:#e5e7eb;animation:cursorBlink 1s steps(1,end) infinite}.transcript-body::-webkit-scrollbar{width:7px}.transcript-body::-webkit-scrollbar-track{background:transparent}.transcript-body::-webkit-scrollbar-thumb{background:linear-gradient(to bottom,#38bdf8bf,#2563ebe6);border-radius:999px;box-shadow:0 0 8px #38bdf859}.transcript-body::-webkit-scrollbar-thumb:hover{box-shadow:0 0 12px #38bdf899}.assistant-status{display:flex;align-items:center;gap:8px;padding:4px 0 10px;font-size:.82rem;color:#a7f3d0}.assistant-status-dot{width:8px;height:8px;border-radius:999px;background-color:#22c55e;box-shadow:0 0 10px #22c55ee6;animation:statusPulse 1.2s ease-in-out infinite}.assistant-status-text{opacity:.9}.transcript-input-bar{display:flex;align-items:center;gap:8px;margin-top:6px;padding:12px;border-radius:999px;position:sticky;bottom:0;background:inherit;flex-shrink:0;border:1px solid rgba(37,99,235,.6);box-shadow:0 0 0 1px #0f172a,0 0 18px #2563eb80}.transcript-input{flex:1;border:none;outline:none;background:transparent;color:#e5e7eb;font-size:.85rem}.transcript-input::placeholder{color:#94a3b8e6}.transcript-send-btn{border:none;outline:none;border-radius:999px;padding:6px 14px;font-size:.8rem;letter-spacing:.08em;text-transform:uppercase;cursor:pointer;color:#0b1120;background:linear-gradient(135deg,#38bdf8,#4f46e5);box-shadow:0 0 14px #38bdf8cc,0 0 32px #4f46e5b3;transition:transform .12s ease-out,box-shadow .12s ease-out,filter .12s ease-out}.transcript-send-btn:hover{transform:translateY(-1px);box-shadow:0 0 20px #38bdf8e6,0 0 40px #4f46e5cc;filter:brightness(1.05)}.transcript-send-btn:active{transform:translateY(0);box-shadow:0 0 14px #38bdf8b3,0 0 30px #4f46e5b3}.integrated-map-container{margin-top:8px;padding-top:12px;border-top:1px solid rgba(56,189,248,.2);animation:fadeIn .3s ease-out}.integrated-map-skeleton{margin-top:8px;padding:20px;background:#ffffff08;border-radius:8px;display:flex;align-items:center;justify-content:center;gap:12px;color:#38bdf8;font-size:.8rem;font-weight:600;border:1px dashed rgba(56,189,248,.3)}#safeRouteMap{height:240px;width:100%;border-radius:10px;border:1px solid rgba(56,189,248,.3);margin-bottom:10px;background-color:#0f172a}.safe-route-info{display:flex;justify-content:space-between;font-size:.8rem;color:#fff;background:#38bdf81a;padding:8px 12px;border-radius:6px}.persistent-map-area{width:100%;height:250px;background:#0f172a66;border-radius:12px;border:1px solid rgba(148,163,184,.2);display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;box-shadow:0 4px 20px #0000004d}.integrated-map-container{width:100%;height:100%;position:relative}#safeRouteMap{width:100%;height:100%;min-height:250px}.integrated-map-skeleton{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:12px;color:#94a3b8;font-size:.8rem;font-weight:500}.srp-spinner{width:24px;height:24px;border:2px solid rgba(56,189,248,.2);border-top-color:#38bdf8;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.safe-route-dest{font-weight:500}.safe-route-eta{color:#22c55e;font-weight:600}.live-guardian-status{margin-top:12px;padding:8px 12px;border-radius:999px;background:#0f172acc;border:1px solid rgba(148,163,184,.3);font-size:.75rem;display:flex;align-items:center;gap:8px;color:#94a3b8}.live-guardian-status.active{border-color:#22c55e80;color:#bbf7d0;box-shadow:0 0 10px #22c55e33}.live-guardian-pulse{width:8px;height:8px;border-radius:50%;background:#22c55e;animation:statusPulse 1.5s ease-in-out infinite}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.status-bar{display:flex;align-items:center;justify-content:space-between;height:60px;padding:0 18px;border-radius:999px;background:radial-gradient(circle at top,#0f172af5,#0f172acc);border:1px solid rgba(148,163,184,.5);font-size:.85rem;box-shadow:0 0 0 1px #0f172a,0 0 26px #22d3ee2e;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.status-bar-left{display:inline-flex;align-items:center;gap:8px;font-weight:500;letter-spacing:.22em;text-transform:uppercase;opacity:.8}.status-bar-right{padding:4px 10px;border-radius:999px;border:1px solid rgba(34,197,94,.7);background:#16a34a2e;color:#bbf7d0;letter-spacing:.16em;text-transform:uppercase;box-shadow:0 0 12px #22c55e80;animation:statusGlow 3s ease-in-out infinite;transition:border-color .3s ease,background .3s ease,box-shadow .3s ease,color .3s ease}.status-dot{width:8px;height:8px;border-radius:999px;background:#22c55e;box-shadow:0 0 10px #22c55ebf;animation:statusPulse 2.6s ease-in-out infinite}.status-text-brand{opacity:.85}.status-text-state{text-shadow:0 0 8px rgba(34,197,94,.6)}.status-pill-idle{border-color:#22c55eb3;background:#16a34a2e;color:#bbf7d0;box-shadow:0 0 12px #22c55e80}.status-pill-analyzing{border-color:#3b82f6cc;background:#2563eb38;color:#bfdbfe;box-shadow:0 0 16px #3b82f6cc;animation:statusAnalyzingPulse 1.8s ease-in-out infinite}.status-pill-safe{border-color:#22c55ee6;background:#16a34a42;color:#bbf7d0;box-shadow:0 0 16px #22c55ed9}.status-pill-elevated{border-color:#f59e0be6;background:#fbbf2438;color:#fef3c7;box-shadow:0 0 18px #f59e0bd9}.status-pill-critical{border-color:#f87171f2;background:#dc262647;color:#fee2e2;box-shadow:0 0 22px #f87171f2}.status-pill-lockdown{border-color:#f87171;background:#7f1d1d99;color:#fee2e2;box-shadow:0 0 28px #f87171,0 0 80px #7f1d1de6;animation:statusLockdownPulse 1.1s ease-in-out infinite}.status-pill-response{animation:statusResponsePulse 1.2s ease-in-out infinite}@keyframes statusAnalyzingPulse{0%{box-shadow:0 0 10px #3b82f699}50%{box-shadow:0 0 20px #3b82f6f2}to{box-shadow:0 0 10px #3b82f699}}@keyframes riskGlow{0%{box-shadow:0 0 12px #22c55e66}50%{box-shadow:0 0 24px #22c55eb3}to{box-shadow:0 0 12px #22c55e66}}@keyframes lockdownPulse{0%{background-color:#ff000005}50%{background-color:#ff000014}to{background-color:#ff000005}}@keyframes statusLockdownPulse{0%{box-shadow:0 0 18px #f87171cc,0 0 40px #7f1d1db3}50%{box-shadow:0 0 32px #f87171,0 0 90px #7f1d1df2}to{box-shadow:0 0 18px #f87171cc,0 0 40px #7f1d1db3}}@keyframes statusResponsePulse{0%{text-shadow:0 0 6px rgba(248,113,113,.7),0 0 10px rgba(127,29,29,.8)}50%{text-shadow:0 0 10px rgba(248,113,113,1),0 0 18px rgba(127,29,29,1)}to{text-shadow:0 0 6px rgba(248,113,113,.7),0 0 10px rgba(127,29,29,.8)}}@keyframes bgShift{0%{transform:translateZ(0) scale(1)}50%{transform:translate3d(4%,-2%,0) scale(1.04)}to{transform:translate3d(-3%,3%,0) scale(1.02)}}@keyframes particlesDrift{0%{transform:translateZ(0)}to{transform:translate3d(-40px,20px,0)}}@keyframes scanLines{0%{background-position-y:0}to{background-position-y:100%}}@keyframes recBlink{0%,60%{opacity:1}to{opacity:.2}}@keyframes micOrbit{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes emergencyPulse{0%{transform:scale(1);opacity:.4}50%{transform:scale(1.08);opacity:.9}to{transform:scale(1);opacity:.4}}@keyframes riskRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes riskRotateTicks{0%{transform:rotate(0)}to{transform:rotate(-360deg)}}@keyframes riskPulse{0%,to{transform:scale(1);opacity:.7}50%{transform:scale(1.02);opacity:1}}@keyframes riskCoreBreath{0%,to{box-shadow:0 0 22px #22c55e8c,inset 0 0 18px #0f172a}50%{box-shadow:0 0 30px #22c55ed9,inset 0 0 18px #0f172a}}@keyframes transcriptIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes cursorBlink{0%,50%{opacity:1}51%,to{opacity:0}}@keyframes statusPulse{0%,to{transform:scale(1);box-shadow:0 0 8px #22c55eb3}50%{transform:scale(1.1);box-shadow:0 0 14px #22c55e}}@keyframes statusGlow{0%,to{box-shadow:0 0 12px #22c55e80}50%{box-shadow:0 0 20px #22c55ee6}}@keyframes cameraBracketShift{0%{transform:translateZ(0)}to{transform:translate3d(1px,-1px,0)}}@keyframes micWave{0%{opacity:.2;transform:scaleX(.9)}40%{opacity:.8;transform:scaleX(1)}to{opacity:.2;transform:scaleX(.92)}}@keyframes ambientSweep{0%{transform:translate3d(-120%,0,0)}8%{transform:translate3d(10%,0,0)}to{transform:translate3d(120%,0,0)}}@keyframes logGlow{0%{box-shadow:0 0 #38bdf800}40%{box-shadow:0 0 18px #38bdf873}to{box-shadow:0 0 #38bdf800}}@media(max-width:960px){.sentinel-layout{grid-template-columns:minmax(0,1fr);padding-bottom:96px}}@media(max-width:640px){.mic-container{gap:16px}}
