@import url("https://fonts.googleapis.com/css2?family=Barlow+Condensed:wght@500;600;700;800&family=Inter:wght@400;500;600;700;800&display=swap");

:root {
  --bg: #07101d;
  --bg-2: #0d1729;
  --panel: rgba(12, 20, 35, 0.72);
  --panel-strong: rgba(10, 16, 28, 0.92);
  --line: rgba(255, 255, 255, 0.08);
  --line-strong: rgba(255, 255, 255, 0.16);
  --text: #eef4ff;
  --muted: #98a8c2;
  --gold: #f7c96a;
  --gold-2: #ffdb90;
  --blue: #72b2ff;
  --green: #84e7b6;
  --red: #ff7a88;
  --purple: #a291ff;
  --shadow: 0 30px 80px rgba(0, 0, 0, 0.45);
  --radius-xl: 28px;
  --radius-lg: 22px;
  --radius-md: 16px;
  --radius-sm: 12px;
  --container: 1220px;
  --transition: 180ms ease;
}

*,
*::before,
*::after {
  box-sizing: border-box;
}

html {
  scroll-behavior: smooth;
}

body {
  margin: 0;
  min-height: 100vh;
  background:
    radial-gradient(circle at top left, rgba(247, 201, 106, 0.12), transparent 34%),
    radial-gradient(circle at 85% 5%, rgba(114, 178, 255, 0.14), transparent 28%),
    radial-gradient(circle at 50% 110%, rgba(162, 145, 255, 0.16), transparent 24%),
    linear-gradient(180deg, #050913 0%, var(--bg) 45%, #09111d 100%);
  color: var(--text);
  font-family: "Inter", system-ui, sans-serif;
  overflow-x: hidden;
}

body::before,
body::after {
  content: "";
  position: fixed;
  inset: 0;
  pointer-events: none;
  z-index: -1;
}

body::before {
  background:
    radial-gradient(circle at 10% 20%, rgba(255, 255, 255, 0.05), transparent 16%),
    radial-gradient(circle at 85% 35%, rgba(255, 255, 255, 0.05), transparent 18%),
    radial-gradient(circle at 25% 78%, rgba(255, 255, 255, 0.03), transparent 18%);
  filter: blur(2px);
  animation: drift 22s linear infinite;
}

body::after {
  opacity: 0.06;
  background-image:
    linear-gradient(rgba(255, 255, 255, 0.15) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255, 255, 255, 0.15) 1px, transparent 1px);
  background-size: 120px 120px;
  mask-image: radial-gradient(circle at center, black, transparent 80%);
}

@keyframes drift {
  0% { transform: translate3d(0, 0, 0) scale(1); }
  50% { transform: translate3d(-12px, 10px, 0) scale(1.03); }
  100% { transform: translate3d(0, 0, 0) scale(1); }
}

@keyframes rise {
  from {
    opacity: 0;
    transform: translateY(16px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes glow {
  0%, 100% { box-shadow: 0 0 0 rgba(247, 201, 106, 0.0); }
  50% { box-shadow: 0 0 32px rgba(247, 201, 106, 0.18); }
}

a {
  color: inherit;
  text-decoration: none;
}

img {
  max-width: 100%;
  display: block;
}

button,
input,
textarea,
select {
  font: inherit;
}

.skip-link {
  position: absolute;
  left: 16px;
  top: -48px;
  z-index: 99;
  padding: 10px 14px;
  border-radius: 999px;
  background: var(--gold);
  color: #132238;
  transition: top var(--transition);
}

.skip-link:focus {
  top: 16px;
}

.site-container {
  width: min(var(--container), calc(100% - 32px));
  margin-inline: auto;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 20;
  backdrop-filter: blur(20px);
  background: linear-gradient(180deg, rgba(5, 9, 19, 0.92), rgba(5, 9, 19, 0.66));
  border-bottom: 1px solid var(--line);
}

.site-header__inner {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 0;
}

.brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
}

.brand__glyph {
  width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 18px;
  background:
    linear-gradient(145deg, rgba(247, 201, 106, 0.95), rgba(255, 219, 144, 0.3)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.16), transparent);
  color: #1b2436;
  font-family: "Cinzel", serif;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  box-shadow: 0 18px 40px rgba(247, 201, 106, 0.22);
}

.brand__copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.brand__copy strong {
  font-family: "Cinzel", serif;
  letter-spacing: 0.04em;
  font-size: 1.05rem;
}

.brand__copy small {
  color: var(--muted);
  font-size: 0.82rem;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}

.site-nav__link {
  padding: 11px 14px;
  border-radius: 999px;
  border: 1px solid transparent;
  color: var(--muted);
  transition: transform var(--transition), border-color var(--transition), background var(--transition), color var(--transition);
}

.site-nav__link:hover,
.site-nav__link:focus-visible {
  transform: translateY(-1px);
  border-color: var(--line-strong);
  color: var(--text);
  background: rgba(255, 255, 255, 0.04);
}

.site-nav__link--accent {
  color: #162033;
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-2) 100%);
  border-color: rgba(255, 219, 144, 0.4);
  box-shadow: 0 14px 28px rgba(247, 201, 106, 0.22);
}

.site-nav__link--accent:hover,
.site-nav__link--accent:focus-visible {
  color: #162033;
}

.site-main {
  padding: 26px 0 60px;
}

.site-footer {
  padding: 28px 0 42px;
  color: var(--muted);
}

.site-footer__inner {
  display: flex;
  justify-content: space-between;
  gap: 24px;
  padding-top: 24px;
  border-top: 1px solid var(--line);
}

.site-footer__inner strong {
  color: var(--text);
  font-family: "Cinzel", serif;
}

.site-footer__meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: right;
}

.site-ambient {
  position: fixed;
  inset: auto;
  width: 520px;
  height: 520px;
  border-radius: 50%;
  pointer-events: none;
  filter: blur(80px);
  opacity: 0.35;
  z-index: -2;
}

.site-ambient--one {
  left: -180px;
  top: 140px;
  background: rgba(247, 201, 106, 0.18);
}

.site-ambient--two {
  right: -220px;
  top: 460px;
  background: rgba(114, 178, 255, 0.16);
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.85fr);
  gap: 24px;
  align-items: stretch;
}

.hero__copy {
  padding: 24px 0;
}

.hero__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 14px;
  border: 1px solid rgba(247, 201, 106, 0.24);
  border-radius: 999px;
  background: rgba(247, 201, 106, 0.08);
  color: var(--gold-2);
  letter-spacing: 0.06em;
  text-transform: uppercase;
  font-size: 0.78rem;
}

.hero__title {
  margin: 18px 0 14px;
  max-width: 12ch;
  font-family: "Cinzel", serif;
  font-size: clamp(3rem, 8vw, 5.6rem);
  line-height: 0.94;
  letter-spacing: 0.03em;
}

.hero__title span {
  color: var(--gold);
  text-shadow: 0 0 36px rgba(247, 201, 106, 0.28);
}

.hero__lead {
  max-width: 62ch;
  color: var(--muted);
  font-size: 1.05rem;
  line-height: 1.7;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 26px;
}

.hero__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
  margin-top: 28px;
}

.hero__stat {
  padding: 18px;
  border-radius: var(--radius-lg);
  background: var(--panel);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  animation: glow 6s ease-in-out infinite;
}

.hero__stat-value {
  display: block;
  color: var(--gold-2);
  font-family: "Cinzel", serif;
  font-size: 1.55rem;
}

.hero__stat-label {
  display: block;
  margin-top: 6px;
  color: var(--muted);
  font-size: 0.88rem;
}

.panel {
  padding: 22px;
  border-radius: var(--radius-xl);
  background: var(--panel);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
  backdrop-filter: blur(20px);
}

.panel--hero {
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  min-height: 100%;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 60%),
    var(--panel);
}

.panel--accent {
  border-color: rgba(247, 201, 106, 0.22);
}

.section {
  margin-top: 28px;
}

.section__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 16px;
}

.section__title {
  margin: 0;
  font-family: "Cinzel", serif;
  font-size: clamp(1.6rem, 2.6vw, 2.3rem);
}

.section__lead {
  margin: 8px 0 0;
  max-width: 70ch;
  color: var(--muted);
  line-height: 1.7;
}

.section__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.grid {
  display: grid;
  gap: 18px;
}

.grid--cards {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.grid--decks {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.grid--meta {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid--two {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.tile-card,
.form-card,
.profile-card,
.table-panel {
  position: relative;
  border-radius: var(--radius-xl);
  border: 1px solid var(--line);
  background: var(--panel);
  backdrop-filter: blur(18px);
  box-shadow: var(--shadow);
}

.tile-card {
  overflow: hidden;
  transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition);
}

.tile-card:hover,
.tile-card:focus-within {
  transform: translateY(-6px);
  border-color: rgba(247, 201, 106, 0.32);
  box-shadow: 0 26px 60px rgba(0, 0, 0, 0.48);
}

[data-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity 600ms ease, transform 600ms ease;
}

[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

.btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-height: 46px;
  padding: 0 18px;
  border-radius: 999px;
  border: 1px solid transparent;
  font-weight: 700;
  transition: transform var(--transition), background var(--transition), border-color var(--transition), color var(--transition);
  cursor: pointer;
}

.btn:hover,
.btn:focus-visible {
  transform: translateY(-1px);
}

.btn--primary {
  color: #172236;
  background: linear-gradient(135deg, var(--gold) 0%, var(--gold-2) 100%);
  border-color: rgba(255, 219, 144, 0.42);
}

.btn--ghost {
  color: var(--text);
  background: rgba(255, 255, 255, 0.04);
  border-color: var(--line-strong);
}

.btn--danger {
  color: #fff;
  background: linear-gradient(135deg, var(--red), #ff4f65);
  border-color: rgba(255, 122, 136, 0.32);
}

.btn--small {
  min-height: 38px;
  padding: 0 14px;
  font-size: 0.92rem;
}

.badge {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  white-space: nowrap;
}

.badge--soft {
  background: rgba(255, 255, 255, 0.06);
  color: var(--text);
  border: 1px solid var(--line);
}

.badge--class {
  background: rgba(247, 201, 106, 0.12);
  color: var(--gold-2);
  border: 1px solid rgba(247, 201, 106, 0.24);
}

.badge--gold {
  background: rgba(247, 201, 106, 0.14);
  color: var(--gold-2);
  border: 1px solid rgba(247, 201, 106, 0.26);
}

.badge--danger {
  background: rgba(255, 122, 136, 0.12);
  color: #ffb0bb;
  border: 1px solid rgba(255, 122, 136, 0.25);
}

.message-stack {
  display: grid;
  gap: 12px;
  margin-bottom: 18px;
}

.message {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  padding: 14px 16px;
  border-radius: var(--radius-md);
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.05);
  box-shadow: var(--shadow);
}

.message__icon {
  color: var(--gold-2);
}

.message--success {
  border-color: rgba(132, 231, 182, 0.22);
  background: rgba(132, 231, 182, 0.08);
}

.message--error {
  border-color: rgba(255, 122, 136, 0.22);
  background: rgba(255, 122, 136, 0.08);
}

.message--warning {
  border-color: rgba(247, 201, 106, 0.22);
  background: rgba(247, 201, 106, 0.08);
}

.message--info {
  border-color: rgba(114, 178, 255, 0.22);
  background: rgba(114, 178, 255, 0.08);
}

.form-card {
  padding: 24px;
}

.form-grid {
  display: grid;
  gap: 16px;
}

.field {
  display: grid;
  gap: 8px;
}

.field label,
.form-card label {
  font-weight: 700;
  letter-spacing: 0.02em;
}

.form-card input[type="text"],
.form-card input[type="password"],
.form-card input[type="url"],
.form-card input[type="number"],
.form-card input[type="file"],
.form-card input[type="email"],
.form-card textarea,
.form-card select,
.deck-builder input[type="text"],
.deck-builder select,
.deck-builder textarea {
  width: 100%;
  color: var(--text);
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--line);
  border-radius: 14px;
  padding: 13px 14px;
  outline: none;
  transition: border-color var(--transition), background var(--transition), box-shadow var(--transition);
}

.form-card input:focus,
.form-card textarea:focus,
.form-card select:focus,
.deck-builder input:focus,
.deck-builder select:focus,
.deck-builder textarea:focus {
  border-color: rgba(247, 201, 106, 0.34);
  box-shadow: 0 0 0 4px rgba(247, 201, 106, 0.08);
}

.helptext,
.form-text {
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.5;
}

.errorlist {
  list-style: none;
  padding: 0;
  margin: 0;
  color: #ffb0bb;
  font-size: 0.92rem;
}

.card-card,
.deck-card {
  height: 100%;
}

.card-card__link,
.deck-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.card-card__art {
  aspect-ratio: 0.72;
  overflow: hidden;
  background:
    radial-gradient(circle at top, rgba(247, 201, 106, 0.12), transparent 42%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), rgba(255, 255, 255, 0.02));
}

.card-card__art img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transform: scale(1.02);
}

.card-card__body,
.deck-card__body {
  padding: 16px 16px 18px;
  display: grid;
  gap: 10px;
}

.card-card__meta,
.deck-card__badges,
.deck-card__stats,
.deck-card__footer {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: space-between;
}

.card-card__body h3,
.deck-card__body h3 {
  margin: 0;
  font-family: "Cinzel", serif;
  font-size: 1.2rem;
}

.card-card__body p,
.deck-card__subtitle {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.card-card__footer,
.deck-card__footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 0.88rem;
}

.deck-card__art {
  position: relative;
  min-height: 190px;
  background:
    linear-gradient(180deg, rgba(6, 10, 18, 0.18), rgba(6, 10, 18, 0.84)),
    linear-gradient(135deg, rgba(247, 201, 106, 0.12), rgba(114, 178, 255, 0.1)),
    var(--bg-2);
  background-size: cover;
  background-position: center;
}

.deck-card__art-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(6, 10, 18, 0.05), rgba(6, 10, 18, 0.82)),
    radial-gradient(circle at top, rgba(255, 255, 255, 0.08), transparent 42%);
}

.deck-card__badges {
  position: absolute;
  left: 14px;
  right: 14px;
  top: 14px;
  justify-content: space-between;
}

.deck-card__stats {
  color: var(--muted);
  font-size: 0.88rem;
}

.deck-card__score {
  color: var(--gold-2);
  font-weight: 700;
}

.table-panel {
  overflow: hidden;
}

.meta-table {
  width: 100%;
  border-collapse: collapse;
}

.meta-table th,
.meta-table td {
  padding: 16px 18px;
  text-align: left;
  border-bottom: 1px solid var(--line);
}

.meta-table th {
  color: var(--muted);
  font-size: 0.82rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.meta-table tr:last-child td {
  border-bottom: none;
}

.meta-tier {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 34px;
  height: 34px;
  border-radius: 10px;
  background: rgba(247, 201, 106, 0.12);
  color: var(--gold-2);
  font-weight: 800;
}

.detail-layout {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
  gap: 20px;
}

.detail-hero,
.detail-aside {
  padding: 24px;
}

.detail-hero h1,
.detail-aside h2 {
  margin: 0 0 10px;
  font-family: "Cinzel", serif;
}

.detail-hero__top {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  align-items: center;
  margin-bottom: 18px;
}

.detail-hero__title {
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.detail-hero__meta {
  color: var(--muted);
}

.detail-hero__art {
  margin: 18px 0;
  overflow: hidden;
  border-radius: 24px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.04);
}

.detail-hero__art img {
  width: 100%;
  height: auto;
}

.detail-section {
  margin-top: 18px;
}

.curve-chart {
  display: grid;
  gap: 10px;
}

.curve-row {
  display: grid;
  grid-template-columns: 70px 1fr 44px;
  gap: 12px;
  align-items: center;
}

.curve-bar {
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
}

.curve-bar__fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(247, 201, 106, 0.9), rgba(255, 219, 144, 0.4));
}

.detail-sidebar {
  display: grid;
  gap: 16px;
}

.list-plain {
  list-style: none;
  margin: 0;
  padding: 0;
}

.list-plain li + li {
  margin-top: 10px;
}

.comment {
  display: grid;
  gap: 6px;
  padding: 16px 0;
  border-top: 1px solid var(--line);
}

.comment:first-child {
  border-top: 0;
  padding-top: 0;
}

.comment__meta {
  color: var(--muted);
  font-size: 0.88rem;
}

.form-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-top: 16px;
}

.profile-card {
  padding: 24px;
}

.profile {
  display: grid;
  grid-template-columns: 120px 1fr;
  gap: 20px;
  align-items: start;
}

.profile__avatar {
  width: 120px;
  height: 120px;
  border-radius: 28px;
  object-fit: cover;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.05);
}

.profile__avatar--fallback {
  display: grid;
  place-items: center;
  color: var(--gold-2);
  font-family: "Cinzel", serif;
  font-size: 2rem;
  background: linear-gradient(135deg, rgba(247, 201, 106, 0.12), rgba(114, 178, 255, 0.08));
}

.profile__bio {
  color: var(--muted);
  line-height: 1.7;
}

.stats-strip {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 18px;
}

.stats-strip__item {
  padding: 18px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--line);
}

.stats-strip__value {
  display: block;
  font-family: "Cinzel", serif;
  font-size: 1.55rem;
  color: var(--gold-2);
}

.stats-strip__label {
  display: block;
  margin-top: 4px;
  color: var(--muted);
}

.builder {
  display: grid;
  grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.05fr);
  gap: 20px;
  align-items: start;
}

.builder__panel {
  position: sticky;
  top: 96px;
}

.builder__results,
.builder__selected {
  display: grid;
  gap: 12px;
  max-height: 420px;
  overflow: auto;
  padding-right: 4px;
}

.builder__result,
.builder__item {
  display: flex;
  align-items: center;
  gap: 12px;
  padding: 12px;
  border-radius: 18px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.04);
}

.builder__result img,
.builder__item img {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  object-fit: cover;
}

.builder__result h4,
.builder__item h4 {
  margin: 0;
  font-size: 0.98rem;
}

.builder__result p,
.builder__item p {
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
}

.builder__result-actions,
.builder__item-actions {
  margin-left: auto;
  display: flex;
  align-items: center;
  gap: 8px;
}

.deck-track-list {
  display: grid;
  gap: 10px;
}

.deck-track-row {
  position: relative;
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr) 36px;
  align-items: center;
  gap: 11px;
  min-height: 60px;
  padding: 8px 12px 8px 9px;
  border-radius: 16px;
  overflow: hidden;
  border: 1px solid rgba(124, 145, 184, 0.24);
  background: linear-gradient(90deg, rgba(8, 11, 18, 0.98), rgba(12, 16, 24, 0.92) 48%, rgba(9, 12, 19, 0.98));
  box-shadow: 0 10px 22px rgba(11, 14, 20, 0.24);
  color: var(--text);
  text-decoration: none;
  transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition), filter var(--transition);
  cursor: pointer;
}

.deck-track-row::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--deck-track-art);
  background-size: cover;
  background-position: center;
  opacity: 0.16;
  filter: saturate(1.04) contrast(1.06);
}

.deck-track-row::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(5, 8, 14, 0.96), rgba(11, 15, 24, 0.72) 46%, rgba(5, 8, 14, 0.95));
}

.deck-track-row > * {
  position: relative;
  z-index: 1;
}

.deck-track-row:hover,
.deck-track-row:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(247, 201, 106, 0.34);
  box-shadow: 0 20px 34px rgba(0, 0, 0, 0.34);
}

.deck-track-row__cost {
  display: grid;
  place-items: center;
  width: 34px;
  height: 34px;
  border-radius: 11px;
  border: 1px solid rgba(255, 215, 128, 0.4);
  background: linear-gradient(180deg, rgba(244, 194, 96, 0.95), rgba(202, 139, 38, 0.95));
  color: #fff8e8;
  font-family: "Cinzel", serif;
  font-size: 0.96rem;
  font-weight: 700;
  box-shadow: 0 10px 18px rgba(206, 147, 46, 0.25);
}

.deck-track-row__copy h4 {
  margin: 0;
  color: #f6efe0;
  font-size: 1.02rem;
  line-height: 1.1;
  font-weight: 800;
  letter-spacing: -0.01em;
}

.deck-track-row__copy p {
  margin: 2px 0 0;
  color: rgba(238, 246, 255, 0.72);
  font-size: 0.82rem;
}

.deck-track-row__meta {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 6px;
}

.deck-track-row__copies {
  min-width: 28px;
  text-align: center;
  color: var(--gold-2);
  font-family: "Cinzel", serif;
  font-size: 0.92rem;
  font-weight: 700;
}

.deck-hover-preview {
  position: fixed;
  top: 50%;
  right: clamp(16px, 2vw, 28px);
  width: clamp(280px, 22vw, 380px);
  z-index: 90;
  pointer-events: none;
  opacity: 0;
  transform: translateY(-50%) scale(0.96);
  transition: opacity 0.16s ease, transform 0.16s ease;
}

.deck-hover-preview.is-visible {
  opacity: 1;
  transform: translateY(-50%) scale(1);
}

.deck-hover-preview img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 22px;
  box-shadow: 0 30px 60px rgba(0, 0, 0, 0.32);
}

@media (max-width: 1180px) {
  .deck-hover-preview {
    display: none;
  }
}

body.site-body--deck-detail {
  background:
    radial-gradient(circle at top left, rgba(114, 178, 255, 0.14), transparent 28%),
    radial-gradient(circle at 86% 8%, rgba(247, 201, 106, 0.08), transparent 24%),
    linear-gradient(180deg, #f4f7fd 0%, #eef3fa 44%, #f4f8fc 100%);
  color: #1d2b41;
}

body.site-body--deck-detail::before {
  opacity: 0.16;
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 255, 255, 0.9), transparent 15%),
    radial-gradient(circle at 86% 28%, rgba(255, 255, 255, 0.72), transparent 16%),
    radial-gradient(circle at 22% 78%, rgba(255, 255, 255, 0.56), transparent 16%);
}

body.site-body--deck-detail::after {
  opacity: 0.045;
  background-image:
    linear-gradient(rgba(81, 99, 134, 0.18) 1px, transparent 1px),
    linear-gradient(90deg, rgba(81, 99, 134, 0.18) 1px, transparent 1px);
}

body.site-body--deck-detail .panel {
  background: #ffffff;
  border-color: rgba(132, 148, 173, 0.26);
  box-shadow: 0 10px 26px rgba(58, 72, 95, 0.08);
  color: #1d2b41;
}

body.site-body--deck-detail .panel--hero {
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(244, 248, 253, 0.86) 60%),
    rgba(255, 255, 255, 0.96);
}

body.site-body--deck-detail .detail-hero__meta,
body.site-body--deck-detail .section__lead,
body.site-body--deck-detail .muted {
  color: #60708a;
}

body.site-body--deck-detail .detail-hero__art {
  background: linear-gradient(180deg, rgba(244, 248, 253, 0.98), rgba(232, 239, 248, 0.96));
  border-color: rgba(134, 150, 178, 0.18);
}

body.site-body--deck-detail .deck-track-list {
  gap: 5px;
}

body.site-body--deck-detail .deck-track-row {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  min-height: 50px;
  padding: 4px 12px 4px 4px;
  border-radius: 12px;
  border: 1px solid rgba(196, 206, 222, 0.86);
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.97) 0%, rgba(255, 255, 255, 0.94) 34%, rgba(255, 255, 255, 0.78) 60%, rgba(255, 255, 255, 0.4) 100%),
    var(--deck-track-art) center/cover no-repeat;
  box-shadow: 0 4px 10px rgba(50, 65, 91, 0.08);
  color: #1d2b41;
}

body.site-body--deck-detail .deck-track-row::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.1), rgba(255, 255, 255, 0.18));
}

body.site-body--deck-detail .deck-track-row::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  background: linear-gradient(90deg, rgba(255, 255, 255, 0.06) 0%, rgba(255, 255, 255, 0.22) 45%, rgba(255, 255, 255, 0.78) 100%);
}

body.site-body--deck-detail .deck-track-row:hover,
body.site-body--deck-detail .deck-track-row:focus-visible {
  border-color: rgba(91, 132, 196, 0.5);
  box-shadow: 0 6px 14px rgba(50, 65, 91, 0.14);
  transform: translateY(-1px);
}

body.site-body--deck-detail .deck-track-row__cost {
  width: 30px;
  height: 30px;
  border-radius: 9px;
  border-color: rgba(214, 160, 57, 0.52);
  background: linear-gradient(180deg, #f4c764, #c98826);
  color: #fffef7;
  box-shadow: 0 6px 12px rgba(188, 136, 41, 0.18);
}

body.site-body--deck-detail .deck-track-row__copy h4 {
  color: #18253a;
  font-size: 1.16rem;
  font-weight: 950;
  letter-spacing: -0.02em;
}

body.site-body--deck-detail .deck-track-row__copy p {
  color: #6a778a;
  font-size: 0.76rem;
}

body.site-body--deck-detail .deck-track-row__copies {
  color: #c68f1f;
  font-size: 0.82rem;
  font-weight: 800;
}

body.site-body--deck-detail .deck-track-row__meta {
  gap: 5px;
  min-width: 34px;
}

body.site-body--deck-detail .detail-layout {
  gap: 14px;
}

.builder__counter {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--line);
}

.builder__counter strong {
  font-family: "Cinzel", serif;
  font-size: 1.1rem;
}

.builder__meter {
  width: 100%;
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
  margin-top: 8px;
}

.builder__meter-fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(247, 201, 106, 0.9), rgba(114, 178, 255, 0.8));
}

.builder__empty {
  color: var(--muted);
  text-align: center;
  padding: 18px 0;
}

.pagination {
  display: flex;
  gap: 8px;
  justify-content: center;
  margin-top: 24px;
}

.pagination a,
.pagination span {
  min-width: 40px;
  height: 40px;
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.04);
}

.pagination .current {
  background: rgba(247, 201, 106, 0.14);
  border-color: rgba(247, 201, 106, 0.24);
}

.muted {
  color: var(--muted);
}

.stack {
  display: grid;
  gap: 16px;
}

.pill-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 14px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.04);
}

.pill strong {
  color: var(--gold-2);
}

.hero-card {
  min-height: 100%;
}

.hero-card__figure {
  position: relative;
  min-height: 220px;
  border-radius: var(--radius-xl);
  overflow: hidden;
  background:
    radial-gradient(circle at top, rgba(247, 201, 106, 0.18), transparent 45%),
    linear-gradient(145deg, rgba(247, 201, 106, 0.12), rgba(114, 178, 255, 0.08));
  border: 1px solid var(--line);
}

.hero-card__figure::after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent, rgba(5, 9, 19, 0.82));
}

.hero-card__figure img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.hero-card__copy {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

.hero-card__copy h2,
.hero-card__copy h3 {
  margin: 0;
  font-family: "Cinzel", serif;
}

.hero-card__copy p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.hero--cards .hero__title {
  max-width: 13ch;
}

.hero-card--stacked {
  gap: 0;
}

.hero-card--stacked .hero-card__copy {
  margin-top: 18px;
}

.hero-card--compact {
  min-height: auto;
}

.hero-card__figure--stack {
  position: relative;
  min-height: 310px;
  overflow: hidden;
  border-radius: var(--radius-xl);
  background:
    radial-gradient(circle at 30% 20%, rgba(247, 201, 106, 0.24), transparent 30%),
    radial-gradient(circle at 70% 25%, rgba(114, 178, 255, 0.18), transparent 26%),
    linear-gradient(180deg, rgba(12, 18, 30, 0.94), rgba(8, 12, 20, 0.98));
  border: 1px solid var(--line);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.02);
}

.hero-card__figure--stack::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, transparent 0%, rgba(6, 10, 18, 0.48) 100%),
    radial-gradient(circle at top, rgba(255, 255, 255, 0.08), transparent 38%);
  pointer-events: none;
}

.hero-card__stacked-art {
  position: absolute;
  width: min(46%, 220px);
  top: 18%;
  left: 50%;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 20px 48px rgba(0, 0, 0, 0.5);
  transform-origin: center bottom;
  z-index: 1;
}

.hero-card__stacked-art--1 {
  transform: translateX(-58%) rotate(-12deg);
}

.hero-card__stacked-art--2 {
  transform: translateX(-50%) translateY(8px) scale(1.02);
  z-index: 2;
}

.hero-card__stacked-art--3 {
  transform: translateX(-42%) rotate(10deg);
}

.hero-card__figure-badge {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(7, 11, 18, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(16px);
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.35);
}

.hero-card__figure-badge strong {
  font-family: "Cinzel", serif;
  letter-spacing: 0.06em;
  color: var(--gold-2);
}

.hero-card__figure-badge small {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.7rem;
}

.hero-card__figure-fallback {
  position: absolute;
  inset: 14px;
  display: grid;
  place-items: center;
  border-radius: 22px;
  border: 1px dashed rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.03);
  color: var(--gold-2);
  font-family: "Cinzel", serif;
  font-size: 1.15rem;
  letter-spacing: 0.04em;
}

.card-card__art {
  position: relative;
}

.card-card__set {
  position: absolute;
  left: 12px;
  bottom: 12px;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(7, 11, 18, 0.64);
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(12px);
}

.expansion-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(250px, 320px);
  gap: 16px;
  overflow-x: auto;
  padding-bottom: 8px;
  scroll-snap-type: x proximity;
}

.expansion-rail > * {
  scroll-snap-align: start;
}

.expansion-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 18px;
}

.expansion-card {
  overflow: hidden;
}

.expansion-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.expansion-card__art {
  position: relative;
  min-height: 210px;
  overflow: hidden;
  padding: 16px;
  background:
    radial-gradient(circle at top, rgba(247, 201, 106, 0.16), transparent 36%),
    linear-gradient(135deg, rgba(12, 18, 30, 0.96), rgba(14, 20, 33, 0.88));
}

.expansion-card__art::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 45%),
    radial-gradient(circle at 20% 20%, rgba(255, 255, 255, 0.12), transparent 25%);
  pointer-events: none;
}

.expansion-card__stack {
  position: relative;
  z-index: 1;
  width: 100%;
  height: 170px;
}

.expansion-card__stack img {
  position: absolute;
  width: 118px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 16px 30px rgba(0, 0, 0, 0.34);
  object-fit: cover;
}

.expansion-card__stack img:nth-child(1) {
  left: 0;
  bottom: 8px;
  transform: rotate(-12deg) scale(0.92);
}

.expansion-card__stack img:nth-child(2) {
  left: 50%;
  bottom: 0;
  transform: translateX(-50%) scale(1.02);
}

.expansion-card__stack img:nth-child(3) {
  right: 0;
  bottom: 8px;
  transform: rotate(12deg) scale(0.92);
}

.expansion-card__stack img:nth-child(n + 4) {
  display: none;
}

.expansion-card__count {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(7, 11, 18, 0.7);
  border: 1px solid rgba(255, 255, 255, 0.14);
  backdrop-filter: blur(16px);
}

.expansion-card__count span {
  color: var(--gold-2);
  font-family: "Cinzel", serif;
  font-size: 1.6rem;
  line-height: 1;
}

.expansion-card__count small {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.68rem;
}

.expansion-card__body {
  display: grid;
  gap: 10px;
  padding: 16px 16px 18px;
}

.expansion-card__body h3 {
  margin: 0;
  font-family: "Cinzel", serif;
  font-size: 1.15rem;
}

.expansion-card__body p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.expansion-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.expansion-card[data-expansion-theme="ember"] .expansion-card__art {
  background:
    radial-gradient(circle at top, rgba(255, 130, 92, 0.24), transparent 34%),
    linear-gradient(135deg, rgba(30, 16, 16, 0.98), rgba(49, 22, 18, 0.94));
}

.expansion-card[data-expansion-theme="frost"] .expansion-card__art {
  background:
    radial-gradient(circle at top, rgba(121, 194, 255, 0.22), transparent 34%),
    linear-gradient(135deg, rgba(14, 21, 34, 0.98), rgba(19, 34, 52, 0.94));
}

.expansion-card[data-expansion-theme="arcane"] .expansion-card__art {
  background:
    radial-gradient(circle at top, rgba(192, 143, 255, 0.24), transparent 34%),
    linear-gradient(135deg, rgba(20, 14, 32, 0.98), rgba(34, 20, 54, 0.94));
}

.expansion-card[data-expansion-theme="verdant"] .expansion-card__art {
  background:
    radial-gradient(circle at top, rgba(125, 216, 151, 0.22), transparent 34%),
    linear-gradient(135deg, rgba(14, 27, 20, 0.98), rgba(22, 44, 31, 0.94));
}

.expansion-card[data-expansion-theme="onyx"] .expansion-card__art {
  background:
    radial-gradient(circle at top, rgba(255, 205, 126, 0.16), transparent 34%),
    linear-gradient(135deg, rgba(12, 14, 18, 0.98), rgba(28, 31, 38, 0.94));
}

.expansion-card[data-expansion-theme="sun"] .expansion-card__art {
  background:
    radial-gradient(circle at top, rgba(255, 219, 144, 0.3), transparent 34%),
    linear-gradient(135deg, rgba(35, 22, 12, 0.98), rgba(57, 36, 15, 0.94));
}

.class-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(250px, 320px);
  gap: 16px;
  overflow-x: auto;
  padding-bottom: 8px;
  scroll-snap-type: x proximity;
}

.class-rail > * {
  scroll-snap-align: start;
}

.class-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 18px;
}

.class-card {
  overflow: hidden;
}

.class-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.class-card__art,
.hero-card__figure--class {
  position: relative;
  overflow: hidden;
  background:
    radial-gradient(circle at top, rgba(247, 201, 106, 0.14), transparent 34%),
    linear-gradient(180deg, rgba(12, 18, 30, 0.94), rgba(8, 12, 20, 0.98));
}

.class-card__art {
  min-height: 232px;
  padding: 18px;
}

.class-card__art::before,
.hero-card__figure--class::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.08), transparent 42%),
    radial-gradient(circle at top, rgba(255, 255, 255, 0.12), transparent 28%);
  pointer-events: none;
}

.class-card__art::after,
.hero-card__figure--class::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 60px;
  background: linear-gradient(180deg, transparent, rgba(5, 9, 19, 0.55));
  pointer-events: none;
}

.class-card__sigil {
  position: absolute;
  left: 16px;
  top: 16px;
  z-index: 2;
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  border-radius: 22px;
  background: rgba(7, 11, 18, 0.58);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--gold-2);
  font-family: "Cinzel", serif;
  font-size: 1.45rem;
  letter-spacing: 0.08em;
  box-shadow: 0 18px 32px rgba(0, 0, 0, 0.24);
}

.class-card__count {
  position: absolute;
  right: 16px;
  top: 16px;
  z-index: 2;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 2px;
  padding: 12px 14px;
  border-radius: 18px;
  background: rgba(7, 11, 18, 0.68);
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(16px);
}

.class-card__count span {
  color: var(--gold-2);
  font-family: "Cinzel", serif;
  font-size: 1.55rem;
  line-height: 1;
}

.class-card__count small {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.68rem;
}

.class-card__stack {
  position: relative;
  width: 100%;
  height: 170px;
  margin-top: 30px;
}

.class-card__stack img,
.hero-card__figure--class .hero-card__stacked-art {
  position: absolute;
  width: min(48%, 160px);
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  box-shadow: 0 20px 42px rgba(0, 0, 0, 0.4);
  object-fit: cover;
  transform-origin: center bottom;
}

