/* Arab Wuwa Team DPS rankings.
   Route-owned, mobile-first styles built on /css/aw-shell.css tokens. */

:where(.tdps-main, .tdps-dialog, .tdps-toast, body[data-team-dps-language] .aw-toast-region) {
  --tdps-safe-inline: max(0.75rem, env(safe-area-inset-left), env(safe-area-inset-right));
  --tdps-surface: hsl(var(--card));
  --tdps-surface-raised: hsl(var(--card-strong));
  --tdps-surface-muted: hsl(var(--secondary) / 0.34);
  --tdps-surface-quiet: hsl(var(--background) / 0.46);
  --tdps-line: hsl(220 12% 46% / 0.72);
  --tdps-line-strong: hsl(220 12% 46%);
  --tdps-ink: hsl(var(--foreground));
  --tdps-ink-muted: hsl(var(--muted-foreground));
  --tdps-accent: hsl(var(--primary));
  --tdps-accent-ink: hsl(var(--primary-foreground));
  --tdps-accent-soft: hsl(var(--primary) / 0.13);
  --tdps-danger: hsl(var(--destructive));
  --tdps-danger-text: hsl(354 82% 78%);
  --tdps-warning: hsl(var(--warning));
  --tdps-success: hsl(var(--success));
  --tdps-info: hsl(var(--info));
  --tdps-info-text: hsl(196 65% 75%);
  /* Approved Wuthering Waves logo palette, scoped to this route. */
  --tdps-palette-cyan: #8abacc;
  --tdps-palette-blue: #568ca7;
  --tdps-palette-blue-text: #7fb9ca;
  --tdps-palette-blue-button-text: #7fb9ca;
  --tdps-palette-navy: #2f4767;
  --tdps-palette-silver: #bac6d0;
  --tdps-palette-warm: #a09078;
  --tdps-palette-warm-button-text: #e6d9d2;
  --tdps-palette-red: #bc4b44;
  --tdps-palette-ivory: #e6d9d2;
  --tdps-palette-active-ink: #101113;
  --tdps-dps-75000: var(--tdps-palette-warm);
  --tdps-dps-70000: var(--tdps-palette-ivory);
  --tdps-dps-60000: var(--tdps-palette-cyan);
  --tdps-dps-50000: var(--tdps-palette-blue-text);
  --tdps-dps-45000: var(--tdps-palette-silver);
  --tdps-rank-gold: hsl(42 58% 62%);
  --tdps-rank-silver: hsl(210 12% 72%);
  --tdps-rank-bronze: hsl(24 42% 57%);
  --tdps-favorite-text: var(--tdps-rank-gold);
  --tdps-radius-xs: 3px;
  --tdps-radius-sm: var(--radius-sm, 4px);
  --tdps-radius: var(--radius, 6px);
  --tdps-radius-lg: 9px;
  --tdps-shadow: 0 12px 30px hsl(220 22% 2% / 0.24);
  --tdps-shadow-dialog: 0 28px 72px hsl(220 26% 2% / 0.48);
  --tdps-control-size: 2.75rem;
  --tdps-ease: var(--ease, cubic-bezier(0.2, 0, 0, 1));
  --tdps-fast: var(--dur-fast, 120ms);
  --tdps-medium: var(--dur-med, 220ms);
}

html.light :where(.tdps-main, .tdps-dialog, .tdps-toast, body[data-team-dps-language] .aw-toast-region) {
  --tdps-surface-muted: hsl(var(--secondary) / 0.44);
  --tdps-surface-quiet: hsl(var(--background) / 0.4);
  --tdps-line: hsl(205 20% 40% / 0.78);
  --tdps-line-strong: hsl(205 20% 40%);
  --tdps-accent-soft: hsl(var(--primary) / 0.11);
  --tdps-danger-text: hsl(354 65% 32%);
  --tdps-info-text: hsl(205 60% 25%);
  --tdps-palette-cyan: #2f4767;
  --tdps-palette-blue: #3e577c;
  --tdps-palette-blue-text: #3e577c;
  --tdps-palette-blue-button-text: #1f3151;
  --tdps-palette-navy: #1f3151;
  --tdps-palette-silver: #444953;
  --tdps-palette-warm: #605038;
  --tdps-palette-warm-button-text: #622d2b;
  --tdps-palette-red: #a33c36;
  --tdps-palette-ivory: #30343e;
  --tdps-palette-active-ink: #f7fbfd;
  --tdps-dps-70000: var(--tdps-palette-red);
  --tdps-rank-gold: hsl(39 65% 31%);
  --tdps-rank-silver: hsl(210 18% 32%);
  --tdps-rank-bronze: hsl(22 53% 34%);
  --tdps-favorite-text: hsl(39 75% 20%);
  --tdps-shadow: 0 10px 24px hsl(210 24% 17% / 0.12);
  --tdps-shadow-dialog: 0 26px 64px hsl(210 25% 13% / 0.25);
}

html.light .tdps-team__equipment--weapon::after {
  color: var(--tdps-palette-warm);
}

.tdps-main {
  flex: 1 1 auto;
  min-inline-size: 0;
  inline-size: 100%;
  padding: 0.7rem var(--tdps-safe-inline) max(3.5rem, env(safe-area-inset-bottom));
  color: var(--tdps-ink);
}

.tdps-main,
.tdps-main *,
.tdps-main *::before,
.tdps-main *::after,
.tdps-dialog,
.tdps-dialog *,
.tdps-dialog *::before,
.tdps-dialog *::after {
  box-sizing: border-box;
}

.tdps-main :where(button, input, select, textarea) {
  max-inline-size: 100%;
  font: inherit;
}

.tdps-main :where(button, select, summary, [role="tab"], [role="option"]) {
  touch-action: manipulation;
}

.tdps-main :where(bdi, [dir="ltr"], .tdps-ltr, .tdps-entity) {
  direction: ltr;
  unicode-bidi: isolate;
}

.tdps-main :where(h1, h2, h3, p, dd, li, a, button, label, summary) {
  overflow-wrap: anywhere;
}

.tdps-main [hidden],
.tdps-dialog[hidden],
.tdps-toast[hidden] {
  display: none !important;
}

.tdps-visually-hidden {
  position: absolute !important;
  inline-size: 1px !important;
  block-size: 1px !important;
  margin: -1px !important;
  padding: 0 !important;
  overflow: hidden !important;
  clip: rect(0 0 0 0) !important;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.tdps-main > :where(
  .tdps-breadcrumb,
  .tdps-hero,
  .tdps-ranking-warning,
  .tdps-personal-damage,
  .tdps-controls,
  .tdps-results,
  .tdps-results-panel,
  .tdps-disclaimer,
  .tdps-guide,
  .tdps-methodology,
  .tdps-tune-break,
  .tdps-noscript
) {
  inline-size: 100%;
  margin-inline: auto;
}

/* Breadcrumb and product-first introduction */
.tdps-breadcrumb {
  min-block-size: 1.75rem;
  margin-block-end: 0.35rem;
  color: var(--tdps-ink-muted);
  font-size: 0.78rem;
  font-weight: 650;
}

.tdps-breadcrumb ol {
  display: flex;
  align-items: center;
  min-inline-size: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tdps-breadcrumb li {
  display: inline-flex;
  align-items: center;
  min-inline-size: 0;
}

.tdps-breadcrumb li + li::before {
  content: "/";
  margin-inline: 0.5rem;
  color: hsl(var(--muted-foreground) / 0.62);
  font-weight: 400;
}

[dir="rtl"] .tdps-breadcrumb li + li::before {
  content: "\\";
}

.tdps-breadcrumb a {
  color: var(--tdps-ink-muted);
  text-decoration: none;
  transition: color var(--tdps-fast) var(--tdps-ease);
}

.tdps-breadcrumb a:hover,
.tdps-breadcrumb a:focus-visible {
  color: var(--tdps-ink);
}

.tdps-breadcrumb [aria-current="page"] {
  overflow: hidden;
  color: var(--tdps-ink);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tdps-hero {
  position: relative;
  display: grid;
  gap: 1rem;
  padding: clamp(1rem, 3vw, 1.75rem);
  border: 1px solid var(--tdps-line);
  border-radius: var(--tdps-radius-lg);
  background:
    linear-gradient(108deg, color-mix(in srgb, var(--tdps-palette-navy) 10%, transparent), transparent 48%),
    linear-gradient(252deg, color-mix(in srgb, var(--tdps-palette-warm) 7%, transparent), transparent 38%),
    var(--tdps-surface);
  box-shadow: inset 0 1px 0 hsl(var(--foreground) / 0.035);
}

.tdps-hero__copy {
  min-inline-size: 0;
}

.tdps-hero__eyebrow,
.tdps-eyebrow {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  margin: 0 0 0.45rem;
  color: var(--tdps-accent);
  font-size: 0.69rem;
  font-weight: 800;
  letter-spacing: 0.13em;
  line-height: 1.25;
  text-transform: uppercase;
}

.tdps-hero__eyebrow::before,
.tdps-eyebrow::before {
  content: "";
  flex: 0 0 1.45rem;
  block-size: 2px;
  border-radius: 999px;
  background: currentColor;
}

[dir="rtl"] :where(.tdps-hero__eyebrow, .tdps-eyebrow) {
  letter-spacing: 0;
  text-transform: none;
}

.tdps-hero h1,
.tdps-hero__title {
  max-inline-size: 25ch;
  margin: 0;
  color: var(--tdps-ink);
  font-size: clamp(1.75rem, 7.8vw, 3.2rem);
  font-weight: 790;
  letter-spacing: -0.035em;
  line-height: 1.05;
  text-wrap: balance;
}

[dir="rtl"] :where(.tdps-hero h1, .tdps-hero__title) {
  letter-spacing: 0;
  line-height: 1.2;
}

.tdps-hero__intro {
  max-inline-size: 75ch;
  margin: 0.65rem 0 0;
  color: var(--tdps-ink-muted);
  font-size: clamp(0.86rem, 1.7vw, 1rem);
  line-height: 1.65;
  text-wrap: pretty;
}

.tdps-hero__stats {
  position: relative;
  z-index: 1;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  overflow: hidden;
  border: 1px solid var(--tdps-line);
  border-radius: var(--tdps-radius);
  background: var(--tdps-line);
}

.tdps-hero__stat {
  --tdps-stat-accent: var(--tdps-palette-cyan);
  --tdps-stat-value: var(--tdps-palette-cyan);
  position: relative;
  display: grid;
  align-content: center;
  min-inline-size: 0;
  min-block-size: 4.65rem;
  padding: 0.65rem;
  background: color-mix(in srgb, var(--tdps-stat-accent) 7%, var(--tdps-surface-muted));
  box-shadow: inset 0 2px 0 color-mix(in srgb, var(--tdps-stat-accent) 82%, transparent);
}

.tdps-hero__stat:nth-child(2) {
  --tdps-stat-accent: var(--tdps-palette-blue);
  --tdps-stat-value: var(--tdps-palette-blue-text);
}

.tdps-hero__stat:nth-child(3) {
  --tdps-stat-accent: var(--tdps-palette-silver);
  --tdps-stat-value: var(--tdps-palette-silver);
}

.tdps-hero__stat:nth-child(4) {
  --tdps-stat-accent: var(--tdps-palette-warm);
  --tdps-stat-value: var(--tdps-palette-warm);
}

.tdps-hero__stat dt,
.tdps-hero__stat-label {
  margin: 0;
  color: hsl(var(--foreground) / 0.86);
  font-size: 0.64rem;
  font-weight: 750;
  letter-spacing: 0.055em;
  line-height: 1.25;
  text-transform: uppercase;
}

[dir="rtl"] :where(.tdps-hero__stat dt, .tdps-hero__stat-label) {
  letter-spacing: 0;
  text-transform: none;
}

.tdps-hero__stat dd,
.tdps-hero__stat-value {
  min-inline-size: 0;
  margin: 0.18rem 0 0;
  color: var(--tdps-stat-value);
  font-size: clamp(1rem, 4.6vw, 1.45rem);
  font-variant-numeric: tabular-nums;
  font-weight: 780;
  line-height: 1.15;
}

.tdps-hero__portrait {
  inline-size: 2.6rem;
  block-size: 2.6rem;
  border: 1px solid var(--tdps-line-strong);
  border-radius: var(--tdps-radius-sm);
  object-fit: cover;
  background: var(--tdps-surface-raised);
}

.tdps-hero__stat--character dd {
  display: flex;
  align-items: center;
  min-inline-size: 0;
  gap: 0.5rem;
  font-size: 0.8rem;
}

/* Important, persistent ranking context */
.tdps-ranking-warning {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 0.75rem;
  margin-block-start: 0.8rem;
  padding: 0.85rem 0.9rem;
  border: 1px solid color-mix(in srgb, var(--tdps-palette-red) 72%, transparent);
  border-inline-start-width: 3px;
  border-radius: var(--tdps-radius);
  background: color-mix(in srgb, var(--tdps-palette-red) 7%, var(--tdps-surface-quiet));
  color: var(--tdps-ink);
}

.tdps-ranking-warning::before {
  content: "!";
  display: grid;
  place-items: center;
  inline-size: 1.55rem;
  block-size: 1.55rem;
  border: 1px solid var(--tdps-palette-red);
  border-radius: 50%;
  color: var(--tdps-palette-red);
  font-weight: 850;
  line-height: 1;
}

.tdps-ranking-warning::before {
  grid-row: 1 / span 2;
}

.tdps-ranking-warning > p {
  grid-column: 2;
}

.tdps-ranking-warning :where(h2, h3, p) {
  margin: 0;
}

.tdps-ranking-warning :where(h2, h3) {
  font-size: 0.86rem;
  line-height: 1.35;
}

.tdps-ranking-warning p {
  margin-block-start: 0.2rem;
  color: var(--tdps-ink-muted);
  font-size: 0.78rem;
  line-height: 1.5;
}

.tdps-ranking-warning__eyebrow {
  color: var(--tdps-palette-ivory);
}

.tdps-ranking-warning a {
  color: var(--tdps-accent);
  font-weight: 700;
  text-decoration: underline;
  text-decoration-thickness: 0.08em;
  text-underline-offset: 0.18em;
}

/* Personal damage strip */
.tdps-personal-damage {
  margin-block-start: 1rem;
  padding-block: 0.9rem;
  border-block: 1px solid var(--tdps-line);
}

.tdps-personal-damage__header,
.tdps-personal-damage__head {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  gap: 0.65rem 1rem;
  margin-block-end: 0.7rem;
}

.tdps-personal-damage :where(h2, h3),
.tdps-personal-damage__title {
  margin: 0;
  color: var(--tdps-ink);
  font-size: clamp(1rem, 3vw, 1.25rem);
  line-height: 1.25;
}

.tdps-personal-damage__intro {
  max-inline-size: 72ch;
  margin: 0.3rem 0 0;
  color: var(--tdps-ink-muted);
  font-size: 0.77rem;
}

.tdps-personal-damage__tabs,
.tdps-personal__tabs {
  display: inline-flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  max-inline-size: 100%;
  padding: 0.22rem;
  border: 1px solid var(--tdps-line);
  border-radius: var(--tdps-radius);
  background: var(--tdps-surface-quiet);
}

.tdps-personal-damage__tab,
.tdps-personal__tab {
  min-inline-size: var(--tdps-control-size);
  min-block-size: var(--tdps-control-size);
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--tdps-line);
  border-radius: var(--tdps-radius-sm);
  background: var(--tdps-surface-raised);
  color: var(--tdps-ink);
  cursor: pointer;
  font-size: 0.77rem;
  font-weight: 720;
  transition: background-color var(--tdps-fast) var(--tdps-ease), border-color var(--tdps-fast) var(--tdps-ease), color var(--tdps-fast) var(--tdps-ease);
}

:where(.tdps-personal-damage__tab, .tdps-personal__tab):is(.is-active, [aria-selected="true"]) {
  border-color: hsl(var(--primary) / 0.76);
  background: hsl(var(--primary) / 0.2);
  box-shadow: inset 0 -2px 0 hsl(var(--primary) / 0.76);
  color: var(--tdps-ink);
}

:where(.tdps-personal-damage__tab, .tdps-personal__tab):hover {
  border-color: hsl(var(--primary) / 0.58);
  background: var(--tdps-accent-soft);
}

.tdps-personal-damage__panel,
.tdps-personal__panel {
  min-inline-size: 0;
}

.tdps-personal-damage__list,
.tdps-personal__list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.55rem;
}

.tdps-personal-damage__card {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  min-inline-size: 0;
  min-block-size: 4.15rem;
  gap: 0.65rem;
  padding: 0.65rem;
  border: 1px solid var(--tdps-line);
  border-radius: var(--tdps-radius);
  background: var(--tdps-surface-muted);
}

.tdps-personal-damage__card::before {
  content: attr(data-position);
  display: grid;
  place-items: center;
  inline-size: 1.75rem;
  block-size: 1.75rem;
  border: 1px solid var(--tdps-line-strong);
  border-radius: 50%;
  color: var(--tdps-ink-muted);
  font-size: 0.7rem;
  font-weight: 800;
}

.tdps-personal__jump,
.tdps-back-results {
  min-block-size: var(--tdps-control-size);
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--tdps-line-strong);
  border-radius: var(--tdps-radius-sm);
  background: var(--tdps-surface);
  color: var(--tdps-ink);
  cursor: pointer;
  font-size: 0.74rem;
  font-weight: 720;
}

