@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600&family=Plus+Jakarta+Sans:wght@500;600;700;800&family=Outfit:wght@300;400;500;600;700;800&display=swap";:root{--bg-color: #121212;--bg-secondary: #0a0e21;--card-color: #1E1E1E;--card-hover: #252528;--border-color: #333333;--border-hover: #444444;--text-primary: #FFFFFF;--text-secondary: #AAAAAA;--text-muted: #666666;--accent: #146bae;--accent-hover: #1a7ec9;--accent-dim: rgba(20, 107, 174, .1);--accent-glow: rgba(20, 107, 174, .2);--auth-bg-1: #0A0E21;--auth-bg-2: #0F1B3D;--auth-bg-3: #142952;--auth-orb-1: #146baeff;--auth-orb-2: #4A6CF7;--success: #10b981;--error: #FF5C5C;--blue: #3b82f6;--orange: #f97316;--purple: #8b5cf6;--teal: #4DD0E1;--green-dark: #064e3b;--blue-dark: #1e293b;--orange-dark: #431407;--purple-dark: #2e1065;--font-display: "Plus Jakarta Sans", -apple-system, sans-serif;--font-body: "Inter", -apple-system, sans-serif;--font-mono: "Outfit", monospace;--radius-sm: 4px;--radius-md: 12px;--radius-lg: 14px;--radius-xl: 16px;--radius-2xl: 18px;--radius-3xl: 20px;--radius-card: 28px;--radius-full: 9999px;--transition: all .4s cubic-bezier(.16, 1, .3, 1);--transition-fast: all .2s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{scroll-behavior:smooth}body{background-color:var(--bg-color);color:var(--text-primary);font-family:var(--font-body);line-height:1.6;-webkit-font-smoothing:antialiased;overflow-x:hidden}::-webkit-scrollbar{width:5px}::-webkit-scrollbar-track{background:var(--bg-color)}::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--border-hover)}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:700;letter-spacing:-.02em;line-height:1.2}a{color:inherit;text-decoration:none;transition:var(--transition)}.container{max-width:1200px;margin:0 auto;padding:0 24px}header{position:fixed;top:0;left:0;right:0;z-index:1000;background:#0a0e21d9;-webkit-backdrop-filter:blur(24px) saturate(180%);backdrop-filter:blur(24px) saturate(180%);border-bottom:1px solid rgba(20,107,174,.15);height:68px;transition:var(--transition)}header .nav-container{display:flex;justify-content:space-between;align-items:center;height:100%}.logo{font-family:var(--font-display);font-weight:800;font-size:20px;letter-spacing:.12em;color:var(--text-primary);display:flex;align-items:center}.nav-links{display:flex;align-items:center;gap:24px}.nav-links a{font-family:var(--font-display);font-size:13px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted);transition:var(--transition-fast)}.nav-links a:hover{color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;font-family:var(--font-display);font-size:13px;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:12px 24px;border-radius:var(--radius-xl);border:1px solid transparent;cursor:pointer;transition:var(--transition);outline:none;position:relative;overflow:hidden}.btn-primary{background:var(--accent);color:#fff;border:none}.btn-primary:hover{background:var(--accent-hover);transform:translateY(-2px);box-shadow:0 8px 30px #146bae66}.btn-secondary{background:transparent;color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover{border-color:var(--accent);background:var(--accent-dim);transform:translateY(-2px)}.btn-accent{background:var(--accent-dim);color:var(--accent);border-color:#146bae4d}.btn-accent:hover{background:var(--accent);color:#fff;transform:translateY(-2px)}.card{background-color:var(--card-color);border:1px solid var(--border-color);border-radius:var(--radius-3xl);padding:32px;transition:var(--transition);position:relative;overflow:hidden}.card:before{content:"";position:absolute;top:0;left:0;right:0;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:var(--transition)}.card:hover{border-color:var(--border-hover);transform:translateY(-4px);box-shadow:0 20px 60px #0006}.card:hover:before{opacity:1}.tilt-card{perspective:1000px;transform-style:preserve-3d}.tilt-card-inner{background:var(--card-color);border:1px solid var(--border-color);border-radius:var(--radius-3xl);padding:36px;transition:transform .5s cubic-bezier(.16,1,.3,1),box-shadow .5s ease;transform-style:preserve-3d;will-change:transform;position:relative;overflow:hidden}.tilt-card-inner:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent),transparent);opacity:0;transition:opacity .4s ease}.tilt-card:hover .tilt-card-inner{box-shadow:0 25px 50px #00000080,0 0 60px var(--accent-glow)}.tilt-card:hover .tilt-card-inner:before{opacity:1}.glass-container{background:#1e1e1eb3;-webkit-backdrop-filter:blur(20px) saturate(150%);backdrop-filter:blur(20px) saturate(150%);border:1px solid rgba(51,51,51,.8);border-radius:var(--radius-3xl);box-shadow:0 8px 32px #0000004d}.form-group{margin-bottom:20px}.form-label{display:block;font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted);margin-bottom:8px}.form-control{width:100%;background:#0a0e2199;border:1px solid var(--border-color);color:var(--text-primary);padding:14px 16px;border-radius:var(--radius-xl);font-family:var(--font-body);font-size:14px;transition:var(--transition);outline:none}.form-control:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-dim)}.form-control::placeholder{color:var(--text-muted)}.badge{display:inline-flex;align-items:center;gap:6px;padding:5px 12px;border-radius:var(--radius-full);font-family:var(--font-display);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em;border:1px solid transparent}.badge-accent{background:var(--accent-dim);color:var(--accent);border-color:#146bae40}.badge-verified{background:#3b82f61a;color:var(--blue);border-color:#3b82f633}.badge-success{background:#10b9811a;color:var(--success);border-color:#10b98133}@keyframes fadeInUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-40px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(40px)}to{opacity:1;transform:translate(0)}}@keyframes float{0%,to{transform:translateY(0) rotate(0)}50%{transform:translateY(-20px) rotate(2deg)}}@keyframes pulse{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.6;transform:scale(1.08)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes phoneTilt{0%,to{transform:perspective(1000px) rotateY(-8deg) rotateX(4deg) translateY(0)}50%{transform:perspective(1000px) rotateY(-4deg) rotateX(2deg) translateY(-10px)}}@keyframes orbPulse{0%,to{opacity:.15;transform:scale(1)}50%{opacity:.35;transform:scale(1.15)}}@keyframes orbPulse2{0%,to{opacity:.1;transform:scale(1)}50%{opacity:.25;transform:scale(1.1)}}@keyframes ripple{0%{transform:scale(.8);opacity:1}to{transform:scale(2.4);opacity:0}}.animate-spin{animation:spin 1s linear infinite}.animate-fade-in{animation:fadeInUp .8s cubic-bezier(.16,1,.3,1) both}.animate-fade-in-delay-1{animation:fadeInUp .8s .15s cubic-bezier(.16,1,.3,1) both}.animate-fade-in-delay-2{animation:fadeInUp .8s .3s cubic-bezier(.16,1,.3,1) both}.animate-fade-in-delay-3{animation:fadeInUp .8s .45s cubic-bezier(.16,1,.3,1) both}.animate-fade-in-delay-4{animation:fadeInUp .8s .6s cubic-bezier(.16,1,.3,1) both}.hero-3d{min-height:100vh;display:flex;align-items:center;position:relative;overflow:hidden;padding:120px 0 80px;background:linear-gradient(160deg,#0a0e21,#0f1b3d,#121212)}.hero-orb{position:absolute;border-radius:50%;pointer-events:none}.hero-orb-1{width:360px;height:360px;background:var(--auth-orb-1);opacity:.15;top:-80px;right:10%;filter:blur(80px);animation:orbPulse 8s ease-in-out infinite}.hero-orb-2{width:260px;height:260px;background:var(--auth-orb-2);opacity:.1;bottom:10%;left:5%;filter:blur(60px);animation:orbPulse2 10s ease-in-out infinite 2s}.phone-mockup{width:270px;height:540px;background:linear-gradient(145deg,#1a1a1e,#111114);border-radius:40px;border:1.5px solid rgba(20,107,174,.25);padding:12px;position:relative;box-shadow:0 0 0 1px #ffffff0a,0 25px 60px #0009,0 0 80px #146bae1f;animation:phoneTilt 6s ease-in-out infinite;transform-style:preserve-3d}.phone-mockup:before{content:"";position:absolute;top:14px;left:50%;transform:translate(-50%);width:80px;height:22px;background:#09090b;border-radius:14px;z-index:10}.phone-screen{width:100%;height:100%;border-radius:28px;overflow:hidden;background:#121212}.phone-screen img{width:100%;height:100%;object-fit:cover;border-radius:28px}.stat-number{font-family:"Outfit",var(--font-display);font-size:48px;font-weight:800;letter-spacing:-.03em;line-height:1;background:linear-gradient(135deg,#fff,var(--accent));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.section-divider{width:100%;height:1px;background:linear-gradient(90deg,transparent,var(--border-color),transparent)}.feature-icon-wrap{width:52px;height:52px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:20px}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(160deg,#0a0e21,#0f1b3d 55%,#142952);position:relative;overflow:hidden;padding:100px 24px 48px}.auth-orb{position:absolute;border-radius:50%;pointer-events:none;filter:blur(60px)}.auth-orb-1{width:260px;height:260px;background:var(--auth-orb-1);opacity:.15;top:-40px;right:-60px;animation:orbPulse 8s ease-in-out infinite}.auth-orb-2{width:200px;height:200px;background:var(--auth-orb-2);opacity:.1;bottom:-40px;left:-60px;animation:orbPulse2 10s ease-in-out infinite 1.5s}.auth-card{width:100%;max-width:440px;background:#0f1b3db3;-webkit-backdrop-filter:blur(24px);backdrop-filter:blur(24px);border:1px solid rgba(20,107,174,.25);border-radius:var(--radius-card);padding:40px;position:relative;z-index:2}@media (max-width: 768px){.hero-3d{padding:100px 0 60px;min-height:auto}.phone-mockup{width:200px;height:400px;border-radius:32px}.phone-screen,.phone-screen img{border-radius:22px}.stat-number{font-size:36px}.nav-links{display:none}}.boarding-pass-card{background-color:var(--card-color);border:1px solid var(--border-color);border-radius:var(--radius-3xl);padding:32px 32px 24px;position:relative;overflow:visible;box-shadow:0 15px 45px #00000080;margin-bottom:24px}.ticket-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.ticket-header-label{font-family:var(--font-display);font-size:10px;font-weight:800;letter-spacing:.15em;text-transform:uppercase}.route-row{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px}.route-airport-code{font-family:"Outfit",var(--font-mono);font-size:32px;font-weight:850;letter-spacing:-.5px;line-height:1}.route-city-name{font-family:var(--font-display);font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;margin-top:4px}.route-center{flex:1;display:flex;align-items:center;justify-content:center;position:relative;margin:0 20px}.route-path-line{position:absolute;width:100%;height:0px;border-top:1px dashed var(--border-color);z-index:1}.airplane-icon-wrap{width:32px;height:32px;border-radius:50%;background:var(--bg-color);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;z-index:2;transform:rotate(90deg)}.perforation-container{display:flex;align-items:center;justify-content:center;position:relative;height:20px;margin:0 -33px 24px;z-index:10}.notch-left,.notch-right{width:20px;height:20px;background-color:var(--bg-color);border:1px solid var(--border-color);border-radius:50%;position:absolute;z-index:11}.notch-left{left:0;transform:translate(-50%);border-left-color:transparent}.notch-right{right:0;transform:translate(50%);border-right-color:transparent}.perforation-line{width:100%;height:0px;border-top:1px dashed var(--border-color);margin:0 10px}.ticket-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:20px;margin-bottom:24px}.grid-block{display:flex;flex-direction:column;gap:4px}.grid-label{font-family:var(--font-display);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-muted)}.grid-value{font-family:var(--font-display);font-size:13.5px;font-weight:700;color:var(--text-primary)}.grid-sub-value{font-family:var(--font-body);font-size:11px;color:var(--text-secondary)}.avatar-mini{width:42px;height:42px;border-radius:50%;object-fit:cover;border:1.5px solid rgba(20,107,174,.25);display:flex;align-items:center;justify-content:center}.avatar-mini-text{font-family:var(--font-display);font-size:14px;font-weight:800}.ticket-stats-row{display:flex;justify-content:space-between;gap:16px;padding:16px 0;border-top:1px solid var(--border-color);border-bottom:1px solid var(--border-color);margin-bottom:24px}.ticket-stat-item{display:flex;align-items:center;gap:12px;flex:1}.ticket-stat-label{font-family:var(--font-display);font-size:9px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.ticket-stat-value{font-family:var(--font-display);font-size:13px;font-weight:700;margin-top:2px}.ticket-stub{display:flex;justify-content:center;align-items:center;padding:16px 0 8px;cursor:pointer;transition:var(--transition-fast)}.ticket-stub:hover{opacity:.8;transform:scale(.98)}.barcode-container{display:flex;flex-direction:column;align-items:center;gap:6px}.barcode-lines{display:flex;align-items:flex-end;height:28px}.barcode-text{font-family:"Outfit",var(--font-mono);font-size:10px;letter-spacing:.15em;text-transform:uppercase}.skeleton-card{background-color:var(--card-color);border:1px solid var(--border-color);border-radius:var(--radius-3xl);padding:32px;display:flex;flex-direction:column;margin-bottom:24px;box-shadow:0 15px 45px #00000080}
