@tailwind base;@tailwind components;@tailwind utilities;@font-face{font-family:VisbyCF;src:url(/fonts/VisbyCF-Regular.woff2) format("woff2");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:VisbyCF;src:url(/fonts/VisbyCF-Medium.woff2) format("woff2");font-weight:500;font-style:normal;font-display:swap}@font-face{font-family:VisbyCF;src:url(/fonts/VisbyCF-Bold.woff2) format("woff2");font-weight:700;font-style:normal;font-display:swap}@font-face{font-family:VisbyCF;src:url(/fonts/VisbyCF-Heavy.woff2) format("woff2");font-weight:800;font-style:normal;font-display:swap}:root{--primary: #D91623;--secondary: #091D35;--bg-page: #ffffff;--bg-card: #ffffff;--bg-input: #ffffff;--text-primary: var(--secondary);--text-heading: var(--secondary);--text-secondary: #4b5563;--border-light: rgba(9, 29, 53, .1);--border-card: rgba(255, 255, 255, .8);--shadow-color: 9, 29, 53;font-family:VisbyCF,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.dark,@media (prefers-color-scheme: dark){:root{color-scheme:dark;--bg-page: #091D35;--bg-card: #1e293b;--bg-input: #1e293b;--text-primary: #f1f5f9;--text-heading: #ffffff;--text-secondary: #94a3b8;--border-light: rgba(255, 255, 255, .1);--border-card: rgba(255, 255, 255, .1);--shadow-color: 0, 0, 0}}*{box-sizing:border-box}body,html{margin:0;padding:0;width:100%;height:100vh;overflow:hidden;background-color:var(--bg-page);color:var(--text-primary);transition:background-color .3s ease,color .3s 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.2;color:var(--text-heading);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 .2s ease-in-out;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:500;color:#3b82f6;text-decoration:inherit;transition:color .2s ease}a:hover{color:#2563eb}.mapboxgl-popup-content{border-radius:16px!important;padding:0!important;box-shadow:0 10px 25px rgba(var(--shadow-color),.15)!important;overflow:hidden;background-color:var(--bg-card)!important}.mapboxgl-popup-close-button{display:none!important}.mapboxgl-ctrl-group{border-radius:12px!important;overflow:hidden!important;box-shadow:0 4px 12px rgba(var(--shadow-color),.1)!important;background-color:var(--bg-card)!important}.mapboxgl-ctrl-group button{background-color:transparent!important}.app-background{position:fixed;top:0;left:0;width:100%;height:100%;z-index:-1;background:linear-gradient(135deg,#fff,#f8fafc,#f1f5f9,#f8fafc,#fff);transition:background .5s ease}.elevated-card{background:var(--bg-card);border:1px solid var(--border-card);color:var(--text-primary);border-radius:20px;box-shadow:0 20px 40px -10px rgba(var(--shadow-color),.08),0 8px 24px -4px rgba(var(--shadow-color),.05);padding:2rem;width:100%;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);transition:all .3s ease}.elevated-card:hover{box-shadow:0 25px 50px -12px rgba(var(--shadow-color),.12),0 12px 32px -6px rgba(var(--shadow-color),.08);transform:translateY(-2px)}@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 ease-out both}.fade-in-left{animation:fadeInLeft .6s ease-out both}.slide-in-right{animation:slideInRight .6s ease-out both}@media (prefers-reduced-motion: reduce){*{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