.class-card__stack img:nth-child(1),
.hero-card__figure--class .hero-card__stacked-art--1 {
  left: 4%;
  bottom: 16px;
  transform: rotate(-14deg) scale(0.9);
}

.class-card__stack img:nth-child(2),
.hero-card__figure--class .hero-card__stacked-art--2 {
  left: 50%;
  bottom: 0;
  transform: translateX(-50%) scale(1.03);
}

.class-card__stack img:nth-child(3),
.hero-card__figure--class .hero-card__stacked-art--3 {
  right: 4%;
  bottom: 16px;
  transform: rotate(14deg) scale(0.9);
}

.class-card__stack img:nth-child(n + 4) {
  display: none;
}

.class-card__fallback,
.hero-card__figure-fallback {
  width: min(78%, 220px);
  margin: 0 auto;
  padding: 20px;
  border-radius: 22px;
  border: 1px dashed rgba(255, 255, 255, 0.16);
  background: rgba(255, 255, 255, 0.03);
  text-align: center;
  color: var(--gold-2);
  font-family: "Cinzel", serif;
  font-size: 1.05rem;
  letter-spacing: 0.04em;
}

.class-card__body {
  display: grid;
  gap: 10px;
  padding: 16px 16px 18px;
}

.class-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.class-card__body h3 {
  margin: 0;
  font-family: "Cinzel", serif;
  font-size: 1.15rem;
}

.class-card__body p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.class-card__footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 0.88rem;
}

.hero-card__figure--class {
  min-height: 310px;
  border-radius: var(--radius-xl);
  background:
    radial-gradient(circle at 50% 18%, rgba(247, 201, 106, 0.18), transparent 32%),
    linear-gradient(180deg, rgba(12, 18, 30, 0.94), rgba(8, 12, 20, 0.98));
}

.hero-card__figure--class .hero-card__stacked-art {
  width: min(46%, 220px);
  top: 18%;
  bottom: auto;
  margin-top: 0;
}

.hero-card__figure--class .hero-card__figure-badge {
  right: 16px;
  top: auto;
  bottom: 16px;
  align-items: flex-start;
}

.hero-card__figure--class .hero-card__figure-badge strong {
  font-size: 1.02rem;
}

.hero-card__figure--class[data-class-theme="fel"],
.class-card[data-class-theme="fel"] .class-card__art {
  background:
    radial-gradient(circle at top, rgba(73, 255, 157, 0.24), transparent 32%),
    linear-gradient(135deg, rgba(10, 25, 18, 0.98), rgba(20, 49, 29, 0.94));
}

.hero-card__figure--class[data-class-theme="frost"],
.class-card[data-class-theme="frost"] .class-card__art {
  background:
    radial-gradient(circle at top, rgba(120, 206, 255, 0.24), transparent 32%),
    linear-gradient(135deg, rgba(14, 22, 36, 0.98), rgba(20, 45, 66, 0.94));
}

.hero-card__figure--class[data-class-theme="nature"],
.class-card[data-class-theme="nature"] .class-card__art {
  background:
    radial-gradient(circle at top, rgba(122, 219, 151, 0.22), transparent 32%),
    linear-gradient(135deg, rgba(12, 28, 18, 0.98), rgba(24, 52, 30, 0.94));
}

.hero-card__figure--class[data-class-theme="wild"],
.class-card[data-class-theme="wild"] .class-card__art {
  background:
    radial-gradient(circle at top, rgba(255, 196, 101, 0.24), transparent 32%),
    linear-gradient(135deg, rgba(33, 21, 11, 0.98), rgba(60, 38, 17, 0.94));
}

.hero-card__figure--class[data-class-theme="arcane"],
.class-card[data-class-theme="arcane"] .class-card__art {
  background:
    radial-gradient(circle at top, rgba(197, 145, 255, 0.24), transparent 32%),
    linear-gradient(135deg, rgba(21, 14, 34, 0.98), rgba(43, 22, 66, 0.94));
}

.hero-card__figure--class[data-class-theme="sun"],
.class-card[data-class-theme="sun"] .class-card__art {
  background:
    radial-gradient(circle at top, rgba(255, 230, 153, 0.28), transparent 32%),
    linear-gradient(135deg, rgba(40, 24, 11, 0.98), rgba(74, 46, 17, 0.94));
}

.hero-card__figure--class[data-class-theme="light"],
.class-card[data-class-theme="light"] .class-card__art {
  background:
    radial-gradient(circle at top, rgba(255, 255, 210, 0.32), transparent 32%),
    linear-gradient(135deg, rgba(35, 31, 15, 0.98), rgba(74, 61, 22, 0.94));
}

.hero-card__figure--class[data-class-theme="shadow"],
.class-card[data-class-theme="shadow"] .class-card__art {
  background:
    radial-gradient(circle at top, rgba(174, 122, 255, 0.22), transparent 32%),
    linear-gradient(135deg, rgba(12, 12, 19, 0.98), rgba(30, 22, 43, 0.94));
}

.hero-card__figure--class[data-class-theme="storm"],
.class-card[data-class-theme="storm"] .class-card__art {
  background:
    radial-gradient(circle at top, rgba(95, 228, 255, 0.24), transparent 32%),
    linear-gradient(135deg, rgba(10, 24, 29, 0.98), rgba(18, 53, 61, 0.94));
}

.hero-card__figure--class[data-class-theme="void"],
.class-card[data-class-theme="void"] .class-card__art {
  background:
    radial-gradient(circle at top, rgba(255, 125, 174, 0.2), transparent 32%),
    linear-gradient(135deg, rgba(18, 10, 28, 0.98), rgba(42, 18, 55, 0.94));
}

.hero-card__figure--class[data-class-theme="forge"],
.class-card[data-class-theme="forge"] .class-card__art {
  background:
    radial-gradient(circle at top, rgba(255, 166, 106, 0.24), transparent 32%),
    linear-gradient(135deg, rgba(37, 20, 12, 0.98), rgba(73, 38, 18, 0.94));
}

.hero-card__figure--class[data-class-theme="tavern"],
.class-card[data-class-theme="tavern"] .class-card__art {
  background:
    radial-gradient(circle at top, rgba(255, 219, 144, 0.24), transparent 32%),
    linear-gradient(135deg, rgba(40, 25, 14, 0.98), rgba(69, 43, 20, 0.94));
}

.intro-overlay {
  position: fixed;
  inset: 0;
  z-index: 120;
  display: grid;
  place-items: center;
  overflow: hidden;
  pointer-events: none;
  perspective: 1600px;
  background:
    radial-gradient(circle at center, rgba(247, 201, 106, 0.18), transparent 26%),
    linear-gradient(180deg, rgba(5, 9, 17, 0.99), rgba(8, 12, 20, 0.99));
}

.intro-overlay__sky,
.intro-overlay__stars,
.intro-overlay__moon,
.intro-overlay__ember-field,
.intro-overlay__tavern,
.intro-overlay__light,
.intro-overlay__door,
.intro-overlay__seal,
.intro-overlay__lantern,
.intro-overlay__chimney,
.intro-overlay__smoke,
.intro-overlay__patrons {
  position: absolute;
}

.intro-overlay__sky {
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(circle at 20% 22%, rgba(255, 255, 255, 0.07), transparent 10%),
    radial-gradient(circle at 78% 16%, rgba(255, 255, 255, 0.07), transparent 8%),
    radial-gradient(circle at 50% 0%, rgba(247, 201, 106, 0.16), transparent 28%),
    linear-gradient(180deg, rgba(8, 12, 20, 0.08), rgba(5, 8, 15, 0.72));
}

.intro-overlay__stars {
  inset: 0;
  z-index: 0;
  opacity: 0.26;
  background-image:
    radial-gradient(circle, rgba(255, 255, 255, 0.85) 0 1px, transparent 1.2px),
    radial-gradient(circle, rgba(255, 255, 255, 0.65) 0 1px, transparent 1.2px);
  background-size: 68px 68px, 92px 92px;
  background-position: 0 0, 24px 16px;
  mask-image: radial-gradient(circle at center, black 0%, black 52%, transparent 84%);
}

.intro-overlay__moon {
  left: 12%;
  top: 9%;
  z-index: 0;
  width: 110px;
  height: 110px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 38% 38%, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.82) 22%, rgba(247, 201, 106, 0.16) 58%, transparent 74%);
  filter: blur(1px);
  opacity: 0.78;
}

.intro-overlay__moon::after {
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: 50%;
  background: radial-gradient(circle at 36% 34%, rgba(255, 255, 255, 0.22), transparent 42%);
}

.intro-overlay__ember-field {
  inset: 0;
  z-index: 0;
  opacity: 0.6;
  background:
    radial-gradient(circle at 18% 72%, rgba(247, 201, 106, 0.22) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 36% 78%, rgba(255, 164, 82, 0.22) 0 1.4px, transparent 2.4px),
    radial-gradient(circle at 58% 74%, rgba(255, 219, 144, 0.2) 0 1.5px, transparent 2.5px),
    radial-gradient(circle at 74% 82%, rgba(255, 127, 90, 0.18) 0 1.6px, transparent 2.6px),
    radial-gradient(circle at 84% 68%, rgba(255, 219, 144, 0.12) 0 1.2px, transparent 2.2px);
  filter: blur(0.35px);
}

.intro-overlay__lantern {
  z-index: 2;
  top: 8%;
  width: 70px;
  height: 146px;
  transform-origin: top center;
  filter: drop-shadow(0 0 18px rgba(255, 204, 112, 0.24));
}

.intro-overlay__lantern::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -18px;
  width: 2px;
  height: 38px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255, 219, 144, 0.4), rgba(255, 255, 255, 0.1));
}

.intro-overlay__lantern::after {
  content: "";
  position: absolute;
  inset: 18px 10px 20px;
  border-radius: 18px 18px 24px 24px;
  border: 1px solid rgba(255, 219, 144, 0.24);
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 245, 209, 0.95), rgba(247, 201, 106, 0.72) 28%, rgba(255, 134, 43, 0.26) 58%, transparent 72%),
    linear-gradient(180deg, rgba(73, 44, 18, 0.98), rgba(24, 13, 7, 0.98));
  box-shadow:
    inset 0 0 18px rgba(255, 219, 144, 0.22),
    0 0 28px rgba(247, 201, 106, 0.14);
}

.intro-overlay__lantern--left {
  left: 11%;
  transform: rotate(-4deg);
}

.intro-overlay__lantern--right {
  right: 11%;
  transform: rotate(4deg);
}

.intro-overlay__chimney {
  z-index: 1;
  top: 3.5%;
  right: 24%;
  width: 46px;
  height: 104px;
  border-radius: 10px 10px 6px 6px;
  background:
    linear-gradient(180deg, rgba(82, 56, 29, 0.98), rgba(33, 20, 11, 0.98));
  clip-path: polygon(10% 0, 90% 0, 100% 100%, 0 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 219, 144, 0.08),
    0 12px 24px rgba(0, 0, 0, 0.2);
}

.intro-overlay__chimney::before {
  content: "";
  position: absolute;
  inset: -12px -6px auto;
  height: 16px;
  border-radius: 10px 10px 4px 4px;
  background: linear-gradient(180deg, rgba(103, 73, 41, 0.98), rgba(45, 27, 15, 0.98));
  box-shadow: inset 0 0 0 1px rgba(255, 219, 144, 0.06);
}

.intro-overlay__smoke {
  z-index: 1;
  top: 0;
  right: 12%;
  width: 280px;
  height: 180px;
  opacity: 0.72;
  filter: blur(12px);
  background:
    radial-gradient(circle at 20% 70%, rgba(255, 255, 255, 0.26), transparent 18%),
    radial-gradient(circle at 36% 48%, rgba(255, 255, 255, 0.18), transparent 22%),
    radial-gradient(circle at 56% 34%, rgba(255, 255, 255, 0.16), transparent 24%),
    radial-gradient(circle at 74% 18%, rgba(255, 255, 255, 0.14), transparent 22%);
}

.intro-overlay__patrons {
  z-index: 1;
  bottom: 14%;
  width: 168px;
  height: 96px;
  border-radius: 48px 48px 22px 22px;
  opacity: 0.72;
  background:
    radial-gradient(circle at 28% 34%, rgba(16, 10, 6, 0.98) 0 15px, transparent 16px),
    radial-gradient(circle at 28% 60%, rgba(16, 10, 6, 0.98) 0 27px, transparent 28px),
    radial-gradient(circle at 72% 32%, rgba(16, 10, 6, 0.9) 0 13px, transparent 14px),
    radial-gradient(circle at 72% 58%, rgba(16, 10, 6, 0.9) 0 24px, transparent 25px),
    linear-gradient(180deg, rgba(88, 54, 26, 0.22), rgba(18, 9, 5, 0.88));
  box-shadow: 0 12px 28px rgba(0, 0, 0, 0.24);
}

.intro-overlay__patrons::before,
.intro-overlay__patrons::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  background: rgba(255, 219, 144, 0.1);
}

.intro-overlay__patrons::before {
  left: 18px;
  right: 18px;
  bottom: -10px;
  height: 14px;
}

.intro-overlay__patrons::after {
  left: 50%;
  bottom: 16px;
  width: 70px;
  height: 10px;
  transform: translateX(-50%);
  background: rgba(8, 5, 4, 0.48);
  filter: blur(3px);
}

.intro-overlay__patrons--left {
  left: 9%;
  transform: rotate(-6deg);
}

.intro-overlay__patrons--right {
  right: 9%;
  transform: rotate(6deg);
}

.intro-overlay__tavern {
  z-index: 1;
  left: 50%;
  top: 50%;
  width: min(84vw, 980px);
  height: min(68vh, 620px);
  border-radius: 42px 42px 28px 28px;
  border: 1px solid rgba(255, 219, 144, 0.14);
  overflow: hidden;
  transform-style: preserve-3d;
  background:
    radial-gradient(circle at top, rgba(255, 219, 144, 0.1), transparent 38%),
    linear-gradient(180deg, rgba(53, 35, 18, 0.96), rgba(21, 12, 8, 0.98));
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.04),
    0 28px 70px rgba(0, 0, 0, 0.34);
  transform: translate(-50%, -50%) translateY(8px) scale(0.98);
}

.intro-overlay__tavern::before {
  content: "";
  position: absolute;
  inset: 11% 9% 10%;
  border-radius: 36px;
  border: 1px solid rgba(255, 219, 144, 0.08);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 42%),
    radial-gradient(circle at center bottom, rgba(0, 0, 0, 0.5), transparent 58%);
  box-shadow: inset 0 -40px 60px rgba(0, 0, 0, 0.24);
}

.intro-overlay__roof {
  top: 4%;
  left: 50%;
  width: min(66vw, 760px);
  height: min(18vh, 140px);
  transform: translateX(-50%);
  border-radius: 16px 16px 0 0;
  background:
    linear-gradient(180deg, rgba(81, 54, 23, 0.98), rgba(43, 26, 12, 0.98));
  clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
  box-shadow:
    0 20px 34px rgba(0, 0, 0, 0.28),
    inset 0 0 0 1px rgba(255, 219, 144, 0.08);
}

.intro-overlay__roof::before {
  content: "";
  position: absolute;
  inset: 12% 12% 18%;
  clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
  background:
    repeating-linear-gradient(90deg, rgba(94, 61, 28, 0.96) 0 18px, rgba(66, 42, 20, 0.96) 18px 36px);
  opacity: 0.72;
}

.intro-overlay__sign {
  top: 17%;
  left: 50%;
  width: min(42vw, 430px);
  padding: 16px 28px;
  transform: translateX(-50%);
  display: grid;
  place-items: center;
  gap: 4px;
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(96, 60, 27, 0.98), rgba(44, 25, 10, 0.98));
  border: 1px solid rgba(255, 219, 144, 0.18);
  box-shadow:
    0 20px 42px rgba(0, 0, 0, 0.26),
    inset 0 0 0 1px rgba(255, 255, 255, 0.04);
  text-transform: uppercase;
  letter-spacing: 0.14em;
}

.intro-overlay__sign::before,
.intro-overlay__sign::after {
  content: "";
  position: absolute;
  top: -20px;
  width: 4px;
  height: 22px;
  border-radius: 999px;
  background: rgba(255, 219, 144, 0.26);
}

.intro-overlay__sign::before {
  left: 22%;
}

.intro-overlay__sign::after {
  right: 22%;
}

.intro-overlay__sign span {
  font-family: "Cinzel", serif;
  font-size: 1.08rem;
  color: var(--gold-2);
}

.intro-overlay__sign small {
  color: rgba(255, 255, 255, 0.74);
  font-size: 0.72rem;
}

.intro-overlay__windows {
  inset: 31% 0 auto;
  z-index: 1;
  display: flex;
  justify-content: space-between;
  padding: 0 11%;
}

.intro-overlay__windows span {
  position: relative;
  width: 116px;
  height: 126px;
  border-radius: 22px 22px 16px 16px;
  background:
    radial-gradient(circle at 50% 32%, rgba(255, 223, 159, 0.9), rgba(247, 201, 106, 0.42) 34%, rgba(255, 136, 48, 0.12) 64%, transparent 72%),
    linear-gradient(180deg, rgba(65, 39, 15, 0.96), rgba(22, 12, 7, 0.98));
  border: 1px solid rgba(255, 219, 144, 0.16);
  box-shadow:
    inset 0 0 24px rgba(255, 183, 85, 0.26),
    0 14px 30px rgba(0, 0, 0, 0.28);
}

.intro-overlay__windows span::before,
.intro-overlay__windows span::after {
  content: "";
  position: absolute;
  background: rgba(255, 219, 144, 0.26);
}

.intro-overlay__windows span::before {
  inset: 0 50% 0 auto;
  width: 1px;
}

.intro-overlay__windows span::after {
  inset: 50% 0 auto;
  height: 1px;
}

.intro-overlay__arch {
  left: 50%;
  bottom: 18%;
  width: min(34vw, 330px);
  height: min(40vh, 280px);
  transform: translateX(-50%);
  border-radius: 44% 44% 20px 20px;
  background:
    linear-gradient(180deg, rgba(33, 22, 13, 0.98), rgba(14, 8, 5, 0.98));
  border: 1px solid rgba(255, 219, 144, 0.16);
  box-shadow:
    inset 0 -32px 42px rgba(0, 0, 0, 0.6),
    0 18px 40px rgba(0, 0, 0, 0.24);
}

.intro-overlay__arch::before {
  content: "";
  position: absolute;
  inset: 14px 14px 18px;
  border-radius: inherit;
  background:
    radial-gradient(circle at 50% 62%, rgba(255, 219, 144, 0.18), transparent 60%),
    linear-gradient(180deg, rgba(64, 40, 20, 0.8), rgba(16, 9, 5, 0.98));
}

.intro-overlay__fire {
  left: 50%;
  bottom: 22%;
  width: 54%;
  height: 42%;
  transform: translateX(-50%);
  border-radius: 45% 45% 38% 38%;
  background:
    radial-gradient(circle at 50% 34%, rgba(255, 251, 210, 0.98), rgba(255, 195, 84, 0.9) 26%, rgba(255, 118, 44, 0.5) 54%, transparent 72%);
  filter: blur(2px);
  opacity: 0.94;
}

.intro-overlay__fire::before,
.intro-overlay__fire::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 64%;
  height: 100%;
  transform: translateX(-50%);
  border-radius: inherit;
  background:
    radial-gradient(circle at 50% 48%, rgba(255, 255, 255, 0.72), rgba(255, 183, 65, 0.42) 38%, transparent 70%);
}

.intro-overlay__counter {
  left: 7%;
  right: 7%;
  bottom: 10%;
  height: 88px;
  border-radius: 14px 14px 8px 8px;
  background:
    repeating-linear-gradient(90deg, rgba(92, 59, 28, 0.98) 0 18px, rgba(66, 41, 18, 0.98) 18px 36px);
  border: 1px solid rgba(255, 219, 144, 0.08);
  box-shadow:
    inset 0 10px 28px rgba(255, 255, 255, 0.04),
    0 -10px 26px rgba(0, 0, 0, 0.16);
}

.intro-overlay__tables {
  bottom: 14%;
  width: 140px;
  height: 92px;
  border-radius: 50% 50% 22px 22px;
  background:
    radial-gradient(circle at 50% 24%, rgba(255, 219, 144, 0.12), transparent 42%),
    linear-gradient(180deg, rgba(80, 50, 24, 0.96), rgba(28, 16, 9, 0.98));
  box-shadow:
    0 18px 32px rgba(0, 0, 0, 0.35),
    inset 0 0 0 1px rgba(255, 219, 144, 0.06);
}

.intro-overlay__tables::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -24px;
  width: 18px;
  height: 44px;
  transform: translateX(-50%);
  border-radius: 0 0 12px 12px;
  background: linear-gradient(180deg, rgba(60, 38, 18, 0.98), rgba(22, 12, 7, 0.98));
}

.intro-overlay__tables::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -42px;
  width: 74px;
  height: 12px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: rgba(10, 6, 4, 0.72);
  filter: blur(2px);
  opacity: 0.75;
}

.intro-overlay__tables--left {
  left: 11%;
  transform: rotate(-8deg) translateY(8px);
}

.intro-overlay__tables--right {
  right: 11%;
  transform: rotate(8deg) translateY(6px);
}

.intro-overlay__light {
  inset: 50% auto auto 50%;
  z-index: 2;
  width: 82vmin;
  height: 82vmin;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(247, 201, 106, 0.42), rgba(247, 201, 106, 0.1) 34%, transparent 70%);
  filter: blur(14px);
  opacity: 0.9;
}

.intro-overlay__door {
  top: 0;
  bottom: 0;
  z-index: 3;
  width: 50.5%;
  display: grid;
  place-items: center;
  transform-style: preserve-3d;
  backface-visibility: hidden;
  background:
    linear-gradient(90deg, rgba(38, 23, 12, 0.96), rgba(70, 44, 18, 0.96)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 34%);
  border-color: rgba(247, 201, 106, 0.28);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.intro-overlay__door::before {
  content: "";
  position: absolute;
  inset: 10% 12%;
  border-radius: 28px;
  border: 1px solid rgba(247, 201, 106, 0.24);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.22);
}

.intro-overlay__door::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.05), transparent 18%, transparent 82%, rgba(255, 255, 255, 0.03)),
    radial-gradient(circle at top, rgba(255, 255, 255, 0.05), transparent 26%);
  mix-blend-mode: screen;
  opacity: 0.55;
}

.intro-overlay__door--left {
  left: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  transform-origin: right center;
}

.intro-overlay__door--right {
  right: 0;
  border-left: 1px solid rgba(255, 255, 255, 0.08);
  transform-origin: left center;
}

.intro-overlay__panel {
  position: relative;
  width: 66%;
  height: 62%;
  border-radius: 34px;
  border: 1px solid rgba(255, 219, 144, 0.24);
  background:
    repeating-linear-gradient(90deg, rgba(100, 63, 28, 0.98) 0 18px, rgba(68, 42, 18, 0.98) 18px 36px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0.015));
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.03),
    0 24px 50px rgba(0, 0, 0, 0.28);
}

.intro-overlay__panel::before,
.intro-overlay__panel::after {
  content: "";
  position: absolute;
  inset: 12% 14%;
  border-radius: 18px;
  border: 1px solid rgba(255, 219, 144, 0.16);
}

.intro-overlay__panel::after {
  inset: 10% 40% 10% 42%;
  border-width: 0 2px;
  border-color: rgba(255, 219, 144, 0.12);
}

.intro-overlay__seal {
  z-index: 4;
  left: 50%;
  top: 72%;
  transform: translate(-50%, 0);
  display: grid;
  place-items: center;
  gap: 6px;
  padding: 18px 26px;
  border-radius: 999px;
  background: rgba(7, 11, 18, 0.72);
  border: 1px solid rgba(247, 201, 106, 0.22);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(18px);
  text-transform: uppercase;
  letter-spacing: 0.14em;
}

.intro-overlay__seal span {
  font-family: "Cinzel", serif;
  font-size: 1.08rem;
  color: var(--gold-2);
}

.intro-overlay__seal small {
  color: var(--muted);
  font-size: 0.72rem;
}

body.is-loaded .intro-overlay__door--left {
  animation: intro-door-left 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.35s forwards;
}

body.is-loaded .intro-overlay__door--right {
  animation: intro-door-right 1.1s cubic-bezier(0.22, 1, 0.36, 1) 0.35s forwards;
}

body.is-loaded .intro-overlay {
  animation: intro-overlay-fade 1.35s ease 1.05s forwards;
}

body.is-loaded .intro-overlay__seal {
  animation: intro-seal-fade 1.05s ease 0.05s forwards;
}

body.is-loaded .intro-overlay__light {
  animation: intro-light-pulse 1.6s ease 0.1s forwards;
}

body.is-loaded .intro-overlay__tavern {
  animation: intro-tavern-rise 1.25s cubic-bezier(0.22, 1, 0.36, 1) 0.05s forwards;
}

body.is-loaded .intro-overlay__sign {
  animation: intro-sign-sway 1.35s ease-in-out 0.1s 2;
}

body.is-loaded .intro-overlay__windows span {
  animation: intro-window-flicker 1.2s ease 0.12s forwards;
}

body.is-loaded .intro-overlay__fire {
  animation: intro-fire-flicker 1.2s ease 0.1s forwards;
}

body.is-loaded .intro-overlay__moon {
  animation: intro-moon-glow 1.35s ease 0.12s forwards;
}

body.is-loaded .intro-overlay__stars {
  animation: intro-stars-twinkle 1.35s ease 0.12s forwards;
}

body.is-loaded .intro-overlay__ember-field {
  animation: intro-embers-drift 1.35s ease 0.12s forwards;
}

body.is-loaded .intro-overlay__lantern--left {
  animation: intro-lantern-sway 1.8s ease-in-out 0.08s 2;
}

body.is-loaded .intro-overlay__lantern--right {
  animation: intro-lantern-sway 1.8s ease-in-out 0.12s 2 reverse;
}

body.is-loaded .intro-overlay__smoke {
  animation: intro-smoke-rise 2.2s ease 0.08s forwards;
}

body.is-loaded .intro-overlay__chimney {
  animation: intro-smoke-rise 1.8s ease 0.08s forwards;
}

body.is-loaded .intro-overlay__patrons {
  animation: intro-patrons-rise 1.2s ease 0.1s forwards;
}

@keyframes intro-door-left {
  from {
    transform: translateX(0) rotateY(0deg);
  }
  to {
    transform: translateX(-105%) rotateY(-82deg);
  }
}

@keyframes intro-door-right {
  from {
    transform: translateX(0) rotateY(0deg);
  }
  to {
    transform: translateX(105%) rotateY(82deg);
  }
}

@keyframes intro-overlay-fade {
  to {
    opacity: 0;
    visibility: hidden;
  }
}

@keyframes intro-seal-fade {
  0% {
    opacity: 1;
    transform: translate(-50%, 0) scale(1);
  }
  60% {
    opacity: 1;
    transform: translate(-50%, 0) scale(1.05);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, 0) scale(0.98);
  }
}

@keyframes intro-light-pulse {
  0% {
    opacity: 0.9;
    transform: translate(-50%, -50%) scale(1);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.12);
  }
}

@keyframes intro-tavern-rise {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) translateY(20px) scale(0.96);
  }
  35% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) translateY(8px) scale(1);
  }
}

@keyframes intro-sign-sway {
  0% {
    transform: translateX(-50%) rotate(-1.2deg);
  }
  50% {
    transform: translateX(-50%) rotate(1.2deg);
  }
  100% {
    transform: translateX(-50%) rotate(-0.4deg);
  }
}

@keyframes intro-window-flicker {
  0% {
    filter: brightness(0.88) saturate(0.92);
  }
  45% {
    filter: brightness(1.12) saturate(1.08);
  }
  100% {
    filter: brightness(1) saturate(1);
  }
}

@keyframes intro-fire-flicker {
  0% {
    transform: translateX(-50%) scale(0.92);
    opacity: 0.8;
  }
  45% {
    transform: translateX(-50%) scale(1.06);
    opacity: 1;
  }
  100% {
    transform: translateX(-50%) scale(1);
    opacity: 0.96;
  }
}

@keyframes intro-moon-glow {
  0% {
    opacity: 0.72;
    transform: scale(1);
  }
  100% {
    opacity: 0.42;
    transform: scale(1.08);
  }
}

@keyframes intro-stars-twinkle {
  0% {
    opacity: 0.28;
  }
  100% {
    opacity: 0.14;
  }
}

@keyframes intro-embers-drift {
  0% {
    opacity: 0.6;
    transform: translateY(0);
  }
  100% {
    opacity: 0.12;
    transform: translateY(-12px);
  }
}

@keyframes intro-lantern-sway {
  0% {
    transform: translateY(0) rotate(-4deg) scale(1);
  }
  50% {
    transform: translateY(6px) rotate(4deg) scale(1.03);
  }
  100% {
    transform: translateY(2px) rotate(-2deg) scale(1);
  }
}

@keyframes intro-smoke-rise {
  0% {
    opacity: 0.68;
    transform: translateY(0) scale(1);
  }
  100% {
    opacity: 0.18;
    transform: translateY(-18px) scale(1.12);
  }
}

@keyframes intro-patrons-rise {
  0% {
    opacity: 0;
    transform: translateY(12px) scale(0.96);
  }
  100% {
    opacity: 0.72;
    transform: translateY(0) scale(1);
  }
}

/* Cinematic tavern intro */
.intro-overlay {
  background:
    radial-gradient(circle at 50% 22%, rgba(255, 217, 146, 0.16), transparent 24%),
    radial-gradient(circle at 18% 16%, rgba(114, 178, 255, 0.12), transparent 18%),
    radial-gradient(circle at 82% 16%, rgba(114, 178, 255, 0.12), transparent 18%),
    linear-gradient(180deg, rgba(4, 8, 14, 0.995), rgba(7, 11, 20, 0.992));
}

.intro-overlay__sky,
.intro-overlay__stars,
.intro-overlay__moon,
.intro-overlay__snow,
.intro-overlay__ember-field,
.intro-overlay__tavern,
.intro-overlay__light,
.intro-overlay__door,
.intro-overlay__seal,
.intro-overlay__lantern,
.intro-overlay__chimney,
.intro-overlay__smoke,
.intro-overlay__patrons,
.intro-overlay__interior {
  position: absolute;
}

.intro-overlay__snow {
  inset: 0;
  z-index: 0;
  opacity: 0.6;
  background-image:
    radial-gradient(circle, rgba(255, 255, 255, 0.96) 0 1px, transparent 1.4px),
    radial-gradient(circle, rgba(235, 246, 255, 0.78) 0 1px, transparent 1.5px),
    radial-gradient(circle, rgba(255, 255, 255, 0.58) 0 1px, transparent 1.2px);
  background-size: 58px 58px, 86px 86px, 118px 118px;
  background-position: 0 0, 18px 24px, 42px 14px;
  mask-image: radial-gradient(circle at center, black 0%, black 62%, transparent 92%);
  animation: intro-snow-fall 14s linear infinite;
}

.intro-overlay__sky {
  inset: 0;
  z-index: 0;
  background:
    radial-gradient(circle at 50% 78%, rgba(255, 255, 255, 0.06), transparent 26%),
    radial-gradient(circle at 18% 26%, rgba(255, 255, 255, 0.06), transparent 10%),
    radial-gradient(circle at 82% 22%, rgba(255, 255, 255, 0.06), transparent 10%),
    linear-gradient(180deg, rgba(12, 18, 31, 0.32), rgba(5, 8, 14, 0.8));
}

.intro-overlay__stars {
  inset: 0;
  z-index: 0;
  opacity: 0.22;
  background-image:
    radial-gradient(circle, rgba(255, 255, 255, 0.92) 0 1px, transparent 1.2px),
    radial-gradient(circle, rgba(255, 255, 255, 0.64) 0 1px, transparent 1.2px);
  background-size: 70px 70px, 98px 98px;
  background-position: 0 0, 24px 18px;
  mask-image: radial-gradient(circle at center, black 0%, black 58%, transparent 86%);
}

.intro-overlay__moon {
  left: 10%;
  top: 8%;
  z-index: 0;
  width: 124px;
  height: 124px;
  border-radius: 50%;
  background:
    radial-gradient(circle at 38% 38%, rgba(255, 255, 255, 0.98), rgba(255, 255, 255, 0.82) 24%, rgba(247, 201, 106, 0.18) 58%, transparent 72%);
  filter: blur(0.5px);
  opacity: 0.82;
}

.intro-overlay__moon::after {
  content: "";
  position: absolute;
  inset: 16px;
  border-radius: 50%;
  background: radial-gradient(circle at 35% 35%, rgba(255, 255, 255, 0.24), transparent 44%);
}

.intro-overlay__ember-field {
  inset: 0;
  z-index: 0;
  opacity: 0.42;
  background:
    radial-gradient(circle at 18% 74%, rgba(255, 219, 144, 0.18) 0 1.6px, transparent 2.8px),
    radial-gradient(circle at 32% 80%, rgba(255, 170, 88, 0.18) 0 1.4px, transparent 2.6px),
    radial-gradient(circle at 58% 72%, rgba(255, 219, 144, 0.16) 0 1.6px, transparent 2.8px),
    radial-gradient(circle at 74% 82%, rgba(255, 126, 91, 0.14) 0 1.5px, transparent 2.6px),
    radial-gradient(circle at 88% 68%, rgba(255, 219, 144, 0.12) 0 1.4px, transparent 2.5px);
  filter: blur(0.25px);
}

.intro-overlay__lantern {
  z-index: 3;
  top: 7%;
  width: 74px;
  height: 152px;
  transform-origin: top center;
  filter: drop-shadow(0 0 22px rgba(255, 204, 112, 0.2));
}

.intro-overlay__lantern::before {
  content: "";
  position: absolute;
  left: 50%;
  top: -20px;
  width: 2px;
  height: 44px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(255, 219, 144, 0.5), rgba(255, 255, 255, 0.08));
}

.intro-overlay__lantern::after {
  content: "";
  position: absolute;
  inset: 18px 10px 20px;
  border-radius: 18px 18px 24px 24px;
  border: 1px solid rgba(255, 219, 144, 0.22);
  background:
    radial-gradient(circle at 50% 42%, rgba(255, 247, 220, 0.98), rgba(247, 201, 106, 0.74) 30%, rgba(255, 131, 44, 0.28) 60%, transparent 74%),
    linear-gradient(180deg, rgba(86, 55, 23, 0.98), rgba(24, 13, 7, 0.98));
  box-shadow:
    inset 0 0 18px rgba(255, 219, 144, 0.2),
    0 0 32px rgba(247, 201, 106, 0.16);
}

.intro-overlay__lantern--left {
  left: 10%;
  transform: rotate(-5deg);
}

.intro-overlay__lantern--right {
  right: 10%;
  transform: rotate(5deg);
}

.intro-overlay__chimney {
  z-index: 1;
  top: 4%;
  right: 23%;
  width: 54px;
  height: 112px;
  border-radius: 10px 10px 6px 6px;
  background: linear-gradient(180deg, rgba(87, 58, 30, 0.98), rgba(33, 20, 11, 0.98));
  clip-path: polygon(10% 0, 90% 0, 100% 100%, 0 100%);
  box-shadow:
    inset 0 0 0 1px rgba(255, 219, 144, 0.08),
    0 14px 28px rgba(0, 0, 0, 0.22);
}

