#christmasPanel { margin-top: 20px; }
#christmasPanel [hidden] { display: none !important; }
.christmas-heading { display: flex; align-items: center; gap: 18px; padding: 22px; border: 1px solid rgba(245,197,24,.3); border-radius: 22px; background: linear-gradient(135deg, #30241b, #18251f); }
.christmas-heading img { flex: 0 0 100px; object-fit: contain; }
.christmas-heading h3 { margin: 5px 0; font-size: clamp(1.35rem, 4vw, 2rem); }
.christmas-heading p { margin: 0; color: #d4cbbf; line-height: 1.5; }
.christmas-kicker { color: var(--yellow, #f5c518); font-size: .7rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.christmas-parcours-link { display: inline-flex; margin: 8px 0 18px; }
.christmas-rules { padding: 18px; border: 1px solid #383832; border-radius: 16px; margin-bottom: 22px; background: #1d1d1e; }
.christmas-rules summary { cursor: pointer; font-weight: 800; }
.christmas-rules p { line-height: 1.6; font-size: .85rem; }
.christmas-rules form { display: grid; gap: 12px; }
.christmas-stages { display: grid; gap: 16px; }
.christmas-stage { padding: 18px; }
.christmas-stage-heading { display: flex; align-items: flex-start; gap: 12px; margin-bottom: 18px; }
.christmas-stage-number { display: grid; place-items: center; flex: 0 0 32px; width: 32px; height: 32px; background: #34422c; color: #f5c518; border-radius: 10px; font-weight: 900; }
.christmas-stage-heading h4 { margin: 0 0 6px; font-size: 1rem; }
.christmas-stage-heading p { margin: 0; color: var(--muted, #aaa); font-size: .85rem; line-height: 1.5; }
.christmas-stage-heading > strong { white-space: nowrap; margin-left: auto; color: #f5c518; }
.christmas-stage-penalty { border-color: rgba(245,109,101,.4); }
.christmas-stage-penalty .christmas-stage-heading > strong { color: #ffb0a8; }
.christmas-stage .long-stage-line { display: grid; grid-template-columns: minmax(0,1fr) 44px 64px 44px; gap: 8px; align-items: center; }
.christmas-stage .long-stage-line label { min-width: 0; font-size: .85rem; }
.christmas-stage label small { display: block; margin-top: 5px; color: var(--muted, #aaa); font-weight: 400; }
.christmas-stage input { width: 64px; padding: 10px 3px; text-align: center; -moz-appearance: textfield; }
.christmas-stage input::-webkit-inner-spin-button { -webkit-appearance: none; margin: 0; }
.christmas-stage .long-stage-step { min-width: 44px; min-height: 44px; }
.christmas-signature { display: block; width: 100%; height: 150px; border-radius: 14px; background: #0d0d0f; touch-action: none; }
.christmas-form-actions { display: flex; gap: 12px; justify-content: space-between; }
.christmas-form-actions .primary-action { flex: 1; }
.christmas-results { margin-top: 30px; }
.christmas-results h3 { margin: 24px 0 10px; }
.christmas-results .score-progress-card { margin-bottom: 12px; }
.christmas-results .score-progress-card header { display: flex; justify-content: space-between; gap: 14px; }
.christmas-results small { display: block; margin-top: 5px; }
.christmas-results p, .christmas-results details { font-size: .85rem; line-height: 1.6; }
.christmas-results .score-row-actions { margin-top: 12px; display: flex; gap: 8px; flex-wrap: wrap; }
.christmas-ranking { display: grid; gap: 8px; }
.christmas-ranking > div { display: grid; grid-template-columns: 24px minmax(0,1fr) auto; gap: 8px 12px; align-items: center; background: #20231f; padding: 16px; border-radius: 14px; }
.christmas-ranking b { color: #f5c518; }
.christmas-ranking small { grid-column: 2 / 4; color: var(--muted, #aaa); }
@media (max-width: 400px) {
  .christmas-heading { padding: 16px; gap: 12px; }
  .christmas-heading img { flex-basis: 76px; width: 76px; height: auto; }
  .christmas-stage { padding: 14px; }
  .christmas-stage-heading { gap: 8px; }
  .christmas-stage .long-stage-line { grid-template-columns: minmax(0,1fr) 40px 48px 40px; gap: 5px; }
  .christmas-stage input { width: 48px; }
  .christmas-stage .long-stage-step { min-width: 40px; }
}
