:root{color-scheme:dark;font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;line-height:1.5}*{box-sizing:border-box}html,body,#root{margin:0;min-height:100vh;background:#06091a;color:#fafafa}.shell{min-height:100vh;display:grid;place-items:center;padding:2rem;position:relative;overflow:hidden}.stars{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0}.star{position:absolute;width:2px;height:2px;background:#fff;border-radius:50%;animation:twinkle 3s ease-in-out infinite alternate}@keyframes twinkle{0%{opacity:.15;transform:scale(.8)}to{opacity:1;transform:scale(1.3)}}.fly-animation{position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:100}.plane{position:absolute;font-size:3rem;top:50%;left:-60px;animation:flyAcross 1.6s ease-in-out forwards;filter:drop-shadow(0 0 16px rgba(59,130,246,.7))}.trail{position:absolute;top:calc(50% + 12px);left:0;right:0;height:2px;background:linear-gradient(90deg,transparent 0%,rgba(59,130,246,.4) 30%,rgba(59,130,246,0) 100%);animation:trailFade 1.6s ease-in-out forwards;opacity:0}@keyframes flyAcross{0%{left:-60px;transform:translateY(0) rotate(-2deg)}50%{transform:translateY(-18px) rotate(0)}to{left:calc(100vw + 60px);transform:translateY(0) rotate(2deg)}}@keyframes trailFade{0%{opacity:0}20%{opacity:1}80%{opacity:1}to{opacity:0}}.card{max-width:28rem;width:100%;border:1px solid rgba(255,255,255,.08);padding:2rem;border-radius:1rem;background:#ffffff08;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);position:relative;z-index:1;animation:cardIn .5s cubic-bezier(.16,1,.3,1) both}@keyframes cardIn{0%{opacity:0;transform:translateY(24px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}.tag{display:inline-block;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.65rem;letter-spacing:.22em;text-transform:uppercase;color:#ffffff8c;border:1px solid rgba(255,255,255,.12);padding:.25rem .5rem;border-radius:.25rem;margin-bottom:1rem}h1{margin:0 0 .35rem;font-size:1.75rem;font-weight:700;letter-spacing:-.03em;background:linear-gradient(135deg,#e0e7ff,#93c5fd);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.subtitle{margin:0 0 1.5rem;color:#ffffff73;font-size:.9rem}.search-wrapper{position:relative}.form-row{display:flex;gap:.5rem}.form-row input{flex:1;padding:.65rem .85rem;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;background:#ffffff0d;color:#fafafa;font-size:.95rem;outline:none;transition:border-color .2s,box-shadow .2s}.form-row input::placeholder{color:#ffffff4d}.form-row input:focus{border-color:#3b82f680;box-shadow:0 0 0 3px #3b82f626}.form-row button{padding:.65rem 1.25rem;border:none;border-radius:.5rem;background:linear-gradient(135deg,#3b82f6,#6366f1);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:transform .15s,box-shadow .2s;white-space:nowrap}.form-row button:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 20px #3b82f659}.form-row button:active:not(:disabled){transform:translateY(0)}.form-row button:disabled{opacity:.6;cursor:not-allowed}.suggestions{position:absolute;top:calc(100% + 4px);left:0;right:70px;list-style:none;margin:0;padding:.35rem;background:#14172a;border:1px solid rgba(255,255,255,.1);border-radius:.6rem;z-index:10;animation:dropIn .2s ease both}@keyframes dropIn{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.suggestions li{display:flex;align-items:center;gap:.6rem;padding:.5rem .65rem;border-radius:.4rem;cursor:pointer;transition:background .15s}.suggestions li:hover{background:#3b82f61f}.sugg-emoji{font-size:1.3rem}.suggestions strong{display:block;font-size:.9rem}.suggestions small{display:block;font-size:.75rem;color:#fff6}.popular{margin-top:1.5rem}.popular-label{display:block;font-size:.7rem;letter-spacing:.15em;text-transform:uppercase;color:#ffffff4d;margin-bottom:.5rem}.popular-chips{display:flex;flex-wrap:wrap;gap:.4rem}.chip{padding:.3rem .65rem;border:1px solid rgba(255,255,255,.1);border-radius:2rem;background:#ffffff0a;color:#ffffffb3;font-size:.8rem;cursor:pointer;transition:background .15s,border-color .15s,transform .15s}.chip:hover{background:#3b82f61f;border-color:#3b82f64d;transform:translateY(-1px)}.boarding-pass{width:100%;max-width:24rem;background:linear-gradient(165deg,#0f1629,#1a1040);border:1px solid rgba(255,255,255,.08);border-radius:1rem;overflow:hidden;position:relative;z-index:1;animation:bpIn .6s cubic-bezier(.16,1,.3,1) both}@keyframes bpIn{0%{opacity:0;transform:scale(.9) rotateX(8deg)}to{opacity:1;transform:scale(1) rotateX(0)}}.bp-header{padding:1.5rem 1.5rem 0;display:flex;justify-content:space-between;align-items:center}.bp-airline{font-size:.8rem;font-weight:600;letter-spacing:.08em;color:#ffffff80}.bp-route{padding:1.5rem;display:flex;align-items:center;gap:1rem}.bp-city{display:flex;flex-direction:column;align-items:center;min-width:4.5rem}.bp-dest-emoji{font-size:1.5rem;margin-bottom:.2rem}.bp-code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:1.5rem;font-weight:700;letter-spacing:.05em}.bp-name{font-size:.7rem;color:#fff6;text-align:center;margin-top:.15rem}.bp-plane-line{flex:1;display:flex;align-items:center;gap:.4rem}.bp-line{flex:1;height:1px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.4),transparent)}.bp-plane-icon{font-size:1.2rem;animation:planeFloat 2s ease-in-out infinite}@keyframes planeFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-4px)}}.bp-details{display:grid;grid-template-columns:repeat(3,1fr);gap:1px;background:#ffffff0d;margin:0 1.5rem;border-radius:.5rem;overflow:hidden}.bp-detail{background:#0f1629;padding:.75rem;text-align:center}.bp-label{display:block;font-size:.6rem;letter-spacing:.12em;text-transform:uppercase;color:#ffffff59;margin-bottom:.2rem}.bp-value{display:block;font-size:.95rem;font-weight:600}.bp-value.price{color:#34d399}.boarding-pass:before{content:"";display:block;margin:1rem 1.5rem 0;border-top:2px dashed rgba(255,255,255,.08)}.bp-barcode{display:flex;justify-content:center;align-items:flex-end;gap:2px;padding:1rem 1.5rem .5rem}.bar{background:#fff3;border-radius:1px}.bp-reset{display:block;width:calc(100% - 3rem);margin:.5rem 1.5rem 1.5rem;padding:.65rem;border:1px solid rgba(255,255,255,.1);border-radius:.5rem;background:transparent;color:#fff9;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .15s,color .15s}.bp-reset:hover{background:#ffffff0f;color:#fff}