.tdps-back-results {
  margin-block-start: 0.65rem;
}

/* Ranking controls */
.tdps-controls {
  position: relative;
  z-index: 10;
  margin-block-start: 1rem;
  padding: 0.8rem;
  border: 1px solid var(--tdps-line);
  border-radius: var(--tdps-radius-lg);
  background:
    linear-gradient(112deg, color-mix(in srgb, var(--tdps-palette-navy) 7%, transparent), transparent 58%),
    var(--tdps-surface);
  box-shadow: inset 0 1px 0 hsl(var(--foreground) / 0.03);
}

.tdps-controls__primary,
.tdps-controls__head {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  min-inline-size: 0;
  gap: 0.6rem;
}

.tdps-dataset-tabs {
  display: flex;
  flex-wrap: wrap;
  min-inline-size: 0;
  gap: 0.25rem;
  padding: 0.22rem;
  border: 1px solid var(--tdps-line);
  border-radius: var(--tdps-radius);
  background: var(--tdps-surface-quiet);
}

.tdps-dataset-tabs [role="tab"],
.tdps-tab {
  --tdps-tab-accent: var(--tdps-palette-cyan);
  --tdps-tab-text: var(--tdps-palette-cyan);
  min-inline-size: var(--tdps-control-size);
  min-block-size: var(--tdps-control-size);
  padding: 0.55rem 0.72rem;
  border: 1px solid var(--tdps-line);
  border-radius: var(--tdps-radius-sm);
  background: var(--tdps-surface-raised);
  box-shadow: inset 0 1px 0 hsl(var(--foreground) / 0.035);
  color: var(--tdps-ink);
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 720;
  line-height: 1.25;
  text-align: center;
  transition: background-color var(--tdps-fast) var(--tdps-ease), border-color var(--tdps-fast) var(--tdps-ease), color var(--tdps-fast) var(--tdps-ease);
}

.tdps-dataset-tabs [data-tdps-dataset-tab="unique"] {
  --tdps-tab-accent: var(--tdps-palette-blue);
  --tdps-tab-text: var(--tdps-palette-blue-text);
}

.tdps-dataset-tabs [data-tdps-dataset-tab="favorites"] {
  --tdps-tab-accent: var(--tdps-palette-warm);
  --tdps-tab-text: var(--tdps-palette-warm);
}

.tdps-dataset-tabs [data-tdps-dataset-tab="favorites"] {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}

.tdps-dataset-tabs [data-tdps-dataset-tab="favorites"]::before {
  content: "☆";
  flex: 0 0 auto;
  color: var(--tdps-palette-warm);
  font-size: 1rem;
  line-height: 1;
}

.tdps-dataset-tabs [data-tdps-dataset-tab="favorites"][aria-selected="true"]::before {
  content: "★";
  color: var(--tdps-palette-active-ink);
}

.tdps-dataset-tabs [role="tab"]:is(.is-active, [aria-selected="true"]),
.tdps-tab:is(.is-active, [aria-selected="true"]) {
  border-color: var(--tdps-tab-accent);
  background: var(--tdps-tab-accent);
  box-shadow: 0 5px 14px color-mix(in srgb, var(--tdps-tab-accent) 24%, transparent);
  color: var(--tdps-palette-active-ink);
}

:where(.tdps-dataset-tabs [role="tab"], .tdps-tab):hover:not(:disabled):not(.is-active):not([aria-selected="true"]) {
  border-color: color-mix(in srgb, var(--tdps-tab-accent) 72%, var(--tdps-line));
  background: color-mix(in srgb, var(--tdps-tab-accent) 12%, var(--tdps-surface-raised));
  color: var(--tdps-tab-text);
}

.tdps-filter-panel {
  margin-block-start: 0.8rem;
  padding-block-start: 0.8rem;
  border-block-start: 1px solid var(--tdps-line);
}

.tdps-filter-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.65rem;
}

.tdps-filter-field,
.tdps-filter-panel fieldset,
.tdps-field {
  min-inline-size: 0;
  margin: 0;
  padding: 0;
  border: 0;
}

.tdps-field--sort {
  min-inline-size: 0;
}

.tdps-filter-field > :where(label, legend),
.tdps-filter-label,
.tdps-field > label {
  display: block;
  margin-block-end: 0.32rem;
  color: var(--tdps-ink-muted);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.065em;
  line-height: 1.25;
  text-transform: uppercase;
}

[dir="rtl"] :where(.tdps-filter-field > label, .tdps-filter-field > legend, .tdps-filter-label, .tdps-field > label) {
  letter-spacing: 0;
  text-transform: none;
}

.tdps-filter-field :where(input, select),
.tdps-field :where(input, select),
.tdps-combobox__input {
  inline-size: 100%;
  min-inline-size: 0;
  min-block-size: var(--tdps-control-size);
  padding: 0.62rem 0.72rem;
  border: 1px solid var(--tdps-line-strong);
  border-radius: var(--tdps-radius-sm);
  background: var(--tdps-surface-quiet);
  color: var(--tdps-ink);
  caret-color: var(--tdps-accent);
  font-size: 0.8rem;
  line-height: 1.3;
  transition: background-color var(--tdps-fast) var(--tdps-ease), border-color var(--tdps-fast) var(--tdps-ease), box-shadow var(--tdps-fast) var(--tdps-ease);
}

.tdps-filter-field :where(input, select)::placeholder,
.tdps-field :where(input, select)::placeholder,
.tdps-combobox__input::placeholder {
  color: hsl(var(--muted-foreground) / 0.84);
  opacity: 1;
}

.tdps-filter-field :where(input, select):hover,
.tdps-field :where(input, select):hover,
.tdps-combobox__input:hover {
  border-color: hsl(var(--primary) / 0.55);
}

.tdps-filter-field :where(input, select):focus,
.tdps-field :where(input, select):focus,
.tdps-combobox__input:focus {
  border-color: var(--tdps-accent);
  outline: 0;
  box-shadow: 0 0 0 3px hsl(var(--ring) / 0.2);
}

.tdps-filter-field select,
.tdps-field select {
  cursor: pointer;
}

.tdps-filter-count {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 1.35rem;
  min-block-size: 1.35rem;
  margin-inline-start: 0.3rem;
  padding-inline: 0.3rem;
  border: 1px solid var(--tdps-line);
  border-radius: 999px;
  color: var(--tdps-ink-muted);
  font-size: 0.64rem;
  font-variant-numeric: tabular-nums;
  font-weight: 760;
}

.tdps-multi-filter,
.tdps-combobox {
  position: relative;
  min-inline-size: 0;
}

.tdps-combobox__listbox {
  position: absolute;
  z-index: 30;
  inset-block-start: calc(100% + 0.3rem);
  inset-inline: 0;
  max-block-size: min(18rem, 45vh);
  margin: 0;
  padding: 0.3rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--tdps-line-strong);
  border-radius: var(--tdps-radius);
  background: hsl(var(--popover));
  box-shadow: var(--tdps-shadow);
  color: hsl(var(--popover-foreground));
  list-style: none;
  scrollbar-color: hsl(var(--muted)) transparent;
  scrollbar-width: thin;
}

.tdps-combobox__option {
  display: grid;
  place-items: center;
  align-items: center;
  min-inline-size: 0;
  min-block-size: var(--tdps-control-size);
  padding: 0.35rem;
  border: 1px solid transparent;
  border-radius: var(--tdps-radius-sm);
  color: var(--tdps-ink);
  cursor: pointer;
}

.tdps-combobox__option:is(.is-active, [aria-selected="true"]) {
  border-color: hsl(var(--primary) / 0.5);
  background: var(--tdps-accent-soft);
}

.tdps-combobox__option[aria-selected="true"]::after {
  content: "✓";
  position: absolute;
  inset-block-end: 0.15rem;
  inset-inline-end: 0.15rem;
  display: grid;
  place-items: center;
  inline-size: 1.15rem;
  block-size: 1.15rem;
  border-radius: 50%;
  background: var(--tdps-accent);
  color: var(--tdps-accent-ink);
  font-weight: 850;
}

.tdps-combobox__listbox:not([hidden]) {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(3.4rem, 1fr));
  gap: 0.3rem;
}

.tdps-combobox__option {
  position: relative;
  aspect-ratio: 1;
}

.tdps-combobox__portrait,
.tdps-tag__portrait,
.tdps-active-filter__portrait {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  border-radius: var(--tdps-radius-sm);
  object-fit: cover;
}

.tdps-combobox__portrait {
  min-inline-size: 2.8rem;
  min-block-size: 2.8rem;
}

.tdps-combobox__empty {
  grid-column: 1 / -1;
}

.tdps-combobox__empty {
  padding: 0.75rem;
  color: var(--tdps-ink-muted);
  font-size: 0.77rem;
  text-align: center;
}

.tdps-tags,
.tdps-multi-filter__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
  min-inline-size: 0;
  margin-block-start: 0.4rem;
}

.tdps-tag {
  display: inline-flex;
  align-items: center;
  min-inline-size: 0;
  min-block-size: var(--tdps-control-size);
  gap: 0.15rem;
  padding: 0.18rem;
  border: 1px solid hsl(var(--primary) / 0.48);
  border-radius: var(--tdps-radius-sm);
  background: var(--tdps-accent-soft);
  color: var(--tdps-ink);
  font-size: 0.7rem;
  font-weight: 680;
}

.tdps-tag__portrait {
  inline-size: 2.35rem;
  block-size: 2.35rem;
}

.tdps-tag button {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  inline-size: var(--tdps-control-size);
  block-size: var(--tdps-control-size);
  margin-block: -0.2rem;
  margin-inline: 0 -0.25rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--tdps-ink-muted);
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
}

.tdps-tag__remove {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  inline-size: var(--tdps-control-size);
  block-size: var(--tdps-control-size);
  margin-block: -0.2rem;
  margin-inline: 0 -0.25rem;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: transparent;
  color: var(--tdps-ink-muted);
  cursor: pointer;
  font-size: 1rem;
  line-height: 1;
}

.tdps-tag button:hover {
  background: hsl(var(--primary) / 0.14);
  color: var(--tdps-ink);
}

.tdps-filter-actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.45rem;
  margin-block-start: 0.7rem;
}

.tdps-filter-actions button,
.tdps-reset,
.tdps-retry,
.tdps-show-more > button {
  min-block-size: var(--tdps-control-size);
  padding: 0.58rem 0.85rem;
  border: 1px solid var(--tdps-line-strong);
  border-radius: var(--tdps-radius-sm);
  background: var(--tdps-surface-raised);
  color: var(--tdps-ink);
  cursor: pointer;
  font-size: 0.76rem;
  font-weight: 730;
  line-height: 1.25;
  transition: background-color var(--tdps-fast) var(--tdps-ease), border-color var(--tdps-fast) var(--tdps-ease), color var(--tdps-fast) var(--tdps-ease), transform var(--tdps-fast) var(--tdps-ease);
}

.tdps-filter-actions button:hover:not(:disabled),
.tdps-reset:hover:not(:disabled),
.tdps-retry:hover,
.tdps-show-more > button:hover {
  border-color: hsl(var(--primary) / 0.62);
  background: var(--tdps-accent-soft);
}

:where(.tdps-filter-actions button, .tdps-reset, .tdps-retry, .tdps-show-more > button):active:not(:disabled) {
  transform: translateY(1px);
}

:where(.tdps-filter-actions button, .tdps-reset, .tdps-retry, .tdps-show-more > button):disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

.tdps-controls.is-exact-id-mode,
.tdps-filter-panel.is-exact-id-mode {
  border-color: hsl(var(--primary) / 0.7);
  box-shadow: inset 3px 0 0 var(--tdps-accent);
}

[dir="rtl"] :where(.tdps-controls.is-exact-id-mode, .tdps-filter-panel.is-exact-id-mode) {
  box-shadow: inset -3px 0 0 var(--tdps-accent);
}

.tdps-exact-id-notice {
  display: flex;
  align-items: center;
  min-block-size: 2.5rem;
  gap: 0.5rem;
  margin-block-start: 0.6rem;
  padding: 0.5rem 0.65rem;
  border: 1px solid hsl(var(--primary) / 0.5);
  border-radius: var(--tdps-radius-sm);
  background: var(--tdps-accent-soft);
  color: var(--tdps-ink);
  font-size: 0.74rem;
}

.tdps-controls__head > div,
.tdps-section-head > div,
.tdps-control-group,
.tdps-multi-filter__head > div {
  min-inline-size: 0;
}

.tdps-controls__head h2,
.tdps-section-head h2 {
  margin: 0;
  color: var(--tdps-ink);
  font-size: clamp(1rem, 3.2vw, 1.35rem);
  line-height: 1.25;
}

.tdps-section-kicker,
.tdps-ranking-warning__eyebrow,
.tdps-dialog__eyebrow {
  margin: 0 0 0.24rem;
  color: var(--tdps-accent);
  font-size: 0.66rem;
  font-weight: 800;
  letter-spacing: 0.09em;
  line-height: 1.25;
  text-transform: uppercase;
}

.tdps-personal-damage > .tdps-section-head .tdps-section-kicker {
  color: var(--tdps-palette-warm);
}

.tdps-controls > .tdps-controls__head .tdps-section-kicker {
  color: var(--tdps-palette-blue-text);
}

.tdps-ranking > .tdps-section-head .tdps-section-kicker {
  color: var(--tdps-palette-ivory);
}

[dir="rtl"] :where(.tdps-section-kicker, .tdps-ranking-warning__eyebrow, .tdps-dialog__eyebrow) {
  letter-spacing: 0;
  text-transform: none;
}

