:root {
  --bg: #f7f5f1;
  --bg-deep: #ebe7df;
  --surface: rgba(255, 255, 255, 0.78);
  --surface-strong: rgba(255, 255, 255, 0.94);
  --surface-soft: rgba(255, 255, 255, 0.52);
  --text: #171717;
  --muted: #6f6a62;
  --line: rgba(20, 20, 20, 0.10);
  --accent: #1c1c1e;
  --accent-soft: rgba(28, 28, 30, 0.08);
  --danger: #a33a32;
  --success: #2f7d55;
  --radius-xl: 34px;
  --radius-lg: 26px;
  --radius-md: 18px;
  --radius-sm: 12px;
  --shadow-soft: 0 24px 80px rgba(39, 34, 26, 0.11);
  --shadow-card: 0 16px 44px rgba(39, 34, 26, 0.09);
  --max: 1120px;
}

* { box-sizing: border-box; }
html { min-height: 100%; scroll-behavior: smooth; }
body {
  margin: 0;
  min-height: 100%;
  color: var(--text);
  background:
    radial-gradient(circle at 12% 8%, rgba(255, 255, 255, 0.95), transparent 30%),
    radial-gradient(circle at 82% 16%, rgba(235, 221, 200, 0.62), transparent 34%),
    linear-gradient(135deg, #f8f6f2 0%, #ebe7df 100%);
  font-family: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", sans-serif;
  font-weight: 300;
  letter-spacing: -0.015em;
}

a { color: inherit; text-decoration: none; }
button, input, textarea { font: inherit; }

.ambient { position: fixed; pointer-events: none; border-radius: 999px; filter: blur(16px); opacity: 0.5; z-index: -1; }
.ambient-a { width: 36vw; height: 36vw; left: -16vw; top: 12vh; background: rgba(255,255,255,.9); }
.ambient-b { width: 30vw; height: 30vw; right: -12vw; bottom: 4vh; background: rgba(209,195,172,.45); }

.topbar {
  position: sticky;
  top: 0;
  z-index: 20;
  width: min(var(--max), calc(100% - 34px));
  margin: 16px auto 0;
  padding: 10px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  background: rgba(255, 255, 255, 0.55);
  border: 1px solid var(--line);
  border-radius: 999px;
  backdrop-filter: blur(24px) saturate(1.3);
  box-shadow: 0 12px 36px rgba(39,34,26,.07);
}
.brand { display: inline-flex; align-items: center; gap: 10px; padding-left: 8px; }
.brand-mark {
  width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%;
  background: var(--accent); color: white; font-size: 12px; letter-spacing: .08em; font-weight: 500;
}
.brand-text { font-weight: 500; }
.nav { display: flex; align-items: center; gap: 4px; }
.nav a { padding: 10px 14px; border-radius: 999px; color: var(--muted); font-size: 14px; }
.nav a:hover { color: var(--text); background: rgba(255,255,255,.6); }
.nav-pill { color: white !important; background: var(--accent) !important; }

.page-shell { width: min(var(--max), calc(100% - 34px)); margin: 0 auto; padding: 58px 0 90px; }
.hero { padding: 86px 0 60px; }
.hero-centered { text-align: center; max-width: 850px; margin: 0 auto; }
.eyebrow { color: var(--muted); text-transform: uppercase; letter-spacing: .14em; font-size: 12px; font-weight: 500; margin-bottom: 14px; }
h1, h2, h3, p { margin-top: 0; }
h1 { font-size: clamp(40px, 6.4vw, 82px); line-height: 1.01; letter-spacing: -0.044em; word-spacing: .018em; font-weight: 200; margin-bottom: 22px; }
h2 { font-size: clamp(24px, 2.7vw, 36px); line-height: 1.08; letter-spacing: -0.026em; word-spacing: .014em; font-weight: 300; }
h3 { font-size: 24px; line-height: 1.12; letter-spacing: -0.022em; word-spacing: .014em; font-weight: 350; }
p { color: var(--muted); line-height: 1.68; font-weight: 300; word-spacing: .018em; }
.hero-copy { font-size: clamp(18px, 2.2vw, 24px); max-width: 660px; margin: 0 auto 30px; }
.hero-actions, .card-actions, .compact-actions { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; }
.hero-centered .hero-actions { justify-content: center; }
.button {
  border: 0; cursor: pointer; min-height: 46px; padding: 13px 19px; border-radius: 999px;
  display: inline-flex; align-items: center; justify-content: center; transition: transform .18s ease, box-shadow .18s ease, background .18s ease;
  font-weight: 420; letter-spacing: -0.015em;
}
.button:hover { transform: translateY(-1px); }
.button.primary { background: var(--accent); color: white; box-shadow: 0 14px 28px rgba(20,20,20,.14); }
.button.ghost { background: rgba(255,255,255,.62); border: 1px solid var(--line); color: var(--text); }
.button.wide { width: 100%; }

.feature-grid, .mirror-grid, .stats-row { display: grid; gap: 18px; }
.feature-grid.three { grid-template-columns: repeat(3, 1fr); }
.feature-card, .mirror-card, .glass-panel, .auth-card, .empty-card, .stat-card, .question-edit-card, .answer-card, .table-card, .danger-zone, .read-card {
  background: var(--surface);
  border: 1px solid var(--line);
  border-radius: var(--radius-lg);
  box-shadow: var(--shadow-card);
  backdrop-filter: blur(26px) saturate(1.25);
}
.feature-card { padding: 26px; }
.feature-card span, .question-number { color: var(--muted); font-size: 13px; letter-spacing: .09em; text-transform: uppercase; }
.feature-card h2 { margin: 28px 0 10px; }

.auth-wrap { max-width: 520px; margin: 0 auto; }
.auth-card, .form-panel { padding: 30px; }
.auth-card h1 { font-size: clamp(38px, 6vw, 62px); }
.auth-switch { text-align: center; margin: 16px 0 0; font-size: 14px; }
.auth-switch a { font-weight: 500; }

label { display: grid; gap: 8px; color: var(--muted); font-size: 13px; letter-spacing: .01em; margin-bottom: 16px; }
input, textarea {
  width: 100%; border: 1px solid var(--line); border-radius: 16px; padding: 14px 15px;
  background: rgba(255,255,255,.72); color: var(--text); outline: none; transition: border .15s ease, box-shadow .15s ease, background .15s ease;
}
textarea { resize: vertical; line-height: 1.55; }
input:focus, textarea:focus { border-color: rgba(20,20,20,.26); box-shadow: 0 0 0 4px rgba(20,20,20,.05); background: rgba(255,255,255,.94); }
.inline-error, .flash { padding: 14px 16px; border-radius: 16px; margin-bottom: 16px; border: 1px solid var(--line); }
.inline-error, .flash-error { background: rgba(163,58,50,.08); color: var(--danger); }
.flash-success { background: rgba(47,125,85,.10); color: var(--success); }
.wide-error { max-width: 720px; }

.dashboard-head, .editor-head, .answer-head, .mirror-overview { display: flex; justify-content: space-between; align-items: flex-start; gap: 22px; margin-bottom: 24px; }
.dashboard-head h1, .editor-head h1, .answer-head h1 { font-size: clamp(38px, 6vw, 74px); }
.dashboard-head p, .editor-head p, .answer-head p { max-width: 660px; }
.stats-row { grid-template-columns: repeat(3, 1fr); margin-bottom: 34px; }
.stat-card { padding: 22px; }
.stat-card strong { display: block; font-size: 32px; font-weight: 250; letter-spacing: -0.045em; }
.stat-card span { color: var(--muted); font-size: 13px; }
.section-block { margin-top: 44px; }
.section-title { display: flex; align-items: center; justify-content: space-between; margin-bottom: 16px; }
.section-title h2 { margin-bottom: 0; }
.section-title a { color: var(--muted); font-size: 14px; }
.mirror-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.mirror-card { padding: 24px; }
.mode-chip { display: inline-flex; padding: 7px 10px; border-radius: 999px; background: var(--accent-soft); color: var(--muted); font-size: 12px; margin-bottom: 18px; }
.card-meta { display: flex; flex-wrap: wrap; gap: 8px; margin: 18px 0; color: var(--muted); font-size: 13px; }
.card-meta span { padding: 7px 9px; border-radius: 999px; background: rgba(255,255,255,.62); border: 1px solid var(--line); }
.card-actions a { color: var(--text); font-weight: 440; font-size: 14px; }
.empty-card { padding: 28px; color: var(--muted); }
.progress { height: 8px; border-radius: 99px; background: rgba(20,20,20,.08); overflow: hidden; }
.progress span { display: block; height: 100%; border-radius: inherit; background: var(--accent); transition: width .35s ease; }
.big.progress { height: 10px; margin: 10px 0 18px; }
.table-progress { width: 120px; display: inline-block; vertical-align: middle; margin-right: 8px; }

.editor-shell { max-width: 900px; margin: 0 auto; }
.mirror-form { display: grid; gap: 18px; }
.segmented-field { display: flex; gap: 12px; align-items: center; flex-wrap: wrap; margin: 8px 0 18px; color: var(--muted); }
.segmented-field span { font-size: 13px; text-transform: uppercase; letter-spacing: .12em; margin-right: 4px; }
.segmented-field label { display: inline-flex; align-items: center; gap: 8px; margin: 0; padding: 10px 12px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.58); color: var(--text); }
.segmented-field input { width: auto; }
.question-list { display: grid; gap: 18px; }
.question-edit-card { padding: 24px; }
.question-edit-card .question-number { margin-bottom: 18px; }
.link-button { border: 0; background: transparent; padding: 0; cursor: pointer; color: var(--muted); }
.link-button.danger, .danger-text { color: var(--danger); }
.sticky-actions { position: sticky; bottom: 18px; z-index: 10; display: flex; justify-content: flex-end; gap: 12px; padding: 12px; border: 1px solid var(--line); border-radius: 999px; background: rgba(255,255,255,.68); backdrop-filter: blur(20px); box-shadow: 0 16px 50px rgba(39,34,26,.09); }
.wrap-actions { flex-wrap: wrap; }
.danger-zone { padding: 24px; margin-top: 22px; }
.danger-zone h2 { font-size: 24px; margin-bottom: 8px; }

.mirror-overview { align-items: stretch; }
.mirror-hero-card { flex: 1; padding: 32px; }
.mirror-hero-card h1 { font-size: clamp(38px, 6vw, 74px); }
.stats-stack { width: 220px; display: grid; gap: 14px; }
.share-box { display: grid; grid-template-columns: 1fr auto; gap: 12px; align-items: end; margin: 22px 0; }
.spacious { gap: 10px; }
.read-list { display: grid; gap: 12px; }
.read-card { display: grid; grid-template-columns: 42px 1fr; padding: 18px; align-items: start; }
.read-card p { margin: 0; color: var(--text); }

.invite-landing { max-width: 760px; margin: 0 auto; }
.invite-card { padding: 42px; text-align: center; }
.privacy-note { margin: 20px 0; padding: 16px; border-radius: 18px; background: rgba(255,255,255,.58); border: 1px solid var(--line); color: var(--muted); line-height: 1.55; }
.answer-shell { max-width: 920px; margin: 0 auto; }
.progress-ring { width: 102px; height: 102px; border-radius: 50%; display: grid; place-items: center; text-align: center; background: rgba(255,255,255,.72); border: 1px solid var(--line); box-shadow: var(--shadow-card); }
.progress-ring strong { display: block; font-size: 26px; font-weight: 300; }
.progress-ring span { display: block; color: var(--muted); font-size: 12px; margin-top: -16px; }
.answer-stack { display: grid; gap: 20px; }
.answer-card { padding: 28px; overflow: hidden; }
.answer-card h2 { margin: 12px 0 18px; }
.answer-card.fresh-unlock { animation: unlockGlow 1.2s ease both; }
@keyframes unlockGlow { 0% { transform: translateY(4px); box-shadow: 0 0 0 rgba(47,125,85,0); } 25% { box-shadow: 0 24px 90px rgba(47,125,85,.22); } 100% { transform: translateY(0); } }
.locked-card { padding: 18px; margin: 12px 0 16px; border-radius: 18px; border: 1px dashed rgba(20,20,20,.18); background: rgba(255,255,255,.44); color: var(--muted); }
.answer-pair { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; }
.answer-pair > div { padding: 20px; border-radius: 20px; border: 1px solid var(--line); background: rgba(255,255,255,.55); }
.answer-pair span { display: block; color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .12em; margin-bottom: 10px; }
.answer-pair p { margin: 0; color: var(--text); white-space: normal; }
.creator-reflection { background: linear-gradient(145deg, rgba(255,255,255,.85), rgba(245,240,232,.72)) !important; }

.table-card { overflow-x: auto; }
table { width: 100%; border-collapse: collapse; min-width: 820px; }
th, td { padding: 16px; text-align: left; border-bottom: 1px solid var(--line); vertical-align: middle; }
th { color: var(--muted); font-size: 12px; text-transform: uppercase; letter-spacing: .1em; font-weight: 500; }
td span { color: var(--muted); font-size: 13px; }
td a { font-weight: 500; }

@media (max-width: 900px) {
  .feature-grid.three, .mirror-grid, .stats-row, .mirror-overview { grid-template-columns: 1fr; display: grid; }
  .dashboard-head, .editor-head, .answer-head { flex-direction: column; }
  .stats-stack { width: 100%; grid-template-columns: repeat(3, 1fr); }
  .answer-pair { grid-template-columns: 1fr; }
  .share-box { grid-template-columns: 1fr; }
}

@media (max-width: 640px) {
  .topbar { width: calc(100% - 22px); margin-top: 10px; border-radius: 26px; align-items: flex-start; }
  .brand-text { display: none; }
  .nav { gap: 0; flex-wrap: wrap; justify-content: flex-end; }
  .nav a { padding: 9px 10px; font-size: 13px; }
  .page-shell { width: calc(100% - 22px); padding-top: 34px; }
  h1 { font-size: clamp(40px, 14vw, 58px); }
  .hero { padding-top: 42px; }
  .auth-card, .invite-card, .mirror-hero-card, .question-edit-card, .answer-card, .feature-card, .mirror-card { padding: 21px; border-radius: 24px; }
  .sticky-actions { border-radius: 24px; flex-direction: column; }
  .sticky-actions .button { width: 100%; }
  .stats-stack, .stats-row { grid-template-columns: 1fr; }
  .segmented-field { align-items: stretch; }
  .segmented-field label { width: 100%; }
  .progress-ring { width: 84px; height: 84px; }
}

/* TruthMirror v1.2 product hardening */
.settings-grid, .share-page { display: grid; grid-template-columns: 1fr 1fr; gap: 20px; align-items: start; }
.settings-grid .form-panel h2, .danger-zone h2 { font-size: 26px; margin: 8px 0 8px; }
.muted-copy { color: var(--muted); line-height: 1.55; }
.subtle-link { margin-top: -4px; text-align: right; }
.left-note { text-align: left; word-break: break-word; }
.share-hero { padding: 36px; }
.share-hero h1 { font-size: clamp(42px, 7vw, 82px); }
.share-side { display: grid; gap: 14px; }
.share-box.elevated { padding: 12px; border-radius: 24px; background: rgba(255,255,255,.52); border: 1px solid var(--line); }
.invite-preview-card { max-width: 680px; padding: 30px; border-radius: 30px; border: 1px solid var(--line); background: rgba(255,255,255,.68); box-shadow: var(--shadow-card); }
.inline-form { display: inline-flex; margin: 0; }
.danger-delete { background: rgba(163,58,50,.045); border-color: rgba(163,58,50,.18); }
.button.disabled, .button:disabled { opacity: .42; cursor: not-allowed; transform: none; box-shadow: none; }
.flash-error { background: rgba(163,58,50,.08); color: var(--danger); }
.topbar .nav a[href="settings.php"] { color: var(--muted); }
.answer-card textarea { min-height: 150px; }
@media (max-width: 900px) { .settings-grid, .share-page { grid-template-columns: 1fr; } }
@media (max-width: 640px) { .share-hero { padding: 22px; border-radius: 26px; } .subtle-link { text-align: left; } .inline-form, .inline-form .button { width: 100%; } }

.session-panel { background: rgba(255,255,255,.62); }
.session-panel .button { margin-top: 6px; }


