@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800;900&display=swap";:root{--locus-violet:#4101f6;--locus-violet-light:#7c5cfc;--locus-violet-glow:#5934ff26;--locus-gradient:linear-gradient(135deg, #7c5cfc 0%, #4101f6 100%);--locus-gradient-hover:linear-gradient(135deg, #8d72ff 0%, #5520ff 100%);--bg-primary:#050608;--bg-secondary:#0a0c12;--bg-card:#0c0f18b3;--bg-card-solid:#0c0f18;--bg-elevated:#121622cc;--bg-input:#ffffff08;--bg-input-focus:#ffffff0f;--bg-hover:#ffffff05;--border:#ffffff0d;--border-hover:#ffffff1a;--border-active:#7c5cfc66;--border-success:#34d3994d;--text-primary:#eceef4;--text-secondary:#7b829a;--text-muted:#4a5068;--text-inverse:#0a0c12;--success:#34d399;--success-bg:#34d39914;--warning:#fbbf24;--error:#f87171;--error-bg:#f871710f;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-full:9999px;--font:"Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--shadow-sm:0 1px 2px #0000004d;--shadow-md:0 4px 16px #0000004d;--shadow-lg:0 8px 32px #0006;--shadow-glow:0 0 40px #4101f61f;--color-scheme:dark}:root[data-theme=light]{--bg-primary:#f8fafc;--bg-secondary:#f1f5f9;--bg-card:#ffffffb3;--bg-card-solid:#fff;--bg-elevated:#fffffff2;--bg-input:#0f172a0a;--bg-input-focus:#0f172a14;--bg-hover:#0f172a0d;--border:#0f172a14;--border-hover:#0f172a26;--border-active:#4101f680;--border-success:#34d39980;--text-primary:#0f172a;--text-secondary:#334155;--text-muted:#64748b;--text-inverse:#fff;--success-bg:#34d39926;--error-bg:#f871711f;--shadow-sm:0 1px 2px #0000000d;--shadow-md:0 4px 16px #00000014;--shadow-lg:0 8px 32px #0000001a;--shadow-glow:0 0 40px #4101f626;--color-scheme:light}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth;color-scheme:var(--color-scheme)}body{font-family:var(--font);background:var(--bg-primary);color:var(--text-primary);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;letter-spacing:-.01em;min-height:100vh;color-scheme:var(--color-scheme);line-height:1.6;transition:background-color .3s,color .3s;overflow-x:hidden}input,select,textarea,button{color-scheme:var(--color-scheme)}:root:not([data-theme=light]) input[type=date]::-webkit-calendar-picker-indicator{filter:invert(.7);cursor:pointer;opacity:.6}:root[data-theme=light] input[type=date]::-webkit-calendar-picker-indicator{filter:invert(0);cursor:pointer;opacity:.6}input[type=date]::-webkit-calendar-picker-indicator:hover{opacity:1}svg{color:inherit;fill:currentColor}svg[fill=none]{fill:none}::-webkit-scrollbar{width:6px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#ffffff14;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#ffffff26}.ambient-bg{z-index:0;pointer-events:none;background:radial-gradient(500px 500px at 15% 15%,#7c5cfc0f,#0000),radial-gradient(400px 400px at 80% 85%,#34d39908,#0000);position:fixed;inset:0}.app-wrapper{z-index:1;flex-direction:column;min-height:100vh;display:flex;position:relative}.app-content{flex:1;width:100%;max-width:720px;margin:0 auto;padding:0 20px 60px}.header{justify-content:space-between;align-items:center;width:100%;max-width:720px;margin:0 auto;padding:16px 20px;display:flex}.header-logo{align-items:center;gap:10px;display:flex}.logo-icon{background:var(--locus-gradient);width:34px;height:34px;box-shadow:var(--shadow-glow);border-radius:10px;justify-content:center;align-items:center;display:flex}.logo-icon svg{width:18px;height:18px}.logo-text{color:var(--text-primary);letter-spacing:-.03em;font-size:1.1rem;font-weight:700}.header-badge{color:var(--locus-violet-light);border-radius:var(--radius-full);letter-spacing:.02em;background:#7c5cfc14;border:1px solid #7c5cfc1f;padding:4px 10px;font-size:.65rem;font-weight:600}.header-wallet{background:var(--bg-card);border-radius:var(--radius-full);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);align-items:center;gap:8px;padding:6px 14px;display:flex}.wallet-balance{color:var(--success);font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:600}.wallet-dot{background:var(--success);border-radius:50%;width:6px;height:6px;box-shadow:0 0 8px #34d39966}.ai-bubble{align-items:flex-start;gap:12px;margin-bottom:24px;display:flex}.ai-avatar{background:var(--locus-gradient);color:#fff;letter-spacing:.05em;width:36px;height:36px;box-shadow:var(--shadow-glow);border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:.6rem;font-weight:800;display:flex}.ai-text-wrapper{background:var(--bg-card);border:1px solid var(--border);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-radius:4px 14px 14px;padding:14px 18px}.ai-text{color:var(--text-secondary);font-size:.88rem;line-height:1.6}.ai-text strong{color:var(--text-primary);font-weight:600}.steps{align-items:center;gap:0;margin-bottom:28px;padding:0 4px;display:flex}.step{color:var(--text-muted);letter-spacing:.01em;align-items:center;gap:6px;font-size:.7rem;font-weight:500;transition:color .3s;display:flex}.step.active{color:var(--locus-violet-light)}.step.done{color:var(--success)}.step-num{border:1px solid var(--border);background:#ffffff08;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.6rem;font-weight:700;transition:all .3s;display:flex}.step.active .step-num{color:var(--locus-violet-light);background:#7c5cfc1f;border-color:#7c5cfc66}.step.done .step-num{background:var(--success-bg);border-color:var(--border-success);color:var(--success)}.step-line{background:var(--border);width:32px;height:1px;margin:0 6px}.search-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:24px}.search-card h2{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:20px;font-size:1rem;font-weight:600}.form-row{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;display:grid}.form-row.triple{grid-template-columns:1fr 1fr 1fr}.form-group{flex-direction:column;gap:5px;display:flex}.form-group label{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:600}.form-group input,.form-group select{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);color:var(--text-primary);font-family:var(--font);outline:none;padding:11px 14px;font-size:.9rem;font-weight:500;transition:all .2s}.form-group input::placeholder{color:var(--text-muted);font-weight:400}.form-group input:focus,.form-group select:focus{border-color:var(--border-active);background:var(--bg-input-focus);box-shadow:0 0 0 3px #7c5cfc14}.form-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg width='10' height='6' viewBox='0 0 10 6' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='M1 1L5 5L9 1' stroke='%234A5068' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;padding-right:32px}.form-group select option{background:var(--bg-card-solid);color:var(--text-primary)}.btn{font-family:var(--font);cursor:pointer;border-radius:var(--radius-md);letter-spacing:-.01em;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex}.btn-primary{background:var(--locus-gradient);color:#fff;box-shadow:0 2px 12px #4101f640}.btn-primary:hover{background:var(--locus-gradient-hover);transform:translateY(-1px);box-shadow:0 4px 20px #4101f659}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.4;cursor:not-allowed;box-shadow:none;transform:none}.btn-full{width:100%}.btn-outline{color:var(--text-primary);border:1px solid var(--border);border-radius:var(--radius-md);background:0 0;padding:10px 18px;font-size:.82rem}.btn-outline:hover{border-color:var(--border-hover);background:var(--bg-hover)}.btn-ghost{color:var(--text-muted);cursor:pointer;font-size:.82rem;font-weight:500;font-family:var(--font);background:0 0;border:none;padding:4px 0;transition:color .2s}.btn-ghost:hover{color:var(--text-primary)}.spinner{border:2px solid #ffffff26;border-top-color:#fff;border-radius:50%;width:16px;height:16px;animation:.6s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.results-container{flex-direction:column;gap:10px;display:flex}.flight-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);cursor:pointer;justify-content:space-between;align-items:center;padding:18px 20px;transition:all .2s;display:flex}.flight-card:hover{border-color:var(--border-hover);background:var(--bg-elevated);box-shadow:var(--shadow-md);transform:translateY(-1px)}.flight-card.best{border-color:var(--border-success);background:#34d39908}.flight-card.best:hover{border-color:#34d39966}.flight-left{flex:1;min-width:0}.flight-badge{text-transform:uppercase;letter-spacing:.08em;border-radius:var(--radius-full);background:var(--success-bg);color:var(--success);margin-bottom:6px;padding:2px 8px;font-size:.6rem;font-weight:700;display:inline-block}.flight-airline{color:var(--text-muted);margin-bottom:2px;font-size:.75rem;font-weight:500}.flight-time{letter-spacing:-.02em;margin-bottom:3px;font-size:1.1rem;font-weight:700}.flight-meta{color:var(--text-muted);flex-wrap:wrap;gap:4px;font-size:.75rem;display:flex}.flight-meta span+span:before{content:"·";margin-right:4px}.flight-right{text-align:right;flex-shrink:0;margin-left:16px}.flight-price{color:var(--text-primary);letter-spacing:-.02em;margin-bottom:6px;font-size:1.2rem;font-weight:800}.checkout-wrap{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-xl);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);padding:24px}.checkout-summary{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-md);margin:16px 0;padding:16px 18px}.cost-row{justify-content:space-between;padding:6px 0;font-size:.85rem;display:flex}.cost-row.label{color:var(--text-secondary)}.cost-row.total{color:var(--text-primary);border-top:1px dashed #ffffff0f;margin-top:6px;padding-top:10px;font-size:1rem;font-weight:700}.divider{background:var(--border);height:1px;margin:16px 0}.warning-callout{color:var(--locus-violet-light);text-align:center;border-radius:var(--radius-sm);background:#7c5cfc0a;border:1px solid #7c5cfc14;margin-bottom:14px;padding:10px 14px;font-size:.72rem}.success-hero{text-align:center;margin-bottom:28px}.success-icon{background:var(--success-bg);width:52px;height:52px;color:var(--success);border-radius:50%;justify-content:center;align-items:center;margin-bottom:14px;font-size:1.3rem;font-weight:700;display:inline-flex;box-shadow:0 0 24px #34d39926}.boarding-pass{color:#111827;border-radius:var(--radius-xl);box-shadow:var(--shadow-lg);background:#fafbfc;margin-bottom:20px;overflow:hidden}.bp-header{background:var(--locus-gradient);color:#fff;justify-content:space-between;align-items:center;padding:14px 20px;display:flex}.bp-airline{letter-spacing:-.02em;font-size:.9rem;font-weight:700}.bp-label-sm{letter-spacing:2px;text-transform:uppercase;opacity:.8;font-size:.6rem;font-weight:700}.bp-body{padding:20px}.bp-row{justify-content:space-between;margin-bottom:14px;display:flex}.bp-col{flex-direction:column;display:flex}.bp-col.right{align-items:flex-end}.bp-label{color:#9ca3af;text-transform:uppercase;letter-spacing:.06em;margin-bottom:2px;font-size:.58rem;font-weight:600}.bp-value{letter-spacing:-.02em;font-size:1.2rem;font-weight:800}.bp-value-sm{font-size:.9rem;font-weight:600}.bp-footer{text-align:center;border-top:2px dashed #e5e7eb;padding:12px 20px}.bp-barcode{letter-spacing:3px;color:#1f2937;opacity:.3;font-family:monospace;font-size:1.5rem}.tx-card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-lg);margin-bottom:12px;padding:18px 20px}.tx-card h3{letter-spacing:-.01em;margin-bottom:10px;font-size:.85rem;font-weight:600}.tx-row{justify-content:space-between;align-items:center;padding:5px 0;font-size:.78rem;display:flex}.tx-row span:first-child{color:var(--text-muted)}.tx-link{color:var(--locus-violet-light);font-weight:500;text-decoration:none;transition:opacity .2s}.tx-link:hover{opacity:.7}.profit-box{border-radius:var(--radius-lg);background:#34d39908;border:1px solid #34d3991a;padding:16px 20px;font-size:.8rem}.profit-box h4{letter-spacing:-.01em;margin-bottom:8px;font-size:.8rem;font-weight:600}.profit-row{justify-content:space-between;padding:3px 0;display:flex}.profit-row .val-green{color:var(--success);font-weight:600}.profit-row .val-muted{color:var(--text-muted)}.agent-log{margin-top:16px}.log-item{border-bottom:1px solid #ffffff05;align-items:flex-start;gap:10px;padding:8px 0;font-size:.75rem;display:flex}.log-item:last-child{border-bottom:none}.log-dot{border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:5px}.log-dot.search{background:var(--locus-violet-light);opacity:.6}.log-dot.pay{background:var(--locus-violet-light)}.log-dot.done{background:var(--success)}.log-text{color:var(--text-muted);line-height:1.5}.log-text strong{color:var(--text-secondary);font-weight:600}.log-cost{color:var(--text-muted);white-space:nowrap;opacity:.7;margin-left:auto;font-size:.68rem}@media (width<=640px){.form-row,.form-row.triple{grid-template-columns:1fr}.header{padding:14px 16px}.app-content{padding:0 16px 40px}.search-card{padding:20px}.flight-card{flex-direction:column;align-items:flex-start;gap:10px}.flight-right{text-align:left;margin-left:0}.checkout-wrap{padding:20px}.bp-value{font-size:1rem}.header-badge{display:none}.steps{flex-wrap:nowrap;overflow-x:auto}}
