
/* Explicitly respect the hidden attribute even when component classes define display.
   This prevents overlays from appearing before JavaScript toggles them. */
[hidden],
.wor-search[hidden],
.wor-drawer-backdrop[hidden] {
  display: none !important;
}

body.wor-search-open,
body.wor-drawer-open {
  overflow: hidden;
}
:root {
  color-scheme: light;
  --wor-bg: #f7f3ee;
  --wor-surface: rgba(255, 255, 255, 0.86);
  --wor-surface-solid: #ffffff;
  --wor-surface-soft: #f2ebe3;
  --wor-text: #211916;
  --wor-muted: #7b6b62;
  --wor-border: rgba(72, 52, 40, 0.12);
  --wor-accent: #8a5a36;
  --wor-accent-soft: rgba(138, 90, 54, 0.12);
  --wor-shadow: 0 16px 44px rgba(66, 44, 30, 0.12);
  --wor-radius-lg: 24px;
  --wor-radius-md: 18px;
  --wor-topbar-height: 64px;
  --wor-bottom-nav-height: 74px;
  --wor-safe-bottom: env(safe-area-inset-bottom, 0px);
  --wor-font: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", Tahoma, Arial, sans-serif;
}

html[data-wor-theme="dark"] {
  color-scheme: dark;
  --wor-bg: #000000;
  --wor-surface: rgba(5, 11, 20, 0.9);
  --wor-surface-solid: #050b14;
  --wor-surface-soft: #071426;
  --wor-text: #ffffff;
  --wor-muted: #b8c7d9;
  --wor-border: rgba(184, 199, 217, 0.16);
  --wor-accent: #60a5fa;
  --wor-accent-soft: rgba(96, 165, 250, 0.16);
  --wor-shadow: 0 18px 50px rgba(0, 0, 0, 0.46);
}

* {
  box-sizing: border-box;
}

html {
  min-height: 100%;
  background: var(--wor-bg);
  scroll-behavior: smooth;
}

body.wor-body {
  min-height: 100%;
  margin: 0;
  background:
    radial-gradient(circle at top right, var(--wor-accent-soft), transparent 36rem),
    var(--wor-bg);
  color: var(--wor-text);
  font-family: var(--wor-font);
  text-align: right;
  direction: rtl;
  -webkit-font-smoothing: antialiased;
}

body.single-wor_chapter.wor-body {
  background: var(--wor-reader-page-bg, var(--wor-bg));
  color: var(--wor-reader-page-fg, var(--wor-text));
}

body.single-wor_chapter .wor-reader-main,
body.single-wor_chapter .wor-reading-page {
  background: var(--wor-reader-page-bg, transparent);
}

body.single-wor_chapter .wor-reading-page__header h1,
body.single-wor_chapter .wor-reading-page__content {
  color: var(--wor-reader-page-fg, var(--wor-text));
}

body.single-wor_chapter .wor-reading-page__novel {
  color: var(--wor-reader-page-fg, var(--wor-accent));
  border-color: color-mix(in srgb, var(--wor-reader-page-fg, var(--wor-text)) 18%, transparent);
  background: color-mix(in srgb, var(--wor-reader-page-bg, var(--wor-bg)) 80%, var(--wor-reader-page-fg, var(--wor-text)) 8%);
}

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

img {
  max-width: 100%;
  height: auto;
}

button,
input {
  font: inherit;
}

.screen-reader-text,
.wor-skip-link {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.wor-skip-link:focus {
  position: fixed;
  inset-block-start: 12px;
  inset-inline-start: 12px;
  z-index: 2000;
  width: auto;
  height: auto;
  padding: 10px 14px;
  clip: auto;
  border-radius: 12px;
  background: var(--wor-surface-solid);
  box-shadow: var(--wor-shadow);
}

.wor-topbar {
  position: fixed;
  inset-block-start: 0;
  inset-inline: 0;
  z-index: 1000;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  gap: 8px;
  height: calc(var(--wor-topbar-height) + env(safe-area-inset-top, 0px));
  padding-block-start: env(safe-area-inset-top, 0px);
  padding-inline: 14px;
  background: color-mix(in srgb, var(--wor-surface) 92%, transparent);
  border-block-end: 1px solid var(--wor-border);
  backdrop-filter: blur(18px);
}

.wor-topbar__actions {
  display: flex;
  align-items: center;
  gap: 8px;
}

.wor-topbar__actions--start {
  justify-content: flex-start;
}

.wor-topbar__actions--end {
  justify-content: flex-end;
}

.wor-brand {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 0;
  color: var(--wor-text);
  font-weight: 900;
  letter-spacing: -0.04em;
  font-size: clamp(1.05rem, 4vw, 1.35rem);
}

.wor-brand img {
  max-height: 40px;
  width: auto;
}

.wor-icon-btn {
  position: relative;
  display: inline-grid;
  place-items: center;
  width: 42px;
  height: 42px;
  padding: 0;
  border: 1px solid var(--wor-border);
  border-radius: 15px;
  background: var(--wor-surface-solid);
  color: var(--wor-text);
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.04);
  cursor: pointer;
  transition: transform 160ms ease, border-color 160ms ease, background 160ms ease;
}

.wor-icon-btn:active {
  transform: scale(0.96);
}

.wor-icon-btn:hover,
.wor-icon-btn:focus-visible {
  border-color: color-mix(in srgb, var(--wor-accent) 55%, var(--wor-border));
  outline: none;
}

.wor-burger {
  display: grid;
  gap: 4px;
  width: 18px;
}

.wor-burger i {
  display: block;
  height: 2px;
  border-radius: 99px;
  background: currentColor;
}

.wor-notify-btn::after {
  content: "";
  position: absolute;
  inset-block-start: 9px;
  inset-inline-end: 9px;
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--wor-accent);
}

.wor-main {
  width: min(1180px, 100%);
  margin-inline: auto;
  padding: calc(var(--wor-topbar-height) + env(safe-area-inset-top, 0px) + 16px) 14px calc(var(--wor-bottom-nav-height) + var(--wor-safe-bottom) + 26px);
}

.wor-section {
  margin-block-end: 28px;
}

.wor-section__head,
.wor-page-head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 16px;
  margin-block-end: 14px;
}

.wor-section__head h2,
.wor-page-head h1 {
  margin: 0;
  font-size: clamp(1.25rem, 5vw, 1.9rem);
  line-height: 1.15;
  letter-spacing: -0.04em;
}

.wor-page-head {
  display: block;
  padding: 20px;
  border: 1px solid var(--wor-border);
  border-radius: var(--wor-radius-lg);
  background: var(--wor-surface);
  box-shadow: var(--wor-shadow);
  min-width: 0;
}

.wor-page-head p {
  margin: 8px 0 0;
  color: var(--wor-muted);
  line-height: 1.8;
}

.wor-section__head a {
  flex: 0 0 auto;
  color: var(--wor-accent);
  font-weight: 800;
  font-size: 0.93rem;
}

.wor-section__head--plain {
  justify-content: flex-start;
}

.wor-card-rail {
  display: grid;
  grid-auto-flow: column;
  grid-auto-columns: minmax(138px, 42%);
  gap: 12px;
  overflow-x: auto;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline mandatory;
  padding-block: 4px 12px;
  scrollbar-width: none;
}

.wor-card-rail::-webkit-scrollbar {
  display: none;
}

.wor-novel-card {
  scroll-snap-align: start;
  min-width: 0;
}

.wor-novel-card__cover,
.wor-cover-fallback {
  position: relative;
  display: block;
  overflow: hidden;
  aspect-ratio: 2 / 3;
  border-radius: var(--wor-radius-md);
  border: 1px solid var(--wor-border);
  background: linear-gradient(145deg, var(--wor-surface-soft), var(--wor-accent-soft));
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.1);
}

.wor-cover-img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wor-cover-fallback {
  display: grid;
  place-items: center;
}

.wor-cover-fallback span {
  display: grid;
  place-items: center;
  width: 48px;
  height: 48px;
  border-radius: 18px;
  background: var(--wor-surface-solid);
  color: var(--wor-accent);
  font-weight: 900;
  font-size: 1.4rem;
}

.wor-novel-card h3 {
  margin: 10px 2px 4px;
  font-size: 0.96rem;
  line-height: 1.45;
  letter-spacing: -0.02em;
}

.wor-novel-card h3 a {
  display: -webkit-box;
  overflow: hidden;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.wor-novel-card__meta {
  display: block;
  margin-inline: 2px;
  color: var(--wor-muted);
  font-size: 0.82rem;
}

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

.wor-latest-item {
  display: grid;
  grid-template-columns: 82px minmax(0, 1fr);
  gap: 12px;
  padding: 10px;
  border: 1px solid var(--wor-border);
  border-radius: var(--wor-radius-lg);
  background: var(--wor-surface);
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.05);
}

.wor-latest-item__cover {
  overflow: hidden;
  aspect-ratio: 2 / 3;
  border-radius: 17px;
  background: var(--wor-surface-soft);
}

.wor-latest-item__body {
  min-width: 0;
  display: grid;
  gap: 8px;
}

.wor-latest-item__top h3 {
  margin: 2px 0 2px;
  font-size: 1rem;
  line-height: 1.45;
}

.wor-latest-item__top time {
  display: block;
  color: var(--wor-muted);
  font-size: 0.8rem;
}

.wor-latest-item__chapters {
  display: grid;
  gap: 7px;
}

.wor-chapter-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  padding: 9px 10px;
  border-radius: 14px;
  background: var(--wor-surface-soft);
  color: var(--wor-text);
}

.wor-chapter-row span {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 750;
}

.wor-chapter-row time {
  flex: 0 0 auto;
  color: var(--wor-muted);
  font-size: 0.78rem;
}

.wor-bottom-nav {
  position: fixed;
  inset-inline: 10px;
  inset-block-end: calc(10px + var(--wor-safe-bottom));
  z-index: 990;
  display: grid;
  grid-template-columns: repeat(5, 1fr);
  gap: 4px;
  height: var(--wor-bottom-nav-height);
  padding: 8px;
  border: 1px solid var(--wor-border);
  border-radius: 26px;
  background: color-mix(in srgb, var(--wor-surface) 94%, transparent);
  box-shadow: var(--wor-shadow);
  backdrop-filter: blur(18px);
}

.wor-bottom-nav__item {
  display: grid;
  place-items: center;
  align-content: center;
  gap: 3px;
  border-radius: 20px;
  color: var(--wor-muted);
  font-size: 0.74rem;
  font-weight: 800;
  transition: background 160ms ease, color 160ms ease, transform 160ms ease;
}

.wor-bottom-nav__item.is-active {
  background: var(--wor-accent-soft);
  color: var(--wor-accent);
}

.wor-bottom-nav__icon {
  font-size: 1.18rem;
  line-height: 1;
}

.wor-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1200;
  background: rgba(0, 0, 0, 0.38);
  backdrop-filter: blur(4px);
}

.wor-drawer {
  position: fixed;
  inset-block: 0;
  inset-inline-start: 0;
  z-index: 1210;
  width: min(330px, 86vw);
  padding: calc(18px + env(safe-area-inset-top, 0px)) 16px 18px;
  background: var(--wor-surface-solid);
  border-inline-end: 1px solid var(--wor-border);
  box-shadow: var(--wor-shadow);
  transform: translateX(110%);
  transition: transform 220ms ease;
}

.wor-drawer.is-open {
  transform: translateX(0);
}

.wor-drawer__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-block-end: 20px;
}

.wor-drawer__head strong {
  font-size: 1.15rem;
}

.wor-drawer__nav,
.wor-drawer__nav .menu {
  display: grid;
  gap: 8px;
  padding: 0;
  margin: 0;
  list-style: none;
}

.wor-drawer__nav a {
  display: block;
  padding: 12px 14px;
  border-radius: 16px;
  background: var(--wor-surface-soft);
  font-weight: 800;
}

.wor-search {
  position: fixed;
  inset: 0;
  z-index: 1300;
  display: none;
  place-items: start center;
  padding: calc(18px + env(safe-area-inset-top, 0px)) 14px;
  background: rgba(0, 0, 0, 0.38);
  backdrop-filter: blur(8px);
}

.wor-search.is-open {
  display: grid;
}

.wor-search__form {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto auto;
  gap: 8px;
  width: min(720px, 100%);
  padding: 10px;
  border: 1px solid var(--wor-border);
  border-radius: 22px;
  background: var(--wor-surface-solid);
  box-shadow: var(--wor-shadow);
}

.wor-search__form input {
  min-width: 0;
  height: 46px;
  padding: 0 14px;
  border: 1px solid var(--wor-border);
  border-radius: 16px;
  background: var(--wor-surface-soft);
  color: var(--wor-text);
  outline: none;
}

.wor-search__form button {
  min-width: 48px;
  height: 46px;
  padding: 0 14px;
  border: 0;
  border-radius: 16px;
  background: var(--wor-accent);
  color: var(--wor-bg);
  font-weight: 900;
  cursor: pointer;
}

.wor-search__form button[data-wor-search-close] {
  background: var(--wor-surface-soft);
  color: var(--wor-text);
}

.wor-filter-tabs {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 8px;
  margin-block: 16px;
  padding: 6px;
  border: 1px solid var(--wor-border);
  border-radius: 20px;
  background: var(--wor-surface);
}

.wor-filter-tabs a {
  display: grid;
  place-items: center;
  min-height: 42px;
  border-radius: 15px;
  color: var(--wor-muted);
  font-weight: 900;
}

.wor-filter-tabs a.is-active {
  background: var(--wor-accent-soft);
  color: var(--wor-accent);
}

.wor-grid-list {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  margin-block-start: 16px;
}

.wor-empty-state,
.wor-empty-page-card,
.wor-content-card,
.wor-post-card {
  grid-column: 1 / -1;
  padding: 22px;
  border: 1px solid var(--wor-border);
  border-radius: var(--wor-radius-lg);
  background: var(--wor-surface);
  box-shadow: var(--wor-shadow);
}

.wor-empty-state strong,
.wor-empty-page-card h1,
.wor-content-card h1,
.wor-post-card h2 {
  margin-block: 0 8px;
}

.wor-empty-state p,
.wor-empty-page-card p,
.wor-content-card__body,
.wor-post-card p {
  margin: 0;
  color: var(--wor-muted);
  line-height: 1.9;
}

.wor-empty-page-card {
  display: grid;
  justify-items: center;
  text-align: center;
  margin-block-start: 26px;
}

.wor-empty-page-card__icon {
  display: grid;
  place-items: center;
  width: 64px;
  height: 64px;
  margin-block-end: 12px;
  border-radius: 24px;
  background: var(--wor-accent-soft);
  color: var(--wor-accent);
  font-size: 1.8rem;
}

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

.wor-pagination .page-numbers {
  display: grid;
  place-items: center;
  min-width: 42px;
  height: 42px;
  padding-inline: 12px;
  border-radius: 15px;
  background: var(--wor-surface);
  border: 1px solid var(--wor-border);
  color: var(--wor-muted);
  font-weight: 900;
}

.wor-pagination .current {
  background: var(--wor-accent-soft);
  color: var(--wor-accent);
}

@media (min-width: 560px) {
  .wor-card-rail {
    grid-auto-columns: minmax(160px, 18%);
  }

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

@media (min-width: 860px) {
  .wor-main {
    padding-inline: 24px;
  }

  .wor-card-rail {
    grid-auto-columns: 178px;
  }

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

  .wor-grid-list {
    grid-template-columns: repeat(5, minmax(0, 1fr));
  }

  .wor-bottom-nav {
    inset-inline: 50%;
    width: min(720px, calc(100% - 28px));
    transform: translateX(50%);
  }
}

@supports not (color: color-mix(in srgb, white, black)) {
  .wor-topbar,
  .wor-bottom-nav {
    background: var(--wor-surface-solid);
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: 0.01ms !important;
  }
}

.wor-single-novel {
  display: grid;
  gap: 18px;
}

.wor-single-novel__cover {
  max-width: 220px;
  width: 58vw;
  justify-self: center;
}

.wor-single-novel__body {
  min-width: 0;
}

.wor-chapter-parent {
  display: inline-flex;
  width: fit-content;
  margin-block-end: 10px;
  padding: 8px 12px;
  border-radius: 999px;
  background: var(--wor-accent-soft);
  color: var(--wor-accent);
  font-weight: 900;
}

@media (min-width: 720px) {
  .wor-single-novel {
    grid-template-columns: 220px minmax(0, 1fr);
    align-items: start;
  }

  .wor-single-novel__cover {
    width: 220px;
  }
}

@media (min-width: 860px) {
  .wor-bottom-nav {
    inset-inline-start: 50%;
    inset-inline-end: auto;
    width: min(720px, calc(100% - 28px));
    transform: translateX(50%);
  }
}

.wor-novel-meta,
.wor-novel-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-block: 10px 12px;
}

.wor-novel-meta span,
.wor-novel-tags a {
  display: inline-flex;
  align-items: center;
  min-height: 30px;
  padding: 6px 10px;
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: var(--wor-surface-soft);
  color: var(--wor-muted);
  font-size: 0.86rem;
}

.wor-novel-tags a {
  color: var(--wor-text);
}

.wor-novel-summary {
  margin-block-start: 14px;
}

.wor-chapter-list {
  display: grid;
  gap: 10px;
}

.wor-chapter-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 16px;
  border: 1px solid var(--wor-border);
  border-radius: var(--wor-radius-md);
  background: var(--wor-surface-solid);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.04);
}

.wor-chapter-row span {
  font-weight: 800;
}

.wor-chapter-row small {
  color: var(--wor-muted);
}


.wor-content-card {
  padding: 18px;
  border: 1px solid var(--wor-border);
  border-radius: var(--wor-radius-lg);
  background: color-mix(in srgb, var(--wor-surface) 94%, transparent);
  box-shadow: var(--wor-shadow);
}

.wor-single-novel-page {
  display: grid;
  gap: 18px;
}

.wor-single-hero {
  display: grid;
  gap: 18px;
  justify-items: center;
  text-align: center;
}

.wor-single-hero__cover {
  width: min(220px, 52vw);
}

.wor-single-hero__cover .wor-cover-img,
.wor-single-hero__cover .wor-cover-fallback {
  border-radius: 24px;
  box-shadow: 0 18px 34px rgba(0, 0, 0, 0.18);
}

.wor-single-hero__body {
  width: min(760px, 100%);
}

.wor-single-hero__body h1 {
  margin: 0;
  font-size: clamp(1.55rem, 5vw, 2.3rem);
  line-height: 1.3;
}

.wor-single-hero__meta-text {
  margin: 8px 0 0;
  color: var(--wor-muted);
  font-size: 0.98rem;
}

.wor-single-hero__meta-text span {
  color: var(--wor-text);
  font-weight: 700;
}

.wor-single-hero__submeta {
  display: flex;
  flex-wrap: wrap;
  justify-content: center;
  gap: 10px;
  margin-top: 10px;
  color: var(--wor-muted);
}

.wor-badge {
  display: inline-flex;
  align-items: center;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--wor-accent-soft);
  color: var(--wor-accent);
  font-weight: 800;
}

.wor-single-stats {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-top: 18px;
  overflow: hidden;
  border: 1px solid var(--wor-border);
  border-radius: 22px;
  background: color-mix(in srgb, var(--wor-surface-solid) 90%, transparent);
}

.wor-single-stats__item {
  display: grid;
  gap: 5px;
  place-items: center;
  padding: 18px 12px;
}

.wor-single-stats__item + .wor-single-stats__item {
  border-inline-start: 1px solid var(--wor-border);
}

.wor-single-stats__item i {
  font-style: normal;
  font-size: 1.2rem;
  color: var(--wor-accent);
}

.wor-single-stats__item strong {
  font-size: 1.15rem;
}

.wor-single-stats__item span {
  color: var(--wor-muted);
  font-size: 0.92rem;
}

.wor-single-info-section h2 {
  margin: 0;
  font-size: 1.15rem;
}

.wor-single-summary {
  position: relative;
}

.wor-single-summary__text {
  color: var(--wor-text);
  line-height: 1.95;
}

