/* Persistent student context remains an overlay only outside immersive XR. */
.flight-student-card {
  position: fixed; left: 16px; bottom: 72px; width: min(360px, calc(100vw - 32px));
  max-height: 34vh; overflow: auto; padding: 14px 18px; z-index: 80;
  background: #081622f2; color: #edf9f7; border: 1px solid #2dd4bf; border-radius: 14px;
  box-shadow: 0 8px 28px #0006; font: 14px/1.5 system-ui, sans-serif;
}
.flight-student-card[hidden], .flight-connection[hidden] { display: none; }
.flight-student-card h2 { color: #2dd4bf; font-size: 16px; margin: 0 0 8px; }
.flight-student-card p { margin: 6px 0; }
.flight-connection {
  position: fixed; right: 16px; top: 16px; max-width: 340px; z-index: 85;
  padding: 10px 14px; border-radius: 10px; background: #081622ed; color: #bdeee5;
  font: 13px/1.5 system-ui, sans-serif; pointer-events: none;
}
#flight-initials { font-size: 18px; letter-spacing: .15em; padding: 8px; }
.flight-director{grid-column:span 7}
@media(max-width:1000px){.flight-director{grid-column:1/-1}}
.fd-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between}
.fd-head h2{margin:0}
.fd-conn{font:12px "Courier New",monospace;color:var(--mu)}
.fd-conn[data-live="true"]{color:var(--cy)}
.fd-body{display:grid;grid-template-columns:minmax(220px,340px) 1fr;gap:16px;margin-top:12px}
@media(max-width:700px){.fd-body{grid-template-columns:1fr}}
.fd-canvas{width:100%;aspect-ratio:1;display:block;background:#081622;border:1px solid var(--ln);border-radius:12px;cursor:crosshair}
.fd-legend{font-size:12px;color:var(--mu);margin:6px 0 0}
.fd-roster{list-style:none;margin:0;padding:0;display:grid;gap:6px;max-height:260px;overflow:auto}
.fd-roster li{display:flex;gap:8px;align-items:baseline;flex-wrap:wrap;padding:6px 10px;border:1px solid var(--ln);border-left:3px solid var(--cy);border-radius:8px;background:#0b1c2a;font-size:13px}
.fd-roster li.stale{border-left-color:var(--mu);opacity:.75}
.fd-roster li.unknown{border-left-color:var(--am)}
.fd-roster .fd-name{font-weight:700;color:var(--tx)}
.fd-roster .fd-meta{color:var(--mu);font-size:12px}
.fd-empty{color:var(--mu);font-size:13px;margin:0}
.fd-sub{margin:12px 0 6px;font-size:11px;letter-spacing:.14em;text-transform:uppercase;color:var(--am)}
.fd-pois{display:grid;gap:6px}
.fd-pois .btn{text-align:left;font-size:13px;padding:8px 10px}
.fd-pois .btn[aria-pressed="true"]{background:var(--cy);color:#04211d;border-color:var(--cy)}
.fd-pois .fd-dir{display:block;font-weight:400;font-size:12px;opacity:.85}
.fd-feedback{min-height:1.4em;font-size:13px;margin:8px 0 0;color:var(--mu)}
.fd-feedback[data-state="ok"]{color:var(--cy)}.fd-feedback[data-state="error"]{color:#ffb4b4}.fd-feedback[data-state="pending"]{color:var(--am)}
