/* Inter is self-hosted in static/styles/gw-tokens.css (lot 1, 2026-10-23). */

:root {
  --gw-bg: #08090b;
  --gw-surface: #0f1114;
  --gw-surface-raised: #17191d;
  --gw-surface-hover: #17191d;
  --gw-card: #0f1114;
  --gw-line: #2a2d32;
  --gw-line-hover: #3a3e45;
  --gw-text: #f5f5f6;
  --gw-muted: #a5a7ad;
  --gw-pink: #ec2e5b;
  --gw-pink-hover: #ff416d;
  --gw-pink-subtle: rgba(236, 46, 91, 0.12);
  --gw-on-accent: #08090b;
  --gw-success: #39b87f;
  --gw-error: #d95367;
  --gw-wait: #e0a447;
  --gw-radius-sm: 8px;
  --gw-radius-md: 12px;
  --gw-blue-verified: var(--gw-pink);
  --gw-max: 1180px;
  --gw-font: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, system-ui, sans-serif;
}

/* -------------------------------------------------------------------------- */
/* Global Reset & Base Typography                                             */
/* -------------------------------------------------------------------------- */
html, body {
  background-color: var(--gw-bg) !important;
  color: var(--gw-text) !important;
  font-family: var(--gw-font) !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

body.gwfan {
  min-width: 0 !important;
}

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

/* -------------------------------------------------------------------------- */
/* Header (Desktop) - Minimalist Sheer.com / OnlyFans Style                  */
/* -------------------------------------------------------------------------- */
.header {
  background: rgba(12, 12, 14, 0.95) !important;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
  border-bottom: 1px solid var(--gw-line) !important;
  position: sticky;
  top: 0;
  z-index: 100;
  padding: 0 24px !important;
  height: 64px;
  display: flex;
  align-items: center;
}

.header .container {
  max-width: var(--gw-max);
  width: 100%;
  margin: 0 auto;
  padding: 0 !important;
  display: flex;
  align-items: center;
  justify-content: space-between;
}

.logo a {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  font-size: 20px;
  font-weight: 800;
  letter-spacing: -0.03em;
  color: #fff !important;
  text-decoration: none;
}

.logo .mark {
  color: #fff !important;
  background: transparent !important;
  padding: 0 !important;
  font-weight: 800;
}

.header__options {
  background: transparent !important;
  display: flex;
  align-items: center;
  gap: 28px;
}

.header__options:before,
.header__options:after {
  display: none !important;
}

.main-menu__list {
  display: flex;
  align-items: center;
  gap: 24px;
  margin: 0;
  padding: 0;
  list-style: none;
}

.main-menu__item > a {
  background: transparent !important;
  color: var(--gw-muted) !important;
  font-size: 15px !important;
  font-weight: 600 !important;
  padding: 20px 2px !important;
  position: relative;
  transition: color 0.15s ease;
  display: inline-flex;
  align-items: center;
}

.main-menu__item > a:hover,
.main-menu__item.active > a {
  color: #fff !important;
  background: transparent !important;
}

.main-menu__item > a:hover:after,
.main-menu__item.active > a:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gw-pink);
  border-radius: 3px 3px 0 0;
}

.main-menu__item > a.premium-link {
  color: var(--gw-pink) !important;
  font-weight: 700 !important;
}

/* -------------------------------------------------------------------------- */
/* Creator Page Hero / Profile Layout (1.jpg Desktop & Mobile)                */
/* -------------------------------------------------------------------------- */
.gw-creator {
  color: var(--gw-text);
  font-family: var(--gw-font);
  max-width: 100%;
  margin: 0 auto;
}

.gw-cover {
  position: relative;
  height: 280px;
  overflow: hidden;
  background: #18181d;
}

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

.gw-cover:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, rgba(12,12,14,0.1) 0%, rgba(12,12,14,0.4) 60%, #0c0c0e 100%);
  pointer-events: none;
}

.gw-identity {
  max-width: var(--gw-max);
  margin: -60px auto 0;
  padding: 0 24px 12px;
  display: grid;
  grid-template-columns: 136px 1fr auto;
  gap: 20px 24px;
  align-items: end;
  position: relative;
  z-index: 2;
}

.gw-avatar {
  width: 128px;
  height: 128px;
  border-radius: 50%;
  overflow: hidden;
  border: 4px solid #0c0c0e;
  background: #1c1c22;
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.4);
}

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

.gw-meta {
  min-width: 0;
  padding-bottom: 6px;
}

.gw-handle {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  font-size: 26px;
  font-weight: 700;
  letter-spacing: -0.02em;
  color: #fff;
}

.gw-handle svg {
  width: 20px;
  height: 20px;
  flex: 0 0 20px;
}

.gw-bio {
  margin: 6px 0 0;
  color: var(--gw-muted);
  font-size: 14px;
  line-height: 1.5;
}

.gw-loc {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  margin-top: 6px;
  color: var(--gw-muted);
  font-size: 13px;
}

.gw-loc svg {
  width: 14px;
  height: 14px;
}

.gw-side {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 16px;
  padding-bottom: 8px;
}

.gw-stats {
  display: flex;
  align-items: center;
  color: var(--gw-muted);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  font-weight: 700;
}

.gw-stats strong {
  color: #fff;
  font-size: 22px;
  letter-spacing: 0;
  display: block;
  text-align: center;
  font-weight: 800;
}

.gw-stats span {
  display: block;
  text-align: center;
  margin-top: 2px;
}

.gw-stats i {
  width: 1px;
  height: 30px;
  background: var(--gw-line);
  margin: 0 24px;
  display: block;
}

.gw-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--gw-pink) !important;
  color: var(--gw-on-accent) !important;
  border: 0 !important;
  border-radius: 999px;
  padding: 12px 32px;
  font-size: 14px;
  font-weight: 700;
  letter-spacing: 0.01em;
  text-decoration: none !important;
  min-width: 180px;
  cursor: pointer;
  box-shadow: 0 4px 18px rgba(255, 45, 106, 0.28);
  transition: background 0.15s ease, transform 0.1s ease, box-shadow 0.15s ease;
}

.gw-btn:hover,
.gw-btn:focus {
  background: var(--gw-pink-hover) !important;
  box-shadow: 0 6px 22px rgba(255, 45, 106, 0.4);
  transform: translateY(-1px);
}

.gw-btn:active {
  transform: translateY(0);
}

.gw-btn-subscribed {
  background: var(--gw-pink) !important;
  color: var(--gw-on-accent) !important;
  box-shadow: none !important;
}

/* -------------------------------------------------------------------------- */
/* Tabs Navigation (Posts, Videos, Photos, About)                             */
/* -------------------------------------------------------------------------- */
.gw-tabs {
  max-width: var(--gw-max);
  margin: 20px auto 0;
  padding: 0 24px;
  display: flex;
  align-items: center;
  gap: 28px;
  border-bottom: 1px solid var(--gw-line);
}

.gw-tab {
  appearance: none;
  background: none !important;
  border: 0 !important;
  color: var(--gw-muted);
  font: inherit;
  font-size: 15px;
  font-weight: 600;
  padding: 14px 0 16px;
  cursor: pointer;
  position: relative;
  transition: color 0.15s ease;
}

.gw-tab:hover {
  color: #fff;
}

.gw-tab.is-active {
  color: #fff;
}

.gw-tab.is-active:after {
  content: "";
  position: absolute;
  bottom: 0;
  left: 0;
  right: 0;
  height: 3px;
  background: var(--gw-pink);
  border-radius: 3px 3px 0 0;
}

.gw-tab-more {
  margin-left: auto;
  color: var(--gw-muted);
  padding: 6px;
  display: flex;
  align-items: center;
  cursor: pointer;
}

.gw-tab-more:hover {
  color: #fff;
}

.gw-about {
  display: none;
  max-width: var(--gw-max);
  margin: 0 auto;
  padding: 32px 24px;
  color: var(--gw-muted);
  font-size: 15px;
  line-height: 1.7;
}

.gw-about.is-active {
  display: block;
}

/* Tab Filtering */
body[data-gw-tab="videos"] .gw-feed-photos,
body[data-gw-tab="photos"] .gw-feed-videos,
body[data-gw-tab="about"] .gw-feed-videos,
body[data-gw-tab="about"] .gw-feed-photos {
  display: none !important;
}

/* -------------------------------------------------------------------------- */
/* Media Grid Feed & Cards (1.jpg 3 Columns Desktop / 2 Columns Mobile)       */
/* -------------------------------------------------------------------------- */
.gw-feed {
  max-width: var(--gw-max);
  margin: 0 auto;
  padding: 20px 24px;
}

.gw-feed .container {
  padding: 0 !important;
  max-width: 100% !important;
}

.gw-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.gw-card {
  position: relative;
  border-radius: 10px;
  overflow: hidden;
  background: var(--gw-card);
  aspect-ratio: 16 / 10;
  display: block;
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}

.gw-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
}

.gw-card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  transition: transform 0.3s ease;
}

.gw-card:hover img {
  transform: scale(1.03);
}

.gw-card .gw-badge {
  position: absolute;
  left: 10px;
  bottom: 10px;
  z-index: 2;
  background: var(--gw-pink);
  color: #fff;
  font-size: 10px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  padding: 4px 8px;
  border-radius: 5px;
  box-shadow: 0 2px 8px rgba(0,0,0,0.3);
}

/* Blur the image alone; badges and information stay sharp. */
.gw-card-locked > img { filter: blur(8px); }
.gw-lock {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  pointer-events: none;
  z-index: 1;
}
.gw-lock-pill {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 9px;
  min-width: 56px;
  min-height: 56px;
  padding: 12px 16px;
  box-sizing: border-box;
  border: 2px solid #ff8bbb;
  border-radius: 999px;
  background: var(--gw-pink);
  box-shadow: 0 0 0 6px rgba(255, 52, 143, .18), 0 4px 24px rgba(255, 52, 143, .5);
  color: var(--gw-on-accent);
  font-size: 14px;
  font-weight: 700;
}
.gw-lock svg { width: 24px; height: 24px; flex-shrink: 0; }

.gw-empty {
  grid-column: 1 / -1;
  color: var(--gw-muted);
  padding: 48px 0;
  text-align: center;
  font-size: 15px;
}

.gw-more {
  margin: 24px 0 12px;
  text-align: center;
}

.gw-more a {
  display: inline-flex;
  padding: 12px 28px;
  border-radius: 999px;
  border: 1px solid var(--gw-line);
  background: var(--gw-surface);
  color: var(--gw-text);
  font-size: 14px;
  font-weight: 600;
  transition: all 0.15s ease;
}

.gw-more a:hover {
  border-color: var(--gw-pink);
  color: #fff;
  background: var(--gw-surface-hover);
}

/* -------------------------------------------------------------------------- */
/* Mobile View & Dock Navigation (1.jpg Mobile iPhone View)                   */
/* -------------------------------------------------------------------------- */
.gw-creator-top {
  display: none;
}

.gw-dock {
  display: none;
}

@media (max-width: 767px) {
  .header {
    display: none !important;
  }

  .gw-creator-top {
    display: flex;
    align-items: center;
    justify-content: space-between;
    position: sticky;
    top: 0;
    z-index: 90;
    height: 52px;
    padding: 0 14px;
    background: rgba(12, 12, 14, 0.94);
    backdrop-filter: blur(16px);
    -webkit-backdrop-filter: blur(16px);
    border-bottom: 1px solid var(--gw-line);
    color: #fff;
  }

  .gw-creator-top a,
  .gw-creator-top button {
    color: #fff;
    background: none !important;
    border: 0;
    width: 38px;
    height: 38px;
    display: flex;
    align-items: center;
    justify-content: center;
    cursor: pointer;
  }

  .gw-creator-top strong {
    font-size: 16px;
    font-weight: 700;
    display: inline-flex;
    align-items: center;
    gap: 6px;
  }

  .gw-cover {
    height: 200px;
  }

  .gw-identity {
    margin-top: -42px;
    padding: 0 16px 8px;
    grid-template-columns: 1fr;
    gap: 12px;
  }

  .gw-avatar {
    width: 86px;
    height: 86px;
    border-width: 3px;
  }

  .gw-handle {
    font-size: 22px;
  }

  .gw-side {
    width: 100%;
    align-items: stretch;
    padding-bottom: 0;
    gap: 12px;
  }

  .gw-stats {
    justify-content: flex-start;
    text-transform: none;
    letter-spacing: 0;
    font-size: 13px;
    font-weight: 600;
    gap: 16px;
  }

  .gw-stats strong,
  .gw-stats span {
    display: inline;
    font-size: 14px;
    margin: 0;
    text-transform: none;
    letter-spacing: 0;
  }

  .gw-stats i {
    display: none;
  }

  .gw-btn {
    width: 100%;
    min-width: 0;
    padding: 13px 20px;
    font-size: 15px;
  }

  .gw-tabs {
    padding: 0 16px;
    gap: 20px;
    overflow-x: auto;
    scrollbar-width: none;
  }
  .gw-tabs::-webkit-scrollbar {
    display: none;
  }

  .gw-feed {
    padding: 14px 16px 84px;
  }

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

  /* Bottom Fixed Dock */
  .gw-dock {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: center;
    position: fixed;
    left: 0;
    right: 0;
    bottom: 0;
    z-index: 100;
    height: 64px;
    padding: 4px 6px calc(6px + env(safe-area-inset-bottom));
    background: rgba(12, 12, 14, 0.96);
    backdrop-filter: blur(20px);
    -webkit-backdrop-filter: blur(20px);
    border-top: 1px solid var(--gw-line);
  }

  .gw-dock a {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 3px;
    color: var(--gw-muted);
    font-size: 11px;
    font-weight: 600;
    text-decoration: none;
    position: relative;
  }

  .gw-dock a.is-active,
  .gw-dock a:hover {
    color: #fff;
  }

  .gw-dock a svg {
    width: 22px;
    height: 22px;
  }

  .gw-dock-join {
    background: var(--gw-pink) !important;
    color: var(--gw-on-accent) !important;
    border-radius: 999px;
    padding: 10px 12px !important;
    font-size: 13px !important;
    font-weight: 700 !important;
    margin: 0 4px;
    flex-direction: row !important;
    box-shadow: 0 3px 12px rgba(255, 45, 106, 0.35);
  }

  .gw-dock-badge {
    position: absolute;
    top: -2px;
    right: 22%;
    width: 8px;
    height: 8px;
    background: var(--gw-pink);
    border-radius: 50%;
  }
}

/* Hide leftover unwanted tube elements on creator pages */
.comments_models,
.join-spot-01,
.join-spot-02,
.join-block-thin,
.footer-text {
  display: none !important;
}

/* -------------------------------------------------------------------------- */
/* Kill tube orange (#f86900) and green (#70cd05 / #7da530 / #8cc80d)         */
/* all-dark.css dark overlay loads first; these rules must win.               */
/* -------------------------------------------------------------------------- */
.main-menu__item .premium-link,
a.premium-link,
.footer-menu__item a.premium-link {
  color: var(--gw-pink) !important;
  background: transparent !important;
}

.main-menu__item:hover > a.premium-link,
.main-menu__item.active > a.premium-link {
  color: var(--gw-pink-hover) !important;
  background: transparent !important;
}

.main-menu__drop__item span,
.main-menu__drop__item.active > a,
.main-menu__drop__item:hover > a {
  background: var(--gw-pink) !important;
  color: var(--gw-on-accent) !important;
}

.btn:hover,
.btn.active,
.dropdown__block:hover > .btn,
.drop-inner li a:hover,
.pagination li a:hover,
.pagination li.active a,
.btn--color,
.btn--duble span,
.btn--duble:hover strong,
.info-bar__button:hover,
.info-bar__button.active,
.album-images__item .btn:hover,
.price-list__item input[type=radio]:checked + .price-list__item__body,
.price-list__item input[type=radio]:checked + .price-list__item__body .price-list__button,
.playing__holder-btn {
  background: var(--gw-pink) !important;
  border-color: var(--gw-pink) !important;
  color: var(--gw-on-accent) !important;
}

.btn--green,
.btn--unlock,
.btn--alt-hover:hover,
.btn--duble strong,
.success,
.info-bar__button span {
  background: var(--gw-pink) !important;
  border-color: var(--gw-pink) !important;
  color: var(--gw-on-accent) !important;
}

.btn--unlock .lock {
  background: #6b1433 !important;
  color: var(--gw-pink) !important;
}

.btn--unlock span {
  color: var(--gw-on-accent) !important;
}

.btn--unlock--danger,
.btn--unlock--danger .lock {
  background: var(--gw-pink) !important;
  color: var(--gw-on-accent) !important;
}

.thumb-spot__rating {
  border-color: var(--gw-pink) !important;
  background: var(--gw-pink) !important;
}

.thumb:hover .thumb__info,
.thumb:hover .thumb__line,
.hover .thumb__info,
.drop-categories__item a:hover .drop-categories__title {
  background: rgba(12, 12, 14, 0.78) !important;
}

.thumb--albums:hover .thumb__info,
.thumb--albums:hover .thumb__line,
.thumb--models:hover .thumb__info,
.thumb--models:hover .thumb__line {
  background: rgba(255, 45, 106, 0.85) !important;
}

.footer-menu__item a {
  color: var(--gw-muted) !important;
}

.footer-menu__item a:hover,
.footer-menu__item.active a,
.footer-menu__item a.premium-link,
.footer-menu__item a.premium-link:hover {
  color: var(--gw-pink) !important;
}

.join-spot-01__title,
.join-spot-02__title,
.join-block-thin__text span,
.list-sort .title a,
.playing,
.mark-color,
.mark-color a,
.modal__join__text span,
.price-list__text span,
.price-list__price,
.media-container__join__text strong,
.btn__like,
.btn__like:hover,
.btn__like.voted {
  color: var(--gw-pink) !important;
}

.btn__like:hover,
.btn__like.voted {
  text-shadow: 0 0 13px rgba(255, 45, 106, 0.55) !important;
}

.mark-color2,
.info-bar__button .icon-icons8-Plus,
.btn__like {
  color: var(--gw-pink) !important;
}

.item--bordered:hover img,
.item--bordered.flex-active-slide img {
  outline-color: var(--gw-pink) !important;
}

.album-images__item .btn {
  background: rgba(255, 45, 106, 0.5) !important;
}

.mCSB_scrollTools .mCSB_dragger .mCSB_dragger_bar {
  background: var(--gw-pink) !important;
}

.comments__item__avatar {
  background: var(--gw-pink) !important;
}

.drop-media li:hover {
  background: var(--gw-pink) !important;
}

.price-list__item input[type=radio]:checked + .price-list__item__body .price-list__text strong,
.price-list__item input[type=radio]:checked + .price-list__item__body .price-list__text span,
.price-list__item input[type=radio]:checked + .price-list__item__body .price-list__price {
  color: #fff !important;
}

/* Creator directory cards */
.gw-creators {
  max-width: var(--gw-max);
  margin: 0 auto;
  padding: 24px 24px 48px;
}

.gw-creators .title {
  color: #fff !important;
  font-size: 22px;
  font-weight: 700;
  letter-spacing: -0.02em;
  margin: 0 0 18px;
}

.gw-creators-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 14px;
}

.gw-creator-card {
  position: relative;
  display: block;
  border-radius: 12px;
  overflow: hidden;
  background: var(--gw-card);
  aspect-ratio: 3 / 4;
  text-decoration: none !important;
  color: #fff !important;
}

.gw-creator-card img,
.gw-creator-card .gw-creator-card-empty {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
}

.gw-creator-card-empty {
  background: #1c1c22;
}

.gw-creator-card:after {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(180deg, transparent 40%, rgba(12, 12, 14, 0.92) 100%);
  pointer-events: none;
}

.gw-creator-card-meta {
  position: absolute;
  left: 12px;
  right: 12px;
  bottom: 12px;
  z-index: 2;
}

.gw-creator-card-meta strong {
  display: block;
  font-size: 16px;
  font-weight: 700;
  letter-spacing: -0.02em;
}

.gw-creator-card-meta span {
  display: block;
  margin-top: 4px;
  color: var(--gw-muted);
  font-size: 12px;
  font-weight: 600;
}

.gw-creator-card:hover {
  transform: translateY(-2px);
  box-shadow: 0 10px 24px rgba(0, 0, 0, 0.45);
}

.gw-creator-card:hover:after {
  background: linear-gradient(180deg, rgba(255, 45, 106, 0.12) 30%, rgba(255, 45, 106, 0.88) 100%);
}

@media (max-width: 991px) {
  .gw-creators-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (max-width: 767px) {
  .gw-creators {
    padding: 16px 16px 84px;
  }
  .gw-creators-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
  }
}

.gw-become {
  max-width: 720px;
  margin: 0 auto;
  padding: 48px 24px 80px;
}

.gw-become-card {
  background: var(--gw-card);
  border: 1px solid var(--gw-line);
  border-radius: 18px;
  padding: 32px 28px;
}

.gw-become-kicker {
  margin: 0 0 8px;
  color: var(--gw-pink);
  font-size: 12px;
  font-weight: 700;
  letter-spacing: 0.12em;
  text-transform: uppercase;
}

.gw-become-card h1 {
  margin: 0 0 12px;
  color: #fff;
  font-size: 32px;
  font-weight: 800;
  letter-spacing: -0.03em;
}

.gw-become-lead,
.gw-become-note,
.gw-become-url {
  color: var(--gw-muted);
  font-size: 15px;
  line-height: 1.55;
  margin: 0 0 16px;
}

.gw-become-url strong {
  color: #fff;
  font-weight: 600;
  word-break: break-all;
}

.gw-become-errors {
  list-style: none;
  margin: 0 0 18px;
  padding: 12px 14px;
  border-radius: 10px;
  background: rgba(255, 45, 106, 0.12);
  color: #ff8fb0;
}

.gw-become-errors li + li {
  margin-top: 6px;
}

.gw-become-form {
  display: grid;
  gap: 14px;
}

.gw-become-form label {
  display: grid;
  gap: 6px;
  color: #fff;
  font-size: 13px;
  font-weight: 600;
}

.gw-become-form input[type="text"],
.gw-become-form input[type="email"],
.gw-become-form input[type="password"],
.gw-become-form textarea {
  width: 100%;
  background: #101014 !important;
  border: 1px solid var(--gw-line) !important;
  border-radius: 10px;
  color: #fff !important;
  padding: 12px 14px;
  font-size: 15px;
  font-family: inherit;
}

.gw-become-form input:focus,
.gw-become-form textarea:focus {
  outline: none;
  border-color: var(--gw-pink) !important;
  box-shadow: 0 0 0 3px var(--gw-pink-subtle);
}