.tdps-main .tdps-clear-all.aw-btn {
  --aw-btn-bg: color-mix(in srgb, var(--tdps-palette-red) 9%, transparent);
  --aw-btn-hover-bg: color-mix(in srgb, var(--tdps-palette-red) 18%, transparent);
  --aw-btn-border: color-mix(in srgb, var(--tdps-palette-red) 76%, transparent);
  --aw-btn-color: var(--tdps-danger-text);
  flex: 0 0 auto;
  min-block-size: var(--tdps-control-size);
  padding: 0.55rem 0.75rem;
  border: 1px solid color-mix(in srgb, var(--tdps-palette-red) 76%, transparent);
  border-radius: var(--tdps-radius-sm);
  background: color-mix(in srgb, var(--tdps-palette-red) 9%, transparent);
  color: var(--tdps-danger-text);
  cursor: pointer;
  font-size: 0.74rem;
  font-weight: 720;
}

.tdps-main .tdps-clear-all.aw-btn:hover:not(:disabled) {
  border-color: var(--tdps-palette-red);
  background: color-mix(in srgb, var(--tdps-palette-red) 18%, transparent);
  color: var(--tdps-danger-text);
}

.tdps-main .tdps-clear-all.aw-btn:focus-visible {
  outline-color: var(--tdps-palette-red);
}

.tdps-main .tdps-clear-all.aw-btn:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.tdps-control-row {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.65rem;
  margin-block-start: 0.8rem;
  padding-block-start: 0.8rem;
  border-block-start: 1px solid var(--tdps-line);
}

.tdps-control-row.tdps-control-row--dataset {
  grid-template-columns: minmax(0, 1fr);
}

.tdps-control-label,
.tdps-multi-filter__combobox > label {
  display: block;
  margin-block-end: 0.32rem;
  color: var(--tdps-ink-muted);
  font-size: 0.67rem;
  font-weight: 800;
  letter-spacing: 0.065em;
  line-height: 1.25;
  text-transform: uppercase;
}

[dir="rtl"] :where(.tdps-control-label, .tdps-multi-filter__combobox > label) {
  letter-spacing: 0;
  text-transform: none;
}

.tdps-filter-panel > h3 {
  margin: 0 0 0.62rem;
  color: var(--tdps-ink);
  font-size: 0.83rem;
  line-height: 1.3;
}

.tdps-multi-filter {
  margin-block-start: 0.8rem;
  padding-block-start: 0.8rem;
  border-block-start: 1px solid var(--tdps-line);
}

.tdps-multi-filter__head {
  display: flex;
  flex-wrap: wrap;
  align-items: start;
  justify-content: space-between;
  gap: 0.4rem 1rem;
  margin-block-end: 0.6rem;
}

.tdps-multi-filter__head :where(h3, p) {
  margin: 0;
}

.tdps-multi-filter__head h3 {
  color: var(--tdps-ink);
  font-size: 0.81rem;
  line-height: 1.3;
}

.tdps-multi-filter__head p {
  margin-block-start: 0.15rem;
  color: var(--tdps-ink-muted);
  font-size: 0.71rem;
  line-height: 1.4;
}

.tdps-multi-filter__pending {
  padding: 0.35rem 0.5rem;
  border: 1px solid color-mix(in srgb, var(--tdps-palette-warm) 64%, transparent);
  border-radius: var(--tdps-radius-sm);
  background: color-mix(in srgb, var(--tdps-palette-warm) 9%, transparent);
  color: var(--tdps-palette-warm) !important;
}

.tdps-multi-filter__combobox {
  position: relative;
  min-inline-size: 0;
}

.tdps-multi-filter__combobox > input {
  inline-size: 100%;
  min-block-size: var(--tdps-control-size);
  padding: 0.62rem 0.72rem;
  border: 1px solid var(--tdps-line-strong);
  border-radius: var(--tdps-radius-sm);
  background: var(--tdps-surface-quiet);
  color: var(--tdps-ink);
  caret-color: var(--tdps-accent);
}

.tdps-multi-filter__combobox > input:focus {
  border-color: var(--tdps-accent);
  outline: 0;
  box-shadow: 0 0 0 3px hsl(var(--ring) / 0.2);
}

.tdps-multi-filter__combobox > [role="listbox"] {
  position: absolute;
  z-index: 30;
  inset-block-start: calc(100% + 0.3rem);
  inset-inline: 0;
  max-block-size: min(18rem, 45vh);
  margin: 0;
  padding: 0.3rem;
  overflow-y: auto;
  overscroll-behavior: contain;
  border: 1px solid var(--tdps-line-strong);
  border-radius: var(--tdps-radius);
  background: hsl(var(--popover));
  box-shadow: var(--tdps-shadow);
  color: hsl(var(--popover-foreground));
  list-style: none;
  scrollbar-color: hsl(var(--muted)) transparent;
  scrollbar-width: thin;
}

.tdps-multi-filter__combobox > [role="listbox"]:not([hidden]) {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(3.4rem, 1fr));
  gap: 0.3rem;
}

.tdps-multi-filter__combobox > [role="listbox"] > [role="option"] {
  position: relative;
  display: grid;
  place-items: center;
  align-items: center;
  aspect-ratio: 1;
  min-block-size: var(--tdps-control-size);
  padding: 0.35rem;
  border: 1px solid transparent;
  border-radius: var(--tdps-radius-sm);
  color: var(--tdps-ink);
  cursor: pointer;
}

.tdps-multi-filter__combobox > [role="listbox"] > [role="option"]:is(.is-active, [aria-selected="true"]) {
  border-color: hsl(var(--primary) / 0.52);
  background: var(--tdps-accent-soft);
}

.tdps-results-meta {
  display: grid;
  gap: 0.22rem;
  margin-block-start: 0.8rem;
  padding-block-start: 0.7rem;
  border-block-start: 1px solid var(--tdps-line);
}

.tdps-results-meta p {
  margin: 0;
  color: var(--tdps-ink-muted);
  font-size: 0.72rem;
  line-height: 1.45;
}

.tdps-active-filters {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.3rem;
  min-inline-size: 0;
}

.tdps-active-filter {
  display: inline-flex;
  align-items: center;
  min-block-size: var(--tdps-control-size);
  gap: 0.2rem;
  padding: 0.18rem;
  border: 1px solid color-mix(in srgb, var(--tdps-palette-blue) 62%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--tdps-palette-blue) 10%, var(--tdps-surface));
  color: var(--tdps-ink);
  cursor: pointer;
  font-size: 0.68rem;
  font-weight: 690;
}

.tdps-active-filter__portrait {
  inline-size: 2.35rem;
  block-size: 2.35rem;
}

.tdps-active-filter__remove {
  display: grid;
  place-items: center;
  inline-size: 1.45rem;
  block-size: 1.45rem;
  font-size: 1rem;
}

.tdps-active-filter:hover {
  border-color: var(--tdps-palette-blue);
}

.tdps-team-id-notice {
  margin-block-start: 0.25rem !important;
  padding: 0.5rem 0.65rem;
  border: 1px solid hsl(var(--primary) / 0.5);
  border-radius: var(--tdps-radius-sm);
  background: var(--tdps-accent-soft);
  color: var(--tdps-ink) !important;
}

.tdps-team-id-notice[data-status="invalid"] {
  border-color: color-mix(in srgb, var(--tdps-palette-red) 76%, transparent);
  background: color-mix(in srgb, var(--tdps-palette-red) 9%, transparent);
  color: var(--tdps-danger-text) !important;
}

/* Results and active-view containers */
.tdps-ranking {
  min-inline-size: 0;
  margin-block-start: 1.35rem;
}

.tdps-section-head {
  display: flex;
  flex-wrap: wrap;
  align-items: end;
  justify-content: space-between;
  min-inline-size: 0;
  gap: 0.5rem 1rem;
  margin-block-end: 0.65rem;
}

.tdps-section-head > p,
.tdps-section-head > div > p:not(.tdps-section-kicker) {
  max-inline-size: 75ch;
  margin: 0.25rem 0 0;
  color: var(--tdps-ink-muted);
  font-size: 0.74rem;
  line-height: 1.45;
}

.tdps-beta-notice {
  display: flex;
  align-items: flex-start;
  gap: 0.58rem;
  margin: 0 0 0.75rem;
  padding: 0.62rem 0.72rem;
  border: 1px solid color-mix(in srgb, var(--tdps-palette-red) 48%, var(--tdps-line));
  border-inline-start-width: 3px;
  border-radius: var(--tdps-radius-sm);
  background: color-mix(in srgb, var(--tdps-palette-red) 6%, var(--tdps-surface-quiet));
  color: var(--tdps-ink-muted);
  font-size: 0.74rem;
  line-height: 1.5;
}

.tdps-beta-notice p {
  margin: 0;
}

.tdps-primary-sort {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.65rem;
  margin: 0 0 0.85rem;
}

.tdps-primary-sort__option {
  --tdps-primary-sort-accent: var(--tdps-palette-cyan);
  --tdps-primary-sort-image: none;
  --tdps-primary-sort-image-flip: 1;
  position: relative;
  isolation: isolate;
  display: flex;
  align-items: flex-end;
  inline-size: 100%;
  min-block-size: 8.4rem;
  overflow: hidden;
  padding: 0.95rem 1rem;
  border: 1px solid color-mix(in srgb, var(--tdps-primary-sort-accent) 46%, var(--tdps-line));
  border-radius: var(--tdps-radius-lg);
  background: hsl(220 20% 7%);
  color: #f7f8f8;
  font: inherit;
  text-align: start;
  touch-action: manipulation;
  cursor: pointer;
  box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.08), 0 10px 24px hsl(220 24% 2% / 0.22);
  transition:
    border-color var(--tdps-fast) var(--tdps-ease),
    box-shadow var(--tdps-fast) var(--tdps-ease),
    transform var(--tdps-fast) var(--tdps-ease);
}

.tdps-primary-sort__option--dps {
  --tdps-primary-sort-accent: var(--tdps-palette-red);
  --tdps-primary-sort-image: url("/images/card-style/arab-wuwa-yinlin.webp?v=20260724-team-dps-primary-sort1");
}

.tdps-primary-sort__option--dpr {
  --tdps-primary-sort-accent: var(--tdps-palette-warm);
  --tdps-primary-sort-image: url("/images/card-style/arab-wuwa-zani.webp?v=20260724-team-dps-primary-sort1");
}

.tdps-primary-sort__option::before,
.tdps-primary-sort__option::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: -1;
  pointer-events: none;
}

.tdps-primary-sort__option::before {
  background-image: var(--tdps-primary-sort-image);
  background-position: right center;
  background-repeat: no-repeat;
  background-size: cover;
  filter: saturate(0.1) contrast(1.02);
  transform: scale(1.015) scaleX(var(--tdps-primary-sort-image-flip));
  transition: filter var(--tdps-medium) var(--tdps-ease), transform var(--tdps-medium) var(--tdps-ease);
}

.tdps-primary-sort__option::after {
  background:
    linear-gradient(90deg, hsl(220 22% 6% / 0.98) 0%, hsl(220 22% 6% / 0.9) 43%, hsl(220 22% 6% / 0.34) 78%, hsl(220 22% 6% / 0.14) 100%),
    linear-gradient(180deg, hsl(220 22% 3% / 0.06), hsl(220 22% 3% / 0.66));
  transition: opacity var(--tdps-fast) var(--tdps-ease);
}

[dir="rtl"] .tdps-primary-sort__option {
  --tdps-primary-sort-image-flip: -1;
}

[dir="rtl"] .tdps-primary-sort__option::after {
  background:
    linear-gradient(270deg, hsl(220 22% 6% / 0.98) 0%, hsl(220 22% 6% / 0.9) 43%, hsl(220 22% 6% / 0.34) 78%, hsl(220 22% 6% / 0.14) 100%),
    linear-gradient(180deg, hsl(220 22% 3% / 0.06), hsl(220 22% 3% / 0.66));
}

.tdps-primary-sort__option[aria-pressed="true"] {
  border-color: var(--tdps-primary-sort-accent);
  box-shadow:
    inset 0 0 0 1px color-mix(in srgb, var(--tdps-primary-sort-accent) 74%, transparent),
    inset 0 1px 0 hsl(0 0% 100% / 0.12),
    0 13px 30px hsl(220 24% 2% / 0.3);
}

.tdps-primary-sort__option[aria-pressed="true"]::before {
  filter: saturate(1.3) contrast(1.08);
}

.tdps-primary-sort__content {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  min-inline-size: 0;
  max-inline-size: 72%;
  gap: 0.22rem;
  text-shadow: 0 2px 16px hsl(220 24% 2% / 0.9);
}

[dir="rtl"] .tdps-primary-sort__content {
  align-items: flex-start;
}

.tdps-primary-sort__label {
  font-size: clamp(1.18rem, 4.8vw, 1.7rem);
  font-weight: 850;
  letter-spacing: -0.025em;
  line-height: 1.05;
}

[dir="rtl"] .tdps-primary-sort__label {
  letter-spacing: 0;
}

.tdps-primary-sort__guide {
  color: hsl(0 0% 100% / 0.76);
  font-size: 0.74rem;
  font-weight: 640;
  line-height: 1.35;
}

.tdps-results-panel {
  min-inline-size: 0;
}

.tdps-results-status {
  min-block-size: 0;
  margin: 0 0 0.7rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--tdps-accent);
  font-size: 0.73rem;
  font-weight: 720;
  line-height: 1.4;
}

.tdps-status {
  min-block-size: 2.2rem;
  margin: 0 0 0.55rem;
  padding: 0.48rem 0.65rem;
  border: 1px solid var(--tdps-line);
  border-radius: var(--tdps-radius-sm);
  background: var(--tdps-surface-quiet);
  color: var(--tdps-ink-muted);
  font-size: 0.72rem;
  line-height: 1.4;
}

.tdps-status--loading,
.tdps-results-status[aria-busy="true"] {
  padding: 0.48rem 0.65rem;
  border: 1px solid hsl(var(--info) / 0.48);
  border-radius: var(--tdps-radius-sm);
  background: var(--tdps-surface-quiet);
  border-color: hsl(var(--info) / 0.48);
  color: var(--tdps-info-text);
}

.tdps-status--error,
.tdps-status--offline {
  border-color: hsl(var(--destructive) / 0.58);
  background: hsl(var(--destructive) / 0.08);
  color: var(--tdps-danger-text);
}

.tdps-status--empty {
  border-style: dashed;
  color: var(--tdps-ink-muted);
}

.tdps-results-list > .tdps-status--empty {
  display: grid;
  justify-items: center;
  min-block-size: 11rem;
  align-content: center;
  gap: 0.5rem;
  padding: 1.2rem;
  text-align: center;
}

.tdps-results-list > .tdps-status--empty::before {
  content: "0";
  display: grid;
  place-items: center;
  inline-size: 2.5rem;
  block-size: 2.5rem;
  border: 1px solid var(--tdps-line-strong);
  border-radius: 50%;
  color: var(--tdps-ink-muted);
  font-size: 0.9rem;
  font-weight: 820;
}

.tdps-results-list > .tdps-status--empty :where(h3, p) {
  margin: 0;
}

.tdps-results-list > .tdps-status--empty h3 {
  color: var(--tdps-ink);
  font-size: 0.92rem;
}

.tdps-status--error .tdps-retry {
  margin-block-start: 0.45rem;
}

.tdps-results-list,
[data-team-dps-results] {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  min-inline-size: 0;
  gap: 1.15rem;
}

.tdps-results-list[aria-busy="true"] {
  min-block-size: 17rem;
}

.tdps-static-placeholder,
.tdps-noscript {
  margin: 0;
  padding: 1rem;
  border: 1px dashed var(--tdps-line-strong);
  border-radius: var(--tdps-radius);
  background: var(--tdps-surface-quiet);
  color: var(--tdps-ink-muted);
  font-size: 0.78rem;
  line-height: 1.55;
  text-align: center;
}

