.leap-page { padding: 48px 0 64px; }
.leap-eyebrow { color: #975019; font-size: 12px !important; font-weight: 800; letter-spacing: .13em; }
.leap-intro { font-size: 17px !important; line-height: 1.85; }
.leap-page .article-hero figcaption { padding: 10px 14px; background: #f4f6f8; color: #566275; font-size: 12px; line-height: 1.6; }
.leap-skip { position: absolute; top: -80px; left: 16px; z-index: 999; padding: 12px 18px; background: #fff; color: #153d68; }
.leap-skip:focus { top: 8px; }
.leap-timeline { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin: 20px 0; }
.leap-timeline > div { padding: 22px 16px; background: #f7f8fa; border: 1px solid #d9e0e8; border-radius: 12px; }
.leap-timeline > div:last-child { background: #1e3047; border-color: #1e3047; color: #fff; }
.leap-stage { display: block; font-size: 12px; font-weight: 800; color: #606d7f; }
.leap-timeline strong { display: block; font-size: clamp(20px, 3vw, 26px); letter-spacing: -1px; margin: 9px 0 3px; color: #1e3047; }
.leap-timeline p { font-size: 14px; font-weight: 700; margin-bottom: 12px; }
.leap-timeline small { font-size: 12px; color: #616d7c; }
.leap-timeline > div:last-child :is(strong,.leap-stage,small) { color: #fff; }
.leap-worlds th { text-align: left; }
.leap-worlds th[scope="row"] { background: #f6f8fa; color: #23364d; min-width: 145px; }
.leap-note { border-left: 4px solid #2d797c; border-radius: 4px 12px 12px 4px; background: #f0f8f7; padding: 20px 22px; margin: 24px 0; }
.leap-note h3 { margin: 0 0 10px; }
.leap-note p:last-child { margin-bottom: 0; }
.leap-checklist { border: 1px solid #bdcddd; border-radius: 14px; background: #f8fafc; padding: 24px; margin: 24px 0; scroll-margin-top: 90px; }
.leap-check-head { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 12px; }
.leap-check-head h3 { margin: 0; }
#leap-progress { font-size: 13px; font-weight: 800; white-space: nowrap; border-radius: 30px; background: #1e3047; color: #fff; padding: 7px 12px; }
.leap-check-help { color: #5e6a7c; font-size: 13px !important; margin: 14px 0 18px; }
.leap-check-items { display: grid; gap: 9px; }
.leap-check-items label { display: flex; align-items: flex-start; gap: 12px; padding: 15px; background: #fff; border: 1px solid #dce3eb; border-radius: 9px; cursor: pointer; line-height: 1.65; font-size: 15px; }
.leap-check-items label:has(input:checked) { background: #ebf5f2; border-color: #a6c9bd; }
.leap-check-items input { flex: 0 0 20px; width: 20px; height: 20px; margin-top: 3px; accent-color: #20684f; cursor: pointer; }
.leap-check-actions { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.leap-check-actions[hidden] { display: none; }
.leap-check-actions button { border: 1px solid #aebdcd; border-radius: 8px; background: #fff; color: #243f5a; font: inherit; font-size: 14px; font-weight: 700; padding: 11px 15px; cursor: pointer; }
.leap-check-actions button:last-child { background: #243f5a; color: #fff; border-color: #243f5a; }
.leap-checklist :is(button,input):focus-visible { outline: 3px solid #2563a6; outline-offset: 4px; }
.leap-related { margin: 30px 0; }
.leap-related a { display: flex; justify-content: space-between; gap: 14px; border-bottom: 1px solid #dce3eb; padding: 14px 0; color: #354f6a; font-size: 15px; text-decoration: underline; text-underline-offset: 3px; }
@media (max-width: 640px) {
  .leap-page { padding-top: 24px; }
  .leap-timeline { grid-template-columns: 1fr; }
  .leap-timeline > div { display: grid; grid-template-columns: 1fr 1fr; align-items: center; gap: 3px 12px; padding: 17px 18px; }
  .leap-timeline strong { grid-column: 1; grid-row: 2 / 4; margin: 0; font-size: 26px; }
  .leap-stage { grid-column: 1 / -1; margin-bottom: 4px; }
  .leap-timeline p { grid-column: 2; margin-bottom: 0; }
  .leap-timeline small { grid-column: 2; }
  .leap-checklist { padding: 18px 13px; }
  .leap-check-items label { padding: 13px 11px; }
  .leap-note { padding: 18px; }
}
@media print {
  @page { size: A4; margin: 16mm; }
  body { background: #fff !important; color: #000; }
  .site-header,.site-footer,.float-kakao,.leap-skip { display: none !important; }
  .leap-page,.leap-page > .wrap { padding: 0 !important; }
  .leap-page .article { max-width: none; padding: 0; margin: 0; border: 0; box-shadow: none; }
  .leap-page .article > * { display: none !important; }
  .leap-page .article > :is(h1,.meta,#checklist,.leap-checklist) { display: block !important; }
  .leap-page .article h1 { font-size: 19pt; }
  .leap-page .article h2 { font-size: 14pt; margin-top: 20px; }
  .leap-checklist { background: #fff; padding: 15px; break-inside: avoid; }
  .leap-check-items label { font-size: 11pt; padding: 10px; }
  .leap-check-help,.leap-check-actions { display: none !important; }
  .leap-checklist::after { content: '대상 캐릭터: ____________________   목적지: ____________________\A이동할 날짜: ____________________   남은 할 일: ____________________\A\A시즌4 기준 · 2026.09.09 확인 · 메이플급처템.com'; white-space: pre-wrap; display: block; font-size: 10pt; line-height: 2; margin-top: 20px; }
}
