/*
 * site-v2.css : refonte de l'accueil et de la page « audio en texte » (7 langues).
 *
 * CSS écrit à la main, sans classes Tailwind (rien à recompiler dans styles.css),
 * chargé en dernier dans le <head> pour l'emporter sur les styles propres à chaque
 * page. Cache-busté au build (scripts/inject-env.mjs, ?v=<hash>).
 *
 * Jetons : ceux de la charte (docs/design/charte du dépôt de l'appli).
 * Thème sombre seul, DM Sans, un seul bouton violet plein par vue, cartes
 * neutres, liens en `link`, ni dégradé, ni halo, ni capitales espacées.
 */

:root {
  --v2-canvas: #101620;
  --v2-page: #0B1220;
  --v2-panel: #141B26;
  --v2-surface: #111827;
  --v2-surface-light: #1F2937;
  --v2-surface-lighter: #2A3444;
  --v2-text: #E6EEF9;
  --v2-text-muted: #A3B0C7;
  --v2-text-subtle: #8E9BB2;
  --v2-text-faint: #7F8CA6;
  --v2-link: #C9A3EE;
  --v2-brand: #8B46C1;
  --v2-brand-hover: #7B1FA2;
  --v2-border-strong: #3A4556;
  --v2-gutter: 16px;
}
@media (min-width: 640px) { :root { --v2-gutter: 24px; } }

html body { background-color: var(--v2-canvas); color: var(--v2-text); overflow-x: hidden; }
html body h1, html body h2, html body h3 { overflow-wrap: break-word; hyphens: manual; }
/* Coupure des mots longs (allemand, néerlandais) seulement là où la place manque. */
@media (max-width: 639px) { html body h1, html body h2, html body h3, .v2-h1, .v2-tool-h1, .v2-utt-text, .v2-btn, html body .dz-button { hyphens: auto; } }

/* Accessibilité */
.v2-sr { position: absolute; width: 1px; height: 1px; padding: 0; margin: -1px; overflow: hidden; clip: rect(0, 0, 0, 0); white-space: nowrap; border: 0; }
html body a:focus-visible, html body button:focus-visible, html body summary:focus-visible, .dropzone:focus-visible {
  outline: 2px solid var(--v2-link); outline-offset: 2px;
}

