/* SeducedAI: a hotel bar after midnight. Black cherry, wine, champagne gold; Cormorant Garamond over Manrope.
   Laid over the engine's tokens, then the lobby and the pages (nr-*). */
:root {
  --bg: #140a0d;
  --bg-2: #1f1015;
  --card: #1a0d12;
  --card-2: #26141b;
  --ink: #f4e9df;
  --ink-2: #c9b3a6;
  --ink-3: #8f7468;
  --line: #34202a;
  --line-2: #4a2e3a;
  --brand: #d9b26f;
  --brand-2: #b8863b;
  --grad: linear-gradient(135deg, #e7c88a 0%, #c99a4f 55%, #a8743a 100%);
  --grad-soft: linear-gradient(135deg, rgba(217, 178, 111, .14) 0%, rgba(168, 116, 58, .12) 100%);
  --violet: #c27a8f;
  --violet-soft: rgba(194, 122, 143, .16);
  --green: #6fbf8e;
  --danger: #e0685f;
  --glass: rgba(20, 10, 13, .86);
  --r-sm: 4px;
  --r: 8px;
  --r-lg: 12px;
  --r-xl: 14px;
  --sh-brand: 0 10px 28px rgba(217, 178, 111, .22);
  --font: "Manrope", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;
  --display: "Cormorant Garamond", Georgia, serif;
  color-scheme: dark;
}
h1, h2, h3, .logo-word { font-family: var(--display); font-weight: 700; letter-spacing: 0; }
.btn-primary { color: #1a0d12; }
.logo-mark { border-radius: 2px; }
.thread { background-color: #170b10; background-image: radial-gradient(circle at 30% 20%, rgba(217, 178, 111, .06) 0 2px, transparent 3px); }
.msg.me .bubble { color: #1a0d12; }
.gallery-main .photo-bars { display: none; }
.pstats { grid-template-columns: repeat(3, 1fr); }

/* ---- the lobby ---- */
.nr-lobby { max-width: 1000px; margin: 0 auto; padding: 30px 18px 48px; }
.nr-curtain { padding: 30px 0 18px; border-bottom: 1px solid var(--line); }
.nr-eyebrow { font-size: 12px; letter-spacing: .22em; text-transform: uppercase; color: var(--brand); font-weight: 700; }
.nr-curtain h1 { font-size: clamp(36px, 6vw, 64px); line-height: 1.02; margin: 14px 0 16px; max-width: 14ch; font-style: italic; }
.nr-lede { max-width: 60ch; color: var(--ink-2); font-size: 17px; line-height: 1.6; }
.nr-acts { margin-top: 22px; display: flex; align-items: center; gap: 18px; flex-wrap: wrap; }
.nr-quiet { color: var(--ink-2); text-decoration: underline; text-underline-offset: 4px; text-decoration-color: var(--line-2); }
.nr-playbill { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; background: var(--line); border: 1px solid var(--line); margin: 30px 0; }
.nr-ticket { display: flex; flex-direction: column; gap: 10px; padding: 18px; background: var(--card); transition: background .2s; }
.nr-ticket:hover { background: var(--card-2); }
.nr-role { font-size: 11px; letter-spacing: .2em; text-transform: uppercase; color: var(--brand); font-weight: 700; }
.nr-cast { display: flex; align-items: center; gap: 12px; font-family: var(--display); font-size: 22px; }
.nr-cast img { width: 52px; height: 52px; border-radius: 2px; }
.nr-line { color: var(--ink-2); font-size: 14px; line-height: 1.55; flex: 1; }
.nr-enter { font-size: 13px; color: var(--brand); font-weight: 700; }
.nr-ledger { list-style: none; padding: 0; margin: 0 0 10px; display: grid; grid-template-columns: repeat(4, 1fr); gap: 18px; }
.nr-ledger li { color: var(--ink-2); font-size: 14px; border-top: 1px solid var(--brand-2); padding-top: 10px; }
.nr-ledger strong { display: block; font-family: var(--display); font-size: 30px; color: var(--ink); }
.nr-act { margin-top: 50px; }
.nr-act h2, .nr-final h2, .nr-index h2 { font-size: clamp(28px, 3.4vw, 38px); margin-bottom: 12px; }
.nr-act > p { max-width: 68ch; color: var(--ink-2); line-height: 1.65; }
.nr-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 28px 36px; margin-top: 22px; }
.nr-grid h3 { font-size: 23px; margin-bottom: 6px; }
.nr-grid p { color: var(--ink-2); line-height: 1.6; }
.nr-contrast { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 10px; }
.nr-contrast li { color: var(--ink-2); padding: 14px 16px; background: var(--bg-2); border-left: 2px solid var(--brand); }
.nr-contrast span { font-size: 11px; letter-spacing: .18em; text-transform: uppercase; font-weight: 800; color: var(--ink-3); margin-right: 6px; }
.nr-contrast span + span, .nr-contrast li span:nth-of-type(2) { color: var(--brand); }
.nr-beats { padding-left: 22px; margin: 0; display: grid; gap: 12px; color: var(--ink-2); }
.nr-beats li::marker { font-family: var(--display); color: var(--brand); font-weight: 700; }
.nr-beats b { color: var(--ink); }
.nr-faq dl { margin: 0; }
.nr-faq dt { font-family: var(--display); font-size: 22px; font-weight: 700; margin-top: 20px; color: var(--ink); }
.nr-faq dd { margin: 6px 0 0; color: var(--ink-2); line-height: 1.6; max-width: 70ch; }
.nr-final { margin-top: 54px; padding: 40px 24px; text-align: center; border: 1px solid var(--brand-2); background: radial-gradient(circle at 50% 0%, rgba(217, 178, 111, .12), transparent 70%); }
.nr-final p { color: var(--ink-2); margin: 0 0 20px; }
.nr-index { margin-top: 44px; }
.nr-index p { color: var(--ink-3); line-height: 2; }
.nr-index a { color: var(--ink-2); }
.nr-index a:hover { color: var(--brand); }
.nr-colophon { margin-top: 36px; padding-top: 16px; border-top: 1px solid var(--line); color: var(--ink-3); font-size: 13px; }
.nr-colophon a { color: var(--ink-2); }

/* ---- pages: about, questions, boundaries, legal, data, journal ---- */
.nr-page { max-width: 700px; margin: 0 auto; padding: 34px 18px 56px; }
.nr-page h1 { font-size: clamp(36px, 5vw, 52px); font-style: italic; margin-bottom: 14px; }
.nr-page h2 { font-size: 25px; margin: 30px 0 8px; }
.nr-page p, .nr-page li, .nr-page dd { color: var(--ink-2); font-size: 16px; line-height: 1.7; }
.nr-page a { color: var(--brand); }
.nr-page-lede { font-size: 19px !important; color: var(--ink) !important; }
.nr-page-date { font-size: 13px !important; color: var(--ink-3) !important; letter-spacing: .08em; text-transform: uppercase; }
.nr-rules dt { font-family: var(--display); font-size: 22px; font-weight: 700; color: var(--ink); margin-top: 18px; }
.nr-rules dd { margin: 4px 0 0; }
.nr-entry { border-top: 1px solid var(--line); margin-top: 24px; padding-top: 6px; }

@media (max-width: 760px) {
  .nr-playbill { grid-template-columns: 1fr; }
  .nr-ledger { grid-template-columns: repeat(2, 1fr); }
  .nr-grid { grid-template-columns: 1fr; }
}