.intro-overlay__chimney::before {
  content: "";
  position: absolute;
  inset: -12px -6px auto;
  height: 16px;
  border-radius: 10px 10px 4px 4px;
  background: linear-gradient(180deg, rgba(118, 83, 46, 0.98), rgba(45, 27, 15, 0.98));
}

.intro-overlay__smoke {
  z-index: 1;
  top: 0;
  right: 10%;
  width: 320px;
  height: 210px;
  opacity: 0.7;
  filter: blur(14px);
  background:
    radial-gradient(circle at 18% 72%, rgba(255, 255, 255, 0.24), transparent 18%),
    radial-gradient(circle at 34% 52%, rgba(255, 255, 255, 0.2), transparent 24%),
    radial-gradient(circle at 54% 34%, rgba(255, 255, 255, 0.18), transparent 25%),
    radial-gradient(circle at 76% 16%, rgba(255, 255, 255, 0.14), transparent 22%);
}

.intro-overlay__patrons {
  z-index: 2;
  bottom: 14%;
  width: 176px;
  height: 104px;
  border-radius: 48px 48px 24px 24px;
  opacity: 0.76;
  background:
    radial-gradient(circle at 26% 32%, rgba(17, 10, 6, 0.98) 0 16px, transparent 17px),
    radial-gradient(circle at 26% 60%, rgba(17, 10, 6, 0.98) 0 28px, transparent 29px),
    radial-gradient(circle at 72% 30%, rgba(17, 10, 6, 0.92) 0 14px, transparent 15px),
    radial-gradient(circle at 72% 58%, rgba(17, 10, 6, 0.92) 0 26px, transparent 27px),
    linear-gradient(180deg, rgba(94, 57, 28, 0.18), rgba(18, 9, 5, 0.9));
  box-shadow: 0 12px 30px rgba(0, 0, 0, 0.24);
}

.intro-overlay__patrons::before,
.intro-overlay__patrons::after {
  content: "";
  position: absolute;
  border-radius: 999px;
  background: rgba(255, 219, 144, 0.1);
}

.intro-overlay__patrons::before {
  left: 18px;
  right: 18px;
  bottom: -10px;
  height: 14px;
}

.intro-overlay__patrons::after {
  left: 50%;
  bottom: 18px;
  width: 72px;
  height: 10px;
  transform: translateX(-50%);
  background: rgba(8, 5, 4, 0.46);
  filter: blur(3px);
}

.intro-overlay__patrons--left {
  left: 8%;
  transform: rotate(-6deg);
}

.intro-overlay__patrons--right {
  right: 8%;
  transform: rotate(6deg);
}

.intro-overlay__tavern {
  z-index: 1;
  left: 50%;
  top: 50%;
  width: min(94vw, 1180px);
  height: min(80vh, 720px);
  border-radius: 42px 42px 30px 30px;
  border: 1px solid rgba(255, 219, 144, 0.14);
  overflow: hidden;
  transform-style: preserve-3d;
  background:
    radial-gradient(circle at 50% 12%, rgba(255, 219, 144, 0.16), transparent 30%),
    linear-gradient(180deg, rgba(58, 37, 19, 0.98), rgba(18, 11, 7, 0.99));
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.04),
    0 32px 96px rgba(0, 0, 0, 0.42);
  transform: translate(-50%, -50%) translateY(18px) scale(0.92);
}

.intro-overlay__tavern::before {
  content: "";
  position: absolute;
  inset: 12% 7% 14%;
  border-radius: 34px;
  background:
    radial-gradient(circle at 50% 32%, rgba(255, 208, 140, 0.2), transparent 28%),
    repeating-linear-gradient(90deg, rgba(95, 60, 31, 0.96) 0 18px, rgba(66, 41, 21, 0.96) 18px 36px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.04), transparent 24%);
  box-shadow: inset 0 -42px 58px rgba(0, 0, 0, 0.3);
}

.intro-overlay__tavern::after {
  content: "";
  position: absolute;
  inset: auto 0 0;
  height: 34%;
  background:
    linear-gradient(180deg, transparent 0%, rgba(0, 0, 0, 0.36) 54%, rgba(0, 0, 0, 0.68) 100%),
    repeating-linear-gradient(90deg, rgba(77, 47, 23, 0.96) 0 16px, rgba(56, 33, 17, 0.96) 16px 32px);
  mask-image: linear-gradient(180deg, transparent 0, black 18%, black 100%);
}

.intro-overlay__roof {
  top: 2%;
  left: 50%;
  width: min(72vw, 860px);
  height: min(20vh, 152px);
  transform: translateX(-50%);
  border-radius: 16px 16px 0 0;
  background: linear-gradient(180deg, rgba(92, 61, 30, 0.98), rgba(40, 24, 12, 0.98));
  clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
  box-shadow:
    0 20px 40px rgba(0, 0, 0, 0.28),
    inset 0 0 0 1px rgba(255, 219, 144, 0.08);
}

.intro-overlay__roof::before {
  content: "";
  position: absolute;
  inset: 12% 12% 18%;
  clip-path: polygon(50% 0%, 100% 100%, 0% 100%);
  background:
    repeating-linear-gradient(90deg, rgba(95, 60, 28, 0.96) 0 18px, rgba(66, 42, 20, 0.96) 18px 36px);
  opacity: 0.76;
}

.intro-overlay__roof::after {
  content: "";
  position: absolute;
  inset: auto 12% -5% 12%;
  height: 18%;
  border-radius: 999px 999px 18px 18px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.16), rgba(255, 255, 255, 0.02));
  opacity: 0.45;
}

.intro-overlay__sign {
  top: 15%;
  left: 50%;
  width: min(44vw, 470px);
  padding: 18px 34px;
  transform: translateX(-50%);
  display: grid;
  place-items: center;
  gap: 4px;
  border-radius: 22px;
  background: linear-gradient(180deg, rgba(106, 67, 29, 0.98), rgba(48, 27, 11, 0.98));
  border: 1px solid rgba(255, 219, 144, 0.18);
  box-shadow:
    0 24px 44px rgba(0, 0, 0, 0.28),
    inset 0 0 0 1px rgba(255, 255, 255, 0.04);
  text-transform: uppercase;
  letter-spacing: 0.16em;
}

.intro-overlay__sign::before,
.intro-overlay__sign::after {
  content: "";
  position: absolute;
  top: -20px;
  width: 4px;
  height: 22px;
  border-radius: 999px;
  background: rgba(255, 219, 144, 0.26);
}

.intro-overlay__sign::before {
  left: 18%;
}

.intro-overlay__sign::after {
  right: 18%;
}

.intro-overlay__sign span {
  font-family: "Cinzel", serif;
  font-size: 1.08rem;
  color: var(--gold-2);
}

.intro-overlay__sign small {
  color: rgba(255, 255, 255, 0.76);
  font-size: 0.72rem;
}

.intro-overlay__windows {
  inset: 30% 0 auto;
  z-index: 2;
  display: flex;
  justify-content: space-between;
  padding: 0 10.5%;
}

.intro-overlay__windows span {
  position: relative;
  width: 132px;
  height: 146px;
  border-radius: 22px 22px 16px 16px;
  background:
    radial-gradient(circle at 50% 34%, rgba(255, 223, 159, 0.95), rgba(247, 201, 106, 0.44) 34%, rgba(255, 136, 48, 0.12) 64%, transparent 72%),
    linear-gradient(180deg, rgba(67, 39, 15, 0.96), rgba(21, 12, 7, 0.98));
  border: 1px solid rgba(255, 219, 144, 0.16);
  box-shadow:
    inset 0 0 24px rgba(255, 183, 85, 0.26),
    0 16px 32px rgba(0, 0, 0, 0.28);
}

.intro-overlay__windows span::before,
.intro-overlay__windows span::after {
  content: "";
  position: absolute;
  background: rgba(255, 219, 144, 0.28);
}

.intro-overlay__windows span::before {
  inset: 0 50% 0 auto;
  width: 1px;
}

.intro-overlay__windows span::after {
  inset: 50% 0 auto;
  height: 1px;
}

.intro-overlay__interior {
  left: 8%;
  right: 8%;
  top: 18%;
  bottom: 11%;
  z-index: 1;
  border-radius: 34px;
  background:
    radial-gradient(circle at 50% 28%, rgba(255, 219, 144, 0.22), rgba(255, 142, 60, 0.12) 20%, transparent 44%),
    linear-gradient(180deg, rgba(33, 20, 12, 0.68), rgba(12, 7, 5, 0.96));
  box-shadow:
    inset 0 0 0 1px rgba(255, 219, 144, 0.08),
    inset 0 -48px 68px rgba(0, 0, 0, 0.34);
  opacity: 0.95;
}

.intro-overlay__interior::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), transparent 22%),
    repeating-linear-gradient(90deg, rgba(86, 51, 24, 0.92) 0 18px, rgba(64, 39, 19, 0.92) 18px 36px),
    radial-gradient(circle at 50% 22%, rgba(255, 201, 130, 0.14), transparent 24%),
    radial-gradient(circle at 12% 48%, rgba(255, 160, 74, 0.08), transparent 14%),
    radial-gradient(circle at 88% 48%, rgba(255, 160, 74, 0.08), transparent 14%);
  opacity: 0.82;
  mask-image: linear-gradient(180deg, black 0, black 82%, transparent 100%);
}

.intro-overlay__interior::after {
  content: "";
  position: absolute;
  left: 6%;
  right: 6%;
  bottom: 4%;
  height: 42%;
  border-radius: 24px;
  background:
    linear-gradient(180deg, rgba(255, 219, 144, 0.12), transparent 28%),
    repeating-linear-gradient(90deg, rgba(88, 54, 27, 0.98) 0 16px, rgba(58, 35, 18, 0.98) 16px 32px);
  transform: perspective(700px) rotateX(72deg);
  transform-origin: bottom center;
  box-shadow: 0 24px 48px rgba(0, 0, 0, 0.28);
  opacity: 0.72;
}

.intro-overlay__arch {
  left: 50%;
  bottom: 19%;
  width: min(34vw, 360px);
  height: min(38vh, 278px);
  transform: translateX(-50%);
  border-radius: 48% 48% 18px 18px;
  background: linear-gradient(180deg, rgba(35, 23, 14, 0.98), rgba(13, 8, 5, 0.98));
  border: 1px solid rgba(255, 219, 144, 0.12);
  box-shadow:
    inset 0 -34px 52px rgba(0, 0, 0, 0.58),
    0 24px 48px rgba(0, 0, 0, 0.24);
}

.intro-overlay__arch::before {
  content: "";
  position: absolute;
  inset: 14px 14px 20px;
  border-radius: inherit;
  background:
    radial-gradient(circle at 50% 56%, rgba(255, 219, 144, 0.2), transparent 58%),
    linear-gradient(180deg, rgba(70, 44, 23, 0.92), rgba(16, 9, 5, 0.98));
  box-shadow: inset 0 0 0 1px rgba(255, 219, 144, 0.06);
}

.intro-overlay__arch::after {
  content: "";
  position: absolute;
  inset: 12px;
  border-radius: inherit;
  border: 1px solid rgba(255, 219, 144, 0.08);
  background: radial-gradient(circle at 50% 72%, rgba(255, 205, 128, 0.14), transparent 52%);
}

.intro-overlay__fire {
  left: 50%;
  bottom: 20%;
  width: 58%;
  height: 48%;
  transform: translateX(-50%);
  border-radius: 45% 45% 36% 36%;
  background:
    radial-gradient(circle at 50% 36%, rgba(255, 255, 245, 0.98), rgba(255, 219, 110, 0.96) 22%, rgba(255, 146, 56, 0.55) 50%, transparent 74%);
  filter: blur(1.6px);
  opacity: 0.94;
}

.intro-overlay__fire::before,
.intro-overlay__fire::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: 0;
  width: 64%;
  height: 100%;
  transform: translateX(-50%);
  border-radius: inherit;
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.8), rgba(255, 189, 78, 0.42) 38%, transparent 72%);
}

.intro-overlay__counter {
  left: 5%;
  right: 5%;
  bottom: 9%;
  height: 94px;
  border-radius: 16px 16px 10px 10px;
  background:
    repeating-linear-gradient(90deg, rgba(97, 61, 28, 0.98) 0 18px, rgba(71, 43, 20, 0.98) 18px 36px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), transparent 26%);
  border: 1px solid rgba(255, 219, 144, 0.08);
  box-shadow:
    inset 0 10px 26px rgba(255, 255, 255, 0.04),
    0 -10px 26px rgba(0, 0, 0, 0.18);
}

.intro-overlay__counter::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(255, 219, 144, 0.1), transparent 26%),
    radial-gradient(circle at 50% 24%, rgba(255, 219, 144, 0.08), transparent 22%);
  opacity: 0.65;
}

.intro-overlay__tables {
  bottom: 14%;
  width: 148px;
  height: 96px;
  border-radius: 50% 50% 24px 24px;
  background:
    radial-gradient(circle at 50% 22%, rgba(255, 219, 144, 0.12), transparent 42%),
    linear-gradient(180deg, rgba(82, 50, 24, 0.98), rgba(29, 17, 9, 0.98));
  box-shadow:
    0 18px 34px rgba(0, 0, 0, 0.34),
    inset 0 0 0 1px rgba(255, 219, 144, 0.06);
}

.intro-overlay__tables::before {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -24px;
  width: 18px;
  height: 46px;
  transform: translateX(-50%);
  border-radius: 0 0 12px 12px;
  background: linear-gradient(180deg, rgba(62, 39, 19, 0.98), rgba(23, 13, 7, 0.98));
}

.intro-overlay__tables::after {
  content: "";
  position: absolute;
  left: 50%;
  bottom: -42px;
  width: 78px;
  height: 12px;
  transform: translateX(-50%);
  border-radius: 999px;
  background: rgba(10, 6, 4, 0.74);
  filter: blur(2px);
  opacity: 0.8;
}

.intro-overlay__tables--left {
  left: 10%;
  transform: rotate(-8deg) translateY(10px);
}

.intro-overlay__tables--right {
  right: 10%;
  transform: rotate(8deg) translateY(8px);
}

.intro-overlay__light {
  inset: 50% auto auto 50%;
  z-index: 2;
  width: 88vmin;
  height: 88vmin;
  transform: translate(-50%, -50%);
  background: radial-gradient(circle, rgba(247, 201, 106, 0.46), rgba(247, 201, 106, 0.12) 34%, transparent 72%);
  filter: blur(18px);
  opacity: 0.92;
}

.intro-overlay__door {
  top: 0;
  bottom: 0;
  z-index: 4;
  width: 50.4%;
  display: grid;
  place-items: center;
  transform-style: preserve-3d;
  backface-visibility: hidden;
  background:
    linear-gradient(90deg, rgba(39, 23, 12, 0.98), rgba(71, 44, 18, 0.98)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.03), transparent 34%);
  border-color: rgba(247, 201, 106, 0.22);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.04);
}

.intro-overlay__door::before {
  content: "";
  position: absolute;
  inset: 10% 12%;
  border-radius: 28px;
  border: 1px solid rgba(247, 201, 106, 0.22);
  box-shadow: inset 0 0 0 1px rgba(0, 0, 0, 0.2);
}

.intro-overlay__door::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(255, 255, 255, 0.06), transparent 18%, transparent 82%, rgba(255, 255, 255, 0.04)),
    radial-gradient(circle at top, rgba(255, 255, 255, 0.06), transparent 28%);
  mix-blend-mode: screen;
  opacity: 0.62;
}

.intro-overlay__door--left {
  left: 0;
  border-right: 1px solid rgba(255, 255, 255, 0.08);
  transform-origin: right center;
}

.intro-overlay__door--right {
  right: 0;
  border-left: 1px solid rgba(255, 255, 255, 0.08);
  transform-origin: left center;
}

.intro-overlay__panel {
  position: relative;
  width: 66%;
  height: 62%;
  border-radius: 34px;
  border: 1px solid rgba(255, 219, 144, 0.22);
  background:
    repeating-linear-gradient(90deg, rgba(104, 65, 29, 0.98) 0 18px, rgba(70, 43, 19, 0.98) 18px 36px),
    linear-gradient(180deg, rgba(255, 255, 255, 0.05), rgba(255, 255, 255, 0.015));
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.03),
    0 26px 54px rgba(0, 0, 0, 0.3);
}

.intro-overlay__panel::before,
.intro-overlay__panel::after {
  content: "";
  position: absolute;
  inset: 12% 14%;
  border-radius: 18px;
  border: 1px solid rgba(255, 219, 144, 0.16);
}

.intro-overlay__panel::after {
  inset: 10% 40% 10% 42%;
  border-width: 0 2px;
  border-color: rgba(255, 219, 144, 0.12);
}

.intro-overlay__seal {
  z-index: 5;
  left: 50%;
  top: 73%;
  transform: translate(-50%, 0);
  display: grid;
  place-items: center;
  gap: 6px;
  padding: 18px 26px;
  border-radius: 999px;
  background: rgba(7, 11, 18, 0.72);
  border: 1px solid rgba(247, 201, 106, 0.22);
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.3);
  backdrop-filter: blur(18px);
  text-transform: uppercase;
  letter-spacing: 0.14em;
}

.intro-overlay__seal span {
  font-family: "Cinzel", serif;
  font-size: 1.08rem;
  color: var(--gold-2);
}

.intro-overlay__seal small {
  color: var(--muted);
  font-size: 0.72rem;
}

body.is-loaded .intro-overlay {
  animation: none;
}

body.is-loaded .intro-overlay.intro-overlay--opening .intro-overlay__tavern {
  animation: intro-tavern-approach 1.9s cubic-bezier(0.22, 1, 0.36, 1) forwards;
}

body.is-loaded .intro-overlay.intro-overlay--opening .intro-overlay__interior {
  animation: intro-interior-bloom 1.4s ease 0.12s forwards;
}

body.is-loaded .intro-overlay.intro-overlay--opening .intro-overlay__door--left {
  animation: intro-door-left-open 1.25s cubic-bezier(0.22, 1, 0.36, 1) 0.18s forwards;
}

body.is-loaded .intro-overlay.intro-overlay--opening .intro-overlay__door--right {
  animation: intro-door-right-open 1.25s cubic-bezier(0.22, 1, 0.36, 1) 0.18s forwards;
}

body.is-loaded .intro-overlay.intro-overlay--opening .intro-overlay__snow {
  animation: intro-snow-fall 2.4s ease 0.1s forwards;
}

body.is-loaded .intro-overlay.intro-overlay--opening .intro-overlay__light {
  animation: intro-light-bloom 1.5s ease 0.12s forwards;
}

body.is-loaded .intro-overlay.intro-overlay--opening .intro-overlay__sign {
  animation: intro-sign-sway 1.45s ease-in-out 0.1s 2;
}

body.is-loaded .intro-overlay.intro-overlay--opening .intro-overlay__windows span {
  animation: intro-window-flicker 1.2s ease 0.12s forwards;
}

body.is-loaded .intro-overlay.intro-overlay--opening .intro-overlay__fire {
  animation: intro-fire-flicker 1.2s ease 0.1s forwards;
}

body.is-loaded .intro-overlay.intro-overlay--opening .intro-overlay__moon {
  animation: intro-moon-glow 1.45s ease 0.12s forwards;
}

body.is-loaded .intro-overlay.intro-overlay--opening .intro-overlay__stars {
  animation: intro-stars-twinkle 1.45s ease 0.12s forwards;
}

body.is-loaded .intro-overlay.intro-overlay--opening .intro-overlay__ember-field {
  animation: intro-embers-drift 1.45s ease 0.12s forwards;
}

body.is-loaded .intro-overlay.intro-overlay--opening .intro-overlay__lantern--left {
  animation: intro-lantern-sway 1.8s ease-in-out 0.08s 2;
}

body.is-loaded .intro-overlay.intro-overlay--opening .intro-overlay__lantern--right {
  animation: intro-lantern-sway 1.8s ease-in-out 0.12s 2 reverse;
}

body.is-loaded .intro-overlay.intro-overlay--opening .intro-overlay__smoke {
  animation: intro-smoke-rise 2.1s ease 0.08s forwards;
}

body.is-loaded .intro-overlay.intro-overlay--opening .intro-overlay__chimney {
  animation: intro-smoke-rise 1.8s ease 0.08s forwards;
}

body.is-loaded .intro-overlay.intro-overlay--opening .intro-overlay__patrons {
  animation: intro-patrons-rise 1.2s ease 0.08s forwards;
}

body.is-loaded .intro-overlay.intro-overlay--closing {
  animation: intro-overlay-fade 0.9s ease 0.12s forwards;
}

body.is-loaded .intro-overlay.intro-overlay--closing .intro-overlay__seal {
  animation: intro-seal-fade 0.85s ease forwards;
}

body.is-loaded .intro-overlay.intro-overlay--closing .intro-overlay__light {
  animation: intro-light-pulse 0.8s ease forwards;
}

@keyframes intro-door-left-open {
  from {
    transform: translateX(0) rotateY(0deg);
  }
  to {
    transform: translateX(-112%) rotateY(-86deg);
  }
}

@keyframes intro-door-right-open {
  from {
    transform: translateX(0) rotateY(0deg);
  }
  to {
    transform: translateX(112%) rotateY(86deg);
  }
}

@keyframes intro-tavern-approach {
  0% {
    opacity: 0;
    transform: translate(-50%, -50%) translateY(28px) scale(0.9);
  }
  24% {
    opacity: 1;
  }
  100% {
    opacity: 1;
    transform: translate(-50%, -50%) translateY(16px) scale(1);
  }
}

@keyframes intro-interior-bloom {
  0% {
    opacity: 0;
    filter: brightness(0.82) saturate(0.92);
    transform: scale(0.985);
  }
  100% {
    opacity: 0.98;
    filter: brightness(1) saturate(1);
    transform: scale(1);
  }
}

@keyframes intro-light-bloom {
  0% {
    opacity: 0.96;
    transform: translate(-50%, -50%) scale(0.98);
  }
  100% {
    opacity: 0;
    transform: translate(-50%, -50%) scale(1.15);
  }
}

@keyframes intro-snow-fall {
  0% {
    background-position: 0 0, 18px 24px, 42px 14px;
    opacity: 0.62;
  }
  100% {
    background-position: 0 168px, 18px 204px, 42px 132px;
    opacity: 0.08;
  }
}

@keyframes intro-stars-fade {
  0% {
    opacity: 0.22;
  }
  100% {
    opacity: 0.08;
  }
}

@media (prefers-reduced-motion: reduce) {
  .intro-overlay {
    display: none;
  }

  [data-reveal] {
    opacity: 1;
    transform: none;
    transition: none;
  }

  .tile-card,
  .btn,
  .site-nav__link {
    transition: none;
  }
}

@media (max-width: 1120px) {
  .hero,
  .detail-layout,
  .builder {
    grid-template-columns: 1fr;
  }

  .builder__panel {
    position: static;
  }

  .grid--cards,
  .grid--decks,
  .grid--meta,
  .grid--two,
  .grid--three,
  .hero__stats,
  .stats-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .site-header__inner,
  .section__head,
  .site-footer__inner {
    flex-direction: column;
    align-items: flex-start;
  }

  .site-footer__meta {
    text-align: left;
  }

  .grid--cards,
  .grid--decks,
  .grid--meta,
  .grid--two,
  .grid--three,
  .hero__stats,
  .stats-strip {
    grid-template-columns: 1fr;
  }

  .detail-hero,
  .detail-aside,
  .form-card,
  .profile-card {
    padding: 18px;
  }

  .curve-row {
    grid-template-columns: 54px 1fr 34px;
  }

  .expansion-rail {
    grid-auto-columns: minmax(230px, 72vw);
  }

  .expansion-card__stack img {
    width: 104px;
  }
}

@media (max-width: 620px) {
  .site-container {
    width: min(var(--container), calc(100% - 20px));
  }

  .hero__title {
    max-width: 100%;
  }

  .site-nav {
    gap: 8px;
  }

  .site-nav__link {
    padding: 9px 12px;
  }
}

/* HearthForge dashboard refresh */
:root {
  --container: 1280px;
  --panel: rgba(10, 17, 29, 0.88);
  --panel-strong: rgba(8, 13, 23, 0.96);
  --line: rgba(255, 255, 255, 0.07);
  --line-strong: rgba(255, 255, 255, 0.15);
}

.site-container {
  width: min(var(--container), calc(100% - 40px));
}

.site-main {
  padding: 18px 0 72px;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 80;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(5, 9, 18, 0.9);
  backdrop-filter: blur(18px);
  box-shadow: 0 14px 40px rgba(0, 0, 0, 0.24);
}

.site-header__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 16px;
  padding: 14px 0;
}

.brand__glyph {
  width: 44px;
  height: 44px;
  border-radius: 16px;
  box-shadow: 0 14px 32px rgba(247, 201, 106, 0.18);
}

.brand__copy strong {
  font-size: 1rem;
}

.brand__copy small {
  letter-spacing: 0.02em;
}

.site-nav {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.site-nav--primary {
  justify-content: center;
}

.site-nav--actions {
  justify-content: flex-end;
}

.site-user {
  display: flex;
  flex-direction: column;
  gap: 2px;
  padding: 9px 12px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.04);
}

.site-user__label {
  color: var(--muted);
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.site-user strong {
  color: var(--text);
  font-size: 0.92rem;
}

.site-nav__link {
  padding: 10px 14px;
  border-radius: 14px;
  border: 1px solid transparent;
  color: var(--muted);
  background: transparent;
  font-size: 0.94rem;
}

.site-nav__link:hover,
.site-nav__link:focus-visible,
.site-nav__link.is-active {
  color: var(--text);
  border-color: rgba(255, 255, 255, 0.12);
  background: rgba(255, 255, 255, 0.05);
}

.site-nav__link--accent {
  color: #162033;
  border-color: rgba(255, 219, 144, 0.3);
  background: linear-gradient(135deg, rgba(247, 201, 106, 0.96), rgba(255, 219, 144, 0.8));
  box-shadow: 0 12px 24px rgba(247, 201, 106, 0.12);
}

.site-nav__link--soft {
  color: var(--text);
  background: rgba(255, 255, 255, 0.04);
}

.site-nav__link--accent:hover,
.site-nav__link--accent:focus-visible {
  color: #162033;
}

.section {
  margin-top: 24px;
}

.section__head {
  margin-bottom: 16px;
}

.section__head--compact {
  padding-bottom: 4px;
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.section__eyebrow {
  display: inline-flex;
  margin-bottom: 8px;
  color: var(--gold-2);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.section__title {
  font-size: clamp(1.4rem, 2.2vw, 2rem);
}

.section__lead {
  max-width: 66ch;
  font-size: 0.98rem;
}

.hero {
  grid-template-columns: minmax(0, 1.2fr) minmax(290px, 0.8fr);
  gap: 20px;
}

.hero__copy {
  padding: 12px 0;
}

.hero__eyebrow {
  padding: 7px 12px;
  background: rgba(247, 201, 106, 0.08);
}

.hero__title {
  max-width: 14ch;
  font-size: clamp(2.3rem, 4.6vw, 4rem);
  line-height: 0.98;
}

.hero__lead {
  max-width: 58ch;
  font-size: 1rem;
}

.hero__actions {
  margin-top: 20px;
}

.hero__stats {
  gap: 12px;
  margin-top: 20px;
}

.hero__stat {
  background: rgba(9, 15, 26, 0.88);
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: none;
  animation: none;
}

.hero__stat-value {
  font-size: 1.45rem;
}

.panel,
.form-card,
.profile-card,
.table-panel {
  background: linear-gradient(180deg, rgba(13, 20, 33, 0.94), rgba(9, 14, 24, 0.96));
  border: 1px solid rgba(255, 255, 255, 0.08);
  box-shadow: 0 20px 50px rgba(0, 0, 0, 0.28);
}

.panel--hero {
  background: linear-gradient(180deg, rgba(15, 23, 37, 0.96), rgba(9, 14, 24, 0.98));
}

.dashboard-panel {
  display: grid;
  gap: 16px;
  padding: 20px;
  border-radius: var(--radius-xl);
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(180deg, rgba(11, 18, 30, 0.94), rgba(8, 12, 21, 0.96));
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.24);
}

.home-hero {
  display: grid;
  grid-template-columns: minmax(0, 1.15fr) minmax(330px, 0.85fr);
  gap: 20px;
  align-items: stretch;
}

.home-hero__copy {
  display: flex;
  flex-direction: column;
  gap: 14px;
}

.home-hero__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.stat-card {
  display: grid;
  gap: 4px;
  padding: 16px;
  min-height: 126px;
  border-radius: 20px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background:
    radial-gradient(circle at top right, rgba(247, 201, 106, 0.08), transparent 34%),
    rgba(9, 15, 26, 0.9);
}

.stat-card__eyebrow {
  color: var(--muted);
  font-size: 0.72rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.stat-card__value {
  color: var(--gold-2);
  font-family: "Cinzel", serif;
  font-size: 1.7rem;
  line-height: 1;
}

.stat-card__label {
  font-size: 0.98rem;
  font-weight: 700;
}

.stat-card__detail {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
  font-size: 0.88rem;
}

.home-featured {
  display: grid;
  gap: 0;
  overflow: hidden;
  padding: 0;
}

.home-featured__media {
  position: relative;
  min-height: 260px;
  background:
    radial-gradient(circle at top, rgba(247, 201, 106, 0.16), transparent 34%),
    linear-gradient(180deg, rgba(13, 20, 33, 0.32), rgba(8, 12, 20, 0.92));
  background-size: cover;
  background-position: center;
}

.home-featured__media--image {
  background-color: rgba(10, 16, 27, 0.9);
}

.home-featured__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(5, 9, 18, 0.05), rgba(5, 9, 18, 0.78)),
    radial-gradient(circle at 50% 20%, rgba(247, 201, 106, 0.14), transparent 38%);
}

.home-featured__badges {
  position: absolute;
  top: 16px;
  left: 16px;
  right: 16px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  z-index: 1;
}

.home-featured__score {
  position: absolute;
  right: 16px;
  bottom: 16px;
  z-index: 1;
  padding: 10px 12px;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  background: rgba(8, 13, 22, 0.72);
  color: var(--gold-2);
  font-family: "Cinzel", serif;
  font-weight: 700;
}

.home-featured__body,
.home-featured__empty {
  display: grid;
  gap: 12px;
  padding: 18px 18px 20px;
}

.home-featured__body h2,
.home-featured__empty h2 {
  margin: 0;
  font-family: "Cinzel", serif;
  font-size: 1.35rem;
}

.home-featured__body p,
.home-featured__empty p {
  margin: 0;
  color: var(--muted);
  line-height: 1.65;
}

.home-featured__facts {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin: 0;
}

.home-featured__facts div {
  padding: 10px 12px;
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.home-featured__facts dt {
  color: var(--muted);
  font-size: 0.7rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.home-featured__facts dd {
  margin: 6px 0 0;
  font-weight: 700;
  color: var(--text);
}

.home-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(320px, 0.75fr);
  gap: 20px;
}

.home-grid__main,
.home-grid__side {
  display: grid;
  gap: 20px;
}

.dashboard-grid--cards {
  grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.dashboard-grid--cards--small {
  grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
}

.meta-rank-list {
  display: grid;
  gap: 12px;
}

.meta-rank-card {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 12px;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
}

.meta-rank-card__rank {
  display: grid;
  place-items: center;
  width: 40px;
  height: 40px;
  border-radius: 14px;
  background: rgba(247, 201, 106, 0.1);
  color: var(--gold-2);
  font-family: "Cinzel", serif;
  font-size: 1.1rem;
}

.meta-rank-card__body {
  display: grid;
  gap: 8px;
}

.meta-rank-card__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.meta-rank-card__top h3 {
  margin: 0;
  font-size: 1rem;
}

.meta-rank-card__share {
  color: var(--gold-2);
  font-weight: 700;
}

.meta-rank-card__body p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.meta-rank-card__link,
.meta-rank-card__empty {
  color: var(--text);
  font-size: 0.9rem;
}

.meta-rank-card__link {
  color: var(--gold-2);
}

.activity-list {
  display: grid;
  gap: 12px;
}

.activity-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 14px;
  border-radius: 18px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: rgba(255, 255, 255, 0.03);
  transition: transform var(--transition), border-color var(--transition), background var(--transition);
}

.activity-item:hover {
  transform: translateY(-2px);
  border-color: rgba(247, 201, 106, 0.18);
  background: rgba(255, 255, 255, 0.05);
}

.activity-item__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 76px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(247, 201, 106, 0.1);
  color: var(--gold-2);
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.activity-item__body {
  display: grid;
  gap: 6px;
}

.activity-item__title {
  font-weight: 700;
  color: var(--text);
}

.activity-item__body p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.activity-item__badge {
  white-space: nowrap;
}

.empty-state {
  display: grid;
  gap: 8px;
  padding: 18px;
  border-radius: 18px;
  border: 1px dashed rgba(255, 255, 255, 0.14);
  background: rgba(255, 255, 255, 0.03);
}

.empty-state strong {
  color: var(--text);
}

.empty-state p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.message-stack {
  display: grid;
  gap: 12px;
  margin-bottom: 18px;
}

.message {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  padding: 14px 16px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.08);
  background: linear-gradient(180deg, rgba(13, 20, 33, 0.94), rgba(9, 14, 24, 0.96));
  box-shadow: 0 16px 34px rgba(0, 0, 0, 0.24);
}

.message__icon {
  color: var(--gold-2);
  margin-top: 2px;
}

.message--success {
  border-color: rgba(132, 231, 182, 0.18);
}

.message--error {
  border-color: rgba(255, 122, 136, 0.2);
}

.card-card,
.deck-card {
  height: 100%;
}

.card-card__link,
.deck-card__link {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.deck-card__art {
  min-height: 210px;
  background-size: cover;
  background-position: center;
}

.deck-card__art-overlay {
  background:
    linear-gradient(180deg, rgba(5, 9, 18, 0.05), rgba(5, 9, 18, 0.78)),
    radial-gradient(circle at top, rgba(247, 201, 106, 0.12), transparent 34%);
}

.deck-card__badges {
  gap: 8px;
}

.deck-card__score-chip {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 2;
  padding: 8px 10px;
  border-radius: 12px;
  background: rgba(8, 13, 22, 0.72);
  border: 1px solid rgba(255, 255, 255, 0.12);
  color: var(--gold-2);
  font-size: 0.76rem;
  font-weight: 700;
}

.deck-card__body {
  display: grid;
  gap: 10px;
  padding: 16px 16px 18px;
}

.deck-card__body h3 {
  margin: 0;
  font-size: 1.1rem;
}

.deck-card__subtitle,
.deck-card__summary,
.card-card__type,
.card-card__summary {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.deck-card__summary,
.card-card__summary {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.deck-card__stats,
.deck-card__footer {
  padding-top: 10px;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.card-card__art {
  min-height: 270px;
}

.card-card__art img {
  object-position: top center;
}

.card-card__set,
.card-card__cost {
  position: absolute;
  z-index: 2;
  display: inline-flex;
  align-items: center;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: 0.7rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: #fff;
  background: rgba(7, 11, 18, 0.68);
  border: 1px solid rgba(255, 255, 255, 0.12);
  backdrop-filter: blur(12px);
}

.card-card__set {
  left: 12px;
  bottom: 12px;
}

.card-card__cost {
  right: 12px;
  top: 12px;
}

.card-card__body {
  display: grid;
  gap: 8px;
  padding: 16px 16px 18px;
}

.card-card__body h3 {
  margin: 0;
  font-size: 1.02rem;
}

.card-card__type {
  color: var(--gold-2);
  font-size: 0.86rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.card-card__footer {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 0.86rem;
}

.home-hero--meta .home-featured__empty {
  min-height: 100%;
  justify-content: center;
}

.meta-rank-list--wide .meta-rank-card {
  padding: 15px;
}

.hero--cards .hero__title {
  max-width: 14ch;
}

@media (max-width: 1120px) {
  .site-header__inner,
  .home-hero,
  .home-grid,
  .hero {
    grid-template-columns: 1fr;
  }

  .site-nav--primary,
  .site-nav--actions {
    justify-content: flex-start;
  }

  .home-hero__stats,
  .grid--cards.dashboard-grid--cards--small,
  .grid--decks.dashboard-grid--cards {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .site-header__inner {
    gap: 12px;
  }

  .site-nav--primary,
  .site-nav--actions {
    width: 100%;
  }

  .home-hero__stats,
  .grid--cards.dashboard-grid--cards--small,
  .grid--decks.dashboard-grid--cards {
    grid-template-columns: 1fr;
  }

  .home-featured__facts {
    grid-template-columns: 1fr;
  }

  .home-grid,
  .detail-layout,
  .builder,
  .grid--two,
  .grid--three {
    grid-template-columns: 1fr;
  }

  .activity-item {
    grid-template-columns: 1fr;
  }

  .activity-item__badge {
    justify-self: start;
  }
}

@media (max-width: 620px) {
  .site-container {
    width: min(var(--container), calc(100% - 18px));
  }

  .hero__actions,
  .section__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hero__actions .btn,
  .section__actions .btn {
    width: 100%;
  }

  .stat-card,
  .dashboard-panel,
  .home-featured__body,
  .home-featured__empty {
    padding: 16px;
  }

  .deck-card__footer,
  .card-card__footer {
    flex-direction: column;
  }
}

/* HearthForge editorial refresh */
:root {
  --container: 1280px;
  --hf-surface: rgba(10, 16, 28, 0.86);
  --hf-surface-strong: rgba(7, 12, 22, 0.96);
  --hf-line: rgba(255, 255, 255, 0.08);
  --hf-line-strong: rgba(255, 255, 255, 0.16);
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.hf-topbar {
  position: sticky;
  top: 0;
  z-index: 80;
  backdrop-filter: blur(20px);
  background: linear-gradient(180deg, rgba(5, 9, 18, 0.96), rgba(5, 9, 18, 0.72));
  border-bottom: 1px solid var(--hf-line);
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.24);
}

.hf-topbar__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 14px 0;
}

.hf-brand {
  display: inline-flex;
  align-items: center;
  gap: 14px;
}

.hf-brand__glyph {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 16px;
  font-family: "Cinzel", serif;
  font-size: 0.98rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  color: #162033;
  background: linear-gradient(145deg, rgba(247, 201, 106, 0.96), rgba(255, 219, 144, 0.4));
  box-shadow: 0 18px 34px rgba(247, 201, 106, 0.18);
}

.hf-brand__copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.hf-brand__copy strong {
  font-family: "Cinzel", serif;
  letter-spacing: 0.04em;
  font-size: 1.02rem;
}

.hf-brand__copy small {
  color: var(--muted);
  font-size: 0.8rem;
}

.hf-nav {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.hf-nav--primary {
  justify-content: center;
}

.hf-nav--actions {
  justify-content: flex-end;
}

.hf-nav__link {
  display: inline-flex;
  align-items: center;
  min-height: 40px;
  padding: 0 13px;
  border-radius: 999px;
  border: 1px solid transparent;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.02);
  transition: transform var(--transition), border-color var(--transition), background var(--transition), color var(--transition);
}

.hf-nav__link:hover,
.hf-nav__link:focus-visible,
.hf-nav__link.is-active {
  transform: translateY(-1px);
  color: var(--text);
  border-color: var(--hf-line-strong);
  background: rgba(255, 255, 255, 0.06);
}

.hf-nav__link--accent {
  color: #162033;
  border-color: rgba(255, 219, 144, 0.4);
  background: linear-gradient(135deg, rgba(247, 201, 106, 0.98), rgba(255, 219, 144, 0.82));
  box-shadow: 0 14px 28px rgba(247, 201, 106, 0.16);
}

.hf-nav__link--soft {
  color: var(--text);
}

.hf-topbar__actions {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: flex-end;
}

.hf-search {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 8px;
  border-radius: 999px;
  border: 1px solid var(--hf-line);
  background: rgba(10, 16, 28, 0.92);
  box-shadow: 0 14px 32px rgba(0, 0, 0, 0.16);
}

.hf-search--page {
  min-width: min(480px, 100%);
}

.hf-search__input {
  min-width: 0;
  width: 100%;
  padding: 10px 12px;
  border: 0;
  outline: 0;
  background: transparent;
  color: var(--text);
}

.hf-search__input::placeholder {
  color: var(--muted);
}

.hf-search__button {
  padding: 10px 16px;
  border: 0;
  border-radius: 999px;
  color: #162033;
  font-weight: 800;
  background: linear-gradient(135deg, var(--gold), var(--gold-2));
  cursor: pointer;
}

.hf-home {
  display: grid;
  gap: 24px;
  padding-top: 14px;
}

.hf-home__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.45fr) minmax(320px, 0.72fr);
  gap: 18px;
  align-items: stretch;
}

.hf-home__slider-shell,
.hf-home-panel,
.hf-feature-story,
.hf-video-featured,
.hf-video-card,
.hf-deck-row,
.hf-tier-board__group,
.hf-meta-strip__item,
.hf-meta-rank,
.hf-search-page__hero,
.hf-footer {
  border: 1px solid var(--hf-line);
  background: linear-gradient(180deg, rgba(10, 16, 28, 0.94), rgba(7, 12, 22, 0.98));
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.24);
}

.hf-home__slider-shell {
  display: grid;
  gap: 14px;
  padding: 18px;
  border-radius: 30px;
}

.hf-home__slider-head {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 16px;
}

.hf-kicker {
  display: inline-flex;
  margin-bottom: 8px;
  color: var(--gold-2);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hf-home__slider-head h1,
.hf-search-page__hero h1 {
  margin: 0;
  font-family: "Cinzel", serif;
  font-size: clamp(2rem, 3.6vw, 3.5rem);
  line-height: 0.98;
  max-width: 13ch;
}

.hf-home__slider-head p {
  max-width: 60ch;
  margin: 10px 0 0;
  color: var(--muted);
  line-height: 1.65;
}

.hf-home__slider-nav {
  display: flex;
  gap: 10px;
}

.hf-slider-btn {
  width: 42px;
  height: 42px;
  border: 1px solid var(--hf-line);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  color: var(--text);
  cursor: pointer;
  transition: transform var(--transition), border-color var(--transition), background var(--transition);
}

.hf-slider-btn:hover,
.hf-slider-btn:focus-visible {
  transform: translateY(-1px);
  border-color: var(--hf-line-strong);
  background: rgba(255, 255, 255, 0.07);
}

.hf-hero-slider {
  position: relative;
  min-height: 520px;
  border-radius: 28px;
  overflow: hidden;
}

.hf-hero-slider__viewport {
  position: relative;
  min-height: 520px;
}

.hf-hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
  transform: scale(0.985);
  transition: opacity 420ms ease, transform 420ms ease;
}

.hf-hero-slide.is-active {
  opacity: 1;
  pointer-events: auto;
  transform: scale(1);
}

.hf-hero-slide__media {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: flex-end;
  background-size: cover;
  background-position: center;
}

.hf-hero-slide__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(5, 9, 18, 0.84) 0%, rgba(5, 9, 18, 0.56) 46%, rgba(5, 9, 18, 0.12) 100%),
    radial-gradient(circle at 22% 20%, rgba(247, 201, 106, 0.18), transparent 36%);
}

.hf-hero-slide__glow {
  position: absolute;
  inset: auto 0 0 0;
  height: 140px;
  background: linear-gradient(180deg, transparent, rgba(5, 9, 18, 0.64));
}

.hf-hero-slide__copy {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 12px;
  max-width: 54%;
  padding: 30px;
}

.hf-hero-slide__eyebrow {
  color: var(--gold-2);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hf-hero-slide h2 {
  margin: 0;
  font-family: "Cinzel", serif;
  font-size: clamp(1.8rem, 3vw, 2.9rem);
  line-height: 1;
  max-width: 14ch;
}

.hf-hero-slide p {
  margin: 0;
  color: var(--text);
  max-width: 46ch;
  line-height: 1.62;
}

.hf-hero-slide__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hf-pill {
  display: inline-flex;
  align-items: center;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--hf-line);
  background: rgba(255, 255, 255, 0.04);
  color: var(--text);
  font-size: 0.84rem;
}

.hf-hero-slide__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.hf-hero-slide__cards {
  position: absolute;
  right: 18px;
  bottom: 18px;
  display: flex;
  gap: 10px;
  z-index: 1;
}

.hf-hero-slide__cards img {
  width: 82px;
  height: 118px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid var(--hf-line);
  box-shadow: 0 14px 28px rgba(0, 0, 0, 0.24);
}

.hf-hero-slide__cards img:nth-child(2) {
  transform: translateY(8px) rotate(4deg);
}

.hf-hero-slide__cards img:nth-child(3) {
  transform: translateY(-6px) rotate(-4deg);
}

.hf-hero-slider__dots {
  position: absolute;
  left: 24px;
  bottom: 18px;
  display: flex;
  gap: 8px;
  z-index: 2;
}

.hf-hero-slider__dot {
  width: 10px;
  height: 10px;
  padding: 0;
  border: 0;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.26);
  cursor: pointer;
  transition: width var(--transition), background var(--transition);
}

