:root{--primary-bg:#040106;--secondary-bg:#0a0510d6;--surface-bg:#0d0815e6;--accent-color:#a355ff;--accent-strong:#c07dff;--accent-soft:#eed5ff;--accent-deep:#5c18b5;--signal-color:#ff365f;--signal-soft:#ff8aa2;--text-primary:#fbf7ff;--text-secondary:#e1d6f2b8;--border-color:#b96eff33;--success-color:#8ee5bc;--error-color:#ffb7cb;--shadow-color:#00000085}*{box-sizing:border-box;margin:0;padding:0;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}.camera-details,.result-card,[data-selectable],input,textarea{user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}::selection{background-color:#a660ff66;color:#fff}::-moz-selection{background-color:#a660ff66;color:#fff}#root,body,html{height:100%;max-width:100%;overflow:hidden;width:100%}body{background:#020103;color:#fbf7ff;color:var(--text-primary);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}button,input,select,textarea{font:inherit}button{color:inherit}.app{background:radial-gradient(circle at 50% 118%,#6900ba52,#0000 32%),radial-gradient(circle at 50% 0,#7700ff14,#0000 34%),linear-gradient(180deg,#020103,#05010a 44%,#020103);height:100dvh;position:relative;width:100%}.app:after,.app:before{content:"";inset:0;pointer-events:none;position:absolute}.app:before{background:linear-gradient(180deg,hsla(0,0%,100%,.015),#0000 18%),radial-gradient(circle at 50% 65%,#a453ff1a,#0000 28%);opacity:.9}.app:after{background-image:linear-gradient(rgba(189,108,255,.045) 1px,#0000 0),linear-gradient(90deg,rgba(189,108,255,.045) 1px,#0000 0);background-size:44px 44px;-webkit-mask-image:linear-gradient(180deg,#0000,#000000b3 22%,#000000b3 78%,#0000);mask-image:linear-gradient(180deg,#0000,#000000b3 22%,#000000b3 78%,#0000);opacity:.24}.app-shell{height:100%;isolation:isolate;overflow:hidden;position:relative;width:100%}.search-progress{background:linear-gradient(90deg,#ff365f14,#ff365f80 22%,#bb76fffa 50%,#ff365f80 78%,#ff365f14);background-size:260% 100%;height:5px;left:0;opacity:0;pointer-events:none;position:absolute;top:0;width:100%;z-index:35}.search-progress-active{animation:searchProgressSweep .9s linear infinite;box-shadow:0 0 18px #bb76ffa3,0 0 30px #ff365f5c;opacity:1}@keyframes searchProgressSweep{0%{background-position:200% 0}to{background-position:-20% 0}}.globe-stage{inset:0;pointer-events:auto;position:absolute;z-index:5}.search-layer{align-items:flex-start;display:flex;inset:0;justify-content:center;padding:clamp(18px,2vw,28px);pointer-events:none;position:absolute;z-index:20}.search-layer-with-preview{justify-content:space-between;padding-left:clamp(18px,2vw,28px);padding-right:clamp(18px,2vw,28px)}.search-layer-centered,.search-layer-engaged,.search-layer-top{justify-content:center}.search-stack{align-items:center;display:flex;flex-direction:column;gap:14px;pointer-events:auto;transform:translate3d(0,calc(50dvh - 220px),0);transition:transform .74s cubic-bezier(.22,1,.36,1);width:min(820px,100%);will-change:auto}.app-engaged .search-stack{transform:translate3d(0,18px,0)}.app-active .search-stack{transform:translateZ(0)}.brand-badge{align-items:baseline;display:inline-flex;font-weight:700;gap:.08em;justify-content:center;letter-spacing:.08em;line-height:1;text-transform:lowercase;transition:transform .72s cubic-bezier(.22,1,.36,1),font-size .72s cubic-bezier(.22,1,.36,1),opacity .32s ease,align-self .72s cubic-bezier(.22,1,.36,1);will-change:auto}.brand-badge-btn{background:none;border:none;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;line-height:inherit;padding:0;text-align:inherit;transition:transform .2s ease}.brand-badge-btn:hover{transform:scale(1.06)}.brand-badge-btn:active{transform:scale(.94)}.brand-badge-hero{align-self:center;font-size:clamp(1.5rem,2.85vw,1.83rem);margin-bottom:6px;transform:translateY(-10px)}.brand-badge-compact{align-self:flex-start;font-size:clamp(1.2rem,2.05vw,1.62rem);transform:translateZ(0)}.app-active .brand-badge-compact{transform:translate3d(-120px,0,0)}@media (max-width:1024px){.app-active .brand-badge-compact{transform:translate3d(-52px,0,0)}}@media (max-width:520px){.app-active .brand-badge-compact{transform:translateZ(0)}}.brand-open{color:#ffffffeb}.brand-flex{color:#c07dff;color:var(--accent-strong);text-shadow:0 0 18px #a355ff80}.result-navigator{grid-gap:12px;align-items:center;animation:navigatorIn .28s ease;display:grid;gap:12px;grid-template-columns:auto minmax(0,1fr) auto;width:min(980px,100%)}.result-navigator-side{align-items:center;animation:navigatorSlideIn .28s ease;display:flex;flex-direction:column;gap:12px;pointer-events:auto;width:auto}.result-navigator-side .result-card{font-size:.8rem;max-width:140px;padding:10px 12px;width:auto}.result-arrow,.result-card{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(180deg,#12081cf5,#08030ef5);border:1px solid #ba6eff33;box-shadow:0 20px 54px #0000006b,0 0 0 1px hsla(0,0%,100%,.012)}.result-arrow{align-items:center;border-radius:17px;cursor:pointer;display:inline-flex;height:54px;justify-content:center;pointer-events:auto;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;width:54px}.result-arrow svg{height:20px;width:20px}.result-arrow:hover,.result-card:hover{border-color:#e8a1ff52;box-shadow:0 24px 64px #00000070,0 0 24px #a355ff24;transform:translateY(-1px)}.result-card{border-radius:20px;cursor:pointer;display:flex;flex-direction:column;gap:4px;min-width:0;padding:12px 18px;pointer-events:auto;text-align:left;transition:transform .22s ease,border-color .22s ease,box-shadow .22s ease;width:100%}.result-card strong{color:#fbf7ff;color:var(--text-primary);font-size:clamp(.95rem,1.55vw,1.06rem)}.result-card span,.result-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.result-card span{color:#e1d6f2b8;color:var(--text-secondary);font-size:.84rem}.result-card-index{align-items:center;color:#ff8aa2!important;color:var(--signal-soft)!important;display:inline-flex;font-size:.72rem!important;gap:.35rem;letter-spacing:.12em;text-transform:uppercase}.status-banner{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0d0815db;border:1px solid #ffffff14;border-radius:14px;box-shadow:0 18px 40px #00000085;box-shadow:0 18px 40px var(--shadow-color);color:#e1d6f2b8;color:var(--text-secondary);padding:12px 16px;width:min(620px,100%)}.status-banner-error{border-color:#ff5a823d;color:#ffc2cf}@keyframes navigatorIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@keyframes navigatorSlideIn{0%{opacity:0;transform:translateX(-20px)}to{opacity:1;transform:translateX(0)}}::-webkit-scrollbar{height:8px;width:8px}::-webkit-scrollbar-track{background:#ffffff08}::-webkit-scrollbar-thumb{background:#a355ff6b;border-radius:999px}@media (max-width:900px){.search-layer-top{padding-top:16px}}@media (max-width:768px){.search-stack{width:100%}.brand-badge-hero{font-size:.95rem;transform:translateY(-14px)}.brand-badge-compact{font-size:.96rem}.result-navigator{gap:8px;grid-template-columns:48px minmax(0,1fr) 48px}.result-arrow{border-radius:15px;height:48px;width:48px}.result-card{border-radius:18px;padding:11px 14px}}@media (max-width:520px){.search-layer{padding-left:14px;padding-right:14px}.search-layer-top{padding-top:14px}.brand-badge-hero{transform:translateY(-10px)}.result-card strong{font-size:.92rem}.result-card span{font-size:.78rem}}@media (max-height:720px) and (min-width:769px){.search-layer-centered{align-items:flex-start;padding-top:18vh}}@media (prefers-reduced-motion:reduce){.brand-badge,.search-stack{transition:none}}.search-bar{transition:transform .68s cubic-bezier(.22,1,.36,1),width .68s cubic-bezier(.22,1,.36,1);width:100%;will-change:auto}.search-bar-compact,.search-bar-hero{max-width:min(980px,calc(100vw - 36px))}.search-bar-hero{transform:translate3d(0,-14px,0)}.search-bar-compact{transform:translateZ(0)}.search-input-wrapper{align-items:center;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:linear-gradient(180deg,#10081af0,#08040ef5),#08070ccc;border:1px solid #ba6eff38;border-radius:28px;box-shadow:0 28px 72px #0000006b,inset 0 1px 0 #ffffff08,0 0 28px #a355ff14;display:flex;gap:10px;padding:12px;transition:border-color .22s ease,box-shadow .22s ease,transform .22s ease;width:100%}.search-input-wrapper:focus-within{border-color:#e6a7ff6b;box-shadow:0 30px 80px #00000075,0 0 0 4px #a355ff14,0 0 36px #a355ff24;transform:translateY(-1px)}.search-input{background:#0000;border:none;color:var(--text-primary);flex:1 1;font-size:1.02rem;letter-spacing:.01em;min-width:0;padding:8px 14px;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text}.search-input:focus{outline:none}.search-input::placeholder{color:#ebdaff73}.search-button{align-items:center;background:linear-gradient(180deg,#ff4c76f5,#990d36f0);border:1px solid #ff7ea42e;border-radius:18px;box-shadow:0 18px 38px #990d3652,0 0 22px #ff4c762e;color:#fff;cursor:pointer;display:inline-flex;height:54px;justify-content:center;transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;width:54px}.search-button:hover:not(:disabled){box-shadow:0 20px 44px #990d365c,0 0 28px #ff4c7638;filter:saturate(1.08);transform:translateY(-1px) scale(1.01)}.search-button:disabled{cursor:default;opacity:.8}.search-button-active{animation:searchButtonPulse .95s ease-in-out infinite;box-shadow:0 20px 48px #990d3670,0 0 34px #ff4c7661}.search-meta{color:#f5e4ffa8;display:flex;font-size:.8rem;justify-content:center;letter-spacing:.12em;margin-top:10px;text-transform:uppercase}.spinner{animation:spin .72s linear infinite;border:2.5px solid #ffffff70;border-radius:999px;border-top-color:#fff;filter:drop-shadow(0 0 10px rgba(255,172,205,.62));height:20px;width:20px}@keyframes spin{to{transform:rotate(1turn)}}@keyframes searchButtonPulse{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-1px) scale(1.03)}}@media (max-width:768px){.search-bar-hero{transform:translateY(-10px)}.search-input-wrapper{border-radius:24px;padding:10px}.search-input{font-size:16px;padding-inline:12px}.search-button{border-radius:16px;height:48px;width:48px}}@media (prefers-reduced-motion:reduce){.search-bar,.search-input-wrapper{transition:none}.search-button-active,.spinner{animation:none}}.globe-viewer{background:radial-gradient(circle at 50% 50%,#20083675,#0000 52%),radial-gradient(circle at 50% 60%,#a53dff14,#0000 66%),linear-gradient(180deg,#040107,#020103);border-radius:50%;height:min(118vw,1220px);left:50%;max-height:1220px;overflow:hidden;position:absolute;transition:width .85s cubic-bezier(.22,1,.36,1),height .85s cubic-bezier(.22,1,.36,1),transform .85s cubic-bezier(.22,1,.36,1),bottom .85s cubic-bezier(.22,1,.36,1),top .85s cubic-bezier(.22,1,.36,1),box-shadow .85s cubic-bezier(.22,1,.36,1),opacity .45s ease;width:min(118vw,1220px)}.globe-viewer-idle{bottom:min(-54vw,-420px);box-shadow:0 90px 180px #0000008f,0 0 48px #a355ff1f;transform:translateX(-50%)}.globe-viewer-active{box-shadow:0 48px 120px #00000075,0 0 72px #a355ff1a;height:min(108vw,1320px);top:50%;transform:translate(-50%,-50%);width:min(108vw,1320px)}.globe-aura,.globe-shadow{inset:0;pointer-events:none;position:absolute}.globe-shadow{background:radial-gradient(circle at 50% 50%,#0000 54%,#0000003d 72%,#00000070 100%);z-index:2}.globe-aura-one{background:radial-gradient(circle at 46% 46%,#ac60ff2e,#0000 40%);filter:blur(34px);opacity:.78;z-index:1}.globe-aura-two{background:radial-gradient(circle at 54% 60%,#ff365f1a,#0000 32%);filter:blur(46px);opacity:.55;z-index:1}.cesium-host{inset:0;position:absolute}.cesium-host .cesium-viewer,.cesium-host .cesium-viewer-cesiumWidget,.cesium-host .cesium-widget,.cesium-host canvas{height:100%!important;width:100%!important}.cesium-host .cesium-credit-logoContainer,.cesium-host .cesium-credit-textContainer,.cesium-host .cesium-performanceDisplay-defaultContainer,.cesium-host .cesium-viewer-bottom,.cesium-host .cesium-viewer-toolbar,.cesium-host .cesium-widget-credits{display:none!important}.globe-boot-indicator{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0b0412c2;border:1px solid #ba6eff2e;border-radius:999px;bottom:clamp(22%,24%,28%);color:#ebd6ffc2;font-size:.72rem;left:50%;letter-spacing:.16em;padding:.6rem .9rem;position:absolute;text-transform:uppercase;transform:translateX(-50%);z-index:4}@media (max-width:900px){.globe-viewer{height:min(136vw,980px);width:min(136vw,980px)}.globe-viewer-idle{bottom:min(-72vw,-500px)}.globe-viewer-active{height:min(142vw,1100px);width:min(142vw,1100px)}}@media (max-width:520px){.globe-viewer-idle{bottom:min(-82vw,-540px)}.globe-boot-indicator{bottom:27%;font-size:.66rem}}.camera-info-overlay{align-items:flex-start;animation:fadeIn .22s ease;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:linear-gradient(90deg,#0201040f,#0201042e 52%,#02010494);display:flex;inset:0;justify-content:flex-end;padding-right:18px;padding-top:18px;position:fixed;z-index:1000}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.camera-info-panel{animation:slideIn .24s ease;background:linear-gradient(180deg,#0a0411fa,#040208fa);border-left:1px solid #ba6eff29;border-radius:20px;box-shadow:-22px 0 70px #00000075;display:flex;flex-direction:column;max-height:88vh;overflow:hidden;position:relative;user-select:text;-webkit-user-select:text;-moz-user-select:text;-ms-user-select:text;width:min(100%,480px)}@keyframes slideIn{0%{transform:translateX(100%)}to{transform:translateX(0)}}.close-button{align-items:center;background:#00000057;border:1px solid #ffffff14;border-radius:999px;color:var(--text-primary);cursor:pointer;display:inline-flex;height:40px;justify-content:center;position:absolute;right:12px;top:12px;width:40px;z-index:1001}.info-header{position:relative}.camera-thumbnail{display:block;height:230px;object-fit:cover;width:100%}.camera-thumbnail-fallback{background:radial-gradient(circle at 18% 18%,#a355ff3d,#0000 34%),radial-gradient(circle at 82% 24%,#ff365f1f,#0000 30%),linear-gradient(180deg,#12081efa,#07040cfa)}.info-title-section{padding:18px 18px 14px}.info-title-section h2{font-size:1.32rem;line-height:1.35;margin-bottom:10px}.title-badges{display:flex;flex-wrap:wrap;gap:8px}.provider-badge{align-items:center;background:#a355ff1f;border-radius:999px;color:#ead9ff;display:inline-flex;font-size:.72rem;font-weight:700;letter-spacing:.08em;min-height:28px;padding:.25rem .72rem}.provider-badge-offline{background:#6b72802e;color:#d1d5db}.info-content{flex:1 1;overflow-y:auto;padding:0 18px 18px}.info-section{margin-bottom:18px}.section-headline{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:10px}.info-section h3{color:var(--accent-soft);font-size:.74rem;font-weight:700;letter-spacing:.12em;margin-bottom:10px;text-transform:uppercase}.section-headline h3{margin-bottom:0}.info-section p{color:var(--text-secondary);line-height:1.6;margin:0}.info-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(0,1fr))}.coordinates{color:#f2ddff;font-family:SFMono-Regular,Courier New,monospace}.country{margin-top:4px}.status-badges{display:flex;flex-wrap:wrap;gap:8px}.status-badge{align-items:center;border-radius:999px;display:inline-flex;font-size:.84rem;font-weight:600;min-height:34px;padding:.42rem .8rem}.status-badge.active{background:#8ee5bc1f;color:var(--success-color)}.status-badge.inactive{background:#6b728024;color:#d1d5db}.status-badge.has-stream{background:#ff365f24;color:#ffc0cf}.stream-url{align-items:center;background:#ffffff0d;border-radius:999px;color:#f0ddff;display:inline-flex;font-family:SFMono-Regular,Courier New,monospace;font-size:.78rem;min-height:30px;padding:.22rem .68rem}.player-wrap{position:relative}.stream-player{aspect-ratio:16/9;background:#000;border:1px solid #ba6eff29;border-radius:16px;margin-top:10px;overflow:hidden;width:100%}.stream-image{object-fit:cover}.stream-frame{border:none}.load-stream-button,.mini-action,.stream-link,.view-source-button{align-items:center;background:linear-gradient(180deg,#b570fff5,#591fb8f5);border:none;border-radius:12px;color:#fff;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:700;justify-content:center;margin-right:8px;margin-top:4px;min-height:42px;padding:.72rem 1rem;text-decoration:none}.mini-action{border-radius:10px;font-size:.76rem;margin:0;min-height:34px;padding:.45rem .8rem}.load-stream-button,.stream-link,.view-source-button{background:linear-gradient(180deg,#b570fff5,#591fb8f5)}.error,.loading{border-radius:12px;margin-top:10px;padding:.8rem .9rem}.loading{background:#60a5fa1f;color:#dbeafe}.error{background:#ffb7cb1f;color:#ffd2de}.map-container{align-items:center;background:#0a0a1480;border:1px solid #ba6eff1f;border-radius:12px;display:flex;height:220px;justify-content:center;margin-top:10px;overflow:hidden;width:100%}.preview-map{display:block;height:100%;object-fit:cover;width:100%}@media (max-width:768px){.camera-info-panel{max-width:100%;width:100%}.camera-thumbnail{height:min(34vh,210px)}.info-grid{grid-template-columns:1fr}.map-container{height:180px}}.search-feedback{left:50%;opacity:0;pointer-events:none;position:fixed;top:50%;transform:translate(-50%,-50%);will-change:auto;z-index:1000}.search-feedback-active{animation:feedback-show .4s cubic-bezier(.34,1.56,.64,1) forwards}@keyframes feedback-show{0%{opacity:0}to{opacity:1}}.search-feedback-success{animation:feedback-success-show .5s cubic-bezier(.34,1.56,.64,1) forwards,feedback-hide .4s ease-in-out 2.5s forwards}@keyframes feedback-success-show{0%{opacity:0}to{opacity:1}}@keyframes feedback-hide{0%{opacity:1}to{opacity:0}}.search-feedback-empty{animation:feedback-empty-show .5s cubic-bezier(.34,1.56,.64,1) forwards,feedback-hide .4s ease-in-out 2.5s forwards}@keyframes feedback-empty-show{0%{opacity:0}to{opacity:1}}.search-feedback-message{animation:message-float .6s ease-out;color:#f7ecfffa;display:block;font-size:19px;font-weight:600;letter-spacing:.5px;text-shadow:0 2px 12px #000000a8,0 0 30px #b06fff9e,0 0 14px #ff365f3d}@keyframes message-float{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.search-feedback-success .search-feedback-message{color:#96ff96fa}.search-feedback-empty .search-feedback-message{color:#ffb4b4fa}.search-particles{animation:search-particle-pulse 1.7s ease-in-out infinite;background:radial-gradient(circle at 50% 30%,#b366ff3b,#0000 60%),radial-gradient(circle at 30% 60%,#994aff33,#0000 50%),radial-gradient(circle at 70% 70%,#ff558024,#0000 55%);inset:0;pointer-events:none;position:fixed;z-index:999}@keyframes search-particle-pulse{0%{opacity:.58}50%{opacity:1}to{opacity:.58}}.about-container{align-items:center;background:linear-gradient(180deg,#020103,#0a0309);display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;inset:0;justify-content:center;position:fixed;-webkit-user-select:none;user-select:none;z-index:1000}.about-content{align-items:center;animation:fadeInAbout .45s ease-out;display:flex;flex-direction:column;gap:2.4rem;max-width:560px;padding:2rem}@keyframes fadeInAbout{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.about-icon-btn{align-items:center;background:none;border:none;cursor:pointer;display:flex;justify-content:center;margin-top:1rem;padding:0;transition:transform .3s ease}.about-icon-btn:hover{transform:scale(1.08)}.about-icon-btn:active{transform:scale(.96)}.about-badge{font-size:2.8rem;font-weight:700;letter-spacing:.04em}.brand-open{color:#fff}.brand-flex{-webkit-text-fill-color:#0000;background:linear-gradient(90deg,#a960ff,#ff365f);background-clip:text;-webkit-background-clip:text}.about-textbox{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#280f3c47;border:1px solid #a660ff2e;border-radius:12px;color:#d4c5e2;display:flex;flex-direction:column;font-size:.95rem;gap:1.2rem;line-height:1.6;padding:1.8rem 1.6rem;text-align:center}.about-textbox p{color:inherit;margin:0;opacity:.92}.about-textbox p:first-child{color:#fff;font-weight:500;opacity:1}@media (max-width:640px){.about-content{gap:1.8rem}.about-badge{font-size:2.2rem}.about-textbox{font-size:.9rem;padding:1.4rem 1.2rem}}.context-menu{animation:contextMenuAppear .15s ease-out;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#14031ffa;border:1px solid #a660ff3d;border-radius:8px;box-shadow:0 8px 32px #0000008f;min-width:140px;padding:0;position:fixed;z-index:10000}@keyframes contextMenuAppear{0%{opacity:0;transform:scale(.92) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.context-menu-item{background:none;border:none;color:#d4c5e2;cursor:pointer;display:block;font-family:Inter,sans-serif;font-size:.95rem;padding:.75rem 1.2rem;text-align:left;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:100%}.context-menu-item:first-child{border-radius:8px 8px 0 0}.context-menu-item:last-child{border-radius:0 0 8px 8px}.context-menu-item:hover{background:#a660ff29;color:#fff}.context-menu-item:active{background:#a660ff3d}
/*# sourceMappingURL=main.e5f082f1.css.map*/