@import "https://fonts.googleapis.com/css2?family=DM+Sans:wght@300;400;500;600;700;800&family=Space+Mono:wght@400;700&display=swap";
:root{--bg-base:#0a0c10;--bg-elevated:#0d1015;--bg-card:#ffffff06;--bg-card-hover:#ffffff0a;--text-primary:#fff;--text-secondary:#ffffffa6;--text-muted:#ffffff73;--text-faded:#ffffff40;--border-subtle:#ffffff0f;--border-soft:#ffffff1a;--border-strong:#ffffff2e;--accent-blue:#4fc3f7;--accent-yellow:#ffd600;--accent-purple:#ba68c8;--accent-red:#e91e63;--accent-green:#66bb6a;--accent-orange:#ff8f00;--signage-yellow:#f4c20d;--signage-yellow-dark:#c99906;--font-sans:"DM Sans", -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--font-mono:"Space Mono", "Courier New", monospace;--topbar-height:72px}*{box-sizing:border-box}html{scroll-behavior:smooth;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}body{background:var(--bg-base);color:var(--text-primary);font-family:var(--font-sans);min-height:100vh;margin:0;padding:0;font-size:15px;line-height:1.5}a{color:inherit;text-decoration:none}button{font-family:inherit}.topbar{z-index:100;-webkit-backdrop-filter:blur(20px);border-bottom:1px solid var(--border-subtle);height:var(--topbar-height);background:#0a0c10d9;justify-content:space-between;align-items:center;padding:12px 24px;display:flex;position:sticky;top:0}.topbar-logo{color:var(--text-primary);align-items:center;gap:10px;text-decoration:none;transition:opacity .2s;display:flex}.topbar-logo:hover{opacity:.85}.topbar-logo-img{object-fit:contain;border-radius:9px;width:42px;height:42px;display:block}.topbar-logo-text{font-family:var(--font-sans);letter-spacing:-.02em;color:var(--text-primary);font-size:20px;font-weight:700}.topbar-nav{align-items:center;gap:6px;display:flex}.topbar-nav-link{font-family:var(--font-sans);color:var(--text-secondary);border-radius:9px;align-items:center;gap:8px;padding:7px 12px;font-size:14px;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.topbar-nav-link:hover{color:var(--text-primary);background:#ffffff0d}.topbar-nav-link.active{color:var(--text-primary);background:#ffffff0a}.topbar-actions{align-items:center;gap:8px;margin-left:4px;display:flex}.signage-icon{background:var(--signage-yellow);border-radius:4px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.signage-icon svg{fill:#000;width:16px;height:16px}.app{min-height:100vh}.content{max-width:720px;margin:0 auto;padding:20px}.section-title{text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-bottom:12px;font-size:11px;font-weight:500}.search-area{border:1px solid var(--border-soft);background:#ffffff08;border-radius:14px;margin-bottom:20px;padding:16px}.search-label{text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-bottom:10px;font-size:11px;font-weight:500}.search-row{gap:8px;display:flex}.search-input{border:1px solid var(--border-soft);color:var(--text-primary);font-size:14px;font-family:var(--font-mono);letter-spacing:.05em;background:#ffffff0d;border-radius:9px;outline:none;flex:1;padding:11px 14px}.search-input::placeholder{color:var(--text-faded);font-family:var(--font-sans);letter-spacing:0}.search-btn{background:var(--accent-blue);color:var(--bg-base);cursor:pointer;border:none;border-radius:9px;padding:11px 20px;font-size:14px;font-weight:600}.flight-card{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:14px;margin-bottom:10px;padding:16px;transition:background .2s}.flight-card:hover{background:var(--bg-card-hover)}.flight-card.delayed{border-left:3px solid var(--accent-orange)}.flight-card.cancelled{border-left:3px solid var(--accent-red)}.flight-card.active{border-left:3px solid var(--accent-green)}.flight-card.landed{border-left:3px solid var(--text-muted)}.fc-top{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.fc-airline{align-items:center;gap:10px;display:flex}.airline-name{color:var(--text-primary);font-size:13px}.fc-num{font-size:11px;font-family:var(--font-mono);color:var(--text-muted)}.status-pill{text-transform:uppercase;letter-spacing:.1em;border-radius:6px;padding:4px 10px;font-size:10px;font-weight:500}.status-pill.on-time{color:var(--accent-green);background:#66bb6a26}.status-pill.delayed{color:var(--accent-orange);background:#ff8f0026}.status-pill.cancelled{color:var(--accent-red);background:#e5393526}.status-pill.active{color:var(--accent-blue);background:#4fc3f726}.status-pill.landed{color:var(--text-muted);background:#ffffff14}.fc-route{grid-template-columns:1fr auto 1fr;align-items:center;gap:10px;margin-bottom:14px;display:grid}.fc-airport{text-align:left}.fc-airport.right{text-align:right}.fc-iata{font-family:var(--font-mono);color:var(--text-primary);font-size:22px;font-weight:700}.fc-city{color:var(--text-muted);margin-top:2px;font-size:11px}.fc-time{font-size:13px;font-family:var(--font-mono);color:var(--text-secondary);margin-top:4px}.route-line{flex-direction:column;align-items:center;gap:4px;min-width:100px;display:flex}.route-dur{color:var(--text-muted);font-size:11px}.route-track{background:var(--border-soft);width:60px;height:1px}.fc-details{border-top:1px solid var(--border-subtle);grid-template-columns:repeat(4,1fr);gap:10px;padding-top:14px;display:grid}.fc-detail{text-align:center}.detail-label{text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin-bottom:4px;font-size:10px}.detail-value{color:var(--text-primary);font-size:13px;font-family:var(--font-mono)}.detail-value.aircraft-type{font-family:var(--font-sans)}.divider{background:var(--border-subtle);height:1px;margin:14px 0}.share-row{gap:8px;display:flex}.share-link-box{border:1px solid var(--border-soft);color:var(--text-secondary);font-size:11px;font-family:var(--font-mono);text-overflow:ellipsis;white-space:nowrap;background:#ffffff08;border-radius:8px;flex:1;align-items:center;padding:9px 12px;display:flex;overflow:hidden}.copy-btn{color:var(--accent-blue);cursor:pointer;background:#4fc3f71a;border:1px solid #4fc3f740;border-radius:8px;padding:9px 14px;font-size:12px}.copy-btn.copied{color:var(--accent-green);background:#66bb6a1a;border-color:#66bb6a40}.empty-state{text-align:center;border:1px dashed var(--border-soft);background:#ffffff05;border-radius:14px;padding:50px 20px}.empty-icon{margin-bottom:12px;font-size:36px}.empty-text{color:var(--text-secondary);font-size:14px}.stats-header{margin-bottom:18px}.stats-greeting{text-transform:uppercase;letter-spacing:.15em;color:var(--text-muted);margin-bottom:4px;font-size:11px}.stats-name{color:var(--text-primary);font-size:22px;font-weight:600}.stats-name span{color:var(--text-muted);font-weight:400}.kpi-grid{grid-template-columns:repeat(2,1fr);gap:10px;margin-bottom:16px;display:grid}.kpi{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:12px;padding:14px}.kpi-val{font-family:var(--font-mono);color:var(--text-primary);margin-bottom:4px;font-size:24px;font-weight:700}.kpi-lbl{color:var(--text-muted);text-transform:uppercase;letter-spacing:.1em;font-size:11px}.kpi-sub{color:var(--text-faded);margin-top:6px;font-size:10px}.stat-panel{background:var(--bg-card);border:1px solid var(--border-soft);border-radius:12px;padding:16px}.two-col{grid-template-columns:1fr 1fr;gap:10px;margin-bottom:16px;display:grid}.month-chart{grid-template-columns:repeat(12,1fr);align-items:end;gap:4px;height:80px;display:grid}.month-bar-wrap{flex-direction:column;justify-content:flex-end;align-items:center;gap:4px;height:100%;display:flex}.month-bar{background:var(--accent-blue);border-radius:3px 3px 0 0;width:100%;min-height:2px}.month-label{color:var(--text-muted);font-size:10px}.aircraft-list,.ranking-list{flex-direction:column;gap:8px;display:flex}.aircraft-row,.rank-row{align-items:center;gap:10px;font-size:12px;display:flex}.aircraft-icon{color:var(--text-muted);font-size:14px}.aircraft-info{flex:1;min-width:0}.aircraft-name{color:var(--text-secondary);font-size:12px}.aircraft-bar-wrap,.rank-bar-wrap{background:#ffffff0d;border-radius:2px;flex:1;min-width:50px;height:4px;overflow:hidden}.aircraft-bar,.rank-bar{background:var(--accent-blue);border-radius:2px;height:100%}.rank-num{font-family:var(--font-mono);color:var(--text-muted);width:16px;font-size:11px}.rank-label{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;flex:1;font-size:12px;overflow:hidden}.rank-count{font-family:var(--font-mono);color:var(--text-muted);text-align:right;width:24px;font-size:11px}.recent-flights{flex-direction:column;gap:8px;display:flex}.recent-flight{background:#ffffff05;border-radius:8px;align-items:center;gap:12px;padding:10px;font-size:12px;display:flex}.rf-route{font-family:var(--font-mono);color:var(--text-primary);font-weight:600}.rf-airline{color:var(--text-muted);margin-top:2px;font-size:11px}.rf-km{font-family:var(--font-mono);color:var(--text-muted);font-size:11px}.rf-date{color:var(--text-muted);font-size:11px}@media (max-width:640px){.topbar{padding:10px 16px}.topbar-nav-link{padding:6px 8px;font-size:13px}.topbar-nav-link .topbar-nav-label{display:none}.topbar-logo-text{font-size:16px}}