.tdps-noscript strong {
  display: block;
  margin-block-end: 0.2rem;
  color: var(--tdps-ink);
}

.tdps-noscript p {
  margin: 0;
}

.tdps-show-more {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: center;
  gap: 0.55rem 0.8rem;
  margin-block-start: 0.85rem;
  padding-block-start: 0.85rem;
  border-block-start: 1px solid var(--tdps-line);
}

.tdps-show-more > button {
  min-inline-size: min(12rem, 100%);
  border-color: hsl(var(--primary) / 0.62);
  background: var(--tdps-accent-soft);
}

.tdps-show-more p {
  margin: 0;
  color: var(--tdps-ink-muted);
  font-size: 0.71rem;
}

/* Shared static and enhanced team article language */
.tdps-static-team,
.tdps-team {
  --tdps-rank-accent: var(--tdps-accent);
  position: relative;
  min-inline-size: 0;
  border: 1px solid var(--tdps-line);
  border-inline-start: 1px solid var(--tdps-line);
  border-radius: var(--tdps-radius-lg);
  background: linear-gradient(135deg, hsl(var(--primary) / 0.035), transparent 30%), var(--tdps-surface);
  box-shadow: inset 0 1px 0 hsl(var(--foreground) / 0.025);
  scroll-margin-block-start: calc(var(--header-height, 52px) + 0.75rem);
}

:where(.tdps-static-team, .tdps-team):is([data-overall-rank="1"], [data-rank="1"]) {
  --tdps-rank-accent: var(--tdps-rank-gold);
}

:where(.tdps-static-team, .tdps-team):is([data-overall-rank="2"], [data-rank="2"]) {
  --tdps-rank-accent: var(--tdps-rank-silver);
}

:where(.tdps-static-team, .tdps-team):is([data-overall-rank="3"], [data-rank="3"]) {
  --tdps-rank-accent: var(--tdps-rank-bronze);
}

.tdps-team.is-targeted,
.tdps-team.is-hash-target,
.tdps-static-team:target {
  border-color: hsl(var(--primary) / 0.78);
  box-shadow: 0 0 0 3px hsl(var(--ring) / 0.2);
}

[dir="rtl"] :where(.tdps-team.is-targeted, .tdps-team.is-hash-target, .tdps-static-team:target) {
  box-shadow: 0 0 0 3px hsl(var(--ring) / 0.2);
}

.tdps-static-team__header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.45rem 0.65rem;
  min-inline-size: 0;
  padding: 0.75rem;
  border-block-end: 1px solid var(--tdps-line);
  background:
    linear-gradient(95deg, color-mix(in srgb, var(--tdps-palette-navy) 10%, transparent), transparent 54%),
    linear-gradient(265deg, color-mix(in srgb, var(--tdps-palette-warm) 6%, transparent), transparent 40%),
    var(--tdps-surface-muted);
}

.tdps-team__header {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.55rem 0.7rem;
  min-inline-size: 0;
  padding: 0.75rem;
  border-block-end: 1px solid var(--tdps-line);
  background:
    linear-gradient(95deg, color-mix(in srgb, var(--tdps-palette-navy) 10%, transparent), transparent 54%),
    linear-gradient(265deg, color-mix(in srgb, var(--tdps-palette-warm) 6%, transparent), transparent 40%),
    var(--tdps-surface-muted);
}

.tdps-team__ranks {
  display: flex;
  flex-direction: column;
  align-self: stretch;
  justify-content: center;
  gap: 0.3rem;
  min-inline-size: 3.5rem;
}

.tdps-team__identity {
  min-inline-size: 0;
}

.tdps-team__heading {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.34rem;
  min-inline-size: 0;
  margin: 0;
  color: var(--tdps-ink);
  font-size: clamp(0.8rem, 1.6vw, 0.9rem);
  line-height: 1.25;
}

.tdps-team__beta {
  flex: 0 0 auto;
  padding: 0.14rem 0.34rem;
  border: 1px solid color-mix(in srgb, var(--tdps-palette-red) 84%, white 8%);
  border-radius: var(--tdps-radius-sm);
  background: color-mix(in srgb, var(--tdps-palette-red) 18%, var(--tdps-surface));
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 0.1);
  color: var(--tdps-danger-text);
  font-size: 0.56rem;
  font-weight: 900;
  letter-spacing: 0.08em;
  line-height: 1.15;
  text-transform: uppercase;
}

.tdps-beta-notice > .tdps-team__beta {
  margin-block-start: 0.08rem;
}

.tdps-static-team__rank {
  grid-row: 1 / span 2;
  align-self: stretch;
  display: grid;
  place-content: center;
  min-inline-size: 3.4rem;
  margin: 0;
  padding: 0.35rem 0.5rem;
  border: 1px solid var(--tdps-rank-accent);
  border-radius: var(--tdps-radius-sm);
  color: var(--tdps-rank-accent);
  font-size: 0.65rem;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  line-height: 1.3;
  text-align: center;
}

.tdps-team__rank {
  display: grid;
  gap: 0.1rem;
  place-content: center;
  min-inline-size: 3.5rem;
  min-block-size: 2.4rem;
  margin: 0;
  padding: 0.28rem 0.4rem;
  border: 1px solid var(--tdps-rank-accent);
  border-radius: var(--tdps-radius-sm);
  color: var(--tdps-rank-accent);
  font-size: 0.7rem;
  font-variant-numeric: tabular-nums;
  font-weight: 800;
  line-height: 1.15;
  text-align: center;
}

.tdps-rank-visual {
  position: relative;
  min-inline-size: 4rem;
  min-block-size: 4rem;
  padding: 0;
  overflow: visible;
  border: 0;
  background: transparent;
}

.tdps-rank-visual[data-tdps-rank-tier="1"] { --tdps-rank-glow: rgba(250, 204, 21, 0.68); }
.tdps-rank-visual[data-tdps-rank-tier="2"] { --tdps-rank-glow: rgba(226, 232, 240, 0.58); }
.tdps-rank-visual[data-tdps-rank-tier="3"] { --tdps-rank-glow: rgba(251, 146, 60, 0.56); }
.tdps-rank-visual[data-tdps-rank-tier="4"] { --tdps-rank-glow: rgba(248, 113, 113, 0.48); }
.tdps-rank-visual[data-tdps-rank-tier="5"] { --tdps-rank-glow: rgba(192, 132, 252, 0.46); }
.tdps-rank-visual[data-tdps-rank-tier="6"] { --tdps-rank-glow: rgba(96, 165, 250, 0.44); }
.tdps-rank-visual[data-tdps-rank-tier="7"] { --tdps-rank-glow: rgba(45, 212, 191, 0.42); }
.tdps-rank-visual[data-tdps-rank-tier="8"] { --tdps-rank-glow: rgba(74, 222, 128, 0.4); }
.tdps-rank-visual[data-tdps-rank-tier="9"] { --tdps-rank-glow: rgba(251, 191, 36, 0.42); }
.tdps-rank-visual[data-tdps-rank-tier="10"] { --tdps-rank-glow: rgba(203, 213, 225, 0.36); }

.tdps-rank-visual::before {
  content: attr(data-tdps-visual-fallback);
  position: absolute;
  inset-block-start: 50%;
  inset-inline-start: 50%;
  display: grid;
  place-items: center;
  inline-size: 3.9rem;
  block-size: 3.9rem;
  border-radius: 50%;
  background-color: color-mix(in srgb, var(--tdps-rank-accent) 15%, transparent);
  color: var(--tdps-rank-accent);
  font-size: 1.05rem;
  line-height: 1;
  transform: translate(-50%, -50%);
}

.tdps-rank-visual > [dir="ltr"] {
  position: absolute;
  z-index: 1;
  inset: 18% 17%;
  display: grid;
  place-items: center;
  color: #fff8dc;
  font-size: 1rem;
  font-weight: 900;
  line-height: 1;
  text-shadow: 0 1px 3px #000, 0 0 8px #000;
}

.tdps-rank-visual[data-tdps-rank-tier="10"] > [dir="ltr"] {
  font-size: 0.875rem;
}

.tdps-rank-visual.has-tdps-visual::before {
  content: "";
  background-color: transparent;
  background-image: var(--tdps-visual-image);
  background-position: center;
  background-repeat: no-repeat;
  background-size: contain;
  filter:
    drop-shadow(0 0 7px var(--tdps-rank-glow))
    drop-shadow(0 7px 12px rgb(0 0 0 / 0.34));
}

[dir="rtl"] .tdps-rank-visual::before {
  transform: translate(50%, -50%);
}

.tdps-static-team__title,
.tdps-team__title {
  min-inline-size: 0;
  margin: 0;
  color: var(--tdps-ink);
  font-size: clamp(0.8rem, 1.6vw, 0.9rem);
  line-height: 1.25;
}

.tdps-static-team__title {
  grid-column: 2;
}

.tdps-static-team__title a {
  color: inherit;
  text-decoration: none;
}

.tdps-team__title {
  color: inherit;
  text-decoration: none;
}

.tdps-team__title:hover,
.tdps-team__title:focus-visible {
  color: var(--tdps-accent);
}

.tdps-static-team__title a:hover,
.tdps-static-team__title a:focus-visible {
  color: var(--tdps-accent);
}

.tdps-static-team__id,
.tdps-team__id {
  grid-column: 2;
  margin: 0;
  color: var(--tdps-ink-muted);
  font-size: 0.67rem;
  font-variant-numeric: tabular-nums;
  line-height: 1.3;
}

.tdps-static-team__study {
  grid-column: 3;
  grid-row: 1 / span 2;
  align-self: center;
  min-block-size: var(--tdps-control-size);
  display: inline-flex;
  align-items: center;
  padding: 0.5rem 0.65rem;
  border: 1px solid var(--tdps-line-strong);
  border-radius: var(--tdps-radius-sm);
  background: var(--tdps-surface);
  color: var(--tdps-ink);
  font-size: 0.7rem;
  font-weight: 720;
}

.tdps-static-team__study:hover,
.tdps-static-team__study:focus-visible {
  border-color: hsl(var(--primary) / 0.62);
  background: var(--tdps-accent-soft);
}

.tdps-static-team__metrics,
.tdps-team__metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  margin: 0;
  padding: 0;
  border-block-end: 1px solid var(--tdps-line);
  background: var(--tdps-line);
}

.tdps-static-team__metrics > div,
.tdps-team__metric {
  --tdps-metric-accent: var(--tdps-palette-silver);
  min-inline-size: 0;
  padding: 0.62rem 0.7rem;
  background: color-mix(in srgb, var(--tdps-metric-accent) 4%, var(--tdps-surface));
  box-shadow: inset 0 2px 0 color-mix(in srgb, var(--tdps-metric-accent) 68%, transparent);
}

.tdps-team__metric:nth-child(2) {
  --tdps-metric-accent: var(--tdps-palette-cyan);
}

.tdps-team__metric:nth-child(2) dd {
  color: var(--tdps-palette-cyan);
}

.tdps-team__metric:nth-child(3) {
  --tdps-metric-accent: var(--tdps-palette-silver);
}

.tdps-team__metric:nth-child(3) dd {
  color: var(--tdps-palette-silver);
}

.tdps-team__metric-secondary {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.45rem;
  margin-block-start: 0.38rem;
  padding-block-start: 0.34rem;
  border-block-start: 1px solid color-mix(in srgb, var(--tdps-metric-accent) 24%, var(--tdps-line));
  color: var(--tdps-ink-muted);
  font-size: 0.58rem;
  font-weight: 700;
  line-height: 1.25;
}

.tdps-team__metric-secondary > :last-child {
  flex: 0 0 auto;
  color: var(--tdps-palette-silver);
  font-variant-numeric: tabular-nums;
  font-weight: 800;
}

.tdps-team__metric-secondary > .tdps-team__metric-wasted-value--nonzero {
  color: var(--tdps-palette-red);
}

:where(.tdps-static-team__metrics, .tdps-team__metrics) dt,
.tdps-team__metric-label {
  margin: 0;
  color: var(--tdps-ink-muted);
  font-size: 0.62rem;
  font-weight: 720;
  letter-spacing: 0.035em;
  line-height: 1.25;
  text-transform: uppercase;
}

[dir="rtl"] :where(.tdps-static-team__metrics, .tdps-team__metrics) dt,
[dir="rtl"] .tdps-team__metric-label {
  letter-spacing: 0;
  text-transform: none;
}

:where(.tdps-static-team__metrics, .tdps-team__metrics) dd,
.tdps-team__metric-value {
  margin: 0.18rem 0 0;
  color: var(--tdps-ink);
  font-size: clamp(0.82rem, 3.6vw, 1.02rem);
  font-variant-numeric: tabular-nums;
  font-weight: 760;
  line-height: 1.25;
}

.tdps-team__metric--dps {
  --tdps-dps-tier-color: var(--tdps-accent);
  --tdps-metric-accent: var(--tdps-dps-tier-color);
}

.tdps-dps-tier--75000-plus {
  --tdps-dps-tier-color: var(--tdps-dps-75000);
}

.tdps-dps-tier--70000-74999 {
  --tdps-dps-tier-color: var(--tdps-dps-70000);
}

.tdps-dps-tier--60000-69999 {
  --tdps-dps-tier-color: var(--tdps-dps-60000);
}

.tdps-dps-tier--50000-59999 {
  --tdps-dps-tier-color: var(--tdps-dps-50000);
}

.tdps-dps-tier--45000-49999 {
  --tdps-dps-tier-color: var(--tdps-dps-45000);
}

.tdps-dps-tier--below-45000 {
  --tdps-dps-tier-color: var(--tdps-ink-muted);
}

.tdps-team__metric--dps dd {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.28rem 0.42rem;
  color: var(--tdps-dps-tier-color);
  font-size: clamp(0.94rem, 3.8vw, 1.12rem);
}

.tdps-team__metric--difficulty {
  --tdps-metric-accent: var(--tdps-difficulty-color);
  --tdps-difficulty-color: hsl(151 55% 68%);
}

.tdps-team__metric--difficulty.tdps-difficulty--mid {
  --tdps-difficulty-color: hsl(42 82% 70%);
}

.tdps-team__metric--difficulty.tdps-difficulty--hard {
  --tdps-difficulty-color: hsl(355 78% 76%);
}

.tdps-team__metric--difficulty.tdps-difficulty--extreme {
  --tdps-difficulty-color: hsl(275 76% 78%);
}

.tdps-team__metric--difficulty dd {
  display: inline-flex;
  align-items: center;
  max-inline-size: 100%;
  gap: 0.25rem;
  padding: 0.2rem 0.42rem;
  border: 1px solid var(--tdps-difficulty-color);
  border-radius: 999px;
  background: color-mix(in srgb, var(--tdps-difficulty-color) 9%, transparent);
  color: var(--tdps-difficulty-color);
  font-size: clamp(0.7rem, 3vw, 0.84rem);
}

html.light .tdps-team__metric--difficulty {
  --tdps-difficulty-color: hsl(151 55% 26%);
}

html.light .tdps-team__metric--difficulty.tdps-difficulty--mid {
  --tdps-difficulty-color: hsl(35 72% 29%);
}

html.light .tdps-team__metric--difficulty.tdps-difficulty--hard {
  --tdps-difficulty-color: hsl(355 64% 38%);
}

html.light .tdps-team__metric--difficulty.tdps-difficulty--extreme {
  --tdps-difficulty-color: hsl(275 58% 38%);
}