/* TruthMirror v1.3 — timed engine + no-pinch-pan hardening */
html, body { max-width: 100%; overflow-x: hidden; overscroll-behavior-x: none; }
body.no-pinch-pan { touch-action: pan-y; -webkit-text-size-adjust: 100%; }
img, video, canvas, svg { max-width: 100%; }
.timing-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; margin-top: 14px; }
.timing-settings-grid [data-timing-panel], [data-custom-time-field] { display: none; }
[data-current-timing="per_question_same"] [data-timing-panel="per_question_same"],
[data-current-timing="global_all_questions"] [data-timing-panel="global_all_questions"],
[data-current-timing="per_question_custom"] [data-custom-time-field] { display: flex; }
.tiny-note { color: var(--muted); font-size: 13px; line-height: 1.5; margin-top: 10px; }
.per-question-time input, .timing-settings-grid input, .retry-row input, .retry-panel input { max-width: 180px; }
.timer-mode-pill, .mode-chip.soft-chip { display: inline-flex; margin-top: 10px; align-items: center; width: fit-content; border: 1px solid var(--line); background: rgba(255,255,255,.62); color: var(--muted); border-radius: 999px; padding: 8px 12px; font-size: 13px; letter-spacing: -.01em; }
.timer-card { margin: 16px 0; border: 1px solid rgba(20,20,20,.10); background: linear-gradient(135deg, rgba(255,255,255,.82), rgba(246,241,231,.72)); border-radius: 22px; padding: 16px 18px; display: flex; justify-content: space-between; align-items: center; gap: 16px; box-shadow: 0 16px 44px rgba(30,25,15,.08); }
.timer-card span { color: var(--muted); font-size: 13px; text-transform: uppercase; letter-spacing: .12em; }
.timer-card strong { font-variant-numeric: tabular-nums; font-size: clamp(24px, 5vw, 42px); font-weight: 520; letter-spacing: -.04em; }
.timer-card.is-low { border-color: rgba(160,82,25,.25); background: linear-gradient(135deg, rgba(255,247,236,.95), rgba(255,238,218,.80)); }
.timer-card.is-expired { border-color: rgba(140,30,30,.18); background: #fff1f1; }
.global-timer { position: sticky; top: 86px; z-index: 8; backdrop-filter: blur(20px); }
.timer-warning { border-color: rgba(120,70,20,.12); background: rgba(255,248,238,.72); }
.timed-locked { opacity: .92; }
.locked-card.hard-lock { background: #fff1f1; color: #7a1f1f; border-color: rgba(122,31,31,.16); }
.retry-panel { display: grid; grid-template-columns: 1fr auto auto; align-items: end; gap: 16px; margin-bottom: 20px; }
.retry-panel h2 { margin: 0 0 4px; font-size: 24px; }
.retry-panel p { margin: 0; color: var(--muted); line-height: 1.5; }
.retry-row { margin-top: 16px; border-top: 1px solid var(--line); padding-top: 16px; display: flex; align-items: end; gap: 12px; flex-wrap: wrap; }
.notification-list { display: grid; gap: 10px; }
.notification-card { display: block; text-decoration: none; color: var(--text); border: 1px solid var(--line); background: rgba(255,255,255,.72); border-radius: 22px; padding: 16px 18px; transition: transform .2s ease, box-shadow .2s ease; }
.notification-card:hover { transform: translateY(-1px); box-shadow: 0 14px 34px rgba(30,25,15,.08); }
.notification-card strong { display: block; margin-bottom: 5px; }
.notification-card span { color: var(--muted); line-height: 1.45; }
.read-card small { color: var(--muted); margin-left: auto; white-space: nowrap; }
@media (max-width: 760px) {
  .timing-settings-grid, .retry-panel { grid-template-columns: 1fr; }
  .per-question-time input, .timing-settings-grid input, .retry-row input, .retry-panel input { max-width: 100%; }
  .global-timer { top: 74px; }
  .timer-card { align-items: flex-start; flex-direction: column; }
}

/* v1.3.2 Seamless Timer Engine */
.question-topline { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; margin-bottom: 8px; }
.question-live-chip { display: inline-flex; align-items: center; justify-content: center; min-width: 76px; min-height: 32px; border-radius: 999px; padding: 7px 11px; font-size: 12px; font-weight: 650; letter-spacing: -.01em; font-variant-numeric: tabular-nums; border: 1px solid rgba(20,20,20,.08); background: rgba(255,255,255,.78); color: var(--muted); box-shadow: 0 10px 28px rgba(20,20,20,.045); transition: transform .2s ease, background .2s ease, border-color .2s ease, color .2s ease; }
.question-live-chip.state-active { background: rgba(236, 247, 238, .92); color: #20633a; border-color: rgba(32,99,58,.16); }
.question-live-chip.state-active.is-low { background: rgba(255,247,232,.96); color: #9a581e; border-color: rgba(154,88,30,.18); transform: scale(1.035); }
.question-live-chip.state-waiting { background: rgba(247,247,247,.78); color: rgba(20,20,20,.48); }
.question-live-chip.state-timed_out { background: #fff0f0; color: #8c2c2c; border-color: rgba(140,44,44,.18); }
.question-live-chip.state-answered { background: rgba(237,245,255,.9); color: #244f8f; border-color: rgba(36,79,143,.16); }
.answer-card.is-live-active { border-color: rgba(32,99,58,.18); box-shadow: 0 24px 70px rgba(22,67,42,.10); }
.answer-card.timed-waiting { opacity: .82; }
.compact-timer { margin-top: 10px; margin-bottom: 14px; padding: 12px 14px; border-radius: 18px; }
.compact-timer strong { font-size: clamp(22px, 4vw, 34px); }
.local-error { margin-top: 12px; }
@media (max-width: 640px) {
  .question-topline { align-items: flex-start; }
  .question-live-chip { min-width: 68px; min-height: 30px; font-size: 11px; padding: 6px 10px; }
}

/* v1.3.5 — One-by-One Focus Privacy */
.answer-card.focus-hidden {
  position: relative;
  opacity: 1;
  border-style: solid;
  border-color: rgba(20,20,20,.055);
  background:
    linear-gradient(135deg, rgba(255,255,255,.66), rgba(247,247,248,.48));
  box-shadow: 0 14px 44px rgba(20,20,20,.035);
}
.answer-card.focus-hidden::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    radial-gradient(circle at 18% 12%, rgba(255,255,255,.82), transparent 32%),
    linear-gradient(120deg, rgba(255,255,255,.12), rgba(255,255,255,0));
}
.answer-card.focus-hidden h2[data-question-title] {
  color: rgba(20,20,20,.42);
  font-weight: 360;
  letter-spacing: -.035em;
}
.focus-locked-card {
  display: grid;
  grid-template-columns: 42px 1fr;
  gap: 10px 14px;
  align-items: center;
  padding: 18px;
  border-style: solid;
  border-color: rgba(20,20,20,.07);
  background: rgba(255,255,255,.58);
  backdrop-filter: blur(18px);
}
.focus-locked-card .focus-lock-icon {
  grid-row: span 2;
  width: 42px;
  height: 42px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background: rgba(20,20,20,.045);
  color: rgba(20,20,20,.38);
  letter-spacing: .08em;
  font-weight: 700;
}
.focus-locked-card strong {
  display: block;
  color: rgba(20,20,20,.70);
  font-weight: 520;
  letter-spacing: -.02em;
}
.focus-locked-card em {
  display: block;
  margin-top: 2px;
  color: var(--muted);
  font-style: normal;
  line-height: 1.45;
}
.answer-card.is-live-active h2[data-question-title] {
  color: var(--text);
}
@media (max-width: 640px) {
  .focus-locked-card { grid-template-columns: 34px 1fr; padding: 15px; }
  .focus-locked-card .focus-lock-icon { width: 34px; height: 34px; font-size: 11px; }
}


/* TruthMirror v1.3.6 — homepage showcase */
.landing-hero { padding-top: 54px; }
.hero-grid { display: grid; grid-template-columns: 1.05fr .95fr; gap: 26px; align-items: center; }
.hero-copy-block { max-width: 650px; }
.hero-micro-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 18px; }
.hero-micro-pills span, .mini-chip, .mini-stat { display: inline-flex; align-items: center; border-radius: 999px; border: 1px solid var(--line); background: rgba(255,255,255,.64); color: var(--muted); padding: 9px 12px; font-size: 13px; }
.mini-chip.dark { background: var(--accent); color: #fff; border-color: transparent; }
.hero-showcase { padding: 22px; }
.showcase-topline { display: flex; gap: 10px; flex-wrap: wrap; margin-bottom: 18px; }
.showcase-stage { display: grid; gap: 14px; }
.showcase-card { padding: 22px; border: 1px solid var(--line); border-radius: 26px; background: rgba(255,255,255,.62); box-shadow: 0 18px 40px rgba(39,34,26,.06); }
.showcase-card.active { background: linear-gradient(155deg, rgba(255,255,255,.94), rgba(247,243,236,.82)); }
.showcase-card.soft { background: rgba(250,248,244,.64); }
.showcase-meta, .showcase-row { display: flex; align-items: center; justify-content: space-between; gap: 12px; flex-wrap: wrap; }
.showcase-meta span:first-child { color: var(--muted); font-size: 13px; text-transform: uppercase; letter-spacing: .12em; }
.countdown-chip { display: inline-flex; align-items: center; justify-content: center; min-width: 76px; padding: 10px 14px; border-radius: 999px; background: rgba(28,28,30,.92); color: #fff; font-weight: 500; letter-spacing: .04em; }
.mock-input { margin: 18px 0 16px; border-radius: 20px; border: 1px solid var(--line); background: rgba(255,255,255,.86); min-height: 94px; padding: 18px; color: rgba(23,23,23,.44); }
.value-strip { display: grid; grid-template-columns: repeat(3, 1fr); gap: 18px; margin-top: 8px; }
.value-card { padding: 22px 24px; border-radius: 24px; border: 1px solid var(--line); background: rgba(255,255,255,.56); box-shadow: var(--shadow-card); }
.value-card strong { display: block; font-size: 20px; font-weight: 360; letter-spacing: -.03em; margin-bottom: 10px; }
.marketing-section { margin-top: 58px; }
.section-kicker { color: var(--muted); text-transform: uppercase; letter-spacing: .16em; font-size: 12px; font-weight: 500; margin-bottom: 12px; }
.section-headline { display: flex; align-items: end; justify-content: space-between; gap: 20px; margin-bottom: 20px; }
.section-headline h2 { max-width: 680px; margin-bottom: 0; line-height: 1.06; letter-spacing: -0.03em; word-spacing: .016em; text-wrap: balance; }
.section-headline p { max-width: 460px; margin-bottom: 0; }
.marketing-grid { gap: 20px; }
.marketing-card { padding: 28px; }
.marketing-card h2 { margin: 24px 0 10px; font-size: clamp(24px, 2.2vw, 32px); }
.feature-bullets { list-style: none; padding: 0; margin: 18px 0 0; display: grid; gap: 10px; }
.feature-bullets li { position: relative; padding-left: 18px; color: var(--text); }
.feature-bullets li::before { content: ''; width: 7px; height: 7px; border-radius: 50%; background: rgba(28,28,30,.88); position: absolute; left: 0; top: .65em; }
.story-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.story-card { padding: 28px; }
.story-card span { color: var(--muted); text-transform: uppercase; letter-spacing: .12em; font-size: 12px; }
.story-card h3 { margin: 16px 0 10px; }
.band-panel { display: grid; grid-template-columns: .92fr 1.08fr; gap: 26px; padding: 30px; }
.band-list { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; }
.band-list > div { padding: 18px; border-radius: 22px; border: 1px solid var(--line); background: rgba(255,255,255,.50); }
.band-list strong { display: block; margin-bottom: 8px; font-weight: 430; letter-spacing: -.02em; }
.cta-panel { margin-top: 56px; padding: 32px; display: flex; align-items: center; justify-content: space-between; gap: 20px; }
.cta-copy h2 { margin-bottom: 10px; }
.landing-page .topbar { margin-top: 12px; }

@media (max-width: 900px) {
  .hero-grid, .value-strip, .story-grid, .band-panel, .cta-panel, .section-headline { grid-template-columns: 1fr; display: grid; }
  .section-headline { align-items: start; }
  .band-list { grid-template-columns: 1fr 1fr; }
  .cta-panel { display: grid; justify-content: stretch; }
}

@media (max-width: 640px) {
  .landing-hero { padding-top: 28px; }
  .hero-showcase, .value-card, .story-card, .band-panel, .cta-panel { padding: 22px; border-radius: 24px; }
  .band-list { grid-template-columns: 1fr; }
  .hero-micro-pills, .showcase-topline { gap: 8px; }
  .hero-micro-pills span, .mini-chip, .mini-stat { font-size: 12px; padding: 8px 10px; }
}


/* TruthMirror v1.3.7 — Apple keynote homepage polish */
.keynote-home {
  background:
    radial-gradient(circle at 18% 10%, rgba(255,255,255,.95), transparent 28%),
    radial-gradient(circle at 84% 8%, rgba(226,214,194,.70), transparent 30%),
    radial-gradient(circle at 44% 88%, rgba(255,255,255,.62), transparent 34%),
    linear-gradient(135deg, #f8f6f2 0%, #e9e4da 100%);
}
.keynote-home .page-shell { padding-top: 34px; }
.keynote-hero { padding-top: 42px; }
.keynote-grid { grid-template-columns: minmax(0, 1fr) minmax(360px, .86fr); gap: 34px; }
.keynote-hero h1 {
  font-size: clamp(48px, 7.2vw, 96px);
  max-width: 900px;
  line-height: .99;
  letter-spacing: -.048em;
  word-spacing: .018em;
}
.keynote-hero .hero-copy { max-width: 690px; margin-left: 0; }
.hero-copy-block .hero-actions { justify-content: flex-start; }

.keynote-device-wrap { position: relative; min-height: 560px; display: grid; place-items: center; }
.device-halo {
  position: absolute;
  width: min(70vw, 520px);
  height: min(70vw, 520px);
  border-radius: 50%;
  background:
    radial-gradient(circle, rgba(255,255,255,.98), rgba(255,255,255,.20) 44%, transparent 67%),
    radial-gradient(circle at 70% 22%, rgba(216,199,171,.45), transparent 48%);
  filter: blur(2px);
  animation: softFloat 7s ease-in-out infinite;
}
@keyframes softFloat {
  0%, 100% { transform: translate3d(0,0,0) scale(1); }
  50% { transform: translate3d(0,-10px,0) scale(1.025); }
}
.keynote-device {
  position: relative;
  z-index: 1;
  width: min(100%, 430px);
  padding: 14px;
  border-radius: 38px;
  background: rgba(255,255,255,.62);
  box-shadow: 0 34px 110px rgba(39,34,26,.18);
  transform: rotate(1.2deg);
}
.device-bar { display: flex; align-items: center; gap: 7px; padding: 9px 12px 16px; }
.device-bar span { width: 9px; height: 9px; border-radius: 50%; background: rgba(23,23,23,.18); }
.device-bar em { margin-left: auto; color: var(--muted); font-style: normal; font-size: 12px; letter-spacing: .08em; text-transform: uppercase; }
.device-card {
  border: 1px solid var(--line);
  border-radius: 28px;
  background: rgba(255,255,255,.72);
  padding: 20px;
  margin-bottom: 12px;
  box-shadow: 0 16px 42px rgba(39,34,26,.08);
}
.live-question-card h3 { font-size: 25px; line-height: 1.08; margin: 18px 0; }
.answer-line { height: 12px; border-radius: 999px; background: rgba(23,23,23,.10); margin: 10px 0; }
.answer-line.long { width: 92%; }
.answer-line.mid { width: 68%; }
.answer-line.short { width: 44%; }
.countdown-chip.pulse { animation: timerPulse 1.9s ease-in-out infinite; }
@keyframes timerPulse {
  0%, 100% { box-shadow: 0 0 0 rgba(28,28,30,0); }
  50% { box-shadow: 0 0 0 8px rgba(28,28,30,.06); }
}
.future-card, .reflection-card { display: grid; grid-template-columns: 42px 1fr; gap: 12px; align-items: center; }
.future-card p, .reflection-card p { margin: 3px 0 0; font-size: 14px; }
.future-lock-icon, .reflection-spark {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: rgba(28,28,30,.08);
  font-size: 20px;
}
.reflection-spark { background: rgba(47,125,85,.12); color: var(--success); }

.metric-ribbon {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 14px;
  margin: 20px 0 70px;
}
.metric-ribbon > div {
  border: 1px solid var(--line);
  border-radius: 26px;
  padding: clamp(20px, 2.2vw, 28px);
  background: rgba(255,255,255,.50);
  box-shadow: var(--shadow-card);
  min-height: 132px;
}
.metric-ribbon strong {
  display: block;
  font-size: clamp(30px, 3.15vw, 44px);
  line-height: 1.06;
  font-weight: 230;
  letter-spacing: -.032em;
  word-spacing: .022em;
  margin-bottom: 14px;
  text-wrap: balance;
}
.metric-ribbon span { color: var(--muted); line-height: 1.52; letter-spacing: -.004em; word-spacing: .018em; }

.section-headline.cinematic {
  padding: 28px;
  border-radius: 32px;
  border: 1px solid var(--line);
  background: linear-gradient(135deg, rgba(255,255,255,.70), rgba(255,255,255,.38));
  box-shadow: var(--shadow-card);
}
.feature-orbit {
  display: grid;
  grid-template-columns: 1.1fr .95fr .95fr;
  gap: 18px;
  margin-top: 20px;
}
.orbit-card {
  border: 1px solid var(--line);
  border-radius: 30px;
  background: rgba(255,255,255,.58);
  box-shadow: var(--shadow-card);
  padding: 26px;
  min-height: 242px;
  transition: transform .24s ease, box-shadow .24s ease, background .24s ease;
}
.orbit-card:hover { transform: translateY(-3px); box-shadow: 0 26px 70px rgba(39,34,26,.12); background: rgba(255,255,255,.76); }
.orbit-card.large { grid-row: span 2; min-height: 502px; display: flex; flex-direction: column; justify-content: flex-end; }
.orbit-card h3 { margin: 26px 0 10px; }
.orbit-card.large h3 { font-size: clamp(34px, 4.5vw, 56px); }
.icon-bubble {
  width: 54px;
  height: 54px;
  border-radius: 18px;
  display: grid;
  place-items: center;
  background: rgba(28,28,30,.92);
  color: white;
  font-weight: 500;
  box-shadow: 0 18px 38px rgba(28,28,30,.16);
}

.split-showcase {
  display: grid;
  grid-template-columns: .85fr 1.15fr;
  gap: 24px;
  align-items: center;
  margin-top: 70px;
}
.split-copy h2 { font-size: clamp(38px, 5.4vw, 74px); }
.premium-list { list-style: none; padding: 0; margin: 22px 0 0; display: grid; gap: 12px; }
.premium-list li { display: grid; grid-template-columns: 18px 1fr; gap: 12px; align-items: start; color: var(--text); line-height: 1.5; }
.premium-list li span { margin-top: 8px; width: 8px; height: 8px; border-radius: 50%; background: var(--accent); }
.focus-stack { display: grid; gap: 14px; }
.focus-step {
  border: 1px solid var(--line);
  border-radius: 30px;
  background: rgba(255,255,255,.58);
  box-shadow: var(--shadow-card);
  padding: 24px;
  min-height: 132px;
}
.focus-step em { color: var(--muted); font-style: normal; font-size: 12px; text-transform: uppercase; letter-spacing: .14em; }
.focus-step strong { display: block; font-size: 30px; font-weight: 280; letter-spacing: -.04em; margin: 10px 0 4px; }
.focus-step p { margin-bottom: 0; }
.focus-step.active {
  background: linear-gradient(145deg, rgba(255,255,255,.96), rgba(244,239,231,.78));
  transform: scale(1.015);
}
.hidden-step {
  background:
    repeating-linear-gradient(135deg, rgba(28,28,30,.035) 0, rgba(28,28,30,.035) 6px, transparent 6px, transparent 14px),
    rgba(255,255,255,.44);
}
.focus-timer { height: 8px; border-radius: 999px; background: rgba(28,28,30,.08); overflow: hidden; margin-top: 18px; }
.focus-timer span { display: block; height: 100%; border-radius: inherit; background: var(--accent); animation: timerShrink 5.4s ease-in-out infinite alternate; }
@keyframes timerShrink { from { width: 86%; } to { width: 42%; } }

.creator-control-panel {
  margin-top: 76px;
  padding: 32px;
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: 24px;
}
.creator-control-panel h2 { font-size: clamp(36px, 5vw, 70px); }
.control-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 14px; }
.control-grid article {
  padding: 20px;
  border-radius: 24px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.54);
}
.control-grid strong { display: block; margin: 12px 0 7px; font-size: 19px; letter-spacing: -.025em; }
.control-grid p { margin: 0; font-size: 14px; }
.status-dot { display: block; width: 12px; height: 12px; border-radius: 50%; }
.status-dot.warn { background: #c9822f; box-shadow: 0 0 0 6px rgba(201,130,47,.12); }
.status-dot.good { background: var(--success); box-shadow: 0 0 0 6px rgba(47,125,85,.12); }
.status-dot.calm { background: #6f6a62; box-shadow: 0 0 0 6px rgba(111,106,98,.12); }

.timeline-section h2 { font-size: clamp(38px, 5.6vw, 78px); }
.timeline {
  position: relative;
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 16px;
  margin-top: 24px;
}
.timeline::before {
  content: '';
  position: absolute;
  left: 7%;
  right: 7%;
  top: 34px;
  height: 1px;
  background: var(--line);
}
.timeline article {
  position: relative;
  border: 1px solid var(--line);
  border-radius: 28px;
  padding: 22px;
  background: rgba(255,255,255,.60);
  box-shadow: var(--shadow-card);
}
.timeline article span {
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: var(--accent);
  color: white;
  display: grid;
  place-items: center;
  margin-bottom: 28px;
  font-size: 13px;
  letter-spacing: .08em;
}
.timeline h3 { margin-bottom: 8px; }

.foundation-card { padding: 34px; }
.foundation-card h2 { font-size: clamp(38px, 5vw, 72px); }
.foundation-card p { max-width: 820px; }
.foundation-pills { display: flex; flex-wrap: wrap; gap: 10px; margin-top: 22px; }
.foundation-pills span {
  padding: 10px 13px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.60);
  color: var(--text);
  font-size: 13px;
}
.keynote-cta { overflow: hidden; position: relative; }
.keynote-cta::after {
  content: '';
  position: absolute;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  right: -100px;
  bottom: -120px;
  background: radial-gradient(circle, rgba(255,255,255,.95), rgba(255,255,255,0));
  pointer-events: none;
}

[data-reveal] {
  opacity: 0;
  transform: translateY(18px);
  transition: opacity .7s ease, transform .7s ease;
}
[data-reveal].is-visible {
  opacity: 1;
  transform: translateY(0);
}

@media (prefers-reduced-motion: reduce) {
  [data-reveal], [data-reveal].is-visible, .device-halo, .countdown-chip.pulse, .focus-timer span {
    opacity: 1;
    transform: none;
    animation: none;
    transition: none;
  }
}

@media (max-width: 980px) {
  .keynote-grid, .feature-orbit, .split-showcase, .creator-control-panel, .timeline, .metric-ribbon {
    grid-template-columns: 1fr;
  }
  .keynote-device-wrap { min-height: auto; margin-top: 20px; }
  .keynote-device { transform: none; }
  .orbit-card.large { min-height: auto; grid-row: auto; }
  .timeline::before { display: none; }
}

@media (max-width: 680px) {
  .keynote-home .page-shell { width: calc(100% - 20px); }
  .keynote-hero h1 { font-size: clamp(48px, 15vw, 70px); }
  .keynote-device, .section-headline.cinematic, .creator-control-panel, .foundation-card, .keynote-cta { border-radius: 26px; }
  .control-grid { grid-template-columns: 1fr; }
  .metric-ribbon > div, .orbit-card, .focus-step, .timeline article { padding: 20px; border-radius: 24px; }
}


/* TruthMirror v1.3.8 — homepage footer polish */
.homepage-footer-wrap { margin-top: 28px; padding-bottom: 12px; }
.homepage-footer {
  padding: 34px 0 0;
  overflow: hidden;
  border-radius: 34px;
  background: linear-gradient(180deg, rgba(255,255,255,.80), rgba(248,246,242,.74));
}
.footer-brand-row {
  display: grid;
  grid-template-columns: 54px 1fr;
  gap: 16px;
  align-items: start;
  padding: 0 32px 26px;
}
.footer-brand-mark {
  width: 54px;
  height: 54px;
  border-radius: 16px;
  display: grid;
  place-items: center;
  background: rgba(28,28,30,.96);
  color: white;
  font-size: 15px;
  letter-spacing: .08em;
  font-weight: 550;
  box-shadow: 0 14px 34px rgba(28,28,30,.12);
}
.footer-brand-name {
  font-size: 14px;
  letter-spacing: .22em;
  color: var(--muted);
  font-weight: 600;
  margin: 3px 0 10px;
}
.footer-brand-copy { max-width: 760px; margin-bottom: 0; }
.footer-links-grid {
  display: grid;
  grid-template-columns: repeat(4, 1fr);
  gap: 24px;
  padding: 12px 32px 34px;
}
.footer-col h3 {
  margin: 0 0 16px;
  font-size: 13px;
  text-transform: uppercase;
  letter-spacing: .18em;
  font-weight: 600;
  color: var(--muted);
}
.footer-col {
  display: grid;
  align-content: start;
  gap: 14px;
}
.footer-col a {
  color: var(--text);
  font-size: clamp(18px, 2vw, 22px);
  line-height: 1.15;
  font-weight: 480;
  letter-spacing: -.03em;
}
.footer-col a:hover { color: #000; }
.footer-bottom-bar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 22px 32px;
  border-top: 1px solid var(--line);
  background: rgba(235,239,242,.28);
}
.footer-bottom-bar span {
  color: var(--muted);
  font-size: 14px;
  line-height: 1.5;
}
.footer-pill-link {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 54px;
  padding: 0 26px;
  border-radius: 999px;
  background: rgba(255,255,255,.9);
  border: 1px solid rgba(28,28,30,.08);
  color: #000;
  font-size: 18px;
  font-weight: 600;
  letter-spacing: -.03em;
  box-shadow: 0 8px 26px rgba(39,34,26,.07);
}

@media (max-width: 900px) {
  .footer-links-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 640px) {
  .homepage-footer { border-radius: 28px; }
  .footer-brand-row,
  .footer-links-grid,
  .footer-bottom-bar { padding-left: 20px; padding-right: 20px; }
  .footer-brand-row { grid-template-columns: 42px 1fr; padding-bottom: 18px; }
  .footer-brand-mark { width: 42px; height: 42px; border-radius: 13px; font-size: 12px; }
  .footer-brand-name { margin-bottom: 8px; }
  .footer-links-grid { grid-template-columns: 1fr 1fr; gap: 18px; padding-top: 8px; padding-bottom: 24px; }
  .footer-col { gap: 12px; }
  .footer-col a { font-size: 17px; }
  .footer-bottom-bar { flex-direction: column; align-items: flex-start; padding-top: 18px; padding-bottom: 18px; }
  .footer-pill-link { width: 100%; min-height: 50px; font-size: 17px; }
}


/* TruthMirror v1.3.9 — Frontend Breathing Room Polish
   Apple-style air, calmer text rhythm, larger section gaps, and more spacious cards.
   This patch is visual only. No backend, timer, invite, dashboard, answer, or database logic changed. */

:root {
  --breath-section: clamp(66px, 8.5vw, 124px);
  --breath-card-pad: clamp(25px, 3.1vw, 40px);
  --breath-inner: clamp(18px, 2.4vw, 32px);
}

body {
  letter-spacing: 0.002em;
  text-rendering: geometricPrecision;
}

p,
.muted-copy,
.privacy-note,
.footer-bottom-bar span,
.card-meta,
.tiny-note {
  line-height: 1.78;
  letter-spacing: 0.006em;
  word-spacing: 0.035em;
}

h1 {
  line-height: 0.98;
  letter-spacing: -0.052em;
}

h2 {
  line-height: 1.09;
  letter-spacing: -0.034em;
}

h3 {
  line-height: 1.17;
  letter-spacing: -0.024em;
}

.keynote-hero h1 {
  letter-spacing: -0.056em;
  line-height: 0.96;
}

.hero-copy {
  line-height: 1.72;
  letter-spacing: 0.004em;
  word-spacing: 0.04em;
}

.eyebrow,
.section-kicker,
.footer-brand-name,
.question-number,
.feature-card span,
.showcase-meta span:first-child,
.footer-col h3,
th {
  letter-spacing: 0.19em;
}

.button,
.nav a,
.hero-micro-pills span,
.mini-chip,
.mini-stat,
.foundation-pills span,
.card-actions a,
.footer-pill-link {
  letter-spacing: 0.004em;
  word-spacing: 0.025em;
}

.page-shell {
  padding-bottom: clamp(96px, 12vw, 160px);
}

.section-block,
.marketing-section,
.split-showcase,
.creator-control-panel,
.timeline-section,
.foundation-section,
.homepage-footer-wrap {
  margin-top: var(--breath-section);
}

.hero-actions,
.card-actions,
.compact-actions {
  gap: 14px;
}

.hero-micro-pills,
.foundation-pills,
.showcase-topline {
  gap: 12px;
}

.feature-grid,
.mirror-grid,
.stats-row,
.marketing-grid,
.story-grid,
.control-grid,
.timeline,
.value-strip,
.metric-ribbon {
  gap: clamp(20px, 2.4vw, 30px);
}

.feature-card,
.mirror-card,
.auth-card,
.empty-card,
.stat-card,
.question-edit-card,
.answer-card,
.table-card,
.danger-zone,
.read-card,
.story-card,
.orbit-card,
.focus-step,
.timeline article,
.metric-ribbon > div,
.value-card {
  padding: var(--breath-card-pad);
}

.glass-panel,
.feature-card,
.mirror-card,
.auth-card,
.empty-card,
.stat-card,
.question-edit-card,
.answer-card,
.table-card,
.danger-zone,
.read-card,
.story-card,
.orbit-card,
.focus-step,
.timeline article,
.metric-ribbon > div,
.value-card {
  border-color: rgba(20, 20, 20, 0.085);
}

.section-headline,
.section-headline.cinematic,
.dashboard-head,
.editor-head,
.answer-head,
.mirror-overview {
  gap: var(--breath-inner);
}

.section-headline {
  margin-bottom: clamp(26px, 3.2vw, 42px);
}

.section-headline.cinematic {
  padding: clamp(28px, 3.4vw, 46px);
}

.hero-showcase,
.keynote-device,
.creator-control-panel,
.foundation-card,
.keynote-cta,
.homepage-footer {
  padding: clamp(24px, 3vw, 42px);
}

.keynote-device {
  padding: clamp(16px, 2vw, 22px);
}

.device-card,
.showcase-card,
.control-grid article,
.band-list > div {
  padding: clamp(20px, 2.3vw, 30px);
}

.feature-card h2,
.marketing-card h2,
.orbit-card h3,
.story-card h3,
.timeline h3 {
  margin-top: clamp(26px, 3vw, 38px);
}

.answer-card h2,
.live-question-card h3 {
  margin-bottom: clamp(20px, 2.4vw, 30px);
}

input,
textarea {
  letter-spacing: 0.004em;
  word-spacing: 0.025em;
  line-height: 1.65;
  padding: 16px 17px;
}

textarea {
  min-height: 164px;
}

.answer-line {
  margin: 13px 0;
}

.footer-links-grid {
  gap: clamp(26px, 4vw, 54px);
  padding-top: clamp(24px, 3vw, 38px);
  padding-bottom: clamp(40px, 5vw, 68px);
}

.footer-col {
  gap: clamp(15px, 1.8vw, 22px);
}

.footer-col a {
  line-height: 1.24;
  letter-spacing: -0.018em;
  word-spacing: 0.04em;
}

.footer-brand-row {
  padding-bottom: clamp(30px, 4vw, 56px);
}

.footer-brand-copy {
  line-height: 1.82;
}

.footer-bottom-bar {
  padding-top: clamp(24px, 3vw, 34px);
  padding-bottom: clamp(24px, 3vw, 34px);
}

.table-card th,
.table-card td {
  padding: 19px 18px;
}

.locked-card {
  padding: 22px;
  line-height: 1.65;
}

@media (max-width: 900px) {
  .section-block,
  .marketing-section,
  .split-showcase,
  .creator-control-panel,
  .timeline-section,
  .foundation-section,
  .homepage-footer-wrap {
    margin-top: clamp(58px, 10vw, 92px);
  }

  .section-headline,
  .dashboard-head,
  .editor-head,
  .answer-head {
    gap: 18px;
  }
}

@media (max-width: 640px) {
  :root {
    --breath-section: clamp(54px, 13vw, 78px);
    --breath-card-pad: 23px;
  }

  body {
    letter-spacing: 0.001em;
  }

  p,
  .muted-copy,
  .privacy-note,
  .footer-bottom-bar span {
    line-height: 1.72;
    word-spacing: 0.025em;
  }

  h1,
  .keynote-hero h1 {
    letter-spacing: -0.046em;
    line-height: 1;
  }

  h2 {
    line-height: 1.1;
  }

  .page-shell {
    padding-bottom: 112px;
  }

  .hero-copy {
    line-height: 1.68;
  }

  .feature-card,
  .mirror-card,
  .auth-card,
  .empty-card,
  .stat-card,
  .question-edit-card,
  .answer-card,
  .table-card,
  .danger-zone,
  .read-card,
  .story-card,
  .orbit-card,
  .focus-step,
  .timeline article,
  .metric-ribbon > div,
  .value-card {
    padding: 23px;
  }

  input,
  textarea {
    padding: 15px 16px;
  }

  textarea {
    min-height: 152px;
  }

  .footer-links-grid {
    gap: 24px 18px;
  }
}


/* TruthMirror v1.3.9.1 — Straight Hero Mockup Polish
   Removes the intentional hero device tilt so it feels precision-aligned on iPad/desktop.
   Depth remains through halo, shadow, glass, and layering. */

.keynote-device {
  transform: none !important;
}

.keynote-device-wrap {
  perspective: none;
}

.device-halo {
  transform-origin: center;
}


/* TruthMirror v1.3.9.2 — Logged-in Sticky Nav
   Keeps the app navigation visible after login without touching homepage or app logic. */

.is-logged-in .topbar {
  position: fixed;
  top: calc(env(safe-area-inset-top, 0px) + 12px);
  left: 50%;
  transform: translateX(-50%);
  margin: 0;
  z-index: 1000;
  background: rgba(255, 255, 255, 0.72);
  box-shadow: 0 16px 48px rgba(39, 34, 26, 0.10);
}

.is-logged-in .page-shell {
  padding-top: clamp(104px, 10vw, 128px);
}

.is-logged-in .topbar .nav {
  max-width: calc(100vw - 140px);
}

@supports not (top: env(safe-area-inset-top)) {
  .is-logged-in .topbar {
    top: 12px;
  }
}

@media (max-width: 640px) {
  .is-logged-in .topbar {
    top: calc(env(safe-area-inset-top, 0px) + 10px);
    width: calc(100% - 22px);
  }

  .is-logged-in .page-shell {
    padding-top: 118px;
  }

  .is-logged-in .topbar .nav {
    max-width: calc(100vw - 88px);
  }
}


/* TruthMirror v1.3.9.3 — Subtle Apple Footer Polish
   Footer-only refinement: quieter, lighter, more Apple-like, less dominant on mobile. */

.homepage-footer {
  background: linear-gradient(180deg, rgba(255,255,255,.72), rgba(248,246,242,.62));
  box-shadow: 0 18px 60px rgba(39, 34, 26, 0.065);
}

.footer-brand-row {
  gap: clamp(14px, 2vw, 20px);
  padding-top: clamp(2px, 1vw, 10px);
}

.footer-brand-name {
  font-size: 11px;
  font-weight: 480;
  letter-spacing: 0.24em;
  color: rgba(23, 23, 23, 0.46);
}

.footer-brand-copy {
  max-width: 720px;
  color: rgba(23, 23, 23, 0.54);
  font-size: clamp(17px, 2vw, 20px);
  font-weight: 300;
  line-height: 1.72;
  letter-spacing: 0.004em;
  word-spacing: 0.035em;
}

.footer-links-grid {
  gap: clamp(28px, 5vw, 68px);
  padding-top: clamp(20px, 3vw, 34px);
  padding-bottom: clamp(38px, 5vw, 64px);
}

.footer-col {
  gap: clamp(13px, 1.6vw, 19px);
}

.footer-col h3 {
  margin-bottom: clamp(10px, 1.5vw, 16px);
  font-size: 11px;
  font-weight: 480;
  letter-spacing: 0.21em;
  color: rgba(23, 23, 23, 0.44);
}

.footer-col a {
  color: rgba(23, 23, 23, 0.68);
  font-size: clamp(16px, 1.45vw, 18px);
  line-height: 1.42;
  font-weight: 360;
  letter-spacing: -0.006em;
  word-spacing: 0.04em;
  transition: color .18s ease, transform .18s ease;
}

.footer-col a:hover {
  color: rgba(23, 23, 23, 0.92);
  transform: translateX(1px);
}

.footer-bottom-bar {
  background: rgba(235, 239, 242, 0.20);
  padding-top: clamp(20px, 2.8vw, 28px);
  padding-bottom: clamp(20px, 2.8vw, 28px);
}

.footer-bottom-bar span {
  color: rgba(23, 23, 23, 0.48);
  font-size: 13px;
  font-weight: 320;
  line-height: 1.58;
  letter-spacing: 0.003em;
  word-spacing: 0.03em;
}

.footer-pill-link {
  min-height: 46px;
  padding: 0 20px;
  background: rgba(255, 255, 255, 0.64);
  border-color: rgba(28, 28, 30, 0.075);
  color: rgba(23, 23, 23, 0.72);
  font-size: 15px;
  font-weight: 410;
  letter-spacing: -0.006em;
  box-shadow: 0 7px 20px rgba(39, 34, 26, 0.045);
}

.footer-pill-link:hover {
  background: rgba(255, 255, 255, 0.86);
  color: rgba(23, 23, 23, 0.92);
}

@media (max-width: 640px) {
  .homepage-footer {
    border-radius: 28px;
  }

  .footer-brand-copy {
    font-size: 16px;
    line-height: 1.68;
  }

  .footer-links-grid {
    grid-template-columns: 1fr 1fr;
    gap: 28px 24px;
    padding-top: 26px;
    padding-bottom: 34px;
  }

  .footer-col {
    gap: 13px;
  }

  .footer-col h3 {
    font-size: 10.5px;
    letter-spacing: 0.20em;
    color: rgba(23, 23, 23, 0.42);
  }

  .footer-col a {
    font-size: 15.5px;
    line-height: 1.40;
    font-weight: 360;
    color: rgba(23, 23, 23, 0.70);
  }

  .footer-bottom-bar span {
    font-size: 12.5px;
    line-height: 1.55;
  }

  .footer-pill-link {
    min-height: 44px;
    font-size: 15px;
    font-weight: 400;
  }
}


/* TruthMirror v1.3.9.4 — Footer Bottom Spacing Fix
   Reduces the excessive empty area after the homepage footer card, especially on mobile. */

.keynote-home .page-shell {
  padding-bottom: clamp(34px, 5vw, 64px);
}

.keynote-home .homepage-footer-wrap {
  margin-bottom: 0;
  padding-bottom: 0;
}

.keynote-home .homepage-footer {
  margin-bottom: 0;
}

@media (max-width: 640px) {
  .keynote-home .page-shell {
    padding-bottom: max(34px, env(safe-area-inset-bottom, 0px));
  }

  .keynote-home .homepage-footer-wrap {
    margin-top: clamp(48px, 11vw, 66px);
  }
}







/* TruthMirror v1.3.10.2 — Floating Plus Lower Position
   Moves the logged-in floating create button lower, while keeping safe browser-toolbar clearance. */

@media (max-width: 760px) {
  .floating-create-fab {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 66px);
  }
}

@media (max-width: 420px) {
  .floating-create-fab {
    bottom: calc(env(safe-area-inset-bottom, 0px) + 62px);
  }
}


/* TruthMirror v1.3.10.3 — Apple-Grade Page Transition Refinement
   Native-feeling, almost invisible, no blur, no artificial click delay.
   Apple-style motion should feel responsive first, decorative second. */

html.tm-transition-capable body .page-shell {
  transition:
    opacity 135ms cubic-bezier(.25, .1, .25, 1),
    transform 155ms cubic-bezier(.25, .1, .25, 1);
  will-change: opacity, transform;
}

html.tm-transition-capable body:not(.tm-page-ready) .page-shell {
  opacity: .985;
  transform: translate3d(0, 4px, 0);
}

html.tm-transition-capable body.tm-page-ready .page-shell {
  opacity: 1;
  transform: translate3d(0, 0, 0);
}

@media (prefers-reduced-motion: reduce) {
  html.tm-transition-capable body .page-shell {
    transition: none !important;
    will-change: auto;
  }

  html.tm-transition-capable body:not(.tm-page-ready) .page-shell,
  html.tm-transition-capable body.tm-page-ready .page-shell {
    opacity: 1;
    transform: none;
  }
}


/* TruthMirror v1.3.11 — Consolidated Current Mobile Nav + Motion Layer
   Replaces historical v1.3.9.5–v1.3.10.4 patch stack with one readable current-state section. */

.mobile-nav-wrap {
  display: none;
}

.mobile-menu-toggle {
  border: 0;
  font: inherit;
  cursor: pointer;
  -webkit-tap-highlight-color: transparent;
}

.mobile-menu-panel[hidden] {
  display: none !important;
}

.menu-icon {
  width: 18px;
  height: 12px;
  position: relative;
  display: inline-block;
  border-top: 2px solid currentColor;
}

.menu-icon::before,
.menu-icon::after {
  content: "";
  position: absolute;
  left: 0;
  width: 18px;
  border-top: 2px solid currentColor;
}

.menu-icon::before {
  top: 4px;
}

.menu-icon::after {
  top: 10px;
}

@media (max-width: 760px) {
  .is-guest .topbar,
  .is-logged-in .topbar {
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-areas:
      "brand . toggle"
      "panel panel panel";
    align-items: center;
    gap: 10px 12px;
    overflow: visible;
    min-height: 72px;
    padding: 10px 12px;
    width: calc(100% - 22px);
    border-radius: 34px;
    background: rgba(255, 255, 255, 0.86);
    backdrop-filter: blur(26px) saturate(1.2);
  }

  .is-guest .brand,
  .is-logged-in .brand {
    grid-area: brand;
    justify-self: start;
    position: relative;
    z-index: 2;
    padding-left: 0;
  }

  .is-guest .brand-mark,
  .is-logged-in .brand-mark {
    width: 52px;
    height: 52px;
    font-size: 14px;
    border-radius: 50%;
    box-shadow: 0 12px 28px rgba(20, 20, 20, 0.11);
  }

  .is-guest .brand-text,
  .is-logged-in .brand-text {
    display: none;
  }

  .is-guest .guest-desktop-nav,
  .is-logged-in .app-nav {
    display: none;
  }

  .is-guest .guest-mobile-nav,
  .is-logged-in .app-mobile-nav {
    grid-area: 1 / 1 / 3 / -1;
    width: 100%;
    display: grid;
    grid-template-columns: auto 1fr auto;
    grid-template-areas:
      ". . toggle"
      "panel panel panel";
    align-items: center;
    pointer-events: none;
  }

  .is-guest .guest-mobile-nav .mobile-menu-toggle,
  .is-logged-in .app-mobile-nav .mobile-menu-toggle {
    grid-area: toggle;
    justify-self: end;
    pointer-events: auto;
    position: relative;
    z-index: 3;
    min-height: 50px;
    padding: 0 16px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.84);
    border: 1px solid rgba(20, 20, 20, 0.08);
    color: rgba(23, 23, 23, 0.78);
    display: inline-flex;
    align-items: center;
    gap: 11px;
    font-size: 17px;
    font-weight: 430;
    letter-spacing: -0.01em;
    box-shadow: 0 8px 22px rgba(39, 34, 26, 0.045);
  }

  .is-guest .guest-mobile-nav.is-open .mobile-menu-toggle,
  .is-logged-in .app-mobile-nav.is-open .mobile-menu-toggle {
    background: rgba(255, 255, 255, 0.97);
    color: rgba(23, 23, 23, 0.94);
  }

  .is-guest .guest-mobile-nav .mobile-menu-panel,
  .is-logged-in .app-mobile-nav .mobile-menu-panel {
    grid-area: panel;
    width: 100%;
    max-width: none;
    justify-self: stretch;
    margin-top: 14px;
    padding: 14px 0 4px;
    pointer-events: auto;
    border: 0 !important;
    border-top: 1px solid rgba(20, 20, 20, 0.075) !important;
    border-radius: 0 !important;
    background: transparent !important;
    box-shadow: none !important;
    backdrop-filter: none !important;
    display: grid;
    gap: 4px;
  }

  .is-guest .guest-mobile-nav .mobile-menu-panel a,
  .is-logged-in .app-mobile-nav .mobile-menu-panel a {
    width: 100%;
    padding: 13px 10px;
    border-radius: 18px;
    color: rgba(23, 23, 23, 0.64);
    background: transparent;
    font-size: 15.5px;
    line-height: 1.2;
    font-weight: 360;
    letter-spacing: -0.004em;
  }

  .is-guest .guest-mobile-nav .mobile-menu-panel a:hover,
  .is-guest .guest-mobile-nav .mobile-menu-panel a:focus,
  .is-logged-in .app-mobile-nav .mobile-menu-panel a:hover,
  .is-logged-in .app-mobile-nav .mobile-menu-panel a:focus {
    background: rgba(28, 28, 30, 0.045);
    color: rgba(23, 23, 23, 0.90);
  }

  .is-guest .guest-mobile-nav .guest-menu-cta,
  .is-logged-in .app-mobile-nav .app-menu-primary {
    margin-top: 5px;
    padding-left: 14px;
    padding-right: 14px;
    border-radius: 18px;
    background: rgba(28, 28, 30, 0.065) !important;
    color: rgba(23, 23, 23, 0.78) !important;
    font-weight: 410 !important;
    box-shadow: none !important;
    text-align: left !important;
  }

  .mobile-nav-wrap.is-open .mobile-menu-label {
    font-size: 0;
  }

  .mobile-nav-wrap.is-open .mobile-menu-label::after {
    content: "Close";
    font-size: 17px;
  }

  .mobile-nav-wrap.is-open .menu-icon {
    width: 17px;
    height: 17px;
    border-top: 0;
  }

  .mobile-nav-wrap.is-open .menu-icon::before,
  .mobile-nav-wrap.is-open .menu-icon::after {
    width: 18px;
    top: 8px;
    border-top-width: 2px;
  }

  .mobile-nav-wrap.is-open .menu-icon::before {
    transform: rotate(45deg);
  }

  .mobile-nav-wrap.is-open .menu-icon::after {
    transform: rotate(-45deg);
  }

  .is-guest .topbar:has(.mobile-nav-wrap.is-open),
  .is-logged-in .topbar:has(.mobile-nav-wrap.is-open),
  .is-guest.guest-menu-is-open .topbar,
  .is-logged-in.app-menu-is-open .topbar {
    background: rgba(255, 255, 255, 0.90);
    box-shadow:
      0 18px 54px rgba(39, 34, 26, 0.10),
      inset 0 1px 0 rgba(255,255,255,.62);
  }

  .is-logged-in .page-shell {
    padding-top: 118px;
  }

  .is-logged-in:has(.app-mobile-nav.is-open) .page-shell,
  .is-logged-in.app-menu-is-open .page-shell {
    padding-top: 238px;
  }
}

@media (max-width: 420px) {
  .is-guest .topbar,
  .is-logged-in .topbar {
    width: calc(100% - 18px);
    min-height: 68px;
  }

  .is-guest .brand-mark,
  .is-logged-in .brand-mark {
    width: 48px;
    height: 48px;
  }

  .is-guest .guest-mobile-nav .mobile-menu-toggle,
  .is-logged-in .app-mobile-nav .mobile-menu-toggle {
    min-height: 46px;
    padding: 0 14px;
    font-size: 16px;
  }

  .mobile-nav-wrap.is-open .mobile-menu-label::after {
    font-size: 16px;
  }

  .is-guest .guest-mobile-nav .mobile-menu-panel,
  .is-logged-in .app-mobile-nav .mobile-menu-panel {
    margin-top: 12px;
    padding-top: 12px;
  }

  .is-guest .guest-mobile-nav .mobile-menu-panel a,
  .is-logged-in .app-mobile-nav .mobile-menu-panel a {
    padding: 12px 9px;
    font-size: 15px;
  }

  .is-logged-in:has(.app-mobile-nav.is-open) .page-shell,
  .is-logged-in.app-menu-is-open .page-shell {
    padding-top: 226px;
  }
}


/* TruthMirror v1.3.11.3 — Restore Approved White Glass Floating Create Button
   Restores the original white/glass FAB design from v1.3.9.9 while preserving the lowered mobile position. */

.floating-create-fab {
  position: fixed;
  right: calc(env(safe-area-inset-right, 0px) + 28px);
  bottom: calc(env(safe-area-inset-bottom, 0px) + 28px);
  z-index: 980;
  width: 64px;
  height: 64px;
  border-radius: 50%;
  display: grid;
  place-items: center;
  text-decoration: none;
  background:
    linear-gradient(145deg, rgba(255,255,255,.95), rgba(247,244,238,.78));
  border: 1px solid rgba(20, 20, 20, 0.085);
  box-shadow:
    0 18px 44px rgba(39, 34, 26, 0.16),
    inset 0 1px 0 rgba(255,255,255,.78);
  backdrop-filter: blur(22px) saturate(1.22);
  -webkit-tap-highlight-color: transparent;
  transition:
    transform .18s ease,
    box-shadow .18s ease,
    background .18s ease,
    opacity .18s ease;
}

.floating-create-fab::before,
.floating-create-fab::after {
  content: "";
  position: absolute;
  width: 24px;
  height: 2.5px;
  border-radius: 999px;
  background: rgba(23, 23, 23, 0.88);
}

.floating-create-fab::after {
  transform: rotate(90deg);
}

.floating-create-fab span {
  width: 42px;
  height: 42px;
  border-radius: 50%;
  background: rgba(28, 28, 30, 0.045);
  display: block;
}

.floating-create-fab span::before,
.floating-create-fab span::after {
  content: none !important;
}

.floating-create-fab:hover,
.floating-create-fab:focus {
  transform: translateY(-2px) scale(1.015);
  box-shadow:
    0 24px 58px rgba(39, 34, 26, 0.20),
    inset 0 1px 0 rgba(255,255,255,.85);
  background:
    linear-gradient(145deg, rgba(255,255,255,1), rgba(247,244,238,.88));
}

.floating-create-fab:active {
  transform: translateY(0) scale(.985);
}

@media (max-width: 760px) {
  .floating-create-fab {
    width: 58px;
    height: 58px;
    right: calc(env(safe-area-inset-right, 0px) + 18px);
    bottom: calc(env(safe-area-inset-bottom, 0px) + 66px);
    box-shadow:
      0 16px 40px rgba(39, 34, 26, 0.16),
      inset 0 1px 0 rgba(255,255,255,.78);
  }

  .floating-create-fab::before,
  .floating-create-fab::after {
    width: 22px;
    height: 2.3px;
  }

  .floating-create-fab span {
    width: 38px;
    height: 38px;
  }
}

@media (max-width: 420px) {
  .floating-create-fab {
    right: calc(env(safe-area-inset-right, 0px) + 16px);
    bottom: calc(env(safe-area-inset-bottom, 0px) + 62px);
    width: 56px;
    height: 56px;
  }

  .floating-create-fab::before,
  .floating-create-fab::after {
    width: 21px;
    height: 2.2px;
  }

  .floating-create-fab span {
    width: 36px;
    height: 36px;
  }
}

@media (min-width: 1180px) {
  .floating-create-fab {
    right: max(34px, calc((100vw - var(--max)) / 2 - 86px));
  }
}

@media (prefers-reduced-motion: reduce) {
  .floating-create-fab {
    transition: none !important;
  }
}


/* TruthMirror v1.3.12.4 — Recipient Consent + Privacy Guardrails */
.consent-guardrail strong {
  color: rgba(23, 23, 23, 0.88);
  font-weight: 450;
}

.consent-check {
  display: flex;
  align-items: flex-start;
  gap: 11px;
  margin: 14px 0 12px;
  padding: 14px 15px;
  border-radius: 18px;
  background: rgba(255, 255, 255, 0.58);
  border: 1px solid rgba(20, 20, 20, 0.08);
  color: rgba(23, 23, 23, 0.72);
  font-size: 13.5px;
  line-height: 1.45;
  letter-spacing: -0.006em;
}

.consent-check input {
  width: 18px;
  min-width: 18px;
  height: 18px;
  margin: 1px 0 0;
  accent-color: var(--accent);
}

.consent-check span {
  display: block;
}

.consent-submit-card {
  padding: 0;
  background: transparent;
  border: 0;
  box-shadow: none;
  backdrop-filter: none;
}

.consent-submit-card .consent-check {
  margin: 0;
}


/* TruthMirror v1.3.12.5 — Privacy + Terms Pages */
.legal-page .page-shell {
  max-width: 920px;
}

.legal-hero {
  padding: clamp(28px, 5vw, 54px);
  margin-bottom: clamp(22px, 4vw, 36px);
}

.legal-hero h1 {
  font-size: clamp(42px, 8vw, 82px);
  margin-bottom: 16px;
}

.legal-doc {
  padding: clamp(26px, 4vw, 48px);
}

.legal-doc h2 {
  margin-top: clamp(30px, 4vw, 44px);
  margin-bottom: 10px;
  font-size: clamp(23px, 3vw, 34px);
}

.legal-doc h2:first-child {
  margin-top: 0;
}

.legal-doc p {
  max-width: 780px;
}

.privacy-note a,
.legal-doc a {
  color: rgba(23, 23, 23, 0.86);
  font-weight: 450;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 3px;
}


/* TruthMirror v1.3.12.6 — Email Verification UI */
.left-note strong {
  color: rgba(23, 23, 23, 0.88);
  font-weight: 480;
}


/* TruthMirror v1.3.12.7 — Data Deletion Controls */
.delete-response-panel {
  margin-top: clamp(42px, 7vw, 72px);
}

.account-delete-panel {
  grid-column: 1 / -1;
}

.account-delete-panel h2,
.delete-response-panel h2 {
  color: rgba(122, 31, 31, 0.92);
}

.account-delete-panel .button,
.delete-response-panel .button {
  border-color: rgba(122, 31, 31, 0.20);
  color: rgba(122, 31, 31, 0.92);
}


/* TruthMirror v1.3.12.10 — Answered Mirror Edit Integrity Guard */
.integrity-note strong {
  color: rgba(23, 23, 23, 0.88);
  font-weight: 480;
}

.protected-question-card {
  border-color: rgba(47, 125, 85, 0.18);
  background:
    linear-gradient(145deg, rgba(255,255,255,.82), rgba(239,250,242,.34));
}

.protected-question-card textarea[readonly] {
  color: rgba(23, 23, 23, 0.68);
  background: rgba(255,255,255,.46);
  cursor: not-allowed;
}

.integrity-chip {
  margin-bottom: 14px;
  background: rgba(47, 125, 85, 0.10);
  color: rgba(25, 92, 49, 0.88);
  border: 1px solid rgba(47, 125, 85, 0.16);
}

.protected-question-card .link-button:disabled {
  color: rgba(47, 125, 85, 0.78);
  cursor: not-allowed;
}


/* TruthMirror v1.3.12.11 — Invite Decline + Report Misuse Controls */
.declined-chip {
  background: rgba(163, 58, 50, 0.075);
  border: 1px solid rgba(163, 58, 50, 0.14);
  color: rgba(122, 31, 31, 0.88);
  margin: 0;
}

.report-mirror-form {
  margin-top: 22px;
  text-align: left;
}

.report-mirror-form details {
  border: 1px solid rgba(20, 20, 20, 0.08);
  background: rgba(255, 255, 255, 0.48);
  border-radius: 20px;
  padding: 14px 16px;
}

.report-mirror-form summary {
  cursor: pointer;
  color: rgba(23, 23, 23, 0.68);
  font-weight: 430;
}

.report-mirror-form label {
  margin-top: 14px;
}

.report-mirror-form select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px 15px;
  background: rgba(255,255,255,.72);
  color: var(--text);
}


/* TruthMirror v1.3.12.12 — Block Sender Controls */
.report-mirror-form .compact-actions {
  margin-top: 12px;
  justify-content: flex-start;
}

.report-mirror-form .compact-actions .button {
  min-height: 42px;
}


/* TruthMirror v1.3.12.13 — Admin Report Review Console */
.report-filter-tabs {
  margin-bottom: 18px;
}

.report-review-list {
  display: grid;
  gap: 18px;
}

.report-review-card {
  padding: clamp(22px, 4vw, 34px);
}

.report-review-top {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 18px;
}

.report-review-top h2 {
  margin: 8px 0 8px;
}

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

.report-meta-grid div {
  padding: 14px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.52);
  min-width: 0;
}

.report-meta-grid span,
.report-meta-grid em {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.4;
  overflow-wrap: anywhere;
}

.report-meta-grid strong {
  display: block;
  font-weight: 460;
  margin: 4px 0;
  overflow-wrap: anywhere;
}

@media (max-width: 760px) {
  .report-review-top,
  .report-meta-grid {
    grid-template-columns: 1fr;
    display: grid;
  }
}


/* TruthMirror v1.3.12.15 — Legacy Answer Encryption Migration Console */
.encryption-migration-panel code {
  padding: 2px 6px;
  border-radius: 8px;
  background: rgba(20,20,20,.06);
  color: rgba(23,23,23,.78);
  font-size: 0.92em;
}


/* TruthMirror v1.3.12.16 — Admin Production Health Console */
.health-check-list {
  display: grid;
  gap: 16px;
  margin: clamp(22px, 4vw, 36px) 0;
}

.health-check-card {
  padding: clamp(20px, 3.5vw, 30px);
}

.health-check-card h2 {
  margin: 10px 0 8px;
}

.health-check-card.pass {
  border-color: rgba(47, 125, 85, 0.16);
}

.health-check-card.critical {
  border-color: rgba(163, 58, 50, 0.20);
}

.health-check-card.warning {
  border-color: rgba(155, 112, 28, 0.20);
}


/* TruthMirror v1.3.13.0 — Admin Foundation + RBAC Control Center */
.admin-console-hero {
  align-items: flex-end;
}

.admin-signal-grid,
.admin-control-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(14px, 2vw, 20px);
  margin: clamp(22px, 4vw, 38px) 0;
}

.admin-control-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-signal-card,
.admin-control-card {
  padding: clamp(22px, 3.4vw, 32px);
  min-height: 190px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
}

.admin-signal-card h2,
.admin-control-card h2 {
  margin: 10px 0 8px;
}

.admin-signal-card p,
.admin-control-card p {
  color: var(--muted);
  line-height: 1.7;
}

.admin-signal-card.pass {
  border-color: rgba(47, 125, 85, 0.16);
}

.admin-signal-card.warning {
  border-color: rgba(155, 112, 28, 0.20);
}

.admin-signal-card.critical {
  border-color: rgba(163, 58, 50, 0.20);
}

.admin-control-card.disabled {
  opacity: .72;
}

.disabled-link {
  pointer-events: none;
  opacity: .68;
}

@media (max-width: 1060px) {
  .admin-signal-grid,
  .admin-control-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 680px) {
  .admin-signal-grid,
  .admin-control-grid {
    grid-template-columns: 1fr;
  }

  .admin-signal-card,
  .admin-control-card {
    min-height: auto;
  }
}


/* TruthMirror v1.3.13.1 — Superadmin User Management */
.admin-filter-bar {
  padding: clamp(18px, 3vw, 26px);
  display: grid;
  grid-template-columns: minmax(220px, 1.3fr) repeat(3, minmax(140px, .8fr)) auto;
  gap: 14px;
  align-items: end;
  margin-bottom: clamp(20px, 4vw, 34px);
}

.admin-filter-bar label,
.admin-role-form label {
  margin: 0;
}

.admin-filter-bar select,
.admin-role-form select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px 15px;
  background: rgba(255,255,255,.72);
  color: var(--text);
}