.hf-hero-slider__dot.is-active {
  width: 30px;
  background: linear-gradient(135deg, var(--gold), var(--gold-2));
}

.hf-home__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.hf-chip {
  display: inline-flex;
  align-items: center;
  min-height: 42px;
  padding: 0 14px;
  border-radius: 999px;
  border: 1px solid var(--hf-line);
  background: rgba(255, 255, 255, 0.03);
  color: var(--text);
  transition: transform var(--transition), border-color var(--transition), background var(--transition);
}

.hf-chip:hover,
.hf-chip:focus-visible {
  transform: translateY(-1px);
  border-color: var(--hf-line-strong);
  background: rgba(255, 255, 255, 0.06);
}

.hf-home__rail {
  display: grid;
  gap: 16px;
}

.hf-home-panel {
  display: grid;
  gap: 14px;
  padding: 18px;
  border-radius: 26px;
}

.hf-home-panel__head h2 {
  margin: 0;
  font-family: "Cinzel", serif;
  font-size: 1.28rem;
}

.hf-home-panel__head p {
  margin: 8px 0 0;
  color: var(--muted);
  line-height: 1.6;
}

.hf-home-panel__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.hf-pulse-list {
  display: grid;
  gap: 12px;
}

.hf-pulse-item {
  display: grid;
  gap: 4px;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid var(--hf-line);
  background: rgba(255, 255, 255, 0.03);
}

.hf-pulse-item__label {
  color: var(--gold-2);
  font-size: 0.72rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hf-pulse-item strong {
  font-size: 1rem;
}

.hf-pulse-item span {
  color: var(--muted);
  font-size: 0.88rem;
}

.hf-section {
  display: grid;
  gap: 16px;
  margin-top: 26px;
}

.hf-section__head {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-end;
}

.hf-section__head h2 {
  margin: 0;
  font-family: "Cinzel", serif;
  font-size: clamp(1.45rem, 2.4vw, 2.15rem);
}

.hf-section__head p {
  margin: 8px 0 0;
  color: var(--muted);
  max-width: 68ch;
  line-height: 1.62;
}

.hf-meta-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.hf-meta-strip__item {
  display: grid;
  gap: 6px;
  padding: 16px;
  border-radius: 20px;
  transition: transform var(--transition), border-color var(--transition), background var(--transition);
}

.hf-meta-strip__item:hover,
.hf-meta-strip__item:focus-visible {
  transform: translateY(-1px);
  border-color: var(--hf-line-strong);
  background: rgba(255, 255, 255, 0.05);
}

.hf-meta-strip__tier {
  color: var(--gold-2);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hf-meta-strip__item strong {
  font-size: 1rem;
}

.hf-meta-strip__item span,
.hf-meta-strip__item small {
  color: var(--muted);
}

.hf-split-story {
  display: grid;
  grid-template-columns: minmax(0, 1.12fr) minmax(300px, 0.88fr);
  gap: 18px;
}

.hf-feature-story {
  border-radius: 28px;
  overflow: hidden;
}

.hf-feature-story__link {
  display: grid;
  color: inherit;
}

.hf-feature-story__media {
  position: relative;
  min-height: 420px;
  background-size: cover;
  background-position: center;
}

.hf-feature-story__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(5, 9, 18, 0.12), rgba(5, 9, 18, 0.86)),
    radial-gradient(circle at top left, rgba(247, 201, 106, 0.14), transparent 34%);
}

.hf-feature-story__badges {
  position: absolute;
  top: 18px;
  left: 18px;
  right: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  z-index: 1;
}

.hf-feature-story__score {
  position: absolute;
  right: 18px;
  bottom: 18px;
  z-index: 1;
  display: grid;
  gap: 2px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid var(--hf-line);
  background: rgba(8, 13, 22, 0.74);
  text-align: right;
}

.hf-feature-story__score strong {
  color: var(--gold-2);
  font-family: "Cinzel", serif;
  font-size: 1.25rem;
}

.hf-feature-story__body {
  display: grid;
  gap: 12px;
  padding: 18px 20px 22px;
}

.hf-feature-story__meta,
.hf-feature-story__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  color: var(--muted);
  font-size: 0.88rem;
}

.hf-feature-story h3 {
  margin: 0;
  font-family: "Cinzel", serif;
  font-size: 1.35rem;
}

.hf-feature-story p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.hf-row-rail {
  display: grid;
  gap: 12px;
}

.hf-deck-row {
  border-radius: 24px;
  overflow: hidden;
}

.hf-deck-row__link {
  display: grid;
  grid-template-columns: 132px minmax(0, 1fr);
  color: inherit;
}

.hf-deck-row__art {
  position: relative;
  min-height: 186px;
  background-size: cover;
  background-position: center;
}

.hf-deck-row__art-overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5, 9, 18, 0.08), rgba(5, 9, 18, 0.84));
}

.hf-deck-row__badges {
  position: absolute;
  top: 14px;
  left: 14px;
  right: 14px;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  z-index: 1;
}

.hf-deck-row__score {
  position: absolute;
  left: 14px;
  bottom: 14px;
  z-index: 1;
  display: grid;
  gap: 2px;
  padding: 10px 12px;
  border-radius: 14px;
  background: rgba(8, 13, 22, 0.74);
  border: 1px solid var(--hf-line);
}

.hf-deck-row__score strong {
  color: var(--gold-2);
  font-family: "Cinzel", serif;
  font-size: 1.15rem;
}

.hf-deck-row__body {
  display: grid;
  gap: 10px;
  padding: 16px 16px 14px;
}

.hf-deck-row__topline {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
  font-size: 0.8rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hf-deck-row__body h3 {
  margin: 0;
  font-size: 1.02rem;
  line-height: 1.25;
}

.hf-deck-row__summary {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
  font-size: 0.92rem;
}

.hf-deck-row__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  color: var(--muted);
  font-size: 0.84rem;
}

.hf-deck-row__preview {
  display: flex;
  gap: 8px;
  align-items: center;
}

.hf-deck-row__preview img {
  width: 46px;
  height: 66px;
  border-radius: 10px;
  object-fit: cover;
  border: 1px solid var(--hf-line);
}

.hf-deck-row__preview-empty {
  color: var(--muted);
  font-size: 0.84rem;
}

.hf-deck-row:hover {
  transform: translateY(-2px);
  border-color: var(--hf-line-strong);
}

.hf-creator-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
  gap: 18px;
  align-items: start;
}

.hf-video-featured {
  border-radius: 28px;
  overflow: hidden;
}

.hf-video-featured__link {
  display: grid;
  color: inherit;
}

.hf-video-featured__media {
  position: relative;
  min-height: 352px;
  background-size: cover;
  background-position: center;
}

.hf-video-featured__overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(5, 9, 18, 0.08), rgba(5, 9, 18, 0.86)),
    radial-gradient(circle at top left, rgba(114, 178, 255, 0.14), transparent 34%);
}

.hf-video-featured__meta {
  position: absolute;
  top: 18px;
  left: 18px;
  right: 18px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  z-index: 1;
}

.hf-video-featured__cta {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 1;
  padding: 12px 16px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--gold), var(--gold-2));
  color: #162033;
  font-weight: 800;
}

.hf-video-featured__body {
  display: grid;
  gap: 12px;
  padding: 18px 20px 20px;
}

.hf-video-featured__body h3 {
  margin: 0;
  font-family: "Cinzel", serif;
  font-size: 1.3rem;
}

.hf-video-featured__body p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.hf-video-featured__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 14px;
  color: var(--muted);
  font-size: 0.88rem;
}

.hf-video-rail {
  display: grid;
  gap: 12px;
}

.hf-video-card {
  border-radius: 24px;
  overflow: hidden;
}

.hf-video-card__link {
  display: grid;
  color: inherit;
}

.hf-video-card__thumb {
  position: relative;
  min-height: 182px;
  background-size: cover;
  background-position: center;
}

.hf-video-card__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(5, 9, 18, 0.08), rgba(5, 9, 18, 0.84));
}

.hf-video-card__type {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 1;
  padding: 8px 10px;
  border-radius: 999px;
  border: 1px solid var(--hf-line);
  background: rgba(8, 13, 22, 0.7);
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hf-video-card__cta {
  position: absolute;
  left: 14px;
  bottom: 14px;
  z-index: 1;
  padding: 10px 14px;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--gold), var(--gold-2));
  color: #162033;
  font-weight: 800;
}

.hf-video-card__date {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 1;
  color: var(--muted);
  font-size: 0.82rem;
}

.hf-video-card__stack {
  position: absolute;
  top: 14px;
  right: 14px;
  z-index: 1;
  display: flex;
  gap: 8px;
}

.hf-video-card__stack img {
  width: 42px;
  height: 60px;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid var(--hf-line);
  box-shadow: 0 12px 20px rgba(0, 0, 0, 0.18);
}

.hf-video-card__body {
  display: grid;
  gap: 8px;
  padding: 14px 16px 16px;
}

.hf-video-card__meta {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  color: var(--muted);
  font-size: 0.76rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hf-video-card__body h3 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.35;
}

.hf-video-card__body p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
  font-size: 0.9rem;
}

.hf-tier-board {
  display: grid;
  gap: 16px;
}

.hf-tier-board__group {
  display: grid;
  gap: 12px;
  padding: 18px;
  border-radius: 26px;
}

.hf-tier-board__label {
  display: inline-flex;
  width: fit-content;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid var(--hf-line);
  background: rgba(255, 255, 255, 0.04);
  color: var(--gold-2);
  font-size: 0.74rem;
  font-weight: 800;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hf-tier-board__rows {
  display: grid;
  gap: 10px;
}

.hf-tier-row {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr);
  gap: 14px;
  padding: 14px;
  border-radius: 20px;
  border: 1px solid var(--hf-line);
  background: rgba(255, 255, 255, 0.03);
  transition: transform var(--transition), border-color var(--transition), background var(--transition);
}

.hf-tier-row:hover {
  transform: translateY(-1px);
  border-color: var(--hf-line-strong);
  background: rgba(255, 255, 255, 0.05);
}

.hf-tier-row__tier {
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(247, 201, 106, 0.94), rgba(255, 219, 144, 0.62));
  color: #162033;
  font-family: "Cinzel", serif;
  font-size: 1.35rem;
  font-weight: 800;
}

.hf-tier-row__body {
  display: grid;
  gap: 8px;
}

.hf-tier-row__top {
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: flex-start;
}

.hf-tier-row__top h3 {
  margin: 0;
  font-size: 1rem;
}

.hf-tier-row__share {
  color: var(--gold-2);
  font-family: "Cinzel", serif;
  font-size: 1rem;
}

.hf-tier-row__stats {
  margin: 0;
  color: var(--muted);
  font-size: 0.9rem;
  line-height: 1.55;
}

.hf-tier-row__link,
.hf-tier-row__empty {
  color: var(--muted);
  font-size: 0.9rem;
}

.hf-meta-rank {
  display: grid;
  grid-template-columns: 76px minmax(0, 1fr);
  gap: 14px;
  padding: 14px 16px;
  border-radius: 20px;
}

.hf-meta-rank__tier {
  display: grid;
  place-items: center;
  border-radius: 16px;
  background: linear-gradient(135deg, rgba(247, 201, 106, 0.96), rgba(255, 219, 144, 0.62));
  color: #162033;
  font-family: "Cinzel", serif;
  font-size: 1.1rem;
  font-weight: 800;
}

.hf-meta-rank__body {
  display: grid;
  gap: 8px;
}

.hf-meta-rank__top {
  display: flex;
  justify-content: space-between;
  gap: 10px;
  align-items: flex-start;
}

.hf-meta-rank__top h3 {
  margin: 0;
  font-size: 1rem;
}

.hf-meta-rank__top span {
  color: var(--gold-2);
  font-family: "Cinzel", serif;
}

.hf-meta-rank__body p {
  margin: 0;
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.hf-meta-rank__link,
.hf-meta-rank__empty {
  font-size: 0.88rem;
}

.hf-community-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.18fr) minmax(320px, 0.82fr);
  gap: 18px;
}

.hf-community-side {
  display: grid;
  gap: 16px;
}

.hf-activity-list {
  display: grid;
  gap: 12px;
}

.hf-activity-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
  padding: 14px 16px;
  border-radius: 20px;
  border: 1px solid var(--hf-line);
  background: rgba(255, 255, 255, 0.03);
}

.hf-activity-item__mark {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 76px;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(247, 201, 106, 0.1);
  color: var(--gold-2);
  font-size: 0.7rem;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hf-activity-item__body {
  display: grid;
  gap: 6px;
}

.hf-activity-item__title {
  font-weight: 700;
  color: var(--text);
}

.hf-activity-item__body p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
  overflow: hidden;
}

.hf-activity-item__badge {
  white-space: nowrap;
}

.hf-search-page {
  display: grid;
  gap: 18px;
  padding-top: 12px;
}

.hf-search-page__hero {
  display: flex;
  justify-content: space-between;
  align-items: flex-end;
  gap: 18px;
  padding: 22px;
  border-radius: 28px;
}

.hf-search-page__hero p {
  margin: 10px 0 0;
  color: var(--muted);
  line-height: 1.6;
  max-width: 68ch;
}

.hf-search-page__quicklinks {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.hf-search-pairs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.hf-search-pairs__column {
  display: grid;
  gap: 12px;
}

.hf-search-minihead {
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.74rem;
}

.hf-footer {
  margin-top: 40px;
  padding: 28px 0 42px;
  border-top: 1px solid var(--hf-line);
  background: linear-gradient(180deg, rgba(5, 9, 18, 0.28), rgba(5, 9, 18, 0.62));
}

.hf-footer__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 0.8fr));
  gap: 20px;
  align-items: start;
}

.hf-footer__brand strong {
  display: block;
  margin-bottom: 8px;
  font-family: "Cinzel", serif;
  font-size: 1.1rem;
}

.hf-footer__brand p {
  margin: 0 0 8px;
  color: var(--text);
}

.hf-footer__brand span {
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.6;
}

.hf-footer__links,
.hf-footer__meta {
  display: grid;
  gap: 8px;
}

.hf-footer__links a {
  color: var(--muted);
}

.hf-footer__links a:hover,
.hf-footer__links a:focus-visible {
  color: var(--text);
}

.hf-footer__meta {
  color: var(--muted);
  font-size: 0.92rem;
  line-height: 1.6;
}

.hf-home-panel__stats .stat-card {
  min-height: 108px;
}

.hf-home-panel__stats .stat-card__value {
  font-size: 1.42rem;
}