.tdps-team__sort-metric {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.25rem 0.6rem;
  min-inline-size: 0;
  margin: 0;
  padding: 0.48rem 0.75rem;
  border-block-end: 1px solid var(--tdps-line);
  background: var(--tdps-accent-soft);
  color: var(--tdps-ink);
  font-size: 0.73rem;
  font-variant-numeric: tabular-nums;
  font-weight: 740;
}

.tdps-team__sort-label {
  color: var(--tdps-ink-muted);
  font-size: 0.63rem;
  font-weight: 720;
}

.tdps-static-team > h3,
.tdps-team__section-title {
  margin: 0;
  padding: 0.7rem 0.75rem 0.42rem;
  color: var(--tdps-ink);
  font-size: 0.76rem;
  line-height: 1.3;
}

.tdps-team__subheading {
  margin: 0;
  padding: 0.68rem 0.75rem 0.4rem;
  color: var(--tdps-ink);
  font-size: 0.76rem;
  line-height: 1.35;
}

.tdps-static-team__builds,
.tdps-team__builds {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 0.5rem;
  margin: 0;
  padding: 0.75rem;
  list-style: none;
}

.tdps-static-team__builds li,
.tdps-team__build {
  min-inline-size: 0;
  min-block-size: 8.15rem;
  padding: 0.68rem 0.35rem;
  border: 1px solid var(--tdps-line);
  border-radius: var(--tdps-radius);
  background: color-mix(in srgb, var(--tdps-palette-navy) 5%, var(--tdps-surface-muted));
  box-shadow: inset 0 1px 0 hsl(var(--foreground) / 0.035);
  color: var(--tdps-ink-muted);
  font-size: 0.71rem;
  line-height: 1.55;
}

.tdps-team__character {
  display: grid;
  place-items: center;
  position: relative;
  align-items: center;
  min-inline-size: 0;
  color: var(--tdps-ink);
  font-weight: 720;
  text-decoration: none;
}

.tdps-team__character-name {
  display: none;
}

.tdps-team__build-details {
  display: grid;
  gap: 0.35rem;
  min-inline-size: 0;
  margin: 0.52rem 0 0;
}

.tdps-team__build-details > div {
  display: grid;
  grid-template-columns: minmax(4.3rem, 0.36fr) minmax(0, 1fr);
  align-items: center;
  gap: 0.45rem;
  min-inline-size: 0;
}

.tdps-team__build-details :where(dt, dd) {
  min-inline-size: 0;
  margin: 0;
}

.tdps-team__build-details dt {
  color: var(--tdps-ink-muted);
  font-size: 0.61rem;
  font-weight: 700;
}

.tdps-team__build-details dd {
  color: var(--tdps-ink);
  font-size: 0.66rem;
}

.tdps-entity dd,
.tdps-rotation-table .tdps-entity {
  display: flex;
  align-items: center;
  min-inline-size: 0;
  gap: 0.38rem;
}

.tdps-entity__image {
  flex: 0 0 auto;
  inline-size: 1.65rem;
  block-size: 1.65rem;
  border: 1px solid var(--tdps-line);
  border-radius: var(--tdps-radius-xs);
  background: var(--tdps-surface-raised);
  object-fit: cover;
}

.tdps-static-team__builds a,
.tdps-team__build a,
.tdps-team__character a {
  color: var(--tdps-ink);
  font-weight: 720;
}

.tdps-static-team__builds a:hover,
.tdps-team__build a:hover,
.tdps-team__character a:hover {
  color: var(--tdps-accent);
}

.tdps-team__body {
  min-inline-size: 0;
}

.tdps-team__composition {
  min-inline-size: 0;
  border-block-end: 1px solid var(--tdps-line);
}

.tdps-team__characters {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 1px;
  min-inline-size: 0;
  margin: 0;
  padding: 0;
  background: var(--tdps-line);
  list-style: none;
}

.tdps-team__characters > li {
  display: grid;
  justify-items: center;
  align-content: start;
  min-inline-size: 0;
  gap: 0.35rem;
  padding: 0.58rem 0.35rem;
  background: var(--tdps-surface);
  color: var(--tdps-ink);
  font-size: 0.67rem;
  line-height: 1.25;
  text-align: center;
}

.tdps-team__portrait,
.tdps-image-fallback {
  display: grid;
  place-items: center;
  inline-size: clamp(2.5rem, 14vw, 3.5rem);
  block-size: clamp(2.5rem, 14vw, 3.5rem);
  border: 1px solid var(--tdps-line-strong);
  border-radius: var(--tdps-radius-sm);
  background: var(--tdps-surface-raised);
  color: var(--tdps-ink-muted);
  object-fit: cover;
}

.tdps-image-fallback {
  font-size: 0.62rem;
  font-weight: 800;
}

.tdps-team__build--lean {
  display: grid;
  grid-template-columns: repeat(2, 2.625rem);
  grid-template-areas:
    "character character"
    "weapon sonata";
  align-content: start;
  align-items: center;
  justify-content: center;
  justify-items: center;
  gap: 0.36rem 0.5rem;
}

.tdps-team__build--lean .tdps-team__character {
  grid-area: character;
}

.tdps-team__equipment--weapon {
  grid-area: weapon;
}

.tdps-team__equipment--sonata {
  grid-area: sonata;
}

.tdps-visual-entity {
  display: grid;
  place-items: center;
  align-items: center;
  min-inline-size: 0;
}

.tdps-visual-entity::before {
  content: attr(data-tdps-visual-fallback);
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  inline-size: 1.75rem;
  block-size: 1.75rem;
  overflow: hidden;
  border: 1px solid hsl(var(--primary) / 0.38);
  border-radius: var(--tdps-radius-xs);
  background-color: var(--tdps-surface-raised);
  box-shadow: 0 5px 12px hsl(220 24% 2% / 0.2), inset 0 1px 0 hsl(var(--foreground) / 0.05);
  color: var(--tdps-ink-muted);
  font-size: 0.52rem;
  font-weight: 820;
  line-height: 1;
}

.tdps-visual-entity--character::before {
  inline-size: 3.5rem;
  block-size: 3.5rem;
  border-radius: var(--tdps-radius-sm);
  font-size: 0.62rem;
}

.tdps-visual-entity--character::after {
  content: attr(data-tdps-sequence);
  position: absolute;
  inset-inline-end: -0.18rem;
  inset-block-end: -0.15rem;
  display: grid;
  place-items: center;
  min-inline-size: 1.3rem;
  min-block-size: 1.3rem;
  padding-inline: 0.18rem;
  border: 1px solid color-mix(in srgb, var(--tdps-palette-warm) 76%, transparent);
  border-radius: 999px;
  background: var(--tdps-surface-raised);
  color: var(--tdps-palette-warm);
  box-shadow: 0 3px 8px hsl(220 24% 2% / 0.24);
  font-size: 0.58rem;
  font-weight: 900;
  line-height: 1;
}

.tdps-visual-entity.has-tdps-visual::before {
  content: "";
  background-image: var(--tdps-visual-image);
  background-position: center;
  background-repeat: no-repeat;
  background-size: cover;
}

.tdps-team__equipment {
  position: relative;
  display: grid;
  place-items: center;
  inline-size: 2.625rem;
  block-size: 2.625rem;
  overflow: visible;
  color: transparent;
  font-size: 0;
  line-height: 0;
}

.tdps-team__equipment::before {
  inline-size: 2.625rem;
  block-size: 2.625rem;
}

.tdps-team__equipment--weapon::after {
  content: attr(data-tdps-refinement);
  position: absolute;
  inset-inline-end: -0.3rem;
  inset-block-end: -0.28rem;
  display: grid;
  place-items: center;
  min-inline-size: 1.2rem;
  min-block-size: 1.15rem;
  padding-inline: 0.28rem;
  border: 1px solid color-mix(in srgb, var(--tdps-palette-warm) 76%, transparent);
  border-radius: 999px;
  background: var(--tdps-surface-raised);
  color: var(--tdps-palette-warm);
  box-shadow: 0 3px 8px hsl(220 24% 2% / 0.24);
  font-size: 0.55rem;
  font-weight: 850;
  line-height: 1;
}

.tdps-team__enhancement {
  min-inline-size: 0;
}

.tdps-team__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.4rem;
  padding: 0.7rem 0.75rem;
  border-block-start: 1px solid var(--tdps-line);
}

.tdps-team__note-preview {
  flex: 1 0 100%;
  margin: 0;
  padding: 0.08rem 0 0.58rem;
  border-block-end: 1px solid var(--tdps-line);
  color: var(--tdps-ink-muted);
  font-size: 0.7rem;
  font-weight: 650;
  line-height: 1.55;
  white-space: pre-line;
}

.tdps-team__note-preview::before {
  content: attr(aria-label);
  display: block;
  margin-block-end: 0.28rem;
  color: var(--tdps-palette-warm);
  font-size: 0.68rem;
  font-weight: 780;
}

.tdps-team__note-more {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: var(--tdps-control-size);
  min-block-size: var(--tdps-control-size);
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  color: var(--tdps-accent);
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
  font-weight: 800;
  line-height: inherit;
  text-decoration: none;
  vertical-align: middle;
  appearance: none;
  transition: color var(--tdps-fast) var(--tdps-ease);
}

.tdps-team__note-more:hover {
  background: transparent;
  color: var(--tdps-accent);
}

.tdps-action,
.tdps-favorite,
.tdps-share,
.tdps-team__actions > :where(button, a) {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: var(--tdps-control-size);
  min-block-size: var(--tdps-control-size);
  gap: 0.38rem;
  padding: 0.55rem 0.68rem;
  border: 1px solid var(--tdps-line-strong);
  border-radius: var(--tdps-radius-sm);
  background: var(--tdps-surface-raised);
  color: var(--tdps-ink);
  cursor: pointer;
  font-size: 0.7rem;
  font-weight: 720;
  line-height: 1.25;
  text-decoration: none;
  transition: background-color var(--tdps-fast) var(--tdps-ease), border-color var(--tdps-fast) var(--tdps-ease), color var(--tdps-fast) var(--tdps-ease), transform var(--tdps-fast) var(--tdps-ease);
}

:where(.tdps-action, .tdps-favorite, .tdps-share, .tdps-team__actions > button, .tdps-team__actions > a):hover:not(:disabled) {
  border-color: hsl(var(--primary) / 0.64);
  background: var(--tdps-accent-soft);
}

:where(.tdps-action, .tdps-favorite, .tdps-share, .tdps-team__actions > button, .tdps-team__actions > a):active:not(:disabled) {
  transform: translateY(1px);
}

.tdps-favorite:is(.is-favorite, [aria-pressed="true"]) {
  border-color: hsl(42 58% 52% / 0.72);
  background: hsl(42 58% 52% / 0.1);
  color: var(--tdps-favorite-text);
}

.tdps-action--study {
  font-weight: 760;
}

.tdps-action--team-details,
.tdps-action--guide {
  border-color: hsl(var(--primary) / 0.62);
  background: var(--tdps-accent-soft);
}

:where(.tdps-main, .tdps-dialog) .aw-btn.aw-btn--primary {
  border-color: var(--tdps-accent);
  background: var(--tdps-accent);
  color: var(--tdps-accent-ink);
  box-shadow: 0 6px 15px hsl(var(--primary) / 0.2);
}

:where(.tdps-main, .tdps-dialog) .aw-btn.aw-btn--outline {
  border-color: hsl(var(--primary) / 0.62);
  background: var(--tdps-accent-soft);
  color: var(--tdps-ink);
}

:where(.tdps-main, .tdps-dialog) .aw-btn:is(.aw-btn--primary, .aw-btn--outline):hover:not(:disabled) {
  border-color: var(--tdps-accent);
  filter: brightness(1.08);
}

/* Keep the main filtering and pagination CTAs visually stable in every
   interaction state. The generic filter/show-more hover treatment is meant
   for secondary controls and must not replace a primary button's fill. */
:where(.tdps-filter-actions, .tdps-show-more) > .aw-btn.aw-btn--primary {
  --aw-btn-bg: var(--tdps-accent);
  --aw-btn-hover-bg: var(--tdps-accent);
  --aw-btn-border: var(--tdps-accent);
  --aw-btn-color: var(--tdps-accent-ink);
}

:where(.tdps-filter-actions, .tdps-show-more) > .aw-btn.aw-btn--primary:is(:hover, :focus-visible, :active):not(:disabled) {
  border-color: var(--tdps-accent);
  background: var(--tdps-accent);
  color: var(--tdps-accent-ink);
  filter: none;
}

.tdps-team__actions .tdps-action--guide,
.tdps-static-team__study,
.tdps-team__study {
  border-color: color-mix(in srgb, var(--tdps-palette-blue) 72%, var(--tdps-line));
  background: color-mix(in srgb, var(--tdps-palette-blue) 10%, var(--tdps-surface-raised));
  color: var(--tdps-palette-blue-button-text);
}

.tdps-team__actions .tdps-action--share {
  border-color: color-mix(in srgb, var(--tdps-palette-warm) 72%, var(--tdps-line));
  background: color-mix(in srgb, var(--tdps-palette-warm) 10%, var(--tdps-surface-raised));
  color: var(--tdps-palette-warm-button-text);
}

.tdps-team__actions .tdps-favorite:not(.is-favorite):not([aria-pressed="true"]) {
  border-color: color-mix(in srgb, var(--tdps-palette-warm) 58%, var(--tdps-line));
  background: color-mix(in srgb, var(--tdps-palette-warm) 7%, var(--tdps-surface-raised));
  color: var(--tdps-palette-warm-button-text);
}

:where(.tdps-team__actions .tdps-action--guide, .tdps-static-team__study, .tdps-team__study):hover:not(:disabled) {
  border-color: var(--tdps-palette-blue);
  background: color-mix(in srgb, var(--tdps-palette-blue) 17%, var(--tdps-surface-raised));
}

.tdps-team__actions .tdps-action--share:hover:not(:disabled),
.tdps-team__actions .tdps-favorite:hover:not(:disabled) {
  border-color: var(--tdps-palette-warm);
  background: color-mix(in srgb, var(--tdps-palette-warm) 10%, var(--tdps-surface-raised));
}

.tdps-action--team-details::before {
  content: "▦";
}

.tdps-action--guide::before {
  content: "▶";
  font-size: 0.72em;
}

.tdps-action--share::before {
  content: "↗";
  font-weight: 900;
}

.tdps-action--study::before {
  content: "↗";
  font-weight: 900;
}

.tdps-favorite:is(.is-favorite, [aria-pressed="true"])::before {
  content: "★";
  flex: 0 0 auto;
}

.tdps-favorite:not(.is-favorite):not([aria-pressed="true"])::before {
  content: "☆";
  flex: 0 0 auto;
}

.tdps-team__actions :disabled,
.tdps-action:disabled,
.tdps-favorite:disabled,
.tdps-share:disabled {
  cursor: not-allowed;
  opacity: 0.5;
}

/* Notes, rotation disclosures, and dense data */
.tdps-note,
.tdps-rotations {
  min-inline-size: 0;
  border-block-start: 1px solid var(--tdps-line);
}

.tdps-rotations {
  padding: 0.6rem;
  background: var(--tdps-surface-muted);
}

.tdps-rotations > .tdps-team__subheading {
  padding: 0 0 0.45rem;
  font-size: 0.82rem;
}

.tdps-note--empty {
  border-block-start: 1px solid var(--tdps-line);
}

.tdps-note__empty {
  min-block-size: var(--tdps-control-size);
  margin: 0;
  padding: 0.7rem 0.75rem;
  color: var(--tdps-ink-muted);
  font-size: 0.72rem;
  font-style: italic;
  line-height: 1.45;
}

.tdps-disclosure,
.tdps-rotation {
  min-inline-size: 0;
  border-block-start: 1px solid var(--tdps-line);
}

