:root {
  --ink: #f8f6fa;
  --muted: #aaa3b2;
  --muted-strong: #c9c2cf;
  --canvas: #0a0710;
  --canvas-soft: #100b17;
  --panel: #15101d;
  --panel-strong: #1b1425;
  --panel-light: #f0edf2;
  --line: rgba(255, 255, 255, 0.1);
  --line-strong: rgba(255, 255, 255, 0.18);
  --lime: #d8ff58;
  --lime-deep: #a9d52d;
  --violet: #7f5cff;
  --violet-soft: #a895ff;
  --pink: #ff4f9a;
  --aqua: #33e5ad;
  --danger: #ff6b7b;
  --warning: #ffd76e;
  --radius-xl: 32px;
  --radius-lg: 24px;
  --radius-md: 17px;
  --shadow: 0 32px 80px rgba(0, 0, 0, 0.32);
  color-scheme: dark;
  font-family: Inter, ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  font-synthesis: none;
}

* {
  box-sizing: border-box;
}

html {
  width: 100%;
  overflow-x: hidden;
  background: var(--canvas);
  scroll-behavior: smooth;
}

body {
  width: 100%;
  margin: 0;
  min-height: 100vh;
  overflow-x: clip;
  color: var(--ink);
  background:
    radial-gradient(circle at 82% 0%, rgba(127, 92, 255, 0.13), transparent 32rem),
    radial-gradient(circle at 12% 24%, rgba(216, 255, 88, 0.045), transparent 28rem),
    var(--canvas);
}

body::before {
  position: fixed;
  inset: 0;
  z-index: -1;
  pointer-events: none;
  content: "";
  opacity: 0.025;
  background-image: url("data:image/svg+xml,%3Csvg viewBox='0 0 180 180' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='n'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='.8' numOctaves='4' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23n)' opacity='.9'/%3E%3C/svg%3E");
}

button,
input {
  font: inherit;
}

button,
a {
  -webkit-tap-highlight-color: transparent;
}

button {
  color: inherit;
}

a {
  color: inherit;
  text-decoration: none;
}

svg {
  width: 20px;
  height: 20px;
  flex: 0 0 auto;
}

::selection {
  color: #100b17;
  background: var(--lime);
}

:focus-visible {
  outline: 2px solid var(--lime);
  outline-offset: 3px;
}

.sr-only {
  position: absolute;
  width: 1px;
  height: 1px;
  padding: 0;
  margin: -1px;
  overflow: hidden;
  clip: rect(0, 0, 0, 0);
  white-space: nowrap;
  border: 0;
}

.site-shell {
  min-height: 100vh;
}

.site-header {
  position: sticky;
  top: 0;
  z-index: 800;
  display: flex;
  align-items: center;
  justify-content: space-between;
  min-height: 84px;
  padding: 0 34px;
  border-bottom: 1px solid var(--line);
  background: rgba(10, 7, 16, 0.84);
  backdrop-filter: blur(22px);
}

.brand-lockup {
  display: inline-flex;
  gap: 13px;
  align-items: center;
  padding: 0;
  border: 0;
  color: var(--ink);
  text-align: left;
  background: transparent;
  cursor: pointer;
}

.brand-lockup.static {
  cursor: default;
}

.brand-lockup > span:last-child {
  display: grid;
  gap: 1px;
}

.brand-lockup strong {
  font-size: 18px;
  font-weight: 900;
  line-height: 1;
  letter-spacing: -0.04em;
}

.brand-lockup small {
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  line-height: 1.2;
  text-transform: uppercase;
  letter-spacing: 0.16em;
}

.brand-mark {
  position: relative;
  display: inline-grid;
  width: 38px;
  height: 38px;
  overflow: hidden;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(216, 255, 88, 0.32);
  border-radius: 12px;
  background: linear-gradient(145deg, rgba(166, 124, 255, 0.24), rgba(216, 255, 88, 0.06));
  box-shadow: inset 0 0 22px rgba(166, 124, 255, 0.12), 0 0 22px rgba(127, 92, 255, 0.08);
}

.brand-mark::before,
.brand-mark::after {
  position: absolute;
  bottom: 24%;
  width: 14%;
  content: "";
  border-radius: 999px;
  background: linear-gradient(180deg, var(--lime), #8dffb7);
  box-shadow: 0 0 10px rgba(216, 255, 88, 0.32);
}

.brand-mark::before {
  left: 24%;
  height: 34%;
}

.brand-mark::after {
  right: 24%;
  height: 52%;
}

.brand-mark i {
  width: 14%;
  height: 68%;
  border-radius: 999px;
  background: linear-gradient(180deg, #ffffff, #a67cff);
  box-shadow: 0 0 15px rgba(166, 124, 255, 0.64);
}

.brand-mark.large {
  width: 58px;
  height: 58px;
}

.brand-mark.small {
  width: 28px;
  height: 28px;
}

.header-actions {
  display: flex;
  gap: 10px;
  align-items: center;
}

.connection-badge {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  min-height: 35px;
  padding: 0 13px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted-strong);
  font-size: 12px;
  font-weight: 750;
  background: rgba(255, 255, 255, 0.035);
}

.connection-badge > span {
  width: 7px;
  height: 7px;
  border-radius: 50%;
  background: var(--muted);
}

.connection-badge.is-online > span {
  background: var(--aqua);
  box-shadow: 0 0 10px rgba(51, 229, 173, 0.65);
}

.connection-badge.is-offline > span {
  background: var(--warning);
}

.account-button {
  display: inline-flex;
  gap: 9px;
  align-items: center;
  min-height: 42px;
  padding: 5px 13px 5px 6px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.05);
  cursor: pointer;
  transition: 160ms ease;
}

.account-button:hover {
  border-color: var(--line-strong);
  background: rgba(255, 255, 255, 0.09);
}

.account-avatar {
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  border-radius: 50%;
  color: #161020;
  font-size: 11px;
  font-weight: 950;
  background: var(--lime);
}

.workspace {
  display: grid;
  grid-template-columns: 220px minmax(0, 1fr);
  max-width: 1500px;
  min-height: calc(100vh - 84px);
  margin: 0 auto;
}

.side-rail {
  position: sticky;
  top: 84px;
  display: flex;
  height: calc(100vh - 84px);
  padding: 32px 20px 28px 24px;
  flex-direction: column;
  justify-content: space-between;
  border-right: 1px solid var(--line);
}

.side-nav {
  display: grid;
  gap: 5px;
}

.side-nav button {
  display: flex;
  gap: 13px;
  align-items: center;
  width: 100%;
  min-height: 48px;
  padding: 0 16px;
  border: 1px solid transparent;
  border-radius: 15px;
  color: var(--muted);
  font-size: 14px;
  font-weight: 760;
  background: transparent;
  cursor: pointer;
  transition: 160ms ease;
}

.side-nav button:hover {
  color: var(--ink);
  background: rgba(255, 255, 255, 0.045);
}

.side-nav button.active {
  border-color: rgba(216, 255, 88, 0.14);
  color: var(--lime);
  background: rgba(216, 255, 88, 0.075);
}

.rail-card {
  position: relative;
  padding: 22px 18px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 22px;
  background:
    radial-gradient(circle at 100% 0%, rgba(127, 92, 255, 0.2), transparent 60%),
    rgba(255, 255, 255, 0.035);
}

.rail-card .eyebrow {
  position: relative;
  margin-bottom: 9px;
}

.rail-card strong {
  position: relative;
  display: block;
  max-width: 150px;
  font-size: 17px;
  line-height: 1.25;
}

.rail-card .text-button {
  position: relative;
  margin-top: 18px;
}

.rail-glow {
  position: absolute;
  top: -38px;
  right: -38px;
  width: 105px;
  height: 105px;
  border-radius: 34% 66% 54% 46%;
  background: radial-gradient(circle at 35% 35%, rgba(216, 255, 88, 0.22), rgba(127, 92, 255, 0.14) 42%, transparent 72%);
  filter: blur(1px);
  transform: rotate(18deg);
}

.main-content {
  width: 100%;
  max-width: 1280px;
  min-width: 0;
  padding: 42px clamp(28px, 4vw, 64px) 68px;
  margin: 0 auto;
}

.hero-premium {
  position: relative;
  display: grid;
  min-height: 520px;
  overflow: hidden;
  grid-template-columns: minmax(0, 1.1fr) minmax(360px, 0.9fr);
  align-items: center;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  background:
    linear-gradient(120deg, rgba(255, 255, 255, 0.04), transparent 58%),
    radial-gradient(circle at 76% 50%, rgba(127, 92, 255, 0.22), transparent 33%),
    linear-gradient(135deg, #15101d, #0e0a14);
  box-shadow: var(--shadow);
}

.hero-premium::after {
  position: absolute;
  right: 0;
  bottom: 0;
  left: 0;
  height: 1px;
  content: "";
  background: linear-gradient(90deg, transparent, var(--lime), transparent);
  opacity: 0.45;
}

.hero-copy {
  position: relative;
  z-index: 2;
  padding: clamp(34px, 6vw, 72px);
}

.eyebrow {
  margin: 0 0 12px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.19em;
}

.live-dot {
  display: inline-block;
  width: 6px;
  height: 6px;
  margin-right: 7px;
  border-radius: 50%;
  background: var(--lime);
  box-shadow: 0 0 10px rgba(216, 255, 88, 0.7);
}

.hero-copy h1 {
  max-width: 720px;
  margin: 0;
  font-size: clamp(46px, 6vw, 82px);
  font-weight: 850;
  line-height: 0.98;
  letter-spacing: -0.065em;
}

.hero-copy h1 em {
  color: var(--lime);
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
}

.hero-lead {
  max-width: 600px;
  margin: 24px 0 28px;
  color: var(--muted-strong);
  font-size: 17px;
  line-height: 1.65;
}

.night-search {
  display: grid;
  width: 100%;
  max-width: 650px;
  min-height: 62px;
  padding: 7px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 9px;
  align-items: center;
  border: 1px solid var(--line-strong);
  border-radius: 18px;
  background: rgba(7, 5, 11, 0.68);
  box-shadow: 0 15px 35px rgba(0, 0, 0, 0.22);
}

.night-search > svg,
.filter-search > svg {
  margin-left: 9px;
  color: var(--muted);
}

.night-search input,
.filter-search input,
.field input {
  width: 100%;
  min-width: 0;
  border: 0;
  outline: 0;
  color: var(--ink);
  background: transparent;
}

.night-search input::placeholder,
.filter-search input::placeholder,
.field input::placeholder {
  color: #7e7786;
}

.button {
  display: inline-flex;
  gap: 8px;
  align-items: center;
  justify-content: center;
  min-height: 48px;
  padding: 0 19px;
  border: 1px solid transparent;
  border-radius: 14px;
  color: var(--ink);
  font-size: 13px;
  font-weight: 850;
  line-height: 1;
  cursor: pointer;
  transition: transform 150ms ease, border-color 150ms ease, background 150ms ease;
}

.button:hover:not(:disabled) {
  transform: translateY(-1px);
}

.button:disabled {
  cursor: wait;
  opacity: 0.58;
}

.button-primary {
  color: #121016;
  background: var(--lime);
  box-shadow: 0 8px 24px rgba(216, 255, 88, 0.12);
}

.button-primary:hover:not(:disabled) {
  background: #e2ff7d;
}

.button-ghost {
  border-color: var(--line);
  color: var(--ink);
  background: rgba(255, 255, 255, 0.045);
}

.button-ghost:hover:not(:disabled) {
  border-color: var(--line-strong);
  background: rgba(255, 255, 255, 0.08);
}

.button-light {
  color: #17121d;
  background: #f5f1f7;
}

.button.compact {
  min-height: 38px;
  padding: 0 13px;
  border-radius: 12px;
  font-size: 12px;
}

.button.full {
  width: 100%;
}

.button-row,
.card-actions {
  display: flex;
  gap: 9px;
  flex-wrap: wrap;
}

.text-button {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  padding: 0;
  border: 0;
  color: var(--lime);
  font-size: 12px;
  font-weight: 850;
  background: transparent;
  cursor: pointer;
}

.text-button svg {
  width: 16px;
  height: 16px;
}

.genre-chips {
  display: flex;
  gap: 7px;
  margin-top: 17px;
  overflow-x: auto;
  scrollbar-width: none;
}

.genre-chips::-webkit-scrollbar {
  display: none;
}

.genre-chip {
  min-height: 34px;
  padding: 0 13px;
  flex: 0 0 auto;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.035);
  cursor: pointer;
}

.genre-chip.active {
  border-color: rgba(216, 255, 88, 0.32);
  color: var(--lime);
  background: rgba(216, 255, 88, 0.09);
}

.hero-copy {
  min-width: 0;
}

.metric-strip {
  display: grid;
  margin: 20px 0 58px;
  grid-template-columns: repeat(4, 1fr);
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.025);
}

.metric-strip > div {
  position: relative;
  display: grid;
  min-height: 112px;
  padding: 20px 24px;
  align-content: center;
  border-right: 1px solid var(--line);
}

.metric-strip > div:last-child {
  border-right: 0;
}

.metric-strip span {
  position: absolute;
  top: 14px;
  right: 14px;
  color: #4c4652;
  font-size: 9px;
  font-weight: 900;
  letter-spacing: 0.12em;
}

.metric-strip strong {
  font-size: 25px;
  line-height: 1.1;
  letter-spacing: -0.04em;
}

.metric-strip small {
  margin-top: 5px;
  color: var(--muted);
  font-size: 10px;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.13em;
}

.section-heading {
  display: flex;
  align-items: end;
  justify-content: space-between;
  margin: 46px 0 17px;
}

.section-heading h2,
.page-intro h1 {
  margin: 0;
  font-size: clamp(29px, 3.5vw, 44px);
  line-height: 1;
  letter-spacing: -0.045em;
}

.section-heading .eyebrow {
  margin-bottom: 7px;
}

.club-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
}

.club-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--panel);
  box-shadow: 0 18px 44px rgba(0, 0, 0, 0.13);
  transition: transform 180ms ease, border-color 180ms ease;
}

.club-card:hover {
  border-color: var(--line-strong);
  transform: translateY(-3px);
}

