/*
 * KinoHub interface system.
 * Brand gold identifies Lampa UA; the user-selected accent identifies actions.
 */

:root {
  --kh-bg: #f4f6fa;
  --kh-bg-elevated: #ffffff;
  --kh-surface: rgba(255, 255, 255, .76);
  --kh-surface-solid: #ffffff;
  --kh-surface-soft: #e9edf4;
  --kh-section-well: #eef1f6;
  --kh-text: #111318;
  --kh-text-soft: #5d6470;
  --kh-text-faint: #818894;
  --kh-line: rgba(19, 27, 39, .1);
  --kh-line-strong: rgba(19, 27, 39, .18);
  --kh-brand: #d7aa45;
  --kh-brand-soft: #f0cf7a;
  --kh-accent: #0a84ff;
  --kh-accent-rgb: 10, 132, 255;
  --kh-accent-ink: #ffffff;
  --kh-success: #1b9a59;
  --kh-danger: #d13b42;
  --kh-header: rgba(9, 11, 16, .94);
  --kh-header-line: rgba(255, 255, 255, .09);
  --kh-footer: #07090d;
  --kh-footer-text: #f7f8fb;
  --kh-footer-muted: #a4a9b4;
  --kh-shadow-sm: 0 8px 24px rgba(15, 23, 42, .08);
  --kh-shadow-md: 0 18px 48px rgba(15, 23, 42, .12);
  --kh-shadow-lg: 0 28px 80px rgba(5, 8, 15, .2);
  --kh-radius-sm: 12px;
  --kh-radius-md: 16px;
  --kh-radius-lg: 24px;
  --kh-ease-out: cubic-bezier(.22, 1, .36, 1);

  --catalog-bg: var(--kh-bg);
  --catalog-surface: var(--kh-surface-solid);
  --catalog-surface-soft: var(--kh-surface-soft);
  --catalog-text: var(--kh-text);
  --catalog-muted: var(--kh-text-soft);
  --catalog-line: var(--kh-line);
  --catalog-gold: var(--kh-accent);
  --catalog-gold-deep: var(--kh-accent);
  --catalog-dark: #12151c;
  --catalog-shadow: var(--kh-shadow-md);

  --portal-bg: var(--kh-bg);
  --portal-surface: var(--kh-surface-solid);
  --portal-surface-soft: var(--kh-surface-soft);
  --portal-text: var(--kh-text);
  --portal-muted: var(--kh-text-soft);
  --portal-border: var(--kh-line);
  --portal-gold: var(--kh-accent);
  --portal-gold-soft: var(--kh-accent);
  --portal-gold-pale: rgba(var(--kh-accent-rgb), .1);
  --portal-shadow: var(--kh-shadow-md);

  --cub-ink: var(--kh-text);
  --cub-paper: var(--kh-bg);
  --cub-card: var(--kh-surface-solid);
  --cub-accent: var(--kh-accent);
  --cub-brown: var(--kh-text-soft);
  --cub-gray: var(--kh-text-soft);
  --cub-line: var(--kh-line);

  --site-gold: var(--kh-accent);
  --site-gold-dark: var(--kh-accent);
  --site-ink: var(--kh-text);
  --site-muted: var(--kh-text-soft);
  --site-paper: var(--kh-surface-solid);
  --site-soft: var(--kh-bg);
  --site-line: var(--kh-line);

  /*
   * Shared viewport contract: hide the native root rail so it never overlays
   * the sticky header. Keep the document itself scrollable; do not pair this
   * rule with overflow: hidden or overflow: clip on html/body.
   */
  scrollbar-width: none;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

:root[data-accent="indigo"] {
  --kh-accent: #5856d6;
  --kh-accent-rgb: 88, 86, 214;
}

:root[data-accent="violet"] {
  --kh-accent: #af52de;
  --kh-accent-rgb: 175, 82, 222;
}

:root[data-theme="dark"] {
  --kh-bg: #090b10;
  --kh-bg-elevated: #0e1118;
  --kh-surface: rgba(23, 27, 36, .72);
  --kh-surface-solid: #151922;
  --kh-surface-soft: #1e2430;
  --kh-section-well: #10141c;
  --kh-text: #f5f7fb;
  --kh-text-soft: #a7afbc;
  --kh-text-faint: #7d8592;
  --kh-line: rgba(255, 255, 255, .09);
  --kh-line-strong: rgba(255, 255, 255, .16);
  --kh-header: rgba(7, 9, 13, .94);
  --kh-footer: #05070a;
  --kh-shadow-sm: 0 8px 26px rgba(0, 0, 0, .2);
  --kh-shadow-md: 0 20px 55px rgba(0, 0, 0, .28);
  --kh-shadow-lg: 0 34px 90px rgba(0, 0, 0, .42);
  --catalog-dark: #05070a;
  color-scheme: dark;
}

html {
  background: var(--kh-bg);
  scroll-behavior: smooth;
  scroll-padding-top: 88px;
}

html,
body {
  width: 100%;
  max-width: 100%;
  overscroll-behavior-x: none;
}

body,
.cub-catalog,
.catalog-page,
.portal-page {
  min-width: 320px;
  margin: 0;
  color: var(--kh-text);
  background: var(--kh-bg);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "SF Pro Display", "Segoe UI", sans-serif;
  font-feature-settings: "kern" 1, "liga" 1;
  -webkit-font-smoothing: antialiased;
  text-rendering: optimizeLegibility;
}

/* Page-specific legacy themes must never replace the shared canvas. */
body.cub-catalog,
:root[data-theme="dark"] body.cub-catalog,
:root[data-theme="dark"] body.catalog-page,
:root[data-theme="dark"] body.portal-page {
  color: var(--kh-text);
  background: var(--kh-bg);
}

::selection { color: var(--kh-accent-ink); background: var(--kh-accent); }

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

:is(a, button, [role="button"], img) {
  -webkit-touch-callout: none;
  -webkit-user-select: none;
  user-select: none;
}

img { -webkit-user-drag: none; }

/* Native selection controls follow the same quiet dot language as card menus. */
:where(.cub-catalog, .portal-page) input:is([type="checkbox"], [type="radio"]):not([hidden]) {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  margin: 0;
  appearance: none;
  border: 1px solid var(--kh-line-strong);
  border-radius: 50%;
  background: var(--kh-surface-solid);
  box-sizing: border-box;
  cursor: pointer;
  transition: background-color 160ms var(--kh-ease-out), border-color 160ms var(--kh-ease-out), box-shadow 180ms var(--kh-ease-out), transform 120ms var(--kh-ease-out);
}

:where(.cub-catalog, .portal-page) input:is([type="checkbox"], [type="radio"]):checked:not([hidden]) {
  border-color: var(--kh-accent);
  background: var(--kh-accent);
  box-shadow: 0 0 0 4px rgba(var(--kh-accent-rgb), .14);
}

:where(.cub-catalog, .portal-page) input:is([type="checkbox"], [type="radio"]):active:not([hidden]) { transform: scale(.84); }
:where(.cub-catalog, .portal-page) input:is([type="checkbox"], [type="radio"]):disabled:not([hidden]) { opacity: .45; cursor: not-allowed; }

a,
button,
summary,
input,
select,
textarea { -webkit-tap-highlight-color: transparent; }

:where(a, button, summary, input, select, textarea):focus-visible {
  outline: 3px solid rgba(var(--kh-accent-rgb), .48) !important;
  outline-offset: 3px !important;
}

:where(button, a, summary) {
  transition: color 180ms var(--kh-ease-out), background-color 180ms var(--kh-ease-out), border-color 180ms var(--kh-ease-out), box-shadow 220ms var(--kh-ease-out);
}

h1,
h2,
h3,
.catalog-brand__text {
  text-wrap: balance;
  letter-spacing: -.03em;
}

p { text-wrap: pretty; }

.catalog-kicker,
.catalog-section__eyebrow,
.apps-eyebrow,
.info-eyebrow,
.collection-eyebrow,
.studio-eyebrow,
.persons-eyebrow { display: none !important; }

/* Shared optical header */
.cub-catalog .catalog-header,
.catalog-header {
  position: sticky;
  z-index: 1000;
  top: 0;
  min-height: calc(76px + env(safe-area-inset-top));
  padding-top: calc(10px + env(safe-area-inset-top));
  padding-right: max(clamp(18px, 4vw, 72px), env(safe-area-inset-right));
  padding-bottom: 10px;
  padding-left: max(clamp(18px, 4vw, 72px), env(safe-area-inset-left));
  gap: clamp(18px, 3vw, 44px);
  border: 0;
  border-bottom: 1px solid var(--kh-header-line);
  color: #fff;
  background: var(--kh-header);
  box-shadow: 0 10px 30px rgba(0, 0, 0, .08);
  backdrop-filter: saturate(145%) blur(24px);
  -webkit-backdrop-filter: saturate(145%) blur(24px);
}

.catalog-back {
  width: 48px;
  height: 48px;
  flex-basis: 48px;
  margin-right: calc(10px - clamp(18px, 3vw, 44px));
  background: rgba(7, 9, 13, .78);
  box-shadow: 0 6px 18px rgba(0, 0, 0, .24), 0 0 0 1px rgba(232, 196, 121, .12);
  transition: transform 150ms var(--kh-ease-out);
}

.catalog-back::before {
  content: "";
  position: absolute;
  z-index: 0;
  inset: 0;
  border-radius: inherit;
  background: rgba(232, 196, 121, .06);
  box-shadow: 0 9px 24px rgba(0, 0, 0, .24), 0 0 18px rgba(217, 170, 74, .18);
  opacity: 0;
  pointer-events: none;
  transition: opacity 150ms var(--kh-ease-out);
}

.catalog-back__fallback,
.catalog-back__image { position: relative; z-index: 1; width: 88%; height: 88%; }

.catalog-back__tooltip {
  border: 1px solid rgba(232, 196, 121, .2);
  background: #14171d;
  transition: opacity 140ms var(--kh-ease-out), transform 180ms var(--kh-ease-out);
}

.catalog-back:active {
  transform: scale(.97);
}

.catalog-back:focus-visible {
  outline-color: rgba(240, 201, 112, .8) !important;
  outline-offset: 3px !important;
}

.catalog-back:focus-visible .catalog-back__tooltip {
  opacity: 1;
  transform: translate(-50%, 0);
}

@media (hover: hover) and (pointer: fine) {
  .catalog-back:hover {
    transform: translateY(-2px) scale(1.035);
  }

  .catalog-back:hover::before { opacity: 1; }

  .catalog-back:hover .catalog-back__tooltip {
    opacity: 1;
    transform: translate(-50%, 0);
  }

  .catalog-back:active { transform: translateY(0) scale(.97); }
}

.cub-catalog .catalog-brand,
.catalog-brand { gap: 12px; color: #fff; }

.cub-catalog .catalog-brand__mark,
.catalog-brand__mark {
  width: 48px;
  height: 48px;
  border: 1px solid rgba(232, 196, 121, .28);
  border-radius: 50%;
  box-shadow: 0 6px 22px rgba(0, 0, 0, .22);
}

.cub-catalog .catalog-brand__text,
.catalog-brand__text {
  color: #fff;
  font-size: 20px;
  font-weight: 760;
  letter-spacing: -.025em;
}

.cub-catalog .catalog-nav { gap: 4px; }

.cub-catalog .catalog-nav > a,
.cub-catalog .catalog-nav > details > summary,
.cub-catalog .catalog-header .catalog-nav > a,
.cub-catalog .catalog-header .catalog-nav-more > summary,
.catalog-nav > a,
.catalog-nav > details > summary {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  padding: 0 13px;
  border: 0;
  border-radius: 11px;
  color: rgba(255, 255, 255, .68);
  background: transparent;
  font-size: 14px;
  font-weight: 620;
}

.cub-catalog .catalog-nav > a:hover,
.cub-catalog .catalog-nav > details > summary:hover,
.cub-catalog .catalog-nav > a.is-active,
.cub-catalog .catalog-nav > details[open] > summary,
.cub-catalog .catalog-nav > details.is-active > summary {
  color: #fff;
  background: rgba(255, 255, 255, .1);
}

.cub-catalog .catalog-nav > a::after,
.cub-catalog .catalog-nav > details > summary::after {
  content: none;
  display: none;
}

.catalog-nav-more__chevron {
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  display: grid;
  place-items: center;
  margin-left: 6px;
  color: currentColor;
  opacity: .7;
  transform: rotate(0deg);
  transition: opacity 160ms var(--kh-ease-out), transform 180ms var(--kh-ease-out);
}

.catalog-nav-more__chevron svg { width: 18px; height: 18px; display: block; }
.catalog-nav-more[open] > summary .catalog-nav-more__chevron { opacity: 1; transform: rotate(90deg); }

.cub-catalog .catalog-nav-more__menu,
.catalog-nav-more__menu {
  top: calc(100% + 12px);
  min-width: 190px;
  padding: 8px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: var(--kh-radius-md);
  color: #fff;
  background: rgba(17, 20, 27, .92);
  box-shadow: var(--kh-shadow-lg);
  backdrop-filter: blur(24px) saturate(145%);
}

.cub-catalog .catalog-nav-more__menu a,
.catalog-nav-more__menu a {
  min-height: 42px;
  display: flex;
  align-items: center;
  padding: 0 12px;
  border-radius: 10px;
  color: rgba(255, 255, 255, .78);
}

.cub-catalog .catalog-nav-more__menu a:hover,
.catalog-nav-more__menu a:hover,
.cub-catalog .catalog-nav-more__menu a[aria-current="page"],
.catalog-nav-more__menu a[aria-current="page"] { color: #fff; background: rgba(255, 255, 255, .1); }

.cub-catalog .catalog-header__actions,
.catalog-header__actions { gap: 10px; }

.cub-catalog .catalog-search,
.catalog-search {
  width: min(340px, 25vw);
  height: 46px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 14px;
  background: rgba(255, 255, 255, .07);
  box-shadow: none;
  backdrop-filter: blur(16px);
}

.cub-catalog .catalog-search:focus-within,
.catalog-search:focus-within {
  border-color: rgba(var(--kh-accent-rgb), .72);
  background: rgba(255, 255, 255, .11);
  box-shadow: 0 0 0 4px rgba(var(--kh-accent-rgb), .16);
}

.cub-catalog .catalog-search input,
.catalog-search input { color: #fff; }

.cub-catalog .catalog-search button,
.catalog-search button,
.cub-catalog .theme-toggle,
.theme-toggle {
  width: 44px;
  height: 44px;
  flex: 0 0 44px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 0;
  border-radius: 50%;
  color: #fff;
  background: transparent;
  cursor: pointer;
}

.cub-catalog .catalog-search button:hover,
.catalog-search button:hover,
.cub-catalog .theme-toggle:hover,
.theme-toggle:hover { background: rgba(255, 255, 255, .1); }

.theme-toggle::before,
.theme-toggle::after { display: none !important; }
.theme-toggle svg { width: 21px; height: 21px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; stroke-linejoin: round; }

.cub-catalog .account-link,
.account-link {
  min-height: 46px;
  padding: 0 18px;
  border: 1px solid rgba(255, 255, 255, .14);
  border-radius: 999px;
  color: #fff;
  background: rgba(255, 255, 255, .08);
  font-weight: 670;
  backdrop-filter: blur(16px);
}

.cub-catalog .account-link:hover,
.account-link:hover { border-color: rgba(255, 255, 255, .24); background: rgba(255, 255, 255, .14); }

/* Core surfaces */
.cub-catalog :is(.catalog-callout, .app-card, .plugin-card, .support-grid > a, .support-grid > button, .info-panel, .cabinet-profile, .cabinet-nav, .library-card, .continue-card, .profile-card, .backup-card, .cub-import-card, .collection-card, .studio-card, .person-result-card),
:is(.portal-card, .auth-panel, .auth-form, .stat-card) {
  border-color: var(--kh-line);
  color: var(--kh-text);
  background: var(--kh-surface-solid);
  box-shadow: var(--kh-shadow-sm);
}

.cub-catalog :is(.catalog-callout, .app-card, .plugin-card, .info-panel, .cabinet-profile, .cabinet-nav) {
  border-radius: var(--kh-radius-md);
}

.cub-catalog :is(.media-card__poster, .recommendation-card img, .library-card__poster, .continue-card__poster) {
  border-radius: var(--kh-radius-md);
  box-shadow: var(--kh-shadow-sm);
}

.cub-catalog .media-card__poster::before,
.cub-catalog .catalog-button--primary,
.cub-catalog .apps-button--primary,
.cub-catalog .info-button--dark,
.cub-catalog .card-slider-controls button.is-primary,
.cub-catalog .favorite-save,
.portal-button--primary,
.btn-primary {
  border-color: transparent;
  color: var(--kh-accent-ink);
  background: var(--kh-accent);
  box-shadow: 0 10px 28px rgba(var(--kh-accent-rgb), .24);
}

.cub-catalog .catalog-button--primary:hover,
.cub-catalog .apps-button--primary:hover,
.cub-catalog .info-button--dark:hover,
.portal-button--primary:hover,
.btn-primary:hover {
  filter: brightness(1.06);
  box-shadow: 0 14px 34px rgba(var(--kh-accent-rgb), .3);
}

.cub-catalog .catalog-button--glass,
.cub-catalog .apps-button:not(.apps-button--primary),
.cub-catalog .info-button:not(.info-button--dark) {
  border-color: var(--kh-line-strong);
  color: inherit;
  background: var(--kh-surface);
  box-shadow: var(--kh-shadow-sm);
  backdrop-filter: blur(18px) saturate(135%);
}

/* One action language across public pages and the cabinet */
.portal-button:not(.portal-button--secondary):not(.is-secondary),
.cub-catalog .catalog-button--dark,
.cub-catalog .library-carousel-controls button.is-primary,
.cub-catalog .profile-action--primary,
.cub-catalog .backup-create,
.cub-catalog .plugins-add {
  border-color: transparent;
  color: var(--kh-accent-ink);
  background: var(--kh-accent);
  box-shadow: 0 10px 28px rgba(var(--kh-accent-rgb), .24);
}

.portal-button:not(.portal-button--secondary):not(.is-secondary):hover,
.cub-catalog .catalog-button--dark:hover,
.cub-catalog .profile-action--primary:hover {
  color: var(--kh-accent-ink);
  background: var(--kh-accent);
  filter: brightness(1.06);
  box-shadow: 0 14px 34px rgba(var(--kh-accent-rgb), .3);
}

.portal-button--secondary,
.portal-button.is-secondary,
.cub-catalog .catalog-hero__rail-arrow,
.cub-catalog .catalog-section__controls button {
  border-color: var(--kh-line-strong);
  color: var(--kh-text);
  background: var(--kh-surface);
  box-shadow: var(--kh-shadow-sm);
  backdrop-filter: blur(18px) saturate(135%);
}

.cub-catalog .catalog-hero__rail-arrow {
  width: 52px;
  height: 52px;
  border-radius: 50%;
}

.cub-catalog .catalog-section__controls button {
  border-radius: 50%;
}

.catalog-section__heading h2,
.card-section h2,
.apps-section-heading h2,
.cabinet-panel h1,
.cabinet-panel h2 {
  letter-spacing: -.03em;
}

.catalog-hero__content,
.card-info { animation: kh-content-arrive 420ms var(--kh-ease-out) both; }

.cub-home .catalog-hero { overflow: visible; }

.cub-home .catalog-hero__rail {
  padding: 8px 6px 24px;
  scroll-padding-inline: 6px;
}

.cub-home .catalog-hero-card__poster {
  border: 0;
  border-radius: var(--kh-radius-md);
  box-shadow: var(--kh-shadow-md);
  transition: transform 220ms var(--kh-ease-out);
}

.cub-home .catalog-hero-card.is-active .catalog-hero-card__poster {
  border: 0;
  box-shadow: var(--kh-shadow-lg);
  filter: brightness(1.035);
}

.cub-home .catalog-hero-card.is-active strong { color: var(--kh-accent); }

.cub-home .catalog-hero-card:focus-visible {
  border-radius: var(--kh-radius-md);
  outline: 3px solid rgba(var(--kh-accent-rgb), .52) !important;
  outline-offset: 4px !important;
}

@keyframes kh-content-arrive {
  from { opacity: .78; transform: translateY(12px); }
  to { opacity: 1; transform: none; }
}

/* Film and series card */
.card-page .card-hero__backdrop { filter: saturate(.9) contrast(1.04); }
.card-page .card-hero__shade {
  background: linear-gradient(90deg, rgba(244, 246, 250, .98) 0%, rgba(244, 246, 250, .9) 42%, rgba(244, 246, 250, .58) 70%, rgba(244, 246, 250, .84) 100%);
}

:root[data-theme="dark"] .card-page .card-hero__shade {
  background: linear-gradient(90deg, rgba(9, 11, 16, .98) 0%, rgba(9, 11, 16, .91) 43%, rgba(9, 11, 16, .58) 72%, rgba(9, 11, 16, .86) 100%);
}

.card-page .card-poster {
  border-radius: var(--kh-radius-md);
  box-shadow: 0 30px 76px rgba(4, 8, 15, .28);
}

.card-page .card-info h1 { max-width: 16ch; letter-spacing: -.035em; }
.card-page .card-score { background: conic-gradient(var(--kh-accent) calc(var(--score) * 1%), rgba(var(--kh-accent-rgb), .18) 0); }
.card-page .card-score::before { background: rgba(8, 12, 20, .92); }

.card-page .card-actions { gap: 10px; margin: 2px 0 28px; }
.card-page .card-action {
  min-height: 50px;
  padding: 0 19px;
  border: 1px solid var(--kh-line-strong);
  border-radius: 999px;
  color: var(--kh-text);
  background: rgba(255, 255, 255, .62);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .72), 0 8px 24px rgba(15, 23, 42, .09);
  -webkit-backdrop-filter: blur(18px) saturate(145%);
  backdrop-filter: blur(18px) saturate(140%);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Text", "Segoe UI", sans-serif;
  font-weight: 650;
  letter-spacing: -.01em;
  transform: translateZ(0);
  transition: color 180ms var(--kh-ease-out), background-color 180ms var(--kh-ease-out), border-color 180ms var(--kh-ease-out), box-shadow 200ms var(--kh-ease-out), transform 160ms var(--kh-ease-out);
  touch-action: manipulation;
}

.card-page .card-action svg { width: 19px; height: 19px; }
.card-page .card-action--primary {
  border-color: transparent;
  color: var(--kh-accent-ink);
  background: var(--kh-accent);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .22), 0 12px 30px rgba(var(--kh-accent-rgb), .24);
}

:root[data-theme="dark"] .card-page .card-action {
  background: rgba(27, 31, 41, .66);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .1), 0 10px 28px rgba(0, 0, 0, .22);
}

:root[data-theme="dark"] .card-page .card-action--primary {
  color: var(--kh-accent-ink);
  background: var(--kh-accent);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .2), 0 12px 30px rgba(var(--kh-accent-rgb), .26);
}

