.moonshot-graphic {
  width: min(100%, 300px);
  height: 132px;
  margin: -18px auto 1px;
}
.moonshot-graphic svg { display: block; width: 100%; height: 100%; overflow: visible; }
.moonshot-trail { fill: none; stroke: #9aaa7b; stroke-width: 2; stroke-linecap: round; stroke-dasharray: 2 7; }
.moonshot-orbit { fill: #dff0b9; stroke: #18231c; stroke-width: 2; }
.moonshot-crater { fill: #c4df8d; stroke: #91ac5d; stroke-width: 1.5; }
.moonshot-crater-line { fill: none; stroke: #91ac5d; stroke-width: 1.4; stroke-linecap: round; }
.moonshot-rocket { fill: #18231c; stroke: #18231c; stroke-linecap: round; stroke-linejoin: round; stroke-width: 2; }
.moonshot-rocket circle { fill: #c6f36b; stroke: none; }
.moonshot-spark { fill: #91ac5d; }
.bulk-paste { min-height: 250px !important; width: 100%; font: 12px/1.55 'DM Mono', monospace; white-space: pre; }
.bulk-help { line-height: 1.65; }
.bulk-columns { display: block; overflow-wrap: anywhere; margin: 12px 0; padding: 12px; border-radius: 7px; background: #f1f5e9; font: 10px/1.7 'DM Mono', monospace; color: #536346; }
.bulk-preview { margin-top: 12px; }
.bulk-preview .listitem { align-items: flex-start; }
.bulk-preview .listitem strong { display: block; max-width: 620px; }
.bulk-preview .notice { white-space: pre-wrap; }
.bulk-actions { margin-top: 12px; flex-wrap: wrap; }
.shot-feedback { margin: 13px 0 9px; padding: 9px 9px 2px; border: 1px solid #d9e3cb; border-radius: 8px; background: #f8faF4; }
.shot-feedback-head { display: flex; justify-content: space-between; gap: 10px; align-items: baseline; font: 9px 'DM Mono', monospace; letter-spacing: .8px; color: #647052; }
.shot-feedback-head strong { color: #18231c; font: 600 12px 'Space Grotesk', sans-serif; letter-spacing: 0; }
.shot-feedback svg { display: block; width: 100%; height: 108px; overflow: visible; }
.shot-route { fill: none; stroke: #97a97b; stroke-width: 2; stroke-dasharray: 3 6; stroke-linecap: round; }
.shot-moon { fill: #dff0b9; stroke: #18231c; stroke-width: 1.8; }
.shot-crater { fill: #c4df8d; stroke: #91ac5d; stroke-width: 1.2; }
.shot-crater-line { fill: none; stroke: #91ac5d; stroke-width: 1.2; stroke-linecap: round; }
.shot-marker { fill: #18231c; stroke: #18231c; stroke-width: 1.5; stroke-linecap: round; stroke-linejoin: round; }
.shot-marker circle { fill: #c6f36b; stroke: none; }
.shot-endpoint { fill: #74796f; font: 7px 'DM Mono', monospace; letter-spacing: .7px; }
.account-dialog { max-width: 520px; }
.account-panel h2 { font: 600 28px 'Space Grotesk'; margin: 0 0 18px; }
.account-panel label { display: block; margin: 12px 0; font: 10px 'DM Mono'; text-transform: uppercase; color: #74796f; }
.account-panel input { display: block; width: 100%; margin-top: 6px; padding: 12px; border: 1px solid #d9dbd1; border-radius: 7px; background: #fffefa; color: #18231c; font: 14px 'DM Sans'; }
.account-panel .share-actions { justify-content: flex-start; flex-wrap: wrap; }
.account-submit { width: 100%; margin-top: 8px; }
.account-switch-copy { margin: 15px 0 5px !important; font-size: 12px !important; }
.account-switch { padding: 0; border: 0; background: none; color: #526f36; text-decoration: underline; font: 600 12px 'DM Sans'; cursor: pointer; }
.account-panel h3,.leaderboard h3 { font: 600 14px 'Space Grotesk'; margin: 18px 0 8px; }
.home-leaderboard { max-width: 640px; margin: 22px auto 0; }
.leaderboard-card { padding: 22px 24px; background: var(--white); border: 1px solid var(--line); border-radius: 12px; }
.leaderboard-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.leaderboard-heading .eyebrow { margin-bottom: 6px; }
.leaderboard-heading h2 { font: 600 22px 'Space Grotesk'; margin: 0 0 8px; }
.leaderboard-card .listitem { font: 12px 'DM Mono'; }
.saved-score { padding: 10px 0 0; }
.saved-score > p { font: 12px/1.5 'DM Mono'; }
.saved-score .listitem { font: 11px 'DM Mono'; }
.saved-score .listitem strong { text-align: right; }
.question-minimal { max-width: 640px; }
.question-minimal textarea { min-height: 100px; }
.game-compose-fields { max-width: 620px; margin-top: 16px; }
.game-compose-fields input { width: 100%; padding: 12px; border: 1px solid #d9dbd1; border-radius: 7px; background: #f6f5f0; color: #18231c; font: 14px 'DM Sans'; }
@media(max-width:650px) {
  .moonshot-graphic { width: min(100%, 260px); height: 114px; margin-top: -8px; }
  .admin-tabs { gap: 5px 14px; flex-wrap: wrap; }
  .bulk-paste { min-height: 220px !important; }
}