.club-art {
  position: relative;
  display: grid;
  height: 172px;
  overflow: hidden;
  place-items: center;
  background: linear-gradient(135deg, #31254f, #13101d);
}

.club-art.has-cover {
  height: 210px;
}

.club-art.tone-1 {
  background: linear-gradient(135deg, #194b46, #15101d);
}

.club-art.tone-2 {
  background: linear-gradient(135deg, #5a253e, #19101c);
}

.club-art.tone-3 {
  background: linear-gradient(135deg, #52451b, #15101c);
}

.club-art.tone-4 {
  background: linear-gradient(135deg, #233d5f, #15101d);
}

.club-art-fallback {
  position: absolute;
  inset: 0;
  display: grid;
  padding: 24px;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 18px;
  align-items: center;
  color: rgba(255, 255, 255, 0.9);
}

.club-monogram {
  font-size: clamp(37px, 6vw, 55px);
  font-weight: 950;
  line-height: 1;
  letter-spacing: -0.08em;
}

.club-art-identity {
  display: grid;
  min-width: 0;
  gap: 4px;
  padding-right: 44px;
}

.club-art-identity strong {
  overflow-wrap: anywhere;
  font-size: 19px;
  line-height: 1.05;
  letter-spacing: -0.035em;
}

.club-art-identity small {
  color: rgba(255, 255, 255, 0.62);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.club-art img {
  position: absolute;
  inset: 0;
  z-index: 1;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 400ms ease;
}

.club-art.media-failed {
  height: 172px;
}

.club-card:hover .club-art img {
  transform: scale(1.035);
}

.club-art-shade {
  position: absolute;
  z-index: 1;
  inset: 0;
  background: linear-gradient(180deg, transparent 30%, rgba(9, 7, 12, 0.55));
  pointer-events: none;
}

.club-zone {
  position: absolute;
  z-index: 2;
  bottom: 14px;
  left: 14px;
  padding: 7px 10px;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.13em;
  background: rgba(9, 7, 12, 0.62);
  backdrop-filter: blur(10px);
}

.favorite-button {
  position: absolute;
  z-index: 3;
  top: 14px;
  right: 14px;
  display: grid;
  width: 40px;
  height: 40px;
  place-items: center;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 50%;
  color: white;
  background: rgba(9, 7, 12, 0.62);
  backdrop-filter: blur(10px);
  cursor: pointer;
}

.favorite-button svg {
  width: 18px;
  height: 18px;
}

.favorite-button.active {
  border-color: rgba(216, 255, 88, 0.35);
  color: #121016;
  background: var(--lime);
}

.favorite-button.active svg {
  fill: currentColor;
}

.club-card-body {
  padding: 20px;
}

.club-photo-credit {
  padding: 7px 14px;
  color: #d6d0df;
  background: #17121f;
  font-size: 11px;
  line-height: 1.5;
  overflow-wrap: anywhere;
}

.club-photo-credit a { color: inherit; text-underline-offset: 3px; }
.club-photo-credit a:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; }
.club-art.media-failed + .club-photo-credit,
.club-detail-hero.media-failed + .club-photo-credit { display: none; }
.club-gallery figure { min-width: 0; margin: 0; }
.club-gallery figure > button { width: 100%; }
.club-next-event { display: flex; width: 100%; min-width: 0; align-items: center; gap: 7px; margin: 10px 0; padding: 9px 0; border: 0; border-top: 1px solid var(--line); color: var(--muted-strong); background: none; font-size: 11px; text-align: left; cursor: pointer; }
.club-next-event span { min-width: 0; overflow: hidden; white-space: nowrap; text-overflow: ellipsis; }
.club-next-event svg { flex: 0 0 14px; width: 14px; height: 14px; color: var(--violet-soft); }
.club-next-event svg:last-child { margin-left: auto; }

.club-title-row {
  display: flex;
  gap: 12px;
  align-items: flex-start;
  justify-content: space-between;
}

.club-title-row p {
  margin: 0 0 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 750;
}

.club-title-row h3 {
  margin: 0;
  overflow-wrap: anywhere;
  font-size: 23px;
  line-height: 1.1;
  letter-spacing: -0.04em;
}

.club-title-link {
  display: inline;
  padding: 0;
  border: 0;
  color: inherit;
  font: inherit;
  text-align: left;
  background: transparent;
  cursor: pointer;
}

.club-title-link:hover,
.club-title-link:focus-visible {
  color: var(--lime);
}

.detail-breadcrumb {
  display: flex;
  gap: 9px;
  align-items: center;
  margin-bottom: 18px;
  color: var(--muted);
  font-size: 12px;
}

.detail-breadcrumb button {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  padding: 0;
  border: 0;
  color: var(--lime);
  background: transparent;
  cursor: pointer;
}

.detail-breadcrumb button svg {
  width: 15px;
  transform: rotate(180deg);
}

.club-detail-hero {
  position: relative;
  display: flex;
  min-height: 440px;
  overflow: hidden;
  align-items: flex-end;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  background: linear-gradient(135deg, #31254f, #13101d);
  box-shadow: var(--shadow);
}

.club-detail-hero.tone-1 {
  background: linear-gradient(135deg, #194b46, #15101d);
}

.club-detail-hero.tone-2 {
  background: linear-gradient(135deg, #5a253e, #19101c);
}

.club-detail-hero.tone-3 {
  background: linear-gradient(135deg, #52451b, #15101c);
}

.club-detail-hero.tone-4 {
  background: linear-gradient(135deg, #233d5f, #15101d);
}

.club-detail-hero img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.club-detail-fallback {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  gap: 8px;
  text-align: center;
}

.club-detail-fallback span {
  color: rgba(255, 255, 255, 0.88);
  font-size: clamp(90px, 18vw, 190px);
  font-weight: 950;
  line-height: 0.82;
  letter-spacing: -0.1em;
}

.club-detail-fallback small {
  color: rgba(255, 255, 255, 0.58);
  font-size: 11px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.22em;
}

.club-detail-overlay {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(180deg, rgba(9, 7, 12, 0.05), rgba(9, 7, 12, 0.88)),
    linear-gradient(90deg, rgba(9, 7, 12, 0.4), transparent 55%);
}

.club-detail-title {
  position: relative;
  z-index: 2;
  max-width: 780px;
  padding: clamp(28px, 5vw, 60px);
}

.club-detail-title > p {
  margin: 20px 0 5px;
  color: var(--muted-strong);
  font-size: 12px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.15em;
}

.club-detail-title h1 {
  margin: 0;
  overflow-wrap: anywhere;
  font-size: clamp(48px, 7vw, 92px);
  line-height: 0.9;
  letter-spacing: -0.065em;
}

.detail-badges {
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
}

.detail-badges > span {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  min-height: 30px;
  padding: 0 10px;
  border: 1px solid rgba(255, 255, 255, 0.17);
  border-radius: 999px;
  font-size: 10px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  background: rgba(9, 7, 12, 0.58);
  backdrop-filter: blur(10px);
}

.detail-badges svg {
  width: 14px;
}

.detail-badges .verified-badge {
  border-color: rgba(216, 255, 88, 0.32);
  color: var(--lime);
}

.detail-badges .unverified-badge {
  color: var(--warning);
}

.detail-favorite {
  top: 24px;
  right: 24px;
}

.club-detail-layout {
  display: grid;
  margin-top: 20px;
  grid-template-columns: minmax(0, 1.55fr) minmax(280px, 0.65fr);
  gap: 20px;
  align-items: start;
}

.club-detail-main,
.club-detail-aside {
  display: grid;
  min-width: 0;
  gap: 20px;
}

.club-detail-aside {
  position: sticky;
  top: 104px;
}

.detail-panel {
  min-width: 0;
  padding: clamp(22px, 4vw, 36px);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 100% 0%, rgba(127, 92, 255, 0.09), transparent 50%),
    var(--panel);
}

.detail-panel > h2 {
  margin: 0;
  font-size: clamp(26px, 4vw, 39px);
  line-height: 1;
  letter-spacing: -0.045em;
}

.detail-description {
  margin: 20px 0 22px;
  color: var(--muted-strong);
  font-size: 15px;
  line-height: 1.75;
}

.detail-tags {
  gap: 8px;
}

.club-info-grid {
  display: grid;
  padding: 0;
  margin: 24px 0 0;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}

.club-info-grid > div {
  min-width: 0;
  padding: 17px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255, 255, 255, 0.025);
}

.club-info-grid dt {
  display: flex;
  gap: 7px;
  align-items: center;
  color: var(--muted);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.club-info-grid dt svg {
  width: 15px;
  color: var(--lime);
}

.club-info-grid dd {
  margin: 9px 0 0;
  overflow-wrap: anywhere;
  font-size: 14px;
  font-weight: 750;
  line-height: 1.45;
}

.club-detail-map {
  min-height: 370px;
  margin-top: 22px;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 19px;
}

.club-location-summary {
  display: grid;
  grid-template-columns: 42px minmax(0, 1fr) auto;
  gap: 13px;
  align-items: center;
  margin-top: 18px;
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.035);
}

.club-location-icon {
  display: grid;
  width: 42px;
  height: 42px;
  place-items: center;
  border-radius: 13px;
  color: var(--lime);
  background: rgba(216, 255, 88, 0.09);
}

.club-location-icon svg,
.club-map-pending svg {
  width: 18px;
}

.club-location-summary small {
  display: block;
  margin-bottom: 3px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.club-location-summary strong {
  display: block;
  color: var(--ink);
  font-size: 14px;
  line-height: 1.45;
}

.club-map-pending {
  display: flex;
  gap: 8px;
  align-items: center;
  margin: 14px 2px 0;
  color: var(--muted);
  font-size: 12px;
}

@media (max-width: 620px) {
  .club-location-summary {
    grid-template-columns: 42px minmax(0, 1fr);
  }

  .club-location-summary .button {
    grid-column: 1 / -1;
    width: 100%;
  }
}

.detail-actions {
  margin-top: 15px;
}

.detail-contact-links {
  display: grid;
  gap: 9px;
  margin-top: 22px;
}

.detail-contact-links a,
.detail-contact-links > span {
  display: flex;
  min-height: 46px;
  padding: 0 13px;
  gap: 10px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--line);
  border-radius: 13px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 800;
  text-decoration: none;
  background: rgba(255, 255, 255, 0.025);
}

.detail-contact-links a:hover,
.detail-contact-links a:focus-visible {
  border-color: rgba(216, 255, 88, 0.35);
  color: var(--lime);
}

.detail-contact-links svg {
  width: 15px;
}

.detail-contact-links b {
  color: var(--muted);
  font-size: 11px;
}

.data-status-card {
  display: flex;
  gap: 14px;
  align-items: flex-start;
}

.data-status-card strong {
  font-size: 14px;
}

.data-status-card p {
  margin: 6px 0 0;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.5;
}

.data-status-icon {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  place-items: center;
  border-radius: 50%;
  color: #17121d;
  background: var(--lime);
}

.data-status-icon svg {
  width: 18px;
}

.reviews-panel {
  overflow: hidden;
}

.reviews-heading,
.review-form-head,
.review-card-head,
.review-form-actions,
.review-card-actions {
  display: flex;
  gap: 14px;
  align-items: center;
  justify-content: space-between;
}

.reviews-heading h2 {
  margin: 0;
  font-size: clamp(26px, 4vw, 39px);
  letter-spacing: -0.045em;
}

.reviews-heading p:not(.eyebrow) {
  margin: 7px 0 0;
  color: var(--muted);
  font-size: 12px;
}

.review-average,
.stars {
  color: var(--lime);
  letter-spacing: 0.08em;
}

.review-form {
  display: grid;
  padding: 20px;
  margin-top: 24px;
  gap: 13px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.025);
}

.review-form-head > div {
  display: grid;
  gap: 4px;
}

.review-form-head small,
.review-card-head small {
  color: var(--muted);
  font-size: 10px;
}

.star-picker,
.review-tag-picker,
.preference-picker {
  padding: 0;
  margin: 0;
  border: 0;
}

.star-picker {
  display: flex;
  gap: 3px;
}

.star-picker label {
  position: relative;
  cursor: pointer;
}

.star-picker input {
  position: absolute;
  opacity: 0;
}

.star-picker span[aria-hidden] {
  color: #5d5664;
  font-size: 23px;
}

.star-picker input:checked + span,
.star-picker input:focus-visible + span {
  color: var(--lime);
}

.review-tag-picker legend,
.preference-picker legend {
  margin-bottom: 10px;
  color: var(--muted-strong);
  font-size: 11px;
  font-weight: 800;
}

.review-tag-picker,
.preference-picker > div {
  display: flex;
  gap: 7px;
  flex-wrap: wrap;
}

.preference-picker {
  margin: 5px 0 18px;
}

.choice-chip {
  position: relative;
  cursor: pointer;
}

.choice-chip input {
  position: absolute;
  opacity: 0;
}

.choice-chip span {
  display: inline-flex;
  min-height: 34px;
  padding: 0 11px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted-strong);
  font-size: 10px;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.03);
}

.choice-chip input:checked + span {
  border-color: rgba(216, 255, 88, 0.32);
  color: #17121d;
  background: var(--lime);
}

.choice-chip input:focus-visible + span {
  outline: 2px solid var(--violet-soft);
  outline-offset: 2px;
}

.review-auth-gate {
  display: flex;
  gap: 14px;
  padding: 17px;
  margin-top: 22px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.review-auth-gate p {
  margin: 0;
  color: var(--muted-strong);
  font-size: 12px;
}

.review-list {
  display: grid;
  margin-top: 20px;
  gap: 12px;
}

.review-card {
  padding: 18px;
  border: 1px solid var(--line);
  border-radius: 17px;
  background: rgba(255, 255, 255, 0.02);
}

.review-card-head > div {
  display: grid;
  gap: 4px;
}

.review-card > p {
  margin: 15px 0;
  color: var(--muted-strong);
  font-size: 13px;
  line-height: 1.65;
}

.review-status {
  padding: 5px 8px;
  border-radius: 999px;
  color: var(--warning) !important;
  background: rgba(255, 215, 110, 0.08);
}

.review-status.rejected {
  color: var(--danger) !important;
  background: rgba(255, 107, 123, 0.08);
}

.review-card-actions {
  margin-top: 14px;
  justify-content: flex-start;
}

.review-card-actions button {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  padding: 0;
  border: 0;
  color: var(--muted);
  font-size: 10px;
  background: transparent;
  cursor: pointer;
}

.review-card-actions button.active {
  color: var(--lime);
}

.review-card-actions svg {
  width: 15px;
}

.rating {
  display: inline-flex;
  gap: 5px;
  align-items: center;
  min-height: 30px;
  padding: 0 9px;
  flex: 0 0 auto;
  border: 1px solid var(--line);
  border-radius: 999px;
  font-size: 12px;
  font-weight: 850;
  background: rgba(255, 255, 255, 0.04);
}

.rating b {
  color: var(--lime);
}

.club-description {
  display: -webkit-box;
  min-height: 44px;
  margin: 14px 0;
  overflow: hidden;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 2;
}

.club-match {
  display: grid;
  padding: 10px 12px;
  margin: 0 0 13px;
  gap: 3px;
  border: 1px solid rgba(216, 255, 88, 0.16);
  border-radius: 12px;
  background: rgba(216, 255, 88, 0.045);
}

.club-match span {
  color: var(--lime);
  font-size: 10px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.club-match span b {
  font-size: 14px;
}

.club-match small {
  overflow: hidden;
  color: var(--muted-strong);
  font-size: 10px;
  line-height: 1.4;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.tag-row {
  display: flex;
  gap: 6px;
  flex-wrap: wrap;
}

.tag-row span {
  padding: 6px 9px;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted-strong);
  font-size: 10px;
  font-weight: 750;
  background: rgba(255, 255, 255, 0.03);
}

.club-facts {
  display: grid;
  margin: 17px 0;
  grid-template-columns: 1fr 1.4fr;
  gap: 8px;
}

.club-facts span {
  display: inline-flex;
  gap: 7px;
  align-items: center;
  min-width: 0;
  color: var(--muted);
  font-size: 11px;
}

.club-facts svg {
  width: 15px;
  height: 15px;
  color: var(--violet-soft);
}

.event-grid {
  display: grid;
  gap: 10px;
}

.event-card {
  display: grid;
  min-height: 126px;
  padding: 19px;
  grid-template-columns: 74px minmax(0, 1fr) auto;
  gap: 20px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 20px;
  background: rgba(255, 255, 255, 0.028);
  transition: border-color 160ms ease, background 160ms ease;
}

.event-card:hover {
  border-color: var(--line-strong);
  background: rgba(255, 255, 255, 0.045);
}

.event-card.is-past {
  opacity: 0.7;
}

.event-date-block {
  display: grid;
  min-height: 83px;
  place-content: center;
  border: 1px solid rgba(216, 255, 88, 0.2);
  border-radius: 17px;
  color: var(--lime);
  text-align: center;
  background: rgba(216, 255, 88, 0.055);
}

.event-date-block span {
  font-size: 9px;
  font-weight: 950;
  letter-spacing: 0.14em;
}

.event-date-block strong {
  font-size: 27px;
  line-height: 1.05;
}

.event-date-block small {
  color: var(--muted);
  font-size: 9px;
}

.event-card-content {
  min-width: 0;
}

.event-card-content .eyebrow {
  margin-bottom: 5px;
  color: var(--violet-soft);
}

.event-card-content h3 {
  margin: 0 0 5px;
  overflow: hidden;
  font-size: 19px;
  line-height: 1.2;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.event-title-link {
  padding: 0;
  overflow: hidden;
  border: 0;
  color: inherit;
  font: inherit;
  text-align: left;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: transparent;
  cursor: pointer;
}

.event-title-link:hover,
.event-title-link:focus-visible {
  color: var(--lime);
}

.event-window-chips {
  display: flex;
  gap: 7px;
  margin: 0 0 24px;
  overflow-x: auto;
  scrollbar-width: none;
}

.event-window-chips button {
  min-height: 36px;
  padding: 0 12px;
  flex: 0 0 auto;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted-strong);
  font-size: 10px;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.03);
  cursor: pointer;
}

.event-window-chips button.active {
  border-color: rgba(216, 255, 88, 0.3);
  color: #17121d;
  background: var(--lime);
}

.event-detail-hero {
  position: relative;
  display: flex;
  min-height: 480px;
  overflow: hidden;
  align-items: flex-end;
  border: 1px solid var(--line);
  border-radius: var(--radius-xl);
  background:
    radial-gradient(circle at 75% 20%, rgba(216, 255, 88, 0.15), transparent 35%),
    linear-gradient(135deg, #2b1d49, #0f0b16);
  box-shadow: var(--shadow);
}

.event-detail-hero > img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.event-poster-fallback {
  position: absolute;
  inset: 0;
  display: grid;
  place-content: center;
  text-align: center;
}

.event-poster-fallback span {
  color: rgba(255, 255, 255, 0.86);
  font-size: clamp(110px, 20vw, 210px);
  font-weight: 950;
  line-height: 0.8;
  letter-spacing: -0.09em;
}

.event-poster-fallback small {
  margin-top: 10px;
  color: var(--lime);
  font-size: 18px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.2em;
}

.event-timezone {
  margin: 15px 0 0;
  color: var(--muted);
  font-size: 10px;
  line-height: 1.5;
}

.event-card-content > p:not(.eyebrow) {
  margin: 0 0 9px;
  color: var(--muted);
  font-size: 12px;
}

.event-card-action {
  display: grid;
  gap: 12px;
  justify-items: end;
}

.event-card-action strong {
  color: var(--muted-strong);
  font-size: 11px;
}

.round-link {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--lime);
  background: rgba(255, 255, 255, 0.04);
}

.round-link svg {
  width: 17px;
  height: 17px;
}

.round-link.disabled {
  color: var(--muted);
  opacity: 0.5;
}

.map-teaser {
  position: relative;
  display: grid;
  min-height: 330px;
  padding: clamp(28px, 5vw, 56px);
  margin-top: 58px;
  overflow: hidden;
  grid-template-columns: minmax(0, 0.8fr) minmax(320px, 1.2fr);
  align-items: center;
  border-radius: var(--radius-xl);
  color: #151019;
  background: var(--panel-light);
}

.map-teaser h2 {
  margin: 0;
  font-size: clamp(33px, 4.5vw, 58px);
  line-height: 1;
  letter-spacing: -0.06em;
}

.map-teaser p:not(.eyebrow) {
  max-width: 470px;
  margin: 18px 0 24px;
  color: #615a66;
  line-height: 1.6;
}

.map-teaser .eyebrow {
  color: #655a70;
}

.map-teaser-art {
  position: absolute;
  top: -40%;
  right: -6%;
  width: 58%;
  aspect-ratio: 1;
  border: 1px solid rgba(21, 16, 25, 0.15);
  border-radius: 50%;
  background:
    linear-gradient(rgba(21, 16, 25, 0.075) 1px, transparent 1px),
    linear-gradient(90deg, rgba(21, 16, 25, 0.075) 1px, transparent 1px);
  background-size: 32px 32px;
  box-shadow: inset 0 0 0 70px rgba(127, 92, 255, 0.055);
}

.map-teaser-art::before,
.map-teaser-art::after {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 65%;
  aspect-ratio: 1;
  content: "";
  border: 1px solid rgba(21, 16, 25, 0.15);
  border-radius: 50%;
  transform: translate(-50%, -50%);
}

.map-teaser-art::after {
  width: 32%;
}

.map-teaser-art span,
.map-teaser-art i,
.map-teaser-art b {
  position: absolute;
  width: 12px;
  height: 12px;
  border: 3px solid white;
  border-radius: 50%;
  background: var(--violet);
  box-shadow: 0 8px 15px rgba(0, 0, 0, 0.2);
}

.map-teaser-art span {
  top: 45%;
  left: 24%;
}

.map-teaser-art i {
  top: 68%;
  left: 58%;
}

.map-teaser-art b {
  top: 30%;
  left: 68%;
  background: var(--pink);
}

.notice {
  display: flex;
  gap: 12px;
  align-items: center;
  padding: 15px 17px;
  margin: 18px 0;
  border: 1px solid var(--line);
  border-radius: 16px;
  color: var(--muted-strong);
  font-size: 13px;
  line-height: 1.5;
  background: rgba(255, 255, 255, 0.04);
}

.notice > span {
  flex: 1;
}

.notice > svg {
  color: var(--violet-soft);
}

.notice.warning {
  border-color: rgba(255, 215, 110, 0.2);
  color: #e8d5a4;
  background: rgba(255, 215, 110, 0.055);
}

.page-intro {
  display: flex;
  min-height: 164px;
  padding: 34px 38px;
  margin-bottom: 22px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background:
    radial-gradient(circle at 90% 50%, rgba(127, 92, 255, 0.14), transparent 28%),
    rgba(255, 255, 255, 0.025);
}

.page-intro > div > p:last-child {
  margin: 12px 0 0;
  color: var(--muted);
  font-size: 13px;
}

.page-icon {
  display: grid;
  width: 72px;
  height: 72px;
  place-items: center;
  border: 1px solid rgba(216, 255, 88, 0.16);
  border-radius: 50%;
  color: var(--lime);
  background: rgba(216, 255, 88, 0.055);
}

.page-icon svg {
  width: 28px;
  height: 28px;
}

.filter-bar {
  display: grid;
  margin: 0 0 14px;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
}

.sort-control select {
  height: 100%;
  min-height: 48px;
  padding: 0 34px 0 13px;
  border: 1px solid var(--line);
  border-radius: 14px;
  color: var(--muted-strong);
  font-size: 11px;
  font-weight: 800;
  background: var(--panel);
}

.filter-search {
  display: grid;
  min-height: 48px;
  padding: 0 12px;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.035);
}

.filter-search > svg {
  margin-left: 0;
}

.filter-bar + .genre-chips {
  margin: 0 0 24px;
}

.map-layout {
  display: grid;
  min-height: 620px;
  grid-template-columns: minmax(0, 1.55fr) minmax(290px, 0.65fr);
  gap: 14px;
}

.map-stage {
  position: relative;
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: var(--panel);
}

#nr-map {
  width: 100%;
  height: 100%;
  min-height: 620px;
  background: #19141e;
}

.map-list {
  height: 620px;
  overflow-y: auto;
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.025);
  scrollbar-color: #3c3446 transparent;
  scrollbar-width: thin;
}

.map-list-head {
  position: sticky;
  z-index: 2;
  top: 0;
  display: flex;
  min-height: 60px;
  padding: 0 17px;
  align-items: center;
  justify-content: space-between;
  border-bottom: 1px solid var(--line);
  background: rgba(16, 11, 23, 0.94);
  backdrop-filter: blur(15px);
}

.map-list-head strong {
  font-size: 13px;
}

.map-list-head span {
  color: var(--lime);
  font-size: 12px;
  font-weight: 900;
}

.map-list-item {
  display: grid;
  width: 100%;
  min-height: 75px;
  padding: 12px 15px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 11px;
  align-items: center;
  border: 0;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  text-align: left;
  background: transparent;
  cursor: pointer;
}

.map-list-item:hover {
  background: rgba(255, 255, 255, 0.045);
}

.map-list-number {
  display: grid;
  width: 31px;
  height: 31px;
  place-items: center;
  border: 1px solid rgba(216, 255, 88, 0.18);
  border-radius: 50%;
  color: var(--lime);
  font-size: 9px;
  font-weight: 900;
}

.map-list-item > span:nth-child(2) {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.map-list-item strong {
  overflow: hidden;
  font-size: 13px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-list-item small {
  overflow: hidden;
  color: var(--muted);
  font-size: 10px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-list-rating {
  color: var(--muted-strong);
  font-size: 10px;
}

.map-popup {
  display: grid;
  min-width: 180px;
  gap: 5px;
}

.map-popup span {
  color: #766e7b;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.map-popup strong {
  color: #18131c;
  font-size: 16px;
}

.map-popup small {
  color: #685f6d;
}

.map-popup a {
  margin-top: 5px;
  color: #5b3be0;
  font-weight: 850;
}

.map-error {
  display: grid;
  height: 100%;
  min-height: 620px;
  place-content: center;
  color: var(--muted);
  text-align: center;
}

.profile-layout {
  display: grid;
  grid-template-columns: minmax(250px, 0.65fr) minmax(0, 1.35fr);
  gap: 18px;
}

.profile-card,
.profile-form-card,
.settings-strip,
.auth-gate {
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  background: rgba(255, 255, 255, 0.028);
}

.profile-card {
  display: flex;
  padding: 30px;
  flex-direction: column;
  align-items: center;
  text-align: center;
}

.profile-avatar {
  position: relative;
  display: grid;
  width: 88px;
  height: 88px;
  margin-bottom: 18px;
  overflow: hidden;
  place-items: center;
  border: 1px solid rgba(216, 255, 88, 0.25);
  border-radius: 50%;
  color: #151019;
  font-size: 24px;
  font-weight: 950;
  background: var(--lime);
  box-shadow: 0 0 0 9px rgba(216, 255, 88, 0.045);
}

.profile-avatar span {
  position: relative;
  z-index: 0;
}

.profile-avatar img {
  position: absolute;
  z-index: 1;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.avatar-form {
  display: grid;
  width: 100%;
  margin: 0 0 16px;
  gap: 8px;
}

.avatar-delete {
  justify-self: center;
  color: var(--danger);
}

.profile-card h2 {
  margin: 0;
  font-size: 23px;
  letter-spacing: -0.04em;
}

.profile-card > p {
  margin: 7px 0 15px;
  color: var(--muted);
  font-size: 12px;
}

.profile-stats {
  display: grid;
  width: 100%;
  margin: 28px 0;
  grid-template-columns: 1fr 1fr;
  border-top: 1px solid var(--line);
  border-bottom: 1px solid var(--line);
}

.profile-stats > div {
  display: grid;
  min-height: 75px;
  place-content: center;
}

.profile-stats > div:first-child {
  border-right: 1px solid var(--line);
}

.profile-stats strong {
  overflow: hidden;
  font-size: 18px;
  text-overflow: ellipsis;
}

.profile-stats small {
  margin-top: 3px;
  color: var(--muted);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.13em;
}

.profile-created {
  margin: 0 0 16px;
  color: var(--muted);
  font-size: 10px;
}

.profile-form-card {
  padding: 30px;
}

.section-kicker {
  display: flex;
  margin-bottom: 24px;
  align-items: center;
  justify-content: space-between;
}

.section-kicker span {
  font-size: 23px;
  font-weight: 850;
  letter-spacing: -0.04em;
}

.section-kicker p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.form-grid {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 13px;
}

.field {
  display: grid;
  gap: 8px;
  margin-bottom: 14px;
}

.field > span {
  color: var(--muted-strong);
  font-size: 11px;
  font-weight: 800;
}

.field input,
.field select,
.field textarea {
  width: 100%;
  min-height: 49px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 13px;
  color: var(--ink);
  background: rgba(255, 255, 255, 0.035);
}

.field select {
  background: var(--panel-strong);
}

.field textarea {
  min-height: 120px;
  padding-block: 13px;
  resize: vertical;
}

.field input:focus,
.field select:focus,
.field textarea:focus {
  outline: 0;
  border-color: rgba(216, 255, 88, 0.36);
  box-shadow: 0 0 0 3px rgba(216, 255, 88, 0.045);
}

.field small {
  color: #756e7c;
  font-size: 9px;
}

.password-control {
  position: relative;
  display: block;
  color: inherit !important;
  font: inherit !important;
}

.password-control input {
  padding-right: 76px;
}

.password-control button {
  position: absolute;
  top: 50%;
  right: 11px;
  padding: 5px;
  border: 0;
  color: var(--lime);
  font-size: 9px;
  font-weight: 850;
  transform: translateY(-50%);
  background: transparent;
  cursor: pointer;
}

.auth-recovery-link {
  justify-self: center;
}

.profile-global-logout {
  margin-top: 13px;
  text-align: left;
}

.privacy-toggle {
  display: flex;
  gap: 12px;
  padding: 15px;
  margin: 4px 0 20px;
  align-items: flex-start;
  border: 1px solid var(--line);
  border-radius: 15px;
  cursor: pointer;
}

.privacy-toggle input {
  margin-top: 3px;
  accent-color: var(--lime);
}

.privacy-toggle span {
  display: grid;
  gap: 4px;
}

.privacy-toggle strong {
  font-size: 12px;
}

.privacy-toggle small {
  color: var(--muted);
  font-size: 10px;
  line-height: 1.45;
}

.button.danger {
  color: var(--danger);
}

.settings-strip {
  display: flex;
  min-height: 100px;
  padding: 22px 25px;
  margin-top: 18px;
  align-items: center;
  justify-content: space-between;
}

.admin-metrics {
  display: grid;
  margin-bottom: 18px;
  grid-template-columns: repeat(4, 1fr);
  gap: 10px;
}

.admin-metrics > div {
  display: grid;
  min-height: 90px;
  padding: 16px;
  place-content: center;
  border: 1px solid var(--line);
  border-radius: 17px;
  text-align: center;
  background: rgba(255, 255, 255, 0.025);
}

.admin-metrics strong {
  color: var(--lime);
  font-size: 25px;
}

.admin-metrics small {
  margin-top: 4px;
  color: var(--muted);
  font-size: 9px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
}

.admin-layout {
  display: grid;
  margin-bottom: 20px;
  grid-template-columns: minmax(0, 1.08fr) minmax(330px, 0.92fr);
  gap: 20px;
  align-items: start;
}

.admin-editor,
.admin-list {
  min-width: 0;
}

.admin-checks {
  display: flex;
  gap: 15px;
  margin: 4px 0 20px;
  flex-wrap: wrap;
}

.admin-checks label {
  color: var(--muted-strong);
  font-size: 11px;
  cursor: pointer;
}

.admin-checks input {
  accent-color: var(--lime);
}

.admin-rows {
  display: grid;
  max-height: 750px;
  overflow-y: auto;
  gap: 7px;
  scrollbar-width: thin;
}

.admin-row {
  display: flex;
  min-width: 0;
  min-height: 62px;
  padding: 10px 11px;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.02);
}

.admin-row.is-hidden {
  opacity: 0.55;
}

.admin-row > span {
  display: grid;
  min-width: 0;
  gap: 4px;
}

.admin-row strong,
.admin-row small {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.admin-row strong {
  font-size: 12px;
}

.admin-row small,
.admin-row time {
  color: var(--muted);
  font-size: 9px;
}

.admin-row > div {
  display: flex;
  gap: 5px;
  flex: 0 0 auto;
}

.admin-row button {
  min-height: 30px;
  padding: 0 8px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--muted-strong);
  font-size: 9px;
  font-weight: 800;
  background: rgba(255, 255, 255, 0.035);
  cursor: pointer;
}

.admin-row button:hover,
.admin-row button:focus-visible {
  border-color: rgba(216, 255, 88, 0.3);
  color: var(--lime);
}

.admin-row button.danger {
  color: var(--danger);
}

.admin-moderation,
.admin-audit {
  margin-top: 20px;
}

.admin-empty {
  color: var(--muted);
  font-size: 12px;
}

.settings-strip > div {
  display: grid;
  grid-template-columns: auto 1fr;
  column-gap: 13px;
}

.settings-strip > div > span {
  display: grid;
  width: 42px;
  height: 42px;
  grid-row: 1 / 3;
  place-items: center;
  border-radius: 13px;
  color: var(--lime);
  background: rgba(216, 255, 88, 0.07);
}

.settings-strip strong {
  align-self: end;
}

.settings-strip small {
  align-self: start;
  color: var(--muted);
}

.auth-gate {
  display: grid;
  min-height: 450px;
  padding: 40px;
  place-content: center;
  justify-items: center;
  text-align: center;
}

.auth-gate .eyebrow {
  margin-top: 22px;
}

.auth-gate h2 {
  margin: 0;
  font-size: 38px;
  letter-spacing: -0.05em;
}

.auth-gate > p:not(.eyebrow) {
  max-width: 480px;
  margin: 14px auto 24px;
  color: var(--muted);
  line-height: 1.6;
}

.empty-state {
  display: grid;
  min-height: 270px;
  padding: 30px;
  grid-column: 1 / -1;
  place-content: center;
  justify-items: center;
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius-lg);
  color: var(--muted);
  text-align: center;
  background: rgba(255, 255, 255, 0.018);
}

.empty-state > span {
  display: grid;
  width: 55px;
  height: 55px;
  margin-bottom: 14px;
  place-items: center;
  border-radius: 50%;
  color: var(--lime);
  background: rgba(216, 255, 88, 0.06);
}

.empty-state h3 {
  margin: 0;
  color: var(--ink);
  font-size: 20px;
}

.empty-state p {
  margin: 9px 0 18px;
}

.auth-dialog {
  width: min(92vw, 510px);
  max-height: min(90vh, 760px);
  padding: 34px;
  overflow: auto;
  border: 1px solid var(--line-strong);
  border-radius: 28px;
  color: var(--ink);
  background:
    radial-gradient(circle at 100% 0%, rgba(127, 92, 255, 0.18), transparent 33%),
    #120d19;
  box-shadow: 0 40px 120px rgba(0, 0, 0, 0.62);
}

.auth-dialog::backdrop {
  background: rgba(4, 3, 7, 0.78);
  backdrop-filter: blur(8px);
}

.dialog-close {
  position: absolute;
  top: 15px;
  right: 15px;
  display: grid;
  width: 37px;
  height: 37px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 50%;
  color: var(--muted);
  background: rgba(255, 255, 255, 0.045);
  cursor: pointer;
}

.dialog-close svg {
  width: 17px;
  height: 17px;
}

.auth-brand {
  display: grid;
  margin-bottom: 22px;
  justify-items: center;
}

.auth-brand .eyebrow {
  margin: 13px 0 0;
}

.auth-switch {
  display: grid;
  padding: 4px;
  grid-template-columns: 1fr 1fr;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.025);
}

.auth-switch button {
  min-height: 40px;
  border: 0;
  border-radius: 10px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 850;
  background: transparent;
  cursor: pointer;
}

.auth-switch button.active {
  color: #151019;
  background: var(--lime);
}

.auth-copy {
  margin: 25px 0 20px;
  text-align: center;
}

.auth-copy h2,
.auth-confirm h2 {
  margin: 0;
  font-size: 31px;
  letter-spacing: -0.05em;
}

.auth-copy p,
.auth-confirm p:not(.eyebrow) {
  margin: 9px auto 0;
  color: var(--muted);
  font-size: 13px;
  line-height: 1.55;
}

.auth-form .button {
  margin-top: 4px;
}

.form-foot {
  margin: 14px 0 0;
  color: #736b79;
  font-size: 9px;
  line-height: 1.5;
  text-align: center;
}

.form-message {
  padding: 11px 13px;
  margin-bottom: 14px;
  border: 1px solid var(--line);
  border-radius: 12px;
  color: var(--muted-strong);
  font-size: 11px;
  line-height: 1.45;
  background: rgba(255, 255, 255, 0.035);
}

.form-message.error {
  border-color: rgba(255, 107, 123, 0.22);
  color: #ffc1c8;
  background: rgba(255, 107, 123, 0.06);
}

.auth-confirm {
  display: grid;
  padding: 15px 0 5px;
  justify-items: center;
  text-align: center;
}

.auth-confirm .eyebrow {
  margin-top: 20px;
}

.auth-confirm .button {
  margin-top: 24px;
}

.success-orbit {
  display: grid;
  width: 78px;
  height: 78px;
  place-items: center;
  border: 1px solid rgba(216, 255, 88, 0.24);
  border-radius: 50%;
  color: var(--lime);
  background: rgba(216, 255, 88, 0.06);
  box-shadow: 0 0 0 12px rgba(216, 255, 88, 0.025);
}

.success-orbit svg {
  width: 30px;
  height: 30px;
}

.toast {
  position: fixed;
  z-index: 1200;
  right: 22px;
  bottom: 22px;
  display: flex;
  gap: 10px;
  align-items: center;
  max-width: min(420px, calc(100vw - 32px));
  min-height: 54px;
  padding: 13px 16px;
  border: 1px solid var(--line-strong);
  border-radius: 15px;
  color: var(--ink);
  font-size: 12px;
  font-weight: 700;
  background: rgba(25, 19, 34, 0.96);
  box-shadow: 0 20px 55px rgba(0, 0, 0, 0.45);
  animation: toast-in 200ms ease both;
}

.toast.success {
  border-color: rgba(51, 229, 173, 0.3);
}

.toast.error {
  border-color: rgba(255, 107, 123, 0.32);
}

.toast > svg {
  color: var(--lime);
}

.update-banner {
  position: fixed;
  z-index: 1100;
  right: 18px;
  bottom: 18px;
  display: grid;
  max-width: min(430px, calc(100vw - 36px));
  padding: 13px;
  grid-template-columns: auto minmax(0, 1fr) auto;
  gap: 12px;
  align-items: center;
  border: 1px solid rgba(216, 255, 88, 0.28);
  border-radius: 18px;
  background: rgba(21, 16, 29, 0.96);
  box-shadow: 0 24px 60px rgba(0, 0, 0, 0.5);
  backdrop-filter: blur(20px);
}

.update-banner > span {
  display: grid;
  width: 35px;
  height: 35px;
  place-items: center;
  border-radius: 50%;
  color: #17121d;
  background: var(--lime);
}

.update-banner svg {
  width: 17px;
}

.update-banner > div {
  display: grid;
  gap: 3px;
}

.update-banner strong {
  font-size: 12px;
}

.update-banner small {
  color: var(--muted);
  font-size: 9px;
}

@keyframes toast-in {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
}

.loading-screen,
.boot {
  display: grid;
  min-height: 70vh;
  place-content: center;
  justify-items: center;
  color: var(--muted);
  text-align: center;
}

.loading-screen h1 {
  max-width: 650px;
  margin: 0;
  color: var(--ink);
  font-size: clamp(36px, 5vw, 63px);
  line-height: 1;
  letter-spacing: -0.06em;
}

.loading-screen > p:last-child {
  margin-top: 17px;
}

.site-footer {
  display: flex;
  gap: 20px;
  align-items: center;
  justify-content: space-between;
  padding: 32px 0 0;
  margin-top: 64px;
  border-top: 1px solid var(--line);
  color: var(--muted);
  font-size: 10px;
}

.site-footer .brand-lockup {
  gap: 8px;
}

.mobile-nav {
  display: none;
}

.header-city {
  display: flex;
  min-width: 230px;
  min-height: 43px;
  padding: 0 5px 0 12px;
  gap: 8px;
  align-items: center;
  border: 1px solid rgba(216, 255, 88, 0.16);
  border-radius: 999px;
  background: linear-gradient(110deg, rgba(127, 92, 255, 0.12), rgba(216, 255, 88, 0.045));
}

.header-city > label {
  display: grid;
  color: var(--lime);
  place-items: center;
}

.header-city > label svg {
  width: 16px;
  height: 16px;
}

.header-city select,
.city-picker select,
.radius-picker select {
  min-width: 0;
  border: 0;
  color: var(--ink);
  background: transparent;
  cursor: pointer;
}

.header-city select {
  width: 165px;
  font-size: 12px;
  font-weight: 850;
}

.header-city option,
.city-picker option,
.radius-picker option {
  color: var(--ink);
  background: var(--panel);
}

.header-location {
  display: grid;
  width: 33px;
  height: 33px;
  flex: 0 0 auto;
  padding: 0;
  place-items: center;
  border: 0;
  border-radius: 50%;
  color: #110c17;
  background: var(--lime);
  cursor: pointer;
}

.header-location svg {
  width: 16px;
  height: 16px;
}

.header-location:disabled {
  cursor: wait;
  opacity: 0.7;
}

.mini-spinner {
  width: 15px;
  height: 15px;
  display: inline-block;
  flex: 0 0 auto;
  border: 2px solid currentColor;
  border-right-color: transparent;
  border-radius: 50%;
  animation: nr-spin 0.8s linear infinite;
}

@keyframes nr-spin {
  to { transform: rotate(360deg); }
}

.location-panel {
  display: grid;
  min-height: 78px;
  margin-bottom: 18px;
  padding: 13px 16px;
  grid-template-columns: minmax(170px, 1fr) minmax(190px, 0.8fr) auto auto;
  gap: 12px;
  align-items: center;
  border: 1px solid rgba(216, 255, 88, 0.13);
  border-radius: 20px;
  background:
    radial-gradient(circle at 4% 20%, rgba(216, 255, 88, 0.09), transparent 12rem),
    linear-gradient(120deg, rgba(127, 92, 255, 0.11), rgba(255, 255, 255, 0.025));
}

.location-panel.is-compact {
  min-height: 66px;
}

.location-current {
  display: flex;
  min-width: 0;
  gap: 11px;
  align-items: center;
}

.location-current > span:last-child {
  display: grid;
  min-width: 0;
  gap: 2px;
}

.location-current small,
.radius-picker > span {
  color: var(--muted);
  font-size: 9px;
  font-weight: 850;
  text-transform: uppercase;
  letter-spacing: 0.12em;
}

.location-current strong {
  overflow: hidden;
  font-size: 17px;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.location-orb {
  display: grid;
  width: 38px;
  height: 38px;
  flex: 0 0 auto;
  place-items: center;
  border: 1px solid rgba(216, 255, 88, 0.24);
  border-radius: 50%;
  color: var(--lime);
  background: rgba(216, 255, 88, 0.07);
  box-shadow: 0 0 22px rgba(216, 255, 88, 0.08);
}

.location-orb svg {
  width: 17px;
  height: 17px;
}

.city-picker,
.radius-picker {
  display: grid;
  min-height: 44px;
  padding: 0 12px;
  align-content: center;
  gap: 2px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: rgba(8, 5, 13, 0.46);
}

.city-picker select {
  width: 100%;
  font-weight: 800;
}

.radius-picker select {
  max-width: 140px;
  font-size: 12px;
  font-weight: 800;
}

.location-message {
  margin: 0;
  grid-column: 1 / -1;
  color: var(--muted-strong);
  font-size: 11px;
}

.city-search-panel {
  display: grid;
  margin-bottom: 22px;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
}

.city-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 16px;
}

.city-card,
.city-detail {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border: 1px solid var(--line);
  background:
    radial-gradient(circle at 84% 12%, rgba(216, 255, 88, 0.12), transparent 11rem),
    linear-gradient(145deg, rgba(127, 92, 255, 0.16), rgba(17, 12, 24, 0.96) 68%);
  box-shadow: var(--shadow);
}

.city-card {
  display: grid;
  min-height: 300px;
  padding: 27px;
  align-content: end;
  border-radius: 24px;
}

.city-card.tone-2,
.city-detail.tone-2 {
  background: radial-gradient(circle at 84% 12%, rgba(51, 229, 173, 0.14), transparent 11rem), linear-gradient(145deg, rgba(40, 83, 135, 0.2), rgba(17, 12, 24, 0.97) 68%);
}

.city-card.tone-3,
.city-detail.tone-3 {
  background: radial-gradient(circle at 84% 12%, rgba(255, 79, 154, 0.13), transparent 11rem), linear-gradient(145deg, rgba(110, 38, 105, 0.22), rgba(17, 12, 24, 0.97) 68%);
}

.city-card-light,
.city-orbit-art {
  position: absolute;
  z-index: -1;
  top: 24px;
  right: 24px;
  width: 110px;
  height: 110px;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 50%;
  background: repeating-conic-gradient(from 20deg, rgba(216, 255, 88, 0.12) 0 6deg, transparent 6deg 18deg);
  box-shadow: 0 0 65px rgba(127, 92, 255, 0.22);
}

.city-card h2 {
  margin: 4px 0 8px;
  font-size: clamp(28px, 3vw, 42px);
  letter-spacing: -0.055em;
}

.city-card h2 button {
  padding: 0;
  border: 0;
  text-align: left;
  background: transparent;
  cursor: pointer;
}

.city-card > p:not(.eyebrow) {
  min-height: 42px;
  margin: 0 0 14px;
  color: var(--muted-strong);
  font-size: 13px;
  line-height: 1.55;
}

.city-card footer {
  display: flex;
  margin-top: 20px;
  gap: 14px;
  align-items: center;
  color: var(--muted);
  font-size: 10px;
}

.city-card footer strong {
  color: var(--ink);
  font-size: 13px;
}

.city-card footer .round-link {
  margin-left: auto;
}

.city-detail {
  min-height: 410px;
  margin-bottom: 48px;
  padding: clamp(30px, 6vw, 72px);
  border-radius: var(--radius-xl);
}

.city-detail > div {
  max-width: 680px;
}

.city-detail h1 {
  margin: 8px 0 14px;
  font-size: clamp(52px, 9vw, 106px);
  letter-spacing: -0.075em;
  line-height: 0.88;
}

.city-detail > div > p:not(.eyebrow) {
  max-width: 620px;
  color: var(--muted-strong);
  line-height: 1.7;
}

.city-detail-stats {
  display: flex;
  margin: 24px 0 16px;
  gap: 20px;
}

.city-detail-stats span {
  color: var(--muted);
  font-size: 12px;
}

.city-detail-stats strong {
  margin-right: 4px;
  color: var(--lime);
  font-size: 21px;
}

.city-orbit-art {
  top: 50%;
  right: 8%;
  width: min(30vw, 320px);
  height: min(30vw, 320px);
  transform: translateY(-50%);
}

.maplibregl-map {
  font-family: inherit;
}

.maplibregl-ctrl-group {
  overflow: hidden;
  border: 1px solid var(--line-strong);
  border-radius: 12px;
  background: rgba(16, 11, 23, 0.9);
  box-shadow: none;
}

.maplibregl-ctrl-group button {
  border-color: var(--line) !important;
  filter: invert(1);
}

.maplibregl-ctrl-attrib {
  color: #39303f;
  background: rgba(248, 246, 250, 0.88) !important;
}

.maplibregl-popup-content {
  padding: 15px;
  border: 1px solid rgba(216, 255, 88, 0.18);
  border-radius: 15px;
  background: #15101d;
  box-shadow: 0 20px 45px rgba(0, 0, 0, 0.36);
}

.maplibregl-popup-close-button {
  top: 4px;
  right: 5px;
  color: var(--muted);
  font-size: 20px;
}

.maplibregl-popup-tip {
  border-top-color: #15101d !important;
  border-bottom-color: #15101d !important;
}

.map-popup strong {
  padding-right: 18px;
  color: var(--ink);
}

.map-popup span,
.map-popup small {
  color: var(--muted);
}

.map-popup > div {
  display: flex;
  margin-top: 8px;
  gap: 7px;
}

.map-popup button,
.map-popup a {
  min-height: 32px;
  margin: 0;
  padding: 0 10px;
  border: 1px solid var(--line);
  border-radius: 9px;
  color: var(--ink);
  font-size: 10px;
  font-weight: 850;
  background: rgba(255, 255, 255, 0.05);
  cursor: pointer;
}

.map-popup a {
  display: inline-flex;
  align-items: center;
  color: #100b17;
  background: var(--lime);
}

@media (max-width: 1120px) {
  .header-city {
    min-width: 205px;
  }

  .header-city select {
    width: 140px;
  }

  .workspace {
    grid-template-columns: 86px minmax(0, 1fr);
  }

  .side-rail {
    padding-inline: 14px;
  }

  .side-nav button {
    justify-content: center;
    padding: 0;
  }

  .side-nav button span {
    display: none;
  }

  .rail-card {
    display: none;
  }

  .hero-premium {
    grid-template-columns: minmax(0, 1fr) 360px;
  }

}

.admin-photo-batches {
  margin: 24px 0;
  border-color: rgba(180, 111, 255, 0.26);
  background: linear-gradient(145deg, rgba(27, 15, 43, 0.96), rgba(10, 8, 16, 0.98));
}

.admin-photo-batches-head {
  align-items: flex-start;
}

.admin-photo-batch-list,
.admin-photo-items {
  display: grid;
  gap: 14px;
}

.admin-photo-batch-card {
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 22px;
  padding: 18px;
  background: rgba(6, 5, 10, 0.72);
}

.admin-photo-batch-card > header,
.admin-photo-item-summary,
.admin-photo-batch-actions,
.admin-photo-batch-metrics {
  display: flex;
  align-items: center;
  gap: 12px;
}

.admin-photo-batch-card > header {
  justify-content: space-between;
  align-items: flex-start;
}

.admin-photo-batch-card h3 {
  margin: 4px 0;
  font-size: clamp(1.2rem, 2vw, 1.7rem);
}

.admin-photo-batch-actions {
  flex-wrap: wrap;
  justify-content: flex-end;
}

.admin-photo-batch-metrics {
  display: grid;
  grid-template-columns: repeat(5, minmax(80px, 1fr));
  margin: 16px 0;
}

.admin-photo-batch-metrics span {
  display: grid;
  gap: 2px;
  padding: 12px;
  border-radius: 15px;
  background: rgba(255, 255, 255, 0.055);
}

.admin-photo-batch-metrics strong {
  font-size: 1.35rem;
}

.admin-photo-batch-metrics small,
.admin-photo-item-summary small {
  color: var(--muted);
}

.admin-photo-batch-metrics .has-errors strong,
.admin-photo-batch-error,
.admin-photo-item.has-error strong {
  color: #ff6f91;
}

.admin-photo-batch-card > details > summary,
.admin-photo-approval > summary {
  display: flex;
  justify-content: space-between;
  cursor: pointer;
  padding: 12px 0 4px;
  font-weight: 800;
}

.admin-photo-item {
  padding: 14px;
  border-radius: 16px;
  border: 1px solid rgba(255, 255, 255, 0.09);
  background: rgba(255, 255, 255, 0.035);
}

.admin-photo-item-summary > span:nth-child(2) {
  display: grid;
  gap: 3px;
  flex: 1;
  min-width: 0;
}

.admin-photo-item-summary strong,
.admin-photo-item-summary small {
  overflow-wrap: anywhere;
}

.admin-photo-item-icon {
  display: grid;
  place-items: center;
  width: 38px;
  height: 38px;
  border-radius: 12px;
  color: var(--accent);
  background: rgba(216, 255, 71, 0.1);
}

.admin-photo-approval form {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
  margin-top: 12px;
}

@media (max-width: 760px) {
  .admin-photo-batch-card > header,
  .admin-photo-item-summary {
    align-items: stretch;
    flex-direction: column;
  }

  .admin-photo-batch-actions {
    justify-content: stretch;
  }

  .admin-photo-batch-actions .button {
    flex: 1 1 100%;
  }

  .admin-photo-batch-metrics {
    grid-template-columns: repeat(2, 1fr);
  }

  .admin-photo-approval form {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 900px) {
  .site-header {
    min-height: 72px;
    padding: 0 18px;
  }

  .brand-lockup small,
  .connection-badge,
  .header-actions > .button {
    display: none;
  }

  .account-button {
    min-width: 42px;
    padding-right: 6px;
  }

  .account-button > span:last-child {
    display: none;
  }

  .header-city {
    min-width: 190px;
  }

  .header-city select {
    width: 125px;
  }

  .workspace {
    display: block;
    min-height: calc(100vh - 72px);
  }

  .side-rail {
    display: none;
  }

  .main-content {
    padding: 22px 15px 112px;
  }

  .hero-premium {
    min-height: auto;
    grid-template-columns: 1fr;
  }

  .hero-copy {
    padding: 38px 23px 30px;
  }

  .hero-copy h1 {
    font-size: clamp(42px, 12vw, 67px);
  }

  .hero-lead {
    margin-block: 20px 22px;
    font-size: 15px;
  }

  .metric-strip {
    grid-template-columns: 1fr 1fr;
    margin-bottom: 44px;
  }

  .metric-strip > div:nth-child(2) {
    border-right: 0;
  }

  .metric-strip > div:nth-child(-n + 2) {
    border-bottom: 1px solid var(--line);
  }

  .club-grid {
    grid-template-columns: 1fr;
  }

  .city-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .location-panel {
    grid-template-columns: minmax(170px, 1fr) minmax(170px, 1fr);
  }

  .location-panel > .button {
    justify-self: start;
  }

  .city-orbit-art {
    opacity: 0.5;
  }

  .map-teaser {
    grid-template-columns: 1fr;
  }

  .map-teaser > div:first-child {
    position: relative;
    z-index: 2;
  }

  .map-teaser-art {
    top: 18%;
    right: -35%;
    width: 90%;
    opacity: 0.45;
  }

  .map-layout,
  .profile-layout,
  .club-detail-layout,
  .admin-layout {
    grid-template-columns: 1fr;
  }

  .admin-metrics {
    grid-template-columns: 1fr 1fr;
  }

  .club-detail-aside {
    position: static;
  }

  .map-stage,
  #nr-map {
    min-height: 480px;
  }

  .map-list {
    height: auto;
    max-height: 430px;
  }

  .mobile-nav {
    position: fixed;
    z-index: 900;
    right: 12px;
    bottom: max(12px, env(safe-area-inset-bottom));
    left: 12px;
    display: grid;
    min-height: 67px;
    padding: 7px;
    grid-template-columns: repeat(5, 1fr);
    gap: 2px;
    border: 1px solid var(--line-strong);
    border-radius: 21px;
    background: rgba(18, 13, 25, 0.92);
    box-shadow: 0 24px 60px rgba(0, 0, 0, 0.48);
    backdrop-filter: blur(22px);
  }

  .mobile-nav button {
    display: grid;
    padding: 6px 2px;
    gap: 3px;
    place-items: center;
    border: 0;
    border-radius: 14px;
    color: #7f7788;
    background: transparent;
  }

  .mobile-nav button svg {
    width: 19px;
    height: 19px;
  }

  .mobile-nav button small {
    font-size: 8px;
    font-weight: 800;
  }

  .mobile-nav button.active {
    color: var(--lime);
    background: rgba(216, 255, 88, 0.07);
  }

  .toast {
    right: 16px;
    bottom: 94px;
    left: 16px;
  }
}

@media (max-width: 620px) {
  .site-header {
    padding-inline: 14px;
  }

  .update-banner {
    right: 10px;
    bottom: 90px;
    left: 10px;
    max-width: none;
    grid-template-columns: auto minmax(0, 1fr);
  }

  .update-banner .button {
    grid-column: 1 / -1;
  }

  .brand-mark {
    width: 35px;
    height: 35px;
  }

  .site-header > .brand-lockup > span:last-child {
    display: none;
  }

  .header-city {
    min-width: 0;
    width: min(48vw, 178px);
    padding-left: 8px;
  }

  .header-city select {
    width: 100%;
    font-size: 11px;
  }

  .header-city > label {
    display: none;
  }

  .location-panel,
  .city-search-panel {
    grid-template-columns: 1fr;
  }

  .location-panel {
    padding: 13px;
  }

  .location-panel > .button,
  .city-search-panel > .button {
    width: 100%;
    justify-content: center;
  }

  .city-grid {
    grid-template-columns: 1fr;
  }

  .city-card {
    min-height: 260px;
    padding: 23px;
  }

  .city-detail {
    min-height: 380px;
    padding: 35px 23px;
  }

  .city-detail h1 {
    font-size: clamp(48px, 18vw, 72px);
  }

  .city-orbit-art {
    top: 20px;
    right: -35px;
    width: 180px;
    height: 180px;
    transform: none;
    opacity: 0.25;
  }

  .hero-copy {
    padding: 31px 18px 24px;
  }

  .hero-copy h1 {
    font-size: clamp(39px, 13vw, 55px);
  }

  .night-search {
    min-height: 57px;
    grid-template-columns: auto minmax(0, 1fr);
  }

  .night-search .button {
    display: none;
  }

  .metric-strip > div {
    min-height: 92px;
    padding: 17px;
  }

  .metric-strip strong {
    font-size: 21px;
  }

  .section-heading {
    align-items: center;
  }

  .section-heading h2,
  .page-intro h1 {
    font-size: 29px;
  }

  .club-art {
    height: 156px;
  }

  .club-art.has-cover {
    height: 185px;
  }

  .club-art.media-failed {
    height: 156px;
  }

  .club-detail-hero {
    min-height: 360px;
    border-radius: 24px;
  }

  .club-detail-title {
    padding: 25px 20px;
  }

  .club-detail-title h1 {
    font-size: clamp(42px, 15vw, 67px);
  }

  .detail-favorite {
    top: 16px;
    right: 16px;
  }

  .club-info-grid {
    grid-template-columns: 1fr;
  }

  .club-detail-map {
    min-height: 310px;
  }

  .reviews-heading,
  .review-form-head,
  .review-auth-gate {
    align-items: flex-start;
    flex-direction: column;
  }

  .review-form-actions {
    align-items: stretch;
    flex-direction: column;
  }

  .review-form-actions .button {
    width: 100%;
  }

  .admin-row {
    align-items: flex-start;
    flex-direction: column;
  }

  .admin-row > div {
    width: 100%;
    flex-wrap: wrap;
  }

  .admin-row button {
    flex: 1;
  }

  .club-facts {
    grid-template-columns: 1fr;
  }

  .card-actions .button {
    flex: 1;
  }

  .event-card {
    padding: 14px;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 13px;
  }

  .event-detail-hero {
    min-height: 390px;
    border-radius: 24px;
  }

  .event-date-block {
    min-height: 72px;
  }

  .event-card-action {
    display: none;
  }

  .event-card-content h3 {
    font-size: 17px;
  }

  .map-teaser {
    min-height: 390px;
    padding: 32px 22px;
  }

  .map-teaser h2 {
    font-size: 38px;
  }

  .page-intro {
    min-height: 135px;
    padding: 25px 22px;
  }

  .page-icon {
    width: 55px;
    height: 55px;
  }

  .filter-bar {
    grid-template-columns: 1fr;
  }

  .profile-card,
  .profile-form-card {
    padding: 23px 18px;
  }

  .form-grid {
    grid-template-columns: 1fr;
    gap: 0;
  }

  .settings-strip,
  .site-footer {
    align-items: flex-start;
    flex-direction: column;
  }

  .settings-strip {
    gap: 20px;
  }

  .settings-strip .button {
    width: 100%;
  }

  .site-footer {
    gap: 12px;
  }

  .auth-dialog {
    width: calc(100vw - 20px);
    padding: 27px 18px;
    border-radius: 23px;
  }

  .auth-copy h2,
  .auth-confirm h2 {
    font-size: 28px;
  }
}

@media (max-width: 350px) {
  .site-header {
    gap: 8px;
    padding-inline: 10px;
  }

  .brand-lockup {
    min-width: 0;
    gap: 9px;
  }

  .header-city {
    width: min(48vw, 150px);
  }

  .account-button {
    min-width: 38px;
    width: 38px;
  }

  .brand-lockup > span:last-child {
    min-width: 0;
  }

  .brand-lockup strong {
    font-size: 16px;
  }

  .main-content {
    padding-inline: 10px;
  }

  .hero-copy {
    padding: 29px 14px 24px;
  }

  .hero-copy h1 {
    overflow-wrap: anywhere;
    font-size: 37px;
    letter-spacing: -0.055em;
  }

  .hero-lead {
    font-size: 14px;
  }

  .mobile-nav {
    right: 8px;
    left: 8px;
  }

  .club-art-fallback {
    padding-inline: 18px;
    gap: 13px;
  }

  .club-art-identity {
    padding-right: 35px;
  }

  .club-card-body {
    padding: 17px;
  }

  .card-actions .button {
    width: 100%;
  }
}

@media (prefers-reduced-motion: reduce) {
  *,
  *::before,
  *::after {
    scroll-behavior: auto !important;
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
  }
}

/* Nightlife 1.3.0 — Catalog Operations, horarios y galerías */
.open-status {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  min-width: 0;
  color: var(--muted-strong);
}

.open-status i {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-radius: 50%;
  background: var(--muted);
  box-shadow: 0 0 0 5px rgba(170, 163, 178, 0.08);
}

.open-status.is-open {
  color: #8af0cf;
}

.open-status.is-open i {
  background: var(--aqua);
  box-shadow: 0 0 15px rgba(51, 229, 173, 0.65);
}

.open-status.is-closed {
  color: #f5b3be;
}

.open-status.is-closed i {
  background: var(--danger);
  box-shadow: 0 0 12px rgba(255, 107, 123, 0.4);
}

.open-status.compact {
  padding: 7px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(8, 6, 13, 0.62);
  font-size: 12px;
  font-weight: 800;
}

.opening-schedule {
  display: grid;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius-md);
}

.opening-schedule > div {
  display: grid;
  grid-template-columns: minmax(110px, 0.7fr) minmax(130px, 1fr) auto;
  gap: 18px;
  align-items: center;
  min-height: 54px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--line);
}

.opening-schedule > div:last-child {
  border-bottom: 0;
}

.opening-schedule span,
.opening-schedule small {
  color: var(--muted);
}

.opening-schedule small {
  display: inline-flex;
  gap: 6px;
  align-items: center;
  font-size: 11px;
}

.opening-schedule small svg {
  width: 14px;
  height: 14px;
  color: var(--aqua);
}

.schedule-empty {
  margin: 0;
  padding: 18px;
  border: 1px dashed var(--line-strong);
  border-radius: var(--radius-md);
  color: var(--muted);
}

.club-gallery {
  display: grid;
  grid-template-columns: 1.4fr 1fr 1fr;
  grid-auto-rows: 150px;
  gap: 12px;
}

.club-gallery button {
  position: relative;
  overflow: hidden;
  padding: 0;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: var(--panel-strong);
  cursor: zoom-in;
}

.club-gallery button:first-child {
  grid-row: span 2;
}

.club-gallery img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform 220ms ease, filter 220ms ease;
}

.club-gallery button:hover img {
  filter: brightness(1.08);
  transform: scale(1.025);
}

.gallery-lightbox {
  position: fixed;
  inset: 0;
  z-index: 1500;
  display: grid;
  grid-template-columns: minmax(48px, 90px) minmax(0, 1100px) minmax(48px, 90px);
  place-content: center;
  align-items: center;
  padding: 34px;
  background: rgba(5, 3, 9, 0.94);
  backdrop-filter: blur(18px);
}

.gallery-lightbox figure {
  display: grid;
  gap: 14px;
  margin: 0;
}

.gallery-lightbox figure img {
  width: 100%;
  max-height: 78vh;
  border: 1px solid var(--line-strong);
  border-radius: 24px;
  object-fit: contain;
  background: #050309;
  box-shadow: var(--shadow);
}

.gallery-lightbox figcaption {
  display: flex;
  justify-content: space-between;
  color: var(--muted);
}

.gallery-lightbox figcaption strong {
  color: var(--ink);
}

.gallery-close,
.gallery-nav {
  border: 1px solid var(--line-strong);
  border-radius: 50%;
  color: var(--ink);
  background: rgba(21, 16, 29, 0.9);
  cursor: pointer;
}

.gallery-close {
  position: absolute;
  top: 24px;
  right: 24px;
  width: 48px;
  height: 48px;
  font-size: 28px;
}

.gallery-nav {
  width: 52px;
  height: 52px;
  justify-self: center;
  font-size: 34px;
}

.gallery-nav:disabled {
  opacity: 0.3;
}

.source-list {
  display: grid;
  gap: 8px;
}

.source-list a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  padding: 13px 14px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: rgba(255, 255, 255, 0.025);
}