.wor-single-summary.is-collapsed .wor-single-summary__text {
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

.wor-single-about-card,
.wor-single-about-card__genres {
  min-width: 0;
  max-width: 100%;
}

.wor-single-about-card__genres {
  margin-top: 22px;
  padding-top: 18px;
  border-top: 1px solid var(--wor-border);
  overflow: hidden;
}

.wor-single-about-card__genres .wor-section__head {
  margin-bottom: 12px;
}

.wor-link-btn {
  margin-top: 10px;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--wor-accent);
  font-weight: 800;
  cursor: pointer;
}

.wor-tags-scroller {
  display: flex;
  flex-wrap: nowrap;
  gap: 10px;
  width: 100%;
  max-width: 100%;
  min-width: 0;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px 2px 10px;
  scrollbar-width: thin;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-inline: contain;
  scroll-snap-type: inline proximity;
  touch-action: pan-x;
  cursor: grab;
}

.wor-tags-scroller.is-dragging {
  cursor: grabbing;
  scroll-behavior: auto;
  user-select: none;
}

.wor-tags-scroller::-webkit-scrollbar {
  height: 6px;
}

.wor-tags-scroller::-webkit-scrollbar-thumb {
  border-radius: 999px;
  background: color-mix(in srgb, var(--wor-muted) 42%, transparent);
}

.wor-tags-scroller::-webkit-scrollbar-track {
  background: transparent;
}

.wor-tag-pill {
  flex: 0 0 auto;
  display: inline-flex;
  align-items: center;
  max-width: min(76vw, 260px);
  min-height: 40px;
  padding: 0 15px;
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: var(--wor-surface-solid);
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  scroll-snap-align: start;
}

.wor-single-panels {
  display: grid;
  gap: 16px;
}

.wor-panel-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  border-radius: 999px;
  background: var(--wor-surface-soft);
}

.wor-panel-tab {
  display: flex;
  justify-content: center;
  align-items: center;
  gap: 8px;
  min-height: 54px;
  border: 0;
  background: transparent;
  color: var(--wor-muted);
  font-weight: 800;
  cursor: pointer;
}

.wor-panel-tab span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 28px;
  min-height: 28px;
  padding: 0 8px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--wor-surface-solid) 90%, transparent);
}

.wor-panel-tab.is-active {
  background: color-mix(in srgb, var(--wor-accent) 22%, var(--wor-surface-soft));
  color: var(--wor-text);
}

.wor-panel[hidden] {
  display: none !important;
}

.wor-chapter-filters {
  display: grid;
  gap: 12px;
  margin-bottom: 16px;
}

.wor-chapter-searchbox input,
.wor-chapter-orderbox select {
  width: 100%;
  min-height: 46px;
  padding: 0 16px;
  border: 1px solid var(--wor-border);
  border-radius: 16px;
  background: var(--wor-surface-solid);
  color: var(--wor-text);
}

.wor-novel-chapters-list {
  display: grid;
  gap: 12px;
}

.wor-novel-chapter-item {
  display: grid;
  grid-template-columns: 70px minmax(0, 1fr) 86px;
  gap: 14px;
  align-items: center;
  padding: 16px;
  border: 1px solid var(--wor-border);
  border-radius: 18px;
  background: color-mix(in srgb, var(--wor-surface-solid) 88%, transparent);
}

.wor-novel-chapter-item__num {
  display: grid;
  place-items: center;
  min-height: 60px;
  border-radius: 18px;
  background: color-mix(in srgb, var(--wor-accent) 18%, var(--wor-surface-soft));
  color: var(--wor-accent);
  font-weight: 900;
  font-size: 1.25rem;
}

.wor-novel-chapter-item__body {
  min-width: 0;
}

.wor-novel-chapter-item__body h3 {
  margin: 0;
  font-size: 1rem;
  line-height: 1.7;
}

.wor-novel-chapter-item__body time {
  display: block;
  margin-top: 6px;
  color: var(--wor-muted);
  font-size: 0.92rem;
}

.wor-novel-chapter-item__meta {
  display: grid;
  gap: 10px;
  justify-items: start;
}

.wor-novel-chapter-item__meta span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  color: var(--wor-muted);
  font-size: 0.92rem;
}

.wor-novel-chapter-item__meta i {
  font-style: normal;
}

.wor-novel-chapter-item--compact {
  grid-template-columns: 70px minmax(0, 1fr) 58px;
}

@media (max-width: 767px) {
  .wor-novel-chapter-item--compact {
    grid-template-columns: 58px minmax(0, 1fr) 48px;
    gap: 10px;
  }
}

.wor-novel-chapters-footer {
  display: flex;
  justify-content: center;
  margin-top: 18px;
}

.wor-load-more-btn {
  min-width: 170px;
  min-height: 48px;
  padding: 0 20px;
  border: 1px solid var(--wor-border);
  border-radius: 16px;
  background: var(--wor-surface-solid);
  color: var(--wor-text);
  font-weight: 800;
  cursor: pointer;
}

.wor-load-more-btn[disabled] {
  opacity: 0.45;
  cursor: default;
}

.wor-empty-state--soft {
  padding: 24px 16px;
  border: 1px dashed var(--wor-border);
  border-radius: 18px;
  background: color-mix(in srgb, var(--wor-surface-soft) 80%, transparent);
  text-align: center;
}

.wor-empty-state--soft p {
  margin: 8px 0 0;
  color: var(--wor-muted);
  line-height: 1.8;
}

@media (min-width: 768px) {
  .wor-single-hero {
    padding: 30px 24px;
  }

  .wor-chapter-filters {
    grid-template-columns: minmax(0, 1.5fr) minmax(220px, .8fr);
  }
}

@media (max-width: 767px) {
  .wor-single-stats {
    grid-template-columns: 1fr;
  }

  .wor-single-stats__item + .wor-single-stats__item {
    border-inline-start: 0;
    border-block-start: 1px solid var(--wor-border);
  }

  .wor-novel-chapter-item {
    grid-template-columns: 60px minmax(0, 1fr) 64px;
    gap: 12px;
    align-items: center;
  }

  .wor-novel-chapter-item__meta {
    grid-column: auto;
    grid-template-columns: 1fr;
    justify-self: end;
    justify-content: end;
    justify-items: end;
    align-content: center;
    gap: 8px;
    margin-inline-end: -8px;
    padding-top: 0;
    border-top: 0;
    min-width: 0;
  }

  .wor-novel-chapter-item__meta span {
    white-space: nowrap;
  }
}


.wor-single-hero {
  position: relative;
  overflow: hidden;
  isolation: isolate;
}

.wor-single-hero.has-cover-bg::before {
  content: "";
  position: absolute;
  inset: 0;
  background-image: var(--wor-cover-bg);
  background-position: center;
  background-size: cover;
  transform: scale(1.18);
  filter: blur(26px);
  opacity: 0.56;
  z-index: -2;
}

.wor-single-hero.has-cover-bg::after {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(7, 8, 12, 0.18), rgba(7, 8, 12, 0.58)),
    radial-gradient(circle at center, rgba(255,255,255,0.08), rgba(0,0,0,0.18));
  z-index: -1;
}

.wor-single-hero__cover-wrap {
  position: relative;
  width: min(320px, 100%);
  display: grid;
  justify-items: center;
}

.wor-single-hero__cover {
  position: relative;
  width: min(220px, 52vw);
}

.wor-single-hero__country {
  position: absolute;
  top: 12px;
  left: 12px;
  z-index: 3;
  display: grid;
  place-items: center;
  width: 46px;
  height: 46px;
  border: 1px solid rgba(255,255,255,0.2);
  border-radius: 999px;
  background: rgba(15, 18, 27, 0.78);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.18);
  backdrop-filter: blur(14px);
}

.wor-single-hero__country span {
  font-size: 1.45rem;
  line-height: 1;
}

.wor-cover-status {
  position: absolute;
  top: 12px;
  right: 12px;
  z-index: 3;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 28px;
  padding: 0 10px;
  border-radius: 999px;
  font-size: 0.82rem;
  font-weight: 900;
  color: #fff;
  box-shadow: 0 8px 18px rgba(0, 0, 0, 0.18);
}

.wor-cover-status--ongoing {
  background: #189b53;
}

.wor-cover-status--hiatus {
  background: #d9822b;
}

.wor-cover-status--completed {
  background: #d13b3b;
}

.wor-cover-status--default {
  background: #5b6478;
}

.wor-single-hero__body {
  position: relative;
  z-index: 1;
}

.wor-single-hero__meta-text {
  text-shadow: 0 1px 2px rgba(0,0,0,0.22);
}

.wor-single-stats {
  background: rgba(18, 16, 20, 0.52);
  backdrop-filter: blur(12px);
}

@media (max-width: 767px) {
  .wor-single-hero__cover-wrap {
    width: 100%;
  }

  .wor-single-hero__country,
  .wor-cover-status {
    top: 10px;
  }

  .wor-single-hero__country {
    left: 10px;
    width: 42px;
    height: 42px;
  }

  .wor-cover-status {
    right: 10px;
    min-height: 26px;
    font-size: 0.76rem;
  }
}


.wor-single-hero__cover-wrap {
  width: auto;
}

.wor-single-hero__cover {
  overflow: visible;
}

.wor-single-hero__country {
  top: 12px;
  left: 12px;
}

.wor-single-stats {
  background: color-mix(in srgb, var(--wor-surface-solid) 82%, transparent);
  border-color: color-mix(in srgb, var(--wor-border) 100%, transparent);
  box-shadow: 0 10px 26px rgba(0, 0, 0, 0.10);
}

html[data-wor-theme="dark"] .wor-single-stats {
  background: color-mix(in srgb, var(--wor-surface-solid) 88%, transparent);
  box-shadow: 0 14px 30px rgba(0, 0, 0, 0.24);
}

.wor-single-stats__item {
  background: transparent;
}

.wor-single-stats__item strong {
  color: var(--wor-text);
  line-height: 1.1;
}

.wor-single-stats__item span {
  color: var(--wor-muted);
}

@media (max-width: 767px) {
  .wor-single-hero__country {
    left: 10px;
  }
}

/* v1.3.3 - Novel page mobile polish: keep stats in one compact bar and let the blurred cover background fill the viewport width. */
@media (max-width: 767px) {
  .wor-single-hero.has-cover-bg {
    inline-size: 100vw;
    margin-inline: calc(50% - 50vw);
    border-inline: 0;
    border-radius: 0;
    padding-inline: max(14px, env(safe-area-inset-left, 0px), env(safe-area-inset-right, 0px));
  }

  .wor-single-stats {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    border-radius: 20px;
  }

  .wor-single-stats__item {
    min-width: 0;
    gap: 4px;
    padding: 12px 6px;
  }

  .wor-single-stats__item + .wor-single-stats__item {
    border-block-start: 0;
    border-inline-start: 1px solid var(--wor-border);
  }

  .wor-single-stats__item i {
    font-size: 1rem;
    line-height: 1;
  }

  .wor-single-stats__item strong {
    max-width: 100%;
    overflow-wrap: anywhere;
    font-size: clamp(0.88rem, 3.4vw, 1.02rem);
  }

  .wor-single-stats__item span {
    font-size: clamp(0.72rem, 2.8vw, 0.84rem);
    line-height: 1.25;
    white-space: nowrap;
  }
}


/* v1.5.0 - Browser-only appearance settings. */
html[data-wor-theme="custom"] {
  color-scheme: light dark;
}

.wor-account-page {
  display: grid;
  gap: 18px;
}

.wor-account-hero,
.wor-appearance-card {
  border: 1px solid var(--wor-border);
  border-radius: var(--wor-radius-lg);
  background: var(--wor-surface);
  box-shadow: var(--wor-shadow);
  backdrop-filter: blur(18px);
}

.wor-account-hero {
  display: flex;
  align-items: center;
  gap: 16px;
  padding: 18px;
}

.wor-account-hero__icon {
  display: inline-grid;
  place-items: center;
  inline-size: 52px;
  block-size: 52px;
  flex: 0 0 auto;
  border-radius: 18px;
  background: var(--wor-accent-soft);
  color: var(--wor-accent);
  font-size: 1.35rem;
}

.wor-account-hero h1,
.wor-appearance-card h2,
.wor-appearance-card h3 {
  margin: 0;
}

.wor-account-hero p,
.wor-appearance-card p {
  margin: 6px 0 0;
  color: var(--wor-muted);
  line-height: 1.8;
}

.wor-appearance-card {
  padding: 18px;
}

.wor-appearance-card__head {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 14px;
  align-items: start;
  margin-block-end: 18px;
}

.wor-section-kicker {
  display: inline-flex;
  margin-block-end: 6px;
  color: var(--wor-accent);
  font-weight: 800;
  font-size: .82rem;
}

.wor-appearance-switch {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  padding: 10px 12px;
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: var(--wor-surface-solid);
  color: var(--wor-text);
  white-space: nowrap;
  cursor: pointer;
}

.wor-appearance-switch input {
  accent-color: var(--wor-accent);
}

.wor-appearance-group,
.wor-preset-grid,
.wor-color-grid,
.wor-appearance-actions {
  display: grid;
  gap: 10px;
}

.wor-appearance-group {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-block: 14px 20px;
}

.wor-appearance-mode,
.wor-preset,
.wor-btn {
  border: 1px solid var(--wor-border);
  background: var(--wor-surface-solid);
  color: var(--wor-text);
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.wor-appearance-mode:hover,
.wor-preset:hover,
.wor-btn:hover {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--wor-accent) 46%, var(--wor-border));
}

.wor-appearance-mode.is-active,
.wor-preset.is-active {
  border-color: var(--wor-accent);
  background: var(--wor-accent-soft);
}

.wor-appearance-mode {
  display: grid;
  justify-items: center;
  gap: 6px;
  min-block-size: 82px;
  padding: 14px 10px;
  border-radius: 18px;
  font-weight: 800;
}

.wor-appearance-mode b {
  font-size: 1.35rem;
  color: var(--wor-accent);
}

.wor-preset-grid {
  grid-template-columns: repeat(auto-fit, minmax(108px, 1fr));
  margin-block: 12px 22px;
}

.wor-preset {
  display: grid;
  gap: 8px;
  justify-items: center;
  padding: 12px 8px;
  border-radius: 18px;
  font-weight: 800;
  font-size: .88rem;
}

.wor-preset i {
  display: block;
  inline-size: 48px;
  block-size: 32px;
  border-radius: 999px;
  border: 1px solid rgba(0,0,0,.08);
  background:
    radial-gradient(circle at 75% 50%, var(--c) 0 20%, transparent 22%),
    linear-gradient(90deg, var(--a) 0 54%, var(--b) 54% 100%);
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.16);
}

.wor-color-grid {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  margin-block-start: 12px;
}

.wor-color-grid label {
  display: grid;
  gap: 8px;
  padding: 12px;
  border: 1px solid var(--wor-border);
  border-radius: 18px;
  background: var(--wor-surface-solid);
  color: var(--wor-muted);
  font-weight: 800;
  font-size: .86rem;
}

.wor-color-grid input[type="color"] {
  inline-size: 100%;
  block-size: 42px;
  padding: 3px;
  border: 1px solid var(--wor-border);
  border-radius: 14px;
  background: var(--wor-surface-soft);
  cursor: pointer;
}

.wor-contrast-message {
  min-block-size: 34px;
  padding: 10px 12px;
  border: 1px solid var(--wor-border);
  border-radius: 16px;
  background: var(--wor-accent-soft);
  color: var(--wor-text) !important;
  font-weight: 800;
}

.wor-contrast-message.is-warning {
  border-color: rgba(220, 38, 38, .4);
  background: rgba(220, 38, 38, .12);
}

.wor-appearance-actions {
  grid-template-columns: repeat(3, max-content);
  justify-content: start;
  margin-block-start: 14px;
}

.wor-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-block-size: 42px;
  padding: 10px 16px;
  border-radius: 999px;
  background: var(--wor-accent);
  color: var(--wor-bg);
  font-weight: 900;
}

.wor-btn--ghost {
  background: var(--wor-surface-solid);
  color: var(--wor-text);
}

.wor-btn--danger {
  background: rgba(220, 38, 38, .12);
  color: var(--wor-text);
}

.wor-btn:disabled {
  cursor: not-allowed;
  opacity: .52;
  transform: none;
}

@media (max-width: 767px) {
  .wor-account-hero,
  .wor-appearance-card {
    border-radius: 22px;
  }

  .wor-appearance-card__head {
    grid-template-columns: 1fr;
  }

  .wor-appearance-switch {
    justify-content: center;
    white-space: normal;
  }

  .wor-appearance-group,
  .wor-color-grid,
  .wor-appearance-actions {
    grid-template-columns: 1fr;
  }

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

  .wor-preset {
    grid-template-columns: 1fr;
    justify-items: center;
    align-items: center;
    text-align: center;
    min-block-size: 86px;
  }

  .wor-color-grid label {
    grid-template-columns: minmax(0, 1fr) 68px;
    align-items: center;
    gap: 10px;
  }

  .wor-color-grid input[type="color"] {
    inline-size: 68px;
    justify-self: end;
    direction: ltr;
  }

  .wor-appearance-actions {
    justify-content: stretch;
  }

  .wor-btn {
    inline-size: 100%;
  }
}

/* v1.6.6 - Mobile account layout, active nav, and library cover refinements. */
body.wor-library-filter-open {
  overflow: hidden;
}

.wor-library-page {
  display: grid;
  gap: 14px;
}

.wor-library-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
}

.wor-library-toolbar input[type="search"] {
  min-inline-size: 0;
  block-size: 50px;
  padding-inline: 16px;
  border: 1px solid var(--wor-border);
  border-radius: 18px;
  background: color-mix(in srgb, var(--wor-surface-solid) 86%, transparent);
  color: var(--wor-text);
  outline: none;
  box-shadow: 0 10px 26px color-mix(in srgb, var(--wor-text) 5%, transparent);
}

.wor-library-toolbar input[type="search"]:focus {
  border-color: color-mix(in srgb, var(--wor-accent) 60%, var(--wor-border));
}

.wor-library-filter-toggle {
  display: grid;
  place-items: center;
  inline-size: 50px;
  block-size: 50px;
  border: 1px solid color-mix(in srgb, var(--wor-accent) 40%, var(--wor-border));
  border-radius: 18px;
  background: color-mix(in srgb, var(--wor-accent) 13%, var(--wor-surface-solid));
  color: var(--wor-text);
  cursor: pointer;
  box-shadow: 0 10px 26px color-mix(in srgb, var(--wor-text) 5%, transparent);
}

.wor-library-filter-toggle span {
  display: grid;
  gap: 4px;
  inline-size: 20px;
}

.wor-library-filter-toggle i {
  display: block;
  block-size: 2px;
  border-radius: 999px;
  background: currentColor;
}

.wor-library-filter-toggle i:nth-child(1) { inline-size: 20px; }
.wor-library-filter-toggle i:nth-child(2) { inline-size: 14px; }
.wor-library-filter-toggle i:nth-child(3) { inline-size: 8px; }

.wor-library-active-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
}

.wor-library-active-filters span,
.wor-library-active-filters a {
  display: inline-flex;
  align-items: center;
  min-block-size: 34px;
  padding-inline: 12px;
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: var(--wor-surface-solid);
  color: var(--wor-muted);
  font-weight: 800;
  font-size: .86rem;
}

.wor-library-active-filters a {
  color: var(--wor-accent);
}

.wor-library-list {
  display: grid;
  gap: 14px;
}

.wor-library-card {
  display: grid;
  gap: 12px;
  padding: 14px;
  border: 1px solid var(--wor-border);
  border-radius: var(--wor-radius-lg);
  background: color-mix(in srgb, var(--wor-surface-solid) 88%, transparent);
  box-shadow: var(--wor-shadow);
  overflow: hidden;
}

.wor-library-card__title {
  margin: 0;
  font-size: clamp(1rem, 4vw, 1.22rem);
  line-height: 1.55;
  letter-spacing: -0.03em;
  color: var(--wor-text);
}

.wor-library-card__title a {
  display: inline;
  color: var(--wor-text);
  text-decoration: none;
}

.wor-library-card__title a:hover,
.wor-library-card__title a:focus-visible {
  color: var(--wor-accent);
}