.gw-become-check {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  font-weight: 500 !important;
  color: var(--gw-muted) !important;
}

.gw-become-check input {
  margin-top: 3px;
}

.gw-become-form .gw-btn {
  width: 100%;
  margin-top: 8px;
}

.gw-become-hp {
  position: absolute;
  left: -9999px;
  height: 0;
  overflow: hidden;
}

.gw-become-note a {
  color: var(--gw-pink);
}

@media (max-width: 767px) {
  .gw-become {
    padding: 24px 16px 96px;
  }
  .gw-become-card {
    padding: 22px 16px;
  }
  .gw-become-card h1 {
    font-size: 26px;
  }
}

/* Shared navigation foundation — 2026-09-05. */
.gw-dock { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.gwfan a:focus-visible, .gwfan button:focus-visible, .gwfan input:focus-visible {
  outline: 2px solid var(--gw-pink);
  outline-offset: 4px;
}

/* Phase 1 — shared frame and creator discovery. */
.gw-site-header { position: sticky; top: 0; z-index: 100; background: #0c0c0ef5; border-bottom: 1px solid var(--gw-line); }
.gw-header-inner { max-width: 1400px; margin: auto; padding: 0 24px; min-height: 72px; display: flex; align-items: center; gap: 48px; }
.gw-brand { color: var(--gw-text); font-size: 25px; font-weight: 800; letter-spacing: -1px; white-space: nowrap; }
.gw-brand span { color: var(--gw-pink); }
.gw-primary { display: flex; align-self: stretch; gap: 28px; }
.gw-primary a { display: flex; align-items: center; font-size: 14px; color: var(--gw-muted); border-bottom: 2px solid transparent; }
.gw-primary a:hover, .gw-primary a[aria-current] { color: var(--gw-text); border-color: var(--gw-pink); }
.gw-account { margin-left: auto; display: flex; align-items: center; gap: 20px; font-size: 14px; }
.gw-action { display: inline-flex; align-items: center; justify-content: center; gap: 24px; padding: 13px 22px; border-radius: 6px; background: var(--gw-pink); color: var(--gw-on-accent); font-size: 14px; font-weight: 600; line-height: 1.4; }
.gw-action:hover { background: var(--gw-pink-hover); color: var(--gw-on-accent); }
.gw-account-link:hover, .gw-text-link:hover, .gw-site-footer a:hover { color: var(--gw-pink); }
.gw-signout { color: var(--gw-muted); }
.gw-skip { position: fixed; top: -80px; left: 16px; z-index: 200; background: var(--gw-pink); color: var(--gw-on-accent); padding: 12px 20px; }
.gw-skip:focus { top: 10px; }
.gw-discovery-intro, .gw-directory-intro { max-width: 1180px; margin: auto; padding: 64px 24px 40px; }
.gw-eyebrow { color: var(--gw-pink); font-size: 11px; font-weight: 700; text-transform: uppercase; letter-spacing: .14em; margin: 0 0 18px; }
.gw-discovery-intro h1, .gw-directory-intro h1 { color: var(--gw-text); font-size: clamp(34px, 4.5vw, 58px); line-height: 1.12; font-weight: 700; letter-spacing: -.045em; margin: 0 0 22px; }
.gw-discovery-intro h1 span { color: #9b9ba3; }
.gw-discovery-intro > p:not(.gw-eyebrow), .gw-directory-intro > p:not(.gw-eyebrow) { color: var(--gw-muted); max-width: 530px; font-size: 16px; line-height: 1.7; margin: 0; }
.gw-intro-actions { display: flex; align-items: center; gap: 26px; margin-top: 28px; }
.gw-text-link { font-size: 14px; }
.gw-creators { padding: 28px 24px 48px; }
.gw-section-heading { display: flex; align-items: baseline; justify-content: space-between; gap: 20px; margin-bottom: 22px; }
.gw-section-heading h2 { margin: 0; font-size: 23px; font-weight: 650; letter-spacing: -.03em; color: var(--gw-text); }
.gw-section-heading > a { font-size: 13px; color: var(--gw-muted); }
.gw-section-heading > a:hover { color: var(--gw-pink); }
.gw-creators-grid { gap: 20px; }
.gw-creator-card { aspect-ratio: auto; border-radius: 8px; border: 1px solid var(--gw-line); background: #131316; transition: border-color .15s; }
.gw-card-portrait { aspect-ratio: 1; overflow: hidden; background: #1b1b20; }
.gw-card-portrait img { height: 100%; width: 100%; object-fit: cover; }
.gw-creator-card:after { display: none; }
.gw-creator-card:hover .gw-creator-card-meta, .gw-creator-card:focus-visible .gw-creator-card-meta { background: rgba(255, 45, 106, 0.85); }
.gw-creator-card:hover .gw-creator-card-meta span, .gw-creator-card:focus-visible .gw-creator-card-meta span { color: #fff; }
.gw-creator-card:hover { transform: none; box-shadow: none; border-color: #686872; }
.gw-creator-card-meta { position: relative; left: auto; right: auto; bottom: auto; padding: 16px; }
.gw-creator-card-meta strong { font-size: 16px; overflow-wrap: anywhere; }
.gw-creator-card-meta > span { font-size: 12px; font-weight: 400; margin-top: 8px; }
.gw-creator-card-meta .gw-card-action { margin-top: 20px; padding-top: 12px; border-top: 1px solid var(--gw-line); color: #e5e5e9; display: flex; justify-content: space-between; }
.gw-card-action span { margin: 0; color: var(--gw-pink); }
.gw-card-portrait .gw-creator-card-empty { display: flex; align-items: center; justify-content: center; color: #5d5d69; font-size: 64px; }
.gw-empty { border: 1px solid var(--gw-line); border-radius: 8px; padding: 36px 24px; text-align: center; }
.gw-empty h3 { color: var(--gw-text); font-size: 18px; margin: 0 0 12px; }
.gw-empty p { color: var(--gw-muted); margin: 0; }
.gw-home-media { border-top: 1px solid var(--gw-line); padding-top: 24px; }
.gw-home-media .title { font-size: 23px; text-transform: none; letter-spacing: -.03em; }

/* Card authors identify the member who published each item. */
.thumb .gw-card-author {
  display: block;
  margin: 2px 0 2px;
  color: #b9b9c2;
  font-size: 11px;
  line-height: 13px;
  font-weight: 600;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.thumb:hover .gw-card-author,
.thumb.hover .gw-card-author { color: #fff; }

/* Video cards keep their details visible, matching album cards on hover. */
.gwfan .thumb--videos .thumb__info {
  padding: 6px 10px;
  transform: none !important;
}
.gwfan .thumb--videos .thumb-spot__title {
  height: 17px;
  margin-bottom: 2px;
  white-space: nowrap;
  text-overflow: ellipsis;
}
.gwfan .thumb--videos:hover .thumb__info,
.gwfan .thumb--videos:hover .thumb__line,
.gwfan .thumb--videos.hover .thumb__info,
.gwfan .thumb--videos.hover .thumb__line {
  background: rgba(255, 45, 106, 0.9) !important;
}
.gwfan .thumb--videos:hover .thumb-spot__data,
.gwfan .thumb--videos.hover .thumb-spot__data {
  color: #fff;
}
.gw-site-footer { border-top: 1px solid var(--gw-line); margin-top: 40px; }
.gw-footer-inner { max-width: 1400px; padding: 32px 24px; margin: auto; display: flex; flex-wrap: wrap; gap: 24px; align-items: center; }
.gw-footer-inner p { color: var(--gw-muted); margin: 0; font-size: 12px; }
.gw-footer-inner nav { margin-left: auto; display: flex; flex-wrap: wrap; gap: 18px; font-size: 12px; color: var(--gw-muted); }
.gw-nav-icon { font-size: 24px; line-height: 26px; }
@media (max-width: 767px) {
 .gw-header-inner { min-height: 60px; padding: 0 16px; gap: 16px; }
 .gw-brand { font-size: 23px; }
 .gw-primary { display: none; }
 .gw-account { gap: 14px; font-size: 13px; }
 .gw-account .gw-action { padding: 9px 14px; font-size: 13px; }
 .gw-discovery-intro, .gw-directory-intro { padding: 36px 16px 24px; }
 .gw-discovery-intro h1, .gw-directory-intro h1 { font-size: 38px; }
 .gw-discovery-intro > p:not(.gw-eyebrow), .gw-directory-intro > p:not(.gw-eyebrow) { font-size: 14px; }
 .gw-intro-actions { gap: 20px; flex-wrap: wrap; }
 .gw-creators { padding: 24px 16px 32px; }
 .gw-section-heading { gap: 12px; }
 .gw-section-heading h2 { font-size: 20px; }
 .gw-section-heading > a { font-size: 11px; }
 .gw-creators-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
 .gw-creator-card-meta { padding: 12px; }
 .gw-creator-card-meta strong { font-size: 13px; }
 .gw-creator-card-meta > span { font-size: 11px; line-height: 1.5; }
 .gw-creator-card-meta .gw-card-action { margin-top: 12px; }
 .gw-site-footer { margin-bottom: calc(72px + env(safe-area-inset-bottom)); }
 .gw-footer-inner { padding: 24px 16px; gap: 18px; }
 .gw-footer-inner nav { margin-left: 0; width: 100%; }
 .gw-dock { grid-template-columns: repeat(2, minmax(0, 1fr)); height: auto; min-height: 64px; }
}
@media (prefers-reduced-motion: reduce) { .gw-creator-card, .gw-creator-card:after { transition: none; } }
.gwfan .main { background: none; }
.gwfan #modal-logon { background: var(--gw-surface); border: 1px solid var(--gw-line); border-radius: 8px; }
.gwfan #modal-logon .title__modal { font-size: 26px; font-weight: 650; }
.gwfan #modal-logon .modal__join__title { font-size: 18px; text-transform: none; }
.gwfan #modal-logon .btn--duble { background: transparent; }
.gwfan #modal-logon .btn--duble strong { font-size: 15px; padding: 13px 18px; border-radius: 6px; text-transform: none; }
.gwfan #modal-logon .btn--duble span { background: transparent !important; color: var(--gw-muted) !important; font-size: 11px; line-height: 1.5; text-transform: none; padding: 12px 0 0; }

/* Album carousel controls share the GWfan accent. */
.gwfan .album-view .flex-direction-nav a:hover .rotated,
.gwfan .album-view .flex-direction-nav a:focus-visible .rotated {
  background: var(--gw-pink);
}
.gwfan .album-view .flex-direction-nav a:focus-visible .rotated i {
  color: #fff;
}

.gwfan .thumb--videos .thumb-spot__data { line-height: 14px; }
/* Unified creator editor, image framing and native token actions. */
.gw-editor { margin: 24px 0 36px; padding: 24px; background: var(--gw-surface); border: 1px solid var(--gw-line); border-radius: 8px; }
.gw-editor-note,.gw-image-field small { color: var(--gw-muted); font-size: 13px; line-height: 1.5; }
.gw-editor label,.gw-action-dialog label { display: block; margin: 16px 0 8px; font-size: 14px; color: var(--gw-text); }
.gw-editor input:not([type=hidden]),.gw-editor textarea,.gw-action-dialog input,.gw-action-dialog textarea { box-sizing:border-box; width:100%; background:#101014; color:var(--gw-text); border:1px solid var(--gw-line); border-radius:5px; padding:10px; font:inherit; }
.gw-editor textarea,.gw-action-dialog textarea { resize:vertical; }
.gw-image-fields { display:grid; grid-template-columns:1fr 1.5fr; gap:24px; }
.gw-image-preview { display:block; width:180px; height:180px; object-fit:cover; border-radius:6px; }
.gw-banner-preview { width:100%; height:auto; aspect-ratio:3; }
.gw-image-field small { display:block; margin-top:8px; }
.gw-image-field button { padding:8px 0; color:var(--gw-pink); background:none; border:0; }
.gw-editor-details { display:grid; grid-template-columns:1fr 1fr .7fr; gap:18px; }
.gw-form-status { font-size:13px; line-height:1.5; color:var(--gw-text); margin:12px 0; }
.gw-crop-dialog,.gw-action-dialog { color:var(--gw-text); background:#16161a; border:1px solid var(--gw-line); border-radius:10px; padding:24px; width:min(580px,calc(100vw - 32px)); max-height:90vh; overflow:auto; }
.gw-crop-dialog::backdrop,.gw-action-dialog::backdrop { background:#000b; }
.gw-crop-dialog h2,.gw-action-dialog h2 { margin:0 0 16px; font-size:23px; color:var(--gw-text); }
.gw-crop-dialog p { color:var(--gw-muted); font-size:13px; }
.gw-crop-dialog canvas { display:block; width:100%; height:auto; max-height:55vh; object-fit:contain; touch-action:none; cursor:move; }
.gw-crop-dialog input[type=range] { width:100%; accent-color:var(--gw-pink); }
.gw-crop-nudge,.gw-crop-actions { display:flex; gap:12px; justify-content:flex-end; margin-top:16px; }
.gw-crop-dialog button,.gw-action-dialog button { padding:10px 16px; border:1px solid var(--gw-line); border-radius:5px; color:white; background:#25252c; }
.gw-crop-actions .gw-action { background:var(--gw-pink); }
.gw-profile-secondary { display:flex; gap:12px; margin-top:12px; }
.gw-profile-secondary a,.gw-profile-secondary button { flex:1; padding:10px 16px; background:var(--gw-surface); border:1px solid var(--gw-line); color:var(--gw-text); border-radius:5px; text-align:center; font-size:13px; }
.gw-profile-secondary button:hover { border-color:var(--gw-pink); }
.gw-token-balance { background:var(--gw-pink-subtle); color:var(--gw-pink); border:1px solid var(--gw-line); border-radius:5px; padding:8px 12px; white-space:nowrap; font:inherit; }
.gw-editor [hidden] { display:none; }
@media(max-width:767px){.gw-editor{padding:16px}.gw-image-fields,.gw-editor-details{grid-template-columns:1fr}.gw-account{gap:8px}.gw-account-link{font-size:11px}.gw-token-balance{padding:7px;font-size:11px}.gw-signout{font-size:11px}.gw-crop-dialog,.gw-action-dialog{padding:16px}.gw-editor .gw-section-heading{align-items:flex-start;flex-direction:column}.gw-site-header .gw-header-inner{gap:8px}}

.gw-message-warning { padding:12px; border:1px solid var(--gw-pink); border-radius:5px; background:rgba(239,42,130,.09); color:var(--gw-text); }

/* Native dialog positioning must override the theme reset. */
dialog.gw-action-dialog { position:fixed; inset:0; margin:auto; box-sizing:border-box; height:fit-content; }
dialog.gw-confirmation-dialog { width:min(340px,calc(100vw - 32px)); padding:28px 24px; text-align:center; }
dialog.gw-confirmation-dialog h2 { font-size:20px; line-height:1.4; margin:0 0 20px; }
dialog.gw-confirmation-dialog > button { display:inline-flex; background:var(--gw-pink); min-width:100px; }
.gw-action-dialog [hidden] { display:none !important; }

/* Shared account layout and discovery cards. */
.gw-account-page, .gw-create { box-sizing:border-box; max-width:1120px; margin:0 auto; padding:38px 24px 70px; font-size:15px; line-height:1.5; }
.gw-account-heading h1, .gw-create .gw-account-heading h1 { margin:0 0 8px; color:var(--gw-text); font-size:clamp(26px,3vw,38px); font-weight:700; line-height:1.2; letter-spacing:-.03em; }
.gw-account-heading p { margin:0; color:var(--gw-muted); font-size:14px; }
.gw-account-tabs { display:flex; flex-wrap:wrap; min-width:0; gap:8px 24px; margin:28px 0; border-bottom:1px solid var(--gw-line); }
.gw-account-tabs a { padding:12px 0; border-bottom:2px solid transparent; color:var(--gw-muted); font-size:14px; font-weight:600; white-space:nowrap; }
.gw-account-tabs a:hover, .gw-account-tabs a[aria-current] { color:var(--gw-text); border-color:var(--gw-pink); }
.gw-header-create { padding:10px 18px; gap:8px; white-space:nowrap; }
.gw-account-page .full-width-box { margin:0; padding:0; background:none; }
.gw-account-page .cols { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:20px; }
.gw-account-page .cols:after { display:none; }
.gw-account-page .cols .col { float:none; width:auto; margin:0; padding:20px; min-width:0; background:var(--gw-surface); border:1px solid var(--gw-line); border-radius:8px; }
.gw-account-page .title, .gw-account-page h2 { font-size:20px; line-height:1.35; font-weight:600; text-transform:none; letter-spacing:-.02em; }
.gw-account-page input, .gw-account-page textarea, .gw-account-page select, .gwfan button { font-family:var(--gw-font); }
.gw-account-page .gw-editor { margin-top:28px; }
.gw-creators-grid, .gw-feed .gw-grid { grid-template-columns:repeat(4,minmax(0,1fr)); gap:16px; }
.gw-creator-card, .gw-feed-photos .gw-card { aspect-ratio:2/3; border-radius:8px; border:1px solid var(--gw-line); }
.gw-feed-photos .gw-card { aspect-ratio:288/380; }
.gw-card-portrait { position:absolute; inset:0; aspect-ratio:auto; }
.gw-creator-card-meta, .gw-media-meta { position:absolute; left:0; right:0; bottom:0; z-index:2; padding:12px; background:linear-gradient(transparent,rgba(12,12,14,.95)); color:var(--gw-text); }
.gw-creator-card-meta strong, .gw-media-meta strong { display:block; font-size:14px; line-height:1.4; font-weight:600; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.gw-creator-card-meta > span, .gw-media-meta > span { display:block; margin-top:4px; color:#d4d4da; font-size:12px; line-height:1.5; font-weight:400; }
.gw-card .gw-badge { top:10px; bottom:auto; max-width:calc(100% - 20px); box-sizing:border-box; font-size:11px; font-weight:600; letter-spacing:0; }
.gw-feed-videos .gw-card { aspect-ratio:16/10; border-radius:8px; }
.gw-card:hover .gw-media-meta, .gw-card:focus-visible .gw-media-meta, .gw-creator-card:hover .gw-creator-card-meta, .gw-creator-card:focus-visible .gw-creator-card-meta { background:rgba(255,45,106,.9); }
.gw-feed .gw-lock-pill { min-width:40px; min-height:40px; padding:8px; font-size:12px; }
.gwfan .thumb-spot__title { font-size:14px; font-weight:600; }
.gwfan .thumb--albums, .gwfan .thumb--videos { border-radius:8px; }
@media(max-width:991px) { .gw-account-page .cols { grid-template-columns:1fr; } .gw-creators-grid, .gw-feed .gw-grid { grid-template-columns:repeat(3,minmax(0,1fr)); } }
@media(max-width:767px) {
 .gw-account-page, .gw-create { padding:28px 16px 48px; }
 .gw-account-tabs { gap:24px; margin:24px 0; }
 .gw-account-tabs a { font-size:13px; }
 .gw-creators-grid, .gw-feed .gw-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:12px; }
 .gw-header-inner { flex-wrap:wrap; padding-top:10px; padding-bottom:10px; }
 .gw-account { flex-wrap:wrap; justify-content:flex-end; }
 .gw-account .gw-header-create { padding:8px 12px; font-size:12px; }
 .gw-creator-card-meta, .gw-media-meta { padding:10px; }
 .gw-creator-card-meta strong, .gw-media-meta strong { font-size:13px; }
}
@media(prefers-reduced-motion:reduce) { .gw-card, .gw-card img { transition:none; } }
@media(max-width:520px) { .gw-header-inner { flex-wrap:nowrap; gap:8px; min-width:0; } .gw-account { flex-wrap:nowrap; gap:8px; min-width:0; } .gw-account-link, .gw-signout { font-size:11px; white-space:nowrap; } .gw-token-balance { display:none; } }

/* Account and voucher dialogs: shared site palette and clear primary actions. */
.fancybox-skin:has(.gw-account-modal) { background: var(--gw-surface); border: 1px solid var(--gw-line-hover); border-radius: 18px; box-shadow: 0 24px 80px #0009; color: var(--gw-text); }
.gw-account-modal, .gw-account-modal * { box-sizing: border-box; }
.gw-account-modal { width: 440px; max-width: 100%; padding: 28px; background: var(--gw-surface); color: var(--gw-text); font-family: var(--gw-font); border-radius: 14px; }
.gw-account-modal .modal__window { width: auto; padding: 0; background: none; border: 0; }
.gw-account-modal .title__modal { margin: 0 0 12px; padding: 0; color: var(--gw-text); font-size: 26px; font-weight: 700; line-height: 1.2; text-align: left; text-transform: none; background: none; }
.gw-account-modal p { margin: 0 0 20px; color: #c5c5cd; font-size: 14px; line-height: 1.6; }
.gw-account-modal .popup-holder { padding: 0; }
.gw-account-modal .row, .gw-account-modal .modal__window__row { margin: 0 0 16px; padding: 0; }
.gw-account-modal label { display: block; margin: 0 0 8px; color: var(--gw-text); font-size: 13px; font-weight: 600; line-height: 1.4; }
.gw-account-modal .textfield, .gw-account-modal .input { display: block; width: 100%; height: 46px; padding: 12px 14px; border: 1px solid #45454f; border-radius: 8px; background: var(--gw-bg); color: var(--gw-text); font: 400 16px var(--gw-font); box-shadow: none; }
.gw-account-modal input::placeholder { color: #a6a6b0; opacity: 1; }
.gw-account-modal input:focus { border-color: var(--gw-pink); outline: 2px solid var(--gw-pink-subtle); outline-offset: 2px; }
.gw-account-button { display: inline-flex; align-items: center; justify-content: center; width: 100%; min-height: 46px; margin: 8px 0 0; padding: 12px 18px; border: 0; border-radius: 8px; background: var(--gw-pink); color: var(--gw-on-accent) !important; font: 600 15px/1.4 var(--gw-font); text-align: center; text-decoration: none; cursor: pointer; }
.gw-account-button:hover { background: var(--gw-pink-hover); }
.gw-account-button:focus-visible { outline: 2px solid var(--gw-text); outline-offset: 3px; }
.gw-account-button:disabled { opacity: .6; cursor: wait; }
.gw-account-button--secondary { background: var(--gw-surface-hover); border: 1px solid #555560; color: var(--gw-text) !important; }
.gw-account-button--secondary:hover { background: #303038; }
.gw-account-modal .bottom, .gw-account-modal .btn__row { padding: 0; margin: 16px 0 0; background: none; }
.gw-account-modal .captcha-control { margin-bottom: 16px; }
.gw-account-modal .field-error, .gw-account-modal .generic-error { position: static; color: #ff9eb9; font-size: 13px; line-height: 1.5; }
.gw-account-modal .gw-account-footer { margin: 20px 0 0; text-align: center; font-size: 13px; }
.gw-account-footer a { color: #ff80a5; font-weight: 600; }
.gw-account-confirmation { text-align: center; }
.gw-account-confirmation .title__modal { text-align: center; }
.gw-account-confirmation .success { margin: 0 0 24px; padding: 0; background: none; border: 0; color: #d6d6dd; font-size: 15px; line-height: 1.6; }
.gw-account-check { display: flex; align-items: center; justify-content: center; width: 52px; height: 52px; margin: 0 auto 20px; border-radius: 50%; background: var(--gw-pink-subtle); color: #ff80a5; font-size: 26px; }
@media (max-width: 520px) { .gw-account-modal { width: 100%; padding: 22px 12px; } .gw-account-modal .title__modal { font-size: 23px; } }
.gw-account-modal.modal .title__modal { margin: 0 0 12px !important; border-bottom: 0; }
.gw-account-creator-link { display: flex; flex-direction: column; gap: 5px; margin: 0 0 24px; padding: 14px 16px; border: 1px solid #ff80a580; border-radius: 8px; background: var(--gw-pink-subtle); color: var(--gw-text); font-size: 14px; line-height: 1.5; }
.gw-account-creator-link span { color: #ff9eb9; }
.gw-account-creator-link:hover { background: #ff2d6a30; border-color: var(--gw-pink); }
.gw-account-creator-link:focus-visible { outline: 2px solid var(--gw-pink); outline-offset: 3px; }

/* Profile actions and compact fan signup — 2026-09-13. */
.gw-profile-actions { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:8px; width:100%; max-width:480px; }
.gw-profile-actions .gw-btn { flex-direction:column; min-width:0; width:100%; min-height:50px; padding:8px 10px; box-sizing:border-box; font-size:13px; line-height:1.3; text-align:center; }
.gw-profile-actions .gw-btn small { display:block; margin-top:0; font-size:11px; font-weight:400; }
.gw-profile-actions .gw-form-status { grid-column:1/-1; margin:0; }
.gwfan .album-view + .info-bar .btn__like { color:#fff !important; }
.gwfan .album-view + .info-bar .btn__dislike { color:var(--gw-pink) !important; }
.gw-signup-modal { padding:18px 22px; }
.gw-signup-modal .gw-account-creator-link { flex-direction:row; align-items:center; margin-bottom:12px; padding:9px 12px; }
.gw-signup-modal .row { margin-bottom:9px; }
.gw-signup-modal .field-label { margin:0 0 3px; padding:0; }
.gw-signup-modal .textfield { height:40px; padding:8px 10px; }
.gw-signup-modal .bottom { margin-top:10px; }
.gw-signup-modal .captcha-control { margin-bottom:0; }
.gw-signup-modal .captcha-control .image { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); grid-template-rows:auto auto; align-items:center; column-gap:12px; row-gap:3px; padding:0; margin:0; width:100%; }
.gw-signup-modal .captcha-control .image img { position:static; float:none; width:100%; height:auto; margin:0; grid-column:1; grid-row:1/3; }
.gw-signup-modal .captcha-control .image label { margin:0; width:auto; grid-column:2; grid-row:1; align-self:end; }
.gw-signup-modal .captcha-control .image input { width:100%; margin:0; grid-column:2; grid-row:2; align-self:start; }
.gw-signup-modal .captcha-control .field-error { grid-column:1/-1; }
.gw-signup-modal .gw-account-footer { margin-top:12px; }
@media(max-width:520px) { .gw-signup-modal { padding:16px 10px; } }

/* Follow-up: equal creator actions and shared login treatment. */
.gw-profile-actions { align-items:stretch; }
.gw-profile-actions > .gw-btn { height:44px; min-height:44px; margin:0; align-self:stretch; border-radius:8px; padding:5px 12px; }
.gw-signup-modal .gw-account-creator-link { justify-content:space-between; gap:8px; font-size:13px; white-space:nowrap; }
.gw-signup-modal .gw-account-creator-link > span { text-decoration:underline; font-weight:600; }
.gw-login-modal .modal__window__form { width:100%; float:none; padding:0; margin:0; }
.gw-login-modal .modal__window__label { padding:0; margin-bottom:4px; }
.gw-login-modal .btn__row { display:flex; flex-direction:column; gap:12px; }
.gw-login-modal .btn__row .gw-account-button { margin:0; }
.gw-login-modal .link__holder { display:flex; justify-content:space-between; gap:12px; float:none; margin:0; width:100%; font-size:12px; line-height:1.5; }
.gw-login-modal .link__holder br { display:none; }
.gw-login-modal .link__holder a { color:#ff80a5; }
.gw-login-modal .gw-login-join { border-top:1px solid var(--gw-line); padding-top:12px; margin-top:16px; font-size:12px; color:var(--gw-muted); }

/* Packages come directly from KVS billing configuration. */
.gw-token-packages { border:0; padding:0; margin:0; min-width:0; }
.gw-token-packages legend { color:var(--gw-text); font-size:14px; margin-bottom:12px; }
.gw-token-packages .gw-token-package { display:flex; align-items:center; gap:10px; padding:12px; border:1px solid var(--gw-line); border-radius:8px; margin-bottom:10px; cursor:pointer; }
.gw-token-package:has(input:checked) { border-color:var(--gw-pink); background:var(--gw-pink-subtle); }
.gw-token-package input { flex:none; width:18px; height:18px; accent-color:var(--gw-pink); }
.gw-token-package > span { flex:1; min-width:0; }
.gw-token-package small { display:block; margin-top:4px; font-size:11px; font-weight:400; color:var(--gw-muted); overflow-wrap:anywhere; }
.gw-token-price { white-space:nowrap; font-size:13px; }

/* Refined proportions, login alignment and album creator card. */
@media(min-width:768px) { .gw-side:has(.gw-profile-actions) { min-width:340px; } }
.gw-login-modal { width:min(380px,calc(100vw - 40px)); max-width:none; padding:24px; margin:0 auto; }
.gw-login-modal .title__modal { text-align:center; font-size:24px; }
.gw-account-modal .gw-account-footer a, .gw-login-modal .link__holder a { color:var(--gw-pink); text-transform:none; }
.gw-login-modal .modal__window__row { margin-bottom:12px; }
.gw-login-modal .link__holder { justify-content:center; gap:20px; }
.gw-login-modal .gw-login-join { text-align:center; }
.fancybox-skin:has(.gw-login-modal) { padding:0 !important; border-radius:10px; }
.gw-login-modal .input { height:42px; }
.gw-album-creator { display:flex; align-items:flex-start; gap:16px; float:none; width:100%; padding:0; }
.gw-album-creator .media-box__img { flex:0 0 88px; width:88px; height:88px; margin:0; float:none; }
.gw-album-creator .media-box__img img { display:block; width:88px; height:88px; object-fit:cover; border-radius:8px; }
.gw-album-creator .media-box__content { flex:1; min-width:0; margin:0; padding:0; }
.gw-album-creator .media-box__title { margin:0 0 6px; font-size:16px; text-transform:none; }
.gw-album-bio { color:var(--gw-muted); font-size:13px; line-height:1.5; margin:0 0 8px; overflow-wrap:anywhere; }
.gw-album-facts { display:flex; flex-wrap:wrap; gap:6px 12px; color:var(--gw-muted); font-size:12px; margin:0 0 12px; }
.gw-album-facts:empty { display:none; }
.gw-album-creator .gw-view-profile { min-width:0; width:auto; min-height:40px; padding:8px 18px; border-radius:8px; box-shadow:none; font-size:13px; line-height:1.3; }
@media(max-width:520px) { .gw-login-modal { padding:22px 18px; } .gw-album-creator { gap:12px; } .gw-album-creator .media-box__img,.gw-album-creator .media-box__img img { width:64px; height:64px; } .gw-album-creator .media-box__img { flex-basis:64px; } }

/* Recovery and support share the account dialog system. */
.gw-support-modal { width:min(400px,calc(100vw - 40px)); max-width:none; padding:24px; }
.gw-support-modal .modal__window__form { float:none; width:100%; padding:0; margin:0; }
.gw-support-modal .modal__window__label { padding:0; }
.gw-support-modal .title__modal { text-align:center; }
.gw-support-modal textarea.input { height:auto; min-height:100px; resize:vertical; }
.gw-support-modal .captcha-control .image { display:flex; align-items:center; gap:12px; padding:0; }
.gw-support-modal .captcha-control .image img { position:static; width:45%; height:auto; margin:0; float:none; }
.gw-support-modal .captcha-control .image .relative { flex:1; min-width:0; }
.gw-support-modal .captcha-control .title_tiny { margin:0 0 8px; font-size:12px; line-height:1.5; }
.fancybox-skin:has(.gw-support-modal) { padding:0 !important; border-radius:10px; }

/* Fancybox keeps legacy inline widths: size its wrapper as well as the form. */
.fancybox-wrap:has(.gw-login-modal) { width:min(380px,calc(100vw - 40px)) !important; left:50% !important; transform:translateX(-50%); }
.fancybox-wrap:has(.gw-support-modal) { width:min(400px,calc(100vw - 40px)) !important; left:50% !important; transform:translateX(-50%); }
.fancybox-wrap:has(.gw-login-modal) .fancybox-inner,.fancybox-wrap:has(.gw-support-modal) .fancybox-inner { width:100% !important; }
.fancybox-wrap .gw-login-modal,.fancybox-wrap .gw-support-modal { width:100%; }

/* Native login: override the legacy ID widths, not just the outer dialog. */
#modal-logon.gw-login-modal { width:100%; max-width:100%; min-width:0; margin:0; padding:28px 24px 22px; border:0; background:var(--gw-surface); border-radius:10px; }
#modal-logon.gw-login-modal form,#modal-logon.gw-login-modal .modal__window,#modal-logon.gw-login-modal .modal__window__form { width:100%; min-width:0; margin:0; padding:0; float:none; }
#modal-logon.gw-login-modal .modal__window__row { width:100%; margin:0 0 14px; }
#modal-logon.gw-login-modal .btn__row { width:100%; float:none; margin:18px 0 0; padding:0; }
#modal-logon.gw-login-modal .input { float:none; width:100%; min-width:0; }
#modal-logon.gw-login-modal .link__holder { flex-wrap:wrap; gap:8px 20px; }
#modal-logon.gw-login-modal .field-error,#modal-logon.gw-login-modal .generic-error { max-width:100%; white-space:normal; overflow-wrap:anywhere; background:none; border:0; padding:0; }
#modal-logon.gw-login-modal .field-error:before,#modal-logon.gw-login-modal .field-error:after { display:none; }
#modal-logon.gw-login-modal .captcha-control .image { display:flex; gap:12px; align-items:center; padding:0; }
#modal-logon.gw-login-modal .captcha-control .image img { position:static; float:none; width:42%; height:auto; margin:0; }
#modal-logon.gw-login-modal .captcha-control .image .relative { flex:1; min-width:0; }
.fancybox-wrap:has(.gw-login-modal) { position:fixed !important; top:50% !important; left:50% !important; transform:translate(-50%,-50%); }
.fancybox-wrap:has(.gw-login-modal) .fancybox-inner { max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px); height:auto !important; }
.fancybox-wrap:has(.gw-login-modal) .fancybox-close { top:8px; right:8px; }
@media(max-width:400px) { #modal-logon.gw-login-modal { padding:26px 18px 20px; } }

#modal-logon.gw-login-modal .modal__window__row > .relative { width:100%; float:none; margin:0; }
#modal-logon.gw-login-modal .modal__window__label { display:block; width:100%; float:none; text-align:left; padding:0; margin:0 0 5px; }


/* Direct auth pages use the shared shell while popup responses remain fragments. */
.gw-direct-auth-page { width:min(calc(100% - 32px), 480px); margin:36px auto 72px; padding:0; }
.gw-direct-auth-page > h1 { margin:0 0 16px; color:var(--gw-text); font-size:clamp(24px,4vw,30px); line-height:1.2; text-align:center; }
.gw-direct-auth-card { width:100%; min-width:0; }
.gw-direct-auth-card > .gw-account-modal { display:block; width:100%; max-width:100%; margin:0; box-shadow:none; }
.gw-direct-auth-card > .gw-account-modal:not(.gw-account-confirmation) .title__modal { display:none; }
.gw-direct-auth-card #modal-logon.gw-login-modal { width:100%; max-width:100%; }
@media(max-width:520px) { .gw-direct-auth-page { width:calc(100% - 24px); margin:24px auto 84px; } }

/* Keep the fan signup dialog centered in the visible viewport on desktop. */
.fancybox-wrap:has(.gw-signup-modal) { position:fixed !important; top:50% !important; left:50vw !important; width:min(472px,calc(100vw - 40px)) !important; transform:translate(-50%,-50%); }
.fancybox-wrap:has(.gw-signup-modal) .fancybox-inner { width:100% !important; max-height:calc(100vh - 40px); max-height:calc(100dvh - 40px); height:auto !important; overflow-y:auto; }
.fancybox-wrap:has(.gw-signup-modal) .fancybox-close { top:8px; right:8px; }
/* Red-team UX fixes: mixed creator feeds, accessible profile names and shared navigation. */
.gw-handle { margin: 0; }
.gw-empty.is-hidden { display: none !important; }
.gw-empty-posts { margin: 24px auto; text-align: center; }
.gw-account-tabs { overflow-x: auto; scrollbar-width: thin; }
.gw-account-tabs a { flex: 0 0 auto; }
.gw-topup-context { margin: 0 0 16px; padding: 12px 14px; border: 1px solid var(--gw-line); border-radius: 8px; background: var(--gw-bg); color: var(--gw-text); font-size: 14px; line-height: 1.5; }
.gw-topup-return { max-width: 1120px; margin: 16px auto; padding: 12px 16px; border: 1px solid var(--gw-line); border-radius: 8px; color: var(--gw-text); background: var(--gw-surface); font-size: 14px; line-height: 1.5; }
.gw-subscription-meta { display: flex; flex-wrap: wrap; gap: 6px 12px; margin: 8px 0 0; color: var(--gw-muted); font-size: 13px; }
@media (max-width: 767px) {
  .gw-account-tabs { gap: 20px; }
  .gw-topup-return { margin: 12px 16px; }
}

/* Compact, readable access prompts replace the legacy oversized join banner copy. */
.media-access-notice { padding:16px; border:1px solid var(--gw-line); border-radius:8px; background:var(--gw-surface); color:var(--gw-text); font-size:14px; line-height:1.5; text-align:center; }
.album-view > .media-access-notice { margin:0 0 16px; }
.media-container__join--access { text-transform:none; }
.media-container__join--access .media-container__join__img { opacity:.35; }
.media-container__join--access .media-container__join__text { padding:clamp(24px,6vw,64px) 16px; }
.media-container__join--access .media-container__join__text strong { font-size:clamp(20px,4vw,42px); line-height:1.2; }
.media-container__join--access .media-container__join__text span { font-size:clamp(15px,2vw,22px); line-height:1.5; }


/* 2026-09-23 — shared auth dialogs and restricted-media previews. */
.gw-signup-consent { margin-top: 2px !important; }
.gw-signup-consent .gw-checkbox-label {
  display: flex !important;
  align-items: flex-start;
  gap: 10px;
  margin: 0 !important;
  color: var(--gw-muted);
  font-size: 12px;
  font-weight: 400;
  line-height: 1.5;
  cursor: pointer;
}
.gw-signup-consent .gw-checkbox-label input[type="checkbox"] {
  flex: 0 0 auto;
  width: 17px;
  height: 17px;
  margin: 2px 0 0;
  accent-color: var(--gw-pink);
}
.gw-signup-consent .gw-checkbox-label span { min-width: 0; }
.gw-signup-consent .gw-checkbox-label a { color: var(--gw-pink); text-decoration: underline; }
.gw-signup-consent .field-error { margin-left: 27px; }

.gw-support-modal { width: min(440px, calc(100vw - 32px)); padding: 24px; }
.gw-support-modal .modal__window__form { width: 100%; min-width: 0; float: none; margin: 0; padding: 0; }
.gw-support-modal .modal__window__row { width: 100%; display: block; margin: 0 0 16px; padding: 0; }
.gw-support-modal .modal__window__label {
  display: block;
  width: 100%;
  float: none;
  margin: 0 0 6px;
  padding: 0;
  text-align: left;
}
.gw-support-modal .modal__window__row > .relative,
.gw-support-modal .modal__window__row .image { width: 100%; min-width: 0; float: none; margin: 0; }
.gw-support-modal textarea.input { min-height: 180px; height: 180px; resize: vertical; line-height: 1.5; }
.gw-support-modal .captcha-control .image { display: flex; align-items: flex-start; gap: 14px; padding: 0; }
.gw-support-modal .captcha-control .image img { flex: 0 0 40%; position: static; width: 40%; height: auto; margin: 0; float: none; }
.gw-support-modal .captcha-control .image .relative { flex: 1; min-width: 0; }
.gw-support-modal .captcha-control .image .modal__window__label { margin-bottom: 6px; }
.gw-support-modal .captcha-control .image .input { height: 42px; }
.gw-support-modal .captcha-control > .modal__window__label { margin-bottom: 8px; }
.gw-support-modal .captcha-control > .image.relative { width: 100%; }
.fancybox-wrap:has(.gw-support-modal) { position: fixed !important; top: 50% !important; width: min(440px, calc(100vw - 32px)) !important; left: 50% !important; transform: translate(-50%, -50%); }
.fancybox-wrap:has(.gw-support-modal) .fancybox-inner { width: 100% !important; max-height: calc(100vh - 32px); max-height: calc(100dvh - 32px); height: auto !important; overflow-y: auto; }
.fancybox-wrap .gw-support-modal { width: 100%; }
.gw-feedback-modal .modal__window__form { max-width: none; }
.gw-feedback-modal .gw-account-button,
.gw-recovery-modal .gw-account-button { margin-top: 4px; }

/* Keep the restricted album banner and video fake player in one visual language. */
.media-container__join--access {
  min-height: clamp(220px, 42vw, 500px);
  overflow: hidden;
  border: 1px solid var(--gw-line);
  border-radius: 8px;
  background: #0b0b0e;
}
.media-container__join--access .media-container__join__img {
  opacity: .62;
  filter: blur(18px) saturate(.82);
  transform: scale(1.12);
  object-fit: cover;
}
.media-container__join--access .media-container__join__text {
  display: flex;
  min-height: 100%;
  box-sizing: border-box;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: clamp(42px, 8vw, 96px) 20px;
  background: linear-gradient(180deg, rgba(12,12,14,.56), rgba(255,45,106,.24));
  text-shadow: 0 2px 16px rgba(0,0,0,.7);
}
.media-container__join--access .media-container__join__text strong {
  color: #fff !important;
  font-size: clamp(24px, 4vw, 44px);
  line-height: 1.2;
}
.media-container__join--access .media-container__join__text span {
  max-width: 720px;
  color: #fff !important;
  font-size: clamp(15px, 2vw, 22px);
  line-height: 1.5;
}
.media-container__join--album {
  display: flex;
  align-items: stretch;
  justify-content: center;
  height: auto;
  min-height: 150px;
  padding: 0;
  text-transform: none;
}
.media-container__join--album .lock {
  position: static;
  display: flex;
  flex: 0 0 58px;
  align-items: center;
  justify-content: center;
  padding: 0;
  background: rgba(107,20,51,.76) !important;
  color: #fff !important;
  font-size: 28px;
}
.media-container__join--album .media-container__join__text { flex: 1; }
.media-container__join--album:hover { border-color: var(--gw-pink); }

/* Stronger privacy veil for public cards and locked album image previews. */
.gw-card-locked > img {
  filter: blur(18px) saturate(.82);
  transform: scale(1.1);
}
.album-images__item.disabled { overflow: hidden; }
.album-images__item.disabled img {
  opacity: .58;
  filter: blur(16px) saturate(.82);
  transform: scale(1.12);
}
.album-images__item.disabled:hover img { transform: scale(1.12); }

@media (max-width: 520px) {
  .gw-support-modal { padding: 22px 16px; }
  .gw-support-modal textarea.input { min-height: 150px; height: 150px; }
  .gw-support-modal .captcha-control .image { gap: 10px; }
  .gw-support-modal .captcha-control .image img { flex-basis: 42%; width: 42%; }
  .media-container__join--access { min-height: 220px; }
  .media-container__join--album .lock { flex-basis: 42px; font-size: 22px; }
}


/* 2026-09-23 follow-up — compact access banners, wider dialogs and screenshot privacy. */
.gw-support-modal,
.gw-recovery-modal {
  width: min(560px, calc(100vw - 24px));
  max-width: 100%;
  min-width: 0;
  box-sizing: border-box;
  overflow-x: hidden;
}
.gw-support-modal *,
.gw-recovery-modal * { box-sizing: border-box; }
.gw-support-modal .modal__window__form,
.gw-recovery-modal .modal__window__form { min-width: 0; max-width: 100%; }
.gw-support-modal .input,
.gw-recovery-modal .input,
.gw-support-modal textarea,
.gw-recovery-modal textarea { max-width: 100%; min-width: 0; }
.fancybox-wrap:has(.gw-support-modal),
.fancybox-wrap:has(.gw-recovery-modal) {
  position: fixed !important;
  top: 50% !important;
  left: 50% !important;
  width: min(560px, calc(100vw - 24px)) !important;
  max-width: calc(100vw - 24px) !important;
  transform: translate(-50%, -50%);
}
.fancybox-wrap:has(.gw-support-modal) .fancybox-inner,
.fancybox-wrap:has(.gw-recovery-modal) .fancybox-inner {
  width: 100% !important;
  max-width: 100%;
  max-height: calc(100vh - 24px);
  max-height: calc(100dvh - 24px);
  height: auto !important;
  overflow-x: hidden;
  overflow-y: auto;
}
.fancybox-wrap .gw-support-modal,
.fancybox-wrap .gw-recovery-modal { width: 100%; }
.gw-direct-auth-page { max-width: 560px; }

/* The access prompt is intentionally a short banner; the blurred preview remains behind it. */
.media-container__join--access {
  min-height: 112px;
  max-height: 180px;
  overflow: hidden;
  border: 1px solid var(--gw-line);
  border-radius: 8px;
  background: #0b0b0e;
}
.media-container__join--access .media-container__join__img {
  opacity: .56;
  filter: blur(12px) saturate(.84);
  transform: scale(1.08);
  object-fit: cover;
}
.media-container__join--access .media-container__join__text {
  display: flex;
  min-height: 100%;
  box-sizing: border-box;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 24px 20px;
  background: linear-gradient(180deg, rgba(12,12,14,.56), rgba(255,45,106,.22));
  text-align: center;
  text-shadow: 0 2px 16px rgba(0,0,0,.7);
}
.media-container__join--access .media-container__join__text strong {
  color: #fff !important;
  font-size: clamp(20px, 3vw, 30px);
  line-height: 1.2;
}
.media-container__join--access .media-container__join__text span {
  max-width: 720px;
  color: #fff !important;
  font-size: clamp(14px, 1.8vw, 18px);
  line-height: 1.45;
}
.gw-locked-screenshots { overflow: hidden; }
.gw-locked-screenshots a { display: block; overflow: hidden; }
.gw-locked-screenshots img {
  filter: blur(8px) saturate(.86);
  transform: scale(1.05);
}
.album-images__item.disabled img {
  opacity: .66;
  filter: blur(6px) saturate(.86);
  transform: scale(1.06);
}
.album-images__item.disabled:hover img { transform: scale(1.06); }

@media (max-width: 520px) {
  .gw-support-modal,
  .gw-recovery-modal { width: calc(100vw - 24px); }
  .fancybox-wrap:has(.gw-support-modal),
  .fancybox-wrap:has(.gw-recovery-modal) {
    width: calc(100vw - 24px) !important;
    max-width: calc(100vw - 24px) !important;
  }
  .media-container__join--access { min-height: 104px; max-height: 150px; }
  .media-container__join--access .media-container__join__text { padding: 20px 14px; }
  .media-container__join--access .media-container__join__text strong { font-size: 20px; }
  .media-container__join--access .media-container__join__text span { font-size: 14px; }
}


/* Keep locked album listing cards readable while video previews stay strongly veiled. */
.gw-card--album.gw-card-locked > img {
  filter: blur(6px) saturate(.86);
  transform: scale(1.06);
}


/* 2026-09-23 follow-up — shared popup surface and compact recovery width. */
.gw-login-modal,
.gw-signup-modal { background: transparent !important; }
.fancybox-wrap:has(.gw-recovery-modal) {
  width: min(380px, calc(100vw - 40px)) !important;
  max-width: calc(100vw - 40px) !important;
}
.fancybox-wrap:has(.gw-recovery-modal) .fancybox-inner { width: 100% !important; }
.gw-recovery-modal {
  width: 100% !important;
  max-width: 100%;
}
@media (max-width: 520px) {
  .fancybox-wrap:has(.gw-recovery-modal) {
    width: calc(100vw - 40px) !important;
    max-width: calc(100vw - 40px) !important;
  }
}


/* 2026-09-23 — premium video uses the album banner plus a visual-only player preview. */
.gw-video-access-banner {
  width: 100%;
  margin: 0 0 16px;
}
.gw-video-fake-player {
  display: block;
  width: 100%;
  box-sizing: border-box;
  position: relative;
  min-height: clamp(220px, 42vw, 500px);
  aspect-ratio: 16 / 9;
  overflow: hidden;
  border: 1px solid var(--gw-line);
  border-radius: 8px;
  background: #0b0b0e;
}
.gw-video-fake-player img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  opacity: .62;
  filter: blur(18px) saturate(.82);
  transform: scale(1.12);
}
.gw-video-fake-player__play {
  position: absolute;
  top: 50%;
  left: 50%;
  display: flex;
  width: 72px;
  height: 72px;
  align-items: center;
  justify-content: center;
  border: 2px solid rgba(255,255,255,.92);
  border-radius: 50%;
  background: rgba(255,45,106,.88);
  color: #fff;
  font-size: 28px;
  transform: translate(-50%, -50%);
  box-shadow: 0 8px 30px rgba(0,0,0,.45);
}
.gw-video-fake-player__play i { margin-left: 4px; }
@media (max-width: 520px) {
  .gw-video-fake-player { min-height: 220px; }
  .gw-video-fake-player__play { width: 60px; height: 60px; font-size: 23px; }
}


/* Keep the fake player inside the same content column on narrow screens. */
.gw-video-fake-player {
  width: 100%;
  height: clamp(220px, 42vw, 500px);
  min-height: 0;
  aspect-ratio: auto;
  box-sizing: border-box;
}
@media (max-width: 520px) {
  .gw-video-fake-player { height: 220px; }
}


/* 2026-09-23 — remove the legacy modal image and keep both vote icons white. */
.gw-login-modal,
.gw-signup-modal,
.gw-support-modal,
.gw-recovery-modal { background-image: none !important; }
.gwfan .btn__vote.btn__like,
.gwfan .btn__vote.btn__like:hover,
.gwfan .btn__vote.btn__like.voted,
.gwfan .btn__vote.btn__dislike,
.gwfan .btn__vote.btn__dislike:hover,
.gwfan .btn__vote.btn__dislike.voted {
  color: #fff !important;
  text-shadow: none !important;
}


/* Album rating colors have a more specific legacy rule; keep both icons white. */
.gwfan .album-view + .info-bar .btn__vote.btn__like,
.gwfan .album-view + .info-bar .btn__vote.btn__like:hover,
.gwfan .album-view + .info-bar .btn__vote.btn__dislike,
.gwfan .album-view + .info-bar .btn__vote.btn__dislike:hover {
  color: #fff !important;
  text-shadow: none !important;
}


/* 2026-09-23 — real member subscription history and renewal controls. */
.gw-subscriptions-panel {
  margin: 0 0 28px;
  padding: 24px;
  border: 1px solid var(--gw-line);
  border-radius: 10px;
  background: var(--gw-surface);
  color: var(--gw-text);
}
.gw-subscriptions-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  margin-bottom: 20px;
}
.gw-subscriptions-heading h2 { margin: 0 0 6px; }
.gw-subscriptions-heading p { margin: 0; color: var(--gw-muted); font-size: 14px; }
.gw-subscriptions-count {
  display: inline-flex;
  min-width: 30px;
  height: 30px;
  align-items: center;
  justify-content: center;
  padding: 0 8px;
  border-radius: 999px;
  background: var(--gw-pink-subtle);
  color: var(--gw-pink);
  font-size: 13px;
  font-weight: 700;
}
.gw-subscriptions-flash {
  margin: 0 0 16px;
  padding: 12px 14px;
  border: 1px solid rgba(255, 45, 106, .35);
  border-radius: 8px;
  background: rgba(255, 45, 106, .1);
  color: #ffd9e4;
  font-size: 13px;
  line-height: 1.5;
}
.gw-subscriptions-flash--error { border-color: rgba(255, 148, 148, .45); background: rgba(255, 90, 90, .1); color: #ffc8c8; }
.gw-subscriptions-list { display: grid; gap: 10px; }
.gw-subscription-row {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding: 14px;
  border: 1px solid var(--gw-line);
  border-radius: 8px;
  background: var(--gw-bg);
}
.gw-subscription-identity { display: flex; min-width: 0; align-items: center; gap: 12px; }
.gw-subscription-avatar {
  width: 48px;
  height: 48px;
  flex: 0 0 48px;
  border-radius: 50%;
  object-fit: cover;
  background: #25252d;
}
.gw-subscription-avatar--empty { display: flex; align-items: center; justify-content: center; color: var(--gw-muted); font-weight: 700; }
.gw-subscription-copy { display: grid; min-width: 0; gap: 3px; }
.gw-subscription-title { overflow: hidden; color: var(--gw-text); font-size: 15px; font-weight: 700; text-overflow: ellipsis; white-space: nowrap; }
a.gw-subscription-title:hover { color: var(--gw-pink); }
.gw-subscription-handle { color: var(--gw-muted); font-size: 12px; }
.gw-subscription-details { display: flex; flex-wrap: wrap; gap: 4px 12px; color: var(--gw-muted); font-size: 12px; line-height: 1.5; }
.gw-subscription-status { font-weight: 700; }
.gw-subscription-row--active .gw-subscription-status { color: #9fe4bc; }
.gw-subscription-row--cancelled .gw-subscription-status { color: #ffd18a; }
.gw-subscription-row--expired .gw-subscription-status { color: #a8a8b2; }
.gw-subscription-action { flex: 0 0 auto; }
.gw-subscription-action form { margin: 0; }
.gw-subscription-button {
  display: inline-flex;
  min-height: 38px;
  align-items: center;
  justify-content: center;
  padding: 9px 14px;
  border: 1px solid var(--gw-pink);
  border-radius: 7px;
  background: var(--gw-pink);
  color: var(--gw-on-accent) !important;
  font: 600 13px/1.2 var(--gw-font);
  text-decoration: none;
  cursor: pointer;
}
.gw-subscription-button:hover { background: var(--gw-pink-hover); border-color: var(--gw-pink-hover); }
.gw-subscription-button--secondary { border-color: #4c4c58; background: var(--gw-surface-hover); }
.gw-subscription-button--secondary:hover { border-color: var(--gw-pink); background: var(--gw-surface); }
.gw-subscription-button:focus-visible { outline: 2px solid var(--gw-text); outline-offset: 3px; }
.gw-subscriptions-empty { padding: 28px 0 12px; text-align: center; }
.gw-subscriptions-empty h3 { margin: 0 0 8px; color: var(--gw-text); font-size: 17px; }
.gw-subscriptions-empty p { margin: 0; color: var(--gw-muted); font-size: 14px; }
@media (max-width: 640px) {
  .gw-subscriptions-panel { padding: 18px 14px; }
  .gw-subscriptions-heading { gap: 12px; }
  .gw-subscription-row { align-items: flex-start; flex-direction: column; gap: 14px; }
  .gw-subscription-action, .gw-subscription-action form, .gw-subscription-button { width: 100%; }
}

.gw-earnings-panel {
  padding: 22px;
  border: 1px solid var(--gw-line);
  border-radius: 10px;
  background: var(--gw-surface);
}
.gw-earnings-heading { margin-bottom: 20px; }
.gw-earnings-heading h2 { margin: 0 0 6px; }
.gw-earnings-heading p { margin: 0; color: var(--gw-muted); font-size: 14px; }
.gw-earnings-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 12px; margin-bottom: 18px; }
.gw-earnings-card { min-width: 0; padding: 16px; border: 1px solid var(--gw-line); border-radius: 8px; background: var(--gw-bg); }
.gw-earnings-card--accent { border-color: rgba(255, 45, 106, .38); background: var(--gw-pink-subtle); }
.gw-earnings-label { display: block; margin-bottom: 8px; color: var(--gw-muted); font-size: 12px; font-weight: 600; }
.gw-earnings-value { display: block; color: var(--gw-text); font-size: 25px; font-weight: 700; line-height: 1.1; }
.gw-earnings-note { display: block; margin-top: 7px; color: var(--gw-muted); font-size: 12px; }
.gw-earnings-actions { display: flex; align-items: center; gap: 14px; margin: 4px 0 24px; padding: 16px; border: 1px solid var(--gw-line); border-radius: 8px; background: var(--gw-bg); }
.gw-earnings-actions p { margin: 0; color: var(--gw-muted); font-size: 13px; }
.gw-earnings-button { display: inline-flex; flex: 0 0 auto; min-height: 38px; align-items: center; justify-content: center; padding: 9px 15px; border: 1px solid var(--gw-pink); border-radius: 7px; background: var(--gw-pink); color: var(--gw-on-accent) !important; font-size: 13px; font-weight: 700; text-decoration: none; }
.gw-earnings-button:hover { border-color: var(--gw-pink-hover); background: var(--gw-pink-hover); }
.gw-earnings-button:focus-visible { outline: 2px solid var(--gw-text); outline-offset: 3px; }
.gw-earnings-history h3 { margin: 0 0 12px; color: var(--gw-text); font-size: 17px; }
.gw-earnings-table-wrap { overflow-x: auto; }
.gw-earnings-table { width: 100%; border-collapse: collapse; color: var(--gw-text); font-size: 13px; }
.gw-earnings-table th { padding: 10px 8px; border-bottom: 1px solid var(--gw-line-hover); color: var(--gw-muted); font-size: 11px; font-weight: 700; text-align: left; text-transform: uppercase; letter-spacing: .05em; }
.gw-earnings-table td { padding: 12px 8px; border-bottom: 1px solid var(--gw-line); white-space: nowrap; }
.gw-earnings-table tbody tr:last-child td { border-bottom: 0; }
.gw-earnings-status { font-weight: 700; }
.gw-earnings-status--1 { color: #ffd18a; }
.gw-earnings-status--2 { color: #9fe4bc; }
.gw-earnings-status--3 { color: #ff9d9d; }
.gw-earnings-empty { margin: 0; color: var(--gw-muted); font-size: 13px; }
.gw-earnings-not-creator { padding: 14px 0; color: var(--gw-muted); }
@media (max-width: 767px) {
  .gw-earnings-panel { padding: 18px 14px; }
  .gw-earnings-grid { grid-template-columns: 1fr; }
  .gw-earnings-actions { align-items: stretch; flex-direction: column; }
  .gw-earnings-button { width: 100%; }
}

/* Trust and offer context: keep reporting available without competing with the primary CTA. */
.gw-offer-summary { margin: 10px 0 0; color: var(--gw-muted); font-size: 12px; line-height: 1.45; }
.gw-report-link { display: inline-flex; align-items: center; min-height: 32px; color: var(--gw-muted); font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.gw-report-link:hover, .gw-report-link:focus-visible { color: var(--gw-text); }
.gw-profile-report { margin-top: 10px; }
.gw-report-cell { min-width: max-content; }
.gw-report-cell .gw-report-link { padding: 4px 8px; }
.gw-report-reason-row select { width: 100%; min-height: 44px; }


/* Accessible, branded route fallback and merged creator feed. */
.gw-not-found { max-width: 760px; margin: 72px auto; padding: 32px 24px 64px; text-align: center; }
.gw-not-found-code { color: var(--gw-pink); font-size: 14px; font-weight: 700; letter-spacing: .14em; }
.gw-not-found h1 { margin: 10px 0; color: var(--gw-text); font-size: clamp(28px, 5vw, 42px); }
.gw-not-found > p:not(.gw-not-found-code) { margin: 0 0 24px; color: var(--gw-muted); }
.gw-feed[hidden] { display: none !important; }
.gw-feed-posts .gw-grid { margin-top: 0; }


.gw-purchase-history { margin: 20px 0 28px; }
.gw-purchase-history-heading h2, .gw-purchased-media h2 { margin: 0 0 8px; color: var(--gw-text); font-size: 20px; }
.gw-purchase-history-heading p, .gw-purchase-history-note { color: var(--gw-muted); font-size: 14px; }
.gw-purchase-history-table-wrap { width: 100%; overflow-x: auto; border: 1px solid var(--gw-line); border-radius: 12px; background: var(--gw-surface); }
.gw-purchase-history-table { width: 100%; border-collapse: collapse; text-align: left; }
.gw-purchase-history-table th, .gw-purchase-history-table td { padding: 12px 14px; border-bottom: 1px solid var(--gw-line); vertical-align: top; }
.gw-purchase-history-table th { color: var(--gw-muted); font-size: 12px; font-weight: 600; }
.gw-purchase-history-table td { color: var(--gw-text); font-size: 14px; }
.gw-purchase-history-table td a { color: inherit; text-decoration: none; }
.gw-purchase-history-table td a:hover { color: var(--gw-pink); }
.gw-purchase-event-title { display: block; color: var(--gw-muted); font-size: 12px; }
.gw-purchase-token-change { white-space: nowrap; font-weight: 700; }
.gw-purchase-token-change--credit { color: var(--gw-success); }
.gw-purchase-token-change--debit { color: var(--gw-text); }
.gw-purchase-history-empty { padding: 18px; border: 1px solid var(--gw-line); border-radius: 12px; color: var(--gw-muted); }
.gw-purchased-media { margin: 24px 0; }
.gw-purchased-media .gw-grid { margin-top: 12px; }
@media(max-width: 600px) { .gw-purchase-history-table th, .gw-purchase-history-table td { padding: 10px 12px; } .gw-purchase-history-table { min-width: 620px; } }

.gw-profile-actions .gw-message-unavailable:disabled { opacity: .6; cursor: not-allowed; }
.gw-message-paused { margin: 0; padding: 12px 14px; border: 1px solid var(--gw-line); border-radius: 8px; color: var(--gw-muted); font-size: 13px; line-height: 1.5; }


/* Account preferences and creator profile action hierarchy. */
.gw-account-page > .gw-account-tabs, .gw-create > .gw-account-tabs { margin: 0 0 28px; }
.gw-account-settings {
  overflow: hidden;
  border: 1px solid var(--gw-line);
  border-radius: 10px;
  background: var(--gw-surface);
}
.gw-account-profile-setting {
  display: flex;
  align-items: center;
  gap: 18px;
  padding: 22px;
}
.gw-account-avatar {
  display: grid;
  flex: 0 0 76px;
  width: 76px;
  height: 76px;
  place-items: center;
  overflow: hidden;
  border: 2px solid var(--gw-line-hover);
  border-radius: 50%;
  background: var(--gw-bg);
  color: var(--gw-pink);
  font-size: 24px;
  font-weight: 700;
}
.gw-account-avatar { text-decoration: none; }
.gw-account-avatar img { width: 100%; height: 100%; object-fit: cover; }
.gw-account-avatar:hover { border-color: var(--gw-pink); }
.gw-account-profile-copy { display: flex; flex: 1; min-width: 0; flex-direction: column; gap: 4px; }
.gw-account-profile-copy strong,.gw-account-security-row strong { color: var(--gw-text); font-size: 15px; font-weight: 650; }
.gw-account-profile-copy span,.gw-account-security-row span { color: var(--gw-muted); font-size: 13px; }
.gw-account-setting-button {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  justify-content: center;
  padding: 8px 14px;
  border: 1px solid var(--gw-pink);
  border-radius: 7px;
  background: var(--gw-pink);
  color: var(--gw-on-accent) !important;
  font-size: 13px;
  font-weight: 650;
  text-align: center;
}
.gw-account-setting-button:hover { background: var(--gw-pink-hover); }
.gw-account-setting-button--quiet { border-color: var(--gw-line-hover); background: var(--gw-bg); color: var(--gw-text) !important; }
.gw-account-setting-button--quiet:hover { border-color: var(--gw-pink); background: var(--gw-surface-hover); }
.gw-account-security-settings { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); border-top: 1px solid var(--gw-line); }
.gw-account-security-row { display: flex; align-items: center; justify-content: space-between; gap: 16px; min-width: 0; padding: 18px 22px; }
.gw-account-security-row + .gw-account-security-row { border-left: 1px solid var(--gw-line); }
.gw-account-security-row > div { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.gw-account-page .gw-account-settings + .gw-editor { margin-top: 24px; }
.gw-profile-quick-actions { display: flex; align-items: center; gap: 8px; margin-top: 9px; }
.gw-profile-quick-actions .gw-btn {
  width: auto;
  min-width: 0;
  min-height: 34px;
  padding: 6px 12px;
  border: 1px solid var(--gw-line-hover) !important;
  border-radius: 7px;
  background: transparent !important;
  color: var(--gw-muted) !important;
  box-shadow: none;
  font-size: 12px;
  font-weight: 600;
  letter-spacing: 0;
}
.gw-profile-quick-actions .gw-btn:hover:not(:disabled) { border-color: var(--gw-pink) !important; color: var(--gw-text) !important; box-shadow: none; transform: none; }
.gw-message-note { display: block; margin-top: 5px; color: var(--gw-muted); font-size: 11px; line-height: 1.4; }
.gw-side { align-items: stretch; gap: 10px; min-width: 230px; }
.gw-side > .gw-btn-join { width: 100%; min-width: 0; min-height: 50px; box-sizing: border-box; border-radius: 8px; padding: 11px 18px; font-size: 15px; }
.gw-side > .gw-btn-join small { display: block; margin-left: 6px; font-size: 11px; font-weight: 500; }
.gw-side > .gw-btn-join:has(small) { flex-direction: column; gap: 2px; }
.gw-side .gw-stats { display: flex !important; justify-content: center; gap: 14px; color: var(--gw-muted); font-size: 11px; letter-spacing: .02em; text-transform: none; }
.gw-side .gw-stats strong { font-size: 16px; text-align: center; }
.gw-side .gw-stats span { font-size: 11px; text-align: center; }
.gw-side .gw-stats i { height: 26px; margin: 0 2px; }
.gw-side .gw-form-status:empty { display: none; }
@media(max-width:767px) {
  .gw-side { min-width: 0; }
  .gw-profile-quick-actions { flex-wrap: wrap; }
  .gw-side .gw-stats { justify-content: flex-start; }
  .gw-account-profile-setting { flex-wrap: wrap; padding: 18px 16px; }
  .gw-account-profile-copy { flex-basis: calc(100% - 112px); }
  .gw-account-profile-setting > .gw-account-setting-button { width: 100%; }
  .gw-account-security-settings { grid-template-columns: 1fr; }
  .gw-account-security-row { padding: 16px; }
  .gw-account-security-row + .gw-account-security-row { border-top: 1px solid var(--gw-line); border-left: 0; }
}

/* Private messaging — KVS-backed inbox and conversation experience. */
.gw-messages-page {
  width: 100%;
  max-width: 980px;
}
.gw-eyebrow {
  margin: 0 0 6px;
  color: var(--gw-pink);
  font-size: 11px;
  font-weight: 700;
  letter-spacing: .12em;
  text-transform: uppercase;
}
.gw-inbox,
.gw-thread {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--gw-line);
  border-radius: 14px;
  background: var(--gw-surface);
  box-shadow: 0 22px 60px rgba(0,0,0,.18);
}
.gw-inbox-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 26px 28px;
  border-bottom: 1px solid var(--gw-line);
  background: #18181d;
}
.gw-inbox-header h1 {
  margin: 0;
  color: var(--gw-text);
  font-size: clamp(24px,3vw,32px);
  line-height: 1.1;
  letter-spacing: -.04em;
}
.gw-inbox-intro {
  max-width: 620px;
  margin: 9px 0 0;
  color: var(--gw-muted);
  font-size: 13px;
}
.gw-inbox-unread {
  flex: none;
  padding: 7px 10px;
  border: 1px solid rgba(255,45,106,.3);
  border-radius: 999px;
  background: var(--gw-pink-subtle);
  color: var(--gw-pink);
  font-size: 12px;
  font-weight: 700;
}
.gw-conversation-list {
  display: flex;
  flex-direction: column;
}
.gw-conversation-row {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 15px;
  min-height: 82px;
  padding: 13px 20px;
  border-bottom: 1px solid var(--gw-line);
  color: var(--gw-text);
  transition: background-color .18s ease, border-color .18s ease;
}
.gw-conversation-row:last-child { border-bottom: 0; }
.gw-conversation-row:hover,
.gw-conversation-row:focus-visible { background: var(--gw-surface-hover); }
.gw-conversation-row.is-unread { background: rgba(255,45,106,.045); }
.gw-conversation-avatar,
.gw-thread-avatar {
  display: grid;
  flex: 0 0 auto;
  place-items: center;
  overflow: hidden;
  border: 1px solid var(--gw-line-hover);
  border-radius: 50%;
  background: var(--gw-bg);
  color: var(--gw-pink);
  font-weight: 700;
}
.gw-conversation-avatar { width: 52px; height: 52px; font-size: 18px; }
.gw-thread-avatar { width: 44px; height: 44px; font-size: 16px; }
.gw-conversation-avatar img,
.gw-thread-avatar img { width: 100%; height: 100%; object-fit: cover; }
.gw-conversation-copy {
  display: flex;
  flex: 1;
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}
.gw-conversation-name {
  overflow: hidden;
  color: var(--gw-text);
  font-size: 14px;
  font-weight: 700;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.is-unread .gw-conversation-name { color: #fff; }
.gw-conversation-meta {
  display: flex;
  align-items: center;
  gap: 7px;
  overflow: hidden;
  color: var(--gw-muted);
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gw-conversation-badge {
  display: grid;
  flex: 0 0 24px;
  min-width: 24px;
  height: 24px;
  place-items: center;
  border-radius: 999px;
  background: var(--gw-pink);
  color: var(--gw-on-accent);
  font-size: 11px;
  font-weight: 800;
}
.gw-conversation-chevron { color: var(--gw-muted); font-size: 25px; line-height: 1; }
.gw-message-empty {
  display: flex;
  min-height: 340px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex-direction: column;
  padding: 48px 24px;
  text-align: center;
}
.gw-message-empty-icon {
  display: grid;
  width: 58px;
  height: 58px;
  place-items: center;
  border: 1px solid rgba(255,45,106,.28);
  border-radius: 50%;
  background: var(--gw-pink-subtle);
  color: var(--gw-pink);
}
.gw-message-empty h2 { margin: 18px 0 7px; font-size: 20px; }
.gw-message-empty p { max-width: 430px; margin: 0; color: var(--gw-muted); font-size: 13px; }
.gw-message-empty .gw-message-empty-action {
  width: auto;
  min-width: 150px;
  margin-top: 20px;
  padding: 10px 18px;
}
.gw-message-auth,
.gw-messages-unavailable {
  display: flex;
  min-height: 360px;
  align-items: center;
  justify-content: center;
  box-sizing: border-box;
  flex-direction: column;
  padding: 48px 24px;
  border: 1px solid var(--gw-line);
  border-radius: 14px;
  background: var(--gw-surface);
  text-align: center;
}
.gw-message-auth h1,
.gw-messages-unavailable h1 { margin: 18px 0 7px; color: var(--gw-text); font-size: 24px; letter-spacing: -.03em; }
.gw-message-auth p,
.gw-messages-unavailable p { max-width: 430px; margin: 0; color: var(--gw-muted); font-size: 13px; }
.gw-message-auth .gw-message-auth-action {
  width: auto;
  min-width: 130px;
  margin-top: 20px;
  padding: 10px 18px;
}

.gw-thread {
  display: flex;
  height: min(720px,calc(100dvh - 190px));
  min-height: 520px;
  flex-direction: column;
}
.gw-thread-header {
  display: grid;
  align-items: center;
  gap: 18px;
  grid-template-columns: auto minmax(0,1fr) auto;
  padding: 15px 18px;
  border-bottom: 1px solid var(--gw-line);
  background: rgba(22,22,26,.97);
}
.gw-thread-back {
  display: inline-flex;
  min-height: 40px;
  align-items: center;
  gap: 7px;
  padding: 0 10px;
  border-radius: 8px;
  color: var(--gw-muted);
  font-size: 12px;
  font-weight: 650;
}
.gw-thread-back:hover { background: var(--gw-surface-hover); color: var(--gw-text); }
.gw-thread-back > span:first-child { color: var(--gw-pink); font-size: 18px; }
.gw-thread-person {
  display: flex;
  min-width: 0;
  align-items: center;
  gap: 12px;
}
.gw-thread-person > div { min-width: 0; }
.gw-thread-person h1 {
  overflow: hidden;
  margin: 0;
  color: var(--gw-text);
  font-size: 15px;
  font-weight: 750;
  letter-spacing: -.01em;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gw-thread-person p { margin: 2px 0 0; color: var(--gw-muted); font-size: 11px; }
.gw-thread-menu { position: relative; }
.gw-thread-menu summary {
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid transparent;
  border-radius: 9px;
  color: var(--gw-muted);
  cursor: pointer;
  font-size: 22px;
  list-style: none;
}
.gw-thread-menu summary::-webkit-details-marker { display: none; }
.gw-thread-menu summary:hover,
.gw-thread-menu summary:focus-visible { border-color: var(--gw-line); background: var(--gw-surface-hover); color: var(--gw-text); }
.gw-thread-menu > div {
  position: absolute;
  z-index: 12;
  top: calc(100% + 8px);
  right: 0;
  display: flex;
  min-width: 190px;
  overflow: hidden;
  flex-direction: column;
  padding: 6px;
  border: 1px solid var(--gw-line-hover);
  border-radius: 10px;
  background: #17171c;
  box-shadow: 0 18px 42px rgba(0,0,0,.42);
}
.gw-thread-menu > div a { padding: 10px 12px; border-radius: 7px; color: var(--gw-muted); font-size: 12px; }
.gw-thread-menu > div a:hover { background: var(--gw-surface-hover); color: var(--gw-text); }
.gw-thread-body {
  display: flex;
  flex: 1;
  min-height: 0;
  overflow: hidden;
  flex-direction: column;
  justify-content: flex-end;
  background: var(--gw-bg);
}
.gw-thread .list-messages {
  width: 100%;
  min-height: 0;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding: 20px 18px;
  box-sizing: border-box;
  scrollbar-gutter: stable;
}
.gw-thread .list-messages > div { display: flex; flex-direction: column; gap: 8px; }
.gw-thread .list-messages .item.gw-message {
  display: flex !important;
  width: 100% !important;
  min-width: 0;
  align-items: flex-end;
  gap: 9px;
  float: none !important;
  clear: both;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 0 !important;
  border: 0 !important;
  background: transparent !important;
}
.gw-thread .list-messages .item.gw-message--sent { justify-content: flex-end; }
.gw-thread .list-messages .image {
  display: block !important;
  flex: 0 0 30px;
  width: 30px !important;
  height: 30px !important;
  margin: 0 !important;
}
.gw-thread .list-messages .grouped .image { visibility: hidden; }
.gw-thread .list-messages .image a,
.gw-thread .list-messages .image img,
.gw-thread .list-messages .image .no-thumb {
  display: grid;
  width: 30px !important;
  height: 30px !important;
  place-items: center;
  overflow: hidden;
  border: 0;
  border-radius: 50%;
  background: var(--gw-surface-hover);
  color: var(--gw-pink);
  font-size: 11px;
  font-weight: 700;
  object-fit: cover;
}
.gw-message-stack {
  display: flex;
  max-width: min(72%,620px);
  min-width: 0;
  flex-direction: column;
  gap: 4px;
}
.gw-message--sent .gw-message-stack { align-items: flex-end; }
.gw-thread .list-messages .message-text {
  max-width: 100%;
  box-sizing: border-box;
  margin: 0 !important;
  padding: 10px 13px !important;
  border: 1px solid var(--gw-line);
  border-radius: 15px 15px 15px 4px;
  background: var(--gw-surface) !important;
  color: var(--gw-text) !important;
  font-size: 13px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}
.gw-thread .list-messages .gw-message--sent .message-text {
  border-color: rgba(255,45,106,.38);
  border-radius: 15px 15px 4px 15px;
  background: var(--gw-pink-subtle) !important;
}
.gw-thread .list-messages .item.deleted .message-text { color: var(--gw-muted) !important; font-style: italic; }
.gw-thread .list-messages .added {
  display: flex;
  width: auto !important;
  align-items: center;
  gap: 6px;
  margin: 0 4px !important;
  padding: 0 !important;
  color: #777781 !important;
  font-size: 10px !important;
  line-height: 1.35;
}
.gw-thread .list-messages .added:before,
.gw-thread .list-messages .added:after { display: none !important; }
.gw-thread .list-messages .added.editable { cursor: pointer; }
.gw-thread .list-messages .added.editable:hover { color: var(--gw-pink) !important; }
.gw-message-delivery { color: var(--gw-pink); }
.gw-thread-empty { padding: 72px 20px; color: var(--gw-muted); text-align: center; }

.gw-composer-wrap {
  position: sticky;
  z-index: 8;
  bottom: 0;
  margin: 0 !important;
  padding: 14px 16px 16px;
  border-top: 1px solid var(--gw-line);
  background: rgba(22,22,26,.98);
  backdrop-filter: blur(14px);
}
.gw-composer { margin: 0; }
.gw-composer-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  clip-path: inset(50%);
  white-space: nowrap;
}
.gw-composer-field {
  overflow: hidden;
  border: 1px solid var(--gw-line-hover);
  border-radius: 12px;
  background: var(--gw-bg);
  transition: border-color .18s ease,box-shadow .18s ease;
}
.gw-composer-field:focus-within { border-color: rgba(255,45,106,.66); box-shadow: 0 0 0 3px rgba(255,45,106,.1); }
.gw-composer .textarea {
  display: block;
  width: 100%;
  min-height: 78px;
  max-height: 220px;
  box-sizing: border-box;
  resize: vertical;
  margin: 0 !important;
  padding: 13px 14px 8px !important;
  border: 0 !important;
  outline: 0;
  background: transparent !important;
  color: var(--gw-text) !important;
  font: inherit;
  font-size: 13px;
  line-height: 1.45;
}
.gw-composer .textarea::placeholder { color: #73737d; }
.gw-composer .smileys-support,
.gw-composer .smileys-bar { margin: 0; }
.gw-composer .field-error { margin: 0 14px; }
.gw-composer-actions {
  display: flex;
  min-width: 0;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 8px 9px 9px 14px;
  border-top: 1px solid var(--gw-line);
}
.gw-composer-cost { min-width: 0; color: var(--gw-muted); font-size: 10px; line-height: 1.35; }
.gw-free-badge { color: var(--gw-success); font-weight: 700; }
.gw-composer .gw-send-button {
  width: auto !important;
  min-width: 112px;
  min-height: 38px;
  margin: 0 !important;
  padding: 8px 15px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: var(--gw-pink) !important;
  color: var(--gw-on-accent) !important;
  font-size: 12px !important;
  font-weight: 750 !important;
  cursor: pointer;
}
.gw-composer .gw-send-button:hover { background: var(--gw-pink-hover) !important; }
.gw-composer .gw-send-button:disabled { opacity: .55; cursor: wait; }
.gw-composer-buttons { display:flex; flex:0 0 auto; align-items:center; gap:8px; }
.gw-composer .gw-donate-button {
  min-height:38px;
  margin:0;
  padding:8px 13px;
  border:1px solid rgba(255,45,106,.5);
  border-radius:8px;
  background:var(--gw-pink-subtle);
  color:#ff8eaf;
  font-size:12px;
  font-weight:750;
  cursor:pointer;
}
.gw-composer .gw-donate-button:hover { border-color:var(--gw-pink); background:rgba(255,45,106,.2); color:#fff; }
.gw-composer .gw-donate-button:disabled { opacity:.55; cursor:wait; }
.gw-donation-dialog .gw-donation-copy { margin:0 0 16px; color:var(--gw-muted); line-height:1.55; }
.gw-donation-dialog label { display:flex; flex-direction:column; gap:7px; color:var(--gw-text); font-size:13px; font-weight:700; }
.gw-donation-dialog input[type="number"] { width:100%; min-height:44px; box-sizing:border-box; padding:10px 12px; border:1px solid var(--gw-line-hover); border-radius:8px; background:var(--gw-bg); color:var(--gw-text); font:inherit; }
.gw-donation-dialog input[type="number"]:focus { border-color:var(--gw-pink); outline:2px solid var(--gw-pink-subtle); outline-offset:2px; }
.gw-composer.is-editing .gw-composer-field { border-color: rgba(241,188,91,.55); }
.gw-composer .generic-error:not(.hidden) {
  display: block;
  margin: 0 0 10px;
  padding: 10px 12px;
  border: 1px solid rgba(255,100,124,.3);
  border-radius: 8px;
  background: rgba(255,100,124,.08);
  color: #ff9aaa;
  font-size: 12px;
}

.gw-message-confirm {
  position: fixed;
  inset: 0;
  width: min(430px,calc(100vw - 30px));
  max-width: 100%;
  box-sizing: border-box;
  margin: auto;
  padding: 22px;
  border: 1px solid var(--gw-line-hover);
  border-radius: 14px;
  background: #17171c;
  color: var(--gw-text);
  box-shadow: 0 28px 90px rgba(0,0,0,.55);
}
.gw-message-confirm::backdrop { background: rgba(0,0,0,.75); backdrop-filter: blur(4px); }
.gw-message-confirm h2 { margin: 0; color: var(--gw-text); font-size: 21px; letter-spacing: -.03em; }
.gw-message-confirm-summary {
  display: grid;
  align-items: center;
  gap: 10px 18px;
  grid-template-columns: minmax(0,1fr) auto;
  margin: 20px 0 14px;
  padding: 15px;
  border: 1px solid var(--gw-line);
  border-radius: 10px;
  background: var(--gw-bg);
}
.gw-message-confirm-summary span { color: var(--gw-muted); font-size: 12px; }
.gw-message-confirm-summary strong { color: var(--gw-text); font-size: 13px; text-align: right; }
.gw-message-confirm-summary strong:first-of-type { color: var(--gw-pink); }
.gw-message-confirm-note { margin: 0; color: var(--gw-muted); font-size: 11px; line-height: 1.5; }
.gw-message-confirm-actions { display: flex; justify-content: flex-end; gap: 9px; margin-top: 20px; }
.gw-message-confirm-actions button {
  min-height: 40px;
  padding: 8px 14px;
  border: 1px solid var(--gw-line-hover);
  border-radius: 8px;
  background: var(--gw-surface-hover);
  color: var(--gw-text);
  font: inherit;
  font-size: 12px;
  font-weight: 700;
  cursor: pointer;
}
.gw-message-confirm-actions .gw-message-confirm-send { border-color: var(--gw-pink); background: var(--gw-pink); color: var(--gw-on-accent); }
.gw-message-confirm-actions .gw-message-confirm-send:hover { background: var(--gw-pink-hover); }

.gw-conversation-row:focus-visible,
.gw-thread a:focus-visible,
.gw-thread button:focus-visible,
.gw-thread summary:focus-visible,
.gw-composer .gw-send-button:focus-visible,
.gw-message-confirm button:focus-visible { outline: 2px solid var(--gw-pink); outline-offset: 2px; }

@media(max-width:700px) {
  .gw-messages-page { padding-right: 12px; padding-left: 12px; }
  .gw-inbox,.gw-thread { border-radius: 11px; }
  .gw-inbox-header { padding: 21px 18px; }
  .gw-conversation-row { min-height: 76px; padding: 12px 14px; }
  .gw-conversation-avatar { width: 46px; height: 46px; }
  .gw-thread { height: calc(100dvh - 174px); min-height: 440px; }
  .gw-thread-header { gap: 10px; padding: 11px 10px; }
  .gw-thread-back { min-width: 40px; padding: 0; justify-content: center; }
  .gw-thread-back > span:last-child { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
  .gw-thread .list-messages { padding: 16px 10px; }
  .gw-message-stack { max-width: 82%; }
  .gw-composer-wrap { padding: 10px; }
  .gw-composer-actions { align-items: flex-end; gap: 9px; }
  .gw-composer-cost { max-width: 58%; }
}

@media(max-width:520px) {
  .gw-composer-actions { flex-wrap:wrap; gap:8px; padding-left:10px; }
  .gw-composer-cost { flex:1 1 100%; }
  .gw-composer-buttons { width:100%; justify-content:flex-end; }
  .gw-composer .gw-donate-button,
  .gw-composer .gw-send-button { min-width:0; min-height:40px; padding-right:11px !important; padding-left:11px !important; }
}
@media(max-width:390px) {
  .gw-inbox-header { gap: 12px; }
  .gw-inbox-unread { padding: 6px 8px; font-size: 10px; }
  .gw-conversation-row { gap: 11px; }
  .gw-conversation-meta { font-size: 10px; }
  .gw-thread-person h1 { font-size: 13px; }
  .gw-thread-avatar { width: 38px; height: 38px; }
  .gw-message-stack { max-width: 86%; }
  .gw-thread .list-messages .message-text { padding: 9px 11px !important; font-size: 12px; }
  .gw-composer .gw-send-button { min-width: 96px; padding-right: 11px !important; padding-left: 11px !important; }
}
@media(prefers-reduced-motion:reduce) {
  .gw-conversation-row,.gw-composer-field { transition: none; }
}

/* Sheer-structure foundation: one horizontal discovery card for video and album. */
.gwfan .gw-card {
  position: relative;
  display: block;
  min-width: 0;
  aspect-ratio: 16 / 9 !important;
  overflow: hidden;
  border: 1px solid var(--gw-line);
  border-radius: 8px;
  background: var(--gw-surface);
  color: var(--gw-text);
  text-decoration: none;
}
.gwfan .gw-card > img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: cover;
  object-position: 50% 50%;
}
.gwfan .gw-card--album > img { object-position: 50% 35%; }
.gwfan .gw-card .gw-badge,
.gwfan .gw-card .gw-media-fact {
  position: absolute;
  z-index: 4;
  top: 9px;
  display: inline-flex;
  min-height: 24px;
  box-sizing: border-box;
  align-items: center;
  gap: 5px;
  margin: 0;
  padding: 5px 8px;
  border: 1px solid rgba(255,255,255,.13);
  border-radius: 6px;
  background: rgba(8,9,11,.86);
  color: #f5f5f6;
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  letter-spacing: .01em;
  backdrop-filter: blur(8px);
}
.gwfan .gw-card .gw-badge {
  right: auto;
  bottom: auto;
  left: 9px;
  max-width: calc(100% - 92px);
  text-transform: none;
}
.gwfan .gw-card .gw-media-fact { right: 9px; }
.gwfan .gw-card .gw-media-fact svg { width: 14px; height: 14px; flex: 0 0 auto; }
.gwfan .gw-card .gw-media-meta {
  position: absolute;
  z-index: 3;
  right: 0;
  bottom: 0;
  left: 0;
  padding: 28px 11px 10px;
  background: linear-gradient(180deg, transparent, rgba(8,9,11,.92));
  color: var(--gw-text);
}
.gwfan .gw-card .gw-media-meta strong {
  display: block;
  overflow: hidden;
  color: var(--gw-text);
  font-size: 12px;
  font-weight: 650;
  line-height: 1.35;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.gwfan .gw-card:hover .gw-media-meta,
.gwfan .gw-card:focus-visible .gw-media-meta {
  background: linear-gradient(180deg, transparent, rgba(8,9,11,.96));
}
.gwfan .gw-card:focus-visible { outline: 2px solid var(--gw-pink); outline-offset: 3px; }

/* Homepage discovery: creator identity followed by a tactile media rail. */
.gw-home-discovery {
  max-width: 1400px;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 26px 24px 40px;
}
.gw-discovery-toolbar {
  display: flex;
  align-items: flex-end;
  justify-content: space-between;
  gap: 28px;
  padding: 2px 0 20px;
  border-bottom: 1px solid var(--gw-line);
}
.gw-discovery-heading h1 {
  margin: 0;
  color: var(--gw-text);
  font-size: clamp(27px, 3vw, 34px);
  font-weight: 720;
  line-height: 1.1;
  letter-spacing: -.035em;
}
.gw-discovery-heading > span {
  display: block;
  margin-top: 7px;
  color: var(--gw-muted);
  font-size: 13px;
  line-height: 1.45;
}
.gw-discovery-filters {
  display: flex;
  min-width: 0;
  gap: 7px;
  overflow-x: auto;
  padding: 3px;
  scrollbar-width: none;
}
.gw-discovery-filters::-webkit-scrollbar { display: none; }
.gw-discovery-filters button {
  min-width: 0;
  min-height: 44px;
  flex: 0 0 auto;
  padding: 9px 14px;
  border: 1px solid var(--gw-line);
  border-radius: 8px;
  background: transparent;
  color: var(--gw-muted);
  font: inherit;
  font-size: 13px;
  font-weight: 650;
  cursor: pointer;
}
.gw-discovery-filters button:hover { border-color: var(--gw-line-hover); color: var(--gw-text); }
.gw-discovery-filters button[aria-pressed="true"] { border-color: var(--gw-pink); background: var(--gw-pink); color: var(--gw-on-accent); }
.gw-discovery-filters button:focus-visible { outline: 2px solid var(--gw-pink); outline-offset: 2px; }
.gw-creator-groups { display: block; }
.gw-creator-group {
  padding: 14px 0 16px;
  border-bottom: 1px solid var(--gw-line);
}
.gw-creator-group-header {
  display: grid;
  grid-template-columns: 48px minmax(0,1fr) auto;
  align-items: center;
  gap: 12px;
  min-height: 44px;
  margin-bottom: 8px;
}
.gw-creator-avatar {
  display: flex;
  width: 48px;
  height: 48px;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  border: 1px solid var(--gw-line-hover);
  border-radius: 50%;
  background: var(--gw-surface-raised);
  color: var(--gw-muted);
  font-size: 14px;
  font-weight: 700;
}
.gw-creator-avatar img { width: 100%; height: 100%; object-fit: cover; }
.gw-creator-avatar:focus-visible,
.gw-creator-view:focus-visible,
.gw-creator-identity a:focus-visible,
.gw-creator-cta a:focus-visible { outline: 2px solid var(--gw-pink); outline-offset: 3px; }
.gw-creator-identity { min-width: 0; }
.gw-creator-identity h2 { margin: 0; color: var(--gw-text); font-size: 17px; font-weight: 700; line-height: 1.25; }
.gw-creator-identity h2 a { color: inherit; }
.gw-creator-identity p { margin: 4px 0 0; color: var(--gw-muted); font-size: 12px; line-height: 1.3; }
.gw-creator-group-actions { display: flex; align-items: center; gap: 10px; }
.gw-rail-controls { display: inline-flex; gap: 4px; }
.gw-rail-controls button {
  display: inline-flex;
  width: 44px;
  height: 44px;
  align-items: center;
  justify-content: center;
  padding: 0;
  border: 1px solid var(--gw-line-hover);
  border-radius: 8px;
  background: var(--gw-surface);
  color: var(--gw-text);
  font: 700 22px/1 var(--gw-font);
  cursor: pointer;
}
.gw-rail-controls button:hover:not(:disabled) { border-color: var(--gw-pink); color: var(--gw-pink); }
.gw-rail-controls button:focus-visible { outline: 2px solid var(--gw-pink); outline-offset: 2px; }
.gw-rail-controls button:disabled { opacity: .32; cursor: default; }
.gw-creator-view {
  display: inline-flex;
  min-height: 44px;
  align-items: center;
  gap: 6px;
  padding: 0 2px 0 12px;
  color: var(--gw-muted);
  font-size: 12px;
  font-weight: 650;
  white-space: nowrap;
}
.gw-creator-view:hover { color: var(--gw-pink); }
.gw-media-rail {
  display: grid;
  grid-auto-columns: 240px;
  grid-auto-flow: column;
  grid-template-rows: 1fr;
  gap: 12px;
  overflow-x: auto;
  overflow-y: hidden;
  padding: 2px;
  overscroll-behavior-x: contain;
  scroll-snap-type: x proximity;
  scrollbar-width: none;
}
.gw-media-rail::-webkit-scrollbar { display: none; }
.gw-media-rail:focus-visible { outline: 2px solid var(--gw-pink); outline-offset: 3px; }
.gw-media-rail .gw-card { width: auto; scroll-snap-align: start; }
.gw-media-rail .gw-card[hidden] { display: none !important; }
.gw-rail-empty {
  min-width: 230px;
  margin: 0;
  padding: 22px 16px;
  border: 1px dashed var(--gw-line);
  border-radius: 8px;
  color: var(--gw-muted);
  font-size: 12px;
  line-height: 1.45;
}
.gw-creator-cta {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  margin-top: 22px;
  padding: 18px 0 2px;
}
.gw-creator-cta div { min-width: 0; }
.gw-creator-cta strong { display: block; color: var(--gw-text); font-size: 15px; line-height: 1.35; }
.gw-creator-cta div span { display: block; margin-top: 3px; color: var(--gw-muted); font-size: 12px; line-height: 1.45; }
.gw-creator-cta > a {
  display: inline-flex;
  min-height: 44px;
  flex: 0 0 auto;
  align-items: center;
  gap: 7px;
  padding: 8px 13px;
  border: 1px solid var(--gw-line-hover);
  border-radius: 8px;
  color: var(--gw-text);
  font-size: 12px;
  font-weight: 650;
}
.gw-creator-cta > a:hover { border-color: var(--gw-pink); color: var(--gw-pink); }

@media (min-width: 768px) and (max-width: 1023px) {
  .gw-media-rail { grid-auto-columns: calc((100% - 24px) / 3); }
}
@media (max-width: 767px) {
  .gw-home-discovery { padding: 18px 16px 28px; }
  .gw-discovery-toolbar { display: block; padding-bottom: 14px; }
  .gw-discovery-heading h1 { font-size: 27px; }
  .gw-discovery-heading > span { font-size: 12px; }
  .gw-discovery-filters { margin: 12px -3px 0; }
  .gw-discovery-filters button { min-height: 44px; padding-right: 13px; padding-left: 13px; font-size: 12px; }
  .gw-creator-group { padding: 13px 0 15px; }
  .gw-creator-group-header { grid-template-columns: 44px minmax(0,1fr) auto; gap: 10px; margin-bottom: 8px; }
  .gw-creator-avatar { width: 44px; height: 44px; }
  .gw-creator-identity h2 { font-size: 15px; }
  .gw-creator-identity p { font-size: 11px; }
  .gw-creator-view { font-size: 0; }
  .gw-creator-view span { font-size: 16px; }
  .gw-rail-controls { display: none; }
  .gw-creator-group-actions { gap: 0; }
  .gw-media-rail { grid-auto-columns: min(240px, calc(100vw - 64px)); gap: 10px; margin-right: -16px; padding-right: 16px; }
  .gw-creator-cta { align-items: flex-start; flex-direction: column; gap: 12px; margin-top: 14px; }
}
@media (max-width: 360px) {
  .gw-home-discovery { padding-right: 12px; padding-left: 12px; }
  .gw-media-rail { grid-auto-columns: min(232px, calc(100vw - 56px)); margin-right: -12px; padding-right: 12px; }
  .gw-discovery-filters button { padding-right: 11px; padding-left: 11px; }
}

/* Content detail pages — creator context + media-led Sheer structure */
.gw-content-creator { padding-bottom: 0; }
.gw-content-creator .gw-profile-shell { border-bottom-right-radius: 0; border-bottom-left-radius: 0; }
.gw-content-creator .gw-handle a { color: inherit; text-decoration: none; }
.gw-content-creator .gw-avatar { display: block; }
.gw-content-creator .gw-profile-action { display: inline-flex; align-items: center; justify-content: center; text-decoration: none; }

.gw-content-page {
  width: min(1000px, calc(100% - 32px));
  margin: 0 auto 24px;
  color: #fff;
}
.gw-content-post.container {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 0;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.09);
  border-top: 0;
  border-radius: 0 0 18px 18px;
  background: #111114;
  box-shadow: 0 18px 55px rgba(0,0,0,.24);
}
.gw-content-post-head {
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 72px;
  padding: 12px 18px;
  border-bottom: 1px solid rgba(255,255,255,.08);
}
.gw-content-post-author { display: inline-flex; align-items: center; gap: 11px; min-width: 0; color: #fff; text-decoration: none; }
.gw-content-post-author img { width: 42px; height: 42px; flex: 0 0 42px; object-fit: cover; border: 2px solid #ec2e5b; border-radius: 50%; background: #27272c; }
.gw-content-post-author span { display: grid; min-width: 0; gap: 2px; }
.gw-content-post-author strong { overflow: hidden; font-size: 14px; text-overflow: ellipsis; white-space: nowrap; }
.gw-content-post-author small { color: #9999a3; font-size: 11px; }
.gw-content-kind { flex: 0 0 auto; padding: 6px 10px; color: #d7d7dc; border: 1px solid rgba(255,255,255,.11); border-radius: 999px; font-size: 11px; font-weight: 700; }

.gw-content-post .media-container,
.gw-content-post .album-view { margin: 0; background: #09090b; }
.gw-content-post .player,
.gw-content-post .player-holder { width: 100%; margin: 0; }
.gw-content-page--album .album-gallery-holder { display: flex; align-items: center; justify-content: center; min-height: 420px; background: #09090b; }
.gw-content-page--album .album-gallery,
.gw-content-page--album .album-gallery .slides,
.gw-content-page--album .album-gallery .slides > li { width: 100%; }
.gw-content-page--album .album-gallery .item { display: flex; align-items: center; justify-content: center; width: 100%; }
.gw-content-page--album .album-gallery img { display: block; max-width: 100%; max-height: 760px; width: auto; height: auto; margin: 0 auto; object-fit: contain; }
.gw-content-page--album .album-images { margin: 0; padding: 12px 16px; border: 0; border-top: 1px solid rgba(255,255,255,.08); border-radius: 0; background: #111114; }
.gw-content-page--album .album-images__item { border-radius: 8px; overflow: hidden; }

.gw-content-title.title {
  margin: 0;
  padding: 20px 20px 8px;
  color: #fff;
  font-size: clamp(22px, 2.4vw, 30px);
  line-height: 1.18;
  text-align: left;
}
.gw-content-post .media-info.box { margin: 0; padding: 8px 20px 12px; border: 0; border-radius: 0; background: transparent; }
.gw-content-post .media-info.box:not(:has(.media-info__row:not(.hidden))) { display: none; }
.gw-content-post .media-info__row { padding: 12px 0; border-color: rgba(255,255,255,.07); }
.gw-content-post .media-info__label { color: #a9a9b1; }
.gw-content-post .media-info__desc { color: #ededf0; line-height: 1.6; }
.gw-content-post .gw-album-creator { display: none; }
.gw-content-followup { width: min(1080px, calc(100% - 32px)); margin: 14px auto 28px; }
.gw-content-followup > .comments,
.gw-content-followup > .thumbs,
.gw-content-followup > .container { width: 100%; max-width: none; }

@media (max-width: 767px) {
  .gw-content-creator .gw-profile-shell { border-radius: 0; }
  .gw-content-page { width: 100%; margin-bottom: 18px; }
  .gw-content-post.container { border-right: 0; border-left: 0; border-radius: 0; }
  .gw-content-post-head { min-height: 64px; padding: 10px 14px; }
  .gw-content-post-author img { width: 38px; height: 38px; flex-basis: 38px; }
  .gw-content-kind { max-width: 42%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
  .gw-content-page--album .album-gallery-holder { min-height: 280px; }
  .gw-content-page--album .album-gallery img { max-height: 560px; }
  .gw-content-title.title { padding: 18px 14px 8px; font-size: 22px; }
  .gw-content-post .media-info.box { padding: 14px; }
    .gw-content-followup { width: 100%; box-sizing: border-box; margin: 12px auto 24px; padding: 0 14px; }
}

@media (max-width: 360px) {
  .gw-content-post-head { padding-right: 12px; padding-left: 12px; }
  .gw-content-title.title,
  .gw-content-post .media-info.box { padding-right: 12px; padding-left: 12px; }
}
@media (prefers-reduced-motion: reduce) {
  .gw-media-rail { scroll-behavior: auto; }
}

/* 2026-09-26 — creator profile aligned to the observed Sheer structure. */
.gw-creator--sheer {
  max-width: none;
  padding: 8px 0;
}
.gw-profile-shell {
  position: relative;
  width: min(1000px, calc(100% - 32px));
  margin: 0 auto;
}
.gw-creator--sheer .gw-cover {
  z-index: 1;
  height: 200px;
  overflow: hidden;
  border: 1px solid var(--gw-line);
  border-radius: 8px 8px 0 0;
  background: var(--gw-surface-raised);
}
.gw-creator--sheer .gw-cover:after {
  background: linear-gradient(180deg, rgba(8,9,11,.04), rgba(8,9,11,.34));
}
.gw-profile-summary {
  position: relative;
  z-index: 2;
  display: grid;
  grid-template-columns: 138px minmax(0,1fr) auto;
  column-gap: 18px;
  row-gap: 12px;
  padding: 0 16px;
}
.gw-creator--sheer .gw-avatar {
  position: relative;
  z-index: 3;
  grid-column: 1;
  grid-row: 1;
  width: 130px;
  height: 130px;
  align-self: start;
  margin-top: -72px;
  border: 4px solid var(--gw-bg);
  box-shadow: none;
}
.gw-creator--sheer .gw-meta {
  grid-column: 2;
  grid-row: 1;
  align-self: start;
  min-width: 0;
  padding: 14px 0 0;
}
.gw-creator--sheer .gw-handle {
  display: block;
  margin: 0;
  font-size: 23px;
  line-height: 1.25;
  letter-spacing: -.025em;
}
.gw-creator--sheer .gw-bio {
  max-width: 560px;
  margin: 4px 0 0;
  color: var(--gw-muted);
  font-size: 13px;
  line-height: 1.45;
}
.gw-profile-facts {
  display: flex;
  flex-wrap: wrap;
  gap: 5px 14px;
  margin-top: 7px;
  color: var(--gw-muted);
  font-size: 11px;
  line-height: 1.4;
}
.gw-profile-facts > span {
  display: inline-flex;
  align-items: center;
  gap: 5px;
}
.gw-profile-facts svg { width: 13px; height: 13px; }
.gw-profile-secondary-actions {
  display: flex;
  grid-column: 3;
  grid-row: 1;
  flex-wrap: wrap;
  align-self: start;
  justify-content: flex-end;
  gap: 7px;
  max-width: 330px;
  padding-top: 14px;
}
.gw-profile-action {
  display: inline-flex;
  min-width: 70px;
  min-height: 44px;
  box-sizing: border-box;
  align-items: center;
  justify-content: center;
  padding: 8px 12px;
  border: 1px solid var(--gw-line-hover);
  border-radius: 7px;
  background: transparent;
  color: var(--gw-text);
  font: inherit;
  font-size: 12px;
  font-weight: 650;
  line-height: 1.2;
  cursor: pointer;
}
.gw-profile-action:hover { border-color: var(--gw-pink); color: var(--gw-pink); }
.gw-profile-action:focus-visible,
.gw-profile-filters .gw-tab:focus-visible { outline: 2px solid var(--gw-pink); outline-offset: 2px; }
.gw-profile-secondary-actions .gw-message-note,
.gw-share-status {
  flex: 1 0 100%;
  margin: 0;
  color: var(--gw-muted);
  font-size: 10px;
  line-height: 1.35;
  text-align: right;
}
.gw-share-status:empty { display: none; }
.gw-profile-offer {
  display: flex;
  grid-column: 1 / -1;
  grid-row: 2;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 14px 0 16px;
  border-top: 1px solid var(--gw-line);
  border-bottom: 1px solid var(--gw-line);
}
.gw-profile-offer-copy { min-width: 0; }
.gw-profile-offer-copy > span {
  display: block;
  margin-bottom: 4px;
  color: var(--gw-pink);
  font-size: 10px;
  font-weight: 750;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.gw-profile-offer-copy strong {
  display: block;
  color: var(--gw-text);
  font-size: 15px;
  font-weight: 650;
  line-height: 1.35;
}
.gw-profile-offer-copy small {
  display: block;
  margin-top: 3px;
  color: var(--gw-muted);
  font-size: 10px;
  line-height: 1.4;
}
.gw-profile-offer-action {
  width: 300px;
  flex: 0 0 300px;
}
.gw-profile-offer-action .gw-btn {
  width: 100%;
  min-width: 0;
  min-height: 50px;
  box-sizing: border-box;
  border-radius: 8px;
  padding: 11px 16px;
  box-shadow: none;
  font-size: 13px;
}
.gw-profile-offer-action .gw-btn:hover,
.gw-profile-offer-action .gw-btn:focus { box-shadow: none; transform: none; }
.gw-profile-offer-action .gw-btn:disabled { opacity: .55; cursor: not-allowed; }
.gw-profile-offer-action .gw-form-status {
  margin: 6px 0 0;
  color: var(--gw-muted);
  font-size: 11px;
  line-height: 1.4;
  text-align: center;
}
.gw-profile-offer-action .gw-form-status:empty { display: none; }
.gw-profile-content { padding-top: 10px; }
.gw-profile-filters {
  display: flex;
  align-items: center;
  gap: 6px;
  min-height: 44px;
  padding: 0 2px 8px;
}
.gw-profile-filters .gw-tab {
  min-height: 38px;
  box-sizing: border-box;
  padding: 8px 12px;
  border: 1px solid transparent !important;
  border-radius: 7px;
  color: var(--gw-muted);
  font-size: 12px;
  line-height: 1;
}
.gw-profile-filters .gw-tab:hover { border-color: var(--gw-line-hover) !important; color: var(--gw-text); }
.gw-profile-filters .gw-tab.is-active {
  border-color: var(--gw-line-hover) !important;
  background: var(--gw-surface) !important;
  color: var(--gw-text);
}
.gw-profile-filters .gw-tab.is-active:after { display: none; }
.gw-profile-content .gw-feed,
main:has(.gw-creator--sheer) > .gw-feed {
  width: min(1000px, calc(100% - 32px));
  max-width: none;
  box-sizing: border-box;
  margin: 0 auto;
  padding: 0 0 40px;
}
.gw-profile-content .gw-feed { width: 100%; }
.gw-profile-content .gw-grid,
main:has(.gw-creator--sheer) > .gw-feed .gw-grid {
  grid-template-columns: repeat(3, minmax(0,1fr));
  gap: 8px;
}
.gw-profile-content .gw-empty,
main:has(.gw-creator--sheer) > .gw-feed .gw-empty { padding: 44px 16px; }
.gwfan .gw-card .gw-lock-pill {
  min-width: 44px;
  min-height: 44px;
  padding: 8px;
  border: 1px solid rgba(255,255,255,.26);
  box-shadow: 0 6px 22px rgba(0,0,0,.38);
}
.gwfan .gw-card .gw-lock-pill svg { width: 20px; height: 20px; }
.gw-lock-label {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

@media (min-width: 768px) and (max-width: 899px) {
  .gw-profile-summary { grid-template-columns: 110px minmax(0,1fr); }
  .gw-creator--sheer .gw-avatar { width: 104px; height: 104px; margin-top: -52px; }
  .gw-profile-secondary-actions { grid-column: 1 / -1; grid-row: 2; max-width: none; padding-top: 0; }
  .gw-profile-offer { grid-row: 3; }
  .gw-profile-content .gw-grid,
  main:has(.gw-creator--sheer) > .gw-feed .gw-grid { grid-template-columns: repeat(2,minmax(0,1fr)); gap: 10px; }
}

@media (max-width: 767px) {
  .gw-creator--sheer { padding: 0; }
  body:has(.gw-creator--sheer) .gw-dock { display: none; }
  .gw-profile-shell { width: 100%; }
  .gw-creator--sheer .gw-creator-top {
    position: absolute;
    z-index: 6;
    top: 10px;
    right: 10px;
    left: 10px;
    display: flex;
    height: 40px;
    padding: 0;
    border: 0;
    background: transparent;
    backdrop-filter: none;
  }
  .gw-creator--sheer .gw-creator-top a,
  .gw-creator--sheer .gw-creator-top strong {
    border: 1px solid rgba(255,255,255,.16);
    background: rgba(8,9,11,.76) !important;
    backdrop-filter: blur(8px);
  }
  .gw-creator--sheer .gw-creator-top a { width: 40px; height: 40px; border-radius: 50%; }
  .gw-creator--sheer .gw-creator-top strong {
    display: inline-flex;
    max-width: calc(100% - 60px);
    min-height: 40px;
    box-sizing: border-box;
    align-items: center;
    overflow: hidden;
    padding: 8px 11px;
    border-radius: 7px;
    font-size: 12px;
    text-overflow: ellipsis;
    white-space: nowrap;
  }
  .gw-creator--sheer .gw-cover { height: 180px; border-right: 0; border-left: 0; border-radius: 0; }
  .gw-profile-summary {
    grid-template-columns: minmax(0,1fr);
    row-gap: 0;
    padding: 0 16px;
  }
  .gw-creator--sheer .gw-avatar {
    grid-column: 1;
    grid-row: 1;
    width: 88px;
    height: 88px;
    margin: -44px auto 0;
  }
  .gw-creator--sheer .gw-meta {
    grid-column: 1;
    grid-row: 2;
    padding-top: 9px;
    text-align: center;
  }
  .gw-creator--sheer .gw-handle { font-size: 21px; }
  .gw-creator--sheer .gw-bio { margin-top: 5px; font-size: 12px; }
  .gw-profile-facts { justify-content: center; gap: 5px 12px; margin-top: 7px; }
  .gw-profile-secondary-actions {
    display: grid;
    grid-column: 1;
    grid-row: 3;
    grid-template-columns: repeat(3,minmax(0,1fr));
    max-width: none;
    padding-top: 13px;
  }
  .gw-profile-action { min-width: 0; min-height: 42px; padding: 7px 8px; font-size: 11px; }
  .gw-profile-secondary-actions .gw-message-note,
  .gw-share-status { grid-column: 1 / -1; text-align: center; }
  .gw-profile-offer {
    display: block;
    grid-column: 1;
    grid-row: 4;
    margin-top: 12px;
    padding: 13px 0 14px;
  }
  .gw-profile-offer-copy { text-align: center; }
  .gw-profile-offer-copy strong { font-size: 14px; }
  .gw-profile-offer-action { width: 100%; margin-top: 11px; }
  .gw-profile-offer-action .gw-btn { min-height: 48px; }
  .gw-profile-content { padding-top: 8px; }
  .gw-profile-filters { justify-content: center; padding: 0 16px 8px; }
  .gw-profile-content .gw-feed,
  main:has(.gw-creator--sheer) > .gw-feed {
    width: 100%;
    padding: 0 16px 40px;
  }
  .gw-profile-content .gw-grid,
  main:has(.gw-creator--sheer) > .gw-feed .gw-grid {
    grid-template-columns: minmax(0,1fr);
    gap: 8px;
  }
}

@media (max-width: 360px) {
  .gw-profile-summary { padding-right: 12px; padding-left: 12px; }
  .gw-profile-filters { padding-right: 12px; padding-left: 12px; }
  .gw-profile-content .gw-feed,
  main:has(.gw-creator--sheer) > .gw-feed { padding-right: 12px; padding-left: 12px; }
}

/* Compact global header and shared creator strip */
.gw-sr-only { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.gw-site-header { position:sticky; top:0; z-index:120; min-height:56px; background:rgba(8,8,11,.97); border-bottom:1px solid var(--gw-line); backdrop-filter:blur(12px); }
.gw-site-header .gw-header-inner { position:relative; display:grid; grid-template-columns:minmax(130px,1fr) minmax(220px,420px) minmax(220px,1fr); align-items:center; gap:16px; width:100%; max-width:1400px; min-height:56px; box-sizing:border-box; margin:0 auto; padding:0 20px; }
.gw-site-header .gw-brand { grid-column:1; color:var(--gw-text); font-size:20px; font-weight:800; letter-spacing:-.045em; text-decoration:none; white-space:nowrap; }
.gw-site-header .gw-brand span { color:var(--gw-pink); }
.gw-header-search { grid-column:2; display:flex; align-items:center; gap:8px; min-width:0; height:36px; box-sizing:border-box; margin:0; padding:0 8px 0 14px; border:1px solid var(--gw-line); border-radius:999px; background:#17171c; }
.gw-header-search input, .gw-header-search-mobile-form input { flex:1 1 auto; min-width:0; width:100%; height:100%; box-sizing:border-box; border:0; outline:0; background:transparent; color:var(--gw-text); font:400 13px/1.3 var(--gw-font); }
.gw-header-search input::placeholder, .gw-header-search-mobile-form input::placeholder { color:#9f9aa2; opacity:1; }
.gw-header-search:focus-within, .gw-header-search-mobile-form:focus-within { border-color:var(--gw-pink); box-shadow:0 0 0 2px rgba(240,47,103,.2); }
.gw-header-search button, .gw-header-search-mobile-form button { display:inline-flex; flex:0 0 30px; align-items:center; justify-content:center; width:30px; height:30px; padding:0; border:0; border-radius:50%; background:transparent; color:#d8d3d8; cursor:pointer; }
.gw-header-search button:hover, .gw-header-search-mobile-form button:hover { background:#28272e; color:var(--gw-pink); }
.gw-header-search button:focus-visible, .gw-header-search-mobile-form button:focus-visible { outline:2px solid var(--gw-pink); outline-offset:2px; }
.gw-header-search svg, .gw-header-search-mobile-form svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.gw-header-search-mobile { display:none; }
.gw-account { grid-column:3; display:flex; align-items:center; justify-content:flex-end; gap:8px; min-width:0; margin-left:0; font-size:14px; }
.gw-header-icon, .gw-avatar-trigger { position:relative; display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; width:36px; height:36px; box-sizing:border-box; border:1px solid transparent; border-radius:50%; background:transparent; color:#d8d3d8; text-decoration:none; cursor:pointer; }
.gw-header-icon:hover, .gw-avatar-trigger:hover { background:#19191f; color:var(--gw-text); }
.gw-header-icon:focus-visible, .gw-avatar-trigger:focus-visible { outline:2px solid var(--gw-pink); outline-offset:2px; }
.gw-header-icon svg, .gw-avatar-trigger svg { width:20px; height:20px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.gw-header-icon[aria-current="page"] { color:var(--gw-pink); }
.gw-unread-badge { position:absolute; top:-2px; right:-4px; min-width:17px; height:17px; box-sizing:border-box; padding:0 4px; border:2px solid #08080b; border-radius:999px; background:var(--gw-pink); color:#fff; font-size:10px; font-weight:750; line-height:13px; text-align:center; }
.gw-token-balance { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; gap:5px; min-height:34px; box-sizing:border-box; padding:0 10px; border:1px solid rgba(240,47,103,.32); border-radius:999px; background:rgba(240,47,103,.08); color:#ff8aa9; font:700 12px/1 var(--gw-font); cursor:pointer; }
.gw-token-balance:hover { border-color:var(--gw-pink); background:rgba(240,47,103,.15); }
.gw-token-balance:focus-visible { outline:2px solid var(--gw-pink); outline-offset:2px; }
.gw-token-balance svg { width:16px; height:16px; flex:0 0 auto; fill:none; stroke:currentColor; stroke-width:1.65; stroke-linecap:round; stroke-linejoin:round; }
.gw-account-menu { position:relative; flex:0 0 auto; }
.gw-account-menu > summary { list-style:none; }
.gw-account-menu > summary::-webkit-details-marker { display:none; }
.gw-avatar-trigger { width:36px; height:36px; overflow:hidden; border-color:var(--gw-line); background:#17171d; }
.gw-avatar-trigger img { display:block; width:100%; height:100%; object-fit:cover; }
.gw-account-popover { position:absolute; z-index:150; top:calc(100% + 8px); right:0; display:grid; min-width:176px; padding:6px; border:1px solid var(--gw-line-hover); border-radius:10px; background:#141418; box-shadow:0 14px 38px rgba(0,0,0,.42); }
.gw-account-popover a { display:flex; align-items:center; min-height:40px; padding:0 12px; border-radius:6px; color:var(--gw-text); font-size:13px; text-decoration:none; white-space:nowrap; }
.gw-account-popover a:hover, .gw-account-popover a:focus-visible { background:#222127; color:var(--gw-pink); outline:0; }
.gw-account-popover .gw-account-join { color:#ff8aa9; font-weight:700; }

.gw-creator-header { width:min(1040px,calc(100% - 40px)); box-sizing:border-box; margin:0 auto; border-bottom:1px solid var(--gw-line); background:linear-gradient(90deg,rgba(240,47,103,.055),transparent 45%),#101014; }
.gw-creator-header-row { display:grid; grid-template-columns:58px minmax(0,1fr) auto; align-items:center; gap:12px; min-height:78px; box-sizing:border-box; padding:9px 14px; }
.gw-creator-header-avatar { display:flex; align-items:center; justify-content:center; width:58px; height:58px; overflow:hidden; border:1px solid rgba(255,255,255,.13); border-radius:50%; background:#202027; color:#96919a; }
.gw-creator-header-avatar img { display:block; width:100%; height:100%; object-fit:cover; }
.gw-creator-header-avatar svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:1.5; }
.gw-creator-header-copy { min-width:0; }
.gw-creator-header-name-row { display:flex; align-items:baseline; gap:8px; min-width:0; }
.gw-creator-header-name { overflow:hidden; color:var(--gw-text); font-size:15px; font-weight:750; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }
.gw-creator-header-name:hover, .gw-creator-header-handle:hover { color:var(--gw-pink); }
.gw-creator-header-handle { overflow:hidden; color:var(--gw-muted); font-size:11px; text-decoration:none; text-overflow:ellipsis; white-space:nowrap; }
.gw-creator-header-bio { overflow:hidden; max-width:560px; margin:4px 0 0; color:var(--gw-muted); font-size:11px; line-height:1.35; text-overflow:ellipsis; white-space:nowrap; }
.gw-creator-header-actions { display:flex; flex-wrap:wrap; align-items:center; justify-content:flex-end; gap:5px; min-width:0; }
.gw-profile-icon-button { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; width:36px; height:36px; box-sizing:border-box; padding:0; border:1px solid var(--gw-line); border-radius:50%; background:#17171d; color:#ded9df; text-decoration:none; cursor:pointer; }
.gw-profile-icon-button:hover { border-color:rgba(240,47,103,.6); background:rgba(240,47,103,.1); color:#ff80a5; }
.gw-profile-icon-button:focus-visible, .gw-creator-subscribe:focus-visible { outline:2px solid var(--gw-pink); outline-offset:2px; }
.gw-profile-icon-button svg { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.gw-creator-subscribe { display:inline-flex; flex:0 0 auto; align-items:center; justify-content:center; min-height:38px; box-sizing:border-box; padding:0 13px; border:0; border-radius:999px; background:var(--gw-pink); color:#fff !important; font:750 12px/1.2 var(--gw-font); text-align:center; text-decoration:none; white-space:nowrap; cursor:pointer; }
.gw-creator-subscribe:hover { background:#d92357; }
.gw-creator-subscribe.gw-btn-subscribed { border:1px solid var(--gw-line-hover); background:#202027; color:#e8e2e8 !important; }
.gw-creator-subscribe.is-disabled { background:#26252b; color:#99949c !important; cursor:not-allowed; }
.gw-creator-header-actions .gw-share-status { flex:1 0 100%; margin:0; color:var(--gw-muted); font-size:10px; line-height:1.25; text-align:right; }
.gw-creator-header-actions .gw-share-status:empty, .gw-creator-header-actions .gw-form-status:empty { display:none; }
.gw-creator-header-actions .gw-form-status { flex:1 0 100%; margin:0; color:var(--gw-muted); font-size:11px; line-height:1.3; text-align:right; }
.gw-content-page { width:min(1080px,100%); margin:0 auto 24px; }
.gw-content-post.container { margin-top:0; }
.gw-content-post-head { min-height:48px; padding:7px 14px; border-top:1px solid rgba(255,255,255,.07); }
.gw-content-post .media-container, .gw-content-post .album-view { margin-top:0; }

.gw-profile-body { width:min(1000px,calc(100% - 32px)); box-sizing:border-box; margin:0 auto; padding:18px 0 8px; }
.gw-profile-about { display:grid; grid-template-columns:minmax(0,1fr) minmax(220px,280px); gap:14px 22px; padding:18px; border:1px solid var(--gw-line); border-radius:10px; background:var(--gw-surface); }
.gw-profile-about-copy { min-width:0; }
.gw-profile-about h2, .gw-profile-membership h3 { margin:0 0 8px; color:var(--gw-text); font-size:16px; font-weight:700; line-height:1.3; }
.gw-profile-about-bio { margin:0; color:#d2cdd3; font-size:13px; line-height:1.6; white-space:pre-line; }
.gw-profile-stats { display:flex; flex-wrap:wrap; align-content:start; gap:7px; margin:0; }
.gw-profile-stats > div { min-width:72px; padding:9px 11px; border:1px solid rgba(255,255,255,.07); border-radius:7px; background:#15151a; }
.gw-profile-stats dt { color:var(--gw-muted); font-size:10px; }
.gw-profile-stats dd { margin:3px 0 0; color:var(--gw-text); font-size:13px; font-weight:700; }
.gw-profile-membership { grid-column:1 / -1; padding-top:12px; border-top:1px solid var(--gw-line); }
.gw-profile-membership h3 { margin-bottom:4px; color:#ff80a5; font-size:12px; }
.gw-profile-membership p, .gw-profile-membership small { display:block; margin:0; color:#d2cdd3; font-size:12px; line-height:1.45; }
.gw-profile-membership small { margin-top:3px; color:var(--gw-muted); font-size:10px; }
.gw-profile-content { padding-top:10px; }

/* Media Like uses KVS rating actions with vote 5; the hidden scale remains for KVS AJAX. */
.gw-media-like, .gw-playlist-like { display:flex; align-items:center; gap:9px; }
.gw-media-like-control { display:inline-flex; align-items:center; gap:9px; }
.gw-like-trigger { display:inline-flex !important; align-items:center; justify-content:center; gap:7px; min-width:44px; min-height:40px; box-sizing:border-box; padding:0 11px; border:1px solid rgba(240,47,103,.3); border-radius:999px; background:rgba(240,47,103,.08); color:#ff80a5 !important; font:650 12px/1 var(--gw-font); text-decoration:none; cursor:pointer; }
.gw-like-trigger:hover { border-color:var(--gw-pink); background:rgba(240,47,103,.16); }
.gw-like-trigger:focus-visible { outline:2px solid var(--gw-pink); outline-offset:2px; }
.gw-like-trigger.is-disabled { opacity:.5; cursor:not-allowed; }
.gw-like-icon { width:17px; height:17px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.gw-like-trigger.voted .gw-like-icon { fill:currentColor; }
.gw-like-count { display:inline-flex; align-items:center; gap:4px; color:var(--gw-text); font-size:12px; font-weight:650; white-space:nowrap; }
.gw-rating-scale[hidden] { display:none !important; }
.gw-sr-only.voters { position:absolute !important; width:1px !important; height:1px !important; padding:0 !important; margin:-1px !important; overflow:hidden !important; clip:rect(0,0,0,0) !important; white-space:nowrap !important; border:0 !important; }
.gw-card-like-count { position:absolute; z-index:2; top:8px; right:8px; display:inline-flex; align-items:center; gap:4px; min-height:26px; box-sizing:border-box; padding:0 8px; border:1px solid rgba(255,255,255,.17); border-radius:999px; background:rgba(8,8,11,.84); color:#fff; font-size:11px; font-weight:700; line-height:1; }
.gw-card-like-count svg { width:12px; height:12px; fill:#ff5a83; stroke:#ff5a83; stroke-width:1.5; }
.gw-editor-like-count { display:inline-flex; align-items:center; gap:4px; color:#ff8aa9; font-style:normal; font-size:11px; }
.gw-editor-like-count svg { width:13px; height:13px; fill:#ff5a83; stroke:#ff5a83; stroke-width:1.4; }
.gw-favorite-star { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; vertical-align:middle; }
.info-bar__button.subscribed .gw-favorite-star { fill:#ff75a0; stroke:#ff75a0; }
.info-bar__button > span[data-favourites] { display:inline-block; margin-left:3px; color:inherit; font-size:11px; vertical-align:middle; }
.gw-playlist-like { min-height:40px; }
.gw-playlist-like .gw-like-trigger { font-size:12px; }

@media (max-width:767px) {
  .gw-site-header .gw-header-inner { grid-template-columns:auto minmax(0,1fr) auto; gap:6px; min-height:56px; padding:0 10px; }
  .gw-site-header .gw-brand { font-size:19px; }
  .gw-site-header .gw-header-search--desktop { display:none; }
  .gw-header-search-mobile { position:relative; grid-column:2; display:block; justify-self:start; }
  .gw-header-search-mobile > summary { display:inline-flex; align-items:center; justify-content:center; width:34px; height:34px; list-style:none; border-radius:50%; color:#d8d3d8; cursor:pointer; }
  .gw-header-search-mobile > summary::-webkit-details-marker { display:none; }
  .gw-header-search-mobile > summary:hover { background:#19191f; color:var(--gw-pink); }
  .gw-header-search-mobile > summary:focus-visible { outline:2px solid var(--gw-pink); outline-offset:2px; }
  .gw-header-search-mobile > summary svg { width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
  .gw-header-search-mobile-form { position:absolute; z-index:145; top:calc(100% + 11px); left:-48px; display:flex; align-items:center; gap:8px; width:min(370px,calc(100vw - 20px)); height:44px; box-sizing:border-box; margin:0; padding:0 8px 0 14px; border:1px solid var(--gw-line-hover); border-radius:10px; background:#141418; box-shadow:0 14px 38px rgba(0,0,0,.42); }
  .gw-account { grid-column:3; gap:4px; }
  .gw-header-icon, .gw-avatar-trigger { width:32px; height:32px; }
  .gw-header-icon svg, .gw-avatar-trigger svg { width:18px; height:18px; }
  .gw-token-balance { min-height:32px; gap:4px; padding:0 7px; font-size:11px; }
  .gw-token-balance svg { width:14px; height:14px; }
  .gw-token-word { display:none; }
  .gw-creator-header { width:100%; border-right:0; border-left:0; }
  .gw-creator-header-row { grid-template-columns:46px minmax(0,1fr) auto; gap:7px; min-height:70px; padding:8px 12px; }
  .gw-creator-header-avatar { width:46px; height:46px; }
  .gw-creator-header-name { font-size:13px; }
  .gw-creator-header-handle { font-size:10px; }
  .gw-creator-header-bio { display:none; }
  .gw-creator-header-actions { gap:3px; }
  .gw-profile-icon-button { width:28px; height:28px; }
  .gw-profile-icon-button svg { width:15px; height:15px; }
  .gw-creator-subscribe { min-height:34px; max-width:105px; padding:0 7px; font-size:10px; line-height:1.05; white-space:normal; }
  .gw-creator-header-actions .gw-share-status, .gw-creator-header-actions .gw-form-status { display:none; }
  .gw-profile-body { width:calc(100% - 24px); padding-top:12px; }
  .gw-profile-about { grid-template-columns:minmax(0,1fr); gap:12px; padding:14px; }
  .gw-profile-membership { grid-column:1; }
  .gw-profile-stats > div { min-width:62px; padding:8px; }
  .gw-content-page { width:100%; margin-bottom:18px; }
  .gw-content-post-head { min-height:44px; padding:7px 12px; }
  .gw-media-like-control { gap:7px; }
  .gw-like-trigger { min-height:38px; padding:0 9px; }
}
@media (max-width:360px) {
  .gw-site-header .gw-header-inner { padding:0 7px; gap:4px; }
  .gw-site-header .gw-brand { font-size:17px; }
  .gw-account { gap:2px; }
  .gw-header-icon, .gw-avatar-trigger { width:30px; height:30px; }
  .gw-token-balance { padding:0 6px; }
  .gw-creator-header-row { grid-template-columns:42px minmax(0,1fr) auto; gap:5px; padding-right:8px; padding-left:8px; }
  .gw-creator-header-avatar { width:42px; height:42px; }
  .gw-creator-header-handle { display:none; }
  .gw-profile-icon-button { width:27px; height:27px; }
  .gw-creator-subscribe { max-width:96px; padding:0 6px; font-size:9px; }
}

@media (max-width:767px) { .gw-site-footer { margin-bottom:0; } .gw-become { padding-bottom:24px; } }

/* GWfan accessible content actions 2026-09-27 */
.gw-content-page .gw-like-trigger { min-height:44px; }
.gw-content-page .info-bar__button { min-width:44px; }
.gw-content-page .info-bar__button:focus-visible { outline:2px solid var(--gw-pink); outline-offset:2px; }

/* 2026-09-27: profile banner and compact details; content action alignment. */
.gw-profile-hero { position:relative; width:min(1000px,100%); height:190px; margin:0 auto; overflow:hidden; background:linear-gradient(120deg,#27212a,#101014); }
.gw-profile-cover-image { position:absolute; inset:0; display:block; width:100%; height:100%; object-fit:cover; object-position:center 40%; }
.gw-profile-hero::after { content:""; position:absolute; inset:30% 0 0; pointer-events:none; background:linear-gradient(transparent,rgba(7,7,10,.85)); }
.gw-profile-hero .gw-creator-header { position:absolute; z-index:1; right:0; bottom:0; left:0; width:100%; border:0; background:transparent; }
.gw-profile-hero .gw-creator-header-row { min-height:76px; padding:8px 16px; }
.gw-profile-hero .gw-creator-header-name, .gw-profile-hero .gw-creator-header-handle { text-shadow:0 1px 8px #000; }
.gw-profile-body { padding-top:0; }
.gw-profile-details { padding:10px 2px 3px; color:#d8d3da; font-size:12px; }
.gw-profile-details-bio { margin:0 0 8px; line-height:1.45; }
.gw-profile-details-line { display:flex; align-items:center; flex-wrap:wrap; gap:3px 18px; }
.gw-profile-details-membership { color:#f9afc2; }
.gw-profile-details small { display:block; margin-top:3px; color:var(--gw-muted); font-size:10px; line-height:1.3; }
.gw-profile-content { padding-top:5px; }

.gw-profile-icon-button { width:40px; height:40px; border-radius:50%; }
.gw-profile-icon-button svg { width:19px; height:19px; stroke-width:1.8; }
/* Single action and metadata system for video and album detail. */
.gw-content-post .info-bar { display:grid; grid-template-columns:minmax(0,1fr) auto; grid-template-areas:"meta meta" "like actions" "report report"; align-items:center; gap:6px 14px; min-height:0; height:auto; margin:0 20px; padding:8px 0 12px; border:0; border-bottom:1px solid rgba(255,255,255,.08); background:transparent; }
.gw-content-post .info-bar__cell { border:0; }
.gw-content-post .media-data { grid-area:meta; width:100%; min-width:0; height:auto; }
.gw-content-post .media-data__list { display:flex; align-items:center; justify-content:flex-start; flex-wrap:wrap; gap:4px 22px; width:100%; margin:0; padding:0; }
.gw-content-post .media-data__list li { display:inline-flex; align-items:baseline; gap:5px; width:auto; min-width:0; margin:0; padding:0; white-space:nowrap; text-align:left; }
.gw-content-post .media-data__list li:nth-child(n+3) { display:none; }
.gw-content-post .media-data__list-title { color:#aaa3ad; }
.gw-content-post .vote-block { grid-area:like; display:flex; align-items:center; justify-content:flex-start; width:auto; min-width:0; height:auto; margin:0; padding:0; float:none; border:0 !important; }
.gw-content-post .gw-media-like-control { gap:8px; white-space:nowrap; }
.gw-content-post .info-bar__buttons { grid-area:actions; display:flex; align-items:center; justify-content:flex-end; gap:6px; width:auto; height:auto; margin:0; padding:0; float:none; border:0; }
.gw-content-post .info-bar__buttons > .info-bar__cell { display:flex; align-items:center; width:auto; height:auto; margin:0; padding:0; float:none; border:0; }
.gw-content-post .info-bar__button { display:inline-flex; align-items:center; justify-content:center; gap:4px; min-width:44px; width:auto; height:44px; box-sizing:border-box; padding:0 9px; border:1px solid #34343b; border-radius:10px; background:#19191f; color:#ddd8df; font-size:12px; line-height:1; text-decoration:none; }
.gw-content-post .info-bar__button:hover, .gw-content-post .info-bar__button.active { border-color:var(--gw-pink) !important; background:rgba(236,46,91,.12) !important; color:#ff96b2 !important; }
.gw-content-post .info-bar__button > span { position:static; display:inline; width:auto; height:auto; margin:0; padding:0; border:0; border-radius:0; background:transparent !important; color:inherit !important; font:650 11px/1 var(--gw-font) !important; }
.gw-content-post .info-bar__button svg { flex:none; width:19px; height:19px; fill:none; stroke:currentColor; stroke-width:1.8; stroke-linecap:round; stroke-linejoin:round; }
.gw-content-post .info-bar__button.subscribed .gw-favorite-star { fill:#ff75a0; stroke:#ff75a0; }
.gw-content-post .gw-report-cell { grid-area:report; justify-self:end; width:auto; height:auto; margin:0; padding:0; float:none; border:0; }
.gw-content-post .gw-report-link { display:inline-block; padding:8px 0 3px; color:#aaa3ad; font-size:11px; }
.gw-content-post .gw-like-icon { width:19px; height:19px; }
.gw-content-post .gw-like-trigger { min-height:44px; border-radius:10px; }
.gw-content-page--album .album-view > .btn--unlock { display:flex; align-items:center; justify-content:center; gap:8px; min-height:58px; box-sizing:border-box; margin:0; padding:10px 16px; border:1px solid rgba(236,46,91,.45) !important; border-radius:0; background:#19151b !important; color:#f9f5f8 !important; text-align:center; text-decoration:none; text-transform:none; white-space:normal; font:650 13px/1.35 var(--gw-font); }
.gw-content-page--album .album-view > .btn--unlock:hover { background:#241820 !important; }
.gw-content-page--album .album-view > .btn--unlock .lock { display:inline-flex; align-items:center; justify-content:center; flex:none; width:30px; height:30px; border-radius:8px; background:rgba(236,46,91,.15) !important; color:#ff83a5 !important; }
.gw-content-page--album .album-view > .btn--unlock span { color:#c9c0c9 !important; }
.gw-content-page--album .album-view > .btn--unlock strong { color:#fff; }
@media (min-width:768px) { .gw-related-grid:has(> :only-child) { grid-template-columns:minmax(0,min(320px,100%)); } }
.gw-content-related--empty { border-top:1px solid rgba(255,255,255,.08); }
@media (max-width:767px) {
  .gw-profile-hero { height:156px; }
  .gw-creator-header-handle { display:none; }
  .gw-profile-hero .gw-creator-header-row { min-height:70px; padding:7px 10px; }
  .gw-profile-icon-button { width:34px; height:34px; }
  .gw-profile-icon-button svg { width:18px; height:18px; }
  .gw-profile-body { padding-top:0; }
  .gw-profile-details { padding:8px 2px 1px; }
  .gw-profile-content { padding-top:2px; }
}
@media (max-width:360px) {
  .gw-profile-hero .gw-creator-header-row { grid-template-columns:42px minmax(0,1fr) auto; gap:4px; padding:6px 7px; }
  .gw-profile-hero .gw-profile-icon-button { width:30px; height:30px; }
}


/* 2026-09-27 — Native KVS comments presented in a Sheer-style drawer. */
.gw-comments-backdrop[hidden],
#gw-content-comments[hidden] { display: none !important; }
.gw-comments-backdrop { position: fixed; z-index: 20100; inset: 0; width: 100%; height: 100%; margin: 0; padding: 0; border: 0; background: rgba(0,0,0,.64); cursor: default; }
.gw-comments-panel { position: fixed; z-index: 20101; top: var(--gw-comments-vvtop, 0px); right: 0; display: grid; grid-template-rows: auto minmax(0,1fr); width: min(500px, 100vw); height: var(--gw-comments-vvh, 100vh); height: var(--gw-comments-vvh, 100dvh); box-sizing: border-box; padding-top: env(safe-area-inset-top, 0px); padding-bottom: env(safe-area-inset-bottom, 0px); overflow: hidden; border-left: 1px solid rgba(255,255,255,.1); background: #0f1114; color: #f4f0f3; box-shadow: -18px 0 54px rgba(0,0,0,.38); }
.gw-comments-panel__header { display: grid; grid-template-columns: minmax(0,1fr) auto 44px; align-items: center; gap: 10px; min-height: 64px; padding: 8px 16px; border-bottom: 1px solid rgba(255,255,255,.09); background: #0f1114; }
.gw-comments-panel__header h2 { min-width: 0; margin: 0; color: #fff; font-size: 18px; font-weight: 750; line-height: 1.2; }
.gw-comments-panel__count { display:inline-flex; align-items:center; justify-content:center; min-width:28px; height:28px; box-sizing:border-box; padding:0 7px; border:1px solid #383039; border-radius:8px; background:#1c171d; color:#eadde3; font-size:12px; font-weight:700; font-variant-numeric:tabular-nums; }
.gw-comments-panel__close { display: inline-flex; align-items: center; justify-content: center; width: 44px; height: 44px; padding: 0; border: 1px solid rgba(255,255,255,.1); border-radius: 50%; background: #19191f; color: #eee9ee; cursor: pointer; }
.gw-comments-panel__close:hover { border-color: #ec2e5b; color: #ff8aa9; }
.gw-comments-panel__close:focus-visible, .gw-comments-login:focus-visible { outline: 2px solid #ec2e5b; outline-offset: 2px; }
.gw-comments-panel__close svg { width: 19px; height: 19px; fill: none; stroke: currentColor; stroke-width: 1.8; stroke-linecap: round; }
.gw-comments-panel__body { display: flex; min-height: 0; overflow: hidden; }
.gw-comments-shell { display: grid; grid-template-rows: minmax(0,1fr) auto; flex: 1 1 auto; min-width: 0; min-height: 0; margin: 0; border: 0; background: transparent; }
.gw-comments-scroll { min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; padding: 16px 18px 22px; scrollbar-width: thin; scrollbar-color: #4a424a transparent; }
.gw-comments-empty { display:grid; justify-items:center; align-content:center; min-height:min(44vh,340px); box-sizing:border-box; margin:0; padding:32px 18px; text-align:center; }
.gw-comments-empty__icon { display:grid; place-items:center; width:54px; height:54px; margin-bottom:18px; border:1px solid #40313b; border-radius:16px; background:#1d171d; color:#ff86a6; }
.gw-comments-empty__icon svg { width:26px; height:26px; fill:none; stroke:currentColor; stroke-width:2; stroke-linecap:round; stroke-linejoin:round; }
.gw-comments-empty h3 { margin:0; color:#f8f2f6; font-size:18px; font-weight:750; line-height:1.25; }
.gw-comments-empty p { max-width:260px; margin:7px 0 0; color:#aaa3ad; font-size:13px; line-height:1.5; }
.gw-comments-scroll .comments__list { display: flex; flex-direction: column; gap: 0; width: 100%; margin: 0; padding: 0; border: 0; background: transparent; }
.gw-comments-scroll .comments__item { display:grid; grid-template-columns:36px minmax(0,1fr); align-items:start; gap:12px; margin:0; padding:18px 0; border:0; border-bottom:1px solid rgba(255,255,255,.075); background:transparent; }
.gw-comments-scroll .comments__item__avatar { display:grid; place-items:center; width:36px; height:36px; box-sizing:border-box; overflow:hidden; border:1px solid #47404a; border-radius:50%; background:#28242b !important; transform:none; }
.gw-comments-scroll .comments__item__avatar:not(:has(img))::before { content:""; width:13px; height:13px; margin-top:-7px; border-radius:50%; background:#817680; box-shadow:0 15px 0 5px #817680; }
.gw-comments-scroll .comments__item__avatar img { display: block; width: 100%; height: 100%; border-radius: inherit; object-fit: cover; }
.gw-comments-scroll .comments__item__body { min-width: 0; }
.gw-comments-scroll .comments__item__heading { display:flex; align-items:baseline; justify-content:space-between; flex-wrap:wrap; gap:4px 10px; margin:0 0 6px; }
.gw-comments-scroll .comments__item__name { color:#f7f1f5; font-size:13px; font-weight:750; line-height:1.4; }
.gw-comments-scroll .comments__item__date { color:#a9a1aa; font-size:11px; line-height:1.4; }
.gw-comments-scroll .comments__item__text { margin:0; color:#ded8df; font-size:14px; line-height:1.5; overflow-wrap:anywhere; }
.gw-comments-scroll .pagination { margin: 14px 0 0; text-align: center; }
.gw-comments-scroll .pagination .btn { min-height: 40px; border: 1px solid rgba(236,46,91,.35); border-radius: 10px; background: rgba(236,46,91,.08); color: #ff8aa9; }
.gw-comments-footer { max-height:min(46vh,360px); max-height:min(46dvh,360px); overflow-x:hidden; overflow-y:auto; padding:16px 18px calc(16px + env(safe-area-inset-bottom,0px)); border-top:1px solid rgba(255,255,255,.1); background:#121216; overscroll-behavior:contain; }
.gw-comments-readonly { display:grid; gap:3px; margin-bottom:12px; }
.gw-comments-readonly strong { color:#f2edf1; font-size:13px; font-weight:700; }
.gw-comments-readonly span { color:#aaa3ad; font-size:12px; line-height:1.4; }
.gw-comments-composer__label { display:block; color:#f2edf1; font-size:13px; font-weight:700; }
.gw-comments-composer form { display: grid; gap: 9px; margin: 0; }
.gw-comments-composer .generic-error { margin: 0 0 8px; }
.gw-comments-composer .comments__row { margin: 0; padding: 0; border: 0; }
.gw-comments-composer .relative { display: grid; gap: 8px; }
.gw-comments-composer input.comments__it,
.gw-comments-composer textarea.comments__textarea,
.gw-comments-composer input[name="code"] { display: block; width: 100%; min-width: 0; box-sizing: border-box; border: 1px solid #38333b; border-radius: 10px; background: #19191f; color: #f6f1f5; font: inherit; }
.gw-comments-composer input.comments__it, .gw-comments-composer input[name="code"] { min-height: 42px; padding: 9px 11px; }
.gw-comments-composer textarea.comments__textarea { min-height: 78px; max-height: 180px; resize: vertical; padding: 10px 12px; line-height: 1.4; }
.gw-comments-composer input::placeholder, .gw-comments-composer textarea::placeholder { color: #8d8790; opacity: 1; }
.gw-comments-composer input:focus, .gw-comments-composer textarea:focus { border-color: #ec2e5b; outline: 2px solid rgba(236,46,91,.2); }
.gw-comments-composer .captcha-control { display: grid; gap: 8px; margin: 0; padding: 0; border: 0; }
.gw-comments-composer .captcha-control .title { margin: 0; color: #c7c0c8; }
.gw-comments-composer .captcha-control .image { display: grid; justify-items: start; gap: 8px; }
.gw-comments-composer .captcha-control img { max-width: 100%; height: auto; }
.gw-comments-composer .btn__submit { justify-self:end; min-width:96px; min-height:44px; margin:0; border:0; border-radius:10px; background:#ec2e5b; color:#08090b; font-weight:800; cursor:pointer; }
.gw-comments-login { display:inline-flex; align-items:center; justify-content:center; min-height:44px; padding:0 18px; border:1px solid #ec2e5b; border-radius:10px; background:#ec2e5b; color:#08090b; font-size:13px; font-weight:800; text-decoration:none; }
.gw-comments-login:hover { background:#ff5e88; color:#08090b; }
.gw-comments-success { margin: 0; }
.gw-content-related { width: 100%; margin: 0; }
.gw-related-heading { display: flex; align-items: center; justify-content: space-between; min-height: 38px; margin: 0 0 12px; }
.gw-related-heading h2 { margin: 0; color: #f6f1f5; font-size: 16px; font-weight: 750; line-height: 1.3; }
.gw-related-heading a { color: #ff80a5; text-decoration: none; }
.gw-related-heading a:hover { text-decoration: underline; }
.gw-related-grid { grid-template-columns: repeat(3, minmax(0,1fr)); gap: 14px; }
.gw-related-grid .gw-card { aspect-ratio: 16 / 9; }
@media (max-width: 767px) {
  .gw-comments-panel { left: 0; right: 0; width: 100%; border-left: 0; }
  .gw-comments-panel__header { min-height: 58px; padding-right: 12px; padding-left: 14px; }
  .gw-comments-scroll { padding: 12px 14px 18px; }
  .gw-comments-footer { padding-right:14px; padding-left:14px; }
  .gw-related-grid { grid-template-columns:minmax(0,1fr); gap:12px; }
}
@media (prefers-reduced-motion: reduce) {
  .gw-comments-scroll { scroll-behavior: auto; }
}
/* Connected fan and creator spaces, 2026-09-28. */
.gw-account-page { padding-top:20px; }
.gw-account-page > .gw-account-tabs, .gw-create > .gw-account-tabs { margin:0 0 22px; }
.gw-account-tabs { display:flex; flex-wrap:nowrap; gap:30px; overflow:visible; margin:0; border-bottom:1px solid #303036; scrollbar-width:none; }
.gw-account-tabs a { display:inline-flex; align-items:center; justify-content:center; gap:5px; min-height:48px; box-sizing:border-box; padding:8px 0; border-bottom:2px solid transparent; font-size:13px; font-weight:600; }
.gw-account-tabs a[aria-current="page"] { color:#fff; border-color:#ec2e5b; }
.gw-account-tabs a:focus-visible,.gw-connected-heading a:focus-visible,.gw-studio-intro a:focus-visible { outline:2px solid #ff799e; outline-offset:3px; }
.gw-nav-count { display:inline-grid; min-width:17px; height:17px; place-items:center; padding:0 3px; border-radius:99px; background:#ec2e5b; color:#09090b; font-size:10px; line-height:1; }
.gw-connected-heading { display:flex; align-items:end; justify-content:space-between; gap:16px; margin:3px 0 22px; }
.gw-connected-heading h1,.gw-studio-intro h1 { margin:0 0 3px; color:#fff; font-size:clamp(23px,3vw,31px); font-weight:700; letter-spacing:-.03em; line-height:1.15; }
.gw-connected-heading p { margin:0; color:var(--gw-muted); font-size:13px; }
.gw-connected-heading a,.gw-studio-intro a,.gw-home-following .gw-section-heading a,.gw-home-media .gw-section-heading a { color:#e5dce1; font-size:12px; font-weight:600; text-decoration:none; white-space:nowrap; }
.gw-connected-heading a:hover,.gw-studio-intro a:hover,.gw-home-following .gw-section-heading a:hover,.gw-home-media .gw-section-heading a:hover { color:#ff84a5; }
.gw-home-following,.gw-home-media,.gw-collection-sections > section { margin:0 0 26px; padding:0 0 25px; border-bottom:1px solid #303036; }
.gw-home-following .gw-section-heading,.gw-home-media .gw-section-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; margin:0 0 14px; }
.gw-home-following .gw-section-heading h2,.gw-home-media .gw-section-heading h2 { margin:0; color:#fff; font-size:19px; }
.gw-home-creator-list { display:grid; grid-template-columns:repeat(auto-fill,minmax(210px,1fr)); gap:10px; }
.gw-home-creator { display:flex; align-items:center; gap:12px; min-width:0; padding:9px 0; color:#fff; text-decoration:none; }
.gw-home-creator img { width:58px; height:58px; flex:0 0 58px; border-radius:50%; object-fit:cover; background:#222228; }
.gw-home-creator span { display:grid; min-width:0; gap:2px; }
.gw-home-creator strong { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-size:14px; }
.gw-home-creator small { color:#bdb5be; font-size:11px; }
.gw-connected-empty { margin:12px 0 0; color:var(--gw-muted); font-size:13px; }
.gw-connected-empty a { color:#ff84a5; }
.gw-studio-intro { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:2px 0 20px; padding-bottom:20px; border-bottom:1px solid #303036; }
.gw-studio-intro > div { display:flex; align-items:center; gap:15px; min-width:0; }
.gw-studio-intro img { width:68px; height:68px; flex:0 0 68px; border-radius:50%; object-fit:cover; }
.gw-studio-intro small { display:block; margin-bottom:3px; color:#ff86a7; font-size:10px; font-weight:700; text-transform:uppercase; letter-spacing:.08em; }
.gw-studio-intro h1 { margin-bottom:6px; }
.gw-studio-intro .gw-account-settings-link { padding:9px 12px; border:1px solid #3a3a43; border-radius:7px; }
.gw-collection-sections > section > h2 { margin:0 0 4px; color:#fff; font-size:19px; }
.gw-collection-sections > section > p { margin:0 0 14px; max-width:640px; color:#aaa2ac; font-size:12px; }
.gw-collection-page .thumbs,.gw-collection-page .full-width-box { width:100%; max-width:none; margin:0; }
.gw-collection-page .thumbs .container { width:100%; max-width:none; padding:0; }
.gw-collection-page .title { margin:14px 0 8px; }
.gw-account-settings { border-radius:8px; }
@media(max-width:767px) {
  .gw-account-page,.gw-create { padding:13px 12px 46px; }
  .gw-account-page > .gw-account-tabs,.gw-create > .gw-account-tabs { margin-bottom:22px; }
  .gw-account-tabs { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:0; width:100%; overflow:visible; }
  .gw-account-tabs a { min-width:0; min-height:52px; padding:8px 2px; font-size:11px; font-weight:650; white-space:nowrap; }
  .gw-nav-count { min-width:14px; height:14px; padding:0 2px; font-size:9px; }
  .gw-connected-heading { align-items:start; margin-bottom:18px; }
  .gw-connected-heading p { max-width:240px; }
  .gw-studio-intro { align-items:start; }
  .gw-studio-intro img { width:56px; height:56px; flex-basis:56px; }
  .gw-studio-intro .gw-account-settings-link { font-size:10px; padding:7px; white-space:normal; text-align:center; }
  .gw-home-creator-list { grid-template-columns:1fr; }
}
@media(max-width:340px) { .gw-account-tabs a { font-size:10px; letter-spacing:-.03em; } .gw-studio-intro { gap:8px; } }

/* Fan subscriptions, activity and creator earnings. */
.gw-subscriptions-panel,.gw-earnings-panel { margin:0 0 28px; padding:0; border:0; border-radius:0; background:transparent; }
.gw-subscriptions-heading { align-items:center; margin:0 0 18px; }
.gw-subscriptions-heading h2,.gw-earnings-heading h2 { font-size:25px; }
.gw-subscriptions-heading p,.gw-earnings-heading p { color:#b7aeb8; }
.gw-subscriptions-count { background:#252127; color:#ff91ae; }
.gw-subscriptions-list { gap:0; border-top:1px solid #303036; }
.gw-subscription-row { padding:18px 0; border:0; border-bottom:1px solid #303036; border-radius:0; background:transparent; }
.gw-subscription-avatar { width:66px; height:66px; flex-basis:66px; }
.gw-subscription-avatar[hidden] { display:none !important; }
.gw-subscription-title { font-size:17px; }
.gw-subscription-details { gap:3px 14px; margin-top:3px; color:#b7aeb8; font-size:12px; }
.gw-subscription-button--secondary { border-color:#77727c; background:#242328; color:#f3edf2 !important; }
.gw-subscription-button--secondary:hover { border-color:#ff8baa; background:#302831; color:#fff !important; }
.gw-subscription-button { min-height:42px; }
.gw-purchase-history { margin:0 0 28px; }
.gw-purchase-history-heading h1 { margin:0 0 6px; color:#fff; font-size:25px; letter-spacing:-.025em; }
.gw-purchase-history-heading p { max-width:680px; margin:0 0 20px; color:#b7aeb8; }
.gw-purchase-history-table-wrap { overflow:visible; border:0; border-top:1px solid #303036; border-radius:0; background:transparent; }
.gw-purchase-history-table th,.gw-purchase-history-table td { padding:13px 14px; }
.gw-purchase-history-table tbody tr:hover { background:#151519; }
.gw-purchase-history-table td:first-child,.gw-purchase-history-table td:last-child { color:#c6bec7; }
.gw-purchase-history-note { margin:12px 0; font-size:12px; }
.gw-earnings-heading { margin-bottom:20px; }
.gw-earnings-summary { display:grid; grid-template-columns:minmax(0,1.1fr) minmax(0,1fr); gap:30px; align-items:start; padding:20px 0; border-top:1px solid #303036; border-bottom:1px solid #303036; }
.gw-earnings-primary { padding:0; }
.gw-earnings-primary .gw-earnings-value { font-size:clamp(38px,5vw,58px); letter-spacing:-.05em; }
.gw-earnings-primary .gw-earnings-label { color:#f1e9ee; font-size:13px; }
.gw-earnings-facts { display:grid; gap:0; margin:0; }
.gw-earnings-facts > div { display:flex; justify-content:space-between; gap:12px; padding:10px 0; border-bottom:1px solid #29292f; font-size:12px; }
.gw-earnings-facts > div:last-child { border-bottom:0; }
.gw-earnings-facts dt { color:#aaa2ac; }
.gw-earnings-facts dd { margin:0; color:#fff; font-weight:700; text-align:right; }
.gw-earnings-actions { margin:0 0 28px; padding:16px 0; border:0; border-radius:0; background:transparent; }
.gw-earnings-actions p { max-width:590px; }
.gw-earnings-history { padding-top:12px; border-top:1px solid #303036; }
@media(max-width:767px) {
  .gw-subscriptions-panel { padding:0; }
  .gw-subscription-row { gap:12px; padding:17px 0; }
  .gw-subscription-identity { align-items:start; }
  .gw-subscription-avatar { width:54px; height:54px; flex-basis:54px; }
  .gw-subscription-action,.gw-subscription-action form,.gw-subscription-button { width:100%; }
  .gw-purchase-history-table-wrap { border:0; background:transparent; }
  .gw-purchase-history-table,.gw-purchase-history-table tbody { display:block; min-width:0 !important; width:100%; }
  .gw-purchase-history-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .gw-purchase-history-table tr { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:4px 15px; padding:15px 0; border-bottom:1px solid #34333a; }
  .gw-purchase-history-table td { display:block; min-width:0; padding:0; border:0; font-size:12px; }
  .gw-purchase-history-table td::before { content:attr(data-label) ': '; color:#99909b; font-weight:500; }
  .gw-purchase-history-table td:nth-child(2) { grid-column:1/-1; order:0; margin-bottom:4px; font-size:14px; }
  .gw-purchase-history-table td:nth-child(2)::before { display:none; }
  .gw-purchase-history-table td:nth-child(1) { order:1; }
  .gw-purchase-history-table td:nth-child(3) { order:2; text-align:right; }
  .gw-purchase-history-table td:nth-child(4) { order:3; }
  .gw-purchase-history-table td:nth-child(5) { order:4; text-align:right; }
  .gw-purchase-history-table td.gw-payment-empty { display:none; }
  .gw-earnings-panel { padding:0; }
  .gw-earnings-summary { grid-template-columns:1fr; gap:12px; }
  .gw-earnings-actions { align-items:start; }
  .gw-earnings-button { width:auto; }
  .gw-earnings-table,.gw-earnings-table tbody { display:block; min-width:0; }
  .gw-earnings-table thead { position:absolute; width:1px; height:1px; overflow:hidden; clip:rect(0 0 0 0); }
  .gw-earnings-table tr { display:grid; grid-template-columns:1fr 1fr; gap:6px 12px; padding:12px 0; border-bottom:1px solid #303036; }
  .gw-earnings-table td { display:block; padding:0; border:0; white-space:normal; }
  .gw-earnings-table td::before { content:attr(data-label) ': '; color:#aaa2ac; font-weight:400; }
}

/* Studio profile controls and the compact conversation viewport. */
.gw-studio-intro + .gw-editor .gw-section-heading a { display:none; }
.gw-studio-intro + .gw-editor { margin-top:0; }
.gw-editor input[type="file"] { padding:7px; color:#c8c0c9; }
.gw-editor input[type="file"]::file-selector-button { min-height:38px; margin-right:12px; padding:7px 12px; border:1px solid #57515b; border-radius:6px; background:#29262c; color:#fff; font:600 12px var(--gw-font); cursor:pointer; }
.gw-editor input[type="file"]:focus-visible,.gw-editor input:focus-visible,.gw-editor textarea:focus-visible { outline:2px solid #ec2e5b; outline-offset:2px; }
.gw-messages-page:has(.gw-thread) { padding-bottom:0; }
.gw-messages-page .gw-thread { min-height:0; }
.gw-thread .gw-composer-wrap { position:relative; padding:9px 12px; }
.gw-thread .gw-composer .textarea { min-height:52px; max-height:160px; padding:10px 12px 6px !important; }
.gw-thread .gw-composer-actions { padding:6px 8px; }
.gw-thread .gw-thread-empty { padding:34px 16px; }
body:has(.gw-thread) .gw-site-footer { display:none; }
@media(max-width:767px) {
  .gw-messages-page .gw-thread { height:calc(100dvh - 148px); min-height:0; border-radius:8px; }
  .gw-thread .gw-composer-actions { flex-wrap:nowrap; align-items:center; gap:6px; }
  .gw-thread .gw-composer-cost { flex:1 1 auto; max-width:none; font-size:10px; }
  .gw-thread .gw-composer-buttons { width:auto; flex:0 0 auto; }
  .gw-thread .gw-composer .gw-send-button { min-width:0; }
}
