:root {
  --dungeon-gold: #e4b567;
  --dungeon-gold-bright: #ffd58d;
  --dungeon-cyan: #5fd0cf;
  --dungeon-red: #e56f6f;
  --dungeon-ink: #0c1119;
  --dungeon-panel: #141c28;
  --dungeon-panel-2: #192433;
  --dungeon-line: rgba(161, 181, 207, .16);
  --dungeon-muted: #98a7bb;
  --dungeon-text: #edf3fb;
}

.md-grid:has(.dungeon-browser) {
  max-width: 92rem;
}

.md-content__inner:has(.dungeon-browser) > h1 {
  display: none;
}

.dungeon-browser {
  min-height: 65vh;
  color: var(--dungeon-text);
  font-size: .75rem;
}

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

.dungeon-loading,
.dungeon-error {
  display: grid;
  min-height: 22rem;
  place-items: center;
  align-content: center;
  gap: .8rem;
  color: var(--dungeon-muted);
  text-align: center;
}

.dungeon-loading__mark {
  color: var(--dungeon-gold);
  font-size: 2.4rem;
  line-height: 1;
  animation: dungeon-pulse 1.6s ease-in-out infinite;
}

@keyframes dungeon-pulse {
  50% { opacity: .35; transform: scale(.86) rotate(45deg); }
}