.source-list a:hover {
  border-color: rgba(216, 255, 88, 0.38);
  background: rgba(216, 255, 88, 0.055);
}

.source-list span {
  display: grid;
  gap: 3px;
}

.source-list small {
  color: var(--muted);
}

.source-list b {
  padding: 5px 8px;
  border-radius: 999px;
  color: #10130a;
  background: var(--lime);
  font-size: 10px;
  text-transform: uppercase;
}

.catalog-ops {
  display: grid;
  gap: 20px;
  margin-bottom: 26px;
}

.admin-section-heading {
  margin-bottom: 0;
}

.quality-metrics {
  display: grid;
  grid-template-columns: repeat(7, minmax(110px, 1fr));
  gap: 10px;
  overflow-x: auto;
  padding-bottom: 3px;
}

.quality-metrics button {
  display: grid;
  gap: 4px;
  min-height: 88px;
  padding: 15px;
  border: 1px solid var(--line);
  border-radius: 16px;
  color: var(--ink);
  text-align: left;
  background: var(--panel);
  cursor: pointer;
}

.quality-metrics button:hover,
.quality-metrics button.active {
  border-color: rgba(216, 255, 88, 0.48);
  background: linear-gradient(145deg, rgba(216, 255, 88, 0.09), rgba(127, 92, 255, 0.08));
}

.quality-metrics strong {
  font-size: 25px;
}

.quality-metrics span {
  color: var(--muted);
  font-size: 12px;
  font-weight: 750;
}

.catalog-ops-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.05fr) minmax(320px, 0.95fr);
  gap: 20px;
}

.import-form {
  display: grid;
  gap: 14px;
}

.import-form .button-row {
  flex-wrap: wrap;
}

