@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";
:root{--bg-gradient:radial-gradient(circle at 50% 0%, #0d1527 0%, #060a13 100%);--bg-fallback:#060a13;--panel-bg:#0d162b8c;--panel-border:#ffffff14;--panel-hover:#142344b3;--primary:#00f2fe;--primary-rgb:0, 242, 254;--secondary:#4facfe;--accent-red:#f36;--accent-red-rgb:255, 51, 102;--text-main:#f1f5f9;--text-muted:#94a3b8;--text-dim:#475569;--status-scheduled:#3b82f6;--status-enroute:#10b981;--status-delayed:#f59e0b;--status-landed:#8b5cf6;--glow-primary:0 0 20px #00f2fe40;--glow-primary-strong:0 0 35px #00f2fe73;--glow-card:0 10px 30px -10px #000000b3;--border-radius-sm:8px;--border-radius-md:14px;--border-radius-lg:24px;--transition-smooth:all .3s cubic-bezier(.25, .8, .25, 1);--transition-fast:all .15s ease}*{box-sizing:border-box;margin:0;padding:0}html,body{background-color:var(--bg-fallback);background-image:var(--bg-gradient);width:100%;min-height:100vh;color:var(--text-main);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;flex-direction:column;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;overflow-x:hidden}h1,h2,h3,h4,h5,h6{letter-spacing:-.02em;font-family:Outfit,sans-serif;font-weight:700}.app-container{flex-direction:column;flex:1;gap:3rem;width:100%;max-width:1100px;margin:0 auto;padding:2rem 1.5rem 4rem;display:flex}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseRadar{0%{box-shadow:0 0 0 0 rgba(var(--primary-rgb), .5);transform:scale(.95)}70%{box-shadow:0 0 0 8px rgba(var(--primary-rgb), 0);transform:scale(1)}to{box-shadow:0 0 0 0 rgba(var(--primary-rgb), 0);transform:scale(.95)}}@keyframes pulseRadarRed{0%{box-shadow:0 0 0 0 rgba(var(--accent-red-rgb), .5);transform:scale(.95)}70%{box-shadow:0 0 0 8px rgba(var(--accent-red-rgb), 0);transform:scale(1)}to{box-shadow:0 0 0 0 rgba(var(--accent-red-rgb), 0);transform:scale(.95)}}@keyframes float{0%{transform:translateY(0)}50%{transform:translateY(-8px)}to{transform:translateY(0)}}@keyframes progressGlow{0%{left:-100%}50%{left:100%}to{left:100%}}.hero{text-align:center;flex-direction:column;align-items:center;margin-top:2rem;animation:.6s cubic-bezier(.16,1,.3,1) fadeInUp;display:flex}.hero-logo{border-radius:var(--border-radius-md);border:1px solid var(--panel-border);max-width:260px;height:auto;margin-bottom:1rem;animation:6s ease-in-out infinite float;box-shadow:0 4px 20px #0006}.norway-badge{background:rgba(var(--accent-red-rgb), .12);border:1px solid rgba(var(--accent-red-rgb), .3);color:#ff4d79;text-transform:uppercase;letter-spacing:.08em;border-radius:30px;align-items:center;gap:8px;margin-bottom:1.5rem;padding:6px 16px;font-size:.85rem;font-weight:600;display:inline-flex}.norway-flag-dot{background:var(--accent-red);border-radius:50%;width:12px;height:12px;display:inline-block;position:relative}.norway-flag-dot:after{content:"";background:var(--accent-red);border-radius:50%;animation:2s infinite pulseRadarRed;position:absolute;inset:0}.hero-title{background:linear-gradient(135deg, #fff 30%, var(--secondary) 70%, var(--primary) 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:1rem;font-size:clamp(2.5rem,5vw,3.8rem);font-weight:800;line-height:1.1}.hero-subtitle{color:var(--text-muted);max-width:600px;margin-bottom:2rem;font-size:clamp(1rem,2vw,1.25rem);line-height:1.6}.glass-panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(18px);border:1px solid var(--panel-border);border-radius:var(--border-radius-lg);box-shadow:var(--glow-card);transition:var(--transition-smooth)}.glass-panel:hover{border-color:#00f2fe26}.search-container{padding:2.5rem;animation:.8s cubic-bezier(.16,1,.3,1) .1s both fadeInUp;position:relative;overflow:hidden}.search-container:before{content:"";background:linear-gradient(90deg, var(--accent-red), var(--secondary), var(--primary));width:100%;height:4px;position:absolute;top:0;left:0}.search-form{flex-direction:column;gap:1.5rem;display:flex}.form-group{flex-direction:column;gap:.5rem;display:flex;position:relative}.search-label{color:var(--text-main);letter-spacing:.02em;justify-content:space-between;font-family:Outfit,sans-serif;font-size:.95rem;font-weight:600;display:flex}.search-label-hint{color:var(--text-muted);font-size:.8rem;font-weight:400}.input-wrapper{align-items:center;display:flex;position:relative}.input-icon{color:var(--text-muted);pointer-events:none;transition:var(--transition-fast);position:absolute;left:18px}.search-input{border-radius:var(--border-radius-md);color:#fff;letter-spacing:.05em;width:100%;transition:var(--transition-smooth);background:#050a1499;border:2px solid #ffffff14;padding:1.1rem 1.1rem 1.1rem 3.2rem;font-size:1.15rem;font-weight:500}.search-input:focus{border-color:var(--primary);background:#050a14d9;outline:none;box-shadow:0 0 15px #00f2fe26}.search-input:focus+.input-icon{color:var(--primary)}.search-input::placeholder{color:var(--text-dim);letter-spacing:normal}.action-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.suggestion-chips{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.suggestion-label{color:var(--text-muted);margin-right:.25rem;font-size:.85rem}.chip-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:#ffffff0a;border:1px solid #ffffff14;border-radius:20px;padding:5px 12px;font-size:.8rem;font-weight:500}.chip-btn:hover{color:var(--primary);background:#00f2fe14;border-color:#00f2fe4d;transform:translateY(-1px)}.chip-btn:active{transform:translateY(0)}.search-btn{background:linear-gradient(135deg, var(--primary) 0%, var(--secondary) 100%);color:#030712;border-radius:var(--border-radius-md);cursor:pointer;transition:var(--transition-smooth);border:none;justify-content:center;align-items:center;gap:10px;min-width:160px;padding:1.1rem 2.2rem;font-family:Outfit,sans-serif;font-size:1.05rem;font-weight:700;display:flex;box-shadow:0 4px 20px #00f2fe40}.search-btn:hover{box-shadow:var(--glow-primary-strong);filter:brightness(1.05);transform:translateY(-2px)}.search-btn:active{transform:translateY(0)}.error-box{border-radius:var(--border-radius-md);color:#fca5a5;background:#ef444414;border:1px solid #ef444440;align-items:flex-start;gap:12px;padding:1rem 1.25rem;font-size:.9rem;animation:.4s fadeInUp;display:flex}.error-icon{color:#ef4444;flex-shrink:0;margin-top:1px}.results-section{flex-direction:column;gap:1.5rem;animation:.8s cubic-bezier(.16,1,.3,1) .2s both fadeInUp;display:flex}.results-header{border-bottom:1px solid #ffffff0d;justify-content:space-between;align-items:center;padding-bottom:.75rem;display:flex}.results-title{align-items:center;gap:10px;font-family:Outfit,sans-serif;font-size:1.4rem;font-weight:600;display:flex}.results-count{color:var(--text-muted);background:#ffffff0d;border-radius:12px;padding:4px 10px;font-size:.85rem;font-weight:600}.skeleton-card{border-radius:var(--border-radius-lg);border:1px solid var(--panel-border);background:#ffffff05;height:220px;position:relative;overflow:hidden}.skeleton-shimmer{background:linear-gradient(90deg,#0000 0%,#ffffff08 50%,#0000 100%);width:100%;height:100%;animation:1.5s infinite progressGlow;position:absolute;top:0;left:0}.flight-card{grid-template-columns:1fr;gap:2rem;padding:2rem;animation:.6s cubic-bezier(.16,1,.3,1) fadeInUp;display:grid;position:relative;overflow:hidden}@media (min-width:768px){.flight-card{grid-template-columns:auto 1fr;align-items:start;gap:2.5rem}}.flight-card:after{content:"";background:radial-gradient(circle, rgba(var(--primary-rgb), .03) 0%, transparent 70%);pointer-events:none;width:150px;height:150px;position:absolute;top:0;right:0}.card-sidebar{border-bottom:1px solid #ffffff0d;flex-direction:row;justify-content:space-between;align-items:center;padding-bottom:1.25rem;display:flex}@media (min-width:768px){.card-sidebar{border-bottom:none;border-right:1px solid #ffffff0d;flex-direction:column;justify-content:flex-start;align-items:flex-start;gap:1.5rem;min-width:160px;height:100%;padding-bottom:0;padding-right:2.5rem}}.airline-badge{align-items:center;gap:12px;display:flex}.airline-logo-box{width:44px;height:44px;color:var(--primary);background:#ffffff08;border:1px solid #ffffff14;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 4px 10px #0003}.airline-name-group{flex-direction:column;display:flex}.airline-name{color:var(--text-muted);font-size:.9rem;font-weight:500}.flight-num-label{color:#fff;letter-spacing:.03em;font-family:Outfit,sans-serif;font-size:1.35rem;font-weight:800}.status-pill{text-transform:uppercase;letter-spacing:.05em;border-radius:30px;align-items:center;gap:8px;padding:6px 14px;font-size:.8rem;font-weight:600;display:inline-flex}.status-pill.scheduled{color:#93c5fd;background:#3b82f61a;border:1px solid #3b82f640}.status-pill.scheduled .status-pulse{background:#3b82f6}.status-pill.enroute{color:#6ee7b7;background:#10b9811a;border:1px solid #10b98140}.status-pill.enroute .status-pulse{background:#10b981;animation:1.5s infinite pulseRadar}.status-pill.delayed{color:#fde047;background:#f59e0b1a;border:1px solid #f59e0b40}.status-pill.delayed .status-pulse{background:#f59e0b}.status-pill.landed{color:#c084fc;background:#8b5cf61a;border:1px solid #8b5cf640}.status-pill.landed .status-pulse{background:#8b5cf6}.status-pulse{border-radius:50%;width:8px;height:8px;display:inline-block}.card-main{flex-direction:column;gap:1.5rem;display:flex}.route-visualizer{grid-template-columns:1fr;align-items:center;gap:1.5rem;display:grid}@media (min-width:576px){.route-visualizer{grid-template-columns:auto 1fr auto;gap:1.5rem}}.route-node{flex-direction:column;display:flex}.route-node.origin{align-items:flex-start}@media (min-width:576px){.route-node.destination{align-items:flex-end}}.node-code{color:#fff;font-family:Outfit,sans-serif;font-size:2.2rem;font-weight:800;line-height:1}.node-city{color:var(--text-main);margin-top:4px;font-size:.95rem;font-weight:600}.node-country{color:var(--text-muted);font-size:.8rem}.route-path{flex-direction:column;justify-content:center;align-items:center;gap:6px;width:100%;padding:0 10px;display:flex;position:relative}.route-line{background:linear-gradient(90deg, rgba(var(--primary-rgb), .15) 0%, var(--primary) 50%, rgba(var(--primary-rgb), .15) 100%);border-radius:2px;justify-content:center;align-items:center;width:100%;height:2px;display:flex;position:relative}.route-plane{color:var(--primary);background:var(--bg-fallback);border-radius:50%;padding:4px;position:absolute;transform:rotate(90deg);box-shadow:0 0 10px #00f2fe4d}.route-duration{color:var(--primary);letter-spacing:.02em;background:#00f2fe14;border:1px solid #00f2fe26;border-radius:10px;padding:2px 10px;font-size:.8rem;font-weight:600}.flight-details-grid{border-top:1px solid #ffffff0d;grid-template-columns:1fr;gap:1.5rem;padding-top:1.5rem;display:grid}@media (min-width:576px){.flight-details-grid{grid-template-columns:1fr 1fr;gap:2rem}}.detail-block{flex-direction:column;gap:.75rem;display:flex}.detail-block-header{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;align-items:center;gap:8px;font-size:.85rem;font-weight:500;display:flex}.detail-block-header svg{color:var(--secondary)}.detail-time{color:#fff;align-items:baseline;gap:8px;font-family:Outfit,sans-serif;font-size:1.4rem;font-weight:700;display:flex}.detail-timezone-badge{color:var(--text-muted);background:#ffffff0a;border:1px solid #ffffff0f;border-radius:4px;padding:2px 8px;font-size:.75rem;font-weight:600}.detail-date{color:var(--text-main);font-size:.9rem;font-weight:500}.detail-airport{color:var(--text-muted);font-size:.85rem;line-height:1.4}.card-footer{color:var(--text-muted);border-top:1px solid #ffffff0d;flex-wrap:wrap;gap:1.5rem;padding-top:1rem;font-size:.8rem;display:flex}.footer-item{align-items:center;gap:6px;display:flex}.footer-item strong{color:var(--text-main)}.empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:1.25rem;padding:4rem 2rem;display:flex}.empty-icon-box{width:70px;height:70px;color:var(--text-muted);background:#ffffff05;border:1px solid #ffffff0f;border-radius:50%;justify-content:center;align-items:center;margin-bottom:.5rem;font-size:2rem;animation:4s ease-in-out infinite float;display:flex}.empty-title{color:#fff;font-size:1.35rem;font-weight:600}.empty-message{color:var(--text-muted);max-width:440px;font-size:.95rem;line-height:1.5}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.settings-panel{border-left:4px solid var(--secondary);padding:1.5rem;animation:.3s ease-out slideDown}.icon-btn{color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.icon-btn:hover{color:#fff;background:#ffffff0d}.footer{text-align:center;color:var(--text-dim);border-top:1px solid #ffffff0d;flex-direction:column;align-items:center;gap:8px;margin-top:auto;padding:2rem 0;font-size:.8rem;display:flex}.footer a{color:var(--text-muted);transition:var(--transition-fast)}.footer a:hover{color:var(--primary)}
