:root {
  --ink: #18132e;
  --muted: #69617b;
  --paper: #fff7fc;
  --paper-2: #f2edff;
  --white: #ffffff;
  --pink: #ff3ca6;
  --lime: #70f4ef;
  --violet: #7657ff;
  --cyan: #70f4ef;
  --yellow: #ffe66a;
  --line: rgba(56, 38, 104, 0.15);
  --radius: 22px;
  --shadow: 0 25px 75px rgba(81, 50, 151, 0.18);
  --sans: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
  --display: "Arial Black", "Helvetica Neue", Arial, sans-serif;
}

* { box-sizing: border-box; }
html { scroll-behavior: smooth; }
body {
  margin: 0;
  overflow-x: hidden;
  color: var(--ink);
  background:
    radial-gradient(circle at 8% 6%, rgba(255, 60, 166, .11), transparent 28rem),
    radial-gradient(circle at 92% 18%, rgba(112, 244, 239, .12), transparent 32rem),
    var(--paper);
  font-family: var(--sans);
  -webkit-font-smoothing: antialiased;
}
::selection { background: var(--yellow); color: var(--ink); }
a { color: inherit; text-decoration: none; }
button, input { font: inherit; }
button, a { -webkit-tap-highlight-color: transparent; }
:focus-visible { outline: 3px solid var(--pink); outline-offset: 3px; }
[hidden] { display: none !important; }
.skip-link {
  position: fixed;
  z-index: 100;
  top: 10px;
  left: 10px;
  padding: 10px 14px;
  background: var(--ink);
  color: white;
  transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }

.site-header {
  position: sticky;
  z-index: 50;
  top: 0;
  display: grid;
  grid-template-columns: 1fr auto 1fr;
  align-items: center;
  min-height: 78px;
  padding: 0 4vw;
  border-bottom: 1px solid transparent;
  background: rgba(245, 240, 232, 0.92);
  backdrop-filter: blur(18px);
  transition: transform .25s ease, border-color .25s ease;
}
.site-header.scrolled { border-color: var(--line); }
.site-header.header-hidden { transform: translateY(-100%); }
.brand { display: inline-flex; align-items: center; gap: 11px; width: fit-content; font-size: 19px; font-weight: 900; letter-spacing: -.04em; }
.brand-mark {
  display: grid;
  width: 38px;
  height: 38px;
  place-items: center;
  border-radius: 50%;
  background: var(--ink);
  color: var(--lime);
  font-size: 11px;
  letter-spacing: -.02em;
}
.site-header:not(.pro-header) nav { display: flex; gap: 30px; }
.site-header:not(.pro-header) nav a { position: relative; padding: 29px 0 25px; color: var(--muted); font-size: 14px; font-weight: 700; }
.site-header:not(.pro-header) nav a:hover, .site-header:not(.pro-header) nav a[aria-current="page"] { color: var(--ink); }
.site-header:not(.pro-header) nav a[aria-current="page"]::after {
  position: absolute;
  right: 0;
  bottom: 17px;
  left: 0;
  height: 2px;
  background: var(--pink);
  content: "";
}
.header-cta {
  justify-self: end;
  padding: 11px 16px;
  border: 1px solid var(--ink);
  border-radius: 999px;
  font-size: 13px;
  font-weight: 800;
  transition: .2s ease;
}
.header-cta:hover { background: var(--ink); color: white; }

main { overflow: hidden; }
.hero {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(420px, .9fr);
  min-height: 700px;
  padding: 8vw 6vw 7vw;
  align-items: center;
  gap: 6vw;
}
.eyebrow, .kicker {
  margin: 0 0 20px;
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .13em;
  text-transform: uppercase;
}
.eyebrow { display: flex; align-items: center; gap: 10px; }
.eyebrow span { width: 28px; height: 2px; background: var(--pink); }
.hero h1, .page-intro h1, .profile-title h1, .idol-title h1, .not-found h1 {
  max-width: 900px;
  margin: 0;
  font-family: var(--display);
  font-size: clamp(54px, 7.4vw, 118px);
  line-height: .86;
  letter-spacing: -.085em;
  text-transform: uppercase;
}
.hero h1 em { color: var(--pink); font-style: normal; }
.hero-lede {
  max-width: 640px;
  margin: 34px 0;
  color: var(--muted);
  font-size: clamp(17px, 1.5vw, 22px);
  line-height: 1.55;
}
.hero-actions { display: flex; align-items: center; gap: 12px; flex-wrap: wrap; }
.button {
  display: inline-flex;
  min-height: 52px;
  padding: 0 20px;
  align-items: center;
  justify-content: center;
  gap: 22px;
  border: 1px solid var(--ink);
  border-radius: 999px;
  background: transparent;
  color: var(--ink);
  cursor: pointer;
  font-weight: 900;
  transition: transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.button:hover { transform: translateY(-2px); box-shadow: 0 8px 24px rgba(0,0,0,.12); }
.button.primary { background: var(--ink); color: white; }
.button.primary span { color: var(--lime); }
.button.quiet { border-color: var(--line); background: rgba(255,255,255,.4); }
.hero-stats { display: flex; margin: 54px 0 0; gap: 42px; }
.hero-stats div { display: flex; flex-direction: column; }
.hero-stats dt { font-family: var(--display); font-size: 30px; line-height: 1; letter-spacing: -.05em; }
.hero-stats dd { margin: 6px 0 0; color: var(--muted); font-size: 12px; text-transform: uppercase; }
.hero-stack { position: relative; min-height: 560px; }
.stack-card {
  position: absolute;
  display: flex;
  width: min(390px, 82%);
  aspect-ratio: .78;
  padding: 25px;
  flex-direction: column;
  justify-content: space-between;
  border: 1px solid rgba(0,0,0,.2);
  border-radius: 24px;
  background: linear-gradient(145deg, var(--accent-2), var(--accent));
  box-shadow: var(--shadow);
  transition: transform .25s ease;
}
.stack-card > span { align-self: flex-start; padding: 7px 10px; border-radius: 999px; background: rgba(255,255,255,.7); font-size: 11px; font-weight: 900; text-transform: uppercase; }
.stack-card strong { margin-top: auto; color: white; font-family: var(--display); font-size: clamp(42px, 5vw, 74px); line-height: .85; letter-spacing: -.08em; word-break: break-word; }
.stack-card small { margin-top: 14px; color: rgba(255,255,255,.78); text-transform: capitalize; }
.stack-1 { z-index: 3; top: 30px; right: 13%; transform: rotate(2deg); }
.stack-2 { z-index: 2; top: 58px; right: 26%; transform: rotate(-8deg); }
.stack-3 { z-index: 1; top: 80px; right: 2%; transform: rotate(11deg); }
.stack-card:hover { z-index: 5; transform: rotate(0) translateY(-8px); }
.orbit-note {
  position: absolute;
  z-index: 6;
  right: 0;
  bottom: 28px;
  display: flex;
  max-width: 190px;
  padding: 16px;
  gap: 10px;
  border: 1px solid var(--line);
  border-radius: 15px;
  background: var(--white);
  box-shadow: 0 12px 40px rgba(0,0,0,.1);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}
.orbit-note span { color: var(--pink); font-size: 18px; }
.ticker { overflow: hidden; padding: 14px 0; background: var(--ink); color: white; }
.ticker div { display: flex; width: max-content; gap: 28px; animation: marquee 30s linear infinite; }
.ticker span { font-family: var(--display); font-size: 17px; letter-spacing: -.04em; text-transform: uppercase; }
.ticker b { margin-left: 28px; color: var(--lime); }
@keyframes marquee { to { transform: translateX(-45%); } }
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .ticker div { animation: none; }
  *, *::before, *::after { transition-duration: .01ms !important; }
}

.finder-section, .catalog-preview, .trust-strip, .profile-section, .next-members {
  padding: 110px 6vw;
}
.section-heading { margin-bottom: 54px; }
.section-heading.split { display: grid; grid-template-columns: 1fr minmax(280px, 440px); gap: 60px; align-items: end; }
.section-heading.compact { margin-bottom: 34px; }
.section-heading h2, .trust-strip h2 {
  margin: 0;
  font-family: var(--display);
  font-size: clamp(38px, 5vw, 74px);
  line-height: .93;
  letter-spacing: -.065em;
  text-transform: uppercase;
}
.section-heading > p { margin: 0; color: var(--muted); font-size: 17px; line-height: 1.6; }
.kicker { color: var(--pink); }
.finder {
  display: grid;
  grid-template-columns: 1fr 1.3fr .9fr auto;
  padding: 28px;
  gap: 26px;
  border: 1px solid var(--line);
  border-radius: 22px;
  background: var(--white);
  box-shadow: 0 24px 80px rgba(33, 24, 20, .07);
}
.finder fieldset { min-width: 0; margin: 0; padding: 0 24px 0 0; border: 0; border-right: 1px solid var(--line); }
.finder legend { display: flex; margin-bottom: 16px; align-items: center; gap: 8px; font-size: 13px; font-weight: 900; }
.finder legend span { display: grid; width: 22px; height: 22px; place-items: center; border-radius: 50%; background: var(--paper-2); font-size: 10px; }
.choice-row { display: flex; flex-wrap: wrap; gap: 8px; }
.choice-row label { cursor: pointer; }
.choice-row input { position: absolute; opacity: 0; pointer-events: none; }
.choice-row label span {
  display: inline-flex;
  min-height: 44px;
  padding: 9px 12px;
  align-items: center;
  border: 1px solid var(--line);
  border-radius: 999px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 800;
  text-transform: capitalize;
}
.choice-row input:checked + span { border-color: var(--ink); background: var(--ink); color: white; }
.choice-row input:focus-visible + span { outline: 3px solid var(--pink); outline-offset: 2px; }
.finder-submit { align-self: center; white-space: nowrap; }
.finder-result {
  display: grid;
  grid-template-columns: 240px 1fr;
  margin-top: 28px;
  padding: 24px;
  align-items: center;
  gap: 34px;
  border-radius: 24px;
  background: var(--ink);
  color: white;
}
.result-art { display: grid; aspect-ratio: 1; place-items: center; border-radius: 18px; background: linear-gradient(145deg, var(--accent-2), var(--accent)); }
.result-art span { font-family: var(--display); font-size: 72px; letter-spacing: -.08em; }
.result-copy h3 { margin: 0 0 12px; font-family: var(--display); font-size: clamp(42px, 6vw, 84px); line-height: .9; letter-spacing: -.07em; text-transform: uppercase; }
.result-copy > p:not(.kicker) { max-width: 600px; color: rgba(255,255,255,.7); font-size: 18px; line-height: 1.5; }
.result-actions { display: flex; align-items: center; gap: 24px; flex-wrap: wrap; }
.result-actions .button { border-color: white; background: white; color: var(--ink); }
.text-link { font-weight: 900; text-decoration: underline; text-decoration-color: var(--pink); text-underline-offset: 5px; }