@media (max-width: 1220px) {
  .hf-home__hero,
  .hf-split-story,
  .hf-creator-grid,
  .hf-community-grid,
  .hf-search-pairs {
    grid-template-columns: 1fr;
  }

  .hf-home__rail {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hf-footer__inner {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 940px) {
  .hf-topbar__inner {
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .hf-nav--primary,
  .hf-nav--actions {
    justify-content: flex-start;
    overflow-x: auto;
    padding-bottom: 4px;
    scrollbar-width: none;
  }

  .hf-nav--primary::-webkit-scrollbar,
  .hf-nav--actions::-webkit-scrollbar {
    display: none;
  }

  .hf-topbar__actions {
    flex-direction: column;
    align-items: stretch;
  }

  .hf-search,
  .hf-search--page {
    width: 100%;
    min-width: 0;
  }

  .hf-home__slider-head,
  .hf-search-page__hero,
  .hf-section__head {
    align-items: flex-start;
    flex-direction: column;
  }

  .hf-home__rail {
    grid-template-columns: 1fr;
  }

  .hf-meta-strip {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 700px) {
  .hf-home__slider-head h1,
  .hf-search-page__hero h1 {
    max-width: 100%;
  }

  .hf-hero-slider,
  .hf-hero-slider__viewport {
    min-height: 560px;
  }

  .hf-hero-slide__copy {
    max-width: 100%;
    padding: 22px;
  }

  .hf-hero-slide__cards {
    right: 14px;
    bottom: 66px;
  }

  .hf-home-panel__stats,
  .hf-meta-strip,
  .hf-search-pairs {
    grid-template-columns: 1fr;
  }

  .hf-deck-row__link {
    grid-template-columns: 1fr;
  }

  .hf-deck-row__art {
    min-height: 160px;
  }

  .hf-video-featured__media,
  .hf-video-card__thumb,
  .hf-feature-story__media {
    min-height: 240px;
  }

  .hf-tier-row {
    grid-template-columns: 60px minmax(0, 1fr);
  }

  .hf-activity-item {
    grid-template-columns: 1fr;
  }

  .hf-activity-item__badge {
    justify-self: start;
  }
}

@media (max-width: 560px) {
  .site-container {
    width: min(var(--container), calc(100% - 22px));
  }

  .hf-home__slider-head h1,
  .hf-search-page__hero h1 {
    font-size: 2rem;
  }

  .hf-hero-slide__cards {
    position: relative;
    right: auto;
    bottom: auto;
    padding: 0 18px 18px;
    margin-top: -8px;
  }

  .hf-hero-slider__dots {
    left: 18px;
  }

  .hf-footer__links {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* HSReplay-inspired light theme override */
:root {
  --bg: #eef3fb;
  --bg-2: #f9fbff;
  --panel: rgba(255, 255, 255, 0.96);
  --panel-strong: #ffffff;
  --line: #d6e0ef;
  --line-strong: #b4c3d8;
  --text: #22324b;
  --muted: #5b6d85;
  --gold: #ffcd59;
  --gold-2: #ffe7a1;
  --blue: #3f6596;
  --green: #2fb36d;
  --red: #d65a67;
  --purple: #6b78d8;
  --shadow: 0 18px 36px rgba(31, 52, 82, 0.1);
}

body.site-body {
  background: linear-gradient(180deg, #f8fbff 0%, #edf3fb 100%);
  color: var(--text);
  font-family: "Inter", system-ui, sans-serif;
}

body.site-body::before,
body.site-body::after,
.site-ambient,
.intro-overlay {
  display: none !important;
}

.site-main {
  padding: 16px 0 56px;
}

.site-container {
  width: min(1220px, calc(100% - 32px));
}

.hf-topbar {
  position: sticky;
  top: 0;
  z-index: 60;
  background: linear-gradient(180deg, #4f78ab 0%, #436995 100%);
  color: #fff;
  border-bottom: 1px solid rgba(255, 255, 255, 0.18);
  box-shadow: 0 2px 0 rgba(29, 46, 75, 0.2), 0 8px 20px rgba(29, 46, 75, 0.08);
}

.hf-topbar__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 10px 0 8px;
}

.hf-brand {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  color: #fff;
  min-width: 0;
}

.hf-brand__mark {
  width: 34px;
  height: 34px;
  display: grid;
  place-items: center;
  border-radius: 8px;
  background: linear-gradient(180deg, #ffe08b 0%, #ffcb5d 100%);
  color: #24344d;
  font: 800 0.92rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
  box-shadow: 0 10px 18px rgba(0, 0, 0, 0.14);
}

.hf-brand__copy {
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.hf-brand__copy strong {
  font: 800 1.28rem/1 "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.hf-brand__copy small {
  color: rgba(255, 255, 255, 0.8);
  font-size: 0.76rem;
}

.hf-nav--primary,
.hf-nav--actions {
  display: flex;
  align-items: center;
  gap: 6px;
  flex-wrap: wrap;
}

.hf-nav__link {
  display: inline-flex;
  align-items: center;
  min-height: 34px;
  padding: 8px 10px;
  border-radius: 4px;
  color: rgba(255, 255, 255, 0.95);
  font: 700 0.82rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  transition: background var(--transition), color var(--transition), transform var(--transition), box-shadow var(--transition);
}

.hf-nav__link:hover,
.hf-nav__link:focus-visible,
.hf-nav__link.is-active {
  background: rgba(255, 255, 255, 0.16);
  color: #fff;
  transform: translateY(-1px);
}

.hf-nav__link--accent {
  background: linear-gradient(180deg, #ffe08b 0%, #ffd15d 100%);
  color: #24344d;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.14);
}

.hf-nav__link--soft {
  background: rgba(255, 255, 255, 0.12);
}

.hf-topbar__tools {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-left: auto;
}

.hf-search {
  display: flex;
  align-items: center;
  min-width: 320px;
  background: rgba(255, 255, 255, 0.15);
  border: 1px solid rgba(255, 255, 255, 0.2);
  border-radius: 4px;
  overflow: hidden;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.14);
}

.hf-search__input {
  width: 100%;
  min-width: 0;
  padding: 8px 12px;
  border: 0;
  outline: none;
  background: transparent;
  color: #fff;
  font-size: 0.92rem;
}

.hf-search__input::placeholder {
  color: rgba(255, 255, 255, 0.72);
}

.hf-search__button {
  padding: 8px 12px;
  border: 0;
  background: rgba(255, 255, 255, 0.18);
  color: #fff;
  font: 700 0.84rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
}

.hf-search__button:hover,
.hf-search__button:focus-visible {
  background: rgba(255, 255, 255, 0.26);
}

.hf-announcement {
  background: linear-gradient(180deg, #678aba 0%, #789ac7 100%);
  border-top: 1px solid rgba(255, 255, 255, 0.12);
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
}

.hf-announcement__inner {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 14px;
  padding: 7px 0;
  color: #fff;
  font-size: 0.88rem;
  font-weight: 600;
  text-align: center;
}

.hf-announcement__inner a {
  color: #fff;
  text-decoration: underline;
}

.hf-hub {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.hf-hub__lead {
  display: grid;
  grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.82fr);
  gap: 16px;
  align-items: stretch;
}

.hf-banner,
.hf-leaderboard,
.hf-module,
.hf-tile,
.hf-featured-deck,
.hf-video-featured,
.hf-video-card,
.hf-deck-row,
.hf-tier-row,
.activity-item,
.stat-card,
.hf-class-row,
.hf-card-shelf__item,
.hf-meta-strip__item,
.empty-state {
  background: var(--panel-strong);
  border: 1px solid var(--line);
  box-shadow: var(--shadow);
}

.hf-banner {
  display: grid;
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
  min-height: 340px;
  overflow: hidden;
  border-radius: 4px;
}

.hf-banner__copy {
  display: flex;
  flex-direction: column;
  gap: 14px;
  padding: 24px 24px 20px;
  background: linear-gradient(180deg, #ffffff 0%, #f4f7fc 100%);
}

.hf-banner__eyebrow {
  display: inline-flex;
  align-self: flex-start;
  padding: 6px 10px;
  border-radius: 4px;
  background: var(--blue);
  color: #fff;
  font: 800 0.78rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hf-banner__copy h1 {
  margin: 0;
  color: var(--text);
  font: 800 clamp(2.1rem, 4vw, 3.7rem)/0.94 "Barlow Condensed", sans-serif;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.hf-banner__copy p {
  margin: 0;
  max-width: 60ch;
  color: var(--muted);
  line-height: 1.6;
  font-size: 1rem;
}

.hf-banner__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.hf-banner__stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-top: auto;
}

.hf-banner__stats div {
  padding: 10px 12px;
  border: 1px solid var(--line);
  border-radius: 4px;
  background: #fff;
}

.hf-banner__stats strong {
  display: block;
  color: var(--blue-2, var(--blue));
  font: 800 1.18rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.hf-banner__stats span {
  display: block;
  margin-top: 4px;
  color: var(--muted);
  font-size: 0.82rem;
}

.hf-banner__visual {
  position: relative;
  min-height: 340px;
  background: linear-gradient(135deg, #223652 0%, #364e75 50%, #1d2b42 100%) center/cover no-repeat;
}

.hf-banner__visual-shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg, rgba(16, 24, 39, 0.18) 0%, rgba(16, 24, 39, 0.58) 100%);
}

.hf-banner__visual-copy {
  position: absolute;
  top: 16px;
  right: 16px;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 8px;
}

.hf-banner__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.hf-banner__cards {
  position: absolute;
  left: 16px;
  right: 16px;
  bottom: 16px;
  z-index: 1;
  display: flex;
  gap: 10px;
}

.hf-banner__cards img {
  width: 82px;
  aspect-ratio: 0.72;
  object-fit: cover;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.3);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
  transform: rotate(-4deg);
}

.hf-banner__cards img:nth-child(2) {
  transform: translateY(8px);
}

.hf-banner__cards img:nth-child(3) {
  transform: rotate(4deg);
}

.hf-leaderboard {
  display: flex;
  flex-direction: column;
  padding: 0 0 14px;
  border-radius: 4px;
  overflow: hidden;
}

.hf-module__header,
.hf-section__head,
.hf-search-page__hero {
  background: var(--blue);
  color: #fff;
  border-radius: 4px 4px 0 0;
}

.hf-module__header,
.hf-section__head {
  padding: 12px 14px;
  border: 1px solid #2f4f7d;
  border-bottom-width: 1px;
  box-shadow: none;
}

.hf-module__header h2,
.hf-section__head h2,
.hf-search-page__hero h1 {
  margin: 4px 0 0;
  color: #fff;
  font: 800 1.28rem/1 "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.hf-module__eyebrow,
.hf-kicker {
  color: rgba(255, 255, 255, 0.9);
  font: 800 0.76rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.09em;
  text-transform: uppercase;
}

.hf-module__header--compact {
  margin-bottom: 0;
  border-radius: 4px 4px 0 0;
}

.hf-leaderboard__list {
  padding: 10px;
  display: flex;
  flex-direction: column;
  gap: 6px;
}

.hf-leaderboard__row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  min-height: 42px;
  padding: 8px 10px;
  border-radius: 4px;
  background: linear-gradient(90deg, rgba(63, 101, 150, 0.07), rgba(63, 101, 150, 0.015));
  border: 1px solid var(--line);
  color: var(--text);
}

.hf-leaderboard__row:hover,
.hf-leaderboard__row:focus-visible {
  background: rgba(63, 101, 150, 0.12);
}

.hf-leaderboard__rank,
.hf-leaderboard__value {
  font: 800 1.05rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.03em;
  color: var(--blue-2, var(--blue));
}

.hf-leaderboard__label {
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.03em;
}

.hf-grid {
  display: grid;
  gap: 16px;
  margin-top: 16px;
}

.hf-grid--three {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hf-grid--split {
  grid-template-columns: minmax(0, 1.2fr) minmax(0, 0.95fr);
}

.hf-module {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 4px;
}

.hf-module__header + *,
.hf-section__head + *,
.hf-search-page__hero + *,
.hf-module > .hf-stats-grid,
.hf-module > .hf-featured-deck,
.hf-module > .hf-video-featured,
.hf-module > .hf-video-rail,
.hf-module > .hf-row-rail,
.hf-module > .hf-activity-list,
.hf-module > .hf-class-list,
.hf-module > .hf-card-shelf,
.hf-module > .hf-empty-state {
  border-top: 0;
}

.hf-stats-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
  padding: 12px;
}

.stat-card {
  min-height: 122px;
  border-radius: 4px;
  padding: 12px;
  background: linear-gradient(180deg, #ffffff 0%, #f7fbff 100%);
  box-shadow: none;
}

.stat-card__eyebrow {
  display: inline-flex;
  align-self: flex-start;
  padding: 5px 8px;
  border-radius: 999px;
  background: #dce7f7;
  color: #2f4f7d;
  font: 800 0.72rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.stat-card__value {
  display: block;
  margin-top: 10px;
  color: var(--blue-2, var(--blue));
  font: 800 2.1rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.04em;
}

.stat-card__label {
  display: block;
  margin-top: 6px;
  color: var(--text);
  font-weight: 700;
}

.stat-card__detail {
  margin: 8px 0 0;
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.5;
}

.hf-featured-deck {
  display: flex;
  flex-direction: column;
  height: 100%;
  border-radius: 4px;
  overflow: hidden;
  color: inherit;
}

.hf-featured-deck__media {
  position: relative;
  min-height: 248px;
  background: linear-gradient(135deg, #20324d 0%, #4b6ea1 100%) center/cover no-repeat;
}

.hf-featured-deck__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(17, 24, 39, 0.14) 0%, rgba(17, 24, 39, 0.75) 100%);
}

.hf-featured-deck__badges {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hf-featured-deck__score {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 1;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  padding: 10px 12px;
  border-radius: 4px;
  background: rgba(19, 30, 48, 0.78);
  border: 1px solid rgba(255, 255, 255, 0.16);
  color: #fff;
}

.hf-featured-deck__score strong {
  color: #ffdf76;
  font: 800 2rem/1 "Barlow Condensed", sans-serif;
}

.hf-featured-deck__score span {
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.05em;
}

.hf-featured-deck__body {
  padding: 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
  background: #fff;
}

.hf-featured-deck__meta {
  display: flex;
  justify-content: space-between;
  gap: 8px;
  color: var(--muted);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.hf-featured-deck__body h3 {
  margin: 0;
  color: var(--text);
  font: 800 1.9rem/0.95 "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.hf-featured-deck__body p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.hf-featured-deck__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hf-featured-deck__facts span {
  padding: 6px 10px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: #eef3fb;
  color: var(--blue-2, var(--blue));
  font-size: 0.8rem;
  font-weight: 700;
}

.hf-video-featured {
  border-radius: 4px;
  overflow: hidden;
  box-shadow: none;
}

.hf-video-featured--compact .hf-video-featured__media {
  min-height: 192px;
}

.hf-video-featured__link {
  color: inherit;
}

.hf-video-featured__media {
  position: relative;
  min-height: 220px;
  background: linear-gradient(135deg, #24354f 0%, #415f90 100%) center/cover no-repeat;
}

.hf-video-featured__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(16, 24, 39, 0.12) 0%, rgba(16, 24, 39, 0.7) 100%);
}

.hf-video-featured__meta {
  position: absolute;
  top: 14px;
  left: 14px;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hf-video-featured__cta {
  position: absolute;
  right: 14px;
  bottom: 14px;
  z-index: 1;
  padding: 8px 12px;
  border-radius: 4px;
  background: var(--blue);
  color: #fff;
  font: 800 0.86rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.hf-video-featured__body {
  padding: 14px;
  background: #fff;
}

.hf-video-featured__body h3 {
  margin: 8px 0 0;
  color: var(--text);
  font: 800 1.7rem/0.96 "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.hf-video-featured__body p {
  margin: 8px 0 0;
  color: var(--muted);
  line-height: 1.55;
}

.hf-video-featured__facts {
  margin-top: 10px;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  color: var(--muted);
  font-size: 0.78rem;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.hf-video-rail--compact {
  display: grid;
  gap: 10px;
  margin-top: 10px;
}

.hf-video-card {
  border-radius: 4px;
  overflow: hidden;
  box-shadow: none;
}

.hf-video-card__link {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
}

.hf-video-card__thumb {
  min-height: 160px;
}

.hf-video-card__body {
  padding: 12px;
  background: #fff;
}

.hf-video-card__body h3 {
  margin: 0;
  color: var(--text);
  font: 800 1.35rem/0.98 "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.hf-video-card__body p {
  color: var(--muted);
}

.hf-row-rail {
  display: flex;
  flex-direction: column;
  gap: 10px;
}

.hf-deck-row {
  border-radius: 4px;
  overflow: hidden;
}

.hf-deck-row__link {
  display: grid;
  grid-template-columns: 124px minmax(0, 1fr);
  gap: 0;
}

.hf-deck-row__art {
  min-height: 160px;
}

.hf-deck-row__body {
  padding: 12px 14px;
  background: #fff;
}

.hf-deck-row__body h3 {
  margin: 0;
  color: var(--text);
  font: 800 1.55rem/0.98 "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.hf-deck-row__summary,
.hf-deck-row__meta,
.hf-deck-row__topline {
  color: var(--muted);
}

.hf-tier-row {
  border-radius: 4px;
  overflow: hidden;
}

.hf-tier-row__tier {
  background: var(--blue);
  color: #fff;
  font: 800 1.7rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.06em;
}

.hf-tier-row__body {
  background: #fff;
  padding: 12px 14px;
}

.hf-tier-row__top h3 {
  margin: 0;
  color: var(--text);
  font: 800 1.3rem/1 "Barlow Condensed", sans-serif;
  text-transform: uppercase;
}

.hf-tier-row__share {
  color: var(--green);
}

.hf-tier-row__stats,
.hf-tier-row__empty,
.hf-tier-row__link {
  color: var(--muted);
}

.activity-item {
  border-radius: 4px;
  padding: 12px 14px;
  box-shadow: none;
}

.activity-item__title {
  color: var(--blue-2, var(--blue));
  font-weight: 800;
}

.stat-card {
  border-radius: 4px;
}

.hf-tile-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 16px;
}

.hf-tile {
  position: relative;
  min-height: 176px;
  overflow: hidden;
  border-radius: 4px;
  background: linear-gradient(135deg, #214065 0%, #4c70a3 100%) center/cover no-repeat;
  color: #fff;
  transition: transform var(--transition), box-shadow var(--transition);
}

.hf-tile:hover,
.hf-tile:focus-visible {
  transform: translateY(-2px);
  box-shadow: 0 18px 32px rgba(31, 52, 82, 0.16);
}

.hf-tile__shade {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(19, 28, 43, 0.12) 0%, rgba(19, 28, 43, 0.76) 100%);
}

.hf-tile__copy {
  position: absolute;
  inset: auto 16px 16px 16px;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 8px;
}

.hf-tile__copy span {
  display: inline-flex;
  align-self: flex-start;
  padding: 5px 8px;
  border-radius: 999px;
  background: rgba(63, 101, 150, 0.95);
  font: 800 0.72rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hf-tile__copy strong {
  font: 800 1.8rem/0.96 "Barlow Condensed", sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.hf-tile__copy p {
  margin: 0;
  max-width: 34ch;
  color: rgba(255, 255, 255, 0.88);
  line-height: 1.5;
}

.hf-class-list,
.hf-card-shelf {
  padding: 12px;
  display: grid;
  gap: 10px;
}

.hf-class-row {
  display: flex;
  flex-direction: column;
  gap: 6px;
  padding: 12px 14px;
  border-radius: 4px;
}

.hf-class-row__top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
}

.hf-class-row__top strong {
  color: var(--text);
  font: 800 1.2rem/1 "Barlow Condensed", sans-serif;
  text-transform: uppercase;
}

.hf-class-row__top span {
  color: var(--blue-2, var(--blue));
  font: 700 0.72rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hf-class-row__meta {
  color: var(--muted);
  font-size: 0.84rem;
}

.hf-card-shelf {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.hf-card-shelf__item {
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 10px;
  border-radius: 4px;
}

.hf-card-shelf__item img {
  aspect-ratio: 0.75;
  object-fit: cover;
  border-radius: 3px;
}

.hf-card-shelf__item strong {
  color: var(--text);
  font: 800 1rem/1 "Barlow Condensed", sans-serif;
  text-transform: uppercase;
}

.hf-card-shelf__item span {
  color: var(--muted);
  font-size: 0.8rem;
}

.hf-section,
.hf-search-page {
  margin-top: 16px;
}

.hf-section__head,
.hf-search-page__hero {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  padding: 14px;
  border: 1px solid #2f4f7d;
}

.hf-section__head h2,
.hf-search-page__hero h1 {
  margin: 4px 0 0;
}

.hf-section__head p,
.hf-search-page__hero p {
  color: rgba(255, 255, 255, 0.88);
}

.hf-search-page__hero {
  border-radius: 4px;
}

.hf-search-page__quicklinks {
  margin-top: 12px;
}

.hf-search-page__quicklinks,
.hf-home__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.hf-chip {
  display: inline-flex;
  align-items: center;
  padding: 9px 12px;
  border-radius: 4px;
  background: #fff;
  border: 1px solid var(--line);
  color: var(--blue-2, var(--blue));
  font-weight: 800;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  box-shadow: 0 4px 12px rgba(31, 52, 82, 0.06);
}

.hf-chip:hover,
.hf-chip:focus-visible {
  transform: translateY(-1px);
  background: #f7fbff;
}

.btn {
  border-radius: 4px;
  text-transform: uppercase;
  letter-spacing: 0.04em;
  font-weight: 800;
  box-shadow: 0 6px 14px rgba(31, 52, 82, 0.08);
}

.btn--primary {
  background: var(--blue);
  color: #fff;
  border: 1px solid #2f4f7d;
}

.btn--ghost {
  background: #fff;
  color: var(--blue-2, var(--blue));
  border: 1px solid var(--line);
}

.badge {
  border-radius: 999px;
  font: 800 0.72rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.badge--gold {
  background: var(--gold);
  color: #24344d;
}

.badge--class {
  background: var(--blue);
  color: #fff;
}

.badge--soft {
  background: #eef3fb;
  color: var(--blue-2, var(--blue));
  border: 1px solid var(--line);
}

.hf-pill {
  border-radius: 999px;
  background: #fff;
  border: 1px solid var(--line);
  color: var(--blue-2, var(--blue));
  font: 700 0.75rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hf-footer {
  padding: 24px 0 40px;
  color: var(--muted);
}

.hf-footer__inner {
  display: grid;
  grid-template-columns: minmax(0, 1.4fr) repeat(2, minmax(0, 0.8fr));
  gap: 20px;
  padding: 18px;
  background: #fff;
  border: 1px solid var(--line);
  border-radius: 4px;
  box-shadow: var(--shadow);
}

.hf-footer__brand strong {
  display: block;
  color: var(--text);
  font: 800 1.5rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.hf-footer__brand p,
.hf-footer__brand span,
.hf-footer__meta,
.hf-footer__links {
  color: var(--muted);
}

.hf-footer__links {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px 14px;
}

.hf-footer__links a {
  color: var(--blue-2, var(--blue));
  font-weight: 700;
}

.hf-footer__links a:hover,
.hf-footer__links a:focus-visible {
  color: #1f3961;
}

.hf-footer__meta {
  display: flex;
  flex-direction: column;
  gap: 8px;
  text-align: right;
}

.hf-empty-state,
.empty-state {
  border-radius: 4px;
  padding: 14px;
  background: #fff;
}

.hf-meta-strip {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.hf-meta-strip__item {
  display: flex;
  flex-direction: column;
  gap: 7px;
  padding: 14px;
  border-radius: 4px;
  color: var(--text);
}

.hf-meta-strip__item strong {
  color: var(--text);
  font: 800 1.15rem/1 "Barlow Condensed", sans-serif;
  text-transform: uppercase;
}

.hf-meta-strip__tier {
  color: var(--blue-2, var(--blue));
  font: 800 0.74rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hf-meta-strip__item span,
.hf-meta-strip__item small {
  color: var(--muted);
}

.hf-home {
  display: flex;
  flex-direction: column;
  gap: 16px;
}

.hf-home__actions {
  margin-top: 12px;
}

.hf-activity-list {
  display: grid;
  gap: 10px;
  padding: 12px;
}

.hf-module--creator .hf-video-featured + .hf-video-rail,
.hf-module--creator .hf-video-rail + .hf-video-rail {
  margin-top: 10px;
}

.hf-module--creator .hf-video-rail,
.hf-module--creator .hf-video-featured {
  border-radius: 4px;
}

.hf-module--creator .hf-video-rail {
  display: grid;
  gap: 10px;
  padding: 12px;
}

@media (max-width: 1180px) {
  .hf-topbar__inner {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .hf-topbar__tools {
    grid-column: 1 / -1;
    justify-content: space-between;
    width: 100%;
    margin-left: 0;
  }

  .hf-hub__lead,
  .hf-grid--three,
  .hf-grid--split {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 960px) {
  .hf-banner {
    grid-template-columns: 1fr;
  }

  .hf-banner__visual {
    min-height: 280px;
  }

  .hf-tile-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hf-card-shelf {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .hf-topbar__inner {
    padding: 10px 0;
  }

  .hf-nav--primary,
  .hf-nav--actions {
    overflow-x: auto;
    scrollbar-width: none;
    padding-bottom: 4px;
  }

  .hf-nav--primary::-webkit-scrollbar,
  .hf-nav--actions::-webkit-scrollbar {
    display: none;
  }

  .hf-search {
    min-width: 0;
    width: 100%;
  }

  .hf-topbar__tools {
    flex-direction: column;
    align-items: stretch;
  }

  .hf-banner__stats,
  .hf-stats-grid,
  .hf-meta-strip,
  .hf-card-shelf,
  .hf-tile-grid {
    grid-template-columns: 1fr;
  }

  .hf-leaderboard__row {
    grid-template-columns: auto 1fr auto;
  }

  .hf-deck-row__link {
    grid-template-columns: 1fr;
  }

  .hf-deck-row__art {
    min-height: 170px;
  }

  .hf-footer__inner {
    grid-template-columns: 1fr;
  }

  .hf-footer__meta {
    text-align: left;
  }
}

@media (max-width: 560px) {
  .site-container {
    width: min(var(--container), calc(100% - 20px));
  }

  .hf-banner__copy h1,
  .hf-search-page__hero h1 {
    font-size: 2.05rem;
  }

  .hf-banner__cards {
    position: relative;
    left: 16px;
    right: 16px;
    bottom: auto;
    padding-bottom: 16px;
    margin-top: -10px;
  }
}

/* HSReplay-like refinements */
.hf-game-switcher {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-height: 34px;
  padding: 0 12px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.12);
  color: #fff;
  font: 800 0.8rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.05em;
  text-transform: uppercase;
  cursor: pointer;
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.1);
}

.hf-topbar__brandset {
  display: flex;
  align-items: center;
  gap: 12px;
  min-width: 0;
}

.hf-game-switcher:hover,
.hf-game-switcher:focus-visible {
  background: rgba(255, 255, 255, 0.18);
}

.hf-game-switcher__icon {
  font-size: 0.68rem;
  line-height: 1;
  color: #dce8f6;
}

.hf-game-switcher__caret {
  font-size: 0.82rem;
  line-height: 1;
  color: rgba(255, 255, 255, 0.7);
}

.hf-home {
  gap: 14px;
}

.hf-home__hero {
  margin-top: 2px;
}

.hf-banner {
  box-shadow: 0 18px 40px rgba(31, 52, 82, 0.1);
}

.hf-banner__callout {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 2px;
  max-width: 220px;
  padding: 10px 12px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(17, 28, 46, 0.8);
  color: #fff;
  box-shadow: 0 14px 28px rgba(14, 22, 36, 0.2);
}

.hf-banner__callout span {
  color: rgba(255, 255, 255, 0.8);
  font: 800 0.72rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hf-banner__callout strong {
  color: #fff;
  font: 800 1.02rem/1.02 "Barlow Condensed", sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.hf-banner__callout small {
  color: rgba(255, 255, 255, 0.75);
  font-size: 0.78rem;
}

.hf-home__modules {
  margin-top: 2px;
}

.hf-home__feature-strip {
  margin-top: 2px;
}

.hf-home__callout {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 20px 22px;
  border-radius: 4px;
  border: 1px solid #2f4f7d;
  background: linear-gradient(180deg, #4f78ab 0%, #436995 100%);
  color: #fff;
  box-shadow: 0 12px 26px rgba(29, 46, 75, 0.14);
}

.hf-home__callout h2 {
  margin: 6px 0 0;
  color: #fff;
  font: 800 clamp(1.45rem, 2.4vw, 2.05rem)/0.96 "Barlow Condensed", sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.hf-home__callout p {
  margin: 8px 0 0;
  max-width: 68ch;
  color: rgba(255, 255, 255, 0.9);
  line-height: 1.55;
}

.hf-home__callout-actions {
  display: grid;
  justify-items: end;
  gap: 10px;
}

.hf-home__callout-links {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  justify-content: flex-end;
}

.hf-home__callout .btn--ghost {
  background: rgba(255, 255, 255, 0.14);
  border-color: rgba(255, 255, 255, 0.22);
  color: #fff;
}

.hf-home__callout .btn--ghost:hover,
.hf-home__callout .btn--ghost:focus-visible {
  background: rgba(255, 255, 255, 0.2);
}

.hf-home__callout .hf-chip {
  background: rgba(255, 255, 255, 0.16);
  border-color: rgba(255, 255, 255, 0.2);
  color: #fff;
}

.hf-home__callout .hf-chip:hover,
.hf-home__callout .hf-chip:focus-visible {
  background: rgba(255, 255, 255, 0.24);
}

.hero,
.panel,
.hero-card,
.expansion-card,
.class-card,
.card-card,
.tile-card,
.form-card,
.profile-card,
.table-panel {
  border-radius: 4px;
  border-color: #d9e3f1;
  background: #fff;
  box-shadow: 0 8px 20px rgba(31, 52, 82, 0.08);
}

.hf-home-panel {
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 4px;
  background: #fff;
  border: 1px solid #d9e3f1;
  box-shadow: 0 8px 20px rgba(31, 52, 82, 0.08);
}

.hf-home-panel__head {
  padding: 14px 16px;
  background: linear-gradient(180deg, #4f78ab 0%, #436995 100%);
  color: #fff;
}

.hf-home-panel__head h2 {
  margin: 4px 0 0;
  color: #fff;
  font: 800 1.28rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.hf-home-panel__head p {
  color: rgba(255, 255, 255, 0.88);
}

.hf-home-panel__stats {
  padding: 12px;
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.section__head,
.hf-section__head,
.hf-search-page__hero {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  padding: 14px 16px;
  border: 1px solid #2f4f7d;
  border-radius: 4px;
  background: linear-gradient(180deg, #4f78ab 0%, #436995 100%);
  color: #fff;
}

.section__head h2,
.hf-section__head h2,
.hf-search-page__hero h1 {
  margin: 4px 0 0;
  color: #fff;
  font: 800 1.28rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.section__head p,
.hf-section__head p,
.hf-search-page__hero p {
  color: rgba(255, 255, 255, 0.88);
}

.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(300px, 0.85fr);
  gap: 16px;
  align-items: stretch;
}

.hero__copy {
  padding: 20px 22px;
  background: linear-gradient(180deg, #ffffff 0%, #f5f8fd 100%);
}

.hero__eyebrow {
  display: inline-flex;
  align-self: flex-start;
  padding: 6px 10px;
  border-radius: 4px;
  background: var(--blue);
  color: #fff;
  font: 800 0.78rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hero__title {
  margin: 14px 0 12px;
  max-width: 12ch;
  color: var(--text);
  font: 800 clamp(2rem, 4vw, 3.7rem)/0.94 "Barlow Condensed", sans-serif;
  letter-spacing: 0.03em;
  text-transform: uppercase;
}

.hero__lead {
  max-width: 62ch;
  color: var(--muted);
  font-size: 1rem;
  line-height: 1.6;
}

.hero__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin-top: 20px;
}

.hero__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  margin-top: 22px;
}

.hero__stat {
  padding: 14px;
  border-radius: 4px;
  background: #fff;
  border: 1px solid #dce5f2;
  box-shadow: none;
  animation: none;
}

.hero__stat-value {
  display: block;
  color: var(--blue);
  font: 800 1.38rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.hero__stat-label {
  display: block;
  margin-top: 5px;
  color: var(--muted);
  font-size: 0.84rem;
}

.panel--hero,
.hero-card {
  overflow: hidden;
}

.hero-card__copy {
  padding: 16px 18px 18px;
  background: #fff;
}

.hero-card__copy h2,
.hero-card__copy h3 {
  color: var(--text);
  font: 800 1.55rem/0.96 "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.hero-card__copy p {
  color: var(--muted);
}

.hero-card__figure {
  background: linear-gradient(135deg, #dbe7f8 0%, #f7fbff 100%);
}

.hero-card__figure-badge {
  background: rgba(22, 34, 54, 0.8);
  color: #fff;
}

.pill-grid {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.pill {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 8px 10px;
  border-radius: 4px;
  border: 1px solid #dce5f2;
  background: #fff;
  color: var(--blue);
  font: 800 0.74rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.pill strong {
  color: inherit;
}

.card-card__art,
.class-card__art,
.hero-card__figure--class,
.expansion-card__art {
  background: linear-gradient(135deg, #dbe7f8 0%, #f7fbff 100%);
}

.card-card__body,
.class-card__body,
.expansion-card__body {
  background: #fff;
}

.card-card__body h3,
.class-card__body h3,
.expansion-card__body h3 {
  color: var(--text);
  font: 800 1.18rem/0.96 "Barlow Condensed", sans-serif;
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.card-card__set,
.card-card__cost {
  color: #fff;
  background: rgba(63, 101, 150, 0.92);
  border-color: rgba(255, 255, 255, 0.18);
}

.card-card__type,
.card-card__summary,
.card-card__footer,
.class-card__body p,
.class-card__footer,
.expansion-card__body p,
.expansion-card__meta {
  color: var(--muted);
}

.class-card__sigil,
.expansion-card__count {
  background: var(--blue);
  color: #fff;
}

.class-card__count {
  background: rgba(255, 255, 255, 0.92);
  color: var(--blue);
  border: 1px solid #d9e3f1;
}

.expansion-card__stack img {
  border: 1px solid rgba(255, 255, 255, 0.6);
}

.expansion-card[data-expansion-theme="ember"] .expansion-card__art,
.expansion-card[data-expansion-theme="frost"] .expansion-card__art,
.expansion-card[data-expansion-theme="arcane"] .expansion-card__art,
.expansion-card[data-expansion-theme="verdant"] .expansion-card__art,
.expansion-card[data-expansion-theme="onyx"] .expansion-card__art,
.expansion-card[data-expansion-theme="sun"] .expansion-card__art {
  background-blend-mode: soft-light;
}

.hero-card__figure--class[data-class-theme="fel"],
.class-card[data-class-theme="fel"] .class-card__art,
.hero-card__figure--class[data-class-theme="frost"],
.class-card[data-class-theme="frost"] .class-card__art,
.hero-card__figure--class[data-class-theme="nature"],
.class-card[data-class-theme="nature"] .class-card__art,
.hero-card__figure--class[data-class-theme="wild"],
.class-card[data-class-theme="wild"] .class-card__art,
.hero-card__figure--class[data-class-theme="arcane"],
.class-card[data-class-theme="arcane"] .class-card__art,
.hero-card__figure--class[data-class-theme="sun"],
.class-card[data-class-theme="sun"] .class-card__art,
.hero-card__figure--class[data-class-theme="light"],
.class-card[data-class-theme="light"] .class-card__art,
.hero-card__figure--class[data-class-theme="shadow"],
.class-card[data-class-theme="shadow"] .class-card__art,
.hero-card__figure--class[data-class-theme="storm"],
.class-card[data-class-theme="storm"] .class-card__art,
.hero-card__figure--class[data-class-theme="void"],
.class-card[data-class-theme="void"] .class-card__art,
.hero-card__figure--class[data-class-theme="forge"],
.class-card[data-class-theme="forge"] .class-card__art,
.hero-card__figure--class[data-class-theme="tavern"],
.class-card[data-class-theme="tavern"] .class-card__art {
  background-blend-mode: soft-light;
}

@media (max-width: 1180px) {
  .hero {
    grid-template-columns: 1fr;
  }

  .hf-home__callout {
    align-items: flex-start;
    flex-direction: column;
  }

  .hf-home__callout-actions {
    width: 100%;
    justify-items: start;
  }

  .hf-home__callout-links {
    justify-content: flex-start;
  }
}

@media (max-width: 720px) {
  .hf-topbar__inner {
    grid-template-columns: 1fr;
  }

  .hero__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hf-home__callout {
    padding: 18px;
  }

  .hf-home__callout-actions {
    width: 100%;
  }
}

@media (max-width: 560px) {
  .hero__title {
    max-width: 100%;
    font-size: 2.2rem;
  }

  .hero__stats {
    grid-template-columns: 1fr;
  }
}

/* Deck builder */
.deck-compose {
  display: grid;
  gap: 16px;
}

.deck-compose__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.25fr) minmax(280px, 0.75fr);
  gap: 16px;
  padding: 18px 20px;
  border: 1px solid #d9e3f1;
  border-radius: 4px;
  background: linear-gradient(180deg, #4f78ab 0%, #436995 100%);
  color: #fff;
  box-shadow: 0 8px 20px rgba(31, 52, 82, 0.1);
}

.deck-compose__eyebrow,
.deck-compose__hero p {
  color: rgba(255, 255, 255, 0.9);
}

.deck-compose__hero h1 {
  margin: 6px 0 0;
  color: #fff;
  font: 800 clamp(2rem, 3.6vw, 3rem)/0.95 "Barlow Condensed", sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.deck-compose__hero p {
  max-width: 66ch;
  line-height: 1.6;
}

.deck-compose__hero-stats {
  display: grid;
  grid-template-columns: 1fr;
  gap: 8px;
}

.deck-compose__hero-stats div {
  padding: 12px 14px;
  border-radius: 4px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(255, 255, 255, 0.14);
}

.deck-compose__hero-stats strong {
  display: block;
  color: #fff;
  font: 800 1.38rem/1 "Barlow Condensed", sans-serif;
  text-transform: uppercase;
}

.deck-compose__hero-stats span {
  display: block;
  margin-top: 4px;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.84rem;
}

.deck-compose__grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 16px;
  align-items: start;
}

.deck-compose__form {
  display: grid;
  gap: 16px;
}

.deck-compose__note {
  padding: 14px 16px;
  border-radius: 4px;
  border: 1px solid #d9e3f1;
  background: #f7fbff;
}

.deck-compose__note strong {
  display: block;
  color: var(--blue);
  font: 800 0.82rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.deck-compose__note p {
  margin: 6px 0 0;
  color: var(--muted);
  line-height: 1.5;
}

.deck-builder-shell {
  display: grid;
  gap: 16px;
  padding: 0;
  overflow: hidden;
  background: #fff;
}

.deck-builder-shell__tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  background: #edf3fb;
  border-bottom: 1px solid #d9e3f1;
}

.deck-builder-shell__tab {
  min-height: 48px;
  border: 0;
  border-right: 1px solid #d9e3f1;
  background: transparent;
  color: var(--blue);
  font: 800 0.8rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  cursor: pointer;
}

.deck-builder-shell__tab:last-child {
  border-right: 0;
}

.deck-builder-shell__tab.is-active {
  background: #fff;
  color: var(--text);
}

.deck-mode {
  display: none;
  gap: 16px;
  padding: 16px;
}

.deck-mode.is-active {
  display: grid;
}

.deck-code-input {
  width: 100%;
  min-height: 112px;
  resize: vertical;
}

.deck-code-actions,
.deck-code-preview__row,
.deck-builder-status,
.deck-gallery-panel__head,
.deck-selected__actions {
  display: flex;
  align-items: center;
  gap: 10px;
  justify-content: space-between;
}

.deck-code-preview {
  display: grid;
  gap: 8px;
  padding: 14px 0 0;
  border-top: 1px solid #e0e8f4;
}

.deck-code-preview > span {
  color: var(--blue);
  font: 800 0.8rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.deck-code-preview__row {
  gap: 8px;
}

.deck-code-preview__row input {
  flex: 1;
  min-width: 0;
  border: 1px solid #d9e3f1;
  background: #f7fbff;
  color: var(--text);
}

.deck-class-picker {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.deck-class-pill {
  min-height: 42px;
  padding: 10px 12px;
  border: 1px solid #d9e3f1;
  border-radius: 4px;
  background: #fff;
  color: var(--text);
  font: 800 0.78rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
}

.deck-class-pill.is-active,
.deck-class-pill:hover,
.deck-class-pill:focus-visible {
  background: var(--blue);
  color: #fff;
  border-color: var(--blue);
}

.deck-builder-status {
  align-items: flex-start;
  padding: 14px;
  border-radius: 4px;
  border: 1px solid #d9e3f1;
  background: #f7fbff;
}

.deck-builder-status strong {
  display: block;
  color: var(--text);
  font: 800 1.28rem/1 "Barlow Condensed", sans-serif;
  text-transform: uppercase;
}

.deck-builder-status p {
  margin: 4px 0 0;
  color: var(--muted);
  line-height: 1.5;
}

.deck-builder-meter {
  height: 12px;
  overflow: hidden;
  border-radius: 999px;
  background: #dce6f3;
}

.deck-builder-meter__fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, #4f78ab 0%, #7fa0cd 100%);
}

.deck-galleries {
  display: grid;
  gap: 14px;
}

.deck-gallery-panel,
.deck-selected-panel {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-radius: 4px;
  border: 1px solid #d9e3f1;
  background: #fff;
}

.deck-gallery-panel__head {
  color: var(--text);
}

.deck-gallery-panel__head strong {
  color: var(--text);
  font: 800 1rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.deck-gallery-panel__head span {
  color: var(--blue);
  font: 800 0.76rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.deck-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(112px, 1fr));
  gap: 10px;
}

.deck-gallery__empty {
  padding: 14px;
  border-radius: 4px;
  border: 1px dashed #cfd9ea;
  background: #f7fbff;
  color: var(--muted);
  text-align: center;
}

.deck-card-tile {
  position: relative;
  display: grid;
  gap: 8px;
  padding: 0;
  border: 0;
  background: transparent;
  cursor: pointer;
  text-align: left;
}

.deck-card-tile__art {
  position: relative;
  aspect-ratio: 0.72;
  border-radius: 4px;
  background: linear-gradient(180deg, #e8f0fb 0%, #c9d7ea 100%) center/cover no-repeat;
  border: 1px solid #d9e3f1;
  overflow: hidden;
  box-shadow: 0 8px 20px rgba(31, 52, 82, 0.08);
}

.deck-card-tile:hover .deck-card-tile__art,
.deck-card-tile:focus-visible .deck-card-tile__art,
.deck-card-tile.is-selected .deck-card-tile__art {
  transform: translateY(-2px);
  border-color: rgba(63, 101, 150, 0.42);
}

.deck-card-tile__cost,
.deck-card-tile__badge,
.deck-card-tile__quantity,
.deck-card-tile__limit,
.deck-card-tile__remove {
  position: absolute;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border-radius: 999px;
  font: 800 0.68rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.deck-card-tile__cost {
  top: 8px;
  left: 8px;
  min-width: 26px;
  height: 26px;
  padding: 0 6px;
  background: rgba(31, 52, 82, 0.84);
  color: #fff;
}

.deck-card-tile__badge {
  left: 8px;
  bottom: 8px;
  padding: 6px 8px;
  background: rgba(31, 52, 82, 0.82);
  color: #fff;
}

.deck-card-tile__quantity {
  right: 8px;
  bottom: 8px;
  min-width: 28px;
  height: 28px;
  padding: 0 6px;
  background: var(--blue);
  color: #fff;
}

.deck-card-tile__limit {
  right: 8px;
  top: 8px;
  min-width: 36px;
  height: 24px;
  padding: 0 6px;
  background: rgba(255, 255, 255, 0.9);
  color: var(--blue);
}

.deck-card-tile__remove {
  right: 6px;
  top: 6px;
  width: 24px;
  height: 24px;
  background: #d95361;
  color: #fff;
  box-shadow: 0 8px 16px rgba(217, 83, 97, 0.2);
}

.deck-card-tile__body {
  display: grid;
  gap: 4px;
}

.deck-card-tile__body strong {
  color: var(--text);
  font: 800 0.92rem/1.02 "Barlow Condensed", sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.deck-card-tile__body small {
  color: var(--muted);
}

.deck-selected {
  display: grid;
  gap: 10px;
}

.deck-selected__item {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 4px;
  border: 1px solid #d9e3f1;
  background: #f7fbff;
}

.deck-selected__item img {
  width: 48px;
  height: 64px;
  object-fit: cover;
  border-radius: 4px;
}

.deck-selected__copy {
  display: grid;
  gap: 4px;
}

.deck-selected__copy strong {
  color: var(--text);
  font: 800 0.95rem/1.05 "Barlow Condensed", sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.deck-selected__copy span {
  color: var(--muted);
  font-size: 0.84rem;
}

.deck-selected__actions strong {
  color: var(--blue);
  font: 800 1rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.deck-compose .field label,
.deck-compose .form-card label {
  color: var(--text);
}

@media (max-width: 1180px) {
  .deck-compose__hero,
  .deck-compose__grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 960px) {
  .deck-gallery {
    grid-template-columns: repeat(auto-fill, minmax(104px, 1fr));
  }
}

@media (max-width: 720px) {
  .deck-class-picker {
    grid-template-columns: 1fr;
  }

  .deck-selected__item {
    grid-template-columns: 44px minmax(0, 1fr);
  }

  .deck-selected__actions {
    grid-column: 1 / -1;
    justify-content: flex-start;
    flex-wrap: wrap;
  }
}

@media (max-width: 560px) {
  .deck-compose__hero {
    padding: 16px;
  }

  .deck-code-preview__row {
    flex-direction: column;
    align-items: stretch;
  }
}

/* Simplified deck builder */
.deck-compose--simple {
  display: grid;
  gap: 20px;
}

.deck-compose__hero--simple {
  padding: 24px 28px;
}

.deck-compose__hero-copy {
  display: grid;
  gap: 10px;
}

.deck-compose__hero-copy h1 {
  margin: 0;
  max-width: 16ch;
  font-family: "Cinzel", serif;
  font-size: clamp(2rem, 3.8vw, 3.2rem);
  line-height: 0.95;
}

.deck-compose__hero-copy p {
  margin: 0;
  max-width: 72ch;
  color: var(--muted);
  line-height: 1.7;
}

.deck-compose__eyebrow {
  display: inline-flex;
  width: fit-content;
  padding: 7px 12px;
  border-radius: 999px;
  border: 1px solid rgba(247, 201, 106, 0.22);
  background: rgba(247, 201, 106, 0.08);
  color: var(--gold-2);
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.deck-compose__layout {
  display: grid;
  grid-template-columns: minmax(320px, 0.92fr) minmax(0, 1.08fr);
  gap: 20px;
  align-items: start;
}

.deck-compose__summary,
.deck-compose__browser {
  display: grid;
  gap: 18px;
  padding: 20px;
}

.deck-compose__stack {
  display: grid;
  gap: 16px;
}

.deck-import-strip,
.deck-progress,
.deck-code-preview,
.deck-selected-panel {
  display: grid;
  gap: 12px;
  padding: 16px;
  border-radius: 20px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.035);
}

.deck-import-strip__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.deck-progress__head,
.deck-panel-head {
  display: flex;
  align-items: start;
  justify-content: space-between;
  gap: 12px;
}

.deck-progress__head strong,
.deck-panel-head strong {
  font-family: "Cinzel", serif;
  font-size: 1.05rem;
}

.deck-progress__head span,
.deck-panel-head span {
  color: var(--muted);
  font-size: 0.88rem;
  text-align: right;
}

.deck-builder-meter {
  width: 100%;
  height: 10px;
  overflow: hidden;
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.08);
}

.deck-builder-meter__fill {
  height: 100%;
  border-radius: inherit;
  background: linear-gradient(90deg, rgba(247, 201, 106, 0.92), rgba(114, 178, 255, 0.82));
  transition: width 220ms ease;
}

.deck-code-preview > span,
.deck-browser-note {
  color: var(--muted);
  font-size: 0.88rem;
  line-height: 1.5;
}

.deck-code-preview__row {
  display: flex;
  align-items: center;
  gap: 10px;
}

.deck-code-preview__row input {
  flex: 1;
}

.deck-class-menu {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
}

.deck-class-menu__item {
  min-height: 68px;
  padding: 12px 14px;
  border-radius: 18px;
  border: 1px solid var(--line);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03)),
    rgba(255, 255, 255, 0.02);
  color: var(--text);
  font-weight: 700;
  text-align: left;
  cursor: pointer;
  transition: transform var(--transition), border-color var(--transition), background var(--transition), box-shadow var(--transition);
}

.deck-class-menu__item:hover,
.deck-class-menu__item:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(247, 201, 106, 0.3);
  box-shadow: 0 18px 26px rgba(0, 0, 0, 0.2);
}

.deck-class-menu__item.is-active {
  border-color: rgba(247, 201, 106, 0.48);
  background:
    linear-gradient(180deg, rgba(247, 201, 106, 0.12), rgba(255, 255, 255, 0.03)),
    rgba(255, 255, 255, 0.03);
  color: var(--gold-2);
}

.deck-scope-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.deck-scope-tabs__item {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 12px 14px;
  border-radius: 16px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.03);
  color: var(--muted);
  cursor: pointer;
  transition: transform var(--transition), border-color var(--transition), color var(--transition), background var(--transition);
}

.deck-scope-tabs__item:hover,
.deck-scope-tabs__item:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(255, 255, 255, 0.16);
  color: var(--text);
}

.deck-scope-tabs__item.is-active {
  background: linear-gradient(135deg, rgba(247, 201, 106, 0.15), rgba(114, 178, 255, 0.08));
  border-color: rgba(247, 201, 106, 0.36);
  color: var(--text);
}

.deck-browser-nav {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
}

.deck-browser-nav__button {
  width: 42px;
  height: 42px;
  border-radius: 12px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.04);
  color: var(--text);
  cursor: pointer;
  transition: transform var(--transition), border-color var(--transition), background var(--transition), opacity var(--transition);
}

.deck-browser-nav__button:hover,
.deck-browser-nav__button:focus-visible {
  transform: translateY(-1px);
  border-color: rgba(247, 201, 106, 0.28);
  background: rgba(255, 255, 255, 0.08);
}

.deck-browser-nav__button:disabled {
  opacity: 0.45;
  cursor: not-allowed;
  transform: none;
}

.deck-browser-nav__indicator {
  min-width: 74px;
  text-align: center;
  color: var(--muted);
  font-weight: 700;
}

.deck-card-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.deck-card-tile {
  position: relative;
  display: grid;
  gap: 8px;
}

.deck-card-tile__primary {
  display: grid;
  gap: 8px;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
}

.deck-card-tile__frame {
  position: relative;
  aspect-ratio: 0.72;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid var(--line);
  background: rgba(8, 14, 24, 0.9);
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.28);
  transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition);
}

.deck-card-tile__primary:hover .deck-card-tile__frame,
.deck-card-tile__primary:focus-visible .deck-card-tile__frame,
.deck-card-tile.is-selected .deck-card-tile__frame {
  transform: translateY(-3px);
  border-color: rgba(247, 201, 106, 0.28);
  box-shadow: 0 24px 42px rgba(0, 0, 0, 0.34);
}

.deck-card-tile__image {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.deck-card-tile__quantity,
.deck-card-tile__remove {
  position: absolute;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 0.72rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.deck-card-tile__quantity {
  left: 10px;
  bottom: 10px;
  min-width: 30px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(8, 14, 24, 0.78);
  color: var(--gold-2);
}

.deck-card-tile__remove {
  top: 10px;
  right: 10px;
  width: 28px;
  height: 28px;
  border-radius: 999px;
  border: 1px solid rgba(255, 122, 136, 0.32);
  background: rgba(255, 122, 136, 0.18);
  color: var(--red);
  box-shadow: 0 12px 18px rgba(255, 122, 136, 0.16);
}

.deck-card-tile__body {
  display: grid;
  gap: 4px;
  padding: 0 2px;
}

.deck-card-tile__body strong {
  color: var(--text);
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1.02rem;
  line-height: 1.05;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.deck-card-tile__body small {
  color: var(--muted);
  font-size: 0.82rem;
  line-height: 1.45;
}

.deck-selected-list {
  display: grid;
  gap: 10px;
}

.deck-selected-row {
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  padding: 10px 12px;
  border-radius: 18px;
  border: 1px solid var(--line);
  background: rgba(255, 255, 255, 0.035);
}

.deck-selected-row__thumb {
  width: 58px;
  height: 78px;
  object-fit: cover;
  border-radius: 12px;
  background: rgba(255, 255, 255, 0.04);
}

.deck-selected-row__copy {
  display: grid;
  gap: 4px;
}

.deck-selected-row__copy strong {
  color: var(--text);
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1rem;
  line-height: 1.05;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.deck-selected-row__copy span {
  color: var(--muted);
  font-size: 0.84rem;
  line-height: 1.45;
}

.deck-selected-row__meta {
  display: flex;
  align-items: center;
  gap: 10px;
}

.deck-selected-row__count {
  min-width: 34px;
  text-align: center;
  color: var(--gold-2);
  font-family: "Barlow Condensed", sans-serif;
  font-size: 1rem;
  font-weight: 800;
  letter-spacing: 0.04em;
}

.deck-selected-row__remove {
  width: 34px;
  height: 34px;
  border-radius: 10px;
  border: 1px solid rgba(255, 122, 136, 0.3);
  background: rgba(255, 122, 136, 0.16);
  color: var(--red);
  cursor: pointer;
  transition: transform var(--transition), background var(--transition), border-color var(--transition);
}

.deck-selected-row__remove:hover,
.deck-selected-row__remove:focus-visible {
  transform: translateY(-1px);
  background: rgba(255, 122, 136, 0.24);
  border-color: rgba(255, 122, 136, 0.46);
}

.deck-compose .field label,
.deck-compose .form-card label {
  color: var(--text);
}

.deck-gallery__empty {
  padding: 18px;
  border-radius: 18px;
  border: 1px dashed var(--line-strong);
  background: rgba(255, 255, 255, 0.03);
  color: var(--muted);
  text-align: center;
  line-height: 1.5;
}

body.site-body--deck-builder {
  --bg: #eef4fb;
  --bg-2: #e5edf7;
  --panel: rgba(255, 255, 255, 0.94);
  --panel-strong: rgba(255, 255, 255, 0.98);
  --line: rgba(207, 219, 234, 0.92);
  --line-strong: rgba(184, 198, 216, 0.98);
  --text: #1d2b41;
  --muted: #6b7d95;
  --gold: #d79d2c;
  --gold-2: #c88b17;
  --blue: #3f628d;
  --green: #2d9f6d;
  --red: #d34f60;
  --purple: #7a63d5;
  background:
    radial-gradient(circle at 8% 0%, rgba(255, 255, 255, 0.94), transparent 24%),
    radial-gradient(circle at 88% 0%, rgba(114, 178, 255, 0.18), transparent 22%),
    linear-gradient(180deg, #f7fbff 0%, #edf4fb 42%, #e7eef8 100%);
  color: var(--text);
}

body.site-body--deck-builder::before {
  opacity: 0.4;
  background:
    radial-gradient(circle at 10% 18%, rgba(255, 255, 255, 0.55), transparent 18%),
    radial-gradient(circle at 84% 22%, rgba(114, 178, 255, 0.16), transparent 16%),
    radial-gradient(circle at 24% 78%, rgba(247, 201, 106, 0.12), transparent 18%);
}

body.site-body--deck-builder::after {
  opacity: 0.04;
  background-image:
    linear-gradient(rgba(31, 52, 82, 0.08) 1px, transparent 1px),
    linear-gradient(90deg, rgba(31, 52, 82, 0.08) 1px, transparent 1px);
}

body.site-body--deck-builder .deck-compose__summary,
body.site-body--deck-builder .deck-compose__browser {
  background: rgba(255, 255, 255, 0.94);
  border: 1px solid var(--line);
  box-shadow: 0 18px 42px rgba(31, 52, 82, 0.08);
  color: var(--text);
}

body.site-body--deck-builder .deck-import-strip,
body.site-body--deck-builder .deck-progress,
body.site-body--deck-builder .deck-code-preview,
body.site-body--deck-builder .deck-selected-panel {
  border-color: var(--line);
  background: rgba(248, 251, 255, 0.95);
}

body.site-body--deck-builder .deck-browser-note,
body.site-body--deck-builder .deck-code-preview > span,
body.site-body--deck-builder .deck-progress__head span,
body.site-body--deck-builder .deck-panel-head span {
  color: var(--muted);
}

body.site-body--deck-builder .deck-builder-meter {
  background: rgba(31, 52, 82, 0.1);
}

body.site-body--deck-builder .deck-builder-meter__fill {
  background: linear-gradient(90deg, rgba(247, 201, 106, 0.95), rgba(114, 178, 255, 0.82));
}

body.site-body--deck-builder .deck-class-menu__item {
  min-height: 64px;
  border-color: var(--line);
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(246, 250, 255, 0.92));
  color: var(--text);
  box-shadow: 0 10px 20px rgba(31, 52, 82, 0.05);
}

body.site-body--deck-builder .deck-class-menu__item:hover,
body.site-body--deck-builder .deck-class-menu__item:focus-visible {
  border-color: rgba(247, 201, 106, 0.42);
  box-shadow: 0 14px 26px rgba(31, 52, 82, 0.08);
}

body.site-body--deck-builder .deck-class-menu__item.is-active {
  border-color: rgba(247, 201, 106, 0.62);
  color: var(--blue);
  background:
    linear-gradient(180deg, rgba(247, 201, 106, 0.16), rgba(255, 255, 255, 0.96));
}

body.site-body--deck-builder .deck-scope-tabs__item {
  border-color: var(--line);
  background: rgba(255, 255, 255, 0.96);
  color: var(--muted);
}

body.site-body--deck-builder .deck-scope-tabs__item:hover,
body.site-body--deck-builder .deck-scope-tabs__item:focus-visible {
  border-color: rgba(114, 178, 255, 0.32);
  color: var(--text);
}

body.site-body--deck-builder .deck-scope-tabs__item.is-active {
  border-color: rgba(247, 201, 106, 0.42);
  color: var(--text);
  background: linear-gradient(135deg, rgba(247, 201, 106, 0.16), rgba(114, 178, 255, 0.08));
}

body.site-body--deck-builder .deck-browser-nav__button {
  border-color: var(--line);
  background: rgba(255, 255, 255, 0.96);
  color: var(--text);
}

body.site-body--deck-builder .deck-browser-nav__button:hover,
body.site-body--deck-builder .deck-browser-nav__button:focus-visible {
  border-color: rgba(247, 201, 106, 0.38);
  background: rgba(255, 255, 255, 1);
}

body.site-body--deck-builder .deck-browser-nav__indicator {
  color: var(--muted);
}

body.site-body--deck-builder .deck-card-grid {
  align-items: start;
  gap: 10px;
  grid-auto-rows: auto;
}

body.site-body--deck-builder .deck-card-tile {
  gap: 0;
}

body.site-body--deck-builder .deck-card-tile--builder {
  align-self: start;
  overflow: visible;
}

body.site-body--deck-builder .deck-card-tile__primary--builder {
  display: block;
  position: relative;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  text-align: left;
  cursor: pointer;
  line-height: 0;
  overflow: visible;
}

body.site-body--deck-builder .deck-card-tile__image--builder {
  width: 100%;
  height: auto !important;
  display: block;
  object-fit: contain !important;
  max-width: 100%;
  max-height: none;
  border-radius: 14px;
  border: 1px solid var(--line);
  background: #fff;
  box-shadow: 0 12px 24px rgba(31, 52, 82, 0.1);
  transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition), filter var(--transition);
}

body.site-body--deck-builder .deck-card-tile__primary--builder:hover .deck-card-tile__image--builder,
body.site-body--deck-builder .deck-card-tile__primary--builder:focus-visible .deck-card-tile__image--builder,
body.site-body--deck-builder .deck-card-tile.is-selected .deck-card-tile__image--builder {
  transform: translateY(-2px);
  border-color: rgba(247, 201, 106, 0.42);
  box-shadow: 0 16px 28px rgba(31, 52, 82, 0.14);
}

body.site-body--deck-builder .deck-card-tile__cost,
body.site-body--deck-builder .deck-card-tile__quantity,
body.site-body--deck-builder .deck-card-tile__remove {
  position: absolute;
  z-index: 1;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font: 800 0.72rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

body.site-body--deck-builder .deck-card-tile__cost {
  top: 8px;
  left: 8px;
  min-width: 28px;
  height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  background: linear-gradient(180deg, rgba(247, 201, 106, 0.96), rgba(214, 157, 44, 0.96));
  color: #fff;
  box-shadow: 0 10px 18px rgba(214, 157, 44, 0.24);
}

body.site-body--deck-builder .deck-card-tile__quantity {
  left: 8px;
  bottom: 8px;
  min-width: 30px;
  height: 24px;
  padding: 0 8px;
  border-radius: 999px;
  background: rgba(29, 43, 65, 0.88);
  color: #fff;
}

body.site-body--deck-builder .deck-card-tile__remove {
  top: 8px;
  right: 8px;
  width: 26px;
  height: 26px;
  border-radius: 999px;
  border: 1px solid rgba(211, 79, 96, 0.28);
  background: rgba(255, 255, 255, 0.94);
  color: var(--red);
  box-shadow: 0 10px 16px rgba(211, 79, 96, 0.12);
}

body.site-body--deck-builder .deck-card-tile__body {
  display: none;
}

body.site-body--deck-builder .deck-selected-list {
  gap: 8px;
}

body.site-body--deck-builder .deck-selected-row {
  border-color: var(--line);
  background: rgba(255, 255, 255, 0.96);
  box-shadow: 0 10px 22px rgba(31, 52, 82, 0.06);
}

body.site-body--deck-builder .deck-selected-row__thumb {
  background: #fff;
  border: 1px solid rgba(207, 219, 234, 0.86);
}

body.site-body--deck-builder .deck-selected-row__copy strong {
  color: var(--text);
}

body.site-body--deck-builder .deck-selected-row__copy span {
  color: var(--muted);
}

body.site-body--deck-builder .deck-selected-row__count {
  color: var(--gold-2);
}

body.site-body--deck-builder .deck-selected-row__remove {
  border-color: rgba(211, 79, 96, 0.24);
  background: rgba(211, 79, 96, 0.1);
  color: var(--red);
}

body.site-body--deck-builder .deck-selected-row__remove:hover,
body.site-body--deck-builder .deck-selected-row__remove:focus-visible {
  background: rgba(211, 79, 96, 0.18);
  border-color: rgba(211, 79, 96, 0.34);
}

body.site-body--deck-builder .deck-gallery__empty {
  border-color: var(--line);
  background: rgba(255, 255, 255, 0.95);
  color: var(--muted);
}

@media (max-width: 1180px) {
  .deck-compose__layout {
    grid-template-columns: 1fr;
  }

  .deck-class-menu {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .deck-card-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 820px) {
  .deck-card-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .deck-class-menu {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .deck-compose__hero--simple,
  .deck-compose__summary,
  .deck-compose__browser {
    padding: 16px;
  }

  .deck-code-preview__row {
    flex-direction: column;
    align-items: stretch;
  }

  .deck-browser-nav {
    gap: 8px;
  }

  .deck-browser-nav__button {
    width: 38px;
    height: 38px;
  }

  .deck-selected-row {
    grid-template-columns: 52px minmax(0, 1fr);
  }

  .deck-selected-row__meta {
    grid-column: 1 / -1;
    justify-content: flex-start;
  }
}

/* Compact topbar override */
.hf-topbar {
  background: linear-gradient(180deg, #4f78ab 0%, #436995 100%);
  border-bottom: 1px solid rgba(255, 255, 255, 0.16);
  box-shadow: 0 2px 0 rgba(29, 46, 75, 0.18), 0 6px 16px rgba(29, 46, 75, 0.08);
}

.hf-topbar__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 12px 0 10px;
}

.hf-topbar__brandset {
  display: flex;
  align-items: center;
  gap: 10px;
  min-width: 0;
}

.hf-brand {
  gap: 10px;
}

.hf-brand__mark {
  width: 30px;
  height: 30px;
  border-radius: 7px;
}

.hf-brand__copy strong {
  font-size: 1.05rem;
  line-height: 1;
}

.hf-brand__copy small {
  font-size: 0.68rem;
  line-height: 1.1;
  opacity: 0.82;
}

.hf-game-switcher {
  height: 30px;
  padding: 0 10px;
  border-radius: 6px;
  font-size: 0.72rem;
}

.hf-nav--primary,
.hf-nav--actions {
  display: flex;
  align-items: center;
  gap: 4px;
  flex-wrap: nowrap;
  min-width: 0;
}

.hf-nav--primary {
  justify-content: center;
  overflow-x: auto;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.hf-nav--primary::-webkit-scrollbar,
.hf-nav--actions::-webkit-scrollbar {
  display: none;
}

.hf-nav__link {
  flex: 0 0 auto;
  white-space: nowrap;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 4px;
  font-size: 0.72rem;
}

.hf-topbar__tools {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  flex-wrap: nowrap;
}

.hf-search {
  width: clamp(220px, 22vw, 300px);
  min-width: 220px;
  border-radius: 5px;
}

.hf-search__input {
  padding: 6px 10px;
  font-size: 0.84rem;
}

.hf-search__button {
  padding: 6px 10px;
  font-size: 0.72rem;
}

.hf-user-chip {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  min-height: 30px;
  padding: 0 10px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.14);
  color: #fff;
  white-space: nowrap;
}

.hf-user-chip__label {
  font-size: 0.62rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.75;
}

.hf-user-chip strong {
  font: 800 0.78rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.hf-announcement {
  background: linear-gradient(180deg, #678aba 0%, #789ac7 100%);
}

.hf-announcement__inner {
  padding: 5px 0;
  gap: 10px;
  font-size: 0.8rem;
}

.hf-topbar {
  padding-top: 2px;
}

.hf-topbar__inner {
  min-height: 72px;
  padding-top: 14px;
  padding-bottom: 12px;
}

@media (max-width: 1180px) {
  .hf-topbar__inner {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 8px;
    min-height: 68px;
  }

  .hf-search {
    width: clamp(200px, 24vw, 280px);
    min-width: 200px;
  }

  .hf-nav__link {
    min-height: 28px;
    padding: 0 9px;
  }
}

@media (max-width: 940px) {
  .hf-topbar__inner {
    grid-template-columns: auto minmax(0, 1fr) auto;
    gap: 8px;
    min-height: 66px;
  }

  .hf-topbar__tools {
    justify-content: flex-end;
  }

  .hf-search {
    width: clamp(180px, 28vw, 250px);
    min-width: 180px;
  }

  .hf-brand__copy small {
    display: none;
  }
}

@media (max-width: 720px) {
  .hf-topbar__inner {
    grid-template-columns: 1fr;
    gap: 10px;
    min-height: 0;
    padding-top: 12px;
  }

  .hf-topbar__tools {
    flex-direction: column;
    align-items: stretch;
  }

  .hf-nav--primary,
  .hf-nav--actions {
    justify-content: flex-start;
    padding-bottom: 4px;
  }

  .hf-search {
    min-width: 0;
    width: 100%;
  }
}

@media (min-width: 721px) {
  /* Wider topbar shell */
  .hf-topbar .site-container.hf-topbar__inner,
  .hf-topbar .site-container.hf-announcement__inner {
    width: min(1600px, calc(100% - 8px));
  }

  .hf-topbar {
    padding-top: 4px;
  }

  .hf-topbar__inner {
    min-height: 76px;
    padding-top: 16px;
    padding-bottom: 14px;
  }
}

/* Quiz */
.site-body--quiz {
  background:
    radial-gradient(circle at top, rgba(255, 255, 255, 0.95) 0%, rgba(250, 251, 255, 0.94) 36%, rgba(234, 240, 250, 0.98) 100%),
    linear-gradient(180deg, #edf3fb 0%, #f6f9fe 100%);
}

.site-body--quiz .site-main {
  padding-top: 18px;
  padding-bottom: 56px;
}

.site-body--quiz .panel {
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.98) 0%, rgba(246, 249, 254, 0.98) 100%);
  border-color: #d6e0ef;
}

.quiz-shell {
  display: flex;
  flex-direction: column;
  gap: 22px;
}

.quiz-hero,
.quiz-banner,
.quiz-result-banner {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(280px, 0.8fr);
  gap: 18px;
  align-items: stretch;
  padding: 24px 26px;
  border-radius: 24px;
  border: 1px solid rgba(80, 110, 154, 0.28);
  color: #fff;
  box-shadow: 0 18px 40px rgba(58, 81, 114, 0.16);
}

.quiz-hero {
  background: linear-gradient(180deg, #5e84b5 0%, #4d719e 100%);
}

.quiz-banner {
  background: linear-gradient(180deg, #5e84b5 0%, #4d719e 100%);
}

.quiz-result-banner--success {
  background: linear-gradient(180deg, #56805d 0%, #416847 100%);
}

.quiz-result-banner--error {
  background: linear-gradient(180deg, #7b5663 0%, #5f4350 100%);
}

.quiz-hero__copy h1,
.quiz-banner__copy h1,
.quiz-result-banner__copy h1 {
  margin: 0;
  font-family: "Barlow Condensed", sans-serif;
  font-size: clamp(2rem, 4vw, 3.2rem);
  letter-spacing: 0.03em;
  line-height: 0.95;
}

.quiz-hero__copy p,
.quiz-banner__copy p,
.quiz-result-banner__copy p {
  margin: 10px 0 0;
  max-width: 62ch;
  color: rgba(255, 255, 255, 0.92);
  line-height: 1.55;
}

.quiz-hero__eyebrow,
.quiz-banner__eyebrow,
.quiz-result-banner__eyebrow {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 0.74rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 800;
  color: rgba(255, 255, 255, 0.78);
}

.quiz-hero__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 18px;
}

.quiz-hero__note {
  margin: 10px 0 0;
  color: rgba(255, 255, 255, 0.86);
  font-size: 0.92rem;
  line-height: 1.45;
}

.quiz-hero__summary {
  display: grid;
  gap: 14px;
}

.quiz-hero__status-card {
  border-radius: 18px;
  padding: 18px;
  background: rgba(255, 255, 255, 0.12);
  border: 1px solid rgba(255, 255, 255, 0.18);
  backdrop-filter: blur(10px);
}

.quiz-hero__status-card strong {
  display: block;
  margin-top: 8px;
  font-size: 1.1rem;
  font-weight: 800;
  color: #fff;
}

.quiz-hero__status-card p {
  margin: 8px 0 0;
  color: rgba(255, 255, 255, 0.88);
  font-size: 0.92rem;
  line-height: 1.45;
}

.quiz-hero__status-card--empty {
  background: rgba(255, 255, 255, 0.08);
}

.quiz-layout {
  display: grid;
  gap: 20px;
}

.quiz-layout--intro {
  grid-template-columns: minmax(0, 1.25fr) minmax(300px, 0.75fr);
}

.quiz-panel {
  padding: 22px;
}

.btn--ghost.is-disabled,
.btn--ghost[aria-disabled="true"] {
  opacity: 0.45;
  cursor: not-allowed;
  pointer-events: none;
}

.quiz-pool-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-top: 10px;
}

.quiz-pool-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px 18px;
  border: 1px solid #d6e0ef;
  border-radius: 18px;
  background: linear-gradient(180deg, #fff 0%, #f6f9fe 100%);
  box-shadow: 0 10px 30px rgba(52, 72, 102, 0.06);
  cursor: pointer;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.quiz-pool-card input {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

.quiz-pool-card__tag {
  align-self: flex-start;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #5e79a8;
  background: rgba(94, 121, 168, 0.12);
  padding: 5px 9px;
  border-radius: 999px;
}

.quiz-pool-card strong {
  font: 800 clamp(1rem, 2vw, 1.2rem)/1.1 "Barlow Condensed", sans-serif;
  color: #1e2f49;
}

.quiz-pool-card p {
  margin: 0;
  color: #637693;
  font-size: 0.92rem;
  line-height: 1.45;
}

.quiz-pool-card:hover,
.quiz-pool-card:focus-within {
  transform: translateY(-2px);
  border-color: #87a7d3;
  box-shadow: 0 16px 36px rgba(52, 72, 102, 0.1);
}

.quiz-pool-card.is-active {
  border-color: #f0c266;
  background: linear-gradient(180deg, #fffdf6 0%, #f7f1de 100%);
  box-shadow: 0 18px 40px rgba(177, 140, 42, 0.12);
}

.quiz-start-form__actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  margin-top: 18px;
}

.quiz-mode-stack {
  display: grid;
  gap: 12px;
}

.quiz-mode-stack--compact {
  gap: 10px;
}

.quiz-mode-card {
  border: 1px solid #d6e0ef;
  border-radius: 18px;
  padding: 16px;
  background: linear-gradient(180deg, #fff 0%, #f7f9fc 100%);
}

.quiz-mode-card strong {
  display: block;
  margin-top: 8px;
  color: #1e2f49;
  font-size: 1.05rem;
}

.quiz-mode-card p {
  margin: 8px 0 0;
  color: #637693;
  font-size: 0.92rem;
  line-height: 1.45;
}

.quiz-mode-card--active {
  border-color: #f0c266;
  box-shadow: 0 14px 34px rgba(177, 140, 42, 0.1);
}

.quiz-mode-card--disabled {
  opacity: 0.72;
  background: linear-gradient(180deg, #fbfcff 0%, #f2f5fa 100%);
}

.quiz-roadmap {
  display: grid;
  gap: 18px;
}

.quiz-roadmap__head {
  display: grid;
  gap: 8px;
}

.quiz-roadmap__head h2 {
  margin: 0;
  font: 800 clamp(1.5rem, 3vw, 2rem)/1.05 "Barlow Condensed", sans-serif;
  color: #1e2f49;
}

.quiz-roadmap__head p {
  margin: 0;
  color: #637693;
  line-height: 1.55;
  max-width: 42ch;
}

.quiz-roadmap__group {
  display: grid;
  gap: 12px;
  padding: 14px;
  border-radius: 18px;
  background: linear-gradient(180deg, rgba(255, 255, 255, 0.78), rgba(243, 247, 253, 0.94));
  border: 1px solid #d6e0ef;
}

.quiz-roadmap__group-head {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
}

.quiz-roadmap__group-head strong {
  color: #1e2f49;
  font-size: 1rem;
}

.quiz-roadmap__group-head span {
  color: #7b8eaa;
  font-size: 0.78rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font-weight: 700;
}

.quiz-question-layout,
.quiz-result-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(320px, 0.95fr);
  gap: 20px;
  align-items: start;
}

.quiz-question-card,
.quiz-options-card,
.quiz-result-card,
.quiz-result-summary {
  padding: 22px;
}

.quiz-question-card__head,
.quiz-options-card__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
}

.quiz-question-card__head h2 {
  margin: 8px 0 0;
  font: 800 clamp(1.5rem, 3vw, 2.2rem)/1.05 "Barlow Condensed", sans-serif;
  color: #1e2f49;
}

.quiz-question-card__head p {
  margin: 8px 0 0;
  color: #6a7d99;
  max-width: 58ch;
}

.quiz-hint-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  margin-top: 18px;
}

.quiz-hint {
  border: 1px solid #d7e2f2;
  border-radius: 16px;
  padding: 14px 16px;
  background: linear-gradient(180deg, #fff 0%, #f6f9fe 100%);
  box-shadow: 0 10px 28px rgba(52, 72, 102, 0.05);
}

.quiz-hint span,
.quiz-result-stat span,
.quiz-options-card__head span {
  display: block;
  font-size: 0.72rem;
  letter-spacing: 0.11em;
  text-transform: uppercase;
  color: #7f91ad;
  font-weight: 800;
}

.quiz-hint strong {
  display: block;
  margin-top: 8px;
  font: 800 clamp(1rem, 2vw, 1.3rem)/1.1 "Barlow Condensed", sans-serif;
  color: #1e2f49;
}

.quiz-options-card__head strong {
  color: #1e2f49;
  font-size: 1.05rem;
}

.quiz-option-list {
  display: grid;
  gap: 12px;
  margin-top: 16px;
}

.quiz-option-form {
  margin: 0;
}

.quiz-option {
  width: 100%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border: 1px solid #d6e0ef;
  border-radius: 18px;
  background: linear-gradient(180deg, #fff 0%, #f7f9fc 100%);
  box-shadow: 0 10px 28px rgba(52, 72, 102, 0.05);
  text-align: left;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
  color: inherit;
}

.quiz-option:hover,
.quiz-option:focus-visible {
  transform: translateY(-2px);
  border-color: #87a7d3;
  box-shadow: 0 16px 36px rgba(52, 72, 102, 0.1);
}

.quiz-option__index {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 12px;
  background: linear-gradient(180deg, #5e79a8 0%, #466794 100%);
  color: #fff;
  font: 800 1rem/1 "Barlow Condensed", sans-serif;
}

.quiz-option__body strong {
  display: block;
  font-weight: 800;
  font-size: 1.02rem;
  color: #1e2f49;
}

.quiz-option__body small {
  display: block;
  margin-top: 4px;
  color: #637693;
  font-size: 0.9rem;
  line-height: 1.35;
}

.quiz-option__cost {
  min-width: 44px;
  text-align: right;
  font: 800 1rem/1 "Barlow Condensed", sans-serif;
  color: #b37b17;
}

.quiz-result-card img {
  width: 100%;
  height: auto;
  display: block;
  border-radius: 22px;
}

.quiz-result-summary {
  display: grid;
  gap: 16px;
}

.quiz-result-stat-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.quiz-result-stat {
  border: 1px solid #d7e2f2;
  border-radius: 16px;
  padding: 14px 16px;
  background: linear-gradient(180deg, #fff 0%, #f6f9fe 100%);
  box-shadow: 0 10px 28px rgba(52, 72, 102, 0.05);
}

.quiz-result-stat strong {
  display: block;
  margin-top: 8px;
  color: #1e2f49;
  font: 800 1.1rem/1.1 "Barlow Condensed", sans-serif;
}

.quiz-result-answer {
  border-radius: 18px;
  padding: 16px;
  border: 1px solid #d6e0ef;
  background: linear-gradient(180deg, #fff 0%, #f7f9fc 100%);
}

.quiz-result-answer.is-correct {
  border-color: rgba(76, 137, 92, 0.4);
  background: linear-gradient(180deg, #f4fff6 0%, #eaf7ed 100%);
}

.quiz-result-answer.is-wrong {
  border-color: rgba(193, 95, 95, 0.35);
  background: linear-gradient(180deg, #fff6f6 0%, #faecec 100%);
}

.quiz-result-answer strong {
  display: block;
  color: #1e2f49;
  font-size: 1.02rem;
}

.quiz-result-answer p {
  margin: 8px 0 0;
  color: #637693;
  line-height: 1.45;
}

.quiz-result-actions {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}

.quiz-banner__meta {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  align-content: flex-start;
  justify-content: flex-end;
}

.site-body--quiz .quiz-hero.panel,
.site-body--quiz .quiz-banner.panel,
.site-body--quiz .quiz-result-banner.panel {
  position: relative;
  overflow: hidden;
  color: #fff;
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.16), transparent 28%),
    radial-gradient(circle at bottom left, rgba(255, 220, 140, 0.16), transparent 26%),
    linear-gradient(180deg, #5f82b1 0%, #3f5f8c 100%);
  border-color: rgba(255, 255, 255, 0.14);
  box-shadow: 0 18px 40px rgba(58, 81, 114, 0.18);
}

.site-body--quiz .quiz-banner.panel::before,
.site-body--quiz .quiz-hero.panel::before,
.site-body--quiz .quiz-result-banner.panel::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(115deg, rgba(255, 255, 255, 0.12), transparent 28%, transparent 68%, rgba(255, 255, 255, 0.06)),
    radial-gradient(circle at 18% 20%, rgba(255, 255, 255, 0.18), transparent 22%);
  pointer-events: none;
}

.site-body--quiz .quiz-banner__copy,
.site-body--quiz .quiz-hero__copy,
.site-body--quiz .quiz-result-banner__copy,
.site-body--quiz .quiz-banner__meta,
.site-body--quiz .quiz-hero__summary {
  position: relative;
  z-index: 1;
}

.site-body--quiz .quiz-hero__copy h1,
.site-body--quiz .quiz-banner__copy h1,
.site-body--quiz .quiz-result-banner__copy h1,
.site-body--quiz .quiz-hero__copy p,
.site-body--quiz .quiz-banner__copy p,
.site-body--quiz .quiz-result-banner__copy p {
  color: #fff;
  text-shadow: 0 2px 14px rgba(8, 15, 28, 0.3);
}

.site-body--quiz .quiz-hero__summary .badge,
.site-body--quiz .quiz-banner__meta .badge {
  box-shadow: 0 10px 22px rgba(8, 15, 28, 0.18);
}

.quiz-card-preview {
  --quiz-card-accent: #8fa8d7;
  --quiz-card-accent-2: #dce6f5;
  --quiz-card-accent-3: #61779b;
  --quiz-card-glow: rgba(143, 168, 215, 0.18);
  width: min(100%, 390px);
  margin: 22px auto 0;
  padding: 14px;
  border-radius: 28px;
  position: relative;
  background:
    radial-gradient(circle at 50% 12%, rgba(255, 255, 255, 0.98), transparent 34%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.98), rgba(244, 248, 253, 0.98));
  border: 1px solid rgba(112, 135, 170, 0.24);
  box-shadow:
    0 20px 48px rgba(31, 52, 82, 0.14),
    0 0 0 1px rgba(255, 255, 255, 0.7) inset;
}

.quiz-card-preview::before {
  content: "";
  position: absolute;
  inset: 8px;
  border-radius: 22px;
  border: 1px solid rgba(255, 255, 255, 0.62);
  pointer-events: none;
}

.quiz-card-preview__corner--cost {
  position: absolute;
  top: -10px;
  left: -10px;
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background:
    radial-gradient(circle at 30% 28%, rgba(255, 255, 255, 0.98), rgba(255, 247, 200, 0.72) 24%, rgba(240, 198, 107, 0.96) 50%, rgba(208, 144, 27, 0.96) 100%);
  border: 2px solid rgba(255, 255, 255, 0.84);
  box-shadow: 0 12px 22px rgba(208, 144, 27, 0.22);
  z-index: 2;
}

.quiz-card-preview__corner--rarity {
  position: absolute;
  top: -8px;
  right: -8px;
  width: 36px;
  height: 36px;
  border-radius: 50%;
  border: 2px solid rgba(255, 255, 255, 0.86);
  box-shadow: 0 10px 18px rgba(31, 52, 82, 0.12);
  z-index: 2;
}

.quiz-card-preview__corner--rarity-common {
  background: linear-gradient(180deg, #d9dfe8, #98a4b8);
}

.quiz-card-preview__corner--rarity-rare {
  background: linear-gradient(180deg, #87b8ff, #486eb5);
}

.quiz-card-preview__corner--rarity-epic {
  background: linear-gradient(180deg, #c38dff, #6f4bb6);
}

.quiz-card-preview__corner--rarity-legendary {
  background: linear-gradient(180deg, #ffd47c, #d88a19);
}

.quiz-card-preview__corner--cost span {
  color: #fff;
  font: 900 1.05rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.02em;
}

.quiz-card-preview__frame {
  position: relative;
  aspect-ratio: 0.72;
  border-radius: 22px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.5), rgba(249, 251, 255, 0.94)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.28), rgba(255, 255, 255, 0.06));
  border: 1px solid rgba(112, 135, 170, 0.22);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.28),
    0 16px 32px rgba(31, 52, 82, 0.08);
}

.quiz-card-preview__frame::before {
  content: "";
  position: absolute;
  inset: 14px 14px auto 14px;
  height: 34px;
  border-radius: 18px;
  background: linear-gradient(90deg, var(--quiz-card-accent), var(--quiz-card-accent-2));
  opacity: 0.16;
}

.quiz-card-preview__frame::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 50% 46%, rgba(255, 255, 255, 0.42), transparent 52%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.12), transparent 18%, transparent 70%, rgba(255, 255, 255, 0.06));
  pointer-events: none;
}

.quiz-card-preview__artless {
  position: relative;
  height: calc(100% - 112px);
  margin: 14px 14px 0;
  border-radius: 18px;
  overflow: hidden;
  background:
    radial-gradient(circle at 50% 34%, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.56) 26%, rgba(255, 255, 255, 0.2) 50%, rgba(255, 255, 255, 0.06) 72%, rgba(255, 255, 255, 0) 100%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.36), rgba(248, 250, 253, 0.98));
  border: 1px solid rgba(112, 135, 170, 0.16);
}

.quiz-card-preview__artless::before,
.quiz-card-preview__artless::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
}

.quiz-card-preview__artless::before {
  background:
    radial-gradient(circle at 50% 36%, rgba(255, 255, 255, 0.32), transparent 18%),
    radial-gradient(circle at 50% 42%, var(--quiz-card-glow), transparent 52%);
  opacity: 0.95;
  filter: blur(2px);
}

.quiz-card-preview__artless::after {
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.12), transparent 42%, rgba(255, 255, 255, 0.08)),
    linear-gradient(180deg, rgba(255, 255, 255, 0.12), transparent 58%);
  mix-blend-mode: screen;
}

.quiz-card-preview__sigil {
  position: absolute;
  inset: 0;
  margin: auto;
  width: 58%;
  height: 58%;
  border-radius: 50%;
  background:
    radial-gradient(circle at 35% 30%, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.38) 18%, rgba(255, 255, 255, 0.08) 34%, transparent 60%),
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.22), rgba(255, 255, 255, 0.08) 44%, transparent 68%);
  opacity: 0.95;
  transform: translateY(-3%);
}

.quiz-card-preview__sigil--secondary {
  width: 74%;
  height: 74%;
  opacity: 0.44;
  filter: blur(8px);
  transform: translateY(0);
}

.quiz-card-preview__sigil--tertiary {
  width: 90%;
  height: 90%;
  opacity: 0.18;
  filter: blur(10px);
}

.quiz-card-preview__bottom {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 12px;
  min-height: 96px;
  padding: 14px 16px 16px;
}

.quiz-card-preview__stat {
  min-width: 52px;
  height: 52px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #fff;
  font: 900 1.18rem/1 "Barlow Condensed", sans-serif;
  box-shadow: 0 12px 24px rgba(31, 52, 82, 0.12);
}

.quiz-card-preview__stat--attack {
  background: linear-gradient(180deg, #ef9277, #bf5036);
}

.quiz-card-preview__stat--health {
  background: linear-gradient(180deg, #7acf8a, #2f7d4e);
}

.quiz-card-preview__stat--durability {
  background: linear-gradient(180deg, #a3b2c9, #66788f);
}

.quiz-card-preview__stat--spell {
  min-width: 40px;
  border-radius: 999px;
  background: linear-gradient(180deg, var(--quiz-card-accent), var(--quiz-card-accent-3));
}

.quiz-card-preview--fel {
  --quiz-card-accent: #57e69e;
  --quiz-card-accent-2: #1f6c42;
  --quiz-card-accent-3: #163f2a;
  --quiz-card-glow: rgba(87, 230, 158, 0.2);
}

.quiz-card-preview--frost {
  --quiz-card-accent: #7bc9ff;
  --quiz-card-accent-2: #2f75b5;
  --quiz-card-accent-3: #1c466f;
  --quiz-card-glow: rgba(123, 201, 255, 0.22);
}

.quiz-card-preview--nature {
  --quiz-card-accent: #89dc92;
  --quiz-card-accent-2: #2f8d55;
  --quiz-card-accent-3: #195133;
  --quiz-card-glow: rgba(137, 220, 146, 0.22);
}

.quiz-card-preview--wild {
  --quiz-card-accent: #ffc56c;
  --quiz-card-accent-2: #a85f1e;
  --quiz-card-accent-3: #744018;
  --quiz-card-glow: rgba(255, 197, 108, 0.22);
}

.quiz-card-preview--arcane {
  --quiz-card-accent: #c191ff;
  --quiz-card-accent-2: #5b52d6;
  --quiz-card-accent-3: #432f8e;
  --quiz-card-glow: rgba(193, 145, 255, 0.22);
}

.quiz-card-preview--sun {
  --quiz-card-accent: #ffe699;
  --quiz-card-accent-2: #bf8d2d;
  --quiz-card-accent-3: #8b5b1a;
  --quiz-card-glow: rgba(255, 230, 153, 0.24);
}

.quiz-card-preview--light {
  --quiz-card-accent: #fff6c6;
  --quiz-card-accent-2: #d0b96d;
  --quiz-card-accent-3: #8f7832;
  --quiz-card-glow: rgba(255, 246, 198, 0.24);
}

.quiz-card-preview--shadow {
  --quiz-card-accent: #b17cff;
  --quiz-card-accent-2: #5c3b8f;
  --quiz-card-accent-3: #35204f;
  --quiz-card-glow: rgba(177, 124, 255, 0.22);
}

.quiz-card-preview--storm {
  --quiz-card-accent: #70e8ff;
  --quiz-card-accent-2: #2a88a6;
  --quiz-card-accent-3: #1b5163;
  --quiz-card-glow: rgba(112, 232, 255, 0.22);
}

.quiz-card-preview--void {
  --quiz-card-accent: #ff9bc1;
  --quiz-card-accent-2: #8f456e;
  --quiz-card-accent-3: #5a2a49;
  --quiz-card-glow: rgba(255, 155, 193, 0.2);
}

.quiz-card-preview--forge {
  --quiz-card-accent: #ffab79;
  --quiz-card-accent-2: #af5a22;
  --quiz-card-accent-3: #6f3516;
  --quiz-card-glow: rgba(255, 171, 121, 0.22);
}

.quiz-card-preview--tavern {
  --quiz-card-accent: #f2d18a;
  --quiz-card-accent-2: #8f6d2f;
  --quiz-card-accent-3: #5d4620;
  --quiz-card-glow: rgba(242, 209, 138, 0.22);
}

.quiz-card-preview--spell .quiz-card-preview__sigil {
  background:
    radial-gradient(circle at 50% 50%, rgba(255, 255, 255, 0.96) 0%, rgba(255, 255, 255, 0.5) 16%, rgba(255, 255, 255, 0.16) 31%, transparent 52%),
    conic-gradient(from 35deg, rgba(255, 255, 255, 0.0), rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.0), rgba(255, 255, 255, 0.42), rgba(255, 255, 255, 0.0));
}

.quiz-card-preview--minion .quiz-card-preview__sigil {
  width: 56%;
  height: 64%;
  border-radius: 28% 28% 42% 42%;
  background:
    radial-gradient(circle at 50% 26%, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.22) 16%, transparent 32%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.28));
  clip-path: polygon(50% 0, 80% 16%, 96% 40%, 82% 100%, 18% 100%, 4% 40%, 20% 16%);
}

.quiz-card-preview--weapon .quiz-card-preview__sigil {
  width: 18%;
  height: 72%;
  border-radius: 999px;
  background:
    linear-gradient(180deg, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.26)),
    linear-gradient(90deg, transparent 0 38%, rgba(255, 255, 255, 0.9) 38% 62%, transparent 62%);
  clip-path: polygon(40% 0, 60% 0, 72% 8%, 72% 74%, 88% 86%, 88% 100%, 12% 100%, 12% 86%, 28% 74%, 28% 8%);
}

.quiz-card-preview--location .quiz-card-preview__sigil {
  width: 62%;
  height: 52%;
  border-radius: 20px;
  background:
    radial-gradient(circle at 50% 28%, rgba(255, 255, 255, 0.95), rgba(255, 255, 255, 0.22) 24%, transparent 48%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.9), rgba(255, 255, 255, 0.28));
  clip-path: polygon(16% 20%, 50% 0, 84% 20%, 84% 78%, 50% 100%, 16% 78%);
}

.quiz-card-preview--hero .quiz-card-preview__sigil {
  width: 58%;
  height: 58%;
  border-radius: 30% 30% 48% 48%;
  background:
    radial-gradient(circle at 50% 20%, rgba(255, 255, 255, 0.96), rgba(255, 255, 255, 0.28) 20%, transparent 44%),
    linear-gradient(180deg, rgba(255, 255, 255, 0.92), rgba(255, 255, 255, 0.24));
  clip-path: polygon(50% 0, 74% 12%, 92% 34%, 82% 76%, 50% 100%, 18% 76%, 8% 34%, 26% 12%);
}

.quiz-start-form {
  display: grid;
  gap: 18px;
}

.quiz-start-group {
  display: grid;
  gap: 12px;
}

.quiz-start-group[hidden] {
  display: none;
}

.quiz-group-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 12px;
}

.quiz-group-head strong {
  color: #1e2f49;
  font: 800 0.98rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.11em;
  text-transform: uppercase;
}

.quiz-group-head span {
  color: #7f91ad;
  font-size: 0.88rem;
}

.quiz-mode-grid,
.quiz-visual-kind-grid {
  display: grid;
  gap: 14px;
}

.quiz-mode-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.quiz-visual-kind-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.quiz-mode-option,
.quiz-visual-kind-card {
  position: relative;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: 16px 18px;
  border: 1px solid #d6e0ef;
  border-radius: 18px;
  background: linear-gradient(180deg, #fff 0%, #f6f9fe 100%);
  box-shadow: 0 10px 30px rgba(52, 72, 102, 0.06);
  cursor: pointer;
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease, background 0.18s ease;
}

.quiz-mode-option input,
.quiz-visual-kind-card input {
  position: absolute;
  inset: 0;
  opacity: 0;
  pointer-events: none;
}

.quiz-mode-option__badge,
.quiz-visual-kind-card__tag {
  align-self: flex-start;
  font-size: 0.68rem;
  font-weight: 800;
  letter-spacing: 0.14em;
  text-transform: uppercase;
  color: #5e79a8;
  background: rgba(94, 121, 168, 0.12);
  padding: 5px 9px;
  border-radius: 999px;
}

.quiz-mode-option strong,
.quiz-visual-kind-card strong {
  font: 800 clamp(1rem, 2vw, 1.18rem)/1.05 "Barlow Condensed", sans-serif;
  color: #1e2f49;
}

.quiz-mode-option p,
.quiz-visual-kind-card p {
  margin: 0;
  color: #637693;
  font-size: 0.92rem;
  line-height: 1.45;
}

.quiz-mode-option:hover,
.quiz-mode-option:focus-within,
.quiz-visual-kind-card:hover,
.quiz-visual-kind-card:focus-within {
  transform: translateY(-2px);
  border-color: #87a7d3;
  box-shadow: 0 16px 36px rgba(52, 72, 102, 0.1);
}

.quiz-mode-option.is-active,
.quiz-visual-kind-card.is-active {
  border-color: #f0c266;
  background: linear-gradient(180deg, #fffdf6 0%, #f7f1de 100%);
  box-shadow: 0 18px 40px rgba(177, 140, 42, 0.12);
}

.quiz-question-card__tag {
  align-self: flex-start;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 7px 11px;
  border-radius: 999px;
  font-size: 0.75rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  background: rgba(247, 201, 106, 0.14);
  color: #b37b17;
  border: 1px solid rgba(247, 201, 106, 0.24);
}

.quiz-question-layout--visual {
  grid-template-columns: minmax(0, 1.08fr) minmax(320px, 0.92fr);
}

.quiz-visual-card {
  --quiz-visual-accent: #8fa8d7;
  --quiz-visual-accent-2: #dce6f5;
  --quiz-visual-glow: rgba(143, 168, 215, 0.18);
  width: min(100%, 420px);
  margin: 22px auto 0;
}

.quiz-visual-card__stage {
  position: relative;
  z-index: 0;
  width: min(100%, 390px);
  margin: 0 auto;
}

.quiz-visual-card__stage::before {
  content: "";
  position: absolute;
  inset: -12px;
  border-radius: 34px;
  background: radial-gradient(circle at 50% 36%, var(--quiz-visual-glow), transparent 62%);
  filter: blur(14px);
  z-index: -1;
  pointer-events: none;
}

.quiz-visual-card__stage img {
  position: relative;
  z-index: 1;
  width: 100%;
  height: auto;
  border-radius: 26px;
  box-shadow:
    0 20px 48px rgba(31, 52, 82, 0.16),
    0 0 0 1px rgba(112, 135, 170, 0.18);
}

.quiz-visual-card__mask {
  position: absolute;
  z-index: 2;
  display: grid;
  place-items: center;
  background:
    linear-gradient(180deg, rgba(9, 14, 26, 0.9), rgba(22, 34, 54, 0.72)),
    linear-gradient(135deg, rgba(255, 255, 255, 0.08), transparent 42%);
  border: 1px solid rgba(255, 255, 255, 0.24);
  border-radius: 22px;
  backdrop-filter: blur(8px);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.08),
    0 18px 30px rgba(31, 52, 82, 0.15);
}

.quiz-visual-card--blind .quiz-visual-card__mask {
  background:
    linear-gradient(180deg, rgba(7, 12, 22, 0.96), rgba(18, 29, 47, 0.8)),
    linear-gradient(135deg, rgba(255, 255, 255, 0.05), transparent 40%);
  border-color: rgba(255, 255, 255, 0.18);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.06),
    0 18px 30px rgba(31, 52, 82, 0.18);
}

.quiz-visual-card--blind .quiz-visual-card__mask-label {
  display: none;
}

.quiz-visual-card--debug .quiz-visual-card__mask {
  background:
    rgba(255, 54, 54, 0.14),
    linear-gradient(135deg, rgba(255, 255, 255, 0.08), transparent 48%);
  border-color: rgba(255, 54, 54, 0.9);
  box-shadow:
    inset 0 0 0 1px rgba(255, 255, 255, 0.18),
    0 0 0 1px rgba(255, 54, 54, 0.36);
}

.quiz-visual-card--debug .quiz-visual-card__mask--name {
  background:
    rgba(255, 54, 54, 0.18),
    linear-gradient(135deg, rgba(255, 255, 255, 0.08), transparent 48%);
  border-color: rgba(255, 54, 54, 0.95);
  outline: 2px solid rgba(255, 54, 54, 0.95);
}

.quiz-visual-card--debug .quiz-visual-card__mask--cost {
  background:
    rgba(72, 214, 120, 0.18),
    linear-gradient(135deg, rgba(255, 255, 255, 0.08), transparent 48%);
  border-color: rgba(72, 214, 120, 0.95);
  outline: 2px solid rgba(72, 214, 120, 0.95);
}

.quiz-visual-card--debug .quiz-visual-card__mask--text {
  background:
    rgba(64, 128, 255, 0.18),
    linear-gradient(135deg, rgba(255, 255, 255, 0.08), transparent 48%);
  border-color: rgba(64, 128, 255, 0.95);
  outline: 2px solid rgba(64, 128, 255, 0.95);
}

.quiz-visual-card--debug .quiz-visual-card__mask--statsBoth,
.quiz-visual-card--debug .quiz-visual-card__mask--attack,
.quiz-visual-card--debug .quiz-visual-card__mask--health,
.quiz-visual-card--debug .quiz-visual-card__mask--durability {
  background:
    rgba(248, 205, 75, 0.18),
    linear-gradient(135deg, rgba(255, 255, 255, 0.08), transparent 48%);
  border-color: rgba(248, 205, 75, 0.95);
  outline: 2px solid rgba(248, 205, 75, 0.95);
}

.quiz-visual-card__mask-label {
  color: var(--quiz-visual-accent);
  font: 900 1.35rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
  text-shadow: 0 2px 12px rgba(8, 15, 28, 0.35);
}

.quiz-visual-card__mask--cost {
  inset: 2.2% auto auto 2.4%;
  width: 17.6%;
  height: 14.0%;
  border-radius: 22px 18px 18px 22px;
}

.quiz-visual-card__mask--attack,
.quiz-visual-card__mask--statsBoth {
  inset: auto 1.0% 2.7% 1.0%;
  width: auto;
  height: 16.9%;
  border-radius: 18px;
}

.quiz-visual-card__mask--name {
  top: 53.5%;
  left: 17.0%;
  right: 17.0%;
  height: 8.4%;
  border-radius: 18px;
}

.quiz-visual-card__mask--text {
  top: 64.0%;
  left: 13.5%;
  right: 13.5%;
  bottom: 12.2%;
  border-radius: 18px;
}

.quiz-visual-card__mask--bottomInfo {
  inset: 60.0% 12.0% 11.8% 12.0%;
  border-radius: 24px;
}

.quiz-visual-card--fel {
  --quiz-visual-accent: #57e69e;
  --quiz-visual-accent-2: #1f6c42;
  --quiz-visual-glow: rgba(87, 230, 158, 0.2);
}

.quiz-visual-card--frost {
  --quiz-visual-accent: #7bc9ff;
  --quiz-visual-accent-2: #2f75b5;
  --quiz-visual-glow: rgba(123, 201, 255, 0.22);
}

.quiz-visual-card--nature {
  --quiz-visual-accent: #89dc92;
  --quiz-visual-accent-2: #2f8d55;
  --quiz-visual-glow: rgba(137, 220, 146, 0.22);
}

.quiz-visual-card--wild {
  --quiz-visual-accent: #ffc56c;
  --quiz-visual-accent-2: #a85f1e;
  --quiz-visual-glow: rgba(255, 197, 108, 0.22);
}

.quiz-visual-card--arcane {
  --quiz-visual-accent: #c191ff;
  --quiz-visual-accent-2: #5b52d6;
  --quiz-visual-glow: rgba(193, 145, 255, 0.22);
}

.quiz-visual-card--sun {
  --quiz-visual-accent: #ffe699;
  --quiz-visual-accent-2: #bf8d2d;
  --quiz-visual-glow: rgba(255, 230, 153, 0.24);
}

.quiz-visual-card--light {
  --quiz-visual-accent: #fff6c6;
  --quiz-visual-accent-2: #d0b96d;
  --quiz-visual-glow: rgba(255, 246, 198, 0.24);
}

.quiz-visual-card--shadow {
  --quiz-visual-accent: #b17cff;
  --quiz-visual-accent-2: #5c3b8f;
  --quiz-visual-glow: rgba(177, 124, 255, 0.22);
}

.quiz-visual-card--storm {
  --quiz-visual-accent: #70e8ff;
  --quiz-visual-accent-2: #2a88a6;
  --quiz-visual-glow: rgba(112, 232, 255, 0.22);
}

.quiz-visual-card--void {
  --quiz-visual-accent: #ff9bc1;
  --quiz-visual-accent-2: #8f456e;
  --quiz-visual-glow: rgba(255, 155, 193, 0.2);
}

.quiz-visual-card--forge {
  --quiz-visual-accent: #ffab79;
  --quiz-visual-accent-2: #af5a22;
  --quiz-visual-glow: rgba(255, 171, 121, 0.22);
}

.quiz-visual-card--tavern {
  --quiz-visual-accent: #f2d18a;
  --quiz-visual-accent-2: #8f6d2f;
  --quiz-visual-glow: rgba(242, 209, 138, 0.22);
}

.quiz-option--visual {
  grid-template-columns: auto minmax(0, 1fr);
  align-items: flex-start;
  min-height: 76px;
  padding-block: 16px;
}

.quiz-option--visual .quiz-option__cost {
  display: none;
}

.quiz-option--visual .quiz-option__body strong {
  display: block;
  overflow: visible;
  font-size: 0.98rem;
  line-height: 1.28;
  white-space: normal;
  overflow-wrap: anywhere;
}

.quiz-option--visual .quiz-option__body {
  min-width: 0;
}

.quiz-option--visual .quiz-option__body small {
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.72rem;
  white-space: normal;
  overflow-wrap: anywhere;
}

.quiz-option--visual .quiz-option__body {
  display: grid;
  gap: 4px;
}

.quiz-result-layout--visual {
  grid-template-columns: minmax(320px, 0.9fr) minmax(0, 1.1fr);
}

.quiz-result-card--visual img {
  width: min(100%, 420px);
  margin-inline: auto;
  border-radius: 26px;
  box-shadow:
    0 20px 48px rgba(31, 52, 82, 0.16),
    0 0 0 1px rgba(112, 135, 170, 0.18);
}

@media (max-width: 1080px) {
  .quiz-hero,
  .quiz-banner,
  .quiz-result-banner,
  .quiz-layout--intro,
  .quiz-question-layout,
  .quiz-result-layout {
    grid-template-columns: 1fr;
  }

  .quiz-banner__meta {
    justify-content: flex-start;
  }
}

@media (max-width: 720px) {
  .site-body--quiz .site-main {
    padding-top: 12px;
  }

  .quiz-shell {
    gap: 16px;
  }

  .quiz-hero,
  .quiz-banner,
  .quiz-result-banner,
  .quiz-panel,
  .quiz-question-card,
  .quiz-options-card,
  .quiz-result-card,
  .quiz-result-summary {
    padding: 18px;
  }

  .quiz-pool-grid,
  .quiz-hint-grid,
  .quiz-result-stat-grid {
    grid-template-columns: 1fr;
  }

  .quiz-option {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .quiz-option__cost {
    grid-column: 2;
    justify-self: end;
    margin-top: -2px;
  }
}

/* HearthForge blue-night + gold refresh */
:root {
  --bg: #0f172a;
  --bg-2: #111827;
  --panel: rgba(30, 41, 59, 0.9);
  --panel-strong: rgba(15, 23, 42, 0.96);
  --line: rgba(71, 85, 105, 0.9);
  --line-strong: rgba(100, 116, 139, 0.85);
  --text: #f8fafc;
  --muted: #cbd5e1;
  --gold: #eab308;
  --gold-2: #fbbf24;
  --blue: #2563eb;
  --green: #22c55e;
  --red: #f97316;
  --purple: #818cf8;
  --shadow: 0 24px 60px rgba(2, 6, 23, 0.4);
}

body.site-body {
  background:
    radial-gradient(circle at 8% 12%, rgba(234, 179, 8, 0.12), transparent 28%),
    radial-gradient(circle at 88% 8%, rgba(37, 99, 235, 0.16), transparent 26%),
    radial-gradient(circle at 50% 108%, rgba(129, 140, 248, 0.12), transparent 24%),
    linear-gradient(180deg, #0b1220 0%, var(--bg) 52%, #0b1220 100%);
  color: var(--text);
}

body.site-body::before,
body.site-body::after {
  display: block !important;
}

body.site-body::before {
  background:
    radial-gradient(circle at 12% 18%, rgba(255, 255, 255, 0.05), transparent 14%),
    radial-gradient(circle at 82% 24%, rgba(255, 255, 255, 0.04), transparent 16%),
    radial-gradient(circle at 36% 80%, rgba(255, 255, 255, 0.03), transparent 18%);
  filter: blur(2px);
  opacity: 0.7;
}

body.site-body::after {
  opacity: 0.05;
}

.site-main {
  padding: 26px 0 72px;
}

.site-container {
  width: min(var(--container), calc(100% - 32px));
}

.panel,
.table-panel,
.form-card,
.profile-card,
.tile-card {
  background: var(--panel);
  border-color: rgba(71, 85, 105, 0.72);
  box-shadow: var(--shadow);
}

.panel--accent {
  border-color: rgba(234, 179, 8, 0.22);
}

.btn--primary {
  color: #eff6ff;
  background: linear-gradient(135deg, var(--blue) 0%, #1d4ed8 100%);
  border-color: rgba(37, 99, 235, 0.45);
}

.btn--ghost {
  color: var(--text);
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(100, 116, 139, 0.8);
}

.badge--soft {
  background: rgba(255, 255, 255, 0.04);
  color: var(--text);
  border-color: rgba(71, 85, 105, 0.8);
}

.badge--gold,
.badge--class {
  background: rgba(234, 179, 8, 0.12);
  color: #fde68a;
  border-color: rgba(234, 179, 8, 0.24);
}

.badge--danger {
  background: rgba(249, 115, 22, 0.12);
  color: #ffccb2;
  border-color: rgba(249, 115, 22, 0.24);
}

.hf-topbar {
  position: sticky;
  top: 0;
  z-index: 60;
  backdrop-filter: blur(20px);
  background: linear-gradient(180deg, rgba(17, 24, 39, 0.98), rgba(17, 24, 39, 0.9));
  color: var(--text);
  border-bottom: 1px solid rgba(71, 85, 105, 0.75);
  box-shadow: 0 12px 32px rgba(2, 6, 23, 0.28);
  transition: transform 220ms ease, box-shadow 220ms ease;
}

.hf-topbar.is-hidden-mobile {
  transform: translateY(-100%);
}

.hf-topbar__inner {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 14px 0 12px;
}

.hf-brand {
  color: var(--text);
}

.hf-brand__mark {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  background: linear-gradient(180deg, var(--gold-2), var(--gold));
  color: #1f2937;
  box-shadow: 0 10px 22px rgba(234, 179, 8, 0.18);
}

.hf-brand__copy strong {
  font: 800 1.18rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
}

.hf-brand__copy small {
  color: var(--muted);
}

.hf-nav--primary,
.hf-nav--actions {
  display: flex;
  align-items: center;
  gap: 8px;
  flex-wrap: wrap;
}

.hf-nav__link {
  min-height: 36px;
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid transparent;
  color: var(--muted);
  font: 700 0.8rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  background: transparent;
}

.hf-nav__link:hover,
.hf-nav__link:focus-visible,
.hf-nav__link.is-active {
  background: rgba(255, 255, 255, 0.05);
  border-color: rgba(100, 116, 139, 0.55);
  color: var(--text);
  transform: translateY(-1px);
}

.hf-nav__link--accent {
  color: #eff6ff;
  background: linear-gradient(135deg, var(--blue), #4f7cff);
  border-color: rgba(37, 99, 235, 0.45);
  box-shadow: 0 14px 26px rgba(37, 99, 235, 0.22);
}

.hf-nav__link--soft {
  border-color: rgba(100, 116, 139, 0.55);
  background: rgba(255, 255, 255, 0.04);
}

.hf-search {
  display: flex;
  align-items: center;
  gap: 8px;
  padding: 6px;
  border-radius: 999px;
  background: rgba(30, 41, 59, 0.88);
  border: 1px solid rgba(71, 85, 105, 0.85);
}

.hf-search__input {
  min-width: 270px;
  color: var(--text);
  background: transparent;
  border: 0;
}

.hf-search__input::placeholder {
  color: var(--muted);
}

.hf-search__button {
  min-height: 38px;
  padding: 0 14px;
  border-radius: 999px;
  border: 0;
  color: #eff6ff;
  background: linear-gradient(135deg, var(--blue), #1d4ed8);
  font-weight: 800;
}

.hf-announcement {
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.96), rgba(15, 23, 42, 0.92));
  border-top: 1px solid rgba(71, 85, 105, 0.55);
  color: var(--muted);
}

.hf-announcement__inner {
  padding: 8px 0 9px;
  justify-content: center;
  gap: 10px;
  font-size: 0.86rem;
}

.hf-announcement a {
  color: #fde68a;
  text-decoration: underline;
  text-underline-offset: 3px;
}

.hf-home-v3 {
  display: grid;
  gap: 26px;
}

.hf-home-v3__hero {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  gap: 20px;
  align-items: stretch;
}

.hf-hero-copy {
  display: grid;
  gap: 18px;
  padding: 28px;
}

.hf-kicker {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: #fde68a;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  font: 800 0.78rem/1 "Barlow Condensed", sans-serif;
}

.hf-hero-copy h1,
.hf-home-v3__section-head h2,
.hf-home-cta-v3 h2 {
  margin: 0;
  color: var(--text);
  font: 800 clamp(2.5rem, 5vw, 5rem)/0.92 "Barlow Condensed", sans-serif;
  letter-spacing: 0.04em;
}

.hf-hero-copy p,
.hf-home-v3__section-head p,
.hf-home-cta-v3 p {
  margin: 0;
  max-width: 64ch;
  color: var(--muted);
  line-height: 1.7;
}

.hf-hero-copy__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
}

.hf-hero-copy__metrics {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.stat-card {
  display: grid;
  gap: 6px;
  padding: 18px;
  border-radius: 20px;
  border: 1px solid rgba(71, 85, 105, 0.8);
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.96), rgba(15, 23, 42, 0.96));
}

.stat-card__eyebrow {
  color: #fde68a;
}

.stat-card__value {
  color: #fbbf24;
}

.stat-card__label {
  color: var(--text);
}

.stat-card__detail {
  color: var(--muted);
}

.hf-hero-panel {
  display: flex;
  flex-direction: column;
  padding: 18px;
}

.hf-hero-carousel {
  display: grid;
  gap: 14px;
}

.hf-hero-carousel__viewport {
  position: relative;
  min-height: 568px;
}

.hf-hero-slide {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: translateY(12px);
  pointer-events: none;
  transition: opacity 260ms ease, transform 260ms ease;
}

.hf-hero-slide.is-active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.hf-hero-slide__media {
  position: relative;
  height: 100%;
  min-height: 568px;
  border-radius: 24px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.12), rgba(15, 23, 42, 0.72)),
    linear-gradient(135deg, rgba(37, 99, 235, 0.2), rgba(234, 179, 8, 0.12)),
    var(--bg-2);
  background-position: center;
  background-size: cover;
  border: 1px solid rgba(71, 85, 105, 0.8);
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.03);
}

.hf-hero-slide__overlay {
  position: absolute;
  inset: 0;
  background:
    radial-gradient(circle at 22% 14%, rgba(255, 255, 255, 0.12), transparent 22%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.08), rgba(15, 23, 42, 0.9));
}

.hf-hero-slide__copy {
  position: relative;
  z-index: 1;
  display: grid;
  align-content: start;
  gap: 14px;
  max-width: 54ch;
  min-height: 100%;
  padding: 24px;
}

.hf-hero-slide__eyebrow,
.hf-hero-slide__chips,
.hf-hero-slide__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hf-hero-slide__copy h2 {
  margin: 4px 0 0;
  font: 800 clamp(2rem, 4.8vw, 3.6rem)/0.95 "Barlow Condensed", sans-serif;
  color: var(--text);
}

.hf-hero-slide__copy p {
  color: var(--muted);
  line-height: 1.6;
}

.hf-hero-slide__stack {
  position: absolute;
  right: 20px;
  bottom: 20px;
  display: flex;
  gap: 8px;
  z-index: 1;
}

.hf-hero-slide__stack img {
  width: 72px;
  height: 108px;
  object-fit: cover;
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  box-shadow: 0 16px 28px rgba(2, 6, 23, 0.32);
}

.hf-hero-carousel__controls,
.hf-live-stage__controls {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
}

.hf-hero-carousel__nav,
.hf-live-stage__nav {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  border: 1px solid rgba(71, 85, 105, 0.85);
  background: rgba(255, 255, 255, 0.04);
  color: var(--text);
  font-size: 1.2rem;
}

.hf-hero-carousel__dots,
.hf-live-stage__dots {
  display: flex;
  align-items: center;
  gap: 8px;
}

.hf-hero-carousel__dot,
.hf-live-stage__dot {
  width: 10px;
  height: 10px;
  border: 0;
  border-radius: 999px;
  background: rgba(148, 163, 184, 0.5);
}

.hf-hero-carousel__dot.is-active,
.hf-live-stage__dot.is-active {
  width: 28px;
  background: linear-gradient(135deg, var(--gold), var(--gold-2));
}

.hf-home-v3__section {
  display: grid;
  gap: 16px;
  margin-top: 4px;
}

.hf-home-v3__section-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
}

.hf-home-v3__section-head h2 {
  font-size: clamp(1.7rem, 3vw, 2.3rem);
}

.hf-home-v3__section-head p {
  margin-top: 8px;
  max-width: 72ch;
}

.hf-live-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.2fr) minmax(300px, 0.8fr);
  gap: 16px;
}

.hf-live-stage {
  padding: 18px;
}

.hf-live-stage__viewport {
  position: relative;
  min-height: 320px;
}

.hf-live-card {
  position: absolute;
  inset: 0;
  opacity: 0;
  transform: translateY(10px);
  pointer-events: none;
  transition: opacity 220ms ease, transform 220ms ease;
}

.hf-live-card.is-active {
  opacity: 1;
  transform: translateY(0);
  pointer-events: auto;
}

.hf-live-card__media {
  position: relative;
  min-height: 320px;
  border-radius: 24px;
  overflow: hidden;
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.08), rgba(15, 23, 42, 0.86)),
    var(--bg-2);
  background-size: cover;
  background-position: center;
}

.hf-live-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.1), rgba(15, 23, 42, 0.86));
}

.hf-live-card__topline,
.hf-live-card__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hf-live-card__topline {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 1;
}

.hf-live-card__copy {
  position: absolute;
  inset: auto 18px 18px 18px;
  z-index: 1;
  display: grid;
  gap: 10px;
  max-width: 46ch;
}

.hf-live-card__copy h3 {
  margin: 0;
  font: 800 2rem/0.95 "Barlow Condensed", sans-serif;
  color: var(--text);
}

.hf-live-card__copy p {
  margin: 0;
  color: var(--muted);
}

.hf-live-card__facts {
  color: #dbe4f4;
  font-size: 0.86rem;
}

.hf-live-empty {
  display: grid;
  gap: 14px;
  padding: 24px;
}

.hf-live-empty h3 {
  margin: 0;
  font: 800 2rem/0.95 "Barlow Condensed", sans-serif;
}

.hf-live-empty p {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

.hf-live-empty__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
}

.hf-live-side {
  display: grid;
  gap: 12px;
}

.hf-live-side__head h3 {
  margin: 6px 0 0;
  font: 800 1.65rem/0.95 "Barlow Condensed", sans-serif;
}

.hf-live-side__list {
  display: grid;
  gap: 12px;
}

.hf-live-mini-card {
  display: grid;
  grid-template-columns: 96px minmax(0, 1fr);
  gap: 12px;
  padding: 12px;
  border-radius: 20px;
  border: 1px solid rgba(71, 85, 105, 0.75);
  background: rgba(30, 41, 59, 0.86);
  box-shadow: var(--shadow);
}

.hf-live-mini-card__art {
  min-height: 104px;
  border-radius: 14px;
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.08), rgba(15, 23, 42, 0.72)),
    var(--bg-2);
  background-position: center;
  background-size: cover;
}

.hf-live-mini-card__body {
  display: grid;
  gap: 6px;
  align-content: start;
}

.hf-live-mini-card__body span {
  color: #fde68a;
  font: 800 0.75rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.1em;
  text-transform: uppercase;
}

.hf-live-mini-card__body strong {
  color: var(--text);
  font: 800 1rem/1.05 "Barlow Condensed", sans-serif;
}

.hf-live-mini-card__body p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
  font-size: 0.92rem;
}

.hf-live-mini-card--empty {
  display: grid;
  gap: 8px;
  min-height: 168px;
  align-content: center;
}

.hf-live-mini-card--empty strong {
  font: 800 1.1rem/1.1 "Barlow Condensed", sans-serif;
}

.hf-home-v3__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 12px;
}

.hf-weekly-deck {
  display: grid;
  grid-template-columns: minmax(300px, 0.9fr) minmax(0, 1.1fr);
  gap: 0;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid rgba(71, 85, 105, 0.75);
  background: rgba(30, 41, 59, 0.9);
  box-shadow: var(--shadow);
}

.hf-weekly-deck__media {
  position: relative;
  min-height: 320px;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.06), rgba(15, 23, 42, 0.86)), var(--bg-2);
  background-position: center;
  background-size: cover;
}

.hf-weekly-deck__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.1), rgba(15, 23, 42, 0.84));
}

.hf-weekly-deck__badges {
  position: absolute;
  top: 18px;
  left: 18px;
  z-index: 1;
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hf-weekly-deck__score {
  position: absolute;
  left: 18px;
  bottom: 18px;
  z-index: 1;
  display: grid;
  gap: 4px;
}

.hf-weekly-deck__score strong {
  color: #fde68a;
  font: 800 clamp(2rem, 4vw, 3rem)/0.9 "Barlow Condensed", sans-serif;
}

.hf-weekly-deck__score span {
  color: var(--muted);
}

.hf-weekly-deck__body {
  display: grid;
  gap: 14px;
  padding: 24px;
  align-content: start;
}

.hf-weekly-deck__meta,
.hf-weekly-deck__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  color: var(--muted);
  font-size: 0.9rem;
}

.hf-weekly-deck__body h3 {
  margin: 0;
  color: var(--text);
  font: 800 clamp(1.7rem, 3.5vw, 2.8rem)/0.96 "Barlow Condensed", sans-serif;
}

.hf-weekly-deck__body p {
  margin: 0;
  color: var(--muted);
  line-height: 1.7;
}

.hf-meta-board-v3 {
  display: grid;
  gap: 12px;
}

.hf-meta-row-v3 {
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 16px 18px;
  border-radius: 20px;
  border: 1px solid rgba(71, 85, 105, 0.75);
  background: rgba(30, 41, 59, 0.88);
  box-shadow: var(--shadow);
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.hf-meta-row-v3:hover,
.hf-meta-row-v3:focus-visible {
  transform: translateY(-2px);
  border-color: rgba(234, 179, 8, 0.34);
  background: rgba(30, 41, 59, 0.98);
}

.hf-meta-row-v3__rank {
  width: 50px;
  height: 50px;
  display: grid;
  place-items: center;
  border-radius: 16px;
  color: #1f2937;
  font: 900 1.15rem/1 "Barlow Condensed", sans-serif;
  background: linear-gradient(180deg, var(--gold-2), var(--gold));
  box-shadow: 0 14px 24px rgba(234, 179, 8, 0.18);
}

.hf-meta-row-v3__body {
  display: grid;
  gap: 4px;
}

.hf-meta-row-v3__body strong {
  color: var(--text);
  font: 800 1.1rem/1.05 "Barlow Condensed", sans-serif;
}

.hf-meta-row-v3__body span {
  color: var(--muted);
}

.hf-meta-row-v3__stats {
  display: grid;
  justify-items: end;
  gap: 4px;
  text-align: right;
}

.hf-meta-row-v3__stats strong {
  color: #fde68a;
  font: 800 1.4rem/1 "Barlow Condensed", sans-serif;
}

.hf-meta-row-v3__stats span {
  color: var(--muted);
  font-size: 0.88rem;
}

.hf-quick-grid {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 14px;
}

.hf-quick-card {
  position: relative;
  min-height: 190px;
  padding: 18px;
  border-radius: 24px;
  border: 1px solid rgba(71, 85, 105, 0.8);
  background:
    linear-gradient(180deg, rgba(15, 23, 42, 0.08), rgba(15, 23, 42, 0.9)),
    var(--bg-2);
  background-position: center;
  background-size: cover;
  overflow: hidden;
  box-shadow: var(--shadow);
  display: grid;
  align-content: end;
  gap: 8px;
  transition: transform 160ms ease, border-color 160ms ease;
}

.hf-quick-card:hover,
.hf-quick-card:focus-visible {
  transform: translateY(-4px);
  border-color: rgba(234, 179, 8, 0.34);
}

.hf-quick-card__overlay {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.08), rgba(15, 23, 42, 0.88));
}

.hf-quick-card > * {
  position: relative;
  z-index: 1;
}

.hf-quick-card strong {
  color: var(--text);
  font: 800 1.35rem/0.98 "Barlow Condensed", sans-serif;
}

.hf-quick-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.5;
}

.hf-home-cta-v3 {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 18px;
  align-items: center;
  padding: 24px;
  border-radius: 28px;
  border: 1px solid rgba(71, 85, 105, 0.8);
  background:
    radial-gradient(circle at 18% 20%, rgba(234, 179, 8, 0.14), transparent 28%),
    linear-gradient(135deg, rgba(37, 99, 235, 0.14), rgba(30, 41, 59, 0.96));
  box-shadow: var(--shadow);
}

.hf-home-cta-v3__copy {
  display: grid;
  gap: 12px;
}

.hf-home-cta-v3__actions {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  justify-content: flex-end;
}

.hf-chip {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 0 12px;
  border-radius: 999px;
  border: 1px solid rgba(71, 85, 105, 0.75);
  background: rgba(255, 255, 255, 0.04);
  color: var(--text);
  font-size: 0.86rem;
}

.hf-empty-state {
  padding: 22px;
  border-radius: 24px;
  border: 1px solid rgba(71, 85, 105, 0.75);
  background: rgba(30, 41, 59, 0.9);
  box-shadow: var(--shadow);
}

.hf-empty-state strong {
  color: var(--text);
}

.hf-empty-state p {
  color: var(--muted);
}

.hf-home-v3 .stat-card {
  min-height: 100%;
}

@media (max-width: 1180px) {
  .hf-home-v3__hero,
  .hf-live-grid,
  .hf-weekly-deck,
  .hf-home-cta-v3 {
    grid-template-columns: 1fr;
  }

  .hf-home-v3__stats,
  .hf-quick-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 920px) {
  .hf-topbar__inner {
    grid-template-columns: 1fr;
  }

  .hf-search {
    width: 100%;
  }

  .hf-search__input {
    min-width: 0;
    width: 100%;
  }

  .hf-nav--primary,
  .hf-nav--actions {
    flex-wrap: nowrap;
    overflow-x: auto;
    scrollbar-width: none;
    padding-bottom: 2px;
  }

  .hf-nav--primary::-webkit-scrollbar,
  .hf-nav--actions::-webkit-scrollbar {
    display: none;
  }

  .hf-home-v3__section-head,
  .hf-home-cta-v3 {
    align-items: flex-start;
  }

  .hf-home-v3__section-head,
  .hf-home-cta-v3 {
    grid-template-columns: 1fr;
  }

  .hf-home-v3__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .site-container {
    width: min(var(--container), calc(100% - 22px));
  }

  .site-main {
    padding-top: 16px;
  }

  .hf-home-v3__hero,
  .hf-live-grid,
  .hf-home-v3__stats,
  .hf-quick-grid {
    grid-template-columns: 1fr;
  }

  .hf-hero-copy,
  .hf-hero-panel,
  .hf-live-stage,
  .hf-live-empty,
  .hf-weekly-deck__body,
  .hf-home-cta-v3 {
    padding: 18px;
  }

  .hf-hero-carousel__viewport,
  .hf-hero-slide__media {
    min-height: 480px;
  }

  .hf-live-card__media,
  .hf-weekly-deck__media {
    min-height: 260px;
  }

  .hf-meta-row-v3 {
    grid-template-columns: 52px minmax(0, 1fr);
  }

  .hf-meta-row-v3__stats {
    grid-column: 1 / -1;
    justify-items: start;
    text-align: left;
  }

  .hf-home-cta-v3__actions {
    justify-content: flex-start;
  }
}

@media (max-width: 560px) {
  .hf-hero-copy h1,
  .hf-home-v3__section-head h2,
  .hf-home-cta-v3 h2 {
    font-size: clamp(2rem, 11vw, 3rem);
  }

  .hf-topbar {
    position: sticky;
    top: 0;
  }

  .hf-topbar.is-hidden-mobile {
    transform: translateY(-100%);
  }
}

.site-body--dashboard {
  background:
    radial-gradient(circle at top, rgba(37, 99, 235, 0.12), transparent 28%),
    linear-gradient(180deg, var(--bg) 0%, #0b1120 100%);
}

.dashboard-shell {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 18px;
  align-items: start;
}

.dashboard-sidebar {
  position: sticky;
  top: 110px;
  display: grid;
  gap: 18px;
  padding: 22px;
}

.dashboard-sidebar__head h1 {
  margin: 8px 0 6px;
  color: var(--text);
  font: 800 clamp(2rem, 3vw, 2.8rem)/0.92 "Barlow Condensed", sans-serif;
}

.dashboard-sidebar__head p {
  margin: 0;
  color: var(--muted);
  line-height: 1.6;
}

.dashboard-nav {
  display: grid;
  gap: 8px;
}

.dashboard-nav__link {
  min-height: 42px;
  padding: 10px 14px;
  border-radius: 16px;
  border: 1px solid rgba(71, 85, 105, 0.8);
  color: var(--muted);
  background: rgba(255, 255, 255, 0.03);
  font-weight: 700;
}

.dashboard-nav__link.is-active,
.dashboard-nav__link:hover,
.dashboard-nav__link:focus-visible {
  color: var(--text);
  border-color: rgba(234, 179, 8, 0.34);
  background: rgba(234, 179, 8, 0.08);
}

.dashboard-sidebar__meta {
  display: grid;
  gap: 8px;
}

.dashboard-main {
  display: grid;
  gap: 18px;
}

.dashboard-page {
  display: grid;
  gap: 18px;
}

.dashboard-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.dashboard-card {
  display: grid;
  gap: 10px;
  min-height: 180px;
  padding: 18px;
}

.dashboard-card strong {
  color: var(--text);
  font: 800 1.4rem/0.95 "Barlow Condensed", sans-serif;
}

.dashboard-card p {
  margin: 0;
  color: var(--muted);
  line-height: 1.55;
}

.dashboard-split {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.dashboard-form {
  display: grid;
  gap: 14px;
}

.field-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}

.dashboard-toggle {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  color: var(--text);
}

.dashboard-list-card {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
  padding: 18px;
}

.dashboard-list-card h3 {
  margin: 8px 0 4px;
  color: var(--text);
  font: 800 1.35rem/0.95 "Barlow Condensed", sans-serif;
}

.dashboard-list-card p {
  margin: 0;
  color: var(--muted);
}

.dashboard-list-card__meta {
  text-align: right;
  display: grid;
  gap: 4px;
}

.dashboard-list-card__body {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: center;
}

.dashboard-list-card__body > div:first-child {
  min-width: 0;
}

.hf-code-block {
  display: block;
  padding: 14px 16px;
  border-radius: 14px;
  border: 1px solid rgba(148, 163, 184, 0.25);
  background: rgba(15, 23, 42, 0.82);
  color: #f8fafc;
  overflow-x: auto;
  font-size: 0.9rem;
  line-height: 1.45;
  word-break: break-all;
}

.hf-code-block--input {
  width: 100%;
  min-height: 48px;
  font: inherit;
  background: rgba(15, 23, 42, 0.72);
}

.hf-code-row {
  display: flex;
  gap: 12px;
  align-items: center;
  flex-wrap: wrap;
}

.streamer-filter {
  display: grid;
  gap: 18px;
}

.streamer-page .hf-search-page__quicklinks {
  flex-wrap: wrap;
}

.streamer-page .dashboard-form label span {
  color: var(--muted);
}

.streamer-page .dashboard-grid--cards--small {
  gap: 16px;
}

.streamer-page .dashboard-grid--cards--small label {
  display: grid;
  gap: 6px;
}

.dashboard-comment,
.dashboard-user {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
  padding: 18px;
}

.dashboard-comment__meta,
.dashboard-user__body {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.dashboard-comment__body p {
  margin: 8px 0 0;
  color: var(--text);
}

.dashboard-comment__actions,
.dashboard-role-form {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.dashboard-user-snippet {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(71, 85, 105, 0.5);
  background: rgba(255, 255, 255, 0.04);
}

.dashboard-user-snippet__main {
  display: grid;
  gap: 4px;
}

.dashboard-user-snippet__main strong {
  color: var(--text);
  font: 700 1rem/1.1 "Barlow Condensed", sans-serif;
}

.dashboard-user-snippet__main span {
  color: var(--muted);
  font-size: 0.92rem;
}

.dashboard-user-snippet__meta {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.dashboard-sync-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 16px;
}

.dashboard-sync-card {
  display: grid;
  gap: 8px;
  padding: 18px;
  border-radius: 18px;
  border: 1px solid rgba(148, 163, 184, 0.24);
  background: rgba(15, 23, 42, 0.68);
  box-shadow: 0 12px 34px rgba(15, 23, 42, 0.22);
}

.dashboard-sync-card strong {
  color: var(--text);
  font: 700 1.5rem/1 "Barlow Condensed", sans-serif;
}

.dashboard-sync-card span {
  color: var(--muted);
  font-size: 0.94rem;
}

@media (max-width: 980px) {
  .dashboard-sync-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 640px) {
  .dashboard-sync-grid {
    grid-template-columns: 1fr;
  }
}

.tier-entry-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 16px;
  align-items: start;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(71, 85, 105, 0.6);
  background: rgba(255, 255, 255, 0.03);
}

.tier-entry-row__main {
  display: grid;
  gap: 6px;
}

.tier-entry-row__main strong {
  color: var(--text);
  font: 700 1rem/1.1 "Barlow Condensed", sans-serif;
}

.tier-entry-row__main span,
.tier-entry-row__main p {
  margin: 0;
  color: var(--muted);
}

.tier-entry-row__actions {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 8px;
}

.tier-entry-row__move {
  display: flex;
  align-items: center;
  gap: 8px;
}

.dashboard-form__select {
  min-width: 132px;
  height: 40px;
  padding: 0 12px;
  border-radius: 12px;
  border: 1px solid rgba(71, 85, 105, 0.6);
  background: rgba(15, 23, 42, 0.88);
  color: var(--text);
}

.dashboard-role-badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.tier-list-editor {
  display: grid;
  gap: 16px;
}

.tier-list-editor__section {
  padding: 18px;
}

.tier-entry {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) auto;
  gap: 14px;
  align-items: center;
  padding: 14px 16px;
  border-radius: 18px;
  border: 1px solid rgba(71, 85, 105, 0.6);
  background: rgba(255, 255, 255, 0.03);
}

.tier-entry__order {
  width: 38px;
  height: 38px;
  border-radius: 12px;
  display: grid;
  place-items: center;
  background: rgba(234, 179, 8, 0.16);
  color: #fde68a;
  font-weight: 800;
}

.tier-entry__top {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  justify-content: space-between;
}

.tier-entry__body h3 {
  margin: 0;
  color: var(--text);
  font: 800 1.15rem/1.05 "Barlow Condensed", sans-serif;
}

.tier-entry__body p,
.tier-entry__meta {
  margin: 4px 0 0;
  color: var(--muted);
}

.tier-entry__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  font-size: 0.88rem;
}

.hf-tier-board--manual {
  display: grid;
  gap: 18px;
}

@media (max-width: 1100px) {
  .dashboard-shell,
  .dashboard-split,
  .dashboard-grid {
    grid-template-columns: 1fr;
  }

  .dashboard-sidebar {
    position: static;
  }
}

@media (max-width: 720px) {
  .dashboard-comment,
  .dashboard-user,
  .dashboard-list-card,
  .tier-entry {
    grid-template-columns: 1fr;
  }

  .dashboard-comment__actions,
  .dashboard-role-form,
  .dashboard-list-card__meta {
    justify-content: flex-start;
    text-align: left;
  }
}

.hf-meta-board {
  display: grid;
  gap: 18px;
}

.hf-meta-board__section {
  display: grid;
  gap: 14px;
  padding: 18px;
  border-radius: 26px;
  border: 1px solid var(--line);
  background:
    radial-gradient(circle at top right, rgba(234, 179, 8, 0.08), transparent 32%),
    linear-gradient(180deg, rgba(16, 24, 40, 0.98), rgba(15, 23, 42, 0.94));
  box-shadow: 0 18px 40px rgba(2, 6, 23, 0.28);
}

.hf-meta-board__section--s {
  border-color: rgba(34, 197, 94, 0.28);
}

.hf-meta-board__section--a {
  border-color: rgba(59, 130, 246, 0.28);
}

.hf-meta-board__section--b {
  border-color: rgba(245, 158, 11, 0.26);
}

.hf-meta-board__section--c {
  border-color: rgba(148, 163, 184, 0.24);
}

.hf-meta-board__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}

.hf-meta-board__tier {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 8px 12px;
  border-radius: 999px;
  color: var(--gold-2);
  border: 1px solid rgba(234, 179, 8, 0.22);
  background: rgba(234, 179, 8, 0.08);
  font: 800 0.86rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.hf-meta-board__entries {
  display: grid;
  gap: 12px;
}

.hf-meta-entry {
  position: relative;
  display: grid;
  grid-template-columns: 68px minmax(0, 1fr) auto;
  gap: 0;
  min-height: 142px;
  overflow: hidden;
  border-radius: 22px;
  border: 1px solid rgba(148, 163, 184, 0.22);
  background-color: rgba(15, 23, 42, 0.96);
  background-size: cover;
  background-position: center;
  box-shadow: 0 16px 36px rgba(2, 6, 23, 0.24);
  transition: transform 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.hf-meta-entry::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(90deg, rgba(15, 23, 42, 0.96) 0%, rgba(15, 23, 42, 0.76) 42%, rgba(15, 23, 42, 0.9) 100%),
    linear-gradient(180deg, rgba(15, 23, 42, 0.12), rgba(15, 23, 42, 0.36));
  pointer-events: none;
}

.hf-meta-entry:hover {
  transform: translateY(-2px);
  border-color: rgba(234, 179, 8, 0.34);
  box-shadow: 0 22px 42px rgba(2, 6, 23, 0.34);
}

.hf-meta-entry__rank {
  position: relative;
  z-index: 1;
  display: grid;
  place-items: center;
  color: #fff;
  background: linear-gradient(180deg, rgba(34, 197, 94, 0.88), rgba(22, 163, 74, 0.95));
  font: 900 1.85rem/1 "Barlow Condensed", sans-serif;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.hf-meta-entry--a .hf-meta-entry__rank {
  background: linear-gradient(180deg, rgba(59, 130, 246, 0.92), rgba(37, 99, 235, 0.98));
}

.hf-meta-entry--b .hf-meta-entry__rank {
  background: linear-gradient(180deg, rgba(245, 158, 11, 0.92), rgba(217, 119, 6, 0.98));
}

.hf-meta-entry--c .hf-meta-entry__rank {
  background: linear-gradient(180deg, rgba(148, 163, 184, 0.92), rgba(71, 85, 105, 0.98));
}

.hf-meta-entry__body {
  position: relative;
  z-index: 1;
  display: grid;
  gap: 12px;
  padding: 16px 18px;
}

.hf-meta-entry__title {
  display: inline-flex;
  align-items: center;
  gap: 12px;
  width: fit-content;
  color: var(--text);
  text-decoration: none;
  font: 800 1.28rem/1.05 "Barlow Condensed", sans-serif;
  letter-spacing: 0.01em;
}

.hf-meta-entry__title:hover,
.hf-meta-entry__title:focus-visible {
  color: #fff;
}

.hf-meta-entry__class-icon {
  width: 52px;
  height: 52px;
  flex: 0 0 auto;
  border-radius: 999px;
  border: 2px solid rgba(255, 255, 255, 0.24);
  background: rgba(2, 6, 23, 0.92);
  box-shadow: 0 0 0 3px rgba(15, 23, 42, 0.54), 0 10px 24px rgba(2, 6, 23, 0.24);
  object-fit: cover;
}

.hf-meta-entry__facts {
  display: flex;
  flex-wrap: wrap;
  gap: 8px 14px;
  color: var(--muted);
  font-size: 0.86rem;
}

.hf-meta-entry__metrics {
  display: flex;
  align-items: flex-end;
  flex-wrap: wrap;
  gap: 14px 18px;
}

.hf-meta-entry__winrate {
  display: grid;
  gap: 2px;
}

.hf-meta-entry__winrate strong {
  color: #22c55e;
  font: 900 1.55rem/1 "Barlow Condensed", sans-serif;
}

.hf-meta-entry__winrate span {
  color: var(--muted);
  font-size: 0.72rem;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.hf-meta-entry__note {
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(234, 179, 8, 0.22);
  background: rgba(234, 179, 8, 0.08);
  color: #fde68a;
  font-size: 0.86rem;
}

.hf-meta-entry__cores {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
}

.hf-meta-entry__core {
  width: 34px;
  height: 34px;
  border-radius: 999px;
  border: 1px solid rgba(255, 255, 255, 0.18);
  background: rgba(2, 6, 23, 0.88);
  object-fit: cover;
  box-shadow: 0 8px 18px rgba(2, 6, 23, 0.22);
}

.hf-meta-entry__action {
  position: relative;
  z-index: 1;
  align-self: center;
  justify-self: end;
  margin: 0 16px 0 0;
}

@media (max-width: 900px) {
  .hf-meta-entry {
    grid-template-columns: 56px minmax(0, 1fr);
  }

  .hf-meta-entry__action {
    grid-column: 1 / -1;
    justify-self: start;
    margin: 0 16px 16px 16px;
  }
}

@media (max-width: 720px) {
  .hf-meta-board__section {
    padding: 14px;
  }

  .hf-meta-entry__body {
    padding: 14px;
  }

  .hf-meta-entry__title {
    font-size: 1.12rem;
  }
}

/* Palette harmonization pass: force legacy light surfaces into the dark night + gold theme. */
body.site-body .hero {
  background: transparent;
  box-shadow: none;
  border: 0;
}

body.site-body .hero__copy {
  padding: 28px;
  border-radius: var(--radius-xl);
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.98), rgba(15, 23, 42, 0.98));
  box-shadow: var(--shadow);
}

body.site-body .hero__eyebrow {
  border-color: rgba(234, 179, 8, 0.22);
  background: rgba(234, 179, 8, 0.1);
  color: var(--gold-2);
}

body.site-body .hero__title,
body.site-body .hero__lead,
body.site-body .hero__stat-label {
  color: var(--text);
}

body.site-body .hero__lead,
body.site-body .hero__stat-label {
  color: var(--muted);
}

body.site-body .hero__stat {
  padding: 18px;
  border-radius: var(--radius-lg);
  border: 1px solid var(--line);
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.95), rgba(15, 23, 42, 0.98));
  box-shadow: var(--shadow);
  animation: none;
}

body.site-body .hero__stat-value {
  color: var(--gold-2);
}

body.site-body .panel,
body.site-body .panel--hero,
body.site-body .form-card,
body.site-body .profile-card,
body.site-body .table-panel,
body.site-body .hero-card,
body.site-body .expansion-card,
body.site-body .class-card,
body.site-body .card-card,
body.site-body .tile-card,
body.site-body .hf-home-panel,
body.site-body .hf-featured-deck__body,
body.site-body .hf-search-page__hero,
body.site-body .hf-footer__inner,
body.site-body .section__head,
body.site-body .hf-section__head {
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.94), rgba(15, 23, 42, 0.98));
  border-color: var(--line);
  box-shadow: var(--shadow);
}

body.site-body .panel--hero,
body.site-body .hf-home-panel__head,
body.site-body .section__head,
body.site-body .hf-section__head,
body.site-body .hf-search-page__hero {
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.98), rgba(15, 23, 42, 0.98));
  color: var(--text);
}

body.site-body .section__head h2,
body.site-body .hf-section__head h2,
body.site-body .hf-search-page__hero h1,
body.site-body .hf-home-panel__head h2 {
  color: var(--text);
}

body.site-body .section__head p,
body.site-body .hf-section__head p,
body.site-body .hf-search-page__hero p,
body.site-body .hf-home-panel__head p {
  color: var(--muted);
}

body.site-body .form-card input[type="text"],
body.site-body .form-card input[type="password"],
body.site-body .form-card input[type="url"],
body.site-body .form-card input[type="number"],
body.site-body .form-card input[type="file"],
body.site-body .form-card input[type="email"],
body.site-body .form-card textarea,
body.site-body .form-card select,
body.site-body .deck-builder input[type="text"],
body.site-body .deck-builder select,
body.site-body .deck-builder textarea {
  color: var(--text);
  background: rgba(255, 255, 255, 0.05);
  border-color: var(--line);
}

body.site-body .form-card input::placeholder,
body.site-body .form-card textarea::placeholder,
body.site-body .deck-builder input::placeholder,
body.site-body .deck-builder textarea::placeholder {
  color: var(--muted);
}

body.site-body .hf-chip,
body.site-body .hf-pill,
body.site-body .btn--ghost,
body.site-body .badge--soft {
  background: rgba(255, 255, 255, 0.04);
  color: var(--text);
  border-color: var(--line);
}

body.site-body .hf-chip:hover,
body.site-body .hf-chip:focus-visible,
body.site-body .hf-pill:hover,
body.site-body .hf-pill:focus-visible,
body.site-body .btn--ghost:hover,
body.site-body .btn--ghost:focus-visible {
  background: rgba(255, 255, 255, 0.08);
  color: var(--text);
}

body.site-body .hf-footer__inner {
  background: linear-gradient(180deg, rgba(15, 23, 42, 0.96), rgba(11, 18, 32, 0.98));
}

body.site-body .hf-featured-deck__body {
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.96), rgba(15, 23, 42, 0.98));
}

body.site-body .hf-featured-deck__facts span {
  background: rgba(255, 255, 255, 0.04);
  color: var(--text);
  border-color: var(--line);
}

body.site-body .hf-home-panel__stats .stat-card {
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.94), rgba(15, 23, 42, 0.98));
  border-color: var(--line);
}

body.site-body .hf-home-panel__stats .stat-card__eyebrow,
body.site-body .hf-home-panel__stats .stat-card__label {
  color: var(--muted);
}

body.site-body .hf-home-panel__stats .stat-card__value {
  color: var(--gold-2);
}

body.site-body .class-card,
body.site-body .hero-card,
body.site-body .card-card {
  border-color: var(--line);
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.94), rgba(15, 23, 42, 0.98));
}

body.site-body .class-card__body,
body.site-body .hero-card__copy,
body.site-body .card-card__body {
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.98), rgba(15, 23, 42, 0.98));
  color: var(--text);
}

