@font-face{font-family:VisbyCF;src:url(/fonts/VisbyCF-Regular.woff2) format("woff2");font-weight:300;font-style:normal;font-display:swap}@font-face{font-family:VisbyCF;src:url(/fonts/VisbyCF-Medium.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:VisbyCF;src:url(/fonts/VisbyCF-Bold.woff2) format("woff2");font-weight:600;font-style:normal;font-display:swap}@font-face{font-family:VisbyCF;src:url(/fonts/VisbyCF-Heavy.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}:root{--primary: #D91623;--secondary: #091D35;--bg-page: #FAFAFA;--bg-card: #ffffff;--bg-input: #ffffff;--glass-bg: rgba(255, 255, 255, .85);--glass-border: rgba(255, 255, 255, .4);--text-primary: var(--secondary);--text-heading: var(--secondary);--text-secondary: #64748B;--border-light: rgba(9, 29, 53, .08);--border-card: rgba(255, 255, 255, .8);--shadow-color: 9, 29, 53;font-family:VisbyCF,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.6;font-weight:400;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}::selection{background-color:var(--primary);color:#fff}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background-color:#cbd5e1;border-radius:10px;border:2px solid transparent;background-clip:padding-box}::-webkit-scrollbar-thumb:hover{background-color:#94a3b8}body,html{margin:0;padding:0;width:100%;height:100vh;overflow:hidden;background-color:var(--bg-page);color:var(--text-primary);transition:background-color .4s cubic-bezier(.4,0,.2,1),color .4s ease}#root{height:100vh;width:100%;padding:0;max-width:none;position:relative;display:flex;flex-direction:column}h1,h2,h3,h4,h5,h6{font-family:VisbyCF,sans-serif;font-weight:800;line-height:1.15;color:var(--text-heading);letter-spacing:-.02em;margin:0 0 1rem}p{font-family:VisbyCF,sans-serif;font-weight:500;line-height:1.6;color:var(--text-secondary);margin:0 0 1rem}input,button,select,textarea{transition:all .3s cubic-bezier(.4,0,.2,1);font-family:inherit;border:none;outline:none}input,select,textarea{background-color:var(--bg-input);color:var(--text-primary);border:1px solid var(--border-light)}button{cursor:pointer;font-family:VisbyCF,sans-serif;font-weight:700}a{font-weight:600;color:var(--primary);text-decoration:inherit;transition:opacity .2s ease}a:hover{opacity:.8}.mapboxgl-popup-content{border-radius:20px!important;padding:0!important;box-shadow:0 16px 40px rgba(var(--shadow-color),.12),0 8px 16px rgba(var(--shadow-color),.08)!important;overflow:hidden;background-color:var(--bg-card)!important;border:1px solid var(--border-light)}.mapboxgl-popup-close-button{display:none!important}.mapboxgl-ctrl-group{border-radius:14px!important;overflow:hidden!important;box-shadow:0 8px 24px rgba(var(--shadow-color),.1)!important;background-color:var(--glass-bg)!important;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border:1px solid var(--border-light)}.mapboxgl-ctrl-group button{background-color:transparent!important;transition:background-color .2s ease}.mapboxgl-ctrl-group button:hover{background-color:#091d350d!important}.app-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background:linear-gradient(135deg,#fff,#f8fafc,#f1f5f9);transition:background .5s ease}.elevated-card{background:var(--glass-bg);border:1px solid var(--glass-border);color:var(--text-primary);border-radius:24px;box-shadow:0 24px 48px -12px rgba(var(--shadow-color),.1),0 12px 24px -6px rgba(var(--shadow-color),.05);padding:2.5rem;width:100%;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);transition:all .4s cubic-bezier(.4,0,.2,1)}.elevated-card:hover{box-shadow:0 32px 64px -12px rgba(var(--shadow-color),.15),0 16px 32px -6px rgba(var(--shadow-color),.08);transform:translateY(-4px)}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.fade-in-up{animation:fadeInUp .6s cubic-bezier(.2,.8,.2,1) both}.fade-in-left{animation:fadeInLeft .6s cubic-bezier(.2,.8,.2,1) both}.slide-in-right{animation:slideInRight .6s cubic-bezier(.2,.8,.2,1) both}@media(prefers-reduced-motion:reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