.catalog-preview { background: var(--paper-2); }
.group-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.group-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid var(--line);
  border-radius: var(--radius);
  background: var(--white);
  transition: transform .2s ease, box-shadow .2s ease;
}
.group-card:hover { transform: translateY(-5px); box-shadow: 0 18px 50px rgba(0,0,0,.09); }
.card-visual {
  position: relative;
  display: flex;
  min-height: 255px;
  padding: 18px;
  flex-direction: column;
  justify-content: space-between;
  overflow: hidden;
  background: linear-gradient(145deg, var(--accent-2), var(--accent));
}
.card-photo, .stack-photo, .profile-photo {
  position: absolute;
  width: 100%;
  height: 100%;
  inset: 0;
  object-fit: cover;
}
.card-photo { transition: transform .45s ease; }
.group-card:hover .card-photo { transform: scale(1.045); }
.card-shade, .stack-shade, .profile-media-shade {
  position: absolute;
  z-index: 0;
  inset: 0;
  background: linear-gradient(180deg, rgba(13,8,28,.08) 18%, rgba(13,8,28,.2) 48%, rgba(13,8,28,.88) 100%);
}
.card-visual::after {
  position: absolute;
  width: 190px;
  height: 190px;
  right: -55px;
  bottom: -70px;
  border: 42px solid rgba(255,255,255,.16);
  border-radius: 50%;
  content: "";
}
.generation, .member-count { position: relative; z-index: 2; align-self: flex-start; padding: 6px 9px; border-radius: 999px; background: rgba(255,255,255,.78); font-size: 10px; font-weight: 900; text-transform: uppercase; }
.member-count { align-self: flex-end; }
.card-wordmark {
  position: absolute;
  z-index: 2;
  right: 18px;
  bottom: 19px;
  left: 18px;
  overflow-wrap: anywhere;
  color: white;
  font-family: var(--display);
  font-size: clamp(38px, 4.4vw, 68px);
  line-height: .78;
  letter-spacing: -.075em;
  text-transform: uppercase;
}
.card-logo {
  position: absolute;
  z-index: 2;
  bottom: 22px;
  left: 20px;
  width: min(62%, 220px);
  max-height: 82px;
  object-fit: contain;
  object-position: left bottom;
  filter: brightness(0) invert(1) drop-shadow(0 7px 18px rgba(0,0,0,.38));
}
.card-body { padding: 20px; }
.card-heading { display: flex; justify-content: space-between; gap: 15px; }
.card-heading h3 { margin: 0; font-family: var(--display); font-size: 26px; line-height: 1; letter-spacing: -.055em; text-transform: uppercase; }
.card-heading p { margin: 5px 0 0; color: var(--muted); font-size: 12px; }
.arrow { font-size: 22px; }
.card-body > p { min-height: 60px; color: var(--muted); font-size: 13px; line-height: 1.5; }
.pill-list { display: flex; flex-wrap: wrap; gap: 7px; }
.pill-list span { padding: 6px 9px; border: 1px solid var(--line); border-radius: 999px; font-size: 10px; font-weight: 800; text-transform: uppercase; }
.trust-strip { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8vw; background: var(--lime); }
.trust-points { display: grid; grid-template-columns: repeat(3, 1fr); gap: 20px; }
.trust-points article { padding-top: 18px; border-top: 2px solid var(--ink); }
.trust-points span { font-size: 11px; font-weight: 900; }
.trust-points h3 { margin: 34px 0 10px; font-size: 17px; }
.trust-points p { margin: 0; font-size: 13px; line-height: 1.55; }

.page-intro { padding: 110px 6vw 70px; border-bottom: 1px solid var(--line); }
.page-intro h1 { max-width: 1100px; font-size: clamp(60px, 10vw, 150px); }
.page-intro > p:last-child { max-width: 700px; margin: 36px 0 0; color: var(--muted); font-size: 19px; line-height: 1.6; }
.directory-tools { display: grid; grid-template-columns: minmax(280px, 1fr) 2fr auto; padding: 28px 6vw; align-items: center; gap: 20px; border-bottom: 1px solid var(--line); }
.search-box { display: flex; min-height: 48px; padding: 0 15px; align-items: center; gap: 10px; border: 1px solid var(--line); border-radius: 999px; background: var(--white); }
.search-box span { font-size: 25px; transform: rotate(-20deg); }
.search-box input { width: 100%; border: 0; outline: 0; background: transparent; font-size: 13px; }
.filter-buttons { display: flex; gap: 7px; flex-wrap: wrap; }
.filter-buttons button { min-height: 44px; padding: 9px 12px; border: 1px solid var(--line); border-radius: 999px; background: transparent; cursor: pointer; color: var(--muted); font-size: 12px; font-weight: 800; }
.filter-buttons button.active, .filter-buttons button:hover { border-color: var(--ink); background: var(--ink); color: white; }
.result-count { margin: 0; color: var(--muted); font-size: 12px; font-weight: 800; white-space: nowrap; }
.directory-grid { padding: 45px 6vw 110px; }
.empty-state { margin: 60px; text-align: center; color: var(--muted); }

