@font-face{font-family:Archivo;font-style:normal;font-weight:400 700;src:url(/fonts/archivo-latin-var.woff2) format("woff2");font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;src:url(/fonts/ibm-plex-mono-latin-400.woff2) format("woff2");font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;src:url(/fonts/ibm-plex-mono-latin-600.woff2) format("woff2");font-display:swap;unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--ui-radius: 2px;--ui-input-radius: 4px;--ui-input-bg: rgb(0 0 0 / 60%);--ui-badge-filled-radius: 4px;--ui-badge-fill: 0%;--ui-font-mono-weight: 400;--ui-page-bg: #000;--ui-space-1: 2px;--ui-space-2: 4px;--ui-space-3: 8px;--ui-space-4: 12px;--ui-space-5: 16px;--ui-page-gutter: 24px;--ui-page-gap: 1.25rem;--ui-aside-width: 320px;--ui-time-gutter: 5.5rem;--ui-time-trail: 6rem;--ui-time-gap: 8px;--ui-page-measure: 1400px;--ui-page-slack: max(0px, calc((100% - var(--ui-page-measure)) / 2));--ui-page-inset: max(var(--ui-page-gutter), var(--ui-page-slack));--ui-page-measure-companion: calc(var(--ui-page-measure) + var(--ui-page-gap) + var(--ui-aside-width));--ui-z-anchored: 40;--ui-z-map-overlay: 1000;--ui-z-header: 2000;--ui-z-notice: 2500;--ui-z-panel: 3000;--ui-z-modal: 9999;--ui-z-menu: 10000;--ui-duration-fast: .12s;--ui-duration-base: .18s;--ui-duration-slow: .3s;--ui-delay-reveal: .38s;--ui-font: system-ui, sans-serif;--ui-font-mono: "IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--ui-font-brand: "Archivo", system-ui, sans-serif;--ui-text-lg: 1.1rem;--ui-text-md: .95rem;--ui-text-sm: .85rem;--ui-text-xs: .75rem;--ctor-bg-0: #101012;--ctor-bg-1: #161618;--ctor-bg-2: #1e1e1e;--ctor-bg-2-hover: #262626;--ctor-bg-3: #2b2b2b;--ctor-border: #3a3a3a;--ctor-border-subtle: #2a2a2a;--ctor-border-hi: #4a4a4a;--ctor-text: #e6e9ef;--ctor-text-dim: #8b93a3;--ctor-text-faint: #6b6f76;--ctor-accent: #f66251;--ctor-accent-ink: var(--ctor-accent);--ctor-accent-tint: #241210;--ctor-focus-ring: var(--ctor-accent);--ctor-danger-bg: #5e0d0d;--ctor-danger-border: #811212;--ctor-danger-text: #f96767;--ctor-success-bg: #0d5e24;--ctor-success-border: #128132;--ctor-success-text: #67f990;--ctor-info-bg: #0d365e;--ctor-info-border: #124a81;--ctor-info-text: #67b0f9;--ctor-pending-bg: #2f0d5e;--ctor-pending-border: #411282;--ctor-pending-text: #a467f9;--ctor-warn-bg: #5e480d;--ctor-warn-border: #816412;--ctor-warn-text: #f9d267}[data-theme=light]{color-scheme:light;--ui-input-bg: rgb(0 0 0 / 8%);--ui-badge-fill: 100%;--ui-font-mono-weight: 500;--ui-page-bg: #f4f4f1;--ctor-bg-0: #f4f4f1;--ctor-bg-1: #ffffff;--ctor-bg-2: #ffffff;--ctor-bg-2-hover: #eaeae6;--ctor-bg-3: #fafaf8;--ctor-border: #c9c9c4;--ctor-border-subtle: #cfcfca;--ctor-border-hi: #a8a8a2;--ctor-text: #0a0a0a;--ctor-text-dim: #4a4a4a;--ctor-text-faint: #6e6e6e;--ctor-accent: #f66251;--ctor-accent-ink: #c43f2e;--ctor-accent-tint: #fdece9;--ctor-focus-ring: #c43f2e;--ctor-danger-bg: #f9d8d5;--ctor-danger-border: #cf3228;--ctor-danger-text: #b3261e;--ctor-success-bg: #def7ec;--ctor-success-border: #3cb282;--ctor-success-text: #0e7c55;--ctor-info-bg: #e5f6fd;--ctor-info-border: #53a8cb;--ctor-info-text: #12658c;--ctor-pending-bg: #e8e5fc;--ctor-pending-border: #7165d3;--ctor-pending-text: #4b3fa8;--ctor-warn-bg: #faf0d9;--ctor-warn-border: #c29127;--ctor-warn-text: #8a5d00}.ui-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border:1px solid var(--ctor-border);border-radius:var(--ui-radius);color:var(--ctor-text-dim);--ui-badge-wash: var(--ctor-bg-2-hover);background:color-mix(in srgb,var(--ui-badge-wash) var(--ui-badge-fill),transparent);font-family:var(--ui-font-mono);font-size:11px;font-weight:var(--ui-font-mono-weight);letter-spacing:.08em;text-transform:uppercase;white-space:nowrap}.ui-badge--accent{--ui-badge-wash: var(--ctor-accent-tint);border-color:var(--ctor-accent);color:var(--ctor-accent)}.ui-badge--warn{--ui-badge-wash: var(--ctor-warn-bg);border-color:var(--ctor-warn-border);color:var(--ctor-warn-text)}.ui-badge--danger{--ui-badge-wash: var(--ctor-danger-bg);border-color:var(--ctor-danger-border);color:var(--ctor-danger-text)}.ui-badge--success{--ui-badge-wash: var(--ctor-success-bg);border-color:var(--ctor-success-border);color:var(--ctor-success-text)}.ui-badge--muted{border-color:var(--ctor-border);color:var(--ctor-text-faint)}.ui-badge--info{--ui-badge-wash: var(--ctor-info-bg);border-color:var(--ctor-info-border);color:var(--ctor-info-text)}.ui-badge--pending{--ui-badge-wash: var(--ctor-pending-bg);border-color:var(--ctor-pending-border);color:var(--ctor-pending-text)}.ui-badge--filled{--ui-badge-tone: var(--ctor-text-dim);border-color:transparent;border-radius:var(--ui-badge-filled-radius);background:color-mix(in srgb,var(--ui-badge-tone) 18%,transparent);color:var(--ui-badge-tone);padding:4px 10px;font-family:var(--ui-font);font-weight:400;letter-spacing:.04em}.ui-badge--filled.ui-badge--accent{--ui-badge-tone: var(--ctor-accent)}.ui-badge--filled.ui-badge--warn{--ui-badge-tone: var(--ctor-warn-text)}.ui-badge--filled.ui-badge--danger{--ui-badge-tone: var(--ctor-danger-text)}.ui-badge--filled.ui-badge--success{--ui-badge-tone: var(--ctor-success-text)}.ui-badge--filled.ui-badge--info{--ui-badge-tone: var(--ctor-info-text)}.ui-badge--filled.ui-badge--pending{--ui-badge-tone: var(--ctor-pending-text)}.ui-badge--filled.ui-badge--muted{--ui-badge-tone: var(--ctor-text-faint)}.ui-field{display:grid;gap:7px;color:var(--ctor-text-dim);font-family:var(--ui-font);font-size:var(--ui-text-xs);font-weight:600}.ui-input{box-sizing:border-box;width:100%;padding:.35rem .5rem;border:1px solid transparent;border-radius:var(--ui-input-radius);color:var(--ctor-text);background:var(--ui-input-bg);font-family:var(--ui-font);font-size:var(--ui-text-sm);font-weight:400}.ui-input::placeholder{color:var(--ctor-text-faint)}.ui-input:-webkit-autofill,.ui-input:-webkit-autofill:hover,.ui-input:-webkit-autofill:focus,.ui-input:-webkit-autofill:active{-webkit-text-fill-color:var(--ctor-text);-webkit-box-shadow:0 0 0 100px var(--ctor-bg-0) inset;box-shadow:0 0 0 100px var(--ctor-bg-0) inset;caret-color:var(--ctor-text);transition:background-color 100000s ease-in-out 0s}.ui-input:hover:not(:disabled){border-color:var(--ctor-border-subtle)}.ui-input:focus{border-color:var(--ctor-accent);outline:1px solid var(--ctor-accent);outline-offset:0}.ui-input:disabled{opacity:.5;cursor:not-allowed}.ui-input.is-invalid{border-color:var(--ctor-danger-border)}.ui-select{appearance:none;padding-right:1.75rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 12 12' fill='none'%3E%3Cpath d='M3 4.5L6 7.5L9 4.5' stroke='%238b93a3' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;background-size:12px 12px}.ui-select option{color:var(--ctor-text);background:var(--ctor-bg-2)}.ui-textarea{min-height:5.5rem;resize:vertical;line-height:1.5}:root{color-scheme:dark;font-family:var(--ui-font)}:root[data-theme=light]{color-scheme:light}body{margin:0;background:var(--ui-page-bg);color:var(--ctor-text)}header{display:flex;align-items:center;gap:1rem;padding:.5rem var(--ui-page-gutter);border-bottom:1px solid var(--ctor-bg-3)}body>header{position:relative;z-index:var(--ui-z-header)}header h1{font-size:1.1rem;margin:0}[data-el=status]{padding:.15rem .6rem;border-radius:999px;font-size:.8rem;text-transform:uppercase}[data-el=status][data-status=connected]{background:#0d5e24;color:#67f990}[data-el=status][data-status=connecting]{background:#5e480d;color:#f9d267}[data-el=status][data-status=disconnected]{background:#5e0d0d;color:#f96767}.aircraft-badge{font-size:.8rem;color:var(--ctor-text-dim)}.aircraft-badge:empty{display:none}.safety-alerts{display:flex;gap:.4rem}.safety-alert{padding:.15rem .6rem;border-radius:999px;font-size:.75rem;text-transform:uppercase;white-space:nowrap}.safety-alert--warning{background:#5e480d;color:#f9d267}.safety-alert--critical{background:#5e0d0d;color:#f96767}.app-breadcrumb{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:var(--ctor-text-dim)}.app-breadcrumb__link{color:var(--ctor-text-dim);text-decoration:none}.app-breadcrumb__link:hover{color:var(--ctor-text);text-decoration:underline}.app-breadcrumb__sep{color:var(--ctor-border)}.app-breadcrumb__current{color:var(--ctor-text)}.app-breadcrumb__root{position:relative;display:inline-flex}.app-breadcrumb__root-trigger{display:inline-flex;align-items:center;gap:.25rem;margin:0;padding:.1rem .4rem;border:1px solid var(--ctor-border);border-radius:var(--ui-radius);background:none;font:inherit;color:var(--ctor-text-dim);cursor:pointer}.app-breadcrumb__root-trigger:hover,.app-breadcrumb__root-trigger[aria-expanded=true]{border-color:var(--ctor-text-faint);color:var(--ctor-text)}.app-breadcrumb__root-trigger:hover{color:var(--ctor-text)}.app-breadcrumb__root-trigger:focus-visible{outline:1px solid var(--ctor-accent);outline-offset:2px}.app-breadcrumb__caret{display:block;transition:transform var(--ui-duration-fast) ease}.app-breadcrumb__root-trigger[aria-expanded=true] .app-breadcrumb__caret{transform:rotate(180deg)}.app-breadcrumb__actions{margin-left:.1rem}.app-breadcrumb__actions-trigger{width:auto;gap:2px;padding:0 4px 0 6px}.app-breadcrumb__actions-caret{display:block;flex:0 0 auto}.app-breadcrumb__menu{position:absolute;top:calc(100% + .4rem);left:0;z-index:var(--ui-z-anchored);min-width:11rem;margin:0;padding:.25rem 0;list-style:none;background:var(--ctor-bg-2);border:1px solid #6b6f76;border-radius:var(--ui-radius);box-shadow:0 6px 18px #0000008c}.app-breadcrumb__menu-group{margin:0;padding:0;list-style:none}.app-breadcrumb__menu-heading{padding:.4rem .6rem .2rem;font-size:.7rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--ctor-text-dim)}.app-breadcrumb__menu-heading~.app-breadcrumb__menu-heading,.app-breadcrumb__menu-group+.app-breadcrumb__menu-heading{margin-top:.2rem;border-top:1px solid var(--ctor-border)}.app-breadcrumb__menu-item{display:flex;align-items:center;justify-content:space-between;gap:.75rem;padding:.35rem .6rem;color:var(--ctor-text);text-decoration:none;outline:none}a.app-breadcrumb__menu-item:hover,a.app-breadcrumb__menu-item:focus{background:var(--ctor-bg-2-hover)}.app-breadcrumb__menu-item[aria-current=page]{color:var(--ctor-text-dim);cursor:default}.app-breadcrumb__check{display:block;color:var(--ctor-accent)}main{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;padding:1rem 1.5rem}body.hmi-page main{align-items:start}body.hmi-page .hmi-shell{grid-template-columns:1.1fr 1fr .75fr;align-items:stretch;height:calc(100vh - 3.5rem);box-sizing:border-box}.hmi-col{display:flex;flex-direction:column;gap:1rem;min-height:0;min-width:0;overflow-y:auto}.hmi-panel{display:flex;flex-direction:column;gap:.75rem;background:var(--avio-panel);border:1px solid var(--avio-border);border-radius:var(--ui-radius);padding:1rem;box-sizing:border-box}.hmi-panel--fill{flex:1 1 0;min-height:160px;overflow:hidden}.hmi-panel__title{margin:0;font-size:.95rem;font-weight:600;color:var(--ctor-text);flex:none}.hmi-panel--fill>*:not(.hmi-panel__title){flex:1 1 0;min-height:0;display:flex;flex-direction:column}@media(max-width:1100px){body.hmi-page .hmi-shell{grid-template-columns:1fr;height:auto}.hmi-col{overflow-y:visible}.hmi-panel--fill{flex:none;min-height:0;overflow:visible}.hmi-panel--fill>*:not(.hmi-panel__title){flex:none}.phase-tabs__panel-host,.flight-plan-panel__rows,.checklist-panel__list{max-height:360px}}#takeoff form{display:flex;align-items:center;gap:.75rem;margin-bottom:.75rem;padding:.5rem;background:var(--ctor-bg-2);border-radius:var(--ui-radius);flex-wrap:wrap}#takeoff button{cursor:pointer;background:#2a5fb0;color:#fff;border:none;border-radius:var(--ui-radius);padding:.4rem .8rem}#takeoff input[type=number]{width:6rem}#takeoff .hint{color:var(--ctor-text-dim);font-size:.85rem;margin:0 0 .75rem}#takeoff .abort-button{background:#a33a3a;margin-bottom:.5rem}.control-viz{display:flex;gap:1.5rem;align-items:flex-end;margin-bottom:.75rem}.control-gauge{display:flex;flex-direction:column;align-items:center}.gauge-label{display:block;font-size:.75rem;color:var(--ctor-text-dim);margin-bottom:.35rem;text-align:center}.yoke-box{position:relative;width:140px;height:140px;background:var(--ctor-bg-2);border:1px solid var(--ctor-bg-3);border-radius:var(--ui-radius)}.yoke-crosshair-h,.yoke-crosshair-v{position:absolute;background:var(--ctor-bg-3)}.yoke-crosshair-h{top:50%;left:0;right:0;height:1px}.yoke-crosshair-v{left:50%;top:0;bottom:0;width:1px}.yoke-dot{position:absolute;width:14px;height:14px;border-radius:50%;background:#4a90d9;left:50%;top:50%;transform:translate(-50%,-50%);transition:left var(--ui-duration-fast) linear,top var(--ui-duration-fast) linear;box-shadow:0 0 6px #4a90d9}.bar-track{position:relative;width:140px;height:16px;background:var(--ctor-bg-2);border:1px solid var(--ctor-bg-3);border-radius:var(--ui-radius);overflow:hidden}.bar-track.vertical{width:16px;height:140px}.bar-center-marker{position:absolute;left:50%;top:0;bottom:0;width:1px;background:var(--ctor-bg-3)}.bar-fill{position:absolute;top:0;bottom:0;background:#4a90d9;transition:left var(--ui-duration-fast) linear,width var(--ui-duration-fast) linear}.bar-fill.vertical{inset:auto 0 0;transition:height var(--ui-duration-fast) linear}