.admin-user-list {
  display: grid;
  gap: 16px;
}

.admin-user-card {
  padding: clamp(20px, 3vw, 28px);
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, 1fr);
  gap: 18px;
  align-items: start;
}

.admin-user-card h2 {
  margin: 10px 0 6px;
}

.admin-user-metrics {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}

.admin-user-metrics span,
.admin-fact-list p {
  margin: 0;
  padding: 12px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,.48);
  color: var(--muted);
}

.admin-user-metrics strong,
.admin-fact-list strong {
  display: block;
  color: var(--text);
  font-weight: 460;
  margin-bottom: 2px;
}

.admin-detail-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 3vw, 24px);
  margin-bottom: clamp(22px, 4vw, 38px);
}

.admin-fact-list {
  display: grid;
  gap: 10px;
}

.admin-fact-list span,
.admin-fact-list em {
  display: block;
  color: var(--muted);
  font-size: 12px;
  line-height: 1.45;
  overflow-wrap: anywhere;
}

.admin-role-form {
  display: grid;
  gap: 14px;
}

.admin-mini-list {
  display: grid;
  gap: 14px;
}

.admin-mini-card {
  padding: 18px;
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: center;
}

.admin-mini-card h3 {
  margin: 8px 0 4px;
}

.admin-mini-card p {
  margin: 0;
}