/* ── Boutons ─────────────────────────────────────────────────────── */
.v2-btn {
  display: inline-flex; align-items: center; justify-content: center; gap: 8px;
  min-height: 48px; padding: 10px 22px; border-radius: 12px;
  font-size: 15px; line-height: 20px; font-weight: 600; text-align: center;
  text-decoration: none; white-space: normal; overflow-wrap: break-word;
  transition: background-color 0.15s ease, border-color 0.15s ease, color 0.15s ease;
  cursor: pointer;
}
html body .v2-btn-primary, html body a.v2-btn-primary { background: var(--v2-brand); color: #FFFFFF; border: 1px solid var(--v2-brand); }
html body .v2-btn-primary:hover { background: var(--v2-brand-hover); border-color: var(--v2-brand-hover); }
html body .v2-btn-secondary, html body a.v2-btn-secondary { background: transparent; color: var(--v2-text); border: 1px solid var(--v2-border-strong); }
html body .v2-btn-secondary:hover { background: var(--v2-surface-light); }
.v2-link, html body a.v2-link { color: var(--v2-link); text-decoration: underline; text-underline-offset: 3px; }
.v2-link:hover { color: #E3CCF7; }

/* ── En-tête commun (identique dans l'esprit à l'appli) ─────────────── */
html body .site-header.v2-header {
  position: sticky; top: 0; z-index: 50;
  background: var(--v2-canvas); border-bottom: 1px solid var(--v2-surface-light);
  box-shadow: none; backdrop-filter: none; -webkit-backdrop-filter: none;
}
html body .site-header.v2-header.scrolled { background: var(--v2-canvas); box-shadow: none; }
.v2-header-inner {
  max-width: 1240px; margin: 0 auto; padding: 10px var(--v2-gutter);
  display: flex; align-items: center; gap: 12px; min-height: 64px;
}
@media (min-width: 1180px) { .v2-header-inner { min-height: 72px; gap: 28px; } }
.v2-brand { display: inline-flex; align-items: center; gap: 10px; min-width: 0; text-decoration: none; flex: 0 1 auto; }
.v2-brand img { display: block; width: 40px; height: 40px; flex: none; }
.v2-brand span { font-size: 19px; line-height: 24px; font-weight: 700; color: var(--v2-text); white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
@media (min-width: 640px) { .v2-brand span { font-size: 20px; } }
.v2-nav { display: none; align-items: center; gap: 24px; }
.v2-nav a { color: var(--v2-text-muted); font-size: 15px; line-height: 20px; font-weight: 500; text-decoration: none; white-space: nowrap; transition: color 0.15s ease; }
.v2-nav a:hover { color: var(--v2-text); }
.v2-nav a[aria-current="page"] { color: var(--v2-text); font-weight: 600; }
.v2-header-actions { margin-left: auto; display: flex; align-items: center; gap: 8px; flex: none; }
.v2-header-actions .lang-menu, .v2-header-cta { display: none !important; }
.v2-signin { display: inline-flex; align-items: center; min-height: 44px; padding: 0 8px; color: var(--v2-text); font-size: 15px; font-weight: 600; text-decoration: none; white-space: nowrap; }
.v2-signin:hover { color: #FFFFFF; text-decoration: underline; text-underline-offset: 3px; }
html body .v2-menu-toggle { width: 44px; height: 44px; border-radius: 12px; background: transparent; border: 1px solid var(--v2-surface-lighter); color: var(--v2-text); }
html body .v2-menu-toggle:hover { background: var(--v2-surface-light); }
@media (max-width: 429px) {
  .v2-header-inner { gap: 8px; }
  .v2-brand { gap: 8px; }
  .v2-brand span { font-size: 17px; }
  .v2-header-actions { gap: 4px; }
  .v2-signin { font-size: 14px; padding: 0 6px; }
}
@media (max-width: 359px) { .v2-signin { display: none; } }
@media (min-width: 1180px) {
  .v2-nav { display: flex; }
  .v2-header-actions { gap: 16px; }
  .v2-header-actions .lang-menu { display: inline-block !important; margin: 0; }
  .v2-header-cta { display: inline-flex !important; min-height: 44px; padding: 8px 18px; }
  html body .v2-menu-toggle { display: none; }
  html body .mobile-drawer, html body .mobile-drawer-overlay { display: none !important; }
}
html .v2-header .lang-menu > summary { color: var(--v2-text-muted); font-size: 15px; }

/* Tiroir mobile */
html body .mobile-drawer { background: var(--v2-panel); border-left: 1px solid var(--v2-surface-lighter); padding: 16px 16px max(16px, env(safe-area-inset-bottom)); box-shadow: none; }
html body .mobile-drawer-overlay { backdrop-filter: none; -webkit-backdrop-filter: none; background: rgba(8, 10, 14, 0.7); }
.v2-drawer-top { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 16px; }
.v2-drawer-top .v2-brand span { font-size: 17px; }
html body .mobile-drawer .drawer-link { padding: 12px; border-radius: 10px; font-size: 16px; font-weight: 500; color: var(--v2-text); }
html body .mobile-drawer .drawer-link:hover { background: var(--v2-surface-light); }
html body .mobile-drawer .drawer-link[aria-current="page"] { background: rgba(139, 70, 193, 0.15); border: 1px solid rgba(139, 70, 193, 0.3); font-weight: 600; }
.v2-drawer-foot { margin-top: auto; padding-top: 20px; display: flex; flex-direction: column; gap: 8px; }
.v2-drawer-foot .v2-btn { width: 100%; }
.v2-drawer-signin { display: flex; align-items: center; justify-content: center; min-height: 44px; color: var(--v2-text); font-size: 15px; font-weight: 600; text-decoration: none; }

/* ── Pied commun ─────────────────────────────────────────────────── */
html body footer { border-top: 1px solid var(--v2-surface-light) !important; background: var(--v2-canvas) !important; padding: 48px var(--v2-gutter) 24px !important; }
html body .footer-grid { text-align: left; grid-template-columns: 1fr 1fr; gap: 32px 24px; }
html body .footer-grid > div:first-child { grid-column: 1 / -1; }
@media (min-width: 768px) {
  html body .footer-grid { grid-template-columns: 2fr 1fr 1fr 1fr; gap: 48px; }
  html body .footer-grid > div:first-child { grid-column: auto; }
}
html body .footer-logo { justify-content: flex-start !important; }
html body .footer-grid h3 { font-size: 14px; font-weight: 600; margin: 0 0 12px; color: var(--v2-text); }
html body .footer-grid a { color: var(--v2-text-muted); font-size: 14px; }
html body .footer-grid a:hover { color: var(--v2-text); }
html body .footer-grid p { color: var(--v2-text-subtle) !important; font-size: 14px; line-height: 20px; }

/* ── Accueil : héros ─────────────────────────────────────────────── */
.v2-hero { padding: 28px var(--v2-gutter) 40px; }
@media (min-width: 1024px) { .v2-hero { padding: 72px var(--v2-gutter) 88px; } }
.v2-hero-grid { max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr); gap: 28px; }
@media (min-width: 1024px) { .v2-hero-grid { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); gap: 56px; align-items: center; } }
.v2-hero-text { display: flex; flex-direction: column; gap: 16px; min-width: 0; }
.v2-h1 { margin: 0; font-size: 30px; line-height: 36px; font-weight: 700; letter-spacing: -0.02em; color: var(--v2-text); overflow-wrap: break-word; }
@media (min-width: 640px) { .v2-h1 { font-size: 44px; line-height: 50px; } }
@media (min-width: 1240px) { .v2-h1 { font-size: 54px; line-height: 60px; } }
.v2-eyebrow { display: block; margin: 0 0 14px; font-size: 15px; line-height: 20px; font-weight: 500; letter-spacing: 0; color: var(--v2-text-subtle); }
.v2-lead { margin: 0; max-width: 560px; font-size: 17px; line-height: 27px; color: var(--v2-text-muted); }
.v2-cta-row { display: flex; flex-wrap: wrap; gap: 12px; margin-top: 8px; }
@media (max-width: 479px) { .v2-cta-row .v2-btn { width: 100%; } }
.v2-note { margin: 0; font-size: 14px; line-height: 20px; color: var(--v2-text-subtle); }
.v2-hero-text .v2-extra { margin: 0; max-width: 560px; font-size: 14px; line-height: 21px; color: var(--v2-text-muted); }
.v2-hero-text .v2-extra strong { color: var(--v2-text); }

/* Aperçu : l'onglet Transcription de l'appli, dessiné en HTML */
.v2-tx { margin: 0; min-width: 0; background: var(--v2-panel); border: 1px solid var(--v2-surface-lighter); border-radius: 16px; padding: 12px; }
@media (min-width: 640px) { .v2-tx { padding: 16px; } }
.v2-tx-tabs { display: flex; gap: 4px; padding: 4px; border-radius: 12px; background: var(--v2-surface); overflow: hidden; }
.v2-tx-tabs span { flex: none; padding: 7px 10px; border-radius: 9px; font-size: 13px; line-height: 18px; font-weight: 500; color: var(--v2-text-muted); white-space: nowrap; border: 1px solid transparent; }
.v2-tx-tabs span.is-active { background: rgba(139, 70, 193, 0.15); border-color: rgba(139, 70, 193, 0.3); color: var(--v2-text); font-weight: 600; }
.v2-tx-tabs .v2-tx-wide { display: none; }
@media (max-width: 559px) { .v2-tx-tabs .v2-tx-sm-hide { display: none; } }
@media (min-width: 560px) { .v2-tx-tabs .v2-tx-wide { display: inline; } .v2-tx-tabs .v2-tx-narrow { display: none; } }
.v2-tx-bar { display: flex; gap: 8px; margin: 12px 0 4px; }
.v2-tx-search { flex: 1 1 auto; min-width: 0; display: flex; align-items: center; gap: 8px; min-height: 40px; padding: 0 12px; border: 1px solid var(--v2-surface-lighter); border-radius: 10px; color: var(--v2-text-faint); font-size: 14px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; }
.v2-tx-search svg { flex: none; }
.v2-tx-copy { flex: none; display: inline-flex; align-items: center; min-height: 40px; padding: 0 12px; border: 1px solid var(--v2-border-strong); border-radius: 10px; color: var(--v2-text); font-size: 14px; font-weight: 600; white-space: nowrap; }
@media (max-width: 419px) { .v2-tx-copy { display: none; } }
.v2-tx-list { display: flex; flex-direction: column; }
.v2-utt { display: grid; grid-template-columns: 74px minmax(0, 1fr); gap: 0 12px; padding: 10px 4px; }
.v2-utt + .v2-utt { border-top: 1px solid var(--v2-surface-light); }
.v2-utt-time { padding-top: 1px; font-size: 12px; line-height: 18px; font-weight: 500; color: var(--v2-link); font-variant-numeric: tabular-nums; }
.v2-utt-speaker { display: block; font-size: 13px; line-height: 18px; font-weight: 600; color: var(--v2-text); }
.v2-utt-text { display: block; margin-top: 2px; font-size: 15px; line-height: 24px; color: var(--v2-text); overflow-wrap: break-word; }
@media (max-width: 479px) {
  .v2-utt { grid-template-columns: minmax(0, 1fr); }
  .v2-utt-time { order: 2; grid-row: 1; justify-self: start; display: none; }
  .v2-utt-body .v2-utt-speaker::after { content: attr(data-time); margin-left: 8px; font-size: 12px; font-weight: 500; color: var(--v2-link); font-variant-numeric: tabular-nums; }
  .v2-utt:nth-child(n+3) { display: none; }
}
.v2-tx-note { margin: 8px 4px 0; font-size: 12px; line-height: 16px; color: var(--v2-text-faint); }

/* ── Accueil : sections existantes, restylées ────────────────────── */
html body .fade-in { will-change: auto; }
html body .angle-eyebrow { display: none; }
html body .angle-image-wrap { background: var(--v2-surface); border-color: var(--v2-surface-light); box-shadow: none; }
html body .angle-bullets li, html body .persona-usecase { color: var(--v2-text-muted); }
html body .angle-desc { color: var(--v2-text-muted); }
html body .persona-card { background: var(--v2-surface); border-color: var(--v2-surface-light); }
html body .persona-card:hover { transform: none; border-color: var(--v2-surface-lighter); }
html body .persona-icon { background: var(--v2-surface-light) !important; }
html body .persona-icon svg { stroke: var(--v2-text-muted); }
html body .persona-pain { border-left-color: var(--v2-surface-lighter); color: var(--v2-text-subtle); }
html body .persona-features svg { color: var(--v2-text-subtle) !important; }
html body .pricing-card:hover { transform: none; box-shadow: none; border-color: var(--v2-surface-lighter); }
html body .toggle-switch input:checked + .toggle-track { background: var(--v2-brand); }
html body .discount-badge { background: var(--v2-surface-light); color: var(--v2-text); }
html body .toggle-thumb { box-shadow: none; }
.v2-badge { position: absolute; top: -13px; left: 50%; transform: translateX(-50%); padding: 3px 12px; border-radius: 999px; background: var(--v2-surface-light); border: 1px solid var(--v2-surface-lighter); color: var(--v2-text); font-size: 12px; line-height: 18px; font-weight: 600; white-space: nowrap; }
html body #demoWrap { background: var(--v2-surface) !important; box-shadow: none !important; }
html body .dSpeaker { color: var(--v2-text) !important; }
html body .dText { color: var(--v2-text-muted); }
html body section h2 { letter-spacing: -0.01em; }

/* ── Page « audio en texte » ─────────────────────────────────────── */
.v2-tool-section { position: relative; z-index: 1; padding: 20px var(--v2-gutter) 40px; }
@media (min-width: 1024px) { .v2-tool-section { padding: 56px var(--v2-gutter) 72px; } }
.v2-tool-hero {
  max-width: 1240px; margin: 0 auto; display: grid; grid-template-columns: minmax(0, 1fr);
  grid-template-areas: "intro" "tool" "facts"; gap: 20px;
}
@media (min-width: 1024px) {
  .v2-tool-hero { grid-template-columns: minmax(0, 1fr) minmax(0, 1.05fr); grid-template-rows: auto 1fr; grid-template-areas: "intro tool" "facts tool"; gap: 20px 56px; align-items: start; }
  .v2-tool-hero:has(#stage-result:not(.hidden)) { grid-template-columns: minmax(0, 1fr); grid-template-areas: "intro" "tool" "facts"; }
}
.v2-tool-intro { grid-area: intro; min-width: 0; }
.v2-tool-box { grid-area: tool; min-width: 0; }
.v2-tool-facts { grid-area: facts; min-width: 0; }
.v2-crumbs { margin: 0 0 14px; font-size: 14px; line-height: 20px; color: var(--v2-text-subtle); }
.v2-crumbs a { color: var(--v2-link); text-decoration: none; }
.v2-crumbs a:hover { text-decoration: underline; }
.v2-crumbs span { color: var(--v2-text-subtle); }
.v2-tool-eyebrow { margin: 0 0 10px; font-size: 15px; line-height: 20px; font-weight: 500; color: var(--v2-text-subtle); }
.v2-tool-h1 { margin: 0 0 14px; font-size: 28px; line-height: 34px; font-weight: 700; letter-spacing: -0.02em; color: var(--v2-text); overflow-wrap: break-word; }
@media (min-width: 640px) { .v2-tool-h1 { font-size: 40px; line-height: 46px; } }
@media (min-width: 1240px) { .v2-tool-h1 { font-size: 48px; line-height: 54px; } }
.v2-tool-h1 span { color: inherit; background: none; -webkit-text-fill-color: currentColor; }
html body .v2-tool-lead { margin: 0; max-width: 620px; font-size: 16px; line-height: 26px; color: var(--v2-text-muted); }
@media (min-width: 1024px) { html body .v2-tool-lead { font-size: 17px; line-height: 27px; } }
html body .v2-tool-lead strong { color: var(--v2-text); font-weight: 600; }
.v2-facts { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 8px; }
.v2-facts li { display: flex; align-items: flex-start; gap: 8px; font-size: 14px; line-height: 20px; color: var(--v2-text-muted); }
.v2-facts svg { flex: none; margin-top: 3px; color: var(--v2-text-subtle); }
html body .facts { margin-top: 0; color: var(--v2-text-muted); font-size: 14px; }
html body .facts svg { color: var(--v2-text-subtle); }
.v2-tool-note { margin: 12px 4px 0; font-size: 13px; line-height: 19px; color: var(--v2-text-subtle); }

html body .tool-card { background: var(--v2-panel); border: 1px solid var(--v2-surface-lighter); border-radius: 16px; padding: 12px; box-shadow: none; backdrop-filter: none; }
@media (min-width: 768px) { html body .tool-card { padding: 20px; } }
html body .dropzone { border: 2px dashed var(--v2-border-strong); border-radius: 14px; background: var(--v2-surface); padding: 24px 16px; text-align: center; cursor: pointer; transition: border-color 0.15s ease; }
@media (min-width: 768px) { html body .dropzone { padding: 40px 24px; } }
html body .dropzone:hover, html body .dropzone.drag-active { border-color: var(--v2-brand); background: var(--v2-surface); }
html body .dz-icon { width: 48px; height: 48px; margin: 0 auto 12px; border-radius: 12px; background: var(--v2-surface-light); color: var(--v2-text-muted); display: flex; align-items: center; justify-content: center; }
html body .dz-button { display: inline-flex; align-items: center; justify-content: center; min-height: 48px; padding: 10px 22px; border-radius: 12px; background: var(--v2-brand); color: #FFFFFF; font-weight: 600; font-size: 15px; line-height: 20px; max-width: 100%; overflow-wrap: break-word; }
html body .dropzone:hover .dz-button { background: var(--v2-brand-hover); }
html body .dz-or { margin-top: 10px; color: var(--v2-text-muted); font-size: 14px; }
html body .dz-limits { margin-top: 12px; color: var(--v2-text-subtle); font-size: 13px; line-height: 19px; }
html body .progress-bar { background: var(--v2-surface-light); }
html body .progress-fill { background: var(--v2-brand); }
html body .gr-privacy { color: var(--v2-text-subtle); }

/* Exemple, dessiné comme l'onglet Transcription */
.v2-section { position: relative; z-index: 1; padding: 48px var(--v2-gutter); }
@media (min-width: 768px) { .v2-section { padding: 64px var(--v2-gutter); } }
.v2-section-inner { max-width: 1040px; margin: 0 auto; }
.v2-section h2 { margin: 0 0 12px; font-size: 24px; line-height: 32px; font-weight: 600; color: var(--v2-text); }
@media (min-width: 640px) { .v2-section h2 { font-size: 30px; line-height: 38px; } }
.v2-section .v2-section-lead { margin: 0 0 20px; max-width: 720px; font-size: 16px; line-height: 26px; color: var(--v2-text-muted); }
.v2-sample { background: var(--v2-panel); border: 1px solid var(--v2-surface-lighter); border-radius: 16px; padding: 8px 12px 12px; }
@media (min-width: 640px) { .v2-sample { padding: 12px 20px 16px; } }
.v2-sample-head { display: flex; justify-content: space-between; align-items: center; gap: 12px; padding: 6px 4px 10px; border-bottom: 1px solid var(--v2-surface-light); font-size: 13px; color: var(--v2-text-subtle); }
.v2-sample-head strong { color: var(--v2-text-muted); font-weight: 500; font-size: 14px; }
.v2-sample-note { margin: 12px 2px 0; font-size: 13px; line-height: 19px; color: var(--v2-text-subtle); }

/* Encart « Gardez ce texte » : ouvert au moment de copier ou télécharger */
html body .gr-keep { margin: 0 0 14px; padding: 16px; border-radius: 14px; background: var(--v2-surface); border: 1px solid var(--v2-surface-lighter); display: flex; flex-direction: column; align-items: flex-start; gap: 10px; }
html body .gr-keep.hidden, html body #outil .gr-keep.hidden { display: none !important; }
.gr-keep:focus { outline: none; }
.gr-keep-title { margin: 0; font-size: 17px; line-height: 24px; font-weight: 600; color: var(--v2-text); }
.gr-keep-text { margin: 0; font-size: 14px; line-height: 21px; color: var(--v2-text-muted); }
.gr-keep-text strong { color: var(--v2-text); font-weight: 600; }
.gr-keep .v2-btn { width: 100%; }
@media (min-width: 640px) { .gr-keep .v2-btn { width: auto; } }
.gr-keep-mission { font-size: 14px; line-height: 20px; color: var(--v2-link); text-decoration: underline; text-underline-offset: 3px; }

/* Résultat de l'outil : horodatages au format horloge, intervenant au-dessus du texte */
html body #transcript-body .utterance { white-space: normal; display: grid; grid-template-columns: auto minmax(0, 1fr); column-gap: 8px; margin-bottom: 14px; }
html body #transcript-body .utterance > .utterance-speaker { grid-column: 1; grid-row: 1; margin: 0; color: var(--v2-text); font-size: 13px; font-weight: 600; }
html body #transcript-body .utterance > .utterance-time { grid-column: 2; grid-row: 1; margin: 0; align-self: center; color: var(--v2-link); font-size: 12px; font-weight: 500; font-variant-numeric: tabular-nums; }
html body #transcript-body .utterance > span:nth-child(2) { grid-column: 1 / -1; grid-row: 2; }
html body .gr-head-dot { background: var(--v2-text-subtle); }
html body .gr-cr { border-color: var(--v2-surface-lighter); }
html body .gr-cr-status { text-transform: none; letter-spacing: 0; color: var(--v2-text-muted); font-weight: 600; }

/* Sections éditoriales, cartes compte et FAQ */
html body .export-card { background: var(--v2-surface); border: 1px solid var(--v2-surface-light); box-shadow: none; }
html body .export-card:hover { background: var(--v2-surface); border-color: var(--v2-surface-lighter); transform: none; }
html body .export-card .lock { background: var(--v2-surface-light); }
html body .export-card .ico { color: var(--v2-text-muted); }
html body .export-card .tier { background: var(--v2-surface-light); color: var(--v2-text-muted); }
html body .definition, html body .v2-definition { background: var(--v2-surface); border: 1px solid var(--v2-surface-light); border-left: 3px solid var(--v2-surface-lighter); border-radius: 0 12px 12px 0; padding: 18px 20px; margin-bottom: 40px; }
html body .steps li::before { background: var(--v2-surface-light); color: var(--v2-text); }
html body .prose a, html body .lead a, html body .prose-content a, html body .faq-tool .faq-body a { color: var(--v2-link) !important; text-decoration: underline; text-underline-offset: 3px; }
html body .btn-primary { background: var(--v2-brand); border-radius: 12px; min-height: 48px; }
html body .btn-primary:hover { background: var(--v2-brand-hover); transform: none; }
html body .btn-ghost { background: transparent; border: 1px solid var(--v2-border-strong); border-radius: 12px; min-height: 48px; }
html body .btn-ghost:hover { background: var(--v2-surface-light); }
html body .faq-tool details { background: var(--v2-surface); border: 1px solid var(--v2-surface-light); border-radius: 12px; }
html body .faq-tool details[open] { background: var(--v2-surface); border-color: var(--v2-surface-lighter); }
html body .faq-tool summary::after { color: var(--v2-text-muted); }
