:root{--bg: #0f1117;--surface: #1a1d27;--border: #2a2d3a;--border-rgb: 42, 45, 58;--text: #e4e6eb;--text-dim: #8b8fa3;--accent: #4f8ff7;--accent-hover: #6ba1f9;--accent-rgb: 79, 143, 247;--success: #34d399;--success-rgb: 52, 211, 153;--error: #f87171;--error-rgb: 248, 113, 113;--warning: #fbbf24;--warning-rgb: 251, 191, 36;--hover-overlay: rgba(255, 255, 255, .04);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color-scheme:dark}:root[data-theme=light]{--bg: #eef1f6;--surface: #ffffff;--border: #d7dbe4;--border-rgb: 215, 219, 228;--text: #161a22;--text-dim: #5b6072;--accent: #2563eb;--accent-hover: #1d4ed8;--accent-rgb: 37, 99, 235;--success: #047857;--success-rgb: 4, 120, 87;--error: #b91c1c;--error-rgb: 185, 28, 28;--warning: #92400e;--warning-rgb: 146, 64, 14;--hover-overlay: rgba(15, 17, 23, .045);color-scheme:light}*{margin:0;padding:0;box-sizing:border-box}body{background:var(--bg);color:var(--text);min-height:100vh}#app{max-width:1100px;margin:0 auto;padding:1rem}h1{font-size:1.5rem;margin-bottom:.5rem}h2{font-size:1.2rem;margin-bottom:.75rem}a{color:var(--accent);text-decoration:none}a:hover{color:var(--accent-hover);text-decoration:underline}.header{display:flex;align-items:center;justify-content:space-between;padding:1rem 0;border-bottom:1px solid var(--border);margin-bottom:1.5rem}.header-left{display:flex;align-items:center;gap:.75rem}.header h1{margin:0;font-family:Space Grotesk,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:700;letter-spacing:-.01em;font-size:1.7rem;line-height:1}.brand-mark{flex-shrink:0;display:block}.utc-clock{font-size:.85rem;color:var(--text-dim);font-family:monospace;white-space:nowrap}.search-box{display:flex;gap:.5rem;margin-bottom:1.5rem}.search-box input{flex:1;padding:.6rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:1rem;outline:none;transition:border-color .2s}.search-box input:focus{border-color:var(--accent)}.search-box input::placeholder{color:var(--text-dim)}.search-box button{padding:.6rem 1.2rem;background:var(--accent);border:none;border-radius:6px;color:#fff;font-size:1rem;cursor:pointer;transition:background .2s}.search-box button:hover{background:var(--accent-hover)}.search-box button:disabled{opacity:.5;cursor:not-allowed}.stats-bar-wrapper{margin-bottom:1.5rem}.stats-bar{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;background:var(--surface);border-radius:6px;font-size:.85rem;color:var(--text-dim)}.stats-bar-left{display:flex;gap:1.5rem;flex-wrap:wrap}.stats-bar .stat-value{color:var(--text);font-weight:600}.failed-dates-btn{background:none;border:1px solid rgba(var(--warning-rgb),.4);border-radius:4px;color:var(--warning);font-size:.8rem;padding:.2rem .5rem;cursor:pointer;transition:all .2s;white-space:nowrap}.failed-dates-btn:hover,.failed-dates-btn.active{background:rgba(var(--warning-rgb),.15);border-color:var(--warning)}.card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1rem}.aircraft-card-body{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;flex-wrap:wrap}.aircraft-card-main{flex:1;min-width:200px}.aircraft-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:.75rem;flex-wrap:wrap;gap:.5rem}.aircraft-header .icao{font-family:monospace;font-size:1.1rem;font-weight:600;color:var(--accent);margin-right:10px}.aircraft-header .meta{font-size:.85rem;color:var(--text-dim)}.external-links{display:flex;gap:.5rem;flex-wrap:wrap;margin-bottom:.75rem}.external-links a{padding:.25rem .6rem;background:rgba(var(--accent-rgb),.1);border:1px solid rgba(var(--accent-rgb),.3);border-radius:4px;font-size:.8rem;transition:background .2s}.external-links a:hover{background:rgba(var(--accent-rgb),.2);text-decoration:none}table{width:100%;border-collapse:collapse;font-size:.9rem}th{text-align:left;padding:.5rem .75rem;border-bottom:1px solid var(--border);color:var(--text-dim);font-weight:500;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}td{padding:.5rem .75rem;border-bottom:1px solid rgba(var(--border-rgb),.5)}tr:hover td{background:rgba(var(--accent-rgb),.05)}.mono{font-family:monospace}.pagination{display:flex;justify-content:center;gap:.5rem;margin-top:1rem}.pagination button{padding:.4rem .8rem;background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text);cursor:pointer;font-size:.85rem}.pagination button:hover:not(:disabled){border-color:var(--accent)}.pagination button:disabled{opacity:.3;cursor:not-allowed}.loading{text-align:center;padding:2rem;color:var(--text-dim)}.error{text-align:center;padding:1rem;color:var(--error);background:rgba(var(--error-rgb),.1);border-radius:6px;margin-bottom:1rem}.failed-dates-banner{background:rgba(var(--warning-rgb),.1);border:1px solid rgba(var(--warning-rgb),.3);border-radius:0 0 6px 6px;padding:.75rem 1rem;margin-top:0}.failed-dates-banner.contextual{border-radius:6px;margin-bottom:1rem}.failed-dates-header{color:var(--warning);font-weight:600;margin-bottom:.5rem}.failed-dates-list{display:flex;flex-direction:column;gap:.25rem}.failed-date-item{display:flex;gap:.75rem;font-size:.85rem;color:var(--text-dim)}.failed-date{color:var(--text);font-weight:500;white-space:nowrap}.failed-reason{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.empty{text-align:center;padding:2rem;color:var(--text-dim)}.result-type{display:inline-block;padding:.15rem .5rem;background:rgba(var(--accent-rgb),.15);border-radius:3px;font-size:.75rem;color:var(--accent);text-transform:uppercase;letter-spacing:.05em;margin-bottom:.5rem}.toggle-btn{padding:.6rem .8rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text-dim);font-size:1rem;cursor:pointer;transition:all .2s}.toggle-btn:hover,.toggle-btn.active{border-color:var(--accent);color:var(--accent)}.advanced-panel{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem;margin-bottom:1.5rem}.advanced-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:.75rem;margin-bottom:.75rem}.advanced-grid label{display:flex;flex-direction:column;gap:.25rem}.advanced-grid label span{font-size:.8rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.03em}.advanced-grid input{padding:.5rem .6rem;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:.9rem;outline:none;transition:border-color .2s}.advanced-grid input:focus{border-color:var(--accent)}.advanced-panel button{padding:.5rem 1.2rem;background:var(--accent);border:none;border-radius:6px;color:#fff;font-size:.9rem;cursor:pointer;transition:background .2s}.advanced-panel button:hover{background:var(--accent-hover)}.advanced-panel button:disabled{opacity:.5;cursor:not-allowed}.filter-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin-bottom:.75rem}.filter-tag{padding:.15rem .5rem;background:rgba(var(--success-rgb),.12);border:1px solid rgba(var(--success-rgb),.3);border-radius:3px;font-size:.75rem;color:var(--success)}.date-picker-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem}.date-nav-btn{background:var(--surface);border:1px solid var(--border);border-radius:4px;color:var(--text-dim);padding:.35rem .6rem;cursor:pointer;font-size:.8rem;transition:all .2s;line-height:1}.date-nav-btn:hover{border-color:var(--accent);color:var(--accent)}.date-picker-row label{display:flex;align-items:center;gap:.5rem;font-size:.9rem;color:var(--text-dim)}.date-picker-row input[type=date]{padding:.4rem .6rem;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:.9rem;outline:none}.date-picker-row input[type=date]:focus{border-color:var(--accent)}.stats-page{margin-top:.5rem}.stats-link{font-weight:600;white-space:nowrap}.period-selector{display:flex;gap:.4rem;margin-bottom:1rem}.period-btn{padding:.45rem 1rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;color:var(--text-dim);cursor:pointer;font-size:.9rem;transition:all .2s}.period-btn:hover{border-color:var(--accent);color:var(--text)}.period-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.period-nav{display:flex;align-items:center;gap:.75rem;margin-bottom:1.25rem}.period-label{font-size:1.1rem;font-weight:600;min-width:10rem;text-align:center}.stats-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem;margin-bottom:1.25rem}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:1rem;text-align:center}.stat-card-value{font-size:1.5rem;font-weight:700;color:var(--accent)}.stat-card-label{font-size:.8rem;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em;margin-top:.25rem}.chart-container{display:flex;align-items:flex-end;gap:2px;height:160px;padding:.5rem 0}.chart-bar-wrapper{flex:1;display:flex;flex-direction:column;align-items:center;height:100%;justify-content:flex-end;min-width:0}.chart-bar{width:100%;max-width:40px;background:var(--accent);border-radius:3px 3px 0 0;min-height:2px;transition:height .3s ease}.chart-bar-wrapper:hover .chart-bar{background:var(--accent-hover)}.chart-label{font-size:.65rem;color:var(--text-dim);margin-top:4px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;text-align:center}.chart-count{font-size:.6rem;color:var(--text-dim);opacity:.7;white-space:nowrap}.stat-card-sub{font-size:.75rem;color:var(--text-dim);margin-top:.15rem}.type-table-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1rem .5rem;gap:.75rem}.type-table-header h2{margin:0;white-space:nowrap}.type-filter-input{padding:.4rem .6rem;background:var(--bg);border:1px solid var(--border);border-radius:4px;color:var(--text);font-size:.85rem;outline:none;transition:border-color .2s;width:180px}.type-filter-input:focus{border-color:var(--accent)}.type-filter-input::placeholder{color:var(--text-dim)}.view-all-row{text-align:center;padding:.5rem;border-top:1px solid var(--border)}.view-all-btn{background:none;border:1px solid var(--border);border-radius:4px;color:var(--accent);padding:.35rem 1rem;cursor:pointer;font-size:.85rem;transition:all .2s}.view-all-btn:hover{border-color:var(--accent);background:rgba(var(--accent-rgb),.1)}.main-nav{display:flex;align-items:center;justify-content:space-between;gap:.5rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;padding:.4rem;margin-bottom:1.5rem}.main-nav-items{display:flex;flex-wrap:wrap;gap:.25rem}.main-nav-github{display:flex;align-items:center;color:var(--text-dim);padding:.5rem;border-radius:4px;flex-shrink:0;line-height:0}.main-nav-github:hover{color:var(--text);background:var(--hover-overlay);text-decoration:none}.main-nav-github:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.nav-btn{background:none;border:none;border-radius:4px;color:var(--text-dim);font-size:1rem;font-family:inherit;padding:.6rem 1.1rem;cursor:pointer}.nav-btn:hover{color:var(--text);background:var(--hover-overlay)}.nav-btn.active{color:var(--accent);background:rgba(var(--accent-rgb),.14);font-weight:600}.nav-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.search-area{margin-bottom:1rem}.search-mode{display:inline-flex;border:1px solid var(--border);border-radius:6px;overflow:hidden;margin-bottom:.6rem}.search-mode-btn{background:none;border:none;color:var(--text-dim);font-family:inherit;font-size:.85rem;padding:.4rem .9rem;cursor:pointer}.search-mode-btn+.search-mode-btn{border-left:1px solid var(--border)}.search-mode-btn.active{background:var(--accent);color:#fff}.search-mode-btn:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.page{margin-bottom:2rem}.page h3{font-size:1rem;margin:1.5rem 0 .5rem}.page-intro{color:var(--text-dim);font-size:.9rem;margin-bottom:1rem;max-width:60ch}.muted{color:var(--text-dim);font-size:.9rem}.data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:.75rem}.data-item{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:.9rem;display:flex;flex-direction:column;gap:.2rem}.data-value{font-size:1.5rem;font-weight:600;color:var(--accent)}.data-value.small{font-size:1rem}.data-label{font-size:.8rem;color:var(--text-dim)}.failed-table-wrap{overflow-x:auto;margin-bottom:1rem}.failed-table{width:100%;border-collapse:collapse;font-size:.85rem}.failed-table th{text-align:left;color:var(--text-dim);font-weight:500;padding:.5rem;border-bottom:1px solid var(--border)}.failed-table td{padding:.5rem;border-bottom:1px solid var(--border);vertical-align:top}.setting{border:1px solid var(--border);border-radius:8px;padding:.9rem 1rem 1rem;margin-bottom:1rem;background:var(--surface)}.setting legend{padding:0 .4rem;font-size:.9rem;font-weight:600}.setting-help{color:var(--text-dim);font-size:.85rem;margin-bottom:.75rem;max-width:60ch}.setting-options{display:flex;flex-direction:column;gap:.5rem}.setting-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.9rem}.setting-example{color:var(--text-dim);font-size:.8rem}.setting-preview{display:flex;align-items:baseline;gap:.6rem;margin-top:.75rem;padding:.75rem 1rem;border:1px dashed var(--border);border-radius:8px}@media(max-width:640px){.failed-table,.failed-table tbody,.failed-table tr,.failed-table td{display:block;width:100%}.failed-table thead{display:none}.failed-table tr{border:1px solid var(--border);border-radius:8px;padding:.6rem .75rem;margin-bottom:.6rem}.failed-table td{border:none;padding:.1rem 0;overflow-wrap:anywhere}.failed-table td.failed-date-cell{font-weight:600}.failed-table td[data-label]:before{content:attr(data-label) ": ";color:var(--text-dim)}}.failed-table .failed-reason{overflow:visible;text-overflow:clip;white-space:normal;overflow-wrap:anywhere}.live-badge{display:inline-block;margin-left:.4rem;padding:.05rem .35rem;border:1px solid var(--accent);border-radius:3px;color:var(--accent);font-size:.65rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;vertical-align:middle;cursor:help}.feeder-list{display:flex;flex-direction:column;gap:.4rem;margin-bottom:1rem}.feeder-item{display:flex;align-items:center;gap:.75rem;padding:.6rem .8rem;background:var(--surface);border:1px solid var(--border);border-radius:6px}.feeder-name{flex:1;min-width:0;overflow-wrap:anywhere}.feeder-status{flex-shrink:0;padding:.1rem .5rem;border-radius:10px;font-size:.75rem;cursor:help}.feeder-status-live{color:var(--success);border:1px solid var(--success)}.feeder-status-stalled{color:var(--error);border:1px solid var(--error)}.feeder-status-pending{color:var(--text-dim);border:1px solid var(--border)}.feeder-seen{flex-shrink:0;color:var(--text-dim);font-size:.8rem}.feeder-window{margin-bottom:1rem}.feeder-form{display:flex;flex-direction:column;gap:.75rem;max-width:560px}.feeder-form label{display:flex;flex-direction:column;gap:.25rem}.feeder-form label span{font-size:.8rem;color:var(--text-dim)}.feeder-form input{padding:.6rem 1rem;background:var(--bg);border:1px solid var(--border);border-radius:6px;color:var(--text);font-size:1rem;font-family:inherit;outline:none;transition:border-color .2s}.feeder-form input:focus{border-color:var(--accent)}.feeder-form input::placeholder{color:var(--text-dim)}.feeder-form button{align-self:flex-start;padding:.6rem 1.2rem;background:var(--accent);border:none;border-radius:6px;color:#fff;font-size:1rem;cursor:pointer;transition:background .2s}.feeder-form button:hover:not(:disabled){background:var(--accent-hover)}.feeder-form button:disabled{opacity:.5;cursor:not-allowed}.feeder-disclosure{padding:.75rem .9rem;background:var(--surface);border:1px solid var(--border);border-radius:6px;font-size:.82rem;color:var(--text-dim)}.feeder-disclosure strong{color:var(--text)}.feeder-disclosure ul{margin:.5rem 0 .5rem 1.1rem;display:flex;flex-direction:column;gap:.3rem}.feeder-disclosure p{margin-top:.5rem}.feeder-success{margin-top:1rem;padding:.75rem .9rem;border:1px solid var(--success);border-radius:6px;color:var(--success)}@media(max-width:600px){.feeder-item{flex-wrap:wrap}}.aircraft-photo{position:relative;width:220px;max-width:100%;aspect-ratio:16 / 9;border:1px solid var(--border);border-radius:8px;overflow:hidden;background:var(--bg);flex-shrink:0}.aircraft-photo a{display:block;width:100%;height:100%}.aircraft-photo img{display:block;width:100%;height:100%;object-fit:cover}.aircraft-photo-credit{position:absolute;right:0;bottom:0;left:0;padding:.3rem .5rem;background:linear-gradient(to top,rgba(0,0,0,.65),transparent);color:#fff;font-size:.7rem;text-align:right;pointer-events:none}.aircraft-photo-loading{background-image:linear-gradient(90deg,var(--bg) 25%,var(--surface) 50%,var(--bg) 75%);background-size:200% 100%;animation:aircraft-photo-shimmer 1.4s ease-in-out infinite}@media(prefers-reduced-motion:reduce){.aircraft-photo-loading{animation:none}}@keyframes aircraft-photo-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}@media(max-width:480px){.aircraft-photo{width:100%}}