@media (hover: hover) and (pointer: fine) {
  .card-page .card-action:hover {
    color: var(--kh-text);
    border-color: rgba(var(--kh-accent-rgb), .3);
    background: rgba(255, 255, 255, .78);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .82), 0 14px 34px rgba(15, 23, 42, .13);
    transform: translateY(-1px);
  }

  :root[data-theme="dark"] .card-page .card-action:hover { background: rgba(34, 39, 50, .82); }
  .card-page .card-action--primary:hover {
    border-color: transparent;
    color: var(--kh-accent-ink);
    background: var(--kh-accent);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .28), 0 16px 38px rgba(var(--kh-accent-rgb), .3);
    filter: brightness(1.06);
  }
}

.card-page .card-action:active {
  transform: translateY(0) scale(.965);
  transition-duration: 70ms;
}

.card-page .card-action:disabled {
  opacity: .48;
  cursor: not-allowed;
  transform: none;
}

.card-cast-section { margin-top: 34px; }
.card-cast-section .card-section__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  margin-bottom: 14px;
}
.card-cast-section .card-section__head h2 { font-size: 18px; font-weight: 650; letter-spacing: -.015em; }
.card-cast {
  display: flex;
  align-items: flex-start;
  gap: clamp(14px, 2vw, 24px);
  overflow-x: auto;
  padding: 4px 2px 12px;
  scrollbar-width: none;
}
.card-cast::-webkit-scrollbar { display: none; }
.cast-person {
  width: 82px;
  flex: 0 0 82px;
  display: grid;
  justify-items: center;
  gap: 8px;
  color: var(--kh-text);
  text-align: center;
  text-decoration: none;
}
.cast-person.is-extra { display: none; }
.card-cast-section.is-expanded .cast-person.is-extra { display: grid; }
.cast-person__photo {
  width: 68px;
  height: 68px;
  display: grid;
  place-items: center;
  overflow: hidden;
  border: 2px solid rgba(var(--kh-accent-rgb), .22);
  border-radius: 50%;
  color: var(--kh-text-soft);
  background: var(--kh-surface-soft);
  box-shadow: var(--kh-shadow-sm);
}
.cast-person:hover .cast-person__photo { border-color: var(--kh-accent); transform: translateY(-2px); }
.cast-person__photo img { width: 100%; height: 100%; object-fit: cover; }
.cast-person__photo svg { width: 28px; height: 28px; fill: none; stroke: currentColor; stroke-width: 1.6; }
.cast-person strong { width: 100%; overflow: hidden; font-size: 12px; font-weight: 600; line-height: 1.25; text-overflow: ellipsis; white-space: nowrap; }
.card-cast__reveal {
  min-height: 42px;
  flex: 0 0 auto;
  padding: 0 16px;
  border: 1px solid var(--kh-line);
  border-radius: 999px;
  color: var(--kh-text);
  background: color-mix(in srgb, var(--kh-surface-solid) 90%, transparent);
  box-shadow: var(--kh-shadow-sm);
  font-weight: 650;
  cursor: pointer;
  -webkit-backdrop-filter: blur(22px) saturate(145%);
  backdrop-filter: blur(22px) saturate(145%);
}
.card-cast__reveal:hover { border-color: rgba(var(--kh-accent-rgb), .28); background: var(--kh-surface-solid); }
.card-cast__reveal:active { transform: scale(.965); }
.card-cast__controls { display: flex; align-items: center; gap: 8px; }
.card-cast__controls[hidden] { display: none; }
.card-cast__arrow {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid var(--kh-line);
  border-radius: 50%;
  color: var(--kh-text);
  background: color-mix(in srgb, var(--kh-surface-solid) 90%, transparent);
  box-shadow: var(--kh-shadow-sm);
  font-size: 18px;
  cursor: pointer;
  -webkit-backdrop-filter: blur(22px) saturate(145%);
  backdrop-filter: blur(22px) saturate(145%);
}
.card-cast__arrow:hover:not(:disabled) { border-color: rgba(var(--kh-accent-rgb), .3); color: var(--kh-accent); transform: translateY(-1px); }
.card-cast__arrow:active:not(:disabled) { transform: scale(.94); }
.card-cast__arrow:disabled { opacity: .34; cursor: default; }

