/* S3-S6 additions stay inside the existing field and result card. */
#startOverlay.overlay{padding:10px;align-items:center}
#startOverlay .modal{max-height:100%;padding:12px;width:min(100%,480px)}
#startOverlay h1{font-size:20px;margin:0;line-height:1.2}
#startOverlay .start-copy{font-size:12px;line-height:1.35;margin:5px 0}
#startOverlay .start-copy strong{font-size:14px;margin-bottom:2px}
#startOverlay .start-copy br{display:none}
#startOverlay .stage-grid{gap:6px;margin:6px 0}
#startOverlay .stage-card{min-height:0;padding:6px}
#startOverlay .stage-thumb{height:32px;margin-bottom:4px}
#startOverlay .card-bottom{margin-top:3px}
#startOverlay .compact-progress{padding:4px;margin:4px 0}
#startOverlay #stageSummary{padding:4px;margin:3px 0 5px;font-size:11px}
#startOverlay #startBtn{padding:10px;min-height:44px}
#startOverlay .secret-stage-card{padding:5px 7px}
@media(max-width:480px){#startOverlay h1{font-size:18px}#startOverlay .modal{padding:10px}}
@media(max-height:700px){#startOverlay .start-copy{display:none}}
.game.eclipse-active{background:linear-gradient(180deg,#101a37 0 50%,#24395b 50% 100%);box-shadow:inset 0 0 60px #7c80b455,var(--shadow)}
.eclipse-active .dragon-meter{background:#393858;box-shadow:0 0 18px #b7b1ff88}
.eclipse-active .target{filter:drop-shadow(0 0 9px #e9e8ff66)}
.eclipse-active .moon-zone{left:4%;top:25%;width:92%;height:48%;animation:none;border-color:#d7daff55}
.eclipse-active .moon-zone span{font-size:12px}
.game.dragon-flight{background:linear-gradient(180deg,#182b55,#40628c 70%,#90aac7)}
.game.dragon-flight .flight-target{width:72px;height:72px;transform:translate(-50%,-50%);animation:flightFloat 1s ease-in-out infinite alternate}
.flight-target:focus-visible{outline:3px solid #ffe16d;border-radius:50%}
.flight-target .flight-duck{font-size:52px}
.flight-rider{position:absolute;left:50%;bottom:94px;width:62px;height:62px;display:grid;place-items:center;transform:translateX(-50%);font-size:52px;transition:left .18s ease-out;pointer-events:none;filter:drop-shadow(0 0 12px #ffed9a99)}
.flight-hint{position:absolute;bottom:22px;left:16px;right:100px;font-size:13px;font-weight:850;color:#fff;pointer-events:none;line-height:1.4}
.game[data-run-phase="DRAGON_CALLED"] .secret-dragon{filter:brightness(1.6);opacity:1}
.secret-result .secret-result-stats{gap:5px;margin:5px 0}
.secret-result .secret-result-stats div{display:flex;align-items:center;justify-content:space-between;gap:3px;flex-wrap:wrap;padding:5px 7px;font-size:12px}
.secret-result .secret-result-stats strong{font-size:16px;white-space:nowrap}
.score-breakdown{font-size:12px;line-height:1.45;color:#4d6375;margin:5px 0}
.contract-card{padding:7px 9px;border-radius:12px;background:#eef1fa;text-align:left;font-size:12px;line-height:1.4}
.contract-card strong{font-size:15px;color:#17426b}
.contract-card p{margin:3px 0 0}
.contract-checks{display:flex;gap:4px 8px;flex-wrap:wrap}
.contract-checks .met{color:#137258}
.secret-result .result-actions{gap:3px;margin-top:6px}
.secret-result .sub-actions{grid-template-columns:1fr 1fr;gap:6px}
.secret-result .btn{font-size:14px;min-height:44px;padding:9px 6px;margin:0}
.secret-result #resultRankingBtn,.secret-result #shareBtn{min-height:32px;padding:4px;font-size:12px}
.secret-result .score-line{margin:2px 0}
.secret-result .record-updates{margin:3px 0;gap:3px}
.secret-result .record-badge{font-size:10px;padding:3px 5px}
.secret-result .online-rank-result{font-size:11px;padding:4px;margin:3px 0}
#endOverlay .secret-result{max-height:100%;padding:10px 12px}
#endOverlay .secret-result h1{font-size:18px;margin-bottom:3px}
/* Short screens give the existing Secret result card the full viewport so
   new-record badges cannot push its primary actions below the field. */
@media(max-height:700px){#endOverlay:has(>.secret-result){position:fixed;inset:0;z-index:50;padding:12px;align-items:center}}
.secret-result #resultState{font-size:13px}
.secret-result .score-line strong{font-size:32px}
@keyframes flightFloat{to{margin-top:-5px}}
@media(prefers-reduced-motion:reduce){.flight-target{animation:none!important}.flight-rider{transition:none}.eclipse-active .target{animation:none}}

/* === v9.9.14 ruleset 2.2 result visibility === */
.secret-result .score-breakdown.hidden,
.secret-result .online-rank-result.hidden{display:none!important}
.secret-result .score-breakdown:not(.hidden),
.secret-result .online-rank-result:not(.hidden){display:block!important}
.secret-result .contract-card{
  padding:8px 10px;
  text-align:center;
  display:grid;
  gap:2px;
}
.secret-result .contract-card strong{
  font-size:20px;
  line-height:1.2;
  color:#17426b;
}
.secret-result .contract-card p{
  margin:0;
  font-size:11px;
  line-height:1.35;
  color:#5d7183;
}
.secret-result .secret-result-stats div{
  min-height:42px;
}