body.site-body .class-card__body h3,
body.site-body .hero-card__copy h2,
body.site-body .hero-card__copy h3,
body.site-body .card-card__body h3 {
  color: var(--text);
}

body.site-body .class-card__body p,
body.site-body .hero-card__copy p,
body.site-body .card-card__body p,
body.site-body .class-card__footer,
body.site-body .hero-card__figure-badge small {
  color: var(--muted);
}

body.site-body .class-card__art,
body.site-body .hero-card__figure--class {
  border-color: var(--line);
}

body.site-body--quiz .quiz-hero.panel,
body.site-body--quiz .quiz-banner.panel,
body.site-body--quiz .quiz-result-banner.panel {
  background:
    radial-gradient(circle at top right, rgba(255, 255, 255, 0.14), transparent 28%),
    radial-gradient(circle at bottom left, rgba(255, 220, 140, 0.12), transparent 26%),
    linear-gradient(180deg, #284062 0%, #1b2c47 100%);
}

body.site-body--quiz .quiz-hero__copy h1,
body.site-body--quiz .quiz-banner__copy h1,
body.site-body--quiz .quiz-result-banner__copy h1 {
  color: #f8fafc !important;
}

body.site-body--quiz .quiz-hero__copy p,
body.site-body--quiz .quiz-banner__copy p,
body.site-body--quiz .quiz-result-banner__copy p,
body.site-body--quiz .quiz-hero__eyebrow,
body.site-body--quiz .quiz-banner__eyebrow,
body.site-body--quiz .quiz-result-banner__eyebrow {
  color: rgba(248, 250, 252, 0.9) !important;
}

body.site-body--quiz .quiz-hero__copy h1,
body.site-body--quiz .quiz-banner__copy h1,
body.site-body--quiz .quiz-result-banner__copy h1,
body.site-body--quiz .quiz-hero__copy p,
body.site-body--quiz .quiz-banner__copy p,
body.site-body--quiz .quiz-result-banner__copy p,
body.site-body--quiz .quiz-hero__eyebrow,
body.site-body--quiz .quiz-banner__eyebrow,
body.site-body--quiz .quiz-result-banner__eyebrow {
  color: #f8fafc !important;
  text-shadow: 0 2px 12px rgba(8, 15, 28, 0.28);
}

body.site-body--quiz .quiz-roadmap__head h2,
body.site-body--quiz .quiz-roadmap__head p {
  color: rgba(248, 250, 252, 0.78) !important;
  text-shadow: 0 2px 12px rgba(8, 15, 28, 0.22);
}

body.site-body--quiz .quiz-group-head strong,
body.site-body--quiz .quiz-group-head span {
  color: #f8fafc !important;
  text-shadow: 0 2px 12px rgba(8, 15, 28, 0.24);
}

body.site-body--quiz .quiz-roadmap__group-head strong,
body.site-body--quiz .quiz-roadmap__group-head span {
  color: #f8fafc !important;
  text-shadow: 0 2px 12px rgba(8, 15, 28, 0.18);
}

body.site-body--quiz .quiz-pool-card strong,
body.site-body--quiz .quiz-pool-card p {
  color: #f8fafc !important;
  text-shadow: 0 2px 12px rgba(8, 15, 28, 0.22);
}

body.site-body--quiz .quiz-mode-option strong,
body.site-body--quiz .quiz-visual-kind-card strong,
body.site-body--quiz .quiz-mode-card strong {
  color: #1e2f49 !important;
  text-shadow: none;
}

body.site-body--quiz .quiz-mode-option p,
body.site-body--quiz .quiz-visual-kind-card p,
body.site-body--quiz .quiz-mode-card p {
  color: #637693 !important;
  text-shadow: none;
}

body.site-body--quiz .quiz-question-card__head h2 {
  color: #f8fafc !important;
  text-shadow: 0 2px 14px rgba(8, 15, 28, 0.34);
}

body.site-body--quiz .quiz-question-card__head p {
  color: rgba(248, 250, 252, 0.84) !important;
  text-shadow: 0 2px 10px rgba(8, 15, 28, 0.18);
}

body.site-body--quiz .quiz-pool-card__tag,
body.site-body--quiz .quiz-mode-option__badge,
body.site-body--quiz .quiz-visual-kind-card__tag {
  background: rgba(247, 201, 106, 0.12);
  color: #ffd98b !important;
  border-color: rgba(247, 201, 106, 0.2);
}

body.site-body .expansion-card,
body.site-body .expansion-card__body {
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.98), rgba(15, 23, 42, 0.98));
  color: var(--text);
}

