[data-stage="stage16"] .sname { color: #ffe7aa; }
#s-summit-ending { background: #0b1428; overflow: hidden; isolation: isolate; }
#s-summit-ending [hidden] { display: none !important; }
.summit-art { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; object-position: 50% 30%; z-index: -3; transition: filter 1.8s, opacity 1.8s; animation: summit-reveal 3s ease-out both; }
.summit-halo { position: absolute; inset: 0; pointer-events: none; z-index: -2; background: linear-gradient(#08132455, transparent 25%, #09152c55 47%, #09152cf5 73%); }
.summit-bar { display: flex; align-items: center; justify-content: space-between; flex: none; gap: 6px; padding: 10px 12px; font-size: 11px; letter-spacing: 1px; color: #ffe9b0; text-shadow: 0 2px 4px #000; }
.summit-small { min-height: 40px; padding: 7px 12px; border: 1px solid #c1a86b99; border-radius: 8px; background: #101e35d9; color: #ffedc5; font: inherit; font-size: 12px; cursor: pointer; }
.summit-small[aria-pressed="true"] { background: #645026; border-color: #ffe3a1; }
.summit-dawn { margin-top: auto; padding: 12px 16px 8px; text-align: center; text-shadow: 0 2px 5px #000; animation: summit-message 2.5s ease-out both; }
#s-summit-ending h1 { margin: 8px 0 14px; font-size: clamp(27px, 8vw, 36px); letter-spacing: 5px; color: #ffe7a0; }
#s-summit-ending h2 { margin: 8px 0 12px; font-size: clamp(19px, 5.5vw, 25px); color: #ffe7a0; }
#s-summit-ending p { font-size: 12px; line-height: 1.9; margin: 8px 0; overflow-wrap: anywhere; }
#s-summit-ending .summit-eyebrow { font-size: 10px; letter-spacing: 2px; color: #efd4a0; }
#s-summit-ending .summit-thanks { color: #ffe7a0; margin: 12px 0; }
#s-summit-ending .btn { font-size: 14px; letter-spacing: 0; padding: 10px 8px; max-width: 100%; }
.summit-dawn .btn { width: 100%; }
.summit-controls { flex: none; position: relative; padding: 8px 12px max(12px, env(safe-area-inset-bottom)); text-align: center; background: #0b152ce6; }
#summit-hint { display: block; font-size: 10px; line-height: 1.6; color: #d5d1c4; margin-bottom: 6px; }
.summit-controls > div:not(.summit-progress) { display: flex; justify-content: center; gap: 12px; }
.summit-progress { height: 2px; background: #ffffff15; position: absolute; bottom: 0; left: 0; right: 0; }
.summit-progress i { display: block; height: 100%; width: 0; background: #efd199; box-shadow: 0 0 8px #efd199; }
#s-summit-ending[data-phase="roll"] .summit-art { filter: blur(5px) brightness(.26); }
#s-summit-ending[data-phase="future"] .summit-art { filter: brightness(.38); }
.summit-roll { min-height: 0; flex: 1; display: flex; flex-direction: column; }
.summit-roll-heading { text-align: center; padding: 2px 8px 10px; flex: none; }
.summit-window { flex: 1; min-height: 0; overflow: hidden; position: relative; cursor: pointer; mask-image: linear-gradient(transparent, #000 8%, #000 88%, transparent); }
.summit-track { padding: 100px 18px 240px; will-change: transform; }
.summit-companion { display: flex; gap: 14px; align-items: center; min-height: 160px; padding: 10px 0; border-bottom: 1px solid #efd19925; }
.summit-companion img { width: 112px; height: 132px; object-fit: contain; flex: none; filter: drop-shadow(0 0 9px #d5b17b44); }
.summit-companion > div { min-width: 0; }
.summit-companion h3 { font-size: 17px; margin: 9px 0; line-height: 1.6; overflow-wrap: anywhere; }
.summit-stars { font-size: 13px; letter-spacing: 2px; color: #ffd87b; }
#s-summit-ending .summit-companion p { font-size: 10px; color: #d0c8b9; }
.summit-record { text-align: center; padding: 36px 0; }
.summit-record h3 { font-size: 16px; color: #ffe2a4; margin: 0 0 16px; line-height: 1.7; }
.summit-record::before { content: ''; display: block; width: 50px; height: 1px; margin: 0 auto 24px; background: linear-gradient(90deg, transparent, #e4c381, transparent); }
.summit-future { margin: auto 0; padding: 16px 22px; text-align: center; overflow-y: auto; touch-action: pan-y; min-height: 0; animation: summit-message 1.8s ease-out both; }
.summit-actions { display: flex; flex-direction: column; gap: 10px; margin: 24px 0 14px; }
#s-summit-ending .summit-replay-note { font-size: 10px; color: #ded3bd; }
@keyframes summit-reveal { from { opacity: 0; transform: scale(1.035); } to { opacity: 1; transform: scale(1); } }
@keyframes summit-message { from { opacity: 0; transform: translateY(12px); } to { opacity: 1; transform: translateY(0); } }
@media (max-height: 600px) {
  .summit-bar { padding: 4px 10px; }
  .summit-dawn { padding: 5px 12px; }
  #s-summit-ending h1 { margin: 4px 0 7px; font-size: 27px; }
  #s-summit-ending .summit-thanks { margin: 5px 0; }
  .summit-controls { padding-top: 4px; padding-bottom: 6px; }
  .summit-future { padding: 8px 18px; }
  .summit-actions { margin-top: 12px; gap: 8px; }
}
@media (prefers-reduced-motion: reduce) {
  .summit-art, .summit-dawn, .summit-future { animation: none; transition: none; }
}
#s-home.both-endings .bar { height: auto; min-height: 112px; }
