*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body,#root{height:100%;font-family:DM Sans,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Noto Color Emoji";background:linear-gradient(145deg,#1b3a4a,#236b68 45%,#8b4e2e);-webkit-font-smoothing:antialiased}::-webkit-scrollbar{width:3px}::-webkit-scrollbar-thumb{background:#c9a882;border-radius:4px}@media (min-width: 900px){::-webkit-scrollbar{width:5px}}input:focus,textarea:focus{border-color:#c8854e!important;box-shadow:0 0 0 3px #c8854e1f!important;transition:border-color .2s,box-shadow .2s}button:active:not(:disabled){transform:scale(.97)!important;transition:transform .1s!important}.card-lift{transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1)!important}.card-lift:hover{transform:translateY(-4px)!important;box-shadow:0 12px 32px #00000024,0 4px 10px #0000000f!important}.card-lift:active{transform:scale(.97)!important;transition-duration:.1s!important}.skeleton{background:linear-gradient(90deg,#f0e6d8 25%,#faf6f0,#f0e6d8 75%);background-size:200% 100%;animation:shimmer 1.5s infinite;border-radius:10px}@keyframes fadeUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.chat-msg-row .chat-msg-actions{opacity:0;transition:opacity .15s ease}.chat-msg-row:hover .chat-msg-actions{opacity:1}@keyframes chatMsgIn{0%{opacity:0;transform:translateY(12px) scale(.97)}60%{opacity:1;transform:translateY(-2px) scale(1.005)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes fadeDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@keyframes slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}@keyframes popIn{0%{opacity:0;transform:scale(.92)}to{opacity:1;transform:scale(1)}}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes scalePulse{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes fadeSlideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}.ai-thinking-dots:after{content:"";animation:aiDots 1.5s infinite}@keyframes aiDots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}to{content:""}}@keyframes checkBounce{0%{opacity:0;transform:scale(.5)}50%{opacity:1;transform:scale(1.2)}to{opacity:1;transform:scale(1)}}@keyframes gentleFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes searchBounce{0%,to{transform:translateY(0)}50%{transform:translateY(-6px)}}@keyframes searchPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.15);opacity:.8}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes fadeSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes splashLogoIn{0%{opacity:0;transform:scale(.7)}60%{opacity:1;transform:scale(1.04)}to{opacity:1;transform:scale(1)}}@keyframes splashBreathe{0%,to{transform:scale(1)}50%{transform:scale(1.03)}}@keyframes resultsSlideLeft{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes resultsSlideRight{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}.results-slide-left{animation:resultsSlideLeft .35s cubic-bezier(.16,1,.3,1)}.results-slide-right{animation:resultsSlideRight .35s cubic-bezier(.16,1,.3,1)}.mapboxgl-popup-content{border-radius:14px!important;padding:0!important;box-shadow:0 8px 30px #0000002e!important;overflow:hidden}.mapboxgl-popup-close-button{font-size:18px;padding:4px 8px;color:#7a6a58}.mapboxgl-ctrl-bottom-left,.mapboxgl-ctrl-bottom-right{display:none}
