/* 엔딩: 게임 화면 전체를 덮습니다(결과 화면 #overlay z-index 40보다는 아래). */
#ending{position:absolute;inset:0;z-index:35;overflow:hidden;background:#0b1a44;pointer-events:none}
#ending[hidden],#ending-black[hidden],#ending .ending-quote[hidden]{display:none}
#ending-black{position:absolute;inset:0;z-index:36;background:#000;opacity:0;pointer-events:none}
#game.ending-playing .hud,#game.ending-playing #jump,#game.ending-playing #slide,#game.ending-playing #status,
#game.ending-playing .boss-hp,#game.ending-playing .boss-down,#game.ending-playing #boss-alert{visibility:hidden}

/* 장면은 게임 좌표(높이 480 + 하늘)로 그리고 게임 화면 높이에 맞춰 키웁니다. */
.ending-stage{position:absolute;left:0;top:0;transform-origin:0 0;will-change:transform}
.ending-sky{position:absolute;left:0;right:0;top:0;
  /* 맨 아래는 map1 하늘 꼭대기 색(#2ba3fd)과 같고, 위로 갈수록 끊김 없이 밤하늘로 어두워집니다. */
  background:linear-gradient(to bottom,#071331 0%,#0d1f4d 18%,#16336f 36%,#1f4c95 54%,#2669bd 70%,#2a86e0 84%,#2b98f3 93%,#2ba3fd 100%)}
.ending-map{position:absolute;left:0;width:1440px;height:480px;object-fit:cover;object-position:left top;
  /* 맵 윗부분은 하늘에 스며들도록 서서히 투명하게 */
  -webkit-mask-image:linear-gradient(to bottom,transparent 0,#000 90px);mask-image:linear-gradient(to bottom,transparent 0,#000 90px)}
.ending-clouds{position:absolute;inset:0}
.ending-cloud,.ending-arch{position:absolute}
.ending-cloud{transform-origin:0 0}
.ending-rear,.ending-front{position:absolute;left:0;top:0;overflow:visible}
.ending-runner{position:absolute;left:0;top:0;object-fit:contain;will-change:transform}
.ending-shadow{position:absolute;left:0;top:0;width:66px;height:10px;border-radius:50%;background:#183c3238}
.ending-ground-fx,.ending-sky-fx{position:absolute;left:0}

/* 명언 */
.ending-quote{position:absolute;z-index:3;left:50%;top:44%;width:min(88%,760px);text-align:center;color:#fff;opacity:0;transform:translate(-50%,-50%)}
.ending-quote p{margin:0;white-space:pre-line;font:900 clamp(24px,4.4vw,46px)/1.35 system-ui,sans-serif;letter-spacing:1px;
  text-shadow:0 3px 0 #1647a3,0 0 22px #6fb6ffcc,0 0 2px #000}
.ending-quote span{display:block;margin-top:14px;font:800 clamp(13px,1.8vw,18px)/1 system-ui,sans-serif;color:#cfe3ff;text-shadow:0 1px 3px #000}

/* 기록증 저장 버튼(완주 결과 화면) */
#certificate-save{display:block;width:min(100%,250px);min-height:44px;margin:0 auto 10px;border:0;border-radius:24px;
  background:#ffd23f;color:#0b3f96;font-size:16px;font-weight:800;cursor:pointer;box-shadow:0 3px 0 #d9a400}
#certificate-save[hidden]{display:none}
#certificate-save:disabled{opacity:.7;cursor:progress}
#certificate-save:focus-visible{outline:3px solid #0068b7;outline-offset:2px}
.mobile-playing #certificate-save:not([hidden]){width:calc(100% - 4px);min-height:40px;margin:0 2px 8px}
