.header-bar{grid-area:header;display:flex;align-items:center;justify-content:space-between;padding:8px var(--cell-padding);height:40px}.header-bar__left{display:flex;align-items:center;gap:8px}.header-bar__logo{width:24px;height:24px;color:var(--accent)}.header-bar__title{font-size:14px;font-weight:700;text-transform:uppercase;letter-spacing:.15em;color:var(--accent)}.header-bar__right{display:flex;align-items:center}.header-bar__clock{font-size:14px;font-weight:400;color:var(--text-dim);letter-spacing:.08em}.header-bar__logo--playing circle{animation:radar-pulse 2s ease-in-out infinite}@keyframes radar-pulse{0%,to{opacity:1;filter:drop-shadow(0 0 0 transparent)}50%{opacity:.6;filter:drop-shadow(0 0 4px var(--accent))}}.status-word{grid-area:status;display:flex;align-items:center;justify-content:center;padding:var(--cell-padding);cursor:pointer;-webkit-user-select:none;user-select:none;min-height:120px}.status-word__text{font-size:48px;font-weight:700;text-transform:uppercase;letter-spacing:.3em;display:inline-block;overflow:hidden;white-space:nowrap;animation:typewriter .4s steps(12) forwards,subtle-glitch 8s ease-in-out 1s infinite}.status-word__cursor{font-size:48px;font-weight:700;animation:blink 1s step-end infinite}.status-word--paused .status-word__text,.status-word--paused .status-word__cursor{color:var(--text-dim)}.status-word--playing .status-word__text,.status-word--playing .status-word__cursor{color:var(--text-primary);text-shadow:0 0 20px var(--accent-glow)}.status-word--buffering .status-word__text,.status-word--buffering .status-word__cursor{color:var(--warning)}.status-word--buffering .status-word__text:after{content:"";animation:dots 1.2s step-end infinite}.status-word--error .status-word__text,.status-word--error .status-word__cursor{color:var(--error)}@keyframes blink{0%,to{opacity:1}50%{opacity:0}}@keyframes dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}@keyframes typewriter{0%{max-width:0}to{max-width:20ch}}.status-word--error .status-word__text{animation:typewriter .4s steps(12) forwards,glitch .3s ease-in-out .4s infinite}@keyframes subtle-glitch{0%,to{transform:translate(0);opacity:1}92%{transform:translate(0);opacity:1}93%{transform:translate(-2px,1px);opacity:.8}94%{transform:translate(1px,-1px);opacity:.85}95%{transform:translate(-1px);opacity:.75}96%{transform:translate(0);opacity:1}}@keyframes glitch{0%,to{transform:translate(0);opacity:1}20%{transform:translate(-2px,1px);opacity:.8}40%{transform:translate(2px,-1px);opacity:.9}60%{transform:translate(-1px,-1px);opacity:.7}80%{transform:translate(1px,2px);opacity:.95}}@media(max-width:1023px){.status-word__text,.status-word__cursor{font-size:36px}}@media(max-width:767px){.status-word__text,.status-word__cursor{font-size:32px}.status-word{min-height:80px}}@media(max-width:479px){.status-word__text,.status-word__cursor{font-size:28px;letter-spacing:.2em}.status-word{min-height:64px}}.oscilloscope{grid-area:visualizer;position:relative;min-height:200px;overflow:hidden}.oscilloscope__canvas{display:block;width:100%;height:100%}.oscilloscope__labels{position:absolute;top:0;left:0;display:flex;flex-direction:column;height:100%;pointer-events:none}.oscilloscope__label{font-size:11px;font-weight:300;text-transform:uppercase;letter-spacing:.15em;color:var(--text-dim);padding:8px}.oscilloscope__label--atc,.oscilloscope__label--mus{flex:1}.oscilloscope__db{position:absolute;bottom:8px;right:12px;font-size:13px;font-weight:400;letter-spacing:.05em;color:var(--text-dim);pointer-events:none}@media(max-width:1023px){.oscilloscope{min-height:160px}}@media(max-width:767px){.oscilloscope{min-height:120px}}@media(max-width:479px){.oscilloscope{min-height:100px}}.data-list{display:flex;flex-direction:column;padding:var(--cell-padding);overflow:hidden}.data-list__header{padding-bottom:10px;margin-bottom:8px;border-bottom:1px dotted var(--grid-line);margin-left:calc(-1 * var(--cell-padding));margin-right:calc(-1 * var(--cell-padding));padding-left:var(--cell-padding);padding-right:var(--cell-padding)}.data-list__label{font-size:16px;font-weight:700;text-transform:uppercase;letter-spacing:.2em;color:var(--text-primary)}.data-list__search{display:flex;align-items:center;gap:6px;padding:4px 8px;margin-bottom:6px;border:1px solid var(--grid-line-dim)}.data-list__prompt{font-size:16px;color:var(--accent);flex-shrink:0}.data-list__search-input{flex:1;background:transparent;border:none;outline:none;color:var(--text-primary);font-family:var(--font-mono);font-size:15px;letter-spacing:.02em;padding:2px 0}.data-list__search-input::placeholder{color:var(--text-dim)}.data-list__scroll{flex:1;overflow-y:auto;max-height:300px}@media(max-width:767px){.data-list__scroll{max-height:40vh}}.data-list__row{display:flex;align-items:center;gap:8px;padding:6px 0;min-height:40px;cursor:pointer;color:var(--text-dim);transition:color .1s}@media(pointer:coarse){.data-list__row{min-height:44px}}.data-list__row:hover,.data-list__row--active{color:var(--text-primary)}.data-list__indicator{flex-shrink:0;width:14px;font-size:16px;color:var(--accent);opacity:0;transition:opacity .1s}.data-list__row--active .data-list__indicator{opacity:1}.data-list__empty{padding:12px 0;text-align:center;color:var(--text-muted);font-size:14px}.data-list__scroll::-webkit-scrollbar{width:4px}.data-list__scroll::-webkit-scrollbar-track{background:var(--bg)}.data-list__scroll::-webkit-scrollbar-thumb{background:var(--text-muted);border-radius:0}.data-list__volume{display:flex;align-items:center;gap:8px;padding:8px var(--cell-padding) 0;margin:8px calc(-1 * var(--cell-padding)) 0;border-top:1px solid var(--grid-line)}.data-list__vol-label{font-size:13px;font-weight:300;text-transform:uppercase;letter-spacing:.15em;color:var(--text-dim);flex-shrink:0}.data-list__vol-range{-webkit-appearance:none;-moz-appearance:none;appearance:none;flex:1;height:4px;background:var(--grid-line);border-radius:0;outline:none;cursor:pointer}.data-list__vol-range::-webkit-slider-thumb{-webkit-appearance:none;width:2px;height:16px;background:var(--accent);border-radius:0;cursor:pointer}.data-list__vol-range::-moz-range-thumb{width:2px;height:16px;background:var(--accent);border-radius:0;cursor:pointer;border:none}.data-list__vol-range::-webkit-slider-runnable-track{height:4px;background:linear-gradient(to right,var(--accent) 0%,var(--accent) var(--vol-pct, 100%),var(--grid-line) var(--vol-pct, 100%),var(--grid-line) 100%)}.data-list__vol-pct{font-size:13px;color:var(--text-dim);min-width:36px;text-align:right}@media(pointer:coarse){.data-list__vol-range{height:8px;padding:18px 0}}.airports-list{grid-area:airports}.airports-list__iata{font-size:18px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;min-width:48px}.airports-list__city{font-size:16px;flex:1}.airports-list__country{font-size:13px;color:var(--text-dim);letter-spacing:.1em;padding-right:8px}.music-list{grid-area:music}.music-list__info{display:flex;flex-direction:column;gap:2px}.music-list__name{font-size:16px}.music-list__desc{font-size:13px;color:var(--text-muted);font-weight:300}.status-bar{grid-area:statusbar;min-height:32px;padding:6px var(--cell-padding);font-size:11px;font-weight:400;text-transform:uppercase;letter-spacing:.08em;color:var(--text-dim);position:relative}.status-bar__items{display:flex;align-items:center;overflow-x:auto;white-space:nowrap}.status-bar__separator{margin:0 8px}.status-bar__version{cursor:pointer}.status-bar__version:hover,.status-bar__connection--ok{color:var(--text-primary)}.status-bar__connection--warn{color:var(--warning)}.status-bar__connection--off{color:var(--text-muted)}.status-bar__about{position:absolute;bottom:100%;left:0;right:0;background:var(--bg);border-top:1px solid var(--grid-line);padding:var(--cell-padding);z-index:100}.status-bar__about p{margin:0 0 4px;font-size:11px;color:var(--text-dim);text-transform:none}.slide-up-enter-active,.slide-up-leave-active{transition:transform .2s ease,opacity .2s ease}.slide-up-enter-from,.slide-up-leave-to{transform:translateY(8px);opacity:0}:root{--bg: #000000;--surface: #0A0A0A;--grid-line: #254A2C;--grid-line-dim: #142018;--text-primary: #00FF41;--text-dim: #00CC38DD;--text-muted: #3A7A45;--accent: #00FF41;--accent-glow: #00FF4133;--error: #FF3333;--warning: #FFB000;--white: #CCCCCC;--font-mono: "JetBrains Mono", "Fira Code", "SF Mono", "Cascadia Code", monospace;--cell-padding: 12px}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html,body{height:100%;background:var(--bg)}#app{font-family:var(--font-mono);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;color:var(--text-primary);font-size:16px;letter-spacing:.02em;height:100%}a{color:var(--white);text-decoration:none}a:hover,a:active{color:var(--text-primary)}.layout{height:100vh;overflow:hidden;position:relative;display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto 1fr auto auto;grid-template-areas:"header    header" "status    visualizer" "airports  music" "statusbar statusbar";gap:0}.layout>*{outline:1px dotted var(--grid-line)}.layout:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:9999;background:repeating-linear-gradient(0deg,transparent,transparent 3px,rgba(0,0,0,.35) 3px,rgba(0,0,0,.35) 6px)}.status-word,.oscilloscope,.airports-list,.music-list{box-shadow:inset 0 0 80px 20px #00ff412e}.status-word{animation:crt-flicker-a 7s ease-in-out infinite}.oscilloscope{animation:crt-flicker-b 5s ease-in-out infinite}.airports-list{animation:crt-flicker-c 11s ease-in-out infinite}.music-list{animation:crt-flicker-d 8s ease-in-out infinite}@keyframes crt-flicker-a{0%,to{filter:brightness(1)}86%{filter:brightness(.82)}87%{filter:brightness(.95)}88%{filter:brightness(.84)}89%{filter:brightness(1)}}@keyframes crt-flicker-b{0%,to{filter:brightness(1)}72%{filter:brightness(.8)}73%{filter:brightness(.92)}74%{filter:brightness(.85)}75%{filter:brightness(1)}}@keyframes crt-flicker-c{0%,to{filter:brightness(1)}91%{filter:brightness(.84)}92%{filter:brightness(.96)}93%{filter:brightness(.8)}94%{filter:brightness(1)}}@keyframes crt-flicker-d{0%,to{filter:brightness(1)}62%{filter:brightness(.82)}63%{filter:brightness(.94)}64%{filter:brightness(.86)}65%{filter:brightness(1)}}*:focus-visible{outline:none;text-shadow:0 0 8px var(--accent-glow);box-shadow:inset 0 0 0 1px var(--accent)}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;transition-duration:.01ms!important}.layout:after{display:none}}@media(max-width:767px){.layout{height:auto;min-height:100vh;overflow:auto;grid-template-columns:1fr;grid-template-areas:"header" "status" "visualizer" "airports" "music" "statusbar"}:root{--cell-padding: 8px}}@media(pointer:coarse){.layout{--touch-min-height: 44px}}.toast{position:fixed;top:20px;left:50%;transform:translate(-50%);padding:10px 24px;background:var(--bg);border:1px solid var(--accent);color:var(--accent);font-family:var(--font-mono);font-size:12px;text-transform:uppercase;letter-spacing:.1em;border-radius:0;z-index:10000}.toast--error{border-color:var(--error);color:var(--error)}.fade-enter-active,.fade-leave-active{transition:opacity .3s}.fade-enter-from,.fade-leave-to{opacity:0}