@media (max-width: 980px) {
  .admin-filter-bar,
  .admin-user-card,
  .admin-detail-grid {
    grid-template-columns: 1fr;
  }
}

@media (max-width: 640px) {
  .admin-user-metrics {
    grid-template-columns: 1fr;
  }

  .admin-mini-card {
    display: grid;
  }
}


/* TruthMirror v1.3.13.2 — App Settings Engine */
.settings-admin-grid {
  display: grid;
  gap: clamp(18px, 3vw, 28px);
  margin: clamp(22px, 4vw, 38px) 0;
}

.settings-group-card {
  padding: clamp(22px, 3.4vw, 34px);
}

.settings-group-head {
  display: flex;
  justify-content: space-between;
  gap: 18px;
  align-items: flex-start;
  margin-bottom: 18px;
}

.setting-list {
  display: grid;
  gap: 14px;
}

.setting-row {
  border: 1px solid var(--line);
  border-radius: 22px;
  background: rgba(255,255,255,.46);
  padding: clamp(16px, 2.5vw, 22px);
  display: grid;
  grid-template-columns: minmax(0, 1.3fr) minmax(280px, .9fr);
  gap: 18px;
  align-items: end;
}

.setting-copy h3 {
  margin: 0 0 8px;
  font-size: clamp(18px, 2vw, 22px);
}