.wor-library-card__main {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 12px;
  align-items: start;
}

.wor-library-card__cover {
  position: relative;
  display: block;
  inline-size: 104px;
  aspect-ratio: 3 / 4.2;
  overflow: hidden;
  border-radius: 18px;
  background: var(--wor-surface-soft);
  box-shadow: 0 12px 28px color-mix(in srgb, var(--wor-text) 12%, transparent);
}

.wor-library-card__cover .wor-cover-img,
.wor-library-card__cover .wor-cover-fallback {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.wor-library-card__info {
  display: grid;
  gap: 10px;
  min-inline-size: 0;
}

.wor-library-card__stats {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.wor-library-card__stats span {
  display: grid;
  place-items: center;
  gap: 2px;
  min-block-size: 54px;
  padding: 8px 10px;
  border: 1px solid var(--wor-border);
  border-radius: 16px;
  background: color-mix(in srgb, var(--wor-surface-soft) 72%, transparent);
  text-align: center;
}

.wor-library-card__stats b {
  color: var(--wor-text);
  font-size: .95rem;
  line-height: 1.3;
}

.wor-library-card__stats small {
  color: var(--wor-muted);
  font-weight: 800;
  font-size: .72rem;
}

.wor-library-card__taxonomies {
  display: grid;
  gap: 8px;
  min-inline-size: 0;
}

.wor-library-card__section-title {
  color: var(--wor-muted);
  font-weight: 900;
  font-size: .82rem;
}

.wor-library-card__genres {
  display: flex;
  min-inline-size: 0;
  flex-wrap: nowrap;
  gap: 7px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 10px;
  border: 1px solid var(--wor-border);
  border-radius: 16px;
  background: color-mix(in srgb, var(--wor-surface-soft) 58%, transparent);
  scrollbar-width: thin;
  scroll-snap-type: inline proximity;
  -webkit-overflow-scrolling: touch;
}

.wor-library-card__genres a {
  display: inline-flex;
  align-items: center;
  flex: 0 0 auto;
  min-block-size: 32px;
  padding-inline: 10px;
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: var(--wor-surface-solid);
  color: var(--wor-text);
  font-weight: 800;
  font-size: .78rem;
  white-space: nowrap;
  scroll-snap-align: start;
  text-decoration: none;
}

.wor-library-card__genres a:hover,
.wor-library-card__genres a:focus-visible {
  border-color: color-mix(in srgb, var(--wor-accent) 54%, var(--wor-border));
  color: var(--wor-accent);
}

.wor-library-card__summary-block {
  display: grid;
  gap: 8px;
}

.wor-library-card__summary {
  padding: 12px 14px;
  border: 1px solid var(--wor-border);
  border-radius: 18px;
  background: color-mix(in srgb, var(--wor-surface-soft) 58%, transparent);
}

.wor-library-card__summary p {
  margin: 0;
  line-height: 1.95;
}

.wor-library-card__summary p + p {
  margin-block-start: .75em;
}

.wor-library-pager {
  display: flex;
  justify-content: center;
  gap: 10px;
  margin-block-start: 4px;
}

.wor-library-filter-sheet {
  position: fixed;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 1500;
  display: block;
  max-block-size: min(82vh, 720px);
  padding: 14px;
  padding-block-end: calc(14px + var(--wor-safe-bottom));
  border-start-start-radius: 24px;
  border-start-end-radius: 24px;
  border: 1px solid var(--wor-border);
  background: color-mix(in srgb, var(--wor-surface-solid) 96%, transparent);
  box-shadow: 0 -20px 60px color-mix(in srgb, var(--wor-text) 18%, transparent);
  overflow: auto;
}

.wor-library-filter-sheet::before {
  content: "";
  position: fixed;
  inset: 0;
  z-index: -1;
  background: color-mix(in srgb, var(--wor-bg) 72%, transparent);
  backdrop-filter: blur(4px);
}

.wor-library-filter-panel[hidden] {
  display: none !important;
}

.wor-library-filter-panel {
  display: grid;
  gap: 14px;
}

.wor-library-filter-head {
  display: grid;
  grid-template-columns: 48px minmax(0, 1fr) 48px;
  align-items: center;
  gap: 8px;
}

.wor-library-filter-head h2 {
  grid-column: 2;
  margin: 0;
  text-align: center;
  font-size: 1.05rem;
}

.wor-library-filter-head .wor-icon-btn {
  inline-size: 44px;
  block-size: 44px;
  border-radius: 16px;
  font-size: 1.45rem;
}

.wor-library-filter-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.wor-library-filter-grid button {
  display: grid;
  place-items: center;
  gap: 8px;
  min-block-size: 78px;
  padding: 14px 10px;
  border: 1px solid color-mix(in srgb, var(--wor-accent) 34%, var(--wor-border));
  border-radius: 18px;
  background: color-mix(in srgb, var(--wor-surface) 78%, transparent);
  color: var(--wor-text);
  cursor: pointer;
}

.wor-library-filter-grid button span {
  color: var(--wor-muted);
  font-weight: 800;
  font-size: .78rem;
}

.wor-library-filter-actions {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-block-start: 8px;
}

.wor-library-options {
  display: grid;
  gap: 8px;
  max-block-size: min(58vh, 520px);
  overflow: auto;
  padding-inline-end: 2px;
  scrollbar-width: thin;
}

.wor-library-options button {
  display: flex;
  align-items: center;
  gap: 10px;
  min-block-size: 50px;
  inline-size: 100%;
  padding: 10px 12px;
  border: 1px solid var(--wor-border);
  border-radius: 16px;
  background: color-mix(in srgb, var(--wor-surface) 78%, transparent);
  color: var(--wor-text);
  text-align: start;
  font-weight: 900;
  cursor: pointer;
  direction: rtl;
  overflow: hidden;
}

.wor-library-option-radio {
  flex: 0 0 auto;
  inline-size: 18px;
  block-size: 18px;
  border: 2px solid color-mix(in srgb, var(--wor-accent) 45%, var(--wor-border));
  border-radius: 50%;
}

.wor-library-option-label {
  flex: 1 1 auto;
  min-inline-size: 0;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  line-height: 1.65;
  overflow-wrap: anywhere;
}

.wor-library-country-option {
  white-space: nowrap;
  overflow: hidden;
}

.wor-library-country-flag {
  flex: 0 0 auto;
  font-size: 1rem;
  line-height: 1;
}

.wor-library-country-name {
  min-inline-size: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}

.wor-library-options button.is-active {
  border-color: var(--wor-accent);
  background: var(--wor-accent-soft);
}

.wor-library-options button.is-active .wor-library-option-radio {
  background: var(--wor-accent);
  box-shadow: inset 0 0 0 4px var(--wor-surface-solid);
}

.wor-library-empty {
  text-align: center;
}

@media (min-width: 740px) {
  .wor-library-page {
    max-inline-size: 980px;
  }

  .wor-library-card {
    padding: 16px;
  }

  .wor-library-card__main {
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 16px;
  }

  .wor-library-card__cover {
    inline-size: 132px;
    border-radius: 20px;
  }

  .wor-library-filter-sheet {
    inset-inline: 0;
    inline-size: min(760px, calc(100% - 28px));
    margin-inline: auto;
  }
}



@media (max-width: 430px) {
  .wor-preset-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wor-preset {
    padding: 10px 6px;
    font-size: .82rem;
  }

  .wor-preset i {
    inline-size: 42px;
    block-size: 28px;
  }
}

@media (max-width: 600px) {
  .wor-library-card__main {
    grid-template-columns: 116px minmax(0, 1fr);
    align-items: stretch;
  }

  .wor-library-card__cover {
    inline-size: 116px;
    block-size: 186px;
    aspect-ratio: auto;
    align-self: center;
    margin-block-start: 14px;
  }
}

@media (max-width: 430px) {
  .wor-library-card__main {
    grid-template-columns: 108px minmax(0, 1fr);
  }

  .wor-library-card__cover {
    inline-size: 108px;
    block-size: 178px;
    aspect-ratio: auto;
    align-self: center;
    margin-block-start: 12px;
  }

  .wor-library-card__stats {
    gap: 6px;
  }

  .wor-library-card__stats span {
    min-block-size: 44px;
    padding: 7px 8px;
  }

  .wor-library-filter-grid {
    grid-template-columns: 1fr;
  }
}

/* Reading history */
.wor-history-page {
  width: min(1060px, 100%);
}

.wor-history-hero {
  position: relative;
  overflow: hidden;
  margin-block-end: 18px;
  padding: clamp(22px, 5vw, 34px);
  border: 1px solid var(--wor-border);
  border-radius: 28px;
  background:
    radial-gradient(circle at 12% 0%, var(--wor-accent-soft), transparent 32rem),
    linear-gradient(135deg, var(--wor-surface), color-mix(in srgb, var(--wor-surface-solid) 70%, var(--wor-accent-soft)));
  box-shadow: var(--wor-shadow);
}

.wor-history-hero__kicker {
  display: inline-flex;
  align-items: center;
  min-block-size: 32px;
  padding: 7px 12px;
  border-radius: 999px;
  background: var(--wor-accent-soft);
  color: var(--wor-accent);
  font-weight: 900;
  font-size: .8rem;
}

.wor-history-hero h1 {
  margin: 16px 0 8px;
  font-size: clamp(1.9rem, 7vw, 3.3rem);
  line-height: 1.05;
  letter-spacing: -0.06em;
}

.wor-history-hero p {
  max-inline-size: 760px;
  margin: 0;
  color: var(--wor-muted);
  font-size: clamp(.98rem, 3vw, 1.12rem);
  line-height: 1.9;
}

.wor-history-hero__chips {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-block-start: 18px;
}

.wor-history-hero__chips span {
  display: inline-flex;
  align-items: center;
  min-block-size: 34px;
  padding-inline: 14px;
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: var(--wor-surface-solid);
  color: var(--wor-text);
  font-weight: 800;
  font-size: .86rem;
}

.wor-history-list {
  display: grid;
  gap: 14px;
}

.wor-history-card,
.wor-history-skeleton {
  border: 1px solid var(--wor-border);
  border-radius: 24px;
  background: var(--wor-surface);
  box-shadow: var(--wor-shadow);
}

.wor-history-card {
  display: grid;
  grid-template-columns: 92px minmax(0, 1fr);
  grid-template-areas:
    "cover body"
    "cover action"
    "details details";
  gap: 14px;
  align-items: center;
  padding: 18px;
}

.wor-history-card__cover {
  grid-area: cover;
  overflow: hidden;
  inline-size: 92px;
  block-size: 118px;
  border: 1px solid var(--wor-border);
  border-radius: 20px;
  background: linear-gradient(145deg, var(--wor-surface-soft), var(--wor-accent-soft));
}

.wor-history-card__cover img {
  display: block;
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
}

.wor-history-card__cover span {
  display: grid;
  place-items: center;
  inline-size: 100%;
  block-size: 100%;
  color: var(--wor-accent);
  font-weight: 900;
  font-size: 2rem;
}

.wor-history-card__body {
  grid-area: body;
  min-inline-size: 0;
}

.wor-history-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 8px;
  margin-block-end: 12px;
}

.wor-history-card__badges span {
  display: inline-flex;
  align-items: center;
  min-block-size: 30px;
  padding-inline: 11px;
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: var(--wor-surface-solid);
  color: var(--wor-text);
  font-size: .78rem;
  font-weight: 900;
}

.wor-history-card__badges span:first-child {
  background: var(--wor-accent);
  color: var(--wor-bg);
  border-color: transparent;
}

.wor-history-card h2 {
  margin: 0 0 8px;
  font-size: clamp(1.05rem, 4vw, 1.35rem);
  line-height: 1.45;
  letter-spacing: -0.035em;
}

.wor-history-card p {
  margin: 0;
  color: var(--wor-muted);
  line-height: 1.8;
  font-size: .92rem;
  font-weight: 700;
}

.wor-history-card__action {
  grid-area: action;
  display: flex;
  justify-content: flex-start;
}

.wor-history-details {
  grid-area: details;
  display: grid;
  gap: 10px;
  padding-block-start: 12px;
  border-block-start: 1px solid var(--wor-border);
}

.wor-history-details[hidden] {
  display: none !important;
}

.wor-history-details__head {
  display: flex;
  justify-content: flex-start;
}

.wor-history-details__loading,
.wor-history-chapter {
  border: 1px solid var(--wor-border);
  border-radius: 18px;
  background: var(--wor-surface-solid);
}

.wor-history-details__loading {
  padding: 18px;
  color: var(--wor-muted);
  font-weight: 800;
}

.wor-history-chapter {
  position: relative;
  display: grid;
  grid-template-columns: minmax(0, 1fr) 42px;
  gap: 10px;
  align-items: center;
  min-block-size: 74px;
  padding: 14px 16px;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.wor-history-chapter:hover,
.wor-history-chapter:focus-visible {
  transform: translateY(-1px);
  border-color: color-mix(in srgb, var(--wor-accent) 44%, var(--wor-border));
  outline: none;
}

.wor-history-chapter__main {
  display: grid;
  gap: 3px;
  min-inline-size: 0;
}

.wor-history-chapter strong {
  color: var(--wor-text);
  font-size: 1rem;
  line-height: 1.4;
}

.wor-history-chapter__main span,
.wor-history-chapter p {
  overflow: hidden;
  color: var(--wor-muted);
  white-space: nowrap;
  text-overflow: ellipsis;
}

.wor-history-chapter p {
  margin: 0;
  font-size: .86rem;
  font-weight: 700;
}

.wor-history-chapter i {
  display: grid;
  place-items: center;
  inline-size: 36px;
  block-size: 36px;
  border: 1px solid var(--wor-border);
  border-radius: 50%;
  color: var(--wor-text);
  font-style: normal;
  font-size: 1.25rem;
}

.wor-history-skeleton {
  min-block-size: 128px;
  background:
    linear-gradient(90deg, transparent, var(--wor-accent-soft), transparent),
    var(--wor-surface);
  background-size: 220% 100%, auto;
  animation: wor-history-shimmer 1.7s ease-in-out infinite;
}

@keyframes wor-history-shimmer {
  from { background-position: 120% 0, 0 0; }
  to { background-position: -120% 0, 0 0; }
}

@media (max-width: 640px) {
  .wor-history-card {
    grid-template-columns: 74px minmax(0, 1fr);
    grid-template-areas:
      "cover body"
      "cover action"
      "details details";
    gap: 12px;
    padding: 14px;
  }

  .wor-history-card__cover {
    inline-size: 74px;
    block-size: 96px;
    border-radius: 18px;
  }

  .wor-history-card__badges {
    gap: 6px;
  }

  .wor-history-card__badges span {
    min-block-size: 28px;
    padding-inline: 9px;
    font-size: .72rem;
  }

  .wor-history-card__action .wor-btn {
    inline-size: 100%;
  }

  .wor-history-chapter {
    grid-template-columns: minmax(0, 1fr) 36px;
    min-block-size: 70px;
    padding: 12px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wor-history-skeleton {
    animation: none;
  }
}

/* v1.8.0 - Novel page reading action bar and quick novel history. */
.wor-novel-action-bar {
  position: fixed;
  inset-inline: 10px;
  inset-block-end: calc(10px + var(--wor-safe-bottom));
  z-index: 995;
  display: grid;
  grid-template-columns: 56px minmax(0, 1fr);
  grid-template-areas: "history start";
  gap: 10px;
  align-items: center;
  padding: 0;
  pointer-events: none;
}

.wor-novel-action-bar__history,
.wor-novel-action-bar__start {
  pointer-events: auto;
  min-block-size: 56px;
  border: 1px solid var(--wor-border);
  box-shadow: var(--wor-shadow);
  backdrop-filter: blur(18px);
}

.wor-novel-action-bar__history {
  grid-area: history;
  display: grid;
  place-items: center;
  inline-size: 56px;
  block-size: 56px;
  border-radius: 20px;
  background: color-mix(in srgb, var(--wor-surface) 94%, transparent);
  color: var(--wor-text);
  cursor: pointer;
}

.wor-novel-action-bar__history span {
  font-size: 1.45rem;
  line-height: 1;
}

.wor-novel-action-bar__start {
  grid-area: start;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 0;
  border-color: color-mix(in srgb, var(--wor-accent) 52%, var(--wor-border));
  border-radius: 20px;
  background: linear-gradient(135deg, var(--wor-accent), color-mix(in srgb, var(--wor-accent) 72%, var(--wor-surface-soft)));
  color: var(--wor-bg);
  font-weight: 950;
  text-align: center;
  text-decoration: none;
}

.wor-novel-action-bar__start.is-disabled {
  opacity: .58;
  cursor: default;
}

.wor-novel-action-bar__history:hover,
.wor-novel-action-bar__history:focus-visible,
.wor-novel-action-bar__start:hover,
.wor-novel-action-bar__start:focus-visible {
  transform: translateY(-1px);
  outline: none;
}

.wor-novel-history-sheet[hidden] {
  display: none !important;
}

.wor-novel-history-sheet {
  position: fixed;
  inset: 0;
  z-index: 1450;
}

body.wor-novel-history-open {
  overflow: hidden;
}

.wor-novel-history-sheet__backdrop {
  position: absolute;
  inset: 0;
  border: 0;
  background: color-mix(in srgb, var(--wor-bg) 72%, transparent);
  backdrop-filter: blur(6px);
  cursor: pointer;
}

.wor-novel-history-sheet__panel {
  position: absolute;
  inset-inline: 0;
  inset-block-end: 0;
  display: grid;
  gap: 14px;
  max-block-size: min(78vh, 720px);
  padding: 20px 14px calc(18px + var(--wor-safe-bottom));
  border: 1px solid var(--wor-border);
  border-end-start-radius: 0;
  border-end-end-radius: 0;
  border-start-start-radius: 26px;
  border-start-end-radius: 26px;
  background: color-mix(in srgb, var(--wor-surface-solid) 96%, transparent);
  box-shadow: 0 -24px 70px color-mix(in srgb, var(--wor-text) 16%, transparent);
  overflow: auto;
}

.wor-novel-history-sheet__handle {
  justify-self: center;
  inline-size: 54px;
  block-size: 5px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--wor-muted) 45%, transparent);
}

.wor-novel-history-sheet__close {
  position: absolute;
  inset-block-start: 14px;
  inset-inline-end: 14px;
  display: grid;
  place-items: center;
  inline-size: 42px;
  block-size: 42px;
  border: 1px solid var(--wor-border);
  border-radius: 16px;
  background: var(--wor-surface);
  color: var(--wor-text);
  font-size: 1.25rem;
  cursor: pointer;
}

.wor-novel-history-sheet__head {
  display: grid;
  gap: 8px;
  padding-inline: 8px 52px;
}

.wor-novel-history-sheet__head span {
  color: var(--wor-muted);
  font-size: .82rem;
  font-weight: 900;
}

.wor-novel-history-sheet__head h2 {
  margin: 0;
  font-size: clamp(1rem, 4vw, 1.28rem);
  line-height: 1.55;
}

.wor-novel-history-sheet__list {
  display: grid;
  gap: 10px;
  inline-size: min(980px, 100%);
  margin-inline: auto;
}

@media (min-width: 860px) {
  .wor-novel-action-bar {
    inset-inline-start: 50%;
    inset-inline-end: auto;
    inline-size: min(720px, calc(100% - 28px));
    transform: translateX(50%);
  }

  .wor-novel-history-sheet__panel {
    inset-inline: 50%;
    inline-size: min(1060px, calc(100% - 32px));
    transform: translateX(50%);
    border-end-start-radius: 0;
    border-end-end-radius: 0;
  }
}

@media (prefers-reduced-motion: reduce) {
  .wor-novel-action-bar__history:hover,
  .wor-novel-action-bar__history:focus-visible,
  .wor-novel-action-bar__start:hover,
  .wor-novel-action-bar__start:focus-visible {
    transform: none;
  }
}


/* v1.8.2 - Lightweight chapter reading page and first reader tools section. */
body.single-wor_chapter .wor-reader-main {
  inline-size: 100%;
  max-inline-size: none;
  margin-inline: 0;
  padding-block-start: calc(var(--wor-topbar-height) + env(safe-area-inset-top, 0px) + 20px);
  padding-block-end: calc(300px + var(--wor-safe-bottom));
  padding-inline: clamp(12px, 2.4vw, 46px);
}

.wor-reading-page {
  inline-size: 100%;
  max-inline-size: none;
  margin: 0;
  padding: 0;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
}

.wor-reading-page__header {
  display: grid;
  justify-items: start;
  gap: 8px;
  margin-block-end: 26px;
}

.wor-reading-page__novel {
  display: inline-flex;
  align-items: center;
  min-block-size: 34px;
  padding-inline: 12px;
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: var(--wor-accent-soft);
  color: var(--wor-accent);
  font-size: .86rem;
  font-weight: 900;
}

.wor-reading-page__header h1 {
  max-inline-size: 100%;
  margin: 0;
  color: var(--wor-text);
  font-size: clamp(1.05rem, 3vw, 1.55rem);
  line-height: 1.75;
  letter-spacing: -0.03em;
}

.wor-reading-page__content {
  inline-size: 100%;
  max-inline-size: none;
  color: var(--wor-reader-page-fg, var(--wor-text));
  font-size: clamp(1.14rem, 2.25vw, 1.55rem);
  line-height: 2.25;
  letter-spacing: 0;
}

/* v1.8.9 - Lightweight client-side chapter copy deterrent. */
body.single-wor_chapter .wor-reading-page__content[data-wor-copy-guard],
body.single-wor_chapter .wor-reading-page__content[data-wor-copy-guard] *,
.wor-reading-page__content[data-wor-copy-guard],
.wor-reading-page__content[data-wor-copy-guard] *,
body.wor-continuous-enabled .wor-reading-page--fragment .wor-reading-page__content,
body.wor-continuous-enabled .wor-reading-page--fragment .wor-reading-page__content * {
  -webkit-user-select: none !important;
  -moz-user-select: none !important;
  user-select: none !important;
  -webkit-touch-callout: none !important;
}

body.single-wor_chapter .wor-reading-page__content[data-wor-copy-guard] img {
  -webkit-user-drag: none;
  user-drag: none;
}

html.wor-copy-guard-active body.single-wor_chapter .wor-reading-page__content[data-wor-copy-guard] {
  cursor: default;
}

.wor-reading-page__content p {
  margin-block: 0 1.35em;
}

.wor-reading-page__content h2,
.wor-reading-page__content h3,
.wor-reading-page__content h4 {
  margin-block: 1.7em .75em;
  color: var(--wor-reader-page-fg, var(--wor-text));
  line-height: 1.65;
}

.wor-reading-page__content img,
.wor-reading-page__content iframe,
.wor-reading-page__content video {
  display: block;
  max-inline-size: 100%;
  margin-inline: auto;
  border-radius: var(--wor-radius-md);
}

.wor-reader-dock {
  position: fixed;
  inset-inline: 0;
  inset-block-end: 0;
  z-index: 1040;
  display: grid;
  gap: 8px;
  padding: 10px 10px calc(10px + var(--wor-safe-bottom));
  border-block-start: 1px solid var(--wor-border);
  background: color-mix(in srgb, var(--wor-surface-solid) 94%, transparent);
  box-shadow: 0 -18px 46px color-mix(in srgb, var(--wor-text) 12%, transparent);
  backdrop-filter: blur(18px);
  transition: transform .2s cubic-bezier(.2, .8, .2, 1);
  will-change: transform;
  contain: layout paint;
  backface-visibility: hidden;
  transform: translate3d(0, 0, 0);
}

.wor-reader-dock.is-collapsed {
  transform: translate3d(0, calc(100% - 8px), 0);
  box-shadow: none;
  pointer-events: none;
  overflow: visible;
}

.wor-reader-dock.is-collapsed > :not(.wor-reader-dock__toggle) {
  opacity: 0;
  pointer-events: none;
}

.wor-reader-dock__toggle {
  position: absolute;
  inset-block-start: -56px;
  inset-inline: 0;
  z-index: 12;
  display: grid;
  place-items: center;
  inline-size: 46px;
  block-size: 46px;
  margin-inline: auto;
  border: 1px solid color-mix(in srgb, var(--wor-border) 64%, transparent);
  border-radius: 999px;
  background: color-mix(in srgb, var(--wor-surface-solid) 58%, transparent);
  color: var(--wor-text);
  box-shadow: 0 10px 28px color-mix(in srgb, var(--wor-text) 10%, transparent);
  backdrop-filter: blur(14px);
  cursor: pointer;
  touch-action: manipulation;
  transition: opacity .22s ease, transform .28s ease, background-color .22s ease, border-color .22s ease, box-shadow .22s ease;
}

.wor-reader-dock.is-collapsed .wor-reader-dock__toggle {
  inset-block-start: -58px;
  opacity: .72;
  transform: scale(.9);
  background: color-mix(in srgb, var(--wor-surface-solid) 36%, transparent);
  border-color: color-mix(in srgb, var(--wor-border) 42%, transparent);
  box-shadow: 0 8px 22px color-mix(in srgb, var(--wor-text) 7%, transparent);
  pointer-events: auto;
}

.wor-reader-dock.is-collapsed .wor-reader-dock__toggle:is(:hover, :focus-visible) {
  opacity: .72;
}

.wor-reader-dock__toggle-icon {
  display: grid;
  place-items: center;
  inline-size: 100%;
  block-size: 100%;
  font-size: 1.18rem;
  font-weight: 950;
  line-height: 1;
  transition: transform .22s ease;
}

.wor-reader-dock.is-collapsed .wor-reader-dock__toggle-icon {
  transform: translateY(-1px);
}

body.single-wor_chapter .wor-reader-main {
  transition: padding-block-end .28s ease;
}

body.single-wor_chapter.wor-reader-dock-collapsed .wor-reader-main {
  padding-block-end: calc(70px + var(--wor-safe-bottom));
}

.wor-reader-dock__top {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  gap: 8px;
  min-block-size: 38px;
}

.wor-reader-dock__nav {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-inline-size: 0;
  min-block-size: 34px;
  width: fit-content;
  padding-inline: 12px;
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: var(--wor-surface);
  color: var(--wor-text);
  font-weight: 900;
  line-height: 1;
}

.wor-reader-dock__nav--previous {
  justify-self: end;
}

.wor-reader-dock__nav--next {
  justify-self: start;
}

.wor-reader-dock__nav.is-disabled {
  opacity: .48;
}

.wor-reader-dock__progress {
  display: grid;
  justify-items: center;
  gap: 2px;
  min-inline-size: 86px;
  color: var(--wor-text);
  line-height: 1.15;
}

.wor-reader-dock__progress strong {
  font-size: .92rem;
  font-weight: 950;
}

.wor-reader-dock__progress span {
  color: var(--wor-muted);
  font-size: .74rem;
  font-weight: 800;
}

.wor-reader-dock__panel {
  display: grid;
  gap: 7px;
}

.wor-reader-dock__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.wor-reader-dock__action {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  min-block-size: 48px;
  min-inline-size: 0;
  padding: 8px 10px;
  border: 1px solid var(--wor-border);
  border-radius: 14px;
  background: var(--wor-surface);
  color: var(--wor-text);
  font-weight: 900;
  text-align: start;
  cursor: pointer;
}

.wor-reader-dock__action strong {
  min-inline-size: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .86rem;
}

.wor-reader-dock__action:disabled,
.wor-reader-dock__action.is-disabled {
  cursor: default;
  opacity: .74;
}

.wor-reader-dock__action--novel {
  justify-content: flex-start;
}

.wor-reader-dock__cover {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  inline-size: 36px;
  block-size: 36px;
  overflow: hidden;
  border: 1px solid var(--wor-border);
  border-radius: 10px;
  background: var(--wor-surface-soft);
}

.wor-reader-dock__cover-img,
.wor-reader-dock__cover-fallback {
  display: grid;
  place-items: center;
  inline-size: 100%;
  block-size: 100%;
}

.wor-reader-dock__cover-img {
  object-fit: cover;
}

.wor-reader-dock__cover-fallback {
  color: var(--wor-accent);
  font-weight: 950;
}

.wor-reader-dock__mini-icon,
.wor-reader-dock__action > span:not(.wor-reader-dock__cover) {
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  inline-size: 34px;
  block-size: 34px;
  border-radius: 12px;
  background: var(--wor-surface-soft);
  color: var(--wor-text);
  font-weight: 950;
  line-height: 1;
}

.wor-reader-dock__hint {
  margin: 0;
  color: var(--wor-muted);
  font-size: .74rem;
  line-height: 1.65;
  text-align: start;
}

.wor-reader-dock__tabs {
  display: grid;
  grid-template-columns: repeat(6, minmax(0, 1fr));
  gap: 6px;
}

.wor-reader-dock__tab {
  display: grid;
  place-items: center;
  min-block-size: 40px;
  border: 1px solid var(--wor-border);
  border-radius: 12px;
  background: var(--wor-surface);
  color: var(--wor-text);
  font-size: .95rem;
  font-weight: 950;
  cursor: pointer;
}

.wor-reader-dock__tab span {
  display: inline-grid;
  place-items: center;
}

.wor-reader-dock__svg {
  inline-size: 1.15rem;
  block-size: 1.15rem;
}

.wor-reader-dock__tab.is-active {
  border-color: color-mix(in srgb, var(--wor-accent) 72%, var(--wor-border));
  background: var(--wor-accent-soft);
  color: var(--wor-accent);
}

.wor-reader-dock__tab:disabled:not(.is-active) {
  cursor: default;
  opacity: .78;
}

@media (min-width: 860px) {
  body.single-wor_chapter .wor-reader-main {
    padding-block-end: calc(288px + var(--wor-safe-bottom));
    padding-inline: clamp(18px, 3vw, 64px);
  }

  .wor-reader-dock {
    padding-inline: 10px;
  }

  .wor-reader-dock__action {
    min-block-size: 48px;
    border-radius: 16px;
  }
}

@media (max-width: 430px) {
  body.single-wor_chapter .wor-reader-main {
    padding-block-end: calc(332px + var(--wor-safe-bottom));
  }

  .wor-reader-dock__top {
    gap: 6px;
  }

  .wor-reader-dock__nav {
    padding-inline: 10px;
    font-size: .82rem;
  }

  .wor-reader-dock__progress {
    min-inline-size: 72px;
  }

  .wor-reader-dock__action strong {
    font-size: .78rem;
  }
}

@supports not (color: color-mix(in srgb, white, black)) {
  .wor-reader-dock {
    background: var(--wor-surface-solid);
    box-shadow: var(--wor-shadow);
  }
}

body.wor-reader-chapters-open {
  overflow: hidden;
}

.wor-reader-chapters-sheet[hidden] {
  display: none !important;
}

.wor-reader-chapters-sheet {
  position: fixed;
  inset: 0;
  z-index: 1200;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  gap: 10px;
  padding: calc(12px + var(--wor-safe-top)) 10px calc(12px + var(--wor-safe-bottom));
  background: var(--wor-surface-solid);
  color: var(--wor-text);
  direction: rtl;
}

.wor-reader-chapters-sheet__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-block-size: 44px;
}