.dungeon-hero {
  position: relative;
  overflow: hidden;
  padding: 2rem clamp(1.25rem, 3vw, 2.7rem);
  border: 1px solid var(--dungeon-line);
  border-radius: 1rem;
  background:
    radial-gradient(circle at 82% 15%, rgba(95, 208, 207, .14), transparent 27rem),
    radial-gradient(circle at 8% 120%, rgba(228, 181, 103, .14), transparent 23rem),
    linear-gradient(135deg, #172130 0%, #0e151f 70%);
  box-shadow: 0 1.4rem 3.5rem rgba(0, 0, 0, .22);
}

.dungeon-hero::after {
  position: absolute;
  inset: 0;
  background-image:
    linear-gradient(rgba(255,255,255,.023) 1px, transparent 1px),
    linear-gradient(90deg, rgba(255,255,255,.023) 1px, transparent 1px);
  background-size: 32px 32px;
  content: "";
  pointer-events: none;
  mask-image: linear-gradient(90deg, transparent, #000 58%);
}

.dungeon-eyebrow {
  position: relative;
  z-index: 1;
  display: flex;
  align-items: center;
  gap: .55rem;
  margin-bottom: .45rem;
  color: var(--dungeon-gold);
  font-size: .64rem;
  font-weight: 800;
  letter-spacing: .12em;
  text-transform: uppercase;
}

.dungeon-eyebrow::before {
  width: 1.5rem;
  height: 1px;
  background: currentColor;
  content: "";
}

.dungeon-hero h1,
.dungeon-detail-hero h1 {
  position: relative;
  z-index: 1;
  margin: 0;
  color: #fff;
  font-size: clamp(1.65rem, 4vw, 3.1rem);
  font-weight: 850;
  letter-spacing: -.035em;
  line-height: 1.02;
}

.dungeon-hero__lead {
  position: relative;
  z-index: 1;
  max-width: 48rem;
  margin: .85rem 0 0;
  color: #b8c5d7;
  font-size: .82rem;
  line-height: 1.65;
}

.dungeon-filter-panel {
  position: static;
  z-index: 6;
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .9rem;
  align-items: start;
  margin: 1.25rem 0 1rem;
  padding: .8rem;
  border: 1px solid var(--dungeon-line);
  border-radius: .75rem;
  background: rgba(12, 17, 25, .9);
  box-shadow: 0 .8rem 2rem rgba(0,0,0,.2);
  backdrop-filter: blur(16px);
}

.dungeon-search {
  position: relative;
  max-width: 30rem;
}

.dungeon-search::before {
  position: absolute;
  top: 50%;
  left: .8rem;
  color: var(--dungeon-muted);
  content: "⌕";
  font-size: 1.2rem;
  transform: translateY(-54%);
}

.dungeon-search input {
  width: 100%;
  height: 2.35rem;
  border: 1px solid var(--dungeon-line);
  border-radius: .48rem;
  outline: none;
  background: #0b111a;
  color: var(--dungeon-text);
  font: inherit;
}

.dungeon-search input {
  padding: 0 .8rem 0 2.35rem;
}

.dungeon-search input:focus {
  border-color: rgba(228, 181, 103, .75);
  box-shadow: 0 0 0 3px rgba(228, 181, 103, .1);
}

.dungeon-catalog-filters {
  display: grid;
  gap: .42rem;
}

.dungeon-catalog-filter {
  display: grid;
  grid-template-columns: 3.4rem minmax(0, 1fr);
  gap: .55rem;
  align-items: center;
}

.dungeon-catalog-filter__label {
  color: var(--dungeon-muted);
  font-size: .58rem;
  font-weight: 760;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.dungeon-catalog-filter__choices {
  display: flex;
  gap: .35rem;
  min-width: 0;
  overflow-x: auto;
  padding-bottom: .08rem;
  scrollbar-width: thin;
}

.dungeon-filter-chip,
.dungeon-map-chip {
  display: inline-flex;
  flex: 0 0 auto;
  align-items: center;
  gap: .42rem;
  min-height: 2rem;
  padding: .38rem .68rem;
  border: 1px solid var(--dungeon-line);
  border-radius: 999px;
  background: var(--dungeon-panel);
  color: #c6d2e1;
  cursor: pointer;
  font: inherit;
  font-size: .64rem;
  font-weight: 720;
  transition: .18s ease;
}

.dungeon-filter-chip:hover,
.dungeon-map-chip:hover,
.dungeon-filter-chip.is-active,
.dungeon-map-chip.is-active {
  border-color: rgba(228, 181, 103, .7);
  background: rgba(228, 181, 103, .11);
  color: var(--dungeon-gold-bright);
}

.dungeon-results-caption {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  margin: 0 0 .7rem;
  color: var(--dungeon-muted);
  font-size: .63rem;
}

.dungeon-card-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: .55rem;
}

.dungeon-card {
  --dungeon-card-accent: var(--dungeon-gold);
  --dungeon-card-tint: rgba(228,181,103,.055);
  position: relative;
  display: grid;
  grid-template-columns: 8.5rem minmax(14rem, 1fr) minmax(18rem, 32rem);
  gap: 1rem;
  align-items: center;
  min-width: 0;
  padding: .8rem 1rem .8rem .9rem;
  overflow: hidden;
  border: 1px solid var(--dungeon-line);
  border-left: 3px solid var(--dungeon-card-accent);
  border-radius: .75rem;
  outline: none;
  background:
    linear-gradient(90deg, var(--dungeon-card-tint), transparent 28%),
    var(--dungeon-panel);
  color: inherit;
  cursor: pointer;
  transition: border-color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.dungeon-card--solo {
  --dungeon-card-accent: #5fd0cf;
  --dungeon-card-tint: rgba(95,208,207,.055);
}

.dungeon-card:hover,
.dungeon-card:focus-visible {
  z-index: 1;
  border-color: rgba(228, 181, 103, .55);
  border-left-color: var(--dungeon-card-accent);
  box-shadow: 0 1rem 2rem rgba(0,0,0,.24);
  transform: translateX(3px);
}

.dungeon-key-line,
.dungeon-entity-link,
.dungeon-seller,
.dungeon-box-source__item,
.dungeon-drop-row,
.dungeon-stage__head,
.dungeon-reward-name {
  display: flex;
  align-items: center;
}

.dungeon-card__identity {
  display: grid;
  grid-template-columns: 64px minmax(0, 1fr);
  gap: .55rem;
  align-items: center;
  min-width: 0;
  padding-right: 1rem;
  border-right: 1px solid rgba(255,255,255,.08);
}

.dungeon-card__key-icon {
  width: 64px;
  height: 64px;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  object-fit: contain;
  image-rendering: auto;
}

.dungeon-card__identity-copy { min-width: 0; }

.dungeon-card__identity small,
.dungeon-card__rewards-label {
  display: block;
  color: var(--dungeon-muted);
  font-size: .5rem;
  font-weight: 760;
  letter-spacing: .06em;
  text-transform: uppercase;
}

.dungeon-card__identity strong {
  display: block;
  margin-top: .12rem;
  color: #fff;
  font-size: 1rem;
  line-height: 1.15;
}

.dungeon-card__mode {
  display: inline-flex;
  margin-top: .42rem;
  padding: .2rem .42rem;
  border: 1px solid color-mix(in srgb, var(--dungeon-card-accent) 35%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--dungeon-card-accent) 9%, transparent);
  color: var(--dungeon-card-accent);
  font-size: .52rem;
  font-weight: 760;
  white-space: nowrap;
}

.dungeon-card__content,
.dungeon-card__rewards {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.dungeon-card h2 {
  position: relative;
  z-index: 1;
  margin: 0 0 .32rem;
  color: #f6f8fc;
  font-size: .88rem;
  font-weight: 820;
  letter-spacing: -.012em;
  line-height: 1.25;
}

.dungeon-card__facts {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem .7rem;
  margin: .5rem 0 0;
  color: #bfcbda;
  font-size: .58rem;
}

.dungeon-card__facts strong { color: #fff; }

.dungeon-key-icon,
.dungeon-entity-icon,
.dungeon-reward-icon {
  flex: 0 0 auto;
  object-fit: contain;
  image-rendering: auto;
}

.dungeon-card__rewards {
  padding-left: 1rem;
  border-left: 1px solid rgba(255,255,255,.08);
}

.dungeon-card__rewards .dungeon-reward-stack {
  margin-top: .35rem;
}

.dungeon-card__rewards-empty {
  display: block;
  margin-top: .35rem;
  color: var(--dungeon-muted);
  font-size: .56rem;
}

.dungeon-reward-stack {
  display: flex;
  flex-wrap: wrap;
  gap: .16rem;
}

.dungeon-reward-stack img {
  width: 1.55rem;
  height: 1.55rem;
  border: 2px solid var(--dungeon-panel);
  border-radius: .3rem;
  background: #080d14;
  object-fit: contain;
}

.dungeon-empty-results {
  grid-column: 1 / -1;
  padding: 3.5rem 1rem;
  border: 1px dashed var(--dungeon-line);
  border-radius: .75rem;
  color: var(--dungeon-muted);
  text-align: center;
}

/* Detail */
.dungeon-back {
  display: inline-flex;
  align-items: center;
  gap: .45rem;
  margin: .1rem 0 .8rem;
  padding: .42rem .65rem;
  border: 1px solid var(--dungeon-line);
  border-radius: .42rem;
  background: var(--dungeon-panel);
  color: #c9d5e4;
  cursor: pointer;
  font: inherit;
  font-size: .62rem;
}

.dungeon-back:hover { border-color: rgba(228,181,103,.55); color: var(--dungeon-gold-bright); }

.dungeon-detail-hero {
  position: relative;
  display: grid;
  grid-template-columns: 1fr auto;
  gap: 1.2rem;
  padding: clamp(1.25rem, 3vw, 2.2rem);
  overflow: hidden;
  border: 1px solid var(--dungeon-line);
  border-radius: .9rem;
  background:
    radial-gradient(circle at 86% 50%, rgba(228,181,103,.13), transparent 22rem),
    linear-gradient(135deg, #192535, #0e151f 72%);
}

.dungeon-detail-hero__content { min-width: 0; }

.dungeon-detail-hero h1 { font-size: clamp(1.4rem, 3.4vw, 2.65rem); }

.dungeon-detail-hero__description {
  max-width: 52rem;
  margin: .7rem 0 0;
  color: #adbbcd;
  line-height: 1.55;
}

.dungeon-detail-meta {
  display: flex;
  flex-wrap: wrap;
  gap: .45rem;
  margin-top: 1rem;
}

.dungeon-detail-meta span {
  padding: .36rem .58rem;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: .36rem;
  background: rgba(2,7,12,.28);
  color: #c9d6e5;
  font-size: .58rem;
}

.dungeon-detail-hero__key {
  position: relative;
  z-index: 1;
  display: grid;
  width: 7.4rem;
  min-height: 7.4rem;
  place-items: center;
  align-content: center;
  border: 1px solid rgba(228,181,103,.2);
  border-radius: .75rem;
  background: rgba(7,12,18,.46);
}

.dungeon-detail-hero__key img { width: 3.4rem; height: 3.4rem; object-fit: contain; }
.dungeon-detail-hero__key small { margin-top: .45rem; color: var(--dungeon-muted); font-size: .5rem; text-transform: uppercase; }
.dungeon-detail-hero__key strong { margin-top: .1rem; color: var(--dungeon-gold-bright); font-size: .66rem; }

.dungeon-section {
  margin-top: 1.3rem;
  scroll-margin-top: 6rem;
}

.dungeon-section__head {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: end;
  margin: 0 0 .65rem;
}

.dungeon-section__head h2 {
  margin: 0;
  color: #f2f6fb;
  font-size: 1rem;
  font-weight: 820;
  letter-spacing: -.015em;
}

.dungeon-section__head p {
  margin: 0;
  color: var(--dungeon-muted);
  font-size: .58rem;
}

.dungeon-access-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(17rem, .8fr);
  align-items: start;
  gap: .8rem;
}

.dungeon-access-grid > :only-child { grid-column: 1 / -1; }

.dungeon-fragment-exchange { border-color: rgba(228,181,103,.28); }

.dungeon-exchange-instruction,
.dungeon-exchange-note,
.dungeon-exchange-chance {
  margin: 0 0 .6rem;
  color: var(--dungeon-muted);
  font-size: .59rem;
  line-height: 1.55;
}

.dungeon-exchange-formula {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: .5rem;
  margin-bottom: .7rem;
  padding: .65rem;
  border: 1px solid rgba(228,181,103,.16);
  border-radius: .5rem;
  background: rgba(228,181,103,.05);
}

.dungeon-exchange-item {
  display: flex;
  align-items: center;
  flex-wrap: wrap;
  gap: .4rem;
  min-width: 0;
  color: #dbe5f1;
  text-decoration: none;
}

.dungeon-exchange-item > span { flex: 1 1 4rem; min-width: 0; }
.dungeon-exchange-item strong { display: block; font-size: .58rem; line-height: 1.4; }
.dungeon-exchange-item small { display: block; color: var(--dungeon-gold-bright); font-size: .65rem; font-weight: 800; }
.dungeon-exchange-arrow { color: var(--dungeon-gold); }
.dungeon-exchange-chance { color: #dbe5f1; }
.dungeon-exchange-recipe { color: var(--dungeon-gold); font-size: .58rem; }
.dungeon-exchange-item:hover,
.dungeon-exchange-recipe:hover { color: var(--dungeon-gold-bright); }

.dungeon-panel {
  min-width: 0;
  padding: 1rem;
  border: 1px solid var(--dungeon-line);
  border-radius: .7rem;
  background: var(--dungeon-panel);
}

.dungeon-panel__label {
  margin: 0 0 .7rem;
  color: var(--dungeon-muted);
  font-size: .53rem;
  font-weight: 800;
  letter-spacing: .08em;
  text-transform: uppercase;
}

.dungeon-boss-loot-label { margin-top: 1.15rem; }

.dungeon-key-line { gap: .75rem; align-items: flex-start; }
.dungeon-key-icon { width: 3.1rem; height: 3.1rem; padding: .3rem; border-radius: .42rem; background: #090e15; }
.dungeon-key-line h3 { margin: .05rem 0 .2rem; color: #edf3fb; font-size: .76rem; }
.dungeon-key-line p { margin: 0; color: var(--dungeon-muted); font-size: .59rem; line-height: 1.45; }

.dungeon-price {
  display: inline-flex;
  align-items: baseline;
  gap: .3rem;
  margin-top: .65rem;
  color: var(--dungeon-gold-bright);
  font-weight: 800;
}

.dungeon-price small { color: var(--dungeon-muted); font-weight: 500; }

.dungeon-source-group { margin-top: .9rem; }
.dungeon-source-group h4 { margin: 0 0 .45rem; color: #dce5f1; font-size: .62rem; }

.dungeon-seller-list,
.dungeon-drop-list,
.dungeon-box-list { display: grid; gap: .4rem; }

.dungeon-box-source {
  padding: .5rem;
  border: 1px solid rgba(228,181,103,.14);
  border-radius: .5rem;
  background: rgba(228,181,103,.035);
}

.dungeon-box-source__item { gap: .55rem; min-width: 0; }

.dungeon-box-source__sellers {
  margin-top: .5rem;
  padding-top: .5rem;
  border-top: 1px solid rgba(255,255,255,.06);
}

.dungeon-box-source__seller-label {
  margin-bottom: .35rem;
  color: var(--dungeon-muted);
  font-size: .5rem;
  font-weight: 760;
  letter-spacing: .045em;
  text-transform: uppercase;
}

.dungeon-seller,
.dungeon-drop-row {
  gap: .55rem;
  min-width: 0;
  padding: .43rem;
  border: 1px solid rgba(255,255,255,.055);
  border-radius: .42rem;
  background: rgba(4,9,15,.25);
}

.dungeon-entity-icon,
.dungeon-reward-icon {
  width: 2rem;
  height: 2rem;
  border-radius: .3rem;
  background: #080d14;
}

.dungeon-source-copy { min-width: 0; flex: 1; }
.dungeon-source-copy a,
.dungeon-entity-link,
.dungeon-reward-name a { color: #dbe5f1; text-decoration: none; }
.dungeon-source-copy a:hover,
.dungeon-entity-link:hover,
.dungeon-reward-name a:hover { color: var(--dungeon-gold-bright); }
.dungeon-source-copy strong { display: block; overflow: hidden; font-size: .59rem; text-overflow: ellipsis; white-space: nowrap; }
.dungeon-source-copy small { display: block; margin-top: .08rem; color: var(--dungeon-muted); font-size: .52rem; }

.dungeon-chance {
  flex: 0 0 auto;
  color: var(--dungeon-gold-bright);
  font-size: .59rem;
  font-weight: 800;
}

.dungeon-disclosure { margin-top: .45rem; }
.dungeon-disclosure summary { color: var(--dungeon-gold); cursor: pointer; font-size: .57rem; }
.dungeon-disclosure[open] summary { margin-bottom: .45rem; }

.dungeon-empty-note {
  padding: .75rem;
  border: 1px dashed var(--dungeon-line);
  border-radius: .42rem;
  color: var(--dungeon-muted);
  font-size: .58rem;
  line-height: 1.45;
}

/* Map */
.dungeon-map-panel { padding: 0; overflow: hidden; }

.dungeon-map-toolbar {
  display: flex;
  flex-wrap: wrap;
  gap: .35rem;
  padding: .75rem;
  border-bottom: 1px solid var(--dungeon-line);
  background: #101823;
}

.dungeon-map-chip { min-height: 1.7rem; padding: .26rem .5rem; font-size: .56rem; }
.dungeon-map-chip i { width: .46rem; height: .46rem; border-radius: 50%; background: var(--stage-color, var(--dungeon-gold)); }

.dungeon-map-wrap {
  position: relative;
  min-height: 28rem;
  background:
    radial-gradient(circle at 50% 48%, rgba(95,208,207,.055), transparent 34%),
    #090f17;
}

.dungeon-map-svg { display: block; width: 100%; height: auto; min-height: 28rem; }
.dungeon-map-svg.has-background { background: #08010d; }
.dungeon-map-background { opacity: .96; }
.dungeon-map-grid line { stroke: rgba(157,181,210,.07); stroke-width: 1; vector-effect: non-scaling-stroke; }
.dungeon-map-axis { fill: #526176; font-size: 14px; font-family: var(--md-code-font-family); }
.dungeon-map-marker { cursor: pointer; transition: opacity .18s ease; }
.dungeon-map-marker circle:first-of-type { fill: rgba(7,12,19,.9); stroke: var(--stage-color); stroke-width: 2; vector-effect: non-scaling-stroke; }
.dungeon-map-marker circle:last-of-type { fill: var(--stage-color); }
.dungeon-map-marker text { fill: #f8fbff; font-size: 7px; font-weight: 850; text-anchor: middle; dominant-baseline: central; pointer-events: none; }
.dungeon-map-marker.is-muted { opacity: .12; }

.dungeon-map-note {
  position: absolute;
  right: .75rem;
  bottom: .65rem;
  max-width: 21rem;
  padding: .42rem .55rem;
  border: 1px solid rgba(255,255,255,.07);
  border-radius: .35rem;
  background: rgba(5,10,16,.72);
  color: #78879a;
  font-size: .48rem;
  line-height: 1.35;
  backdrop-filter: blur(8px);
}

/* Stages */
.dungeon-stage-list { display: grid; gap: .6rem; }

.dungeon-stage {
  position: relative;
  display: grid;
  grid-template-columns: 3.4rem minmax(0, 1fr);
  overflow: hidden;
  border: 1px solid var(--dungeon-line);
  border-radius: .65rem;
  background: var(--dungeon-panel);
}

.dungeon-stage__number {
  display: grid;
  place-items: center;
  align-content: center;
  border-right: 1px solid var(--dungeon-line);
  background: linear-gradient(180deg, color-mix(in srgb, var(--stage-color) 13%, transparent), transparent);
  color: var(--stage-color);
  font-size: 1.2rem;
  font-weight: 900;
}

.dungeon-stage__number small { margin-top: .1rem; color: var(--dungeon-muted); font-size: .43rem; letter-spacing: .06em; text-transform: uppercase; }

.dungeon-stage__body { min-width: 0; padding: .8rem; }
.dungeon-stage__head { justify-content: space-between; gap: .8rem; align-items: flex-start; }
.dungeon-stage__head h3 { margin: 0; color: #eff4fa; font-size: .76rem; }
.dungeon-stage__head p { margin: .16rem 0 0; color: var(--dungeon-muted); font-size: .56rem; }
.dungeon-stage__time { flex: 0 0 auto; color: var(--dungeon-gold-bright); font-size: .56rem; font-weight: 750; }

.dungeon-show-stage {
  margin-top: .42rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--dungeon-gold);
  cursor: pointer;
  font: inherit;
  font-size: .52rem;
}

.dungeon-mob-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: .38rem;
  margin-top: .7rem;
}

.dungeon-entity-link {
  min-width: 0;
  gap: .42rem;
  padding: .36rem;
  border: 1px solid rgba(255,255,255,.05);
  border-radius: .38rem;
  background: rgba(3,8,13,.24);
}

.dungeon-entity-link img { width: 1.8rem; height: 1.8rem; object-fit: contain; border-radius: .25rem; background: #080d14; }
.dungeon-entity-link span { min-width: 0; }
.dungeon-entity-link strong { display: block; overflow: hidden; font-size: .54rem; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.dungeon-entity-link small { display: block; margin-top: .08rem; color: var(--dungeon-muted); font-size: .47rem; }

/* Rewards */
.dungeon-section:has(.dungeon-reward-table) .dungeon-section__head p {
  font-size: .7rem;
  line-height: 1.4;
}

.dungeon-section:has(.dungeon-reward-table) .dungeon-panel__label {
  font-size: .66rem;
}

.dungeon-reward-table {
  overflow: hidden;
  border: 1px solid var(--dungeon-line);
  border-radius: .65rem;
  background: var(--dungeon-panel);
}

.dungeon-reward-row {
  display: grid;
  grid-template-columns: minmax(13rem, 1fr) 6rem 5rem minmax(7rem, .55fr);
  gap: .7rem;
  align-items: center;
  min-height: 3.25rem;
  padding: .55rem .75rem;
  border-top: 1px solid var(--dungeon-line);
}

.dungeon-reward-row:first-child { border-top: 0; }
.dungeon-reward-row--head { min-height: 2.1rem; background: #101823; color: var(--dungeon-muted); font-size: .62rem; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.dungeon-reward-name { min-width: 0; gap: .5rem; }
.dungeon-reward-name strong { display: block; overflow: hidden; font-size: .59rem; text-overflow: ellipsis; white-space: nowrap; }
.dungeon-reward-name small { display: block; color: var(--dungeon-muted); font-size: .48rem; }
.dungeon-reward-race {
  display: inline-flex;
  margin-top: .22rem;
  padding: .1rem .34rem;
  border: 1px solid rgba(161, 181, 207, .25);
  border-radius: 999px;
  background: rgba(161, 181, 207, .08);
  color: #b9c8d9;
  font-size: .55rem;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}
.dungeon-reward-race--bellato { border-color: rgba(95, 208, 207, .34); background: rgba(95, 208, 207, .09); color: #79dddd; }
.dungeon-reward-race--cora { border-color: rgba(194, 123, 235, .34); background: rgba(194, 123, 235, .09); color: #d19cf0; }
.dungeon-reward-race--accretia { border-color: rgba(229, 111, 111, .34); background: rgba(229, 111, 111, .09); color: #f08b8b; }
.dungeon-reward-race--all { border-color: rgba(228, 181, 103, .34); background: rgba(228, 181, 103, .09); color: var(--dungeon-gold-bright); }
.dungeon-reward-icon { width: 2.1rem; height: 2.1rem; }
.dungeon-reward-icon--system {
  display: grid;
  flex: 0 0 2.1rem;
  place-items: center;
  border: 1px solid rgba(161, 181, 207, .24);
  background: #101823;
  font-size: .36rem;
  font-weight: 900;
  letter-spacing: .035em;
  line-height: 1;
  text-align: center;
}
.dungeon-reward-icon--exp {
  color: #79dddd;
  border-color: rgba(95, 208, 207, .34);
  background: rgba(95, 208, 207, .09);
}
.dungeon-reward-icon--pvp {
  color: #f08b8b;
  border-color: rgba(229, 111, 111, .34);
  background: rgba(229, 111, 111, .09);
}
.dungeon-reward-icon--dalant {
  color: var(--dungeon-gold-bright);
  border-color: rgba(228, 181, 103, .34);
  background: rgba(228, 181, 103, .09);
}
.dungeon-reward-recipient,
.dungeon-reward-count { color: #c2cfde; font-size: .7rem; line-height: 1.35; }

.dungeon-chance-cell { min-width: 0; }
.dungeon-chance-cell strong { display: block; margin-bottom: .22rem; color: var(--dungeon-gold-bright); font-size: .72rem; line-height: 1.3; }
.dungeon-chance-cell--split {
  display: grid;
  gap: .18rem;
}
.dungeon-chance-line {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: .45rem;
}
.dungeon-chance-line span {
  color: var(--dungeon-muted);
  font-size: .58rem;
  line-height: 1.3;
}
.dungeon-chance-line strong {
  margin: 0;
  white-space: nowrap;
}
.dungeon-chance-bar { height: .23rem; overflow: hidden; border-radius: 999px; background: rgba(255,255,255,.07); }
.dungeon-chance-bar i { display: block; width: var(--chance); max-width: 100%; height: 100%; border-radius: inherit; background: linear-gradient(90deg, #9c7842, var(--dungeon-gold-bright)); }

@media screen and (max-width: 75rem) {
  .dungeon-card { grid-template-columns: 8.5rem minmax(13rem, 1fr) minmax(14rem, 24rem); }
  .dungeon-mob-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media screen and (max-width: 60rem) {
  .dungeon-filter-panel { grid-template-columns: 1fr; }
  .dungeon-card { grid-template-columns: 8.5rem minmax(0, 1fr); align-items: start; }
  .dungeon-card__rewards { grid-column: 2; padding: .65rem 0 0; border-top: 1px solid rgba(255,255,255,.08); border-left: 0; }
  .dungeon-access-grid { grid-template-columns: 1fr; }
  .dungeon-fragment-exchange { order: -1; }
  .dungeon-map-wrap, .dungeon-map-svg { min-height: 21rem; }
}

@media screen and (max-width: 44rem) {
  .dungeon-browser { font-size: .7rem; }
  .dungeon-hero { padding: 1.35rem 1rem; border-radius: .75rem; }
  .dungeon-filter-panel { position: static; grid-template-columns: 1fr; }
  .dungeon-catalog-filter { grid-template-columns: 1fr; gap: .25rem; }
  .dungeon-card { grid-template-columns: 1fr; gap: .65rem; padding: .85rem; }
  .dungeon-card__identity { display: flex; align-items: center; gap: .5rem; padding: 0 0 .65rem; border-right: 0; border-bottom: 1px solid rgba(255,255,255,.08); }
  .dungeon-card__identity small { display: none; }
  .dungeon-card__identity strong, .dungeon-card__mode { margin-top: 0; }
  .dungeon-card__rewards { grid-column: 1; }
  .dungeon-detail-hero { grid-template-columns: 1fr; }
  .dungeon-detail-hero__key { display: none; }
  .dungeon-section__head { display: block; }
  .dungeon-section__head p { margin-top: .2rem; }
  .dungeon-stage { grid-template-columns: 2.7rem minmax(0, 1fr); }
  .dungeon-stage__body { padding: .65rem; }
  .dungeon-mob-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .dungeon-reward-row { grid-template-columns: minmax(0, 1fr) auto; gap: .35rem .7rem; }
  .dungeon-reward-row--head { display: none; }
  .dungeon-reward-recipient { grid-column: 1; padding-left: 2.6rem; }
  .dungeon-reward-count { grid-column: 2; grid-row: 1; }
  .dungeon-chance-cell { grid-column: 2; grid-row: 2; min-width: 4.8rem; }
  .dungeon-map-wrap, .dungeon-map-svg { min-height: 17rem; }
  .dungeon-map-note { position: static; max-width: none; border-width: 1px 0 0; border-radius: 0; }
}