.breadcrumbs { display: flex; padding: 30px 6vw 0; gap: 9px; color: var(--muted); font-size: 12px; }
.breadcrumbs a:hover { color: var(--ink); text-decoration: underline; }
.profile-hero, .idol-hero {
  display: grid;
  grid-template-columns: minmax(260px, .7fr) minmax(360px, 1.2fr) minmax(300px, .8fr);
  padding: 48px 6vw 90px;
  align-items: center;
  gap: 5vw;
}
.profile-monogram, .profile-media, .idol-avatar {
  display: grid;
  width: 100%;
  max-width: 420px;
  aspect-ratio: .82;
  place-items: center;
  border-radius: 24px;
  background: linear-gradient(145deg, var(--accent-2), var(--accent));
  box-shadow: var(--shadow);
  color: white;
  font-family: var(--display);
  font-size: clamp(80px, 10vw, 154px);
  letter-spacing: -.1em;
  text-transform: uppercase;
}
.profile-media {
  position: relative;
  overflow: hidden;
  align-content: end;
  justify-items: start;
  padding: 24px;
  isolation: isolate;
}
.profile-media::after {
  position: absolute;
  z-index: 0;
  inset: 0;
  border: 1px solid rgba(255,255,255,.62);
  border-radius: inherit;
  content: "";
  pointer-events: none;
}
.profile-media strong, .profile-media small, .profile-logo { position: relative; z-index: 2; }
.profile-media strong, .profile-wordmark {
  position: relative;
  z-index: 2;
  max-width: 100%;
  overflow-wrap: anywhere;
  font-size: clamp(42px, 5vw, 76px);
  line-height: .78;
  text-shadow: 0 8px 30px rgba(0,0,0,.48);
}
.profile-logo {
  width: min(72%, 280px);
  max-height: 130px;
  object-fit: contain;
  object-position: left bottom;
  filter: brightness(0) invert(1) drop-shadow(0 10px 25px rgba(0,0,0,.45));
}
.profile-media small {
  display: inline-flex;
  margin-top: 18px;
  padding: 9px 12px;
  align-items: center;
  gap: 8px;
  border: 1px solid rgba(255,255,255,.5);
  border-radius: 999px;
  background: rgba(255,255,255,.88);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .03em;
  text-transform: none;
  backdrop-filter: blur(10px);
}
.profile-media small span { color: var(--pink); }
.profile-title h1, .idol-title h1 { font-size: clamp(62px, 8vw, 130px); }
.korean-name, .idol-title > p { margin: 12px 0 0; color: var(--muted); font-size: 20px; }
.profile-description, .idol-intro { max-width: 650px; margin: 30px 0; font-size: 17px; line-height: 1.65; }
.facts-card { margin: 0; padding: 12px 22px; border: 1px solid var(--line); border-radius: 20px; background: var(--white); }
.facts-card div { display: grid; grid-template-columns: 90px 1fr; padding: 17px 0; gap: 15px; border-bottom: 1px solid var(--line); }
.facts-card div:last-child { border-bottom: 0; }
.facts-card dt { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.facts-card dd { margin: 0; font-size: 13px; font-weight: 800; }
.status-dot { display: inline-block; width: 7px; height: 7px; margin-right: 7px; border-radius: 50%; background: #22b55c; }
.status-dot.paused { background: #d88b22; }
.profile-section { border-top: 1px solid var(--line); }
.section-label { display: grid; grid-template-columns: 40px 1fr auto; margin-bottom: 34px; align-items: baseline; gap: 12px; }
.section-label > span { color: var(--pink); font-size: 11px; font-weight: 900; }
.section-label h2 { margin: 0; font-family: var(--display); font-size: clamp(34px, 4vw, 58px); letter-spacing: -.06em; text-transform: uppercase; }
.section-label p { margin: 0; color: var(--muted); font-size: 12px; }
.member-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 14px; }
.member-card { position: relative; display: grid; grid-template-columns: 74px 1fr auto; padding: 12px; align-items: center; gap: 14px; border: 1px solid var(--line); border-radius: 15px; background: var(--white); }
.member-avatar { position: relative; display: grid; width: 74px; height: 86px; overflow: hidden; place-items: center; border-radius: 10px; background: linear-gradient(145deg, var(--accent-2), var(--accent)); color: white; font-family: var(--display); font-size: 34px; }
.member-card-photo { position: absolute; z-index: 1; width: 100%; height: 100%; inset: 0; object-fit: cover; }
.member-avatar > span { position: relative; z-index: 2; text-shadow: 0 2px 12px rgba(0,0,0,.7); }
.member-avatar.has-member-photo > span { opacity: 0; }
.member-card p { margin: 0 0 5px; color: var(--muted); font-size: 9px; font-weight: 800; text-transform: uppercase; }
.member-card h3 { margin: 0; font-size: 15px; }
.member-card small { color: var(--muted); font-size: 10px; }
.member-arrow { padding: 8px; font-size: 18px; }
.two-column { display: grid; grid-template-columns: 1fr 1fr; gap: 7vw; }
.song-list { margin: 0; padding: 0; list-style: none; border-top: 1px solid var(--line); }
.song-list li { display: grid; grid-template-columns: 45px 1fr; padding: 19px 0; align-items: center; border-bottom: 1px solid var(--line); }
.song-list > li > span { color: var(--pink); font-size: 11px; font-weight: 900; }
.song-list a { display: flex; justify-content: space-between; gap: 15px; }
.song-list small { color: var(--muted); }
.social-grid { display: grid; gap: 9px; }
.social-grid > a { display: grid; grid-template-columns: 42px 1fr auto; min-height: 66px; padding: 10px 14px; align-items: center; gap: 12px; border: 1px solid var(--line); border-radius: 12px; background: var(--white); transition: border-color .2s ease, transform .2s ease; }
.social-grid > a:hover { border-color: var(--ink); transform: translateX(3px); }
.social-icon { display: grid; width: 38px; height: 38px; place-items: center; border-radius: 50%; background: var(--ink); color: white; font-size: 13px; font-weight: 900; }
.social-grid strong, .social-grid small { display: block; }
.social-grid strong { font-size: 13px; }
.social-grid small { margin-top: 3px; color: var(--muted); font-size: 10px; }
.source-panel { display: flex; margin: 0 6vw 110px; padding: 23px; align-items: center; justify-content: space-between; gap: 30px; border-radius: 16px; background: var(--ink); color: white; }
.source-panel > div { display: flex; align-items: center; gap: 15px; }
.verified-badge { display: grid; width: 42px; height: 42px; place-items: center; border-radius: 50%; background: var(--lime); color: var(--ink); font-weight: 900; }
.source-panel strong { font-size: 14px; }
.source-panel p { margin: 4px 0 0; color: rgba(255,255,255,.6); font-size: 11px; }
.source-panel ul { display: flex; margin: 0; padding: 0; justify-content: flex-end; gap: 14px 20px; flex-wrap: wrap; list-style: none; }
.source-panel a { font-size: 11px; font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.idol-hero { grid-template-columns: minmax(280px, .75fr) 1fr minmax(310px, .75fr); }
.idol-avatar { position: relative; aspect-ratio: .88; }
.idol-avatar small { position: absolute; right: 18px; bottom: 18px; padding: 7px 9px; border-radius: 999px; background: rgba(255,255,255,.78); color: var(--ink); font-family: var(--sans); font-size: 9px; letter-spacing: .08em; text-transform: uppercase; }
.idol-facts div { grid-template-columns: 80px 1fr; }
.idol-content { align-items: start; }
.account-note, .editorial-note { padding: 22px; border: 1px solid var(--line); border-radius: 15px; background: var(--white); }
.account-note { margin-bottom: 12px; border-left: 5px solid var(--pink); }
.account-note strong { font-size: 14px; }
.account-note p, .editorial-note p { color: var(--muted); font-size: 13px; line-height: 1.65; }
.editorial-note p:first-child { margin-top: 0; color: var(--ink); font-size: 17px; }
.next-members { border-top: 1px solid var(--line); background: var(--paper-2); }

.verification-intro { background: var(--lime); }
.standards-grid { display: grid; grid-template-columns: repeat(3, 1fr); padding: 80px 6vw; gap: 1px; background: var(--line); }
.standards-grid article { min-height: 310px; padding: 28px; background: var(--paper); }
.standards-grid span { color: var(--pink); font-size: 11px; font-weight: 900; }
.standards-grid h2 { max-width: 320px; margin: 80px 0 14px; font-family: var(--display); font-size: 28px; line-height: 1; letter-spacing: -.05em; text-transform: uppercase; }
.standards-grid p { max-width: 370px; margin: 0; color: var(--muted); font-size: 13px; line-height: 1.6; }
.verification-summary { display: grid; grid-template-columns: 1fr repeat(3, auto); padding: 70px 6vw; align-items: end; gap: 6vw; background: var(--ink); color: white; }
.verification-summary > div { display: flex; flex-direction: column; }
.verification-summary strong { font-family: var(--display); font-size: 38px; letter-spacing: -.06em; }
.verification-summary span { margin-top: 5px; color: rgba(255,255,255,.6); font-size: 10px; text-transform: uppercase; }
.correction-layout { display: grid; grid-template-columns: minmax(0, 1.2fr) minmax(300px, .8fr); padding: 0 6vw 110px; gap: 7vw; align-items: start; }
.correction-form { display: grid; padding: 34px; gap: 22px; border: 1px solid var(--line); border-radius: 22px; background: var(--white); box-shadow: 0 24px 80px rgba(33, 24, 20, .07); }
.field { display: grid; gap: 8px; }
.field label { font-size: 12px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.field label span, .field small, .form-note { color: var(--muted); font-size: 11px; font-weight: 500; text-transform: none; }
.field input, .field textarea { width: 100%; min-height: 48px; padding: 13px 14px; border: 1px solid var(--line); border-radius: 12px; outline: 0; background: var(--paper); color: var(--ink); resize: vertical; }
.field input:focus, .field textarea:focus { border-color: var(--ink); box-shadow: 0 0 0 3px rgba(255,63,128,.18); }
.correction-form .button { justify-self: start; }
.form-note { margin: -8px 0 0; line-height: 1.5; }
.correction-guide { position: sticky; top: 110px; padding: 34px; border-radius: 22px; background: var(--ink); color: white; }
.correction-guide ol { display: grid; margin: 30px 0 0; padding: 0; gap: 24px; list-style: none; }
.correction-guide li { display: grid; grid-template-columns: 38px 1fr; gap: 12px; }
.correction-guide li > span { color: var(--lime); font-size: 11px; font-weight: 900; }
.correction-guide strong { font-size: 15px; }
.correction-guide p { margin: 6px 0 0; color: rgba(255,255,255,.62); font-size: 12px; line-height: 1.55; }
.not-found { min-height: 68vh; padding: 10vw 6vw; }
.not-found p:not(.kicker) { color: var(--muted); font-size: 18px; }
.not-found .button { margin-top: 22px; }

.site-footer { display: grid; grid-template-columns: 1fr auto; padding: 60px 6vw 34px; gap: 40px; background: var(--ink); color: white; }
.footer-brand .brand-mark { background: var(--lime); color: var(--ink); }
.site-footer p { color: rgba(255,255,255,.55); font-size: 12px; }
.footer-links { display: flex; gap: 24px; font-size: 12px; font-weight: 800; }
.legal { grid-column: 1 / -1; max-width: 760px; margin: 28px 0 0; padding-top: 22px; border-top: 1px solid rgba(255,255,255,.15); line-height: 1.5; }

/* K-pop editorial visual system */
.site-header {
  border-bottom-color: rgba(118, 87, 255, .11);
  background: rgba(255, 247, 252, .82);
  box-shadow: 0 8px 30px rgba(80, 48, 146, .06);
  backdrop-filter: blur(22px) saturate(1.35);
}
.brand { letter-spacing: -.055em; }
.brand-mark {
  border: 1px solid rgba(255,255,255,.8);
  background: linear-gradient(135deg, var(--pink), var(--violet) 56%, #3edfd7);
  box-shadow: 0 8px 22px rgba(118, 87, 255, .3), inset 0 1px rgba(255,255,255,.45);
  color: white;
}
.site-header:not(.pro-header) nav a[aria-current="page"]::after {
  height: 3px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--pink), var(--violet), var(--cyan));
}
.header-cta {
  border-color: transparent;
  background: linear-gradient(110deg, var(--pink), var(--violet));
  box-shadow: 0 10px 24px rgba(118, 87, 255, .22);
  color: white;
}
.header-cta:hover {
  background: linear-gradient(110deg, #ec278f, #6142ed);
  box-shadow: 0 12px 30px rgba(118, 87, 255, .32);
}

.hero {
  position: relative;
  isolation: isolate;
  border-bottom: 1px solid rgba(118, 87, 255, .13);
  background:
    radial-gradient(circle at 14% 22%, rgba(255, 230, 106, .45), transparent 18rem),
    radial-gradient(circle at 82% 16%, rgba(255, 60, 166, .25), transparent 24rem),
    radial-gradient(circle at 74% 82%, rgba(112, 244, 239, .27), transparent 24rem),
    linear-gradient(135deg, #fff9fd 0%, #f4efff 53%, #eaffff 100%);
}
.hero::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  opacity: .5;
  background-image:
    radial-gradient(circle, rgba(118,87,255,.32) 1px, transparent 1.5px),
    linear-gradient(115deg, transparent 48%, rgba(255,255,255,.72) 49%, transparent 50%);
  background-size: 24px 24px, 100% 100%;
  content: "";
  mask-image: linear-gradient(to right, black, transparent 70%);
}
.hero::after {
  position: absolute;
  z-index: -1;
  top: 10%;
  left: 48%;
  width: 260px;
  height: 260px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 46% 54% 66% 34% / 44% 42% 58% 56%;
  background: linear-gradient(145deg, rgba(255,255,255,.4), rgba(118,87,255,.08));
  box-shadow: inset 0 0 45px rgba(255,255,255,.5);
  content: "";
  transform: rotate(18deg);
}
.eyebrow span {
  height: 3px;
  border-radius: 99px;
  background: linear-gradient(90deg, var(--pink), var(--violet));
}
.hero h1 {
  filter: drop-shadow(0 10px 24px rgba(81, 50, 151, .09));
}
.hero h1 em {
  background: linear-gradient(105deg, var(--pink), var(--violet) 58%, #27c9c3);
  background-clip: text;
  color: transparent;
  -webkit-background-clip: text;
}
.button {
  border-color: rgba(55, 38, 100, .3);
  background: rgba(255,255,255,.68);
  box-shadow: inset 0 1px rgba(255,255,255,.7);
  backdrop-filter: blur(10px);
}
.button:hover { box-shadow: 0 12px 30px rgba(89, 51, 168, .18); }
.button.primary {
  border-color: transparent;
  background: linear-gradient(110deg, #201839, #5233c8);
  box-shadow: 0 12px 28px rgba(63, 40, 126, .28);
}
.button.primary span { color: var(--cyan); }
.button.quiet { border-color: rgba(118,87,255,.22); background: rgba(255,255,255,.68); }
.hero-stats div {
  padding-left: 14px;
  border-left: 3px solid transparent;
  border-image: linear-gradient(var(--pink), var(--violet)) 1;
}
.stack-card {
  overflow: hidden;
  border: 2px solid rgba(255,255,255,.78);
  box-shadow: 0 26px 65px rgba(68, 35, 137, .24), inset 0 1px rgba(255,255,255,.55);
}
.stack-photo { z-index: 0; }
.stack-shade { z-index: 1; }
.stack-card > span:not(.stack-shade), .stack-card > strong, .stack-card > small { position: relative; z-index: 2; }
.stack-card::before, .card-visual::before, .profile-monogram::before, .idol-avatar::before {
  position: absolute;
  inset: 0;
  background:
    linear-gradient(120deg, transparent 15%, rgba(255,255,255,.28) 34%, transparent 52%),
    radial-gradient(circle at 78% 18%, rgba(255,255,255,.65) 0 2px, transparent 3px),
    radial-gradient(circle at 84% 24%, rgba(255,255,255,.48) 0 1px, transparent 2px);
  content: "";
  pointer-events: none;
}
.stack-card > span, .generation, .member-count {
  border: 1px solid rgba(255,255,255,.72);
  background: rgba(255,255,255,.72);
  box-shadow: 0 6px 18px rgba(44, 25, 87, .11);
  backdrop-filter: blur(9px);
}
.orbit-note {
  border-color: rgba(118,87,255,.2);
  background: rgba(255,255,255,.86);
  box-shadow: 0 18px 45px rgba(86,49,157,.18);
  backdrop-filter: blur(12px);
}
.ticker {
  background: linear-gradient(90deg, #1c1534, #5834cf 48%, #1c1534);
  box-shadow: inset 0 1px rgba(255,255,255,.14);
}
.ticker b { color: var(--yellow); }

.finder-section {
  background:
    radial-gradient(circle at 92% 12%, rgba(255,60,166,.1), transparent 23rem),
    var(--paper);
}
.kicker {
  background: linear-gradient(90deg, var(--pink), var(--violet));
  background-clip: text;
  color: transparent;
  -webkit-background-clip: text;
}
.finder {
  border-color: rgba(118,87,255,.18);
  background: rgba(255,255,255,.8);
  box-shadow: 0 30px 80px rgba(84, 50, 152, .13), inset 0 1px rgba(255,255,255,.85);
  backdrop-filter: blur(18px);
}
.finder legend span {
  background: linear-gradient(135deg, #ffe3f3, #e4ddff);
  color: #5036b5;
}
.choice-row label span { background: rgba(255,255,255,.74); }
.choice-row input:checked + span {
  border-color: transparent;
  background: linear-gradient(110deg, var(--pink), var(--violet));
  box-shadow: 0 7px 18px rgba(118,87,255,.24);
}
.finder-result, .verification-summary {
  background:
    radial-gradient(circle at 80% 10%, rgba(112,244,239,.18), transparent 16rem),
    linear-gradient(120deg, #18122d, #3d247d);
  box-shadow: 0 26px 65px rgba(48, 27, 101, .22);
}

.catalog-preview, .next-members {
  background:
    radial-gradient(circle at 15% 0%, rgba(255,60,166,.09), transparent 24rem),
    linear-gradient(180deg, #f2edff, #fff8fc);
}
.group-card {
  border-color: rgba(118,87,255,.16);
  box-shadow: 0 12px 34px rgba(73,44,135,.08);
}
.group-card:hover {
  border-color: rgba(255,60,166,.32);
  box-shadow: 0 24px 56px rgba(83,48,154,.18);
}
.card-visual { border-bottom: 1px solid rgba(255,255,255,.52); }
.card-visual::after {
  border-color: rgba(255,255,255,.22);
  box-shadow: 0 0 0 20px rgba(255,255,255,.06);
}
.card-monogram {
  text-shadow: 0 8px 25px rgba(35,18,75,.22);
  -webkit-text-stroke: 1px rgba(255,255,255,.35);
}
.pill-list span {
  border-color: rgba(118,87,255,.14);
  background: linear-gradient(110deg, #fff0f8, #f0ecff);
  color: #5e4a85;
}
.trust-strip {
  background:
    radial-gradient(circle at 8% 30%, rgba(255,255,255,.64), transparent 17rem),
    linear-gradient(112deg, var(--yellow), #8af7ee 58%, #d5caff);
}

.page-intro {
  position: relative;
  background:
    radial-gradient(circle at 85% 30%, rgba(112,244,239,.28), transparent 22rem),
    radial-gradient(circle at 10% 20%, rgba(255,60,166,.18), transparent 20rem),
    linear-gradient(130deg, #fff8fc, #f1edff);
}
.directory-tools { background: rgba(255,255,255,.52); backdrop-filter: blur(14px); }
.search-box, .facts-card, .member-card, .social-grid > a, .account-note, .editorial-note, .correction-form {
  border-color: rgba(118,87,255,.16);
  box-shadow: 0 10px 30px rgba(77,45,144,.07);
}
.filter-buttons button { background: rgba(255,255,255,.58); }
.filter-buttons button.active, .filter-buttons button:hover {
  border-color: transparent;
  background: linear-gradient(110deg, var(--pink), var(--violet));
  box-shadow: 0 7px 18px rgba(118,87,255,.2);
}
.profile-hero, .idol-hero {
  background:
    radial-gradient(circle at 92% 18%, rgba(112,244,239,.15), transparent 22rem),
    radial-gradient(circle at 8% 70%, rgba(255,60,166,.1), transparent 24rem);
}
.profile-monogram, .profile-media, .idol-avatar {
  position: relative;
  overflow: hidden;
  border: 2px solid rgba(255,255,255,.8);
  box-shadow: 0 28px 70px rgba(72,39,143,.22), inset 0 1px rgba(255,255,255,.5);
}
.member-card { transition: transform .2s ease, box-shadow .2s ease; }
.member-card:hover { transform: translateY(-3px); box-shadow: 0 16px 36px rgba(78,45,145,.13); }
.member-avatar { box-shadow: inset 0 1px rgba(255,255,255,.5), 0 7px 18px rgba(75,42,143,.14); }
.social-grid > a:hover {
  border-color: rgba(255,60,166,.35);
  box-shadow: 0 14px 32px rgba(77,45,144,.11);
}
.social-icon {
  background: linear-gradient(135deg, var(--pink), var(--violet));
  box-shadow: 0 7px 18px rgba(118,87,255,.25);
}
.source-panel, .correction-guide {
  background:
    radial-gradient(circle at 8% 10%, rgba(255,60,166,.23), transparent 12rem),
    linear-gradient(120deg, #18122d, #3d247d);
  box-shadow: 0 24px 55px rgba(48,27,101,.2);
}
.verified-badge {
  background: linear-gradient(135deg, var(--yellow), var(--cyan));
  box-shadow: 0 8px 22px rgba(112,244,239,.2);
}
.verification-intro {
  background:
    radial-gradient(circle at 90% 20%, rgba(255,255,255,.68), transparent 18rem),
    linear-gradient(120deg, var(--yellow), var(--cyan));
}
.standards-grid { background: rgba(118,87,255,.16); }
.standards-grid article { background: linear-gradient(145deg, #fffafd, #f5f1ff); }
.correction-form { background: rgba(255,255,255,.84); backdrop-filter: blur(16px); }
.field input, .field textarea { border-color: rgba(118,87,255,.16); background: #fbf9ff; }
.field input:focus, .field textarea:focus { border-color: var(--violet); box-shadow: 0 0 0 3px rgba(118,87,255,.15); }
.site-footer {
  background:
    radial-gradient(circle at 15% 0%, rgba(255,60,166,.2), transparent 18rem),
    linear-gradient(115deg, #17112b, #33206a);
}
.footer-brand .brand-mark {
  background: linear-gradient(135deg, var(--yellow), var(--cyan));
  color: var(--ink);
}

.nav-symbol { display: none; }
.card-actions { display: flex; align-items: center; gap: 9px; }
.favorite-button {
  display: grid;
  width: 38px;
  height: 38px;
  padding: 0;
  place-items: center;
  border: 1px solid rgba(118,87,255,.16);
  border-radius: 50%;
  background: #fff8fc;
  color: var(--ink);
  cursor: pointer;
  font-size: 20px;
  line-height: 1;
  transition: transform .2s ease, background .2s ease, color .2s ease;
}
.favorite-button:hover { transform: scale(1.08); }
.favorite-button[aria-pressed="true"] {
  border-color: transparent;
  background: linear-gradient(135deg, var(--pink), var(--violet));
  box-shadow: 0 8px 20px rgba(118,87,255,.25);
  color: white;
}
.new-badge {
  position: absolute;
  z-index: 3;
  top: 18px;
  right: 18px;
  padding: 6px 9px;
  border: 1px solid rgba(255,255,255,.75);
  border-radius: 999px;
  background: rgba(255,230,106,.88);
  box-shadow: 0 6px 18px rgba(44,25,87,.11);
  color: var(--ink);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  backdrop-filter: blur(9px);
}
.fresh-preview {
  padding: 110px 6vw;
  background:
    radial-gradient(circle at 88% 6%, rgba(255,230,106,.3), transparent 24rem),
    radial-gradient(circle at 8% 90%, rgba(112,244,239,.18), transparent 24rem),
    #fffafd;
}
.fresh-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 22px; }
.fresh-card .card-visual { min-height: 225px; }
.section-cta { display: flex; margin-top: 34px; justify-content: center; }
.profile-actions {
  display: flex;
  margin-top: 28px;
  align-items: center;
  gap: 10px;
  flex-wrap: wrap;
}
.profile-actions .button { min-height: 46px; padding-inline: 16px; gap: 9px; font-size: 12px; }
.favorite-profile[aria-pressed="true"] {
  border-color: transparent;
  background: linear-gradient(110deg, var(--pink), var(--violet));
  color: white;
}
.inline-correction {
  padding: 10px 4px;
  color: var(--muted);
  font-size: 11px;
  font-weight: 800;
  text-decoration: underline;
  text-decoration-color: rgba(255,60,166,.55);
  text-underline-offset: 4px;
}
.inline-correction:hover { color: var(--ink); }
.idol-media {
  display: flex;
  margin: 0;
  padding: 22px;
  align-items: flex-start;
  justify-content: flex-end;
  flex-direction: column;
  isolation: isolate;
  text-transform: none;
}
.idol-photo, .idol-media-shade {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
}
.idol-photo { z-index: 0; object-fit: cover; }
.portrait-placeholder {
  position: absolute;
  z-index: 0;
  inset: 0;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at 72% 18%, rgba(255,255,255,.38), transparent 26%),
    linear-gradient(145deg, var(--accent-2), var(--accent));
  color: rgba(255,255,255,.72);
  font-family: var(--display);
  font-size: clamp(180px, 24vw, 340px);
  line-height: 1;
  text-transform: uppercase;
}
.idol-media.has-member-photo .portrait-placeholder { opacity: 0; }
.idol-media-shade {
  z-index: 1;
  background: linear-gradient(180deg, rgba(13,8,28,.05), rgba(13,8,28,.18) 42%, rgba(13,8,28,.92));
}
.idol-media > strong, .idol-media > small, .idol-media-tag, .portrait-source { position: relative; z-index: 2; }
.idol-media > strong {
  max-width: 100%;
  overflow-wrap: anywhere;
  color: white;
  font-size: clamp(44px, 5.5vw, 82px);
  line-height: .78;
  letter-spacing: -.075em;
  text-shadow: 0 9px 28px rgba(0,0,0,.52);
  text-transform: uppercase;
}
.idol-media .idol-media-tag {
  position: absolute;
  top: 18px;
  left: 18px;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.72);
  border-radius: 999px;
  background: rgba(255,255,255,.78);
  color: var(--ink);
  font-family: var(--sans);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
  backdrop-filter: blur(9px);
}
.idol-media > small {
  position: relative;
  right: auto;
  bottom: auto;
  display: inline-flex;
  margin-top: 15px;
  align-items: center;
  gap: 8px;
  background: rgba(255,255,255,.88);
  font-weight: 900;
  letter-spacing: 0;
  text-transform: none;
}
.idol-media > small span { color: var(--pink); }
.portrait-source {
  display: inline-flex;
  margin-top: 10px;
  padding: 7px 10px;
  border: 1px solid rgba(255,255,255,.48);
  border-radius: 999px;
  background: rgba(20,14,39,.62);
  color: white;
  font-family: var(--sans);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .02em;
  text-transform: none;
  backdrop-filter: blur(8px);
}
.member-photo { transition: opacity .25s ease, filter .25s ease; }
.member-photo:not(.is-loaded) { opacity: 0; }
.footer-status {
  grid-column: 1 / -1;
  display: flex;
  padding-top: 24px;
  align-items: center;
  gap: 9px;
  border-top: 1px solid rgba(255,255,255,.15);
  color: rgba(255,255,255,.68);
  font-size: 11px;
  font-weight: 700;
}
.footer-status span {
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: var(--cyan);
  box-shadow: 0 0 0 5px rgba(112,244,239,.12);
}
.legal { margin-top: 0; padding-top: 0; border-top: 0; }
.toast {
  position: fixed;
  z-index: 100;
  right: 22px;
  bottom: 22px;
  max-width: min(360px, calc(100vw - 32px));
  padding: 14px 18px;
  border: 1px solid rgba(255,255,255,.2);
  border-radius: 999px;
  background: #18122d;
  box-shadow: 0 18px 45px rgba(48,27,101,.28);
  color: white;
  font-size: 12px;
  font-weight: 800;
}

@media (max-width: 1100px) {
  .hero { grid-template-columns: 1fr .75fr; }
  .hero-stack { min-height: 480px; }
  .stack-card { width: 90%; }
  .finder { grid-template-columns: 1fr 1fr; }
  .finder fieldset { border-right: 0; }
  .finder-submit { justify-self: start; }
  .group-grid { grid-template-columns: repeat(2, 1fr); }
  .fresh-grid { grid-template-columns: repeat(2, 1fr); }
  .member-grid { grid-template-columns: repeat(2, 1fr); }
  .profile-hero, .idol-hero { grid-template-columns: .8fr 1.2fr; }
  .facts-card { grid-column: 1 / -1; display: grid; grid-template-columns: repeat(5, 1fr); }
  .idol-facts { grid-template-columns: repeat(4, 1fr); }
  .facts-card div { display: block; padding: 15px; border-right: 1px solid var(--line); border-bottom: 0; }
  .facts-card div:last-child { border-right: 0; }
  .facts-card dd { margin-top: 7px; }
  .directory-tools { grid-template-columns: 1fr; }
  .result-count { justify-self: start; }
}

@media (max-width: 760px) {
  .site-header { grid-template-columns: 1fr auto; min-height: 66px; padding: 0 18px; }
  .site-header.header-hidden { transform: none; }
  .site-header:not(.pro-header) nav { position: fixed; right: 0; bottom: 0; left: 0; z-index: 60; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border-top: 1px solid rgba(118,87,255,.16); background: rgba(255,255,255,.92); box-shadow: 0 -12px 34px rgba(71,41,132,.12); backdrop-filter: blur(18px) saturate(1.25); }
  .site-header:not(.pro-header) nav a { display: flex; min-height: 58px; padding: 9px 5px 8px; align-items: center; justify-content: center; gap: 3px; flex-direction: column; text-align: center; font-size: 10px; }
  .nav-symbol { display: block; color: var(--violet); font-size: 15px; line-height: 1; }
  .site-header:not(.pro-header) nav a[aria-current="page"]::after { top: 0; bottom: auto; }
  .header-cta { min-height: 44px; padding: 9px 12px; font-size: 11px; }
  .hero { display: block; min-height: auto; padding: 80px 20px 50px; }
  .hero::before { mask-image: linear-gradient(to bottom, black, transparent 75%); }
  .hero::after { top: 12%; right: -80px; left: auto; width: 190px; height: 190px; opacity: .7; }
  .hero h1 { font-size: clamp(54px, 18vw, 82px); }
  .hero-stack { min-height: 430px; margin-top: 50px; }
  .stack-card { right: 5%; width: 82%; }
  .stack-2 { right: 13%; }
  .stack-3 { right: 0; }
  .orbit-note { bottom: 0; }
  .hero-stats { gap: 24px; justify-content: space-between; }
  .hero-stats dt { font-size: 23px; }
  .finder-section, .catalog-preview, .fresh-preview, .trust-strip, .profile-section, .next-members { padding: 70px 20px; }
  .section-heading.split { display: block; }
  .section-heading > p { margin-top: 20px; }
  .finder { grid-template-columns: 1fr; padding: 18px; }
  .finder fieldset { padding: 0 0 18px; border-bottom: 1px solid var(--line); }
  .finder-result { grid-template-columns: 1fr; }
  .result-art { width: 130px; }
  .result-art span { font-size: 44px; }
  .group-grid { grid-template-columns: 1fr; }
  .fresh-grid {
    display: flex;
    margin-right: -20px;
    padding: 4px 20px 26px 0;
    gap: 14px;
    overflow-x: auto;
    scroll-snap-type: x mandatory;
    scrollbar-width: none;
  }
  .fresh-grid::-webkit-scrollbar { display: none; }
  .fresh-card { min-width: min(82vw, 360px); scroll-snap-align: start; }
  .section-cta { margin-top: 10px; justify-content: stretch; }
  .section-cta .button { width: 100%; }
  .card-visual { min-height: 240px; }
  .trust-strip { display: block; }
  .trust-points { grid-template-columns: 1fr; margin-top: 50px; }
  .trust-points h3 { margin-top: 18px; }
  .page-intro { padding: 80px 20px 48px; }
  .page-intro h1 { font-size: clamp(53px, 18vw, 92px); }
  .directory-tools { padding: 20px; }
  .directory-grid { padding: 30px 20px 80px; }
  .breadcrumbs { padding: 22px 20px 0; overflow-x: auto; white-space: nowrap; }
  .profile-hero, .idol-hero { display: block; padding: 32px 20px 70px; }
  .profile-monogram, .profile-media, .idol-avatar { width: 72%; margin-bottom: 45px; }
  .profile-title h1, .idol-title h1 { font-size: clamp(58px, 20vw, 92px); }
  .profile-actions { align-items: stretch; }
  .profile-actions .button { flex: 1; }
  .facts-card, .idol-facts { display: block; margin-top: 35px; }
  .facts-card div { display: grid; grid-template-columns: 85px 1fr; padding: 16px 0; border-right: 0; border-bottom: 1px solid var(--line); }
  .section-label { grid-template-columns: 30px 1fr; }
  .section-label p { grid-column: 2; }
  .member-grid { grid-template-columns: 1fr; }
  .two-column { grid-template-columns: 1fr; }
  .song-list { margin-bottom: 60px; }
  .song-list a { display: block; }
  .song-list small { display: block; margin-top: 5px; }
  .source-panel { display: block; margin: 0 20px 80px; }
  .source-panel ul { display: block; margin-top: 20px; padding-left: 58px; }
  .source-panel li + li { margin-top: 10px; }
  .standards-grid { grid-template-columns: 1fr; padding: 1px 20px 70px; }
  .standards-grid article { min-height: auto; }
  .standards-grid h2 { margin-top: 45px; }
  .verification-summary { grid-template-columns: 1fr; padding: 60px 20px; }
  .correction-layout { grid-template-columns: 1fr; padding: 0 20px 80px; }
  .correction-form { padding: 22px 18px; }
  .correction-form .button { width: 100%; }
  .correction-guide { position: static; padding: 24px; }
  .site-footer { grid-template-columns: 1fr; padding: 55px 20px 100px; }
  .footer-links { flex-wrap: wrap; }
  .toast { right: 16px; bottom: 76px; border-radius: 16px; }
}

@media (max-width: 400px) {
  .site-header { padding: 0 12px; }
  .brand { font-size: 17px; }
  .brand-mark { width: 34px; height: 34px; }
  .header-cta { padding-inline: 10px; }
  .hero { padding-inline: 16px; }
  .hero-actions .button { width: 100%; }
  .hero-stats { gap: 12px; }
  .hero-stats dd { font-size: 10px; }
  .finder-section, .catalog-preview, .fresh-preview, .trust-strip, .profile-section, .next-members { padding-inline: 16px; }
  .profile-monogram, .profile-media, .idol-avatar { width: 100%; }
  .member-card { grid-template-columns: 64px 1fr auto; gap: 10px; }
  .member-avatar { width: 64px; height: 76px; }
  .source-panel { margin-inline: 16px; }
  .source-panel ul { padding-left: 0; }
  .profile-actions .button { flex-basis: 100%; }
  .inline-correction { width: 100%; text-align: center; }
}

/* Mobile readability and hierarchy polish */
.section-label > span {
  display: grid;
  width: 32px;
  height: 32px;
  place-items: center;
  border-radius: 50%;
  background: linear-gradient(135deg, var(--pink), var(--violet));
  box-shadow: 0 7px 18px rgba(118, 87, 255, .22);
  color: white;
  font-family: var(--sans);
  font-size: 10px;
  letter-spacing: .03em;
}
.section-label {
  grid-template-columns: 40px 1fr auto;
  align-items: center;
}
.song-list li {
  grid-template-columns: 52px 1fr;
}
.song-list > li > span {
  display: grid;
  width: 34px;
  height: 26px;
  place-items: center;
  border: 1px solid rgba(118, 87, 255, .22);
  border-radius: 999px;
  background: #f4f0ff;
  color: #625a75;
  font-family: ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;
  font-size: 11px;
  font-variant-numeric: tabular-nums;
  letter-spacing: .04em;
}

@media (max-width: 760px) {
  body { padding-bottom: env(safe-area-inset-bottom); }

  .site-header {
    min-height: 64px;
    padding: 0 16px;
  }
  .brand { font-size: 18px; }
  .brand-mark { width: 36px; height: 36px; }
  .site-header:not(.pro-header) nav { padding-bottom: env(safe-area-inset-bottom); }
  .site-header:not(.pro-header) nav a {
    min-height: 64px;
    padding: 9px 6px;
    gap: 5px;
    font-size: 11px;
  }
  .nav-symbol { font-size: 18px; }

  .hero { padding: 56px 20px 46px; }
  .hero h1 {
    max-width: 10ch;
    font-size: clamp(46px, 15vw, 66px);
    line-height: .9;
  }
  .hero-lede {
    margin: 24px 0;
    font-size: 16px;
    line-height: 1.55;
  }
  .hero-actions {
    align-items: stretch;
    flex-direction: column;
  }
  .hero-actions .button {
    width: 100%;
    min-height: 48px;
  }
  .hero-stats {
    margin-top: 34px;
    gap: 14px;
  }
  .hero-stats dd {
    max-width: 9ch;
    font-size: 11px;
    line-height: 1.3;
  }
  .hero-stack {
    min-height: 350px;
    margin-top: 34px;
  }
  .stack-card {
    right: 8%;
    width: 76%;
    padding: 18px;
    border-radius: 20px;
  }
  .stack-card strong { font-size: 42px; }
  .stack-1 { top: 12px; right: 10%; transform: rotate(1deg); }
  .stack-2 { top: 26px; right: 17%; transform: rotate(-4deg); }
  .stack-3 { top: 38px; right: 3%; transform: rotate(5deg); }
  .orbit-note { display: none; }

  .ticker { padding: 12px 0; }
  .ticker span { font-size: 14px; }

  .finder-section,
  .catalog-preview,
  .fresh-preview,
  .trust-strip,
  .profile-section,
  .next-members {
    padding-top: 64px;
    padding-bottom: 64px;
  }
  .section-heading { margin-bottom: 34px; }
  .section-heading h2,
  .trust-strip h2 {
    font-size: clamp(38px, 12vw, 52px);
    line-height: .95;
  }
  .section-heading > p {
    font-size: 15px;
    line-height: 1.6;
  }
  .eyebrow,
  .kicker {
    margin-bottom: 14px;
    font-size: 11px;
    line-height: 1.45;
  }

  .finder {
    padding: 20px;
    gap: 20px;
  }
  .finder legend {
    margin-bottom: 14px;
    font-size: 14px;
    line-height: 1.35;
  }
  .finder legend span {
    width: 26px;
    height: 26px;
    flex: 0 0 26px;
    font-size: 11px;
  }
  .choice-row { gap: 9px; }
  .choice-row label { flex: 1 1 calc(50% - 5px); }
  .choice-row label span {
    width: 100%;
    min-height: 46px;
    padding: 10px 13px;
    justify-content: center;
    font-size: 13px;
    text-align: center;
  }
  .finder-submit {
    width: 100%;
    min-height: 50px;
  }

  .catalog-preview .group-grid .group-card:nth-child(n + 5) { display: none; }
  .card-visual,
  .fresh-card .card-visual { min-height: 230px; }
  .card-body { padding: 20px; }
  .card-heading h3 { font-size: 27px; }
  .card-heading p { font-size: 13px; }
  .card-body > p {
    display: -webkit-box;
    min-height: 0;
    overflow: hidden;
    font-size: 14px;
    line-height: 1.55;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
  }
  .pill-list span {
    padding: 7px 10px;
    font-size: 11px;
  }
  .card-body .pill-list span:nth-child(n + 3) { display: none; }
  .favorite-button {
    width: 44px;
    height: 44px;
  }
  .fresh-card { min-width: min(86vw, 380px); }

  .section-label {
    grid-template-columns: 36px 1fr;
    gap: 12px;
  }
  .section-label > span {
    width: 32px;
    height: 32px;
  }
  .section-label h2 { font-size: clamp(34px, 10vw, 46px); }
  .section-label p {
    grid-column: 2;
    font-size: 13px;
  }
  .song-list li {
    grid-template-columns: 50px 1fr;
    min-height: 72px;
    padding: 16px 0;
  }
  .song-list > li > span {
    width: 36px;
    height: 28px;
    font-size: 12px;
  }
  .song-list strong { font-size: 15px; }
  .song-list small {
    margin-top: 7px;
    font-size: 13px;
    line-height: 1.4;
  }

  .member-card p { font-size: 11px; }
  .member-card h3 { font-size: 16px; }
  .member-card small { font-size: 12px; }
  .social-grid strong { font-size: 14px; }
  .social-grid small { font-size: 12px; }
  .source-panel p,
  .source-panel a { font-size: 12px; }
  .trust-points span { font-size: 12px; }
  .trust-points h3 { font-size: 18px; }
  .trust-points p { font-size: 14px; }

  .site-footer p,
  .footer-links,
  .footer-status,
  .legal {
    font-size: 13px;
    line-height: 1.6;
  }
}

@media (max-width: 400px) {
  .hero { padding-inline: 16px; }
  .hero h1 { font-size: clamp(44px, 15vw, 58px); }
  .hero-stats dt { font-size: 21px; }
  .hero-stats dd { font-size: 10px; }
  .choice-row label { flex-basis: 100%; }
}

/* Finder interaction motion */
.choice-row label span {
  position: relative;
  overflow: hidden;
  transform: translateZ(0);
  transition:
    transform .18s cubic-bezier(.2, .8, .2, 1),
    border-color .2s ease,
    background .2s ease,
    box-shadow .2s ease,
    color .2s ease;
}
.choice-row label span::after {
  position: absolute;
  width: 18px;
  height: 18px;
  top: 50%;
  left: 50%;
  border-radius: 50%;
  background: rgba(255, 255, 255, .55);
  content: "";
  opacity: 0;
  pointer-events: none;
  transform: translate(-50%, -50%) scale(0);
}
.choice-row label:active span {
  transform: scale(.94);
}
.choice-row input:checked + span {
  box-shadow: 0 8px 24px rgba(118, 87, 255, .3);
}
.choice-row input:checked + span.choice-just-selected {
  animation: finder-choice-pop .38s cubic-bezier(.16, 1.4, .4, 1);
}
.choice-row input:checked + span.choice-just-selected::after {
  animation: finder-choice-ripple .5s ease-out;
}
.finder-submit {
  transition:
    transform .18s cubic-bezier(.2, .8, .2, 1),
    box-shadow .2s ease,
    filter .2s ease;
}
.finder-submit:hover {
  filter: saturate(1.15);
}
.finder-submit:active {
  transform: translateY(1px) scale(.96);
  box-shadow: 0 5px 14px rgba(63, 40, 126, .24);
}
.finder-result.is-revealing {
  animation: finder-result-reveal .55s cubic-bezier(.16, 1, .3, 1);
}
.finder-result.is-revealing .result-art {
  animation: finder-art-reveal .65s cubic-bezier(.16, 1.25, .3, 1);
}
.finder-result.is-revealing .result-copy {
  animation: finder-copy-reveal .48s .08s both ease-out;
}
@keyframes finder-choice-pop {
  0% { transform: scale(.92); }
  52% { transform: scale(1.08); }
  100% { transform: scale(1); }
}
@keyframes finder-choice-ripple {
  0% { opacity: .72; transform: translate(-50%, -50%) scale(0); }
  100% { opacity: 0; transform: translate(-50%, -50%) scale(8); }
}
@keyframes finder-result-reveal {
  0% { opacity: 0; transform: translateY(18px) scale(.98); }
  100% { opacity: 1; transform: translateY(0) scale(1); }
}
@keyframes finder-art-reveal {
  0% { opacity: 0; transform: rotate(-7deg) scale(.76); }
  70% { transform: rotate(2deg) scale(1.04); }
  100% { opacity: 1; transform: rotate(0) scale(1); }
}
@keyframes finder-copy-reveal {
  from { opacity: 0; transform: translateX(14px); }
  to { opacity: 1; transform: translateX(0); }
}
@media (prefers-reduced-motion: reduce) {
  .choice-row input:checked + span.choice-just-selected,
  .choice-row input:checked + span.choice-just-selected::after,
  .finder-result.is-revealing,
  .finder-result.is-revealing .result-art,
  .finder-result.is-revealing .result-copy {
    animation: none;
  }
}

/* Hover motion and dark theme */
@media (hover: hover) and (pointer: fine) {
  .choice-row label span::before {
    position: absolute;
    z-index: 1;
    width: 44%;
    height: 180%;
    top: -40%;
    left: -70%;
    background: linear-gradient(90deg, transparent, rgba(255,255,255,.5), transparent);
    content: "";
    pointer-events: none;
    transform: skewX(-18deg);
    transition: left .55s ease;
  }
  .choice-row label:hover span {
    border-color: rgba(118,87,255,.42);
    box-shadow: 0 10px 24px rgba(86,49,157,.16);
    color: var(--ink);
    transform: translateY(-3px) scale(1.025);
  }
  .choice-row label:hover span::before {
    left: 125%;
  }
  .choice-row input:checked + span:hover {
    box-shadow: 0 13px 30px rgba(118,87,255,.34);
    color: white;
    transform: translateY(-3px) scale(1.035);
  }
}

.header-actions {
  display: flex;
  justify-self: end;
  align-items: center;
  gap: 9px;
}
.theme-toggle {
  position: relative;
  display: grid;
  width: 44px;
  height: 44px;
  padding: 0;
  place-items: center;
  overflow: hidden;
  border: 1px solid rgba(118,87,255,.2);
  border-radius: 50%;
  background: rgba(255,255,255,.72);
  box-shadow: 0 8px 22px rgba(77,45,144,.1);
  color: #30224d;
  cursor: pointer;
  font-size: 17px;
  transition: transform .2s ease, background .2s ease, box-shadow .2s ease;
}
.theme-toggle:hover {
  background: white;
  box-shadow: 0 11px 27px rgba(77,45,144,.18);
  transform: translateY(-2px) rotate(8deg);
}
.theme-toggle:active { transform: scale(.9); }
.theme-toggle-icon {
  transition: transform .35s cubic-bezier(.16,1.3,.3,1);
}
.theme-toggle.is-changing .theme-toggle-icon {
  transform: rotate(180deg) scale(.55);
}

html[data-theme="dark"] { color-scheme: dark; }
html[data-theme="dark"] body {
  --paper: #100b1c;
  --paper-2: #181126;
  --white: #21172f;
  --muted: #b9afc9;
  --line: rgba(225,213,255,.16);
  color: #f8f3ff;
  background:
    radial-gradient(circle at 8% 6%, rgba(255,60,166,.13), transparent 28rem),
    radial-gradient(circle at 92% 18%, rgba(112,244,239,.08), transparent 32rem),
    #100b1c;
}
html[data-theme="dark"] .site-header {
  border-bottom-color: rgba(213,198,255,.13);
  background: rgba(16,11,28,.86);
  box-shadow: 0 8px 30px rgba(0,0,0,.24);
}
html[data-theme="dark"] .site-header:not(.pro-header) nav a { color: #b9afc9; }
html[data-theme="dark"] .site-header:not(.pro-header) nav a:hover,
html[data-theme="dark"] .site-header:not(.pro-header) nav a[aria-current="page"] { color: white; }
html[data-theme="dark"] .theme-toggle {
  border-color: rgba(213,198,255,.2);
  background: #251a38;
  color: #ffe66a;
}
html[data-theme="dark"] .theme-toggle:hover { background: #302147; }
html[data-theme="dark"] .hero {
  background:
    radial-gradient(circle at 14% 22%, rgba(255,230,106,.1), transparent 18rem),
    radial-gradient(circle at 82% 16%, rgba(255,60,166,.17), transparent 24rem),
    radial-gradient(circle at 74% 82%, rgba(112,244,239,.1), transparent 24rem),
    linear-gradient(135deg, #120c20 0%, #1b1230 53%, #0e2025 100%);
}
html[data-theme="dark"] .hero::before { opacity: .22; }
html[data-theme="dark"] .hero-lede,
html[data-theme="dark"] .section-heading > p,
html[data-theme="dark"] .page-intro > p:last-child,
html[data-theme="dark"] .card-body > p,
html[data-theme="dark"] .card-heading p,
html[data-theme="dark"] .profile-description,
html[data-theme="dark"] .idol-intro,
html[data-theme="dark"] .breadcrumbs,
html[data-theme="dark"] .account-note p,
html[data-theme="dark"] .editorial-note p,
html[data-theme="dark"] .song-list small { color: #b9afc9; }
html[data-theme="dark"] .button.quiet,
html[data-theme="dark"] .button:not(.primary),
html[data-theme="dark"] .text-link,
html[data-theme="dark"] .inline-correction { color: #f8f3ff; }
html[data-theme="dark"] .button.quiet,
html[data-theme="dark"] .button:not(.primary) {
  border-color: rgba(213,198,255,.2);
  background: rgba(37,26,56,.78);
}
html[data-theme="dark"] .hero-stats dt,
html[data-theme="dark"] .card-heading h3,
html[data-theme="dark"] .member-card h3,
html[data-theme="dark"] .section-label h2,
html[data-theme="dark"] .social-grid strong,
html[data-theme="dark"] .facts-card dd { color: #f8f3ff; }
html[data-theme="dark"] .finder-section {
  background:
    radial-gradient(circle at 92% 12%, rgba(255,60,166,.1), transparent 23rem),
    #100b1c;
}
html[data-theme="dark"] .finder,
html[data-theme="dark"] .group-card,
html[data-theme="dark"] .facts-card,
html[data-theme="dark"] .member-card,
html[data-theme="dark"] .social-grid > a,
html[data-theme="dark"] .account-note,
html[data-theme="dark"] .editorial-note,
html[data-theme="dark"] .correction-form,
html[data-theme="dark"] .search-box {
  border-color: rgba(213,198,255,.15);
  background: rgba(32,23,47,.9);
  box-shadow: 0 16px 38px rgba(0,0,0,.2);
}
html[data-theme="dark"] .choice-row label span {
  border-color: rgba(213,198,255,.18);
  background: #21172f;
  color: #c8bdd7;
}
html[data-theme="dark"] .choice-row input:checked + span {
  border-color: transparent;
  background: linear-gradient(110deg, var(--pink), var(--violet));
  color: white;
}
html[data-theme="dark"] .finder legend span {
  background: #302147;
  color: #d8cbff;
}
html[data-theme="dark"] .catalog-preview,
html[data-theme="dark"] .next-members {
  background:
    radial-gradient(circle at 15% 0%, rgba(255,60,166,.09), transparent 24rem),
    linear-gradient(180deg, #181126, #100b1c);
}
html[data-theme="dark"] .fresh-preview { background: #120d20; }
html[data-theme="dark"] .page-intro {
  background:
    radial-gradient(circle at 85% 30%, rgba(112,244,239,.09), transparent 22rem),
    radial-gradient(circle at 10% 20%, rgba(255,60,166,.12), transparent 20rem),
    linear-gradient(130deg, #120d20, #1b1330);
}
html[data-theme="dark"] .directory-tools {
  background: rgba(22,15,37,.78);
}
html[data-theme="dark"] .search-box input,
html[data-theme="dark"] .field input,
html[data-theme="dark"] .field textarea {
  color: #f8f3ff;
}
html[data-theme="dark"] .search-box input::placeholder,
html[data-theme="dark"] .field input::placeholder,
html[data-theme="dark"] .field textarea::placeholder { color: #8f839f; }
html[data-theme="dark"] .filter-buttons button {
  border-color: rgba(213,198,255,.18);
  background: #21172f;
  color: #c8bdd7;
}
html[data-theme="dark"] .filter-buttons button.active,
html[data-theme="dark"] .filter-buttons button:hover {
  border-color: transparent;
  background: linear-gradient(110deg, var(--pink), var(--violet));
  color: white;
}
html[data-theme="dark"] .profile-hero,
html[data-theme="dark"] .idol-hero {
  background:
    radial-gradient(circle at 92% 18%, rgba(112,244,239,.07), transparent 22rem),
    radial-gradient(circle at 8% 70%, rgba(255,60,166,.08), transparent 24rem);
}
html[data-theme="dark"] .pill-list span {
  border-color: rgba(213,198,255,.14);
  background: linear-gradient(110deg, #2a1935, #241a40);
  color: #d2c5e3;
}
html[data-theme="dark"] .favorite-button {
  border-color: rgba(213,198,255,.16);
  background: #2a1d3b;
  color: white;
}
html[data-theme="dark"] .song-list > li > span {
  border-color: rgba(213,198,255,.22);
  background: #281d3b;
  color: #c3b7d2;
}
html[data-theme="dark"] .field input,
html[data-theme="dark"] .field textarea {
  border-color: rgba(213,198,255,.16);
  background: #171024;
}
html[data-theme="dark"] .standards-grid { background: rgba(213,198,255,.12); }
html[data-theme="dark"] .standards-grid article {
  background: linear-gradient(145deg, #171022, #1d1530);
}
html[data-theme="dark"] .standards-grid p { color: #b9afc9; }
html[data-theme="dark"] .verification-intro {
  background:
    radial-gradient(circle at 90% 20%, rgba(255,255,255,.1), transparent 18rem),
    linear-gradient(120deg, #6b5517, #185a5b);
}
html[data-theme="dark"] .trust-strip {
  color: #18132e;
}
html[data-theme="dark"] .site-header:not(.pro-header) nav {
  background: rgba(16,11,28,.94);
}
html[data-theme="dark"] .social-grid > a:hover,
html[data-theme="dark"] .member-card:hover,
html[data-theme="dark"] .group-card:hover {
  border-color: rgba(255,60,166,.36);
}
html[data-theme="dark"] .footer-status,
html[data-theme="dark"] .site-footer p { color: rgba(255,255,255,.68); }

@media (max-width: 760px) {
  .header-actions { gap: 7px; }
  .theme-toggle { width: 42px; height: 42px; }
  .header-actions .header-cta { min-height: 42px; }
  html[data-theme="dark"] .site-header:not(.pro-header) nav {
    border-top-color: rgba(213,198,255,.15);
    box-shadow: 0 -12px 34px rgba(0,0,0,.3);
  }
}
@media (max-width: 400px) {
  .header-actions .header-cta {
    width: 42px;
    padding: 0;
    overflow: hidden;
    font-size: 0;
  }
  .header-actions .header-cta::after {
    font-size: 17px;
    content: "✦";
  }
}

/* Compact mobile finder */
@media (max-width: 760px) {
  .finder {
    padding: 16px;
    gap: 14px;
  }
  .finder fieldset {
    padding-bottom: 14px;
  }
  .finder legend {
    margin-bottom: 10px;
  }
  .finder .choice-row {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 7px;
  }
  .finder fieldset:nth-of-type(1) .choice-row,
  .finder fieldset:nth-of-type(3) .choice-row {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
  .finder .choice-row label {
    min-width: 0;
  }
  .finder .choice-row label span {
    width: 100%;
    min-height: 44px;
    padding: 8px 6px;
    font-size: 13px;
    line-height: 1.15;
    white-space: nowrap;
  }
  .finder-submit {
    min-height: 48px;
    margin-top: 0;
  }
}
@media (max-width: 350px) {
  .finder {
    padding-inline: 13px;
  }
  .finder .choice-row label span {
    padding-inline: 4px;
    font-size: 12px;
  }
}

/* NextBias logo system */
.brand-mark,
.footer-brand .brand-mark {
  display: block;
  flex: 0 0 auto;
  border: 0;
  background: transparent url("logo-mark.svg") center / contain no-repeat;
  box-shadow: 0 8px 22px rgba(118,87,255,.28);
  color: transparent;
  font-size: 0;
  text-indent: -9999px;
}
.brand-mark {
  width: 40px;
  height: 40px;
  border-radius: 13px;
}
.footer-brand .brand-mark {
  background-color: transparent;
  color: transparent;
}
html[data-theme="dark"] .brand-mark {
  box-shadow: 0 9px 25px rgba(0,0,0,.3), 0 0 0 1px rgba(255,255,255,.08);
}
@media (max-width: 400px) {
  .brand-mark {
    width: 36px;
    height: 36px;
    border-radius: 12px;
  }
}

/* NextBias shop */
.shop-intro{padding-bottom:2rem}.shop-categories{display:flex;flex-wrap:wrap;gap:.65rem;margin-top:1.5rem}.shop-categories a{border:1px solid var(--line);border-radius:999px;padding:.7rem 1rem;background:var(--surface);font-weight:750}.shop-notice{max-width:1180px;margin:0 auto 1.5rem;padding:1rem 1.2rem;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.shop-notice p{margin:.25rem 0 0;color:var(--muted)}.shop-grid{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.1rem;padding-bottom:2rem}.shop-card{border:1px solid var(--line);border-radius:24px;overflow:hidden;background:var(--surface);box-shadow:var(--shadow-sm)}.shop-card-art{min-height:155px;padding:1.2rem;background:linear-gradient(135deg,var(--shop-accent),var(--shop-accent-2));display:flex;align-items:flex-end;justify-content:space-between;color:#fff}.shop-card-art>span{font-size:3rem;font-weight:900;letter-spacing:-.08em}.shop-card-art small{padding:.4rem .65rem;border-radius:999px;background:rgba(0,0,0,.28);font-weight:800}.shop-card-body{padding:1.2rem}.shop-card-top{display:flex;align-items:center;justify-content:space-between;gap:.8rem}.shop-group{margin:0;font-weight:800;color:var(--accent)}.shop-card h2{font-size:1.25rem;margin:.7rem 0 .6rem}.shop-card-body>p{color:var(--muted)}.shop-card dl{display:grid;gap:.45rem;margin:1rem 0}.shop-card dl div{display:flex;justify-content:space-between;gap:1rem;border-top:1px solid var(--line);padding-top:.45rem}.shop-card dt{color:var(--muted)}.shop-card dd{margin:0;text-align:right;font-weight:700}.shop-button{width:100%;justify-content:center}.retailer-logo{display:inline-flex;align-items:center;gap:.45rem;min-width:0}.retailer-logo img,.retailer-logo-fallback{width:30px;height:30px;border-radius:8px;object-fit:contain;background:#fff;border:1px solid var(--line);padding:4px}.retailer-logo-fallback{display:grid;place-items:center;font-size:.62rem;font-weight:900;color:#111}.retailer-logo strong{font-size:.76rem;line-height:1.1;max-width:92px}.retailer-logo.compact{margin-bottom:.35rem}.retailer-logo.compact img,.retailer-logo.compact .retailer-logo-fallback{width:34px;height:34px}.shop-reviewed{max-width:1180px;margin:0 auto 4rem;color:var(--muted);font-size:.9rem}.group-shop-section{margin-top:2rem}.group-shop-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}.group-shop-link{display:grid;gap:.35rem;padding:1.15rem;border:1px solid var(--line);border-radius:18px;background:var(--surface)}.group-shop-link>span{font-size:.78rem;text-transform:uppercase;letter-spacing:.08em;color:var(--muted);font-weight:800}.group-shop-link>strong{font-size:1.05rem}.group-shop-link>small{color:var(--muted)}.group-shop-link>b{margin-top:.4rem;color:var(--accent)}.shop-disclosure{color:var(--muted);font-size:.9rem;margin-top:1rem}@media(max-width:900px){.shop-grid{grid-template-columns:repeat(2,minmax(0,1fr));padding-inline:1rem}.shop-notice,.shop-reviewed{margin-inline:1rem}}@media(max-width:620px){.shop-grid,.group-shop-grid{grid-template-columns:1fr}.shop-card-art{min-height:125px}.shop-categories{display:grid;grid-template-columns:repeat(2,1fr)}.shop-categories a{text-align:center}.retailer-logo strong{display:none}}

/* Group shop cards */
.group-shop-section{overflow:hidden}.group-shop-section .section-label{margin-bottom:18px}.group-shop-status{display:flex;margin:0 0 22px;padding:14px 16px;align-items:flex-start;gap:11px;border:1px solid rgba(118,87,255,.16);border-radius:16px;background:rgba(118,87,255,.06)}.group-shop-status>span{display:grid;width:28px;height:28px;flex:0 0 28px;place-items:center;border-radius:50%;background:linear-gradient(135deg,var(--yellow),var(--cyan));color:var(--ink);font-size:13px;font-weight:950}.group-shop-status div{display:grid;min-width:0;gap:3px}.group-shop-status strong{font-size:13px}.group-shop-status small{color:var(--muted);font-size:11px;line-height:1.45}.group-shop-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.group-shop-link{display:flex;min-height:220px;padding:18px;align-items:flex-start;flex-direction:column;border:1px solid rgba(118,87,255,.16);border-radius:18px;background:rgba(255,255,255,.58);box-shadow:0 10px 28px rgba(48,27,101,.07);transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}.group-shop-link:hover{transform:translateY(-2px);border-color:rgba(118,87,255,.38);box-shadow:0 18px 38px rgba(48,27,101,.13)}.group-shop-link .retailer-logo{width:100%;min-width:0;margin-bottom:15px;align-items:center}.group-shop-link .retailer-logo strong{min-width:0;white-space:normal;overflow-wrap:anywhere}.group-shop-type{display:inline-flex;width:fit-content;margin-bottom:9px;padding:5px 8px;border-radius:999px;background:rgba(118,87,255,.1);color:var(--violet);font-size:9px;font-weight:950;letter-spacing:.08em;text-transform:uppercase}.group-shop-link>strong{font-size:17px;line-height:1.18;overflow-wrap:anywhere}.group-shop-region{display:flex;margin:10px 0 16px;align-items:flex-start;gap:6px;color:var(--muted);font-size:11px;line-height:1.4}.group-shop-region span{flex:0 0 auto;color:var(--violet)}.group-shop-button{display:flex;width:100%;min-height:44px;margin-top:auto;padding:0 12px;align-items:center;justify-content:center;border-radius:12px;background:linear-gradient(110deg,var(--pink),var(--violet));color:#fff;font-size:11px;font-weight:900;text-align:center}.group-shop-link:hover .group-shop-button{filter:saturate(1.1)}.shop-disclosure{margin-top:16px;color:var(--muted);font-size:11px;line-height:1.55}@media(max-width:1050px){.group-shop-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.group-shop-section{padding-inline:16px}.group-shop-grid{grid-template-columns:1fr;gap:12px}.group-shop-link{min-height:0;padding:16px}.group-shop-status{padding:13px 14px}.group-shop-status small{font-size:12px}.group-shop-link .retailer-logo{margin-bottom:13px}.group-shop-link>strong{font-size:18px}.group-shop-region{font-size:12px}.group-shop-button{min-height:48px;font-size:12px}.shop-disclosure{font-size:12px}}@media(max-width:390px){.group-shop-section{padding-inline:10px}.group-shop-link{padding:14px}.group-shop-status{gap:9px}.group-shop-status>span{width:26px;height:26px;flex-basis:26px}.group-shop-link>strong{font-size:17px}}html[data-theme="dark"] .group-shop-status{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.13)}html[data-theme="dark"] .group-shop-link{background:rgba(255,255,255,.04);border-color:rgba(255,255,255,.12)}html[data-theme="dark"] .group-shop-type{background:rgba(255,255,255,.09);color:var(--cyan)}


/* Groups and Saved mobile consistency */
html,body{max-width:100%;overflow-x:hidden}.page-intro,.directory-tools,.directory-grid{min-width:0}.group-card{min-width:0;height:100%}.card-heading>div:first-child{min-width:0}.card-heading h3,.card-heading p,.card-wordmark{overflow-wrap:anywhere}.favorite-button,.filter-buttons button{min-width:44px;min-height:44px}.directory-tools input{font-size:16px}.filter-buttons{scrollbar-width:none}.filter-buttons::-webkit-scrollbar{display:none}.directory-grid{align-items:stretch}.group-card .card-body{display:flex;height:100%;flex-direction:column}.group-card .pill-list{margin-top:auto}.saved-page .directory-grid:empty{display:none}
@media(max-width:759px){.page-intro{padding:52px 18px 38px}.page-intro h1{max-width:12ch;font-size:clamp(38px,12vw,54px);line-height:.94}.page-intro>p:last-child{max-width:46ch;font-size:15px;line-height:1.6}.directory-tools{width:calc(100% - 28px);margin:20px auto 24px;padding:14px}.search-box{width:100%}.search-box input{min-width:0;width:100%;font-size:16px}.filter-buttons{display:flex;width:100%;padding-bottom:4px;gap:8px;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity}.filter-buttons button{flex:0 0 auto;padding-inline:14px;scroll-snap-align:start}.result-count{width:100%;margin:2px 0 0}.directory-grid,.group-grid{width:calc(100% - 28px);margin-inline:auto;grid-template-columns:1fr;gap:16px}.group-card{border-radius:18px}.card-visual{min-height:210px}.card-wordmark{max-width:82%;font-size:clamp(30px,11vw,46px);line-height:.88}.generation,.member-count,.new-badge{font-size:9px}.card-body{padding:17px}.card-heading{align-items:flex-start;gap:10px}.card-heading h3{font-size:24px;line-height:1}.card-heading p{font-size:12px}.card-actions{flex:0 0 auto}.favorite-button{width:44px;height:44px}.card-body>p{display:-webkit-box;overflow:hidden;font-size:14px;line-height:1.55;-webkit-box-orient:vertical;-webkit-line-clamp:3}.pill-list{gap:7px}.pill-list span{padding:7px 9px;font-size:10px}.saved-tools{width:calc(100% - 28px);margin-inline:auto;align-items:stretch;flex-direction:column}.saved-tools .button{width:100%;justify-content:center}}
@media(max-width:390px){.page-intro{padding-inline:14px}.directory-tools,.directory-grid,.group-grid,.saved-tools{width:calc(100% - 20px)}.card-visual{min-height:190px}.card-body{padding:14px}}
html[data-theme="dark"] .directory-tools{background:rgba(255,255,255,.045)}html[data-theme="dark"] .filter-buttons button{border-color:rgba(255,255,255,.14);color:rgba(255,255,255,.78)}html[data-theme="dark"] .filter-buttons button.active{color:#fff}html[data-theme="dark"] .group-card{border-color:rgba(255,255,255,.1)}html[data-theme="dark"] .card-heading p,html[data-theme="dark"] .result-count{color:rgba(255,255,255,.68)}

.group-schedule-list{display:grid;gap:10px;margin-top:20px}.group-schedule-item{display:grid;grid-template-columns:110px minmax(0,1fr);gap:6px 16px;padding:16px;border:1px solid var(--line);border-radius:16px;background:var(--white)}.group-schedule-item>span{grid-row:1/3;color:var(--violet);font-weight:900}.group-schedule-item strong{line-height:1.25}.group-schedule-item small{color:var(--muted);line-height:1.45}.group-schedule-section>.button{margin-top:16px}@media(max-width:640px){.group-schedule-item{grid-template-columns:1fr}.group-schedule-item>span{grid-row:auto}.group-schedule-section>.button{width:100%;justify-content:center;min-height:46px}}html[data-theme="dark"] .group-schedule-item{background:rgba(255,255,255,.05);border-color:rgba(255,255,255,.12)}

/* Home schedule entry */
.home-schedule-card{width:min(1180px,calc(100% - 12vw));margin:34px auto;display:flex;padding:28px 30px;align-items:center;justify-content:space-between;gap:28px;border:1px solid var(--line);border-radius:22px;background:var(--white);box-shadow:0 14px 34px rgba(56,38,104,.08)}.home-schedule-card h2{margin:0;font-family:var(--display);font-size:clamp(32px,4vw,52px);line-height:.95;letter-spacing:-.04em}.home-schedule-card>div>p:last-child{max-width:650px;margin:12px 0 0;color:var(--muted);line-height:1.6}.home-schedule-card .button{flex:0 0 auto}@media(max-width:720px){.home-schedule-card{width:calc(100% - 32px);margin:24px auto;padding:22px 18px;align-items:stretch;flex-direction:column}.home-schedule-card .button{width:100%;justify-content:center;min-height:48px}}html[data-theme="dark"] .home-schedule-card{background:#191329;border-color:rgba(255,255,255,.12)}html[data-theme="dark"] .home-schedule-card>div>p:last-child{color:rgba(245,241,255,.74)}


/* Shop */
.shop-page{background:#0f0a1d;color:#f7f3ff}.shop-page main{background:#0f0a1d;color:#f7f3ff}.shop-page .shop-intro{background:linear-gradient(180deg,#171126,#120d20);border-bottom:1px solid rgba(255,255,255,.08)}.shop-page .shop-intro h1{max-width:12ch;color:#fff;line-height:.93;letter-spacing:-.055em}.shop-page .shop-intro>p:not(.eyebrow){max-width:64ch;color:rgba(255,255,255,.78);font-size:15px;line-height:1.6}.shop-page .eyebrow{color:#ff5cc4}.shop-page .shop-categories a{min-height:42px;border:1px solid rgba(255,255,255,.13);background:rgba(255,255,255,.045);color:rgba(255,255,255,.84)}.shop-page .shop-categories a:hover,.shop-page .shop-categories a[aria-current=page]{border-color:rgba(196,107,255,.72);background:rgba(167,78,255,.16);color:#fff}.shop-page .shop-notice{border:1px solid rgba(255,255,255,.12);background:#1a1328;color:#f5efff}.shop-page .shop-notice p{color:rgba(255,255,255,.72);font-size:14px;line-height:1.55}.shop-page .shop-browser,.shop-page .shop-directory-shell,.shop-page .shop-directory-tools,.shop-page .shop-directory-panel{border-color:rgba(255,255,255,.11)!important;background:#171122!important;box-shadow:none!important}.shop-page input[type=search],.shop-page select{border:1px solid rgba(255,255,255,.13)!important;background:#241d31!important;color:#fff!important}.shop-page input[type=search]::placeholder{color:rgba(255,255,255,.5)}.shop-page .shop-group-panel,.shop-page .shop-card,.shop-page .shop-group-block{border-color:rgba(255,255,255,.1)!important;background:#171222!important;box-shadow:none!important}.shop-page .shop-group-name strong,.shop-page .shop-listing-copy>strong,.shop-page .shop-card h2,.shop-page .shop-card h3{color:#fff}.shop-page .shop-group-name small,.shop-page .shop-listing-copy p,.shop-page .shop-card p,.shop-page .shop-listing-meta small{color:rgba(255,255,255,.7)}.shop-page .retailer-logo strong{color:#f8f4ff}.shop-page .shop-button{min-height:42px;background:linear-gradient(90deg,#7447ff,#c33ee8);color:#fff;font-weight:800}

.shop-group-panel-text-only .shop-group-identity{gap:0!important}.shop-group-panel-text-only .shop-group-name{margin-left:0!important}.shop-group-panel-text-only .shop-group-header{min-height:74px;padding:16px 18px!important}.shop-group-panel-text-only .shop-group-name strong{font-size:18px;line-height:1.15}.shop-group-panel-text-only .shop-group-name small{display:block;margin-top:4px;line-height:1.25}.shop-group-panel-text-only .shop-profile-shortcut{align-self:center;white-space:nowrap}

.shop-disclosure-card{width:min(1480px,calc(100% - 12vw));margin:22px auto 28px;padding:17px 19px;display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:16px 20px;border:1px solid rgba(156,104,255,.34);border-radius:17px;background:rgba(80,53,126,.18);color:#f7f3ff}.shop-disclosure-icon{display:grid;width:40px;height:40px;place-items:center;border-radius:11px;background:rgba(118,87,255,.22);color:#c2a7ff;font-size:16px;font-weight:900}.shop-disclosure-copy{display:grid;min-width:0;gap:5px}.shop-disclosure-copy strong{color:#fff;font-size:13px;line-height:1.3}.shop-disclosure-copy p{max-width:980px;margin:0;color:rgba(255,255,255,.72);font-size:12.5px;line-height:1.65}.shop-disclosure-copy b{color:#fff}.shop-disclosure-link{display:inline-flex;min-height:42px;padding:0 15px;align-items:center;gap:8px;border:1px solid rgba(255,255,255,.14);border-radius:11px;background:rgba(255,255,255,.05);color:#c6abff!important;font-size:12px;font-weight:800;white-space:nowrap}.shop-disclosure-link:hover{background:rgba(255,255,255,.09);color:#eadfff!important}

.shop-page .retailer-logo{gap:8px}.shop-page .retailer-logo img{width:26px!important;height:26px!important;padding:3px;object-fit:contain;border-radius:7px;background:#fff}.shop-page .retailer-logo.uses-fallback .retailer-logo-fallback{display:grid!important;width:26px;height:26px;place-items:center;border-radius:7px;font-size:9px;font-weight:900}

html:not([data-theme="dark"]) .shop-page,html:not([data-theme="dark"]) .shop-page main{background:#fbf8ff!important;color:#21192f!important}html:not([data-theme="dark"]) .shop-page .shop-intro{background:linear-gradient(180deg,#fffaff,#f7f1ff)!important;border-bottom-color:#ded4ef!important}html:not([data-theme="dark"]) .shop-page .shop-intro h1{color:#171126!important}html:not([data-theme="dark"]) .shop-page .shop-intro>p:not(.eyebrow){color:#5f5871!important}html:not([data-theme="dark"]) .shop-page .shop-categories a{border-color:#d7cde7!important;background:#fff!important;color:#514966!important}html:not([data-theme="dark"]) .shop-page .shop-notice{border-color:#ddd3eb!important;background:#fff!important;color:#211a31!important;box-shadow:0 10px 30px rgba(62,43,95,.05)!important}html:not([data-theme="dark"]) .shop-page .shop-notice p{color:#655d76!important}html:not([data-theme="dark"]) .shop-page .shop-browser,html:not([data-theme="dark"]) .shop-page .shop-directory-shell,html:not([data-theme="dark"]) .shop-page .shop-directory-tools,html:not([data-theme="dark"]) .shop-page .shop-directory-panel{border-color:#ded5eb!important;background:#fff!important;box-shadow:0 12px 34px rgba(62,43,95,.055)!important}html:not([data-theme="dark"]) .shop-page input[type=search],html:not([data-theme="dark"]) .shop-page select{border-color:#d8cfe5!important;background:#fbf9ff!important;color:#20192f!important}html:not([data-theme="dark"]) .shop-page .shop-group-panel,html:not([data-theme="dark"]) .shop-page .shop-card,html:not([data-theme="dark"]) .shop-page .shop-group-block{border-color:#ded5e8!important;background:#fff!important;box-shadow:0 9px 24px rgba(59,41,90,.045)!important}html:not([data-theme="dark"]) .shop-page .shop-group-name strong,html:not([data-theme="dark"]) .shop-page .shop-listing-copy>strong,html:not([data-theme="dark"]) .shop-page .shop-card h2,html:not([data-theme="dark"]) .shop-page .shop-card h3{color:#21192f!important}html:not([data-theme="dark"]) .shop-page .shop-group-name small,html:not([data-theme="dark"]) .shop-page .shop-listing-copy p,html:not([data-theme="dark"]) .shop-page .shop-card p,html:not([data-theme="dark"]) .shop-page .shop-listing-meta small{color:#70677e!important}html:not([data-theme="dark"]) .shop-page .retailer-logo strong{color:#2a2137!important}html:not([data-theme="dark"]) .shop-page .shop-disclosure-card{border-color:#d9cdf2!important;background:#f7f2ff!important;color:#251c35!important;box-shadow:none!important}html:not([data-theme="dark"]) .shop-page .shop-disclosure-icon{background:#e8dcff!important;color:#6748c6!important}html:not([data-theme="dark"]) .shop-page .shop-disclosure-copy strong,html:not([data-theme="dark"]) .shop-page .shop-disclosure-copy b{color:#2a2039!important}html:not([data-theme="dark"]) .shop-page .shop-disclosure-copy p{color:#665d73!important}html:not([data-theme="dark"]) .shop-page .shop-disclosure-link{border-color:#d1c2ec!important;background:#fff!important;color:#6545bd!important}

@media(max-width:759px){.shop-page .shop-intro{padding:72px 18px 34px}.shop-page .shop-categories{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shop-page .shop-categories a{width:100%;justify-content:center}.shop-disclosure-card{width:calc(100% - 24px);margin:16px auto 22px;padding:16px;grid-template-columns:38px minmax(0,1fr);align-items:start;gap:12px}.shop-disclosure-icon{width:38px;height:38px}.shop-disclosure-copy p{font-size:12.5px;line-height:1.65}.shop-disclosure-link{grid-column:1/-1;width:100%;justify-content:center;min-height:44px}.shop-page .retailer-logo strong{white-space:normal;overflow-wrap:anywhere}.shop-group-panel-text-only .shop-group-header{min-height:68px;padding:14px 15px!important}.shop-group-panel-text-only .shop-group-name strong{font-size:17px}}


/* Responsive layout */
@media (min-width:760px) and (max-width:1050px){#group-directory.directory-grid.group-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;width:calc(100% - 40px)!important;margin-inline:auto!important;gap:18px!important}}
@media (max-width:759px){#group-directory.directory-grid.group-grid{display:grid!important;grid-template-columns:minmax(0,1fr)!important;width:calc(100% - 28px)!important;max-width:680px!important;margin-inline:auto!important;gap:16px!important;overflow:visible!important}#group-directory.directory-grid.group-grid>.group-card{width:100%!important;min-width:0!important;max-width:none!important;grid-column:auto!important}#group-directory .group-card .card-visual{width:100%!important;min-width:0!important;min-height:210px!important;aspect-ratio:auto!important}#group-directory .group-card .card-body{width:100%!important;min-width:0!important}#group-directory .group-card .card-wordmark{max-width:82%!important;white-space:normal!important;word-break:normal!important;overflow-wrap:break-word!important;writing-mode:horizontal-tb!important}#group-directory .group-card h3,#group-directory .group-card p,#group-directory .group-card .pill-list{word-break:normal!important;overflow-wrap:break-word!important;writing-mode:horizontal-tb!important}.toast{bottom:max(16px,env(safe-area-inset-bottom))!important}}
@media (max-width:390px){#group-directory.directory-grid.group-grid{width:calc(100% - 20px)!important;gap:14px!important}#group-directory .group-card .card-visual{min-height:190px!important}}
