:root{--navy:#102333;--ink:#183044;--muted:#64778a;--line:#e0e7ed;--blue:#1179bd;--teal:#087c69;--orange:#b96505;--purple:#7951ae;font-family:Inter,"Segoe UI",Arial,sans-serif;color:var(--ink);font-synthesis:none}*{box-sizing:border-box}body{margin:0;height:100vh;height:100svh;display:flex;flex-direction:column;background:#f4f7fa}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit;cursor:pointer;border:1px solid var(--line);border-radius:7px;background:white;color:var(--ink);padding:10px 13px;font-size:13px;font-weight:600}button:hover{background:#eaf2f7}button:focus-visible,a:focus-visible{outline:3px solid #59b6ed;outline-offset:3px}[hidden]{display:none!important}.topbar{height:70px;min-height:70px;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 24px;gap:15px}.brand{display:flex;align-items:center;gap:12px}.brand-symbol{color:#77dbca;font-size:41px;line-height:1}.brand>div{display:flex;align-items:baseline;gap:14px}.brand strong{font-size:18px;letter-spacing:1.6px}.brand>div>span{font-size:12px;font-weight:500;letter-spacing:2px;color:#a6bdce}.top-actions{display:flex;gap:16px;align-items:center}.subtle{background:transparent;color:#d7e6f0;border-color:#385062}.subtle:hover{background:#233d50}.pill{display:inline-flex;align-items:center;gap:8px;font-size:12px;font-weight:600;border-radius:20px;padding:7px 11px;background:#254250;color:#c7dbe8}.pill i{display:inline-block;width:7px;height:7px;border-radius:50%;background:currentColor}.pill.live{color:#87e6ca;background:#174d44}.pill.waiting{color:#f5d29b;background:#4d422c}.pill.offline{color:#f0b4ad;background:#4a3031}.receiver-bar{min-height:39px;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:8px 24px;background:white;border-bottom:1px solid var(--line);font-size:12px;color:var(--muted)}.receiver-bar b{font-variant-numeric:tabular-nums;color:var(--ink);font-weight:650}.bar-separator{padding:0 9px;color:#b5c0c9}.demo-banner{padding:10px;background:#fff0bf;color:#684800;font-size:13px;text-align:center;font-weight:700}main{flex:1;min-height:0;display:grid;grid-template-columns:340px minmax(0,1fr)}.sidebar{background:#fff;overflow-y:auto;border-right:1px solid var(--line);padding:23px 22px 12px;z-index:600}.sidebar-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:17px}.sidebar h1{font-size:20px;font-weight:650;margin:0;letter-spacing:-.4px}.count{font-size:11px;background:#edf2f6;border-radius:20px;padding:5px 9px;color:var(--muted);font-variant-numeric:tabular-nums}.aircraft-list{display:flex;flex-direction:column;gap:6px;max-height:190px;overflow-y:auto;margin-bottom:18px}.aircraft-item{display:flex;align-items:center;gap:9px;text-align:left;padding:10px 11px;min-height:44px;flex-shrink:0;width:100%;background:#fff}.aircraft-item.selected{background:#eaf5fc;border-color:#9acbea}.aircraft-item .id{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-family:ui-monospace,Consolas,monospace}.aircraft-item .age{font-size:11px;color:var(--muted);font-weight:400;white-space:nowrap}.aircraft-item.stale{opacity:.7}.empty-details{padding:35px 0 42px}.empty-icon{font-size:40px;display:block;color:#8facbf;margin-bottom:18px}.empty-details h2{font-size:18px;margin:0 0 12px}.empty-details p{font-size:14px;line-height:1.65;color:var(--muted);margin:0 0 15px}.small{font-size:11px;line-height:1.5;color:var(--muted)}.identity{padding-top:3px;margin-bottom:20px}.eyebrow{font-size:10px;font-weight:700;letter-spacing:1.3px;color:var(--muted)}.identity h2{font-family:ui-monospace,Consolas,monospace;font-size:17px;font-weight:600;line-height:1.4;overflow-wrap:anywhere;margin:8px 0 5px}.last-seen{display:flex;justify-content:space-between;align-items:center;margin-top:12px;font-size:11px;color:var(--muted)}.freshness{font-weight:700;color:var(--teal)}.freshness.stale{color:var(--orange)}.height-card{border:1px solid #d6e5ee;background:#f1f7fb;border-radius:10px;padding:16px 17px 12px;margin-bottom:16px}.height-card .eyebrow{color:#376581;font-size:10px}.height-card strong{font-size:47px;line-height:1.35;letter-spacing:-1.7px;font-weight:650;font-variant-numeric:tabular-nums}.height-card>div:nth-child(2)>span{margin-left:8px;color:#547389;font-size:18px}.height-card p{margin:2px 0 0;font-size:10px;color:#56758a;line-height:1.4}.height-card.stale strong{color:#8594a0}.metrics{display:grid;grid-template-columns:1fr 1fr;gap:16px 10px;margin:20px 0 23px}.metrics>div{display:flex;flex-direction:column;gap:5px}.metrics span{font-size:10px;color:var(--muted)}.metrics strong{font-size:14px;font-weight:600;font-variant-numeric:tabular-nums}.location-card{border-top:1px solid var(--line);padding:16px 0}.location-heading{display:flex;align-items:center;gap:8px}.location-heading h3{margin:0;font-size:12px;font-weight:650}.coordinates{font-size:12px;line-height:1.5;font-family:ui-monospace,Consolas,monospace;margin:8px 0 3px;font-variant-numeric:tabular-nums}.ground-card .coordinates{color:#86500d}.additional{border-top:1px solid var(--line);padding-top:12px;display:flex;flex-direction:column;gap:5px;font-size:10px;color:var(--muted)}.sidebar-note{margin-top:23px;border-top:1px solid var(--line);padding:13px 0;font-size:10px;line-height:1.6;color:#7c8b98}.map-wrap{position:relative;min-width:0;min-height:0;background:#e7edf0}#map{height:100%;width:100%;z-index:0;background:#e8edf0}.map-tools{position:absolute;top:16px;right:16px;display:flex;gap:7px;z-index:500}.map-tools button{box-shadow:0 2px 8px #18304412;border-color:#fff}.map-tools .active{background:var(--navy);color:white;border-color:var(--navy)}.map-empty{position:absolute;z-index:400;top:50%;left:50%;transform:translate(-50%,-50%);background:#fffffff2;border:1px solid var(--line);border-radius:10px;padding:20px 23px;display:flex;flex-direction:column;gap:8px;text-align:center;box-shadow:0 6px 30px #152f4210;max-width:360px;width:calc(100% - 48px);pointer-events:none}.map-empty strong{font-size:15px}.map-empty span{font-size:12px;color:var(--muted);line-height:1.5}.map-legend{position:absolute;left:16px;bottom:32px;z-index:500;background:#fffffff0;box-shadow:0 2px 12px #18304415;border:1px solid #fff;border-radius:8px;padding:10px 13px;display:flex;flex-wrap:wrap;gap:13px;font-size:10px}.map-legend>span{display:flex;align-items:center;gap:6px}.legend-dot{width:8px;height:8px;display:inline-block;border-radius:50%;flex-shrink:0}.drone-dot{background:#1484c4}.operator-dot{background:#c57616}.takeoff-dot{background:#8055b7}.stale-dot{background:#8595a3}.legend-stale{color:#8a99a4}.tiles-warning{position:absolute;bottom:85px;left:16px;right:16px;z-index:500;background:#fff3d4;border:1px solid #ecd098;padding:10px 13px;color:#775510;font-size:12px;border-radius:6px}.leaflet-control-attribution{font-size:10px!important}.leaflet-container{font-family:inherit}.leaflet-control-zoom{border:1px solid #d0dbe3!important;box-shadow:0 2px 9px #10233315!important;margin:16px!important}.leaflet-control-zoom a{color:var(--ink)!important;width:32px!important;height:32px!important;line-height:32px!important}.map-marker{background:transparent;border:0}.marker-body{width:38px;height:38px;border-radius:50%;background:#147fbc;color:#fff;border:3px solid white;box-shadow:0 2px 8px #18304455;display:flex;align-items:center;justify-content:center}.marker-body svg{width:22px;height:22px}.marker-body.operator{background:#bb6e12}.marker-body.takeoff,.marker-body.fixed{background:#7951ae}.marker-body.stale{background:#8997a2}.marker-body.selected{box-shadow:0 0 0 5px #147fbc24,0 2px 8px #18304455}.marker-label{font-size:11px;font-weight:600}.popup-title{font-weight:700;margin-bottom:7px}.popup-line{font-size:12px;line-height:1.6}footer{height:26px;min-height:26px;background:#f8fafc;border-top:1px solid var(--line);padding:6px 16px;font-size:10px;color:#7a8996;display:flex;justify-content:space-between;gap:10px}dialog{border:1px solid var(--line);border-radius:14px;padding:28px;max-width:460px;width:calc(100% - 32px);box-shadow:0 20px 100px #0003;color:var(--ink)}dialog::backdrop{background:#10233366}dialog h2{font-size:23px;line-height:1.3;letter-spacing:-.4px;margin:11px 0 12px}dialog p{font-size:14px;line-height:1.65;color:var(--muted)}dialog a{display:block;overflow-wrap:anywhere;background:#edf4f8;border:1px solid var(--line);border-radius:6px;padding:12px;font-family:monospace;font-size:12px;margin:18px 0;text-decoration:none;color:var(--blue)}.dialog-close{position:absolute;right:12px;top:10px;border:0;padding:3px 9px;font-size:23px;color:var(--muted)}.primary{background:var(--navy);color:white;border:0;width:100%;padding:12px}.primary:hover{background:#28485f}@media(max-width:760px){.topbar{padding:0 15px;height:60px;min-height:60px}.brand>div{flex-direction:column;gap:3px}.brand strong{font-size:14px;letter-spacing:1.3px}.brand>div>span{font-size:9px}.brand-symbol{font-size:34px}.brand{gap:8px}.top-actions{gap:8px}.pill{font-size:10px;padding:7px 9px}.subtle{font-size:11px;padding:8px}.receiver-bar{padding:8px 14px;font-size:10px;min-height:34px}.receiver-bar>span:first-child{max-width:57%}.bar-separator{padding:0 3px}main{display:flex;flex-direction:column}.map-wrap{order:0;flex:1;min-height:32vh}.sidebar{order:1;max-height:43svh;min-height:120px;border-right:0;border-top:1px solid var(--line);padding:15px 18px 8px}.sidebar-heading{margin-bottom:11px}.sidebar h1{font-size:17px}.aircraft-list{max-height:105px;gap:5px;margin-bottom:13px}.empty-details{padding:8px 0}.empty-details .empty-icon{display:none}.empty-details h2{font-size:15px;margin:0 0 7px}.empty-details p{font-size:12px;margin:0 0 8px;line-height:1.5}.empty-details p.small{font-size:10px}.sidebar-note{font-size:9px;margin-top:12px;padding:9px 0}.identity{margin-bottom:12px}.identity h2{font-size:15px}.height-card{padding:12px 15px;margin-bottom:12px}.height-card strong{font-size:43px}.metrics{grid-template-columns:repeat(4,1fr);gap:6px;margin:17px 0}.metrics strong{font-size:12px}.metrics span{font-size:9px}.location-card{padding:12px 0}.map-tools{top:11px;right:10px;gap:5px}.map-tools button{padding:9px;font-size:10px}.map-legend{left:10px;bottom:25px;padding:8px 9px;gap:9px;font-size:9px}.map-legend .legend-stale{display:none}.map-empty{padding:15px;width:calc(100% - 70px)}.map-empty strong{font-size:13px}.map-empty span{font-size:11px}.tiles-warning{font-size:10px;bottom:65px;left:10px;right:10px}.leaflet-control-zoom{margin:11px!important}.leaflet-control-attribution{font-size:8px!important}.marker-body{width:34px;height:34px}footer{font-size:8px;height:23px;min-height:23px;padding:6px 10px}footer>span{display:none}}@media(prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;animation:none!important;transition:none!important}}

.usb-help{padding:12px 24px;background:#fff1d2;color:#754c05;font-size:13px;line-height:1.5;border-bottom:1px solid #e6d5ad}.brand strong{font-size:16px;letter-spacing:1px}@media(max-width:760px){.brand strong{font-size:12px}.top-actions{gap:6px}.usb-help{padding:10px 14px;font-size:12px}}