.wor-reader-chapters-sheet__head h2 {
  margin: 0;
  font-size: .98rem;
  font-weight: 950;
  line-height: 1.3;
}

.wor-reader-chapters-sheet__close {
  display: grid;
  place-items: center;
  inline-size: 40px;
  block-size: 40px;
  border: 1px solid var(--wor-border);
  border-radius: 13px;
  background: var(--wor-surface);
  color: var(--wor-text);
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}

.wor-reader-chapters-sheet__search input {
  inline-size: 100%;
  min-block-size: 44px;
  padding-inline: 14px;
  border: 1px solid var(--wor-border);
  border-radius: 12px;
  background: var(--wor-surface);
  color: var(--wor-text);
  font: inherit;
  font-weight: 800;
  outline: none;
}

.wor-reader-chapters-sheet__search input::placeholder {
  color: var(--wor-muted);
}

.wor-reader-chapters-sheet__search input:focus {
  border-color: color-mix(in srgb, var(--wor-accent) 70%, var(--wor-border));
  box-shadow: 0 0 0 3px var(--wor-accent-soft);
}

.wor-reader-chapters-sheet__list {
  min-block-size: 0;
  overflow: auto;
  display: grid;
  align-content: start;
  gap: 8px;
  padding-block: 2px 8px;
  scrollbar-gutter: stable;
}

.wor-reader-chapters-item {
  display: flex;
  align-items: center;
  gap: 12px;
  min-block-size: 60px;
  padding: 10px 12px;
  border: 1px solid var(--wor-border);
  border-radius: 14px;
  background: var(--wor-surface);
  color: var(--wor-text);
  text-decoration: none;
  overflow: hidden;
}

.wor-reader-chapters-item__num {
  flex: 0 0 54px;
  inline-size: 54px;
  block-size: 48px;
  display: grid;
  place-items: center;
  border-radius: 14px;
  background: color-mix(in srgb, var(--wor-accent) 24%, var(--wor-surface-solid));
  color: var(--wor-accent);
  font-weight: 1000;
  font-size: 1rem;
}

.wor-reader-chapters-item__body {
  min-inline-size: 0;
  flex: 1 1 auto;
  display: grid;
  gap: 3px;
  text-align: start;
}

.wor-reader-chapters-item__text {
  min-inline-size: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-weight: 950;
  line-height: 1.35;
  text-align: start;
}

.wor-reader-chapters-item small {
  min-inline-size: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--wor-muted);
  font-size: .78rem;
  font-weight: 750;
  text-align: start;
}

