:root{--overlay-scale: 1;--blue: #009fe3;--blue-light: #4ac7ff;--dark: #252e35;--green: #4caf50;--white: #ffffff;--center-x: 952px;--center-half: 138px;--airport-width: 205px;--airport-overlap: 60px;--airport-border: 5px}*{box-sizing:border-box}html,body{width:100%;height:100%;margin:0}body{overflow:hidden;background:transparent;color:#fff;font-family:Roboto Condensed,Arial Narrow,Arial,sans-serif}.viewport{position:relative;width:100%;height:100%;overflow:hidden}.overlay{position:absolute;top:0;left:50%;width:1920px;height:160px;isolation:isolate;transform:translate(-50%) scale(var(--overlay-scale));transform-origin:top center}.top-rail{position:absolute;inset:0 0 auto;height:38px;background:repeating-linear-gradient(180deg,#ffffff0a 0px 1px,#0000000a 1px 2px),linear-gradient(180deg,#4a5761,#35414a 10%,#2f3a42 24%,#252e35 42%,#232b31,#252e35 68%,#35414a,#1b2329);box-shadow:inset 0 1px #ffffff26,inset 0 -1px #00000040,inset 0 2px 3px #00000026}.cyan-line{position:absolute;top:38px;left:0;z-index:1;width:100%;height:4px;overflow:hidden;background:#009fe3}.cyan-line:before,.cyan-line:after{content:"";position:absolute;top:0;width:120px;height:100%;opacity:0;pointer-events:none;background:linear-gradient(90deg,transparent 0%,rgba(74,199,255,.08) 18%,rgba(170,228,255,.28) 38%,rgba(230,248,255,.55) 50%,rgba(170,228,255,.28) 62%,rgba(74,199,255,.08) 82%,transparent 100%);filter:blur(.25px)}.cyan-line:before{left:-120px;animation:cyan-glow-left 9s ease-in-out infinite}.cyan-line:after{right:-120px;animation:cyan-glow-right 9s ease-in-out infinite}.lower-rail{position:absolute;top:42px;left:0;width:100%;height:5px;background:linear-gradient(180deg,#35414a,#2d3840 22%,#252e35 58%,#1b2329)}.info-group{position:absolute;top:0;z-index:2;display:flex;align-items:stretch;width:290px;height:37px}.info-group--callsign{left:0}.info-group--network{left:290px}.info-group--phase{right:290px}.info-group--aircraft{right:0}.info-group--callsign .info-data,.info-group--network .info-data{justify-content:flex-start;text-align:left}.info-tag{position:relative;z-index:2;display:flex;align-items:center;gap:10px;width:180px;height:37px;flex:0 0 180px;padding:0 15px;color:#fff;background:linear-gradient(180deg,#49bdf1,#14abe9 24%,#009fe3 55%,#0089c7);box-shadow:inset 0 1px #ffffff40,inset 0 -2px #0000001a}.info-tag--callsign,.info-tag--network{clip-path:polygon(0 0,164px 0,100% 100%,0 100%)}.info-tag--phase,.info-tag--aircraft{clip-path:polygon(16px 0,100% 0,100% 100%,0 100%)}.info-data{position:relative;z-index:1;display:flex;align-items:center;width:110px;height:37px;flex:0 0 110px;padding:0 10px;overflow:hidden}.info-data--right{justify-content:flex-end;text-align:right}.info-label{font-size:19px;font-weight:500;line-height:1;white-space:nowrap}.info-value{max-width:100%;overflow:hidden;color:#fff;font-size:18px;font-weight:600;line-height:1;white-space:nowrap;text-overflow:ellipsis}.item-icon{display:block;width:24px;height:24px;flex:0 0 24px;color:#fff;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.item-icon--callsign{width:26px;height:24px;flex-basis:26px;overflow:visible}.item-icon--network{width:25px;height:25px;flex-basis:25px;overflow:visible}.item-icon--phase{width:27px;height:27px;flex-basis:27px;overflow:visible}.item-icon--aircraft{width:23px;height:23px;flex-basis:23px;overflow:hidden}.headset-icon,.wifi-wave,.phase-dial,.phase-horizon-line,.phase-horizon-mark,.phase-aircraft-reference{fill:none;stroke:currentColor}.wifi-wave{opacity:.18}.wifi-dot,.phase-center-dot,.aircraft-animation-shape{fill:currentColor;stroke:none}.phase-dial{stroke:#ffffffb8;stroke-width:1.25}.phase-horizon-group,.phase-center-dot,.aircraft-animation-shape{transform-box:fill-box;transform-origin:center}.phase-horizon-group{will-change:transform}.phase-horizon-line{stroke-width:1.5}.phase-horizon-mark{stroke:#ffffff8c;stroke-width:1}.phase-aircraft-reference{stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.social-strip{position:absolute;top:44px;z-index:2;display:flex;align-items:flex-start;width:473px;height:42px;background:repeating-linear-gradient(180deg,#ffffff0a 0px 1px,#0000000a 1px 2px),linear-gradient(180deg,#4a5761,#35414a 10%,#2f3a42 24%,#252e35 42%,#232b31,#252e35 68%,#35414a,#1b2329);box-shadow:inset 0 1px #ffffff26,inset 0 -1px #00000040,inset 0 2px 3px #00000026}.social-strip--left{left:0;justify-content:flex-start;clip-path:polygon(0 0,100% 0,calc(100% - 20px) 100%,0 100%)}.social-strip--right{right:0;justify-content:flex-end;clip-path:polygon(0 0,100% 0,100% 100%,20px 100%)}.social-strip--right .social-data{order:1}.social-strip--right .social-value{--social-glow: rgb(76 175 80 / 90%)}.social-strip--left .social-value{--social-glow: rgb(74 199 255 / 90%)}.social-tag{position:relative;z-index:2;display:flex;align-items:center;gap:10px;width:182px;height:40px;flex:0 0 182px;padding:0 15px;color:#fff}.social-tag--follower{background:#009fe3;clip-path:polygon(0 0,100% 0,calc(100% - 18px) 100%,0 100%)}.social-tag--subscriber{order:2;justify-content:flex-end;background:#4caf50;clip-path:polygon(0 0,100% 0,100% 100%,18px 100%)}.social-label{font-size:19px;font-weight:500;line-height:1;white-space:nowrap}.social-data{position:relative;z-index:1;display:flex;align-items:center;width:228px;height:40px;flex:0 0 228px;padding:0 8px;overflow:hidden}.social-data--left{justify-content:flex-start;text-align:left}.social-data--right{justify-content:flex-end;text-align:right}.social-value{--social-glow: rgb(255 255 255 / 35%);position:relative;max-width:100%;overflow:hidden;color:#fff;font-size:19px;font-weight:600;line-height:1;white-space:nowrap;text-overflow:ellipsis;transform-origin:center;will-change:transform,opacity,filter}.social-value.is-social-update{animation:social-value-reveal .95s cubic-bezier(.22,1,.36,1) both}.social-icon{width:23px;height:23px;flex:0 0 23px;overflow:visible;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.follower-ring,.subscriber-ring{fill:none;stroke:currentColor;transform-box:fill-box;transform-origin:center}.follower-plus{transform-box:fill-box;transform-origin:center}.subscriber-check{fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:14;stroke-dashoffset:0}.airport{position:absolute;top:-4px;z-index:3;display:flex;align-items:center;width:205px;height:50px;background:linear-gradient(180deg,#35414a,#2d3840 22%,#252e35 58%,#1b2329);box-shadow:inset 0 1px #ffffff14,inset 0 -1px #0003}.airport-face{position:absolute;z-index:-1;inset:5px;background:linear-gradient(180deg,#dedede,#fff 42%,#e2e5e7)}.airport-content{position:relative;z-index:2;display:flex;align-items:center;width:100%;height:100%}.airport-text{display:flex;flex-direction:column;justify-content:center;gap:0;line-height:1;white-space:nowrap}.airport-label{color:#009fe3;font-size:20px;font-weight:500;line-height:1}.airport-code{margin-top:-2px;color:#252e35;font-size:20px;font-weight:600;line-height:1;letter-spacing:.3px}.airport-flag{border:1px solid #333;display:block;width:30px;height:20px;flex:0 0 30px;overflow:hidden;border-radius:2px;object-fit:cover;box-shadow:0 0 0 1px #0000001a}.airport--departure{left:669px;clip-path:polygon(0 0,100% 0,100% 100%,16px 100%)}.airport--departure .airport-face{clip-path:polygon(0 0,100% 0,100% 100%,13px 100%)}.airport--departure .airport-content{justify-content:flex-start;gap:14px;padding:0 74px 0 24px}.airport--departure .airport-text{align-items:flex-start;text-align:left}.airport--arrival{left:1030px;clip-path:polygon(0 0,100% 0,calc(100% - 16px) 100%,0 100%)}.airport--arrival .airport-face{clip-path:polygon(0 0,100% 0,calc(100% - 13px) 100%,0 100%)}.airport--arrival .airport-content{justify-content:flex-end;gap:14px;padding:0 24px 0 74px}.airport--arrival .airport-text{align-items:flex-end;text-align:right}.center-module{position:absolute;top:0;left:952px;z-index:4;width:276px;height:110px;transform:translate(-50%)}.center-face{position:absolute;inset:0;width:100%;height:100%;overflow:hidden;filter:drop-shadow(0 6px 7px rgba(0,0,0,.2))}.progress{position:absolute;top:0;left:0;z-index:4;width:276px;height:110px;overflow:visible;pointer-events:none}.progress-track{fill:none;stroke:#ffffff47;stroke-width:3;stroke-linecap:round}.progress-value{fill:none;stroke:#4ac7ff;stroke-width:3;stroke-linecap:round;stroke-dasharray:100;stroke-dashoffset:100;filter:drop-shadow(0 0 3px rgba(74,199,255,.65));transition:stroke-dashoffset .65s cubic-bezier(.22,1,.36,1)}.progress-endpoint{fill:#009fe3;stroke:#009fe3;stroke-width:1.5;filter:drop-shadow(0 0 4px rgba(0,159,227,.75))}.progress-percent{position:absolute;top:0;left:50%;z-index:5;display:flex;align-items:baseline;justify-content:center;min-width:60px;transform:translate(-50%);color:#fff;text-align:center}.progress-percent strong{font-size:22px;font-weight:700;line-height:1}.progress-percent span{margin-left:2px;color:#ffffffa6;font-size:20px;font-weight:600;line-height:1}.center-logo{position:absolute;top:30px;left:50%;z-index:3;width:56px;height:61px;object-fit:contain;transform:translate(-50%)}@keyframes cyan-glow-left{0%,12%{left:-120px;opacity:0}18%{opacity:.75}68%{left:calc(var(--center-x) - var(--center-half) - 100px);opacity:.75}78%,to{left:calc(var(--center-x) - var(--center-half) - 40px);opacity:0}}@keyframes cyan-glow-right{0%,12%{right:-120px;opacity:0}18%{opacity:.75}68%{right:calc(1920px - var(--center-x) - var(--center-half) - 100px);opacity:.75}78%,to{right:calc(1920px - var(--center-x) - var(--center-half) - 40px);opacity:0}}.headset-spark{opacity:0;stroke-width:1.8;transform-box:fill-box;transform-origin:center}.headset-spark--left{animation:headset-spark-left 4.8s linear infinite}.headset-spark--right{animation:headset-spark-right 4.8s linear infinite}.headset-spark--top{animation:headset-spark-top 4.8s linear infinite}@keyframes headset-spark-left{0%,11%,18%,to{opacity:0;transform:scale(.6)}12%,15%{opacity:1;transform:scale(1)}}@keyframes headset-spark-right{0%,17%,24%,to{opacity:0;transform:scale(.6)}18%,21%{opacity:1;transform:scale(1)}}@keyframes headset-spark-top{0%,23%,30%,to{opacity:0;transform:scale(.6)}24%,27%{opacity:1;transform:scale(1)}}.wifi-wave--1{animation:wifi-wave-1 3.8s linear infinite}.wifi-wave--2{animation:wifi-wave-2 3.8s linear infinite}.wifi-wave--3{animation:wifi-wave-3 3.8s linear infinite}@keyframes wifi-wave-1{0%,8%,68%,to{opacity:.18}12%,58%{opacity:1}}@keyframes wifi-wave-2{0%,17%,68%,to{opacity:.18}22%,58%{opacity:1}}@keyframes wifi-wave-3{0%,27%,68%,to{opacity:.18}32%,58%{opacity:1}}.phase-dial{transform-box:fill-box;transform-origin:center;animation:phase-dial-pulse 4.6s ease-in-out infinite}.phase-center-dot{animation:phase-center-pulse 2.6s ease-in-out infinite}@keyframes phase-dial-pulse{0%,to{opacity:.65}50%{opacity:1}}@keyframes phase-center-pulse{0%,to{opacity:.65;transform:scale(.85)}50%{opacity:1;transform:scale(1.15)}}.info-group--phase[data-flight-phase=PREFLIGHT] .phase-horizon-group{animation:horizon-preflight 4s ease-in-out infinite}.info-group--phase[data-flight-phase=TAXI] .phase-horizon-group{animation:horizon-taxi 2.8s ease-in-out infinite}.info-group--phase[data-flight-phase=TAKEOFF] .phase-horizon-group{animation:horizon-takeoff 3.2s ease-in-out infinite}.info-group--phase[data-flight-phase=CLIMB] .phase-horizon-group{animation:horizon-climb 4s ease-in-out infinite}.info-group--phase[data-flight-phase=CRUISE] .phase-horizon-group{animation:horizon-cruise 5s ease-in-out infinite}.info-group--phase[data-flight-phase=DESCENT] .phase-horizon-group{animation:horizon-descent 4s ease-in-out infinite}.info-group--phase[data-flight-phase=APPROACH] .phase-horizon-group{animation:horizon-approach 3.6s ease-in-out infinite}.info-group--phase[data-flight-phase=LANDING] .phase-horizon-group{animation:horizon-landing 3s ease-in-out infinite}@keyframes horizon-preflight{0%,to{transform:translateY(0)}50%{transform:translateY(.5px)}}@keyframes horizon-taxi{0%,to{transform:translate(-1px) rotate(-1deg)}50%{transform:translate(1px,.5px) rotate(1deg)}}@keyframes horizon-takeoff{0%,to{transform:translateY(1px) rotate(-2deg)}50%{transform:translateY(5px) rotate(-6deg)}}@keyframes horizon-climb{0%,to{transform:translateY(3px) rotate(-3deg)}50%{transform:translateY(5px) rotate(-5deg)}}@keyframes horizon-cruise{0%,to{transform:translateY(-.4px) rotate(-.5deg)}50%{transform:translateY(.4px) rotate(.5deg)}}@keyframes horizon-descent{0%,to{transform:translateY(-3px) rotate(3deg)}50%{transform:translateY(-5px) rotate(5deg)}}@keyframes horizon-approach{0%,to{transform:translateY(-2px) rotate(2deg)}50%{transform:translateY(-4px) rotate(4deg)}}@keyframes horizon-landing{0%,to{transform:translateY(-4px) rotate(5deg)}45%{transform:translateY(-2px) rotate(2deg)}70%{transform:translateY(1px)}}.aircraft-animation-shape{animation:aircraft-rise 14s ease-in-out infinite}@keyframes aircraft-rise{0%,5%{opacity:0;transform:translateY(8px) scale(.94)}10%{opacity:1;transform:translateY(0) scale(1)}10%,62%{opacity:1;transform:translateY(0) scale(1)}68%{opacity:0;transform:translateY(-7px) scale(.96)}69%,to{opacity:0;transform:translateY(8px) scale(.94)}}.follower-ring{animation:follower-ring-pulse 4.8s ease-out infinite}.follower-plus{animation:follower-plus-animation 4.8s ease-in-out infinite}.subscriber-ring{animation:subscriber-ring-pulse 5.2s ease-out infinite}.subscriber-check{animation:subscriber-check-draw 5.2s ease-in-out infinite}@keyframes follower-ring-pulse{0%,8%,22%,to{opacity:1;transform:scale(1)}15%{opacity:.45;transform:scale(1.18)}}@keyframes follower-plus-animation{0%,6%{opacity:0;transform:scale(.4) rotate(-90deg)}13%{opacity:1;transform:scale(1.15) rotate(8deg)}19%,82%{opacity:1;transform:scale(1)}90%,to{opacity:0;transform:scale(.6) rotate(45deg)}}@keyframes subscriber-ring-pulse{0%,10%,24%,to{opacity:1;transform:scale(1)}17%{opacity:.5;transform:scale(1.16)}}@keyframes subscriber-check-draw{0%,8%{opacity:0;stroke-dashoffset:14}20%,82%{opacity:1;stroke-dashoffset:0}90%,to{opacity:0;stroke-dashoffset:14}}@keyframes social-value-reveal{0%{opacity:0;transform:translateY(8px) scale(.97);filter:blur(3px);letter-spacing:.04em;text-shadow:0 0 0 transparent}35%{opacity:1;transform:translateY(-1px) scale(1.025);filter:blur(0);letter-spacing:.015em;text-shadow:0 0 8px var(--social-glow)}65%{transform:translateY(0) scale(1);letter-spacing:0;text-shadow:0 0 4px var(--social-glow)}to{opacity:1;transform:translateY(0) scale(1);filter:blur(0);letter-spacing:0;text-shadow:0 0 0 transparent}}
