/* ============================================================
   ERA: FINALE — the machine, then the name, then the question.
   ============================================================ */
.finale{
  position:fixed; inset:0; z-index:9100; display:none; background:#000;
  color:#e8e8ec; font-family:-apple-system,"SF Pro Text","Segoe UI",sans-serif;
}
.finale.open{ display:block; }
.fin-stage{ position:absolute; inset:0; display:flex; flex-direction:column;
  align-items:center; justify-content:center; gap:26px; padding:40px; }
.fin-stage[hidden]{ display:none; }

/* the machine portrait */
.fin-machine{ display:flex; flex-direction:column; align-items:center; }
.fin-mini{
  width:220px; height:74px; border-radius:16px; position:relative;
  background:linear-gradient(180deg,#d7d9dd 0%, #b9bcc2 55%, #94979d 100%);
  box-shadow:0 18px 42px rgba(0,0,0,.7), inset 0 1px 0 rgba(255,255,255,.7);
  animation:finGlow 4s ease-in-out infinite alternate;
}
.fin-apple::before{
  content:'\f8ff'; position:absolute; top:50%; left:50%; transform:translate(-50%,-52%);
  font-size:26px; color:#6b6e74;
}
.fin-mini::after{
  content:''; position:absolute; right:16px; bottom:8px; width:5px; height:5px;
  border-radius:50%; background:#fff; opacity:.9;
  animation:finLed 2.2s steps(1) infinite;
}
@keyframes finLed{ 50%{ opacity:.35; } }
@keyframes finGlow{ from{ filter:brightness(.96); } to{ filter:brightness(1.05); } }
.fin-desk{ width:340px; height:10px; margin-top:0; border-radius:3px;
  background:linear-gradient(180deg,#3d2c1e,#241a12); }

.fin-caption{ max-width:560px; text-align:center; font-size:15px; line-height:1.65; }
.fin-line1{ font-size:19px; font-weight:650; color:#fff; }
.fin-caption b{ color:#7ee7f5; }
.fin-telemetry{
  display:flex; gap:26px; justify-content:center; margin-top:16px;
  font:12px ui-monospace,Menlo,monospace; color:#9ca3af; flex-wrap:wrap;
}
.fin-telemetry b{ color:#2ee4a5; font-weight:600; }
.fin-hint{ font-size:11px; color:#6b7280; margin-top:10px; }
.fin-continue{
  font:13px ui-monospace,Menlo,monospace; letter-spacing:2px; color:#9ca3af;
  cursor:pointer; padding:8px 20px; border:1px solid rgba(255,255,255,.15);
  border-radius:20px;
}
.fin-continue:hover{ color:#fff; border-color:rgba(255,255,255,.4); }

/* credits */
.fin-credits{ font:16px ui-monospace,Menlo,monospace; }
.fin-type{ margin:0; text-align:center; line-height:2; letter-spacing:3px; color:#e8e8ec; }
.fin-prompt{ display:flex; align-items:center; gap:10px; font-size:18px; }
.fin-prompt[hidden]{ display:none; }
.fin-caret{ color:#2ee4a5; }
.fin-input{
  background:transparent; border:0; outline:0; color:#fff;
  font:18px ui-monospace,Menlo,monospace; width:min(560px,70vw);
}
.fin-cursor{ animation:finLed 1s steps(1) infinite; color:#2ee4a5; }
.fin-answer{
  max-width:620px; text-align:center; font-size:14px; line-height:1.7;
  color:#9ca3af; white-space:pre-wrap; min-height:60px;
}
.fin-esc{ position:absolute; bottom:22px; font-size:11px; color:#4b5563; letter-spacing:1px; }