.setting-copy p {
  margin: 0 0 12px;
  color: var(--muted);
  line-height: 1.65;
}

.setting-control {
  display: grid;
  gap: 10px;
}

.setting-control select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px 15px;
  background: rgba(255,255,255,.72);
  color: var(--text);
}

.setting-toggle {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: 48px;
  padding: 0 14px;
  border: 1px solid var(--line);
  border-radius: 16px;
  background: rgba(255,255,255,.62);
}

.setting-toggle input {
  width: auto;
}

@media (max-width: 860px) {
  .settings-group-head,
  .setting-row {
    grid-template-columns: 1fr;
    display: grid;
  }
}


/* TruthMirror v1.3.13.3 — Template Library Admin Engine */
.template-admin-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 3vw, 24px);
  margin: clamp(22px, 4vw, 38px) 0;
}

.template-admin-card {
  padding: clamp(22px, 3.4vw, 34px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
  min-height: 250px;
}

.template-admin-card h2 {
  margin: 12px 0 8px;
}

.template-admin-card p {
  color: var(--muted);
  line-height: 1.7;
}

.template-editor-form .form-grid.four {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.template-editor-form select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px 15px;
  background: rgba(255,255,255,.72);
  color: var(--text);
}

.template-question-list {
  margin-top: 18px;
}

.template-question-card {
  border-color: rgba(20, 20, 20, 0.085);
}

@media (max-width: 960px) {
  .template-admin-grid,
  .template-editor-form .form-grid.four {
    grid-template-columns: 1fr;
  }
}


/* TruthMirror v1.3.13.4 — User Template Selection Flow */
.template-source-chip {
  margin-top: 16px;
  display: inline-flex;
  flex-wrap: wrap;
  gap: 8px;
  align-items: center;
  padding: 10px 13px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.54);
  color: var(--muted);
  font-size: 13px;
}

.template-source-chip strong {
  color: var(--text);
  font-weight: 460;
}

.template-gallery-filter {
  display: grid;
  grid-template-columns: minmax(220px, 1fr) minmax(220px, .7fr) auto;
  gap: 14px;
  align-items: end;
  padding: clamp(18px, 3vw, 26px);
  margin: clamp(20px, 4vw, 34px) 0;
}

.template-gallery-filter label {
  margin: 0;
}

.template-gallery-filter select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px 15px;
  background: rgba(255,255,255,.72);
  color: var(--text);
}

.template-gallery-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: clamp(16px, 3vw, 24px);
}

.template-gallery-grid.featured {
  grid-template-columns: repeat(2, minmax(0, 1fr));
}

.template-gallery-card {
  padding: clamp(22px, 3.4vw, 34px);
  min-height: 270px;
  display: flex;
  flex-direction: column;
  justify-content: space-between;
  gap: 18px;
}

.template-gallery-card h3 {
  margin: 12px 0 8px;
  font-size: clamp(23px, 3vw, 34px);
  letter-spacing: -0.04em;
}

.template-gallery-card p {
  color: var(--muted);
  line-height: 1.7;
}

.template-preview-list {
  display: grid;
  gap: clamp(16px, 3vw, 24px);
  margin: clamp(22px, 4vw, 38px) 0;
}

.template-preview-question {
  padding: clamp(22px, 3.4vw, 34px);
}

.template-preview-question h2 {
  margin: 14px 0 18px;
  font-size: clamp(24px, 3.2vw, 42px);
  letter-spacing: -0.045em;
}

@media (max-width: 1040px) {
  .template-gallery-grid,
  .template-gallery-grid.featured {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 720px) {
  .template-gallery-filter,
  .template-gallery-grid,
  .template-gallery-grid.featured {
    grid-template-columns: 1fr;
  }
}


/* TruthMirror v1.3.13.5 — Moderation & Content Operations */
.moderation-list,
.admin-content-list {
  display: grid;
  gap: clamp(16px, 3vw, 24px);
}

.moderation-card,
.content-operation-card {
  padding: clamp(22px, 3.4vw, 34px);
  display: grid;
  gap: 18px;
}

.moderation-card-main,
.content-operation-card {
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: start;
}

.moderation-card-main {
  display: grid;
  gap: 18px;
}

.moderation-card h2,
.content-operation-card h2 {
  margin: 12px 0 8px;
}

.moderation-card p,
.content-operation-card p {
  color: var(--muted);
  line-height: 1.7;
}

.moderation-mini-card {
  align-items: start;
}

.content-operation-card > .compact-actions {
  justify-content: flex-start;
}

.admin-mirror-detail-page .read-card small {
  display: block;
  margin-top: 10px;
  color: var(--muted);
}

@media (max-width: 860px) {
  .moderation-card-main,
  .content-operation-card {
    grid-template-columns: 1fr;
  }
}


/* TruthMirror v1.3.14.0 — Optional Paywall Foundation */
.payment-product-list,
.payment-order-list {
  display: grid;
  gap: 14px;
  margin: 18px 0 28px;
}

.payment-product-card,
.payment-order-card {
  border: 1px solid var(--line);
  border-radius: 22px;
  background: rgba(255,255,255,.46);
  padding: clamp(16px, 2.5vw, 22px);
}

.payment-product-card h3,
.payment-order-card h2 {
  margin: 12px 0 8px;
}

.payment-product-card p,
.payment-order-card p {
  color: var(--muted);
  line-height: 1.65;
}

.payment-product-form {
  display: grid;
  gap: 16px;
  margin-top: 22px;
}

.payment-product-form select {
  width: 100%;
  border: 1px solid var(--line);
  border-radius: 16px;
  padding: 14px 15px;
  background: rgba(255,255,255,.72);
  color: var(--text);
}


/* TruthMirror v1.3.14.1 — PayPal Checkout One-Time Payments */
.payment-hero {
  align-items: flex-end;
}

.payment-checkout-card {
  padding: clamp(24px, 4vw, 42px);
  display: grid;
  gap: 18px;
  margin: clamp(22px, 4vw, 42px) 0;
}

.payment-checkout-card h2 {
  font-size: clamp(36px, 6vw, 72px);
  letter-spacing: -0.065em;
  margin: 8px 0 0;
}

.payment-action-form {
  margin-top: 8px;
}

.payment-action-form .button {
  width: 100%;
  justify-content: center;
}

.payment-page .report-meta-grid {
  margin-top: 10px;
}


/* TruthMirror v1.3.14.2 — PayPal Webhooks + Idempotency */
.payment-webhook-payload {
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,.52);
  padding: 14px 16px;
}

.payment-webhook-payload summary {
  cursor: pointer;
  color: var(--muted);
}

.payment-webhook-payload pre {
  overflow: auto;
  max-height: 360px;
  white-space: pre-wrap;
  font-size: 12px;
  line-height: 1.6;
}


/* TruthMirror v1.3.14.2.1 — Admin Menu Integration Polish */
.admin-nav-entry {
  border: 1px solid rgba(20, 20, 20, 0.08);
  background: rgba(255,255,255,.58);
  border-radius: 999px;
  padding: 9px 14px;
}

.mobile-menu-section-label {
  margin: 10px 8px 2px;
  padding: 12px 10px 7px;
  border-top: 1px solid rgba(20, 20, 20, 0.08);
  color: var(--muted);
  font-size: 11px;
  font-weight: 520;
  letter-spacing: 0.18em;
  text-transform: uppercase;
}

.mobile-menu-panel a.admin-menu-item {
  font-size: 17px;
  padding-top: 10px;
  padding-bottom: 10px;
  color: rgba(20, 20, 20, 0.78);
}

.mobile-menu-panel a.admin-menu-item:hover {
  color: var(--text);
}

@media (max-width: 760px) {
  .app-menu-panel {
    max-height: calc(100vh - 132px);
    overflow-y: auto;
    overscroll-behavior: contain;
  }
}


/* TruthMirror v1.3.14.2.4 — SaaS Frontend Homepage Correction */
.platform-suite-section {
  margin-top: clamp(72px, 10vw, 132px);
}

.platform-suite-grid {
  display: grid;
  grid-template-columns: 1.15fr .92fr .92fr;
  gap: clamp(16px, 2.8vw, 28px);
  align-items: stretch;
}

.suite-card {
  position: relative;
  overflow: hidden;
  min-height: 430px;
  border: 1px solid var(--line);
  border-radius: clamp(30px, 4vw, 48px);
  background:
    radial-gradient(circle at 20% 0%, rgba(255,255,255,.96), rgba(255,255,255,.52) 38%, rgba(244,239,229,.62) 100%);
  box-shadow: var(--shadow-card);
  backdrop-filter: blur(28px) saturate(1.18);
  padding: clamp(26px, 4vw, 42px);
  display: flex;
  flex-direction: column;
  justify-content: space-between;
}