body.site-body .expansion-card__body h3 {
  color: var(--text);
}

body.site-body .expansion-card__body p,
body.site-body .expansion-card__meta {
  color: var(--muted);
}

body.site-body--quiz .quiz-hero__status-card {
  background: rgba(15, 23, 42, 0.3);
  border-color: rgba(248, 250, 252, 0.14);
}

body.site-body--quiz .quiz-hero__status-card strong {
  color: #f8fafc;
}

body.site-body--quiz .quiz-panel,
body.site-body--quiz .quiz-question-card,
body.site-body--quiz .quiz-options-card,
body.site-body--quiz .quiz-result-card,
body.site-body--quiz .quiz-result-summary,
body.site-body--quiz .quiz-pool-card {
  background: linear-gradient(180deg, rgba(30, 41, 59, 0.98), rgba(15, 23, 42, 0.98));
  border-color: var(--line);
  color: var(--text);
}

body.site-body--quiz .quiz-question-card__head h2 {
  color: #f8fafc;
  text-shadow: 0 2px 14px rgba(8, 15, 28, 0.34);
}

body.site-body--quiz .quiz-question-card__head p {
  color: rgba(248, 250, 252, 0.84);
}

body.site-body--quiz .quiz-question-card__tag {
  background: rgba(247, 201, 106, 0.12);
  color: #ffd98b;
  border-color: rgba(247, 201, 106, 0.22);
}

body.site-body--quiz .quiz-panel .muted,
body.site-body--quiz .quiz-question-card .muted,
body.site-body--quiz .quiz-options-card .muted,
body.site-body--quiz .quiz-result-card .muted,
body.site-body--quiz .quiz-result-summary .muted,
body.site-body--quiz .quiz-pool-card p,
body.site-body--quiz .quiz-pool-card small {
  color: var(--muted);
}
