/* HearthWrite Profile — warm ivory editorial (matches --hw-fe-* / frontend tokens) */

body.hw-profile-page {
  overflow-x: clip;
  background: var(--hw-fe-bg, #f7f3ed) !important;
  background-color: var(--hw-fe-bg, #f7f3ed) !important;
  background-attachment: fixed !important;
  color: var(--hw-fe-text, #211b16);
}

body.hw-profile-page.hw-global-nav-active {
  padding-top: 0 !important;
}

body.hw-profile-page #inner-wrap,
body.hw-profile-page .content-wrap,
body.hw-profile-page .content-container.site-container,
body.hw-profile-page #primary.site-main,
body.hw-profile-page article.page,
body.hw-profile-page article.type-page {
  padding-top: 0 !important;
  margin-top: 0 !important;
}

body.hw-profile-page #masthead,
body.hw-profile-page .site-header,
body.hw-profile-page header.site-header,
body.hw-profile-page .kadence-header,
body.hw-profile-page #mobile-header,
body.hw-profile-page .site-header-wrap,
body.hw-profile-page .site-main-header-wrap {
  background: transparent !important;
  background-image: none !important;
  border-bottom: none !important;
  box-shadow: none !important;
  min-height: 0 !important;
  height: 0 !important;
  overflow: visible !important;
  padding: 0 !important;
  margin: 0 !important;
}

body.hw-profile-page.hw-global-nav-active .hw-global-nav__brand,
body.hw-profile-page.hw-global-nav-active .hw-global-nav__link,
body.hw-profile-page.hw-global-nav-active .hw-global-nav__icon-btn {
  text-shadow: none;
}

body.hw-profile-page .content-container,
body.hw-profile-page .site-container,
body.hw-profile-page .container,
body.hw-profile-page .wrap,
body.hw-profile-page .content-wrap,
body.hw-profile-page #inner-wrap,
body.hw-profile-page .entry-content-wrap,
body.hw-profile-page .entry-content,
body.hw-profile-page .content-area,
body.hw-profile-page .site-main,
body.hw-profile-page main,
body.hw-profile-page .inside-article,
body.hw-profile-page .post-content,
body.hw-profile-page .kadence-column-inner,
body.hw-profile-page .kt-row-layout-inner,
body.hw-profile-page .site-content,
body.hw-profile-page #content,
body.hw-profile-page #primary {
  width: 100% !important;
  max-width: none !important;
  padding-left: 0 !important;
  padding-right: 0 !important;
  margin-left: 0 !important;
  margin-right: 0 !important;
  overflow: visible !important;
}

body.hw-profile-page .content-bg,
body.hw-profile-page .entry-content,
body.hw-profile-page .entry-content-wrap,
body.hw-profile-page article.page,
body.hw-profile-page .content-area,
body.hw-profile-page .site,
body.hw-profile-page #wrapper {
  background: transparent !important;
  box-shadow: none !important;
  color: var(--hw-fe-text, #211b16) !important;
}

body.hw-profile-page .entry.single-entry,
body.hw-profile-page .entry-content-wrap {
  border: 0 !important;
}

body.hw-profile-page .entry-hero-container,
body.hw-profile-page .entry-hero,
body.hw-profile-page article.page > header.entry-header {
  display: none !important;
}

.hw-profile-shell {
  --hw-pf-ink: var(--hw-fe-text, #211b16);
  --hw-pf-soft: var(--hw-fe-text-soft, #5c564e);
  --hw-pf-muted: var(--hw-fe-muted, #8a8379);
  --hw-pf-flame: var(--hw-fe-accent, #b85c3a);
  --hw-pf-gold: var(--hw-fe-accent-light, #c9724f);
  --hw-pf-line: var(--hw-fe-border, #e4ded4);
  --hw-pf-glass: var(--hw-fe-elevated, #fcfaf7);
  --hw-pf-glass-2: var(--hw-fe-bg-soft, #f1ebe2);
  --hw-pf-deep: var(--hw-fe-bg, #f7f3ed);
  --hw-pf-serif: var(--hw-fe-font-display, "Playfair Display", Georgia, "Times New Roman", serif);
  --hw-pf-ui: var(--hw-fe-font-ui, "DM Sans", "Segoe UI", system-ui, sans-serif);
  --hw-pf-accent: var(--hw-pf-flame);
  --hw-pf-accent-rgb: var(--hw-fe-accent-rgb, 184, 92, 58);
  --hw-pf-text-rgb: var(--hw-fe-text-rgb, 33, 27, 22);
  color: var(--hw-pf-ink);
  font-family: var(--hw-pf-ui);
  max-width: min(var(--hw-stage-cozy, 1480px), 100%);
  margin: 0 auto;
  padding: clamp(1.15rem, 2.8vw, 2.15rem) var(--hw-stage-pad, clamp(1rem, 3.5vw, 3.5rem)) 3.25rem;
  background: transparent;
  min-height: 70vh;
  border-radius: 0;
  position: relative;
  z-index: 1;
  isolation: isolate;
}

/* Cinema hero stays legible on banner art (light type on atmosphere) */
.hw-profile-shell .hw-profile__hero--cinema {
  --hw-pf-ink: #fcfaf7;
  --hw-pf-soft: rgba(252, 250, 247, 0.92);
  --hw-pf-muted: rgba(252, 250, 247, 0.72);
  --hw-pf-gold: #f0c9a0;
  --hw-pf-line: rgba(252, 250, 247, 0.22);
}

.hw-profile-shell.accent-gold { --hw-pf-accent: var(--hw-fe-accent-light, #c9724f); }
.hw-profile-shell.accent-rose { --hw-pf-accent: #c45a6a; }
.hw-profile-shell.accent-jade { --hw-pf-accent: #3d8f6e; }
.hw-profile-shell.accent-flame { --hw-pf-accent: var(--hw-fe-accent, #b85c3a); }

/* Cosmetic themes — soft ivory atmosphere, no void canvas */
.hw-profile-shell.theme-ember,
.hw-profile-shell.theme-ink,
.hw-profile-shell.theme-night,
.hw-profile-shell.theme-hearth {
  background: transparent;
  box-shadow: none;
}

.hw-profile__layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 1.25rem;
  align-items: start;
}

.hw-profile__layout--edit.is-customizing,
.hw-profile-shell.is-customizing .hw-profile__layout--edit {
  grid-template-columns: minmax(0, 1fr);
}

html.hw-profile-customize-open,
body.hw-profile-customize-open {
  overflow: hidden;
}

.hw-profile__customize-backdrop {
  position: fixed;
  inset: 0;
  z-index: 200050;
  background: rgba(6, 4, 3, 0.72);
  backdrop-filter: blur(3px);
}

.hw-profile__customize-backdrop[hidden],
.hw-profile__customize[hidden] {
  display: none !important;
}

.hw-profile__hero {
  position: relative;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid var(--hw-pf-line);
  background:
    linear-gradient(135deg, rgba(40, 28, 18, 0.92), rgba(18, 12, 8, 0.94));
  background-size: cover;
  background-position: center;
  padding: 1.35rem 1.35rem 1.1rem;
  margin-bottom: 1rem;
  box-shadow: 0 12px 40px rgba(0, 0, 0, 0.35);
}

.hw-profile__hero-veil {
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(10, 7, 5, 0.35), rgba(10, 7, 5, 0.82));
  pointer-events: none;
}

.hw-profile__hero-top,
.hw-profile__stats,
.hw-profile__seals {
  position: relative;
  z-index: 1;
}

.hw-profile__hero-top {
  display: flex;
  justify-content: space-between;
  gap: 1rem;
  align-items: flex-start;
  flex-wrap: wrap;
}

.hw-profile__identity {
  display: flex;
  gap: 1.1rem;
  align-items: flex-start;
  min-width: 0;
}

.hw-profile__avatar-wrap {
  position: relative;
  flex-shrink: 0;
}

.hw-profile__avatar {
  width: 112px;
  height: 112px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  border: 2px solid transparent;
  box-shadow: 0 0 0 3px rgba(var(--hw-gold-rgb),  0.45);
}

.hw-profile__avatar-wrap--gold .hw-profile__avatar {
  box-shadow: 0 0 0 3px rgba(var(--hw-gold-rgb),  0.55), 0 0 24px rgba(var(--hw-gold-rgb),  0.2);
}
.hw-profile__avatar-wrap--silver .hw-profile__avatar {
  box-shadow: 0 0 0 3px rgba(180, 190, 200, 0.55);
}
.hw-profile__avatar-wrap--ember .hw-profile__avatar {
  box-shadow: 0 0 0 3px rgba(var(--hw-flame-rgb),  0.6), 0 0 20px rgba(var(--hw-flame-rgb),  0.25);
}
.hw-profile__avatar-wrap--none .hw-profile__avatar {
  box-shadow: 0 0 0 2px rgba(var(--hw-text-rgb),  0.2);
}

.hw-profile__avatar-edit {
  position: absolute;
  right: 4px;
  bottom: 4px;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: rgba(20, 14, 10, 0.9);
  border: 1px solid var(--hw-pf-line);
  display: grid;
  place-items: center;
  color: var(--hw-pf-gold);
  z-index: 3;
}

.hw-profile__avatar-wrap[data-hw-profile-avatar-trigger] {
  cursor: pointer;
}

.hw-profile__avatar-wrap[data-hw-profile-avatar-trigger]:hover .hw-profile__avatar-edit,
.hw-profile__avatar-wrap[data-hw-profile-avatar-trigger]:focus-visible .hw-profile__avatar-edit {
  border-color: rgba(var(--hw-gold-rgb),  0.55);
  color: var(--hw-text, #fff4e8);
}

.hw-profile__avatar-field {
  margin: 0.85rem 0 1rem;
  padding: 0;
  border: 0;
}

.hw-profile__avatar-upload {
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
}

.hw-profile__avatar-upload-preview .avatar,
.hw-profile__avatar-upload-img {
  width: 72px;
  height: 72px;
  border-radius: 50%;
  object-fit: cover;
  display: block;
  border: 2px solid rgba(var(--hw-gold-rgb),  0.35);
}

.hw-profile__avatar-upload-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.hw-profile__avatar-hint {
  margin: 0;
  font-size: 0.78rem;
  opacity: 0.8;
}

.hw-profile__field--inline select {
  width: 100%;
  margin-top: 0.35rem;
}

.hw-profile__name-text {
  display: inline;
}

.hw-profile__name {
  margin: 0 0 0.35rem;
  font-family: var(--hw-pf-serif);
  font-size: clamp(1.85rem, 3.4vw, 2.5rem);
  font-weight: 600;
  line-height: 1.12;
  color: var(--hw-pf-ink);
  display: flex;
  align-items: center;
  gap: 0.45rem;
  flex-wrap: wrap;
}

.hw-profile__crown {
  color: var(--hw-pf-gold);
  display: inline-flex;
}

.hw-profile__crown svg {
  width: 1.1rem;
  height: 1.1rem;
}

.hw-profile__handle-row {
  margin: 0 0 0.45rem;
  display: flex;
  align-items: center;
  gap: 0.55rem;
  flex-wrap: wrap;
}

.hw-profile__handle {
  color: var(--hw-pf-muted);
  font-size: 0.95rem;
}

.hw-profile__role-pill {
  display: inline-flex;
  align-items: center;
  padding: 0.15rem 0.65rem;
  border-radius: 999px;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-weight: 600;
  color: #1a120c;
  background: linear-gradient(135deg, var(--hw-gold, #fdba74), var(--hw-flame, #f97316));
}

.hw-profile__tagline {
  margin: 0 0 0.55rem;
  font-style: italic;
  color: var(--hw-pf-soft);
  font-family: var(--hw-pf-serif);
  font-size: 1.02rem;
  max-width: 40rem;
}

.hw-profile__meta-row {
  margin: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.85rem 1.25rem;
  color: var(--hw-pf-muted);
  font-size: 0.88rem;
}

.hw-profile__meta {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
}

.hw-profile__meta svg {
  width: 14px;
  height: 14px;
  opacity: 0.85;
}

.hw-profile__stats {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0.65rem;
  margin-top: 1.25rem;
  padding: 0.85rem 0.5rem 0.25rem;
  border-top: 1px solid rgba(var(--hw-text-rgb),  0.08);
}

.hw-profile__stat {
  text-align: center;
  padding: 0.35rem 0.25rem;
}

.hw-profile__stat strong {
  display: block;
  font-family: var(--hw-pf-serif);
  font-size: clamp(1.15rem, 2vw, 1.45rem);
  font-weight: 600;
  color: var(--hw-pf-ink);
  line-height: 1.2;
}

.hw-profile__stat span {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.72rem;
  letter-spacing: 0.02em;
  color: var(--hw-pf-muted);
  text-transform: uppercase;
}

.hw-profile__seals--inline {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 0.75rem;
  margin-top: 1rem;
}

.hw-profile__seal {
  border-radius: 12px;
  border: 1px solid var(--hw-pf-line);
  background: rgba(12, 8, 6, 0.55);
  padding: 0.75rem 0.9rem;
  backdrop-filter: blur(8px);
}

.hw-profile__seal-kicker {
  margin: 0 0 0.15rem;
  font-size: 0.68rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--hw-pf-gold);
}

.hw-profile__seal-name {
  margin: 0 0 0.45rem;
  font-family: var(--hw-pf-serif);
  font-size: 1.05rem;
}

.hw-profile__xp {
  height: 6px;
  border-radius: 999px;
  background: rgba(var(--hw-text-rgb),  0.1);
  overflow: hidden;
}

.hw-profile__xp-fill {
  display: block;
  height: 100%;
  width: var(--hw-xp, 0%);
  background: linear-gradient(90deg, var(--hw-pf-accent), var(--hw-gold, #fdba74));
  border-radius: inherit;
}

.hw-profile__seal-meta,
.hw-profile__streak {
  margin: 0.4rem 0 0;
  font-size: 0.78rem;
  color: var(--hw-pf-muted);
}

.hw-profile__tablist {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.15rem 0.35rem;
  padding: 0.35rem 0.25rem;
  margin-bottom: 1rem;
  border-bottom: 1px solid rgba(var(--hw-text-rgb),  0.1);
}

.hw-profile__tab {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--hw-pf-muted);
  font: inherit;
  font-size: 0.92rem;
  padding: 0.55rem 0.85rem;
  border-radius: 8px 8px 0 0;
  cursor: pointer;
}

.hw-profile__tab.is-active {
  color: var(--hw-pf-ink);
  box-shadow: inset 0 -2px 0 var(--hw-pf-accent);
}

.hw-profile__tab-spacer {
  flex: 1;
}

.hw-profile__view-as {
  margin-left: auto;
  color: var(--hw-pf-gold);
  font-size: 0.85rem;
  text-decoration: none;
  padding: 0.45rem 0.5rem;
}

.hw-profile__view-as:hover {
  color: var(--hw-pf-ink);
}

.hw-profile__panel[hidden] {
  display: none;
}

.hw-profile__overview-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}

.hw-profile__about-card {
  grid-column: 1 / -1;
}

.hw-profile__shelf-card {
  grid-column: 1 / -1;
}

.hw-profile__card {
  border-radius: 16px;
  border: 1px solid var(--hw-pf-line);
  background:
    linear-gradient(160deg, rgba(36, 26, 18, 0.88), rgba(16, 12, 9, 0.92));
  padding: 1.1rem 1.2rem 1.2rem;
  box-shadow: 0 8px 28px rgba(0, 0, 0, 0.28);
  backdrop-filter: blur(10px);
}

.hw-profile__card-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
  margin-bottom: 0.85rem;
}

.hw-profile__card-head h2 {
  margin: 0;
  font-family: var(--hw-pf-serif);
  font-size: 1.25rem;
  font-weight: 600;
}

.hw-profile__linkish {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--hw-pf-gold);
  font: inherit;
  font-size: 0.85rem;
  cursor: pointer;
  text-decoration: none;
  padding: 0;
}

.hw-profile__linkish:hover {
  color: var(--hw-pf-ink);
}

.hw-profile__about-body {
  color: var(--hw-pf-soft);
  font-size: 0.95rem;
  line-height: 1.65;
}

.hw-profile__about-body p {
  margin: 0 0 0.85rem;
}

.hw-profile__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.4rem;
  margin: 0.75rem 0 0.25rem;
}

.hw-profile__tag {
  display: inline-flex;
  padding: 0.25rem 0.65rem;
  border-radius: 999px;
  border: 1px solid rgba(var(--hw-gold-rgb),  0.35);
  background: rgba(var(--hw-gold-rgb),  0.08);
  color: var(--hw-pf-soft);
  font-size: 0.78rem;
}

.hw-profile__writing-now {
  margin: 1rem 0 0;
  padding-top: 0.85rem;
  border-top: 1px solid rgba(var(--hw-text-rgb),  0.08);
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  font-size: 0.85rem;
  color: var(--hw-pf-muted);
}

.hw-profile__writing-now strong {
  color: var(--hw-pf-ink);
  font-family: var(--hw-pf-serif);
  font-size: 1rem;
  font-weight: 600;
}

.hw-profile__social {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 0.85rem;
}

.hw-profile__social a {
  color: var(--hw-pf-gold);
  font-size: 0.88rem;
  text-decoration: none;
}

.hw-profile__badge-showcase {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(100px, 1fr));
  gap: 0.75rem;
}

.hw-profile__badge-chip {
  text-align: center;
  padding: 0.65rem 0.4rem;
  border-radius: 12px;
  border: 1px solid rgba(var(--hw-text-rgb),  0.08);
  background: rgba(8, 6, 4, 0.35);
}

.hw-profile__badge-chip-icon {
  display: grid;
  place-items: center;
  width: 52px;
  height: 52px;
  margin: 0 auto 0.45rem;
  border-radius: 50%;
  border: 1px solid rgba(var(--hw-gold-rgb),  0.4);
  background: radial-gradient(circle at 35% 30%, rgba(var(--hw-flame-rgb),  0.25), rgba(20, 14, 10, 0.9));
  color: var(--hw-pf-gold);
}

.hw-profile__badge-chip-icon svg {
  width: 22px;
  height: 22px;
}

.hw-profile__badge-chip-title {
  display: block;
  font-size: 0.78rem;
  line-height: 1.25;
  color: var(--hw-pf-ink);
}

.hw-profile__badge-chip-metal {
  display: block;
  margin-top: 0.2rem;
  font-size: 0.68rem;
  color: var(--hw-pf-muted);
  text-transform: uppercase;
  letter-spacing: 0.04em;
}

.hw-profile__shelf {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(110px, 1fr));
  gap: 0.9rem;
  margin-bottom: 1rem;
}

.hw-profile__shelf--full {
  margin-top: 0.25rem;
}

.hw-profile__shelf-item {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  text-decoration: none;
  color: inherit;
  min-width: 0;
}

.hw-profile__shelf-item img,
.hw-profile__story-ph {
  width: 100%;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  border-radius: 10px;
  border: 1px solid rgba(var(--hw-text-rgb),  0.1);
  background: linear-gradient(160deg, #2a1c14, #14100c);
  display: block;
}

.hw-profile__shelf-title {
  font-size: 0.82rem;
  line-height: 1.3;
  color: var(--hw-pf-ink);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.hw-profile__shelf-meta {
  font-size: 0.72rem;
  color: var(--hw-pf-muted);
}

.hw-profile__btn {
  appearance: none;
  border: 1px solid rgba(var(--hw-flame-rgb),  0.45);
  background: linear-gradient(135deg, rgba(var(--hw-flame-rgb),  0.95), var(--hw-flame-deep, #c2410c));
  color: #fff8f0;
  font: inherit;
  font-size: 0.9rem;
  font-weight: 600;
  padding: 0.55rem 1.1rem;
  border-radius: 10px;
  cursor: pointer;
  text-decoration: none;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.35rem;
}

.hw-profile__btn:hover {
  filter: brightness(1.06);
}

.hw-profile__btn--ghost {
  background: transparent;
  border-color: var(--hw-pf-line);
  color: var(--hw-pf-soft);
}

.hw-profile__btn--wide {
  width: 100%;
}

.hw-profile__library {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
  gap: 0.75rem;
}

.hw-profile__lib-card {
  border-radius: 12px;
  border: 1px solid var(--hw-pf-line);
  background: var(--hw-pf-glass);
  padding: 0.9rem;
  text-align: center;
  text-decoration: none;
  color: inherit;
}

.hw-profile__lib-card strong {
  display: block;
  font-family: var(--hw-pf-serif);
  font-size: 1.35rem;
  color: var(--hw-pf-ink);
}

.hw-profile__lib-card span {
  font-size: 0.78rem;
  color: var(--hw-pf-muted);
}

.hw-profile__badge-caption {
  margin: 0.5rem 0 0.75rem;
  font-family: var(--hw-pf-serif);
  font-size: 1.1rem;
}

.hw-profile__badge-wall,
.hw-profile__feature-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(160px, 1fr));
  gap: 0.75rem;
}

.hw-profile__badge {
  position: relative;
  border-radius: 12px;
  border: 1px solid rgba(var(--hw-text-rgb),  0.1);
  background: rgba(14, 10, 8, 0.55);
  padding: 0.85rem;
}

.hw-profile__badge.is-locked {
  opacity: 0.45;
}

.hw-profile__badge.is-featured {
  border-color: rgba(var(--hw-gold-rgb),  0.55);
}

.hw-profile__badge-icon {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  margin-bottom: 0.45rem;
  border: 1px solid rgba(var(--hw-gold-rgb),  0.35);
  color: var(--hw-pf-gold);
}

.hw-profile__badge-icon svg {
  width: 18px;
  height: 18px;
}

.hw-profile__badge-title {
  margin: 0 0 0.2rem;
  font-size: 0.92rem;
  font-family: var(--hw-pf-serif);
}

.hw-profile__badge-metal,
.hw-profile__badge-blurb,
.hw-profile__badge-next {
  margin: 0.15rem 0 0;
  font-size: 0.78rem;
  color: var(--hw-pf-muted);
  line-height: 1.35;
}

.hw-profile__badge-pin {
  position: absolute;
  top: 0.45rem;
  right: 0.45rem;
}

.hw-profile__quest-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 1rem;
}

.hw-profile__quest-grid h3 {
  margin: 0 0 0.5rem;
  font-size: 0.85rem;
  color: var(--hw-pf-gold);
  text-transform: uppercase;
  letter-spacing: 0.06em;
}

.hw-profile__quest-grid ul {
  list-style: none;
  margin: 0;
  padding: 0;
}

.hw-profile__quest-grid li {
  display: flex;
  justify-content: space-between;
  gap: 0.5rem;
  padding: 0.4rem 0;
  border-bottom: 1px solid rgba(var(--hw-text-rgb),  0.06);
  font-size: 0.88rem;
  color: var(--hw-pf-soft);
}

.hw-profile__quest-grid li.is-done {
  color: var(--hw-pf-muted);
  text-decoration: line-through;
}

.hw-profile__quest-grid li span {
  color: var(--hw-pf-accent);
  font-weight: 600;
}

.hw-profile__customize {
  position: fixed;
  inset: 0;
  z-index: 200051;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(1rem, env(safe-area-inset-top)) max(1rem, env(safe-area-inset-right)) max(1rem, env(safe-area-inset-bottom)) max(1rem, env(safe-area-inset-left));
  pointer-events: none;
}

.hw-profile__customize-shell {
  pointer-events: auto;
  display: flex;
  flex-direction: column;
  width: min(920px, 100%);
  max-height: min(88vh, calc(100dvh - 2rem));
  height: auto;
  min-height: 0;
  border-radius: 18px;
  border: 1px solid var(--hw-pf-line, rgba(var(--hw-gold-rgb), 0.18));
  background:
    linear-gradient(180deg, rgba(28, 20, 14, 0.98), rgba(14, 10, 8, 0.99));
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
  overflow: hidden;
}

.hw-profile__customize-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 1rem 1.15rem;
  border-bottom: 1px solid rgba(var(--hw-gold-rgb), 0.12);
  background: rgba(10, 7, 5, 0.45);
  flex-shrink: 0;
}

.hw-profile__customize-title {
  margin: 0;
  font-family: var(--hw-pf-serif);
  font-size: 1.35rem;
  color: var(--hw-pf-ink, var(--hw-text));
}

.hw-profile__customize-sub {
  margin: 0.25rem 0 0;
  font-size: 0.82rem;
  color: var(--hw-pf-muted);
  max-width: 36rem;
}

.hw-profile__customize-header-actions {
  display: flex;
  gap: 0.5rem;
  flex-shrink: 0;
}

.hw-profile__customize-body {
  display: grid;
  grid-template-columns: minmax(7.5rem, 9.5rem) minmax(0, 1fr);
  gap: 0;
  min-height: 0;
  flex: 1;
  overflow: hidden;
}

.hw-profile__customize-nav {
  display: flex;
  flex-direction: column;
  gap: 0.25rem;
  padding: 0.85rem 0.65rem;
  border-right: 1px solid rgba(var(--hw-gold-rgb), 0.1);
  background: rgba(8, 6, 4, 0.35);
  overflow: auto;
}

.hw-profile__customize-nav-btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: var(--hw-pf-muted);
  text-align: left;
  font: inherit;
  font-size: 0.86rem;
  font-weight: 600;
  padding: 0.55rem 0.7rem;
  border-radius: 10px;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}

.hw-profile__customize-nav-btn:hover,
.hw-profile__customize-nav-btn:focus-visible {
  color: var(--hw-pf-ink, var(--hw-text));
  background: rgba(var(--hw-flame-rgb), 0.1);
  outline: none;
}

.hw-profile__customize-nav-btn.is-active {
  color: var(--hw-pf-ink, var(--hw-text));
  background: rgba(var(--hw-flame-rgb), 0.18);
  box-shadow: inset 0 0 0 1px rgba(var(--hw-flame-rgb), 0.28);
}

.hw-profile__customize-form {
  overflow: auto;
  padding: 1rem 1.15rem 1.35rem;
  min-height: 0;
}

.hw-profile__customize-form .hw-profile__field,
.hw-profile__customize-form .hw-profile__hearth-fields .hw-profile__field,
.hw-profile__customize-form fieldset {
  overflow: visible;
  min-height: 0;
}

.hw-profile__customize-form .hw-profile__field textarea,
.hw-profile__customize-form textarea {
  min-height: 6.5rem !important;
  height: auto !important;
  max-height: none;
  overflow-y: auto !important;
  resize: vertical;
  line-height: 1.45;
}

.hw-profile__customize-form .hw-profile__field input {
  min-height: 2.6rem !important;
  height: auto !important;
}

.hw-profile__customize-section {
  margin: 0 0 1.5rem;
  padding-bottom: 1.25rem;
  border-bottom: 1px solid rgba(var(--hw-gold-rgb), 0.08);
  scroll-margin-top: 0.5rem;
}

.hw-profile__customize-section:last-of-type {
  border-bottom: 0;
}

.hw-profile__customize-section-title {
  margin: 0 0 0.85rem;
  font-family: var(--hw-pf-serif);
  font-size: 1.05rem;
  color: var(--hw-pf-gold, var(--hw-gold));
}

.hw-profile__customize-footer {
  margin-top: 0.5rem;
  padding-top: 0.75rem;
  border-top: 1px solid rgba(var(--hw-gold-rgb), 0.1);
}

.hw-profile__hint--settings-link {
  margin: 0 0 0.85rem;
}

.hw-profile__hint--settings-link a {
  color: var(--hw-pf-accent, var(--hw-flame));
  text-decoration: underline;
  text-underline-offset: 2px;
}

.hw-profile__field,
.hw-profile__social-fields label,
.hw-profile__digest {
  display: block;
  margin-bottom: 0.75rem;
  font-size: 0.82rem;
  color: var(--hw-pf-muted);
}

.hw-profile__field input,
.hw-profile__field textarea,
.hw-profile__social-fields input {
  display: block;
  width: 100%;
  margin-top: 0.35rem;
  border-radius: 8px;
  border: 1px solid var(--hw-pf-line, var(--hw-fe-border, #e4ded4));
  background: var(--hw-pf-glass-2, var(--hw-fe-bg-soft, #f1ebe2));
  color: var(--hw-pf-ink, var(--hw-fe-text, #211b16));
  caret-color: var(--hw-pf-ink, var(--hw-fe-text, #211b16));
  color-scheme: light;
  font: inherit;
  padding: 0.5rem 0.65rem;
  box-sizing: border-box;
  min-height: 2.6rem;
  height: auto;
  line-height: 1.4;
  overflow: visible;
  resize: vertical;
}

.hw-profile__field textarea {
  min-height: 6.5rem;
  field-sizing: content;
}

.hw-profile__field input::placeholder,
.hw-profile__field textarea::placeholder,
.hw-profile__social-fields input::placeholder {
  color: var(--hw-pf-muted, var(--hw-fe-muted, #8a8379));
  opacity: 0.95;
}

.hw-profile__swatches,
.hw-profile__toggles,
.hw-profile__feature-pick,
.hw-profile__social-fields,
.hw-profile__ui-themes {
  border: 0;
  margin: 0 0 1rem;
  padding: 0;
}

.hw-profile__swatches legend,
.hw-profile__toggles legend,
.hw-profile__feature-pick legend,
.hw-profile__social-fields legend,
.hw-profile__ui-themes legend {
  margin-bottom: 0.45rem;
  font-size: 0.82rem;
  color: var(--hw-pf-muted);
}

.hw-profile__ui-theme-grid {
  display: grid;
  gap: 0.55rem;
}

.hw-profile__ui-theme {
  position: relative;
  cursor: pointer;
  display: block;
}

.hw-profile__ui-theme input {
  position: absolute;
  opacity: 0;
  inset: 0;
  z-index: 1;
  cursor: pointer;
}

.hw-profile__ui-theme-card {
  display: flex;
  gap: 0.7rem;
  align-items: center;
  padding: 0.55rem 0.65rem;
  border-radius: var(--hw-radius-md, 12px);
  border: 1px solid var(--hw-border-subtle, rgba(var(--hw-gold-rgb),  0.1));
  background: color-mix(in srgb, var(--ui-bg, var(--hw-card)) 88%, transparent);
  transition: border-color 0.18s ease, box-shadow 0.18s ease;
}

.hw-profile__ui-theme-swatch {
  flex: 0 0 2.4rem;
  width: 2.4rem;
  height: 2.4rem;
  border-radius: 999px;
  background:
    radial-gradient(circle at 30% 30%, var(--ui-accent) 0 38%, transparent 40%),
    linear-gradient(145deg, var(--ui-bg) 0%, color-mix(in srgb, var(--ui-bg) 70%, #000) 100%);
  box-shadow: inset 0 0 0 1px color-mix(in srgb, var(--ui-text) 18%, transparent);
}

.hw-profile__ui-theme-meta {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
  min-width: 0;
}

.hw-profile__ui-theme-meta strong {
  color: var(--hw-pf-ink, var(--hw-text));
  font-size: 0.9rem;
}

.hw-profile__ui-theme-meta small {
  color: var(--hw-pf-muted, var(--hw-muted));
  font-size: 0.75rem;
  line-height: 1.35;
}

.hw-profile__ui-theme input:checked + .hw-profile__ui-theme-card,
.hw-profile__ui-theme input:focus-visible + .hw-profile__ui-theme-card {
  border-color: var(--hw-border-strong, rgba(var(--hw-flame-rgb),  0.35));
  box-shadow: 0 0 0 1px color-mix(in srgb, var(--hw-flame) 35%, transparent);
}

.hw-profile__swatches {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
}

.hw-profile__swatch {
  position: relative;
  cursor: pointer;
}

.hw-profile__swatch input {
  position: absolute;
  opacity: 0;
  inset: 0;
}

.hw-profile__swatch span,
.hw-profile__swatch-face {
  display: block;
  width: 28px;
  height: 28px;
  border-radius: 50%;
  background: var(--sw);
  border: 2px solid transparent;
  box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.15);
}

.hw-profile__swatch input:checked + span,
.hw-profile__swatch input:focus-visible + span,
.hw-profile__swatch input:checked + .hw-profile__swatch-face,
.hw-profile__swatch input:focus-visible + .hw-profile__swatch-face {
  border-color: var(--hw-text, #fff4e8);
}

.hw-profile__swatches--cards {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(6.5rem, 1fr));
  gap: 0.55rem;
  align-items: stretch;
}

.hw-profile__swatch--card {
  margin: 0;
}

.hw-profile__swatch--card .hw-profile__swatch-face {
  width: auto;
  height: auto;
  min-height: 4.25rem;
  border-radius: 12px;
  display: flex;
  align-items: flex-end;
  padding: 0.55rem 0.65rem;
  background:
    linear-gradient(180deg, transparent 35%, rgba(0, 0, 0, 0.55) 100%),
    var(--sw);
  border: 1px solid rgba(var(--hw-gold-rgb), 0.14);
  box-shadow: none;
  transition: border-color 0.15s ease, box-shadow 0.15s ease, transform 0.15s ease;
}

.hw-profile__swatch--card .hw-profile__swatch-face em {
  font-style: normal;
  font-size: 0.82rem;
  font-weight: 650;
  color: #fff4e8;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.55);
}

.hw-profile__swatch--card input:checked + .hw-profile__swatch-face,
.hw-profile__swatch--card input:focus-visible + .hw-profile__swatch-face {
  border-color: rgba(var(--hw-flame-rgb), 0.55);
  box-shadow: 0 0 0 2px rgba(var(--hw-flame-rgb), 0.35);
  transform: translateY(-1px);
}

.hw-profile__swatches--frames {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(5.5rem, 1fr));
  gap: 0.5rem;
}

.hw-profile__frame-opt {
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  margin-right: 0.55rem;
  font-size: 0.82rem;
  color: var(--hw-pf-soft);
  cursor: pointer;
}

.hw-profile__frame-opt--card {
  position: relative;
  margin: 0;
}

.hw-profile__frame-opt--card input {
  position: absolute;
  opacity: 0;
  inset: 0;
  cursor: pointer;
}

.hw-profile__frame-face {
  display: flex;
  align-items: center;
  justify-content: center;
  min-height: 3.25rem;
  padding: 0.55rem 0.65rem;
  border-radius: 12px;
  border: 1px solid rgba(var(--hw-gold-rgb), 0.14);
  background: rgba(12, 9, 7, 0.75);
  font-size: 0.84rem;
  font-weight: 650;
  color: var(--hw-pf-ink, var(--hw-text));
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.hw-profile__frame-face--gold {
  box-shadow: inset 0 0 0 2px rgba(var(--hw-gold-rgb), 0.55);
}
.hw-profile__frame-face--silver {
  box-shadow: inset 0 0 0 2px rgba(180, 190, 200, 0.55);
}
.hw-profile__frame-face--ember {
  box-shadow: inset 0 0 0 2px rgba(var(--hw-flame-rgb), 0.55);
}
.hw-profile__frame-face--none {
  box-shadow: inset 0 0 0 1px rgba(var(--hw-text-rgb), 0.2);
}

.hw-profile__frame-opt--card input:checked + .hw-profile__frame-face,
.hw-profile__frame-opt--card input:focus-visible + .hw-profile__frame-face {
  border-color: rgba(var(--hw-flame-rgb), 0.5);
  box-shadow: 0 0 0 2px rgba(var(--hw-flame-rgb), 0.3), inset 0 0 0 2px currentColor;
}

.hw-profile__switch {
  position: relative;
  display: flex;
  align-items: center;
  gap: 0.75rem;
  margin: 0 0 0.55rem;
  padding: 0.55rem 0.65rem;
  border-radius: 10px;
  border: 1px solid var(--hw-pf-line, var(--hw-fe-border, #e4ded4));
  background: var(--hw-pf-glass-2, var(--hw-fe-bg-soft, #f1ebe2));
  font-size: 0.88rem;
  color: var(--hw-pf-soft, var(--hw-fe-text-soft, #5c564e));
  cursor: pointer;
}

.hw-profile__switch input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
}

.hw-profile__switch > span {
  flex: 1;
  min-width: 0;
}

.hw-profile__switch::before {
  content: "";
  flex: 0 0 2.4rem;
  width: 2.4rem;
  height: 1.35rem;
  border-radius: 999px;
  background: rgba(var(--hw-text-rgb), 0.18);
  box-shadow: inset 0 0 0 1px rgba(var(--hw-text-rgb), 0.12);
  transition: background 0.15s ease;
  order: 2;
  background-image: radial-gradient(circle at 0.3rem 50%, #fff4e8 0 0.42rem, transparent 0.45rem);
  background-repeat: no-repeat;
}

.hw-profile__switch:has(input:checked)::before {
  background-color: rgba(var(--hw-flame-rgb), 0.55);
  background-image: radial-gradient(circle at calc(100% - 0.3rem) 50%, #fff4e8 0 0.42rem, transparent 0.45rem);
}

.hw-profile__switch:has(input:focus-visible) {
  box-shadow: 0 0 0 2px rgba(var(--hw-flame-rgb), 0.35);
}

.hw-profile__toggles--switches {
  display: flex;
  flex-direction: column;
  gap: 0.15rem;
}

.hw-profile__toggles label:not(.hw-profile__switch) {
  display: flex;
  align-items: center;
  gap: 0.45rem;
  margin-bottom: 0.4rem;
  font-size: 0.88rem;
  color: var(--hw-pf-soft);
  cursor: pointer;
}

.hw-profile__hint {
  margin: 0.5rem 0 0;
  color: var(--hw-pf-muted);
  font-size: 0.9rem;
}

.hw-profile__invite {
  color: var(--hw-pf-soft);
  font-size: 0.95rem;
}

.hw-profile__invite a {
  color: var(--hw-pf-gold);
}

.hw-profile__toast {
  position: fixed;
  right: 1.25rem;
  bottom: 1.25rem;
  z-index: 40;
  padding: 0.75rem 1rem;
  border-radius: 10px;
  border: 1px solid var(--hw-pf-line);
  background: rgba(20, 14, 10, 0.95);
  color: var(--hw-pf-ink);
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.45);
  font-size: 0.9rem;
}

.hw-profile__icon svg,
.hw-profile__icon {
  width: 1em;
  height: 1em;
}

@media (max-width: 980px) {
  .hw-profile__customize {
    padding: 0;
    align-items: stretch;
  }

  .hw-profile__customize-shell {
    width: 100%;
    max-height: 100dvh;
    height: 100%;
    border-radius: 0;
  }

  .hw-profile__customize-body {
    grid-template-columns: 1fr;
    grid-template-rows: auto minmax(0, 1fr);
  }

  .hw-profile__customize-nav {
    flex-direction: row;
    flex-wrap: nowrap;
    overflow-x: auto;
    border-right: 0;
    border-bottom: 1px solid rgba(var(--hw-gold-rgb), 0.1);
    padding: 0.55rem 0.65rem;
    gap: 0.35rem;
    -webkit-overflow-scrolling: touch;
  }

  .hw-profile__customize-nav-btn {
    flex: 0 0 auto;
    white-space: nowrap;
  }

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

  .hw-profile__overview-grid {
    grid-template-columns: 1fr;
  }

  .hw-profile__seals--inline {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .hw-profile__avatar {
    width: 88px;
    height: 88px;
  }

  /* Pack frames need a stable box; slightly smaller on phones so name keeps room. */
  .hw-profile-shell.hw-cosmetic-pack .hw-profile__avatar-wrap {
    --hw-avatar-box: clamp(80px, 22vw, 104px);
  }

  .hw-profile-shell.hw-cosmetic-pack .hw-profile__avatar-wrap .hw-profile__avatar,
  .hw-profile-shell.hw-cosmetic-pack .hw-profile__avatar-wrap img.avatar {
    width: 100% !important;
    height: 100% !important;
  }

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

  .hw-profile__quest-grid {
    grid-template-columns: 1fr;
  }

  .hw-profile__hero-top {
    flex-direction: column;
  }
}

.hw-profile__stat--trust {
  grid-column: span 1;
}
.hw-profile__stat-note {
  display: block;
  margin-top: 0.25rem;
  font-size: 0.68rem;
  line-height: 1.35;
  color: rgba(244, 232, 212, 0.55);
  font-weight: 500;
  letter-spacing: 0;
  text-transform: none;
}

/* ============================================================
   Profile v3 — cinema hero + reader / author display modes
============================================================ */

.hw-profile-shell--v3 {
  max-width: none;
  width: 100%;
  margin: 0;
  padding: 0 0 3.5rem;
  border-radius: 0;
  min-height: 0;
  background: transparent;
  /* Ivory parchment tokens — match body.hw-profile-page / --hw-fe-* */
  --hw-pf-flame: var(--hw-fe-accent, #b85c3a);
  --hw-pf-accent: var(--hw-fe-accent, #b85c3a);
  --hw-pf-gold: var(--hw-fe-accent-light, #c9724f);
  --hw-pf-muted: var(--hw-fe-muted, #8a8379);
  --hw-pf-soft: var(--hw-fe-text-soft, #5c564e);
  --hw-pf-line: var(--hw-fe-border, #e4ded4);
  --hw-pf-ink: var(--hw-fe-text, #211b16);
  --hw-pf-deep: var(--hw-fe-bg, #f7f3ed);
  --hw-pf-glass: var(--hw-fe-elevated, #fcfaf7);
  --hw-pf-glass-2: var(--hw-fe-bg-soft, #f1ebe2);
  --hw-pf-serif: var(--hw-fe-font-display, "Playfair Display", Georgia, "Times New Roman", serif);
  --hw-pf-ui: var(--hw-fe-font-ui, "DM Sans", "Segoe UI", system-ui, sans-serif);
  color: var(--hw-pf-ink);
  font-family: var(--hw-pf-ui);
}

.hw-profile-shell--v3.theme-ember,
.hw-profile-shell--v3.theme-ink,
.hw-profile-shell--v3.theme-night,
.hw-profile-shell--v3.theme-hearth {
  background: transparent;
}

.hw-profile-shell--v3 .hw-profile__hero--cinema {
  position: relative;
  width: 100vw;
  max-width: 100vw;
  margin-left: calc(50% - 50vw) !important;
  margin-right: calc(50% - 50vw) !important;
  margin-bottom: 0 !important;
  border-radius: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  min-height: clamp(280px, 36vh, 420px);
  padding:
    calc(var(--hw-global-nav-h, 68px) + clamp(0.35rem, 1.2vw, 0.85rem))
    clamp(1.15rem, 4vw, 2rem)
    clamp(4.5rem, 9vw, 6.5rem) !important;
  align-items: flex-end;
  overflow: hidden;
  /*
   * Transparent shell — art lives on ::before and dissolves so the page canvas
   * shows through (library cinema). A solid fade color creates a hard seam
   * against --hw-canvas-bg's gradient.
   */
  background: transparent !important;
  background-image: none !important;
}

body.admin-bar.hw-profile-page .hw-profile-shell--v3 .hw-profile__hero--cinema {
  padding-top: calc(32px + var(--hw-global-nav-h, 68px) + clamp(0.35rem, 1.2vw, 0.85rem)) !important;
}

@media screen and (max-width: 782px) {
  body.admin-bar.hw-profile-page .hw-profile-shell--v3 .hw-profile__hero--cinema {
    padding-top: calc(46px + var(--hw-global-nav-h, 62px) + clamp(0.35rem, 1.2vw, 0.85rem)) !important;
  }
}

.hw-profile-shell--v3 .hw-profile__hero--cinema:not(.has-media)::before {
  display: none;
}

.hw-profile-shell--v3 .hw-profile__hero--cinema::before {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 0;
  background-color: transparent;
  background-image: var(--hw-banner-image, none);
  background-size: cover;
  background-position: center var(--hw-banner-focal, 40%);
  background-repeat: no-repeat;
  /* No filter — filter + mask can composite as a hard rectangle in Chromium */
  transform: scale(1.04);
  transform-origin: center top;
  pointer-events: none;
  opacity: 0.92;
}

/* Library-style feather: long soft dissolve into the page canvas */
.hw-profile-shell--v3 .hw-profile__hero--cinema.has-media::before {
  mask-image: linear-gradient(
    180deg,
    #000 0%,
    #000 12%,
    rgba(0, 0, 0, 0.88) 28%,
    rgba(0, 0, 0, 0.55) 45%,
    rgba(0, 0, 0, 0.22) 62%,
    rgba(0, 0, 0, 0.06) 78%,
    transparent 100%
  );
  -webkit-mask-image: linear-gradient(
    180deg,
    #000 0%,
    #000 12%,
    rgba(0, 0, 0, 0.88) 28%,
    rgba(0, 0, 0, 0.55) 45%,
    rgba(0, 0, 0, 0.22) 62%,
    rgba(0, 0, 0, 0.06) 78%,
    transparent 100%
  );
}

/* Readability veil — also dissolves so it does not paint a hard band */
.hw-profile-shell--v3 .hw-profile__hero--cinema.has-media .hw-profile__hero-veil {
  background:
    linear-gradient(
      180deg,
      rgba(8, 5, 4, 0.34) 0%,
      rgba(8, 5, 4, 0.22) 28%,
      rgba(8, 5, 4, 0.1) 55%,
      rgba(8, 5, 4, 0.03) 78%,
      transparent 100%
    );
}

.hw-profile-shell--v3 .hw-profile__hero--cinema.hw-profile__hero--veil-low.has-media .hw-profile__hero-veil {
  background:
    linear-gradient(
      180deg,
      rgba(8, 5, 4, 0.18) 0%,
      rgba(8, 5, 4, 0.1) 32%,
      rgba(8, 5, 4, 0.04) 60%,
      transparent 100%
    );
}

.hw-profile-shell--v3 .hw-profile__hero--cinema.hw-profile__hero--veil-high.has-media .hw-profile__hero-veil {
  background:
    linear-gradient(
      180deg,
      rgba(8, 5, 4, 0.48) 0%,
      rgba(8, 5, 4, 0.34) 30%,
      rgba(8, 5, 4, 0.16) 58%,
      rgba(8, 5, 4, 0.04) 80%,
      transparent 100%
    );
}

.hw-profile-shell--v3 .hw-profile__hero-veil {
  z-index: 1;
  background: transparent;
}

/* No solid scrim — solid ::after was the hard seam against the canvas gradient */
.hw-profile-shell--v3 .hw-profile__hero--cinema.has-media::after,
.hw-profile-shell--v3 .hw-profile__hero--cinema::after {
  content: none;
}

.hw-profile-shell--v3 .hw-profile__hero-top,
.hw-profile-shell--v3 .hw-profile__quest-chip {
  position: relative;
  z-index: 3;
}

.hw-profile-shell--v3 .hw-profile__quest-chip {
  display: inline-flex;
  margin: 0 0 0.75rem;
  padding: 0.35rem 0.75rem;
  border-radius: 999px;
  border: 1px solid rgba(196, 120, 58, 0.35);
  background: rgba(12, 8, 6, 0.72);
  color: var(--hw-gold, #fdba74);
  font-size: 0.78rem;
  font-weight: 650;
}

.hw-profile-shell--v3 .hw-profile__hero-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
  align-items: center;
  justify-content: flex-end;
}

.hw-profile__mode-switch {
  display: inline-flex;
  padding: 0.2rem;
  border-radius: 999px;
  border: 1px solid rgba(232, 196, 150, 0.18);
  background: rgba(8, 5, 4, 0.65);
  gap: 0.15rem;
}

.hw-profile__mode-btn {
  appearance: none;
  border: 0;
  background: transparent;
  color: rgba(243, 230, 210, 0.65);
  font: inherit;
  font-size: 0.82rem;
  font-weight: 650;
  padding: 0.4rem 0.85rem;
  border-radius: 999px;
  cursor: pointer;
}

.hw-profile__mode-btn.is-active {
  background: rgba(196, 120, 58, 0.28);
  color: #fff4e4;
}

/* Dual-mode panes: both Reader + Author markup stay in the DOM; switch via data-display-mode. */
.hw-profile-shell[data-display-mode="reader"] [data-hw-mode-pane="author"],
.hw-profile-shell[data-display-mode="author"] [data-hw-mode-pane="reader"] {
  display: none !important;
}

/* Hearth hero stats override flex !important on the visible strip rule below. */
.hw-profile-shell--v3.hw-profile-shell--hearth[data-display-mode="author"] .hw-profile__hero-stats-slot [data-hw-mode-pane="reader"],
.hw-profile-shell--v3.hw-profile-shell--hearth[data-display-mode="reader"] .hw-profile__hero-stats-slot [data-hw-mode-pane="author"] {
  display: none !important;
}

/* Showcase grids must not override pane hiding (fixes 6–8 badge bleed on author view). */
.hw-profile-shell--v3.hw-profile-shell[data-display-mode="author"] .hw-profile__badge-showcase[data-hw-mode-pane="reader"],
.hw-profile-shell--v3.hw-profile-shell[data-display-mode="reader"] .hw-profile__badge-showcase[data-hw-mode-pane="author"] {
  display: none;
}

.hw-profile__role-pill--reader {
  background: linear-gradient(135deg, #5b7c99, #3d5a73);
  color: #f4f8fc;
  letter-spacing: 0.06em;
  font-size: 0.68rem;
}

.hw-profile__role-pill--author {
  background: linear-gradient(135deg, var(--hw-gold, #fdba74), var(--hw-flame, #f97316));
  color: #1a120c;
  letter-spacing: 0.06em;
  font-size: 0.68rem;
}

.hw-profile-shell--v3:not(.hw-profile-shell--hearth) .hw-profile__stage {
  position: relative;
  z-index: 3;
  max-width: min(960px, 100%);
  margin: clamp(-2.75rem, -5.5vw, -3.35rem) auto 0;
  padding: 0 clamp(1rem, 3vw, 1.35rem);
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.hw-profile-shell--v3 .hw-profile__stats {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0;
  margin: 0;
  padding: 0.95rem 0.35rem;
  border-radius: 16px;
  border: 1px solid rgba(232, 196, 150, 0.12);
  background: rgba(16, 11, 8, 0.78);
  backdrop-filter: blur(10px);
}

.hw-profile-shell--v3 .hw-profile__stat {
  position: relative;
  padding: 0.15rem 0.65rem;
}

.hw-profile-shell--v3 .hw-profile__stat:not(:last-child)::after {
  content: "";
  position: absolute;
  top: 18%;
  bottom: 18%;
  right: 0;
  width: 1px;
  background: rgba(232, 196, 150, 0.14);
}

.hw-profile-shell--v3 .hw-profile__stat--streak strong {
  color: var(--hw-gold, #fdba74);
}

.hw-profile__streak-flame {
  font-size: 0.85em;
}

.hw-profile__tags-label {
  display: block;
  width: 100%;
  margin: 0 0 0.35rem;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: var(--hw-pf-muted);
}

.hw-profile__reading-author {
  font-size: 0.8rem;
  color: var(--hw-pf-muted);
}

.hw-profile__reading-cta {
  margin-top: 0.15rem;
  font-size: 0.8rem;
  font-weight: 650;
  color: var(--hw-gold, #fdba74);
}

.hw-profile__hearths--compact {
  grid-template-columns: repeat(auto-fill, minmax(120px, 1fr));
}

.hw-profile-shell--v3 .hw-profile__name {
  font-size: clamp(1.85rem, 3.4vw, 2.55rem);
  letter-spacing: -0.02em;
}

.hw-profile-shell--v3 .hw-profile__tablist {
  margin-bottom: 0.35rem;
  border-bottom-color: rgba(232, 196, 150, 0.12);
  justify-content: center;
}

/* Reader overview: about + reading left; badges then arena right (aligned) */
.hw-profile-shell--v3 .hw-profile__overview-grid--reader {
  grid-template-columns: minmax(0, 1.45fr) minmax(220px, 0.72fr);
  column-gap: 1.1rem;
  row-gap: 0.55rem;
  align-items: stretch;
}

.hw-profile-shell--v3 {
  --hw-profile-overview-duo-min-h: 19.25rem;
  --hw-profile-badge-showcase-min-h: 12.5rem;
}

/* Row 1: About Me + Featured badges share a fixed minimum height (fits 4 badges). */
.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__about-card,
.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__badges-card,
.hw-profile-shell--v3 .hw-profile__overview-grid--author .hw-profile__about-card,
.hw-profile-shell--v3 .hw-profile__overview-grid--author .hw-profile__badges-card {
  min-height: var(--hw-profile-overview-duo-min-h);
}

.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__about-card,
.hw-profile-shell--v3 .hw-profile__overview-grid--author .hw-profile__about-card {
  display: flex;
  flex-direction: column;
  box-sizing: border-box;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__about-body,
.hw-profile-shell--v3 .hw-profile__overview-grid--author .hw-profile__about-body {
  flex: 1 1 auto;
  min-height: 0;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__about-card {
  grid-column: 1;
  grid-row: 1;
  height: 100%;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__reading-card {
  grid-column: 1;
  grid-row: 2;
  min-height: 0;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__badges-card {
  grid-column: 2;
  grid-row: 1;
  align-self: stretch;
  display: flex;
  flex-direction: column;
  height: 100%;
  box-sizing: border-box;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__badges-card .hw-profile__badge-showcase {
  flex: 1 1 auto;
  align-content: start;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__arena-card {
  grid-column: 2;
  grid-row: 2;
  align-self: stretch;
  justify-self: stretch;
  width: 100%;
  max-width: 100%;
  min-height: 0;
  box-sizing: border-box;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__activity-card {
  grid-column: 1 / -1;
  grid-row: 3;
}

.hw-profile__reading-now {
  display: grid;
  grid-template-columns: 72px minmax(0, 1fr);
  gap: 0.85rem;
  text-decoration: none;
  color: inherit;
  align-items: center;
}

.hw-profile__reading-now img,
.hw-profile__reading-now .hw-profile__story-ph {
  width: 72px;
  aspect-ratio: 2 / 3;
  border-radius: 8px;
  object-fit: cover;
}

.hw-profile__reading-copy {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  min-width: 0;
}

.hw-profile__reading-copy strong {
  font-family: var(--hw-pf-serif);
  color: var(--hw-pf-ink);
}

.hw-profile__reading-copy em {
  font-style: normal;
  font-size: 0.78rem;
  color: var(--hw-pf-muted);
}

.hw-profile__progress-track {
  display: block;
  height: 5px;
  border-radius: 999px;
  background: rgba(var(--hw-text-rgb),  0.1);
  overflow: hidden;
}

.hw-profile__progress-track > span {
  display: block;
  height: 100%;
  background: linear-gradient(90deg, var(--hw-flame, #f97316), var(--hw-gold, #fdba74));
  border-radius: inherit;
}

.hw-profile__progress-layout {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(220px, 280px);
  gap: 1rem;
  align-items: start;
}

.hw-profile__track-tabs {
  display: flex;
  gap: 0.35rem;
  margin-bottom: 0.85rem;
}

.hw-profile__track-tab {
  appearance: none;
  border: 1px solid rgba(232, 196, 150, 0.16);
  background: rgba(14, 10, 8, 0.55);
  color: var(--hw-pf-muted);
  font: inherit;
  font-size: 0.88rem;
  padding: 0.45rem 0.9rem;
  border-radius: 999px;
  cursor: pointer;
}

.hw-profile__track-tab.is-active {
  border-color: rgba(var(--hw-text-rgb),  0.28);
  background: rgba(var(--hw-text-rgb),  0.1);
  color: #fff4e4;
}

.hw-profile__trust-score {
  margin: 0.25rem 0;
  font-family: var(--hw-pf-serif);
  font-size: 2rem;
  color: var(--hw-gold, #fdba74);
}

.hw-profile__activity-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.65rem;
}

.hw-profile__activity-list li {
  padding: 0.65rem 0.75rem;
  border-radius: 10px;
  border: 1px solid rgba(232, 196, 150, 0.1);
  background: rgba(8, 5, 4, 0.35);
  color: var(--hw-pf-soft);
  font-size: 0.92rem;
}

.hw-profile__hearths {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 0.75rem;
}

.hw-profile__hearth {
  display: flex;
  flex-direction: column;
  gap: 0.45rem;
  text-decoration: none;
  color: inherit;
  padding: 0.65rem;
  border-radius: 14px;
  border: 1px solid rgba(232, 196, 150, 0.12);
  background: rgba(16, 11, 8, 0.75);
}

.hw-profile__hearth img,
.hw-profile__hearth-ph {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  border-radius: 10px;
  background: linear-gradient(160deg, #2a1c14, #14100c);
  display: block;
}

.hw-profile__hearth strong {
  font-size: 0.88rem;
  color: var(--hw-pf-ink);
}

.hw-profile__continue-row {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(140px, 1fr));
  gap: 0.85rem;
}

.hw-profile__continue-card {
  display: flex;
  flex-direction: column;
  gap: 0.4rem;
  text-decoration: none;
  color: inherit;
}

.hw-profile__continue-card img,
.hw-profile__continue-card .hw-profile__story-ph {
  width: 100%;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  border-radius: 10px;
}

.hw-profile__continue-card strong {
  font-size: 0.85rem;
  line-height: 1.3;
  color: var(--hw-pf-ink);
}

.hw-profile-shell--v3 .hw-profile__btn {
  background: linear-gradient(135deg, var(--hw-flame-light, #ff8a1f), var(--hw-flame, #f97316));
  border-color: rgba(255, 220, 180, 0.22);
}

@media (max-width: 900px) {
  .hw-profile-shell--v3 .hw-profile__overview-grid--reader,
  .hw-profile__progress-layout {
    grid-template-columns: 1fr;
  }

  .hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__about-card,
  .hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__reading-card,
  .hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__arena-card,
  .hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__badges-card,
  .hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__activity-card {
    grid-column: auto;
    grid-row: auto;
    height: auto;
    min-height: 0;
  }
}

@media (max-width: 640px) {
  .hw-profile-shell--v3 .hw-profile__stats {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .hw-profile-shell--v3 .hw-profile__hero-actions {
    width: 100%;
    justify-content: flex-start;
  }
}

/* ============================================================
   Profile v3 polish — mockup fidelity pass
============================================================ */

.hw-profile-shell--v3 .hw-profile__main {
  width: 100%;
}

.hw-profile-shell--v3:not(.hw-profile-shell--hearth) .hw-profile__hero-top {
  max-width: min(960px, 100%);
  width: 100%;
  margin: 0 auto;
  padding-left: clamp(1rem, 3vw, 1.35rem);
  padding-right: clamp(1rem, 3vw, 1.35rem);
  box-sizing: border-box;
}

.hw-profile-shell--v3 .hw-profile__hero--cinema {
  min-height: clamp(280px, 36vh, 420px);
  padding-bottom: clamp(4.5rem, 9vw, 6.5rem) !important;
}

.hw-profile-shell--v3 .hw-profile__stage {
  margin-top: clamp(-4.5rem, -9vw, -5.5rem);
  gap: 1rem;
}

.hw-profile-shell--v3 .hw-profile__stats {
  box-shadow: 0 16px 40px rgba(0, 0, 0, 0.35);
}

.hw-profile-shell--v3 .hw-profile__stat strong {
  font-size: clamp(1.35rem, 2.4vw, 1.75rem);
  color: var(--hw-text, #fff4e8);
}

.hw-profile-shell--v3 .hw-profile__stat span {
  font-size: 0.68rem;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: rgba(232, 196, 150, 0.72);
}

.hw-profile-shell--v3 .hw-profile__tablist {
  justify-content: center;
  gap: 0.25rem 0.5rem;
  border-bottom: 1px solid rgba(232, 196, 150, 0.12);
  padding-bottom: 0;
}

.hw-profile-shell--v3 .hw-profile__tab {
  color: rgba(232, 196, 150, 0.62);
  font-size: 0.94rem;
  padding: 0.65rem 0.95rem;
}

.hw-profile-shell--v3 .hw-profile__tab.is-active {
  color: var(--hw-text, #fff4e8);
  box-shadow: inset 0 -2px 0 var(--hw-gold, #fdba74);
}

.hw-profile-shell--v3 .hw-profile__card {
  border-color: rgba(232, 196, 150, 0.14);
  background:
    linear-gradient(165deg, rgba(24, 18, 14, 0.94), rgba(12, 9, 7, 0.98));
  box-shadow: 0 10px 32px rgba(0, 0, 0, 0.28);
}

.hw-profile-shell--v3 .hw-profile__card-head h2,
.hw-profile-shell--v3 .hw-profile__card-head h3 {
  color: var(--hw-text, #fff4e8);
  display: flex;
  align-items: center;
  gap: 0.45rem;
}

.hw-profile-shell--v3 .hw-profile__card-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  color: var(--hw-gold, #fdba74);
  flex-shrink: 0;
}

.hw-profile-shell--v3 .hw-profile__card-icon svg {
  width: 1.1rem;
  height: 1.1rem;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--author .hw-profile__shelf-card,
.hw-profile-shell--v3 .hw-profile__overview-grid--author .hw-profile__activity-card {
  grid-column: 1 / -1;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--author {
  grid-template-columns: minmax(0, 1.35fr) minmax(260px, 0.65fr);
  gap: 0.85rem 1.1rem;
  align-items: stretch;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--author .hw-profile__about-card {
  grid-column: 1;
  height: 100%;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--author .hw-profile__badges-card {
  grid-column: 2;
  align-self: stretch;
  width: 100%;
  display: flex;
  flex-direction: column;
  min-height: var(--hw-profile-overview-duo-min-h);
  box-sizing: border-box;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--author .hw-profile__badge-showcase {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(5.35rem, auto));
  gap: 0.5rem 0.55rem;
  justify-items: center;
  align-content: start;
  width: 100%;
  min-height: var(--hw-profile-badge-showcase-min-h);
  flex: 1 1 auto;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__badge-showcase {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  grid-template-rows: repeat(2, minmax(5.35rem, auto));
  gap: 0.5rem 0.55rem;
  justify-items: center;
  align-content: start;
  min-height: var(--hw-profile-badge-showcase-min-h);
  flex: 1 1 auto;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__badge-showcase .hw-prog-medal:nth-child(n + 5),
.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__badge-showcase .hw-profile__badge-chip:nth-child(n + 5) {
  display: none;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--author .hw-profile__badge-showcase .hw-prog-medal:nth-child(n + 5),
.hw-profile-shell--v3 .hw-profile__overview-grid--author .hw-profile__badge-showcase .hw-profile__badge-chip:nth-child(n + 5) {
  display: none;
}

/* Featured badges: medals float on the section surface (no nested cards) */
.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal.is-earned,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal.is-locked,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal.is-progress,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-profile__badge-chip {
  border: 0;
  background: transparent;
  box-shadow: none;
  padding: 0.1rem 0.15rem;
  gap: 0;
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal:hover,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal.is-earned:hover,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal--compact:hover,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal--compact.is-earned:hover {
  transform: none;
  background: transparent;
  border-color: transparent;
  box-shadow: none;
}

/* Restore medal seal shine / glow inside featured showcase */
.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal__seal-wrap {
  overflow: visible;
  width: 56px;
  height: 56px;
  margin-bottom: 0.25rem;
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal.is-earned:hover .hw-prog-medal__seal,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal.is-earned:hover .hw-prog-medal__hex {
  transform: scale(1.06);
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal.is-earned:hover .hw-prog-medal__shine {
  opacity: 1;
  animation: hw-prog-shine-sweep 0.85s ease forwards;
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal--bronze.is-earned:hover .hw-prog-medal__seal,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal--bronze.is-earned:hover .hw-prog-medal__hex {
  box-shadow:
    inset 0 1px 0 rgba(255, 220, 180, 0.18),
    0 0 0 2px rgba(180, 110, 60, 0.75),
    0 0 16px rgba(160, 90, 50, 0.28);
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal--silver.is-earned:hover .hw-prog-medal__seal,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal--silver.is-earned:hover .hw-prog-medal__hex {
  box-shadow:
    inset 0 1px 0 rgba(240, 248, 255, 0.2),
    0 0 0 2px rgba(170, 185, 205, 0.75),
    0 0 18px rgba(150, 165, 185, 0.32);
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal--silver.is-earned:hover .hw-prog-medal__shine {
  animation-duration: 0.65s;
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal--gold.is-earned:hover .hw-prog-medal__seal,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal--gold.is-earned:hover .hw-prog-medal__hex {
  box-shadow:
    inset 0 1px 0 rgba(255, 248, 220, 0.22),
    0 0 0 2px rgba(212, 168, 90, 0.82),
    0 0 22px rgba(212, 168, 90, 0.38);
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal--gold.is-earned:hover .hw-prog-medal__aura,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal--ember.is-earned:hover .hw-prog-medal__aura {
  opacity: 1;
  animation: hw-prog-aura-flare 0.85s ease forwards;
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal--ember.is-earned:hover .hw-prog-medal__seal,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal--ember.is-earned:hover .hw-prog-medal__hex {
  box-shadow:
    inset 0 1px 0 rgba(255, 220, 180, 0.2),
    0 0 0 2px rgba(var(--hw-flame-rgb),  0.78),
    0 0 20px rgba(var(--hw-flame-rgb),  0.35);
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal--ember.is-earned:hover .hw-prog-medal__shine {
  animation-duration: 0.55s;
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal--ember.is-earned:hover .hw-prog-medal__flame {
  opacity: 0.85;
  animation: hw-prog-flame-flicker 0.55s ease forwards;
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-profile__badge-chip {
  transition: transform 0.22s ease;
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-profile__badge-chip:hover {
  transform: translateY(-2px);
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-profile__badge-chip:hover .hw-profile__badge-chip-icon {
  box-shadow:
    inset 0 1px 0 rgba(var(--hw-text-rgb),  0.18),
    0 0 0 2px rgba(232, 196, 150, 0.35),
    0 0 18px rgba(var(--hw-flame-rgb),  0.28),
    0 10px 20px rgba(0, 0, 0, 0.35);
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-profile__badge-chip-icon {
  position: relative;
  overflow: hidden;
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-profile__badge-chip:hover .hw-profile__badge-chip-icon::after {
  opacity: 1;
  animation: hw-prog-shine-sweep 0.85s ease forwards;
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-profile__badge-chip-icon::after {
  content: "";
  position: absolute;
  top: -20%;
  left: -40%;
  width: 55%;
  height: 140%;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(var(--hw-text-rgb),  0) 30%,
    rgba(var(--hw-text-rgb),  0.65) 50%,
    rgba(var(--hw-text-rgb),  0) 70%,
    transparent 100%
  );
  transform: translateX(-30%) rotate(18deg);
  opacity: 0;
  pointer-events: none;
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal__seal,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal__hex {
  width: 56px;
  height: 56px;
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal__title,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-profile__badge-chip-title {
  font-size: 0.68rem;
  line-height: 1.15;
  margin: 0;
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal__metal,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-profile__badge-chip-metal {
  margin: 0.08rem 0 0;
  font-size: 0.56rem;
  letter-spacing: 0.06em;
  line-height: 1.1;
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal__earned,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-profile__badge-chip-desc {
  display: none;
}

.hw-profile-shell--v3 .hw-profile__badge-chip {
  flex: 0 0 88px;
  width: 88px;
  padding: 0;
  border: 0;
  background: transparent;
  box-shadow: none;
}

.hw-profile-shell--v3 .hw-profile__badge-chip-icon {
  width: 56px;
  height: 56px;
  margin-bottom: 0.25rem;
  border-width: 2px;
  box-shadow:
    inset 0 1px 0 rgba(var(--hw-text-rgb),  0.12),
    0 8px 18px rgba(0, 0, 0, 0.35);
}

.hw-profile-shell--v3 .hw-profile__badge-chip--reader .hw-profile__badge-chip-icon {
  border-color: rgba(196, 120, 58, 0.45);
  background: radial-gradient(circle at 35% 28%, rgba(232, 160, 90, 0.35), rgba(18, 12, 8, 0.95));
}

.hw-profile-shell--v3 .hw-profile__badge-chip-title {
  font-size: 0.72rem;
  line-height: 1.25;
}

.hw-profile-shell--v3 .hw-profile__badge-chip-desc {
  display: block;
  margin-top: 0.15rem;
  font-size: 0.62rem;
  line-height: 1.3;
  color: rgba(184, 156, 132, 0.88);
}

.hw-profile-shell--v3 .hw-profile__reading-card {
  display: flex;
  flex-direction: column;
  padding: 1.35rem 1.4rem 1.5rem;
}

.hw-profile-shell--v3 .hw-profile__reading-card .hw-profile__card-head {
  margin-bottom: 1.15rem;
}

.hw-profile-shell--v3 .hw-profile__reading-now {
  flex: 1;
  grid-template-columns: 136px minmax(0, 1fr);
  align-items: center;
  gap: 1.3rem;
}

.hw-profile-shell--v3 .hw-profile__reading-now img,
.hw-profile-shell--v3 .hw-profile__reading-now .hw-profile__story-ph {
  width: 136px;
  border-radius: 10px;
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.4);
}

.hw-profile-shell--v3 .hw-profile__reading-copy {
  gap: 0.45rem;
}

.hw-profile-shell--v3 .hw-profile__reading-copy strong {
  font-size: 1.28rem;
  line-height: 1.3;
}

.hw-profile-shell--v3 .hw-profile__reading-author {
  font-size: 0.92rem;
}

.hw-profile-shell--v3 .hw-profile__reading-card .hw-profile__progress-track {
  height: 9px;
  margin-top: 0.4rem;
  border-radius: 999px;
}

.hw-profile-shell--v3 .hw-profile__reading-copy em {
  font-style: normal;
  font-size: 0.95rem;
  font-weight: 650;
}

.hw-profile-shell--v3 .hw-profile__reading-cta {
  margin-top: 0.4rem;
  font-size: 0.92rem;
}

/* Compact Weekly Prompts (right column under badges) */
.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__arena-card {
  padding: 0.95rem 1rem 1.05rem;
  display: flex;
  flex-direction: column;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__arena-card .hw-profile__card-head {
  margin-bottom: 0.7rem;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__arena-card .hw-profile__card-head h2 {
  font-size: 1.08rem;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__arena-stats {
  flex: 1;
  gap: 0.5rem;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-content: stretch;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__arena-stat {
  padding: 0.65rem 0.55rem;
  border-radius: 10px;
  justify-content: center;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__arena-stat strong {
  font-size: 1.2rem;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__arena-stat span {
  font-size: 0.62rem;
  letter-spacing: 0.05em;
}

.hw-profile__arena-stats {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(110px, 1fr));
  gap: 0.65rem;
  margin: 0;
  padding: 0;
  list-style: none;
}

.hw-profile__arena-stat {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.7rem 0.8rem;
  border-radius: 12px;
  border: 1px solid rgba(232, 196, 150, 0.12);
  background: rgba(8, 5, 4, 0.4);
  text-align: center;
}

.hw-profile__arena-stat strong {
  font-size: 1.35rem;
  font-weight: 700;
  color: var(--hw-text, #fff4e8);
  line-height: 1.1;
}

.hw-profile__arena-stat span {
  font-size: 0.68rem;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: rgba(232, 196, 150, 0.72);
}

.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__about-card {
  padding-bottom: 1.1rem;
}

.hw-profile-shell--v3 .hw-notifications__feed--activity,
.hw-profile-shell--v3 .hw-profile__activity-feed {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  width: 100%;
  list-style: none;
  margin: 0;
  padding: 0;
}

.hw-profile-shell--v3 .hw-profile__activity-feed--grid,
.hw-profile-shell--v3 .hw-profile__activity-feed--timeline {
  grid-template-columns: none;
}

.hw-profile-shell--v3 .hw-profile__hearths--compact {
  grid-template-columns: repeat(auto-fill, minmax(130px, 1fr));
}

.hw-profile-shell--v3 .hw-profile__avatar {
  width: clamp(96px, 12vw, 120px);
  height: clamp(96px, 12vw, 120px);
}

.hw-profile-shell--v3.hw-profile--reader .hw-profile__avatar-wrap--gold .hw-profile__avatar,
.hw-profile-shell--v3.hw-profile--reader .hw-profile__avatar-wrap--ember .hw-profile__avatar,
.hw-profile-shell--v3.hw-profile--reader .hw-profile__avatar-wrap--silver .hw-profile__avatar,
.hw-profile-shell--v3.hw-profile--reader .hw-profile__avatar-wrap--none .hw-profile__avatar {
  box-shadow:
    0 0 0 3px rgba(91, 124, 153, 0.55),
    0 0 28px rgba(91, 124, 153, 0.22);
}

/* Kept accents: genres + featured badges only */
.hw-profile-shell--v3 .hw-profile__tag {
  border-color: rgba(126, 184, 212, 0.28);
  background: rgba(48, 78, 96, 0.28);
  color: #d8ecf4;
}

.hw-profile-shell--v3 .hw-profile__tag:nth-child(3n) {
  border-color: rgba(232, 160, 90, 0.28);
  background: rgba(96, 58, 28, 0.32);
  color: #f5d4b0;
}

.hw-profile-shell--v3 .hw-profile__tag:nth-child(3n + 1) {
  border-color: rgba(160, 196, 140, 0.26);
  background: rgba(48, 72, 48, 0.3);
  color: #d4e8c8;
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-profile__card-head {
  flex-wrap: nowrap;
  gap: 0.5rem;
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-profile__card-head h2 {
  white-space: nowrap;
  flex: 1 1 auto;
  min-width: 0;
}

.hw-profile-shell--v3 .hw-profile__badges-card {
  padding: 0.9rem 0.95rem 1rem;
  border-color: rgba(212, 168, 72, 0.26);
  background:
    linear-gradient(160deg, rgba(72, 52, 18, 0.28), rgba(16, 12, 9, 0.92) 55%),
    linear-gradient(160deg, rgba(36, 26, 18, 0.88), rgba(16, 12, 9, 0.92));
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-profile__card-icon {
  color: #e8c496;
}

@media (max-width: 900px) {
  .hw-profile-shell--v3 .hw-profile__overview-grid--reader,
  .hw-profile-shell--v3 .hw-profile__overview-grid--author,
  .hw-profile-shell--v3 .hw-profile__activity-feed {
    grid-template-columns: 1fr;
  }

  .hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__about-card,
  .hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__reading-card,
  .hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__arena-card,
  .hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__badges-card,
  .hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__activity-card,
  .hw-profile-shell--v3 .hw-profile__overview-grid--author .hw-profile__about-card,
  .hw-profile-shell--v3 .hw-profile__overview-grid--author .hw-profile__badges-card {
    grid-column: auto;
    grid-row: auto;
    height: auto;
    min-height: 0;
  }

  .hw-profile-shell--v3 .hw-profile__overview-grid--author .hw-profile__badges-card {
    max-width: none;
    justify-self: stretch;
  }

  .hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__badge-showcase {
    justify-content: flex-start;
    justify-items: center;
    grid-template-rows: repeat(2, auto);
  }

  .hw-profile-shell--v3 .hw-profile__reading-now {
    grid-template-columns: 96px minmax(0, 1fr);
  }

  .hw-profile-shell--v3 .hw-profile__reading-now img,
  .hw-profile-shell--v3 .hw-profile__reading-now .hw-profile__story-ph {
    width: 96px;
  }

  .hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__arena-stats {
    grid-template-columns: repeat(auto-fit, minmax(100px, 1fr));
  }
}

/* ============================================================
   Profile visual polish — contrast, type, chrome, focus
   (layout / order / features unchanged)
============================================================ */

.hw-profile-shell--v3 .hw-profile__card {
  border-color: rgba(232, 196, 150, 0.2);
  box-shadow:
    0 10px 32px rgba(0, 0, 0, 0.3),
    inset 0 1px 0 rgba(255, 232, 200, 0.06);
}

.hw-profile-shell--v3 .hw-profile__card-head h2,
.hw-profile-shell--v3 .hw-profile__card-head h3 {
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.35);
}

.hw-profile-shell--v3 .hw-profile__about-body {
  color: var(--hw-pf-soft);
  line-height: 1.65;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__about-body {
  flex: 1 1 auto;
  min-height: 0;
}

.hw-profile-shell--v3 .hw-profile__hint {
  color: rgba(232, 196, 150, 0.82);
}

.hw-profile-shell--v3 .hw-profile__meta-row,
.hw-profile-shell--v3 .hw-profile__tags-label {
  color: var(--hw-pf-muted);
}

.hw-profile-shell--v3 .hw-profile__stat span,
.hw-profile-shell--v3 .hw-profile__arena-stat span {
  color: rgba(232, 196, 150, 0.82);
  letter-spacing: 0.07em;
}

.hw-profile-shell--v3 .hw-profile__stat strong,
.hw-profile-shell--v3 .hw-profile__arena-stat strong {
  text-shadow: 0 1px 0 rgba(0, 0, 0, 0.45);
}

.hw-profile-shell--v3 .hw-profile__tab {
  color: rgba(243, 226, 200, 0.72);
  transition: color 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.hw-profile-shell--v3 .hw-profile__tab:hover {
  color: var(--hw-text, #fff4e8);
}

.hw-profile-shell--v3 .hw-profile__tab.is-active {
  color: var(--hw-text, #fff4e8);
  box-shadow: inset 0 -2px 0 var(--hw-gold, #fdba74);
  background: linear-gradient(180deg, rgba(232, 160, 90, 0.12), rgba(232, 160, 90, 0.02) 70%);
}

.hw-profile-shell--v3 .hw-profile__linkish {
  color: var(--hw-pf-gold);
  border-radius: 4px;
  transition: color 0.16s ease;
}

.hw-profile-shell--v3 .hw-profile__linkish:hover {
  color: #f6d7a8;
}

.hw-profile-shell--v3 .hw-profile__social a,
.hw-profile-shell--v3 .hw-profile__invite a,
.hw-profile-shell--v3 .hw-profile__view-as {
  color: var(--hw-pf-gold);
  transition: color 0.16s ease;
}

.hw-profile-shell--v3 .hw-profile__social a:hover,
.hw-profile-shell--v3 .hw-profile__invite a:hover,
.hw-profile-shell--v3 .hw-profile__view-as:hover {
  color: #f6d7a8;
}

.hw-profile-shell--v3 .hw-profile__btn {
  box-shadow: 0 6px 18px rgba(196, 120, 58, 0.22);
  transition: filter 0.16s ease, box-shadow 0.16s ease, border-color 0.16s ease;
}

.hw-profile-shell--v3 .hw-profile__btn:hover {
  filter: brightness(1.07);
  box-shadow: 0 8px 22px rgba(232, 160, 90, 0.28);
}

.hw-profile-shell--v3 .hw-profile__btn:active {
  filter: brightness(0.98);
  transform: translateY(1px);
}

.hw-profile-shell--v3 .hw-profile__btn--ghost:hover {
  border-color: rgba(232, 160, 90, 0.45);
  color: var(--hw-text, #fff4e8);
  background: rgba(196, 120, 58, 0.12);
}

.hw-profile-shell--v3 .hw-profile__mode-btn {
  transition: background 0.16s ease, color 0.16s ease;
}

.hw-profile-shell--v3 .hw-profile__mode-btn:hover:not(.is-active) {
  color: var(--hw-text, #fff4e8);
  background: rgba(232, 196, 150, 0.08);
}

.hw-profile-shell--v3 .hw-profile__track-tab {
  transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease;
}

.hw-profile-shell--v3 .hw-profile__track-tab:hover:not(.is-active) {
  color: var(--hw-text, #fff4e8);
  border-color: rgba(232, 196, 150, 0.28);
}

.hw-profile-shell--v3 .hw-profile__reading-now {
  border-radius: 10px;
  transition: transform 0.16s ease;
}

.hw-profile-shell--v3 .hw-profile__reading-now:hover {
  transform: translateY(-1px);
}

.hw-profile-shell--v3 .hw-profile__reading-now:hover img,
.hw-profile-shell--v3 .hw-profile__reading-now:hover .hw-profile__story-ph {
  box-shadow:
    0 12px 26px rgba(0, 0, 0, 0.42),
    0 0 0 1px rgba(232, 160, 90, 0.35);
}

.hw-profile-shell--v3 .hw-profile__reading-cta {
  color: var(--hw-pf-gold);
}

.hw-profile-shell--v3 .hw-profile__hearth,
.hw-profile-shell--v3 .hw-profile__shelf-item,
.hw-profile-shell--v3 .hw-profile__lib-card,
.hw-profile-shell--v3 .hw-profile__continue-card {
  transition: border-color 0.16s ease, transform 0.16s ease, box-shadow 0.16s ease, background 0.16s ease;
}

.hw-profile-shell--v3 .hw-profile__hearth:hover,
.hw-profile-shell--v3 .hw-profile__lib-card:hover {
  border-color: rgba(232, 160, 90, 0.38);
  transform: translateY(-1px);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.28);
}

.hw-profile-shell--v3 .hw-profile__shelf-item:hover .hw-profile__shelf-title,
.hw-profile-shell--v3 .hw-profile__continue-card:hover strong,
.hw-profile-shell--v3 .hw-profile__hearth:hover strong {
  color: var(--hw-text, #fff4e8);
}

.hw-profile-shell--v3 .hw-profile__shelf-item:hover img,
.hw-profile-shell--v3 .hw-profile__continue-card:hover img {
  box-shadow: 0 0 0 1px rgba(232, 160, 90, 0.32);
}

.hw-profile-shell--v3 .hw-notifications__item[hidden],
.hw-profile-shell--v3 .hw-notifications__item.is-filter-hidden {
  display: none !important;
}

.hw-profile-shell--v3 .hw-profile__activity-feed--timeline {
  gap: 0.5rem;
}

.hw-profile-shell--v3 .hw-profile__activity-panel {
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.hw-profile-shell--v3 .hw-profile__activity-filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  padding: 0 0.15rem 0.35rem;
}

.hw-profile-shell--v3 .hw-profile__activity-filter {
  appearance: none;
  border: 1px solid rgba(232, 196, 150, 0.14);
  background: rgba(8, 5, 4, 0.45);
  color: rgba(232, 196, 150, 0.82);
  border-radius: 999px;
  padding: 0.35rem 0.75rem;
  font-size: 0.78rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color 0.16s ease, background 0.16s ease, color 0.16s ease;
}

.hw-profile-shell--v3 .hw-profile__activity-filter:hover {
  border-color: rgba(232, 196, 150, 0.28);
  color: var(--hw-text, #fff4e8);
}

.hw-profile-shell--v3 .hw-profile__activity-filter.is-active {
  border-color: rgba(232, 160, 90, 0.45);
  background: rgba(196, 120, 58, 0.2);
  color: var(--hw-text, #fff4e8);
}

.hw-profile-shell--v3 .hw-profile__activity-empty {
  margin: 0.25rem 0 0;
  padding: 0.85rem 0.95rem;
  border-radius: 12px;
  border: 1px dashed rgba(232, 196, 150, 0.16);
  background: rgba(8, 5, 4, 0.28);
}

.hw-profile-shell--v3 .hw-profile__activity-filter-empty {
  margin: 0.35rem 0 0;
  padding: 0.75rem 0.95rem;
  border-radius: 12px;
  border: 1px dashed rgba(232, 196, 150, 0.14);
  background: rgba(8, 5, 4, 0.22);
  text-align: center;
}

.hw-profile-shell--v3 .hw-profile__overview-grid--reader .hw-profile__activity-card {
  grid-column: 1 / -1;
}

.hw-profile-shell--v3 .hw-profile__arena-stat {
  border-color: rgba(232, 196, 150, 0.16);
  box-shadow: inset 0 1px 0 rgba(255, 232, 200, 0.05);
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal__title,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-profile__badge-chip-title {
  color: var(--hw-text, #fff4e8);
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal__metal,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-profile__badge-chip-metal,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal__earned {
  color: rgba(232, 196, 150, 0.86);
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal__seal,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal__hex {
  box-shadow:
    inset 0 1px 0 rgba(var(--hw-text-rgb),  0.14),
    0 0 0 2px rgba(232, 196, 150, 0.2);
}

/* Featured showcase: shine/glow must win over condensed seal chrome above */
.hw-profile-shell--v3 .hw-profile__badges-card .hw-prog-medal.is-earned:hover .hw-prog-medal__shine {
  opacity: 1;
  animation: hw-prog-shine-sweep 0.85s ease forwards;
}

.hw-profile-shell--v3 .hw-profile__tag {
  font-weight: 550;
}

.hw-profile-shell--v3 .hw-profile__field input,
.hw-profile-shell--v3 .hw-profile__field textarea,
.hw-profile-shell--v3 .hw-profile__social-fields input {
  transition: border-color 0.16s ease, box-shadow 0.16s ease;
  background: var(--hw-pf-glass-2, var(--hw-fe-bg-soft, #f1ebe2));
  border-color: var(--hw-pf-line, var(--hw-fe-border, #e4ded4));
  color: var(--hw-pf-ink, var(--hw-fe-text, #211b16));
  caret-color: var(--hw-pf-ink, var(--hw-fe-text, #211b16));
  color-scheme: light;
}

.hw-profile-shell--v3 .hw-profile__field input:hover,
.hw-profile-shell--v3 .hw-profile__field textarea:hover,
.hw-profile-shell--v3 .hw-profile__social-fields input:hover {
  border-color: rgba(var(--hw-pf-accent-rgb, 184, 92, 58), 0.35);
}

.hw-profile-shell--v3 .hw-profile__field input:focus,
.hw-profile-shell--v3 .hw-profile__field textarea:focus,
.hw-profile-shell--v3 .hw-profile__social-fields input:focus {
  outline: none;
  border-color: rgba(var(--hw-pf-accent-rgb, 184, 92, 58), 0.55);
  box-shadow: 0 0 0 3px rgba(var(--hw-pf-accent-rgb, 184, 92, 58), 0.16);
  background: var(--hw-pf-glass, var(--hw-fe-elevated, #fcfaf7));
}

.hw-profile-shell--v3 .hw-profile__switch {
  background: var(--hw-pf-glass-2, var(--hw-fe-bg-soft, #f1ebe2));
  border-color: var(--hw-pf-line, var(--hw-fe-border, #e4ded4));
  color: var(--hw-pf-soft, var(--hw-fe-text-soft, #5c564e));
}

.hw-profile-shell--v3 .hw-profile__customize-form select,
.hw-profile-shell--v3 .hw-profile__field select {
  background: var(--hw-pf-glass, var(--hw-fe-elevated, #fcfaf7));
  border: 1px solid var(--hw-pf-line, var(--hw-fe-border, #e4ded4));
  color: var(--hw-pf-ink, var(--hw-fe-text, #211b16));
  color-scheme: light;
  border-radius: 8px;
  padding: 0.5rem 0.65rem;
}

.hw-profile-shell--v3 :is(a, button, input, textarea, select, [tabindex]):focus-visible {
  outline: 2px solid rgba(232, 160, 90, 0.9);
  outline-offset: 2px;
}

.hw-profile-shell--v3 .hw-profile__linkish:focus-visible,
.hw-profile-shell--v3 .hw-profile__social a:focus-visible,
.hw-profile-shell--v3 .hw-profile__view-as:focus-visible {
  border-radius: 6px;
  box-shadow: 0 0 0 3px rgba(232, 160, 90, 0.18);
}

.hw-profile-shell--v3 .hw-profile__tab:focus-visible {
  outline-offset: -2px;
  border-radius: 8px;
}

.hw-profile-shell--v3.hw-profile--reader .hw-profile__avatar-wrap--gold .hw-profile__avatar,
.hw-profile-shell--v3.hw-profile--reader .hw-profile__avatar-wrap--ember .hw-profile__avatar,
.hw-profile-shell--v3.hw-profile--reader .hw-profile__avatar-wrap--silver .hw-profile__avatar,
.hw-profile-shell--v3.hw-profile--reader .hw-profile__avatar-wrap--none .hw-profile__avatar {
  box-shadow:
    0 0 0 3px rgba(196, 148, 96, 0.55),
    0 0 28px rgba(196, 120, 58, 0.18);
}

@media (prefers-reduced-motion: reduce) {
  .hw-profile-shell--v3 .hw-profile__reading-now,
  .hw-profile-shell--v3 .hw-profile__hearth,
  .hw-profile-shell--v3 .hw-profile__shelf-item,
  .hw-profile-shell--v3 .hw-profile__lib-card,
  .hw-profile-shell--v3 .hw-profile__continue-card {
    transition: none;
  }

  .hw-profile-shell--v3 .hw-profile__reading-now:hover,
  .hw-profile-shell--v3 .hw-profile__hearth:hover,
  .hw-profile-shell--v3 .hw-profile__lib-card:hover {
    transform: none;
  }

  .hw-profile-genre-onboard__tile {
    transition: none;
  }
}

/* —— Genre onboarding — fixed modal (does not stack on cinema hero) —— */
@keyframes hw-profile-genre-sheen {
  0% { transform: translateX(-120%); }
  45% { transform: translateX(120%); }
  100% { transform: translateX(120%); }
}

.hw-profile-shell--v3 .hw-profile__main {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  width: 100%;
}

.hw-profile-shell--v3 .hw-profile__hero--cinema {
  grid-row: 1;
  grid-column: 1;
  z-index: 1;
}

.hw-profile-shell--v3 .hw-profile__stage {
  grid-row: 2;
  grid-column: 1;
}

html.hw-profile-genre-onboard-open {
  overflow: hidden;
}

.hw-profile__genre-onboard-backdrop {
  position: fixed;
  inset: 0;
  z-index: 12990;
  background: rgba(6, 4, 3, 0.72);
  backdrop-filter: blur(3px);
}

.hw-profile__genre-onboard-backdrop[hidden],
.hw-profile__genre-onboard-modal[hidden] {
  display: none !important;
}

.hw-profile__genre-onboard-modal {
  position: fixed;
  inset: 0;
  z-index: 12991;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: max(0.75rem, env(safe-area-inset-top)) max(0.75rem, env(safe-area-inset-right)) max(0.75rem, env(safe-area-inset-bottom)) max(0.75rem, env(safe-area-inset-left));
  pointer-events: none;
}

.hw-profile__genre-onboard-shell {
  pointer-events: auto;
  width: min(720px, 100%);
  max-height: min(88vh, 840px);
  display: flex;
  flex-direction: column;
  overflow: hidden;
  border-radius: 18px;
  border: 1px solid rgba(var(--hw-gold-rgb), 0.18);
  background:
    linear-gradient(180deg, rgba(var(--hw-card-2-rgb), 0.98), rgba(var(--hw-card-rgb), 0.99));
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.55);
}

.hw-profile__genre-onboard-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
  padding: 1.1rem 1.2rem 0.85rem;
  border-bottom: 1px solid rgba(var(--hw-gold-rgb), 0.12);
  flex-shrink: 0;
}

.hw-profile__genre-onboard-title {
  margin: 0.15rem 0 0.35rem;
  font-family: var(--hw-pf-serif, var(--hw-font-display));
  font-size: 1.35rem;
  color: var(--hw-pf-ink, var(--hw-text));
}

.hw-profile-genre-onboard {
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0.75rem 0 1rem;
  border: 0;
  border-radius: 0;
  background: transparent;
  box-shadow: none;
  overflow: auto;
  flex: 1;
  min-height: 0;
  transition: opacity 0.22s ease, transform 0.22s ease;
}

.hw-profile-genre-onboard.is-saved {
  opacity: 0;
  transform: translateY(-6px);
}

.hw-profile-genre-onboard__inner {
  padding: 0 1.15rem;
}

.hw-profile-genre-onboard__inner--count {
  display: flex;
  justify-content: flex-end;
  margin-bottom: 0.35rem;
}

.hw-profile-genre-onboard__kicker {
  margin: 0;
  font-size: 0.72rem;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--hw-gold, var(--hw-pf-gold));
  font-weight: 700;
}

.hw-profile-genre-onboard__desc {
  margin: 0;
  font-size: 0.88rem;
  color: var(--hw-pf-muted, var(--hw-muted));
  max-width: 36rem;
}

.hw-profile-genre-onboard__preview-note {
  margin: 0.4rem 0 0;
  font-size: 0.8rem;
  color: var(--hw-pf-soft, var(--hw-text-soft));
}

.hw-profile-genre-onboard__count {
  margin: 0;
  font-size: 0.82rem;
  color: var(--hw-pf-muted, var(--hw-muted));
  font-weight: 650;
}

.hw-profile__genre-onboard-shell .hw-profile-genre-onboard__inner {
  max-width: none;
  margin: 0;
  padding: 0 1.15rem;
  box-sizing: border-box;
}

.hw-profile__genre-onboard-shell .hw-profile-genre-onboard__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.75rem 1rem;
  padding: 0.85rem 0 0.25rem;
}

.hw-profile-genre-onboard__head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 0.75rem 1rem;
  margin: 0 0 0.75rem;
}

.hw-profile-genre-onboard__kicker {
  margin: 0 0 0.3rem;
  font-size: 0.68rem;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
  color: var(--hw-gold, #fdba74);
}

.hw-profile-genre-onboard__copy h2 {
  margin: 0;
  font-family: var(--hw-font-display, "Playfair Display", Georgia, serif);
  font-size: clamp(1.15rem, 2vw, 1.4rem);
  font-weight: 600;
  line-height: 1.2;
  color: var(--hw-text-strong, #fff8ef);
}

.hw-profile-genre-onboard__desc {
  margin: 0.35rem 0 0;
  font-size: 0.88rem;
  line-height: 1.4;
  color: rgba(234, 214, 194, 0.78);
}

.hw-profile-genre-onboard__preview-note {
  margin: 0.45rem 0 0;
  font-size: 0.76rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  text-transform: uppercase;
  color: rgba(var(--hw-gold-rgb),  0.82);
}

.hw-profile-genre-onboard__count {
  flex: 0 0 auto;
  margin: 0;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  border: 1px solid rgba(var(--hw-gold-rgb),  0.28);
  background: rgba(0, 0, 0, 0.28);
  font-size: 0.72rem;
  font-weight: 650;
  letter-spacing: 0.04em;
  color: var(--hw-gold, #fdba74);
  white-space: nowrap;
}

.hw-profile-genre-onboard__rail {
  width: 100%;
  margin: 0.15rem 0 0.85rem;
  cursor: grab;
  touch-action: pan-y;
  user-select: none;
}

.hw-profile-genre-onboard.is-dragging .hw-profile-genre-onboard__rail {
  cursor: grabbing;
}

.hw-profile-genre-onboard__viewport {
  position: relative;
  overflow: hidden;
  mask-image: linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%);
  -webkit-mask-image: linear-gradient(90deg, transparent 0%, #000 4%, #000 96%, transparent 100%);
}

.hw-profile-genre-onboard.is-static .hw-profile-genre-onboard__viewport {
  overflow-x: auto;
  mask-image: none;
  -webkit-mask-image: none;
  scrollbar-width: thin;
  scrollbar-color: rgba(var(--hw-gold-rgb),  0.35) transparent;
}

.hw-profile-genre-onboard__track {
  display: flex;
  flex-wrap: nowrap;
  align-items: center;
  gap: 0.62rem;
  width: max-content;
  padding: 0.35rem clamp(1rem, 3vw, 1.35rem);
  will-change: transform;
}

.hw-profile-genre-onboard.is-static .hw-profile-genre-onboard__track {
  transform: none !important;
}

.hw-profile-genre-onboard__tile {
  --hw-genre-accent: var(--hw-flame, #f97316);
  --hw-genre-accent-soft: rgba(var(--hw-flame-rgb),  0.32);
  --hw-genre-accent-glow: rgba(var(--hw-flame-rgb),  0.42);
  --hw-genre-icon-filter: drop-shadow(0 0 8px rgba(var(--hw-flame-rgb),  0.55));
  position: relative;
  display: inline-flex;
  align-items: center;
  gap: 0.62rem;
  flex: 0 0 auto;
  min-height: 3.15rem;
  padding: 0.38rem 1rem 0.38rem 0.38rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--hw-genre-accent) 55%, transparent);
  background:
    linear-gradient(135deg, color-mix(in srgb, var(--hw-genre-accent) 24%, rgba(36, 22, 14, 0.96)), rgba(12, 8, 6, 0.98));
  color: var(--hw-text, #fff4e8);
  font: inherit;
  text-align: left;
  cursor: pointer;
  overflow: hidden;
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--hw-genre-accent) 18%, transparent),
    0 0 20px color-mix(in srgb, var(--hw-genre-accent-glow) 50%, transparent),
    0 8px 18px rgba(0, 0, 0, 0.28);
  transition:
    border-color 0.2s ease,
    transform 0.22s cubic-bezier(0.22, 1, 0.36, 1),
    box-shadow 0.22s ease,
    filter 0.2s ease,
    opacity 0.2s ease;
}

.hw-profile-genre-onboard__sheen {
  position: absolute;
  inset: 0;
  background: linear-gradient(
    105deg,
    transparent 35%,
    rgba(255, 248, 239, 0.2) 48%,
    transparent 62%
  );
  transform: translateX(-120%);
  animation: hw-profile-genre-sheen 4.4s ease-in-out infinite;
  animation-delay: calc(var(--hw-genre-sheen-delay, 0) * 0.35s);
  pointer-events: none;
  z-index: 0;
}

.hw-profile-genre-onboard__tile:nth-child(5n + 1) { --hw-genre-sheen-delay: 0; }
.hw-profile-genre-onboard__tile:nth-child(5n + 2) { --hw-genre-sheen-delay: 1; }
.hw-profile-genre-onboard__tile:nth-child(5n + 3) { --hw-genre-sheen-delay: 2; }
.hw-profile-genre-onboard__tile:nth-child(5n + 4) { --hw-genre-sheen-delay: 3; }
.hw-profile-genre-onboard__tile:nth-child(5n + 5) { --hw-genre-sheen-delay: 4; }

.hw-profile-genre-onboard__glow {
  position: absolute;
  inset: -45% -25%;
  background: radial-gradient(circle at 28% 40%, var(--hw-genre-accent-soft), transparent 58%);
  opacity: 0.85;
  pointer-events: none;
  z-index: 0;
}

.hw-profile-genre-onboard__tile:hover:not(:disabled),
.hw-profile-genre-onboard.is-paused .hw-profile-genre-onboard__tile:hover:not(:disabled) {
  transform: translateY(-2px) scale(1.03);
  filter: brightness(1.08) saturate(1.1);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--hw-genre-accent) 40%, transparent),
    0 0 28px var(--hw-genre-accent-glow),
    0 12px 22px rgba(0, 0, 0, 0.32);
}

.hw-profile-genre-onboard__tile:hover .hw-profile-genre-onboard__sheen {
  animation-duration: 1.5s;
}

.hw-profile-genre-onboard__tile.is-selected {
  border-color: color-mix(in srgb, var(--hw-genre-accent) 82%, #fff);
  box-shadow:
    0 0 0 1px color-mix(in srgb, var(--hw-genre-accent) 45%, transparent),
    0 0 26px color-mix(in srgb, var(--hw-genre-accent-glow) 65%, transparent),
    0 10px 20px rgba(0, 0, 0, 0.3);
}

.hw-profile-genre-onboard__tile:disabled,
.hw-profile-genre-onboard__tile[aria-disabled="true"] {
  opacity: 0.38;
  cursor: not-allowed;
  transform: none;
  filter: none;
}

.hw-profile-genre-onboard__icon {
  position: relative;
  z-index: 1;
  display: inline-grid;
  place-items: center;
  flex: 0 0 auto;
  width: 2.85rem;
  height: 2.85rem;
  border-radius: 999px;
  border: 1px solid color-mix(in srgb, var(--hw-genre-accent) 68%, transparent);
  background:
    radial-gradient(circle at 35% 28%, color-mix(in srgb, var(--hw-genre-accent) 58%, var(--hw-text-strong, #fff8ef)), var(--hw-genre-accent-soft) 55%, rgba(12, 8, 6, 0.92));
  box-shadow: 0 0 16px var(--hw-genre-accent-glow);
}

.hw-profile-genre-onboard__icon .hw-icon,
.hw-profile-genre-onboard__icon .hw-icon img,
.hw-profile-genre-onboard__icon .hw-icon svg {
  width: 1.75rem;
  height: 1.75rem;
  display: block;
  color: var(--hw-text-strong, #fff8ef);
}

.hw-profile-genre-onboard__icon .hw-icon-asset img {
  filter: var(--hw-genre-icon-filter);
}

.hw-profile-genre-onboard__name {
  position: relative;
  z-index: 1;
  padding-right: 0.35rem;
  font-family: var(--hw-font-display, "Playfair Display", Georgia, serif);
  font-size: 0.98rem;
  font-weight: 600;
  line-height: 1.15;
  color: var(--hw-text-strong, #fff8ef);
  white-space: nowrap;
}

.hw-profile-genre-onboard__check {
  position: absolute;
  top: 0.42rem;
  right: 0.42rem;
  z-index: 2;
  width: 1.05rem;
  height: 1.05rem;
  border-radius: 999px;
  border: 1px solid rgba(var(--hw-text-rgb),  0.28);
  background: rgba(0, 0, 0, 0.35);
  opacity: 0;
  transform: scale(0.85);
  transition: opacity 0.18s ease, transform 0.18s ease, background 0.18s ease;
}

.hw-profile-genre-onboard__check::after {
  content: "";
  position: absolute;
  left: 0.28rem;
  top: 0.16rem;
  width: 0.28rem;
  height: 0.5rem;
  border: solid var(--hw-text-strong, #fff8ef);
  border-width: 0 2px 2px 0;
  transform: rotate(45deg);
}

.hw-profile-genre-onboard__tile.is-selected .hw-profile-genre-onboard__check {
  opacity: 1;
  transform: scale(1);
  background: color-mix(in srgb, var(--hw-genre-accent) 75%, #9a3412);
  border-color: transparent;
}

.hw-profile-genre-onboard__tile--fantasy {
  --hw-genre-accent: var(--hw-flame, #f97316);
  --hw-genre-accent-soft: rgba(var(--hw-flame-rgb),  0.38);
  --hw-genre-accent-glow: rgba(var(--hw-flame-rgb),  0.5);
  --hw-genre-icon-filter: drop-shadow(0 0 10px rgba(var(--hw-flame-rgb),  0.65));
}
.hw-profile-genre-onboard__tile--action {
  --hw-genre-accent: var(--hw-flame-deep, #ea580c);
  --hw-genre-accent-soft: rgba(var(--hw-flame-deep-rgb),  0.36);
  --hw-genre-accent-glow: rgba(var(--hw-flame-deep-rgb),  0.48);
  --hw-genre-icon-filter: hue-rotate(-8deg) saturate(1.25) drop-shadow(0 0 10px rgba(var(--hw-flame-deep-rgb),  0.6));
}
.hw-profile-genre-onboard__tile--sci_fi {
  --hw-genre-accent: #38bdf8;
  --hw-genre-accent-soft: rgba(56, 189, 248, 0.34);
  --hw-genre-accent-glow: rgba(56, 189, 248, 0.42);
  --hw-genre-icon-filter: hue-rotate(195deg) saturate(1.35) drop-shadow(0 0 10px rgba(56, 189, 248, 0.55));
}
.hw-profile-genre-onboard__tile--romance {
  --hw-genre-accent: #fb7185;
  --hw-genre-accent-soft: rgba(251, 113, 133, 0.36);
  --hw-genre-accent-glow: rgba(251, 113, 133, 0.45);
  --hw-genre-icon-filter: hue-rotate(318deg) saturate(1.3) drop-shadow(0 0 10px rgba(251, 113, 133, 0.55));
}
.hw-profile-genre-onboard__tile--mystery {
  --hw-genre-accent: #818cf8;
  --hw-genre-accent-soft: rgba(129, 140, 248, 0.32);
  --hw-genre-accent-glow: rgba(129, 140, 248, 0.4);
  --hw-genre-icon-filter: hue-rotate(228deg) saturate(1.2) drop-shadow(0 0 10px rgba(129, 140, 248, 0.5));
}
.hw-profile-genre-onboard__tile--thriller {
  --hw-genre-accent: #64748b;
  --hw-genre-accent-soft: rgba(100, 116, 139, 0.34);
  --hw-genre-accent-glow: rgba(148, 163, 184, 0.42);
  --hw-genre-icon-filter: hue-rotate(250deg) saturate(0.85) brightness(1.05) drop-shadow(0 0 10px rgba(148, 163, 184, 0.5));
}
.hw-profile-genre-onboard__tile--horror {
  --hw-genre-accent: #f87171;
  --hw-genre-accent-soft: rgba(248, 113, 113, 0.32);
  --hw-genre-accent-glow: rgba(248, 113, 113, 0.42);
  --hw-genre-icon-filter: hue-rotate(350deg) saturate(1.45) drop-shadow(0 0 10px rgba(248, 113, 113, 0.55));
}
.hw-profile-genre-onboard__tile--adventure {
  --hw-genre-accent: var(--hw-gold);
  --hw-genre-accent-soft: rgba(251, 191, 36, 0.34);
  --hw-genre-accent-glow: rgba(251, 191, 36, 0.42);
  --hw-genre-icon-filter: hue-rotate(42deg) saturate(1.35) drop-shadow(0 0 10px rgba(251, 191, 36, 0.55));
}
.hw-profile-genre-onboard__tile--drama {
  --hw-genre-accent: var(--hw-gold, #fdba74);
  --hw-genre-accent-soft: rgba(var(--hw-gold-rgb),  0.3);
  --hw-genre-accent-glow: rgba(var(--hw-gold-rgb),  0.38);
  --hw-genre-icon-filter: hue-rotate(18deg) saturate(1.05) drop-shadow(0 0 10px rgba(var(--hw-gold-rgb),  0.5));
}
.hw-profile-genre-onboard__tile--comedy {
  --hw-genre-accent: #fde047;
  --hw-genre-accent-soft: rgba(253, 224, 71, 0.32);
  --hw-genre-accent-glow: rgba(253, 224, 71, 0.4);
  --hw-genre-icon-filter: hue-rotate(58deg) saturate(1.4) drop-shadow(0 0 10px rgba(253, 224, 71, 0.5));
}

.hw-profile-genre-onboard__actions {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 0.65rem 1rem;
}

.hw-profile-genre-onboard__save {
  min-height: 2.65rem;
  padding: 0.62rem 1.35rem;
  border-radius: 12px;
  border: 1px solid rgba(var(--hw-flame-rgb),  0.5);
  background: linear-gradient(180deg, rgba(var(--hw-flame-light-rgb),  0.98), rgba(var(--hw-flame-rgb),  0.92));
  box-shadow:
    0 12px 28px rgba(var(--hw-flame-rgb),  0.28),
    inset 0 1px 0 rgba(255, 248, 239, 0.18);
  font-size: 0.9rem;
  font-weight: 700;
  letter-spacing: 0.02em;
}

.hw-profile-genre-onboard__save:hover:not(:disabled) {
  filter: brightness(1.06);
  transform: translateY(-1px);
  box-shadow:
    0 14px 30px rgba(var(--hw-flame-rgb),  0.34),
    inset 0 1px 0 rgba(255, 248, 239, 0.22);
}

.hw-profile-genre-onboard__save:disabled {
  opacity: 0.42;
  cursor: not-allowed;
  transform: none;
  filter: none;
  box-shadow: none;
}

.hw-profile-genre-onboard__hint {
  margin: 0;
  font-size: 0.8rem;
  color: rgba(234, 214, 194, 0.7);
}

@media (prefers-reduced-motion: reduce) {
  .hw-profile-genre-onboard__sheen {
    animation: none;
  }
}

@media (max-width: 640px) {
  .hw-profile-genre-onboard__head {
    flex-direction: column;
    align-items: flex-start;
  }

  .hw-profile-genre-onboard__tile {
    min-height: 2.85rem;
  }

  .hw-profile-genre-onboard__icon {
    width: 2.55rem;
    height: 2.55rem;
  }

  .hw-profile-genre-onboard__icon .hw-icon,
  .hw-profile-genre-onboard__icon .hw-icon img,
  .hw-profile-genre-onboard__icon .hw-icon svg {
    width: 1.55rem;
    height: 1.55rem;
  }
}

/* —— Overview recent activity: slim condensed rows —— */
.hw-profile__activity-card .hw-profile__activity-feed--compact {
  gap: 0.22rem;
}

.hw-profile__activity-card .hw-profile__activity-feed--compact .hw-notifications__card {
  gap: 0.4rem 0.5rem;
  align-items: center;
  padding: 0.28rem 0.5rem 0.28rem 0.55rem;
  min-height: 0;
  border-radius: 9px;
  box-shadow: none;
  border: 1px solid var(--hw-fe-border, #d9d2c6);
  background: var(--hw-fe-bg-soft, #f1ebe2);
}

.hw-profile__activity-card .hw-profile__activity-feed--compact .hw-notifications__card-accent {
  width: 2px;
  opacity: 0.65;
}

.hw-profile__activity-card .hw-profile__activity-feed--compact .hw-notifications__icon {
  width: 1.45rem;
  height: 1.45rem;
  font-size: 0.7rem;
}

.hw-profile__activity-card .hw-profile__activity-feed--compact .hw-notifications__body {
  flex-direction: row;
  align-items: center;
  gap: 0.45rem;
  min-height: 0;
}

.hw-profile__activity-card .hw-profile__activity-feed--compact .hw-notifications__card-top {
  flex: 0 0 auto;
  flex-wrap: nowrap;
  gap: 0.35rem;
  margin: 0;
  max-width: 42%;
}

.hw-profile__activity-card .hw-profile__activity-feed--compact .hw-notifications__eyebrow {
  font-size: 0.55rem;
  padding: 0.05rem 0.35rem;
}

.hw-profile__activity-card .hw-profile__activity-feed--compact .hw-notifications__item-title {
  flex: 1 1 auto;
  min-width: 0;
  margin: 0;
  font-size: 0.78rem;
  font-weight: 600;
  line-height: 1.2;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.hw-profile__activity-card .hw-profile__activity-feed--compact .hw-notifications__item-detail {
  display: none;
}

.hw-profile__activity-card .hw-profile__activity-feed--compact .hw-notifications__time {
  margin-left: 0;
  font-size: 0.6rem;
  flex: 0 0 auto;
}

.hw-profile__activity-card .hw-profile__activity-feed--compact .hw-notifications__chevron {
  font-size: 0.8rem;
  opacity: 0.6;
}

.hw-profile__activity-card .hw-profile__activity-feed--compact .hw-notifications__item:not(.is-unread) .hw-notifications__card {
  opacity: 0.92;
}

@media (max-width: 640px) {
  .hw-profile-genre-onboard__head {
    flex-direction: column;
  }

  .hw-profile-genre-onboard__grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

/* ============================================================
   Reader Hearth profile layout
============================================================ */

.hw-profile-shell--v3.hw-profile-shell--hearth {
  --hw-hearth-width: min(var(--hw-stage-cozy, 1480px), calc(100vw - 2 * var(--hw-stage-pad-sm, 1rem)));
  /* Row 1 stays stable when My Shelf switches to an empty list. */
  --hw-hearth-row1-min-h: clamp(17.5rem, 26vw, 21rem);
  --hw-hearth-shelf-body-min-h: clamp(11.5rem, 16vw, 14rem);
  --hw-hearth-row2-min-h: clamp(15rem, 24vw, 19rem);
  --hw-hearth-reading-cover-max: calc(var(--hw-hearth-row2-min-h) - 3.75rem);
  max-width: none !important;
  width: 100% !important;
  padding-left: clamp(0.75rem, 2vw, 1.25rem) !important;
  padding-right: clamp(0.75rem, 2vw, 1.25rem) !important;
  box-sizing: border-box;
}

.hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__main,
.hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__tabs,
.hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero-top {
  max-width: var(--hw-hearth-width) !important;
  width: 100% !important;
  margin-left: auto !important;
  margin-right: auto !important;
  box-sizing: border-box;
}

.hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero-top {
  display: grid;
  grid-template-columns: minmax(0, auto) minmax(0, 1fr) auto;
  align-items: end;
  gap: 1rem 2rem;
  width: 100% !important;
  max-width: var(--hw-hearth-width) !important;
  margin-left: auto !important;
  margin-right: auto !important;
  padding-left: clamp(0.5rem, 2vw, 1rem) !important;
  padding-right: clamp(0.5rem, 2vw, 1rem) !important;
  box-sizing: border-box;
}

.hw-profile-shell--hearth .hw-profile__identity {
  grid-column: 1;
  flex: 0 0 auto;
}

.hw-profile-shell--hearth .hw-profile__hero-stats-slot {
  grid-column: 2;
  display: flex;
  justify-content: center;
  align-items: flex-end;
  min-width: 0;
  /* Keep strip clear of Reader/Author mode switch on the right */
  padding-right: clamp(1.25rem, 3.5vw, 2.75rem);
  transform: translateX(clamp(-2.25rem, -3.5vw, -0.85rem));
}

.hw-profile-shell--hearth .hw-profile__hero-actions {
  grid-column: 3;
  justify-self: end;
  align-self: end;
  flex: 0 0 auto;
}

/* Align hero band with the content column below */
.hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero--cinema {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: center;
  min-height: clamp(260px, 34vh, 400px);
  padding:
    calc(var(--hw-global-nav-h, 68px) + clamp(0.25rem, 0.9vw, 0.65rem))
    0
    clamp(4.25rem, 8.5vw, 6rem) !important;
}

body.admin-bar.hw-profile-page .hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero--cinema {
  padding-top: calc(32px + var(--hw-global-nav-h, 68px) + clamp(0.25rem, 0.9vw, 0.65rem)) !important;
}

@media screen and (max-width: 782px) {
  body.admin-bar.hw-profile-page .hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero--cinema {
    padding-top: calc(46px + var(--hw-global-nav-h, 62px) + clamp(0.25rem, 0.9vw, 0.65rem)) !important;
  }
}

.hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__stage {
  max-width: var(--hw-hearth-width) !important;
  width: 100% !important;
  margin: clamp(-4.5rem, -9vw, -5.5rem) auto 0 !important;
  padding-left: clamp(0.5rem, 2vw, 1rem) !important;
  padding-right: clamp(0.5rem, 2vw, 1rem) !important;
  box-sizing: border-box;
  position: relative;
  z-index: 3;
  display: flex;
  flex-direction: column;
  gap: 1rem;
}

.hw-profile-shell--hearth .hw-profile__identity-line {
  margin: 0.35rem 0 0;
  font-size: 0.82rem;
  color: var(--hw-pf-muted);
  letter-spacing: 0.01em;
}

.hw-profile-shell--hearth .hw-profile__tagline {
  margin-top: 0.45rem;
  font-style: italic;
  color: var(--hw-pf-soft);
  font-size: 0.92rem;
  line-height: 1.45;
}

.hw-profile-shell--hearth .hw-profile__btn--customize {
  background: linear-gradient(180deg, rgba(36, 24, 16, 0.9), rgba(18, 10, 6, 0.95));
  border: 1px solid rgba(var(--hw-gold-rgb),  0.22);
  color: var(--hw-pf-soft);
  box-shadow: none;
}

.hw-profile-shell--hearth .hw-profile__btn--customize:hover {
  border-color: rgba(var(--hw-flame-rgb),  0.45);
  color: var(--hw-text, #fff4e8);
}

/* Mockup-style stats strip (hero placement) */
.hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero-stats.hw-profile__stats-strip {
  display: flex !important;
  flex: 0 0 auto;
  justify-content: center !important;
  align-items: flex-end !important;
  gap: clamp(2rem, 5vw, 3.75rem);
  width: auto !important;
  max-width: 100% !important;
  margin: 0 !important;
  padding: 0 0 0.2rem !important;
  border: 0 !important;
  border-radius: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  grid-template-columns: none !important;
  box-sizing: border-box;
}

.hw-profile-shell--hearth .hw-profile__stats-strip-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 0.2rem;
  min-width: 5.5rem;
  text-align: center;
}

.hw-profile-shell--hearth .hw-profile__stats-strip-icon {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 1.35rem;
  height: 1.35rem;
  margin-bottom: 0.15rem;
  color: var(--hw-pf-muted);
  opacity: 0.9;
}

.hw-profile-shell--hearth .hw-profile__stats-strip-icon svg {
  width: 1.15rem;
  height: 1.15rem;
}

.hw-profile-shell--hearth .hw-profile__stats-strip-item--embers .hw-profile__stats-strip-icon {
  color: var(--hw-pf-flame);
}

.hw-profile-shell--hearth .hw-profile__stats-strip-value {
  font-family: var(--hw-pf-serif);
  font-size: clamp(1.45rem, 2.4vw, 1.85rem);
  font-weight: 600;
  line-height: 1.1;
  color: var(--hw-pf-soft);
  letter-spacing: -0.01em;
}

.hw-profile-shell--hearth .hw-profile__stats-strip-item--embers .hw-profile__stats-strip-value {
  color: var(--hw-pf-flame);
}

.hw-profile-shell--hearth .hw-profile__stats-strip-label {
  font-size: 0.68rem;
  font-weight: 600;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--hw-pf-muted);
}

.hw-profile__hearth-grid {
  display: grid;
  gap: 1rem;
  margin-top: 0.75rem;
}

.hw-profile-shell--hearth .hw-profile__hearth-grid {
  grid-template-columns: minmax(0, 1.55fr) minmax(0, 0.9fr) minmax(0, 1fr);
  align-items: stretch;
}

.hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-about {
  grid-column: 1;
  grid-row: 1;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: var(--hw-hearth-row1-min-h);
  align-self: stretch;
}

.hw-profile-shell--hearth .hw-profile__hearth-about .hw-profile__about-body {
  flex: 1 1 auto;
  min-height: 0;
}

.hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-shelf {
  grid-column: 2 / -1;
  grid-row: 1;
  min-height: var(--hw-hearth-row1-min-h);
  height: 100%;
  align-self: stretch;
  /* Head + tabs + stacked panels: inactive panels still size the body row. */
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  grid-template-rows: auto auto minmax(var(--hw-hearth-shelf-body-min-h), auto);
  align-content: stretch;
}

.hw-profile-shell--hearth .hw-profile__hearth-shelf > .hw-profile__card-head {
  grid-row: 1;
  grid-column: 1;
}

.hw-profile-shell--hearth .hw-profile__hearth-shelf > .hw-profile__hearth-shelf-tabs {
  grid-row: 2;
  grid-column: 1;
}

/*
 * Stack every list panel in the same cell so the shelf (and About Me) keep
 * the tallest panel’s height when switching to an empty list.
 */
.hw-profile-shell--hearth .hw-profile__hearth-shelf-panel {
  grid-row: 3;
  grid-column: 1;
  min-height: var(--hw-hearth-shelf-body-min-h);
  display: flex !important;
  flex-direction: column;
  visibility: hidden;
  pointer-events: none;
  z-index: 0;
}

.hw-profile-shell--hearth .hw-profile__hearth-shelf-panel.is-active {
  visibility: visible;
  pointer-events: auto;
  z-index: 1;
}

.hw-profile-shell--hearth .hw-profile__hearth-shelf-rail {
  flex: 1 1 auto;
  min-height: var(--hw-hearth-shelf-body-min-h);
  align-content: start;
}

.hw-profile-shell--hearth .hw-profile__hearth-empty {
  flex: 1 1 auto;
  min-height: var(--hw-hearth-shelf-body-min-h);
  display: flex;
  align-items: center;
  margin: 0;
  box-sizing: border-box;
}

/* Row 2: Currently reading / Current project | Around the Hearth / Writing stats | Featured badges */
.hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-reading,
.hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-project,
.hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-around,
.hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-writing-stats,
.hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-badges {
  grid-row: 2;
}

.hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-reading,
.hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-project {
  grid-column: 1;
  min-height: 0;
}

.hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-around,
.hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-writing-stats {
  grid-column: 2;
}

.hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-badges {
  grid-column: 3;
}

.hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-guestbook {
  grid-column: 1 / -1;
  grid-row: 3;
}

.hw-profile-shell--hearth .hw-profile__hearth-grid:not(:has(.hw-profile__hearth-reading)):not(:has(.hw-profile__hearth-project)) .hw-profile__hearth-around,
.hw-profile-shell--hearth .hw-profile__hearth-grid:not(:has(.hw-profile__hearth-reading)):not(:has(.hw-profile__hearth-project)) .hw-profile__hearth-writing-stats {
  grid-column: 1;
}

.hw-profile-shell--hearth .hw-profile__hearth-grid:not(:has(.hw-profile__hearth-reading)):not(:has(.hw-profile__hearth-project)) .hw-profile__hearth-badges {
  grid-column: 2 / -1;
}

/* Row 2 — equal-height band (cards stretch to tallest in row) */
.hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-reading,
.hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-project,
.hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-around,
.hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-writing-stats,
.hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-badges {
  padding: 1rem 1.1rem 1.05rem;
  display: flex;
  flex-direction: column;
  height: 100%;
  min-height: var(--hw-hearth-row2-min-h);
  align-self: stretch;
  box-sizing: border-box;
}

.hw-profile-shell--hearth .hw-profile__hearth-reading .hw-profile__card-head,
.hw-profile-shell--hearth .hw-profile__hearth-project .hw-profile__card-head,
.hw-profile-shell--hearth .hw-profile__hearth-around .hw-profile__card-head,
.hw-profile-shell--hearth .hw-profile__hearth-writing-stats .hw-profile__card-head,
.hw-profile-shell--hearth .hw-profile__hearth-badges .hw-profile__card-head {
  margin-bottom: 0.75rem;
  flex: 0 0 auto;
}

.hw-profile-shell--hearth .hw-profile__hearth-reading .hw-profile__card-head h2,
.hw-profile-shell--hearth .hw-profile__hearth-project .hw-profile__card-head h2,
.hw-profile-shell--hearth .hw-profile__hearth-around .hw-profile__card-head h2,
.hw-profile-shell--hearth .hw-profile__hearth-writing-stats .hw-profile__card-head h2,
.hw-profile-shell--hearth .hw-profile__hearth-badges .hw-profile__card-head h2 {
  font-size: 1.15rem;
}

/* Featured badge medals (2×2 grid, max 4) */
.hw-profile-shell--hearth .hw-profile__hearth-badges .hw-profile__badge-showcase {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 0.75rem 0.55rem;
  justify-items: center;
  align-items: center;
  align-content: center;
  width: 100%;
  flex: 1 1 auto;
  min-height: 0;
}

.hw-profile-shell--hearth .hw-profile__hearth-badges .hw-prog-medal__seal-wrap {
  width: 96px !important;
  height: 96px !important;
  margin-bottom: 0.35rem !important;
}

.hw-profile-shell--hearth .hw-profile__hearth-badges .hw-prog-medal__seal,
.hw-profile-shell--hearth .hw-profile__hearth-badges .hw-prog-medal__hex {
  transform: scale(1.42);
  transform-origin: center center;
}

.hw-profile-shell--hearth .hw-profile__hearth-badges .hw-prog-medal__title,
.hw-profile-shell--hearth .hw-profile__hearth-badges .hw-profile__badge-chip-title {
  font-size: 0.78rem !important;
  line-height: 1.25;
  max-width: 6rem;
  text-align: center;
}

.hw-profile-shell--hearth .hw-profile__hearth-badges .hw-prog-medal__metal,
.hw-profile-shell--hearth .hw-profile__hearth-badges .hw-profile__badge-chip-metal {
  font-size: 0.66rem !important;
}

.hw-profile-shell--hearth .hw-profile__hearth-badges .hw-profile__badge-chip-icon {
  width: 3.75rem !important;
  height: 3.75rem !important;
  font-size: 1.5rem !important;
}

.hw-profile-shell--hearth .hw-profile__hearth-badges {
  min-height: 0;
}

.hw-profile__hearth-shelf-tabs {
  display: flex;
  flex-wrap: nowrap;
  gap: 0.35rem;
  overflow-x: auto;
  padding-bottom: 0.35rem;
  margin-bottom: 0.65rem;
  scrollbar-width: thin;
}

.hw-profile__hearth-shelf-tab {
  flex: 0 0 auto;
  border: 1px solid transparent;
  background: rgba(255, 255, 255, 0.03);
  color: var(--hw-pf-muted);
  font-size: 0.72rem;
  padding: 0.35rem 0.65rem;
  border-radius: 999px;
  cursor: pointer;
  transition: border-color 0.15s ease, color 0.15s ease, background 0.15s ease;
}

.hw-profile__hearth-shelf-tab.is-active {
  color: var(--hw-fe-accent-strong, #8f4027);
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.4);
  background: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.14);
}

.hw-profile__hearth-shelf-rail {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 0.55rem;
  overflow: hidden;
}

.hw-profile__hearth-shelf-book {
  display: flex;
  flex-direction: column;
  gap: 0.35rem;
  text-decoration: none;
  color: inherit;
  min-width: 0;
}

.hw-profile__hearth-shelf-book img,
.hw-profile__hearth-shelf-book .hw-profile__story-ph {
  width: 100%;
  aspect-ratio: 2 / 3;
  height: auto;
  border-radius: 8px;
  object-fit: cover;
  border: 1px solid rgba(var(--hw-gold-rgb),  0.12);
}

.hw-profile__hearth-shelf-book-title {
  font-size: 0.65rem;
  line-height: 1.25;
  color: var(--hw-pf-soft);
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.hw-profile__hearth-shelf-book .hw-profile__progress-track {
  height: 3px;
  margin-top: 0.15rem;
}

.hw-profile__hearth-loves .hw-profile__hearth-list {
  margin: 0.35rem 0 0;
  padding-left: 1.1rem;
  color: var(--hw-pf-soft);
  font-size: 0.86rem;
}

.hw-profile__hearth-obsessed {
  margin: 0.85rem 0 0;
  font-size: 0.86rem;
  color: var(--hw-pf-muted);
}

.hw-profile__hearth-obsessed strong {
  display: block;
  margin-top: 0.2rem;
  color: var(--hw-pf-soft);
  font-weight: 600;
}

.hw-profile-shell--hearth .hw-profile__hearth-reading,
.hw-profile-shell--hearth .hw-profile__hearth-project {
  display: flex;
  flex-direction: column;
  height: 100%;
}

.hw-profile-shell--hearth .hw-profile__hearth-reading-body {
  flex: 1 1 auto;
  display: flex;
  flex-direction: row;
  align-items: stretch;
  justify-content: flex-start;
  text-align: left;
  gap: 1rem 1.15rem;
  min-height: 0;
  padding: 0;
}

.hw-profile-shell--hearth .hw-profile__hearth-reading-cover {
  display: flex;
  flex: 0 0 auto;
  align-self: stretch;
  width: auto;
  max-width: 44%;
  height: auto;
  max-height: var(--hw-hearth-reading-cover-max, 15rem);
  min-height: 0;
}

.hw-profile-shell--hearth .hw-profile__hearth-reading-cover img,
.hw-profile-shell--hearth .hw-profile__hearth-reading-cover .hw-profile__story-ph {
  display: block;
  width: auto;
  height: 100%;
  max-width: 100%;
  max-height: var(--hw-hearth-reading-cover-max, 15rem);
  aspect-ratio: 2 / 3;
  border-radius: 10px;
  object-fit: cover;
  border: 1px solid rgba(var(--hw-gold-rgb), 0.2);
  box-shadow: 0 8px 22px rgba(0, 0, 0, 0.32);
}

.hw-profile-shell--hearth .hw-profile__hearth-reading-copy {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
  flex: 1 1 auto;
  gap: 0.5rem;
  min-width: 0;
  min-height: 0;
}

.hw-profile-shell--hearth .hw-profile__hearth-reading-copy strong {
  font-size: 1.1rem;
  line-height: 1.28;
}

.hw-profile-shell--hearth .hw-profile__hearth-reading-copy .hw-profile__reading-author {
  font-size: 0.9rem;
  color: var(--hw-pf-muted);
}

.hw-profile-shell--hearth .hw-profile__hearth-reading-copy .hw-profile__progress-track {
  width: 100%;
  max-width: none;
  height: 6px;
  margin-top: 0.15rem;
}

.hw-profile-shell--hearth .hw-profile__hearth-reading-copy em {
  font-size: 0.88rem;
}

.hw-profile-shell--hearth .hw-profile__hearth-reading-copy .hw-profile__btn--continue,
.hw-profile-shell--hearth .hw-profile__hearth-project .hw-profile__btn--continue {
  margin-top: 0.45rem;
  font-size: 0.88rem;
  padding: 0.58rem 1.15rem;
}

.hw-profile-shell--hearth .hw-profile__btn--continue {
  align-self: flex-start;
}

/* Around the Hearth / Writing stats — fill card height */
.hw-profile-shell--hearth .hw-profile__hearth-around .hw-profile__hearth-metrics,
.hw-profile-shell--hearth .hw-profile__hearth-writing-stats .hw-profile__hearth-metrics {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  flex: 1 1 auto;
  gap: 0;
  min-height: 0;
  padding: 0;
}

.hw-profile-shell--hearth .hw-profile__hearth-metrics li {
  padding-top: 0.55rem;
  padding-bottom: 0.55rem;
  font-size: 0.86rem;
  display: grid;
  grid-template-columns: minmax(2.5rem, auto) minmax(0, 1fr);
  align-items: baseline;
  gap: 0.65rem 0.85rem;
  border-bottom: 1px solid var(--hw-fe-border-soft, rgba(33, 27, 22, 0.1));
}

.hw-profile-shell--hearth .hw-profile__hearth-metrics li strong {
  font-size: 1.05rem;
  font-weight: 700;
  color: var(--hw-fe-text, #211b16);
  font-variant-numeric: tabular-nums;
}

.hw-profile-shell--hearth .hw-profile__hearth-metrics li span {
  text-align: left;
  line-height: 1.35;
  white-space: normal;
  flex-shrink: 1;
  color: var(--hw-fe-text-soft, #5c564e);
  font-weight: 550;
}

.hw-profile-shell--hearth .hw-profile__hearth-writing-stats .hw-profile__hearth-metrics--writing {
  display: flex;
  flex-direction: column;
  justify-content: space-evenly;
  gap: 0;
}

.hw-profile-shell--hearth .hw-profile__hearth-project-update {
  display: block;
  font-size: 0.86rem;
  color: var(--hw-pf-soft);
  line-height: 1.35;
}

.hw-profile-shell--hearth .hw-profile__hearth-project-time {
  display: block;
  font-size: 0.76rem;
  color: var(--hw-pf-muted);
  font-style: normal;
}

.hw-profile-shell--hearth .hw-profile__hearth-shelf-book-meta {
  display: block;
  font-size: 0.68rem;
  color: var(--hw-pf-muted);
  margin-top: 0.15rem;
}

.hw-profile__hearth-reading-copy a {
  color: inherit;
  text-decoration: none;
}

.hw-profile__hearth-reading-copy em {
  font-size: 0.88rem;
  color: var(--hw-pf-muted);
  font-style: normal;
}

.hw-profile__hearth-reading-copy a:hover strong {
  color: var(--hw-pf-flame);
}

.hw-profile__btn--continue {
  margin-top: 0.35rem;
  background: linear-gradient(180deg, var(--hw-flame-light), var(--hw-flame));
  border: 0;
  color: var(--hw-cta-ink, #1a0f08);
  font-weight: 700;
  box-shadow: 0 0 18px rgba(var(--hw-flame-rgb),  0.25);
  font-size: 0.82rem;
  padding: 0.5rem 1rem;
}

.hw-profile__hearth-metrics {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0;
}

.hw-profile__hearth-metrics li {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 0.75rem;
  font-size: 0.82rem;
  color: var(--hw-pf-muted);
  border-bottom: 1px solid rgba(var(--hw-gold-rgb),  0.08);
  padding-bottom: 0.4rem;
}

.hw-profile__hearth-metrics li:last-child {
  border-bottom: 0;
  padding-bottom: 0;
}

.hw-profile__hearth-metrics strong {
  color: var(--hw-fe-text, #211b16);
  font-family: var(--hw-pf-serif);
  font-size: 0.95rem;
}

.hw-profile__hearth-metrics li span {
  color: var(--hw-fe-text-soft, #5c564e);
}

.hw-profile__hearth-empty {
  margin: 0;
  font-size: 0.84rem;
  color: var(--hw-fe-text-soft, #5c564e);
  font-style: italic;
}

.hw-profile__guestbook-form {
  display: flex;
  flex-direction: column;
  gap: 0.5rem;
  margin-bottom: 0.85rem;
}

.hw-profile__guestbook-form textarea {
  width: 100%;
  min-height: 3.2rem;
  resize: none;
  border-radius: 10px;
  border: 1px solid var(--hw-pf-line);
  background: var(--hw-fe-bg-soft, #f1ebe2);
  color: var(--hw-pf-ink);
  padding: 0.55rem 0.65rem;
  font: inherit;
}

.hw-profile__btn--small {
  align-self: flex-start;
  padding: 0.4rem 0.85rem;
  font-size: 0.78rem;
}

.hw-profile__guestbook-list {
  display: flex;
  flex-direction: column;
  gap: 0.75rem;
  max-height: 360px;
  overflow-y: auto;
}

.hw-profile__guestbook-note {
  display: grid;
  grid-template-columns: 40px minmax(0, 1fr);
  gap: 0.65rem;
}

.hw-profile__guestbook-avatar {
  width: 40px;
  height: 40px;
  border-radius: 50%;
  object-fit: cover;
}

.hw-profile__guestbook-note > .hw-flair-avatar.hw-profile__guestbook-avatar {
  border-radius: 0;
  overflow: visible;
  object-fit: unset;
}

.hw-profile__guestbook-copy header {
  display: flex;
  flex-wrap: wrap;
  align-items: baseline;
  gap: 0.35rem 0.65rem;
  margin-bottom: 0.2rem;
  font-size: 0.78rem;
}

.hw-profile__guestbook-copy header a {
  color: var(--hw-pf-soft);
  font-weight: 600;
  text-decoration: none;
}

.hw-profile__guestbook-copy header time {
  color: var(--hw-pf-muted);
  font-size: 0.68rem;
}

.hw-profile__guestbook-copy p {
  margin: 0;
  font-size: 0.84rem;
  line-height: 1.45;
  color: var(--hw-pf-soft);
}

.hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hearth-foot {
  max-width: var(--hw-hearth-width);
  margin: 2.5rem auto 0;
  padding: 0 clamp(1rem, 3vw, 1.75rem) 1rem;
  text-align: center;
}

.hw-profile__hearth-quote {
  margin: 0;
  font-family: var(--hw-font-display, Georgia, serif);
  font-style: italic;
  font-size: clamp(0.95rem, 2.2vw, 1.1rem);
  color: var(--hw-fe-text-soft, #5c564e);
  opacity: 1;
}

/*
 * Tablet / laptop-narrow: keep the desktop composition (identity | actions,
 * stats as a full-width strip) instead of collapsing the middle stats column
 * to 0 width in the 3-col hero grid.
 */
@media (max-width: 1360px) {
  .hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero-top {
    grid-template-columns: minmax(0, 1fr) auto;
    grid-template-areas:
      "identity actions"
      "stats stats";
    align-items: end;
    gap: 0.85rem 1.25rem;
  }

  .hw-profile-shell--hearth .hw-profile__identity {
    grid-area: identity;
    min-width: 0;
  }

  .hw-profile-shell--hearth .hw-profile__hero-actions {
    grid-area: actions;
    justify-self: end;
    align-self: start;
    max-width: min(100%, 18.5rem);
  }

  .hw-profile-shell--hearth .hw-profile__hero-stats-slot {
    grid-area: stats;
    transform: none;
    padding-right: 0;
    justify-content: center;
    width: 100%;
  }

  .hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero-stats.hw-profile__stats-strip {
    justify-content: center !important;
    flex-wrap: wrap;
    gap: 1.15rem clamp(1.5rem, 4vw, 3rem);
    width: 100%;
    max-width: 100%;
  }
}

/* Tablet content: keep About | Shelf side-by-side like desktop. */
@media (max-width: 1024px) {
  .hw-profile-shell--hearth .hw-profile__hearth-grid {
    grid-template-columns: minmax(0, 1.35fr) minmax(0, 1fr);
  }

  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-about {
    grid-column: 1;
    grid-row: 1;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-shelf {
    grid-column: 2;
    grid-row: 1;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-reading,
  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-project {
    grid-column: 1;
    grid-row: 2;
    min-height: 0;
    height: auto;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-around,
  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-writing-stats {
    grid-column: 2;
    grid-row: 2;
    min-height: 0;
    height: auto;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-badges {
    grid-column: 1 / -1;
    grid-row: 3;
    min-height: 0;
    height: auto;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-guestbook {
    grid-column: 1 / -1;
    grid-row: 4;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-shelf-rail {
    grid-template-columns: repeat(4, minmax(64px, 1fr));
  }

  .hw-profile-shell--v3 .hw-profile__tablist-row {
    flex-wrap: nowrap;
    gap: 0.5rem 0.75rem;
  }

  .hw-profile-shell--v3 .hw-profile__tablist-row .hw-profile__tablist {
    overflow-x: auto;
    flex-wrap: nowrap;
    justify-content: flex-start;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
  }
}

@media (max-width: 720px) {
  .hw-profile-shell--v3.hw-profile-shell--hearth {
    --hw-hearth-width: 100%;
    padding-left: 0.65rem !important;
    padding-right: 0.65rem !important;
  }

  .hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero--cinema {
    min-height: clamp(220px, 42vw, 320px);
    padding-bottom: clamp(3.5rem, 12vw, 5rem) !important;
  }

  .hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero-top {
    grid-template-columns: 1fr;
    grid-template-areas:
      "identity"
      "stats"
      "actions";
    gap: 0.85rem;
    padding-left: 0.35rem !important;
    padding-right: 0.35rem !important;
  }

  .hw-profile-shell--hearth .hw-profile__identity {
    grid-area: identity;
    gap: 0.85rem;
    align-items: center;
  }

  /* Room for ornate pack frames next to the name block. */
  .hw-profile-shell--hearth.hw-cosmetic-pack .hw-profile__identity {
    gap: 1.15rem;
  }

  .hw-profile-shell--hearth .hw-profile__hero-stats-slot {
    grid-area: stats;
    transform: none;
    padding-right: 0;
    justify-content: center;
  }

  .hw-profile-shell--hearth .hw-profile__hero-actions {
    grid-area: actions;
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    justify-self: stretch;
    justify-content: flex-start;
    align-self: stretch;
  }

  .hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero-stats.hw-profile__stats-strip {
    justify-content: space-evenly !important;
    flex-wrap: nowrap;
    gap: 0.65rem 1rem;
    padding: 0.45rem 0.15rem !important;
    overflow-x: auto;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: thin;
  }

  .hw-profile-shell--hearth .hw-profile__stats-strip-item {
    flex: 0 0 auto;
    min-width: 4.5rem;
  }

  .hw-profile-shell--hearth .hw-profile__stats-strip-value {
    font-size: clamp(1.2rem, 5.5vw, 1.55rem);
  }

  .hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__stage {
    margin-top: clamp(-3.5rem, -10vw, -4.5rem) !important;
    padding-left: 0.35rem !important;
    padding-right: 0.35rem !important;
    gap: 0.85rem;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-grid {
    grid-template-columns: 1fr;
    gap: 0.85rem;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-about,
  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-shelf,
  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-reading,
  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-project,
  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-around,
  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-writing-stats,
  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-badges,
  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-guestbook {
    grid-column: 1;
    grid-row: auto;
    min-height: 0;
    max-height: none;
    height: auto;
    overflow: visible;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-badges .hw-profile__badge-showcase {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .hw-profile-shell--hearth .hw-profile__hearth-shelf-rail {
    display: flex;
    overflow-x: auto;
    grid-template-columns: none;
    gap: 0.65rem;
    padding-bottom: 0.25rem;
    scrollbar-width: thin;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-shelf-book {
    flex: 0 0 72px;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-shelf-book img,
  .hw-profile-shell--hearth .hw-profile__hearth-shelf-book .hw-profile__story-ph {
    width: 72px;
    height: 102px;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-reading-body {
    flex-direction: row;
    gap: 0.75rem;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-reading-cover {
    max-width: 42%;
  }

  .hw-profile-shell--v3 .hw-profile__tablist-row {
    flex-direction: column;
    align-items: stretch;
    gap: 0.45rem;
  }

  .hw-profile-shell--v3 .hw-profile__tablist-row .hw-profile__tablist {
    width: 100%;
    overflow-x: auto;
    flex-wrap: nowrap;
    justify-content: flex-start;
    scrollbar-width: thin;
    -webkit-overflow-scrolling: touch;
    padding-bottom: 0.15rem;
  }

  .hw-profile-shell--v3 .hw-profile__quest-chip--docked {
    align-self: flex-end;
    margin-bottom: 0;
  }

  .hw-profile-shell--v3 .hw-profile__name {
    font-size: clamp(1.55rem, 7vw, 2.1rem);
  }

  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-about,
  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-shelf,
  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-reading,
  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-project,
  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-around,
  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-writing-stats,
  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-badges {
    width: 100%;
    align-self: stretch;
  }

  .hw-profile-shell--v3 .hw-profile__badges-card .hw-profile__card-head,
  .hw-profile-shell--hearth .hw-profile__hearth-badges .hw-profile__card-head,
  .hw-profile-shell--hearth .hw-profile__hearth-writing-stats .hw-profile__card-head,
  .hw-profile-shell--hearth .hw-profile__hearth-project .hw-profile__card-head {
    flex-wrap: wrap;
    overflow: visible;
  }

  .hw-profile-shell--v3 .hw-profile__badges-card .hw-profile__card-head h2,
  .hw-profile-shell--hearth .hw-profile__hearth-badges .hw-profile__card-head h2 {
    white-space: normal;
    overflow: visible;
    flex: 1 1 auto;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-badges .hw-prog-medal__seal-wrap {
    width: 72px !important;
    height: 72px !important;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-badges .hw-prog-medal__seal,
  .hw-profile-shell--hearth .hw-profile__hearth-badges .hw-prog-medal__hex {
    transform: scale(1.08);
  }

  .hw-profile-shell--hearth .hw-profile__hearth-badges .hw-prog-medal__title,
  .hw-profile-shell--hearth .hw-profile__hearth-badges .hw-profile__badge-chip-title {
    max-width: none;
  }

  .hw-profile-shell--hearth .hw-profile__btn--continue {
    width: 100%;
    min-height: 2.75rem;
    justify-content: center;
    box-sizing: border-box;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-project .hw-profile__hearth-reading-body,
  .hw-profile-shell--hearth .hw-profile__hearth-reading-body {
    flex-direction: column;
    align-items: stretch;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-reading-cover {
    max-width: 100%;
    width: 100%;
  }
}

/* Profile banner customize */
.hw-profile__banner-fieldset {
  margin: 0.85rem 0 0;
  padding: 0;
  border: 0;
}

.hw-profile__banner-fieldset > legend {
  font-family: var(--hw-pf-serif);
  font-size: 1rem;
  margin-bottom: 0.35rem;
}

.hw-profile__banner-preview {
  margin: 0.5rem 0 0.75rem;
}

.hw-profile__banner-preview-frame {
  position: relative;
  border-radius: 12px;
  overflow: hidden;
  border: 1px solid rgba(var(--hw-gold-rgb),  0.18);
  aspect-ratio: 3 / 1;
  background: rgba(8, 6, 4, 0.65);
}

.hw-profile__banner-preview-frame img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: center var(--hw-banner-focal, 40%);
}

.hw-profile__banner-preview-veil {
  position: absolute;
  inset: 0;
  pointer-events: none;
  background: linear-gradient(180deg, rgba(10, 7, 5, 0.42), rgba(10, 7, 5, 0.78));
}

.hw-profile__banner-fieldset[data-banner-veil-preview="low"] .hw-profile__banner-preview-veil {
  background: linear-gradient(180deg, rgba(10, 7, 5, 0.22), rgba(10, 7, 5, 0.58));
}

.hw-profile__banner-fieldset[data-banner-veil-preview="high"] .hw-profile__banner-preview-veil {
  background: linear-gradient(180deg, rgba(10, 7, 5, 0.55), rgba(10, 7, 5, 0.9));
}

.hw-profile__banner-presets {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(88px, 1fr));
  gap: 0.5rem;
  margin: 0.5rem 0 0.75rem;
}

.hw-profile__banner-preset {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0.3rem;
  padding: 0.35rem;
  border-radius: 10px;
  border: 1px solid rgba(var(--hw-gold-rgb),  0.14);
  background: rgba(8, 6, 4, 0.45);
  cursor: pointer;
  color: var(--hw-pf-muted);
  font: inherit;
  font-size: 0.68rem;
  text-align: center;
  transition: border-color 0.15s ease, box-shadow 0.15s ease;
}

.hw-profile__banner-preset:hover,
.hw-profile__banner-preset.is-active {
  border-color: rgba(var(--hw-flame-rgb),  0.45);
  box-shadow: 0 0 0 1px rgba(var(--hw-flame-rgb),  0.2);
  color: var(--hw-pf-soft);
}

.hw-profile__banner-preset-swatch {
  display: block;
  width: 100%;
  aspect-ratio: 3 / 2;
  border-radius: 7px;
  background-size: cover;
  background-position: center;
  border: 1px solid rgba(255, 255, 255, 0.06);
}

.hw-profile__banner-preset-swatch--none {
  display: grid;
  place-items: center;
  background: linear-gradient(160deg, rgba(28, 20, 16, 0.95), rgba(12, 9, 7, 0.98));
  font-size: 0.72rem;
  color: var(--hw-pf-muted);
}

.hw-profile__banner-preset-label {
  line-height: 1.2;
  padding: 0 0.1rem 0.15rem;
}

.hw-profile__banner-upload {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
  align-items: center;
  margin-bottom: 0.65rem;
}

.hw-profile__field--range input[type="range"] {
  width: 100%;
  margin-top: 0.35rem;
}

.hw-profile__banner-veil {
  margin: 0.5rem 0 0;
  padding: 0;
  border: 0;
  display: flex;
  flex-wrap: wrap;
  gap: 0.65rem 1rem;
}

.hw-profile__banner-veil > legend {
  width: 100%;
  font-size: 0.82rem;
  color: var(--hw-pf-muted);
  margin-bottom: 0.15rem;
}

.hw-profile__banner-veil-opt {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  font-size: 0.82rem;
  color: var(--hw-pf-soft);
}

/* Tier A customize — story / stats / quote */
.hw-profile__story-pick,
.hw-profile__hero-stats-fields select,
.hw-profile__customize-form select {
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
}

.hw-profile__hero-stats-fields {
  margin: 1rem 0;
  padding: 0.75rem 0 0;
  border: 0;
  border-top: 1px solid rgba(232, 196, 150, 0.12);
}

.hw-profile__hero-stats-fields legend {
  padding: 0;
  margin: 0 0 0.35rem;
  font-size: 0.78rem;
  font-weight: 650;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  color: var(--hw-pf-gold, #fdba74);
}

.hw-profile__hero-stats-picks {
  display: grid;
  grid-template-columns: auto repeat(3, minmax(0, 1fr));
  gap: 0.4rem 0.5rem;
  align-items: center;
  margin: 0.55rem 0 0.75rem;
}

.hw-profile__hero-stats-picks-label {
  font-size: 0.78rem;
  font-weight: 650;
  color: var(--hw-pf-muted, #b89c84);
  white-space: nowrap;
}

.hw-profile__field--compact {
  margin: 0;
}

.hw-profile__field--compact select {
  font-size: 0.8rem;
  padding: 0.4rem 0.5rem;
}

@media (max-width: 640px) {
  .hw-profile__hero-stats-picks {
    grid-template-columns: 1fr;
  }

  .hw-profile__hero-stats-picks-label {
    margin-top: 0.35rem;
  }
}

/* Social v2 — profile Posts tab */
.hw-profile__posts-list {
  list-style: none;
  margin: 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: 0.85rem;
}

.hw-profile__post {
  margin: 0;
  padding: 0.9rem 1rem;
  border-radius: 12px;
  border: 1px solid rgba(33, 27, 22, 0.08);
  background: rgba(252, 250, 247, 0.92);
}

.hw-profile__post-meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.5rem 0.85rem;
  margin-bottom: 0.45rem;
  font-size: 0.8rem;
  color: #8a8379;
}

.hw-profile__post-community {
  font-weight: 600;
  color: #5c564e;
}

.hw-profile__post-body {
  margin: 0;
  white-space: pre-wrap;
  line-height: 1.55;
  color: #211b16;
}

.hw-profile__post-foot {
  margin-top: 0.55rem;
  font-size: 0.8rem;
  color: #8a8379;
}

/* ============================================================
   Ivory frontend pass — elevated panels, soft ember (reader + author)
   Wins over legacy dark glass hardcoded in earlier v3 rules.
============================================================ */

.hw-profile__customize-backdrop {
  background: rgba(33, 27, 22, 0.42);
  backdrop-filter: blur(4px);
  z-index: 200050;
}

.hw-profile-shell .hw-profile__card,
.hw-profile-shell--v3 .hw-profile__card {
  border: 1px solid var(--hw-fe-border, #d9d2c6) !important;
  background: var(--hw-fe-elevated, #fcfaf7) !important;
  box-shadow:
    0 0 0 1px rgba(255, 252, 248, 0.65) inset,
    var(--hw-fe-shadow-sm, 0 4px 14px rgba(36, 33, 29, 0.06)) !important;
  backdrop-filter: none !important;
  color: var(--hw-fe-text, #211b16);
}

.hw-profile-shell--v3 .hw-profile__card-head h2,
.hw-profile-shell--v3 .hw-profile__card-head h3 {
  color: var(--hw-fe-text, #211b16) !important;
  text-shadow: none !important;
}

.hw-profile-shell--v3 .hw-profile__card-icon {
  color: var(--hw-fe-accent, #b85c3a) !important;
}

.hw-profile-shell--v3 .hw-profile__hint {
  color: var(--hw-fe-muted, #8a8379) !important;
}

.hw-profile-shell--v3 .hw-profile__stats {
  border: 1px solid var(--hw-fe-border, #e4ded4) !important;
  background: var(--hw-fe-elevated, #fcfaf7) !important;
  box-shadow: var(--hw-fe-shadow-md, 0 12px 32px rgba(36, 33, 29, 0.08)) !important;
  backdrop-filter: none !important;
}

.hw-profile-shell--v3 .hw-profile__stat strong,
.hw-profile-shell--v3 .hw-profile__arena-stat strong {
  color: var(--hw-fe-text, #211b16) !important;
  text-shadow: none !important;
}

.hw-profile-shell--v3 .hw-profile__stat span,
.hw-profile-shell--v3 .hw-profile__arena-stat span {
  color: var(--hw-fe-muted, #8a8379) !important;
}

.hw-profile-shell--v3 .hw-profile__stat:not(:last-child)::after {
  background: var(--hw-fe-border-soft, rgba(33, 27, 22, 0.07)) !important;
}

.hw-profile-shell--v3 .hw-profile__stat--streak strong {
  color: var(--hw-fe-accent, #b85c3a) !important;
}

.hw-profile-shell--v3 .hw-profile__tablist {
  border-bottom-color: var(--hw-fe-border-soft, rgba(33, 27, 22, 0.07)) !important;
}

/* Keep labels on one line at every width (scroll the strip instead of wrapping glyphs). */
.hw-profile-shell--v3 .hw-profile__tab {
  flex: 0 0 auto;
  white-space: nowrap;
  color: var(--hw-fe-muted, #8a8379) !important;
}

.hw-profile-shell--v3 .hw-profile__tab:hover {
  color: var(--hw-fe-text, #211b16) !important;
}

.hw-profile-shell--v3 .hw-profile__tab.is-active {
  color: var(--hw-fe-text, #211b16) !important;
  box-shadow: inset 0 -2px 0 var(--hw-fe-accent, #b85c3a) !important;
  background: linear-gradient(180deg, rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.08), transparent 72%) !important;
}

.hw-profile-shell--v3 .hw-profile__linkish,
.hw-profile-shell .hw-profile__view-as,
.hw-profile-shell .hw-profile__reading-cta {
  color: var(--hw-fe-accent, #b85c3a) !important;
}

.hw-profile-shell--v3 .hw-profile__linkish:hover,
.hw-profile-shell .hw-profile__view-as:hover {
  color: var(--hw-fe-accent-strong, #8f4027) !important;
}

.hw-profile-shell .hw-profile__btn,
.hw-profile-shell--v3 .hw-profile__btn {
  border: 0 !important;
  border-radius: var(--hw-fe-radius-md, 12px) !important;
  background: linear-gradient(180deg, var(--hw-fe-accent-light, #c9724f), var(--hw-fe-accent, #b85c3a)) !important;
  color: #fcfaf7 !important;
  box-shadow: var(--hw-fe-shadow-fire, 0 8px 24px rgba(184, 92, 58, 0.18)) !important;
}

.hw-profile-shell .hw-profile__btn--ghost,
.hw-profile-shell--v3 .hw-profile__btn--ghost {
  background: transparent !important;
  border: 1px solid var(--hw-fe-border, #e4ded4) !important;
  color: var(--hw-fe-text-soft, #5c564e) !important;
  box-shadow: none !important;
}

.hw-profile-shell--v3 .hw-profile__btn--ghost:hover {
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.4) !important;
  color: var(--hw-fe-accent, #b85c3a) !important;
  background: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.06) !important;
}

.hw-profile-shell .hw-profile__tag,
.hw-profile-shell--v3 .hw-profile__tag,
.hw-profile-shell--v3 .hw-profile__tag:nth-child(3n),
.hw-profile-shell--v3 .hw-profile__tag:nth-child(3n + 1) {
  border-color: color-mix(in srgb, var(--hw-tag-accent, var(--hw-fe-accent, #b85c3a)) 42%, transparent) !important;
  background: color-mix(in srgb, var(--hw-tag-accent, var(--hw-fe-accent, #b85c3a)) 14%, #fcfaf7) !important;
  color: var(--hw-tag-ink, #5a3424) !important;
  font-weight: 650;
}

.hw-profile-shell--v3 .hw-profile__tag--action {
  --hw-tag-accent: var(--hw-genre-adventure, #c4924a);
  --hw-tag-ink: #7a4e18;
}
.hw-profile-shell--v3 .hw-profile__tag--fantasy {
  --hw-tag-accent: var(--hw-genre-fantasy, #6b8f71);
  --hw-tag-ink: #35553c;
}
.hw-profile-shell--v3 .hw-profile__tag--comedy {
  --hw-tag-accent: var(--hw-genre-comedy, #c4a84a);
  --hw-tag-ink: #6d5a16;
}
.hw-profile-shell--v3 .hw-profile__tag--thriller {
  --hw-tag-accent: var(--hw-genre-thriller, #b05454);
  --hw-tag-ink: #7a2e2e;
}
.hw-profile-shell--v3 .hw-profile__tag--romance {
  --hw-tag-accent: var(--hw-genre-romance, #c47a8a);
  --hw-tag-ink: #7a3d4c;
}
.hw-profile-shell--v3 .hw-profile__tag--mystery {
  --hw-tag-accent: var(--hw-genre-mystery, #8b7aad);
  --hw-tag-ink: #4d3f6d;
}
.hw-profile-shell--v3 .hw-profile__tag--horror {
  --hw-tag-accent: var(--hw-genre-horror, #8a3d3d);
  --hw-tag-ink: #5c2424;
}
.hw-profile-shell--v3 .hw-profile__tag--adventure {
  --hw-tag-accent: var(--hw-genre-adventure, #c4924a);
  --hw-tag-ink: #7a4e18;
}
.hw-profile-shell--v3 .hw-profile__tag--drama {
  --hw-tag-accent: var(--hw-genre-historical, #b08a4a);
  --hw-tag-ink: #6a5224;
}
.hw-profile-shell--v3 .hw-profile__tag--sci_fi,
.hw-profile-shell--v3 .hw-profile__tag--sci-fi {
  --hw-tag-accent: var(--hw-genre-scifi, #5b7fa5);
  --hw-tag-ink: #2f4d6a;
}

.hw-profile-shell .hw-profile__arena-stat,
.hw-profile-shell--v3 .hw-profile__arena-stat {
  border-color: var(--hw-fe-border, #e4ded4) !important;
  background: var(--hw-fe-bg-soft, #f1ebe2) !important;
}

.hw-profile-shell .hw-profile__arena-stat strong,
.hw-profile-shell--v3 .hw-profile__arena-stat strong {
  color: var(--hw-fe-text, #211b16) !important;
}

.hw-profile-shell .hw-profile__arena-stat span,
.hw-profile-shell--v3 .hw-profile__arena-stat span {
  color: var(--hw-fe-muted, #8a8379) !important;
}

.hw-profile-shell .hw-profile__badge-chip,
.hw-profile-shell--v3 .hw-profile__badge-chip {
  border-color: var(--hw-fe-border, #e4ded4) !important;
  background: transparent !important;
}

.hw-profile-shell--v3 .hw-profile__badge-chip-desc,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-profile__badge-chip-desc,
.hw-profile-shell--v3 .hw-profile__badges-card .hw-profile__badge-chip-metal {
  color: var(--hw-fe-muted, #8a8379) !important;
}

.hw-profile-shell--v3 .hw-profile__badges-card .hw-profile__badge-chip-title {
  color: var(--hw-fe-text, #211b16) !important;
}

.hw-profile-shell .hw-profile__progress-track {
  background: rgba(var(--hw-fe-text-rgb, 33, 27, 22), 0.08) !important;
}

.hw-profile-shell .hw-profile__progress-track > span {
  background: linear-gradient(90deg, var(--hw-fe-accent, #b85c3a), var(--hw-fe-accent-light, #c9724f)) !important;
}

.hw-profile-shell .hw-profile__lib-card,
.hw-profile-shell .hw-profile__badge,
.hw-profile-shell .hw-profile__hearth {
  border-color: var(--hw-fe-border, #d9d2c6) !important;
  background: var(--hw-fe-bg-soft, #f1ebe2) !important;
}

.hw-profile-shell--v3 .hw-profile__hearth:hover,
.hw-profile-shell--v3 .hw-profile__hearth:hover strong {
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.4) !important;
  color: var(--hw-fe-text, #211b16) !important;
  background: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.08) !important;
}

.hw-profile-shell .hw-profile__hearth img,
.hw-profile-shell .hw-profile__hearth-ph {
  background: linear-gradient(160deg, #e4d8c8, #c9b59a) !important;
  border: 1px solid rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.18);
}

.hw-profile-shell .hw-profile__story-ph {
  background: linear-gradient(160deg, #e8dfd2, #d9cfc0) !important;
  border-color: var(--hw-fe-border, #e4ded4) !important;
}

.hw-profile-shell .hw-profile__role-pill--author {
  background: linear-gradient(135deg, var(--hw-fe-accent-light, #c9724f), var(--hw-fe-accent, #b85c3a));
  color: #fcfaf7;
}

.hw-profile-shell .hw-profile__role-pill--reader {
  background: linear-gradient(135deg, #6a8aa3, #4a6a82);
  color: #fcfaf7;
}

/* Mode switch on cinema hero — frosted glass */
.hw-profile-shell .hw-profile__mode-switch {
  border-color: rgba(252, 250, 247, 0.28) !important;
  background: rgba(16, 12, 10, 0.45) !important;
  backdrop-filter: blur(8px);
}

.hw-profile-shell .hw-profile__mode-btn {
  color: rgba(252, 250, 247, 0.72) !important;
}

.hw-profile-shell .hw-profile__mode-btn.is-active {
  background: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.55) !important;
  color: #fcfaf7 !important;
}

.hw-profile-shell--hearth .hw-profile__btn--customize {
  background: rgba(16, 12, 10, 0.48) !important;
  border: 1px solid rgba(252, 250, 247, 0.28) !important;
  color: rgba(252, 250, 247, 0.92) !important;
  backdrop-filter: blur(8px);
}

.hw-profile-shell--hearth .hw-profile__btn--customize:hover {
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.55) !important;
  color: #fcfaf7 !important;
}

.hw-profile-shell .hw-profile__activity-list li,
.hw-profile-shell--v3 .hw-profile__activity-feed,
.hw-profile-shell--v3 .hw-profile__activity-filter {
  border-color: var(--hw-fe-border, #e4ded4);
  color: var(--hw-fe-text-soft, #5c564e);
}

.hw-profile-shell--v3 .hw-profile__activity-filter {
  background: var(--hw-fe-bg-soft, #f1ebe2);
  border: 1px solid var(--hw-fe-border, #e4ded4);
  color: var(--hw-fe-muted, #8a8379);
}

.hw-profile-shell--v3 .hw-profile__activity-filter:hover,
.hw-profile-shell--v3 .hw-profile__activity-filter.is-active {
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.4) !important;
  background: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.1) !important;
  color: var(--hw-fe-accent-strong, #8f4027) !important;
}

/* Customize Hearth drawer */
.hw-profile__customize-shell {
  border-color: var(--hw-fe-border, #e4ded4) !important;
  background: var(--hw-fe-elevated, #fcfaf7) !important;
  box-shadow: var(--hw-fe-shadow-lg, 0 24px 56px rgba(36, 33, 29, 0.1)) !important;
  color: var(--hw-fe-text, #211b16);
}

.hw-profile__customize-header,
.hw-profile__customize-nav,
.hw-profile__customize-footer {
  background: var(--hw-fe-bg-soft, #f1ebe2) !important;
  border-color: var(--hw-fe-border, #e4ded4) !important;
}

.hw-profile__customize-title {
  color: var(--hw-fe-text, #211b16) !important;
}

.hw-profile__customize-nav-btn {
  color: var(--hw-fe-text-soft, #5c564e) !important;
}

.hw-profile__customize-nav-btn.is-active,
.hw-profile__customize-nav-btn:hover,
.hw-profile__customize-nav-btn:focus-visible {
  background: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.12) !important;
  color: var(--hw-fe-accent-strong, #8f4027) !important;
}

.hw-profile__banner-preset {
  background: var(--hw-fe-bg-soft, #f1ebe2) !important;
  border-color: var(--hw-fe-border, #e4ded4) !important;
  color: var(--hw-fe-muted, #8a8379) !important;
}

.hw-profile__banner-preset:hover,
.hw-profile__banner-preset.is-active {
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.45) !important;
  color: var(--hw-fe-text-soft, #5c564e) !important;
  box-shadow: 0 0 0 1px rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.15) !important;
}

.hw-profile__banner-preview-frame {
  background: var(--hw-fe-bg-soft, #f1ebe2) !important;
  border-color: var(--hw-fe-border, #e4ded4) !important;
}

/* Guestbook */
.hw-profile-shell .hw-profile__guestbook-note,
.hw-profile-shell .hw-profile__guestbook-form,
.hw-profile-shell .hw-profile__guestbook-composer,
body.hw-profile-page .hw-profile__guestbook textarea,
body.hw-profile-page .hw-profile__guestbook input {
  border-color: var(--hw-fe-border, #e4ded4) !important;
  background: var(--hw-fe-elevated, #fcfaf7) !important;
  color: var(--hw-fe-text, #211b16) !important;
}

body.hw-profile-page .hw-profile__guestbook textarea::placeholder {
  color: var(--hw-fe-muted, #8a8379) !important;
}

/* People / friends panels */
.hw-profile-shell .hw-profile__people-card,
.hw-profile-shell .hw-profile__people-row {
  border-color: var(--hw-fe-border, #e4ded4);
  background: var(--hw-fe-elevated, #fcfaf7);
  color: var(--hw-fe-text, #211b16);
}

/* Arena strip on profile */
body.hw-profile-page .hw-profile__arena-card .hw-profile__arena-stat,
body.hw-profile-page .hw-profile-shell .hw-profile__arena-stats {
  color: var(--hw-fe-text, #211b16);
}

/* Progression v2 on ivory profile */
body.hw-profile-page .hw-prog-track-tab {
  border-color: var(--hw-fe-border, #e4ded4) !important;
  background: var(--hw-fe-bg-soft, #f1ebe2) !important;
  color: var(--hw-fe-muted, #8a8379) !important;
}

body.hw-profile-page .hw-prog-track-tab.is-active {
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.45) !important;
  background: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.12) !important;
  color: var(--hw-fe-accent-strong, #8f4027) !important;
}

body.hw-profile-page .hw-prog-seal {
  border-color: var(--hw-fe-border, #e4ded4) !important;
  background: var(--hw-fe-elevated, #fcfaf7) !important;
  box-shadow: var(--hw-fe-shadow-sm, 0 4px 14px rgba(36, 33, 29, 0.06)) !important;
  color: var(--hw-fe-text, #211b16) !important;
}

body.hw-profile-page .hw-prog-seal.is-control:hover,
body.hw-profile-page .hw-prog-seal.is-control:focus-visible,
body.hw-profile-page .hw-prog-seal.is-active {
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.4) !important;
  box-shadow: var(--hw-fe-shadow-md, 0 12px 32px rgba(36, 33, 29, 0.08)) !important;
}

body.hw-profile-page .hw-prog-medal,
body.hw-profile-page .hw-profile__badge-chip {
  border-color: var(--hw-fe-border, #e4ded4);
  background: var(--hw-fe-bg-soft, #f1ebe2);
  color: var(--hw-fe-text, #211b16);
}

body.hw-profile-page .hw-prog-quest,
body.hw-profile-page .hw-prog-path,
body.hw-profile-page .hw-prog-modal,
body.hw-profile-page .hw-prog-panel,
body.hw-profile-page .hw-embers-wallet,
body.hw-profile-page .hw-embers-card {
  border-color: var(--hw-fe-border, #e4ded4) !important;
  background: var(--hw-fe-elevated, #fcfaf7) !important;
  color: var(--hw-fe-text, #211b16) !important;
  box-shadow: var(--hw-fe-shadow-sm, 0 4px 14px rgba(36, 33, 29, 0.06)) !important;
}

body.hw-profile-page .hw-embers-wallet__gift {
  color: #fcfaf7 !important;
  background: linear-gradient(
    180deg,
    var(--hw-fe-accent-light, #c9724f),
    var(--hw-fe-accent, #b85c3a)
  ) !important;
  border-color: color-mix(in srgb, var(--hw-fe-accent, #b85c3a) 42%, transparent) !important;
  box-shadow: 0 8px 18px rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.16) !important;
}

body.hw-profile-page .hw-embers-wallet__gift:hover:not(:disabled) {
  background: linear-gradient(
    180deg,
    color-mix(in srgb, var(--hw-fe-accent-light, #c9724f) 88%, #fff),
    var(--hw-fe-accent, #b85c3a)
  ) !important;
  filter: none !important;
}

body.hw-profile-page .hw-embers-wallet__msg {
  color: var(--hw-fe-accent, #b85c3a) !important;
}

body.hw-profile-page .hw-embers-wallet__transfer {
  border-color: var(--hw-fe-border, #e4ded4) !important;
  background: var(--hw-fe-bg-soft, #f1ebe2) !important;
}

body.hw-profile-page .hw-embers-wallet__transfer-title,
body.hw-profile-page .hw-embers-wallet__recipient-meta strong {
  color: var(--hw-fe-text, #211b16) !important;
}

body.hw-profile-page .hw-embers-wallet__field,
body.hw-profile-page .hw-embers-wallet__tos,
body.hw-profile-page .hw-embers-wallet__confirm,
body.hw-profile-page .hw-embers-wallet__recipient-meta span,
body.hw-profile-page .hw-embers-wallet__recipient-meta small {
  color: var(--hw-fe-muted, #8a8379) !important;
}

body.hw-profile-page .hw-embers-wallet__field input[type="text"],
body.hw-profile-page .hw-embers-wallet__field input[type="number"] {
  background: var(--hw-fe-elevated, #fcfaf7) !important;
  border-color: var(--hw-fe-border, #e4ded4) !important;
  color: var(--hw-fe-text, #211b16) !important;
}

body.hw-profile-page .hw-embers-wallet__recipient {
  background: var(--hw-fe-elevated, #fcfaf7) !important;
  border-color: var(--hw-fe-border, #e4ded4) !important;
}

body.hw-profile-page .hw-prog-seal__title,
body.hw-profile-page .hw-prog-seal__meta,
body.hw-profile-page .hw-prog-medal__label,
body.hw-profile-page .hw-prog-medal__metal {
  color: inherit;
}

body.hw-profile-page .hw-prog-seal__title {
  color: var(--hw-fe-text, #211b16) !important;
}

body.hw-profile-page .hw-prog-seal__name,
body.hw-profile-page .hw-prog-wall-caption,
body.hw-profile-page .hw-prog-paths-hint,
body.hw-profile-page .hw-prog-medal__title {
  color: var(--hw-fe-text, #211b16) !important;
}

body.hw-profile-page .hw-prog-seal__meta,
body.hw-profile-page .hw-prog-seal__kicker,
body.hw-profile-page .hw-prog-seal__xp,
body.hw-profile-page .hw-prog-seal__next,
body.hw-profile-page .hw-prog-medal__metal,
body.hw-profile-page .hw-prog-medal__blurb,
body.hw-profile-page .hw-prog-quest__hint,
body.hw-profile-page .hw-prog-paths-hint {
  color: var(--hw-fe-muted, #8a8379) !important;
}

body.hw-profile-page .hw-prog-medal.is-earned {
  background: var(--hw-fe-elevated, #fcfaf7) !important;
  border-color: var(--hw-fe-border, #e4ded4) !important;
}

body.hw-profile-page .hw-prog-modal__panel,
body.hw-profile-page .hw-prog-drawer,
body.hw-profile-page .hw-prog-aside-card,
body.hw-profile-page .hw-prog-quest-card,
body.hw-profile-page .hw-prog-cap {
  border-color: var(--hw-fe-border, #e4ded4) !important;
  background: var(--hw-fe-elevated, #fcfaf7) !important;
  color: var(--hw-fe-text, #211b16) !important;
}

/* Soft inputs / selects inside profile forms */
body.hw-profile-page .hw-profile-shell input:not([type="checkbox"]):not([type="radio"]):not([type="file"]),
body.hw-profile-page .hw-profile-shell textarea,
body.hw-profile-page .hw-profile-shell select {
  border-color: var(--hw-fe-border, #e4ded4) !important;
  background: var(--hw-fe-bg-soft, #f1ebe2) !important;
  color: var(--hw-fe-text, #211b16) !important;
  caret-color: var(--hw-fe-text, #211b16) !important;
}

body.hw-profile-page .hw-profile-shell input::placeholder,
body.hw-profile-page .hw-profile-shell textarea::placeholder {
  color: var(--hw-fe-muted, #8a8379) !important;
}

/* ============================================================
   Identity header (no cinema banner) + ink text lock
============================================================ */

.hw-profile-shell .hw-profile__hero--identity {
  --hw-pf-ink: var(--hw-fe-text, #211b16);
  --hw-pf-soft: var(--hw-fe-text-soft, #5c564e);
  --hw-pf-muted: var(--hw-fe-muted, #8a8379);
  --hw-pf-gold: var(--hw-fe-accent-light, #c9724f);
  --hw-pf-line: var(--hw-fe-border, #e4ded4);
  position: relative;
  width: 100%;
  max-width: none;
  margin: 0 0 1rem;
  min-height: 0;
  padding:
    calc(var(--hw-global-nav-h, 68px) + clamp(0.85rem, 2vw, 1.35rem))
    clamp(1rem, 3vw, 1.5rem)
    clamp(1rem, 2vw, 1.35rem) !important;
  border-radius: 16px;
  border: 1px solid var(--hw-fe-border, #e4ded4);
  background: var(--hw-fe-elevated, #fcfaf7) !important;
  background-image: none !important;
  box-shadow: var(--hw-fe-shadow-sm, 0 4px 14px rgba(36, 33, 29, 0.06));
  overflow: visible;
  align-items: stretch;
  color: var(--hw-fe-text, #211b16);
}

body.admin-bar.hw-profile-page .hw-profile-shell .hw-profile__hero--identity {
  padding-top: calc(32px + var(--hw-global-nav-h, 68px) + clamp(0.85rem, 2vw, 1.35rem)) !important;
}

@media screen and (max-width: 782px) {
  body.admin-bar.hw-profile-page .hw-profile-shell .hw-profile__hero--identity {
    padding-top: calc(46px + var(--hw-global-nav-h, 62px) + clamp(0.85rem, 2vw, 1.35rem)) !important;
  }
}

.hw-profile-shell .hw-profile__hero--identity::before,
.hw-profile-shell .hw-profile__hero--identity::after,
.hw-profile-shell .hw-profile__hero--identity .hw-profile__hero-veil {
  display: none !important;
  content: none !important;
}

.hw-profile-shell--v3 .hw-profile__hero--identity {
  margin-left: 0 !important;
  margin-right: 0 !important;
  width: 100%;
  max-width: 100%;
}

.hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero--identity {
  display: flex;
  flex-direction: column;
  justify-content: flex-end;
  align-items: stretch;
  min-height: 0;
  padding:
    calc(var(--hw-global-nav-h, 68px) + clamp(0.85rem, 2vw, 1.35rem))
    0
    clamp(0.85rem, 2vw, 1.25rem) !important;
  margin: 0 0 0.85rem;
  border: 0;
  border-radius: 0;
  background: transparent !important;
  box-shadow: none;
}

body.admin-bar.hw-profile-page .hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero--identity {
  padding-top: calc(32px + var(--hw-global-nav-h, 68px) + clamp(0.85rem, 2vw, 1.35rem)) !important;
}

@media screen and (max-width: 782px) {
  body.admin-bar.hw-profile-page .hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero--identity {
    padding-top: calc(46px + var(--hw-global-nav-h, 62px) + clamp(0.75rem, 2vw, 1.15rem)) !important;
  }
}

/*
 * Smaller viewports: size Overview rows 1–2 to fill the first screen
 * and keep the Guestbook (row 3) below the fold on load.
 */
@media (max-height: 880px) and (min-width: 1025px) {
  .hw-profile-shell--v3.hw-profile-shell--hearth {
    /* Match real chrome (admin bar + nav + identity + tabs) so rows 1–2 fill the fold. */
    --hw-hearth-fold-budget: calc(100vh - 28rem);
    --hw-hearth-row1-min-h: max(11.5rem, calc(var(--hw-hearth-fold-budget) * 0.48));
    --hw-hearth-row2-min-h: max(12rem, calc(var(--hw-hearth-fold-budget) * 0.5));
    --hw-hearth-reading-cover-max: calc(var(--hw-hearth-row2-min-h) - 3.25rem);
  }

  /* Shell already clears fixed nav — reclaim that space for the two content rows. */
  .hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero--identity {
    padding: 0.35rem 0 0.25rem !important;
    margin-bottom: 0.2rem;
  }

  body.admin-bar.hw-profile-page .hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero--identity {
    padding-top: 0.35rem !important;
  }

  .hw-profile-shell--v3.hw-profile-shell--hearth.hw-cosmetic-pack .hw-profile__avatar-wrap {
    --hw-avatar-box: clamp(72px, 9vh, 96px);
    margin-block: 0.45rem !important;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-grid {
    gap: 0.65rem;
    margin-top: 0.25rem;
  }

  .hw-profile-shell--v3 .hw-profile__tablist-row {
    margin-bottom: 0.1rem;
  }

  .hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__name {
    font-size: clamp(1.45rem, 3.2vh, 2rem);
  }

  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-about,
  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-shelf {
    min-height: var(--hw-hearth-row1-min-h);
    max-height: var(--hw-hearth-row1-min-h);
    overflow: hidden;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-reading,
  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-project,
  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-around,
  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-writing-stats,
  .hw-profile-shell--hearth .hw-profile__hearth-grid .hw-profile__hearth-badges {
    min-height: var(--hw-hearth-row2-min-h);
    max-height: var(--hw-hearth-row2-min-h);
    overflow: hidden;
    padding: 0.85rem 0.95rem 0.9rem;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-reading-body,
  .hw-profile-shell--hearth .hw-profile__hearth-project .hw-profile__hearth-reading-body {
    align-items: center;
    min-height: 0;
    overflow: hidden;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-reading-cover {
    align-self: center;
    max-width: min(44%, 8.25rem);
  }

  .hw-profile-shell--hearth .hw-profile__hearth-about .hw-profile__about-body {
    overflow: hidden;
  }
}

.hw-profile-shell--v3 .hw-profile__stage {
  margin-top: 0 !important;
}

.hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__stage {
  margin-top: 0 !important;
}

.hw-profile-shell--v3 .hw-profile__quest-chip {
  border: 1px solid rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.28) !important;
  background: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.1) !important;
  color: var(--hw-fe-accent-strong, #8f4027) !important;
}

.hw-profile-shell .hw-profile__name,
.hw-profile-shell--v3 .hw-profile__name,
.hw-profile-shell .hw-profile__name-text,
.hw-profile-shell--v3 .hw-profile__name-text,
.hw-profile-shell .hw-profile__tagline,
.hw-profile-shell--v3 .hw-profile__tagline,
.hw-profile-shell .hw-profile__identity-line,
.hw-profile-shell--hearth .hw-profile__identity-line,
.hw-profile-shell--hearth .hw-profile__tagline,
.hw-profile-shell .hw-profile__about-body,
.hw-profile-shell--v3 .hw-profile__about-body,
.hw-profile-shell .hw-profile__about-body p,
.hw-profile-shell--v3 .hw-profile__reading-title,
.hw-profile-shell--v3 .hw-profile__hearth strong,
.hw-profile-shell--v3 .hw-profile__activity-item,
.hw-profile-shell--v3 .hw-profile__shelf-item {
  color: var(--hw-fe-text, #211b16) !important;
  text-shadow: none !important;
}

.hw-profile-shell .hw-profile__handle,
.hw-profile-shell .hw-profile__meta,
.hw-profile-shell--v3 .hw-profile__meta-row,
.hw-profile-shell--v3 .hw-profile__tags-label,
.hw-profile-shell--v3 .hw-profile__hint,
.hw-profile-shell--v3 .hw-profile__reading-meta,
.hw-profile-shell--v3 .hw-profile__activity-meta {
  color: var(--hw-fe-muted, #8a8379) !important;
}

.hw-profile-shell .hw-profile__mode-switch {
  border-color: var(--hw-fe-border, #e4ded4) !important;
  background: var(--hw-fe-bg-soft, #f1ebe2) !important;
  backdrop-filter: none;
}

.hw-profile-shell .hw-profile__mode-btn {
  color: var(--hw-fe-muted, #8a8379) !important;
}

.hw-profile-shell .hw-profile__mode-btn.is-active {
  background: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.16) !important;
  color: var(--hw-fe-accent-strong, #8f4027) !important;
}

.hw-profile-shell--hearth .hw-profile__btn--customize,
.hw-profile-shell--v3 .hw-profile__btn--customize {
  background: linear-gradient(180deg, var(--hw-fe-accent-light, #c9724f), var(--hw-fe-accent, #b85c3a)) !important;
  border: 0 !important;
  color: #fcfaf7 !important;
  backdrop-filter: none;
}

.hw-profile-shell--hearth .hw-profile__btn--customize:hover,
.hw-profile-shell--v3 .hw-profile__btn--customize:hover {
  border-color: transparent !important;
  color: #fcfaf7 !important;
  filter: brightness(1.04);
}

.hw-profile-shell--hearth .hw-profile__stats-strip-value,
.hw-profile-shell--hearth .hw-profile__stats-strip-label {
  color: var(--hw-fe-text, #211b16) !important;
}

.hw-profile-shell--hearth .hw-profile__stats-strip-label {
  color: var(--hw-fe-muted, #8a8379) !important;
}

.hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero-stats.hw-profile__stats-strip {
  border: 0 !important;
  background: transparent !important;
  box-shadow: none !important;
}

/* ============================================================
   Genre onboarding — parchment product modal
============================================================ */

.hw-profile__genre-onboard-backdrop {
  background: rgba(33, 27, 22, 0.48) !important;
  backdrop-filter: blur(4px);
  z-index: 200040;
}

.hw-profile__genre-onboard-modal {
  z-index: 200041;
}

.hw-profile__genre-onboard-shell {
  border: 1px solid var(--hw-fe-border, #e4ded4) !important;
  background: var(--hw-fe-elevated, #fcfaf7) !important;
  box-shadow: var(--hw-fe-shadow-lg, 0 24px 56px rgba(36, 33, 29, 0.14)) !important;
  border-radius: 16px !important;
  color: var(--hw-fe-text, #211b16);
}

.hw-profile__genre-onboard-header {
  border-bottom-color: var(--hw-fe-border, #e4ded4) !important;
  background: var(--hw-fe-bg-soft, #f1ebe2);
}

.hw-profile__genre-onboard-title,
.hw-profile-genre-onboard__copy h2 {
  color: var(--hw-fe-text, #211b16) !important;
  font-family: var(--hw-fe-font-display, "Playfair Display", Georgia, serif) !important;
}

.hw-profile-genre-onboard__kicker {
  color: var(--hw-fe-accent, #b85c3a) !important;
}

.hw-profile-genre-onboard__desc,
.hw-profile-genre-onboard__preview-note,
.hw-profile-genre-onboard__hint,
.hw-profile-genre-onboard__count {
  color: var(--hw-fe-muted, #8a8379) !important;
  text-transform: none !important;
  letter-spacing: 0.01em !important;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
}

.hw-profile-genre-onboard__count {
  display: inline-flex;
  padding: 0.3rem 0.65rem !important;
  border-radius: 999px !important;
  border: 1px solid var(--hw-fe-border, #e4ded4) !important;
  background: var(--hw-fe-bg-soft, #f1ebe2) !important;
  color: var(--hw-fe-text-soft, #5c564e) !important;
  font-weight: 650;
}

.hw-profile-genre-onboard__sheen,
.hw-profile-genre-onboard__glow {
  display: none !important;
}

.hw-profile-genre-onboard__tile {
  --hw-genre-accent: var(--hw-fe-accent, #b85c3a);
  border-radius: 12px !important;
  border: 1px solid var(--hw-fe-border, #e4ded4) !important;
  background: var(--hw-fe-elevated, #fcfaf7) !important;
  color: var(--hw-fe-text, #211b16) !important;
  box-shadow: var(--hw-fe-shadow-sm, 0 4px 14px rgba(36, 33, 29, 0.05)) !important;
  filter: none !important;
}

.hw-profile-genre-onboard__tile:hover:not(:disabled),
.hw-profile-genre-onboard.is-paused .hw-profile-genre-onboard__tile:hover:not(:disabled) {
  transform: translateY(-1px);
  filter: none !important;
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.45) !important;
  box-shadow: var(--hw-fe-shadow-md, 0 12px 32px rgba(36, 33, 29, 0.08)) !important;
}

.hw-profile-genre-onboard__tile.is-selected {
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.55) !important;
  background: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.1) !important;
  box-shadow: 0 0 0 1px rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.18) !important;
}

.hw-profile-genre-onboard__icon {
  border: 1px solid var(--hw-fe-border, #e4ded4) !important;
  background: var(--hw-fe-bg-soft, #f1ebe2) !important;
  box-shadow: none !important;
}

.hw-profile-genre-onboard__icon .hw-icon,
.hw-profile-genre-onboard__icon .hw-icon img,
.hw-profile-genre-onboard__icon .hw-icon svg {
  color: var(--hw-fe-accent, #b85c3a) !important;
}

.hw-profile-genre-onboard__icon .hw-icon-asset img {
  filter: none !important;
}

.hw-profile-genre-onboard__name {
  color: var(--hw-fe-text, #211b16) !important;
  font-family: var(--hw-fe-font-ui, "DM Sans", "Segoe UI", system-ui, sans-serif) !important;
  font-weight: 650 !important;
}

.hw-profile-genre-onboard__check {
  border-color: var(--hw-fe-border, #e4ded4) !important;
  background: var(--hw-fe-bg-soft, #f1ebe2) !important;
}

.hw-profile-genre-onboard__check::after {
  border-color: var(--hw-fe-accent, #b85c3a) !important;
}

.hw-profile-genre-onboard__tile.is-selected .hw-profile-genre-onboard__check {
  background: var(--hw-fe-accent, #b85c3a) !important;
  border-color: transparent !important;
}

.hw-profile-genre-onboard__tile.is-selected .hw-profile-genre-onboard__check::after {
  border-color: #fcfaf7 !important;
}

.hw-profile-genre-onboard__save,
.hw-profile__genre-onboard-shell .hw-profile-genre-onboard__save {
  border: 0 !important;
  border-radius: 12px !important;
  background: linear-gradient(180deg, var(--hw-fe-accent-light, #c9724f), var(--hw-fe-accent, #b85c3a)) !important;
  color: #fcfaf7 !important;
  box-shadow: var(--hw-fe-shadow-fire, 0 8px 24px rgba(184, 92, 58, 0.18)) !important;
}

.hw-profile-genre-onboard__viewport {
  mask-image: none !important;
  -webkit-mask-image: none !important;
}

.hw-profile-genre-onboard__tile--fantasy,
.hw-profile-genre-onboard__tile--action,
.hw-profile-genre-onboard__tile--sci_fi,
.hw-profile-genre-onboard__tile--romance,
.hw-profile-genre-onboard__tile--mystery,
.hw-profile-genre-onboard__tile--thriller,
.hw-profile-genre-onboard__tile--horror,
.hw-profile-genre-onboard__tile--adventure,
.hw-profile-genre-onboard__tile--drama,
.hw-profile-genre-onboard__tile--comedy {
  --hw-genre-accent: var(--hw-fe-accent, #b85c3a);
  --hw-genre-accent-soft: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.12);
  --hw-genre-accent-glow: transparent;
  --hw-genre-icon-filter: none;
}

/* ============================================================
   Profile polish — docked quests, activity light cards, library hover
============================================================ */

.hw-profile-shell--v3 .hw-profile__tablist-row {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: 0.65rem 1rem;
  border-bottom: 1px solid var(--hw-fe-border-soft, rgba(33, 27, 22, 0.08));
  margin-bottom: 0.35rem;
}

.hw-profile-shell--v3 .hw-profile__tablist-row .hw-profile__tablist {
  flex: 1 1 auto;
  min-width: 0;
  border-bottom: 0 !important;
  margin-bottom: 0;
}

.hw-profile-shell--v3 .hw-profile__quest-chip--docked {
  display: inline-flex;
  align-items: center;
  margin: 0 0 0.35rem;
  padding: 0.32rem 0.78rem;
  border-radius: 999px;
  border: 1px solid rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.32) !important;
  background: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.1) !important;
  color: var(--hw-fe-accent-strong, #8f4027) !important;
  font-size: 0.75rem;
  font-weight: 650;
  cursor: pointer;
  font-family: inherit;
  line-height: 1.2;
  white-space: nowrap;
  flex: 0 0 auto;
}

.hw-profile-shell--v3 .hw-profile__quest-chip--docked:hover {
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.5) !important;
  background: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.16) !important;
}

.hw-profile-shell--v3 .hw-profile__hint,
.hw-profile-shell--v3 .hw-profile__meta,
.hw-profile-shell--v3 .hw-profile__identity-line,
.hw-profile-shell--hearth .hw-profile__identity-line,
.hw-profile-shell--v3 .hw-profile__tags-label,
.hw-profile-shell--v3 .hw-profile__reading-author {
  color: var(--hw-fe-text-soft, #5c564e) !important;
}

.hw-profile-shell--v3 .hw-profile__hearth-quote {
  color: var(--hw-fe-text-soft, #5c564e) !important;
  opacity: 1 !important;
}

/* Activity feed — ivory cards (override dark notification skin) */
.hw-profile-shell--v3 .hw-notifications__card,
.hw-profile-shell--v3 .hw-profile__activity-feed .hw-notifications__card {
  border: 1px solid var(--hw-fe-border, #d9d2c6) !important;
  background:
    linear-gradient(180deg, rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.04), transparent 42%),
    var(--hw-fe-elevated, #fcfaf7) !important;
  box-shadow: var(--hw-fe-shadow-sm, 0 4px 14px rgba(36, 33, 29, 0.05)) !important;
  color: var(--hw-fe-text, #211b16) !important;
}

.hw-profile-shell--v3 .hw-notifications__item.is-unread .hw-notifications__card {
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.35) !important;
  background:
    linear-gradient(180deg, rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.08), transparent 48%),
    var(--hw-fe-elevated, #fcfaf7) !important;
}

.hw-profile-shell--v3 .hw-notifications__item-title,
.hw-profile-shell--v3 .hw-notifications__body {
  color: var(--hw-fe-text, #211b16) !important;
}

.hw-profile-shell--v3 .hw-notifications__item-detail,
.hw-profile-shell--v3 .hw-notifications__time,
.hw-profile-shell--v3 .hw-notifications__chevron {
  color: var(--hw-fe-text-soft, #5c564e) !important;
}

.hw-profile-shell--v3 .hw-notifications__eyebrow {
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.28) !important;
  background: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.1) !important;
  color: var(--hw-fe-accent-strong, #8f4027) !important;
}

.hw-profile-shell--v3 .hw-notifications__icon {
  background: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.12) !important;
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.22) !important;
  color: var(--hw-fe-accent-strong, #8f4027) !important;
}

.hw-profile-shell--v3 .hw-notifications__card--badges .hw-notifications__eyebrow,
.hw-profile-shell--v3 .hw-notifications__card--badges .hw-notifications__icon {
  border-color: rgba(184, 140, 48, 0.35) !important;
  background: rgba(212, 168, 72, 0.14) !important;
  color: #8a6420 !important;
}

.hw-profile-shell--v3 a.hw-notifications__card:hover,
.hw-profile-shell--v3 a.hw-notifications__card:focus-visible {
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.42) !important;
  background: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.07) !important;
  transform: translateY(-1px);
}

.hw-profile-shell--v3 .hw-notifications__empty,
.hw-profile-shell--v3 .hw-notifications__gate {
  border-color: var(--hw-fe-border, #d9d2c6) !important;
  background: var(--hw-fe-bg-soft, #f1ebe2) !important;
  color: var(--hw-fe-text, #211b16) !important;
}

/* Library / continue cards — never flash white text or white fill on cream */
.hw-profile-shell--v3 .hw-profile__lib-card:hover,
.hw-profile-shell--v3 .hw-profile__continue-card:hover,
.hw-profile-shell--v3 a.hw-profile__lib-card:hover,
.hw-profile-shell--v3 a.hw-profile__continue-card:hover {
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.4) !important;
  background: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.08) !important;
  color: var(--hw-fe-text, #211b16) !important;
  box-shadow: 0 8px 18px rgba(36, 33, 29, 0.08) !important;
  transform: translateY(-1px);
}

.hw-profile-shell--v3 .hw-profile__lib-card:hover strong,
.hw-profile-shell--v3 .hw-profile__continue-card:hover strong,
.hw-profile-shell--v3 .hw-profile__shelf-item:hover .hw-profile__shelf-title,
.hw-profile-shell--v3 .hw-profile__hearth:hover strong {
  color: var(--hw-fe-text, #211b16) !important;
}

.hw-profile-shell--v3 .hw-profile__lib-card span,
.hw-profile-shell--v3 .hw-profile__continue-card span {
  color: var(--hw-fe-text-soft, #5c564e) !important;
}

body.hw-profile-page .hw-prog-paths-hint {
  color: var(--hw-fe-text-soft, #5c564e) !important;
}

body.hw-profile-page .hw-prog-aside-card {
  border-color: var(--hw-fe-border, #d9d2c6) !important;
  background: var(--hw-fe-elevated, #fcfaf7) !important;
  box-shadow: var(--hw-fe-shadow-sm, 0 4px 14px rgba(36, 33, 29, 0.05)) !important;
}

body.hw-profile-page .hw-prog-aside-card__head h3,
body.hw-profile-page .hw-prog-aside-card__subhead h4,
body.hw-profile-page .hw-prog-quests__hint,
body.hw-profile-page .hw-prog-trust__hint,
body.hw-profile-page .hw-prog-cap,
body.hw-profile-page .hw-prog-quests__reset {
  color: var(--hw-fe-text, #211b16) !important;
}

body.hw-profile-page .hw-prog-quests__hint,
body.hw-profile-page .hw-prog-trust__hint,
body.hw-profile-page .hw-prog-cap,
body.hw-profile-page .hw-prog-quests__reset {
  color: var(--hw-fe-text-soft, #5c564e) !important;
}

body.hw-profile-page .hw-prog-aside-card__head .hw-prog-icon,
body.hw-profile-page .hw-prog-aside-card__head svg {
  color: var(--hw-fe-accent, #b85c3a) !important;
}

body.hw-profile-page .hw-prog-trust__score,
body.hw-profile-page .hw-prog-quest__xp {
  color: var(--hw-fe-accent-strong, #8f4027) !important;
}

body.hw-profile-page .hw-prog-quest__label {
  color: var(--hw-fe-text, #211b16) !important;
}

body.hw-profile-page .hw-prog-progress--balanced {
  width: 100% !important;
  max-width: none !important;
}

/* My Shelf tabs — readable active pill (never white-on-peach) */
.hw-profile-shell--v3 .hw-profile__hearth-shelf-tab {
  border: 1px solid var(--hw-fe-border, #d9d2c6) !important;
  background: transparent !important;
  color: var(--hw-fe-text-soft, #5c564e) !important;
}

.hw-profile-shell--v3 .hw-profile__hearth-shelf-tab:hover {
  color: var(--hw-fe-text, #211b16) !important;
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.35) !important;
}

.hw-profile-shell--v3 .hw-profile__hearth-shelf-tab.is-active {
  color: var(--hw-fe-accent-strong, #8f4027) !important;
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.45) !important;
  background: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.14) !important;
}

.hw-profile-shell--v3 .hw-profile__hearth-loves .hw-profile__hearth-list,
.hw-profile-shell--v3 .hw-profile__hearth-loves .hw-profile__hearth-list li,
.hw-profile-shell--v3 .hw-profile__hearth-obsessed,
.hw-profile-shell--v3 .hw-profile__hearth-obsessed span,
.hw-profile-shell--v3 .hw-profile__hearth-empty,
.hw-profile-shell--v3 .hw-profile__tags-label {
  color: var(--hw-fe-text-soft, #5c564e) !important;
  opacity: 1 !important;
}

.hw-profile-shell--v3 .hw-profile__hearth-obsessed strong {
  color: var(--hw-fe-text, #211b16) !important;
}

/* Communities — genre icon cards keep brand tint */
.hw-profile-shell--v3 .hw-profile__hearth img {
  object-fit: cover;
  background:
    linear-gradient(160deg, color-mix(in srgb, var(--hw-hearth-accent, #c4924a) 18%, #f3ebe0), #e4d8c8) !important;
}

.hw-profile-shell--v3 .hw-profile__hearth--action { --hw-hearth-accent: var(--hw-genre-adventure, #c4924a); }
.hw-profile-shell--v3 .hw-profile__hearth--fantasy { --hw-hearth-accent: var(--hw-genre-fantasy, #6b8f71); }
.hw-profile-shell--v3 .hw-profile__hearth--comedy { --hw-hearth-accent: var(--hw-genre-comedy, #c4a84a); }
.hw-profile-shell--v3 .hw-profile__hearth--thriller { --hw-hearth-accent: var(--hw-genre-thriller, #b05454); }
.hw-profile-shell--v3 .hw-profile__hearth--romance { --hw-hearth-accent: var(--hw-genre-romance, #c47a8a); }
.hw-profile-shell--v3 .hw-profile__hearth--mystery { --hw-hearth-accent: var(--hw-genre-mystery, #8b7aad); }
.hw-profile-shell--v3 .hw-profile__hearth--horror { --hw-hearth-accent: var(--hw-genre-horror, #8a3d3d); }
.hw-profile-shell--v3 .hw-profile__hearth--adventure { --hw-hearth-accent: var(--hw-genre-adventure, #c4924a); }
.hw-profile-shell--v3 .hw-profile__hearth--drama { --hw-hearth-accent: var(--hw-genre-historical, #b08a4a); }
.hw-profile-shell--v3 .hw-profile__hearth--sci_fi,
.hw-profile-shell--v3 .hw-profile__hearth--sci-fi { --hw-hearth-accent: var(--hw-genre-scifi, #5b7fa5); }

.hw-profile-shell--v3 .hw-profile__hearth--action,
.hw-profile-shell--v3 .hw-profile__hearth--fantasy,
.hw-profile-shell--v3 .hw-profile__hearth--comedy,
.hw-profile-shell--v3 .hw-profile__hearth--thriller,
.hw-profile-shell--v3 .hw-profile__hearth--romance,
.hw-profile-shell--v3 .hw-profile__hearth--mystery,
.hw-profile-shell--v3 .hw-profile__hearth--horror,
.hw-profile-shell--v3 .hw-profile__hearth--adventure,
.hw-profile-shell--v3 .hw-profile__hearth--drama,
.hw-profile-shell--v3 .hw-profile__hearth--sci_fi,
.hw-profile-shell--v3 .hw-profile__hearth--sci-fi {
  border-color: color-mix(in srgb, var(--hw-hearth-accent) 35%, var(--hw-fe-border, #d9d2c6)) !important;
}

.hw-profile-shell--v3 .hw-profile__hearth-ph {
  background:
    linear-gradient(160deg, color-mix(in srgb, var(--hw-hearth-accent, #c4924a) 28%, #efe6d8), #d9cfc0) !important;
}

/* ============================================================
   Progress path modal — ivory (profile)
============================================================ */

body.hw-profile-page .hw-prog-path-modal__backdrop {
  background: rgba(33, 27, 22, 0.48) !important;
  backdrop-filter: blur(5px);
}

body.hw-profile-page .hw-prog-path-modal__card {
  border: 1px solid var(--hw-fe-border, #d9d2c6) !important;
  background:
    radial-gradient(120% 80% at 0% 0%, rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.08), transparent 52%),
    var(--hw-fe-elevated, #fcfaf7) !important;
  box-shadow: var(--hw-fe-shadow-lg, 0 24px 56px rgba(36, 33, 29, 0.16)) !important;
  color: var(--hw-fe-text, #211b16) !important;
}

body.hw-profile-page .hw-prog-path-modal__kicker {
  color: var(--hw-fe-accent-strong, #8f4027) !important;
}

body.hw-profile-page .hw-prog-path-modal__title,
body.hw-profile-page .hw-prog-path-modal__rank-preview-name {
  color: var(--hw-fe-text, #211b16) !important;
}

body.hw-profile-page .hw-prog-path-modal__meta,
body.hw-profile-page .hw-prog-path-modal__counts,
body.hw-profile-page .hw-prog-path-modal__rank-preview-blurb,
body.hw-profile-page .hw-prog-path-modal__rank-preview-next,
body.hw-profile-page .hw-prog-path-modal__rank-preview-xp,
body.hw-profile-page .hw-prog-lane__desc,
body.hw-profile-page .hw-prog-medal__blurb,
body.hw-profile-page .hw-prog-medal__next,
body.hw-profile-page .hw-prog-medal__count {
  color: var(--hw-fe-text-soft, #5c564e) !important;
}

body.hw-profile-page .hw-prog-path-modal__close {
  border-color: var(--hw-fe-border, #d9d2c6) !important;
  background: var(--hw-fe-bg-soft, #f1ebe2) !important;
  color: var(--hw-fe-text, #211b16) !important;
}

body.hw-profile-page .hw-prog-path-modal__close:hover {
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.45) !important;
  color: var(--hw-fe-accent-strong, #8f4027) !important;
}

body.hw-profile-page .hw-prog-path-modal__xp {
  background: rgba(var(--hw-fe-text-rgb, 33, 27, 22), 0.08) !important;
}

body.hw-profile-page .hw-prog-path-modal__xp span {
  background: linear-gradient(90deg, var(--hw-fe-accent, #b85c3a), var(--hw-fe-accent-light, #c9724f)) !important;
}

body.hw-profile-page .hw-prog-path-modal__rank-btn {
  border-color: var(--hw-fe-border, #d9d2c6) !important;
  background: var(--hw-fe-bg-soft, #f1ebe2) !important;
  color: var(--hw-fe-text-soft, #5c564e) !important;
}

body.hw-profile-page .hw-prog-path-modal__rank-btn:hover,
body.hw-profile-page .hw-prog-path-modal__rank-btn:focus-visible {
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.4) !important;
  color: var(--hw-fe-text, #211b16) !important;
  background: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.08) !important;
}

body.hw-profile-page .hw-prog-path-modal__rank.is-earned .hw-prog-path-modal__rank-btn {
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.28) !important;
  color: var(--hw-fe-accent-strong, #8f4027) !important;
}

body.hw-profile-page .hw-prog-path-modal__rank.is-current .hw-prog-path-modal__rank-btn,
body.hw-profile-page .hw-prog-path-modal__rank-btn.is-previewing {
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.5) !important;
  background: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.14) !important;
  color: var(--hw-fe-accent-strong, #8f4027) !important;
}

body.hw-profile-page .hw-prog-path-modal__rank-preview {
  border-color: var(--hw-fe-border, #d9d2c6) !important;
  background: var(--hw-fe-bg-soft, #f1ebe2) !important;
}

body.hw-profile-page .hw-prog-path-modal__rank-preview[data-state="is-current"] {
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.35) !important;
  background: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.08) !important;
}

body.hw-profile-page .hw-prog-path-modal__rank-preview-kicker {
  color: var(--hw-fe-accent-strong, #8f4027) !important;
}

body.hw-profile-page .hw-prog-path-modal__body .hw-prog-lane,
body.hw-profile-page .hw-prog-path-modal .hw-prog-lane {
  border-color: var(--hw-fe-border, #d9d2c6) !important;
  background: var(--hw-fe-elevated, #fcfaf7) !important;
}

body.hw-profile-page .hw-prog-path-modal .hw-prog-lane--active {
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.32) !important;
  background:
    linear-gradient(165deg, rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.08), var(--hw-fe-elevated, #fcfaf7) 55%) !important;
}

body.hw-profile-page .hw-prog-path-modal .hw-prog-lane__title,
body.hw-profile-page .hw-prog-path-modal .hw-prog-medal__title {
  color: var(--hw-fe-text, #211b16) !important;
}

body.hw-profile-page .hw-prog-path-modal .hw-prog-medal,
body.hw-profile-page .hw-prog-path-modal .hw-prog-medal.is-earned,
body.hw-profile-page .hw-prog-path-modal .hw-prog-medal.is-locked,
body.hw-profile-page .hw-prog-path-modal .hw-prog-medal.is-progress {
  border-color: var(--hw-fe-border, #d9d2c6) !important;
  background: var(--hw-fe-bg-soft, #f1ebe2) !important;
  color: var(--hw-fe-text, #211b16) !important;
  box-shadow: none !important;
}

body.hw-profile-page .hw-prog-path-modal .hw-prog-medal__metal,
body.hw-profile-page .hw-prog-path-modal .hw-prog-medal__earned {
  color: var(--hw-fe-accent-strong, #8f4027) !important;
}

body.hw-profile-page .hw-prog-path-modal .hw-prog-medal__bar {
  background: rgba(var(--hw-fe-text-rgb, 33, 27, 22), 0.1) !important;
}

body.hw-profile-page .hw-prog-path-modal .hw-prog-medal__bar > span {
  background: linear-gradient(90deg, var(--hw-fe-accent, #b85c3a), var(--hw-fe-accent-light, #c9724f)) !important;
}

/* ============================================================
   Stories tab — ivory story cards
============================================================ */

.hw-profile-shell--v3 .hw-profile__stories-grid {
  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(148px, 1fr));
  gap: 1rem 1.1rem;
  margin: 0.15rem 0 0;
}

.hw-profile-shell--v3 .hw-profile__story-card {
  display: flex !important;
  flex-direction: column;
  gap: 0;
  padding: 0.55rem;
  border-radius: 14px;
  border: 1px solid var(--hw-fe-border, #d9d2c6) !important;
  background: var(--hw-fe-elevated, #fcfaf7) !important;
  box-shadow: var(--hw-fe-shadow-sm, 0 4px 14px rgba(36, 33, 29, 0.05));
  text-decoration: none !important;
  color: var(--hw-fe-text, #211b16) !important;
  transition:
    border-color 0.16s ease,
    transform 0.16s ease,
    box-shadow 0.16s ease,
    background 0.16s ease;
}

.hw-profile-shell--v3 .hw-profile__story-card:hover,
.hw-profile-shell--v3 .hw-profile__story-card:focus-visible {
  border-color: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.4) !important;
  background: rgba(var(--hw-fe-accent-rgb, 184, 92, 58), 0.06) !important;
  box-shadow: 0 10px 22px rgba(36, 33, 29, 0.08);
  transform: translateY(-2px);
  outline: none;
}

.hw-profile-shell--v3 .hw-profile__story-card-media {
  display: block;
  border-radius: 10px;
  overflow: hidden;
  border: 1px solid var(--hw-fe-border-soft, rgba(33, 27, 22, 0.08));
  background: var(--hw-fe-bg-soft, #f1ebe2);
}

.hw-profile-shell--v3 .hw-profile__story-card-media img,
.hw-profile-shell--v3 .hw-profile__story-card-media .hw-profile__story-ph {
  width: 100%;
  aspect-ratio: 2 / 3;
  object-fit: cover;
  display: block;
  border: 0 !important;
  border-radius: 0 !important;
  background: linear-gradient(160deg, #e8dfd2, #d9cfc0) !important;
}

.hw-profile-shell--v3 .hw-profile__story-card-body {
  display: flex;
  flex-direction: column;
  gap: 0.2rem;
  padding: 0.65rem 0.2rem 0.25rem;
  min-width: 0;
}

.hw-profile-shell--v3 .hw-profile__story-card .hw-profile__shelf-title {
  font-size: 0.9rem;
  font-weight: 650;
  line-height: 1.3;
  color: var(--hw-fe-text, #211b16) !important;
}

.hw-profile-shell--v3 .hw-profile__story-card .hw-profile__shelf-meta {
  font-size: 0.74rem;
  font-weight: 550;
  color: var(--hw-fe-text-soft, #5c564e) !important;
}

.hw-profile-shell--v3 .hw-profile__story-card:hover .hw-profile__shelf-title {
  color: var(--hw-fe-text, #211b16) !important;
}

@media (max-width: 640px) {
  .hw-profile-shell--v3 .hw-profile__stories-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0.75rem;
  }
}

/* Phone identity: the hero was clearing the admin bar and the fixed nav twice,
   and the tab row shared its line with the quest chip so the last tab could not scroll. */
@media (max-width: 720px) {
  body.hw-profile-page .hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero--identity {
    padding-top: calc(var(--hw-phone-top-h, 56px) + 0.5rem) !important;
    padding-bottom: 0.35rem !important;
    margin-bottom: 0.35rem;
  }

  /* Admin bar already shifts the document. Adding it again inside the hero
     pushed the name ~90px below the header. */
  body.admin-bar.hw-profile-page .hw-profile-shell .hw-profile__hero--identity,
  body.admin-bar.hw-profile-page .hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero--identity {
    padding-top: 2.15rem !important;
  }

  .hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero--cinema {
    min-height: 0;
    padding-bottom: 0.5rem !important;
  }

  .hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero-top {
    grid-template-columns: minmax(0, 1fr);
    grid-template-areas:
      "identity"
      "stats"
      "actions";
    gap: 0.45rem 0.75rem;
    align-items: center;
  }

  .hw-profile-shell--hearth.hw-cosmetic-pack .hw-profile__avatar-wrap,
  .hw-profile-shell--hearth .hw-profile__avatar-wrap {
    --hw-avatar-box: 64px;
  }

  .hw-profile-shell--v3.hw-profile-shell--hearth .hw-profile__hero-stats.hw-profile__stats-strip {
    justify-content: flex-start !important;
    gap: 1rem;
    padding: 0 !important;
    overflow: visible;
  }

  .hw-profile-shell--hearth .hw-profile__stats-strip-item {
    min-width: 0;
  }

  .hw-profile-shell--hearth .hw-profile__stats-strip-value {
    font-size: 1.05rem;
  }

  .hw-profile-shell--v3 .hw-profile__tablist-row {
    display: flex;
    flex-direction: column;
    flex-wrap: nowrap;
    align-items: stretch;
    justify-content: flex-start;
    gap: 0.35rem;
  }

  .hw-profile-shell--v3 .hw-profile__tablist-row .hw-profile__tablist {
    display: flex;
    width: 100%;
    overflow-x: auto;
    overflow-y: hidden;
    flex-wrap: nowrap;
    justify-content: flex-start;
    gap: 0.15rem;
    touch-action: pan-x;
    overscroll-behavior-x: contain;
    -webkit-overflow-scrolling: touch;
    scroll-snap-type: x proximity;
    scrollbar-width: thin;
  }

  .hw-profile-shell--v3 .hw-profile__tablist-row .hw-profile__tab {
    flex: 0 0 auto;
    padding: 0.55rem 0.7rem;
    font-size: 0.84rem;
    text-align: center;
    white-space: nowrap;
    scroll-snap-align: start;
  }

  .hw-profile-shell--v3 .hw-profile__quest-chip--docked {
    align-self: flex-start;
    margin: 0;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-shelf-rail {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    overflow: visible;
    gap: 0.65rem;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-shelf-book {
    flex: none;
    min-width: 0;
  }

  .hw-profile-shell--hearth .hw-profile__hearth-shelf-book img,
  .hw-profile-shell--hearth .hw-profile__hearth-shelf-book .hw-profile__story-ph {
    width: 100%;
    height: auto;
    aspect-ratio: 2 / 3;
  }
}