.suite-card::after {
  content: "";
  position: absolute;
  inset: auto -28% -38% auto;
  width: 280px;
  height: 280px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(20,20,20,.09), rgba(20,20,20,0) 68%);
  pointer-events: none;
}

.template-suite {
  min-height: 500px;
}

.paywall-suite {
  background:
    radial-gradient(circle at 80% 0%, rgba(255,255,255,.96), rgba(245,242,236,.66) 42%, rgba(235,229,218,.82) 100%);
}

.suite-card-top {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  color: var(--muted);
}

.suite-card-top span {
  display: inline-flex;
  padding: 8px 11px;
  border-radius: 999px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.58);
  font-size: 12px;
  letter-spacing: .13em;
  text-transform: uppercase;
}

.suite-card-top em {
  font-style: normal;
  font-size: 13px;
}

.suite-card h3 {
  margin: auto 0 18px;
  font-size: clamp(28px, 3.35vw, 44px);
  line-height: 1.075;
  letter-spacing: -0.032em;
  word-spacing: .022em;
  font-weight: 230;
  text-wrap: balance;
}

.suite-card p {
  font-size: clamp(16px, 1.6vw, 18px);
  max-width: 520px;
}

.suite-mini-stack {
  display: flex;
  flex-wrap: wrap;
  gap: 9px;
  margin-top: 22px;
}

.suite-mini-stack span {
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 999px;
  background: rgba(255,255,255,.56);
  color: var(--muted);
  font-size: 12px;
}

.trust-os-section {
  margin-top: clamp(70px, 9vw, 120px);
}

.trust-os-card {
  padding: clamp(28px, 5vw, 56px);
  border-radius: clamp(30px, 4vw, 48px);
  display: grid;
  grid-template-columns: .9fr 1.1fr;
  gap: clamp(28px, 5vw, 60px);
  align-items: start;
}

.trust-os-copy h2 {
  font-size: clamp(34px, 4.6vw, 64px);
  line-height: 1.015;
  letter-spacing: -0.04em;
  word-spacing: .018em;
  font-weight: 200;
  text-wrap: balance;
}

.trust-os-copy p {
  font-size: clamp(17px, 1.8vw, 20px);
}

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

.trust-os-grid div {
  min-height: 142px;
  padding: 20px;
  border-radius: 24px;
  border: 1px solid var(--line);
  background: rgba(255,255,255,.52);
}

.trust-os-grid strong {
  display: block;
  font-weight: 420;
  letter-spacing: -0.025em;
  margin-bottom: 12px;
}

.trust-os-grid span {
  color: var(--muted);
  line-height: 1.55;
  font-size: 14px;
}

.metric-ribbon strong {
  letter-spacing: -0.045em;
}

@media (max-width: 980px) {
  .platform-suite-grid,
  .trust-os-card,
  .trust-os-grid {
    grid-template-columns: 1fr;
  }

  .suite-card,
  .template-suite {
    min-height: auto;
  }

  .suite-card h3 {
    margin-top: 76px;
    font-size: clamp(28px, 5.1vw, 40px);
  }
}

@media (max-width: 640px) {
  .suite-card,
  .trust-os-card {
    border-radius: 30px;
    padding: 24px;
  }

  .suite-card h3 {
    margin-top: 62px;
    font-size: clamp(29px, 8.8vw, 38px);
    line-height: 1.08;
    letter-spacing: -0.026em;
  }

  .trust-os-grid div {
    min-height: 0;
  }
}


/* TruthMirror v1.3.14.2.4 — SaaS user-facing homepage refinements */
.frontend-suite-grid .suite-card {
  min-height: 460px;
}

.timed-suite {
  background:
    radial-gradient(circle at 88% 12%, rgba(255,255,255,.98), rgba(246,242,235,.68) 42%, rgba(235,229,218,.78) 100%);
}

.reveal-suite {
  background:
    radial-gradient(circle at 28% 0%, rgba(255,255,255,.98), rgba(248,244,238,.68) 45%, rgba(238,232,222,.82) 100%);
}

.landing-page .foundation-pills span {
  white-space: nowrap;
}


/* TruthMirror v1.3.14.2.6 — Frontend Responsive Typography Polish */
.landing-page :is(h1, h2, h3) {
  text-wrap: balance;
  overflow-wrap: normal;
}

.landing-page .hero-copy,
.landing-page p {
  letter-spacing: -0.006em;
  word-spacing: .022em;
}

.landing-page .suite-card h3,
.landing-page .trust-os-copy h2,
.landing-page .foundation-card h2,
.landing-page .cta-copy h2 {
  font-kerning: normal;
  text-rendering: optimizeLegibility;
}

/* iPad landscape / medium-large screens: cards are columns, not full desktop canvases. */
@media (min-width: 760px) and (max-width: 1180px) {
  .keynote-hero h1 {
    font-size: clamp(50px, 6.15vw, 74px);
    line-height: 1.015;
    letter-spacing: -0.041em;
    word-spacing: .02em;
  }

  .section-headline h2,
  .split-copy h2,
  .creator-control-panel h2,
  .timeline-section h2,
  .foundation-card h2,
  .cta-copy h2 {
    font-size: clamp(30px, 3.15vw, 42px);
    line-height: 1.08;
    letter-spacing: -0.026em;
    word-spacing: .018em;
  }

  .platform-suite-grid {
    gap: 24px;
  }

  .suite-card {
    padding: clamp(28px, 3vw, 36px);
    min-height: 420px;
  }

  .frontend-suite-grid .suite-card {
    min-height: 420px;
  }

  .suite-card h3 {
    font-size: clamp(30px, 3vw, 40px);
    line-height: 1.085;
    letter-spacing: -0.028em;
    word-spacing: .022em;
  }

  .suite-card p {
    font-size: clamp(15.5px, 1.45vw, 17px);
    line-height: 1.66;
    letter-spacing: -0.004em;
    word-spacing: .022em;
  }

  .trust-os-copy h2 {
    font-size: clamp(34px, 4.1vw, 54px);
    line-height: 1.04;
    letter-spacing: -0.032em;
  }

  .trust-os-grid strong {
    letter-spacing: -0.016em;
  }
}

/* Big desktop: allow elegance without runaway headline scale. */
@media (min-width: 1181px) {
  .suite-card h3 {
    font-size: clamp(34px, 3.05vw, 46px);
    line-height: 1.075;
  }

  .trust-os-copy h2 {
    font-size: clamp(44px, 4vw, 66px);
  }
}


/* TruthMirror v1.3.14.2.7 — Homepage Feature Tile Typography Correction */
.landing-page .metric-ribbon strong {
  font-kerning: normal;
  text-rendering: optimizeLegibility;
}

@media (min-width: 760px) and (max-width: 1180px) {
  .metric-ribbon {
    gap: 20px;
    margin: 20px 0 66px;
  }

  .metric-ribbon > div {
    min-height: 124px;
    padding: 22px 24px;
  }

  .metric-ribbon strong {
    font-size: clamp(31px, 3.05vw, 39px);
    line-height: 1.075;
    letter-spacing: -.027em;
    word-spacing: .024em;
    margin-bottom: 13px;
  }

  .metric-ribbon span {
    font-size: clamp(15px, 1.45vw, 17px);
    line-height: 1.55;
  }
}

@media (min-width: 1181px) {
  .metric-ribbon strong {
    font-size: clamp(34px, 2.8vw, 46px);
    line-height: 1.07;
    letter-spacing: -.028em;
  }
}

@media (max-width: 640px) {
  .metric-ribbon strong {
    font-size: clamp(30px, 9vw, 38px);
    line-height: 1.08;
    letter-spacing: -.026em;
  }
}


/* TruthMirror v1.3.14.2.8 — Desktop/iPad Admin Drawer Menu */
.nav button {
  border: 0;
  cursor: pointer;
  font: inherit;
}

.admin-nav-entry {
  appearance: none;
  border: 1px solid rgba(20, 20, 20, 0.08);
  background: rgba(255,255,255,.58);
  border-radius: 999px;
  padding: 10px 14px;
  color: var(--muted);
  font-size: 14px;
  transition: background .18s ease, color .18s ease, transform .18s ease, box-shadow .18s ease;
}

.admin-nav-entry:hover,
.admin-nav-entry[aria-expanded="true"] {
  color: var(--text);
  background: rgba(255,255,255,.82);
  box-shadow: 0 10px 26px rgba(39,34,26,.08);
  transform: translateY(-1px);
}

.admin-desktop-drawer-backdrop {
  position: fixed;
  inset: 0;
  z-index: 1190;
  background: rgba(19, 19, 18, 0.13);
  backdrop-filter: blur(8px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .22s ease;
}

.admin-desktop-drawer {
  position: fixed;
  top: calc(env(safe-area-inset-top, 0px) + 24px);
  right: calc(env(safe-area-inset-right, 0px) + 24px);
  bottom: calc(env(safe-area-inset-bottom, 0px) + 24px);
  z-index: 1200;
  width: min(420px, calc(100vw - 48px));
  border: 1px solid rgba(20, 20, 20, 0.09);
  border-radius: 34px;
  background:
    radial-gradient(circle at 28% 0%, rgba(255,255,255,.98), rgba(255,255,255,.82) 42%, rgba(244,239,229,.90) 100%);
  box-shadow: 0 30px 100px rgba(39,34,26,.20);
  backdrop-filter: blur(30px) saturate(1.18);
  padding: 24px;
  display: flex;
  flex-direction: column;
  gap: 20px;
  opacity: 0;
  transform: translateX(26px) scale(.985);
  pointer-events: none;
  transition: opacity .22s ease, transform .22s ease;
}

.admin-desktop-drawer[hidden],
.admin-desktop-drawer-backdrop[hidden] {
  display: none !important;
}

body.admin-drawer-is-open .admin-desktop-drawer {
  opacity: 1;
  transform: translateX(0) scale(1);
  pointer-events: auto;
}

body.admin-drawer-is-open .admin-desktop-drawer-backdrop {
  opacity: 1;
  pointer-events: auto;
}

.admin-drawer-head {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  padding-bottom: 16px;
  border-bottom: 1px solid rgba(20, 20, 20, 0.08);
}

.admin-drawer-head h2 {
  margin: 0 0 8px;
  font-size: clamp(28px, 2.2vw, 38px);
  line-height: 1.04;
  letter-spacing: -0.035em;
  font-weight: 240;
}

.admin-drawer-head p {
  margin: 0;
  max-width: 260px;
  font-size: 14px;
}

.admin-drawer-close {
  width: 42px;
  height: 42px;
  border: 1px solid rgba(20,20,20,.08);
  border-radius: 50%;
  background: rgba(255,255,255,.76);
  color: rgba(20,20,20,.72);
  cursor: pointer;
  font-size: 24px;
  line-height: 1;
  display: grid;
  place-items: center;
}

.admin-drawer-close:hover {
  color: var(--text);
  background: rgba(255,255,255,.96);
}

.admin-drawer-nav {
  display: grid;
  gap: 8px;
  overflow-y: auto;
  overscroll-behavior: contain;
  padding-right: 2px;
}

.admin-drawer-nav a {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  min-height: 48px;
  padding: 13px 14px;
  border: 1px solid rgba(20,20,20,.07);
  border-radius: 18px;
  background: rgba(255,255,255,.52);
  color: rgba(20,20,20,.84);
  transition: background .18s ease, transform .18s ease, border-color .18s ease;
}

.admin-drawer-nav a:hover,
.admin-drawer-nav a:focus {
  background: rgba(255,255,255,.88);
  border-color: rgba(20,20,20,.12);
  transform: translateY(-1px);
}

.admin-drawer-nav span {
  font-weight: 410;
  letter-spacing: -0.014em;
}

.admin-drawer-nav em {
  font-style: normal;
  color: var(--muted);
  font-size: 12px;
}

/* Desktop/iPad drawer only. Mobile keeps the existing mobile Menu unchanged. */
@media (max-width: 760px) {
  .admin-drawer-toggle,
  .admin-desktop-drawer,
  .admin-desktop-drawer-backdrop {
    display: none !important;
  }
}

@media (min-width: 761px) and (max-width: 1180px) {
  .admin-desktop-drawer {
    top: calc(env(safe-area-inset-top, 0px) + 18px);
    right: calc(env(safe-area-inset-right, 0px) + 18px);
    bottom: calc(env(safe-area-inset-bottom, 0px) + 18px);
    width: min(392px, calc(100vw - 36px));
    border-radius: 30px;
    padding: 22px;
  }

  .admin-drawer-nav a {
    min-height: 46px;
    padding: 12px 13px;
  }
}


/* TruthMirror v1.3.15.0 — TruthLens AI Settings Foundation */
.admin-ai-page .ai-foundation-note,
.admin-ai-page .ai-safety-note {
  margin-top: 22px;
}

.admin-ai-page .ai-signal-grid {
  margin-bottom: 22px;
}

.admin-ai-page .ai-settings-grid {
  margin-top: 22px;
}

.admin-ai-page .ai-setting-row input[type="password"] {
  letter-spacing: 0.02em;
}

.admin-ai-page .settings-group-card {
  align-self: start;
}

.admin-ai-page .ai-safety-note h2,
.admin-ai-page .ai-foundation-note h2 {
  text-wrap: balance;
}


/* TruthMirror v1.3.15.3 — TruthLens Creator Generate + View Flow */
.truthlens-response-panel {
  margin: 18px 0 24px;
  padding: 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
}

.truthlens-response-panel h2 {
  margin-bottom: 8px;
}

.truthlens-response-panel p {
  max-width: 680px;
  margin-bottom: 0;
}

.truthlens-hero h1 {
  max-width: 760px;
}

.truthlens-disclaimer {
  padding: 24px 26px;
  margin-bottom: 24px;
  background: rgba(255,255,255,.72);
}

.truthlens-disclaimer p {
  margin: 0;
  color: rgba(20,20,20,.78);
}

.truthlens-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 18px;
  margin-bottom: 18px;
}

.truthlens-card {
  padding: 26px;
}

.truthlens-card h2 {
  margin-bottom: 12px;
  text-wrap: balance;
}

.truthlens-tone-card .mode-chip {
  display: inline-flex;
  margin-bottom: 14px;
}

.truthlens-wide,
.truthlens-summary {
  padding: 28px;
  margin-bottom: 18px;
}

.truthlens-pattern-grid {
  display: grid;
  gap: 12px;
}

.truthlens-pattern {
  border: 1px solid rgba(20,20,20,.08);
  border-radius: 20px;
  background: rgba(255,255,255,.50);
  padding: 18px;
}

.truthlens-pattern strong {
  display: block;
  font-weight: 430;
  letter-spacing: -.014em;
  margin-bottom: 8px;
}

.truthlens-pattern p {
  margin-bottom: 8px;
}

.truthlens-pattern em {
  color: var(--muted);
  font-style: normal;
  line-height: 1.55;
}

.truthlens-list {
  margin: 14px 0 0;
  padding-left: 18px;
  color: var(--muted);
  line-height: 1.62;
}

.truthlens-list li + li {
  margin-top: 7px;
}

.truthlens-summary h2 {
  font-size: clamp(26px, 3vw, 42px);
  line-height: 1.08;
  letter-spacing: -.034em;
  max-width: 880px;
}

@media (max-width: 760px) {
  .truthlens-response-panel {
    display: grid;
    padding: 22px;
  }

  .truthlens-grid {
    grid-template-columns: 1fr;
  }

  .truthlens-card,
  .truthlens-wide,
  .truthlens-summary {
    padding: 22px;
  }
}


/* TruthMirror v1.3.15.4 — TruthLens Report UX Apple Polish */
.truthlens-report-page .page-shell {
  width: min(1180px, calc(100% - 38px));
}

.truthlens-hero {
  align-items: flex-end;
  margin-bottom: 24px;
}

.truthlens-hero h1 {
  font-size: clamp(44px, 6vw, 86px);
  line-height: .99;
  letter-spacing: -.052em;
  word-spacing: .02em;
  max-width: 860px;
  margin-bottom: 18px;
}

.truthlens-hero p {
  font-size: clamp(17px, 1.6vw, 21px);
  letter-spacing: -.012em;
}

.truthlens-actions {
  justify-content: flex-end;
}

.truthlens-disclaimer {
  display: flex;
  gap: 18px;
  align-items: flex-start;
  padding: clamp(22px, 3vw, 34px);
  margin-bottom: 28px;
  border-radius: 30px;
  background:
    linear-gradient(135deg, rgba(255,255,255,.86), rgba(255,255,255,.58)),
    radial-gradient(circle at 14% 0%, rgba(255,255,255,.95), transparent 42%);
}

.truthlens-disclaimer-icon {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  flex: 0 0 auto;
  display: grid;
  place-items: center;
  background: var(--accent);
  color: white;
  font-size: 12px;
  font-weight: 520;
  letter-spacing: .10em;
}

.truthlens-disclaimer p {
  font-size: clamp(16px, 1.45vw, 19px);
  line-height: 1.68;
  margin: 0 0 12px;
}

.truthlens-disclaimer strong {
  display: inline-flex;
  color: rgba(20,20,20,.82);
  font-weight: 440;
  letter-spacing: -.012em;
}

.truthlens-grid {
  gap: 20px;
  margin-bottom: 20px;
}

.truthlens-top-grid {
  grid-template-columns: 1.08fr .92fr;
}

.truthlens-bottom-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}

.truthlens-card,
.truthlens-wide,
.truthlens-summary {
  border-radius: 30px;
  border-color: rgba(20,20,20,.085);
  background:
    linear-gradient(145deg, rgba(255,255,255,.82), rgba(255,255,255,.54));
}

