.auth-page{background:radial-gradient(ellipse at 30% 20%,#1a3a8a 0,#0000 60%),radial-gradient(ellipse at 80% 90%,#5b1aa8 0,#0000 60%),#050714;color:#f0f4ff;inset:0;overflow:hidden;overflow-y:auto;perspective:1400px;position:fixed}.auth-bg{inset:0;pointer-events:none;position:absolute;z-index:0}.auth-bg:after,.auth-bg:before{animation:drift 60s linear infinite;background-image:radial-gradient(2px 2px at 12% 18%,#fff 50%,#0000),radial-gradient(1.5px 1.5px at 67% 78%,#aef 50%,#0000),radial-gradient(1px 1px at 34% 87%,#fff 50%,#0000),radial-gradient(2px 2px at 89% 24%,#cef 50%,#0000),radial-gradient(1px 1px at 50% 50%,#fff 50%,#0000),radial-gradient(1.5px 1.5px at 19% 65%,#fff 50%,#0000),radial-gradient(1px 1px at 78% 33%,#aef 50%,#0000),radial-gradient(2px 2px at 45% 12%,#fff 50%,#0000),radial-gradient(1px 1px at 95% 68%,#cef 50%,#0000);content:"";inset:-50%;opacity:.7;position:absolute}.auth-bg:after{animation-direction:reverse;animation-duration:90s;background-size:1200px 1200px;opacity:.45}@keyframes drift{to{transform:translate3d(-200px,-300px,0)}}.auth-glow{border-radius:50%;filter:blur(80px);opacity:.55;pointer-events:none;position:absolute;z-index:0}.auth-glow-1{animation:float-1 12s ease-in-out infinite;background:radial-gradient(circle,#4a8eff,#0000 70%);height:480px;left:-10%;top:-10%;width:480px}.auth-glow-2{animation:float-2 14s ease-in-out infinite;background:radial-gradient(circle,#b85eff,#0000 70%);bottom:-15%;height:560px;right:-15%;width:560px}@keyframes float-1{0%,to{transform:translate(0) scale(1)}50%{transform:translate(40px,30px) scale(1.1)}}@keyframes float-2{0%,to{transform:translate(0) scale(1)}50%{transform:translate(-50px,-20px) scale(1.08)}}.auth-grid{animation:grid-pulse 4s ease-in-out infinite;background-image:linear-gradient(90deg,#4a8eff2e 1px,#0000 0),linear-gradient(180deg,#4a8eff2e 1px,#0000 0);background-size:60px 60px;bottom:-40%;height:100%;left:-20%;mask-image:linear-gradient(180deg,#000 10%,#0000 90%);-webkit-mask-image:linear-gradient(180deg,#000 10%,#0000 90%);pointer-events:none;position:absolute;right:-20%;transform:rotateX(70deg);transform-origin:top;z-index:0}@keyframes grid-pulse{0%,to{opacity:1}50%{opacity:.6}}.auth-card{flex-direction:column;justify-content:center;margin:0 auto;max-width:920px;min-height:100vh;padding:60px 24px 80px;position:relative;z-index:2}.auth-card,.auth-logo{align-items:center;display:flex}.auth-logo{animation:logo-fade 1.2s ease-out;gap:14px;margin-bottom:24px}.auth-logo svg{filter:drop-shadow(0 0 20px rgba(74,142,255,.7))}.auth-logo svg circle:nth-child(2){fill:#4a8eff!important}.auth-logo-text{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#aef 50%,#4a8eff);-webkit-background-clip:text;background-clip:text;font-family:Space Grotesk,system-ui,sans-serif;font-size:28px;font-weight:700;letter-spacing:.04em}@keyframes logo-fade{0%{opacity:0;transform:translateY(-12px)}to{opacity:1;transform:translateY(0)}}.auth-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#fff,#cef 60%,#4a8eff);-webkit-background-clip:text;background-clip:text;font-family:Space Grotesk,system-ui,sans-serif;font-size:clamp(40px,7vw,68px);font-weight:700;letter-spacing:-.02em;line-height:1.05;margin:8px 0 12px;text-align:center;text-shadow:0 0 60px #4a8eff66}.auth-subtitle{color:#8b9ab8;font-size:17px;line-height:1.55;margin:0 0 56px;max-width:540px;text-align:center}.slots{grid-gap:22px;display:grid;gap:22px;grid-template-columns:repeat(3,1fr);margin-bottom:36px;perspective:1200px;width:100%}@media (max-width:760px){.slots{gap:18px;grid-template-columns:1fr}}.slot{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:linear-gradient(160deg,#ffffff0f,#ffffff05);border:1px solid #ffffff1a;border-radius:22px;color:inherit;cursor:pointer;font:inherit;isolation:isolate;overflow:hidden;padding:32px 24px 28px;position:relative;text-align:left;transform:rotateY(0deg) rotateX(0deg) translateZ(0);transform-style:preserve-3d;transition:transform .5s cubic-bezier(.2,.9,.3,1.2),border-color .3s ease,box-shadow .5s ease}.slot:before{background:linear-gradient(135deg,#0000 30%,#4a8eff66,#0000 70%);border-radius:inherit;inset:-1px;opacity:0;transition:opacity .4s ease;z-index:-1}.slot:after,.slot:before{content:"";position:absolute}.slot:after{background:linear-gradient(120deg,#0000,#ffffff21,#0000);height:100%;left:-150%;top:0;transform:skewX(-20deg);transition:left .8s ease;width:60%}.slot:hover{border-color:#4a8eff8c;box-shadow:0 30px 60px -20px #4a8eff73,0 0 0 1px #4a8eff4d;transform:rotateY(-5deg) rotateX(8deg) translateZ(20px)}.slot:hover:before{opacity:1}.slot:hover:after{left:150%}.slot:active{transform:rotateY(-3deg) rotateX(5deg) translateZ(10px) scale(.99)}.slot[data-loading=true]{border-color:#4a8eff;pointer-events:none}.slot[data-loading=true]:before{opacity:1}.slot-num{color:#4a8eff2e;font-family:Space Grotesk,monospace;font-size:64px;font-weight:700;letter-spacing:-.04em;line-height:1;pointer-events:none;position:absolute;right:22px;top:18px;-webkit-user-select:none;user-select:none}.slot-icon{align-items:center;background:linear-gradient(135deg,#4a8eff,#b85eff);border-radius:50%;box-shadow:0 8px 24px -4px #4a8eff99,inset 0 -2px 6px #0003;display:flex;font-size:28px;font-weight:700;height:64px;justify-content:center;margin-bottom:18px;transform:translateZ(20px);width:64px}.slot-icon,.slot-label{color:#fff;font-family:Space Grotesk,sans-serif}.slot-label{display:block;font-size:22px;font-weight:600;margin-bottom:6px;transform:translateZ(15px)}.slot-hint{color:#8b9ab8;display:block;font-size:13px;line-height:1.5;margin-bottom:32px;transform:translateZ(10px)}.slot-arrow{align-items:center;background:#4a8eff26;border:1px solid #4a8eff4d;border-radius:50%;bottom:22px;display:flex;height:36px;justify-content:center;position:absolute;right:22px;transform:translateZ(15px);transition:transform .4s ease,background .3s ease;width:36px}.slot:hover .slot-arrow{background:#4a8eff59;transform:translateZ(20px) translateX(4px)}.slot-arrow svg{stroke:#aef;height:16px;width:16px}.slot-status{align-items:center;bottom:24px;color:#6ce39a;display:flex;font-size:11px;gap:6px;left:24px;letter-spacing:.08em;position:absolute;text-transform:uppercase;transform:translateZ(10px)}.slot-status:before{animation:pulse 1.6s ease-in-out infinite;background:#6ce39a;border-radius:50%;box-shadow:0 0 10px #6ce39a;content:"";height:7px;width:7px}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.55;transform:scale(.85)}}.slot[data-slot="1"] .slot-icon{background:linear-gradient(135deg,#4a8eff,#4ad8ff)}.slot[data-slot="2"] .slot-icon{background:linear-gradient(135deg,#b85eff,#ff5ec8)}.slot[data-slot="3"] .slot-icon{background:linear-gradient(135deg,#5eff9a,#4ad8ff)}.slot[data-slot="1"] .slot-num{color:#4ad8ff2e}.slot[data-slot="2"] .slot-num{color:#ff5ec82e}.slot[data-slot="3"] .slot-num{color:#5eff9a2e}.auth-features{display:flex;flex-wrap:wrap;gap:12px;justify-content:center;margin-top:8px;max-width:720px}.auth-feature{align-items:center;background:#ffffff0a;border:1px solid #ffffff14;border-radius:999px;color:#6b7a96;display:flex;font-size:13px;gap:8px;padding:8px 14px}.auth-feature svg{stroke:#4a8eff;height:14px;width:14px}.auth-error{background:#ef44441f;border:1px solid #ef444466;border-radius:12px;color:#fca5a5;font-size:14px;margin-top:18px;padding:12px 18px;text-align:center}.spinner{animation:spin .7s linear infinite;border:2px solid #fff3;border-radius:50%;border-top-color:#fff;display:inline-block;height:18px;width:18px}@keyframes spin{to{transform:rotate(1turn)}}.auth-form,.auth-switch,.auth-switch-btn,.btn-primary,.field{display:none}.map-wrapper{position:relative}.map-container,.map-wrapper{height:100%;width:100%}.sharing-toggle{align-items:center;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:24px;bottom:100px;box-shadow:var(--shadow);display:flex;font-family:var(--font-display);font-size:13px;font-weight:600;gap:7px;padding:10px 16px;position:absolute;right:12px;transition:all var(--transition);z-index:1000}.sharing-on{background:#00d4ff26;border:1px solid var(--accent);color:var(--accent)}.sharing-on:hover{background:#00d4ff40}.sharing-off{background:#ef444426;border:1px solid var(--danger);color:var(--danger)}.sharing-off:hover{background:#ef444440}.alerts-container{display:flex;flex-direction:column;gap:8px;left:50%;pointer-events:none;position:absolute;top:72px;transform:translateX(-50%);width:min(340px,calc(100vw - 24px));z-index:1001}.alerts-container>*{pointer-events:all}.user-marker-wrap{position:relative}.user-dot{align-items:center;border:2px solid #ffffff4d;border-radius:50%;box-shadow:0 2px 12px #0006;color:#000;cursor:pointer;display:flex;font-family:var(--font-display);font-size:14px;font-weight:700;height:40px;justify-content:center;transition:transform .15s ease;width:40px}.user-dot:hover{transform:scale(1.1)}.user-dot.online{background:var(--accent)}.user-dot.offline{background:#4a5568;color:#a0aec0}.self-dot{align-items:center;background:var(--accent);border:3px solid #ffffffe6;border-radius:50%;box-shadow:0 0 0 6px var(--accent-glow),var(--shadow);display:flex;height:44px;justify-content:center;width:44px}.self-pulse{animation:pulse-ring 2s ease-out infinite;border:2px solid var(--accent);border-radius:50%;inset:-8px;position:absolute}.online-dot{background:var(--online);border:2px solid var(--bg);height:10px;position:absolute;right:-2px;top:-2px;width:10px}.proximity-alert{align-items:center;animation:bounce-in .4s ease;background:var(--surface);border:1px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow),0 0 20px var(--accent-glow);display:flex;gap:10px;padding:12px 14px}.pa-icon{flex-shrink:0;font-size:22px}.pa-body{color:var(--text);display:flex;flex:1 1;flex-direction:column;font-size:13px;gap:6px;line-height:1.4}.pa-body strong,.pa-chat-btn{color:var(--accent);font-weight:600}.pa-chat-btn{align-self:flex-start;background:var(--accent-dim);border:1px solid var(--accent);border-radius:20px;cursor:pointer;font-family:var(--font-display);font-size:12px;padding:4px 12px;transition:all var(--transition)}.pa-chat-btn:hover{background:var(--accent);color:#000}.pa-close{align-items:center;color:var(--text-muted);display:flex;flex-shrink:0;padding:4px;transition:color var(--transition)}.online-panel,.pa-close:hover{color:var(--text)}.online-panel{backdrop-filter:blur(20px) saturate(1.4);-webkit-backdrop-filter:blur(20px) saturate(1.4);background:#0a1028c7;border:1px solid #4a8eff40;border-radius:14px;box-shadow:0 12px 40px -8px #0009,inset 0 0 30px #4a8eff26;font-family:var(--font-body);max-height:calc(100% - 100px);padding:10px 8px 8px;position:absolute;right:12px;top:70px;width:220px;z-index:800}.online-panel-header{align-items:center;border-bottom:1px solid #ffffff14;display:flex;gap:8px;margin-bottom:6px;padding:4px 8px 8px}.online-dot{animation:live-pulse 2s ease-in-out infinite;background:#5eff9a;border-radius:50%;box-shadow:0 0 10px #5eff9a;height:8px;width:8px}@keyframes live-pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.8)}}.online-count{color:#5eff9a;font-size:12px;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.online-list{display:flex;flex-direction:column;gap:2px;max-height:280px;overflow-y:auto}.online-empty{color:var(--text-muted);font-size:12px;padding:12px;text-align:center}.online-row{align-items:center;border-radius:8px;display:flex;gap:8px;padding:6px 8px;transition:background .2s ease}.online-row:hover{background:#ffffff0d}.online-row.is-online .online-name{color:var(--text)}.online-avatar{align-items:center;background:linear-gradient(135deg,#4a8eff,#b85eff);border-radius:50%;box-shadow:0 2px 6px #0000004d;color:#fff;display:flex;flex-shrink:0;font-family:var(--font-display);font-size:13px;font-weight:700;height:30px;justify-content:center;position:relative;width:30px}.online-avatar[data-online=true]:after{background:#5eff9a;border:2px solid #0a1028f2;border-radius:50%;bottom:-1px;box-shadow:0 0 6px #5eff9a;content:"";height:10px;position:absolute;right:-1px;width:10px}.online-meta{flex:1 1;min-width:0}.online-name{font-size:13px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.me-tag,.online-name{color:var(--text-muted)}.me-tag{font-weight:400}.online-status{color:var(--text-muted);font-size:10px;letter-spacing:.04em}.online-row.is-online .online-status{color:#5eff9a}.online-action{background:#ffffff0f;border:1px solid #ffffff1a;border-radius:6px;cursor:pointer;font-size:14px;line-height:1;padding:4px 6px;transition:all .2s ease}.online-action:hover{background:#4a8eff40;border-color:#4a8eff80;transform:scale(1.1)}@media (max-width:600px){.online-panel{right:8px;top:64px;width:180px}}.chat-window{animation:slide-in .3s ease;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;bottom:0;box-shadow:var(--shadow),0 -4px 40px #0000004d;display:flex;flex-direction:column;height:min(520px,80vh);position:absolute;right:0;width:min(380px,100vw);z-index:2000}@media (max-width:480px){.chat-window{border-radius:var(--radius) var(--radius) 0 0;height:70vh;width:100vw}}.chat-header{background:var(--surface-2);border-bottom:1px solid var(--border);border-radius:var(--radius) var(--radius) 0 0;flex-shrink:0;justify-content:space-between;padding:14px 16px}.chat-header,.chat-header-info{align-items:center;display:flex}.chat-header-info{gap:12px}.chat-avatar{align-items:center;background:var(--accent);border-radius:50%;color:#000;display:flex;flex-shrink:0;font-weight:700;height:38px;justify-content:center;width:38px}.chat-avatar,.chat-partner-name{font-family:var(--font-display);font-size:15px}.chat-partner-name{color:var(--text);font-weight:600}.chat-status{color:var(--online);font-size:12px;margin-top:1px}.chat-close{align-items:center;border-radius:var(--radius-sm);color:var(--text-muted);display:flex;padding:6px;transition:all var(--transition)}.chat-close:hover{background:var(--border);color:var(--text)}.chat-messages{display:flex;flex:1 1;flex-direction:column;gap:8px;overflow-y:auto;padding:16px}.chat-loading{align-items:center;display:flex;height:100%;justify-content:center}.spinner-sm{animation:spin .6s linear infinite;border:2px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:24px;width:24px}.chat-empty{align-items:center;color:var(--text-muted);display:flex;flex-direction:column;gap:12px;height:100%;justify-content:center}.chat-empty-icon{font-size:36px;opacity:.6}.chat-empty p{font-size:14px}.msg-row{align-items:flex-end;display:flex;gap:8px}.msg-row.mine{flex-direction:row-reverse}.msg-avatar-sm{align-items:center;background:var(--surface-2);border:1px solid var(--accent);border-radius:50%;color:var(--accent);display:flex;flex-shrink:0;font-size:11px;font-weight:700;height:28px;justify-content:center;width:28px}.msg-bubble{animation:fadeUp .2s ease;border-radius:16px;display:flex;flex-direction:column;gap:3px;max-width:72%;padding:10px 13px}.msg-bubble.mine{background:var(--accent);border-bottom-right-radius:4px}.msg-bubble.theirs{background:var(--surface-2);border:1px solid var(--border);border-bottom-left-radius:4px}.msg-text{font-size:14px;line-height:1.45;word-break:break-word}.msg-bubble.mine .msg-text{color:#000}.msg-bubble.theirs .msg-text{color:var(--text)}.msg-time{align-self:flex-end;font-size:10px;opacity:.6}.msg-bubble.mine .msg-time{color:#000000b3}.typing-indicator{align-items:center;background:var(--surface-2);border:1px solid var(--border);border-radius:16px;border-bottom-left-radius:4px;display:flex;gap:4px;padding:12px 14px}.typing-indicator span{animation:bounce 1.2s ease-in-out infinite;background:var(--text-muted);border-radius:50%;height:6px;width:6px}.typing-indicator span:nth-child(2){animation-delay:.15s}.typing-indicator span:nth-child(3){animation-delay:.3s}@keyframes bounce{0%,60%,to{transform:translateY(0)}30%{transform:translateY(-6px)}}.chat-input-bar{background:var(--surface);border-top:1px solid var(--border);display:flex;flex-shrink:0;gap:8px;padding:12px 14px}.chat-input{background:var(--bg);border:1px solid var(--border);border-radius:24px;color:var(--text);flex:1 1;font-size:14px;outline:none;padding:10px 16px;transition:border-color var(--transition)}.chat-input:focus{border-color:var(--accent)}.chat-input::placeholder{color:#4a5568}.chat-send{align-items:center;background:var(--accent);border-radius:50%;color:#000;display:flex;flex-shrink:0;height:40px;justify-content:center;transition:all var(--transition);width:40px}.chat-send:hover:not(:disabled){box-shadow:0 0 12px var(--accent-glow);transform:scale(1.05)}.chat-send:disabled{cursor:not-allowed;opacity:.4}.topbar{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#0a0f1ed9;border-bottom:1px solid var(--border);height:56px;justify-content:space-between;left:0;padding:0 16px;position:absolute;right:0;top:0;z-index:1000}.topbar,.topbar-brand{align-items:center;display:flex}.topbar-brand{gap:10px}.topbar-title{color:var(--text);font-family:var(--font-display);font-size:18px;font-weight:700;letter-spacing:-.3px}.topbar-actions{gap:8px}.topbar-actions,.topbar-btn{align-items:center;display:flex}.topbar-btn{border-radius:var(--radius-sm);color:var(--text-muted);height:36px;justify-content:center;transition:all var(--transition);width:36px}.topbar-btn:hover{background:var(--surface);color:var(--text)}.topbar-logout:hover{color:var(--danger)}.topbar-user{gap:8px}.topbar-avatar,.topbar-user{align-items:center;display:flex}.topbar-avatar{background:var(--accent);border-radius:50%;color:#000;font-family:var(--font-display);font-size:13px;font-weight:700;height:32px;justify-content:center;width:32px}.topbar-name{color:var(--text);font-size:14px;font-weight:500;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:400px){.topbar-name{display:none}}.video-calls{bottom:80px;display:flex;flex-direction:column;gap:10px;left:12px;pointer-events:none;position:fixed;z-index:900}.video-calls>*{pointer-events:auto}.video-box{backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);background:#050714;border:2px solid #4a8eff8c;border-radius:14px;box-shadow:0 14px 40px -10px #000000b3,inset 0 0 24px #4a8eff59;height:150px;overflow:hidden;position:relative;transition:transform .2s ease,border-color .2s ease;width:200px}.video-box:hover{border-color:#4a8eff;transform:translateY(-2px)}.video-box video{display:block;height:100%;object-fit:cover;width:100%}.video-self{border-color:#5eff9a8c;box-shadow:0 14px 40px -10px #000000b3,inset 0 0 20px #5eff9a4d}.video-self video{transform:scaleX(-1)}.video-self:hover{border-color:#5eff9a}.video-remote{animation:pulse-remote 2s ease-in-out infinite;border-color:#b85eff99;box-shadow:0 14px 40px -10px #000000b3,inset 0 0 24px #b85eff59}@keyframes pulse-remote{0%,to{box-shadow:0 14px 40px -10px #000000b3,inset 0 0 24px #b85eff59}50%{box-shadow:0 14px 40px -10px #000000b3,inset 0 0 36px #b85eff99}}.video-label{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#050714b3;border-radius:6px;bottom:6px;color:#fff;font-size:11px;font-weight:600;left:8px;letter-spacing:.03em;padding:3px 8px;position:absolute}.video-controls{display:flex;gap:4px;opacity:0;position:absolute;right:6px;top:6px;transition:opacity .2s ease}.video-box:hover .video-controls{opacity:1}.video-controls button{align-items:center;background:#050714cc;border:1px solid #fff3;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:12px;height:26px;justify-content:center;padding:0;transition:all .15s ease;width:26px}.video-controls button:hover{background:#4a8eff66;border-color:#4a8effcc;transform:scale(1.1)}.video-show-self{align-self:flex-start;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#0a1028e6;border:1px solid #5eff9a73;border-radius:999px;color:#5eff9a;cursor:pointer;font-size:12px;font-weight:600;padding:8px 14px;pointer-events:auto;transition:all .2s ease}.video-show-self:hover{background:#5eff9a26;transform:translateY(-1px)}@media (max-width:600px){.video-box{height:105px;width:140px}.video-calls{bottom:70px;left:8px}}:root{--bg:#050714;--bg-2:#0a1028;--surface:#141c388c;--surface-2:#1c2648a6;--border:#ffffff1a;--border-strong:#4a8eff59;--accent:#4a8eff;--accent-2:#b85eff;--accent-3:#5eff9a;--accent-dim:#4a8eff2e;--accent-glow:#4a8eff73;--online:#5eff9a;--warning:#f59e0b;--danger:#ef4444;--text:#f0f4ff;--text-muted:#8b9ab8;--radius:16px;--radius-sm:10px;--font-display:"Space Grotesk",sans-serif;--font-body:"DM Sans",sans-serif;--transition:0.25s cubic-bezier(0.2,0.9,0.3,1.2);--shadow:0 12px 40px -8px #0009;--shadow-glow:0 0 40px #4a8eff40}*,:after,:before{box-sizing:border-box;margin:0;padding:0}#root,body,html{height:100%;overflow:hidden;width:100%}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:radial-gradient(ellipse at 30% 20%,#1a3a8a 0,#0000 60%),radial-gradient(ellipse at 80% 90%,#5b1aa8 0,#0000 60%),#050714;background:radial-gradient(ellipse at 30% 20%,#1a3a8a 0,#0000 60%),radial-gradient(ellipse at 80% 90%,#5b1aa8 0,#0000 60%),var(--bg);color:#f0f4ff;color:var(--text);font-family:DM Sans,sans-serif;font-family:var(--font-body)}body:before{animation:drift-bg 90s linear infinite;background-image:radial-gradient(2px 2px at 12% 18%,#fff 50%,#0000),radial-gradient(1.5px 1.5px at 67% 78%,#aef 50%,#0000),radial-gradient(1px 1px at 34% 87%,#fff 50%,#0000),radial-gradient(2px 2px at 89% 24%,#cef 50%,#0000),radial-gradient(1px 1px at 19% 65%,#fff 50%,#0000),radial-gradient(1.5px 1.5px at 78% 33%,#aef 50%,#0000);content:"";inset:-50%;opacity:.45;pointer-events:none;position:fixed;z-index:0}@keyframes drift-bg{to{transform:translate3d(-200px,-300px,0)}}button{background:none;border:none;cursor:pointer}button,input,textarea{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:4px}::-webkit-scrollbar-track{background:#0000}::-webkit-scrollbar-thumb{background:#ffffff1a;background:var(--border);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#8b9ab8;background:var(--text-muted)}.leaflet-container{background:#0d1117!important;font-family:DM Sans,sans-serif!important;font-family:var(--font-body)!important}.leaflet-control-attribution{background:#0a0f1ecc!important;color:#8b9ab8!important;color:var(--text-muted)!important;font-size:10px!important}.leaflet-control-attribution a{color:#4a8eff!important;color:var(--accent)!important}.leaflet-control-zoom{border:1px solid #ffffff1a!important;border:1px solid var(--border)!important;border-radius:10px!important;border-radius:var(--radius-sm)!important;overflow:hidden}.leaflet-control-zoom a{background:#141c388c!important;background:var(--surface)!important;border-color:#ffffff1a!important;border-color:var(--border)!important;color:#f0f4ff!important;color:var(--text)!important;transition:background .25s cubic-bezier(.2,.9,.3,1.2)!important;transition:background var(--transition)!important}.leaflet-control-zoom a:hover{background:#1c2648a6!important;background:var(--surface-2)!important}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes pulse-ring{0%{opacity:.8;transform:scale(1)}to{opacity:0;transform:scale(2.5)}}@keyframes slide-in{0%{opacity:0;transform:translateX(100%)}to{opacity:1;transform:translateX(0)}}@keyframes bounce-in{0%{opacity:0;transform:scale(.7)}60%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.app{height:100%;overflow:hidden;position:relative;width:100%}.app-map{inset:0;position:absolute;top:56px}.loading-screen{background:var(--bg);flex-direction:column;gap:32px;height:100%;justify-content:center}.loading-logo,.loading-screen{align-items:center;display:flex}.loading-logo{animation:fadeIn .6s ease;gap:14px}.loading-logo span{color:var(--text);font-family:var(--font-display);font-size:28px;font-weight:700;letter-spacing:-.5px}.loading-spinner{animation:spin .7s linear infinite;border:2px solid var(--border);border-radius:50%;border-top-color:var(--accent);height:32px;width:32px}
/*# sourceMappingURL=main.278db4ee.css.map*/