/* ckknirsch.sk — Flights / night atlas. Presentation only; map behavior stays intact. */
:root{color-scheme:dark;--fl-bg:#05090f;--fl-panel:#0a111c;--fl-line:#223249;--fl-text:#e3edf8;--fl-muted:#8a9eb6;--fl-cyan:#86ddf5;--fl-gold:#e5bd86;font-family:Inter,"Segoe UI",system-ui,-apple-system,sans-serif}
body.fl-body{background:var(--fl-bg);color:var(--fl-text);font-size:14px;-webkit-font-smoothing:antialiased}
.fl-app{min-height:100svh}.fl-topbar{height:76px;background:linear-gradient(110deg,#0d1724,#070d16 65%);border-bottom:1px solid #2c405b;padding:0 28px;gap:24px}
.fl-topbar:after{content:"";height:1px;position:absolute;bottom:-1px;left:28px;width:160px;background:linear-gradient(90deg,#88d9f4,transparent)}
.fl-brand{color:#eff7ff;font-size:18px;font-weight:650;letter-spacing:.19em;gap:13px}.fl-brand-icon{width:39px;height:39px;border:1px solid #395974;border-radius:6px;background:linear-gradient(145deg,#203f53,#0a1826);color:#9ee4fa;box-shadow:inset 0 0 16px #73c6ec12}.fl-brand-icon svg{width:23px;height:23px}.fl-brand-copy{display:flex;flex-direction:column;gap:4px}.fl-brand-copy small{color:#758da8;font:8px/1.2 Consolas,"SFMono-Regular",monospace;letter-spacing:.19em}.fl-topbar-note{margin:0 auto 0 18px;color:#6f839e;font-size:11px;letter-spacing:.025em}.fl-topnav{display:flex;align-items:center;gap:22px}.fl-home-link{font-size:11px;color:#92a9c1;text-decoration:none}.fl-home-link:hover{color:#d4efff}.fl-admin-link{font-size:11px;font-weight:500;border:1px solid #2c4057;padding:10px 13px;border-radius:4px;background:#0b1623;color:#afc6db}.fl-admin-link:hover{color:#d7f5ff;border-color:#638ba9;background:#122438}
.fl-content{min-height:calc(100svh - 76px);grid-template-columns:370px minmax(0,1fr)}.fl-panel{max-height:calc(100svh - 76px);border-right:1px solid #2b4059;background:radial-gradient(ellipse at 0 0,#14283c80,transparent 58%),#0a111c;box-shadow:12px 0 50px #0003;position:relative;z-index:2}
.fl-sidebar-heading{padding:28px 26px 20px}.fl-kicker{display:flex;align-items:center;gap:9px;font:9px/1.4 Consolas,"SFMono-Regular",monospace;letter-spacing:.16em;color:#83aac7;margin:0 0 17px}.fl-kicker:before{content:"";width:5px;height:5px;background:#83ddf5;box-shadow:0 0 12px #83ddf55c}.fl-sidebar-heading h1{font-size:35px;font-weight:500;letter-spacing:-.055em;color:#e6f0fa;margin:0 0 10px}.fl-accent{color:var(--fl-cyan)}.fl-intro{font-size:11px;color:#8b9eb6;line-height:1.7;margin:0;max-width:260px}
.fl-code-form{padding:0 26px 23px}.fl-code-form label,.fl-airline-filter label{color:#9cb1c8;font-size:9px;letter-spacing:.09em;text-transform:uppercase;font-weight:600;margin-bottom:9px}.fl-code-row{gap:8px}.fl-code-row input{background:#070e18;border:1px solid #30465e;border-radius:4px;color:#e9f7ff;padding:12px;font-family:Consolas,"SFMono-Regular",monospace;font-size:12px;min-height:45px;box-shadow:inset 0 2px 10px #0002}.fl-code-row input::placeholder{color:#6c829e;font-size:11px}.fl-code-row input:focus-visible{outline:1px solid #8cdbf8;outline-offset:2px;border-color:#76b8d7}.fl-code-row button{border:1px solid #8ccce2;border-radius:4px;background:linear-gradient(125deg,#b3ecfc,#73b9de);color:#081521;font-size:11px;font-weight:750;padding:10px 15px}.fl-code-row button:hover{background:#c7f1ff}.fl-code-form small{color:#71859d;font-size:10px;margin-top:9px}#fl-code-error{color:#ffc19b;font-size:11px}.fl-alert{margin:0 26px 18px;background:#2c2418;color:#f4ce9b;border:1px solid #6b502c;border-radius:4px}
.fl-airport-head{padding:18px 26px;min-height:87px;border-color:#243348;background:#0d172380}.fl-airport-head strong{color:#b8cce0;font-size:12px;font-weight:500}.fl-airport-head small{color:#8ba1b8;font-size:11px;line-height:1.6}.fl-airport-head.has-selection{background:linear-gradient(100deg,#282216,#171b21);box-shadow:inset 2px 0 #dab477}.fl-selected-label{color:#dcba83;font:8px/1.4 Consolas,monospace;letter-spacing:.12em;margin-bottom:7px}.fl-airport-head.has-selection strong{color:#f4d7a7;font-size:14px;font-weight:600}
.fl-panel-title{padding:19px 26px 13px;border-top:0;gap:10px}.fl-panel-title h2{font-size:10px;letter-spacing:.14em;text-transform:uppercase;font-weight:550;color:#a9bfd4}.fl-panel-title>span{border:1px solid #2d4b62;background:#112539;color:#9cd8ee;border-radius:3px;padding:4px 8px;font:10px/1.2 Consolas,monospace;font-variant-numeric:tabular-nums}.fl-selection-status{margin:1px 26px 14px;font-size:11px;color:#8da9c0}.fl-empty{padding:10px 26px;color:#8198b2;font-size:11px;line-height:1.8}.fl-route-list{scrollbar-width:thin;scrollbar-color:#304b64 #0a111c;padding-bottom:8px}.fl-route-entry{border-color:#1c2b3e;background:transparent}.fl-route-item{padding:15px 26px;background:transparent;border-color:#1c2b3e;gap:10px}.fl-route-text strong{font-size:12px;font-weight:500;color:#c5d8ea;line-height:1.55}.fl-route-text small{font-size:10px;color:#7d96b1}.fl-route-arrow{color:#6086a7;font-size:16px}.fl-route-item:hover,.fl-route-item:focus-visible,.fl-route-entry:hover,.fl-route-entry:focus-within{background:#122238;outline-color:#86ddf5}.fl-route-entry.is-active,.fl-route-entry.is-active:hover,.fl-route-entry.is-active:focus-within,.fl-route-item.is-active{background:#242034;box-shadow:inset 2px 0 #d7a2c9}.fl-route-entry.is-active .fl-route-text strong,.fl-route-item.is-active .fl-route-text strong{color:#f3c8e5}.fl-route-carriers{padding:0 26px 14px;color:#839db6;font-size:10px;line-height:1.7}.fl-carrier-link{color:#94c7df;text-decoration-color:#4a6d87;text-underline-offset:3px}.fl-carrier-link:hover,.fl-carrier-link:focus-visible{color:#f3c8e5}.fl-country-flag-img{border-color:#3e5267}.fl-country-flag{opacity:.9}
.fl-airline-filter{padding:5px 26px 16px;border-color:#23364c}.fl-airline-filter select,.fl-search select{background:#0b1725;color:#c4d9ec;border:1px solid #324a63;border-radius:4px;min-height:41px;font-size:11px;padding:10px}.fl-airline-filter select:focus-visible{outline-color:#86ddf5}.fl-panel-footer{padding:14px 26px;border-top:1px solid #24354a;display:flex;align-items:center;justify-content:space-between;gap:8px;color:#6f8ca6;font:8px/1.5 Consolas,monospace;letter-spacing:.08em;background:#09121e}.fl-panel-footer span:first-child{color:#9db7cc}
.fl-map-wrap{background:#0c1724;isolation:isolate}.fl-map{background:#0a1725}.fl-map-wrap:after{content:"";position:absolute;inset:0;box-shadow:inset 0 0 75px #030a1240;pointer-events:none;z-index:1}
/* Recolor only the painted basemap canvas. Hit testing, popups and HTML controls stay unchanged. */
.fl-map .maplibregl-canvas{filter:invert(1) hue-rotate(180deg) saturate(.45) brightness(.95)}
.fl-map .leaflet-tile-pane{filter:invert(1) hue-rotate(180deg) saturate(.45) brightness(.95)}
.fl-map .leaflet-container{background:#0a1725}.fl-map-label{position:absolute;top:24px;left:25px;z-index:2;pointer-events:none;display:flex;align-items:center;gap:9px;color:#aec5d9;font:9px/1.5 Consolas,monospace;letter-spacing:.15em;text-shadow:0 1px 8px #000}.fl-map-label:before{content:"";height:5px;width:5px;border:1px solid #a1c9de;transform:rotate(45deg)}
.fl-map-top{top:20px;right:20px;z-index:2}.fl-map-buttons{gap:6px}.fl-map-buttons button{background:#0a1523ed;color:#bbd3e9;border:1px solid #354d65;border-radius:4px;box-shadow:0 4px 18px #0003;padding:10px 13px;font-size:10px;font-weight:500;backdrop-filter:blur(10px)}.fl-map-buttons button:hover{background:#192e43;color:#e2f7ff;border-color:#739eb8}.fl-map-status{background:#0c1b2bef;color:#b6cfe2;border:1px solid #3c5d76;border-radius:5px;box-shadow:0 12px 45px #0006;font-size:12px;line-height:1.7;backdrop-filter:blur(12px)}.fl-zoom-controls{border:1px solid #354d65;border-radius:4px;background:#0a1523;box-shadow:0 4px 18px #0004}.fl-zoom-controls button{background:#0a1523;color:#bcddf1;font-weight:400}.fl-zoom-controls button+button{border-color:#2b4059}.fl-zoom-controls button:hover,.fl-zoom-controls button:focus-visible{background:#1b344b}.fl-attribution{background:#07121ee8;color:#94a9bc;border-radius:3px 0 0 0;font-size:9px;padding:5px 8px;max-width:100%;line-height:1.5}
.fl-map-wrap .maplibregl-popup-content,.fl-map-wrap .leaflet-popup-content-wrapper{background:#0e1c2c;color:#d4e6f6;border:1px solid #47637d;border-radius:5px;box-shadow:0 12px 35px #0007;padding:16px}.fl-map-wrap .maplibregl-popup-anchor-bottom .maplibregl-popup-tip{border-top-color:#47637d}.fl-map-wrap .maplibregl-popup-anchor-top .maplibregl-popup-tip{border-bottom-color:#47637d}.fl-map-wrap .maplibregl-popup-anchor-left .maplibregl-popup-tip{border-right-color:#47637d}.fl-map-wrap .maplibregl-popup-anchor-right .maplibregl-popup-tip{border-left-color:#47637d}.fl-popup{color:#d3e5f4;gap:8px}.fl-popup strong{font-size:12px;font-weight:600}.fl-popup span,.fl-popup small{font-size:11px;color:#9bb2c8}.maplibregl-popup-close-button{color:#a8c7df;font-size:20px;padding:2px 7px}.fl-map-wrap .leaflet-popup-tip{background:#0e1c2c}.fl-aircraft-shape{color:#f2b9d9;text-shadow:1px 1px #08111e,-1px -1px #08111e,1px -1px #08111e,-1px 1px #08111e}
button,a,input,select{transition:background-color .16s,border-color .16s,color .16s}button:focus-visible,a:focus-visible{outline:2px solid #93ddf5;outline-offset:3px}
@media(min-width:1500px){.fl-content{grid-template-columns:400px minmax(0,1fr)}.fl-sidebar-heading,.fl-code-form,.fl-airport-head,.fl-panel-title,.fl-airline-filter,.fl-panel-footer{padding-left:32px;padding-right:32px}.fl-route-item,.fl-route-carriers,.fl-empty{padding-left:32px;padding-right:32px}}
@media(max-width:1050px){.fl-content{grid-template-columns:330px minmax(0,1fr)}.fl-topbar-note{display:none}.fl-map-label{top:auto;bottom:34px;left:18px;font-size:8px}.fl-sidebar-heading,.fl-code-form,.fl-airport-head,.fl-panel-title,.fl-airline-filter,.fl-panel-footer{padding-left:22px;padding-right:22px}.fl-route-item,.fl-route-carriers,.fl-empty{padding-left:22px;padding-right:22px}}
@media(max-width:700px){.fl-topbar{height:67px;padding:0 18px;gap:12px}.fl-brand{font-size:15px;gap:9px}.fl-brand-icon{height:33px;width:33px}.fl-brand-copy small{font-size:6px;letter-spacing:.12em}.fl-topnav{gap:12px}.fl-home-link{font-size:10px}.fl-admin-link{padding:8px;font-size:10px}.fl-content{display:flex;min-height:0}.fl-panel{max-height:none;border-right:0;border-bottom:1px solid #354d65}.fl-sidebar-heading{padding-top:24px;padding-bottom:16px}.fl-sidebar-heading h1{font-size:32px}.fl-kicker{margin-bottom:12px;font-size:8px}.fl-intro{max-width:none}.fl-code-form{padding-bottom:20px}.fl-airport-head{min-height:73px;padding-top:14px;padding-bottom:14px}.fl-route-list{max-height:245px}.fl-panel-footer{padding-top:11px;padding-bottom:11px}.fl-map-wrap{height:65svh;min-height:440px}.fl-map-buttons button{padding:10px 12px;font-size:14px}.fl-map-label{bottom:40px;left:15px;font-size:8px}.fl-attribution{font-size:8px}.fl-map-top{top:14px;right:14px}}
@media(max-width:380px){.fl-home-link{display:none}.fl-topbar{padding:0 14px}.fl-brand-copy small{font-size:5.5px}}
@media(prefers-reduced-motion:reduce){button,a,input,select{transition:none}}

/* Keep more routes visible after an airport has been chosen. */
.fl-panel:has(.fl-airport-head.has-selection) .fl-sidebar-heading{padding-top:18px;padding-bottom:14px}.fl-panel:has(.fl-airport-head.has-selection) .fl-kicker{font-size:8px;margin-bottom:8px}.fl-panel:has(.fl-airport-head.has-selection) .fl-sidebar-heading h1{font-size:29px;margin-bottom:0}.fl-panel:has(.fl-airport-head.has-selection) .fl-intro{display:none}.fl-panel:has(.fl-airport-head.has-selection) .fl-code-form{padding-bottom:17px}
/* Mission route detail: distinct light route, aircraft and selected-airport focus. */
.fl-airport-head.has-selection{background:radial-gradient(ellipse at 0 50%,#c1934530,transparent 78%),linear-gradient(100deg,#282318,#121b27);box-shadow:inset 3px 0 #f2cc8c,inset 0 0 24px #dbad6212,0 0 22px #edbd7310;border-top-color:#82633b70;border-bottom-color:#82633b70}.fl-airport-head.has-selection strong{color:#ffe6b9;text-shadow:0 0 18px #edba6845}.fl-selected-label{color:#ebc484;letter-spacing:.15em}
.fl-map-wrap .maplibregl-popup-content,.fl-map-wrap .leaflet-popup-content-wrapper{background:radial-gradient(ellipse at 10% 0,#23476085,transparent 70%),#0b1828;border:1px solid #698faa;border-radius:8px;padding:21px 22px 17px;box-shadow:0 20px 65px #000a,0 0 28px #72cfff18,inset 0 1px #c6edff30;min-width:275px}.fl-map-wrap .maplibregl-popup-content:before{content:"";position:absolute;left:22px;top:0;width:72px;height:2px;background:#a1e1ff;box-shadow:0 0 16px #7cdaff80}.fl-mission-popup{gap:14px;max-width:290px}.fl-popup .fl-popup-kicker{font:8px/1.4 Consolas,monospace;color:#9cd6ee;letter-spacing:.19em;padding-right:12px}.fl-popup .fl-popup-route{color:#f1f9ff;font-size:16px;line-height:1.5;font-weight:550;letter-spacing:-.025em}.fl-popup-carriers{padding-top:13px;border-top:1px solid #39567080;font-size:12px;line-height:1.7;color:#c5dff0}.fl-popup .fl-popup-label{display:block;color:#86a3bd;font:8px/1.4 Consolas,monospace;letter-spacing:.12em;margin-bottom:6px}.fl-popup-time time{font:11px/1.5 Consolas,monospace;color:#d8e9f5}.fl-popup .fl-popup-note{font-size:9px;color:#7f9ab2;border-top:1px solid #2d466080;padding-top:11px}.fl-popup .fl-carrier-link{color:#ace3ff}.maplibregl-popup-close-button{font-size:22px;right:5px;top:4px;border-radius:4px;color:#afcde3}.maplibregl-popup-close-button:hover{color:#fff;background:#264563}.fl-aircraft-shape{color:#effaff;font-size:29px;text-shadow:0 0 8px #79d4ff,1px 1px #051321,-1px -1px #051321,1px -1px #051321,-1px 1px #051321}

/* Native geographic projection for focused polar arcs on the globe. */
.fl-polar-globe-overlay{position:absolute;inset:0;width:100%;height:100%;z-index:1;pointer-events:none;overflow:hidden}.fl-polar-route-casing{fill:none;stroke:#071321;stroke-width:4.5;stroke-linejoin:round;stroke-linecap:round;opacity:.9}.fl-polar-route-line{fill:none;stroke:#bce9fb;stroke-width:2.2;stroke-linejoin:round;stroke-linecap:round;opacity:.95}.fl-polar-aircraft{fill:#effaff;stroke:#06111d;stroke-width:2.2;stroke-linejoin:round}.fl-map-wrap .maplibregl-popup{z-index:2}

/* The network uses the same true polar arcs, without focused-route emphasis. */
.fl-polar-network-overlay .fl-polar-route-casing{display:none}.fl-polar-network-overlay .fl-polar-route-line{stroke:#9ec1d0;stroke-width:1.1;opacity:.28}.fl-polar-route-hit{fill:none;stroke:transparent;stroke-width:15;pointer-events:stroke;cursor:pointer}