.truthlens-card {
  padding: clamp(24px, 3vw, 34px);
  min-height: 270px;
}

.truthlens-card h2,
.truthlens-wide h2,
.truthlens-summary h2 {
  letter-spacing: -.035em;
  word-spacing: .016em;
}

.truthlens-card h2 {
  font-size: clamp(25px, 2.6vw, 38px);
  line-height: 1.075;
  margin-bottom: 14px;
}

.truthlens-card p {
  font-size: 16px;
  line-height: 1.72;
  letter-spacing: -.006em;
}

.truthlens-section-kicker {
  display: flex;
  align-items: center;
  gap: 10px;
  margin-bottom: 22px;
  color: var(--muted);
  text-transform: uppercase;
  letter-spacing: .13em;
  font-size: 11px;
  font-weight: 520;
}

.truthlens-section-kicker span {
  width: 30px;
  height: 30px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  border: 1px solid rgba(20,20,20,.09);
  background: rgba(255,255,255,.66);
  color: rgba(20,20,20,.72);
  letter-spacing: .03em;
}

.truthlens-section-kicker em {
  font-style: normal;
}

.truthlens-confidence {
  display: inline-flex;
  align-items: center;
  min-height: 32px;
  padding: 7px 12px;
  border-radius: 999px;
  margin: 0 0 16px;
  border: 1px solid rgba(20,20,20,.08);
  background: rgba(255,255,255,.68);
  color: rgba(20,20,20,.74);
  font-size: 12px;
  font-weight: 460;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.truthlens-wide,
.truthlens-summary {
  padding: clamp(28px, 4vw, 44px);
  margin-bottom: 20px;
}

.truthlens-wide h2 {
  font-size: clamp(31px, 4.2vw, 58px);
  line-height: 1.02;
  max-width: 820px;
  margin-bottom: 26px;
}

.truthlens-pattern-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
}

.truthlens-pattern {
  padding: 20px;
  border-radius: 24px;
  background: rgba(255,255,255,.60);
}

.truthlens-pattern strong {
  font-size: 17px;
  line-height: 1.25;
}

.truthlens-pattern p,
.truthlens-pattern em {
  font-size: 15px;
}

.truthlens-list {
  list-style: none;
  margin: 18px 0 0;
  padding: 0;
  display: grid;
  gap: 10px;
}

.truthlens-list li {
  position: relative;
  padding: 12px 14px 12px 34px;
  border-radius: 16px;
  background: rgba(255,255,255,.46);
  border: 1px solid rgba(20,20,20,.055);
  line-height: 1.56;
}

.truthlens-list li::before {
  content: "";
  position: absolute;
  left: 15px;
  top: 21px;
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: rgba(20,20,20,.34);
}

.truthlens-list li + li {
  margin-top: 0;
}

.truthlens-followup-card .truthlens-list li,
.truthlens-ask-card .truthlens-list li {
  background: rgba(255,255,255,.62);
}

.truthlens-limitations-card {
  background:
    linear-gradient(145deg, rgba(255,255,255,.80), rgba(246,242,234,.70));
}

.truthlens-summary {
  position: relative;
  overflow: hidden;
}

.truthlens-summary::after {
  content: "";
  position: absolute;
  inset: auto -12% -40% auto;
  width: 340px;
  height: 340px;
  border-radius: 50%;
  background: rgba(255,255,255,.52);
  filter: blur(4px);
  pointer-events: none;
}

.truthlens-summary h2 {
  position: relative;
  z-index: 1;
  font-size: clamp(30px, 4.6vw, 64px);
  line-height: 1.035;
  max-width: 920px;
}

.truthlens-summary p {
  position: relative;
  z-index: 1;
  max-width: 780px;
}

@media (min-width: 761px) and (max-width: 1180px) {
  .truthlens-report-page .page-shell {
    width: min(100% - 36px, 1040px);
  }

  .truthlens-hero h1 {
    font-size: clamp(48px, 6vw, 72px);
    line-height: 1.01;
  }

  .truthlens-top-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .truthlens-bottom-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .truthlens-card {
    min-height: 252px;
  }

  .truthlens-pattern-grid {
    grid-template-columns: 1fr;
  }

  .truthlens-wide h2,
  .truthlens-summary h2 {
    font-size: clamp(34px, 5vw, 54px);
  }
}

@media (max-width: 760px) {
  .truthlens-report-page .page-shell {
    width: min(100% - 28px, 680px);
    padding-top: 44px;
  }

  .truthlens-hero {
    align-items: flex-start;
  }

  .truthlens-hero h1 {
    font-size: clamp(38px, 11vw, 56px);
    line-height: 1.02;
    letter-spacing: -.044em;
  }

  .truthlens-actions {
    justify-content: flex-start;
  }

  .truthlens-disclaimer {
    display: grid;
    padding: 22px;
    border-radius: 26px;
  }

  .truthlens-top-grid,
  .truthlens-bottom-grid,
  .truthlens-grid,
  .truthlens-pattern-grid {
    grid-template-columns: 1fr;
  }

  .truthlens-card {
    min-height: 0;
    padding: 22px;
    border-radius: 26px;
  }

  .truthlens-wide,
  .truthlens-summary {
    padding: 24px;
    border-radius: 26px;
  }

  .truthlens-wide h2,
  .truthlens-summary h2 {
    font-size: clamp(30px, 9vw, 44px);
  }
}

@media print {
  body {
    background: white !important;
  }

  .ambient,
  .topbar,
  .flash,
  .print-hide,
  .floating-create-fab,
  .truthlens-actions {
    display: none !important;
  }

  .page-shell,
  .truthlens-report-page .page-shell {
    width: 100% !important;
    max-width: none !important;
    padding: 0 !important;
  }

  .glass-panel,
  .truthlens-card,
  .truthlens-wide,
  .truthlens-summary,
  .truthlens-disclaimer {
    box-shadow: none !important;
    background: white !important;
    border: 1px solid #ddd !important;
    break-inside: avoid;
  }

  .truthlens-grid,
  .truthlens-top-grid,
  .truthlens-bottom-grid,
  .truthlens-pattern-grid {
    grid-template-columns: 1fr !important;
  }

  .truthlens-hero h1 {
    font-size: 42px !important;
  }
}


/* TruthMirror v1.3.15.5 — TruthLens Paywall / Entitlement Integration */
.truthlens-response-panel .mode-chip {
  white-space: nowrap;
}

.truthlens-response-panel .button.primary[href*="truthlens_report"] {
  box-shadow: 0 16px 32px rgba(20,20,20,.16);
}


/* TruthMirror v1.3.15.6 — TruthLens Admin Cost / Safety Ops */
.admin-ai-page .ai-ops-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.admin-ai-page .ai-ops-stats {
  margin-bottom: 18px;
}

.admin-ai-page .ai-ops-table {
  padding: 24px;
  margin: 22px 0;
}

.admin-ai-page .ai-ops-table table {
  min-width: 980px;
}

.admin-ai-page .ai-privacy-note {
  margin-top: 20px;
}

.admin-ai-page .ai-privacy-note h2,
.admin-ai-page .ai-foundation-note h2 {
  text-wrap: balance;
}

.admin-ai-page .ai-ops-table .compact-actions {
  gap: 8px;
}

.admin-ai-page .ai-ops-table .button {
  min-height: 36px;
  padding: 9px 12px;
  font-size: 13px;
}

