/* Space Typing Defender — shooter-styled falling-word typing game */

.std-setup { display: flex; flex-direction: column; gap: 18px; }
.std-setup h3 { margin: 0 0 8px; font-size: 1.05rem; }

.std-pick-row { display: flex; flex-wrap: wrap; gap: 10px; }

.std-pick {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  gap: 4px;
  padding: 10px 14px;
  border-radius: 12px;
  border: 2px solid var(--color-border);
  background: var(--color-bg-alt);
  color: var(--color-text);
  cursor: pointer;
  font: inherit;
  min-width: 190px;
  text-align: left;
}
.std-pick strong { font-size: 1rem; }
.std-pick small { color: var(--color-text-soft); }
.std-pick[aria-pressed="true"] { border-color: var(--color-primary); background: rgba(79, 216, 224, 0.12); }

.std-start-btn { align-self: flex-start; margin-top: 4px; }

.std-rewards { font-size: 0.85rem; color: var(--color-text-soft); }
.std-rewards strong { color: var(--color-text); }

.std-play { display: flex; flex-direction: column; gap: 14px; }

.std-banner {
  padding: 12px 16px;
  border-radius: 14px;
  background: var(--color-surface);
  border: 1px solid var(--color-border);
  font-size: 1.05rem;
  font-weight: 800;
  text-align: center;
}

.std-space {
  position: relative;
  width: 100%;
  height: 360px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(13, 27, 42, 0.7), rgba(74, 20, 140, 0.35));
  border: 1px solid var(--color-border);
  overflow: hidden;
}

.std-base { position: absolute; left: 50%; bottom: 6px; transform: translateX(-50%); font-size: 2rem; }

.std-ship {
  position: absolute;
  top: -30px;
  display: flex;
  align-items: center;
  gap: 6px;
  padding: 6px 12px;
  border-radius: 10px;
  background: rgba(255, 255, 255, 0.06);
  border: 2px solid var(--color-border);
  font-size: 1.15rem;
  font-weight: 800;
  white-space: nowrap;
  animation-name: std-descend;
  animation-timing-function: linear;
}
.std-ship-icon { font-size: 1.1rem; }
.std-ship--locked { border-color: var(--color-primary); }
.std-ship--blasted { animation-play-state: paused !important; transform: scale(1.4); opacity: 0; transition: transform 0.22s ease, opacity 0.22s ease; }
.std-ship--landed { animation-play-state: paused !important; opacity: 0; transition: opacity 0.24s ease; }

@keyframes std-descend {
  from { top: -30px; }
  to { top: 86%; }
}

.std-ch { color: var(--color-text-soft); }
.std-ch--done { color: #ff8a65; }

.std-actions { display: flex; flex-wrap: wrap; gap: 10px; }