.tdps-rotation {
  --tdps-rotation-accent: var(--tdps-palette-cyan);
  --tdps-rotation-text: var(--tdps-palette-cyan);
}

.tdps-rotation[data-rotation-index="2"] {
  --tdps-rotation-accent: var(--tdps-palette-blue);
  --tdps-rotation-text: var(--tdps-palette-blue-text);
}

.tdps-rotation[data-rotation-index="3"] {
  --tdps-rotation-accent: var(--tdps-palette-warm);
  --tdps-rotation-text: var(--tdps-palette-warm);
}

.tdps-rotations > .tdps-rotation {
  overflow: hidden;
  border: 1px solid var(--tdps-line);
  border-radius: var(--tdps-radius);
  background: color-mix(in srgb, var(--tdps-rotation-accent) 4%, var(--tdps-surface));
  box-shadow: inset 0 1px 0 hsl(var(--foreground) / 0.025);
}

.tdps-rotations > .tdps-rotation + .tdps-rotation {
  margin-block-start: 0.4rem;
}

:where(.tdps-note, .tdps-rotations) > :first-child,
.tdps-team__actions + :where(.tdps-disclosure, .tdps-rotation) {
  border-block-start: 0;
}

.tdps-disclosure__button,
.tdps-disclosure > summary,
.tdps-rotation > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  inline-size: 100%;
  min-block-size: var(--tdps-control-size);
  gap: 0.6rem;
  padding: 0.6rem 0.75rem;
  border: 0;
  background: transparent;
  color: var(--tdps-ink);
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 730;
  line-height: 1.35;
  list-style: none;
  text-align: start;
}

:where(.tdps-disclosure > summary, .tdps-rotation > summary)::-webkit-details-marker {
  display: none;
}

:where(.tdps-disclosure__button, .tdps-disclosure > summary, .tdps-rotation > summary)::after {
  content: "+";
  display: grid;
  place-items: center;
  inline-size: 1.75rem;
  block-size: 1.75rem;
  border: 1px solid var(--tdps-line-strong);
  border-radius: 50%;
  color: var(--tdps-ink-muted);
  font-size: 1rem;
  font-weight: 500;
  line-height: 1;
}

:where(.tdps-disclosure__button[aria-expanded="true"], .tdps-disclosure[open] > summary, .tdps-rotation[open] > summary)::after {
  content: "−";
  border-color: hsl(var(--primary) / 0.64);
  color: var(--tdps-accent);
}

.tdps-rotation .tdps-disclosure__button[aria-expanded="true"]::after {
  border-color: color-mix(in srgb, var(--tdps-rotation-accent) 72%, var(--tdps-line));
  color: var(--tdps-rotation-text);
}

:where(.tdps-disclosure__button, .tdps-disclosure > summary, .tdps-rotation > summary):hover {
  background: var(--tdps-accent-soft);
}

.tdps-rotation .tdps-disclosure__button:hover {
  background: color-mix(in srgb, var(--tdps-rotation-accent) 11%, transparent);
}

.tdps-rotation__heading,
.tdps-rotation__summary {
  display: grid;
  grid-template-columns: minmax(8.5rem, 0.32fr) minmax(0, 1fr);
  align-items: stretch;
  min-inline-size: 0;
  border-block-end: 1px solid var(--tdps-line);
  box-shadow: inset 0 2px 0 color-mix(in srgb, var(--tdps-rotation-accent) 64%, transparent);
}

:where(.tdps-rotation__heading, .tdps-rotation__summary) > .tdps-disclosure__button {
  border-inline-end: 1px solid var(--tdps-line);
  background: var(--tdps-surface-raised);
}

.tdps-rotation__sort-source {
  display: inline-flex;
  align-items: center;
  min-block-size: 2rem;
  margin: 0.45rem 0.65rem 0;
  padding: 0.3rem 0.48rem;
  border: 1px solid color-mix(in srgb, var(--tdps-rotation-accent) 68%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--tdps-rotation-accent) 11%, transparent);
  color: var(--tdps-rotation-text);
  font-size: 0.62rem;
  font-weight: 780;
  line-height: 1.25;
}

.tdps-disclosure__panel,
.tdps-rotation__panel {
  min-inline-size: 0;
  padding: 0.7rem 0.75rem 0.8rem;
  border-block-start: 1px solid var(--tdps-line);
  color: var(--tdps-ink-muted);
  font-size: 0.75rem;
  line-height: 1.58;
}

.tdps-disclosure__panel > :first-child,
.tdps-rotation__panel > :first-child {
  margin-block-start: 0;
}

.tdps-disclosure__panel > :last-child,
.tdps-rotation__panel > :last-child {
  margin-block-end: 0;
}

.tdps-rotation__metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1px;
  min-inline-size: 0;
  margin: 0;
  padding: 0;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  border: 0;
  border-radius: 0;
  overflow: hidden;
  background: var(--tdps-line);
}

.tdps-rotation__metrics > * {
  min-inline-size: 0;
  padding: 0.5rem;
  background: var(--tdps-surface);
  font-variant-numeric: tabular-nums;
}

.tdps-rotation__metrics :where(dt, dd) {
  min-inline-size: 0;
  margin: 0;
}

.tdps-rotation__metrics dt {
  color: var(--tdps-ink-muted);
  font-size: 0.58rem;
  font-weight: 720;
  line-height: 1.2;
}

.tdps-rotation__metrics dd {
  margin-block-start: 0.12rem;
  color: var(--tdps-ink);
  font-size: 0.72rem;
  font-weight: 750;
  line-height: 1.2;
}

.tdps-rotation__metrics > :first-child dd {
  color: var(--tdps-rotation-text);
  font-size: 0.8rem;
  font-weight: 850;
}

.tdps-rotation.is-sort-source,
.tdps-rotation[data-used-for-sort="true"] {
  border-inline-start: 3px solid var(--tdps-rotation-accent);
}

.tdps-table-wrap {
  position: relative;
  max-inline-size: 100%;
  margin-block-start: 0.65rem;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  border: 1px solid var(--tdps-line);
  border-radius: var(--tdps-radius-sm);
  background: var(--tdps-surface);
  scrollbar-color: hsl(var(--muted)) transparent;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
}

.tdps-table-wrap:is(.is-scrollable, .is-overflowing, [data-overflowing="true"])::after {
  content: "⇆";
  position: sticky;
  inset-inline-end: 0.45rem;
  inset-block-end: 0.35rem;
  float: inline-end;
  display: grid;
  place-items: center;
  inline-size: 2rem;
  block-size: 2rem;
  margin-block-start: -2.35rem;
  border: 1px solid var(--tdps-line-strong);
  border-radius: 50%;
  background: var(--tdps-surface-raised);
  color: var(--tdps-ink);
  font-size: 0.9rem;
  pointer-events: none;
}

.tdps-rotation-table {
  inline-size: 100%;
  min-inline-size: 46rem;
  border-collapse: collapse;
  color: var(--tdps-ink);
  font-size: 0.69rem;
  line-height: 1.4;
}

.tdps-rotation-table caption {
  padding: 0.58rem 0.65rem;
  border-block-end: 1px solid var(--tdps-line);
  color: var(--tdps-ink-muted);
  font-size: 0.67rem;
  font-weight: 680;
  text-align: start;
}

.tdps-rotation-table :where(th, td) {
  padding: 0.55rem 0.62rem;
  border-block-end: 1px solid var(--tdps-line);
  text-align: center;
  vertical-align: middle;
}

.tdps-rotation-table tr > :first-child {
  text-align: start;
}

.tdps-rotation-table thead th {
  position: sticky;
  inset-block-start: 0;
  z-index: 1;
  background: var(--tdps-surface-raised);
  color: var(--tdps-ink-muted);
  font-size: 0.62rem;
  font-weight: 800;
  letter-spacing: 0.025em;
  text-transform: uppercase;
}

[dir="rtl"] .tdps-rotation-table thead th {
  letter-spacing: 0;
  text-transform: none;
}

.tdps-rotation-table tbody tr:nth-child(even) {
  background: var(--tdps-surface-quiet);
}

.tdps-rotation-table tbody tr:last-child :where(th, td) {
  border-block-end: 0;
}

.tdps-rotation-table tbody tr:hover {
  background: var(--tdps-accent-soft);
}

.tdps-rotation-table tbody tr.is-personal-highlight,
.tdps-rotation-table tbody tr[data-personal-highlight="true"] {
  border-inline-start: 3px solid var(--tdps-rotation-accent, var(--tdps-accent));
  background: color-mix(in srgb, var(--tdps-rotation-accent, var(--tdps-accent)) 11%, transparent);
}

.tdps-rotation-table__character {
  min-inline-size: 9rem;
  color: var(--tdps-ink);
}

.tdps-rotation-table__character .tdps-entity__image {
  inline-size: 1.9rem;
  block-size: 1.9rem;
}

.tdps-rotation-table__build ul {
  min-inline-size: 10rem;
  margin: 0;
  padding: 0;
  color: var(--tdps-ink-muted);
  list-style: none;
}

.tdps-rotation-table__build li + li {
  margin-block-start: 0.16rem;
}

.tdps-rotation-table :where([data-numeric], .tdps-number) {
  direction: ltr;
  font-variant-numeric: tabular-nums;
  text-align: center;
  unicode-bidi: isolate;
  white-space: nowrap;
}

