:root{--canvas:#0a0a0b;--panel:#121214;--panel-2:#18181b;--hairline:#26262a;--signal:#ff5400;--silver:#c7c9ce;--dim:#7a7c82;--white:#fff;--green:#22c55e;--amber:#f5a524;--red:#ef4444;--font-display:"Bebas Neue", system-ui, sans-serif;--font-ui:"Oswald", system-ui, sans-serif;--font-mono:"JetBrains Mono", ui-monospace, monospace}*{box-sizing:border-box}html,body{background:var(--canvas);color:var(--silver);font-family:var(--font-ui);margin:0}button{font:inherit;color:inherit;cursor:pointer;background:0 0;border:none;padding:0}.shell{max-width:1180px;margin:0 auto;padding:0 20px 64px}.topbar{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:16px;padding:18px 0 0;display:flex}.brand{font-family:var(--font-display);letter-spacing:2px;color:var(--silver);text-transform:uppercase;font-size:clamp(20px,3vw,30px);line-height:1}.brand .airport{font-family:var(--font-ui);letter-spacing:4px;color:var(--dim);text-transform:uppercase;margin-top:4px;font-size:11px;display:block}.clockbox{text-align:right}.clock{font-family:var(--font-mono);color:var(--white);letter-spacing:1px;font-size:clamp(24px,4vw,40px);line-height:1}.clock .sep{color:var(--signal);animation:1s steps(2,start) infinite pulse}@keyframes pulse{to{visibility:hidden}}.clockdate{font-family:var(--font-mono);color:var(--dim);text-transform:uppercase;letter-spacing:2px;margin-top:6px;font-size:12px}.controls{border-top:1px solid var(--hairline);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:26px 0 10px;padding-top:18px;display:flex}.left{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.dd{position:relative}.airportbtn{border:1px solid var(--hairline);background:var(--panel);border-radius:2px;align-items:center;gap:12px;padding:7px 14px 7px 12px;transition:border-color .15s;display:flex}.airportbtn:hover,.airportbtn.on{border-color:var(--signal)}.airportbtn .ab-code{font-family:var(--font-display);letter-spacing:1px;color:var(--white);font-size:26px;line-height:1}.airportbtn .ab-meta{flex-direction:column;align-items:flex-start;line-height:1.15;display:flex}.airportbtn .ab-name{font-family:var(--font-ui);letter-spacing:1px;text-transform:uppercase;color:var(--dim);white-space:nowrap;font-size:11px}.airportbtn .ab-tz{font-family:var(--font-mono);color:var(--signal);letter-spacing:1px;font-size:10px}.ab-chev{width:14px;height:14px;color:var(--dim);transition:transform .15s}.ab-chev.up{transform:rotate(180deg)}.dd-menu{z-index:40;background:var(--panel-2);border:1px solid var(--hairline);border-radius:2px;min-width:280px;max-height:320px;padding:4px;position:absolute;top:calc(100% + 6px);left:0;overflow-y:auto;box-shadow:0 18px 40px #0000008c}.dd-item{cursor:pointer;border-left:2px solid #0000;border-radius:1px;grid-template-columns:56px 1fr auto;align-items:center;gap:10px;padding:8px 10px;display:grid}.dd-item:hover,.dd-item.active{background:var(--canvas);border-left-color:var(--signal)}.dd-item.sel .dd-code{color:var(--signal)}.dd-code{font-family:var(--font-display);letter-spacing:1px;color:var(--white);font-size:22px;line-height:1}.dd-name{font-family:var(--font-ui);letter-spacing:.5px;text-transform:uppercase;color:var(--silver);font-size:13px}.dd-tz{font-family:var(--font-mono);letter-spacing:1px;color:var(--dim);font-size:10px}button:focus-visible{outline:1px solid var(--signal);outline-offset:2px}.tabs{gap:6px;display:flex}.tabs button,.seg button{font-family:var(--font-ui);letter-spacing:2px;text-transform:uppercase;color:var(--dim);border:1px solid var(--hairline);border-radius:2px;padding:8px 16px;font-size:13px;transition:color .15s,border-color .15s}.tabs button:hover,.seg button:hover{color:var(--silver)}.tabs button.on{color:var(--signal);border-color:var(--signal)}.seg button.on{background:var(--panel-2);color:var(--white);border-color:var(--panel-2)}.searchrow{align-items:center;gap:10px;display:flex}.searchbox{position:relative}.searchbox input{background:var(--panel);border:1px solid var(--hairline);width:210px;color:var(--white);font-family:var(--font-mono);letter-spacing:1px;text-transform:uppercase;border-radius:2px;outline:none;padding:9px 12px;font-size:15px}.searchbox input:focus{border-color:var(--signal)}.iconbtn{border:1px solid var(--hairline);width:38px;height:38px;color:var(--dim);border-radius:2px;place-items:center;display:grid}.iconbtn:hover{color:var(--silver);border-color:var(--silver)}.iconbtn svg{width:16px;height:16px}.locale{letter-spacing:1px;text-transform:uppercase;color:var(--dim);border:1px solid var(--hairline);border-radius:2px;padding:8px 12px;font-size:12px}.locale:hover{color:var(--silver)}.board{border-collapse:collapse;width:100%;font-family:var(--font-mono);font-size:13px}.board th{text-align:left;font-family:var(--font-ui);letter-spacing:3px;text-transform:uppercase;color:var(--dim);border-bottom:1px solid var(--hairline);padding:10px 12px;font-size:11px;font-weight:400}.board td{border-bottom:1px solid var(--hairline);vertical-align:middle;padding:11px 12px}.board tbody tr{cursor:pointer;border-left:2px solid #0000;transition:background .12s}.board tbody tr:hover{background:var(--panel);border-left-color:var(--signal)}.tcell .t-main{color:var(--white);font-size:15px}.tcell .t-alt{color:var(--amber);font-size:11px}.fcell .no{color:var(--white);letter-spacing:1px;font-size:15px}.fcell .op{color:var(--dim);align-items:center;gap:8px;font-size:11px;display:inline-flex}.alogo{object-fit:contain;border:1px solid var(--hairline);box-sizing:content-box;background:#fff;border-radius:2px;width:auto;max-width:80px;height:18px;padding:2px 5px;display:inline-block}.airline .alogo{max-width:130px;height:24px}.alogo-fallback{font-family:var(--font-display);letter-spacing:1px;color:var(--white);background:var(--panel-2);border:1px solid var(--hairline);border-radius:2px;height:auto;padding:0 5px;font-size:12px;line-height:15px}.airline .alogo-fallback{font-size:14px;line-height:18px}.fcell .exact{color:var(--signal)}.rcell .code{color:var(--white)}.rcell .city{color:var(--dim);font-size:11px}.gcell{color:var(--white);font-size:17px}.chip{letter-spacing:1px;text-transform:uppercase;color:var(--silver);border:1px solid var(--hairline);border-radius:2px;align-items:center;gap:8px;padding:4px 8px;font-size:11px;display:inline-flex}.chip .led{background:var(--dim);border-radius:1px;width:7px;height:7px}.chip.tone-active{color:var(--green);border-color:color-mix(in srgb, var(--green) 40%, transparent)}.chip.tone-active .led{background:var(--green);box-shadow:0 0 6px var(--green)}.chip.tone-done{color:var(--silver)}.chip.tone-done .led{background:var(--silver)}.chip.tone-warn{color:var(--amber);border-color:color-mix(in srgb, var(--amber) 40%, transparent)}.chip.tone-warn .led{background:var(--amber)}.chip.tone-danger{color:var(--red);border-color:color-mix(in srgb, var(--red) 40%, transparent)}.chip.tone-danger .led{background:var(--red)}.statusline{text-align:center;color:var(--dim);font-family:var(--font-mono);letter-spacing:1px;border-bottom:1px solid var(--hairline);padding:48px 0;font-size:13px}.errorline{color:var(--red)}.retry{color:var(--signal);font-family:var(--font-ui);letter-spacing:2px;text-transform:uppercase;border:1px solid var(--signal);border-radius:2px;margin-left:14px;padding:6px 14px;font-size:12px}.backdrop{z-index:50;background:#000000b8;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.panel{background:var(--panel);border:1px solid var(--hairline);border-top:3px solid var(--signal);width:min(560px,100%);max-height:90vh;padding:22px;position:relative;overflow-y:auto;box-shadow:0 24px 60px #0009}.panel .big{font-family:var(--font-display);color:var(--white);letter-spacing:2px;margin:6px 0 4px;font-size:clamp(48px,12vw,84px);line-height:.9}.panel .airline{color:var(--dim);font-family:var(--font-mono);letter-spacing:1px;align-items:center;gap:10px;font-size:12px;display:flex}.closebtn{color:var(--dim);font-family:var(--font-mono);border:1px solid var(--hairline);border-radius:2px;padding:4px 10px;font-size:18px;position:absolute;top:12px;right:12px}.closebtn:hover{color:var(--white)}.detail-grid{border:1px solid var(--hairline);grid-template-columns:1fr 1fr;gap:2px;margin-top:18px;display:grid}.detail-grid .cell{background:var(--canvas);padding:10px 12px}.detail-grid .k{font-family:var(--font-ui);letter-spacing:2px;text-transform:uppercase;color:var(--dim);font-size:10px}.detail-grid .v{font-family:var(--font-mono);color:var(--silver);margin-top:3px;font-size:13px}.detail-grid .v .warn{color:var(--amber)}.detail-grid .v strong{color:var(--white)}.route-line{font-family:var(--font-mono);color:var(--dim);letter-spacing:1px;align-items:center;gap:10px;font-size:12px;display:flex}.route-line .arrow{color:var(--signal)}.panel .statusline-inline{text-align:left;border:none;margin:14px 0 0;padding:0}.nearby h4{font-family:var(--font-ui);letter-spacing:3px;text-transform:uppercase;color:var(--dim);margin:20px 0 8px;font-size:11px;font-weight:400}.nearby button{width:100%;font-family:var(--font-mono);color:var(--silver);border-bottom:1px solid var(--hairline);justify-content:space-between;padding:9px 2px;font-size:13px;display:flex}.nearby button:hover{color:var(--white)}.nearby .n-sub{color:var(--dim);font-size:11px}.contact{font-family:var(--font-mono);color:var(--dim);flex-wrap:wrap;gap:18px;margin-top:16px;font-size:12px;display:flex}.contact a{color:var(--signal);text-decoration:none}.contact a:hover{text-decoration:underline}@media (width<=640px){.detail-grid{grid-template-columns:1fr}.searchrow,.searchbox input{width:100%}}
