.uf-result-screen[hidden] {
  display: none !important;
}

.uf-result-screen.hidden {
  display: none !important;
}

.uf-result-screen {
  position: fixed;
  inset: 0;
  z-index: 11000;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(24px, env(safe-area-inset-top)) 16px max(88px, env(safe-area-inset-bottom));
  overflow: hidden;
  overscroll-behavior: none;
  color: var(--uf-text, #eef0fb);
  background:
    radial-gradient(90% 70% at 50% 30%, rgba(38, 61, 114, .46), rgba(8, 13, 27, .96)),
    rgba(8, 13, 27, .88);
  backdrop-filter: blur(5px);
  -webkit-backdrop-filter: blur(5px);
}

.uf-result-screen:not(.uf-pause-screen) {
  background:
    radial-gradient(90% 70% at 50% 30%, rgba(38, 61, 114, .10), rgba(8, 13, 27, .20));
}

.uf-result-screen:not(.uf-pause-screen) .uf-result-card {
  background: linear-gradient(160deg, rgba(35, 53, 92, .86), rgba(12, 21, 45, .90));
}

.uf-pause-screen {
  z-index: 13000;
}

.uf-result-card {
  width: min(100%, 380px);
  padding: 28px 24px 24px;
  text-align: center;
  border: 1px solid var(--uf-line, rgba(215, 185, 233, .28));
  border-radius: 18px;
  background: linear-gradient(160deg, rgba(35, 53, 92, .94), rgba(12, 21, 45, .96));
  box-shadow: 0 20px 60px rgba(0, 0, 0, .52), 0 0 34px rgba(215, 185, 233, .12);
}

.uf-result-kicker {
  margin-bottom: 8px;
  color: var(--uf-accent, #d7b9e9);
  font: 700 11px/1.4 monospace;
  letter-spacing: .16em;
  text-transform: uppercase;
}

.uf-result-card h1,
.uf-result-card h2 {
  margin: 0;
  color: var(--uf-text, #eef0fb);
  font-size: clamp(24px, 7vw, 34px);
  line-height: 1.25;
}

.uf-result-score {
  margin: 18px 0 4px;
  color: var(--uf-accent, #d7b9e9);
  font: 700 clamp(38px, 12vw, 58px)/1.1 monospace;
  text-shadow: 0 0 22px rgba(215, 185, 233, .28);
}

.uf-result-stat {
  color: var(--uf-text-dim, rgba(238, 240, 251, .76));
  font: 700 13px/1.6 monospace;
}

.uf-result-share {
  margin-top: 20px;
}

.uf-result-songlinks {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 6px 12px;
  margin-top: 20px;
  color: var(--uf-text-dim, rgba(238, 240, 251, .76));
  font: 13px/1.9 var(--uf-font, system-ui, sans-serif);
}

.uf-result-songlinks a {
  color: var(--uf-accent, #d7b9e9);
  text-decoration: none;
  border-bottom: 1px solid var(--uf-line, rgba(215, 185, 233, .4));
}

.uf-result-songlinks a:hover {
  border-bottom-color: var(--uf-accent, #d7b9e9);
}

.uf-result-actions {
  display: flex;
  justify-content: center;
  margin-top: 22px;
}

.uf-result-retry {
  min-width: 150px;
  min-height: 44px;
  padding: 10px 20px;
  border: 1px solid var(--uf-accent, #d7b9e9);
  border-radius: 10px;
  color: var(--uf-on-accent, #0b1020);
  background: var(--uf-accent, #d7b9e9);
  font: 700 14px/1.2 var(--uf-font, system-ui, sans-serif);
  cursor: pointer;
}

.uf-result-retry:hover {
  background: var(--uf-accent-strong, #bb92d5);
}

.uf-result-retry:active {
  transform: scale(.97);
}

.uf-result-retry:focus-visible {
  outline: 3px solid var(--uf-text, #eef0fb);
  outline-offset: 3px;
}

@media (max-width: 420px) {
  .uf-result-card {
    padding: 24px 18px 20px;
  }
}

@media (orientation: landscape) and (max-height: 520px) {
  .uf-result-screen {
    padding: max(8px, env(safe-area-inset-top))
      max(12px, env(safe-area-inset-right))
      max(8px, env(safe-area-inset-bottom))
      max(12px, env(safe-area-inset-left));
  }

  .uf-result-card {
    width: min(100%, 440px);
    padding: 12px 18px 14px;
    border-radius: 12px;
  }

  .uf-result-kicker {
    margin-bottom: 2px;
    font-size: 9px;
  }

  .uf-result-card h1,
  .uf-result-card h2 {
    font-size: clamp(18px, 6vh, 28px);
    line-height: 1.1;
  }

  .uf-result-score {
    margin: 6px 0 2px;
    font-size: clamp(30px, 11vh, 48px);
  }

  .uf-result-stat {
    font-size: 11px;
    line-height: 1.25;
  }

  .uf-result-share {
    margin-top: 8px;
  }

  .uf-result-screen .uf-share-btn {
    width: 36px;
    height: 36px;
  }

  .uf-result-songlinks {
    gap: 4px 10px;
    margin-top: 8px;
    font-size: 11px;
    line-height: 1.35;
  }

  .uf-result-actions {
    margin-top: 10px;
  }

  .uf-result-retry {
    min-width: 124px;
    min-height: 36px;
    padding: 8px 16px;
    font-size: 12px;
  }
}

@media (orientation: landscape) and (max-height: 360px) {
  .uf-result-card {
    padding: 8px 14px 10px;
  }

  .uf-result-score {
    margin-top: 3px;
    font-size: clamp(28px, 10vh, 40px);
  }

  .uf-result-share {
    margin-top: 4px;
  }

  .uf-result-actions {
    margin-top: 6px;
  }
}