@media (max-width: 37.499rem) {
  .tdps-rotation__heading,
  .tdps-rotation__summary {
    grid-template-columns: minmax(0, 1fr);
  }

  :where(.tdps-rotation__heading, .tdps-rotation__summary) > .tdps-disclosure__button {
    border-inline-end: 0;
    border-block-end: 1px solid var(--tdps-line);
  }

  .tdps-rotation__metrics {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* Personal Top 5 */
.tdps-personal-tabs {
  display: flex;
  flex-wrap: wrap;
  gap: 0.25rem;
  max-inline-size: 100%;
  margin-block-end: 0.65rem;
  padding: 0.22rem;
  border: 1px solid var(--tdps-line);
  border-radius: var(--tdps-radius);
  background: var(--tdps-surface-quiet);
}

.tdps-personal-tabs [role="tab"] {
  --tdps-tab-accent: var(--tdps-palette-cyan);
  --tdps-tab-text: var(--tdps-palette-cyan);
  min-inline-size: var(--tdps-control-size);
  min-block-size: var(--tdps-control-size);
  padding: 0.55rem 0.75rem;
  border: 1px solid var(--tdps-line);
  border-radius: var(--tdps-radius-sm);
  background: var(--tdps-surface-raised);
  color: var(--tdps-ink);
  cursor: pointer;
  font-size: 0.75rem;
  font-weight: 720;
}

.tdps-personal-tabs [data-tdps-personal-tab="2"] {
  --tdps-tab-accent: var(--tdps-palette-blue);
  --tdps-tab-text: var(--tdps-palette-blue-text);
}

.tdps-personal-tabs [data-tdps-personal-tab="3"] {
  --tdps-tab-accent: var(--tdps-palette-warm);
  --tdps-tab-text: var(--tdps-palette-warm);
}

.tdps-personal-tabs [role="tab"][aria-selected="true"] {
  border-color: var(--tdps-tab-accent);
  background: var(--tdps-tab-accent);
  box-shadow: 0 5px 14px color-mix(in srgb, var(--tdps-tab-accent) 24%, transparent);
  color: var(--tdps-palette-active-ink);
}

.tdps-personal-tabs [role="tab"]:hover:not([aria-selected="true"]) {
  border-color: color-mix(in srgb, var(--tdps-tab-accent) 72%, var(--tdps-line));
  background: color-mix(in srgb, var(--tdps-tab-accent) 12%, var(--tdps-surface-raised));
  color: var(--tdps-tab-text);
}

.tdps-personal-panel {
  --tdps-personal-accent: var(--tdps-palette-warm);
  min-inline-size: 0;
}

.tdps-personal-panel > [role="status"] {
  margin: 0 0 0.55rem;
  color: var(--tdps-ink-muted);
  font-size: 0.72rem;
}

.tdps-personal-list {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0.55rem;
  min-inline-size: 0;
  margin: 0;
  padding: 0;
  list-style: none;
}

.tdps-personal-list > li,
.tdps-personal__card {
  --tdps-personal-accent: var(--tdps-palette-warm);
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  min-inline-size: 0;
  min-block-size: 4.2rem;
  gap: 0.6rem;
  padding: 0.62rem;
  border: 1px solid color-mix(in srgb, var(--tdps-personal-accent) 54%, var(--tdps-line));
  border-radius: var(--tdps-radius);
  background: color-mix(in srgb, var(--tdps-personal-accent) 6%, var(--tdps-surface-muted));
}

.tdps-personal__portrait {
  inline-size: 3rem;
  block-size: 3rem;
  border: 1px solid color-mix(in srgb, var(--tdps-personal-accent) 78%, var(--tdps-line-strong));
  border-radius: var(--tdps-radius-sm);
  background: var(--tdps-surface-raised);
  object-fit: cover;
}

.tdps-personal__content {
  display: grid;
  min-inline-size: 0;
  gap: 0.18rem;
}

.tdps-personal-list > li > :where(button, a),
.tdps-personal__jump {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  min-inline-size: 0;
  min-block-size: var(--tdps-control-size);
  gap: 0.5rem;
  padding: 0.45rem;
  border: 0;
  background: transparent;
  color: var(--tdps-ink);
  cursor: pointer;
  font-size: 0.73rem;
  font-weight: 700;
  text-align: start;
  text-decoration: none;
}

.tdps-personal__jump {
  display: inline-flex;
  grid-template-columns: none;
  justify-content: center;
  inline-size: fit-content;
  padding-inline: 0.58rem;
  border: 1px solid color-mix(in srgb, var(--tdps-personal-accent) 68%, var(--tdps-line-strong));
  border-radius: var(--tdps-radius-sm);
  background: color-mix(in srgb, var(--tdps-personal-accent) 8%, var(--tdps-surface));
}

.tdps-personal-list > li:hover,
.tdps-personal__card:hover {
  border-color: var(--tdps-personal-accent);
  background: color-mix(in srgb, var(--tdps-personal-accent) 12%, var(--tdps-surface-muted));
}

/* Favorite panel states remain useful before or without account data. */
.tdps-results-panel > :where([data-tdps-favorites-sign-in], [data-tdps-favorites-retry]) {
  min-block-size: var(--tdps-control-size);
  margin-block: 0 0.6rem;
  margin-inline: 0 0.4rem;
  padding: 0.55rem 0.78rem;
  border: 1px solid var(--tdps-line-strong);
  border-radius: var(--tdps-radius-sm);
  background: var(--tdps-surface-raised);
  color: var(--tdps-ink);
  cursor: pointer;
  font-size: 0.74rem;
  font-weight: 720;
}

/* Long-form reference sections stay flat and readable. */
.tdps-disclaimer,
.tdps-guide,
.tdps-understanding,
.tdps-methodology,
.tdps-tune-break {
  --tdps-section-accent: var(--tdps-palette-cyan);
  --tdps-section-label: var(--tdps-palette-cyan);
  min-inline-size: 0;
  margin-block-start: clamp(1.35rem, 4vw, 2.35rem);
  padding: clamp(0.9rem, 2.5vw, 1.35rem);
  border: 1px solid var(--tdps-line);
  border-block-start: 2px solid var(--tdps-section-accent);
  border-radius: var(--tdps-radius-lg);
  background:
    linear-gradient(110deg, color-mix(in srgb, var(--tdps-section-accent) 6%, transparent), transparent 54%),
    var(--tdps-surface);
}

.tdps-disclaimer {
  --tdps-section-accent: var(--tdps-palette-red);
  --tdps-section-label: var(--tdps-palette-ivory);
  border-inline-start: 3px solid var(--tdps-section-accent);
}

.tdps-guide {
  --tdps-section-accent: var(--tdps-palette-blue);
  --tdps-section-label: var(--tdps-palette-blue-text);
}

.tdps-understanding {
  --tdps-section-accent: var(--tdps-palette-silver);
  --tdps-section-label: var(--tdps-palette-silver);
}

.tdps-methodology {
  --tdps-section-accent: var(--tdps-palette-cyan);
  --tdps-section-label: var(--tdps-palette-cyan);
}

.tdps-tune-break {
  --tdps-section-accent: var(--tdps-palette-warm);
  --tdps-section-label: var(--tdps-palette-warm);
  border-inline-start: 3px solid var(--tdps-section-accent);
}

:where(.tdps-disclaimer, .tdps-guide, .tdps-understanding, .tdps-methodology, .tdps-tune-break) .tdps-section-kicker {
  color: var(--tdps-section-label);
}

.tdps-readable {
  color: var(--tdps-ink-muted);
  font-size: clamp(0.78rem, 1.5vw, 0.86rem);
  line-height: 1.7;
}

.tdps-readable > :where(h2, h3),
.tdps-guide :where(h2, h3) {
  color: var(--tdps-ink);
}

.tdps-readable > h2,
.tdps-guide .tdps-section-head h2 {
  margin: 0;
  font-size: clamp(1.05rem, 3.4vw, 1.42rem);
  line-height: 1.3;
}

.tdps-readable > h3 {
  margin: 1rem 0 0.28rem;
  font-size: 0.9rem;
  line-height: 1.35;
}

.tdps-readable > p {
  max-inline-size: 88ch;
  margin: 0.6rem 0 0;
}

.tdps-readable :where(ul, ol) {
  max-inline-size: 92ch;
  margin: 0.55rem 0 0;
  padding-inline-start: 1.25rem;
}

.tdps-readable li + li {
  margin-block-start: 0.3rem;
}

.tdps-readable strong {
  color: var(--tdps-ink);
}

.tdps-readable a,
.tdps-discord-link {
  color: var(--tdps-accent);
  font-weight: 680;
  text-decoration: underline;
  text-decoration-color: hsl(var(--primary) / 0.5);
  text-underline-offset: 0.18em;
}

.tdps-readable a:hover,
.tdps-discord-link:hover {
  text-decoration-color: currentColor;
}

.tdps-guide-section {
  min-inline-size: 0;
  border-block-start: 1px solid var(--tdps-line);
}

.tdps-guide-section:last-child {
  border-block-end: 1px solid var(--tdps-line);
}

.tdps-guide-section > summary {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  min-block-size: var(--tdps-control-size);
  gap: 0.6rem;
  padding: 0.65rem 0.1rem;
  color: var(--tdps-ink);
  cursor: pointer;
  font-size: 0.8rem;
  font-weight: 740;
  line-height: 1.35;
  list-style: none;
}

.tdps-guide-section > summary::-webkit-details-marker {
  display: none;
}

.tdps-guide-section > summary::after {
  content: "+";
  display: grid;
  place-items: center;
  inline-size: 1.75rem;
  block-size: 1.75rem;
  border: 1px solid var(--tdps-line-strong);
  border-radius: 50%;
  color: var(--tdps-ink-muted);
  font-size: 1rem;
  font-weight: 500;
}

.tdps-guide-section[open] > summary::after {
  content: "−";
  border-color: hsl(var(--primary) / 0.64);
  color: var(--tdps-accent);
}

.tdps-guide-section > .tdps-readable {
  padding-block: 0.1rem 0.9rem;
}

.tdps-definition-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 0;
  margin-block-start: 0.9rem;
  border-block: 1px solid var(--tdps-line);
}

.tdps-definition-grid > div {
  min-inline-size: 0;
  padding-block: 0.85rem;
}

.tdps-definition-grid > div + div {
  border-block-start: 1px solid var(--tdps-line);
}

.tdps-definition-grid h3 {
  margin: 0 0 0.5rem;
  color: var(--tdps-ink);
  font-size: 0.86rem;
  line-height: 1.35;
}

.tdps-definition-grid dl {
  display: grid;
  grid-template-columns: minmax(6rem, 0.38fr) minmax(0, 1fr);
  gap: 0.45rem 0.7rem;
  margin: 0;
}

.tdps-definition-grid dt {
  color: var(--tdps-ink);
  font-size: 0.7rem;
  font-weight: 740;
}

.tdps-definition-grid dd {
  min-inline-size: 0;
  margin: 0;
  color: var(--tdps-ink-muted);
  font-size: 0.71rem;
  line-height: 1.48;
}

/* Loading, empty, offline, and retry surfaces */
.tdps-state,
.tdps-empty,
.tdps-error {
  display: grid;
  justify-items: center;
  min-block-size: 12rem;
  padding: 1.35rem;
  border: 1px dashed var(--tdps-line-strong);
  border-radius: var(--tdps-radius-lg);
  background: var(--tdps-surface-quiet);
  color: var(--tdps-ink-muted);
  text-align: center;
}

.tdps-state::before,
.tdps-empty::before,
.tdps-error::before {
  content: "—";
  display: grid;
  place-items: center;
  inline-size: 2.6rem;
  block-size: 2.6rem;
  border: 1px solid var(--tdps-line-strong);
  border-radius: 50%;
  color: var(--tdps-ink-muted);
  font-size: 1.1rem;
  font-weight: 800;
}

.tdps-error::before,
.tdps-status--error::before {
  content: "!";
  border-color: hsl(var(--destructive) / 0.68);
  color: var(--tdps-danger-text);
}

.tdps-state :where(h2, h3, p),
.tdps-empty :where(h2, h3, p),
.tdps-error :where(h2, h3, p) {
  margin: 0;
}

.tdps-state :where(h2, h3),
.tdps-empty :where(h2, h3),
.tdps-error :where(h2, h3) {
  color: var(--tdps-ink);
  font-size: 0.95rem;
}

.tdps-skeleton,
.tdps-team.is-loading {
  min-block-size: 15rem;
  border-color: var(--tdps-line);
  background: var(--tdps-surface-muted);
  animation: tdps-loading 1.2s ease-in-out infinite alternate;
}

@keyframes tdps-loading {
  from { opacity: 0.58; }
  to { opacity: 1; }
}

/* Dialogs are outside main, so every selector remains route-prefixed. */
.tdps-dialog-backdrop {
  position: fixed;
  z-index: 520;
  inset: 0;
  background: hsl(220 20% 3% / 0.76);
  backdrop-filter: blur(3px);
}

html.light .tdps-dialog-backdrop {
  background: hsl(210 20% 15% / 0.48);
}

.tdps-dialog {
  position: fixed;
  z-index: 521;
  inset: 0;
  display: grid;
  place-items: center;
  min-inline-size: 0;
  padding-block: max(0.75rem, env(safe-area-inset-top)) max(0.75rem, env(safe-area-inset-bottom));
  padding-inline: var(--tdps-safe-inline);
  overflow: auto;
  overscroll-behavior: contain;
  color: var(--tdps-ink);
}

.tdps-dialog__panel,
.tdps-dialog__surface {
  display: flex;
  flex-direction: column;
  inline-size: min(100%, 64rem);
  max-block-size: min(52rem, calc(100dvh - 1.5rem - env(safe-area-inset-top) - env(safe-area-inset-bottom)));
  overflow: hidden;
  border: 1px solid var(--tdps-line-strong);
  border-radius: var(--tdps-radius-lg);
  background: hsl(var(--popover));
  box-shadow: var(--tdps-shadow-dialog);
  color: hsl(var(--popover-foreground));
}

.tdps-dialog--share .tdps-dialog__panel {
  inline-size: min(100%, 64rem);
}

.tdps-dialog__header {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
  gap: 0.75rem;
  flex: 0 0 auto;
  min-inline-size: 0;
  padding: 0.85rem;
  border-block-end: 1px solid var(--tdps-line);
  background: var(--tdps-surface-raised);
}

.tdps-dialog__header :where(h2, p) {
  margin: 0;
}

.tdps-dialog__header h2 {
  color: var(--tdps-ink);
  font-size: clamp(1rem, 4vw, 1.35rem);
  line-height: 1.25;
}

.tdps-dialog__header p:not(.tdps-dialog__eyebrow) {
  margin-block-start: 0.2rem;
  color: var(--tdps-ink-muted);
  font-size: 0.71rem;
  line-height: 1.4;
}

.tdps-dialog__header > button,
.tdps-dialog__close {
  min-inline-size: var(--tdps-control-size);
  min-block-size: var(--tdps-control-size);
  padding: 0.5rem 0.65rem;
  border: 1px solid var(--tdps-line-strong);
  border-radius: var(--tdps-radius-sm);
  background: var(--tdps-surface);
  color: var(--tdps-ink);
  cursor: pointer;
  font-size: 0.72rem;
  font-weight: 720;
}

.tdps-dialog__header > button:hover,
.tdps-dialog__close:hover {
  border-color: hsl(var(--primary) / 0.62);
  background: var(--tdps-accent-soft);
}

.tdps-dialog__status {
  flex: 0 0 auto;
  min-block-size: 0;
  margin: 0;
  padding: 0.55rem 0.85rem;
  border-block-end: 1px solid var(--tdps-line);
  color: var(--tdps-ink-muted);
  font-size: 0.71rem;
  line-height: 1.4;
}

.tdps-dialog__status:empty {
  display: none;
}

.tdps-dialog__body {
  flex: 1 1 auto;
  min-inline-size: 0;
  min-block-size: 0;
  padding: 0.85rem;
  overflow: auto;
  overscroll-behavior: contain;
  scrollbar-color: hsl(var(--muted)) transparent;
  scrollbar-width: thin;
}

.tdps-dialog__actions {
  display: flex;
  flex: 0 0 auto;
  flex-wrap: wrap;
  align-items: center;
  justify-content: end;
  gap: 0.45rem;
  padding: 0.75rem 0.85rem max(0.75rem, env(safe-area-inset-bottom));
  border-block-start: 1px solid var(--tdps-line);
  background: var(--tdps-surface-raised);
}

.tdps-dialog__actions button {
  min-block-size: var(--tdps-control-size);
  padding: 0.55rem 0.78rem;
  border: 1px solid var(--tdps-line-strong);
  border-radius: var(--tdps-radius-sm);
  background: var(--tdps-surface);
  color: var(--tdps-ink);
  cursor: pointer;
  font-size: 0.73rem;
  font-weight: 720;
}

.tdps-dialog__actions button:last-child:not(:disabled) {
  border-color: hsl(var(--primary) / 0.64);
  background: var(--tdps-accent);
  color: var(--tdps-accent-ink);
}

.tdps-dialog__actions button:disabled {
  cursor: not-allowed;
  opacity: 0.48;
}

.tdps-dialog__preview {
  display: grid;
  place-items: center;
  min-block-size: min(24rem, 48vh);
  margin: 0.85rem;
  padding: 0.7rem;
  overflow: auto;
  border: 1px dashed var(--tdps-line-strong);
  border-radius: var(--tdps-radius);
  background: var(--tdps-surface-quiet);
}

.tdps-dialog__preview:empty::before {
  content: "Preview";
  color: var(--tdps-ink-muted);
  font-size: 0.75rem;
}

[lang="ar"] .tdps-dialog__preview:empty::before {
  content: "المعاينة";
}

.tdps-dialog__preview :where(canvas, img) {
  display: block;
  max-inline-size: 100%;
  block-size: auto;
  border: 1px solid var(--tdps-line);
}

.tdps-share-preview__part {
  display: grid;
  justify-items: center;
  inline-size: 100%;
  min-inline-size: 0;
  margin: 0;
  gap: 0.6rem;
}

.tdps-guide__section {
  min-inline-size: 0;
  padding-block: 0.75rem;
  border-block-start: 1px solid var(--tdps-line);
}

.tdps-guide__section:first-child {
  padding-block-start: 0;
  border-block-start: 0;
}

.tdps-guide__section :where(h3, p, ol, ul) {
  margin-block-start: 0;
}

.tdps-guide__note {
  padding: 0.6rem 0.7rem;
  border-inline-start: 3px solid var(--tdps-accent);
  background: var(--tdps-accent-soft);
  color: var(--tdps-ink-muted);
  font-size: 0.75rem;
  line-height: 1.55;
}

.tdps-guide__entries {
  margin: 0;
  padding: 0;
  list-style: none;
  counter-reset: tdps-guide-step;
}

.tdps-guide__entry {
  counter-increment: tdps-guide-step;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  min-inline-size: 0;
  gap: 0.55rem;
  padding: 0.5rem 0;
  border-block-start: 1px solid var(--tdps-line);
  color: var(--tdps-ink-muted);
  font-size: 0.76rem;
  line-height: 1.52;
}

.tdps-guide__entry::before {
  content: counter(tdps-guide-step);
  display: grid;
  place-items: center;
  inline-size: 1.65rem;
  block-size: 1.65rem;
  border: 1px solid var(--tdps-line-strong);
  border-radius: 50%;
  color: var(--tdps-accent);
  font-size: 0.66rem;
  font-weight: 800;
}

.tdps-guide__entry :where(h4, p) {
  min-inline-size: 0;
  margin: 0;
}

.tdps-guide__character-chip {
  display: flex;
  align-items: center;
  min-inline-size: 0;
  gap: 0.5rem;
}

.tdps-guide__portrait {
  flex: 0 0 2rem;
  inline-size: 2rem;
  block-size: 2rem;
  border: 1px solid var(--tdps-line);
  border-radius: 50%;
  background: var(--tdps-surface-muted);
  object-fit: cover;
}

.tdps-guide__character {
  color: var(--tdps-ink);
  font-size: 0.75rem;
  line-height: 1.35;
}

.tdps-guide__entry p {
  grid-column: 2;
  color: var(--tdps-ink-muted);
}

/* Compact action feedback never shifts page layout. */
body[data-team-dps-language] .aw-toast-region {
  position: fixed;
  z-index: 600;
  inset-inline: var(--tdps-safe-inline);
  inset-block-end: max(0.75rem, env(safe-area-inset-bottom));
  display: grid;
  justify-items: center;
  gap: 0.45rem;
  pointer-events: none;
}

.tdps-toast,
body[data-team-dps-language] .aw-toast {
  inline-size: min(100%, 24rem);
  padding: 0.68rem 0.8rem;
  border: 1px solid var(--tdps-line-strong);
  border-inline-start: 3px solid var(--tdps-accent);
  border-radius: var(--tdps-radius);
  background: hsl(var(--popover));
  box-shadow: var(--tdps-shadow);
  color: hsl(var(--popover-foreground));
  font-size: 0.75rem;
  line-height: 1.42;
  pointer-events: auto;
}

body[data-team-dps-language] > .tdps-toast {
  position: fixed;
  z-index: 600;
  inset-inline: var(--tdps-safe-inline);
  inset-block-end: max(0.75rem, env(safe-area-inset-bottom));
  margin-inline: auto;
}

.tdps-toast--success,
body[data-team-dps-language] .aw-toast[data-type="success"] {
  border-inline-start-color: var(--tdps-success);
}

.tdps-toast--error,
body[data-team-dps-language] .aw-toast[data-type="error"] {
  border-inline-start-color: var(--tdps-danger);
}

.tdps-toast--warning,
body[data-team-dps-language] .aw-toast[data-type="warning"] {
  border-inline-start-color: var(--tdps-warning);
}

/* Strong, consistent focus and disabled affordances. */
.tdps-main :focus-visible,
.tdps-dialog :focus-visible,
.tdps-toast :focus-visible {
  outline: 2px solid hsl(var(--ring));
  outline-offset: 2px;
}

.tdps-primary-sort__option:focus-visible {
  outline-color: var(--tdps-primary-sort-accent);
}

.tdps-main :where(input, select):focus-visible {
  outline: 0;
  box-shadow: 0 0 0 3px hsl(var(--ring) / 0.22);
}

.tdps-main [data-requires-js]:disabled {
  cursor: not-allowed;
  opacity: 0.52;
}

/* Fully designed light treatment retains surface separation without glare. */
html.light :where(.tdps-hero, .tdps-controls, .tdps-static-team, .tdps-team, .tdps-disclaimer, .tdps-guide, .tdps-understanding, .tdps-methodology, .tdps-tune-break) {
  box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.28), var(--tdps-shadow);
}