@media (min-width: 761px) and (max-width: 1180px) {
  .admin-ai-page .ai-ops-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (max-width: 760px) {
  .admin-ai-page .ai-ops-grid,
  .admin-ai-page .ai-ops-stats {
    grid-template-columns: 1fr;
  }

  .admin-ai-page .ai-ops-table {
    padding: 18px;
  }
}


/* TruthMirror v1.3.15.6.1 — Frontend TruthLens Showcase */
.truthlens-mini-card {
  border-color: rgba(28,28,30,.12);
  background:
    linear-gradient(135deg, rgba(255,255,255,.84), rgba(255,255,255,.50)),
    radial-gradient(circle at 0% 0%, rgba(28,28,30,.10), transparent 48%);
}

.truthlens-mini-mark {
  width: 42px;
  height: 42px;
  display: grid;
  place-items: center;
  border-radius: 50%;
  background: var(--accent);
  color: white;
  font-size: 11px;
  font-weight: 520;
  letter-spacing: .10em;
}

.landing-page .metric-ribbon {
  grid-template-columns: repeat(5, minmax(0, 1fr));
}

.truthlens-orbit-card {
  background:
    linear-gradient(145deg, rgba(255,255,255,.74), rgba(255,255,255,.42)),
    radial-gradient(circle at 18% 0%, rgba(28,28,30,.08), transparent 42%);
}

.truthlens-home-section {
  margin-top: clamp(76px, 10vw, 136px);
}

.truthlens-home-card {
  position: relative;
  overflow: hidden;
  padding: clamp(30px, 5vw, 56px);
  border-radius: clamp(32px, 5vw, 56px);
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(330px, .82fr);
  gap: clamp(26px, 5vw, 56px);
  align-items: center;
  background:
    radial-gradient(circle at 12% 0%, rgba(255,255,255,.95), transparent 36%),
    linear-gradient(135deg, rgba(255,255,255,.74), rgba(244,239,229,.54));
}

.truthlens-home-card::after {
  content: "";
  position: absolute;
  width: 420px;
  height: 420px;
  right: -160px;
  bottom: -210px;
  border-radius: 50%;
  background: rgba(255,255,255,.52);
  pointer-events: none;
}

.truthlens-home-copy {
  position: relative;
  z-index: 1;
}

.truthlens-home-copy h2 {
  font-size: clamp(40px, 5.8vw, 82px);
  line-height: 1.01;
  letter-spacing: -.048em;
  word-spacing: .018em;
  max-width: 820px;
}

.truthlens-home-copy p {
  max-width: 760px;
  font-size: clamp(17px, 1.7vw, 21px);
  line-height: 1.68;
}

.truthlens-home-list {
  margin-top: 24px;
}

.truthlens-report-preview {
  position: relative;
  z-index: 1;
  border: 1px solid rgba(20,20,20,.09);
  border-radius: 34px;
  padding: clamp(22px, 3vw, 34px);
  background:
    linear-gradient(145deg, rgba(255,255,255,.86), rgba(255,255,255,.58));
  box-shadow: 0 30px 90px rgba(39,34,26,.12);
  backdrop-filter: blur(28px) saturate(1.18);
}

.truthlens-preview-top {
  display: flex;
  justify-content: space-between;
  gap: 14px;
  align-items: center;
  margin-bottom: 22px;
  color: var(--muted);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: .12em;
}

.truthlens-preview-top em {
  font-style: normal;
  padding: 8px 10px;
  border-radius: 999px;
  background: rgba(20,20,20,.07);
  color: rgba(20,20,20,.68);
  letter-spacing: .08em;
}

.truthlens-preview-card {
  border: 1px solid rgba(20,20,20,.08);
  border-radius: 26px;
  padding: 22px;
  background: rgba(255,255,255,.62);
  margin-bottom: 14px;
}

.truthlens-preview-card strong,
.truthlens-preview-grid strong {
  display: block;
  font-size: 13px;
  color: rgba(20,20,20,.70);
  text-transform: uppercase;
  letter-spacing: .10em;
  margin-bottom: 9px;
}

.truthlens-preview-card p {
  font-size: clamp(22px, 2.6vw, 34px);
  line-height: 1.12;
  letter-spacing: -.032em;
  color: var(--text);
  margin: 0;
}

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

.truthlens-preview-grid div {
  border: 1px solid rgba(20,20,20,.07);
  border-radius: 20px;
  padding: 16px;
  background: rgba(255,255,255,.50);
}

.truthlens-preview-grid span {
  color: var(--muted);
  line-height: 1.45;
}

@media (min-width: 761px) and (max-width: 1180px) {
  .landing-page .metric-ribbon {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
  }

  .landing-page .metric-ribbon > div {
    padding: 18px 16px;
  }

  .landing-page .metric-ribbon strong {
    font-size: clamp(24px, 2.6vw, 32px);
  }

  .truthlens-home-card {
    grid-template-columns: 1fr;
  }

  .truthlens-report-preview {
    max-width: 760px;
  }

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

@media (min-width: 1181px) {
  .timeline {
    grid-template-columns: repeat(5, 1fr);
  }
}

@media (max-width: 760px) {
  .landing-page .metric-ribbon {
    grid-template-columns: 1fr;
  }

  .truthlens-home-card {
    grid-template-columns: 1fr;
    padding: 24px;
    border-radius: 32px;
  }

  .truthlens-home-copy h2 {
    font-size: clamp(34px, 10vw, 52px);
  }

  .truthlens-preview-grid {
    grid-template-columns: 1fr;
  }
}


/* TruthMirror v1.3.15.6.2 — Health Console PHP Execution Time Check */
.health-runtime-panel {
  margin-bottom: 22px;
}

.health-runtime-panel h2 {
  text-wrap: balance;
}

.health-runtime-panel .report-meta-grid {
  margin: 20px 0;
}


/* TruthMirror v1.3.15.6.3 — Response Decryption + Mobile Wrap Rootfix */
.answer-shell,
.answer-stack,
.answer-card,
.answer-pair,
.answer-pair > div,
.creator-reflection,
.truthlens-response-panel {
  min-width: 0;
  max-width: 100%;
}

.answer-card,
.answer-pair > div,
.creator-reflection,
.locked-card,
.privacy-note,
.inline-error,
.wide-error {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.answer-card h2,
.answer-pair p,
.creator-reflection p,
.locked-card,
.question-number {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.answer-pair p,
.creator-reflection p {
  white-space: pre-wrap;
  max-width: 100%;
}

.answer-pair {
  overflow: hidden;
}

.answer-pair > div {
  overflow: hidden;
}

.truthlens-response-panel h2 {
  text-wrap: balance;
}

@media (max-width: 640px) {
  .answer-shell {
    width: min(100%, calc(100vw - 28px));
  }

  .answer-card {
    padding: 22px;
    border-radius: 26px;
  }

  .answer-card h2 {
    font-size: clamp(27px, 8.6vw, 40px);
    line-height: 1.10;
    letter-spacing: -.035em;
  }

  .answer-pair {
    gap: 14px;
  }

  .answer-pair > div {
    padding: 18px;
    border-radius: 20px;
  }

  .answer-pair span {
    letter-spacing: .16em;
  }

  .answer-pair p {
    font-size: clamp(18px, 5.8vw, 25px);
    line-height: 1.55;
  }

  .truthlens-response-panel {
    margin-top: 16px;
  }

  .truthlens-response-panel .hero-actions {
    width: 100%;
    justify-content: flex-start;
  }
}


/* TruthMirror v1.3.15.6.4 — Answer Typography Consistency Rootfix */
.answer-card h2 {
  font-size: clamp(24px, 2.7vw, 36px);
  line-height: 1.10;
  letter-spacing: -0.026em;
  word-spacing: .014em;
  font-weight: 300;
}

.answer-pair p,
.creator-reflection p {
  font-size: clamp(16px, 1.55vw, 19px);
  line-height: 1.62;
  letter-spacing: -.006em;
  font-weight: 300;
}

@media (max-width: 640px) {
  .answer-card {
    padding: 22px;
    border-radius: 26px;
  }

  .answer-card h2 {
    font-size: clamp(24px, 7vw, 32px);
    line-height: 1.16;
    letter-spacing: -0.026em;
  }

  .answer-pair > div {
    padding: 18px;
  }

  .answer-pair p,
  .creator-reflection p {
    font-size: clamp(16px, 4.35vw, 19px);
    line-height: 1.64;
    letter-spacing: -.004em;
  }

  .answer-pair span {
    font-size: 11px;
    letter-spacing: .15em;
  }
}


/* TruthMirror v1.3.15.6.5 — TruthLens Readiness Message Rootfix */
.truthlens-response-panel .mode-chip {
  white-space: normal;
  max-width: 100%;
  line-height: 1.45;
  text-align: left;
}


/* TruthMirror v1.3.15.6.6 — Admin AI Mobile Tables Rootfix */
.admin-ai-page .ai-ops-table {
  overflow: hidden;
}

.admin-ai-page .ai-ops-table .table-scroll {
  width: 100%;
  overflow-x: auto;
  -webkit-overflow-scrolling: touch;
}

.admin-ai-page .ai-ops-table td,
.admin-ai-page .ai-ops-table th {
  overflow-wrap: anywhere;
  word-break: break-word;
}

.admin-ai-page .ai-actions-cell .compact-actions {
  align-items: flex-start;
}

@media (max-width: 760px) {
  .admin-ai-page .ai-ops-table {
    padding: 22px;
    overflow: visible;
  }

  .admin-ai-page .ai-ops-table .section-title h2 {
    font-size: clamp(26px, 7vw, 36px);
    line-height: 1.10;
    letter-spacing: -.032em;
  }

  .admin-ai-page .ai-ops-table .table-scroll {
    overflow: visible;
  }

  .admin-ai-page .ai-ops-table table,
  .admin-ai-page .ai-ops-table thead,
  .admin-ai-page .ai-ops-table tbody,
  .admin-ai-page .ai-ops-table tr,
  .admin-ai-page .ai-ops-table th,
  .admin-ai-page .ai-ops-table td {
    display: block;
    width: 100%;
    min-width: 0 !important;
  }

  .admin-ai-page .ai-ops-table table {
    border: 0;
  }

  .admin-ai-page .ai-ops-table thead {
    position: absolute;
    width: 1px;
    height: 1px;
    overflow: hidden;
    clip-path: inset(50%);
    white-space: nowrap;
  }

  .admin-ai-page .ai-ops-table tbody {
    display: grid;
    gap: 14px;
  }

  .admin-ai-page .ai-ops-table tr {
    border: 1px solid rgba(20,20,20,.08);
    border-radius: 24px;
    background: rgba(255,255,255,.64);
    padding: 14px;
    box-shadow: 0 18px 46px rgba(30,25,18,.055);
  }

  .admin-ai-page .ai-ops-table td {
    border: 0 !important;
    padding: 11px 0;
    display: grid;
    grid-template-columns: minmax(92px, .38fr) minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    font-size: 15px;
    line-height: 1.45;
  }

  .admin-ai-page .ai-ops-table td + td {
    border-top: 1px solid rgba(20,20,20,.06) !important;
  }

  .admin-ai-page .ai-ops-table td::before {
    content: attr(data-label);
    color: var(--muted);
    text-transform: uppercase;
    letter-spacing: .14em;
    font-size: 10px;
    font-weight: 540;
    line-height: 1.4;
    padding-top: 3px;
  }

  .admin-ai-page .ai-ops-table td.ai-actions-cell {
    display: block;
  }

  .admin-ai-page .ai-ops-table td.ai-actions-cell::before {
    display: block;
    margin-bottom: 10px;
  }

  .admin-ai-page .ai-actions-cell .compact-actions,
  .admin-ai-page .ai-actions-cell .inline-form {
    width: 100%;
  }

  .admin-ai-page .ai-actions-cell .compact-actions {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
  }

  .admin-ai-page .ai-actions-cell .button {
    width: 100%;
    justify-content: center;
  }
}


/* TruthMirror v1.3.15.6.7 — OpenAI Provider Diagnostics Rootfix */
.admin-ai-page .ai-ops-table td[data-label="Safe error"] {
  line-height: 1.55;
}


/* TruthMirror v1.3.15.6.8 — Landing TruthLens Typography iPad Rootfix */
.landing-page .truthlens-home-section {
  margin-top: clamp(72px, 8vw, 118px);
}

.landing-page .truthlens-home-card {
  grid-template-columns: minmax(0, .98fr) minmax(360px, .74fr);
  gap: clamp(30px, 4.2vw, 52px);
  padding: clamp(34px, 4.5vw, 54px);
  align-items: center;
}

.landing-page .truthlens-home-copy h2 {
  max-width: 900px;
  font-size: clamp(46px, 4.6vw, 72px);
  line-height: 1.055;
  letter-spacing: -.043em;
  word-spacing: .01em;
  font-weight: 260;
}

.landing-page .truthlens-home-copy p {
  max-width: 780px;
  font-size: clamp(17px, 1.35vw, 20px);
  line-height: 1.66;
  letter-spacing: -.006em;
  font-weight: 300;
}

.landing-page .truthlens-home-list {
  margin-top: 22px;
  display: grid;
  gap: 10px;
}

.landing-page .truthlens-home-list li {
  line-height: 1.55;
}

.landing-page .truthlens-report-preview {
  width: min(100%, 560px);
  justify-self: end;
  border-radius: 32px;
  padding: clamp(22px, 2.4vw, 30px);
  box-shadow: 0 24px 70px rgba(39,34,26,.095);
}

.landing-page .truthlens-preview-card {
  padding: clamp(18px, 2vw, 22px);
  border-radius: 24px;
}

.landing-page .truthlens-preview-card p {
  font-size: clamp(22px, 2vw, 30px);
  line-height: 1.16;
  letter-spacing: -.028em;
  font-weight: 270;
}

.landing-page .truthlens-preview-grid div {
  padding: 15px;
}

.landing-page .truthlens-preview-grid span {
  font-size: 15px;
}

/* Five-step product flow balance after TruthLens addition */
.landing-page .timeline {
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: clamp(14px, 1.5vw, 20px);
}

.landing-page .timeline article {
  padding: clamp(20px, 1.8vw, 24px);
}

.landing-page .timeline h3 {
  font-size: clamp(22px, 2vw, 30px);
  letter-spacing: -.035em;
  font-weight: 300;
}

.landing-page .timeline p {
  font-size: clamp(15px, 1.2vw, 17px);
  line-height: 1.55;
}

@media (min-width: 1181px) {
  .landing-page .truthlens-home-card {
    min-height: 540px;
  }
}

@media (min-width: 981px) and (max-width: 1180px) {
  .landing-page .truthlens-home-section {
    margin-top: clamp(68px, 7vw, 96px);
  }

  .landing-page .truthlens-home-card {
    grid-template-columns: minmax(0, .98fr) minmax(330px, .70fr);
    gap: 34px;
    padding: 38px;
    border-radius: 42px;
  }

  .landing-page .truthlens-home-copy h2 {
    max-width: 760px;
    font-size: clamp(48px, 5.4vw, 62px);
    line-height: 1.07;
    letter-spacing: -.04em;
    font-weight: 250;
  }

  .landing-page .truthlens-home-copy p {
    max-width: 690px;
    font-size: 18px;
    line-height: 1.62;
  }

  .landing-page .truthlens-report-preview {
    width: min(100%, 470px);
    padding: 24px;
    border-radius: 30px;
  }

  .landing-page .truthlens-preview-card p {
    font-size: clamp(22px, 2.6vw, 28px);
  }

  .landing-page .truthlens-preview-grid {
    gap: 10px;
  }

  .landing-page .truthlens-preview-grid div {
    padding: 13px;
  }

  .landing-page .timeline {
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 14px;
  }

  .landing-page .timeline article {
    padding: 20px;
    border-radius: 26px;
  }

  .landing-page .timeline article span {
    width: 48px;
    height: 48px;
    margin-bottom: 24px;
  }

  .landing-page .timeline h3 {
    font-size: clamp(22px, 2.3vw, 28px);
  }

  .landing-page .timeline p {
    font-size: 15px;
  }
}

@media (min-width: 761px) and (max-width: 980px) {
  .landing-page .truthlens-home-section {
    margin-top: 76px;
  }

  .landing-page .truthlens-home-card {
    grid-template-columns: 1fr;
    padding: clamp(34px, 5vw, 46px);
    border-radius: 42px;
    gap: 34px;
  }

  .landing-page .truthlens-home-copy h2 {
    max-width: 760px;
    font-size: clamp(44px, 6.2vw, 58px);
    line-height: 1.08;
    letter-spacing: -.039em;
    font-weight: 250;
  }

  .landing-page .truthlens-home-copy p {
    max-width: 700px;
    font-size: 18px;
    line-height: 1.64;
  }

  .landing-page .truthlens-home-list {
    max-width: 680px;
  }

  .landing-page .truthlens-report-preview {
    width: min(100%, 660px);
    justify-self: start;
    padding: 24px;
    border-radius: 30px;
    box-shadow: 0 22px 58px rgba(39,34,26,.085);
  }

  .landing-page .truthlens-preview-card p {
    font-size: clamp(23px, 3.4vw, 30px);
    line-height: 1.18;
  }

  .landing-page .truthlens-preview-grid {
    gap: 10px;
  }

  .landing-page .timeline {
    grid-template-columns: repeat(5, minmax(138px, 1fr));
    overflow-x: auto;
    padding-bottom: 12px;
    scroll-snap-type: x proximity;
  }

  .landing-page .timeline article {
    scroll-snap-align: start;
  }

  .landing-page .timeline::before {
    left: 40px;
    right: 40px;
  }
}

@media (max-width: 760px) {
  .landing-page .truthlens-home-section {
    margin-top: clamp(64px, 16vw, 86px);
  }

  .landing-page .truthlens-home-card {
    padding: 24px;
    border-radius: 32px;
    gap: 26px;
  }

  .landing-page .truthlens-home-copy h2 {
    font-size: clamp(34px, 9.5vw, 48px);
    line-height: 1.08;
    letter-spacing: -.038em;
    font-weight: 260;
  }

  .landing-page .truthlens-home-copy p {
    font-size: 16.5px;
    line-height: 1.64;
  }

  .landing-page .truthlens-report-preview {
    width: 100%;
    justify-self: stretch;
    padding: 20px;
    border-radius: 28px;
  }

  .landing-page .truthlens-preview-card p {
    font-size: clamp(21px, 6vw, 27px);
    line-height: 1.18;
  }
}


/* TruthMirror v1.3.15.6.9 — iPad Portrait Product Flow Rootfix */
@media (min-width: 761px) and (max-width: 1180px) and (orientation: portrait) {
  .landing-page .timeline-section {
    overflow: hidden;
  }

  .landing-page .timeline {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    overflow: visible;
    gap: 18px;
    padding-bottom: 0;
    scroll-snap-type: none;
  }

  .landing-page .timeline::before {
    display: none;
  }

  .landing-page .timeline article {
    min-width: 0;
    min-height: 250px;
    padding: 26px;
    border-radius: 30px;
    scroll-snap-align: unset;
  }

  .landing-page .timeline article:nth-child(5) {
    grid-column: 1 / -1;
    min-height: auto;
    display: grid;
    grid-template-columns: 64px minmax(0, 1fr);
    column-gap: 22px;
    align-items: center;
  }

  .landing-page .timeline article:nth-child(5) span {
    margin-bottom: 0;
  }

  .landing-page .timeline article:nth-child(5) h3 {
    margin-bottom: 6px;
  }

  .landing-page .timeline article:nth-child(5) p {
    max-width: 520px;
  }

  .landing-page .timeline h3 {
    font-size: clamp(26px, 3.8vw, 34px);
    line-height: 1.08;
  }

  .landing-page .timeline p {
    font-size: 17px;
    line-height: 1.58;
    max-width: 330px;
  }
}

@media (min-width: 761px) and (max-width: 900px) and (orientation: portrait) {
  .landing-page .timeline article {
    min-height: 236px;
    padding: 24px;
  }

  .landing-page .timeline article:nth-child(5) {
    grid-template-columns: 58px minmax(0, 1fr);
  }

  .landing-page .timeline article:nth-child(5) p {
    max-width: 460px;
  }
}


/* TruthMirror v1.3.15.6.10 — iPad Portrait Understand Card Composition Rootfix */
@media (min-width: 761px) and (max-width: 1180px) and (orientation: portrait) {
  .landing-page .timeline article:nth-child(5) span {
    grid-column: 1;
    grid-row: 1 / span 2;
    align-self: start;
  }

  .landing-page .timeline article:nth-child(5) h3 {
    grid-column: 2;
    grid-row: 1;
    align-self: end;
  }

  .landing-page .timeline article:nth-child(5) p {
    grid-column: 2;
    grid-row: 2;
    max-width: 640px;
    width: 100%;
    align-self: start;
  }
}

@media (min-width: 761px) and (max-width: 900px) and (orientation: portrait) {
  .landing-page .timeline article:nth-child(5) p {
    max-width: 560px;
  }
}


/* TruthMirror v1.3.15.6.11 — Footer Modes TruthLens Symmetry Patch */
.footer-ipad-landscape-plus-only {
  display: inline-flex;
}

@media (max-width: 980px) {
  .footer-ipad-landscape-plus-only {
    display: none !important;
  }
}


/* TruthMirror v1.3.15.6.12 — Hero Device Height iPad/Desktop Rootfix */
@media (min-width: 981px) {
  .keynote-device-wrap {
    min-height: clamp(420px, 42vw, 500px);
    align-self: center;
  }

  .keynote-device {
    width: min(100%, 390px);
    padding: 12px;
    border-radius: 34px;
  }

  .keynote-device .device-card {
    padding: 16px;
    margin-bottom: 10px;
    border-radius: 24px;
  }

  .keynote-device .live-question-card h3 {
    font-size: clamp(20px, 1.65vw, 23px);
    line-height: 1.08;
    margin: 14px 0;
  }

  .keynote-device .answer-line {
    height: 10px;
    margin: 8px 0;
  }

  .keynote-device .future-card,
  .keynote-device .reflection-card {
    grid-template-columns: 36px 1fr;
    gap: 11px;
  }

  .keynote-device .future-lock-icon,
  .keynote-device .reflection-spark {
    width: 36px;
    height: 36px;
    font-size: 17px;
  }

  .keynote-device .future-card p,
  .keynote-device .reflection-card p {
    font-size: 13px;
    line-height: 1.42;
  }

  .keynote-device .truthlens-preview-mini,
  .keynote-device .device-card:last-child {
    min-height: auto;
  }
}

@media (min-width: 981px) and (max-width: 1180px) {
  .keynote-grid {
    grid-template-columns: minmax(0, 1fr) minmax(330px, .72fr);
    gap: 28px;
    align-items: center;
  }

  .keynote-device-wrap {
    min-height: 430px;
  }

  .keynote-device {
    width: min(100%, 360px);
  }
}

@media (min-width: 1181px) {
  .keynote-grid {
    align-items: center;
  }

  .keynote-device-wrap {
    min-height: clamp(450px, 36vw, 520px);
  }
}

@media (max-width: 980px) {
  .keynote-device-wrap {
    min-height: auto;
  }
}


/* TruthMirror v1.3.15.6.14 — Mobile Landing Responsive Revert Rootfix
   Final mobile cascade lock: prevents later tablet/desktop landing overrides from leaking into phones. */
@media (max-width: 760px) {
  html,
  body {
    max-width: 100%;
    overflow-x: hidden;
  }

  .landing-page .page-shell,
  .keynote-home .page-shell {
    width: calc(100% - 20px);
    max-width: calc(100% - 20px);
    overflow-x: hidden;
  }

  .landing-page .keynote-grid,
  .landing-page .truthlens-home-card,
  .landing-page .timeline,
  .landing-page .split-showcase,
  .landing-page .creator-control-panel,
  .landing-page .metric-ribbon,
  .landing-page .feature-orbit {
    grid-template-columns: minmax(0, 1fr) !important;
  }

  .landing-page .truthlens-home-card {
    overflow: hidden;
    padding: 24px;
    gap: 26px;
    align-items: start;
  }

  .landing-page .truthlens-home-copy,
  .landing-page .truthlens-report-preview,
  .landing-page .timeline,
  .landing-page .timeline article,
  .landing-page .truthlens-home-copy h2,
  .landing-page .truthlens-home-copy p,
  .landing-page .truthlens-home-list,
  .landing-page .truthlens-home-list li {
    min-width: 0;
    max-width: 100%;
  }

  .landing-page .truthlens-home-copy {
    z-index: 2;
  }

  .landing-page .truthlens-home-copy h2 {
    font-size: clamp(34px, 9vw, 44px);
    line-height: 1.08;
    letter-spacing: -.038em;
    word-spacing: .01em;
    text-wrap: balance;
    overflow-wrap: normal;
    word-break: normal;
  }

  .landing-page .truthlens-home-copy p {
    font-size: 16.5px;
    line-height: 1.66;
    overflow-wrap: normal;
    word-break: normal;
  }

  .landing-page .truthlens-home-list {
    display: grid;
    gap: 10px;
    padding-left: 1.25em;
  }

  .landing-page .truthlens-home-list li {
    line-height: 1.58;
    overflow-wrap: normal;
    word-break: normal;
  }

  .landing-page .truthlens-report-preview {
    width: 100%;
    justify-self: stretch;
    align-self: stretch;
    z-index: 2;
    padding: 18px;
    border-radius: 26px;
    transform: none;
  }

  .landing-page .truthlens-preview-top {
    gap: 10px;
    align-items: flex-start;
    flex-wrap: wrap;
  }

  .landing-page .truthlens-preview-top em {
    max-width: 100%;
  }

  .landing-page .truthlens-preview-card p {
    font-size: clamp(20px, 6vw, 25px);
    line-height: 1.18;
    word-break: normal;
    overflow-wrap: normal;
  }

  .landing-page .truthlens-preview-grid {
    grid-template-columns: 1fr;
  }

  .landing-page .timeline-section {
    overflow: visible;
  }

  .landing-page .timeline {
    display: grid;
    overflow: visible;
    gap: 16px;
    padding-bottom: 0;
    scroll-snap-type: none;
  }

  .landing-page .timeline::before {
    display: none !important;
  }

  .landing-page .timeline article,
  .landing-page .timeline article:nth-child(5) {
    display: block;
    grid-column: auto;
    min-height: auto;
    width: 100%;
    padding: 24px;
    border-radius: 28px;
  }

  .landing-page .timeline article span,
  .landing-page .timeline article:nth-child(5) span {
    width: 54px;
    height: 54px;
    margin: 0 0 28px;
    grid-column: auto;
    grid-row: auto;
  }

  .landing-page .timeline h3,
  .landing-page .timeline article:nth-child(5) h3 {
    font-size: clamp(28px, 8vw, 36px);
    line-height: 1.08;
    letter-spacing: -.038em;
    margin: 0 0 10px;
    grid-column: auto;
    grid-row: auto;
    word-break: normal;
    overflow-wrap: normal;
  }

  .landing-page .timeline p,
  .landing-page .timeline article:nth-child(5) p {
    font-size: 16.5px;
    line-height: 1.62;
    max-width: 100%;
    width: auto;
    grid-column: auto;
    grid-row: auto;
    word-break: normal;
    overflow-wrap: normal;
  }

  .landing-page .section-headline h2,
  .landing-page .timeline-section h2,
  .landing-page .trust-os-copy h2,
  .landing-page .foundation-card h2,
  .landing-page .cta-copy h2 {
    word-break: normal;
    overflow-wrap: normal;
    text-wrap: balance;
  }
}


/* TruthMirror v1.3.15.7.0 — Recipient TruthLens Analyzer Foundation */
.recipient-truthlens-panel {
  margin-top: clamp(28px, 5vw, 52px);
}
.recipient-truthlens-panel .mode-chip {
  max-width: min(100%, 520px);
  white-space: normal;
  line-height: 1.45;
}
@media (max-width: 760px) {
  .recipient-truthlens-panel {
    display: grid;
    gap: 22px;
  }
}
