:root{--text:#3a3a3f;--text-h:#08060d;--text-muted:#6b6375;--bg:#fff;--bg-elevated:#f7f7f9;--border:#e5e4e7;--accent:#2563eb;--accent-hover:#1d4ed8;--danger:#dc2626;--shadow:#0000001a 0 10px 15px -3px, #0000000d 0 4px 6px -2px;--sans:system-ui, "Segoe UI", Roboto, sans-serif;font:15px/145% var(--sans);--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--text);background:var(--bg);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial;--text:#d1d2d6;--text-h:#f3f4f6;--text-muted:#9ca3af;--bg:#111217;--bg-elevated:#1a1b22;--border:#2e303a;--accent:#60a5fa;--accent-hover:#93c5fd;--danger:#f87171;--shadow:#0006 0 10px 15px -3px, #00000040 0 4px 6px -2px}}*,:before,:after{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{overscroll-behavior:none;overflow:hidden}@media (width<=768px){input,select,textarea{font-size:16px!important}}h1,h2,h3{font-family:var(--sans);color:var(--text-h);margin:0;font-weight:600}p{margin:0}button,input,select{font:inherit;color:inherit}button{cursor:pointer}a{color:var(--accent)}.auth-screen{background:var(--bg-elevated);justify-content:center;align-items:center;height:100dvh;padding:16px;display:flex}.auth-card{background:var(--bg);border:1px solid var(--border);width:100%;max-width:360px;box-shadow:var(--shadow);border-radius:12px;padding:32px}.auth-card h1{margin-bottom:4px;font-size:22px}.auth-subtitle{color:var(--text-muted);margin-bottom:24px;font-size:14px}.auth-field{flex-direction:column;gap:6px;margin-bottom:16px;display:flex}.auth-field label{color:var(--text-muted);font-size:13px;font-weight:500}.auth-field input{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:8px;padding:10px 12px}.auth-field input:focus{outline:2px solid var(--accent);outline-offset:-1px}.auth-error{background:color-mix(in srgb, var(--danger) 12%, transparent);color:var(--danger);border-radius:8px;margin-bottom:16px;padding:10px 12px;font-size:13px}.auth-submit{background:var(--accent);color:#fff;border:none;border-radius:8px;width:100%;padding:11px;font-weight:600;transition:background .15s}.auth-submit:hover:not(:disabled){background:var(--accent-hover)}.auth-submit:disabled{opacity:.6;cursor:not-allowed}.auth-switch{text-align:center;color:var(--text-muted);margin-top:20px;font-size:14px}.welcome-screen{-webkit-overflow-scrolling:touch;background:var(--bg);height:100dvh;color:var(--text);flex-direction:column;display:flex;position:relative;overflow-y:auto}.welcome-map-bg{z-index:0;opacity:.3;pointer-events:none;background-image:url(https://server.arcgisonline.com/ArcGIS/rest/services/World_Topo_Map/MapServer/tile/7/45/65);background-position:50%;background-size:cover;position:fixed;inset:0}.welcome-header,.welcome-main,.welcome-map-attribution{z-index:1;position:relative}.welcome-map-attribution{text-align:center;color:var(--text-muted);padding:0 20px 14px;font-size:10px}.welcome-header{justify-content:flex-end;align-items:center;padding:16px 20px;display:flex}.welcome-header-login{border:1px solid var(--border);color:var(--text);border-radius:8px;padding:7px 14px;font-size:13px;font-weight:500}.welcome-header-login:hover{background:var(--bg-elevated)}.welcome-main{flex-direction:column;flex:1;align-items:center;gap:48px;max-width:760px;margin:0 auto;padding:48px 20px 64px;display:flex}.welcome-hero{text-align:center;flex-direction:column;align-items:center;gap:16px;display:flex}.welcome-logo-row{align-items:center;gap:14px;display:flex}.welcome-logo-icon{flex-shrink:0;width:56px;height:56px}.welcome-logo-text{letter-spacing:.02em;color:var(--text-h);font-size:34px;font-weight:800}.welcome-tagline{color:var(--text-muted);max-width:520px;font-size:17px;font-weight:400;line-height:1.5}.welcome-features{text-align:left;flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.welcome-features li{color:var(--text);padding-left:18px;font-size:14px;position:relative}.welcome-features li:before{content:"–";color:var(--accent);font-weight:700;position:absolute;left:0}.welcome-video-wrap{border:1px solid var(--border);width:100%;max-width:280px;box-shadow:var(--shadow);background:var(--bg-elevated);border-radius:12px;margin-top:8px;overflow:hidden}.welcome-video{aspect-ratio:1206/2622;object-fit:cover;background:var(--bg-elevated);width:100%;display:block}.welcome-pricing{text-align:center;flex-direction:column;align-items:center;gap:8px;width:100%;display:flex}.welcome-free-banner{background:color-mix(in srgb, var(--accent) 14%, transparent);color:var(--accent);border-radius:20px;margin-bottom:8px;padding:8px 16px;font-size:14px;font-weight:600;display:inline-block}.welcome-pricing h2{font-size:18px}.welcome-pricing-note{color:var(--text-muted);font-size:13px}.welcome-pricing-intro{color:var(--text-h);margin-bottom:16px;font-size:14px;font-weight:600}.welcome-pricing-grid{grid-template-columns:repeat(5,1fr);gap:10px;width:100%;display:grid}@media (width<=640px){.welcome-pricing-grid{grid-template-columns:repeat(2,1fr)}.welcome-logo-icon{width:40px;height:40px}.welcome-logo-text{font-size:24px}}.welcome-pricing-card{border:1px solid var(--border);background:var(--bg-elevated);border-radius:10px;flex-direction:column;align-items:center;gap:2px;padding:16px 8px;display:flex}.welcome-pricing-credits{font-size:20px;font-weight:700}.welcome-pricing-label{color:var(--text-muted);margin-bottom:6px;font-size:11px}.welcome-pricing-price{color:var(--accent);font-size:14px;font-weight:600}.welcome-cta{flex-direction:column;align-items:center;gap:10px;display:flex}.welcome-cta-button{background:var(--accent);color:#fff;border-radius:10px;padding:13px 32px;font-size:15px;font-weight:700}.welcome-cta-button:hover{background:var(--accent-hover)}.welcome-cta-secondary{color:var(--text-muted);font-size:13px}.welcome-cta-secondary:hover{color:var(--text);text-decoration:underline}