.import-apply {
  color: #0c0b10;
  background: linear-gradient(135deg, var(--lime), #b8eb3b);
}

.import-empty {
  display: grid;
  place-items: center;
  min-height: 190px;
  margin-top: 16px;
  border: 1px dashed var(--line-strong);
  border-radius: 18px;
  color: var(--muted);
  text-align: center;
}

.import-empty svg {
  width: 32px;
  height: 32px;
  color: var(--lime);
}

.import-preview {
  display: grid;
  gap: 14px;
  margin-top: 16px;
}

.import-summary {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.import-summary div {
  display: grid;
  gap: 3px;
  padding: 13px;
  border-right: 1px solid var(--line);
}

.import-summary div:last-child {
  border-right: 0;
}

.import-summary strong {
  font-size: 22px;
}

.import-summary span {
  color: var(--muted);
  font-size: 11px;
}

.import-errors {
  display: grid;
  max-height: 260px;
  overflow: auto;
  border: 1px solid rgba(255, 107, 123, 0.25);
  border-radius: 14px;
}

.import-errors div {
  display: grid;
  gap: 3px;
  padding: 10px 12px;
  border-bottom: 1px solid var(--line);
}

.import-errors div:last-child {
  border-bottom: 0;
}

.import-errors b {
  color: var(--danger);
  font-size: 11px;
}

.import-errors span {
  color: var(--muted-strong);
  font-size: 12px;
}

.quality-list {
  display: grid;
  max-height: 610px;
  overflow: auto;
  border: 1px solid var(--line);
  border-radius: 16px;
}

.quality-list > button {
  display: grid;
  grid-template-columns: 120px minmax(0, 1fr) 22px;
  gap: 12px;
  align-items: center;
  min-height: 61px;
  padding: 10px 13px;
  border: 0;
  border-bottom: 1px solid var(--line);
  color: var(--ink);
  text-align: left;
  background: transparent;
  cursor: pointer;
}

.quality-list > button:last-child {
  border-bottom: 0;
}

.quality-list > button:hover {
  background: rgba(255, 255, 255, 0.035);
}

.quality-list > button > span:nth-child(2) {
  display: grid;
  gap: 3px;
  min-width: 0;
}

.quality-list small {
  overflow: hidden;
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.quality-type {
  width: max-content;
  max-width: 120px;
  padding: 5px 7px;
  overflow: hidden;
  border-radius: 999px;
  color: var(--muted-strong);
  font-size: 9px;
  font-weight: 850;
  text-overflow: ellipsis;
  text-transform: uppercase;
  white-space: nowrap;
  background: rgba(255, 255, 255, 0.07);
}

.quality-type.type-source,
.quality-type.type-review {
  color: var(--warning);
  background: rgba(255, 215, 110, 0.1);
}

.quality-type.type-image {
  color: var(--violet-soft);
  background: rgba(127, 92, 255, 0.12);
}

.admin-hours {
  display: grid;
  gap: 12px;
  padding: 16px;
  margin: 18px 0;
  border: 1px solid var(--line);
  border-radius: 18px;
}

.admin-hours legend {
  padding: 0 8px;
  font-weight: 900;
}

.admin-hours > p {
  margin: 0;
  color: var(--muted);
  font-size: 12px;
}

.admin-hours > div {
  display: grid;
  gap: 8px;
}

.admin-hours section {
  display: grid;
  grid-template-columns: 95px minmax(115px, 1fr) minmax(115px, 1fr) auto auto;
  gap: 10px;
  align-items: end;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 13px;
  background: rgba(255, 255, 255, 0.02);
}

.admin-hours section > strong {
  align-self: center;
}

.admin-hours label {
  display: grid;
  gap: 4px;
  color: var(--muted);
  font-size: 11px;
}

.admin-hours input[type="time"] {
  min-width: 0;
  padding: 9px;
  border: 1px solid var(--line);
  border-radius: 10px;
  color: var(--ink);
  background: var(--canvas-soft);
}

.admin-hours .inline-check {
  display: flex;
  align-items: center;
  min-height: 38px;
  white-space: nowrap;
}

.admin-gallery-manager {
  display: grid;
  gap: 14px;
  margin: 18px 0;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
}

.admin-gallery-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(180px, 1fr));
  gap: 12px;
}

.admin-gallery-grid article {
  display: grid;
  gap: 9px;
  padding: 10px;
  border: 1px solid var(--line);
  border-radius: 14px;
  background: var(--canvas-soft);
}

.admin-gallery-grid article.is-pending {
  border-color: rgba(255, 215, 110, 0.32);
}

.admin-gallery-grid img {
  width: 100%;
  height: 118px;
  border-radius: 10px;
  object-fit: cover;
}

.admin-gallery-grid article > div {
  display: grid;
  gap: 4px;
}

.admin-gallery-grid article > div:last-child {
  grid-template-columns: repeat(auto-fit, minmax(80px, 1fr));
}

.admin-gallery-grid button {
  min-height: 32px;
  border: 1px solid var(--line);
  border-radius: 9px;
  background: var(--panel);
  cursor: pointer;
}

.admin-gallery-grid button.danger {
  color: var(--danger);
}

@media (max-width: 1100px) {
  .catalog-ops-grid {
    grid-template-columns: 1fr;
  }

  .quality-metrics {
    grid-template-columns: repeat(7, minmax(135px, 1fr));
  }
}

@media (max-width: 760px) {
  .club-gallery {
    grid-template-columns: 1fr 1fr;
    grid-auto-rows: 120px;
  }

  .club-gallery button:first-child {
    grid-column: span 2;
    grid-row: auto;
    min-height: 200px;
  }

  .gallery-lightbox {
    grid-template-columns: 42px minmax(0, 1fr) 42px;
    padding: 16px 8px;
  }

  .gallery-nav {
    width: 38px;
    height: 38px;
  }

  .opening-schedule > div {
    grid-template-columns: 1fr auto;
    gap: 5px 12px;
  }

  .opening-schedule small {
    grid-column: 1 / -1;
  }

  .admin-hours section {
    grid-template-columns: 1fr 1fr;
  }

  .admin-hours section > strong {
    grid-column: 1 / -1;
  }

  .quality-list > button {
    grid-template-columns: 105px minmax(0, 1fr) 18px;
  }

  .import-summary {
    grid-template-columns: 1fr 1fr;
  }

  .import-summary div:nth-child(2) {
    border-right: 0;
  }

  .import-summary div:nth-child(-n+2) {
    border-bottom: 1px solid var(--line);
  }
}

@media (max-width: 430px) {
  .quality-list > button {
    grid-template-columns: 1fr 18px;
  }

  .quality-type {
    grid-column: 1 / -1;
  }

  .admin-hours section {
    grid-template-columns: 1fr;
  }

  .admin-hours section > strong {
    grid-column: auto;
  }

  .gallery-lightbox {
    grid-template-columns: 1fr;
  }

  .gallery-nav {
    position: absolute;
    top: 50%;
    z-index: 2;
  }

  .gallery-nav.previous {
    left: 10px;
  }

  .gallery-nav.next {
    right: 10px;
  }
}


/* Nightlife 1.4 - permisos y calidad de datos */
.permission-card {
  display: grid;
  grid-template-columns: auto 1fr;
  gap: 12px;
  align-items: center;
  width: 100%;
  padding: 14px;
  margin: 18px 0 12px;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 18px;
  background: rgba(255,255,255,.035);
}
.permission-card > span {
  width: 40px;
  height: 40px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(205,255,63,.08);
  color: var(--acid, #cdff3f);
}
.permission-card div { min-width: 0; }
.permission-card strong,
.permission-card small { display: block; }
.permission-card small {
  margin-top: 3px;
  color: var(--muted, #aaa3b6);
  line-height: 1.35;
}
.permission-card .button {
  grid-column: 1 / -1;
  width: 100%;
}
.permission-card.is-admin {
  border-color: rgba(205,255,63,.28);
  background: linear-gradient(135deg, rgba(205,255,63,.08), rgba(121,76,255,.08));
}
@media (min-width: 720px) {
  .permission-card {
    grid-template-columns: auto 1fr auto;
  }
  .permission-card .button {
    grid-column: auto;
    width: auto;
  }
}

/* Nightlife 1.5 Location Lab */
.admin-location-lab{margin:1.4rem 0;padding:1.2rem;border:1px solid rgba(202,255,61,.2);border-radius:24px;background:linear-gradient(145deg,rgba(202,255,61,.045),rgba(112,62,174,.08))}
.location-lab-actions{display:flex;flex-wrap:wrap;gap:.65rem;margin:.8rem 0}
.location-lab-message{min-height:1.4rem;color:var(--muted);font-size:.86rem}
.admin-location-map{height:360px;margin:.8rem 0;border:1px solid var(--line);border-radius:20px;overflow:hidden;background:#0b0713}
.admin-location-map .maplibregl-canvas{outline:none}
.admin-location-map .maplibregl-ctrl-group{background:#171221;border:1px solid var(--line)}
.admin-location-map .maplibregl-ctrl button{filter:invert(1)}
@media(max-width:720px){.admin-location-map{height:300px}.location-lab-actions .button{flex:1 1 100%}}

/* Admin club quick editor */
.admin-club-workspace{grid-template-columns:minmax(0,1.35fr) minmax(340px,.65fr)}
.admin-editor-head,.admin-completion-board>header{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem;margin-bottom:1.1rem}.admin-editor-head h2,.admin-completion-board h2{margin:.18rem 0 .2rem;font-size:clamp(1.45rem,2.5vw,2rem)}.admin-editor-head p{margin:0;color:var(--muted)}
.admin-club-fast-form{display:grid;gap:1rem}.admin-essential-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem}.admin-photo-quick{display:grid;grid-template-columns:minmax(0,1fr) minmax(180px,.8fr) minmax(160px,.55fr);align-items:end;gap:.8rem;padding:1rem;border:1px solid rgba(139,92,246,.25);border-radius:18px;background:linear-gradient(135deg,rgba(139,92,246,.09),rgba(205,255,63,.045))}.admin-photo-quick>div{display:flex;align-items:center;gap:.75rem}.admin-photo-quick>div>svg{width:1.6rem;color:var(--accent)}.admin-photo-quick strong,.admin-photo-quick small{display:block}.admin-photo-quick small{margin-top:.2rem;color:var(--muted)}.admin-photo-quick input[type=file]{min-width:0;padding:.72rem;border:1px dashed var(--line);border-radius:12px}.admin-photo-quick .field{margin:0}
.admin-optional-drawer{overflow:hidden;border:1px solid var(--line);border-radius:16px;background:rgba(255,255,255,.018)}.admin-optional-drawer>summary{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.9rem 1rem;cursor:pointer;font-weight:850}.admin-optional-drawer>summary span{display:flex;align-items:center;gap:.55rem}.admin-optional-drawer>summary svg{width:1.15rem;color:var(--accent)}.admin-optional-drawer>summary small{color:var(--muted);font-weight:650}.admin-optional-drawer[open]>summary{border-bottom:1px solid var(--line)}.admin-optional-drawer>.form-grid,.admin-optional-drawer>.field{margin:1rem}.admin-optional-drawer>.admin-hours,.admin-optional-drawer>.admin-gallery-manager{margin:1rem;border:0;padding:0}
.admin-save-bar{position:sticky;bottom:calc(var(--safe-bottom,0px) + .65rem);z-index:8;display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.8rem .9rem;border:1px solid rgba(205,255,63,.28);border-radius:16px;background:rgba(17,12,27,.94);box-shadow:0 18px 45px rgba(0,0,0,.4);backdrop-filter:blur(16px)}.admin-save-bar span{color:var(--muted);font-weight:800}.admin-save-bar .button{min-width:170px}
.admin-completion-board{position:sticky;top:88px}.admin-work-queue{max-height:620px}.admin-complete-list{margin-top:1rem;border-top:1px solid var(--line);padding-top:.8rem}.admin-complete-list>summary{display:flex;align-items:center;justify-content:space-between;gap:.7rem;padding:.55rem;cursor:pointer;font-weight:900}.admin-complete-list>summary span{display:flex;align-items:center;gap:.5rem}.admin-complete-list>summary svg{width:1.1rem;color:var(--accent)}.admin-complete-list>.admin-rows{margin-top:.6rem;max-height:380px}.admin-progress-row>span{display:grid;min-width:0;gap:.18rem}.admin-progress-row>span small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.admin-progress-row>span small svg{width:.85rem;vertical-align:-.14rem;color:var(--accent)}.admin-progress-row>span i{display:block;width:100%;height:4px;overflow:hidden;border-radius:99px;background:rgba(255,255,255,.08)}.admin-progress-row>span i b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#8b5cf6,var(--accent))}.admin-progress-row.is-complete{border-color:rgba(205,255,63,.18)}.admin-progress-row button.primary{border-color:rgba(205,255,63,.3);color:var(--accent)}
@media(max-width:980px){.admin-club-workspace{grid-template-columns:1fr}.admin-completion-board{position:static;order:-1}.admin-work-queue{max-height:360px}}
@media(max-width:720px){.admin-essential-grid,.admin-photo-quick{grid-template-columns:1fr}.admin-save-bar{bottom:calc(var(--mobile-nav-height,70px) + var(--safe-bottom,0px) + .45rem)}.admin-save-bar .button{min-width:0}.admin-completion-board>header,.admin-editor-head{align-items:center}.admin-progress-row{align-items:flex-start;flex-direction:column}.admin-progress-row>span,.admin-progress-row>div{width:100%}.admin-progress-row>div{display:grid;grid-template-columns:1fr 1fr}.admin-location-map{height:260px}}


/* NIGHTLIFE 1.6 — SOCIAL CORE */
.social-safety-note {
  display: flex;
  align-items: flex-start;
  gap: 1rem;
  margin: 1.25rem 0;
  padding: 1rem 1.1rem;
  border: 1px solid rgba(201, 255, 61, 0.18);
  border-radius: 1.15rem;
  background: linear-gradient(135deg, rgba(201, 255, 61, 0.07), rgba(101, 58, 170, 0.08));
}
.social-safety-note svg {
  width: 1.5rem;
  height: 1.5rem;
  flex: 0 0 auto;
  color: var(--accent, #c9ff3d);
}
.social-safety-note strong {
  display: block;
  margin-bottom: 0.2rem;
}
.social-safety-note p {
  margin: 0;
  color: var(--muted, #b7afc5);
}
.social-dashboard {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
  margin: 1rem 0 1.4rem;
}
.social-pulse-card {
  position: relative;
  overflow: hidden;
  min-height: 12rem;
  padding: 1.35rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 1.45rem;
  background:
    radial-gradient(circle at 88% 20%, rgba(201, 255, 61, 0.14), transparent 24%),
    radial-gradient(circle at 18% 90%, rgba(130, 74, 214, 0.23), transparent 35%),
    rgba(17, 12, 25, 0.92);
}
.social-pulse-card::after {
  content: "";
  position: absolute;
  width: 9rem;
  height: 9rem;
  right: -2.5rem;
  bottom: -3.2rem;
  border: 1px solid rgba(201, 255, 61, 0.16);
  border-radius: 50%;
  box-shadow:
    0 0 0 1.4rem rgba(201, 255, 61, 0.025),
    0 0 0 2.8rem rgba(201, 255, 61, 0.018);
}
.social-pulse-card > strong {
  display: block;
  margin: 0.45rem 0 0.15rem;
  font-size: clamp(2.8rem, 7vw, 5.3rem);
  line-height: 0.9;
  letter-spacing: -0.06em;
  color: var(--accent, #c9ff3d);
}
.social-pulse-card > p {
  margin: 0.45rem 0 1.1rem;
  color: var(--muted, #b7afc5);
}
.social-music-cloud,
.social-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}
.social-music-cloud span,
.social-tags span {
  padding: 0.42rem 0.68rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 999px;
  background: rgba(255, 255, 255, 0.04);
  font-size: 0.75rem;
}
.social-create-grid {
  display: grid;
  grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
  gap: 1.15rem;
  align-items: start;
  margin: 1.25rem 0 1.6rem;
}
.social-create-grid .detail-panel {
  min-width: 0;
}
.social-create-grid textarea {
  min-height: 7.5rem;
  resize: vertical;
}
.social-form-actions,
.social-login-actions {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  margin-top: 1rem;
}
.social-login-panel {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
  margin: 1.25rem 0 1.5rem;
}
.social-login-panel h2 {
  max-width: 18ch;
  margin: 0.3rem 0 0.45rem;
}
.social-login-panel p {
  max-width: 56ch;
  margin: 0;
  color: var(--muted, #b7afc5);
}
.social-plans-section {
  margin-top: 1.75rem;
}
.social-plan-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 1rem;
}
.social-plan-card {
  overflow: hidden;
  display: grid;
  grid-template-rows: auto 1fr auto;
  min-height: 24rem;
  border: 1px solid rgba(255, 255, 255, 0.1);
  border-radius: 1.35rem;
  background:
    radial-gradient(circle at 85% -10%, rgba(130, 74, 214, 0.24), transparent 34%),
    linear-gradient(180deg, rgba(25, 18, 36, 0.98), rgba(14, 10, 21, 0.98));
  box-shadow: 0 1.2rem 3rem rgba(0, 0, 0, 0.18);
}
.social-plan-card.is-full {
  opacity: 0.76;
}
.social-plan-card > header,
.social-plan-card > footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.8rem;
  padding: 1rem 1.1rem;
}
.social-plan-card > header {
  border-bottom: 1px solid rgba(255, 255, 255, 0.07);
}
.social-plan-card > footer {
  border-top: 1px solid rgba(255, 255, 255, 0.07);
}
.social-plan-card > footer > span {
  color: var(--muted, #b7afc5);
  font-size: 0.82rem;
}
.social-creator {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  min-width: 0;
}
.social-creator > div {
  min-width: 0;
}
.social-creator strong,
.social-creator small {
  display: block;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.social-creator small {
  margin-top: 0.1rem;
  color: var(--muted, #b7afc5);
}
.social-avatar {
  display: grid;
  place-items: center;
  flex: 0 0 2.35rem;
  width: 2.35rem;
  height: 2.35rem;
  overflow: hidden;
  border: 1px solid rgba(201, 255, 61, 0.35);
  border-radius: 50%;
  background: rgba(201, 255, 61, 0.11);
  color: var(--accent, #c9ff3d);
  font-weight: 900;
}
.social-avatar img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}
.social-plan-capacity {
  padding: 0.4rem 0.62rem;
  border-radius: 999px;
  background: rgba(201, 255, 61, 0.1);
  color: var(--accent, #c9ff3d);
  font-weight: 800;
  font-size: 0.78rem;
}
.social-plan-body {
  padding: 1.25rem 1.1rem;
}
.social-plan-body h3 {
  margin: 0.38rem 0 0.58rem;
  font-size: clamp(1.45rem, 3vw, 2rem);
}
.social-plan-body > p {
  min-height: 3.4rem;
  color: var(--muted, #b7afc5);
}
.social-club-link {
  display: inline-flex;
  align-items: center;
  gap: 0.42rem;
  margin: 0.25rem 0 0.85rem;
  padding: 0;
  border: 0;
  background: transparent;
  color: var(--accent, #c9ff3d);
  font: inherit;
  font-weight: 800;
  cursor: pointer;
}
.social-club-link svg {
  width: 1rem;
  height: 1rem;
}
.social-requests-panel {
  margin: 1.25rem 0 1.5rem;
}
.social-request-list {
  display: grid;
  gap: 0.65rem;
}
.social-request-row {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 0.8rem;
  padding: 0.85rem;
  border: 1px solid rgba(255, 255, 255, 0.08);
  border-radius: 1rem;
  background: rgba(255, 255, 255, 0.025);
}
.social-request-row small {
  display: block;
  margin-top: 0.12rem;
  color: var(--muted, #b7afc5);
}
.social-request-row > div:last-child {
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-end;
  gap: 0.45rem;
}

@media (max-width: 920px) {
  .social-dashboard,
  .social-create-grid,
  .social-plan-grid {
    grid-template-columns: 1fr;
  }
  .social-login-panel {
    align-items: flex-start;
    flex-direction: column;
  }
}
@media (max-width: 560px) {
  .social-plan-card > footer {
    align-items: stretch;
    flex-direction: column;
  }
  .social-plan-card > footer .button {
    width: 100%;
  }
  .social-request-row {
    grid-template-columns: auto minmax(0, 1fr);
  }
  .social-request-row > div:last-child {
    grid-column: 1 / -1;
    justify-content: stretch;
  }
  .social-request-row > div:last-child .button {
    flex: 1;
  }
}
@media (prefers-reduced-motion: reduce) {
  .social-pulse-card::after {
    box-shadow: none;
  }
}

.social-presence-panel,
.social-plan-form-panel {
  position: relative;
}


/* Nightlife 1.7 Social Live */
.social-live-section{display:grid;gap:18px;margin:24px 0}.social-live-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px}.social-live-card,.live-checkin-card,.quick-checkin{border:1px solid rgba(202,255,66,.16);background:linear-gradient(145deg,rgba(17,21,26,.96),rgba(8,11,15,.96));border-radius:24px;padding:20px}.social-live-card h3{margin:8px 0}.live-metrics{display:flex;flex-wrap:wrap;gap:8px;margin:14px 0}.live-metrics span{padding:7px 10px;border-radius:999px;background:rgba(202,255,66,.08);font-size:.82rem}.live-checkin-card>div:first-child{display:flex;flex-direction:column;gap:4px}.social-vibe-form{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px}.social-vibe-form textarea{min-height:80px}.social-vibe-form button{align-self:end}.quick-checkin-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px}.quick-checkin-grid button{border:1px solid rgba(255,255,255,.12);background:rgba(255,255,255,.04);color:inherit;border-radius:999px;padding:9px 12px}.social-plan-actions{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.social-chat-dialog{position:fixed;inset:0;margin:auto;width:min(720px,calc(100vw - 24px));height:min(760px,calc(100vh - 24px));border:1px solid rgba(202,255,66,.2);border-radius:28px;background:#0a0d11;color:#fff;padding:0;z-index:300}.social-chat-dialog::backdrop{background:rgba(0,0,0,.72);backdrop-filter:blur(8px)}.social-chat-shell{height:100%;display:grid;grid-template-rows:auto 1fr auto}.social-chat-shell header{display:flex;justify-content:space-between;gap:16px;padding:20px;border-bottom:1px solid rgba(255,255,255,.08)}.social-chat-shell header button{border:0;background:transparent;color:#fff;font-size:2rem}.social-chat-feed{overflow:auto;padding:18px;display:flex;flex-direction:column;gap:10px}.social-chat-feed article{max-width:78%;padding:12px 14px;border-radius:18px;background:rgba(255,255,255,.07)}.social-chat-feed article.is-own{align-self:flex-end;background:rgba(202,255,66,.14)}.social-chat-feed article p{margin:5px 0}.social-chat-feed article small{opacity:.65}.social-chat-feed article button{margin-left:8px;background:none;border:0;color:#ff8b8b}.social-chat-shell form{display:grid;grid-template-columns:1fr auto;gap:10px;padding:16px;border-top:1px solid rgba(255,255,255,.08)}.social-chat-shell textarea{min-height:52px;max-height:130px;resize:vertical}.social-live-empty{text-align:center}@media(max-width:760px){.social-vibe-form{grid-template-columns:1fr}.social-chat-dialog{height:100vh;width:100vw;border-radius:0}.social-chat-feed article{max-width:92%}.social-chat-shell form{grid-template-columns:1fr}}


/* === NIGHTLIFE 1.8 NETWORK R2 START === */
.nr-network-section{margin:2rem 0}
.nr-network-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}
.nr-network-search,.nr-crew-create,.nr-crew-invite{display:flex;gap:.65rem;align-items:stretch}
.nr-crew-create{flex-direction:column}
.nr-network-search input,.nr-crew-create input,.nr-crew-create textarea,.nr-crew-invite select{width:100%;min-width:0;border:1px solid var(--line);border-radius:14px;padding:.8rem .9rem;color:var(--text);background:rgba(255,255,255,.035);outline:none}
.nr-network-search input:focus,.nr-crew-create input:focus,.nr-crew-create textarea:focus,.nr-crew-invite select:focus{border-color:rgba(210,255,40,.46);box-shadow:0 0 0 3px rgba(210,255,40,.08)}
.nr-network-list,.nr-network-sub,.nr-crew-list,.nr-notification-list{display:grid;gap:.65rem;margin-top:.85rem}
.nr-network-person,.nr-crew-invite-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.7rem;padding:.72rem;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.025)}
.nr-network-avatar{display:grid;place-items:center;width:39px;height:39px;border-radius:50%;background:rgba(210,255,40,.12);border:1px solid rgba(210,255,40,.24);font-size:.75rem;font-weight:900}
.nr-network-person-copy small,.nr-crew-invite-row small,.nr-crew-card small{display:block;margin-top:.15rem;color:var(--muted)}
.nr-inline-actions{display:flex;gap:.4rem;flex-wrap:wrap}
.nr-crew-card{padding:.9rem;border:1px solid var(--line);border-radius:17px;background:linear-gradient(135deg,rgba(210,255,40,.055),rgba(255,255,255,.018))}
.nr-crew-card header{display:flex;justify-content:space-between;gap:.8rem;align-items:start}
.nr-crew-card header>span{color:var(--accent);font-size:.72rem;font-weight:900;letter-spacing:.04em}
.nr-crew-card p{color:var(--muted)}
.nr-crew-faces{display:flex;flex-wrap:wrap;gap:.35rem;margin:.7rem 0}
.nr-crew-faces span{display:grid;place-items:center;width:31px;height:31px;border-radius:50%;background:rgba(210,255,40,.12);border:1px solid rgba(210,255,40,.24);font-size:.7rem;font-weight:900}
.nr-danger-link{border:0;background:transparent;color:#ff9292;padding:.5rem 0;cursor:pointer}
.nr-notification{width:100%;display:block;text-align:left;border:1px solid var(--line);border-radius:15px;background:rgba(255,255,255,.02);color:var(--text);padding:.75rem;cursor:pointer}
.nr-notification.is-unread{border-color:rgba(210,255,40,.38);background:rgba(210,255,40,.06)}
.nr-notification small,.nr-notification time{display:block;color:var(--muted);margin-top:.2rem}
.nr-network-toast{position:fixed;right:18px;bottom:18px;z-index:99999;max-width:min(420px,calc(100vw - 36px));padding:.85rem 1rem;border-radius:14px;background:#d2ff28;color:#10110c;font-weight:800;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.nr-network-toast.is-error{background:#ff8585}
@media(max-width:900px){.nr-network-grid{grid-template-columns:1fr}}
@media(max-width:560px){.nr-network-search,.nr-crew-invite{flex-direction:column}.nr-network-person,.nr-crew-invite-row{grid-template-columns:auto minmax(0,1fr)}.nr-network-person>:last-child,.nr-crew-invite-row>:last-child{grid-column:1/-1}}
/* === NIGHTLIFE 1.8 NETWORK R2 END === */


/* === NIGHTLIFE 1.9 SOCIAL FEED START === */
.nr-social-feed-shell{margin:0 0 2rem}
.nr-feed-main{display:grid;gap:1rem}
.nr-feed-locked{margin-bottom:1rem}
.nr-composer-card{display:grid;gap:1rem}
.nr-composer-head,.nr-post-user,.nr-comment-author{display:flex;align-items:center;gap:.7rem}
.nr-feed-avatar,.nr-profile-avatar,.nr-mini-avatar{display:grid;place-items:center;border-radius:50%;background:rgba(210,255,40,.13);border:1px solid rgba(210,255,40,.28);font-weight:900;flex:0 0 auto}
.nr-feed-avatar{width:44px;height:44px}
.nr-mini-avatar{width:28px;height:28px;font-size:.65rem}
.nr-profile-avatar{width:78px;height:78px;font-size:1.35rem}
.nr-composer-head small,.nr-post-user small{display:block;color:var(--muted);margin-top:.12rem}
.nr-composer-form{display:grid;gap:.8rem}
.nr-composer-form textarea,.nr-composer-form input,.nr-composer-form select,.nr-profile-edit input,.nr-profile-edit textarea,.nr-profile-edit select,.nr-comment-form input,.nr-feed-toolbar select{width:100%;border:1px solid var(--line);background:rgba(255,255,255,.035);color:var(--text);border-radius:14px;padding:.78rem .88rem;outline:none}
.nr-composer-form textarea{min-height:96px;resize:vertical}
.nr-composer-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.nr-composer-grid label,.nr-profile-edit label{display:grid;gap:.35rem}
.nr-composer-grid label>span,.nr-profile-edit label>span{font-size:.78rem;color:var(--muted);font-weight:700}
.nr-composer-actions{display:flex;justify-content:space-between;align-items:center;gap:1rem}
.nr-composer-actions>span{font-size:.78rem;color:var(--muted)}
.nr-feed-toolbar{display:flex;justify-content:space-between;gap:1rem;align-items:center}
.nr-feed-tabs{display:flex;gap:.45rem;flex-wrap:wrap}
.nr-feed-tabs button,.nr-post-actions button{border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--muted);border-radius:999px;padding:.55rem .8rem;cursor:pointer}
.nr-feed-tabs button.is-active,.nr-post-actions button.is-active{color:var(--accent);border-color:rgba(210,255,40,.32);background:rgba(210,255,40,.07)}
.nr-feed-toolbar select{max-width:240px}
.nr-feed-list{display:grid;gap:.9rem}
.nr-feed-post{border:1px solid var(--line);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(255,255,255,.012));padding:1rem}
.nr-post-head{display:flex;justify-content:space-between;gap:1rem;align-items:start}
.nr-post-user{border:0;background:transparent;color:var(--text);padding:0;text-align:left;cursor:pointer}
.nr-post-meta{text-align:right;color:var(--muted);font-size:.72rem}
.nr-post-meta span,.nr-post-meta time{display:block}
.nr-post-body{font-size:1rem;line-height:1.55;margin:1rem 0}
.nr-post-entity{width:100%;display:grid;gap:.25rem;text-align:left;border:1px solid rgba(210,255,40,.16);border-radius:16px;padding:.9rem;background:linear-gradient(135deg,rgba(210,255,40,.06),rgba(120,80,255,.055));color:var(--text);cursor:pointer}
.nr-post-entity>span{font-size:.7rem;font-weight:900;letter-spacing:.08em;color:var(--accent)}
.nr-post-entity small{color:var(--muted)}
.nr-post-actions{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap;margin-top:.9rem;padding-top:.8rem;border-top:1px solid var(--line)}
.nr-post-actions .nr-danger-link{margin-left:auto;color:#ff9191}
.nr-comments{margin-top:1rem;border-top:1px solid var(--line);padding-top:.9rem}
.nr-comments-list{display:grid;gap:.65rem}
.nr-comment{padding:.7rem;border-radius:14px;background:rgba(255,255,255,.025)}
.nr-comment-author{border:0;background:transparent;color:var(--text);padding:0;cursor:pointer}
.nr-comment p{margin:.5rem 0 .25rem}
.nr-comment-meta{display:flex;justify-content:space-between;gap:.8rem;color:var(--muted);font-size:.7rem}
.nr-comment-meta button{border:0;background:transparent;color:#ff9191;cursor:pointer}
.nr-comment-form{display:flex;gap:.55rem;margin-top:.75rem}
.nr-feed-loading,.nr-feed-empty{padding:2rem;border:1px dashed var(--line);border-radius:18px;text-align:center;color:var(--muted)}
.nr-feed-empty strong,.nr-feed-empty span{display:block}
.nr-profile-backdrop{position:fixed;inset:0;background:rgba(5,4,10,.78);backdrop-filter:blur(10px);z-index:100000;display:grid;place-items:center;padding:1rem}
.nr-profile-modal{position:relative;width:min(720px,100%);max-height:90vh;overflow:auto;border:1px solid var(--line);border-radius:24px;background:#100d19;padding:1.2rem;box-shadow:0 30px 90px rgba(0,0,0,.5)}
.nr-profile-close{position:absolute;top:.8rem;right:.8rem;width:38px;height:38px;border-radius:50%;border:1px solid var(--line);background:rgba(255,255,255,.04);color:var(--text);font-size:1.3rem;cursor:pointer}
.nr-profile-hero{display:flex;gap:1rem;align-items:center;padding-right:3rem}
.nr-profile-hero h2{margin:.15rem 0}
.nr-profile-hero p{margin:0;color:var(--muted)}
.nr-profile-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;margin:1rem 0}
.nr-profile-stats span{padding:.75rem;border:1px solid var(--line);border-radius:14px;text-align:center;color:var(--muted)}
.nr-profile-stats strong{display:block;color:var(--text);font-size:1.15rem}
.nr-profile-bio{line-height:1.55}
.nr-profile-tags{display:flex;gap:.4rem;flex-wrap:wrap;margin:.8rem 0 1rem}
.nr-profile-tags span{border:1px solid var(--line);border-radius:999px;padding:.4rem .65rem;font-size:.75rem}
.nr-profile-edit{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;margin-top:1rem}
.nr-profile-edit label:nth-child(2){grid-column:1/-1}
.nr-profile-edit textarea{min-height:90px;resize:vertical}
.nr-profile-edit .nr-check{display:flex;align-items:center;gap:.5rem}
.nr-profile-edit .nr-check input{width:auto}
.nr-profile-actions{display:flex;gap:.6rem;flex-wrap:wrap}
.nr-feed-toast{position:fixed;right:18px;bottom:18px;z-index:100001;max-width:min(440px,calc(100vw - 36px));padding:.85rem 1rem;border-radius:14px;background:#d2ff28;color:#10110c;font-weight:800;box-shadow:0 18px 50px rgba(0,0,0,.35)}
.nr-feed-toast.is-error{background:#ff8585}
@media(max-width:760px){.nr-composer-grid,.nr-profile-edit{grid-template-columns:1fr}.nr-profile-edit label:nth-child(2){grid-column:auto}.nr-feed-toolbar{align-items:stretch;flex-direction:column}.nr-feed-toolbar select{max-width:none}.nr-profile-stats{grid-template-columns:1fr}}
@media(max-width:520px){.nr-composer-actions,.nr-post-head{flex-direction:column;align-items:stretch}.nr-post-meta{text-align:left}.nr-comment-form{flex-direction:column}}
/* === NIGHTLIFE 1.9 SOCIAL FEED END === */

/* === NIGHTLIFE 1.11 SOCIAL COMPANIONS BETA === */
.companions-discover-card {
  position: relative;
  overflow: hidden;
  display: grid;
  grid-template-columns: minmax(190px, .48fr) minmax(0, 1.35fr);
  align-items: center;
  gap: clamp(1.3rem, 4vw, 3rem);
  margin: 1.4rem 0 1.7rem;
  padding: clamp(1.4rem, 4vw, 3rem);
  border: 1px solid rgba(202, 255, 66, .2);
  border-radius: 2rem;
  background:
    radial-gradient(circle at 12% 28%, rgba(202, 255, 66, .16), transparent 24%),
    radial-gradient(circle at 84% 78%, rgba(121, 70, 235, .25), transparent 34%),
    linear-gradient(145deg, rgba(18, 13, 28, .98), rgba(8, 8, 14, .98));
  box-shadow: 0 1.4rem 4rem rgba(0, 0, 0, .26);
}
.companions-discover-card h2 { margin: .25rem 0 .65rem; font-size: clamp(2rem, 5vw, 4.5rem); line-height: .98; letter-spacing: -.055em; }
.companions-discover-card p:not(.eyebrow) { max-width: 66ch; color: var(--muted); line-height: 1.6; }
.companions-actions { display: flex; flex-wrap: wrap; gap: .7rem; margin-top: 1.1rem; }
.companions-orbit { position: relative; width: min(100%, 230px); aspect-ratio: 1; margin: auto; border: 1px solid rgba(202,255,66,.24); border-radius: 50%; box-shadow: inset 0 0 50px rgba(116,63,220,.2), 0 0 50px rgba(202,255,66,.08); }
.companions-orbit::before,.companions-orbit::after { content:""; position:absolute; inset:17%; border:1px solid rgba(255,255,255,.12); border-radius:50%; }
.companions-orbit::after { inset:35%; background: radial-gradient(circle at 35% 30%, #fff, #caff42 13%, #7854e8 43%, #130e20 70%); box-shadow:0 0 35px rgba(202,255,66,.36); }
.companions-orbit span,.companions-orbit i,.companions-orbit b { position:absolute; width:.7rem; height:.7rem; border-radius:50%; background:#caff42; box-shadow:0 0 18px #caff42; }
.companions-orbit span { top:14%; left:53%; }.companions-orbit i { top:59%; left:9%; }.companions-orbit b { right:10%; bottom:20%; }

.social-companions-hero {
  display: grid;
  grid-template-columns: minmax(0,1.45fr) minmax(240px,.55fr);
  gap: 1rem;
  align-items: center;
  margin: 1.2rem 0;
  padding: clamp(1.25rem,3vw,2rem);
  border: 1px solid rgba(133,83,235,.28);
  border-radius: 1.6rem;
  background: linear-gradient(135deg,rgba(111,64,205,.15),rgba(202,255,66,.045));
}
.social-companions-hero h2 { margin:.3rem 0 .55rem; font-size:clamp(1.8rem,4vw,3.2rem); letter-spacing:-.045em; }
.social-companions-hero p { margin:0; color:var(--muted); line-height:1.55; }
.social-companions-stats { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.65rem; }
.social-companions-stats span { display:grid; min-height:7rem; align-content:center; padding:1rem; border:1px solid rgba(255,255,255,.1); border-radius:1.2rem; background:rgba(5,4,10,.34); text-align:center; }
.social-companions-stats strong { color:var(--accent); font-size:clamp(1.8rem,4vw,3rem); }
.social-companions-stats small { color:var(--muted); }
.social-consent-card { display:grid; justify-items:start; gap:.8rem; margin:1.2rem 0; background:radial-gradient(circle at 92% 10%,rgba(202,255,66,.09),transparent 28%),rgba(255,255,255,.025); }
.social-consent-card h2 { margin:0; font-size:clamp(1.6rem,4vw,2.7rem); }
.social-consent-card p { max-width:68ch; margin:0; color:var(--muted); line-height:1.6; }
.social-age-check { display:flex; align-items:flex-start; gap:.7rem; padding:.85rem; border:1px solid rgba(202,255,66,.16); border-radius:1rem; background:rgba(202,255,66,.045); }
.social-age-check input { flex:0 0 auto; width:1.1rem; height:1.1rem; margin-top:.15rem; accent-color:var(--accent); }
.social-safety-guide { display:grid; grid-template-columns:minmax(220px,.6fr) minmax(0,1.4fr); gap:1.2rem; margin:1.2rem 0 1.7rem; padding:1.2rem; border:1px solid rgba(255,255,255,.09); border-radius:1.35rem; background:rgba(255,255,255,.022); }
.social-safety-guide>div { display:flex; align-items:flex-start; gap:.8rem; }.social-safety-guide svg { width:1.7rem; color:var(--accent); }
.social-safety-guide h2 { margin:.25rem 0 0; }.social-safety-guide ul { display:grid; gap:.45rem; margin:0; padding-left:1.2rem; color:var(--muted); }
.social-safety-note>button { margin-left:auto; flex:0 0 auto; }
.social-profile-settings { margin:1.2rem 0; }
.social-profile-settings summary { display:flex; align-items:center; justify-content:space-between; gap:1rem; cursor:pointer; list-style:none; }
.social-profile-settings summary::-webkit-details-marker { display:none; }
.social-profile-settings summary span:first-child { display:grid; gap:.2rem; }.social-profile-settings summary small { color:var(--muted); }
.social-profile-settings[open] summary { padding-bottom:1rem; margin-bottom:1rem; border-bottom:1px solid var(--line); }
.social-profile-settings form { display:grid; gap:1rem; }
.social-availability-fieldset { display:flex; flex-wrap:wrap; gap:.55rem; border:0; padding:0; margin:0; }
.social-availability-fieldset legend { width:100%; margin-bottom:.45rem; color:var(--muted); font-size:.78rem; font-weight:800; }
.social-availability-fieldset label { cursor:pointer; }.social-availability-fieldset input { position:absolute; opacity:0; pointer-events:none; }
.social-availability-fieldset span { display:block; padding:.55rem .8rem; border:1px solid var(--line); border-radius:999px; background:rgba(255,255,255,.025); }
.social-availability-fieldset input:checked+span { border-color:rgba(202,255,66,.48); background:rgba(202,255,66,.1); color:var(--accent); }
.social-card-safety-actions { display:flex; justify-content:flex-end; gap:.7rem; padding:.55rem 1.1rem .9rem; border-top:1px solid rgba(255,255,255,.05); }
.social-card-safety-actions button { border:0; background:transparent; color:var(--muted); font-size:.72rem; cursor:pointer; }.social-card-safety-actions button:hover { color:#ff9c9c; }

.nr-network-search { display:grid; grid-template-columns:minmax(160px,1.25fr) repeat(2,minmax(130px,.8fr)) auto auto; align-items:center; }
.nr-network-search select { width:100%; min-width:0; border:1px solid var(--line); border-radius:14px; padding:.8rem .9rem; color:var(--text); background:#15111d; outline:none; }
.nr-available-filter { display:flex; align-items:center; gap:.45rem; min-width:max-content; color:var(--muted); font-size:.78rem; }
.nr-available-filter input { width:auto; accent-color:var(--accent); }
.nr-compatible-person { align-items:start; padding:.9rem; background:linear-gradient(135deg,rgba(202,255,66,.045),rgba(120,78,230,.045)); }
.nr-match-score { display:inline-grid; margin-left:.35rem; padding:.22rem .42rem; border-radius:999px; background:rgba(202,255,66,.12); color:var(--accent); font-size:.72rem; vertical-align:middle; }
.nr-match-reason { margin:.4rem 0 0; color:#cfc6dd; font-size:.74rem; line-height:1.45; }
.nr-person-actions { display:flex; align-items:center; gap:.5rem; flex-wrap:wrap; justify-content:flex-end; }

@media(max-width:1000px){
  .nr-network-search{grid-template-columns:repeat(2,minmax(0,1fr))}.nr-network-search .button{width:100%}
}
@media(max-width:760px){
  .companions-discover-card,.social-companions-hero,.social-safety-guide{grid-template-columns:1fr}
  .companions-orbit{width:150px}.social-safety-note{align-items:stretch;flex-wrap:wrap}.social-safety-note>button{width:100%;margin-left:0}
}
@media(max-width:560px){
  .companions-discover-card{padding:1.1rem;border-radius:1.4rem}.companions-actions .button{width:100%}
  .social-companions-stats,.nr-network-search{grid-template-columns:1fr}.nr-available-filter{min-width:0}
  .nr-compatible-person{grid-template-columns:auto minmax(0,1fr)}.nr-person-actions{grid-column:1/-1;justify-content:stretch}.nr-person-actions .button{flex:1}
}
@media(prefers-reduced-motion:reduce){.companions-orbit span,.companions-orbit i,.companions-orbit b{box-shadow:none}}
/* === NIGHTLIFE 1.11 SOCIAL COMPANIONS BETA END === */

/* === NIGHTLIFE 1.11 PRIVACY, CONTACT AND OPERATIONS === */
.policy-grid,.contact-layout{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;margin:1.2rem 0}
.policy-card,.contact-copy,.contact-form-card{padding:clamp(1.15rem,3vw,2rem)}
.policy-card h2,.contact-copy h2,.account-privacy-card h2{margin:.15rem 0 .7rem;font-size:clamp(1.45rem,3vw,2.25rem)}
.policy-card p,.contact-copy p,.account-privacy-card p{color:var(--muted);line-height:1.62}
.policy-card ul{display:grid;gap:.6rem;padding-left:1.2rem;color:var(--muted);line-height:1.5}
.legal-placeholder{border-color:rgba(255,195,80,.28);background:linear-gradient(135deg,rgba(255,195,80,.045),rgba(255,255,255,.02))}
.safety-policy{border-color:rgba(202,255,66,.2);background:radial-gradient(circle at 90% 8%,rgba(202,255,66,.08),transparent 30%),rgba(255,255,255,.02)}
.contact-layout{grid-template-columns:minmax(260px,.75fr) minmax(0,1.25fr)}
.contact-points{display:grid;gap:.7rem;margin-top:1.25rem}
.contact-points div{display:grid;gap:.22rem;padding:.85rem;border:1px solid var(--line);border-radius:1rem;background:rgba(255,255,255,.022)}
.contact-points small{color:var(--muted);line-height:1.45}
.contact-form-card form{display:grid;gap:1rem}
.account-privacy-card{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(220px,.65fr);align-items:center;gap:1.2rem;margin:1.2rem 0}
.account-privacy-actions{display:grid;gap:.65rem;justify-items:stretch}
.account-request-status{padding:.7rem .85rem;border:1px solid rgba(202,255,66,.18);border-radius:.8rem;background:rgba(202,255,66,.045)}
.button.danger{border-color:rgba(255,105,120,.3);color:#ff9aa5}.button.danger:hover{background:rgba(255,105,120,.1)}
.footer-copy{display:grid;gap:.35rem;text-align:center}.footer-copy p{margin:0}.footer-copy nav{display:flex;flex-wrap:wrap;justify-content:center;gap:.4rem .8rem}.footer-copy button{border:0;background:transparent;color:var(--muted);font:inherit;font-size:.72rem;cursor:pointer}.footer-copy button:hover,.footer-copy button:focus-visible{color:var(--accent);text-decoration:underline}
.admin-requests-layout{align-items:start}.request-row>span{min-width:0}.request-row small{max-width:66ch;overflow-wrap:anywhere}.status-pill{display:inline-flex;padding:.28rem .5rem;border:1px solid var(--line);border-radius:999px;color:var(--muted);font-size:.68rem;text-transform:uppercase;letter-spacing:.06em}
@media(max-width:800px){.policy-grid,.contact-layout,.account-privacy-card{grid-template-columns:1fr}.account-privacy-actions{justify-items:stretch}}
@media(max-width:480px){.policy-card,.contact-copy,.contact-form-card{padding:1rem}.footer-copy nav{gap:.35rem}.footer-copy button{padding:.25rem}}
/* === NIGHTLIFE 1.11 PRIVACY, CONTACT AND OPERATIONS END === */

/* === NIGHTLIFE 1.12 GUIDED UX === */
.social-journey-nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:.65rem;margin:1.1rem 0 1.35rem;padding:.55rem;border:1px solid rgba(255,255,255,.08);border-radius:1.35rem;background:rgba(10,8,16,.78);box-shadow:0 1rem 3rem rgba(0,0,0,.16)}
.social-journey-nav button{display:flex;align-items:center;gap:.65rem;min-width:0;padding:.8rem;border:1px solid transparent;border-radius:1rem;background:transparent;color:var(--muted);text-align:left;cursor:pointer;transition:border-color .18s ease,background .18s ease,color .18s ease,transform .18s ease}
.social-journey-nav button:hover,.social-journey-nav button:focus-visible{border-color:rgba(202,255,66,.23);color:var(--text);outline:none}.social-journey-nav button:hover{transform:translateY(-1px)}
.social-journey-nav button.is-active{border-color:rgba(202,255,66,.32);background:linear-gradient(135deg,rgba(202,255,66,.13),rgba(116,70,220,.12));color:var(--text)}
.social-journey-nav svg{width:1.2rem}.social-journey-icon{display:grid;place-items:center;flex:0 0 auto;width:2.2rem;height:2.2rem;border-radius:.75rem;background:rgba(255,255,255,.055);color:var(--accent)}
.social-journey-nav button>span:last-child{display:grid;min-width:0;gap:.12rem}.social-journey-nav strong{font-size:.83rem;white-space:nowrap}.social-journey-nav strong i{display:inline-grid;place-items:center;min-width:1.15rem;height:1.15rem;border-radius:999px;background:var(--accent);color:#0c0d09;font-size:.66rem;font-style:normal}.social-journey-nav small{overflow:hidden;color:var(--muted);font-size:.68rem;text-overflow:ellipsis;white-space:nowrap}
.social-guided-workspace{scroll-margin-top:6rem}.social-panel-intro{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin:1rem 0;padding:clamp(1rem,3vw,1.6rem);border:1px solid rgba(125,76,230,.22);border-radius:1.4rem;background:radial-gradient(circle at 90% 5%,rgba(202,255,66,.08),transparent 30%),rgba(255,255,255,.018)}
.social-panel-intro h2{max-width:760px;margin:.25rem 0 .45rem;font-size:clamp(1.55rem,3vw,2.45rem);line-height:1.06;letter-spacing:-.035em}.social-panel-intro p{max-width:68ch;margin:0;color:var(--muted);line-height:1.55}
.social-inline-metrics{display:flex;gap:.55rem;flex:0 0 auto}.social-inline-metrics span{padding:.65rem .8rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.03);color:var(--muted);font-size:.76rem;white-space:nowrap}.social-inline-metrics strong{color:var(--accent)}
.social-module-slot:empty{display:none}.social-task-panel{width:min(980px,100%);margin:1rem auto;padding:clamp(1rem,3vw,2rem)}.social-task-head{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;align-items:start;margin-bottom:1.35rem}.social-task-head h2{margin:.15rem 0 .45rem;font-size:clamp(1.65rem,4vw,2.7rem);letter-spacing:-.04em}.social-task-head p{margin:0;color:var(--muted)}
.social-step{display:grid;place-items:center;min-width:4.3rem;min-height:2.2rem;padding:.4rem .65rem;border:1px solid rgba(202,255,66,.28);border-radius:999px;background:rgba(202,255,66,.08);color:var(--accent);font-size:.7rem;font-weight:900;text-transform:uppercase}
.social-task-panel form{display:grid;gap:1rem}.social-essential-grid{padding:1rem;border:1px solid rgba(255,255,255,.07);border-radius:1.15rem;background:rgba(255,255,255,.018)}
.social-optional-fields,.profile-form-section,.profile-account-drawer,.social-live-drawer,.social-safety-drawer,.nr-filter-drawer,.nr-create-drawer,.nr-composer-drawer{border:1px solid rgba(255,255,255,.09);border-radius:1.1rem;background:rgba(255,255,255,.018)}
.social-optional-fields>summary,.profile-form-section>summary,.profile-account-drawer>summary,.social-live-drawer>summary,.social-safety-drawer>summary,.nr-filter-drawer>summary,.nr-create-drawer>summary,.nr-composer-drawer>summary{display:flex;align-items:center;justify-content:space-between;gap:.8rem;padding:1rem;cursor:pointer;list-style:none}.social-optional-fields>summary::-webkit-details-marker,.profile-form-section>summary::-webkit-details-marker,.profile-account-drawer>summary::-webkit-details-marker,.social-live-drawer>summary::-webkit-details-marker,.social-safety-drawer>summary::-webkit-details-marker,.nr-filter-drawer>summary::-webkit-details-marker,.nr-create-drawer>summary::-webkit-details-marker,.nr-composer-drawer>summary::-webkit-details-marker{display:none}
.social-optional-fields>summary>span:first-child,.profile-form-section>summary>span:first-child,.profile-account-drawer>summary>span:nth-child(2),.social-live-drawer>summary>span:first-child,.social-safety-drawer>summary>span:nth-child(2),.nr-filter-drawer>summary>span:first-child,.nr-create-drawer>summary>span:first-child,.nr-composer-drawer>summary>span:nth-child(2){display:grid;gap:.15rem}.social-optional-fields summary small,.profile-form-section summary small,.profile-account-drawer summary small,.social-live-drawer summary small,.social-safety-drawer summary small,.nr-filter-drawer summary small,.nr-create-drawer summary small,.nr-composer-drawer summary small{color:var(--muted);font-weight:500}
.social-optional-fields[open]>summary,.profile-form-section[open]>summary,.profile-account-drawer[open]>summary,.social-live-drawer[open]>summary,.social-safety-drawer[open]>summary,.nr-filter-drawer[open]>summary,.nr-create-drawer[open]>summary,.nr-composer-drawer[open]>summary{border-bottom:1px solid var(--line)}
.social-optional-fields>*:not(summary),.profile-form-section>*:not(summary),.nr-filter-drawer>*:not(summary),.nr-create-drawer>*:not(summary){margin-left:1rem;margin-right:1rem}.social-optional-fields>*:last-child,.profile-form-section>*:last-child,.nr-filter-drawer>*:last-child,.nr-create-drawer>*:last-child{margin-bottom:1rem}
.social-form-step{display:grid;grid-template-columns:auto minmax(0,1fr);gap:1rem;padding:1rem;border:1px solid rgba(255,255,255,.07);border-radius:1.15rem;background:rgba(255,255,255,.018)}.social-form-step>span{display:grid;place-items:center;width:2rem;height:2rem;border-radius:50%;background:var(--accent);color:#0c0d09;font-weight:950}.social-form-step>div{display:grid;gap:.8rem}.social-form-step h3{margin:.35rem 0 0}
.social-sticky-actions{display:flex;justify-content:flex-end;gap:.65rem;padding-top:.25rem}.social-sticky-actions .button-primary{min-width:190px}.social-safety-drawer{margin:1.2rem 0}.social-safety-drawer>summary svg{width:1.35rem;color:var(--accent)}.social-safety-drawer .social-safety-guide{margin:0;border:0;border-radius:0;background:transparent}.social-live-drawer{margin:1.2rem 0}.social-live-drawer .social-live-section{margin:0;padding:1rem}
.nr-network-section{margin:1.15rem 0}.nr-network-heading h2{margin:.25rem 0 .4rem;font-size:clamp(1.45rem,3vw,2.2rem)}.nr-network-heading p{margin:0;color:var(--muted)}
.nr-network-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.55rem;margin:1rem 0}.nr-network-tabs button{display:flex;align-items:center;justify-content:space-between;gap:.5rem;padding:.75rem .85rem;border:1px solid var(--line);border-radius:.9rem;background:rgba(255,255,255,.025);color:var(--muted);cursor:pointer}.nr-network-tabs button.is-active{border-color:rgba(202,255,66,.34);background:rgba(202,255,66,.09);color:var(--text)}.nr-network-tabs button strong{display:grid;place-items:center;min-width:1.45rem;height:1.45rem;border-radius:999px;background:rgba(255,255,255,.07);color:var(--accent);font-size:.7rem}.nr-network-panel-card{padding:clamp(1rem,3vw,1.6rem)}
.nr-network-search-guided{display:grid;grid-template-columns:1fr;gap:.7rem}.nr-search-primary{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem}.nr-search-primary input{width:100%;min-width:0}.nr-filter-drawer{width:100%}.nr-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;gap:.65rem;align-items:center}.nr-filter-grid select{width:100%;min-width:0;border:1px solid var(--line);border-radius:.85rem;padding:.75rem .85rem;background:#15111d;color:var(--text)}.nr-create-drawer{margin:.9rem 0}.nr-create-drawer .nr-crew-create{padding-top:1rem}
.nr-composer-drawer{padding:0!important}.nr-composer-drawer>summary{display:grid;grid-template-columns:auto minmax(0,1fr) auto}.nr-composer-drawer>.nr-composer-head,.nr-composer-drawer>.nr-composer-form{margin-left:1rem;margin-right:1rem}.nr-composer-drawer>.nr-composer-head{padding-top:1rem}.nr-composer-drawer>.nr-composer-form{padding-bottom:1rem}
.profile-form-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:1rem;margin-bottom:1rem}.profile-form-heading h2{margin:.2rem 0 .4rem;font-size:clamp(1.6rem,3vw,2.5rem)}.profile-form-heading p{margin:0;color:var(--muted)}.profile-progress{display:grid;grid-template-columns:auto minmax(80px,140px);align-items:center;gap:.25rem .6rem;flex:0 0 auto}.profile-progress>strong{grid-row:1/3;color:var(--accent);font-size:1.45rem}.profile-progress>span{height:.35rem;overflow:hidden;border-radius:999px;background:rgba(255,255,255,.08)}.profile-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#8c5cff)}.profile-progress small{color:var(--muted);font-size:.68rem}.profile-form-card form{display:grid;gap:.7rem}.profile-form-section{overflow:hidden}.profile-form-section .form-grid{padding-top:1rem}.profile-save-button{justify-self:end;min-width:180px;margin-top:.35rem}.profile-account-drawer{margin-top:1rem;text-align:left}.profile-account-drawer>summary svg{width:1.2rem;color:var(--accent)}.profile-account-actions{display:grid;gap:.65rem;padding:1rem}.profile-account-actions .permission-card{margin:0}.profile-global-logout{margin:.25rem auto}
.account-email-card{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:.8rem;padding:.9rem;border:1px solid rgba(210,255,40,.2);border-radius:1rem;background:linear-gradient(135deg,rgba(210,255,40,.055),rgba(124,75,222,.07))}.account-email-icon{display:grid;place-items:center;width:2.7rem;height:2.7rem;border-radius:.85rem;background:rgba(210,255,40,.12);color:var(--accent)}.account-email-icon svg{width:1.2rem}.account-email-card>div{display:grid;gap:.16rem;min-width:0}.account-email-card code{overflow:hidden;color:var(--text);font-family:inherit;font-weight:800;text-overflow:ellipsis;white-space:nowrap}.account-email-card small{color:var(--muted)}.account-email-card form{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr)) auto;align-items:end;gap:.65rem;margin-top:.35rem}.account-email-card form .field{margin:0}.account-email-card form .button{margin-bottom:.05rem}
.account-mfa-card{border-color:rgba(147,111,255,.28);background:linear-gradient(135deg,rgba(147,111,255,.1),rgba(210,255,40,.045))}.account-mfa-card .mfa-enrollment{grid-column:1/-1;display:grid;grid-template-columns:auto minmax(0,1fr);gap:.65rem .85rem;align-items:center;padding:.8rem;border-radius:.85rem;background:rgba(0,0,0,.22)}.account-mfa-card .mfa-enrollment img{grid-row:1/3;width:112px;height:112px;padding:.35rem;border-radius:.7rem;background:#fff}.account-mfa-card .mfa-enrollment p{margin:0;color:var(--muted)}.account-mfa-card .mfa-secret{white-space:normal;overflow-wrap:anywhere;font-size:.72rem;letter-spacing:.04em}
@media(max-width:1050px){.social-journey-nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.social-journey-nav{grid-template-columns:repeat(2,minmax(0,1fr));padding:.4rem}.social-journey-nav button:last-child{grid-column:1/-1}.social-panel-intro,.profile-form-heading{align-items:stretch;flex-direction:column}.social-inline-metrics{width:100%;flex-wrap:wrap}.social-task-head,.social-form-step{grid-template-columns:1fr}.social-step{justify-self:start}.nr-network-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.nr-filter-grid{grid-template-columns:1fr}.profile-progress{width:100%;grid-template-columns:auto 1fr}.profile-save-button{width:100%}}
@media(max-width:720px){.account-email-card{grid-template-columns:auto minmax(0,1fr)}.account-email-card>.button{grid-column:1/-1;width:100%}.account-email-card form{grid-template-columns:1fr}.account-email-card form .button{width:100%}.account-mfa-card .mfa-enrollment{grid-template-columns:1fr}.account-mfa-card .mfa-enrollment img{grid-row:auto;width:104px;height:104px}.account-mfa-card .mfa-secret{white-space:normal}}
@media(max-width:480px){.social-journey-nav button{padding:.65rem}.social-journey-icon{width:1.85rem;height:1.85rem}.social-journey-nav small{display:none}.social-inline-metrics span{flex:1;text-align:center}.nr-search-primary{grid-template-columns:1fr}.nr-search-primary .button,.social-sticky-actions .button{width:100%}.social-sticky-actions{flex-direction:column}.nr-network-tabs button{padding:.65rem}.profile-form-card{padding:1rem}.profile-account-drawer>summary{padding:.8rem}}
@media(prefers-reduced-motion:reduce){.social-journey-nav button{transition:none}.social-journey-nav button:hover{transform:none}}
/* === NIGHTLIFE 1.12 GUIDED UX END === */

/* === 1.13 NEUTRAL NIGHTLIFE EXPERIENCE === */
.night-discovery-stage{position:relative;display:grid;min-height:430px;place-items:center;padding:clamp(1.25rem,4vw,3rem);isolation:isolate}
.night-discovery-stage::before{position:absolute;inset:8% 3% 5%;z-index:-2;border-radius:42% 58% 61% 39%;content:"";background:radial-gradient(circle at 50% 38%,rgba(202,255,66,.2),transparent 24%),radial-gradient(circle at 74% 58%,rgba(133,76,255,.34),transparent 38%),radial-gradient(circle at 30% 70%,rgba(31,173,255,.17),transparent 36%);filter:blur(8px);opacity:.9;transform:rotate(-4deg)}
.night-stage-glow{position:absolute;inset:10% 12% 9%;z-index:-1;display:flex;align-items:flex-end;justify-content:center;gap:clamp(.38rem,1.2vw,.75rem);overflow:hidden;border:1px solid rgba(255,255,255,.075);border-radius:2rem;background:linear-gradient(160deg,rgba(255,255,255,.045),rgba(8,6,13,.42));box-shadow:inset 0 1px 0 rgba(255,255,255,.06),0 2rem 5rem rgba(0,0,0,.28);transform:perspective(700px) rotateY(-5deg)}
.night-stage-glow::after{position:absolute;right:10%;bottom:8%;left:10%;height:1px;content:"";background:linear-gradient(90deg,transparent,#d8ff58 20%,#8760ff 72%,transparent);box-shadow:0 0 24px rgba(202,255,66,.45)}
.night-stage-glow i{width:9%;height:36%;border-radius:999px 999px .45rem .45rem;background:linear-gradient(180deg,#d8ff58,rgba(202,255,66,.05));box-shadow:0 0 28px rgba(202,255,66,.18);animation:night-equalizer 2.8s ease-in-out infinite;transform-origin:bottom}
.night-stage-glow i:nth-child(2){height:58%;animation-delay:-1.8s;background:linear-gradient(180deg,#8b63ff,rgba(139,99,255,.05))}.night-stage-glow i:nth-child(3){height:78%;animation-delay:-.8s}.night-stage-glow i:nth-child(4){height:49%;animation-delay:-2.2s;background:linear-gradient(180deg,#35c7ff,rgba(53,199,255,.04))}.night-stage-glow i:nth-child(5){height:67%;animation-delay:-1.25s}
.night-stage-panel{width:min(390px,100%);padding:clamp(1.15rem,3vw,1.6rem);border:1px solid rgba(255,255,255,.13);border-radius:1.65rem;background:rgba(13,9,19,.82);box-shadow:0 1.4rem 4rem rgba(0,0,0,.38);backdrop-filter:blur(18px)}
.night-stage-heading{display:grid;grid-template-columns:1fr auto;gap:.12rem .75rem;align-items:end;margin-bottom:1rem}.night-stage-heading span{color:var(--accent);font-size:.67rem;font-weight:950;letter-spacing:.15em}.night-stage-heading strong{grid-row:1/3;grid-column:2;font-size:clamp(2.4rem,5vw,4.2rem);line-height:.84;letter-spacing:-.08em}.night-stage-heading small{color:var(--muted)}
.night-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.night-choice-grid button{display:grid;min-width:0;min-height:76px;place-items:center;gap:.3rem;padding:.7rem .35rem;border:1px solid rgba(255,255,255,.09);border-radius:1rem;background:rgba(255,255,255,.035);color:var(--text);font:inherit;font-size:.73rem;font-weight:850;cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.night-choice-grid button svg{width:1.25rem;color:var(--accent)}.night-choice-grid button:hover,.night-choice-grid button:focus-visible{border-color:rgba(202,255,66,.38);outline:0;background:linear-gradient(135deg,rgba(202,255,66,.12),rgba(133,76,255,.11));transform:translateY(-2px)}
.night-choice-grid button small{color:var(--muted);font-size:.62rem;line-height:1.25}.night-picks{display:grid;gap:.5rem;margin:1rem 0 0}.night-picks>span{color:var(--muted);font-size:.67rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.night-picks button{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:.6rem;align-items:center;width:100%;padding:.6rem .7rem;border:0;border-radius:.85rem;background:rgba(255,255,255,.035);color:var(--text);font:inherit;text-align:left;cursor:pointer}.night-picks button:hover,.night-picks button:focus-visible{outline:1px solid rgba(202,255,66,.28);background:rgba(202,255,66,.06)}.night-picks strong{overflow:hidden;font-size:.78rem;text-overflow:ellipsis;white-space:nowrap}.night-picks small{color:var(--muted);font-size:.65rem;white-space:nowrap}.night-picks svg{width:.9rem;color:var(--accent)}
.night-loader{display:flex;min-height:70px;align-items:flex-end;justify-content:center;gap:.55rem}.night-loader>*{display:block;width:.7rem;height:32px;border-radius:999px;background:linear-gradient(180deg,var(--accent),rgba(202,255,66,.16));box-shadow:0 0 24px rgba(202,255,66,.22);animation:night-loader-pulse 1.1s ease-in-out infinite}.night-loader i{height:52px;animation-delay:-.7s;background:linear-gradient(180deg,#8b63ff,rgba(139,99,255,.16))}.night-loader b{height:40px;animation-delay:-.35s;background:linear-gradient(180deg,#35c7ff,rgba(53,199,255,.14))}
.map-provider-actions{display:flex;flex-wrap:wrap;gap:.55rem}.map-provider-actions .button{flex:1 1 150px}
@keyframes night-equalizer{0%,100%{transform:scaleY(.68);opacity:.62}50%{transform:scaleY(1);opacity:1}}
@keyframes night-loader-pulse{0%,100%{transform:scaleY(.6);opacity:.58}50%{transform:scaleY(1);opacity:1}}
@media(max-width:900px){.night-discovery-stage{min-height:360px}.night-stage-glow{inset:5% 8%}}
@media(max-width:560px){.night-discovery-stage{min-height:330px;padding:1rem}.night-stage-panel{border-radius:1.35rem}.night-choice-grid button{min-height:68px}.night-picks button:nth-of-type(n+3){display:none}}
@media(prefers-reduced-motion:reduce){.night-stage-glow i,.night-loader>*{animation:none}.night-choice-grid button{transition:none}.night-choice-grid button:hover{transform:none}}
/* === 1.13 NEUTRAL NIGHTLIFE EXPERIENCE END === */

/* === FIESTOVA 2.0 RELEASE CANDIDATE === */
.header-search-trigger{display:inline-flex;align-items:center;gap:.55rem;min-width:180px;min-height:42px;padding:0 .75rem;border:1px solid var(--line);border-radius:13px;background:rgba(255,255,255,.035);color:var(--muted-strong);font:inherit;font-size:.78rem;cursor:pointer}.header-search-trigger:hover,.header-search-trigger:focus-visible{border-color:rgba(202,255,66,.35);color:var(--text);outline:0;background:rgba(202,255,66,.07)}.header-search-trigger svg{width:1rem;color:var(--accent)}.header-search-trigger kbd{margin-left:auto;padding:.18rem .35rem;border:1px solid rgba(255,255,255,.12);border-radius:.35rem;color:var(--muted);background:rgba(0,0,0,.24);font:inherit;font-size:.63rem}
.night-search{position:relative}.search-clear{display:grid;width:34px;height:34px;place-items:center;padding:0;border:0;border-radius:999px;background:rgba(255,255,255,.07);color:var(--muted-strong);font:inherit;font-size:1.2rem;cursor:pointer}.search-clear:hover,.search-clear:focus-visible{outline:2px solid rgba(202,255,66,.35);color:var(--text)}
.recent-searches{display:flex;flex-wrap:wrap;gap:.45rem;align-items:center;max-width:650px;margin:.65rem 0 0}.recent-searches>span{color:var(--muted);font-size:.7rem;font-weight:850;text-transform:uppercase;letter-spacing:.08em}.recent-searches button{display:inline-flex;align-items:center;gap:.3rem;padding:.42rem .65rem;border:1px solid var(--line);border-radius:999px;background:rgba(255,255,255,.025);color:var(--muted-strong);font:inherit;font-size:.72rem;cursor:pointer}.recent-searches button:hover,.recent-searches button:focus-visible{border-color:rgba(202,255,66,.3);color:var(--text);outline:0}.recent-searches svg{width:.75rem}
.global-search-results{display:grid;max-width:650px;max-height:min(520px,62vh);overflow:auto;overscroll-behavior:contain;margin:.75rem 0;padding:.8rem;border:1px solid rgba(202,255,66,.2);border-radius:1.15rem;background:rgba(9,7,14,.96);box-shadow:0 1.4rem 4rem rgba(0,0,0,.45);scrollbar-width:thin}.global-search-head{display:flex;justify-content:space-between;gap:.75rem;padding:.2rem .35rem .7rem;border-bottom:1px solid var(--line)}.global-search-head small{color:var(--muted);text-align:right}.global-search-group{display:grid;gap:.35rem;padding:.7rem 0;border-bottom:1px solid rgba(255,255,255,.055)}.global-search-group:last-of-type{border-bottom:0}.global-search-group h2{margin:0 .35rem;color:var(--muted);font-size:.66rem;text-transform:uppercase;letter-spacing:.11em}.global-search-group>div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.35rem}.global-search-group button{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.55rem;align-items:center;min-width:0;padding:.65rem;border:1px solid transparent;border-radius:.8rem;background:rgba(255,255,255,.025);color:var(--text);font:inherit;text-align:left;cursor:pointer}.global-search-group button:hover,.global-search-group button:focus-visible{border-color:rgba(202,255,66,.25);outline:0;background:rgba(202,255,66,.055)}.global-search-group button>span:nth-child(2){display:grid;min-width:0;gap:.12rem}.global-search-group strong,.global-search-group small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.global-search-group strong{font-size:.78rem}.global-search-group small{color:var(--muted);font-size:.66rem}.global-search-group svg{width:.95rem;color:var(--accent)}.global-person-avatar{display:grid;width:1.85rem;height:1.85rem;place-items:center;border-radius:.6rem;background:linear-gradient(135deg,rgba(202,255,66,.2),rgba(126,79,230,.3));font-size:.65rem;font-weight:900}.global-search-status,.global-search-empty{display:flex;align-items:center;gap:.55rem;padding:.75rem;color:var(--muted);font-size:.75rem}.global-search-status.is-error{color:#ffc0c0}.global-search-empty{display:block;text-align:center}.global-search-empty p{margin:.25rem 0 0}
.night-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.night-choice-grid button{min-height:92px;padding:.75rem}.night-choice-grid button strong{line-height:1.18;text-align:center}
.social-journey-nav{grid-template-columns:repeat(4,minmax(0,1fr))}
.quick-onboarding{display:grid;gap:1rem;margin:0 0 1.2rem;padding:clamp(1rem,3vw,1.6rem);border-color:rgba(202,255,66,.22);background:radial-gradient(circle at 85% 10%,rgba(126,79,230,.16),transparent 34%),linear-gradient(145deg,rgba(202,255,66,.045),rgba(255,255,255,.02))}.quick-onboarding-head{display:flex;align-items:flex-start;justify-content:space-between;gap:1rem}.quick-onboarding-head h2{margin:.2rem 0 .35rem;font-size:clamp(1.5rem,3vw,2.4rem)}.quick-onboarding-head p{max-width:70ch;margin:0;color:var(--muted)}.quick-onboarding-progress{display:flex;align-items:center;gap:.75rem}.quick-onboarding-progress>span{height:.38rem;overflow:hidden;flex:1;border-radius:999px;background:rgba(255,255,255,.08)}.quick-onboarding-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--accent),#8c5cff);transition:width .2s ease}.quick-onboarding-progress small{color:var(--muted);white-space:nowrap}.quick-onboarding form{display:grid;gap:1rem}.quick-onboarding-step{display:grid;gap:1rem;margin:0;padding:0;border:0}.quick-onboarding-step[hidden]{display:none}.quick-onboarding-step legend{margin-bottom:.8rem;font-size:clamp(1.2rem,2vw,1.7rem);font-weight:900}.choice-radio-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:.6rem}.choice-radio-grid label{cursor:pointer}.choice-radio-grid input{position:absolute;opacity:0;pointer-events:none}.choice-radio-grid span{display:grid;min-height:58px;place-items:center;padding:.6rem;border:1px solid var(--line);border-radius:.9rem;background:rgba(255,255,255,.03);font-weight:800;text-align:center}.choice-radio-grid input:checked+span{border-color:rgba(202,255,66,.5);background:rgba(202,255,66,.13);color:var(--accent)}.choice-radio-grid input:focus-visible+span{outline:2px solid var(--accent);outline-offset:2px}.quick-onboarding-actions{display:flex;align-items:center;justify-content:space-between;gap:.75rem}
.pro-hero{display:flex;align-items:center;justify-content:space-between;gap:1.2rem;padding:clamp(1.2rem,4vw,2.4rem);background:radial-gradient(circle at 85% 20%,rgba(202,255,66,.14),transparent 24%),linear-gradient(140deg,rgba(126,79,230,.15),rgba(255,255,255,.025))}.pro-hero h2{max-width:800px;margin:.25rem 0 .6rem;font-size:clamp(1.7rem,4vw,3.2rem)}.pro-hero p{max-width:70ch;color:var(--muted);line-height:1.6}.pro-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;margin:1rem 0}.pro-grid article{display:grid;gap:.7rem;padding:1.35rem}.pro-grid svg{width:1.5rem;color:var(--accent)}.pro-grid h2,.pro-grid p{margin:0}.pro-grid p{color:var(--muted);line-height:1.55}.pro-grid strong{justify-self:start;padding:.35rem .6rem;border-radius:999px;background:rgba(202,255,66,.09);color:var(--accent);font-size:.7rem;text-transform:uppercase;letter-spacing:.08em}
@media(max-width:1120px){.header-search-trigger{min-width:44px;width:44px;padding:0;justify-content:center}.header-search-trigger span,.header-search-trigger kbd{display:none}}
@media(max-width:760px){.global-search-group>div{grid-template-columns:1fr}.global-search-results{max-height:55vh}.quick-onboarding-head,.pro-hero{align-items:stretch;flex-direction:column}.choice-radio-grid,.pro-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pro-hero .button{width:100%}}
@media(max-width:620px){.header-search-trigger{display:none}.night-search{grid-template-columns:auto minmax(0,1fr) auto}.night-search .search-clear{display:grid}.global-search-head{display:grid}.global-search-head small{text-align:left}.choice-radio-grid,.pro-grid{grid-template-columns:1fr}.quick-onboarding-actions .button{flex:1}.social-journey-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.social-journey-nav button:last-child{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.quick-onboarding-progress i{transition:none}}
/* === FIESTOVA 2.0 RELEASE CANDIDATE END === */

/* === FIESTOVA 2.1 NATIVE SHELL === */
html[data-native="true"] {
  --native-safe-top: env(safe-area-inset-top, 0px);
  --native-safe-right: env(safe-area-inset-right, 0px);
  --native-safe-bottom: env(safe-area-inset-bottom, 0px);
  --native-safe-left: env(safe-area-inset-left, 0px);
  min-height: 100%;
  background: #0a0710;
  overscroll-behavior-y: none;
}
html[data-native="true"] body {
  min-height: 100dvh;
  padding-right: var(--native-safe-right);
  padding-left: var(--native-safe-left);
  background: #0a0710;
}
html[data-native="true"] .site-header {
  min-height: calc(76px + var(--native-safe-top));
  padding-top: var(--native-safe-top);
}
html[data-native="true"] .auth-dialog,
html[data-native="true"] .social-chat-dialog {
  max-height: calc(100dvh - var(--native-safe-top) - var(--native-safe-bottom));
}
html[data-native="true"] input,
html[data-native="true"] select,
html[data-native="true"] textarea {
  font-size: max(16px, 1em);
}
@media (max-width: 900px) {
  html[data-native="true"] .mobile-nav {
    bottom: 0;
    padding-bottom: max(12px, var(--native-safe-bottom));
    border-radius: 22px 22px 0 0;
  }
  html[data-native="true"] .workspace-main {
    padding-bottom: calc(104px + var(--native-safe-bottom));
  }
  html[data-native="true"][data-keyboard="visible"] .mobile-nav {
    display: none;
  }
  html[data-native="true"][data-keyboard="visible"] .workspace-main {
    padding-bottom: 24px;
  }
  html[data-native="true"] .social-chat-dialog {
    inset: var(--native-safe-top) 0 var(--native-safe-bottom);
    width: 100vw;
    height: auto;
    border-radius: 0;
  }
}
/* === FIESTOVA 2.1 NATIVE SHELL END === */

/* === FIESTOVA 2.2 SIMPLE SOCIAL EXPERIENCE === */
:root {
  --display-font: "Arial Black", "Segoe UI Variable Display", "Segoe UI", ui-sans-serif, system-ui, sans-serif;
  --soft-white: #f3f0f5;
}

.hero-copy h1,
.companions-discover-card h2,
.map-teaser h2,
.page-intro h1,
.section-heading h2 {
  font-family: var(--display-font);
  text-wrap: balance;
}

.site-header {
  min-height: 76px;
  padding-inline: clamp(16px, 2.5vw, 32px);
}

.locale-picker {
  display: grid;
  min-width: 58px;
  min-height: 40px;
  place-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.045);
}

.locale-picker select {
  width: 56px;
  padding: 0 .45rem;
  border: 0;
  outline: 0;
  color: var(--ink);
  background: transparent;
  font: inherit;
  font-size: .72rem;
  font-weight: 900;
  cursor: pointer;
}

.locale-picker option {
  color: var(--ink);
  background: #17111f;
}

.location-panel {
  min-height: 98px;
  padding: 16px 18px;
  grid-template-columns: minmax(170px,.8fr) minmax(230px,1.2fr) auto;
  gap: 14px;
  border: 0;
  border-radius: 24px;
  color: #151019;
  background:
    radial-gradient(circle at 92% 0%, rgba(126,79,230,.1), transparent 34%),
    var(--soft-white);
  box-shadow: 0 18px 60px rgba(0,0,0,.2);
}

.location-panel.is-compact {
  min-height: 82px;
}

.location-orb {
  border-color: rgba(21,16,25,.12);
  color: #151019;
  background: rgba(126,79,230,.1);
  box-shadow: none;
}

.location-current small,
.city-picker > span {
  color: #706778;
  font-size: 9px;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .13em;
}

.location-current strong {
  color: #151019;
  font-family: var(--display-font);
  font-size: clamp(1.15rem,2vw,1.55rem);
  letter-spacing: -.035em;
}

.location-panel .city-picker {
  min-height: 54px;
  border-color: rgba(21,16,25,.1);
  color: #151019;
  background: rgba(255,255,255,.68);
}

.location-panel .city-picker select,
.location-panel .city-picker option {
  color: #151019;
  background: #f8f6f9;
}

.location-near-button {
  min-height: 52px;
  padding-inline: 1rem;
  border: 0;
  border-radius: 15px;
  color: #fff;
  background: #17111f;
  font-weight: 900;
  cursor: pointer;
}

.location-near-button:hover,
.location-near-button:focus-visible {
  background: #2b2038;
}

.location-message {
  grid-column: 1/-1;
  color: #635a6b;
}

.hero-premium {
  min-height: 560px;
  grid-template-columns: minmax(0,1.05fr) minmax(330px,.75fr);
  border-color: rgba(255,255,255,.08);
  background:
    radial-gradient(circle at 86% 15%, rgba(141,92,255,.34), transparent 30%),
    radial-gradient(circle at 55% 105%, rgba(216,255,88,.09), transparent 31%),
    linear-gradient(135deg,#17101f 0%,#0b0810 72%);
}

.hero-copy {
  padding: clamp(30px,5vw,64px);
}

.hero-copy h1 {
  max-width: 780px;
  font-size: clamp(3rem,6.3vw,5.8rem);
  font-weight: 950;
  line-height: .91;
}

.hero-copy h1 em {
  font-family: Georgia, "Times New Roman", serif;
  font-weight: 400;
  line-height: .96;
}

.hero-lead {
  max-width: 520px;
  margin: 20px 0 24px;
  font-size: clamp(.98rem,1.35vw,1.12rem);
}

.night-search {
  min-height: 58px;
  border-color: rgba(255,255,255,.15);
  border-radius: 18px;
  background: rgba(255,255,255,.075);
}

.night-search input::placeholder {
  color: #afa7b6;
}

.night-discovery-stage {
  min-height: 100%;
  padding: clamp(1rem,3vw,2.2rem);
}

.night-discovery-stage::before {
  inset: 7%;
  border-radius: 34px;
  background:
    radial-gradient(circle at 65% 20%,rgba(216,255,88,.18),transparent 16%),
    radial-gradient(circle at 20% 70%,rgba(88,168,255,.16),transparent 26%),
    linear-gradient(145deg,rgba(139,89,255,.28),rgba(255,255,255,.025));
  filter: none;
  transform: none;
}

.night-stage-panel {
  width: min(420px,100%);
  padding: clamp(1.1rem,2.8vw,1.55rem);
  border-color: rgba(255,255,255,.12);
  background: rgba(11,8,16,.8);
}

.night-stage-heading {
  display: block;
  margin-bottom: .8rem;
}

.night-stage-heading span {
  color: #ddd6e4;
}

.night-choice-grid {
  gap: .6rem;
}

.night-choice-grid button {
  min-height: 106px;
  align-content: center;
  border-color: rgba(255,255,255,.1);
  background: rgba(255,255,255,.045);
}

.night-choice-grid button.is-primary {
  border-color: rgba(216,255,88,.36);
  color: #131017;
  background: linear-gradient(135deg,#e5ff86,#caff42);
}

.night-choice-grid button.is-primary svg,
.night-choice-grid button.is-primary small {
  color: #39302c;
}

.night-choice-grid button strong {
  font-size: .83rem;
}

.night-picks {
  margin-top: .8rem;
}

.night-picks button {
  min-height: 44px;
}

.companions-discover-card {
  min-height: 390px;
  grid-template-columns: minmax(270px,.72fr) minmax(0,1.15fr);
  gap: clamp(1.2rem,4vw,3.6rem);
  padding: clamp(1.4rem,5vw,4rem);
  border-color: rgba(161,122,255,.24);
  background:
    radial-gradient(circle at 12% 20%,rgba(216,255,88,.12),transparent 26%),
    radial-gradient(circle at 88% 85%,rgba(130,76,255,.33),transparent 36%),
    linear-gradient(140deg,#110d17,#09070d);
}

.companions-discover-card h2 {
  max-width: 780px;
  margin: .3rem 0 .8rem;
  font-size: clamp(2.5rem,5.4vw,5rem);
  font-weight: 950;
  line-height: .94;
}

.companions-copy {
  position: relative;
  z-index: 2;
}

.companions-copy > p:not(.eyebrow) {
  max-width: 720px;
  font-size: 1.02rem;
}

.companions-actions .button-primary {
  min-width: 180px;
}

.companions-privacy {
  display: flex;
  gap: .45rem;
  align-items: center;
  margin-top: 1rem;
  color: #bdb4c5;
}

.companions-privacy svg {
  width: 16px;
  color: var(--lime);
}

.companions-visual {
  position: relative;
  width: min(100%,330px);
  aspect-ratio: 1;
  margin: auto;
  isolation: isolate;
}

.companions-visual::before {
  position: absolute;
  inset: 8%;
  z-index: -2;
  border-radius: 36% 64% 62% 38%;
  content: "";
  background: linear-gradient(145deg,rgba(216,255,88,.2),rgba(115,68,230,.36));
  filter: blur(2px);
  transform: rotate(-8deg);
}

.companions-wave {
  position: absolute;
  inset: 19% 3%;
  z-index: -1;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 44% 56% 52% 48%;
  background: repeating-linear-gradient(90deg,transparent 0 13%,rgba(255,255,255,.06) 13% 13.5%);
  transform: rotate(8deg);
}

.companion-person,
.companions-visual > b {
  position: absolute;
  display: grid;
  place-items: center;
  border: 1px solid rgba(255,255,255,.2);
  color: #fff;
  background: rgba(18,12,27,.9);
  box-shadow: 0 22px 50px rgba(0,0,0,.35);
  backdrop-filter: blur(12px);
}

.companion-person {
  width: 42%;
  aspect-ratio: 1;
  border-radius: 30%;
}

.companion-person svg {
  width: 38%;
  height: 38%;
}

.person-one { top: 4%; left: 7%; color: #151019; background: var(--lime); transform: rotate(-9deg); }
.person-two { right: 2%; bottom: 8%; color: #fff; background: linear-gradient(145deg,#8b60ff,#4d2b8f); transform: rotate(8deg); }
.person-three { right: 5%; top: 4%; width: 29%; color: #17101f; background: #f1edf4; transform: rotate(10deg); }
.companions-visual > b { left: 23%; bottom: 7%; width: 25%; aspect-ratio: 1; border-radius: 50%; color: #fff; background: #ff4f9a; }
.companions-visual > b svg { width: 38%; }

.home-club-grid .club-card:nth-child(n+4),
.home-event-grid .event-card:nth-child(n+3) {
  display: none;
}

.map-teaser {
  min-height: 360px;
  border: 1px solid rgba(255,255,255,.65);
  box-shadow: 0 26px 70px rgba(0,0,0,.24);
}

.map-teaser h2 {
  max-width: 630px;
  font-size: clamp(2.45rem,5vw,4.8rem);
  font-weight: 950;
}

.map-provider-bar {
  display: flex;
  gap: .7rem;
  align-items: center;
  padding: .9rem 1rem;
  margin: 0 0 1rem;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.03);
}

.map-provider-bar > div {
  display: grid;
  min-width: 0;
  gap: .2rem;
  margin-right: auto;
}

.map-provider-bar small {
  overflow: hidden;
  color: var(--muted);
  text-overflow: ellipsis;
  white-space: nowrap;
}

.map-stage,
.map-list {
  border-radius: 28px;
}

#nr-map {
  background:
    radial-gradient(circle at 50% 40%,rgba(127,92,255,.18),transparent 35%),
    #10101a;
}

.map-loading-state {
  position: absolute;
  inset: 0;
  display: grid;
  z-index: 0;
  place-content: center;
  justify-items: center;
  gap: .7rem;
  color: var(--muted);
}

#nr-map > .maplibregl-map ~ .map-loading-state,
#nr-map .maplibregl-canvas-container + .map-loading-state,
#nr-map.maplibregl-map > .map-loading-state {
  display: none;
}

.maplibregl-ctrl-group {
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.14)!important;
  border-radius: 14px!important;
  background: rgba(16,11,23,.88)!important;
  backdrop-filter: blur(10px);
}

.maplibregl-ctrl-group button {
  filter: invert(1);
}

.maplibregl-popup-content {
  border: 1px solid rgba(255,255,255,.12);
  border-radius: 18px!important;
  color: var(--ink);
  background: #17111f!important;
  box-shadow: 0 24px 55px rgba(0,0,0,.42)!important;
}

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

@media (max-width: 1180px) {
  .connection-badge { display: none; }
  .header-city { min-width: 190px; }
  .header-city select { width: 126px; }
}

@media (max-width: 900px) {
  .location-panel,
  .location-panel.is-compact {
    grid-template-columns: minmax(0,1fr) auto;
  }
  .location-current { grid-column: 1/-1; }
  .hero-premium { grid-template-columns: 1fr; }
  .night-discovery-stage { min-height: auto; padding-top: 0; }
  .night-discovery-stage::before { inset: 0 7% 6%; }
  .companions-discover-card { grid-template-columns: minmax(210px,.55fr) minmax(0,1.2fr); }
  .map-layout { grid-template-columns: 1fr; min-height: 0; }
  .map-list { height: auto; max-height: 440px; }
  #nr-map { min-height: 520px; }
}

@media (max-width: 680px) {
  .site-header { gap: 8px; min-height: 66px; padding-inline: 12px; }
  .brand-lockup > span:last-child { display: none; }
  .brand-mark { width: 36px; height: 36px; }
  .header-city { min-width: 0; flex: 1 1 auto; }
  .header-city select { width: 100%; max-width: 145px; }
  .locale-picker { min-width: 48px; }
  .locale-picker select { width: 46px; font-size: .68rem; }
  .account-button { width: 40px; min-height: 40px; padding: 4px; }
  .account-button > span:last-child { display: none; }
  .location-panel,
  .location-panel.is-compact {
    min-height: 0;
    padding: 15px;
    grid-template-columns: 1fr;
    border-radius: 21px;
  }
  .location-current,
  .location-message { grid-column: auto; }
  .location-panel .city-picker,
  .location-near-button { width: 100%; }
  .location-panel.is-compact { grid-template-columns: minmax(0,1fr) auto; gap: 8px; padding: 10px; margin-block: 12px; }
  .location-panel.is-compact .location-current { display: none; }
  .location-panel.is-compact .location-message { grid-column: 1/-1; margin: 0; font-size: .72rem; }
  .location-panel.is-compact .city-picker { min-width: 0; min-height: 48px; }
  .location-panel.is-compact .location-near-button { min-height: 48px; padding: 9px; font-size: .72rem; }
  .main-content:has(>.club-grid)>.page-intro { min-height: 0; padding: 18px; margin-bottom: 12px; border: 0; background: none; }
  .main-content:has(>.club-grid)>.page-intro h1 { font-size: clamp(1.5rem,7vw,2rem); }
  .main-content:has(>.club-grid)>.page-intro>span { display: none; }
  .main-content:has(>.club-grid)>.filter-bar { margin-block: 12px; }
  .hero-premium { min-height: 0; border-radius: 26px; }
  .hero-copy { padding: 30px 22px 22px; }
  .hero-copy h1 { font-size: clamp(2.75rem,13vw,4.25rem); }
  .hero-lead { margin: 16px 0 20px; line-height: 1.45; }
  .night-search { grid-template-columns: auto minmax(0,1fr); }
  .night-search .button-primary { grid-column: 1/-1; width: 100%; }
  .night-discovery-stage { padding: 0 14px 18px; }
  .night-discovery-stage::before { inset: -3% 3% 2%; }
  .night-stage-panel { border-radius: 20px; }
  .night-choice-grid button { min-height: 96px; padding: .7rem .45rem; }
  .night-picks { display: none; }
  .companions-discover-card { min-height: 0; grid-template-columns: 1fr; padding: 24px 20px; border-radius: 26px; }
  .companions-visual { width: min(72vw,270px); }
  .companions-discover-card h2 { font-size: clamp(2.55rem,12vw,4rem); }
  .companions-actions { display: grid; grid-template-columns: 1fr; }
  .companions-actions .button { width: 100%; }
  .map-teaser { min-height: 430px; padding: 28px 22px; align-items: start; grid-template-columns: 1fr; }
  .map-teaser-art { top: auto; right: -30%; bottom: -20%; width: 100%; }
  .map-provider-bar { align-items: stretch; flex-direction: column; }
  .map-provider-bar .button { width: 100%; }
  .map-provider-bar small { white-space: normal; }
  #nr-map { min-height: 460px; }
  .mobile-nav { grid-template-columns: repeat(5,minmax(0,1fr)); }
  .mobile-nav button { min-width: 0; padding-inline: 3px; }
  .mobile-nav button span { overflow: hidden; text-overflow: ellipsis; }
}

@media (max-width: 380px) {
  .header-city select { max-width: 112px; }
  .locale-picker { min-width: 44px; }
  .locale-picker select { width: 42px; padding-inline: .25rem; }
  .night-choice-grid { grid-template-columns: 1fr 1fr; }
  .night-choice-grid button small { display: none; }
  .night-choice-grid button { min-height: 76px; }
  .companions-discover-card h2 { font-size: 2.45rem; }
}

@media (prefers-reduced-motion: reduce) {
  .companion-person,
  .companions-visual > b { transform: none; }
}
/* === FIESTOVA 2.2 SIMPLE SOCIAL EXPERIENCE END === */

/* FIESTOVA 2.1 — mobile-first cards, guided first run and visual map list */
.first-run-overlay{position:fixed;z-index:250;inset:0;display:grid;padding:clamp(12px,3vw,36px);place-items:center;background:rgba(5,3,9,.82);backdrop-filter:blur(22px)}
.first-run-card{position:relative;display:grid;width:min(920px,100%);min-height:min(680px,calc(100dvh - 32px));overflow:hidden;padding:clamp(24px,5vw,58px);grid-template-columns:minmax(230px,.75fr) minmax(0,1.25fr);gap:clamp(28px,5vw,70px);align-items:center;border:1px solid rgba(255,255,255,.14);border-radius:42px;background:radial-gradient(circle at 12% 25%,rgba(206,255,63,.15),transparent 27%),radial-gradient(circle at 90% 80%,rgba(126,72,255,.30),transparent 40%),linear-gradient(145deg,#15101f,#0b0811 58%,#171027);box-shadow:0 50px 120px rgba(0,0,0,.58)}
.first-run-card>header{position:absolute;z-index:3;top:22px;right:24px;left:24px;display:grid;grid-template-columns:auto minmax(100px,220px) auto;gap:14px;align-items:center}.first-run-card>header button,.first-run-back{padding:8px;border:0;color:rgba(255,255,255,.74);font-weight:800;background:transparent;cursor:pointer}.first-run-progress{height:4px;overflow:hidden;border-radius:20px;background:rgba(255,255,255,.1)}.first-run-progress i{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--lime),#8d58ff);transition:width .28s ease}
.first-run-scene{position:relative;width:min(30vw,300px);aspect-ratio:1;justify-self:center;border:1px solid rgba(216,255,88,.16);border-radius:38% 62% 56% 44%;background:radial-gradient(circle at 42% 35%,#d8ff58 0 5%,#7443dc 12%,#25183e 35%,#0c0913 70%);box-shadow:0 0 90px rgba(116,67,220,.28);animation:first-run-float 7s ease-in-out infinite}.first-run-scene::before,.first-run-scene::after,.first-run-scene span,.first-run-scene i,.first-run-scene b{position:absolute;content:"";display:block;border-radius:24px;border:1px solid rgba(255,255,255,.18);box-shadow:0 20px 38px rgba(0,0,0,.28)}.first-run-scene::before{width:76px;height:76px;top:4%;right:-9%;transform:rotate(12deg);background:#f5f2fa}.first-run-scene::after{width:92px;height:92px;right:-13%;bottom:4%;transform:rotate(-12deg);background:linear-gradient(145deg,#8d55ff,#4f2bb1)}.first-run-scene span{width:78px;height:78px;left:-12%;bottom:18%;transform:rotate(-8deg);background:var(--lime)}.first-run-scene i{width:44px;height:44px;left:15%;top:-5%;background:#ff4b96}.first-run-scene b{width:32px;height:32px;right:23%;top:12%;border-radius:50%;background:#fff}
.first-run-content{position:relative;z-index:2;min-width:0}.first-run-copy h1{max-width:620px;margin:.25rem 0 .85rem;font-size:clamp(3rem,6vw,5.7rem);line-height:.88;letter-spacing:-.075em}.first-run-copy>p:last-child{max-width:54ch;color:var(--muted);font-size:clamp(1rem,1.8vw,1.2rem);line-height:1.55}.first-run-intents{display:grid;gap:12px;margin-top:28px}.first-run-intents>button{display:grid;min-height:88px;padding:15px;grid-template-columns:auto minmax(0,1fr) auto;gap:14px;align-items:center;border:1px solid var(--line);border-radius:22px;color:var(--ink);text-align:left;background:rgba(255,255,255,.035);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.first-run-intents>button:hover{transform:translateY(-2px);border-color:rgba(216,255,88,.45);background:rgba(255,255,255,.07)}.first-run-intents>button>svg{width:20px}.first-run-intents strong{display:block;font-size:1.05rem}.first-run-intents small{display:block;margin-top:4px;color:var(--muted)}.first-run-icon{display:grid;width:54px;height:54px;place-items:center;border-radius:18px;color:#100d14}.first-run-icon svg{width:24px}.first-run-icon.is-lime{background:var(--lime)}.first-run-icon.is-purple{color:#fff;background:#7042dc}
.first-run-city{display:flex;min-height:82px;margin:28px 0 14px;padding:14px 18px;gap:14px;align-items:center;border:1px solid rgba(255,255,255,.15);border-radius:22px;background:#f5f2f7;color:#15101c}.first-run-city>span{display:grid;width:46px;height:46px;place-items:center;border-radius:15px;background:#e5ddef}.first-run-city svg{width:22px}.first-run-city select{width:100%;border:0;color:#15101c;font-size:1.15rem;font-weight:900;background:transparent}.first-run-vibes{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:28px}.first-run-vibes button{display:grid;min-height:120px;padding:16px;place-items:center;gap:10px;border:1px solid var(--line);border-radius:22px;color:var(--ink);text-align:center;background:rgba(255,255,255,.04);cursor:pointer}.first-run-vibes button:hover{border-color:rgba(216,255,88,.5);background:rgba(216,255,88,.09)}.first-run-vibes svg{width:28px;color:var(--lime)}.first-run-back{position:absolute;z-index:4;left:34px;bottom:24px;display:inline-flex;gap:8px;align-items:center}.first-run-back svg{width:18px;transform:rotate(180deg)}

.club-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.club-card{border-radius:22px;box-shadow:0 16px 36px rgba(0,0,0,.16)}.club-art,.club-art.has-cover,.club-art.media-failed{height:auto;aspect-ratio:16/10}.club-art-fallback{padding:18px}.club-monogram{font-size:clamp(2.1rem,4vw,3.3rem)}.club-art-identity strong{font-size:1rem}.club-card-body{padding:16px}.club-title-row h3{font-size:1.28rem}.club-card .club-description{display:-webkit-box;min-height:0;margin:.55rem 0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:var(--muted);font-size:.83rem;line-height:1.45}.club-card .club-match{display:none}.club-card .tag-row{margin:.65rem 0}.club-card .tag-row span{padding:5px 8px;font-size:.65rem}.club-card .club-facts{display:flex;min-height:24px;flex-wrap:wrap;gap:7px}.club-card .club-facts>span{font-size:.68rem}.club-card .open-status{max-width:100%}.club-card .card-actions{gap:7px;margin-top:12px}.club-card .card-actions .button{min-height:38px;padding:8px 10px;font-size:.72rem}
.map-layout{min-height:0;grid-template-columns:1fr}#nr-map{min-height:clamp(470px,58vh,680px)}.map-list{display:grid;height:auto;max-height:none;padding:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;overflow:visible;border:0;background:transparent}.map-list-head{position:static;min-height:44px;padding:0 4px;grid-column:1/-1;border:0;background:transparent;backdrop-filter:none}.map-list-item{min-height:82px;padding:13px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(111,61,188,.06))}.map-list-item:hover{border-color:rgba(216,255,88,.38);background:rgba(216,255,88,.055)}.club-detail-hero{min-height:clamp(290px,50vh,480px)}.club-detail-main>.detail-panel{border-radius:22px}
@keyframes first-run-float{0%,100%{transform:translateY(0) rotate(-1deg)}50%{transform:translateY(-10px) rotate(1deg)}}
@media(max-width:1100px){.club-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.map-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.first-run-overlay{padding:0}.first-run-card{width:100%;min-height:100dvh;padding:86px 22px 76px;grid-template-columns:1fr;gap:18px;align-content:center;border:0;border-radius:0}.first-run-card>header{top:max(16px,env(safe-area-inset-top));right:18px;left:18px}.first-run-card>header .brand-mark{width:36px;height:36px}.first-run-scene{width:min(47vw,180px)}.first-run-scene::before{width:50px;height:50px}.first-run-scene::after{width:62px;height:62px}.first-run-scene span{width:54px;height:54px}.first-run-scene i{width:30px;height:30px}.first-run-scene b{width:22px;height:22px}.first-run-copy{text-align:center}.first-run-copy h1{margin-inline:auto;font-size:clamp(2.65rem,13vw,4.4rem)}.first-run-copy>p:last-child{margin-inline:auto;font-size:.92rem}.first-run-intents{margin-top:20px}.first-run-intents>button{min-height:76px}.first-run-vibes{grid-template-columns:1fr;gap:8px;margin-top:18px}.first-run-vibes button{min-height:62px;grid-template-columns:auto 1fr;justify-items:start}.first-run-back{left:20px;bottom:max(18px,env(safe-area-inset-bottom))}.club-grid{grid-template-columns:1fr;gap:12px}.club-art,.club-art.has-cover,.club-art.media-failed{aspect-ratio:16/8.7}.club-card-body{padding:15px}.club-card .club-description{-webkit-line-clamp:1}.map-list{display:flex;padding:10px 0 2px;gap:10px;overflow-x:auto;scroll-snap-type:x proximity}.map-list-head{display:none}.map-list-item{min-width:min(76vw,260px);scroll-snap-align:start}#nr-map{min-height:58vh;border-radius:22px}.club-detail-hero{min-height:260px;border-radius:24px}}

/* Portada editorial propia para locales sin fotografía oficial aprobada. */
.club-art .club-fallback-photo{z-index:0;filter:saturate(.88) brightness(.76)}
.club-art-fallback{z-index:1;background:linear-gradient(90deg,rgba(8,6,12,.78),rgba(8,6,12,.12) 78%)}
.club-art.has-cover .club-art-fallback{display:none}
.club-detail-hero .club-fallback-photo{filter:saturate(.9) brightness(.72)}
.club-detail-fallback{display:none}
@media(max-width:700px){.detail-panel .section-kicker{display:grid;grid-template-columns:1fr;gap:7px}.detail-panel .section-kicker p{max-width:none;text-align:left}.club-detail-title{padding:22px}.club-detail-title>p{margin-top:12px}.detail-badges{gap:6px}.detail-badges>span{max-width:100%;white-space:normal}}
@media(prefers-reduced-motion:reduce){.first-run-scene{animation:none}.first-run-progress i{transition:none}}

/* === FIESTOVA 2.2 — mobile product polish === */
.app-skeleton{display:grid;gap:18px;width:100%;padding:18px;align-content:start;background:transparent}.skeleton-hero,.skeleton-actions span,.skeleton-card-row article{position:relative;overflow:hidden;background:linear-gradient(110deg,rgba(255,255,255,.035) 25%,rgba(255,255,255,.09) 42%,rgba(255,255,255,.035) 60%);background-size:220% 100%;animation:skeleton-shift 1.4s ease-in-out infinite}.skeleton-hero{min-height:280px;border-radius:28px}.skeleton-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}.skeleton-actions span{height:74px;border-radius:20px}.skeleton-card-row{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.skeleton-card-row article{height:260px;border-radius:24px}@keyframes skeleton-shift{to{background-position:-220% 0}}

.first-run-icon.is-pink{color:#fff;background:linear-gradient(145deg,#ff4f9a,#8b42e6)}.first-run-scene em{position:absolute;left:50%;bottom:16%;width:34%;height:24%;border-radius:60% 40% 50% 50%;background:linear-gradient(160deg,rgba(255,255,255,.94),rgba(216,255,88,.68));box-shadow:-72px 18px 0 -8px rgba(255,79,154,.9),72px 12px 0 -8px rgba(127,92,255,.9);transform:translateX(-50%) rotate(-3deg)}.first-run-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin:22px 0}.first-run-choice-grid button,.first-run-city-chips button{min-height:48px;padding:10px 12px;border:1px solid var(--line);border-radius:15px;color:var(--ink);font-weight:800;background:rgba(255,255,255,.035);cursor:pointer;transition:transform .18s ease,border-color .18s ease,background .18s ease}.first-run-choice-grid button:hover,.first-run-choice-grid button:focus-visible,.first-run-city-chips button:hover,.first-run-city-chips button:focus-visible{border-color:rgba(216,255,88,.42)}.first-run-choice-grid button.is-selected,.first-run-city-chips button.is-selected{border-color:rgba(216,255,88,.55);color:#11130c;background:var(--lime);box-shadow:0 8px 28px rgba(216,255,88,.12)}.first-run-note{display:flex;gap:8px;align-items:center;margin:-8px 0 18px;color:var(--muted);font-size:.8rem}.first-run-note svg{width:17px;color:var(--lime)}.first-run-city-chips{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 18px}.first-run-city-chips button{min-height:40px;padding:8px 11px;font-size:.78rem}.first-run-choice-block{display:grid;gap:2px;margin-top:16px}.first-run-choice-block>strong{font-size:.76rem;text-transform:uppercase;letter-spacing:.09em}.first-run-choice-block .first-run-choice-grid{margin:9px 0}.first-run-choice-grid.is-music{grid-template-columns:repeat(4,minmax(0,1fr))}.first-run-choice-grid.is-plan{grid-template-columns:repeat(5,minmax(0,1fr))}.first-run-social-choice{display:grid;gap:10px;margin:24px 0}.first-run-social-choice>button{display:flex;min-height:58px;padding:12px 14px;gap:12px;align-items:center;border:1px solid var(--line);border-radius:18px;color:var(--ink);text-align:left;background:rgba(255,255,255,.035);cursor:pointer}.first-run-social-choice>button.is-selected{border-color:rgba(216,255,88,.45);background:rgba(216,255,88,.11)}.first-run-social-choice svg{color:var(--lime)}.first-run-social-choice span{display:grid;gap:2px}.first-run-social-choice small{color:var(--muted);font-size:.75rem}

.club-detail-primary-actions{display:flex;gap:9px;margin:12px 0}.club-detail-tabs{position:sticky;z-index:5;top:94px;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;margin:0 0 14px;padding:6px;border:1px solid var(--line);border-radius:18px;background:rgba(12,8,18,.86);backdrop-filter:blur(18px)}.club-detail-tabs button{min-height:44px;border:0;border-radius:13px;color:var(--muted-strong);font-weight:850;background:transparent;cursor:pointer}.club-detail-tabs button:hover,.club-detail-tabs button:focus-visible{color:#10120d;background:var(--lime)}.club-detail-drawer{padding:0!important;scroll-margin-top:160px}.club-detail-drawer>summary{display:flex;min-height:64px;padding:14px 16px;align-items:center;justify-content:space-between;gap:12px;list-style:none;cursor:pointer}.club-detail-drawer>summary::-webkit-details-marker{display:none}.club-detail-drawer>summary>span{display:grid;grid-template-columns:auto 1fr;gap:2px 10px;align-items:center}.club-detail-drawer>summary svg{grid-row:1/3;color:var(--lime)}.club-detail-drawer>summary strong{font-size:.95rem}.club-detail-drawer>summary small{color:var(--muted);font-size:.72rem}.club-detail-drawer>summary>b{color:var(--lime);font-size:1.25rem;transition:transform .18s ease}.club-detail-drawer[open]>summary>b{transform:rotate(45deg)}.club-detail-drawer-body{margin:0;padding:0 16px 16px}.drawer-footnote{margin:.75rem 0 0;color:var(--muted);font-size:.72rem}

.event-card{display:grid;min-width:0;overflow:hidden;padding:0;grid-template-columns:minmax(130px,.7fr) minmax(0,1fr);border:1px solid var(--line);border-radius:24px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(111,61,188,.07));box-shadow:0 18px 44px rgba(0,0,0,.16)}.event-card-visual{position:relative;min-height:220px;overflow:hidden;background:radial-gradient(circle at 25% 20%,rgba(216,255,88,.34),transparent 24%),radial-gradient(circle at 75% 68%,rgba(127,92,255,.6),transparent 44%),#14101e}.event-card-visual.tone-1{background-color:#21102b}.event-card-visual.tone-2{background-color:#0d2132}.event-card-visual.tone-3{background-color:#28131f}.event-card-visual.tone-4{background-color:#12251f}.event-card-visual img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.event-card-glow{position:absolute;inset:0;background:linear-gradient(180deg,transparent 30%,rgba(8,6,12,.82))}.event-card .event-date-block{position:absolute;left:14px;bottom:14px;z-index:2;display:grid;width:auto;min-width:62px;height:auto;padding:9px 11px;place-items:start;border:1px solid rgba(255,255,255,.2);border-radius:16px;color:#fff;background:rgba(10,7,16,.76);backdrop-filter:blur(14px)}.event-card .event-date-block span,.event-card .event-date-block small{font-size:.65rem}.event-card .event-date-block strong{font-size:1.65rem;line-height:1}.event-featured{position:absolute;z-index:2;top:12px;left:12px;display:flex;padding:7px 9px;gap:5px;align-items:center;border-radius:999px;color:#10120d;font-size:.65rem;font-weight:900;background:var(--lime)}.event-featured svg{width:13px}.event-card-content{display:grid;padding:18px;align-content:center}.event-card-content h3{font-size:clamp(1.15rem,2.4vw,1.6rem);line-height:1.08}.event-card-content>p:not(.eyebrow){margin:.4rem 0;color:var(--muted)}.event-card .event-card-action{display:flex;margin-top:12px;align-items:center;justify-content:space-between;gap:10px}.event-card .event-card-action strong{font-size:.76rem}.event-card .round-link{display:grid;width:42px;height:42px;place-items:center;border:1px solid rgba(216,255,88,.3);border-radius:50%;color:#11130d;background:var(--lime);cursor:pointer}

.social-plan-card{overflow:hidden;border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.04),rgba(126,73,221,.075))}.social-plan-body>p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.nr-compatible-person{border-radius:20px!important;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(126,73,221,.08))!important}.nr-match-reason{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.nr-match-score{border-radius:999px;color:#10120d!important;background:var(--lime)!important}.nr-network-avatar{overflow:hidden;background:linear-gradient(145deg,var(--lime),#8b54ff)!important;color:#10120d!important}

@media(max-width:700px){
  body{font-size:16px}.main-content{padding-bottom:calc(92px + env(safe-area-inset-bottom))}.button,.mobile-nav button,.first-run-choice-grid button{min-height:44px}
  .site-header{min-height:64px;padding:calc(6px + env(safe-area-inset-top)) 14px 6px}.brand-lockup{gap:8px}.brand-lockup .brand-mark{width:36px;height:36px}.brand-lockup>span:last-child small{display:none}.brand-lockup>span:last-child strong{font-size:.92rem}.header-search-trigger,.header-actions .locale-picker,.header-actions .connection-badge,.header-actions>.button,.account-button>span:last-child{display:none}.header-city{order:2;min-width:0;max-width:48%;height:42px;padding:4px 5px 4px 9px}.header-city select{min-width:0;max-width:130px;font-size:.74rem}.header-location{width:34px;height:34px}.account-button{display:grid;width:42px;height:42px;padding:0;place-items:center}.account-avatar{width:34px;height:34px}
  .mobile-nav{right:10px;bottom:max(8px,env(safe-area-inset-bottom));left:10px;height:68px;padding:6px;border-radius:22px}.mobile-nav button{gap:2px;border-radius:16px}.mobile-nav button svg{width:20px;height:20px}.mobile-nav button small{font-size:10px;line-height:1}.mobile-nav button.active{background:rgba(216,255,88,.1)}
  .first-run-card{height:100dvh;min-height:0;padding:78px 18px calc(74px + env(safe-area-inset-bottom));overflow-y:auto;overflow-x:hidden;align-content:center;overscroll-behavior:contain}.first-run-card[data-step]:not([data-step="1"]){grid-template-columns:1fr}.first-run-card[data-step]:not([data-step="1"]) .first-run-scene{display:none}.first-run-card[data-step="4"]{align-content:start;padding-top:82px}.first-run-card>header{grid-template-columns:auto minmax(60px,1fr) auto}.first-run-copy h1{font-size:clamp(2.35rem,11vw,3.45rem);line-height:.91}.first-run-copy>p:last-child{font-size:.9rem;line-height:1.4}.first-run-scene{width:min(41vw,145px)}.first-run-intents{gap:9px;margin-top:16px}.first-run-intents>button{min-height:68px;padding:10px 12px;border-radius:18px}.first-run-icon{width:46px;height:46px;border-radius:15px}.first-run-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0}.first-run-choice-grid.is-music{grid-template-columns:repeat(2,minmax(0,1fr))}.first-run-choice-grid.is-plan{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));overflow:visible;padding-bottom:0}.first-run-choice-grid.is-plan button{min-width:0}.first-run-choice-grid.is-plan button:last-child{grid-column:1/-1}.first-run-choice-block{margin-top:12px}.first-run-city{min-height:70px;margin:18px 0 12px}.first-run-city-chips{max-height:98px;overflow-y:auto;overflow-x:hidden}.first-run-note{font-size:.72rem}.first-run-back{position:fixed;bottom:max(16px,env(safe-area-inset-bottom))}
  .hero-premium{overflow:hidden}.hero-copy{padding:24px 18px 16px}.hero-copy h1{font-size:clamp(2.6rem,12vw,3.65rem);line-height:.89}.hero-lead{max-width:31ch;font-size:.92rem}.night-search{margin-top:16px}.night-discovery-stage{padding:0 10px 14px}.night-stage-panel{padding:10px}.night-choice-grid{gap:8px}.night-choice-grid button{min-height:82px;padding:10px 7px;border-radius:16px}.night-choice-grid button small{font-size:.64rem}.night-choice-grid button strong{font-size:.82rem}.night-stage-heading{display:none}
  .companions-discover-card{position:relative;overflow:hidden;padding:20px 17px 22px}.companions-visual{width:min(62vw,220px);margin:-10px auto -14px}.companions-discover-card h2{font-size:clamp(2.35rem,11vw,3.25rem);line-height:.91}.companions-discover-card p:not(.eyebrow){display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;font-size:.88rem;line-height:1.45}.companions-privacy{font-size:.68rem}
  .home-content-rail{display:flex!important;width:calc(100vw - 18px);margin-right:-9px;padding:0 9px 8px 0;gap:12px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x mandatory;scrollbar-width:none}.home-content-rail::-webkit-scrollbar{display:none}.home-content-rail>.club-card,.home-content-rail>.event-card{min-width:min(82vw,330px);max-width:min(82vw,330px);scroll-snap-align:start}.section-heading{align-items:end}.section-heading h2{font-size:1.45rem}.section-heading p{font-size:.72rem}
  .club-card{border-radius:21px}.club-art,.club-art.has-cover,.club-art.media-failed{aspect-ratio:16/9}.club-card-body{padding:13px 14px 14px}.club-title-row p{font-size:.68rem}.club-title-row h3{font-size:1.18rem}.club-card .tag-row{margin:.5rem 0}.club-card .tag-row span:nth-child(n+3){display:none}.club-card .club-facts{display:none}.club-card .club-next-event{margin:7px 0 0;padding:8px 10px;font-size:.68rem}.club-card .card-actions{margin-top:9px}.club-card .card-actions .button{min-height:42px}.club-card .card-actions .button-ghost{display:none}.club-photo-credit{padding-inline:13px;font-size:.58rem}
  .event-grid{grid-template-columns:1fr}.event-card{grid-template-columns:42% minmax(0,1fr);min-height:178px;border-radius:21px}.event-card-visual{min-height:178px}.event-card-content{padding:14px}.event-card-content h3{margin:.25rem 0;font-size:1.05rem}.event-card-content .tag-row span:nth-child(n+2){display:none}.event-card .event-date-block{left:9px;bottom:9px;min-width:55px;padding:7px 9px;border-radius:13px}.event-card .event-card-action{margin-top:7px}.event-card .event-card-action strong{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1}.event-featured{top:8px;left:8px;padding:5px 7px}.event-featured svg{display:none}
  .club-detail{margin-inline:-2px}.detail-breadcrumb{display:none}.club-detail-hero{min-height:54dvh;border-radius:0 0 26px 26px}.club-detail-title{padding:20px}.club-detail-title h1{font-size:clamp(2.2rem,11vw,3.2rem)}.detail-badges>span:nth-child(n+3){display:none}.club-detail-primary-actions{position:relative;z-index:2;margin:-29px 12px 12px;padding:8px;border:1px solid var(--line);border-radius:18px;background:rgba(12,8,18,.9);backdrop-filter:blur(18px)}.club-detail-primary-actions .button{flex:1;padding:10px}.club-detail-tabs{top:70px;margin-inline:8px}.club-detail-layout{gap:10px}.club-detail-main,.club-detail-aside{gap:10px}.club-detail-main>.detail-panel,.club-detail-aside>.detail-panel{border-radius:20px}.club-detail-drawer{scroll-margin-top:134px}.club-detail-map{height:52dvh;min-height:360px}.club-info-grid{grid-template-columns:1fr}.reviews-panel{overflow:hidden}
  .map-layout{position:relative;display:block;min-height:70dvh}.map-stage{position:relative}.map-layout #nr-map{min-height:70dvh;border-radius:24px}.map-layout .map-list{position:absolute;z-index:5;right:10px;bottom:10px;left:10px;display:flex;padding:8px;gap:8px;overflow-x:auto;border:1px solid rgba(255,255,255,.15);border-radius:20px;background:rgba(10,7,16,.82);backdrop-filter:blur(20px);scroll-snap-type:x mandatory}.map-layout .map-list-item{min-width:min(76vw,270px);min-height:68px;padding:10px;border-radius:15px;scroll-snap-align:start}.map-layout .map-list-number{width:35px;height:35px}.map-layout .map-list-item small{font-size:.65rem}
  .social-companions-hero{padding:20px 17px}.social-companions-hero h1{font-size:clamp(2.3rem,11vw,3.4rem)}.social-journey-nav{display:flex;overflow-x:auto;scrollbar-width:none}.social-journey-nav button{min-width:138px}.social-panel-intro{padding:15px}.social-panel-intro p{display:-webkit-box;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2}.social-inline-metrics{display:none}.social-task-panel{padding:15px}.social-task-head{margin-bottom:1rem}.social-task-head h2{font-size:1.75rem}.social-form-step{padding:12px}.social-plan-card>header,.social-plan-card>footer{padding:12px}.social-plan-body{padding:12px}.social-plan-card>footer{align-items:stretch;flex-direction:column}.social-plan-card>footer>span{width:100%}.social-plan-card>footer .social-plan-actions{display:grid;grid-template-columns:1fr}.social-plan-card>footer .button{width:100%}.nr-network-panel-card{padding:14px}.nr-search-primary{grid-template-columns:1fr}.nr-search-primary .button{width:100%}.nr-compatible-person{display:grid!important;grid-template-columns:auto minmax(0,1fr)!important;padding:12px!important}.nr-compatible-person>.nr-person-actions{grid-column:1/-1;display:grid;grid-template-columns:1fr auto}.nr-compatible-person>.nr-person-actions .button{width:100%}
  .skeleton-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.skeleton-card-row{display:flex;overflow:hidden}.skeleton-card-row article{min-width:78vw}
}

@media(max-width:360px){.site-header{padding-inline:10px}.header-city{max-width:50%}.header-city select{max-width:106px}.first-run-card{padding-inline:14px}.first-run-copy h1{font-size:2.35rem}.first-run-choice-grid{gap:7px}.first-run-choice-grid button{padding-inline:7px;font-size:.76rem}.night-choice-grid button small{display:none}.club-detail-primary-actions .button{font-size:.72rem}.mobile-nav button small{font-size:9px}}
@media(min-width:701px){.home-content-rail.club-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.home-content-rail.event-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(prefers-reduced-motion:reduce){.skeleton-hero,.skeleton-actions span,.skeleton-card-row article{animation:none}.first-run-choice-grid button,.first-run-city-chips button,.club-detail-drawer>summary>b{transition:none}.home-content-rail{scroll-behavior:auto}}
/* === FIESTOVA 2.2 mobile product polish end === */

/* === FIESTOVA 2.2.1 — visual clarity pass === */
.pretty-select-source {
  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;
  clip-path: inset(50%) !important;
  white-space: nowrap !important;
  border: 0 !important;
}

.pretty-select {
  position: relative;
  display: block;
  width: 100%;
  min-width: 0;
  color: var(--ink);
}

.pretty-select-trigger {
  display: flex;
  width: 100%;
  min-width: 0;
  min-height: 46px;
  padding: 0 14px;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  border: 1px solid rgba(255,255,255,.11);
  border-radius: 14px;
  color: inherit;
  font: inherit;
  font-size: .8rem;
  font-weight: 800;
  text-align: left;
  background: linear-gradient(145deg,rgba(255,255,255,.065),rgba(255,255,255,.025));
  box-shadow: inset 0 1px 0 rgba(255,255,255,.035);
  cursor: pointer;
}

.pretty-select-value {
  min-width: 0;
  overflow: hidden;
  white-space: nowrap;
  text-overflow: ellipsis;
}

.pretty-select-trigger > i {
  width: 8px;
  height: 8px;
  flex: 0 0 auto;
  border-right: 2px solid currentColor;
  border-bottom: 2px solid currentColor;
  opacity: .72;
  transform: rotate(45deg) translateY(-2px);
  transition: transform .18s ease;
}

.pretty-select.is-open .pretty-select-trigger {
  border-color: rgba(216,255,88,.48);
  box-shadow: 0 0 0 3px rgba(216,255,88,.09);
}

.pretty-select.is-open .pretty-select-trigger > i {
  transform: rotate(225deg) translate(-2px,-2px);
}

.pretty-select-menu {
  position: absolute;
  z-index: 240;
  top: calc(100% + 8px);
  right: 0;
  left: 0;
  display: grid;
  max-height: min(360px,55vh);
  padding: 7px;
  overflow: auto;
  overscroll-behavior: contain;
  border: 1px solid rgba(255,255,255,.14);
  border-radius: 18px;
  visibility: hidden;
  opacity: 0;
  background: rgba(18,12,26,.98);
  box-shadow: 0 24px 70px rgba(0,0,0,.52);
  backdrop-filter: blur(24px);
  transform: translateY(-7px) scale(.985);
  transform-origin: top;
  transition: opacity .16s ease,transform .16s ease,visibility .16s;
}

.pretty-select.is-open .pretty-select-menu {
  visibility: visible;
  opacity: 1;
  transform: translateY(0) scale(1);
}

.pretty-select-option {
  display: flex;
  width: 100%;
  min-height: 43px;
  padding: 9px 11px;
  gap: 12px;
  align-items: center;
  justify-content: space-between;
  border: 0;
  border-radius: 12px;
  color: #e9e4ee;
  font: inherit;
  font-size: .78rem;
  font-weight: 720;
  text-align: left;
  background: transparent;
  cursor: pointer;
}

.pretty-select-option b { color: var(--lime); opacity: 0; }
.pretty-select-option:hover,.pretty-select-option:focus-visible { outline: 0; color: #fff; background: rgba(255,255,255,.075); }
.pretty-select-option[aria-selected="true"] { color: #11130d; background: var(--lime); }
.pretty-select-option[aria-selected="true"] b { color: #11130d; opacity: 1; }

.header-city .pretty-select { width: 165px; }
.header-city .pretty-select-trigger { min-height: 33px; padding: 0 9px; border: 0; border-radius: 999px; font-size: .75rem; background: transparent; box-shadow: none; }
.header-city .pretty-select-menu { right: auto; left: -34px; width: min(310px,calc(100vw - 28px)); }
.locale-picker .pretty-select { width: 56px; }
.locale-picker .pretty-select-trigger { min-height: 38px; padding: 0 10px; border: 0; border-radius: 999px; background: transparent; }
.locale-picker .pretty-select-menu { right: 0; left: auto; width: 118px; }
.city-picker .pretty-select,.radius-picker .pretty-select,.sort-control .pretty-select { min-width: 0; }
.location-panel .pretty-select-trigger { border-color: rgba(21,16,25,.1); color: #17111f; background: rgba(255,255,255,.78); }
.location-panel .pretty-select-menu { color: #fff; }

.club-art.is-fallback,.club-detail-hero.is-fallback {
  background:
    radial-gradient(circle at 18% 22%,hsl(var(--club-hue) 86% 61% / .43),transparent 28%),
    radial-gradient(circle at 82% 72%,hsl(var(--club-hue-alt) 78% 58% / .4),transparent 37%),
    linear-gradient(145deg,hsl(var(--club-hue) 38% 18%),#100c17 68%);
}
.club-art.is-fallback::before,.club-detail-hero.is-fallback::before {
  content:"";
  position:absolute;
  inset:-30%;
  background:repeating-linear-gradient(118deg,transparent 0 38px,rgba(255,255,255,.025) 39px 40px);
  transform:rotate(-7deg);
  pointer-events:none;
}
.club-detail-hero.is-fallback .club-detail-fallback { display:grid; }
.club-detail-hero.has-cover .club-detail-fallback { display:none; }

.club-detail-tabs {
  position: relative;
  z-index: 2;
  top: auto;
}
#club-map { position:relative; z-index:0; overflow:hidden; isolation:isolate; }
#club-map .club-detail-map { position:relative; z-index:0; display:block; overflow:hidden; contain:layout paint; }
#club-events { position:relative; z-index:1; }

.review-form {
  padding: clamp(16px,3vw,26px);
  gap: 18px;
  border-color: rgba(137,91,236,.25);
  border-radius: 24px;
  background:
    radial-gradient(circle at 100% 0%,rgba(132,76,232,.16),transparent 35%),
    linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018));
}
.review-compose-intro { display:flex; gap:13px; align-items:center; }
.review-compose-icon { display:grid; width:48px; height:48px; flex:0 0 auto; place-items:center; border-radius:16px; color:#11130d; background:var(--lime); transform:rotate(-4deg); }
.review-compose-icon svg { width:23px; }
.review-compose-intro>div { display:grid; gap:3px; }
.review-compose-intro .eyebrow { margin:0; font-size:.58rem; }
.review-compose-intro strong { font-family:var(--display-font); font-size:clamp(1.35rem,3vw,1.85rem); letter-spacing:-.035em; }
.review-compose-intro small { color:var(--muted); font-size:.72rem; }
.review-rating-row { display:flex; gap:16px; align-items:center; justify-content:space-between; padding:14px 15px; border:1px solid var(--line); border-radius:18px; background:rgba(8,6,12,.38); }
.review-rating-row>span { display:grid; gap:2px; }
.review-rating-row small { color:var(--muted); font-size:.68rem; }
.review-form .star-picker { gap:7px; }
.review-form .star-picker span[aria-hidden] { font-size:clamp(1.65rem,4vw,2.1rem); transition:color .15s ease,transform .15s ease; }
.review-form .star-picker label:hover span[aria-hidden],.review-form .star-picker label:focus-within span[aria-hidden] { color:var(--lime); transform:scale(1.12); }
.review-field>span { display:flex; gap:8px; align-items:center; color:var(--muted-strong); }
.review-field>span svg { width:17px; color:var(--lime); }
.review-form .review-tag-picker { display:flex; flex-wrap:wrap; gap:8px; }
.review-form .review-tag-picker legend { width:100%; margin-bottom:8px; font-size:.76rem; font-weight:850; }
.review-form .choice-chip span { display:flex; gap:7px; align-items:center; min-height:42px; padding:8px 12px; border-radius:14px; }
.review-form .choice-chip span svg { width:16px; }
.review-form .review-comment-field textarea { min-height:128px; border-radius:18px; font-size:.9rem; line-height:1.5; }
.review-form-actions .button-primary { min-height:50px; flex:1; }
.review-form-actions .button-primary svg { width:18px; }

@media(max-width:700px) {
  .header-city .pretty-select { width:min(32vw,130px); }
  .header-city .pretty-select-trigger { min-height:32px; padding-inline:5px; font-size:.7rem; }
  .header-city .pretty-select-menu { position:fixed; top:calc(64px + env(safe-area-inset-top)); right:10px; left:10px; width:auto; max-height:58vh; }
  .review-rating-row { align-items:flex-start; flex-direction:column; }
  .review-form .star-picker { width:100%; justify-content:space-between; }
  .review-form .star-picker span[aria-hidden] { font-size:2rem; }
  .review-form .choice-chip { flex:1 1 calc(50% - 8px); }
  .review-form .choice-chip span { justify-content:center; }
  .club-detail-tabs { top:auto; margin-inline:8px; }
}

@media(prefers-reduced-motion:reduce) {
  .pretty-select-menu,.pretty-select-trigger>i,.review-form .star-picker span[aria-hidden] { transition:none; }
}
/* === FIESTOVA 2.2.1 visual clarity pass end === */

/* Menus live outside clipped cards and remain usable with keyboard and touch. */
.pretty-select-menu.is-open {
  position: fixed;
  z-index: 1500;
  right: auto;
  margin: 0;
  visibility: visible;
  opacity: 1;
  transform: none;
}
.pretty-select-menu[hidden], .pretty-select[hidden] { display: none !important; }
.pretty-select-trigger:focus-visible { outline: 2px solid var(--lime); outline-offset: 3px; }
.pretty-select-trigger[aria-invalid="true"] { border-color: #ff86a4; }
.pretty-select-trigger:disabled { opacity: .45; cursor: not-allowed; }
.pretty-select-option:focus-visible { outline: 2px solid var(--lime); outline-offset: -3px; }
.field textarea, .field input, .review-form textarea { font-family: inherit; }
.review-form .star-picker:has(input[value="2"]:checked) label:nth-of-type(-n+2) span[aria-hidden],
.review-form .star-picker:has(input[value="3"]:checked) label:nth-of-type(-n+3) span[aria-hidden],
.review-form .star-picker:has(input[value="4"]:checked) label:nth-of-type(-n+4) span[aria-hidden],
.review-form .star-picker:has(input[value="5"]:checked) label span[aria-hidden] { color: var(--lime); }

/* === FIESTOVA 2.3 — visual social experience === */
.social-match-hero{position:relative;display:grid;min-height:330px;grid-template-columns:minmax(0,1.15fr) minmax(270px,.85fr);align-items:center;gap:30px;margin:4px 0 16px;padding:clamp(26px,5vw,58px);overflow:hidden;border:1px solid rgba(255,255,255,.1);border-radius:32px;background:radial-gradient(circle at 82% 18%,rgba(139,83,255,.45),transparent 33%),radial-gradient(circle at 58% 95%,rgba(216,255,88,.14),transparent 30%),linear-gradient(145deg,#09070e 15%,#171024 64%,#26144b);box-shadow:0 30px 90px rgba(0,0,0,.32);isolation:isolate}
.social-match-hero::before{position:absolute;inset:0;z-index:-1;content:"";background:linear-gradient(110deg,transparent 35%,rgba(255,255,255,.035) 50%,transparent 66%);transform:translateX(-70%);animation:social-shimmer 7s ease-in-out infinite}
.social-match-copy{position:relative;z-index:2;display:grid;justify-items:start}.social-match-copy .section-eyebrow{margin-top:24px}.social-match-copy h1{max-width:680px;margin:10px 0 24px;color:#fff;font-family:var(--display-font);font-size:clamp(3rem,6vw,5.5rem);line-height:.88;letter-spacing:-.065em;text-wrap:balance}
.social-city-pill{display:inline-flex;min-height:32px;padding:6px 10px;gap:6px;align-items:center;border:1px solid rgba(255,255,255,.12);border-radius:999px;color:#fff;font-size:.7rem;font-weight:850;background:rgba(255,255,255,.065);backdrop-filter:blur(14px)}.social-city-pill>svg{width:14px;color:var(--lime)}.social-city-pill>i{width:6px;height:6px;border-radius:50%;background:#43efbf;box-shadow:0 0 12px #43efbf}
.social-hero-actions{display:flex;gap:10px}.social-hero-actions .button{display:flex;min-height:50px;padding-inline:18px;gap:8px;align-items:center;border-radius:16px}.social-hero-actions svg{width:18px}.social-hero-plan{border:1px solid rgba(255,255,255,.18);color:#fff;background:rgba(255,255,255,.08);backdrop-filter:blur(16px)}
.social-match-art{position:relative;width:min(100%,360px);height:250px;justify-self:end}.social-face{position:absolute;z-index:2;display:grid;place-items:center;border:1px solid rgba(255,255,255,.2);color:#11130d;box-shadow:0 22px 50px rgba(0,0,0,.28);backdrop-filter:blur(18px);animation:social-float 5s ease-in-out infinite}.social-face svg{width:38%}.social-face-a{top:10px;left:16px;width:112px;height:112px;border-radius:36px;background:linear-gradient(145deg,#d8ff58,#a8e52f);transform:rotate(-8deg)}.social-face-b{top:38px;right:12px;width:82px;height:82px;border-radius:28px;color:#fff;background:linear-gradient(145deg,#f6f2fb,#dcd2e9);color:#3a2947;animation-delay:-2s;transform:rotate(8deg)}.social-face-c{right:88px;bottom:8px;width:128px;height:128px;border-radius:40px;color:#fff;background:linear-gradient(145deg,#9468ff,#5d2bc7);animation-delay:-3.4s;transform:rotate(5deg)}
.social-link{position:absolute;z-index:1;height:1px;background:linear-gradient(90deg,rgba(216,255,88,.8),rgba(255,255,255,.08));transform-origin:left}.social-link-a{top:78px;left:110px;width:150px;transform:rotate(8deg)}.social-link-b{top:132px;left:86px;width:170px;transform:rotate(31deg)}
.social-match-live{position:absolute;z-index:4;right:0;bottom:4px;display:grid;min-width:74px;padding:9px 12px;grid-template-columns:auto 1fr;gap:0 6px;border:1px solid rgba(255,255,255,.16);border-radius:16px;color:#fff;background:rgba(9,7,14,.78);box-shadow:0 14px 40px rgba(0,0,0,.25);backdrop-filter:blur(18px)}.social-match-live>i{grid-row:1/3;align-self:center;width:7px;height:7px;border-radius:50%;background:#43efbf;box-shadow:0 0 12px #43efbf}.social-match-live strong{font-size:1.05rem;line-height:1}.social-match-live small{color:#cfc7d8;font-size:.6rem}
.social-gate-card{display:grid;max-width:760px;margin:16px auto;padding:22px;grid-template-columns:auto minmax(0,1fr) auto;gap:10px 16px;align-items:center}.social-gate-card>div:first-child{display:grid;grid-template-columns:auto 1fr;gap:2px 12px;align-items:center}.social-gate-card h2{grid-column:2;margin:0;font-size:clamp(1.4rem,3vw,2.1rem)}.social-gate-card .section-eyebrow{align-self:end}.social-gate-icon{display:grid;width:48px;height:48px;grid-row:1/3;place-items:center;border-radius:16px;color:#12140d;background:var(--lime)}.social-gate-icon svg{width:22px}.social-gate-card>.social-gate-icon{grid-row:auto}.social-gate-card>.section-eyebrow,.social-gate-card>h2{grid-column:2}.social-gate-card .social-age-check{grid-column:2/-1}.social-gate-card>.button{grid-column:2;justify-self:start}
.social-visibility-bar{display:grid;min-height:48px;margin:10px 0;padding:7px 8px 7px 10px;grid-template-columns:auto minmax(0,1fr) auto auto;gap:9px;align-items:center;border:1px solid rgba(216,255,88,.18);border-radius:16px;background:linear-gradient(90deg,rgba(216,255,88,.08),rgba(255,255,255,.025));color:#ece8f2}.social-visibility-icon{display:grid;width:32px;height:32px;place-items:center;border-radius:10px;color:var(--lime);background:rgba(216,255,88,.1)}.social-visibility-icon svg{width:17px}.social-visibility-bar strong{overflow:hidden;font-size:.72rem;text-overflow:ellipsis;white-space:nowrap}.social-visibility-dot{width:7px;height:7px;border-radius:50%;background:#43efbf;box-shadow:0 0 10px #43efbf}.social-visibility-bar button{display:flex;min-height:34px;padding:7px 10px;gap:6px;align-items:center;border:0;border-radius:10px;color:#d9d2e2;background:rgba(255,255,255,.07);font:inherit;font-size:.68rem;font-weight:800;cursor:pointer}.social-visibility-bar button svg{width:14px}
.social-action-dock.social-journey-nav{display:grid;grid-template-columns:repeat(7,minmax(72px,1fr));gap:8px;margin:14px 0 18px;padding:8px;border-color:rgba(255,255,255,.1);border-radius:22px;background:rgba(9,7,14,.8);backdrop-filter:blur(20px)}.social-action-dock.social-journey-nav button{display:grid;min-height:76px;padding:9px 5px;place-items:center;gap:6px;border-radius:16px;text-align:center}.social-action-dock .social-journey-icon{width:34px;height:34px;border-radius:12px}.social-action-dock button>span:last-child{display:block}.social-action-dock strong{font-size:.68rem}.social-action-dock button.is-create{color:#fff;background:linear-gradient(145deg,rgba(139,83,255,.3),rgba(255,255,255,.03))}.social-action-dock button.is-create .social-journey-icon{color:#fff;background:linear-gradient(145deg,#9669ff,#5d2bca);box-shadow:0 8px 24px rgba(112,58,220,.28)}
.social-panel-title{display:flex;margin:18px 0 8px;gap:10px;align-items:center}.social-panel-title>span,.social-section-title>span{display:grid;width:40px;height:40px;place-items:center;border-radius:13px;color:#11130d;background:var(--lime)}.social-panel-title svg,.social-section-title svg{width:19px}.social-panel-title h2{margin:0;font-size:clamp(1.6rem,3vw,2.2rem)}
.social-pulse-map{overflow:hidden;margin:12px 0 20px;border-radius:30px;color:#17111f;background:#f4f1f7;box-shadow:0 26px 80px rgba(0,0,0,.22)}.social-pulse-map>header{display:flex;padding:22px 24px 14px;align-items:center;justify-content:space-between;gap:14px}.social-pulse-map h2{margin:2px 0 0;color:#17111f;font-size:clamp(2rem,4vw,3.5rem);letter-spacing:-.055em}.social-pulse-map .section-eyebrow{color:#6845a2}.social-map-privacy{display:flex;padding:8px 10px;gap:6px;align-items:center;border-radius:999px;color:#5e5368;font-size:.66rem;font-weight:800;background:rgba(48,34,59,.07)}.social-map-privacy svg{width:14px;color:#6f42ce}
.social-map-canvas{position:relative;height:350px;margin:0 16px;overflow:hidden;border:1px solid rgba(46,31,56,.08);border-radius:24px;background:radial-gradient(circle at 76% 20%,rgba(143,91,238,.22),transparent 25%),radial-gradient(circle at 18% 80%,rgba(216,255,88,.35),transparent 24%),linear-gradient(rgba(69,45,86,.055) 1px,transparent 1px),linear-gradient(90deg,rgba(69,45,86,.055) 1px,transparent 1px),#ebe7ef;background-size:auto,auto,34px 34px,34px 34px,auto}.social-map-lines{position:absolute;inset:0;width:100%;height:100%;fill:none;stroke:rgba(100,63,151,.18);stroke-width:8;stroke-linecap:round;filter:drop-shadow(0 1px 0 rgba(255,255,255,.7))}.social-map-lines path:nth-child(2){stroke:rgba(255,255,255,.75);stroke-width:13}.social-map-lines path:nth-child(3){stroke:rgba(133,91,181,.12);stroke-width:5}
.social-map-pin{position:absolute;z-index:3;left:var(--social-x);top:var(--social-y);display:grid;padding:0;place-items:center;border:0;color:#21152c;background:transparent;font:inherit;cursor:pointer;transform:translate(-50%,-50%)}.social-map-pin>span{position:relative;display:grid;width:48px;height:48px;place-items:center;border:4px solid #fff;border-radius:17px;color:#fff;background:linear-gradient(145deg,#8f5deb,#5c29bd);box-shadow:0 12px 24px rgba(57,29,82,.26);transition:transform .18s ease}.social-map-pin>span::before{position:absolute;inset:-8px;z-index:-1;border:1px solid rgba(105,59,185,.25);border-radius:22px;content:"";animation:social-pin-pulse 2.8s ease-out infinite}.social-map-pin svg{width:20px}.social-map-pin b{position:absolute;top:-9px;right:-9px;display:grid;min-width:22px;height:22px;padding:0 4px;place-items:center;border:2px solid #fff;border-radius:999px;color:#15110c;background:var(--lime);font-size:.62rem}.social-map-pin small{max-width:95px;margin-top:5px;padding:3px 6px;overflow:hidden;border-radius:7px;color:#2b2032;font-size:.59rem;font-weight:900;text-overflow:ellipsis;white-space:nowrap;background:rgba(255,255,255,.88)}.social-map-pin.is-live>span{background:linear-gradient(145deg,#ff4e91,#a7276b)}.social-map-pin:hover>span,.social-map-pin:focus-visible>span{outline:0;transform:translateY(-3px) scale(1.06)}
.social-map-empty-action{position:absolute;z-index:3;top:50%;left:50%;display:grid;min-width:180px;padding:16px;grid-template-columns:auto 1fr;gap:1px 10px;align-items:center;border:1px solid rgba(40,26,51,.1);border-radius:20px;color:#22172a;text-align:left;background:rgba(255,255,255,.9);box-shadow:0 18px 50px rgba(72,44,92,.16);backdrop-filter:blur(18px);cursor:pointer;transform:translate(-50%,-50%)}.social-map-empty-action>span{display:grid;width:42px;height:42px;grid-row:1/3;place-items:center;border-radius:14px;color:#fff;background:linear-gradient(145deg,#9667ff,#5b29bd)}.social-map-empty-action svg{width:20px}.social-map-empty-action strong{font-size:.82rem}.social-map-empty-action small{color:#756b7d;font-size:.67rem}
.social-pulse-map>footer{display:flex;padding:14px 20px 18px;gap:9px;align-items:center}.social-pulse-map>footer>span,.social-pulse-map>footer>button{display:flex;min-height:35px;padding:7px 10px;gap:6px;align-items:center;border:1px solid rgba(42,27,51,.09);border-radius:999px;color:#5c5264;background:rgba(255,255,255,.62);font:inherit;font-size:.65rem}.social-pulse-map>footer svg{width:14px;color:#7244cf}.social-pulse-map>footer strong{color:#211629}.social-pulse-map>footer>span i{width:6px;height:6px;border-radius:50%;background:#2fd49d}.social-pulse-map>footer>button{margin-left:auto;color:#fff;font-weight:850;background:#17111f;cursor:pointer}
.social-section-title{display:flex;margin:18px 0 10px;gap:10px;align-items:center}.social-section-title>div{display:grid;gap:1px}.social-section-title strong{font-size:1.05rem}.social-section-title small{color:var(--muted);font-size:.7rem}
.social-plans-empty{display:grid;min-height:110px;padding:14px;grid-template-columns:auto minmax(0,1fr) auto;gap:12px;align-items:center;border:1px solid rgba(255,255,255,.09);border-radius:22px;background:linear-gradient(145deg,rgba(255,255,255,.045),rgba(120,70,220,.09))}.social-plans-empty>span{display:grid;width:52px;height:52px;place-items:center;border-radius:17px;color:#17111f;background:var(--lime);transform:rotate(-4deg)}.social-plans-empty>span svg{width:24px}.social-plans-empty>div{display:grid;gap:3px}.social-plans-empty strong{font-size:.84rem}.social-plans-empty small{color:var(--muted);font-size:.68rem}.social-plans-empty button{display:flex;min-height:42px;padding:9px 12px;gap:7px;align-items:center;border:1px solid rgba(255,255,255,.13);border-radius:13px;color:#fff;background:rgba(255,255,255,.06);font:inherit;font-size:.7rem;font-weight:850;cursor:pointer}.social-plans-empty button svg{width:16px}
.social-mini-drawers{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:18px 0}.social-mini-drawers .social-live-drawer{min-width:0;margin:0;border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.035),rgba(112,64,205,.06))}.social-mini-drawers .social-live-drawer[open]{grid-column:1/-1}.social-mini-drawers .social-live-drawer>summary{display:grid;min-height:76px;padding:13px 15px;grid-template-columns:auto minmax(0,1fr) auto}.social-mini-drawers summary>svg{width:20px;color:var(--lime)}.social-mini-drawers summary>span{display:grid;gap:1px}.social-mini-drawers summary strong{font-size:.78rem}.social-mini-drawers summary small{font-size:.64rem}.social-mini-drawers summary>b{color:var(--lime);font-size:1.2rem}.social-mini-drawers details[open] summary>b{transform:rotate(45deg)}
.nr-people-finder{overflow:visible;padding:20px!important;border-radius:26px!important;background:radial-gradient(circle at 100% 0,rgba(137,83,255,.17),transparent 28%),linear-gradient(145deg,rgba(255,255,255,.045),rgba(255,255,255,.018))!important}.nr-people-head{display:flex;margin-bottom:15px;gap:10px;align-items:center}.nr-people-head>span{display:grid;width:44px;height:44px;place-items:center;border-radius:15px;color:#11130d;background:var(--lime);transform:rotate(-4deg)}.nr-people-head svg{width:21px}.nr-people-head>div{display:grid;gap:1px}.nr-people-head strong{font-size:1rem}.nr-people-head small{color:var(--muted);font-size:.67rem}
.nr-people-quick{display:grid;grid-template-columns:auto minmax(150px,1fr) minmax(150px,1fr) auto;gap:9px;align-items:stretch}.nr-tonight-chip{position:relative;min-width:max-content}.nr-tonight-chip input{position:absolute;opacity:0;pointer-events:none}.nr-tonight-chip span{display:flex;height:100%;min-height:48px;padding:9px 13px;gap:7px;align-items:center;border:1px solid rgba(255,255,255,.11);border-radius:15px;color:#e9e3ef;background:rgba(255,255,255,.045);font-size:.7rem;font-weight:850;cursor:pointer}.nr-tonight-chip svg{width:16px;color:var(--lime)}.nr-tonight-chip input:checked+span{border-color:rgba(216,255,88,.5);color:#11130d;background:var(--lime)}.nr-tonight-chip input:checked+span svg{color:#11130d}
.nr-people-select{display:grid;min-width:0;padding:0 11px;grid-template-columns:auto minmax(0,1fr);gap:7px;align-items:center;border:1px solid rgba(255,255,255,.11);border-radius:15px;background:rgba(255,255,255,.04)}.nr-people-select>.nr-ui-icon{width:16px;color:var(--lime)}.nr-people-select>.pretty-select{grid-column:2}.nr-people-select .pretty-select-trigger{min-height:46px;padding:0 3px;border:0;background:transparent;box-shadow:none}.nr-search-go{display:flex;min-width:74px;padding:8px 13px;gap:6px;align-items:center;justify-content:center;border:0;border-radius:15px;color:#11130d;background:var(--lime);font:inherit;font-size:.7rem;font-weight:900;cursor:pointer;box-shadow:0 12px 28px rgba(216,255,88,.12)}.nr-search-go svg{width:17px}.nr-search-go:disabled{opacity:.55;cursor:wait}
.nr-name-drawer{margin-top:9px!important;border-radius:15px!important;background:rgba(6,5,10,.25)!important}.nr-name-drawer>summary{display:grid!important;min-height:46px;padding:10px 12px!important;grid-template-columns:auto 1fr auto!important}.nr-name-drawer>summary>.nr-ui-icon{width:16px;color:var(--muted)}.nr-name-drawer>summary strong{font-size:.7rem}.nr-name-drawer>summary>b{color:var(--lime);font-size:1.1rem}.nr-name-drawer[open]>summary>b{transform:rotate(45deg)}.nr-name-drawer>input{width:calc(100% - 24px)!important;margin:0 12px 12px!important;padding:12px 13px!important;border:1px solid var(--line)!important;border-radius:13px!important;color:var(--text)!important;background:rgba(255,255,255,.045)!important}
.nr-people-empty{display:grid;min-height:170px;padding:22px;place-items:center;text-align:center;border:1px dashed rgba(255,255,255,.1);border-radius:22px;background:rgba(5,4,9,.22)}.nr-people-empty>div{position:relative;width:132px;height:66px}.nr-people-empty>div i{position:absolute;display:grid;width:52px;height:52px;place-items:center;border:3px solid #18111f;border-radius:18px;color:#17111f;background:var(--lime);box-shadow:0 12px 28px rgba(0,0,0,.24);transform:rotate(-8deg)}.nr-people-empty>div i:nth-child(2){left:40px;z-index:2;color:#fff;background:linear-gradient(145deg,#986aff,#5b29bd);transform:translateY(8px) rotate(5deg)}.nr-people-empty>div i:nth-child(3){right:0;color:#3c2a49;background:#f5f1f7;transform:rotate(8deg)}.nr-people-empty svg{width:22px}.nr-people-empty>strong{font-size:1rem}.nr-people-empty>span{margin-top:-6px;color:var(--muted);font-size:.7rem}.nr-people-empty>footer{display:flex;margin-top:10px;gap:8px}.nr-people-empty button{display:flex;min-height:40px;padding:8px 11px;gap:6px;align-items:center;border:1px solid rgba(255,255,255,.12);border-radius:13px;color:#fff;background:rgba(255,255,255,.06);font:inherit;font-size:.68rem;font-weight:850;cursor:pointer}.nr-people-empty button:first-child{color:#11130d;background:var(--lime)}.nr-people-empty button svg{width:15px}
.nr-people-loading{display:flex;min-height:110px;align-items:center;justify-content:center;gap:9px;color:var(--muted);font-size:.72rem}.nr-people-loading i{width:18px;height:18px;border:2px solid rgba(255,255,255,.12);border-top-color:var(--lime);border-radius:50%;animation:spin .8s linear infinite}
.nr-compatible-person{display:grid!important;padding:16px!important;gap:12px!important;border-radius:22px!important}.nr-person-main{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:11px;align-items:center}.nr-network-avatar{position:relative;width:52px!important;height:52px!important;border:3px solid rgba(255,255,255,.18)!important;border-radius:18px!important;box-shadow:0 12px 28px rgba(0,0,0,.2);transform:rotate(-3deg)}.nr-network-avatar>i{position:absolute;right:-3px;bottom:-3px;width:12px;height:12px;border:3px solid #17111f;border-radius:50%;background:#43efbf}.nr-network-person-copy{min-width:0}.nr-network-person-copy strong{display:block;overflow:hidden;font-size:.9rem;text-overflow:ellipsis;white-space:nowrap}.nr-network-person-copy small{display:-webkit-box!important;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:1;font-size:.68rem!important}.nr-match-score{display:grid!important;width:46px;height:46px;margin:0!important;padding:0!important;place-items:center;grid-template-columns:auto auto;border:4px solid rgba(216,255,88,.22);border-radius:50%!important;background:#191320!important;box-shadow:inset 0 0 0 2px rgba(216,255,88,calc(var(--match) / 250))}.nr-match-score strong{color:var(--lime);font-size:.85rem}.nr-match-score small{color:var(--lime);font-size:.5rem}.nr-reason-chips{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none}.nr-reason-chips span{display:flex;min-width:max-content;padding:6px 8px;gap:4px;align-items:center;border-radius:999px;color:#d8d0e2;background:rgba(255,255,255,.055);font-size:.61rem}.nr-reason-chips svg{width:11px;color:var(--lime)}.nr-person-actions{display:flex!important;grid-column:auto!important;justify-content:flex-start!important;gap:7px}.nr-person-add,.nr-person-secondary{display:flex;min-height:38px;padding:7px 10px;gap:6px;align-items:center;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;background:rgba(255,255,255,.055);font:inherit;font-size:.65rem;font-weight:850;cursor:pointer}.nr-person-add{color:#11130d;background:var(--lime)}.nr-person-add svg,.nr-person-secondary svg{width:14px}.nr-person-status{justify-self:start;padding:7px 10px;border-radius:999px;color:var(--lime);font-size:.65rem;font-weight:850;background:rgba(216,255,88,.09)}
.social-safety-compact{max-width:760px;margin:12px auto!important;border-radius:18px!important;background:rgba(255,255,255,.025)!important}.social-safety-compact>summary{display:grid!important;min-height:62px;padding:11px 14px!important;grid-template-columns:auto minmax(0,1fr) auto!important}.social-safety-compact>summary>svg{width:20px;color:var(--lime)}.social-safety-compact>summary>span{display:grid;gap:1px}.social-safety-compact>summary strong{font-size:.76rem}.social-safety-compact>summary small{font-size:.63rem}.social-safety-compact>summary>b{color:var(--lime);font-size:1.15rem}.social-safety-compact[open]>summary>b{transform:rotate(45deg)}
@keyframes social-shimmer{0%,35%{transform:translateX(-80%)}65%,100%{transform:translateX(100%)}}@keyframes social-float{0%,100%{translate:0 0}50%{translate:0 -8px}}@keyframes social-pin-pulse{0%{opacity:.8;transform:scale(.75)}75%,100%{opacity:0;transform:scale(1.4)}}

@media(max-width:900px){.social-match-hero{grid-template-columns:minmax(0,1fr) 250px;padding:30px}.social-action-dock.social-journey-nav{display:flex;overflow-x:auto;scroll-snap-type:x proximity;scrollbar-width:none}.social-action-dock.social-journey-nav::-webkit-scrollbar{display:none}.social-action-dock.social-journey-nav button{min-width:86px;scroll-snap-align:start}.nr-people-quick{grid-template-columns:auto minmax(125px,1fr) minmax(125px,1fr) auto}}
@media(max-width:700px){.social-match-hero{min-height:305px;margin-inline:-2px;padding:24px 18px;grid-template-columns:1fr;border-radius:26px}.social-match-copy{z-index:3}.social-match-copy .section-eyebrow{margin-top:18px}.social-match-copy h1{max-width:76%;margin:8px 0 18px;font-size:clamp(2.55rem,12vw,3.55rem)}.social-hero-actions{max-width:76%;flex-wrap:wrap}.social-hero-actions .button{min-height:44px;padding:9px 11px;font-size:.68rem}.social-match-art{position:absolute;right:-35px;bottom:20px;width:205px;height:205px;opacity:.96}.social-face-a{top:8px;left:15px;width:75px;height:75px;border-radius:25px}.social-face-b{top:18px;right:12px;width:58px;height:58px;border-radius:20px}.social-face-c{right:44px;bottom:4px;width:86px;height:86px;border-radius:28px}.social-link-a{top:54px;left:74px;width:90px}.social-link-b{top:92px;left:62px;width:105px}.social-match-live{right:40px;bottom:0;min-width:62px;padding:7px 9px}.social-visibility-bar strong{font-size:.67rem}.social-visibility-bar button span{display:none}.social-visibility-bar button{width:34px;padding:7px;justify-content:center}.social-action-dock.social-journey-nav{margin-inline:-2px;padding:7px}.social-action-dock.social-journey-nav button{min-width:78px;min-height:70px}.social-pulse-map{margin-inline:-2px;border-radius:25px}.social-pulse-map>header{padding:18px 17px 12px}.social-pulse-map h2{font-size:2.35rem}.social-map-canvas{height:300px;margin:0 10px;border-radius:20px}.social-pulse-map>footer{padding:12px 12px 15px;flex-wrap:wrap}.social-pulse-map>footer>button{margin-left:0}.social-mini-drawers{grid-template-columns:1fr 1fr}.nr-people-finder{padding:15px!important}.nr-people-quick{grid-template-columns:1fr 1fr}.nr-tonight-chip,.nr-search-go{min-width:0}.nr-people-select{padding-inline:9px}.nr-people-select .pretty-select-trigger{font-size:.7rem}.social-plans-empty{grid-template-columns:auto minmax(0,1fr)}.social-plans-empty>button{grid-column:1/-1;width:100%;justify-content:center}.social-gate-card{margin-inline:0;grid-template-columns:auto 1fr}.social-gate-card .social-login-actions{grid-column:1/-1}.social-gate-card>.social-gate-icon{grid-column:1}.social-gate-card>.section-eyebrow,.social-gate-card>h2{grid-column:2}.social-gate-card .social-age-check,.social-gate-card>.button{grid-column:1/-1}}
@media(max-width:370px){.social-match-copy h1{max-width:82%;font-size:2.45rem}.social-match-art{right:-48px;opacity:.86}.social-hero-actions{max-width:82%}.social-hero-actions .button{font-size:.62rem}.social-map-privacy{max-width:108px;text-align:center}.nr-people-quick{grid-template-columns:1fr}.nr-people-empty{padding-inline:12px}.nr-people-empty>footer{width:100%;flex-direction:column}.nr-people-empty button{justify-content:center}.social-mini-drawers{grid-template-columns:1fr}.social-mini-drawers .social-live-drawer[open]{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.social-match-hero::before,.social-face,.social-map-pin>span::before{animation:none}.social-map-pin>span{transition:none}}
.social-action-dock button.is-create:not(.is-active){background:transparent}

/* FIESTOVA 2.4 — premium authentication */
.auth-captcha { width: 100%; min-width: 0; margin: 8px 0 12px; }
.auth-captcha-widget { width: 100%; min-height: 65px; }
.auth-captcha-status { margin: 7px 2px 0; color: #b8afc0; font-size: 12px; line-height: 1.4; }
.auth-captcha-status.is-error { color: #ffc3cc; }
.auth-captcha-retry { margin-top: 5px; }
.auth-captcha-retry[hidden] { display: none; }
.auth-dialog {
  scrollbar-width: none;
}

.auth-dialog::-webkit-scrollbar {
  display: none;
}

.auth-entry-dialog,
.auth-email-dialog,
.auth-state-dialog {
  width: min(94vw, 440px);
  max-height: min(92dvh, 760px);
  padding: 26px;
  overflow-x: hidden;
  border-color: rgba(255,255,255,.12);
  background:
    radial-gradient(circle at 82% -8%, rgba(126,78,255,.34), transparent 38%),
    linear-gradient(160deg, #171021 0%, #0d0913 68%);
  box-shadow: 0 42px 120px rgba(0,0,0,.7), inset 0 1px rgba(255,255,255,.05);
}

.auth-entry-dialog {
  padding-top: 18px;
}

.auth-entry-art {
  position: relative;
  display: grid;
  height: 152px;
  place-items: center;
  overflow: hidden;
  margin: -18px -26px 18px;
  background:
    radial-gradient(circle at center, rgba(216,255,88,.12), transparent 31%),
    linear-gradient(145deg, rgba(107,61,216,.42), rgba(20,13,31,.08));
}

.auth-entry-art::before,
.auth-entry-art::after {
  position: absolute;
  width: 220px;
  height: 220px;
  border: 1px solid rgba(255,255,255,.08);
  border-radius: 50%;
  content: "";
}

.auth-entry-art::after {
  width: 138px;
  height: 138px;
  border-color: rgba(216,255,88,.16);
}

.auth-entry-art > i {
  position: absolute;
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--lime);
  box-shadow: 0 0 18px rgba(216,255,88,.75);
  animation: auth-float 3.8s ease-in-out infinite;
}

.auth-entry-art > i:nth-child(1) { top: 32px; left: 72px; }
.auth-entry-art > i:nth-child(2) { right: 64px; bottom: 33px; animation-delay: -1.2s; }
.auth-entry-art > i:nth-child(3) { right: 92px; top: 25px; width: 5px; height: 5px; animation-delay: -2.1s; }

.auth-entry-art .brand-mark {
  position: relative;
  z-index: 1;
  width: 68px;
  height: 68px;
  border-radius: 22px;
  box-shadow: 0 18px 45px rgba(0,0,0,.45), 0 0 0 8px rgba(255,255,255,.04);
}

.auth-entry-copy,
.auth-email-heading,
.auth-result {
  text-align: center;
}

.auth-entry-copy .eyebrow,
.auth-email-heading .eyebrow,
.auth-result .eyebrow {
  margin: 0 0 9px;
  color: var(--lime);
  font-size: 9px;
  letter-spacing: .2em;
}

.auth-entry-copy h2,
.auth-email-heading h2,
.auth-result h2 {
  margin: 0;
  color: #fff;
  font-size: clamp(27px, 7vw, 34px);
  line-height: 1.04;
  letter-spacing: -.055em;
}

.auth-entry-copy > p:last-child,
.auth-email-heading > p:last-child,
.auth-result > p:not(.eyebrow) {
  margin: 10px auto 0;
  max-width: 330px;
  color: #aaa1b4;
  font-size: 13px;
  line-height: 1.5;
}

.auth-provider-stack {
  display: grid;
  gap: 10px;
  margin-top: 23px;
}

.auth-provider {
  position: relative;
  display: flex;
  width: 100%;
  min-height: 56px;
  padding: 0 48px;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  border-radius: 16px;
  font: 800 14px/1 inherit;
  cursor: pointer;
  transition: transform .16s ease, filter .16s ease, border-color .16s ease;
}

.auth-provider:hover { transform: translateY(-1px); filter: brightness(1.04); }
.auth-provider:active { transform: scale(.985); }
.auth-provider:disabled { cursor: wait; opacity: .65; transform: none; }

.auth-provider > svg:first-child {
  position: absolute;
  left: 19px;
  width: 21px;
  height: 21px;
}

.auth-provider.apple {
  color: #0b0910;
  background: #fff;
}

.auth-provider.google {
  color: #28232e;
  border-color: #ded8e3;
  background: #f8f7f9;
}

.auth-provider.email {
  color: #fff;
  border-color: rgba(174,138,255,.28);
  background: linear-gradient(135deg, rgba(112,67,219,.78), rgba(64,35,126,.62));
}

.auth-provider.email > svg:last-child {
  position: absolute;
  right: 18px;
  width: 17px;
  transform: none;
}

.auth-privacy {
  margin: 18px 0 0;
  color: #756d7c;
  font-size: 10px;
  line-height: 1.45;
  text-align: center;
}

.auth-email-heading {
  position: relative;
  padding-top: 5px;
  margin-bottom: 21px;
}

.auth-back {
  position: absolute;
  top: 1px;
  left: 0;
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border: 1px solid rgba(255,255,255,.1);
  border-radius: 50%;
  color: #c6becd;
  background: rgba(255,255,255,.04);
  cursor: pointer;
}

.auth-back svg { width: 16px; transform: rotate(180deg); }

.auth-mini-mark,
.auth-result-icon {
  display: grid;
  width: 54px;
  height: 54px;
  margin: 0 auto 16px;
  place-items: center;
  border: 1px solid rgba(216,255,88,.22);
  border-radius: 18px;
  color: var(--lime);
  background: rgba(216,255,88,.07);
  box-shadow: 0 16px 45px rgba(0,0,0,.22);
}

.auth-mini-mark svg,
.auth-result-icon svg { width: 23px; height: 23px; }

.auth-email-dialog .auth-switch {
  margin-bottom: 18px;
  padding: 4px;
  border-radius: 15px;
  background: rgba(255,255,255,.035);
}

.auth-email-dialog .auth-switch button {
  min-height: 42px;
  border-radius: 11px;
  font-size: 12px;
}

.auth-email-dialog .auth-switch button.active {
  color: #fff;
  background: rgba(122,76,232,.72);
  box-shadow: inset 0 0 0 1px rgba(198,173,255,.2);
}

.auth-email-dialog .field,
.auth-state-dialog .field { gap: 6px; margin-bottom: 11px; }

.auth-email-dialog .field > span,
.auth-state-dialog .field > span {
  padding-left: 3px;
  color: #b8afc0;
  font-size: 10px;
}

.auth-email-dialog .field input,
.auth-state-dialog .field input {
  min-height: 52px;
  border-color: rgba(255,255,255,.11);
  border-radius: 15px;
  background: rgba(255,255,255,.045);
}

.auth-email-dialog .auth-form .button,
.auth-state-dialog .auth-form .button,
.auth-result > .button {
  min-height: 52px;
  margin-top: 5px;
  border-radius: 15px;
}

.auth-email-dialog .form-grid { gap: 10px; }

.auth-recovery-link {
  display: block;
  margin: 15px auto 0;
  color: #cfc7d6;
  font-size: 11px;
}

.auth-result { padding: 24px 0 6px; }

.auth-result-icon {
  width: 76px;
  height: 76px;
  margin-bottom: 23px;
  border-radius: 25px;
}

.auth-result-icon svg { width: 31px; height: 31px; }

.auth-result-success .auth-result-icon {
  color: #17101f;
  background: var(--lime);
  box-shadow: 0 18px 50px rgba(216,255,88,.18);
}

.auth-result-error .auth-result-icon {
  color: #ff9bab;
  border-color: rgba(255,107,123,.25);
  background: rgba(255,107,123,.08);
}

.auth-email-chip {
  display: inline-flex;
  max-width: 100%;
  min-height: 35px;
  padding: 0 12px;
  margin: 17px auto 3px;
  align-items: center;
  gap: 8px;
  overflow: hidden;
  border: 1px solid rgba(255,255,255,.09);
  border-radius: 999px;
  color: #d9d2de;
  font-size: 11px;
  text-overflow: ellipsis;
  white-space: nowrap;
  background: rgba(255,255,255,.04);
}

.auth-email-chip svg { width: 14px; flex: 0 0 auto; }
.auth-result > .form-message { margin: 17px 0 4px; text-align: left; }
.auth-result > .button { margin-top: 21px; }
.auth-result > .text-button { margin-top: 16px; color: #aca3b4; font-size: 11px; }
.auth-resend-form { margin-top: 19px; text-align: left; }

.form-message.success {
  border-color: rgba(53,229,173,.22);
  color: #aef7db;
  background: rgba(53,229,173,.07);
}

@keyframes auth-float {
  0%,100% { transform: translateY(0); opacity: .75; }
  50% { transform: translateY(-8px); opacity: 1; }
}

@media (max-width: 560px) {
  .auth-entry-dialog,
  .auth-email-dialog,
  .auth-state-dialog {
    width: calc(100vw - 16px);
    max-height: calc(100dvh - 16px);
    padding: 22px 18px calc(22px + env(safe-area-inset-bottom));
    margin-block-end: 8px;
    border-radius: 28px;
  }

  .auth-entry-art { margin: -22px -18px 18px; }
  .auth-email-dialog .form-grid { grid-template-columns: 1fr; gap: 0; }
  .auth-entry-copy h2,
  .auth-email-heading h2,
  .auth-result h2 { font-size: 29px; }
}

@media (prefers-reduced-motion: reduce) {
  .auth-entry-art > i,
  .auth-provider { animation: none; transition: none; }
}
/* === FIESTOVA 2.3 visual social experience end === */

/* A quieter visual system: plans and people first. */
.brand-mark {
  border-color: rgba(255,255,255,.16);
  border-radius: 13px;
  background: linear-gradient(145deg,#48207e 0%,#25123f 58%,#120c1a 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.18),0 10px 22px rgba(55,23,95,.28);
}
.brand-mark::before {
  inset: auto;
  left: 22%;
  bottom: 8%;
  width: auto;
  height: auto;
  content: "F";
  border: 0;
  color: #fff;
  font-family: Georgia,serif;
  font-size: 1.78em;
  font-weight: 900;
  line-height: 1;
  background: none;
  box-shadow: none;
}
.brand-mark::after {
  top: 12%;
  right: 13%;
  bottom: auto;
  width: auto;
  height: auto;
  content: "✦";
  border: 0;
  color: var(--lime);
  font-size: .68em;
  line-height: 1;
  background: none;
  box-shadow: none;
}
.brand-mark i { display: none; }
.brand-mark.large::before { font-size: 2.75em; }
.brand-mark.small::before { font-size: 1.28em; }
.brand-mark.small::after { font-size: .49em; }
.account-avatar { position: relative; overflow: hidden; }
.account-avatar img { position: absolute; inset: 0; display: block; width: 100%; height: 100%; object-fit: cover; }

.first-run-scene {
  width: min(29vw,280px);
  border-radius: 36px;
  background: linear-gradient(145deg,#35205f,#1a122a 63%,#100d17);
  box-shadow: 0 26px 72px rgba(39,17,80,.38),inset 0 1px 0 rgba(255,255,255,.12);
  animation: first-run-float 7s ease-in-out infinite;
}
.first-run-scene::before,.first-run-scene::after,.first-run-scene i,.first-run-scene b,.first-run-scene em { display: none; }
.first-run-scene .first-run-friend,.first-run-scene .first-run-plan,.first-run-scene .first-run-spark {
  display: grid;
  position: absolute;
  place-items: center;
  border: 1px solid rgba(255,255,255,.3);
  box-shadow: 0 18px 30px rgba(5,3,10,.25);
}
.first-run-friend svg,.first-run-plan svg,.first-run-spark svg { width: 42%; height: 42%; }
.first-run-scene .first-run-friend-one { left: 12%; top: 21%; width: 41%; height: 41%; border-radius: 28%; color: #23113c; background: var(--lime); transform: rotate(-12deg); }
.first-run-scene .first-run-friend-two { right: 10%; top: 37%; width: 44%; height: 44%; border-radius: 29%; color: #fff; background: #744bc0; transform: rotate(10deg); }
.first-run-scene .first-run-plan { right: 8%; top: 9%; width: 24%; height: 24%; border-radius: 25%; color: #2c173d; background: #f8f4fb; transform: rotate(14deg); }
.first-run-scene .first-run-spark { left: 11%; bottom: 10%; width: 18%; height: 18%; border-radius: 50%; color: #fff; background: #ff4e9a; }

.profile-card {
  background: radial-gradient(circle at 50% 0%,rgba(123,69,207,.26),transparent 56%),linear-gradient(160deg,#1b1328,#120e19);
  border-color: rgba(206,177,255,.19);
}
.profile-avatar { width: 106px; height: 106px; margin: 8px 0 14px; border: 4px solid rgba(255,255,255,.86); box-shadow: 0 0 0 7px rgba(216,255,88,.17),0 22px 36px rgba(0,0,0,.24); }
.profile-stats { margin: 22px 0 16px; border: 0; gap: 8px; }
.profile-stats>div { min-height: 62px; border: 1px solid rgba(255,255,255,.1)!important; border-radius: 17px; background: rgba(255,255,255,.045); }
.avatar-form { margin-bottom: 12px; }
.avatar-change { justify-content: center; }
.avatar-change svg,.profile-account-actions .button svg,.account-privacy-actions .button svg { width: 18px; height: 18px; }
.profile-form-card { background: #f8f6fb; color: #21172d; border-color: #f8f6fb; box-shadow: 0 20px 55px rgba(0,0,0,.16); }
.profile-form-card .section-eyebrow { color: #614085; }
.profile-form-card .profile-progress small { color: #6d6274; }
.profile-form-card .profile-progress>span { background: #ded7e7; }
.profile-form-card .profile-progress>strong { color: #512c85; }
.profile-form-card .profile-form-section { border-color: #e6e0ec; background: #fff; }
.profile-form-section>summary { display: grid; grid-template-columns: 38px minmax(0,1fr) auto; gap: 12px; min-height: 76px; }
.profile-form-section>summary>svg { display: grid; width: 38px; height: 38px; padding: 10px; border-radius: 13px; color: #52259a; background: #f1eafd; }
.profile-form-section>summary>span:nth-child(2) { display: grid; gap: 2px; }
.profile-form-section>summary>span:nth-child(2) small { color: #756c7d; }
.profile-form-section>summary>span:last-child { color: #7045a6; font-size: 1.2rem; transition: transform .18s ease; }
.profile-form-section[open]>summary>span:last-child { transform: rotate(45deg); }
.profile-form-section .field>span { color: #42354c; }
.profile-form-section input,.profile-form-section select,.profile-form-section .pretty-select-trigger { color: #21172d; border-color: #ded7e5; background: #fff; }
.profile-form-section .privacy-toggle { color: #21172d; }
.profile-form-section .privacy-toggle small { color: #6d6274; }
.profile-form-card .profile-save-button { color: #16101e; }
.profile-account-drawer { width: 100%; border-color: rgba(255,255,255,.14); background: rgba(255,255,255,.045); }
.profile-account-drawer>summary { min-height: 72px; }
.profile-account-drawer>summary svg { color: var(--lime); }
.profile-account-actions { border-top: 1px solid rgba(255,255,255,.1); }
.account-email-card { border-radius: 16px; }
.account-email-card code { overflow-wrap: anywhere; }
.account-privacy-card { padding: 22px; border: 1px solid rgba(255,255,255,.12); border-radius: 24px; background: linear-gradient(130deg,#1d1428,#120e19); }
.account-privacy-card p.eyebrow { color: var(--lime); }
.settings-strip { border-color: rgba(216,255,88,.16); background: rgba(216,255,88,.055); }
.social-mini-drawers { grid-template-columns: 1fr; }
.social-mini-drawers .social-live-drawer { margin: 0; }

.pretty-select-menu.is-open { border-color: rgba(216,255,88,.25); border-radius: 20px; background: #1c1428; box-shadow: 0 30px 72px rgba(0,0,0,.55),0 0 0 1px rgba(255,255,255,.04); }
.pretty-select-option { min-height: 47px; margin-block: 2px; border-radius: 13px; font-size: .82rem; }
.pretty-select-option[aria-selected="true"] { background: linear-gradient(110deg,#d8ff58,#c3f152); }
@media(max-width:700px) {
  .first-run-scene { width: min(43vw,170px); border-radius: 26px; }
  .profile-layout { gap: 12px; }
  .profile-card { padding: 22px 18px; }
  .profile-form-card { padding: 19px 14px; }
  .profile-form-heading { align-items: center; }
  .profile-form-heading h2 { font-size: 1.8rem; }
  .profile-progress { grid-template-columns:auto; }
  .profile-progress>strong { grid-row:auto; font-size:1.1rem; }
  .profile-progress>span { display:none; }
  .profile-progress small { display:none; }
  .account-privacy-card { padding: 20px 16px; }
}
@media(prefers-reduced-motion:reduce) { .first-run-scene { animation:none; } .profile-form-section>summary>span:last-child { transition:none; } }

/* Real profile photos retain the white circular frame across discovery, friends and plans. */
.nr-network-avatar,.nr-compatible-person .nr-network-avatar {
  position: relative;
  width: 52px!important;
  height: 52px!important;
  overflow: visible;
  border: 3px solid #f6f4e6!important;
  border-radius: 50%!important;
  background: linear-gradient(145deg,#513391,#261632)!important;
  color: #fff!important;
  box-shadow: 0 0 0 5px rgba(216,255,88,.11),0 12px 27px rgba(0,0,0,.22);
  transform: none;
}
.nr-network-avatar img { position: absolute; inset: 0; width: 100%; height: 100%; border-radius: 50%; object-fit: cover; }
.nr-network-avatar>i { z-index: 2; }
.nr-crew-faces .nr-network-avatar { width: 34px!important; height: 34px!important; font-size: .65rem; }
.social-avatar { position: relative; overflow: visible; border: 3px solid #f6f4e6; box-shadow: 0 0 0 4px rgba(216,255,88,.12); }
.social-avatar img { position: absolute; inset: 0; border-radius: 50%; }

.account-privacy-drawer,.account-app-drawer { width: 100%; border: 1px solid rgba(255,255,255,.12); border-radius: 16px; background: rgba(255,255,255,.035); }
.account-privacy-drawer>summary,.account-app-drawer>summary { display: grid; min-height: 62px; padding: 11px 13px; grid-template-columns: 33px minmax(0,1fr) auto; gap: 10px; align-items: center; list-style: none; cursor: pointer; }
.account-privacy-drawer>summary::-webkit-details-marker,.account-app-drawer>summary::-webkit-details-marker { display: none; }
.account-privacy-drawer>summary>svg,.account-app-drawer>summary>svg { width: 32px; height: 32px; padding: 8px; border-radius: 11px; color: var(--lime); background: rgba(216,255,88,.1); }
.account-privacy-drawer>summary>span,.account-app-drawer>summary>span { display: grid; gap: 2px; }
.account-privacy-drawer>summary small,.account-app-drawer>summary small { color: var(--muted); font-size: .67rem; }
.account-privacy-drawer>summary>b,.account-app-drawer>summary>b { color: var(--lime); font-size: 1.15rem; transition: transform .18s ease; }
.account-privacy-drawer[open]>summary>b,.account-app-drawer[open]>summary>b { transform: rotate(45deg); }
.account-privacy-drawer .account-privacy-card { display: grid; margin: 0; padding: 12px; gap: 8px; border: 0; border-top: 1px solid rgba(255,255,255,.1); border-radius: 0 0 16px 16px; background: transparent; box-shadow: none; }
.account-privacy-drawer .account-privacy-card>.button { justify-content: center; }
.account-privacy-drawer .account-privacy-card>.text-button { justify-self: center; margin: 4px 0; font-size: .75rem; }
.account-privacy-drawer .account-privacy-card>.text-button.danger { color: #ff9cab; }
.account-app-drawer>div { padding: 12px; border-top: 1px solid rgba(255,255,255,.1); }
@media(prefers-reduced-motion:reduce) { .account-privacy-drawer>summary>b,.account-app-drawer>summary>b { transition:none; } }

@media(max-width:700px) {
  .header-actions .locale-picker { display: grid; min-width: 46px; width: 46px; min-height: 40px; border-color: rgba(255,255,255,.18); background: rgba(255,255,255,.07); }
  .header-actions .locale-picker .pretty-select { width: 44px; }
  .header-actions .locale-picker .pretty-select-trigger { min-height: 38px; padding-inline: 8px; justify-content: center; gap: 3px; font-size: .72rem; }
  .header-actions .locale-picker .pretty-select-value { max-width: 22px; }
  .header-actions .locale-picker .pretty-select-menu { width: min(240px,calc(100vw - 24px)); }
}

/* === FIESTOVA — premium photo map === */
.fiestova-map-marker-layer{position:absolute;z-index:2;inset:0;overflow:hidden;pointer-events:none}.fiestova-overlay-marker{position:absolute;top:0;left:0;pointer-events:auto;will-change:transform}.social-map-card-popup{z-index:8!important}
.social-map-marker,.social-map-cluster{appearance:none;padding:0;border:0;color:inherit;background:transparent;font:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}
.social-map-marker{position:relative;display:grid;width:48px;height:48px;place-items:center;border-radius:50%;filter:drop-shadow(0 9px 13px rgba(0,0,0,.38));transition:filter .22s ease}
.social-map-marker>.social-map-photo{transition:transform .22s cubic-bezier(.2,.8,.2,1);animation:map-marker-in .28s cubic-bezier(.2,.8,.2,1) both}
.social-map-marker:hover,.social-map-marker:focus-visible,.social-map-marker.is-selected{z-index:6;outline:0;filter:drop-shadow(0 13px 20px rgba(85,45,181,.52))}
.social-map-marker:hover>.social-map-photo,.social-map-marker:focus-visible>.social-map-photo,.social-map-marker.is-selected>.social-map-photo{transform:translateY(-3px) scale(1.1)}
.social-map-marker.is-selected::after{position:absolute;inset:-5px;z-index:-1;border:1px solid rgba(173,135,255,.68);border-radius:50%;content:"";animation:map-selected-pulse 1.8s ease-out infinite}
.social-map-photo{position:relative;display:grid;width:46px;height:46px;overflow:hidden;place-items:center;border:2px solid #9b6cff;border-radius:50%;color:#fff;background:linear-gradient(145deg,#6e3bd1,#241234 72%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.24);pointer-events:none;user-select:none}
.social-map-photo img,.map-list-photo img,.map-popup-media img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.social-map-fallback,.map-list-photo>span,.map-popup-media>span{position:relative;z-index:0;display:grid;place-items:center;color:#fff;font-family:var(--display-font,inherit);font-weight:950;line-height:1}
.social-map-fallback::after,.map-list-photo>span::after,.map-popup-media>span::after{margin-left:1px;color:#d9c7ff;content:"✦";font-size:.42em}
.social-map-cluster{position:relative;display:grid;min-width:67px;min-height:51px;place-items:center}
.social-map-cluster-stack{transition:transform .22s cubic-bezier(.2,.8,.2,1);animation:map-marker-in .28s cubic-bezier(.2,.8,.2,1) both}
.social-map-cluster:hover,.social-map-cluster:focus-visible{z-index:6;outline:0}.social-map-cluster:hover .social-map-cluster-stack,.social-map-cluster:focus-visible .social-map-cluster-stack{transform:translateY(-2px) scale(1.06)}
.social-map-cluster-stack{display:flex;padding-right:12px;align-items:center;filter:drop-shadow(0 9px 13px rgba(0,0,0,.4))}
.social-map-cluster-stack .social-map-photo{width:39px;height:39px;border-width:2px}
.social-map-cluster-stack .social-map-photo+.social-map-photo{margin-left:-16px}
.social-map-cluster-stack .social-map-photo:nth-child(2){z-index:2}.social-map-cluster-stack .social-map-photo:nth-child(3){z-index:3}
.social-map-cluster>b{position:absolute;z-index:5;right:1px;bottom:-1px;display:grid;min-width:24px;height:24px;padding:0 5px;place-items:center;border:2px solid #17101f;border-radius:999px;color:#fff;background:#7745dc;box-shadow:0 5px 14px rgba(0,0,0,.32);font-size:10px;font-weight:900}
.map-list-head span{color:#aa82ff}
.map-list-photo{position:relative;display:grid;width:40px;height:40px;overflow:hidden;place-items:center;border:1.5px solid rgba(164,111,255,.8);border-radius:50%;color:#fff;background:linear-gradient(145deg,#6840bd,#24152d);box-shadow:0 7px 18px rgba(0,0,0,.24)}
.map-list-photo>span{font-size:15px}
.social-map-card-popup .maplibregl-popup-content{width:320px;padding:0;overflow:hidden;border:1px solid rgba(166,112,255,.32);border-radius:22px!important;background:rgba(18,12,27,.96)!important;box-shadow:0 25px 70px rgba(0,0,0,.56)!important;backdrop-filter:blur(22px)}
.social-map-card-popup .maplibregl-popup-close-button{z-index:4;top:8px;right:8px;display:grid;width:30px;height:30px;place-items:center;border-radius:50%;color:#fff;background:rgba(8,5,13,.72);font-size:20px}
.social-map-card-popup .maplibregl-popup-tip{border-top-color:rgba(18,12,27,.96)!important;border-bottom-color:rgba(18,12,27,.96)!important}
.map-popup-card{position:relative;display:grid;grid-template-columns:92px minmax(0,1fr);color:#fff}.map-popup-handle{display:none}
.map-popup-media{position:relative;display:grid;min-height:126px;overflow:hidden;place-items:center;color:#fff;background:radial-gradient(circle at 35% 25%,rgba(176,125,255,.7),transparent 25%),linear-gradient(145deg,#402061,#160d22)}
.map-popup-media::after{position:absolute;inset:0;background:linear-gradient(180deg,transparent 45%,rgba(9,5,14,.55));content:"";pointer-events:none}.map-popup-media>span{font-size:31px}
.map-popup-copy{display:grid;min-width:0;padding:18px 42px 12px 15px;align-content:center;gap:5px}
.map-popup-copy .map-popup-zone{overflow:hidden;color:#b99bea;font-size:9px;font-weight:900;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;letter-spacing:.11em}
.map-popup-copy strong{padding:0;overflow:hidden;color:#fff;font-size:17px;line-height:1.08;text-overflow:ellipsis;white-space:nowrap}
.map-popup-copy p{display:-webkit-box;margin:0;overflow:hidden;-webkit-box-orient:vertical;-webkit-line-clamp:2;color:#aaa1b2;font-size:10px;line-height:1.35}
.map-popup-tags{display:flex;gap:4px;overflow:hidden}.map-popup-tags span{max-width:90px;padding:4px 6px;overflow:hidden;border-radius:999px;color:#e9dcff;background:rgba(143,88,244,.18);font-size:8px;font-weight:800;text-overflow:ellipsis;white-space:nowrap}
.map-popup-actions{display:grid;padding:0 12px 12px;grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto;gap:7px}
.map-popup-actions button,.map-popup-actions a{display:flex;min-height:38px;margin:0;padding:0 11px;align-items:center;justify-content:center;gap:7px;border:1px solid rgba(255,255,255,.1);border-radius:12px;color:#fff;background:rgba(255,255,255,.055);font:inherit;font-size:10px;font-weight:900;text-decoration:none;cursor:pointer}
.map-popup-actions button{border-color:rgba(160,105,255,.6);background:linear-gradient(135deg,#7b47dc,#5b2db7)}.map-popup-actions svg{width:15px}.map-popup-actions button svg{margin-left:auto}.map-popup-actions a span{display:none}
@keyframes map-marker-in{from{opacity:0;transform:translateY(8px) scale(.82)}to{opacity:1;transform:translateY(0) scale(1)}}
@keyframes map-selected-pulse{from{opacity:.75;transform:scale(.82)}to{opacity:0;transform:scale(1.35)}}
@media(max-width:700px){
  .social-map-marker{width:46px;height:46px}.social-map-marker .social-map-photo{width:44px;height:44px}
  .social-map-card-popup{position:absolute!important;top:auto!important;right:10px!important;bottom:12px!important;left:10px!important;width:auto!important;max-width:none!important;transform:none!important}
  .social-map-card-popup .maplibregl-popup-tip{display:none}.social-map-card-popup .maplibregl-popup-content{width:100%;border-radius:24px!important;animation:map-card-up .26s cubic-bezier(.2,.8,.2,1) both}
  .map-layout .map-list{transition:opacity .18s ease,transform .18s ease}.map-layout:has(.social-map-card-popup) .map-list{opacity:0;pointer-events:none;transform:translateY(12px)}
  .map-popup-card{grid-template-columns:104px minmax(0,1fr)}.map-popup-handle{position:absolute;z-index:5;top:7px;left:50%;display:block;width:32px;height:4px;border-radius:999px;background:rgba(255,255,255,.28);transform:translateX(-50%)}
  .map-popup-media{min-height:132px}.map-popup-copy{padding-top:22px}.map-popup-actions{padding-bottom:max(12px,env(safe-area-inset-bottom))}.map-popup-actions a{min-width:42px}
}
@keyframes map-card-up{from{opacity:0;transform:translateY(18px)}to{opacity:1;transform:translateY(0)}}
@media(prefers-reduced-motion:reduce){.social-map-marker>.social-map-photo,.social-map-cluster-stack,.social-map-card-popup .maplibregl-popup-content{animation:none}.social-map-marker>.social-map-photo,.social-map-cluster-stack{transition:none}.social-map-marker.is-selected::after{animation:none}}

/* Focused mobile experience: language, cities, preferences, chats and events. */
.language-flag{display:inline-flex;width:28px;height:19px;flex-shrink:0;overflow:hidden;border-radius:4px;box-shadow:0 0 0 1px #ffffff24}
.language-flag svg{display:block;width:100%;height:100%}
.pretty-select.is-language-picker{min-width:48px;width:48px;flex:none}
.is-language-picker .pretty-select-trigger{width:48px;min-height:44px;justify-content:center;padding:10px;border-radius:16px}
.is-language-picker .pretty-select-trigger>svg{display:none}
.is-language-picker .pretty-select-trigger>i{display:none}
.is-language-picker .pretty-select-value{display:flex;align-items:center;justify-content:center;max-width:none}
.language-menu .pretty-select-option{display:flex;gap:12px;align-items:center;min-height:48px;font-size:14px}
.language-menu{border-radius:20px!important;padding:6px!important;background:#1a1426!important;box-shadow:0 18px 60px #0009!important}
.city-editorial-card{position:relative;display:flex;flex-direction:column;padding:0!important;gap:0!important;overflow:hidden;border:1px solid #ffffff14;background:#17111f!important;border-radius:28px;text-align:left}
.city-editorial-card::before,.city-editorial-card::after{display:none!important}
.city-editorial-open{position:relative;display:block;width:100%;padding:0;border:0;background:transparent;color:#fff;cursor:pointer;text-align:left;overflow:hidden}
.city-editorial-media{position:relative;display:grid;grid-template-columns:2fr 1fr 1fr;width:100%;height:230px;overflow:hidden;background:radial-gradient(ellipse at 78% 20%,#7e4cc6aa,transparent 58%),linear-gradient(135deg,#262038,#140f1f 70%)}
.city-editorial-media img{width:100%;height:100%;object-fit:cover;min-width:0;filter:saturate(.8);transition:transform .35s ease}
.city-editorial-media::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0e091b12 0%,#0e091b42 35%,#0e091bd9 75%,#17111f 100%)}
.city-editorial-monogram{position:absolute;right:24px;top:24px;color:#eee3ff;opacity:.75;font-size:64px;font-family:Georgia,serif;font-style:italic;line-height:1}
.city-editorial-media:not(.is-brand-cover) .city-editorial-monogram{display:none}
.city-editorial-copy{position:absolute;left:24px;right:20px;bottom:20px;display:flex;flex-direction:column;gap:6px;z-index:1}
.city-editorial-copy strong{font-size:34px;letter-spacing:-1.3px;line-height:1.03;color:#fff}
.city-editorial-copy small{font-size:12px;line-height:1.45;color:#e2d8ee;max-width:30ch}
.city-editorial-copy>small{font-size:9px;font-weight:700;letter-spacing:.07em;color:#dbc9ea}
.city-editorial-copy>span{font-size:12px;color:#e7dced;line-height:1.45;max-width:30ch}
.city-editorial-copy>b{display:flex;align-items:center;gap:8px;color:#d3eca2;font-size:11px;margin-top:4px}.city-editorial-copy>b svg{width:14px;height:14px}
.city-editorial-count{font-size:11px;color:#d7f695;font-weight:750;letter-spacing:.02em}
.city-editorial-open:active .city-editorial-media img{transform:scale(1.035)}
.editorial-strip{padding:4px 20px 20px;min-width:0}
.editorial-strip>span{display:block;font-size:10px;font-weight:800;color:#b8a7d3;letter-spacing:.1em;text-transform:uppercase;margin-bottom:12px}
.editorial-clubs{display:flex;gap:12px;overflow:auto;scrollbar-width:none;overscroll-behavior-x:contain;padding:2px}
.editorial-club{display:flex;flex:0 0 58px;flex-direction:column;align-items:center;gap:7px;padding:0;border:0;background:none;color:#eee7f8;cursor:pointer;min-width:0}
.editorial-club>span{position:relative;display:grid;place-items:center;width:48px;height:48px;border-radius:50%;background:linear-gradient(135deg,#57417c,#241a37);border:2px solid #af8bd98c;box-shadow:0 4px 12px #0003;overflow:hidden;font-family:Georgia,serif;font-size:16px;color:#f2e9ff}
.editorial-club img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.editorial-club small{font-size:10px;font-weight:600;line-height:1.3;max-width:62px;text-align:center}
.editorial-club:active>span{transform:scale(.92)}
.city-detail-hero>.city-editorial-media{border-radius:24px;min-height:240px}
.city-detail-featured{margin-top:20px;padding:20px;border-radius:24px;background:#ffffff06;border:1px solid #ffffff12}
.preference-experience{padding:24px!important;border-radius:28px;background:linear-gradient(135deg,#1e162e,#110d18)!important}
.preference-intro{display:flex;gap:16px;align-items:center;margin-bottom:28px}
.preference-intro>span,.chat-conversations>header>span{display:grid;place-items:center;width:52px;height:52px;border-radius:18px;background:#a675ff24;color:#d8bfff;flex-shrink:0}
.preference-intro h2{margin:0 0 6px;font-size:26px;letter-spacing:-.7px}
.preference-intro p{margin:0;font-size:13px;color:#b9adca}
.experience-choices{border:0;padding:0;margin:0 0 28px;min-width:0}
.experience-choices legend{font-size:15px;font-weight:760;margin-bottom:12px;color:#f6f0ff}
.experience-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(125px,1fr));gap:9px}
.experience-choice{position:relative;display:block;min-width:0;cursor:pointer}
.experience-choice input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}
.experience-choice>span{position:relative;display:flex;align-items:center;gap:9px;min-height:54px;border:1px solid #ffffff16;background:#ffffff04;border-radius:17px;padding:12px;color:#c6bbd6;transition:background .18s,border-color .18s,transform .18s}
.experience-choice svg{width:20px;height:20px;flex-shrink:0;color:#baa1e4}
.experience-choice b{font-size:12px;font-weight:650;line-height:1.25}
.experience-choice i{display:none;font-style:normal;font-size:11px;color:#dfbfff;margin-left:auto}
.experience-choice input:checked+span{background:linear-gradient(135deg,#7851ae44,#a77bd118);border-color:#b289ed96;color:#fff;box-shadow:0 3px 15px #7d4dc31a}
.experience-choice input:checked+span i{display:block}
.experience-choice input:focus-visible+span{outline:2px solid #d4aaff;outline-offset:3px}
.experience-choice:active>span{transform:scale(.97)}
.is-visual .experience-choice>span{flex-direction:column;align-items:flex-start;min-height:95px;justify-content:center;padding:17px}
.is-visual .experience-choice svg{width:26px;height:26px;margin-bottom:4px}
.is-visual .experience-choice i{position:absolute;right:12px;top:10px}
.is-groups .experience-choice>span{flex-direction:column;padding:13px 8px;text-align:center}
.is-groups .experience-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}
.is-groups .experience-choice i{position:absolute;right:8px;top:6px}
.preference-drawer{border:1px solid #ffffff12;background:#ffffff03;border-radius:20px;padding:0 16px;margin:16px 0}
.preference-drawer>summary{display:flex;gap:10px;align-items:center;min-height:60px;cursor:pointer;list-style:none;font-size:13px;color:#ded1f1}
.preference-drawer>summary::-webkit-details-marker,.event-filter-drawer>summary::-webkit-details-marker{display:none}
.preference-drawer>summary>span:last-child{margin-left:auto;font-size:20px}
.preference-drawer[open]>summary{margin-bottom:12px}
.preference-drawer[open]>summary>span:last-child{transform:rotate(45deg)}
.preference-privacy{background:#f0edf6;color:#1c1528;border-color:#f0edf6}
.preference-privacy summary,.preference-privacy legend{color:#241b33}
.preference-privacy .experience-choice>span{background:#fff;border-color:#ded4e8;color:#544763}
.preference-privacy .experience-choice input:checked+span{color:#291b40;background:#e1d3f5;border-color:#a178cf}
.preference-privacy .experience-choice i{color:#663592}
.preference-privacy .pretty-select-trigger{background:#fff;color:#2d2040;border-color:#d6cce1}
.experience-more summary{font-size:12px;padding:12px 0;color:#d0b2ff;cursor:pointer}
.preference-budget{display:flex;flex-wrap:wrap;gap:16px;align-items:center;margin:8px 0 24px;font-size:14px}
.preference-budget output{margin-left:auto;padding:7px 12px;border-radius:11px;background:#bda0e826;font-weight:750}
.preference-budget>span{display:flex;align-items:center;gap:10px;width:100%}.preference-budget svg{width:20px}
.preference-budget input{width:100%;accent-color:#bb91ed}
.preference-experience .social-sticky-actions{display:flex;align-items:center;flex-wrap:wrap;gap:12px;margin-top:24px;padding-top:18px;border-top:1px solid #ffffff12}
.preference-experience .field textarea{font:inherit;font-size:14px;min-height:84px}
.chat-conversations{border:1px solid #ffffff14;border-radius:28px;padding:24px;background:linear-gradient(145deg,#1b1329,#0f0b17)}
.chat-conversations>header{display:flex;align-items:center;gap:14px;margin-bottom:20px}
.chat-conversations h2{margin:0;font-size:25px;letter-spacing:-.6px}
.chat-conversation{display:flex;align-items:center;gap:14px;width:100%;padding:17px 4px;text-align:left;border:0;border-bottom:1px solid #ffffff0e;background:none;color:#fff;cursor:pointer}
.chat-group-avatar{display:grid;place-items:center;width:48px;height:48px;flex-shrink:0;border-radius:17px;background:linear-gradient(145deg,#7554a1,#342541);color:#f2e8ff;overflow:hidden}
.chat-group-avatar img{width:100%;height:100%;object-fit:cover}
.chat-group-avatar:has(img){position:relative}.chat-group-avatar img{position:absolute;inset:0}.chat-group-avatar svg{width:24px;height:24px}
.chat-conversation-copy{min-width:0;display:grid;gap:6px;flex:1}
.chat-conversation-copy strong{font-size:15px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.chat-conversation-copy small{font-size:12px;color:#ac9bbd;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.chat-conversation>svg{width:17px;color:#a993c0}
.chat-unread{display:grid;place-items:center;min-width:24px;height:24px;padding:0 6px;border-radius:50px;background:#be92f1;color:#20122f;font-size:11px;font-weight:850}
.premium-chat-dialog{position:fixed;inset:0;top:var(--chat-viewport-top,0px);width:min(100%,640px);max-width:100%;height:min(780px,var(--chat-viewport-height,100dvh));max-height:var(--chat-viewport-height,100dvh);padding:0;border:1px solid #ffffff1c;border-radius:28px;color:#f8f4ff;background:#100c17;margin:auto;box-shadow:0 24px 100px #0009;overflow:hidden}
.premium-chat-dialog::backdrop{background:#090611c7;backdrop-filter:blur(8px)}
.premium-chat-shell{display:flex!important;flex-direction:column!important;height:100%;padding:0!important;max-height:none!important}
.premium-chat-header{display:flex;gap:12px;align-items:center;flex-shrink:0;padding:18px;border-bottom:1px solid #ffffff13;background:#1e152c}
.premium-chat-header>div{flex:1;min-width:0}
.premium-chat-header strong{display:block;font-size:16px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.premium-chat-header small{display:block;color:#c4b3d4;font-size:11px;margin-top:4px}
.chat-back,.chat-send-button{display:grid;place-items:center;flex-shrink:0;width:44px;height:44px;border-radius:15px;background:#ffffff08;color:#dfd0f1;border:0;cursor:pointer}
.chat-back svg{transform:rotate(180deg);width:20px}
.chat-safety{position:relative}
.chat-safety summary{display:grid;place-items:center;width:44px;height:44px;list-style:none;cursor:pointer}
.chat-safety summary::-webkit-details-marker{display:none}
.chat-safety[open]{z-index:3}
.chat-safety>div{position:absolute;right:0;top:48px;display:grid;gap:5px;min-width:190px;padding:7px;border-radius:17px;border:1px solid #ffffff1c;background:#261b34;box-shadow:0 12px 30px #0008}
.chat-safety button,.message-tools button{display:flex;gap:9px;align-items:center;border:0;background:none;color:#e7d8f2;padding:12px;border-radius:10px;text-align:left;font:inherit;font-size:12px;cursor:pointer}
.chat-safety button:hover,.message-tools button:hover{background:#ffffff0b}
.premium-chat-feed{flex:1;min-height:0;overflow:auto!important;padding:22px 18px!important;display:flex;flex-direction:column;gap:15px;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#705583 transparent;-webkit-overflow-scrolling:touch}
.premium-chat-message{display:flex;align-items:flex-end;gap:8px;max-width:90%;align-self:flex-start;animation:experience-in .16s ease both}
.premium-chat-message.is-own{align-self:flex-end}
.premium-chat-feed article.premium-chat-message,.premium-chat-feed article.premium-chat-message.is-own{padding:0;background:none;border-radius:0;max-width:92%}
.chat-message-avatar{position:relative;display:grid;place-items:center;flex-shrink:0;width:30px;height:30px;border-radius:50%;border:1px solid #b695dc66;overflow:hidden;background:#483353;color:#e4d4f7;font-size:10px}
.chat-message-avatar img{position:absolute;inset:0;object-fit:cover;width:100%;height:100%}
.chat-bubble{border-radius:19px 19px 19px 6px;background:#292033;padding:12px 14px;max-width:100%;min-width:80px;color:#ede4f7;overflow-wrap:anywhere}
.is-own .chat-bubble{background:linear-gradient(135deg,#7854a9,#604087);border-radius:19px 19px 6px 19px}
.chat-bubble>strong{font-size:10px;color:#d1b5f0;display:block;margin-bottom:6px}
.chat-bubble p{font-size:15px;line-height:1.5;white-space:pre-wrap;margin:0!important;color:inherit!important}
.chat-bubble footer{display:flex;align-items:center;justify-content:flex-end;gap:7px;margin-top:6px;min-height:19px;font-size:9px;color:#e0cbed;background:none;border:0;padding:0}
.chat-bubble footer time{font-size:9px;color:inherit}
.message-tools{position:relative}
.message-tools summary{display:grid;place-items:center;min-width:25px;min-height:26px;cursor:pointer;list-style:none;font-size:17px;line-height:1}
.message-tools>div{position:absolute;right:0;bottom:28px;width:168px;padding:5px;border-radius:14px;background:#251a32;box-shadow:0 8px 28px #0007;z-index:2}
.message-tools summary::-webkit-details-marker{display:none}
.premium-chat-message.is-pending .chat-bubble{opacity:.65}
.premium-chat-composer{flex-shrink:0;display:grid;grid-template-columns:minmax(0,1fr) 44px;gap:9px;padding:12px 16px max(12px,env(safe-area-inset-bottom));border-top:1px solid #ffffff12;background:#1a1226}
.premium-chat-shell .premium-chat-composer{grid-template-columns:minmax(0,1fr) 44px;gap:9px;padding:12px 16px max(12px,env(safe-area-inset-bottom))}
.premium-chat-shell .premium-chat-composer textarea{min-height:44px;max-height:140px;resize:none}
.premium-chat-composer textarea{resize:none;min-height:44px;max-height:140px;padding:11px 14px;line-height:22px;font:inherit;font-size:16px;color:#fff;border:1px solid #ffffff1b;border-radius:17px;background:#ffffff07;outline-offset:2px}
.chat-send-button{align-self:end;background:#b489e3;color:#20142e}
.chat-send-button svg{width:19px;transform:rotate(-90deg)}
.chat-send-button:disabled{opacity:.55;cursor:wait}
.chat-compose-status{grid-column:1/-1;text-align:center;font-size:10px;color:#a992bc}
.chat-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;flex:1;text-align:center;min-height:210px;padding:30px 20px}
.chat-empty>span{display:grid;place-items:center;width:68px;height:68px;border-radius:25px;background:linear-gradient(140deg,#5a3e803d,#a587d51c);color:#c7a6f4;margin-bottom:18px}
.chat-empty>span svg{width:30px;height:30px}.chat-empty h3{margin:0 0 9px;font-size:20px}.chat-empty p{font-size:13px;color:#b6a4c6;max-width:30ch;line-height:1.5}
.mini-spinner{width:17px;height:17px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:experience-spin .7s linear infinite}
.event-discovery-header{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:12px 0 24px}
.event-discovery-header h1{font-size:clamp(28px,5vw,44px);line-height:1.05;letter-spacing:-1.3px;margin:10px 0 0}
.event-discovery-header .eyebrow{display:flex;align-items:center;gap:7px;color:#c5a3ed;font-size:11px}
.event-discovery-header .eyebrow svg{width:16px;height:16px}
.event-city-picker{max-width:200px;min-width:125px}
.event-filter-drawer{border:1px solid #ffffff14;border-radius:20px;background:#ffffff03;margin-bottom:16px;overflow:hidden;padding:0 14px}
.event-filter-drawer>summary{display:flex;align-items:center;gap:10px;list-style:none;min-height:52px;cursor:pointer;font-size:13px;color:#d7c7e8}
.event-filter-drawer>summary>span{margin-left:auto;font-size:18px}
.event-filter-drawer .filter-bar{margin:8px 0 12px}.event-filter-drawer .genre-chips{padding-bottom:16px}
.event-filter-drawer .sort-control{display:none}
.event-discovery .event-window-chips{display:flex;flex-wrap:nowrap;gap:8px;overflow:auto;scrollbar-width:none;margin:18px 0 28px;padding:2px 0}
.event-discovery .event-window-chips button{white-space:nowrap;min-height:42px;background:#ffffff05;border:1px solid #ffffff13;border-radius:14px;padding:10px 14px;font:inherit;font-size:12px;color:#b8a9ca;cursor:pointer}
.event-discovery .event-window-chips button.active{background:#ab82d729;border-color:#ad87d866;color:#eadcff}
.event-discovery-section{margin:24px 0 32px;min-width:0}.event-discovery-section>header{display:flex;align-items:center;gap:12px;margin-bottom:16px}.event-discovery-section h2{font-size:23px;letter-spacing:-.5px;margin:0}
.event-discovery-section>header>span{padding:4px 8px;border:1px solid #ffffff16;border-radius:10px;color:#b6a3c8;font-size:11px}
.event-carousel{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(260px,32%);gap:18px;overflow:auto;scroll-snap-type:x proximity;scrollbar-width:none;padding:3px 1px 12px;overscroll-behavior-x:contain}
.premium-event-card{display:flex;flex-direction:column;border:1px solid #ffffff12;background:#171021;border-radius:25px;overflow:hidden;scroll-snap-align:start;min-width:0}
.premium-event-card .event-card-visual{position:relative;width:100%;height:250px;min-height:0;padding:0;border:0;text-align:left;cursor:pointer;overflow:hidden;background:radial-gradient(ellipse at 80% 10%,#8c5dbe8c,transparent 55%),#251933}
.premium-event-card .event-card-visual::after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#0001,#0005)}
.premium-event-card .event-card-visual img{position:absolute;width:100%;height:100%;inset:0;object-fit:cover}
.event-cover-brand{position:absolute;inset:0;display:grid;place-items:center;color:#d2b1f482;font-family:Georgia,serif;font-size:62px}
.premium-event-card .event-date-block{position:absolute;top:16px;left:16px;right:auto;bottom:auto;z-index:1;display:grid;gap:2px;min-width:58px;border:1px solid #ffffffc2;border-radius:17px;padding:10px;background:#f7f1fbeb;backdrop-filter:blur(8px);color:#21162f;text-align:center;transform:none}
.premium-event-card .event-date-block strong{font-size:25px;color:#281a3a;line-height:1}.premium-event-card .event-date-block span{font-size:10px;text-transform:uppercase;font-weight:800}.premium-event-card .event-date-block small{font-size:10px;color:#685473}
.premium-event-card .event-card-content{padding:19px}.premium-event-card .event-card-content h3{font-size:19px;line-height:1.2;letter-spacing:-.4px;margin:8px 0}
.premium-event-card .eyebrow{display:flex;align-items:center;gap:6px;color:#bda0d8;font-size:10px}.premium-event-card .eyebrow svg{width:12px;height:12px}
.premium-event-card .event-card-content>p:not(.eyebrow){color:#bdaecc;font-size:12px;margin:8px 0 14px}.premium-event-card .tag-row{flex-wrap:wrap;gap:5px}.premium-event-card .tag-row span{font-size:10px;padding:5px 8px;background:#a77fcc16;border-color:#a77fcc26}
.premium-event-card .event-card-action{display:flex;gap:12px;align-items:center;margin-top:18px}.premium-event-card .event-card-action strong{font-size:13px}.premium-event-card .event-card-action .button{margin-left:auto;border-color:#a681ca33;min-height:40px;font-size:11px}.premium-event-card .event-card-action svg{width:15px}
.event-discovery-empty{padding:35px 20px 28px;text-align:center;border-radius:28px;background:radial-gradient(ellipse at 50% 0,#70519635,transparent 65%),#120d1b;border:1px solid #ffffff12}
.event-empty-symbol{display:grid;place-items:center;margin:0 auto 18px;width:65px;height:65px;border-radius:24px;color:#d5b8f0;background:#a784d71c}.event-empty-symbol svg{width:29px;height:29px}
.event-discovery-empty h2{font-size:24px;letter-spacing:-.7px;margin:0 0 10px}.event-discovery-empty>p{font-size:13px;color:#baa6ca;max-width:32ch;margin:0 auto 26px;line-height:1.6}
.event-empty-clubs{padding:0;max-width:560px;margin:auto;text-align:left}.event-empty-clubs .editorial-clubs{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;overflow:visible}.event-empty-clubs .editorial-club{max-width:100%;width:auto}.event-empty-clubs .editorial-club>span{width:64px;height:64px;border-radius:20px;border-width:1px}.event-empty-clubs .editorial-club small{font-size:11px;max-width:90px}
@keyframes experience-in{from{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}
@keyframes experience-spin{to{transform:rotate(360deg)}}
@media(max-width:700px){
  .city-editorial-card{border-radius:25px}.city-editorial-media{height:225px}.city-editorial-copy strong{font-size:34px}.city-editorial-copy{left:20px}.city-editorial-card .editorial-strip{padding:2px 18px 20px}.editorial-clubs{gap:10px}
  .preference-experience,.chat-conversations{padding:20px!important}.preference-intro{gap:12px}.preference-intro h2{font-size:23px}.preference-intro>span{width:44px;height:44px;border-radius:15px}
  .experience-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.is-groups .experience-choice-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.is-groups .experience-choice b{font-size:10px}
  .preference-experience form>.experience-choices:first-child .experience-choice-grid,.is-visual .experience-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.is-visual .experience-choice>span{min-height:84px;padding:12px}.is-visual .experience-choice b{font-size:11px}
  .preference-privacy .experience-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.preference-experience .social-sticky-actions>.button-primary{flex:1;min-height:48px}
  .premium-chat-dialog{height:var(--chat-viewport-height,100dvh);width:100%;margin:0;border:0;border-radius:0}.premium-chat-header{padding:12px;gap:9px}.premium-chat-feed{padding:18px 12px!important}.premium-chat-message{max-width:92%}.premium-chat-header .chat-group-avatar{width:40px;height:40px;border-radius:14px}.premium-chat-header strong{font-size:14px}
  .event-discovery-header{align-items:flex-start;gap:10px;padding-top:8px}.event-discovery-header h1{font-size:30px;max-width:9ch}.event-city-picker{max-width:150px;min-width:110px}.event-city-picker .pretty-select-trigger{min-height:44px;padding:11px;font-size:11px}
  .event-carousel{grid-auto-columns:82%;gap:14px;margin-right:-16px;padding-right:16px}.premium-event-card .event-card-visual{height:260px}.event-discovery-section h2{font-size:22px}.event-discovery-empty{padding:30px 16px}.event-empty-clubs .editorial-club>span{width:52px;height:52px;border-radius:17px}.event-empty-clubs .editorial-club small{font-size:9px}.event-empty-clubs .editorial-clubs{gap:6px}
}
@media(prefers-reduced-motion:reduce){.city-editorial-media img,.experience-choice>span,.editorial-club>span{transition:none}.premium-chat-message,.mini-spinner{animation:none}html{scroll-behavior:auto}}