html.light .tdps-dialog__panel {
  box-shadow: inset 0 1px 0 hsl(0 0% 100% / 0.36), var(--tdps-shadow-dialog);
}

html.light .tdps-ranking-warning {
  background: color-mix(in srgb, var(--tdps-palette-red) 8%, var(--tdps-surface-quiet));
}

html.light .tdps-beta-notice {
  background: color-mix(in srgb, var(--tdps-palette-red) 7%, var(--tdps-surface-quiet));
}

html.light .tdps-disclaimer {
  --tdps-section-label: var(--tdps-palette-red);
}

html.light .tdps-rotation-table tbody tr:nth-child(even) {
  background: hsl(var(--secondary) / 0.34);
}

/* Arabic parity and mixed-direction safety. */
[dir="rtl"] .tdps-main,
[dir="rtl"] .tdps-dialog {
  text-align: start;
}

[dir="rtl"] .tdps-readable :where(ul, ol) {
  padding-inline-start: 1.25rem;
}

[dir="rtl"] .tdps-team__actions,
[dir="rtl"] .tdps-dialog__actions {
  direction: rtl;
}

[lang="ar"] :where(.tdps-main, .tdps-dialog) {
  line-height: 1.65;
}

[lang="ar"] :where(.tdps-team__title, .tdps-static-team__title, .tdps-dialog__header h2) {
  line-height: 1.42;
}

/* Responsive layout: narrow mobile is the baseline. */
@media (min-width: 30rem) {
  .tdps-hero__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tdps-static-team__metrics,
  .tdps-team__metrics {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (min-width: 37.5rem) {
  .tdps-main {
    padding-block-start: 1rem;
    padding-inline: clamp(1rem, 2.2vw, 2rem);
  }

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

  .tdps-filter-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tdps-personal-list,
  .tdps-personal-damage__list,
  .tdps-personal__list {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

}

@media (min-width: 47.5rem) {
  .tdps-hero {
    grid-template-columns: minmax(0, 1.28fr) minmax(20rem, 0.72fr);
    align-items: center;
    gap: clamp(1rem, 3vw, 2rem);
  }

  .tdps-control-row {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .tdps-static-team__builds,
  .tdps-team__builds {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 0.7rem;
  }

  .tdps-rotation__heading > .tdps-rotation__toggle {
    min-block-size: 2.5rem;
    padding-block: 0.3rem;
  }

  .tdps-rotation__heading > .tdps-rotation__toggle::after {
    inline-size: 1.5rem;
    block-size: 1.5rem;
    font-size: 0.85rem;
  }

  .tdps-rotation__metrics > * {
    padding: 0.35rem 0.5rem;
  }

  .tdps-definition-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }

  .tdps-definition-grid > div {
    padding-inline: 0.9rem;
  }

  .tdps-definition-grid > div + div {
    border-block-start: 0;
    border-inline-start: 1px solid var(--tdps-line);
  }

  .tdps-definition-grid > div:first-child {
    padding-inline-start: 0;
  }

  .tdps-definition-grid > div:last-child {
    padding-inline-end: 0;
  }

  body[data-team-dps-language] .aw-toast-region {
    inset-inline: auto var(--tdps-safe-inline);
    justify-items: end;
  }

  body[data-team-dps-language] > .tdps-toast {
    inset-inline: auto var(--tdps-safe-inline);
    margin-inline: 0;
  }
}

@media (min-width: 47.5rem) and (max-width: 79.999rem) {
  .tdps-hero__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 64rem) {
  .tdps-filter-grid {
    grid-template-columns: minmax(9rem, 0.72fr) minmax(11rem, 0.9fr) minmax(18rem, 1.55fr);
  }

  .tdps-team {
    display: grid;
    grid-template-columns: minmax(29rem, 31rem) minmax(16rem, 1fr);
  }

  .tdps-team > .tdps-team__header {
    grid-column: 1;
    grid-row: 1;
  }

  .tdps-team > .tdps-team__metrics {
    grid-column: 2;
    grid-row: 1;
    border-inline-start: 1px solid var(--tdps-line);
  }

  .tdps-team > .tdps-team__composition {
    grid-column: 1;
    grid-row: 2;
    display: grid;
    align-content: center;
    border-block-end: 0;
    border-inline-end: 1px solid var(--tdps-line);
  }

  .tdps-team .tdps-team__builds {
    grid-template-columns: repeat(3, minmax(8rem, 9.25rem));
    justify-content: start;
  }

  .tdps-team > .tdps-team__actions {
    grid-column: 2;
    grid-row: 2;
    align-content: center;
    border-block-start: 0;
    background: var(--tdps-surface-muted);
  }

  .tdps-team .tdps-team__actions > :where(button, a) {
    flex: 1 1 calc(50% - 0.4rem);
  }

  .tdps-team > .tdps-rotations {
    grid-column: 1 / -1;
    grid-row: 3;
  }

}

@media (min-width: 80rem) {
  .tdps-filter-grid {
    grid-template-columns: minmax(10rem, 0.7fr) minmax(12rem, 0.9fr) minmax(21rem, 1.6fr);
  }

  .tdps-personal-list,
  .tdps-personal-damage__list,
  .tdps-personal__list {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }
}

@media (max-width: 63.999rem) {
  /* Keep the shared shell visually compact while meeting the page's 44px touch target. */
  body[data-team-dps-language] .aw-nav-group-toggle,
  body[data-team-dps-language] :where(.aw-icon-btn, .aw-social-menu-toggle, .aw-lang-btn, .aw-header-donate, .aw-alerts-btn) {
    min-block-size: 44px;
  }

  body[data-team-dps-language] :where(.aw-icon-btn, .aw-social-menu-toggle, .aw-lang-btn, .aw-header-donate, .aw-alerts-btn) {
    min-inline-size: 44px;
  }

  body[data-team-dps-language] :where(.aw-social-menu-toggle, .aw-alerts-btn) {
    inline-size: 44px;
  }

  body[data-team-dps-language] :where(.aw-auth-slot, .aw-auth-bridge) {
    inline-size: 44px;
    min-inline-size: 44px;
    min-block-size: 44px;
  }

  body[data-team-dps-language] :where(.aw-auth-shell-button, .aw-auth-bridge [data-aw-auth-nav]) {
    inline-size: 44px !important;
    min-inline-size: 44px !important;
    max-inline-size: 44px !important;
    block-size: 44px !important;
    min-block-size: 44px !important;
  }
}

@media (max-width: 29.999rem) {
  .tdps-controls__head,
  .tdps-section-head,
  .tdps-personal-damage__header,
  .tdps-personal-damage__head {
    align-items: stretch;
  }

  .tdps-clear-all {
    inline-size: 100%;
  }

  .tdps-dataset-tabs,
  .tdps-personal-tabs,
  .tdps-personal-damage__tabs,
  .tdps-personal__tabs {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    inline-size: 100%;
  }

  .tdps-static-team__header,
  .tdps-team__header {
    grid-template-columns: auto minmax(0, 1fr);
  }

  .tdps-team .tdps-team__build--lean {
    grid-template-columns: repeat(2, 1.8rem);
    min-block-size: 7.65rem;
  }

  .tdps-team .tdps-visual-entity--character::before {
    inline-size: 3.25rem;
    block-size: 3.25rem;
  }

  .tdps-team .tdps-team__equipment,
  .tdps-team .tdps-team__equipment::before {
    inline-size: 1.8rem;
    block-size: 1.8rem;
  }

  .tdps-static-team__study {
    grid-column: 2;
    grid-row: auto;
    justify-self: start;
  }

  .tdps-team__actions > :where(button, a),
  .tdps-action,
  .tdps-favorite,
  .tdps-share {
    flex: 1 1 calc(50% - 0.4rem);
  }

  .tdps-dialog__header {
    padding: 0.7rem;
  }

  .tdps-dialog__header > button,
  .tdps-dialog__close {
    padding-inline: 0.5rem;
  }

  .tdps-dialog__body,
  .tdps-dialog__preview {
    padding: 0.7rem;
  }

  .tdps-dialog__actions button {
    flex: 1 1 calc(50% - 0.45rem);
  }
}

@media (max-width: 22.5rem) {
  body[data-team-dps-language] .aw-alerts-menu.is-disabled {
    display: none;
  }

  .tdps-main {
    --tdps-safe-inline: max(0.62rem, env(safe-area-inset-left), env(safe-area-inset-right));
  }

  .tdps-hero {
    padding: 0.85rem;
  }

  .tdps-hero h1,
  .tdps-hero__title {
    font-size: 1.72rem;
  }

  .tdps-controls {
    padding: 0.65rem;
  }

  .tdps-dataset-tabs [role="tab"],
  .tdps-personal-tabs [role="tab"] {
    padding-inline: 0.35rem;
    font-size: 0.67rem;
  }

  .tdps-definition-grid dl {
    grid-template-columns: minmax(0, 1fr);
    gap: 0.15rem;
  }

  .tdps-definition-grid dd + dt {
    margin-block-start: 0.35rem;
  }
}

@media (hover: hover) {
  a.tdps-visual-entity--character::before {
    transition: border-color var(--tdps-fast) var(--tdps-ease), box-shadow var(--tdps-fast) var(--tdps-ease), transform var(--tdps-fast) var(--tdps-ease);
  }

  a.tdps-visual-entity--character:hover::before {
    border-color: hsl(var(--primary) / 0.76);
    box-shadow: 0 7px 18px hsl(220 24% 2% / 0.3), 0 0 0 2px hsl(var(--primary) / 0.14);
    transform: translateY(-1px) scale(1.035);
  }

  :where(.tdps-action, .tdps-team__actions > button, .tdps-team__actions > a, .tdps-filter-actions button, .tdps-reset, .tdps-retry, .tdps-show-more > button):hover:not(:disabled) {
    transform: translateY(-1px);
  }

  .tdps-primary-sort__option:hover:not(:disabled) {
    border-color: var(--tdps-primary-sort-accent);
    transform: translateY(-2px);
  }

  .tdps-primary-sort__option:hover:not(:disabled)::before {
    transform: scale(1.04) scaleX(var(--tdps-primary-sort-image-flip));
  }

  .tdps-primary-sort__option:hover:not(:disabled):not([aria-pressed="true"])::before {
    filter: saturate(0.22) contrast(1.05);
  }

  .tdps-primary-sort__option[aria-pressed="true"]:hover:not(:disabled)::before {
    filter: saturate(1.38) contrast(1.1);
  }
}

@media (prefers-reduced-motion: reduce) {
  .tdps-main *,
  .tdps-main *::before,
  .tdps-main *::after,
  .tdps-dialog *,
  .tdps-dialog *::before,
  .tdps-dialog *::after,
  .tdps-toast {
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
  }

  .tdps-skeleton,
  .tdps-team.is-loading {
    animation: none;
    opacity: 0.8;
  }
}

@media (prefers-contrast: more) {
  :where(.tdps-main, .tdps-dialog, .tdps-toast) {
    --tdps-line: hsl(var(--border));
    --tdps-line-strong: hsl(var(--foreground) / 0.72);
    --tdps-ink-muted: hsl(var(--foreground) / 0.86);
    --tdps-accent-soft: hsl(var(--primary) / 0.2);
  }

  :where(.tdps-static-team, .tdps-team, .tdps-controls, .tdps-hero) {
    border-width: 2px;
  }
}

@media (forced-colors: active) {
  :where(.tdps-main, .tdps-dialog, .tdps-toast) {
    --tdps-surface: Canvas;
    --tdps-surface-raised: Canvas;
    --tdps-surface-muted: Canvas;
    --tdps-surface-quiet: Canvas;
    --tdps-line: CanvasText;
    --tdps-line-strong: CanvasText;
    --tdps-ink: CanvasText;
    --tdps-ink-muted: CanvasText;
    --tdps-accent: LinkText;
    --tdps-accent-ink: Canvas;
    --tdps-accent-soft: Canvas;
    --tdps-palette-cyan: Highlight;
    --tdps-palette-blue: LinkText;
    --tdps-palette-blue-text: LinkText;
    --tdps-palette-blue-button-text: LinkText;
    --tdps-palette-navy: CanvasText;
    --tdps-palette-silver: CanvasText;
    --tdps-palette-warm: CanvasText;
    --tdps-palette-warm-button-text: CanvasText;
    --tdps-palette-red: CanvasText;
    --tdps-palette-ivory: CanvasText;
    --tdps-palette-active-ink: HighlightText;
  }

  .tdps-main :focus-visible,
  .tdps-dialog :focus-visible,
  .tdps-toast :focus-visible {
    outline: 3px solid Highlight;
    outline-offset: 2px;
  }

  :where(.tdps-dataset-tabs [role="tab"], .tdps-personal-tabs [role="tab"])[aria-selected="true"] {
    border: 2px solid Highlight;
    background: Highlight;
    color: HighlightText;
    forced-color-adjust: none;
  }

  :where(.tdps-static-team, .tdps-team) {
    border-inline-start-width: 5px;
  }

  .tdps-favorite:is(.is-favorite, [aria-pressed="true"]) {
    border-width: 2px;
  }

  .tdps-dialog-backdrop {
    background: Canvas;
    opacity: 0.88;
    backdrop-filter: none;
  }

  .tdps-skeleton,
  .tdps-team.is-loading {
    animation: none;
  }
}

@media print {
  body[data-team-dps-language] :where(.aw-sidebar, .aw-header, .aw-footer, .aw-backdrop) {
    display: none !important;
  }

  body[data-team-dps-language] .aw-shell,
  body[data-team-dps-language] .aw-main-col {
    display: block;
    min-block-size: 0;
  }

  .tdps-main {
    padding: 0;
    color: #000;
  }

  .tdps-main :where(.tdps-controls, .tdps-ranking-warning, .tdps-show-more, .tdps-team__actions, .tdps-personal-damage, .tdps-noscript),
  .tdps-dialog,
  .tdps-dialog-backdrop,
  body[data-team-dps-language] .aw-toast-region {
    display: none !important;
  }

  .tdps-hero,
  .tdps-static-team,
  .tdps-team,
  .tdps-disclaimer,
  .tdps-guide,
  .tdps-understanding,
  .tdps-methodology,
  .tdps-tune-break {
    border-color: #555;
    background: #fff;
    box-shadow: none;
    color: #000;
  }

  .tdps-static-team,
  .tdps-team {
    break-inside: avoid;
    margin-block-end: 0.35in;
  }

  .tdps-main :where(h1, h2, h3, p, dt, dd, li, a, span) {
    color: #000 !important;
  }

  .tdps-results-list,
  [data-team-dps-results] {
    display: block;
  }

  .tdps-table-wrap {
    overflow: visible;
  }

  .tdps-rotation-table {
    min-inline-size: 0;
    font-size: 7pt;
  }
}
