*,*:before,*:after{box-sizing:border-box}:root{font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;line-height:1.5;font-weight:400;font-size:16px;color-scheme:light;color:#333;background-color:#fff;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body{margin:0;padding:0;height:100%;width:100%;overflow:hidden}#app{height:100%;width:100%}a{font-weight:500;color:#df3487;text-decoration:none}a:hover{text-decoration:underline}h1,h2,h3,h4,h5,h6{margin:0;font-weight:600;line-height:1.2}p{margin:0}button{font-family:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#f5f5f5}::-webkit-scrollbar-thumb{background:#ccc;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#df3487}.chat-sidebar.svelte-z7nqid{display:flex;flex-direction:column;height:100%;background:#fff;border-right:1px solid #e0e0e0}.chat-header.svelte-z7nqid{padding:1rem;border-bottom:1px solid #e0e0e0;background:#df3487}.chat-header.svelte-z7nqid h2:where(.svelte-z7nqid){margin:0;font-size:1.25rem;color:#fff}.messages-container.svelte-z7nqid{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.message.svelte-z7nqid{display:flex;flex-direction:column;gap:.25rem}.message.user.svelte-z7nqid .message-content:where(.svelte-z7nqid){background:#df3487;margin-left:auto}.message.system.svelte-z7nqid .message-content:where(.svelte-z7nqid){background:#f5f5f5;margin-right:auto}.message-content.svelte-z7nqid{padding:.75rem;border-radius:.5rem;max-width:90%}.message-icon.svelte-z7nqid{font-size:.75rem;font-weight:600;color:#888;text-transform:uppercase;letter-spacing:.05em}.message.user.svelte-z7nqid .message-icon:where(.svelte-z7nqid){color:#fffc}.message-content.svelte-z7nqid p:where(.svelte-z7nqid){margin:.5rem 0 0;color:#333;line-height:1.5}.message.user.svelte-z7nqid .message-content:where(.svelte-z7nqid) p:where(.svelte-z7nqid){color:#fff}.timestamp.svelte-z7nqid{font-size:.7rem;color:#999;align-self:flex-end}.message.user.svelte-z7nqid .timestamp:where(.svelte-z7nqid){align-self:flex-end}.message.system.svelte-z7nqid .timestamp:where(.svelte-z7nqid){align-self:flex-start}.response-content.svelte-z7nqid{display:flex;flex-direction:column;gap:.5rem}.location-image.svelte-z7nqid{width:100%;border-radius:.375rem;max-height:150px;object-fit:cover}.location-name.svelte-z7nqid{font-weight:600;color:#333!important;margin:0!important}.summary.svelte-z7nqid{font-size:.875rem}.loading-dots.svelte-z7nqid{display:flex;gap:.25rem;padding:.5rem 0}.loading-dots.svelte-z7nqid span:where(.svelte-z7nqid){width:8px;height:8px;background:#df3487;border-radius:50%;animation:svelte-z7nqid-bounce 1.4s infinite ease-in-out}.loading-dots.svelte-z7nqid span:where(.svelte-z7nqid):nth-child(1){animation-delay:-.32s}.loading-dots.svelte-z7nqid span:where(.svelte-z7nqid):nth-child(2){animation-delay:-.16s}@keyframes svelte-z7nqid-bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.input-container.svelte-z7nqid{display:flex;gap:.5rem;padding:1rem;border-top:1px solid #e0e0e0}.input-container.svelte-z7nqid input:where(.svelte-z7nqid){flex:1;padding:.75rem 1rem;border:1px solid #e0e0e0;border-radius:.5rem;background:#fff;color:#333;font-size:.875rem}.input-container.svelte-z7nqid input:where(.svelte-z7nqid)::placeholder{color:#999}.input-container.svelte-z7nqid input:where(.svelte-z7nqid):focus{outline:none;border-color:#df3487}.input-container.svelte-z7nqid input:where(.svelte-z7nqid):disabled{opacity:.6}.input-container.svelte-z7nqid button:where(.svelte-z7nqid){padding:.75rem 1.25rem;background:#df3487;color:#fff;border:none;border-radius:.5rem;font-weight:500;cursor:pointer;transition:background .2s}.input-container.svelte-z7nqid button:where(.svelte-z7nqid):hover:not(:disabled){background:#c92d76}.input-container.svelte-z7nqid button:where(.svelte-z7nqid):disabled{opacity:.5;cursor:not-allowed}.airport-list.svelte-1mj0swy{display:flex;flex-direction:column;height:100%;background:#fff;overflow:hidden}.list-header.svelte-1mj0swy{display:flex;align-items:center;justify-content:space-between;padding:1rem;border-bottom:1px solid #e0e0e0;background:#df3487}.list-header.svelte-1mj0swy h3:where(.svelte-1mj0swy){margin:0;font-size:1rem;color:#fff}.location-badge.svelte-1mj0swy{font-size:.75rem;padding:.25rem .5rem;background:#fff3;border-radius:.25rem;color:#fff}.empty-state.svelte-1mj0swy{flex:1;display:flex;align-items:center;justify-content:center;padding:2rem}.empty-state.svelte-1mj0swy p:where(.svelte-1mj0swy){color:#999;text-align:center}.airports-grid.svelte-1mj0swy{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem}.airport-card.svelte-1mj0swy{background:#fff;border:1px solid #e0e0e0;border-radius:.5rem;padding:1rem;cursor:pointer;transition:all .2s;text-align:left;width:100%;color:inherit;font-family:inherit}.airport-card.svelte-1mj0swy:hover,.airport-card.selected.svelte-1mj0swy{border-color:#df3487;background:#fdf2f7}.airport-card.recommended.svelte-1mj0swy{border-left:3px solid #df3487}.airport-header.svelte-1mj0swy{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.airport-code.svelte-1mj0swy{font-size:1.25rem;font-weight:700;color:#df3487}.airport-badges.svelte-1mj0swy{display:flex;gap:.375rem}.badge.svelte-1mj0swy{font-size:.625rem;padding:.125rem .375rem;border-radius:.25rem;text-transform:uppercase;font-weight:600}.badge.international.svelte-1mj0swy{background:#fdf2f7;color:#df3487}.badge.regional.svelte-1mj0swy{background:#fff3e0;color:#e65100}.badge.recommended.svelte-1mj0swy{background:#e8f5e9;color:#2e7d32}.airport-name.svelte-1mj0swy{margin:0 0 .75rem;font-size:.9rem;color:#333;font-weight:500}.airport-details.svelte-1mj0swy{display:flex;gap:1.5rem;margin-bottom:.75rem}.detail.svelte-1mj0swy{display:flex;flex-direction:column;gap:.125rem}.detail.svelte-1mj0swy .label:where(.svelte-1mj0swy){font-size:.7rem;color:#999;text-transform:uppercase}.detail.svelte-1mj0swy .value:where(.svelte-1mj0swy){font-size:.8rem;color:#333}.airport-description.svelte-1mj0swy{margin:0;font-size:.8rem;color:#666;line-height:1.4}.expanded-info.svelte-1mj0swy{margin-top:.75rem;padding-top:.75rem;border-top:1px solid #e0e0e0}.tips.svelte-1mj0swy{font-size:.8rem;color:#666;margin:0 0 .5rem;line-height:1.4}.airport-link.svelte-1mj0swy{display:inline-block;font-size:.8rem;color:#df3487;text-decoration:none}.airport-link.svelte-1mj0swy:hover{text-decoration:underline}.map-view.svelte-xjjohy{position:relative;height:100%;background:#fff}.map-container.svelte-xjjohy{width:100%;height:100%}.map-overlay.svelte-xjjohy{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;background:#ffffffe6}.map-overlay.svelte-xjjohy p:where(.svelte-xjjohy){color:#999}.route-info.svelte-xjjohy{position:absolute;bottom:1rem;left:1rem;right:1rem;display:flex;gap:1.5rem;padding:1rem;background:#fffffff2;border:1px solid #e0e0e0;border-radius:.5rem;box-shadow:0 2px 8px #0000001a}.route-detail.svelte-xjjohy{display:flex;flex-direction:column;gap:.25rem}.route-detail.svelte-xjjohy .label:where(.svelte-xjjohy){font-size:.7rem;color:#999;text-transform:uppercase}.route-detail.svelte-xjjohy .value:where(.svelte-xjjohy){font-size:1rem;color:#333;font-weight:500}.app-container.svelte-1n46o8q{display:flex;height:100vh;width:100vw;overflow:hidden;background:#fff}.chat-section.svelte-1n46o8q,.airport-section.svelte-1n46o8q{width:33.33%;min-width:280px;flex-shrink:0;border-right:1px solid #e0e0e0}.map-section.svelte-1n46o8q{width:33.33%;min-width:280px}