/* Account cabinet */
.cabinet-page .portal-shell { background: var(--kh-bg); }
.cabinet-page .cabinet-layout {
  width: min(1660px, calc(100% - 48px));
  margin: 0 auto;
  grid-template-columns: 276px minmax(0, 1fr);
  gap: 28px;
  padding: 30px 0 72px;
}
.cabinet-page .cabinet-main { min-width: 0; }
.cabinet-page .cabinet-panel {
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}
.cabinet-page .cabinet-sidebar { top: 96px; gap: 12px; }
.cabinet-page .cabinet-profile,
.cabinet-page .cabinet-nav,
.cabinet-page .cabinet-card {
  border: 1px solid var(--kh-line);
  border-radius: var(--kh-radius-md);
  background: var(--kh-surface);
  box-shadow: var(--kh-shadow-sm);
  backdrop-filter: blur(22px) saturate(130%);
}
.cabinet-page .cabinet-profile { padding: 24px 18px; }
.cabinet-page .cabinet-avatar { width: 74px; height: 74px; border: 3px solid rgba(var(--kh-accent-rgb), .18); background: var(--kh-surface-soft); }
.cabinet-page .cabinet-profile h2 { font-size: 18px; letter-spacing: -.02em; }
.cabinet-page .cabinet-nav { padding: 8px; }
.cabinet-page .cabinet-nav__title { margin: 18px 12px 7px; color: var(--kh-text-faint); font-size: 11px; letter-spacing: .07em; }
.cabinet-page .cabinet-nav button { min-height: 46px; gap: 10px; padding: 0 11px; border-radius: 11px; color: var(--kh-text-soft); }
.cabinet-page .cabinet-nav button:hover { color: var(--kh-text); background: var(--kh-surface-soft); }
.cabinet-page .cabinet-nav button.is-active { color: var(--kh-accent); background: rgba(var(--kh-accent-rgb), .11); font-weight: 700; }
.cabinet-page .cabinet-nav__icon { color: currentColor; }
.cabinet-page .cabinet-heading { margin: 4px 0 24px; }
.cabinet-page .cabinet-heading h1 { max-width: 16ch; margin-bottom: 7px; font-size: clamp(34px, 4vw, 52px); letter-spacing: -.035em; }
.cabinet-page .cabinet-heading p { max-width: 68ch; color: var(--kh-text-soft); font-size: 16px; line-height: 1.5; }
.cabinet-page .status-pill { color: var(--kh-success); background: rgba(27, 154, 89, .12); }
.cabinet-page .cabinet-alert { border: 1px solid var(--kh-line); border-radius: var(--kh-radius-sm); background: var(--kh-surface-solid); box-shadow: var(--kh-shadow-sm); }

.cabinet-page .stats-grid {
  gap: 0;
  overflow: hidden;
  border: 1px solid var(--kh-line);
  border-radius: var(--kh-radius-md);
  background: var(--kh-surface-solid);
  box-shadow: var(--kh-shadow-sm);
}
.cabinet-page .stat-card { min-height: 145px; border: 0; border-left: 1px solid var(--kh-line); border-radius: 0; background: transparent; box-shadow: none; }
.cabinet-page .stat-card:first-child { border-left: 0; }
.cabinet-page .stat-card__value { font-size: 32px; letter-spacing: -.03em; }
.cabinet-page .cabinet-section { margin-top: 38px; }
.cabinet-page .cabinet-section h2 { font-size: 24px; letter-spacing: -.025em; }
.cabinet-page .activity-periods { padding: 3px; border: 1px solid var(--kh-line); border-radius: 999px; background: var(--kh-surface-soft); }
.cabinet-page .activity-periods button { min-height: 36px; border: 0; background: transparent; }
.cabinet-page .activity-periods button:hover,
.cabinet-page .activity-periods button.is-active { color: var(--kh-accent-ink); background: var(--kh-accent); box-shadow: 0 6px 18px rgba(var(--kh-accent-rgb), .2); }

.cabinet-page .activity-summary,
.cabinet-page .activity-dashboard { gap: 10px; }
.cabinet-page :is(.activity-summary-card, .activity-panel, .activity-message, .device-card, .profiles-toolbar, .profile-card, .profile-plugins-toolbar, .profile-plugin-card, .profile-plugin-add-card, .backup-create-card, .backup-cloud, .backup-card, .cub-import-shell, .epwatch-account-card, .epwatch-cabinet-section) {
  border-color: var(--kh-line);
  border-radius: var(--kh-radius-md);
  color: var(--kh-text);
  background: var(--kh-surface-solid);
  box-shadow: var(--kh-shadow-sm);
}
.cabinet-page .activity-panel--chart { box-shadow: var(--kh-shadow-md); }
.cabinet-page .activity-chart__area { fill: rgba(var(--kh-accent-rgb), .12); }
.cabinet-page .activity-chart__line { stroke: var(--kh-accent); }
.cabinet-page .activity-chart__point { fill: var(--kh-surface-solid); stroke: var(--kh-accent); }
.cabinet-page .activity-bar__fill { background: var(--kh-accent); }
.cabinet-page .activity-movies li::before { color: var(--kh-accent); background: rgba(var(--kh-accent-rgb), .1); }

.cabinet-page .device-card { min-height: 260px; border-radius: var(--kh-radius-md); }
.cabinet-page .device-card.is-online { border-color: rgba(var(--kh-accent-rgb), .42); box-shadow: 0 18px 46px rgba(var(--kh-accent-rgb), .12); }
.cabinet-page .device-card__icon { color: var(--kh-accent-ink); background: var(--kh-accent); }
.cabinet-page .device-card__rename:hover { border-color: var(--kh-accent); background: rgba(var(--kh-accent-rgb), .1); }

/* Cabinet depth is consistent everywhere: page canvas, one quiet well, then solid cards. */
.cabinet-page .cabinet-surface-well {
  padding: clamp(14px, 1.7vw, 24px);
  border: 1px solid var(--kh-line);
  border-radius: calc(var(--kh-radius-lg) + 2px);
  background: var(--kh-section-well);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .52);
  -webkit-backdrop-filter: none;
  backdrop-filter: none;
}

:root[data-theme="dark"] .cabinet-page .cabinet-surface-well {
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .045);
}

.cabinet-page .cabinet-surface-well:empty { display: none; }
.cabinet-page .stats-grid.cabinet-surface-well { gap: 10px; overflow: visible; }
.cabinet-page .stats-grid.cabinet-surface-well .stat-card {
  border: 1px solid var(--kh-line);
  border-radius: var(--kh-radius-md);
  background: var(--kh-surface-solid);
  box-shadow: var(--kh-shadow-sm);
}
.cabinet-page .account-activity.cabinet-surface-well { margin-top: 30px; }
.cabinet-page .epwatch-stats.cabinet-surface-well { gap: 10px; }
.cabinet-page .epwatch-cabinet-section.cabinet-surface-well { margin-top: 20px; }
.cabinet-page :is(.backup-create-card, .backup-cloud, .cub-import-card).cabinet-surface-well { background: var(--kh-section-well); }

.cabinet-page :is(
  .activity-summary-card,
  .activity-panel,
  .activity-message,
  .epwatch-stats article,
  .epwatch-subscription,
  .epwatch-schedule-list,
  .epwatch-recent-list,
  .backup-summary > div,
  .backup-category,
  .backup-card,
  .backup-empty,
  .cub-code-guide > div,
  .cub-code-form,
  .cub-profile-mapping,
  .cub-import-categories > label,
  .cub-preview-row,
  .cub-safety-note
) {
  background: var(--kh-surface-solid);
}

.cabinet-page :is(.library-card, .profile-card, .profile-plugin-card, .profile-plugin-add-card, .device-card) {
  background: var(--kh-surface-solid);
}

/* A library poster and its metadata are one card, not two rounded layers. */
.cabinet-page .library-card { isolation: isolate; }
.cabinet-page .library-card__link {
  border-radius: calc(var(--kh-radius-md) - 1px) calc(var(--kh-radius-md) - 1px) 0 0;
  background: var(--kh-surface-solid);
}
.cabinet-page .library-card__poster { border-radius: 0; }
.cabinet-page .library-card__poster img { display: block; }
.cabinet-page .library-card__body { background: var(--kh-surface-solid); }

.cabinet-page :is(.library-toolbar, .continue-toolbar, .profiles-toolbar, .profile-plugins-toolbar) {
  border-color: var(--kh-line);
  border-radius: var(--kh-radius-md);
  color: var(--kh-text);
  background: var(--kh-surface-solid);
  box-shadow: var(--kh-shadow-sm);
}
.cabinet-page :is(.library-search, .library-filter-label select, .library-refresh, .continue-refresh, .backup-refresh, .profile-action, .profile-plugin-menu-button) {
  border-color: var(--kh-line);
  color: var(--kh-text);
  background: var(--kh-surface-soft);
}
.cabinet-page :is(.library-search, .library-filter-label select):focus-within { border-color: var(--kh-accent); box-shadow: 0 0 0 4px rgba(var(--kh-accent-rgb), .12); }
.cabinet-page :is(.library-total, .continue-total, .profiles-total, .profile-plugins-total, .backup-total) { color: var(--kh-accent); background: rgba(var(--kh-accent-rgb), .1); }

.cabinet-page .backup-eyebrow,
.cabinet-page .profile-modal__eyebrow { display: none; }
.cabinet-page .backup-category:has(input:checked),
.cabinet-page .backup-restore-options label:has(input:checked),
.cabinet-page .profile-kind input:checked + span,
.cabinet-page .profile-plugin-modal-chip.is-selected { border-color: rgba(var(--kh-accent-rgb), .48); background: rgba(var(--kh-accent-rgb), .1); }
.cabinet-page input[type="checkbox"],
.cabinet-page input[type="radio"] { accent-color: var(--kh-accent); }
.cabinet-page .portal-button { border-color: transparent; color: var(--kh-accent-ink); background: var(--kh-accent); box-shadow: 0 9px 24px rgba(var(--kh-accent-rgb), .2); }
.cabinet-page .portal-button--secondary,
.cabinet-page .portal-button.is-secondary { border-color: var(--kh-line); color: var(--kh-text); background: var(--kh-surface-solid); box-shadow: none; }
.cabinet-page .profile-plugin-modal-chip.is-selected { color: var(--kh-accent); }

.cabinet-page .profile-action--primary {
  border-color: transparent;
  color: var(--kh-accent-ink);
  background: var(--kh-accent);
  box-shadow: 0 8px 22px rgba(var(--kh-accent-rgb), .2);
}

