/* ============================================================
   THE CREATOR VOCABULARY — v2 look for every page that isn't the
   landing page (legal, support, redeem, admin, 404). Loaded after
   styles.css; matches home.css: pills, luminance cards, one glow.
   ============================================================ */
body.v2 { font-size: 17px; }
.v2 h1, .v2 h2, .v2 h3 { letter-spacing: -0.03em; }

/* One soft bloom spilling down from under the nav, like the app's headers. */
.v2 main { position: relative; }
.v2 main::before {
  content: ""; position: absolute; top: -280px; left: 50%; width: 900px; height: 560px; margin-left: -450px;
  background: radial-gradient(closest-side, rgba(245,197,24,0.17), rgba(245,197,24,0.05) 55%, transparent 80%);
  clip-path: inset(280px 0 0 0); pointer-events: none; z-index: -1;
}

/* Nav + buttons */
.v2 .nav { border-bottom-color: transparent; background: rgba(10,10,11,0.72); backdrop-filter: blur(14px); -webkit-backdrop-filter: blur(14px); }
.v2 .nav-cta { border-radius: 999px; padding: 9px 16px; font-family: var(--sans); font-size: 13.5px; letter-spacing: 0; text-transform: none; font-weight: 700; }
.v2 .btn { border-radius: 999px; }
.v2 .btn.btn-outline { border-color: transparent; background: var(--surface-2); }
.v2 .btn.btn-outline:hover { background: #202024; border-color: transparent; }

.v2 .kick {
  display: inline-flex; align-items: center; gap: 10px; margin-bottom: 18px;
  font-family: var(--mono); font-size: 12px; letter-spacing: 0.18em; text-transform: uppercase; color: var(--yellow); font-weight: 500;
}
.v2 .kick svg { height: 22px; width: auto; flex: none; }

/* ---------- Document pages ---------- */
.v2 .doc { padding: 72px 0 112px; }
.v2 .doc h1 { font-size: clamp(40px, 6.4vw, 68px); font-weight: 800; line-height: 1; letter-spacing: -0.04em; }
.v2 .doc .muted { color: var(--ink-3); font-size: 15px; margin-top: 14px; }
.v2 .doc h1 + .muted + p, .v2 .doc .lede { font-family: var(--sans); font-size: clamp(18px, 1.9vw, 20px); line-height: 1.6; color: var(--ink-2); }
.v2 .doc h2 {
  font-family: var(--sans); text-transform: none; letter-spacing: -0.025em;
  font-size: 24px; font-weight: 800; color: var(--ink); margin: 56px 0 14px; scroll-margin-top: 84px;
}
.v2 .doc h3 { font-size: 17px; font-weight: 800; letter-spacing: -0.015em; }
.v2 .doc p, .v2 .doc li { color: #D6D8DB; line-height: 1.65; }
.v2 .doc hr { border-top-color: var(--line); margin: 56px 0 28px; }
.v2 .doc code { border-radius: 6px; }
.v2 .doc a:not(.btn) { text-decoration: underline; text-decoration-color: rgba(245,197,24,0.4); text-underline-offset: 3px; }
.v2 .doc a:not(.btn):hover { text-decoration-color: var(--yellow); }

/* Cards: luminance, no boxes */
.v2 .toc, .v2 .help-card, .v2 .contact-box {
  border: 0; border-radius: 22px;
  background: linear-gradient(160deg, #1B1A1D 0%, #0F0E11 100%);
}
.v2 .toc { padding: 26px 28px; margin: 36px 0 8px; }
.v2 .toc h4 { color: var(--yellow); letter-spacing: 0.18em; }
.v2 .toc a { text-decoration: none !important; color: var(--ink-2) !important; font-weight: 600; }
.v2 .toc a:hover { color: var(--ink) !important; }
.v2 .help { gap: 14px; margin-top: 22px; }
.v2 .help-card { padding: 28px; scroll-margin-top: 84px; }
.v2 .help-card h3 { font-size: 19px; }
.v2 .help-card p, .v2 .help-card ol, .v2 .help-card ul { font-size: 15.5px; }
.v2 .contact-box {
  padding: 40px 28px; margin-top: 36px;
  background: linear-gradient(160deg, #2C2817 0%, #12110E 100%);
  box-shadow: inset 0 0 0 1.5px rgba(245,197,24,0.35);
}
.v2 .contact-box h2 { margin: 0 !important; font-size: min(28px, 4.3vw) !important; overflow-wrap: anywhere; }
@media (min-width: 900px) { .v2 .contact-box h2 { font-size: 28px !important; } }
.v2 .kicker { letter-spacing: 0.18em; }

/* ---------- Redeem ---------- */
.v2 .claim h1 { font-weight: 800; letter-spacing: -0.04em; }
.v2 .claim .label { color: var(--yellow); letter-spacing: 0.18em; }
.v2 .claim .dot { display: none; }

/* ---------- Admin ---------- */
.v2 .panel { border: 0; border-radius: 22px; background: linear-gradient(160deg, #1B1A1D 0%, #0F0E11 100%); }
.v2 .frm input, .v2 .frm select { border-radius: 12px; }

/* ---------- 404 ---------- */
.v2 .lost { min-height: calc(100svh - 62px - 180px); display: flex; align-items: center; text-align: center; padding: 60px 0; }
.v2 .lost .wrap { max-width: 640px; }
.v2 .lost svg { height: 84px; width: auto; margin: 0 auto 26px; display: block; filter: drop-shadow(0 0 34px rgba(245,197,24,0.45)); }
.v2 .lost h1 { font-size: clamp(40px, 8vw, 76px); font-weight: 800; line-height: 1; }
.v2 .lost p { color: var(--ink-2); font-size: 18px; margin: 18px auto 0; max-width: 28em; }
.v2 .lost .cta-row { justify-content: center; }
.v2 .claim-sub { font-family: var(--sans); color: var(--ink-2); }
.v2 .code-box { border: 0; border-radius: 18px; background: linear-gradient(160deg, #1B1A1D 0%, #0F0E11 100%); }
.v2 .code-box button, .v2 .copy-btn { border-radius: 999px; }

/* ---------- Phone-width tightening ---------- */
@media (max-width: 720px) {
  .v2 .doc { padding: 40px 0 64px; }
  .v2 .doc h2 { margin: 40px 0 12px; font-size: 21px; }
  .v2 .toc { padding: 20px 22px; margin-top: 26px; }
  .v2 .help-card { padding: 22px; }
  .v2 .contact-box { padding: 28px 20px; margin-top: 26px; }
  .v2 .doc hr { margin: 40px 0 22px; }
  .v2 .footer { padding: 44px 0 40px; }
  .v2 .lost { padding: 36px 0; min-height: calc(100svh - 62px - 300px); }
}