.wor-reader-chapters-item--vip {
  border-color: color-mix(in srgb, #d4af37 68%, var(--wor-border));
  background: linear-gradient(90deg, color-mix(in srgb, #d4af37 12%, var(--wor-surface)), var(--wor-surface));
}

.wor-reader-chapters-item--vip .wor-reader-chapters-item__num {
  background: linear-gradient(135deg, #f6d365, #b99118);
  color: #050505;
}

.wor-reader-chapters-item--vip .wor-reader-chapters-item__text {
  color: #f0c94f;
}

.wor-reader-chapters-item--vip small {
  color: color-mix(in srgb, #f6d365 65%, var(--wor-muted));
}

.wor-reader-chapters-item.is-current {
  border-color: color-mix(in srgb, var(--wor-accent) 76%, var(--wor-border));
  background: var(--wor-accent-soft);
}

.wor-reader-chapters-item--vip.is-current {
  border-color: #f6d365;
  background: linear-gradient(90deg, color-mix(in srgb, #d4af37 20%, var(--wor-accent-soft)), var(--wor-surface));
}

.wor-reader-chapters-sheet__state {
  display: grid;
  place-items: center;
  min-block-size: 110px;
  padding: 18px;
  border: 1px solid var(--wor-border);
  border-radius: 16px;
  background: var(--wor-surface);
  color: var(--wor-muted);
  font-weight: 850;
  text-align: center;
}

.wor-reader-chapters-sheet__footer {
  display: flex;
  justify-content: center;
  padding-block-start: 2px;
}

.wor-reader-chapters-sheet__more {
  min-inline-size: min(220px, 100%);
  min-block-size: 42px;
  padding-inline: 18px;
  border: 1px solid var(--wor-border);
  border-radius: 14px;
  background: var(--wor-surface);
  color: var(--wor-text);
  font-weight: 900;
  cursor: pointer;
}

.wor-reader-chapters-sheet__more:disabled {
  cursor: default;
  opacity: .55;
}

@media (min-width: 900px) {
  .wor-reader-chapters-sheet {
    padding-inline: 16px;
  }

  .wor-reader-chapters-sheet__list {
    gap: 9px;
  }
}

@supports not (color: color-mix(in srgb, white, black)) {
  .wor-reader-chapters-sheet__search input:focus {
    border-color: var(--wor-accent);
    box-shadow: var(--wor-shadow);
  }

  .wor-reader-chapters-item.is-current {
    border-color: var(--wor-accent);
  }
}

/* v1.9.3 - TT, AA, and background share a half-screen reader settings dock. */
.wor-reading-page__content {
  font-size: var(--wor-reader-font-size, clamp(1.14rem, 2.25vw, 1.55rem));
  line-height: var(--wor-reader-line-height, 2.25);
  word-spacing: var(--wor-reader-word-spacing, 0px);
  font-family: var(--wor-reader-font-family, inherit);
  font-weight: var(--wor-reader-font-weight, inherit);
  text-align: var(--wor-reader-text-align, start);
  direction: var(--wor-reader-text-direction, inherit);
  filter: brightness(var(--wor-reader-text-brightness, 1));
}

.wor-reader-dock[aria-busy="true"] {
  cursor: progress;
}

.wor-reader-dock:is([data-wor-reader-active-panel="text"], [data-wor-reader-active-panel="font"], [data-wor-reader-active-panel="background"], [data-wor-reader-active-panel="settings"]) {
  --wor-reader-text-dock-height: min(50dvh, 460px);
  block-size: var(--wor-reader-text-dock-height);
  max-block-size: var(--wor-reader-text-dock-height);
  min-block-size: 0;
  overflow: visible;
  grid-template-rows: auto minmax(0, 1fr) auto;
}

body.single-wor_chapter.wor-reader-dock-settings-panel:not(.wor-reader-dock-collapsed) .wor-reader-main {
  padding-block-end: calc(min(50dvh, 460px) + var(--wor-safe-bottom));
}

.wor-reader-dock__top--settings {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
  align-items: center;
  min-block-size: 38px;
}

.wor-reader-dock__top[hidden],
.wor-reader-dock__panel[hidden] {
  display: none !important;
}

.wor-reader-dock__reset {
  grid-column: 2;
  display: grid;
  place-items: center;
  inline-size: 42px;
  block-size: 42px;
  border: 1px solid color-mix(in srgb, var(--wor-accent) 62%, var(--wor-border));
  border-radius: 999px;
  background: var(--wor-accent-soft);
  color: var(--wor-accent);
  font-size: 1.15rem;
  font-weight: 950;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background-color .18s ease;
}

.wor-reader-dock__reset:is(:hover, :focus-visible) {
  transform: rotate(-18deg) scale(1.04);
  border-color: var(--wor-accent);
}

.wor-reader-dock__panel--text,
.wor-reader-dock__panel--font,
.wor-reader-dock__panel--background,
.wor-reader-dock__panel--settings {
  min-block-size: 0;
  overflow: auto;
  overscroll-behavior: contain;
  padding-inline-end: 2px;
  scrollbar-width: thin;
}

.wor-reader-text-settings {
  display: grid;
  gap: 8px;
}

.wor-reader-text-setting {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--wor-border);
  border-radius: 14px;
  background: var(--wor-surface);
}

.wor-reader-text-setting h3 {
  margin: 0;
  color: var(--wor-text);
  font-size: .72rem;
  font-weight: 950;
  line-height: 1.3;
  text-align: start;
}

.wor-reader-text-stepper {
  direction: rtl;
  display: grid;
  grid-template-columns: auto minmax(74px, 1fr) auto;
  align-items: center;
  gap: 10px;
}

.wor-reader-text-stepper button,
.wor-reader-text-choices button {
  min-block-size: 38px;
  border: 1px solid var(--wor-border);
  border-radius: 12px;
  background: var(--wor-surface-soft);
  color: var(--wor-text);
  font-weight: 950;
  cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease, color .18s ease, opacity .18s ease;
}

.wor-reader-text-stepper button {
  inline-size: 54px;
  font-size: 1rem;
}

.wor-reader-text-stepper button:disabled {
  cursor: default;
  opacity: .42;
}

.wor-reader-text-stepper output {
  display: grid;
  place-items: center;
  min-block-size: 38px;
  color: var(--wor-text);
  font-size: .92rem;
  font-weight: 950;
  line-height: 1;
  text-align: center;
}

.wor-reader-text-choices {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.wor-reader-text-choices button {
  min-inline-size: 0;
  padding-inline: 10px;
  font-size: .82rem;
}

.wor-reader-text-stepper button:is(:hover, :focus-visible),
.wor-reader-text-choices button:is(:hover, :focus-visible),
.wor-reader-text-choices button.is-active {
  border-color: color-mix(in srgb, var(--wor-accent) 78%, var(--wor-border));
  background: var(--wor-accent-soft);
  color: var(--wor-accent);
}

@media (max-width: 430px) {
  .wor-reader-dock:is([data-wor-reader-active-panel="text"], [data-wor-reader-active-panel="font"], [data-wor-reader-active-panel="background"], [data-wor-reader-active-panel="settings"]) {
    --wor-reader-text-dock-height: min(52dvh, 430px);
  }

  body.single-wor_chapter.wor-reader-dock-settings-panel:not(.wor-reader-dock-collapsed) .wor-reader-main {
    padding-block-end: calc(min(52dvh, 430px) + var(--wor-safe-bottom));
  }

  .wor-reader-text-setting {
    padding: 10px;
  }

  .wor-reader-text-stepper {
    gap: 8px;
  }

  .wor-reader-text-stepper button {
    inline-size: 48px;
  }

  .wor-reader-text-choices {
    gap: 6px;
  }

  .wor-reader-text-choices button {
    font-size: .76rem;
  }
}


.wor-reader-font-settings {
  display: grid;
  gap: 8px;
}

.wor-reader-font-choice {
  display: grid;
  gap: 7px;
  inline-size: 100%;
  min-block-size: 64px;
  padding: 12px 14px;
  border: 1px solid var(--wor-border);
  border-radius: 14px;
  background: var(--wor-surface);
  color: var(--wor-text);
  text-align: start;
  cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease, color .18s ease, transform .18s ease;
}

.wor-reader-font-choice strong {
  display: block;
  min-inline-size: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: var(--wor-text);
  font-family: var(--wor-reader-font-preview, inherit);
  font-size: clamp(.98rem, 2.4vw, 1.18rem);
  font-weight: 850;
  line-height: 1.45;
}

.wor-reader-font-choice span {
  color: var(--wor-muted);
  font-size: .76rem;
  font-weight: 800;
  line-height: 1.3;
  direction: ltr;
  unicode-bidi: plaintext;
}

.wor-reader-font-choice:is(:hover, :focus-visible),
.wor-reader-font-choice.is-active {
  border-color: color-mix(in srgb, var(--wor-accent) 78%, var(--wor-border));
  background: var(--wor-accent-soft);
  color: var(--wor-accent);
}

.wor-reader-font-choice.is-active strong {
  color: var(--wor-text);
}

@media (max-width: 430px) {
  .wor-reader-font-choice {
    min-block-size: 58px;
    padding: 10px 12px;
  }

  .wor-reader-font-choice strong {
    font-size: .96rem;
  }
}


.wor-reader-background-settings {
  display: grid;
  gap: 10px;
}

.wor-reader-background-presets {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}

.wor-reader-background-preset {
  display: grid;
  gap: 8px;
  min-inline-size: 0;
  padding: 10px;
  border: 1px solid var(--wor-border);
  border-radius: 14px;
  background: var(--wor-surface);
  color: var(--wor-text);
  cursor: pointer;
  transition: border-color .18s ease, background-color .18s ease, color .18s ease, transform .18s ease, opacity .18s ease;
}

.wor-reader-background-preset[aria-disabled="true"] {
  cursor: default;
  opacity: .48;
}

.wor-reader-background-preset__sample {
  display: grid;
  place-items: center;
  min-block-size: 44px;
  border: 1px solid color-mix(in srgb, currentColor 16%, transparent);
  border-radius: 12px;
  font-size: 1rem;
  font-weight: 950;
}

.wor-reader-background-preset strong {
  display: block;
  min-inline-size: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .76rem;
  font-weight: 900;
  line-height: 1.3;
  text-align: center;
}

.wor-reader-background-preset:is(:hover, :focus-visible):not([aria-disabled="true"]),
.wor-reader-background-preset[aria-pressed="true"] {
  border-color: color-mix(in srgb, var(--wor-accent) 78%, var(--wor-border));
  background: var(--wor-accent-soft);
  color: var(--wor-accent);
}

.wor-reader-background-custom,
.wor-reader-background-color-group {
  display: grid;
  gap: 10px;
  padding: 12px;
  border: 1px solid var(--wor-border);
  border-radius: 14px;
  background: var(--wor-surface);
}

.wor-reader-background-custom__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.wor-reader-background-custom h3,
.wor-reader-background-color-group h3 {
  margin: 0;
  color: var(--wor-text);
  font-size: .72rem;
  font-weight: 950;
  line-height: 1.3;
}

.wor-reader-background-custom__head button {
  min-block-size: 34px;
  padding-inline: 16px;
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: var(--wor-surface-soft);
  color: var(--wor-text);
  font-size: .78rem;
  font-weight: 950;
  cursor: pointer;
}

.wor-reader-background-custom__head button[aria-pressed="true"] {
  border-color: color-mix(in srgb, var(--wor-accent) 78%, var(--wor-border));
  background: var(--wor-accent-soft);
  color: var(--wor-accent);
}

.wor-reader-background-palette {
  display: grid;
  gap: 10px;
}

.wor-reader-background-colors {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(30px, 1fr));
  gap: 7px;
}

.wor-reader-background-color {
  display: block;
  inline-size: 100%;
  aspect-ratio: 1;
  min-block-size: 30px;
  border: 1px solid color-mix(in srgb, var(--wor-text) 22%, transparent);
  border-radius: 999px;
  cursor: pointer;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.14);
  transition: transform .16s ease, border-color .16s ease, box-shadow .16s ease;
}

.wor-reader-background-color:is(:hover, :focus-visible),
.wor-reader-background-color[aria-pressed="true"] {
  transform: scale(1.06);
  border-color: var(--wor-accent);
  box-shadow: 0 0 0 3px var(--wor-accent-soft), inset 0 0 0 1px rgba(255,255,255,.18);
}

@media (max-width: 430px) {
  .wor-reader-background-presets {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wor-reader-background-preset__sample {
    min-block-size: 38px;
  }

  .wor-reader-background-colors {
    grid-template-columns: repeat(auto-fill, minmax(28px, 1fr));
  }
}


/* v1.9.6 - Shared preset color dots for client-side word replacements. */
body.wor-reader-words-open {
  --wor-reader-words-open: 1;
}

.wor-reader-words-sheet[hidden] {
  display: none !important;
}

.wor-reader-words-sheet {
  position: fixed;
  z-index: 99991;
  inset-inline: 0;
  inset-block-end: 0;
  direction: rtl;
  display: grid;
  grid-template-rows: auto 1fr;
  block-size: min(64dvh, 620px);
  max-block-size: min(64dvh, 620px);
  padding: clamp(10px, 1.6vw, 18px);
  padding-block-end: calc(clamp(10px, 1.6vw, 18px) + env(safe-area-inset-bottom));
  color: var(--wor-text);
  background: var(--wor-surface-solid, var(--wor-bg));
  opacity: 1;
  isolation: isolate;
  border-block-start: 1px solid var(--wor-border);
  border-start-start-radius: 18px;
  border-start-end-radius: 18px;
  box-shadow: 0 -18px 60px rgba(0, 0, 0, .36);
  overflow: hidden;
}

.wor-reader-words-sheet__head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-block-end: 10px;
}

.wor-reader-words-sheet__head h2 {
  margin: 0;
  font-size: .98rem;
  font-weight: 900;
}

.wor-reader-words-sheet__close {
  inline-size: 38px;
  block-size: 38px;
  border: 1px solid var(--wor-border);
  border-radius: 12px;
  color: var(--wor-text);
  background: color-mix(in srgb, var(--wor-surface-solid, var(--wor-bg)) 92%, var(--wor-bg) 8%);
  font-size: 1.3rem;
  line-height: 1;
  cursor: pointer;
}

.wor-reader-words-sheet__body {
  min-block-size: 0;
  overflow: auto;
  overscroll-behavior: contain;
  padding-inline-end: 2px;
}

.wor-reader-words-tabs {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
  margin-block-end: 10px;
}

.wor-reader-words-tabs button,
.wor-reader-words-btn,
.wor-reader-words-item__actions button {
  min-block-size: 42px;
  border: 1px solid var(--wor-border);
  border-radius: 14px;
  color: var(--wor-text);
  background: color-mix(in srgb, var(--wor-surface-solid, var(--wor-bg)) 94%, var(--wor-bg) 6%);
  font-weight: 900;
  cursor: pointer;
}

.wor-reader-words-tabs button.is-active,
.wor-reader-words-tabs button[aria-selected="true"],
.wor-reader-words-btn--primary {
  color: var(--wor-accent);
  border-color: color-mix(in srgb, var(--wor-accent) 72%, var(--wor-border));
  background: color-mix(in srgb, var(--wor-accent) 14%, var(--wor-surface-solid, var(--wor-bg)));
}

.wor-reader-words-sheet__hint,
.wor-reader-words-empty {
  margin: 0 0 10px;
  color: var(--wor-muted);
  font-size: .82rem;
  line-height: 1.8;
}

.wor-reader-words-form {
  display: grid;
  gap: 8px;
  padding: 10px;
  margin-block-end: 10px;
  border: 1px solid var(--wor-border);
  border-radius: 18px;
  background: color-mix(in srgb, var(--wor-surface-solid, var(--wor-bg)) 90%, var(--wor-bg) 10%);
}

.wor-reader-words-form label {
  display: grid;
  gap: 6px;
  min-width: 0;
}

.wor-reader-words-form label > span,
.wor-reader-words-check span {
  color: var(--wor-muted);
  font-size: .78rem;
  font-weight: 800;
}

.wor-reader-words-form input[type="text"] {
  inline-size: 100%;
  min-block-size: 42px;
  padding: 0 12px;
  color: var(--wor-text);
  background: var(--wor-bg);
  border: 1px solid var(--wor-border);
  border-radius: 14px;
  outline: none;
}

.wor-reader-words-form input[type="text"]:focus {
  border-color: var(--wor-accent);
  box-shadow: 0 0 0 3px color-mix(in srgb, var(--wor-accent) 20%, transparent);
}

.wor-reader-words-form__options {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 8px 14px;
}

.wor-reader-words-check {
  display: inline-flex !important;
  grid-template-columns: none !important;
  align-items: center;
  gap: 8px;
}

.wor-reader-words-check input {
  inline-size: 18px;
  block-size: 18px;
  accent-color: var(--wor-accent);
}

.wor-reader-words-color-grid {
  grid-column: 1 / -1;
  max-block-size: 132px;
  overflow: auto;
  padding: 10px;
  border: 1px solid var(--wor-border);
  border-radius: 14px;
  background: color-mix(in srgb, var(--wor-surface-solid, var(--wor-bg)) 92%, var(--wor-bg) 8%);
  overscroll-behavior: contain;
}

.wor-reader-words-color-dot {
  min-block-size: 28px;
}

.wor-reader-words-color-dot.is-active,
.wor-reader-words-color-dot[aria-pressed="true"] {
  transform: scale(1.08);
  border-color: var(--wor-accent);
  box-shadow: 0 0 0 3px var(--wor-accent-soft), inset 0 0 0 1px rgba(255,255,255,.18);
}

.wor-reader-words-form__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 8px;
}

.wor-reader-words-list {
  display: grid;
  gap: 8px;
}

.wor-reader-words-item {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 10px;
  border: 1px solid var(--wor-border);
  border-radius: 16px;
  background: color-mix(in srgb, var(--wor-surface-solid, var(--wor-bg)) 92%, var(--wor-bg) 8%);
}

.wor-reader-words-item__body {
  display: grid;
  gap: 4px;
  min-width: 0;
}

.wor-reader-words-item__body strong {
  overflow: hidden;
  color: var(--wor-text);
  text-overflow: ellipsis;
  white-space: nowrap;
  font-size: .9rem;
}

.wor-reader-words-item__body span {
  color: var(--wor-muted);
  font-size: .76rem;
  font-weight: 800;
}

.wor-reader-words-item__color {
  display: inline-block;
  inline-size: 28px;
  block-size: 8px;
  border-radius: 999px;
  border: 1px solid var(--wor-border);
}

.wor-reader-words-item__actions {
  display: inline-flex;
  gap: 6px;
}

.wor-reader-words-item__actions button {
  min-block-size: 34px;
  padding-inline: 12px;
  border-radius: 12px;
  font-size: .78rem;
}

.wor-reader-words-btn--danger {
  inline-size: 100%;
  margin-block-start: 10px;
  color: var(--wor-danger, #ef4444);
  border-color: color-mix(in srgb, var(--wor-danger, #ef4444) 55%, var(--wor-border));
}

.wor-reader-word-mark {
  border-radius: .28em;
  padding-inline: .08em;
}

@media (max-width: 640px) {
  .wor-reader-words-sheet {
    block-size: min(68dvh, 620px);
    max-block-size: min(68dvh, 620px);
    padding-inline: 10px;
  }

  .wor-reader-words-item {
    grid-template-columns: 1fr;
  }

  .wor-reader-words-item__actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .wor-reader-words-color-grid {
    max-block-size: 116px;
    grid-template-columns: repeat(auto-fill, minmax(26px, 1fr));
    gap: 6px;
    padding: 8px;
  }

  .wor-reader-words-color-dot {
    min-block-size: 26px;
  }
}

/* Lightweight comments and reactions */
.wor-comments-section {
  width: min(100%, 1120px);
  margin: 24px auto;
  direction: rtl;
  text-align: right;
}

.wor-comments-toggle {
  width: 100%;
  min-height: 56px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  padding: 14px 18px;
  border: 1px solid var(--wor-border);
  border-radius: var(--wor-radius-md);
  background: var(--wor-surface-solid);
  color: var(--wor-text);
  font-weight: 800;
  cursor: pointer;
  box-shadow: var(--wor-shadow);
}

.wor-comments-toggle strong {
  min-width: 34px;
  min-height: 28px;
  display: inline-grid;
  place-items: center;
  border-radius: 999px;
  background: var(--wor-accent-soft);
  color: var(--wor-accent);
}

.wor-comments-panel {
  margin-top: 14px;
  padding: 18px;
  border: 1px solid var(--wor-border);
  border-radius: var(--wor-radius-lg);
  background: var(--wor-surface-solid);
  color: var(--wor-text);
  box-shadow: var(--wor-shadow);
}

.wor-panel .wor-comments-section {
  width: 100%;
  margin: 0;
}

.wor-panel .wor-comments-panel {
  margin-top: 0;
  box-shadow: none;
  background: transparent;
  border: 0;
  padding: 0;
}

.wor-comments-head,
.wor-comments-form__foot,
.wor-comments-inline-form__foot,
.wor-comment-actions,
.wor-comment-meta {
  display: flex;
  align-items: center;
  gap: 10px;
}

.wor-comments-head {
  justify-content: space-between;
  margin-bottom: 14px;
}

.wor-comments-head h2 {
  margin: 0;
  font-size: clamp(18px, 3vw, 24px);
}

.wor-comments-sortbar {
  margin: 0 0 14px;
  padding: 10px 12px;
  border: 1px solid var(--wor-border);
  border-radius: 16px;
  background: var(--wor-surface-soft);
}

.wor-comments-sortbar .wor-comments-sort {
  display: flex;
  justify-content: flex-start;
}

.wor-comments-sort label {
  display: flex;
  align-items: center;
  gap: 8px;
  color: var(--wor-muted);
  font-size: 13px;
}

.wor-comments-sort select {
  min-width: 150px;
  border: 1px solid var(--wor-border);
  border-radius: 14px;
  background: var(--wor-surface-soft);
  color: var(--wor-text);
  padding: 9px 12px;
}

.wor-comments-reactions {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
  margin-bottom: 16px;
}

.wor-comments-reaction {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 8px;
  min-height: 50px;
  border: 1px solid var(--wor-border);
  border-radius: 18px;
  background: var(--wor-surface-soft);
  color: var(--wor-text);
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background .18s ease;
}

.wor-comments-reaction:hover,
.wor-comments-reaction.is-active {
  border-color: color-mix(in srgb, var(--wor-accent) 60%, var(--wor-border));
  background: var(--wor-accent-soft);
}

.wor-comments-reaction:active {
  transform: scale(.98);
}

.wor-comments-reaction__emoji {
  font-size: 22px;
  line-height: 1;
}

.wor-comments-reaction__count {
  min-width: 22px;
  font-size: 13px;
  color: var(--wor-muted);
}

.wor-comments-login-note,
.wor-comments-empty {
  border: 1px dashed var(--wor-border);
  border-radius: 18px;
  background: var(--wor-surface-soft);
  color: var(--wor-muted);
  padding: 14px;
  text-align: center;
  margin-bottom: 14px;
}

.wor-comments-empty.is-error,
.wor-comments-form__message.is-error {
  color: #ef4444;
}

.wor-comments-form,
.wor-comments-inline-form {
  border: 1px solid var(--wor-border);
  border-radius: 18px;
  padding: 12px;
  background: var(--wor-surface-soft);
  margin-bottom: 16px;
}

.wor-comments-form textarea,
.wor-comments-inline-form textarea {
  width: 100%;
  min-height: 94px;
  resize: vertical;
  border: 1px solid var(--wor-border);
  border-radius: 16px;
  background: var(--wor-surface-solid);
  color: var(--wor-text);
  padding: 12px;
  direction: rtl;
  text-align: right;
  line-height: 1.8;
}

.wor-comments-form__foot,
.wor-comments-inline-form__foot {
  justify-content: space-between;
  flex-wrap: wrap;
  margin-top: 10px;
}

.wor-comments-spoiler-check {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  color: var(--wor-muted);
  font-size: 13px;
}

.wor-comments-form button[type="submit"],
.wor-comments-inline-form button[type="submit"],
.wor-comments-more {
  border: 1px solid color-mix(in srgb, var(--wor-accent) 55%, var(--wor-border));
  border-radius: 14px;
  background: var(--wor-accent);
  color: var(--wor-bg);
  padding: 9px 18px;
  font-weight: 800;
  cursor: pointer;
}

.wor-comments-form__message {
  margin: 10px 0 0;
  color: var(--wor-muted);
  font-size: 13px;
}

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

.wor-comment-item {
  display: grid;
  grid-template-columns: 44px minmax(0, 1fr);
  gap: 10px;
  border: 1px solid var(--wor-border);
  border-radius: 20px;
  background: color-mix(in srgb, var(--wor-surface-solid) 84%, var(--wor-accent-soft));
  padding: 12px;
  overflow: visible;
  position: relative;
  z-index: 1;
}

.wor-comment-item.is-menu-open {
  z-index: 140;
}

.wor-comment-item.is-child-menu-open {
  z-index: 130;
}

.wor-comment-replies {
  position: relative;
  z-index: 1;
  overflow: visible;
}

.wor-comment-replies .wor-comment-item.is-menu-open {
  z-index: 170;
}

.wor-comment-replies-toggle {
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: var(--wor-surface-soft);
  color: var(--wor-accent);
  padding: 6px 10px;
  font-size: 12px;
  font-weight: 800;
  cursor: pointer;
}

.wor-comment-replies-toggle[aria-expanded="true"] {
  background: var(--wor-accent-soft);
}

.wor-comment-replies {
  display: grid;
  gap: 8px;
  margin: 12px 0 0;
  padding-inline-start: 10px;
  border-inline-start: 2px solid var(--wor-border);
}

.wor-comment-replies[hidden] {
  display: none;
}

.wor-comment-replies .wor-comment-item {
  border-radius: 16px;
  background: var(--wor-surface-soft);
  box-shadow: none;
}

.wor-comment-item.is-reply {
  grid-template-columns: 36px minmax(0, 1fr);
  background: var(--wor-surface-soft);
}

.wor-comment-item.depth-2 {
  margin-inline-start: 4px;
}

.wor-comment-avatar {
  width: 44px;
  height: 44px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: var(--wor-accent-soft);
  color: var(--wor-accent);
  font-weight: 900;
}

.wor-comment-item.is-reply .wor-comment-avatar {
  width: 36px;
  height: 36px;
}

.wor-comment-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.wor-comment-body {
  min-width: 0;
  overflow: visible;
}

.wor-comment-meta {
  flex-wrap: wrap;
  margin-bottom: 7px;
  color: var(--wor-muted);
  font-size: 12px;
}

.wor-comment-meta strong {
  color: var(--wor-text);
  font-size: 14px;
}

.wor-comment-rank {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 8px;
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: var(--wor-surface-soft);
  color: var(--wor-accent);
  font-size: 11px;
  font-weight: 800;
}

.wor-comment-reply-to {
  color: var(--wor-accent);
}

.wor-comment-content {
  position: relative;
  border-radius: 14px;
}

.wor-comment-text {
  white-space: pre-wrap;
  overflow-wrap: anywhere;
  word-break: normal;
  line-height: 1.9;
  color: var(--wor-text);
}

.wor-comment-content.is-spoiler[data-revealed="0"] .wor-comment-text {
  filter: blur(6px);
  opacity: .55;
  user-select: none;
}

.wor-comment-spoiler-overlay {
  position: absolute;
  inset: 0;
  z-index: 2;
  border: 1px solid var(--wor-border);
  border-radius: 14px;
  background: color-mix(in srgb, var(--wor-surface-solid) 75%, transparent);
  color: var(--wor-text);
  font-weight: 800;
  cursor: pointer;
  min-height: 44px;
}

.wor-comment-content.is-spoiler[data-revealed="1"] .wor-comment-spoiler-overlay {
  display: none;
}

.wor-comment-actions {
  flex-wrap: wrap;
  margin-top: 10px;
}

.wor-comment-vote,
.wor-comment-action,
.wor-comments-inline-form__foot .wor-comment-action {
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: var(--wor-surface-solid);
  color: var(--wor-muted);
  padding: 6px 10px;
  font-size: 12px;
  cursor: pointer;
}

.wor-comment-vote.is-active,
.wor-comment-vote[aria-pressed="true"] {
  color: var(--wor-accent);
  border-color: color-mix(in srgb, var(--wor-accent) 55%, var(--wor-border));
  background: var(--wor-accent-soft);
}

.wor-comments-inline-form {
  margin: 12px 0 0;
  max-width: 100%;
}

.wor-comments-inline-form__label {
  margin-bottom: 8px;
  color: var(--wor-muted);
  font-size: 13px;
  font-weight: 800;
}

.wor-comments-more {
  display: block;
  width: min(100%, 340px);
  margin: 18px auto 0;
}

@media (max-width: 640px) {
  .wor-comments-section {
    margin: 18px auto;
  }

  .wor-comments-panel {
    padding: 12px;
    border-radius: 20px;
  }

  .wor-comments-head {
    align-items: stretch;
    flex-direction: column;
  }

  .wor-comments-sortbar {
    padding: 10px;
  }

  .wor-comments-sort label,
  .wor-comments-sort select {
    width: 100%;
  }

  .wor-comments-reactions {
    grid-template-columns: repeat(3, 1fr);
    gap: 8px;
  }

  .wor-comments-reaction {
    min-height: 46px;
    border-radius: 16px;
  }

  .wor-comment-item {
    grid-template-columns: 36px minmax(0, 1fr);
    gap: 8px;
    padding: 10px;
  }

  .wor-comment-avatar,
  .wor-comment-item.is-reply .wor-comment-avatar {
    width: 34px;
    height: 34px;
  }

  .wor-comment-replies-toggle {
    padding: 6px 9px;
  }

  .wor-comment-replies {
    margin-top: 10px;
    padding-inline-start: 5px;
  }

  .wor-comment-item.depth-2 {
    margin-inline-start: 0;
  }

  .wor-comment-text {
    overflow-wrap: break-word;
    line-height: 1.85;
  }

  .wor-comments-form__foot,
  .wor-comments-inline-form__foot {
    align-items: stretch;
    flex-direction: column;
  }

  .wor-comments-form button[type="submit"],
  .wor-comments-inline-form button[type="submit"],
  .wor-comments-inline-form__foot .wor-comment-action {
    width: 100%;
  }
}

/* Comment management polish */
.wor-comment-aux {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 8px;
  margin-top: 8px;
  flex-wrap: wrap;
}

.wor-comment-menu-wrap {
  position: relative;
  display: inline-flex;
}

.wor-comment-menu-button {
  width: 32px;
  min-width: 32px;
  height: 32px;
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: var(--wor-surface-solid);
  color: var(--wor-muted);
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  font-weight: 900;
}

.wor-comment-menu-button[aria-expanded="true"],
.wor-comment-menu-button:hover {
  color: var(--wor-accent);
  border-color: color-mix(in srgb, var(--wor-accent) 55%, var(--wor-border));
  background: var(--wor-accent-soft);
}

.wor-comment-menu {
  position: absolute;
  z-index: 9999;
  inset-block-start: calc(100% + 6px);
  inset-inline-end: 0;
  min-width: 150px;
  padding: 6px;
  border: 1px solid var(--wor-border);
  border-radius: 14px;
  background: var(--wor-surface-solid);
  box-shadow: var(--wor-shadow);
}

.wor-comment-menu[hidden] {
  display: none;
}

.wor-comment-menu button {
  width: 100%;
  border: 0;
  border-radius: 10px;
  background: transparent;
  color: var(--wor-text);
  text-align: right;
  padding: 9px 10px;
  cursor: pointer;
}

.wor-comment-menu button:hover {
  background: var(--wor-surface-soft);
  color: var(--wor-accent);
}

.wor-comment-pin-badge {
  display: inline-flex;
  align-items: center;
  min-height: 22px;
  padding: 2px 8px;
  border: 1px solid color-mix(in srgb, var(--wor-accent) 55%, var(--wor-border));
  border-radius: 999px;
  background: var(--wor-accent-soft);
  color: var(--wor-accent);
  font-size: 11px;
  font-weight: 900;
}

.wor-comment-item.is-pinned {
  border-color: color-mix(in srgb, var(--wor-accent) 45%, var(--wor-border));
}

@media (max-width: 640px) {
  .wor-comment-menu {
    min-width: 138px;
  }

  .wor-comment-aux {
    margin-top: 7px;
  }
}


/* Polished inline SVG icons for header and bottom navigation. */
.wor-ui-icon {
  display: block;
  width: 1em;
  height: 1em;
  fill: currentColor;
}

.wor-icon-btn .wor-ui-icon {
  width: 22px;
  height: 22px;
}

.wor-theme-icon,
.wor-theme-icon > span {
  display: inline-grid;
  place-items: center;
}

.wor-bottom-nav__icon {
  display: grid;
  place-items: center;
  width: 26px;
  height: 26px;
  font-size: 1rem;
}

.wor-bottom-nav__icon .wor-ui-icon {
  width: 24px;
  height: 24px;
}

body.single-wor_novel .wor-topbar {
  transition: background 180ms ease, border-color 180ms ease, box-shadow 180ms ease, opacity 180ms ease;
}

body.single-wor_novel.wor-header-soft .wor-topbar {
  background: color-mix(in srgb, var(--wor-surface) 42%, transparent);
  border-block-end-color: transparent;
  box-shadow: none;
}

body.single-wor_novel.wor-header-soft .wor-icon-btn {
  background: color-mix(in srgb, var(--wor-surface-solid) 58%, transparent);
  opacity: 0.72;
}

body.single-wor_novel.wor-header-soft .wor-brand {
  opacity: 0.58;
}

body.single-wor_novel.wor-header-soft .wor-topbar:is(:hover, :focus-within),
body.single-wor_novel.wor-drawer-open .wor-topbar,
body.single-wor_novel.wor-search-open .wor-topbar {
  background: color-mix(in srgb, var(--wor-surface) 92%, transparent);
  border-block-end-color: var(--wor-border);
  opacity: 1;
}

body.single-wor_novel.wor-header-soft .wor-topbar:is(:hover, :focus-within) .wor-icon-btn,
body.single-wor_novel.wor-drawer-open .wor-icon-btn,
body.single-wor_novel.wor-search-open .wor-icon-btn,
body.single-wor_novel.wor-header-soft .wor-topbar:is(:hover, :focus-within) .wor-brand,
body.single-wor_novel.wor-drawer-open .wor-brand,
body.single-wor_novel.wor-search-open .wor-brand {
  opacity: 1;
}

/* v2.3.2 - Modern account profile page. */
.wor-account-page {
  padding-block: clamp(24px, 5vw, 48px) 96px;
}

.wor-account-shell {
  inline-size: min(100%, 980px);
  margin-inline: auto;
  display: grid;
  gap: 18px;
}

.wor-account-profile-head {
  display: grid;
  justify-items: center;
  text-align: center;
  gap: 10px;
  position: relative;
  padding-block: 8px 4px;
}

.wor-account-avatar-wrap {
  position: relative;
  display: inline-grid;
  place-items: center;
}

.wor-account-avatar {
  inline-size: clamp(120px, 18vw, 164px);
  block-size: clamp(120px, 18vw, 164px);
  padding: 0;
  border: 4px solid color-mix(in srgb, var(--wor-accent) 50%, var(--wor-border));
  border-radius: 999px;
  background: var(--wor-surface-solid);
  box-shadow: 0 16px 40px rgba(0,0,0,.34), 0 0 0 8px color-mix(in srgb, var(--wor-accent) 12%, transparent);
  cursor: pointer;
  overflow: hidden;
}

.wor-account-avatar img,
.wor-account-modal__dialog img {
  inline-size: 100%;
  block-size: 100%;
  object-fit: cover;
  display: block;
}

.wor-account-level-badge {
  position: absolute;
  inset-inline-start: 8px;
  inset-block-end: 10px;
  min-inline-size: 34px;
  block-size: 34px;
  display: grid;
  place-items: center;
  border-radius: 999px;
  background: linear-gradient(135deg, var(--wor-accent), color-mix(in srgb, var(--wor-accent) 55%, #ff8a4c));
  color: #fff;
  font-weight: 900;
  border: 3px solid var(--wor-bg);
  box-shadow: 0 8px 22px rgba(0,0,0,.32);
}

.wor-account-name-row {
  display: inline-flex;
  align-items: center;
  gap: 10px;
}

.wor-account-name-row h1 {
  margin: 0;
  font-size: clamp(28px, 5vw, 42px);
  line-height: 1.1;
  text-shadow: 0 2px 0 rgba(0,0,0,.3);
}

.wor-account-edit-name,
.wor-account-lock,
.wor-account-modal__close {
  border: 1px solid var(--wor-border);
  background: color-mix(in srgb, var(--wor-surface-solid) 78%, transparent);
  color: var(--wor-text);
  border-radius: 999px;
  cursor: pointer;
}

.wor-account-edit-name {
  inline-size: 34px;
  block-size: 34px;
  display: grid;
  place-items: center;
  color: var(--wor-accent);
}

.wor-account-name-form {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  justify-content: center;
  align-items: center;
}

.wor-account-name-form[hidden] {
  display: none;
}

.wor-account-name-form input {
  min-inline-size: min(100%, 280px);
  border: 1px solid var(--wor-border);
  border-radius: 16px;
  padding: 12px 14px;
  background: var(--wor-surface-solid);
  color: var(--wor-text);
}

.wor-account-action-message {
  min-block-size: 20px;
  margin: 0;
  color: var(--wor-muted);
  font-weight: 700;
}

.wor-account-action-message.is-error {
  color: #f87171;
}

.wor-account-avatar-menu {
  position: absolute;
  inset-block-start: calc(100% + 10px);
  inset-inline-start: 50%;
  transform: translateX(-50%);
  z-index: 20;
  min-inline-size: 170px;
  padding: 8px;
  border: 1px solid var(--wor-border);
  border-radius: 18px;
  background: color-mix(in srgb, var(--wor-surface-solid) 96%, transparent);
  box-shadow: 0 18px 42px rgba(0,0,0,.35);
}

.wor-account-avatar-menu[hidden] {
  display: none;
}

.wor-account-avatar-menu button {
  inline-size: 100%;
  border: 0;
  background: transparent;
  color: var(--wor-text);
  padding: 11px 12px;
  border-radius: 12px;
  font-weight: 800;
  cursor: pointer;
}

.wor-account-avatar-menu button:hover {
  background: var(--wor-accent-soft);
}

.wor-account-tabs {
  display: grid;
  grid-template-columns: repeat(3, 1fr);
  gap: 10px;
  padding: 10px;
  border: 1px solid var(--wor-border);
  border-radius: 24px;
  background: color-mix(in srgb, var(--wor-surface) 80%, transparent);
}

.wor-account-tabs button {
  border: 1px solid var(--wor-border);
  border-radius: 18px;
  padding: 15px 12px;
  background: color-mix(in srgb, var(--wor-surface-solid) 68%, transparent);
  color: var(--wor-text);
  font-weight: 900;
  cursor: pointer;
}

.wor-account-tabs button.is-active {
  background: linear-gradient(135deg, var(--wor-accent), color-mix(in srgb, var(--wor-accent) 70%, var(--wor-surface-solid)));
  color: #fff;
  border-color: color-mix(in srgb, var(--wor-accent) 80%, var(--wor-border));
  box-shadow: 0 12px 26px color-mix(in srgb, var(--wor-accent) 24%, transparent);
}

.wor-account-panel[hidden] {
  display: none;
}

.wor-account-panel,
.wor-account-card,
.wor-account-info-tile,
.wor-account-level-card,
.wor-account-stat-card {
  border: 1px solid var(--wor-border);
  background: color-mix(in srgb, var(--wor-surface) 84%, transparent);
  border-radius: 24px;
}

.wor-account-panel {
  padding: clamp(16px, 3vw, 24px);
  display: grid;
  gap: 16px;
}

.wor-account-card {
  padding: clamp(16px, 3vw, 22px);
}

.wor-account-email-card {
  position: relative;
}

.wor-account-email-line {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  direction: rtl;
  gap: 10px;
  flex-wrap: wrap;
  font-size: clamp(15px, 2vw, 18px);
  font-weight: 900;
  text-align: start;
}

.wor-account-lock {
  inline-size: 36px;
  block-size: 36px;
  display: grid;
  place-items: center;
}

.wor-account-email-secret {
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--wor-text);
  font: inherit;
  cursor: pointer;
  filter: blur(5px);
  user-select: none;
  transition: filter 160ms ease, color 160ms ease;
}

.wor-account-email-secret.is-revealed {
  filter: blur(0);
  user-select: text;
  color: var(--wor-accent);
}

.wor-account-popover {
  position: absolute;
  inset-block-start: calc(100% - 8px);
  inset-inline-start: 18px;
  max-inline-size: min(320px, calc(100vw - 42px));
  padding: 12px 14px;
  border: 1px solid var(--wor-border);
  border-radius: 16px;
  background: var(--wor-surface-solid);
  color: var(--wor-text);
  box-shadow: 0 16px 32px rgba(0,0,0,.28);
  z-index: 5;
  font-weight: 800;
}

.wor-account-popover[hidden] {
  display: none;
}

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

.wor-account-info-tile {
  min-block-size: 74px;
  padding: 16px 18px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  direction: rtl;
  gap: 8px;
  flex-wrap: wrap;
  font-weight: 900;
  text-align: start;
}

.wor-account-info-tile span {
  color: var(--wor-muted);
}

.wor-account-info-tile strong {
  color: var(--wor-text);
  text-align: start;
}

.wor-account-level-card {
  padding: 18px;
  text-align: center;
  display: grid;
  gap: 10px;
}

.wor-account-progress {
  position: relative;
  overflow: hidden;
  block-size: 42px;
  border-radius: 999px;
  background: color-mix(in srgb, var(--wor-surface-solid) 70%, transparent);
  border: 1px solid var(--wor-border);
}

.wor-account-progress span {
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  border-radius: inherit;
  background: linear-gradient(90deg, color-mix(in srgb, var(--wor-accent) 75%, #7dd3fc), var(--wor-accent));
}

.wor-account-progress b {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: #fff;
  text-shadow: 0 1px 2px rgba(0,0,0,.55);
  font-weight: 1000;
}

.wor-account-level-card strong {
  font-size: 16px;
  color: var(--wor-muted);
}

.wor-account-stat-pyramid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 14px;
  align-items: stretch;
}

.wor-account-stat-card {
  min-block-size: 118px;
  padding: 20px;
  display: grid;
  place-items: center;
  text-align: center;
  gap: 8px;
}

.wor-account-stat-card--top {
  grid-column: 1 / -1;
  inline-size: min(520px, 100%);
  justify-self: center;
}

.wor-account-stat-card span {
  color: var(--wor-muted);
  font-weight: 900;
}

.wor-account-stat-card strong {
  font-size: clamp(30px, 5vw, 42px);
  line-height: 1;
}

.wor-account-goals-card {
  text-align: center;
  display: grid;
  gap: 12px;
}

.wor-account-goal-preview {
  display: inline-grid;
  gap: 6px;
  justify-self: center;
  min-inline-size: 180px;
  padding: 16px;
  border-radius: 18px;
  background: color-mix(in srgb, var(--wor-surface-solid) 72%, transparent);
  border: 1px solid var(--wor-border);
}

.wor-account-goal-preview strong {
  font-size: 28px;
}

.wor-account-modal[hidden] {
  display: none;
}

.wor-account-modal {
  position: fixed;
  inset: 0;
  z-index: 10000;
  display: grid;
  place-items: center;
  padding: 24px;
}

.wor-account-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0,0,0,.72);
  backdrop-filter: blur(10px);
}

.wor-account-modal__dialog {
  position: relative;
  inline-size: min(460px, 90vw);
  aspect-ratio: 1;
  border-radius: 28px;
  overflow: hidden;
  border: 1px solid var(--wor-border);
  background: var(--wor-surface-solid);
  box-shadow: 0 24px 70px rgba(0,0,0,.5);
}

.wor-account-modal__close {
  position: absolute;
  inset-block-start: 12px;
  inset-inline-start: 12px;
  z-index: 2;
  inline-size: 42px;
  block-size: 42px;
  font-size: 28px;
  line-height: 1;
}

.wor-account-login-card {
  display: grid;
  justify-items: center;
  gap: 12px;
  text-align: center;
}

.wor-account-login-card h1,
.wor-account-login-card p {
  margin: 0;
}

@media (max-width: 720px) {
  .wor-account-tabs {
    grid-template-columns: 1fr;
  }

  .wor-account-info-grid,
  .wor-account-stat-pyramid {
    grid-template-columns: 1fr;
  }

  .wor-account-info-tile {
    align-items: center;
    flex-direction: row;
  }

  .wor-account-email-line {
    justify-content: flex-start;
    text-align: start;
  }
}

/* v2.3.5 - Drawer account card and lightweight auth modal. */
body.wor-auth-open {
  overflow: hidden;
}

.wor-drawer {
  display: flex;
  flex-direction: column;
  gap: 14px;
  overflow-y: auto;
}

.wor-drawer__head {
  justify-content: center;
  position: relative;
}

.wor-drawer__head .wor-icon-btn {
  position: absolute;
  inset-inline-start: 0;
  inset-block-start: 50%;
  transform: translateY(-50%);
}

.wor-drawer-guest-card,
.wor-drawer-user-card {
  display: grid;
  gap: 12px;
  padding: 16px;
  border: 1px solid var(--wor-border);
  border-radius: 22px;
  background: linear-gradient(135deg, color-mix(in srgb, var(--wor-surface-solid) 88%, transparent), color-mix(in srgb, var(--wor-accent) 18%, var(--wor-surface-solid)));
}

.wor-drawer-guest-card {
  text-align: center;
}

.wor-drawer-guest-card strong {
  font-size: 1rem;
}

.wor-drawer-auth-btn,
.wor-drawer-user-card__logout {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  min-block-size: 48px;
  padding: 12px 14px;
  border: 1px solid var(--wor-border);
  border-radius: 18px;
  background: color-mix(in srgb, var(--wor-surface-solid) 72%, transparent);
  color: var(--wor-accent);
  font-weight: 900;
  cursor: pointer;
}

.wor-drawer-auth-btn--primary {
  background: color-mix(in srgb, var(--wor-accent) 20%, var(--wor-surface-solid));
  border-color: color-mix(in srgb, var(--wor-accent) 60%, var(--wor-border));
  color: var(--wor-text);
}

.wor-drawer-user-card {
  justify-items: center;
  text-align: center;
}

.wor-drawer-user-card__avatar {
  inline-size: 86px;
  block-size: 86px;
  border-radius: 999px;
  border: 3px solid color-mix(in srgb, var(--wor-accent) 65%, var(--wor-border));
  object-fit: cover;
  background: var(--wor-surface-solid);
  box-shadow: 0 12px 28px rgba(0,0,0,.28);
}

.wor-drawer-user-card__name-row {
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 10px;
  flex-wrap: wrap;
}

.wor-drawer-user-card__name-row strong {
  color: var(--wor-accent);
  font-size: 1.02rem;
}

.wor-drawer-user-card__level {
  padding: 5px 10px;
  border: 1px solid color-mix(in srgb, var(--wor-accent) 55%, var(--wor-border));
  border-radius: 999px;
  background: var(--wor-accent-soft);
  color: var(--wor-accent);
  font-size: .82rem;
  font-weight: 900;
}

.wor-drawer-user-card__progress {
  position: relative;
  inline-size: 100%;
  block-size: 32px;
  overflow: hidden;
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--wor-surface-solid) 72%, transparent);
}

.wor-drawer-user-card__progress span {
  position: absolute;
  inset-block: 0;
  inset-inline-end: 0;
  background: linear-gradient(90deg, color-mix(in srgb, var(--wor-accent) 70%, #7dd3fc), var(--wor-accent));
}

.wor-drawer-user-card__progress b {
  position: absolute;
  inset: 0;
  display: grid;
  place-items: center;
  color: var(--wor-text);
  font-size: .82rem;
  font-weight: 900;
  text-shadow: 0 1px 0 rgba(0,0,0,.28);
}

.wor-drawer__nav--modern {
  padding-block-start: 14px;
  border-block-start: 1px solid var(--wor-border);
}

.wor-drawer__nav--modern a,
.wor-drawer__nav--modern button {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  min-block-size: 50px;
  inline-size: 100%;
  border: 1px solid var(--wor-border);
  background: color-mix(in srgb, var(--wor-surface-solid) 70%, transparent);
  color: var(--wor-accent);
  text-align: start;
  cursor: pointer;
}

.wor-drawer__nav--modern a.is-active,
.wor-drawer__nav--modern button.is-active {
  background: var(--wor-accent-soft);
  border-color: color-mix(in srgb, var(--wor-accent) 70%, var(--wor-border));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--wor-accent) 24%, transparent) inset;
}


.wor-drawer__nav--modern button.is-disabled {
  opacity: .92;
  cursor: default;
}

.wor-drawer__nav--modern button.is-disabled:focus {
  outline: none;
}

.wor-drawer__nav-icon {
  display: inline-grid;
  place-items: center;
  inline-size: 24px;
  block-size: 24px;
  flex: 0 0 auto;
}

.wor-auth-modal {
  position: fixed;
  inset: 0;
  z-index: 1400;
  display: grid;
  place-items: center;
  padding: 18px;
}

.wor-auth-modal__backdrop {
  position: fixed;
  inset: 0;
  border: 0;
  background: rgba(0,0,0,.56);
  backdrop-filter: blur(12px);
}

.wor-auth-modal__panel {
  position: relative;
  z-index: 1;
  inline-size: min(100%, 430px);
  max-block-size: min(92vh, 760px);
  overflow: auto;
  padding: 22px 20px 24px;
  border: 1px solid var(--wor-border);
  border-radius: 24px;
  background: color-mix(in srgb, var(--wor-surface-solid) 96%, transparent);
  box-shadow: 0 28px 70px rgba(0,0,0,.45);
}

.wor-auth-modal__close {
  position: absolute;
  inset-inline-start: 14px;
  inset-block-start: 14px;
  inline-size: 38px;
  block-size: 38px;
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--wor-surface-solid) 74%, transparent);
  color: var(--wor-text);
  font-size: 24px;
  cursor: pointer;
}

.wor-auth-modal__head {
  text-align: start;
  padding-inline-end: 4px;
  margin-block-end: 18px;
}

.wor-auth-modal__head h2 {
  margin: 0 0 8px;
  font-size: clamp(1.7rem, 7vw, 2.45rem);
  line-height: 1.05;
}

.wor-auth-modal__head p,
.wor-auth-policy,
.wor-auth-form small {
  color: var(--wor-muted);
  font-weight: 700;
}

.wor-auth-socials,
.wor-auth-form {
  display: grid;
  gap: 12px;
}

.wor-auth-social,
.wor-auth-more,
.wor-auth-tabs button,
.wor-auth-form input,
.wor-auth-submit,
.wor-auth-password button {
  border: 1px solid var(--wor-border);
  border-radius: 16px;
  background: color-mix(in srgb, var(--wor-surface-solid) 72%, transparent);
  color: var(--wor-text);
}


.wor-auth-social-provider {
  display: grid;
}

.wor-auth-social-provider .nsl-container,
.wor-auth-social-provider .nsl-container-buttons,
.wor-auth-social-provider .nsl-button {
  inline-size: 100%;
}

.wor-auth-social-provider .nsl-button {
  border-radius: 16px !important;
  min-block-size: 48px;
}

.wor-auth-social,
.wor-auth-more {
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 12px;
  min-block-size: 48px;
  padding: 12px 14px;
  font-weight: 900;
  cursor: pointer;
}

.wor-auth-social b {
  inline-size: 28px;
  text-align: center;
  font-size: 1.3rem;
}

.wor-auth-social.is-disabled,
.wor-auth-more:disabled {
  opacity: .55;
  border-style: dashed;
  cursor: not-allowed;
}

.wor-auth-more {
  justify-content: center;
  color: var(--wor-muted);
}

.wor-auth-separator {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-block: 18px;
  color: var(--wor-muted);
  font-weight: 800;
}

.wor-auth-separator::before,
.wor-auth-separator::after {
  content: "";
  flex: 1;
  block-size: 1px;
  background: var(--wor-border);
}

.wor-auth-tabs {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 10px;
  margin-block-end: 12px;
}

.wor-auth-tabs button {
  min-block-size: 50px;
  padding: 12px;
  font-weight: 900;
  cursor: pointer;
}

.wor-auth-tabs button.is-active {
  background: color-mix(in srgb, var(--wor-accent) 22%, var(--wor-surface-solid));
  border-color: color-mix(in srgb, var(--wor-accent) 65%, var(--wor-border));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--wor-accent) 14%, transparent) inset;
}

.wor-auth-message {
  min-block-size: 20px;
  margin: 0 0 8px;
  color: var(--wor-muted);
  font-weight: 800;
}

.wor-auth-message.is-error {
  color: #f87171;
}

.wor-auth-form[hidden] {
  display: none;
}

.wor-auth-form label {
  display: grid;
  gap: 8px;
  color: var(--wor-muted);
  font-weight: 900;
}

.wor-auth-form input {
  inline-size: 100%;
  min-block-size: 52px;
  padding: 13px 14px;
  outline: none;
  font-weight: 800;
}

.wor-auth-form input:focus {
  border-color: color-mix(in srgb, var(--wor-accent) 70%, var(--wor-border));
  box-shadow: 0 0 0 3px var(--wor-accent-soft);
}

.wor-auth-password {
  display: grid;
  grid-template-columns: minmax(0, 1fr) 48px;
  gap: 10px;
}

.wor-auth-password button {
  cursor: pointer;
  color: var(--wor-muted);
}

.wor-auth-captcha {
  display: grid;
  place-items: center;
  min-block-size: 68px;
}

.wor-auth-submit {
  min-block-size: 56px;
  border-color: color-mix(in srgb, var(--wor-accent) 70%, var(--wor-border));
  background: linear-gradient(135deg, var(--wor-accent), color-mix(in srgb, var(--wor-accent) 76%, #1685ff));
  color: #fff;
  font-weight: 900;
  cursor: pointer;
}

.wor-auth-submit:disabled {
  opacity: .65;
  cursor: wait;
}

.wor-auth-policy {
  margin: 16px 0 0;
  text-align: center;
  font-size: .82rem;
}

@media (max-width: 520px) {
  .wor-auth-modal {
    align-items: end;
    padding: 0;
  }

  .wor-auth-modal__panel {
    inline-size: 100%;
    max-block-size: 94vh;
    border-end-start-radius: 0;
    border-end-end-radius: 0;
    border-inline: 0;
    border-block-end: 0;
  }
}

/* v2.3.7 - Auth modal reliability and old-theme inspired polish. */
.wor-auth-modal[hidden] {
  display: none !important;
}

.wor-drawer__nav--modern a,
.wor-drawer__nav--modern button {
  direction: rtl;
  justify-content: flex-start;
  text-align: right;
}

.wor-drawer__nav--modern button.is-disabled {
  pointer-events: auto;
}

.wor-drawer__nav-icon {
  order: 0;
  margin-inline-start: 0;
  margin-inline-end: 0;
  color: var(--wor-accent);
}

.wor-auth-modal {
  direction: rtl;
  background: transparent;
}

.wor-auth-modal__backdrop {
  background:
    radial-gradient(circle at 80% 12%, color-mix(in srgb, var(--wor-accent) 20%, transparent), transparent 32%),
    rgba(0, 0, 0, .62);
  backdrop-filter: blur(14px);
}

.wor-auth-modal__panel {
  inline-size: min(100%, 450px);
  padding: 26px 20px 22px;
  border-radius: 26px;
  background:
    radial-gradient(circle at 92% 0%, color-mix(in srgb, var(--wor-accent) 14%, transparent), transparent 35%),
    color-mix(in srgb, var(--wor-surface-solid) 97%, transparent);
  border-color: color-mix(in srgb, var(--wor-border) 78%, var(--wor-accent));
  box-shadow: 0 26px 74px rgba(0, 0, 0, .52);
  overflow: hidden auto;
}

.wor-auth-modal__panel::before,
.wor-auth-modal__panel::after {
  content: "";
  position: absolute;
  pointer-events: none;
  filter: blur(20px);
  opacity: .45;
}

.wor-auth-modal__panel::before {
  inline-size: 190px;
  block-size: 190px;
  inset-block-start: -110px;
  inset-inline-end: -110px;
  background: radial-gradient(circle, color-mix(in srgb, var(--wor-accent) 55%, transparent), transparent 68%);
}

.wor-auth-modal__panel::after {
  inline-size: 210px;
  block-size: 210px;
  inset-block-end: -140px;
  inset-inline-start: -130px;
  background: radial-gradient(circle, color-mix(in srgb, #22c55e 28%, transparent), transparent 70%);
}

.wor-auth-modal__close {
  z-index: 3;
  inline-size: 40px;
  block-size: 40px;
  inset-inline-start: 14px;
  inset-block-start: 14px;
  display: grid;
  place-items: center;
  background: color-mix(in srgb, var(--wor-surface-solid) 76%, transparent);
  border-color: color-mix(in srgb, var(--wor-border) 80%, var(--wor-text));
  color: var(--wor-text);
  line-height: 1;
}

.wor-auth-modal__head,
.wor-auth-socials,
.wor-auth-separator,
.wor-auth-tabs,
.wor-auth-message,
.wor-auth-form,
.wor-auth-policy {
  position: relative;
  z-index: 2;
}

.wor-auth-modal__head {
  text-align: right;
  padding-inline-start: 44px;
  margin-block-end: 18px;
}

.wor-auth-modal__head h2 {
  font-size: clamp(2rem, 8vw, 3rem);
  line-height: 1;
  letter-spacing: -.04em;
}

.wor-auth-modal__head p {
  margin: 10px 0 0;
  line-height: 1.65;
  font-size: .95rem;
}

.wor-auth-socials {
  gap: 10px;
}

.wor-auth-social,
.wor-auth-social-provider .nsl-button,
.wor-auth-more {
  min-block-size: 48px;
  border-radius: 16px !important;
  background: color-mix(in srgb, var(--wor-surface-solid) 78%, transparent) !important;
  border: 1px solid var(--wor-border) !important;
  color: var(--wor-text) !important;
  box-shadow: none !important;
}

.wor-auth-social,
.wor-auth-more {
  flex-direction: row;
  justify-content: flex-start;
  text-align: right;
}

.wor-auth-social b {
  order: 0;
  color: var(--wor-text);
}

.wor-auth-social span,
.wor-auth-more span:first-child {
  font-weight: 900;
}

.wor-auth-more {
  justify-content: center;
  border-style: dashed !important;
  color: var(--wor-muted) !important;
  background: transparent !important;
}

.wor-auth-more__chev {
  transition: transform .18s ease;
}

.wor-auth-more.is-open .wor-auth-more__chev {
  transform: rotate(180deg);
}

.wor-auth-more-list {
  display: grid;
  gap: 10px;
}

.wor-auth-more-list[hidden] {
  display: none !important;
}

.wor-auth-separator {
  margin-block: 18px;
}

.wor-auth-separator span {
  padding-inline: 10px;
  font-weight: 800;
}

.wor-auth-tabs {
  gap: 10px;
  margin-block-end: 14px;
}

.wor-auth-tabs button {
  min-block-size: 50px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--wor-surface-solid) 72%, transparent);
  color: var(--wor-text);
}

.wor-auth-tabs button.is-active {
  background: color-mix(in srgb, var(--wor-accent) 22%, var(--wor-surface-solid));
  border-color: color-mix(in srgb, var(--wor-accent) 72%, var(--wor-border));
  box-shadow: 0 0 0 2px color-mix(in srgb, var(--wor-accent) 18%, transparent) inset;
}

.wor-auth-message {
  min-block-size: 22px;
  margin: 0 0 10px;
  text-align: right;
  line-height: 1.6;
}

.wor-auth-message.is-error {
  color: #fb7185;
}

.wor-auth-field,
.wor-auth-form label {
  display: grid;
  gap: 8px;
  text-align: right;
  color: var(--wor-muted);
}

.wor-auth-label {
  font-size: .88rem;
  font-weight: 900;
}

.wor-auth-form input {
  min-block-size: 54px;
  border-radius: 16px;
  background: color-mix(in srgb, var(--wor-surface-soft) 70%, var(--wor-surface-solid));
  color: var(--wor-text);
  text-align: right;
  direction: rtl;
  unicode-bidi: plaintext;
}

.wor-auth-password {
  grid-template-columns: minmax(0, 1fr) 50px;
}

.wor-auth-password button {
  min-block-size: 54px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  font-size: 0;
  background: color-mix(in srgb, var(--wor-surface-solid) 70%, transparent);
}

.wor-auth-password button::before {
  content: "◉";
  font-size: 1rem;
  color: var(--wor-muted);
}

.wor-auth-submit {
  min-block-size: 58px;
  margin-block-start: 4px;
  border-radius: 16px;
  background: linear-gradient(135deg, var(--wor-accent), color-mix(in srgb, var(--wor-accent) 76%, #0088ff));
}

.wor-auth-policy {
  line-height: 1.7;
}

@media (max-width: 520px) {
  .wor-auth-modal {
    align-items: end;
  }

  .wor-auth-modal__panel {
    border-radius: 28px 28px 0 0;
    padding: 26px 20px max(22px, env(safe-area-inset-bottom));
  }
}


/* v2.3.8 - Auth register toggle and single password eye fix. */
.wor-auth-password input::-ms-reveal,
.wor-auth-password input::-ms-clear {
  display: none;
}

.wor-auth-password button {
  position: relative;
  overflow: hidden;
}

.wor-auth-password button::before {
  content: "" !important;
  inline-size: 18px;
  block-size: 18px;
  border: 2px solid currentColor;
  border-radius: 50% 50% 46% 46%;
  transform: rotate(-18deg);
  opacity: .9;
}

.wor-auth-password button::after {
  content: "";
  position: absolute;
  inline-size: 6px;
  block-size: 6px;
  border-radius: 999px;
  background: currentColor;
}

.wor-auth-password button.is-visible::after {
  inline-size: 22px;
  block-size: 2px;
  border-radius: 999px;
  transform: rotate(-35deg);
  background: currentColor;
}


/* v2.3.10 - Logout refresh and refined password eye icon. */
.wor-auth-password button {
  color: var(--wor-muted) !important;
  border-color: color-mix(in srgb, var(--wor-border) 80%, var(--wor-accent)) !important;
  background: color-mix(in srgb, var(--wor-surface-solid) 76%, transparent) !important;
  transition: color .16s ease, border-color .16s ease, background .16s ease, transform .16s ease;
}

.wor-auth-password button:hover,
.wor-auth-password button:focus-visible {
  color: var(--wor-text) !important;
  border-color: color-mix(in srgb, var(--wor-accent) 72%, var(--wor-border)) !important;
  background: color-mix(in srgb, var(--wor-accent) 12%, var(--wor-surface-solid)) !important;
}

.wor-auth-password button:active {
  transform: scale(.97);
}

.wor-auth-password button::before {
  content: "" !important;
  inline-size: 24px !important;
  block-size: 24px !important;
  border: 0 !important;
  border-radius: 0 !important;
  transform: none !important;
  opacity: .96 !important;
  background: currentColor !important;
  -webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 5c5.1 0 8.9 3.6 10.5 6.3a1.35 1.35 0 0 1 0 1.4C20.9 15.4 17.1 19 12 19S3.1 15.4 1.5 12.7a1.35 1.35 0 0 1 0-1.4C3.1 8.6 6.9 5 12 5Zm0 2C8 7 5 9.6 3.6 12 5 14.4 8 17 12 17s7-2.6 8.4-5C19 9.6 16 7 12 7Zm0 2.4a2.6 2.6 0 1 1 0 5.2 2.6 2.6 0 0 1 0-5.2Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
          mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M12 5c5.1 0 8.9 3.6 10.5 6.3a1.35 1.35 0 0 1 0 1.4C20.9 15.4 17.1 19 12 19S3.1 15.4 1.5 12.7a1.35 1.35 0 0 1 0-1.4C3.1 8.6 6.9 5 12 5Zm0 2C8 7 5 9.6 3.6 12 5 14.4 8 17 12 17s7-2.6 8.4-5C19 9.6 16 7 12 7Zm0 2.4a2.6 2.6 0 1 1 0 5.2 2.6 2.6 0 0 1 0-5.2Z'/%3E%3C/svg%3E") center / contain no-repeat !important;
}

.wor-auth-password button::after {
  display: none !important;
}

.wor-auth-password button.is-visible::before {
  -webkit-mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3.3 2 22 20.7 20.7 22l-3.1-3.1A11.5 11.5 0 0 1 12 20C6.9 20 3.1 16.4 1.5 13.7a1.35 1.35 0 0 1 0-1.4 15.2 15.2 0 0 1 4.2-4.5L2 3.3 3.3 2Zm4 7.3A13.4 13.4 0 0 0 3.6 13C5 15.4 8 18 12 18c1.5 0 2.9-.4 4.1-1l-1.9-1.9a3.6 3.6 0 0 1-5-5L7.3 9.3ZM12 6c5.1 0 8.9 3.6 10.5 6.3a1.35 1.35 0 0 1 0 1.4 14.6 14.6 0 0 1-2.8 3.3l-2.2-2.2A9.4 9.4 0 0 0 20.4 13C19 10.6 16 8 12 8c-.9 0-1.7.1-2.5.4L7.9 6.8C9.2 6.3 10.5 6 12 6Z'/%3E%3C/svg%3E") !important;
          mask-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='black' d='M3.3 2 22 20.7 20.7 22l-3.1-3.1A11.5 11.5 0 0 1 12 20C6.9 20 3.1 16.4 1.5 13.7a1.35 1.35 0 0 1 0-1.4 15.2 15.2 0 0 1 4.2-4.5L2 3.3 3.3 2Zm4 7.3A13.4 13.4 0 0 0 3.6 13C5 15.4 8 18 12 18c1.5 0 2.9-.4 4.1-1l-1.9-1.9a3.6 3.6 0 0 1-5-5L7.3 9.3ZM12 6c5.1 0 8.9 3.6 10.5 6.3a1.35 1.35 0 0 1 0 1.4 14.6 14.6 0 0 1-2.8 3.3l-2.2-2.2A9.4 9.4 0 0 0 20.4 13C19 10.6 16 8 12 8c-.9 0-1.7.1-2.5.4L7.9 6.8C9.2 6.3 10.5 6 12 6Z'/%3E%3C/svg%3E") !important;
}

/* v2.3.12 - Reader accessibility and continuous public reading. */
.wor-reader-dock__panel--settings {
  gap: 8px;
}

.wor-reader-extra-settings {
  display: grid;
  gap: 8px;
}

.wor-reader-extra-card {
  display: grid;
  gap: 8px;
  padding: 10px;
  border: 1px solid var(--wor-border);
  border-radius: 16px;
  background: var(--wor-surface);
  color: var(--wor-text);
}

.wor-reader-extra-card__head,
.wor-reader-extra-control {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
}

.wor-reader-extra-card h3,
.wor-reader-extra-card p {
  margin: 0;
}

.wor-reader-extra-card h3,
.wor-reader-extra-control > span {
  color: var(--wor-text);
  font-size: .86rem;
  font-weight: 950;
}

.wor-reader-extra-card p {
  color: var(--wor-muted);
  font-size: .76rem;
  line-height: 1.65;
}

.wor-reader-switch,
.wor-reader-autoscroll-popover__toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-inline-size: 76px;
  min-block-size: 34px;
  padding-inline: 12px;
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: var(--wor-surface-soft);
  color: var(--wor-text);
  font-size: .78rem;
  font-weight: 950;
  cursor: pointer;
}

.wor-reader-switch.is-active,
.wor-reader-autoscroll-popover__toggle.is-active {
  border-color: color-mix(in srgb, var(--wor-accent) 70%, var(--wor-border));
  background: var(--wor-accent-soft);
  color: var(--wor-accent);
}

.wor-reader-extra-stepper {
  min-inline-size: 138px;
}

.wor-reader-autoscroll-fab {
  position: fixed;
  right: max(16px, env(safe-area-inset-right, 0px) + 14px);
  left: auto;
  inset-block-end: calc(96px + var(--wor-safe-bottom));
  z-index: 1120;
  display: grid;
  place-items: center;
  inline-size: 48px;
  block-size: 48px;
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: color-mix(in srgb, var(--wor-surface-solid) 88%, transparent);
  color: var(--wor-text);
  box-shadow: 0 12px 32px color-mix(in srgb, var(--wor-text) 13%, transparent);
  backdrop-filter: blur(16px);
  font-size: 1.15rem;
  cursor: pointer;
}

.wor-reader-autoscroll-fab.is-active {
  border-color: color-mix(in srgb, var(--wor-accent) 72%, var(--wor-border));
  background: var(--wor-accent-soft);
  color: var(--wor-accent);
}

.wor-reader-autoscroll-popover {
  position: fixed;
  right: max(16px, env(safe-area-inset-right, 0px) + 14px);
  left: auto;
  inset-block-end: calc(152px + var(--wor-safe-bottom));
  z-index: 1121;
  display: grid;
  gap: 10px;
  inline-size: min(310px, calc(100vw - 28px));
  padding: 12px;
  border: 1px solid var(--wor-border);
  border-radius: 18px;
  background: color-mix(in srgb, var(--wor-surface-solid) 94%, transparent);
  color: var(--wor-text);
  box-shadow: 0 20px 48px color-mix(in srgb, var(--wor-text) 16%, transparent);
  backdrop-filter: blur(18px);
}

.wor-reader-autoscroll-popover[hidden],
.wor-reader-continuous-modal[hidden] {
  display: none !important;
}

.wor-reader-continuous-modal {
  position: fixed;
  inset: 0;
  z-index: 1400;
  display: grid;
  place-items: center;
  padding: 18px;
  background: color-mix(in srgb, #000 50%, transparent);
}

.wor-reader-continuous-modal__box {
  display: grid;
  gap: 12px;
  inline-size: min(440px, 100%);
  padding: 18px;
  border: 1px solid var(--wor-border);
  border-radius: 22px;
  background: var(--wor-surface-solid);
  color: var(--wor-text);
  box-shadow: 0 24px 70px color-mix(in srgb, #000 28%, transparent);
}

.wor-reader-continuous-modal__box h2,
.wor-reader-continuous-modal__box p {
  margin: 0;
}

.wor-reader-continuous-modal__box h2 {
  font-size: 1.05rem;
  font-weight: 950;
}

.wor-reader-continuous-modal__box p {
  color: var(--wor-muted);
  font-size: .88rem;
  line-height: 1.8;
}

.wor-reader-continuous-modal__actions {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.wor-reader-continuous-modal__actions button {
  min-block-size: 42px;
  border: 1px solid var(--wor-border);
  border-radius: 14px;
  font-weight: 950;
  cursor: pointer;
}

.wor-reader-continuous-modal__confirm {
  background: var(--wor-accent);
  color: var(--wor-accent-contrast, #fff);
}

.wor-reader-continuous-modal__cancel {
  background: var(--wor-surface);
  color: var(--wor-text);
}

body.wor-continuous-enabled .wor-comments-section {
  display: none;
}

.wor-continuous-separator {
  display: flex;
  align-items: center;
  gap: 12px;
  margin-block: clamp(34px, 7vw, 74px) 26px;
  color: var(--wor-muted);
  font-size: .85rem;
  font-weight: 950;
  text-align: center;
}

.wor-continuous-separator::before,
.wor-continuous-separator::after {
  content: "";
  flex: 1 1 auto;
  block-size: 1px;
  background: var(--wor-border);
}

.wor-continuous-separator span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-block-size: 32px;
  padding-inline: 12px;
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: var(--wor-surface);
}

@media (max-width: 430px) {
  .wor-reader-extra-card__head,
  .wor-reader-extra-control {
    align-items: stretch;
    flex-direction: column;
  }

  .wor-reader-extra-stepper,
  .wor-reader-switch,
  .wor-reader-autoscroll-popover__toggle {
    inline-size: 100%;
  }

  .wor-reader-autoscroll-fab {
    inset-block-end: calc(88px + var(--wor-safe-bottom));
  }

  .wor-reader-autoscroll-popover {
    inset-block-end: calc(144px + var(--wor-safe-bottom));
  }
}


/* v2.3.15 - Keep the reader dock arrow visible independently from the moving dock. */
body.single-wor_chapter .wor-reader-dock__toggle--floating,
body.single-wor_chapter .wor-reader-dock__toggle {
  position: fixed;
  inset-block-start: auto;
  inset-inline-start: auto;
  inset-inline-end: auto;
  left: 50%;
  right: auto;
  bottom: calc(var(--wor-reader-dock-toggle-bottom, 92px) + var(--wor-safe-bottom));
  z-index: 1095;
  margin: 0;
  transform: translate3d(-50%, 0, 0);
  opacity: .96;
  pointer-events: auto;
  visibility: visible;
}

body.single-wor_chapter.wor-reader-dock-collapsed .wor-reader-dock__toggle--floating,
body.single-wor_chapter.wor-reader-dock-collapsed .wor-reader-dock__toggle {
  bottom: calc(18px + var(--wor-safe-bottom));
  transform: translate3d(-50%, 0, 0) scale(.94);
  opacity: .86;
  background: color-mix(in srgb, var(--wor-surface-solid) 72%, transparent);
  border-color: color-mix(in srgb, var(--wor-accent) 55%, var(--wor-border));
  box-shadow: 0 8px 22px color-mix(in srgb, var(--wor-text) 10%, transparent);
}

body.single-wor_chapter .wor-reader-dock__toggle--floating:is(:hover, :focus-visible),
body.single-wor_chapter .wor-reader-dock__toggle:is(:hover, :focus-visible) {
  opacity: 1;
  transform: translate3d(-50%, 0, 0) scale(1.02);
}

@media (max-width: 640px) {
  body.single-wor_chapter .wor-reader-dock__toggle--floating,
  body.single-wor_chapter .wor-reader-dock__toggle {
    inline-size: 44px;
    block-size: 44px;
  }
}

/* v2.3.16 - Softer reader dock arrow: no glow, semi-transparent for night reading. */
body.single-wor_chapter .wor-reader-dock__toggle--floating,
body.single-wor_chapter .wor-reader-dock__toggle {
  opacity: .62;
  background: color-mix(in srgb, var(--wor-surface-solid) 34%, transparent);
  border-color: color-mix(in srgb, var(--wor-border) 48%, transparent);
  color: color-mix(in srgb, var(--wor-text) 82%, transparent);
  box-shadow: none;
  backdrop-filter: blur(8px);
}

body.single-wor_chapter.wor-reader-dock-collapsed .wor-reader-dock__toggle--floating,
body.single-wor_chapter.wor-reader-dock-collapsed .wor-reader-dock__toggle {
  opacity: .50;
  background: color-mix(in srgb, var(--wor-surface-solid) 28%, transparent);
  border-color: color-mix(in srgb, var(--wor-border) 42%, transparent);
  box-shadow: none;
}

body.single-wor_chapter .wor-reader-dock__toggle--floating:is(:hover, :focus-visible),
body.single-wor_chapter .wor-reader-dock__toggle:is(:hover, :focus-visible) {
  opacity: .86;
  background: color-mix(in srgb, var(--wor-surface-solid) 46%, transparent);
  border-color: color-mix(in srgb, var(--wor-accent) 36%, var(--wor-border));
  box-shadow: none;
}


/* v2.3.17 - Optional browser-only chapter heading cleanup. */
body.single-wor_chapter.wor-hide-chapter-heading .wor-reading-page__header h1,
body.single-wor_chapter.wor-hide-chapter-heading .wor-reading-page__content > :first-child {
  display: none !important;
}

/* VIP chapters are visually merged into the public chapter list, but loaded privately. */
.wor-vip-chapter-item {
  border-color: color-mix(in srgb, var(--wor-warning, #d6a21c) 48%, var(--wor-border) 52%) !important;
  background: linear-gradient(90deg, color-mix(in srgb, var(--wor-warning, #d6a21c) 10%, transparent), var(--wor-surface, rgba(255,255,255,.04)) 60%);
}
.wor-vip-chapter-item .wor-novel-chapter-item__num {
  background: color-mix(in srgb, var(--wor-warning, #d6a21c) 80%, var(--wor-accent, #4ea1ff) 20%);
  color: var(--wor-bg, #05080d);
}
.wor-vip-chapter-item h3 a {
  color: color-mix(in srgb, var(--wor-warning, #d6a21c) 82%, var(--wor-text) 18%);
}
.wor-vip-chapter-item__meta {
  margin-block-start: .2rem;
  color: var(--wor-muted, #9aa4b2);
  font-size: .85rem;
}
.wor-vip-inline-more {
  justify-self: center;
}
.wor-reading-page--vip-fragment .wor-continuous-separator span::after {
  content: ' VIP';
  color: var(--wor-warning, #d6a21c);
}

/* Lightweight cached chapter counters. */
.wor-novel-chapter-item__submeta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 6px 12px;
  margin-block-start: 6px;
  color: var(--wor-muted);
  font-size: .88rem;
  font-weight: 750;
}
.wor-novel-chapter-item__submeta time {
  margin: 0;
}
.wor-chapter-counters {
  display: grid;
  gap: 6px;
  justify-items: stretch;
  inline-size: 54px;
  justify-self: end;
}
.wor-chapter-counter {
  min-block-size: 30px;
  padding: 5px 9px;
  border: 1px solid var(--wor-border);
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  color: var(--wor-text);
  background: color-mix(in srgb, var(--wor-surface-solid) 82%, transparent);
  white-space: nowrap;
  font-size: .78rem;
  font-weight: 900;
  line-height: 1;
}
.wor-chapter-counter--views {
  border-color: color-mix(in srgb, var(--wor-accent) 58%, var(--wor-border));
  background: var(--wor-accent);
  color: #fff;
}
.wor-chapter-counter__icon,
.wor-reader-chapters-item__counter-icon {
  font-size: .88em;
  line-height: 1;
}
.wor-reader-chapters-item__meta {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 4px 10px;
}
.wor-reader-chapters-item__counters {
  flex: 0 0 52px;
  inline-size: 52px;
  margin-inline-start: auto;
  display: grid;
  gap: 6px;
  justify-items: stretch;
}
.wor-reader-chapters-item__counter {
  min-block-size: 28px;
  padding: 4px 8px;
  border: 1px solid var(--wor-border);
  border-radius: 10px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 4px;
  color: var(--wor-text);
  background: color-mix(in srgb, var(--wor-surface-solid) 84%, transparent);
  white-space: nowrap;
  font-size: .76rem;
  font-weight: 900;
  line-height: 1;
}
.wor-reader-chapters-item__counter--views {
  border-color: color-mix(in srgb, var(--wor-accent) 58%, var(--wor-border));
  background: var(--wor-accent);
  color: #fff;
}
.wor-reader-chapters-item--vip .wor-reader-chapters-item__counter,
.wor-vip-chapter-item .wor-chapter-counter {
  border-color: color-mix(in srgb, #d4af37 62%, var(--wor-border));
}
.wor-reader-chapters-item--vip .wor-reader-chapters-item__counter--views,
.wor-vip-chapter-item .wor-chapter-counter--views {
  background: color-mix(in srgb, #d4af37 86%, var(--wor-accent) 14%);
  color: #060606;
}
@media (max-width: 640px) {
  .wor-novel-chapter-item__submeta {
    font-size: .82rem;
    gap: 4px 8px;
  }
  .wor-chapter-counters,
  .wor-reader-chapters-item__counters {
    inline-size: 46px;
    flex-basis: 46px;
  }
  .wor-chapter-counter,
  .wor-reader-chapters-item__counter {
    min-block-size: 26px;
    padding: 4px 6px;
    font-size: .72rem;
  }
}

/* Novel ratings and favorites: cache-friendly, browser-first UI */
.wor-single-hero {
  position: relative;
}

.wor-favorite-heart {
  position: absolute;
  inset-block-start: 1rem;
  inset-inline-end: 1rem;
  z-index: 4;
  width: 3rem;
  height: 3rem;
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: var(--wor-surface);
  color: var(--wor-text);
  box-shadow: 0 16px 35px rgba(0, 0, 0, .18);
  display: inline-grid;
  place-items: center;
  cursor: pointer;
  transition: transform .18s ease, color .18s ease, background .18s ease, border-color .18s ease;
}

.wor-favorite-heart span {
  font-size: 1.75rem;
  line-height: 1;
  transform: translateY(-1px);
}

.wor-favorite-heart:hover,
.wor-favorite-heart:focus-visible {
  transform: translateY(-1px) scale(1.03);
  outline: none;
  border-color: var(--wor-accent);
}

.wor-favorite-heart.is-active {
  color: #ef4444;
  background: var(--wor-surface-solid);
  border-color: rgba(239, 68, 68, .45);
}


.wor-reader-dock__action--favorite.is-active {
  border-color: rgba(239, 68, 68, .45);
  color: #ef4444;
}

.wor-reader-dock__action--favorite.is-active .wor-reader-dock__mini-icon {
  color: #ef4444;
}

button.wor-single-stats__item {
  appearance: none;
  font: inherit;
  cursor: pointer;
  text-align: inherit;
}

button.wor-single-stats__item:hover,
button.wor-single-stats__item:focus-visible {
  outline: none;
  border-color: var(--wor-accent);
  transform: translateY(-1px);
}

.wor-rating-trigger.has-user-rating i {
  color: var(--wor-accent);
}

.wor-rating-modal[hidden] {
  display: none;
}

.wor-rating-modal {
  position: fixed;
  inset: 0;
  z-index: 9999;
  display: grid;
  place-items: center;
  padding: 1rem;
}

.wor-rating-modal__backdrop {
  position: absolute;
  inset: 0;
  background: rgba(0, 0, 0, .55);
  backdrop-filter: blur(8px);
}

.wor-rating-modal__panel {
  position: relative;
  width: min(28rem, 100%);
  border: 1px solid var(--wor-border);
  border-radius: 1.5rem;
  background: var(--wor-surface-solid);
  color: var(--wor-text);
  box-shadow: 0 28px 80px rgba(0, 0, 0, .28);
  padding: 1.25rem;
  text-align: center;
}

.wor-rating-modal__panel h2 {
  margin: 0 0 1rem;
  font-size: clamp(1.25rem, 4vw, 1.8rem);
}

.wor-rating-modal__close {
  position: absolute;
  inset-block-start: .75rem;
  inset-inline-end: .75rem;
  width: 2.25rem;
  height: 2.25rem;
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: var(--wor-surface);
  color: var(--wor-text);
  cursor: pointer;
}

.wor-rating-stars {
  direction: ltr;
  display: flex;
  justify-content: center;
  gap: .35rem;
  margin-block: .75rem 1rem;
}

.wor-rating-stars button {
  width: 2.75rem;
  height: 2.75rem;
  border: 0;
  background: transparent;
  color: var(--wor-muted);
  font-size: 2.3rem;
  line-height: 1;
  cursor: pointer;
  transition: transform .15s ease, color .15s ease;
}

.wor-rating-stars button.is-active,
.wor-rating-stars button:hover,
.wor-rating-stars button:focus-visible {
  color: var(--wor-accent);
  transform: scale(1.08);
  outline: none;
}

.wor-rating-modal__message {
  min-height: 1.4rem;
  color: var(--wor-muted);
  margin: .5rem 0 1rem;
}

.wor-rating-modal__message.is-error {
  color: var(--wor-danger, #ef4444);
}

.wor-rating-modal__submit,
.wor-primary-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 2.75rem;
  padding: .7rem 1.2rem;
  border: 0;
  border-radius: 999px;
  background: var(--wor-accent);
  color: var(--wor-accent-contrast, #fff);
  text-decoration: none;
  font-weight: 800;
  cursor: pointer;
}

.wor-rating-modal__submit:disabled {
  opacity: .6;
  cursor: wait;
}

.wor-favorites-shell {
  padding: clamp(1rem, 3vw, 1.5rem);
}

.wor-favorites-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(9.5rem, 1fr));
  gap: 1rem;
}

.wor-favorite-card {
  border: 1px solid var(--wor-border);
  border-radius: 1.25rem;
  overflow: hidden;
  background: var(--wor-surface);
  min-width: 0;
}

.wor-favorite-card__cover {
  display: block;
  aspect-ratio: 2 / 3;
  background: var(--wor-surface-soft);
  overflow: hidden;
}

.wor-favorite-card__cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.wor-favorite-card__body {
  padding: .8rem;
  display: grid;
  gap: .6rem;
}

.wor-favorite-card__title {
  color: var(--wor-text);
  font-weight: 800;
  text-decoration: none;
  line-height: 1.45;
}

.wor-favorite-card__remove {
  border: 1px solid var(--wor-border);
  border-radius: 999px;
  background: transparent;
  color: var(--wor-muted);
  padding: .45rem .7rem;
  cursor: pointer;
}

.wor-favorite-card__remove:hover,
.wor-favorite-card__remove:focus-visible {
  color: #ef4444;
  border-color: rgba(239, 68, 68, .45);
  outline: none;
}

.wor-favorites-empty {
  text-align: center;
  padding: clamp(2rem, 5vw, 4rem) 1rem;
  display: grid;
  justify-items: center;
  gap: .75rem;
}

.wor-favorites-empty[hidden] {
  display: none;
}

.wor-favorites-empty h2,
.wor-favorites-empty p {
  margin: 0;
}

.wor-favorites-empty p {
  color: var(--wor-muted);
}

@media (prefers-reduced-motion: reduce) {
  .wor-favorite-heart,
  .wor-rating-stars button,
  button.wor-single-stats__item {
    transition-duration: .01ms;
  }
}

/* v2.3.4 - Mobile auth modal centered and compact. */
@media (max-width: 700px) {
  .wor-auth-modal {
    display: grid !important;
    place-items: center !important;
    align-items: center !important;
    justify-items: center !important;
    padding: max(14px, env(safe-area-inset-top)) 14px max(14px, env(safe-area-inset-bottom)) !important;
  }

  .wor-auth-modal__panel {
    inline-size: min(100%, 430px) !important;
    max-block-size: min(88dvh, 680px) !important;
    border-radius: 26px !important;
    border: 1px solid color-mix(in srgb, var(--wor-border) 78%, var(--wor-accent)) !important;
    padding: 22px 18px 20px !important;
  }

  .wor-auth-modal__head h2 {
    font-size: clamp(1.75rem, 9vw, 2.45rem) !important;
  }
}
