.screen--results {
  flex-direction: column;
  overflow:       hidden;
}

/* ─── Volcano panel ──────────────────────────────────────────────────────────── */

.results__volcano {
  flex-shrink:     0;
  position:        relative;
  height:          42%;
  overflow:        hidden;
  background:      linear-gradient(to bottom, #1a1a1a, #2b2b2b);
}

.results__volcano-svg {
  width:  100%;
  height: 100%;
}

/* Altitude gauge */
.results__gauge {
  position:      absolute;
  left:          var(--sp-3);
  top:           var(--sp-3);
  bottom:        var(--sp-3);
  width:         8px;
  background:    var(--c-bg-elevated);
  border-radius: var(--r-full);
  overflow:      hidden;
}

.results__gauge__fill {
  position:      absolute;
  bottom:        0;
  width:         100%;
  border-radius: var(--r-full);
  background:    linear-gradient(to top, var(--c-accent), var(--c-gold), var(--c-success));
  transition:    height 1.5s cubic-bezier(0.4, 0, 0.2, 1);
}

/* Round info overlay */
.results__round-badge {
  position:      absolute;
  top:           var(--sp-3);
  right:         var(--sp-3);
  background:    rgba(0,0,0,0.6);
  border-radius: var(--r-full);
  padding:       var(--sp-1) var(--sp-3);
  font-size:     var(--fs-xs);
  color:         var(--c-text-muted);
}

/* ─── Score panel ────────────────────────────────────────────────────────────── */

.results__scores {
  flex:           1;
  overflow-y:     auto;
  padding:        var(--sp-4);
  display:        flex;
  flex-direction: column;
  gap:            var(--sp-3);
}

.results__title {
  font-size:   var(--fs-lg);
  font-weight: var(--fw-bold);
  text-align:  center;
}

/* Player score rows */
.results__list {
  display:        flex;
  flex-direction: column;
  gap:            var(--sp-2);
}

.results__row {
  display:       flex;
  align-items:   center;
  gap:           var(--sp-3);
  padding:       var(--sp-3) var(--sp-4);
  background:    var(--c-bg-card);
  border-radius: var(--r-md);
  animation:     row-in 400ms ease-out both;
}

.results__row:nth-child(1) { animation-delay: 100ms; }
.results__row:nth-child(2) { animation-delay: 200ms; }
.results__row:nth-child(3) { animation-delay: 300ms; }
.results__row:nth-child(4) { animation-delay: 400ms; }
.results__row:nth-child(5) { animation-delay: 500ms; }

@keyframes row-in {
  from { opacity: 0; transform: translateY(10px); }
  to   { opacity: 1; transform: translateY(0); }
}

/* Ghost rows below divider */
.results__row--ghost {
  opacity:    0.55;
  background: rgba(255,255,255,0.04);
}

/* Highlight current player */
.results__row--me {
  border: 1.5px solid var(--c-primary);
}

.results__rank {
  font-size:   var(--fs-base);
  font-weight: var(--fw-bold);
  min-width:   24px;
  text-align:  center;
}

.results__name {
  flex:        1;
  font-weight: var(--fw-bold);
  font-size:   var(--fs-sm);
}

.results__delta {
  font-size:  var(--fs-sm);
  color:      var(--c-primary);
  font-weight: var(--fw-bold);
  min-width:  52px;
  text-align: right;
}

.results__delta--zero { color: var(--c-text-dim); }

.results__total {
  font-size:  var(--fs-sm);
  color:      var(--c-text-muted);
  min-width:  64px;
  text-align: right;
}

/* Ghost divider */
.results__divider {
  display:     flex;
  align-items: center;
  gap:         var(--sp-3);
  font-size:   var(--fs-xs);
  color:       var(--c-text-dim);
}

.results__divider::before,
.results__divider::after {
  content:    '';
  flex:       1;
  height:     1px;
  background: rgba(255,255,255,0.08);
}

/* ─── Footer ─────────────────────────────────────────────────────────────────── */

.results__footer {
  padding:       var(--sp-4);
  padding-bottom: calc(var(--sp-4) + var(--safe-bottom));
  border-top:    1px solid rgba(255,255,255,0.06);
  flex-shrink:   0;
}

/* Countdown ring on button */
.btn--countdown {
  position: relative;
  overflow: hidden;
}

.btn--countdown::after {
  content:    '';
  position:   absolute;
  left:       0;
  bottom:     0;
  height:     3px;
  width:      100%;
  background: rgba(255,255,255,0.3);
  transform:  scaleX(1);
  transform-origin: left;
  transition: transform 1s linear;
}

.btn--countdown.ticking::after {
  transform: scaleX(0);
}

/* ─── Volcano SVG character positions ───────────────────────────────────────── */

.volcano-char {
  transition: transform 1.5s cubic-bezier(0.4, 0, 0.2, 1);
  cursor:     default;
  user-select: none;
}

.volcano-char text {
  font-size: 16px;
  text-anchor: middle;
}

.volcano-char.ghost { opacity: 0.4; }
