.apl{--bg:#07090d;--panel:#0e1218;--line:#1d2431;--ink:#e7e9ee;--ink-2:#b9c0cc;--muted:#7d8696;--accent:#f0b54a;--alarm:#ff5b4d;--el:#8cff6c;--el-dim:#10230f;background:var(--bg);color:var(--ink);font-family:var(--font-sans);-webkit-text-size-adjust:100%;font-size:14px}.apl a{color:var(--accent);text-decoration:none}.apl a:hover{text-decoration:underline}.apl button{font:inherit;color:inherit;cursor:pointer}.apl-head{flex-wrap:wrap;align-items:center;gap:16px;padding:10px 0;display:flex}.apl-title{flex:260px;min-width:0}.apl-title p{color:var(--ink-2);margin:0;font-size:13px}.apl-clock{flex-direction:column;align-items:flex-end;display:flex}.apl-get{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--el);text-shadow:0 0 8px #8cff6c59;font-size:20px}.apl-phase{color:var(--ink-2);font-size:12px}.apl-grid{grid-template-columns:minmax(0,1fr) 410px;align-items:start;gap:12px;display:grid}.apl-main{flex-direction:column;gap:8px;min-width:0;display:flex;position:sticky;top:8px}.apl-side{flex-direction:column;gap:12px;min-width:0;display:flex}.apl-view{border:1px solid var(--line);background:#000;border-radius:10px;height:calc(100vh - 220px);min-height:380px;position:relative;overflow:hidden}.apl-canvas{touch-action:none;width:100%;height:100%;display:block}.apl-glerr{text-align:center;color:var(--muted);place-items:center;padding:24px;display:grid;position:absolute;inset:0}.apl-window{pointer-events:none;background:radial-gradient(62% 70% at 50% 46%,#0000 58%,#060709eb 86%);position:absolute;inset:0}.apl-shot{max-width:calc(100% - 250px);color:var(--ink-2);pointer-events:none;background:#0000008c;border-radius:6px;padding:4px 9px;font-size:12px;position:absolute;top:10px;left:12px}.apl-telemetry{pointer-events:none;background:#0009;border-radius:8px;grid-template-columns:repeat(2,auto);gap:4px 14px;margin:0;padding:8px 11px;display:grid;position:absolute;top:10px;right:10px}.apl-telemetry div{flex-direction:column;display:flex}.apl-telemetry dt{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:10px}.apl-telemetry dd{font-variant-numeric:tabular-nums;margin:0;font-size:14px;font-weight:600}.apl-telemetry small{color:var(--muted);font-size:11px;font-weight:400}.apl-telemetry .warn dd{color:var(--accent)}.apl-caption{text-align:center;pointer-events:none;background:#000000a8;border-radius:7px;width:max-content;max-width:min(760px,100% - 24px);padding:7px 12px;font-size:15.5px;line-height:1.35;animation:.25s ease-out apl-in;position:absolute;bottom:14px;left:50%;transform:translate(-50%)}.apl-caption b{color:var(--accent);font-weight:600}@keyframes apl-in{0%{opacity:0;transform:translate(-50%,4px)}}.apl-controls{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.btn-play{border:1px solid var(--line);background:var(--accent);border-radius:8px;place-items:center;width:42px;height:34px;font-weight:700;display:grid;color:#1a1205!important}.seg{border:1px solid var(--line);background:var(--panel);border-radius:8px;display:inline-flex;overflow:hidden}.seg button{color:var(--ink-2);background:0 0;border:0;min-height:34px;padding:7px 10px}.seg button+button{border-left:1px solid var(--line)}.seg button.on{color:var(--ink);background:#1d2532}.apl-jumps{flex-wrap:wrap;gap:6px;display:flex}.chip{border:1px solid var(--line);background:var(--panel);color:var(--ink-2);border-radius:999px;min-height:32px;padding:6px 11px}.chip:hover,.seg button:hover{color:var(--ink)}.apl-timeline{background:var(--panel);border:1px solid var(--line);border-radius:10px;width:100%;padding:4px 0 0;overflow:hidden}.apl-timeline svg{cursor:pointer;outline:none;display:block}.apl-timeline svg:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.band-0{fill:#0b0f15}.band-1{fill:#111720}.grid{stroke:#1b2230;stroke-width:1px}.tl-axis{fill:var(--muted);font-size:10px}.tl-label{fill:var(--ink-2);font-size:10.5px;font-weight:600}.tl-path{fill:none;stroke:#9db8e8;stroke-width:2px}.tl-alarm{stroke:var(--alarm);stroke-width:1.5px;stroke-dasharray:3 2}.tl-alarm-t{fill:var(--alarm);font-size:9.5px;font-weight:600}.tl-head{stroke:var(--accent);stroke-width:1.5px}.tl-dot{fill:var(--accent);stroke:#000;stroke-width:1.5px}.card{background:var(--panel);border:1px solid var(--line);border-radius:10px;min-width:0;padding:12px}.card h2{text-transform:uppercase;letter-spacing:.07em;color:var(--ink-2);margin:0;font-size:13px;font-weight:650}.card-h{justify-content:space-between;align-items:baseline;gap:10px;margin-bottom:10px;display:flex}.muted{color:var(--muted);font-size:12px}.foot{color:var(--muted);margin:8px 0 0;font-size:11.5px}.link{background:0 0;border:0;padding:0;font-size:12px;color:var(--accent)!important}.dsky{background:linear-gradient(#36383a,#2a2c2e);border-radius:8px;padding:10px;box-shadow:inset 0 1px #ffffff14}.dsky-top{grid-template-columns:1fr 1.25fr;gap:10px;display:grid}.dsky-lights{background:#1d1e20;border-radius:4px;flex-direction:column;gap:4px;padding:6px;display:flex}.dsky-lamps-row{flex:1;grid-template-columns:1fr 1fr;gap:4px;display:grid}.lamp{text-align:center;letter-spacing:.02em;color:#555650;background:#3b3c3a;border-radius:2px;place-items:center;min-height:22px;padding:0 2px;font-size:7.5px;font-weight:700;line-height:1.05;display:grid}.lamp-empty{background:#2c2d2c}.lamp-on{color:#262622;background:#f3efd8;box-shadow:0 0 8px #f3efd880}.lamp-warn{background:#ffbf3c;box-shadow:0 0 10px #ffbf3cb3}.dsky-el{background:#0a0d0a;border-radius:4px;flex-direction:column;align-items:stretch;gap:3px;padding:7px 8px;display:flex}.dsky-el-row{justify-content:space-between;align-items:flex-end;display:flex}.dsky-comp{text-align:center;color:#2a3f2a;background:#122012;border-radius:2px;width:42px;padding:4px;font-size:8px;font-weight:700;line-height:1.15}.dsky-comp.on{background:var(--el);color:#0a1a08;box-shadow:0 0 10px #8cff6c99}.dsky-pair{flex-direction:column;align-items:center;gap:2px;display:flex}.dsky-pair>div:last-child{display:flex}.dsky-tag{color:#061206;letter-spacing:.05em;background:#2f8a3a;border-radius:2px;padding:1px 4px;font-size:7.5px;font-weight:700}.dsky-reg{justify-content:flex-end;gap:1px;display:flex}.dsky-digit{width:15px;height:25px}.dsky-pair .dsky-digit{width:16px;height:26px}.dsky-digit .sg{fill:var(--el-dim)}.dsky-digit .sg.on{fill:var(--el);filter:drop-shadow(0 0 2px #8cff6cb3)}.dsky-bar{background:#1f5a24;border-radius:1px;height:2px;margin:2px 0}.dsky-keys{grid-template-columns:1.15fr repeat(5,1fr) 1.15fr;grid-template-areas:"v p k7 k8 k9 clr e""v p k7 k8 k9 clr e""v m k4 k5 k6 pro e""n m k4 k5 k6 pro r""n z k1 k2 k3 kr r""n z k1 k2 k3 kr r";gap:5px;margin-top:10px;display:grid}.key{text-align:center;color:#232320;background:linear-gradient(#e8e6dc,#c9c6b8);border-radius:4px;place-items:center;min-height:16px;padding:2px;font-size:12px;font-weight:700;line-height:1.05;transition:transform 50ms,box-shadow 50ms;display:grid;box-shadow:0 2px #77756c}.key-v,.key-n,.key-e,.key-r,.key-clr,.key-pro,.key-kr{font-size:9.5px}.key-down{box-shadow:0 0 0 #77756c, 0 0 0 3px var(--accent);background:linear-gradient(#fff3d1,#f0cf80);transform:translateY(2px)}.key-v{grid-area:v}.key-n{grid-area:n}.key-p{grid-area:p}.key-m{grid-area:m}.key-z{grid-area:z}.key-k7{grid-area:k7}.key-k8{grid-area:k8}.key-k9{grid-area:k9}.key-k4{grid-area:k4}.key-k5{grid-area:k5}.key-k6{grid-area:k6}.key-k1{grid-area:k1}.key-k2{grid-area:k2}.key-k3{grid-area:k3}.key-clr{grid-area:clr}.key-pro{grid-area:pro}.key-kr{grid-area:kr}.key-e{grid-area:e}.key-r{grid-area:r}.dsky-flash{opacity:1}.crew{border:1px solid var(--line);background:#121822;border-radius:8px;min-height:76px;margin-top:10px;padding:9px 10px}.crew-idle{color:var(--muted);align-items:center;font-size:12px;display:flex}.crew-who{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:11px}.crew-keys{flex-wrap:wrap;gap:4px;margin:5px 0;display:flex}.crew kbd{color:#5d6676;background:#252c38;border-radius:4px;padding:3px 7px;font-family:inherit;font-size:11.5px;font-weight:700}.crew kbd.done{color:#1f1f1c;background:#e8e6dc}.crew-why{color:var(--ink-2);font-size:12.5px}.card-agc.alarm{border-color:var(--alarm);box-shadow:0 0 0 1px #ff5b4d40,0 0 24px #ff5b4d1f}.agc-title{font-size:15px;font-weight:650}.card-agc.alarm .agc-title{color:var(--alarm)}.agc-note{color:var(--ink-2);margin:4px 0 8px;font-size:12.5px;line-height:1.45}.agc-code{font-family:var(--font-mono);border:1px solid var(--line);-moz-tab-size:8;tab-size:8;white-space:pre;color:#d8dee9;background:#070a0e;border-radius:6px;max-height:270px;margin:0;padding:6px 0;font-size:11px;line-height:1.5;overflow:auto}.agc-code>div{border-left:2px solid #0000;padding:0 8px 0 0}.agc-code .cmt{color:#6f7b90}.agc-code .pc{border-left-color:var(--accent);color:#fff;background:#f0b54a29}.agc-code .ln{text-align:right;color:#3f4859;user-select:none;width:3.4em;padding-right:.8em;display:inline-block}.agc-sub{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;justify-content:space-between;align-items:baseline;margin:10px 0 5px;font-size:11px;display:flex}.agc-sub .over{color:var(--alarm);font-weight:700}.agc-loop{flex-wrap:wrap;gap:4px;display:flex}.agc-loop button{font-family:var(--font-mono);border:1px solid var(--line);color:var(--ink-2);background:#121822;border-radius:5px;min-height:28px;padding:5px 7px;font-size:10.5px}.agc-loop button.on{background:var(--el);color:#071305;border-color:var(--el)}.agc-loop button.pinned{box-shadow:0 0 0 2px var(--accent)}.agc-load{background:#151b25;border-radius:3px;height:12px;display:flex;position:relative;overflow:hidden}.agc-load>span{height:100%;transition:width .3s;display:block}.l-base{background:#6f8fc7}.l-rr{background:#c9a227}.l-extra{background:var(--alarm)}.agc-legend{color:var(--muted);flex-wrap:wrap;gap:4px 12px;margin-top:6px;font-size:11px;display:flex}.agc-legend i{vertical-align:-1px;border-radius:2px;width:9px;height:9px;margin-right:5px;display:inline-block}.voice{flex-direction:column;gap:5px;max-height:300px;padding-right:4px;display:flex;overflow-y:auto}.v-line{color:var(--ink-2);grid-template-columns:3.4em 5.6em 1fr;gap:6px;font-size:12.5px;line-height:1.4;display:grid}.v-line.now{color:var(--ink)}.v-line.now .v-text{color:#fff}.v-t{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11.5px}.v-who{color:var(--accent);font-weight:600}.v-line.houston .v-who{color:#8fb4f0}.acts{color:var(--ink-2);flex-direction:column;gap:6px;margin:0;padding:0;font-size:12.5px;list-style:none;display:flex}.acts li{flex-wrap:wrap;gap:6px;display:flex}.acts li.now{color:var(--ink)}.acts b{color:var(--ink);font-weight:600}.about p{color:var(--ink-2);margin:8px 0 0;font-size:12.5px;line-height:1.5}@media (width<=1023px){.apl-grid{grid-template-columns:minmax(0,1fr);gap:10px}.apl-main{display:contents}.apl-view{z-index:5;border-left:0;border-right:0;border-radius:0;height:46vh;min-height:260px;margin:0 -24px;position:sticky;top:0}.apl-head{padding:8px 0}}@media (width<=767px){.apl-view{top:calc(var(--bar-height) + 1px + env(safe-area-inset-top));height:42vh;margin:0 -16px}}@media (width<=600px){.apl-clock{flex-direction:row;justify-content:space-between;align-items:baseline;gap:10px;width:100%}.apl-get{font-size:17px}.apl-telemetry{grid-template-columns:repeat(3,1fr);gap:2px 8px;padding:5px 8px;inset:auto 8px 8px}.apl-telemetry dd{font-size:12.5px}.apl-telemetry small{display:none}.apl-caption{font-size:13.5px;top:38px;bottom:auto}.apl-shot{max-width:calc(100% - 24px);font-size:11px}.seg button{padding:7px 8px}}
