.flight-start { position:absolute; left:33.6%; top:90.3%; transform:translate(-50%,-50%); width:48px; height:48px; padding:0; display:grid; place-items:center; border:0; border-radius:50%; background:transparent; cursor:pointer; z-index:2; }
/* The shared button hover/press transform must not move this cockpit hotspot. */
.flight-start:hover:not(:disabled),.flight-start:active:not(:disabled) { transform:translate(-50%,-50%); box-shadow:none; }
.flight-start>span { width:13px; height:13px; border:1px solid #fd5a4d; border-radius:50%; background:#ff3528; box-shadow:0 0 8px #ff3528,0 0 25px #ff3528; animation:flight-start-pulse 1.6s ease-in-out infinite; }
.flight-start:disabled { cursor:not-allowed; }
.flight-start:disabled>span { background:#451b16; border-color:#67261f; box-shadow:none; animation:none; opacity:.55; }
@keyframes flight-start-pulse { 50% { box-shadow:0 0 12px #fff0c7,0 0 30px #ff3528,0 0 0 9px #ff352825; } }
.flight-status p { font-size:14px; line-height:1.6; margin:0; }
.flight-status a { display:inline-block; margin-top:12px; color:#a6f5ff; }
.flight-page button:not(.flight-start):not(.test-btn),.certificate-downloads a { min-height:44px; padding:10px 16px; border-radius:8px; font:inherit; font-size:13px; cursor:pointer; }
.flight-page [hidden] { display:none !important; }
.flight-page .cockpit-complete button { margin-top:8px; }
.flight-page .cockpit-complete { border-color:#8ef0b477; background:linear-gradient(135deg,#102d26,#0b1c1c); }
.flight-page .cockpit-complete .cockpit-eyebrow,.flight-page .cockpit-complete h2 { color:#8ef0b4; }
.flight-page .cockpit-console .CodeMirror { height:260px; }
.certificate-dialog::backdrop { background:#02050be8; }
.flight-video { position:absolute; inset:0; width:100%; height:100%; display:block; object-fit:cover; z-index:3; background:#05080c; }
.cockpit-scene.is-playing .cockpit-monitor,
.cockpit-scene.is-playing .flight-start,
.cockpit-scene.is-playing .cockpit-scene-caption { visibility:hidden; }
.flight-video-controls { display:flex; justify-content:flex-end; gap:12px; }
.flight-video-controls button { border:1px solid #62798e; color:white; background:#152434; }
.escape-celebration { position:fixed; inset:0; z-index:2500; display:grid; place-items:center; background:radial-gradient(ellipse,#172438e6,#040914f0); pointer-events:none; }
.escape-celebration canvas { position:absolute; inset:0; width:100%; height:100%; }
.escape-celebration>div { position:relative; text-align:center; padding:24px; }
.escape-celebration p { margin:0 0 20px; color:#8ef0b4; font-size:clamp(18px,3vw,36px); font-weight:800; letter-spacing:.12em; text-transform:uppercase; }
.escape-celebration strong { font-size:clamp(36px,7vw,100px); color:#e6ffef; font-family:inherit; text-shadow:0 0 50px #8ef0b455; }
.certificate-dialog { width:min(750px,94vw); max-height:94vh; padding:24px; color:#edf4f9; background:#0c1723; border:1px solid #617787; border-radius:16px; }
.certificate-dialog header { display:flex; align-items:center; justify-content:space-between; gap:15px; }
.certificate-dialog h2 { margin:0 0 16px; font-size:28px; color:#fff; }
.certificate-dialog header button { background:#172a3b; color:white; border:1px solid #7891a5; }
.certificate-dialog label { display:block; font-weight:700; font-size:14px; margin-bottom:8px; }
.certificate-name-row { display:flex; gap:12px; }
.certificate-name-row input { flex:1; min-width:0; padding:12px; border-radius:8px; background:#050d16; border:1px solid #7891a5; color:white; font:inherit; }
.certificate-name-row button,.certificate-downloads a { background:#7ceaf2; color:#08202b; border:1px solid #b4fcff; font-weight:700; }
.certificate-dialog form p,#certificate-result>small { font-size:12px; line-height:1.5; color:#b2c7d7; }
.certificate-dialog .certificate-name-row + p { margin:12px 0 0; }
.certificate-welcome { max-width:780px; margin:8px 0 28px; font-size:17px; line-height:1.7; color:#c9dce7; }
.certificate-welcome strong { color:#f4dc9b; }
.certificate-downloads { display:flex; align-items:center; flex-wrap:wrap; gap:12px; margin-bottom:14px; }
.certificate-downloads a { display:inline-flex; align-items:center; text-decoration:none; }
#certificate-preview { margin:16px 0; }
#certificate-preview svg { display:block; width:100%; height:auto; }
#certificate-feedback { font-size:13px; color:#ddcba0; }
#certificate-result>small { display:block; }
@media (max-width:560px) { .certificate-name-row { flex-direction:column; } }
@media (prefers-reduced-motion:reduce) { .flight-start>span { animation:none; } }