.cabinet-page .profile-action--primary:hover:not(:disabled) {
  border-color: transparent;
  color: var(--kh-accent-ink);
  background: var(--kh-accent);
  filter: brightness(1.06);
}

.cabinet-page .profile-action--danger {
  border-color: transparent;
  color: var(--kh-danger);
  background: transparent;
}

.cabinet-page .profile-action--danger:hover {
  border-color: rgba(209, 59, 66, .22);
  color: var(--kh-danger);
  background: rgba(209, 59, 66, .08);
}

/* Login belongs to the same system while retaining its cinematic backdrop */
.login-page .portal-shell { background: #090b10; }
.login-page .auth-layout {
  background-color: #090b10;
  background-image:
    linear-gradient(90deg, rgba(5, 7, 11, .08) 0%, rgba(5, 7, 11, .22) 48%, rgba(5, 7, 11, .78) 100%),
    linear-gradient(0deg, rgba(5, 7, 11, .58) 0%, rgba(5, 7, 11, .04) 48%),
    url("/assets/images/login-cinema-backdrop.jpg?v=20260729-cinema1");
}
.login-page .auth-panel { background: transparent; box-shadow: none; }
.login-page .auth-card {
  border-color: rgba(255, 255, 255, .16);
  border-radius: var(--kh-radius-lg);
  color: var(--kh-text);
  background: rgba(250, 251, 253, .82);
  box-shadow: var(--kh-shadow-lg);
  backdrop-filter: blur(30px) saturate(140%);
}
:root[data-theme="dark"] .login-page .auth-card { color: var(--kh-text); background: rgba(16, 19, 26, .8); }
.login-page .auth-card > .portal-eyebrow { color: var(--kh-accent); }
:root[data-theme="dark"] .login-page .auth-card > .portal-eyebrow { color: var(--kh-accent); }
.login-page .auth-card__intro,
.login-page .portal-field__hint { color: var(--kh-text-soft); }
.login-page .auth-form { border: 0; border-top: 1px solid var(--kh-line); border-radius: 0; background: transparent; box-shadow: none; }
.login-page .portal-input { border-color: var(--kh-line-strong); color: var(--kh-text); background: rgba(255, 255, 255, .62); }
:root[data-theme="dark"] .login-page .portal-input { background: rgba(8, 11, 16, .72); }
.login-page .portal-input:focus { border-color: var(--kh-accent); box-shadow: 0 0 0 4px rgba(var(--kh-accent-rgb), .12); }
.login-page .auth-register { border: 0; border-top: 1px solid var(--kh-line); border-radius: 0; background: transparent; }
.login-page .auth-register a { color: var(--kh-accent); }
.login-page .portal-button,
:root[data-theme="dark"] .login-page .portal-button {
  border-color: transparent;
  color: var(--kh-accent-ink);
  background: var(--kh-accent);
  box-shadow: 0 10px 28px rgba(var(--kh-accent-rgb), .24);
}
.login-page .portal-button--secondary,
:root[data-theme="dark"] .login-page .portal-button--secondary {
  border-color: var(--kh-line-strong);
  color: var(--kh-text);
  background: var(--kh-surface);
  box-shadow: none;
}

/* Controls, menus, choices and transient surfaces */
.cub-catalog :is(input[type="text"], input[type="search"], input[type="url"], input[type="email"], input[type="password"], select, textarea),
.portal-page :is(input[type="text"], input[type="search"], input[type="url"], input[type="email"], input[type="password"], select, textarea) {
  border-color: var(--kh-line-strong);
  border-radius: var(--kh-radius-sm);
  color: var(--kh-text);
  background: var(--kh-bg-elevated);
  box-shadow: none;
}

.cub-catalog :is(input, select, textarea)::placeholder,
.portal-page :is(input, select, textarea)::placeholder { color: var(--kh-text-faint); opacity: 1; }

.cub-catalog :is(input, select, textarea):focus,
.portal-page :is(input, select, textarea):focus {
  border-color: var(--kh-accent);
  outline: 0;
  box-shadow: 0 0 0 4px rgba(var(--kh-accent-rgb), .13);
}

.cub-catalog :is(.catalog-text-button, .catalog-row-controls button, .card-slider-controls button, .favorite-cancel, .backup-refresh, .library-refresh, .continue-refresh, .epwatch-refresh),
.portal-page :is(.backup-refresh, .library-refresh, .continue-refresh, .epwatch-refresh) {
  border-color: var(--kh-line);
  color: var(--kh-text);
  background: var(--kh-surface-solid);
  box-shadow: var(--kh-shadow-sm);
}

.cub-catalog :is(.catalog-text-button, .catalog-row-controls button, .card-slider-controls button, .favorite-cancel, .backup-refresh, .library-refresh, .continue-refresh, .epwatch-refresh):hover,
.portal-page :is(.backup-refresh, .library-refresh, .continue-refresh, .epwatch-refresh):hover {
  border-color: rgba(var(--kh-accent-rgb), .36);
  color: var(--kh-accent);
  background: rgba(var(--kh-accent-rgb), .08);
}

.cub-catalog .favorite-save,
.cub-catalog :is(.epwatch-submit, .epwatch-connect button, .epwatch-link-button),
.portal-page :is(.epwatch-submit, .epwatch-connect button, .epwatch-link-button) {
  border: 0;
  color: var(--kh-accent-ink);
  background: var(--kh-accent);
  box-shadow: 0 10px 26px rgba(var(--kh-accent-rgb), .23);
}

.cub-catalog :is(.catalog-card-menu, .catalog-account-menu),
.catalog-card-menu,
.catalog-account-menu {
  border: 1px solid var(--kh-line-strong);
  border-radius: var(--kh-radius-md);
  color: var(--kh-text);
  background: var(--kh-surface-solid);
  background: color-mix(in srgb, var(--kh-surface-solid) 90%, transparent);
  box-shadow: var(--kh-shadow-lg);
  backdrop-filter: blur(28px) saturate(150%);
  -webkit-backdrop-filter: blur(28px) saturate(150%);
}

.cub-catalog .catalog-account-menu,
.catalog-account-menu {
  background: color-mix(in srgb, var(--kh-surface-solid) 97%, transparent);
  backdrop-filter: blur(24px) saturate(125%);
  -webkit-backdrop-filter: blur(24px) saturate(125%);
}

.cub-catalog .catalog-account-menu__head,
.catalog-account-menu__head { border-bottom-color: var(--kh-line); background: transparent; }
.cub-catalog .catalog-account-menu__avatar,
.catalog-account-menu__avatar { border-color: rgba(var(--kh-accent-rgb), .24); background: var(--kh-surface-soft); }
.cub-catalog .catalog-account-menu__title,
.catalog-account-menu__title { color: var(--kh-text-faint); }
.cub-catalog :is(.catalog-account-menu__link, .catalog-card-menu__item, .catalog-card-menu__collection),
:is(.catalog-account-menu__link, .catalog-card-menu__item, .catalog-card-menu__collection) { color: var(--kh-text); border-radius: 11px; }
.cub-catalog :is(.catalog-account-menu__link, .catalog-card-menu__item, .catalog-card-menu__collection):hover,
:is(.catalog-account-menu__link, .catalog-card-menu__item, .catalog-card-menu__collection):hover { color: var(--kh-text); background: var(--kh-surface-soft); }
.cub-catalog .catalog-account-menu__link.is-highlighted,
.catalog-account-menu__link.is-highlighted { color: var(--kh-accent); background: rgba(var(--kh-accent-rgb), .1); }
.cub-catalog .catalog-card-menu__item.is-selected .catalog-card-menu__dot,
.catalog-card-menu__item.is-selected .catalog-card-menu__dot { border-color: var(--kh-accent); background: var(--kh-accent); }
.cub-catalog .catalog-card-menu__toggle,
.catalog-card-menu__toggle { color: #fff; background: rgba(9, 11, 16, .7); box-shadow: var(--kh-shadow-sm); backdrop-filter: blur(14px); }
.cub-catalog .catalog-card-menu__toggle svg,
.catalog-card-menu__toggle svg { width: 20px; height: 20px; display: block; }
.cub-catalog .catalog-card-menu__divider,
.catalog-card-menu__divider { border-color: var(--kh-line); }

.catalog-profile-switch__backdrop,
.notification-center__backdrop,
.epwatch-modal__backdrop,
.backup-modal__backdrop,
.profile-modal__backdrop {
  background: rgba(4, 7, 12, .62);
  backdrop-filter: blur(12px);
}

.catalog-profile-switch__dialog,
.notification-center__panel,
.epwatch-modal__dialog,
.backup-modal__dialog,
.profile-modal__dialog {
  border: 1px solid var(--kh-line);
  border-radius: var(--kh-radius-lg);
  color: var(--kh-text);
  background: var(--kh-surface);
  box-shadow: var(--kh-shadow-lg);
  backdrop-filter: blur(30px) saturate(145%);
}

.catalog-profile-switch__item {
  border-color: var(--kh-line);
  border-radius: var(--kh-radius-sm);
  color: var(--kh-text);
  background: var(--kh-surface-solid);
}
.catalog-profile-switch__item:hover { border-color: rgba(var(--kh-accent-rgb), .35); background: rgba(var(--kh-accent-rgb), .08); }
.catalog-profile-switch__item.is-active { border-color: var(--kh-accent); background: rgba(var(--kh-accent-rgb), .12); }
.catalog-profile-switch__avatar { color: var(--kh-accent); background: rgba(var(--kh-accent-rgb), .1); }
.catalog-profile-switch__close,
.notification-center__panel header button,
.epwatch-modal__dialog header > button,
.backup-modal__close,
.profile-modal__close {
  border-color: var(--kh-line);
  color: var(--kh-text);
  background: var(--kh-surface-soft);
}

.notification-center__panel > header,
.notification-center__panel > footer,
.epwatch-modal__dialog > header,
.backup-modal__header,
.backup-modal__footer,
.profile-modal__header,
.profile-modal__footer { border-color: var(--kh-line); background: transparent; }

.epwatch-field select,
.epwatch-current__item { border-color: var(--kh-line); color: var(--kh-text); background: var(--kh-surface-solid); }
.epwatch-modal__dialog header p { display: none; }
.epwatch-loading span { border-color: rgba(var(--kh-accent-rgb), .2); border-top-color: var(--kh-accent); }

.backup-category,
.backup-restore-options label,
.backup-preview-row,
.profile-kind span,
.profile-plugin-modal-chip {
  border-color: var(--kh-line);
  border-radius: var(--kh-radius-sm);
  color: var(--kh-text);
  background: var(--kh-surface-solid);
}

.backup-category:hover,
.backup-restore-options label:hover,
.profile-plugin-modal-chip:hover { border-color: rgba(var(--kh-accent-rgb), .4); }

.backup-card__actions button,
.backup-card__actions a,
.profile-action,
.profile-plugin-menu button {
  border-color: var(--kh-line);
  color: var(--kh-text);
  background: var(--kh-surface-solid);
}

.backup-card__actions button:hover,
.backup-card__actions a:hover,
.profile-action:hover,
.profile-plugin-menu button:hover { border-color: rgba(var(--kh-accent-rgb), .4); background: rgba(var(--kh-accent-rgb), .08); }

.profile-plugin-menu {
  border-color: var(--kh-line);
  border-radius: var(--kh-radius-md);
  color: var(--kh-text);
  background: color-mix(in srgb, var(--kh-surface-solid) 92%, transparent);
  box-shadow: var(--kh-shadow-lg);
  backdrop-filter: blur(24px);
}

.profile-plugin-menu button { border-radius: 10px; background: transparent; }
.profile-plugin-menu button.is-danger:hover { color: var(--kh-danger); background: rgba(209, 59, 66, .08); }

.empty-state,
.backup-empty,
.library-empty,
.continue-empty,
.profiles-empty,
.profile-plugins-empty,
.catalog-empty,
.category-empty,
.browse-empty,
.persons-empty,
.persons-error,
.studios-empty {
  border: 1px dashed var(--kh-line-strong);
  border-radius: var(--kh-radius-md);
  color: var(--kh-text-soft);
  background: var(--kh-surface-solid);
}

.library-skeleton,
.continue-skeleton,
.backup-skeleton,
.catalog-skeleton {
  background: linear-gradient(100deg, var(--kh-surface-soft) 20%, var(--kh-surface-solid) 40%, var(--kh-surface-soft) 60%);
  background-size: 240% 100%;
}

.catalog-mobile-nav .e-navbar__body {
  border: 1px solid var(--kh-line-strong);
  background: var(--kh-surface);
  box-shadow: var(--kh-shadow-lg);
  backdrop-filter: blur(24px) saturate(150%);
}
.catalog-mobile-nav .e-navbar__item { color: var(--kh-text-soft); }
.catalog-mobile-nav .e-navbar__item.is-active { color: var(--kh-accent); }
.cabinet-mobile-more {
  border-color: var(--kh-line-strong);
  color: var(--kh-text);
  background: var(--kh-surface);
  box-shadow: var(--kh-shadow-lg);
  backdrop-filter: blur(26px) saturate(145%);
}
.cabinet-mobile-more p { color: var(--kh-text-faint); }
.cabinet-mobile-more button:hover,
.cabinet-mobile-more button:focus-visible,
.cabinet-mobile-more button.is-active { color: var(--kh-accent); background: rgba(var(--kh-accent-rgb), .1); }

/* Remaining public surfaces */
.persons-page,
:root[data-theme="dark"] .persons-page {
  --persons-bg: var(--kh-bg);
  --persons-card: var(--kh-surface-solid);
  --persons-text: var(--kh-text);
  --persons-muted: var(--kh-text-soft);
  --persons-line: var(--kh-line);
  --persons-gold: var(--kh-accent);
}

:is(.persons-intro, .studios-intro) {
  position: relative;
  max-width: none;
  min-height: 230px;
  display: grid;
  align-content: center;
  margin-bottom: 42px;
  padding: clamp(30px, 5vw, 64px);
  overflow: hidden;
  border: 1px solid var(--kh-line);
  border-radius: var(--kh-radius-lg);
  background:
    radial-gradient(circle at 88% 18%, rgba(var(--kh-accent-rgb), .15), transparent 34%),
    linear-gradient(135deg, var(--kh-surface-solid), var(--kh-surface));
  box-shadow: var(--kh-shadow-md);
}

.persons-intro__eyebrow,
.studios-intro__eyebrow {
  display: block;
  margin: 0 0 12px;
  color: var(--kh-accent);
  font-size: 12px;
  font-weight: 800;
  letter-spacing: .14em;
  text-transform: uppercase;
}

.persons-intro h1,
.studios-intro h1 {
  margin: 0;
  font-size: clamp(44px, 6vw, 76px);
  line-height: .96;
  letter-spacing: -.045em;
}

.persons-intro > p:last-child,
.studios-intro p:last-child {
  max-width: 760px;
  margin: 20px 0 0;
  color: var(--kh-text-soft);
  font-size: clamp(16px, 1.7vw, 20px);
  line-height: 1.55;
}
.person-card__portrait,
:root[data-theme="dark"] .person-card__portrait { border-radius: var(--kh-radius-md); background: var(--kh-surface-soft); box-shadow: var(--kh-shadow-sm); }
.persons-clear-search,
.persons-more,
.persons-error button { border-color: var(--kh-line); color: var(--kh-text); background: var(--kh-surface-solid); box-shadow: var(--kh-shadow-sm); }
.persons-clear-search:hover,
.persons-more:hover,
.persons-error button:hover { border-color: var(--kh-accent); color: var(--kh-accent-ink); background: var(--kh-accent); }
.persons-more { color: var(--kh-accent-ink); background: var(--kh-accent); }

.studios-page,
.collections-page,
:root[data-theme="dark"] .studios-page,
:root[data-theme="dark"] .collections-page { color: var(--kh-text); background: var(--kh-bg); }
.studios-intro p:last-child,
.studios-toolbar h2,
.studio-card__description { color: var(--kh-text-soft); }
.studio-card,
:root[data-theme="dark"] .studio-card { border-color: var(--kh-line); border-radius: var(--kh-radius-md); background: var(--kh-surface-solid); box-shadow: var(--kh-shadow-sm); }
.studio-card__media { color: var(--kh-accent); }
.studio-card__link:hover,
.studio-card__link:focus-visible,
:root[data-theme="dark"] .studio-card__link:hover,
:root[data-theme="dark"] .studio-card__link:focus-visible { background: rgba(var(--kh-accent-rgb), .07); }
.studio-card--skeleton { background: linear-gradient(100deg, var(--kh-surface-soft) 20%, var(--kh-surface-solid) 40%, var(--kh-surface-soft) 60%); background-size: 240% 100%; }
.studios-empty { color: var(--kh-text-soft); background: var(--kh-surface-solid); }

.collection-group__heading div > span,
.collection-card__author,
.collection-card__count,
.collection-detail__back,
.collection-creator__body h2 { color: var(--kh-accent); }
.collection-group__icon { border: 1px solid var(--kh-line-strong); border-radius: var(--kh-radius-sm); color: var(--kh-text-soft); }
.collection-group__controls button { color: var(--kh-text); background: var(--kh-surface-soft); box-shadow: var(--kh-shadow-sm); }
.collection-group__controls button:last-child { color: var(--kh-accent-ink); background: var(--kh-accent); }
.collection-card,
.collection-detail-hero,
.collection-creator { border: 1px solid var(--kh-line); border-radius: var(--kh-radius-md); background: var(--kh-surface-solid); box-shadow: var(--kh-shadow-sm); }
.collection-card__image,
.collection-creator__cover { border-radius: var(--kh-radius-md) var(--kh-radius-md) 0 0; background: var(--kh-surface-soft); }
.collection-detail-hero__image { border-radius: var(--kh-radius-sm); background: var(--kh-surface-soft); }
.collection-card__avatar,
.collection-creator__avatar { border-color: var(--kh-surface-solid); color: var(--kh-accent-ink); background: var(--kh-accent); }
.collection-card__footer,
.collection-detail-hero__date,
.collection-detail-stats span,
.collection-creator__stats span,
.collection-creator__body p { color: var(--kh-text-soft); }
.collection-detail-stats,
.collection-creator__stats { border-radius: var(--kh-radius-sm); background: var(--kh-surface-soft); }
.collection-detail-actions button,
.collection-pagination a,
.collection-pagination span { border-color: var(--kh-line); color: var(--kh-text); background: var(--kh-surface-solid); box-shadow: var(--kh-shadow-sm); }
.collection-empty { color: var(--kh-text-soft); background: var(--kh-surface-solid); }

.apps-hero {
  background: radial-gradient(circle at 82% 24%, rgba(var(--kh-accent-rgb), .18), transparent 34%), var(--kh-bg);
}
.apps-hero h1 { letter-spacing: -.035em; }
.apps-button--primary,
.apps-hero__actions .apps-button:hover,
.apps-hero__actions .apps-button:focus-visible { border-color: var(--kh-accent); color: var(--kh-accent-ink); background: var(--kh-accent); }
.app-card,
.plugin-card,
.support-grid > a,
.support-grid > button { border-radius: var(--kh-radius-md); }
.app-card--featured { border-color: rgba(var(--kh-accent-rgb), .35); background: rgba(var(--kh-accent-rgb), .06); }
.app-card__icon,
.plugin-card > span,
.support-grid > a > span,
.support-grid > button > span,
.plugin-card a { color: var(--kh-accent-ink); background: var(--kh-accent); }
.app-card__platform,
.app-card a,
.app-card button,
.support-grid b { color: var(--kh-accent); }
.plugin-card button.is-copied { border-color: var(--kh-accent); color: var(--kh-accent-ink); background: var(--kh-accent); }
.apps-modal__backdrop { background: rgba(4, 7, 12, .62); backdrop-filter: blur(12px); }
.apps-modal__dialog { border-color: var(--kh-line); border-radius: var(--kh-radius-lg); color: var(--kh-text); background: var(--kh-surface); box-shadow: var(--kh-shadow-lg); backdrop-filter: blur(30px) saturate(145%); }
.apps-modal__address { border-color: var(--kh-accent); color: var(--kh-text); background: var(--kh-bg-elevated); }
.apps-modal__address span { color: var(--kh-accent); }
.apps-modal__note { border: 1px solid var(--kh-line); border-radius: var(--kh-radius-sm); background: var(--kh-surface-soft); }

.person-open { border-color: var(--kh-accent); color: var(--kh-accent-ink); background: var(--kh-accent); }
.person-favorite:hover,
.person-favorite.is-favorite { border-color: var(--kh-accent); background: rgba(var(--kh-accent-rgb), .1); }
.person-carousel-controls button.is-primary { color: var(--kh-accent-ink); background: var(--kh-accent); }

.info-page {
  --info-ink: var(--kh-text);
  --info-muted: var(--kh-text-soft);
  --info-panel: var(--kh-surface-solid);
  --info-soft: var(--kh-bg);
  --info-accent: var(--kh-accent);
}
.info-hero { background: var(--kh-bg); }
.info-card { min-height: 0; border-color: var(--kh-line); border-radius: var(--kh-radius-md); background: var(--kh-surface-solid); box-shadow: var(--kh-shadow-sm); }
.info-card__number { color: var(--kh-accent-ink); background: var(--kh-accent); }
.info-note { border-radius: var(--kh-radius-md); background: #10141c; }
.info-note strong { color: var(--kh-accent); }
.faq-list details { border-color: var(--kh-line); border-radius: var(--kh-radius-md); color: var(--kh-text); background: var(--kh-surface-solid); box-shadow: var(--kh-shadow-sm); }
.faq-answer a { color: var(--kh-accent); }

/* Premium footer */
.cub-catalog .catalog-footer.kh-footer,
.catalog-footer.kh-footer {
  position: relative;
  display: block;
  padding: clamp(34px, 5vw, 66px) clamp(18px, 5vw, 82px) 26px;
  overflow: hidden;
  border: 0;
  border-top: 1px solid rgba(255, 255, 255, .08);
  color: var(--kh-footer-text);
  background: var(--kh-footer);
  font-size: 14px;
  box-shadow: inset 0 1px rgba(255, 255, 255, .025);
}

.kh-footer::before {
  content: "";
  position: absolute;
  top: -140px;
  left: 2%;
  width: min(520px, 55vw);
  height: 260px;
  border-radius: 50%;
  background: rgba(var(--kh-accent-rgb), .13);
  filter: blur(90px);
  pointer-events: none;
}

.kh-footer::after { content: none !important; display: none !important; }

.kh-footer__grid {
  position: relative;
  width: min(1540px, 100%);
  margin: 0 auto;
  display: grid;
  grid-template-columns: minmax(280px, 1.25fr) minmax(180px, .72fr) minmax(180px, .72fr) minmax(260px, 1fr);
  gap: clamp(28px, 4vw, 66px);
}

.kh-footer__brand { min-width: 0; }

.kh-footer__identity {
  display: inline-flex;
  align-items: center;
  gap: 14px;
  color: var(--kh-footer-text);
  text-decoration: none;
}

.kh-footer__logo {
  width: 58px;
  height: 58px;
  flex: 0 0 58px;
  border: 1px solid rgba(232, 196, 121, .25);
  border-radius: 50%;
  background: #08090c url("/assets/images/lampaua-logo.png") center / cover no-repeat;
  box-shadow: 0 10px 30px rgba(0, 0, 0, .3);
}

.kh-footer__identity strong,
.kh-footer__identity small { display: block; }

.kh-footer__identity strong { color: #fff; font-size: 19px; letter-spacing: -.02em; }
.kh-footer__identity small { margin-top: 4px; color: var(--kh-brand-soft); font-size: 12px; }

.cub-catalog .catalog-footer.kh-footer .kh-footer__brand > p,
.kh-footer__brand > p {
  max-width: 42ch;
  margin: 24px 0 20px;
  color: var(--kh-footer-muted);
  line-height: 1.55;
  text-align: left;
}

.kh-footer__appearance { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; }

.kh-theme-control,
.kh-accent-picker {
  min-height: 42px;
  display: inline-flex;
  align-items: center;
  gap: 9px;
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 999px;
  color: rgba(255, 255, 255, .82);
  background: rgba(255, 255, 255, .055);
}

.kh-theme-control { padding: 0 14px; cursor: pointer; }
.kh-theme-control:hover { background: rgba(255, 255, 255, .1); }
.kh-theme-control svg { width: 18px; height: 18px; fill: none; stroke: currentColor; stroke-width: 1.8; }

.kh-accent-picker { padding: 0 10px 0 13px; }
.kh-accent-picker > span { margin-right: 2px; color: var(--kh-footer-muted); font-size: 12px; }
.kh-accent-picker button { width: 40px; height: 40px; display: grid; place-items: center; padding: 0; border: 0; border-radius: 50%; background: transparent; cursor: pointer; }
.kh-accent-picker button i { width: 13px; height: 13px; display: block; border-radius: 50%; background: #0a84ff; }
.kh-accent-picker button[data-accent-choice="indigo"] i { background: #5856d6; }
.kh-accent-picker button[data-accent-choice="violet"] i { background: #af52de; }
.kh-accent-picker button.is-selected { box-shadow: inset 0 0 0 2px rgba(255, 255, 255, .82); }

.kh-footer__group { min-width: 0; border: 0; }
.kh-footer__group summary { list-style: none; color: var(--kh-footer-text); font-weight: 700; cursor: default; }
.kh-footer__group summary::-webkit-details-marker { display: none; }
.kh-footer__group summary svg { display: none; }
.cub-catalog .catalog-footer.kh-footer .kh-footer__group nav,
.kh-footer__group nav {
  display: grid;
  grid-template-columns: 1fr;
  justify-content: stretch;
  gap: 2px;
  margin-top: 15px;
}

.cub-catalog .catalog-footer.kh-footer .kh-footer__group a,
.kh-footer__group a {
  min-height: 44px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 0 8px;
  border-radius: 9px;
  color: rgba(255, 255, 255, .8);
  text-decoration: none;
}

.kh-footer__group a:hover { color: #fff; background: rgba(255, 255, 255, .07); }

.kh-footer__app-body { margin-top: 17px; }
.cub-catalog .catalog-footer.kh-footer .kh-footer__launch,
.kh-footer__launch {
  min-height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  padding: 0 18px;
  border: 0;
  border-radius: 13px;
  color: var(--kh-accent-ink);
  background: var(--kh-accent);
  box-shadow: 0 12px 32px rgba(var(--kh-accent-rgb), .28);
  font-weight: 760;
  text-decoration: none;
}

.kh-footer__launch svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; }
.kh-footer__app-body > p { margin: 18px 0; color: var(--kh-footer-muted); line-height: 1.55; }
.kh-footer__platforms { display: flex; flex-wrap: wrap; gap: 8px; }

.cub-catalog .catalog-footer.kh-footer .kh-footer__platforms a,
.kh-footer__platforms a {
  min-height: 44px;
  display: inline-flex;
  align-items: center;
  padding: 0 12px;
  border: 1px solid rgba(255, 255, 255, .1);
  border-radius: 10px;
  color: rgba(255, 255, 255, .8);
  background: rgba(255, 255, 255, .05);
  text-decoration: none;
}

.kh-footer__legal {
  position: relative;
  width: min(1540px, 100%);
  margin: 34px auto 0;
  padding-top: 22px;
  display: flex;
  justify-content: space-between;
  gap: 20px;
  border-top: 1px solid rgba(255, 255, 255, .09);
  color: var(--kh-footer-muted);
  font-size: 12px;
}

.kh-footer__legal nav { display: flex; flex-wrap: wrap; gap: 8px 22px; }
.cub-catalog .catalog-footer.kh-footer .kh-footer__legal a,
.kh-footer__legal a { color: var(--kh-footer-muted); text-decoration: none; }
.kh-footer__legal a:hover { color: #fff; }

/* Modal material */
:is(.catalog-modal__dialog, .trailer-modal__dialog, .favorite-modal__dialog, .device-modal__dialog, .library-modal__dialog, .profile-modal__dialog, .site-modal__dialog) {
  border-color: var(--kh-line);
  border-radius: var(--kh-radius-lg);
  color: var(--kh-text);
  background: var(--kh-surface);
  box-shadow: var(--kh-shadow-lg);
  backdrop-filter: blur(30px) saturate(145%);
}

.cabinet-page :is(.profile-modal__dialog, .backup-modal__dialog, .library-modal__dialog) {
  color: var(--kh-text);
  background: var(--kh-surface);
  box-shadow: var(--kh-shadow-lg);
  backdrop-filter: blur(30px) saturate(145%);
}
:root[data-theme="dark"] .cabinet-page :is(.profile-modal__dialog, .backup-modal__dialog, .library-modal__dialog) {
  color: var(--kh-text);
  background: var(--kh-surface);
}

:is(.catalog-modal__backdrop, .trailer-modal__backdrop, .favorite-modal__backdrop, .device-modal__backdrop, .library-modal__backdrop, .profile-modal__backdrop, .site-modal__backdrop) {
  background: rgba(4, 7, 12, .62);
  backdrop-filter: blur(12px);
}

/* Unified controls and interaction states */
.cub-catalog .filter-pill,
.cub-catalog .browse-reset,
.cub-catalog .category-row__controls button,
.cub-catalog .person-carousel-controls button,
.cub-catalog .collection-group__controls button,
.cabinet-page .library-carousel-controls button {
  border: 1px solid var(--kh-line);
  color: var(--kh-text);
  background: var(--kh-surface-solid);
  box-shadow: var(--kh-shadow-sm);
}

/* Shared horizontal rail controls */
.cub-catalog .kh-rail-controls,
.portal-page .kh-rail-controls,
.kh-rail-controls {
  display: flex;
  align-items: center;
  gap: 10px;
}

.cub-catalog .kh-rail-controls[hidden],
.portal-page .kh-rail-controls[hidden],
.kh-rail-controls[hidden] { display: none; }

.cub-catalog .kh-rail-controls > button.kh-rail-button,
.portal-page .kh-rail-controls > button.kh-rail-button,
.cub-catalog .kh-rail-button,
.portal-page .kh-rail-button,
.kh-rail-controls > button.kh-rail-button,
.kh-rail-button {
  width: 44px;
  min-width: 44px;
  height: 44px;
  min-height: 44px;
  display: grid;
  place-items: center;
  flex: 0 0 44px;
  padding: 0;
  border: 1px solid transparent;
  border-radius: 50%;
  color: var(--kh-accent-ink);
  background: var(--kh-accent);
  box-shadow: 0 9px 22px rgba(var(--kh-accent-rgb), .2);
  cursor: pointer;
  transform: var(--kh-rail-rest-transform, none);
  transition: transform 140ms var(--kh-ease-out), background-color 140ms var(--kh-ease-out), border-color 140ms var(--kh-ease-out), color 140ms var(--kh-ease-out), box-shadow 160ms var(--kh-ease-out);
}

.cub-catalog .catalog-hero__rail-arrow.kh-rail-button {
  width: 52px;
  min-width: 52px;
  height: 52px;
  min-height: 52px;
  flex-basis: 52px;
}

.cub-catalog .catalog-hero__rail-arrow--prev.kh-rail-button {
  --kh-rail-rest-transform: translateX(-50%);
  --kh-rail-hover-transform: translateX(-50%) translateY(-1px);
  --kh-rail-active-transform: translateX(-50%) scale(.95);
}

.cub-catalog .catalog-hero__rail-arrow--next.kh-rail-button {
  --kh-rail-rest-transform: translateX(50%);
  --kh-rail-hover-transform: translateX(50%) translateY(-1px);
  --kh-rail-active-transform: translateX(50%) scale(.95);
}

.kh-rail-button__icon {
  width: 20px;
  height: 20px;
  display: block;
  pointer-events: none;
}

.cub-catalog .kh-rail-button:disabled,
.portal-page .kh-rail-button:disabled,
.kh-rail-controls > button.kh-rail-button:disabled,
.kh-rail-button:disabled {
  border-color: var(--kh-line-strong);
  color: var(--kh-text-soft);
  background: var(--kh-surface-soft);
  box-shadow: none;
  opacity: 1;
  cursor: default;
  transform: var(--kh-rail-rest-transform, none);
}

.cub-catalog .kh-rail-button:active:not(:disabled),
.portal-page .kh-rail-button:active:not(:disabled),
.kh-rail-controls > button.kh-rail-button:active:not(:disabled),
.kh-rail-button:active:not(:disabled) {
  transform: var(--kh-rail-active-transform, scale(.95));
  transition-duration: 70ms;
}

.cub-catalog .kh-rail-button:focus-visible,
.portal-page .kh-rail-button:focus-visible,
.kh-rail-controls > button.kh-rail-button:focus-visible,
.kh-rail-button:focus-visible {
  outline: 3px solid rgba(var(--kh-accent-rgb), .56) !important;
  outline-offset: 3px !important;
}

.cub-catalog .filter-pill.is-active,
.cub-catalog .browse-apply,
.cub-catalog .browse-more {
  border-color: transparent;
  color: var(--kh-accent-ink);
  background: var(--kh-accent);
  box-shadow: 0 8px 22px rgba(var(--kh-accent-rgb), .2);
}

.cub-catalog .filter-pill:hover:not(.is-active),
.cub-catalog .browse-reset:hover {
  border-color: rgba(var(--kh-accent-rgb), .38);
  color: var(--kh-accent);
  background: rgba(var(--kh-accent-rgb), .08);
}

.cub-catalog .epwatch-link-button.is-danger,
.portal-page .epwatch-link-button.is-danger {
  border: 1px solid rgba(209, 59, 66, .22);
  color: var(--kh-danger);
  background: transparent;
  box-shadow: none;
}

.cub-catalog .epwatch-link-button.is-danger:hover,
.portal-page .epwatch-link-button.is-danger:hover {
  color: var(--kh-danger);
  background: rgba(209, 59, 66, .08);
}

/* The filtered catalog gets the same authored banner language as studio pages. */
.cub-catalog.browse-page:not(.studio-page) .browse-banner {
  position: relative;
  min-height: 246px;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  place-items: center stretch;
  gap: clamp(32px, 6vw, 90px);
  margin-bottom: clamp(44px, 5vw, 68px);
  overflow: hidden;
  padding: clamp(36px, 5vw, 64px);
  border: 1px solid var(--kh-line);
  border-radius: var(--kh-radius-lg);
  color: var(--kh-text);
  background:
    radial-gradient(circle at 84% 14%, rgba(var(--kh-accent-rgb), .16), transparent 38%),
    var(--kh-surface-solid);
  box-shadow: var(--kh-shadow-md);
}

.cub-catalog.browse-page:not(.studio-page) .browse-banner::before {
  position: absolute;
  inset: 24px auto 24px 0;
  width: 3px;
  border-radius: 0 3px 3px 0;
  content: "";
  background: var(--kh-accent);
  box-shadow: 0 0 26px rgba(var(--kh-accent-rgb), .38);
}

.cub-catalog.browse-page:not(.studio-page) .browse-banner__content {
  position: relative;
  z-index: 1;
  min-width: 0;
}

.cub-catalog.browse-page:not(.studio-page) .browse-banner h1 {
  max-width: 15ch;
  margin: 0;
  color: var(--kh-text);
  font-size: clamp(42px, 5vw, 72px);
  font-weight: 760;
  line-height: .98;
  letter-spacing: -.045em;
  text-align: left;
  text-wrap: balance;
}

.cub-catalog.browse-page:not(.studio-page) .browse-banner__description {
  max-width: 680px;
  margin: 18px 0 0;
  color: var(--kh-text-soft);
  font-size: clamp(15px, 1.35vw, 18px);
  line-height: 1.5;
}

.browse-banner__symbol {
  position: relative;
  z-index: 1;
  width: clamp(116px, 12vw, 154px);
  aspect-ratio: 1;
  display: grid;
  place-items: center;
  border: 1px solid rgba(var(--kh-accent-rgb), .22);
  border-radius: 32px;
  color: var(--kh-accent);
  background: rgba(var(--kh-accent-rgb), .09);
  box-shadow: inset 0 1px 0 rgba(255, 255, 255, .55);
}

.browse-banner__symbol svg { width: 74%; height: 74%; stroke: currentColor; stroke-width: 3; }
.browse-banner__symbol .browse-banner__play { fill: currentColor; stroke: none; }

/* Section banners share the same calm, informative surface as studio pages. */
.cub-catalog.category-page .category-banner {
  position: relative;
  min-height: 224px;
  display: grid;
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, .65fr);
  gap: clamp(30px, 5vw, 78px);
  align-items: center;
  margin: 0 0 clamp(54px, 6vw, 86px);
  overflow: hidden;
  padding: clamp(34px, 5vw, 58px);
  border: 1px solid var(--kh-line);
  border-radius: var(--kh-radius-lg);
  color: var(--kh-text);
  background: var(--kh-surface-solid);
  box-shadow: var(--kh-shadow-md);
}

.cub-catalog.category-page .category-banner::before {
  position: absolute;
  inset: 22px auto 22px 0;
  width: 3px;
  border-radius: 0 3px 3px 0;
  content: "";
  background: var(--kh-accent);
  box-shadow: 0 0 26px rgba(var(--kh-accent-rgb), .38);
}

.category-banner__content { min-width: 0; }

.cub-catalog.category-page .category-banner__eyebrow {
  margin: 0 0 12px;
  color: var(--kh-accent);
  font-size: 12px;
  font-weight: 780;
  letter-spacing: .09em;
  text-transform: uppercase;
}

.cub-catalog.category-page .category-banner h1 {
  margin: 0;
  color: var(--kh-text);
  font-size: clamp(42px, 5vw, 72px);
  font-weight: 760;
  line-height: .98;
  letter-spacing: -.045em;
  text-align: left;
}

.cub-catalog.category-page .category-banner__description {
  max-width: 650px;
  margin: 18px 0 0;
  color: var(--kh-text-soft);
  font-size: clamp(15px, 1.35vw, 18px);
  line-height: 1.5;
}

.category-banner__meta {
  min-height: 116px;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 24px;
  border: 1px solid var(--kh-line);
  border-radius: var(--kh-radius-md);
  background: var(--kh-surface-soft);
}

.category-banner__meta span {
  color: var(--kh-text-faint);
  font-size: 12px;
  font-weight: 680;
  letter-spacing: .035em;
  text-transform: uppercase;
}

.category-banner__meta strong {
  display: block;
  margin-top: 10px;
  font-size: clamp(17px, 1.7vw, 23px);
  line-height: 1.25;
}

/* EpWatch sections use the same padded card hierarchy as backup and profiles. */
.cabinet-page .epwatch-cabinet-section {
  margin-top: 20px;
  padding: clamp(20px, 2.6vw, 30px);
}

.cabinet-page .epwatch-cabinet-section__head { margin-bottom: 18px; }
.cabinet-page .epwatch-cabinet-section__head h2 { font-size: 24px; }
.cabinet-page .epwatch-cabinet-section__head span { color: var(--kh-accent); }
.cabinet-page .epwatch-stats article,
.cabinet-page .epwatch-subscription,
.cabinet-page :is(.epwatch-schedule-list, .epwatch-recent-list) { border-color: var(--kh-line); background: var(--kh-surface-soft); }
.cabinet-page :is(.epwatch-schedule-item, .epwatch-recent-item) { transition: background-color 160ms var(--kh-ease-out); }

/* Choice controls echo the dot state used by catalog card menus. */
.cub-catalog .catalog-card-menu__dot,
.catalog-card-menu__dot {
  border: 1px solid var(--kh-line-strong);
  background: var(--kh-surface-soft);
  box-shadow: none;
  transition: background-color 160ms var(--kh-ease-out), border-color 160ms var(--kh-ease-out), box-shadow 180ms var(--kh-ease-out), transform 140ms var(--kh-ease-out);
}

.cub-catalog .catalog-card-menu__item.is-selected .catalog-card-menu__dot,
.catalog-card-menu__item.is-selected .catalog-card-menu__dot {
  border-color: var(--kh-accent);
  background: var(--kh-accent);
  box-shadow: 0 0 0 4px rgba(var(--kh-accent-rgb), .14);
}

.catalog-card-menu__item:active .catalog-card-menu__dot { transform: scale(.82); }

.cabinet-page :is(.backup-category, .backup-restore-options label, .backup-preview-row) input[type="checkbox"] {
  width: 16px;
  height: 16px;
  flex: 0 0 16px;
  margin: 2px 0 0;
  appearance: none;
  border: 1px solid var(--kh-line-strong);
  border-radius: 50%;
  background: var(--kh-surface-solid);
  cursor: pointer;
  transition: background-color 160ms var(--kh-ease-out), border-color 160ms var(--kh-ease-out), box-shadow 180ms var(--kh-ease-out), transform 140ms var(--kh-ease-out);
}

.cabinet-page :is(.backup-category, .backup-restore-options label, .backup-preview-row) input[type="checkbox"]:checked {
  border-color: var(--kh-accent);
  background: var(--kh-accent);
  box-shadow: 0 0 0 4px rgba(var(--kh-accent-rgb), .14);
}

.cabinet-page :is(.backup-category, .backup-restore-options label, .backup-preview-row) input[type="checkbox"]:active { transform: scale(.82); }

/* One restrained, physical poster response across catalog and cabinet surfaces. */
.cub-catalog :is(.media-card__poster, .category-card__poster, .browse-card__poster, .catalog-live-search__poster),
.cabinet-page :is(.library-card, .continue-card, .epwatch-subscription__poster, .notification-item__poster),
.card-page :is(.person-card, .recommendation-card img, .trailer-card__image),
.person-page .person-work__poster,
.persons-page .person-card__portrait,
.collections-page :is(.collection-card, .collection-card__image) {
  transform: translateZ(0);
  transition: box-shadow 220ms var(--kh-ease-out), transform 220ms var(--kh-ease-out), border-color 180ms var(--kh-ease-out);
}

.cub-catalog :is(.media-card__poster, .category-card__poster, .browse-card__poster, .catalog-hero-card__poster, .catalog-live-search__poster) img,
.cabinet-page :is(.library-card__poster, .continue-card__poster, .epwatch-subscription__poster, .notification-item__poster) img,
.person-page .person-work__poster img,
.persons-page .person-card__portrait img,
.collections-page .collection-card__image img {
  transition: transform 240ms var(--kh-ease-out);
}

@media (hover: hover) and (pointer: fine) {
  .cub-catalog .kh-rail-button:hover:not(:disabled),
  .portal-page .kh-rail-button:hover:not(:disabled),
  .kh-rail-controls > button.kh-rail-button:hover:not(:disabled),
  .kh-rail-button:hover:not(:disabled) {
    border-color: color-mix(in srgb, var(--kh-accent) 82%, #000);
    color: var(--kh-accent-ink);
    background: color-mix(in srgb, var(--kh-accent) 90%, #000);
    box-shadow: 0 13px 28px rgba(var(--kh-accent-rgb), .26);
    transform: var(--kh-rail-hover-transform, translateY(-1px));
  }

  .cub-catalog :is(.media-card, .category-card, .browse-card):hover :is(.media-card__poster, .category-card__poster, .browse-card__poster),
  .cub-home .catalog-hero-card:hover .catalog-hero-card__poster,
  .cabinet-page :is(.library-card, .continue-card):hover,
  .cabinet-page :is(.epwatch-subscription__poster, .notification-item__poster):hover,
  .card-page .person-card:hover,
  .card-page .recommendation-card:hover img,
  .card-page .trailer-card:hover .trailer-card__image,
  .person-page .person-work:hover .person-work__poster,
  .persons-page .person-card__link:hover .person-card__portrait,
  .collections-page .collection-card:hover {
    border-color: rgba(var(--kh-accent-rgb), .28);
    transform: translate3d(0, -4px, 0) scale(1.005);
    box-shadow: 0 0 0 1px rgba(var(--kh-accent-rgb), .12), var(--kh-shadow-md);
  }

  .cub-catalog :is(.media-card, .category-card, .browse-card):hover :is(.media-card__poster, .category-card__poster, .browse-card__poster) img,
  .cub-home .catalog-hero-card:hover .catalog-hero-card__poster img,
  .cabinet-page :is(.library-card, .continue-card):hover :is(.library-card__poster, .continue-card__poster) img,
  .cabinet-page :is(.epwatch-subscription__poster, .notification-item__poster):hover img,
  .person-page .person-work:hover .person-work__poster img,
  .persons-page .person-card__link:hover .person-card__portrait img,
  .collections-page .collection-card:hover .collection-card__image img {
    transform: scale(1.025);
  }

  .cub-catalog .media-card__button:hover .media-card__poster::before {
    opacity: 1;
    transform: none;
  }

  .library-category-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--kh-shadow-md);
  }

  .apps-page .app-card:hover {
    transform: translateY(-2px);
    box-shadow: var(--kh-shadow-md);
  }

  .cabinet-page :is(.epwatch-schedule-item, .epwatch-recent-item):hover { background: var(--kh-surface-solid); }
}

@media (max-width: 1180px) {
  .cub-catalog .catalog-header,
  .catalog-header { gap: 12px 18px; }

  .cub-catalog .catalog-search,
  .catalog-search { width: clamp(180px, 30vw, 300px); }

  .kh-footer__grid { grid-template-columns: minmax(280px, 1.2fr) repeat(2, minmax(170px, .7fr)); }
  .kh-footer__apps { grid-column: 1 / -1; }
  .kh-footer__app-body { display: grid; grid-template-columns: minmax(250px, .7fr) 1fr auto; align-items: center; gap: 24px; }
  .kh-footer__app-body > p { margin: 0; }
}

@media (max-width: 1024px) {
  .cub-catalog,
  .catalog-page { --kh-mobile-header-height: calc(76px + env(safe-area-inset-top)); }

  .cub-catalog .catalog-menu,
  .catalog-menu {
    order: 0;
    width: 44px;
    height: 44px;
    flex: 0 0 44px;
    padding: 0;
    display: grid;
    place-items: center;
    border: 0;
    border-radius: 50%;
    color: #fff;
    background: transparent;
  }

  .catalog-back {
    order: 1;
    flex: 0 0 44px;
    aspect-ratio: 1;
  }

  .cub-catalog .catalog-brand,
  .catalog-brand { order: 2; }

  .cub-catalog .catalog-header__actions,
  .catalog-header__actions { order: 3; }

  .cub-catalog .catalog-menu:hover,
  .catalog-menu:hover { background: rgba(255, 255, 255, .1); }

  .cub-catalog .catalog-menu svg,
  .catalog-menu svg { width: 25px; height: 25px; }

  .cub-catalog .catalog-nav,
  .catalog-nav {
    position: fixed;
    z-index: 1190;
    top: var(--kh-mobile-header-height);
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: calc(100dvh - var(--kh-mobile-header-height));
    max-height: calc(100dvh - var(--kh-mobile-header-height));
    padding: 18px max(18px, env(safe-area-inset-right)) calc(110px + env(safe-area-inset-bottom)) max(18px, env(safe-area-inset-left));
    display: flex;
    overflow-y: auto;
    flex-direction: column;
    align-items: stretch;
    justify-content: flex-start;
    align-content: start;
    gap: 4px;
    border: 0;
    border-top: 1px solid var(--kh-line);
    color: var(--kh-text);
    background: color-mix(in srgb, var(--kh-surface-solid) 94%, transparent);
    box-shadow: 0 28px 70px rgba(4, 8, 16, .16);
    backdrop-filter: blur(30px) saturate(150%);
    -webkit-backdrop-filter: blur(30px) saturate(150%);
    visibility: hidden;
    opacity: 0;
    transform: translateY(-6px);
    pointer-events: none;
    transition: opacity 180ms var(--kh-ease-out), transform 220ms var(--kh-ease-out), visibility 0s linear 220ms;
  }

  .cub-catalog .catalog-nav.is-open,
  .catalog-nav.is-open {
    visibility: visible;
    opacity: 1;
    transform: none;
    pointer-events: auto;
    transition-delay: 0s;
  }

  .catalog-menu-is-open { overflow: hidden; }

  .catalog-menu-is-open .catalog-mobile-nav {
    opacity: 0;
    transform: translateY(12px);
    pointer-events: none;
  }

  .catalog-nav-backdrop {
    position: fixed;
    z-index: 990;
    inset: var(--kh-mobile-header-height) 0 0;
    display: block;
    padding: 0;
    border: 0;
    background: rgba(3, 6, 12, .38);
    backdrop-filter: blur(4px);
    -webkit-backdrop-filter: blur(4px);
  }

  .catalog-nav-backdrop[hidden] { display: none; }

  :root[data-theme="dark"] .cub-catalog .catalog-nav,
  :root[data-theme="dark"] .catalog-nav {
    background: color-mix(in srgb, var(--kh-surface-solid) 94%, transparent);
  }

  .cub-catalog .catalog-nav > a,
  .cub-catalog .catalog-nav > details > summary,
  .cub-catalog .catalog-header .catalog-nav > a,
  .cub-catalog .catalog-header .catalog-nav-more > summary,
  .catalog-nav > a,
  .catalog-nav > details > summary {
    min-height: 58px;
    padding: 0 14px;
    justify-content: flex-start;
    border: 0;
    border-radius: var(--kh-radius-sm);
    color: var(--kh-text);
    background: transparent;
    font-size: 19px;
    font-weight: 620;
  }

  .cub-catalog .catalog-nav > a:hover,
  .cub-catalog .catalog-nav > a.is-active,
  .cub-catalog .catalog-nav > details > summary:hover,
  .cub-catalog .catalog-nav > details[open] > summary,
  .cub-catalog .catalog-nav > details.is-active > summary {
    color: color-mix(in srgb, var(--kh-accent) 70%, var(--kh-text));
    background: rgba(var(--kh-accent-rgb), .09);
  }

  .cub-catalog .catalog-nav > a::before,
  .catalog-nav > a::before { display: none; }

  .cub-catalog .catalog-nav-more,
  .catalog-nav-more { width: 100%; }

  .cub-catalog .catalog-nav-more > summary,
  .catalog-nav-more > summary { width: 100%; }

  .cub-catalog .catalog-nav-more__chevron,
  .catalog-nav-more__chevron { margin-left: auto; }

  .cub-catalog .catalog-nav-more__menu,
  .catalog-nav-more__menu {
    position: static;
    width: 100%;
    margin: 4px 0 8px;
    padding: 6px;
    border-color: var(--kh-line);
    color: var(--kh-text);
    background: var(--kh-surface-soft);
    box-shadow: none;
    transform: none;
  }

  .cub-catalog .catalog-nav-more__menu a,
  .catalog-nav-more__menu a { color: var(--kh-text-soft); }

  .cub-catalog .catalog-nav-more__menu a[aria-current="page"],
  .catalog-nav-more__menu a[aria-current="page"] {
    color: var(--kh-accent);
    background: rgba(var(--kh-accent-rgb), .09);
  }

  .cabinet-page .cabinet-layout { grid-template-columns: 1fr; }
  .cabinet-page .cabinet-sidebar { position: static; grid-template-columns: 250px 1fr; }
}

@media (max-width: 900px) {
  .cub-catalog,
  .catalog-page { --kh-mobile-header-height: calc(70px + env(safe-area-inset-top)); }

  .cub-catalog .catalog-header,
  .catalog-header {
    min-height: var(--kh-mobile-header-height);
    padding: calc(9px + env(safe-area-inset-top)) max(16px, env(safe-area-inset-right)) 9px max(16px, env(safe-area-inset-left));
    flex-wrap: nowrap;
  }

  .cub-catalog .catalog-brand__mark,
  .catalog-brand__mark { width: 42px; height: 42px; }

  .catalog-back {
    width: 44px;
    height: 44px;
    flex-basis: 44px;
  }

  .cub-catalog .catalog-brand__text,
  .catalog-brand__text { font-size: 18px; }

  .cub-catalog .catalog-search,
  .catalog-search { width: 44px; border-radius: 50%; background: transparent; }
  .cub-catalog .catalog-search input,
  .catalog-search input { display: none; }

  .kh-footer__grid { grid-template-columns: 1.15fr .85fr .85fr; }
  .kh-footer__brand { grid-column: 1 / -1; }
}

@media (max-width: 780px) {
  .cub-catalog.browse-page:not(.studio-page) .browse-banner {
    min-height: 0;
    grid-template-columns: minmax(0, 1fr) 72px;
    gap: 18px;
    margin-bottom: 34px;
    padding: 30px 24px;
    border-radius: 20px;
  }

  .cub-catalog.browse-page:not(.studio-page) .browse-banner h1 { font-size: clamp(36px, 11vw, 52px); }
  .cub-catalog.browse-page:not(.studio-page) .browse-banner__description { margin-top: 14px; font-size: 15px; }
  .browse-banner__symbol { width: 72px; border-radius: 20px; }

  .cabinet-page .cabinet-surface-well {
    padding: 11px;
    border-radius: 19px;
  }

  :is(.persons-intro, .studios-intro) {
    min-height: 0;
    margin-bottom: 30px;
    padding: 30px 24px;
    border-radius: 20px;
  }

  .persons-intro h1,
  .studios-intro h1 { font-size: clamp(40px, 13vw, 56px); }

  .persons-intro > p:last-child,
  .studios-intro p:last-child { margin-top: 15px; font-size: 16px; }

  .cub-catalog.category-page .category-banner {
    min-height: 0;
    grid-template-columns: 1fr;
    gap: 20px;
    margin-bottom: 38px;
    padding: 30px 24px;
  }

  .cub-catalog.category-page .category-banner h1 { font-size: clamp(38px, 12vw, 54px); }
  .cub-catalog.category-page .category-banner__description { margin-top: 14px; }
  .category-banner__meta { min-height: 0; padding: 18px; }

  .cub-catalog .catalog-footer.kh-footer,
  .catalog-footer.kh-footer { padding: 28px 14px 18px; }

  .kh-footer__grid { display: block; }
  .kh-footer__brand { padding: 8px 8px 20px; }
  .kh-footer__identity strong { font-size: 17px; }
  .kh-footer__logo { width: 50px; height: 50px; flex-basis: 50px; }
  .kh-footer__appearance { align-items: stretch; }
  .kh-theme-control, .kh-accent-picker { flex: 1 1 auto; justify-content: center; }

  .kh-footer__group {
    margin-top: 8px;
    overflow: hidden;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 13px;
    background: rgba(255, 255, 255, .045);
  }

  .kh-footer__group summary {
    min-height: 52px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    padding: 0 16px;
    color: #fff;
    cursor: pointer;
  }

  .kh-footer__group summary svg { width: 19px; height: 19px; display: block; fill: none; stroke: currentColor; stroke-width: 1.8; transition: transform 200ms var(--kh-ease-out); }
  .kh-footer__group[open] summary svg { transform: rotate(90deg); }
  .kh-footer__group nav, .kh-footer__app-body { margin: 0; padding: 0 8px 10px; }
  .cub-catalog .catalog-footer.kh-footer .kh-footer__group nav,
  .kh-footer__group nav { display: grid; grid-template-columns: 1fr; }
  .kh-footer__app-body { display: block; }
  .kh-footer__app-body > p { margin: 15px 8px; }
  .kh-footer__platforms { padding: 0 8px 4px; }

  .kh-footer__legal { margin-top: 22px; padding: 20px 8px 0; display: grid; }
  .kh-footer__legal nav { gap: 12px 18px; }

  .cabinet-page .stats-grid {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    border: 0;
    background: transparent;
    box-shadow: none;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  .cabinet-page .stats-grid::-webkit-scrollbar { display: none; }
  .cabinet-page .stat-card,
  .cabinet-page .stat-card:first-child {
    min-width: min(228px, 78vw);
    flex: 0 0 min(228px, 78vw);
    border: 1px solid var(--kh-line);
    border-radius: var(--kh-radius-md);
    background: var(--kh-surface-solid);
    scroll-snap-align: start;
  }
  .cabinet-page .activity-head { align-items: stretch; gap: 12px; }
  .cabinet-page .activity-periods { width: 100%; flex-wrap: nowrap; overflow-x: auto; scrollbar-width: none; }
  .cabinet-page .activity-periods::-webkit-scrollbar { display: none; }
  .cabinet-page .activity-periods button { flex: 0 0 auto; white-space: nowrap; }
  .cabinet-page .activity-summary {
    display: flex;
    gap: 10px;
    overflow-x: auto;
    scroll-snap-type: x proximity;
    scrollbar-width: none;
  }
  .cabinet-page .activity-summary::-webkit-scrollbar { display: none; }
  .cabinet-page .activity-summary-card {
    min-width: min(210px, 72vw);
    flex: 0 0 min(210px, 72vw);
    scroll-snap-align: start;
  }

  .card-page .card-cast { gap: 10px; }
  .card-page .cast-person { width: 66px; flex-basis: 66px; }
  .card-page .cast-person__photo { width: 58px; height: 58px; }
  .card-page .card-cast-section:not(.is-expanded) .cast-person:nth-of-type(4) { display: none; }
  .card-page .card-cast__reveal { min-height: 40px; max-width: 116px; margin-top: 9px; padding: 0 13px; line-height: 1.15; }
}

@media (max-width: 720px) {
  .cub-home .catalog-hero {
    height: auto;
    min-height: 0;
    display: block;
    margin-bottom: 0;
    padding-top: 300px;
  }

  .cub-home .catalog-hero__backdrop,
  .cub-home .catalog-hero__shade {
    top: 0;
    right: 0;
    bottom: auto;
    left: 0;
    height: 590px;
  }

  .cub-home .catalog-hero__backdrop {
    transform: none !important;
  }

  .cub-home .catalog-hero__content { overflow: hidden; }

  .cub-home .catalog-hero h1 {
    display: -webkit-box;
    overflow: hidden;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }

  .cub-home .catalog-hero__meta {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .cub-home .catalog-hero__rail-shell {
    position: relative;
    top: auto;
    right: auto;
    bottom: auto;
    left: auto;
    margin: 0 20px;
  }

  .cub-home .catalog-hero__rail {
    width: 100%;
    max-width: 100%;
    box-sizing: border-box;
    align-items: start;
    overscroll-behavior-inline: contain;
  }

  .cub-home .catalog-hero__rail-arrow { display: none; }

  .cub-home .catalog-hero-card {
    align-self: start;
    height: max-content;
  }
}

@media (max-width: 560px) {
  .cub-catalog .catalog-brand__text,
  .catalog-brand__text { display: none; }

  .cub-catalog .catalog-header,
  .catalog-header { gap: 8px; }

  .catalog-back { margin-right: 0; }

  .cub-catalog .catalog-header__actions,
  .catalog-header__actions { gap: 4px; }

  .cub-catalog .account-link,
  .account-link { min-width: 44px; max-width: 110px; padding: 0 12px; overflow: hidden; text-overflow: ellipsis; }

  .kh-footer__appearance { display: grid; grid-template-columns: 1fr; }
  .kh-footer__brand > p { font-size: 13px; }
}

@media (max-width: 410px) {
  .cub-catalog .catalog-header,
  .catalog-header {
    gap: 2px;
    padding-right: max(6px, env(safe-area-inset-right));
    padding-left: max(6px, env(safe-area-inset-left));
  }
}

@media (max-width: 350px) {
  .cub-catalog .catalog-header__actions .theme-toggle,
  .catalog-header__actions .theme-toggle { display: none; }
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  *, *::before, *::after { scroll-behavior: auto !important; animation-duration: .01ms !important; animation-iteration-count: 1 !important; transition-duration: .01ms !important; }
  .profile-plugin-menu,
  .cub-catalog :is(.media-card__poster, .category-card__poster, .browse-card__poster, .catalog-hero-card__poster),
  .cabinet-page :is(.library-card, .continue-card, .epwatch-subscription__poster, .notification-item__poster),
  .person-page .person-work__poster,
  .persons-page .person-card__portrait,
  .collections-page .collection-card { transform: none !important; }
  .card-page .card-action { transform: none !important; }
  .catalog-back,
  .catalog-back:hover,
  .catalog-back:active { transform: none !important; }
  .cub-catalog .kh-rail-button,
  .portal-page .kh-rail-button,
  .kh-rail-controls > button.kh-rail-button,
  .kh-rail-button { transform: var(--kh-rail-rest-transform, none) !important; }
  .cub-catalog :is(.media-card__poster, .category-card__poster, .browse-card__poster, .catalog-hero-card__poster) img,
  .cabinet-page :is(.library-card__poster, .continue-card__poster, .epwatch-subscription__poster, .notification-item__poster) img,
  .person-page .person-work__poster img,
  .persons-page .person-card__portrait img,
  .collections-page .collection-card__image img { transform: none !important; }
}

@media (prefers-reduced-transparency: reduce) {
  .cub-catalog .catalog-header,
  .catalog-header,
  .cub-catalog .catalog-nav-more__menu,
  .catalog-nav-more__menu,
  .cub-catalog .catalog-account-menu,
  .catalog-account-menu,
  :is(.catalog-modal__dialog, .trailer-modal__dialog, .favorite-modal__dialog, .device-modal__dialog, .library-modal__dialog, .profile-modal__dialog, .site-modal__dialog),
  .card-page .card-action {
    backdrop-filter: none;
    -webkit-backdrop-filter: none;
    background: var(--kh-surface-solid);
  }

  .cub-catalog .catalog-header,
  .catalog-header { background: #0d1016; }

  .catalog-nav-backdrop { backdrop-filter: none; -webkit-backdrop-filter: none; }
}

/* Keep old informational and authentication bundles on the same theme tokens. */
.info-page,
:root[data-theme="dark"] .info-page {
  --info-ink: var(--kh-text);
  --info-muted: var(--kh-text-soft);
  --info-panel: var(--kh-surface-solid);
  --info-soft: var(--kh-bg);
  --info-accent: var(--kh-accent);
  color: var(--kh-text);
  background: var(--kh-bg);
}

.collections-page { overflow-x: clip; }

.plugin-card button { min-height: 44px; }
.plugin-card a { width: 44px; height: 44px; }

@media (prefers-contrast: more) {
  :root { --kh-line: rgba(19, 27, 39, .3); --kh-line-strong: rgba(19, 27, 39, .48); }
  :root[data-theme="dark"] { --kh-line: rgba(255, 255, 255, .28); --kh-line-strong: rgba(255, 255, 255, .48); }
  .cub-catalog .catalog-header, .catalog-header { background: #090b10; }
}
