/* ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━
   theme-v3.css — global dark-editorial theme
   Loaded from base.html AFTER each page's own CSS.
   Overrides palette tokens + body + typography across the app.
   ━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━ */

:root{
  --bg-primary:#0A0907;
  --bg-secondary:#110F0A;
  --bg-card:#18150F;
  --bg-input:#1F1B14;
  --border-color:#2A251B;
  --border:#2A251B;
  --border-focus:#d97757;
  --text-primary:#F0EBE0;
  --text-secondary:#C2BCA9;
  --text-muted:#8A8270;
  --accent:#d97757;
  --accent-hover:#e8895f;
  --accent-glow:rgba(217,119,87,0.18);
  --success:#22c55e;
  --warning:#FFB627;
  --error:#FF5630;
  --gradient-1:linear-gradient(135deg, #d97757 0%, #c4623f 100%);
  --gradient-2:linear-gradient(135deg, #110F0A 0%, #0A0907 100%);
  --surface-soft:rgba(24,21,15,0.85);
  --surface-mid:rgba(24,21,15,0.92);
  --surface-strong:#18150F;
  --shadow-soft:rgba(0,0,0,0.28);
  --shadow-strong:rgba(0,0,0,0.48);

  /* tracker-specific status colors — re-cast for dark */
  --status-drafted:#6B6452;
  --status-sent:#5DD3FF;
  --status-waiting:#FFB627;
  --status-replied:#C4FF3D;
  --status-interview:#d486ff;
  --status-offer:#FF5630;
  --status-rejected:#9c5050;
  --status-archived:#454338;

  /* shared v3 tokens */
  --v3-acid:#C4FF3D;
  --v3-acid-deep:#94C300;
  --v3-line-soft:#1C1A14;
  --v3-mute:#454338;
  --v3-ice:#3AB9F0;
  --v3-fire:#FF5630;
  --v3-warm:#FFB627;

  /* ── aliases for pages that use shorter token names ──
     vakansii-hub.css, press-kit.css, blog-hub.css, trust-page.css,
     recruiters-hub.css inherit the «blue-teal palette» from their own
     :root using these short names; we redefine them dark. */
  --bg:#0A0907;
  --card:#18150F;
  --text:#F0EBE0;
  --muted:#8A8270;
  --line:#2A251B;
  --accent-soft:#1F1B14;
}

/* ━━━━━━━━━━━━━━━ BODY (override hardcoded backgrounds) ━━━━━━━━━━━━━━━ */
html,body{
  background:var(--bg-primary) !important;
  color:var(--text-primary) !important;
}
body{
  font-family:'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', 'Helvetica Neue', sans-serif !important;
  -webkit-font-smoothing:antialiased;
  letter-spacing:-0.005em;
  position:relative;
}

/* grain overlay — applied to every page */
body::before{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:1000;
  opacity:0.32;mix-blend-mode:overlay;
  background-image:url("data:image/svg+xml;utf8,<svg viewBox='0 0 220 220' xmlns='http://www.w3.org/2000/svg'><filter id='n'><feTurbulence type='fractalNoise' baseFrequency='0.9' numOctaves='2' stitchTiles='stitch'/><feColorMatrix values='0 0 0 0 0.92  0 0 0 0 0.85  0 0 0 0 0.65  0 0 0 0.42 0'/></filter><rect width='100%25' height='100%25' filter='url(%23n)'/></svg>");
  background-size:220px 220px;
}

body::after{
  content:"";position:fixed;inset:0;pointer-events:none;z-index:0;
  background:
    radial-gradient(700px circle at 88% 8%, rgba(196,255,61,0.04), transparent 50%),
    radial-gradient(800px circle at 0% 40%, rgba(217,119,87,0.05), transparent 55%),
    radial-gradient(700px circle at 50% 110%, rgba(58,185,240,0.03), transparent 50%);
}

main, .container, .page, .onb-shell{position:relative;z-index:1}

/* ━━━━━━━━━━━━━━━ TYPOGRAPHY ━━━━━━━━━━━━━━━ */

h1, h2{
  color:var(--text-primary);
}

/* Editorial display for hero-style headlines on simple pages.
   Pages with custom h1/h2 styles will override via their own rules. */
.page-h1,
main > h1,
main > section > h1,
main > section.hero h1,
main > section.card h1{
  font-family:'Instrument Serif', 'EB Garamond', Georgia, serif;
  font-weight:400;
  letter-spacing:-0.025em;
  line-height:1.05;
}

.eyebrow,
.breadcrumb,
.section-lead small,
.kicker{
  font-family:'JetBrains Mono', monospace;
  letter-spacing:0.16em;
  text-transform:uppercase;
  font-size:11px;
  color:var(--text-muted);
}

/* ━━━━━━━━━━━━━━━ COMMON SURFACES ━━━━━━━━━━━━━━━ */

/* Generic .card class used on many pages */
.card{
  background:var(--bg-card) !important;
  border:1px solid var(--border-color) !important;
  border-radius:4px !important;
  box-shadow:none !important;
  color:var(--text-primary);
}
.card h2,.card h3{color:var(--text-primary)}

/* form controls — apply to ALL pages */
input[type="text"],
input[type="number"],
input[type="url"],
input[type="email"],
input[type="date"],
input[type="search"],
input[type="tel"],
input[type="password"],
textarea,
select{
  background:var(--bg-input) !important;
  border:1px solid var(--border-color) !important;
  color:var(--text-primary) !important;
  border-radius:4px;
  font-family:inherit;
}
input::placeholder,textarea::placeholder{color:var(--text-muted) !important}
input:focus,textarea:focus,select:focus{
  outline:none;
  border-color:var(--accent) !important;
}
label{
  color:var(--text-secondary);
}

/* ━━━━━━━━━━━━━━━ COMMON CONTROLS ACROSS PAGES ━━━━━━━━━━━━━━━ */

/* lang toggle — used on index, recruiters, etc. */
.lang-toggle{
  background:var(--bg-secondary) !important;
  border-color:var(--border-color) !important;
  border-radius:0 !important;
}
.lang-toggle-btn{
  color:var(--text-muted) !important;
  font-family:'JetBrains Mono', monospace !important;
  border-radius:0 !important;
}
.lang-toggle-btn:hover{
  color:var(--text-primary) !important;
  background:var(--bg-card) !important;
  border-color:transparent !important;
}
.lang-toggle-btn.active{
  background:var(--v3-acid) !important;
  color:var(--bg-primary) !important;
  border-color:var(--v3-acid) !important;
}

.btn-auth{
  font-family:'JetBrains Mono', monospace !important;
  font-size:11px !important;letter-spacing:0.1em !important;text-transform:uppercase !important;
  background:var(--bg-secondary) !important;color:var(--text-primary) !important;
  border:1px solid var(--border-color) !important;
  border-radius:0 !important;
}
.btn-auth:hover{
  border-color:var(--v3-acid) !important;color:var(--v3-acid) !important;
  background:var(--bg-card) !important;
}
.btn-auth.telegram{border-color:var(--v3-ice) !important;color:var(--v3-ice) !important}
.btn-auth.telegram:hover{background:var(--v3-ice) !important;color:var(--bg-primary) !important}

.back-link{
  font-family:'JetBrains Mono', monospace;
  letter-spacing:0.1em;font-size:11px;text-transform:uppercase;
  color:var(--text-muted);text-decoration:none;
}
.back-link:hover{color:var(--v3-acid)}

/* primary button look on any page with .btn or .btn-primary */
.btn-primary, button.btn.btn-primary, a.btn.btn-primary{
  background:var(--accent) !important;
  color:#fff !important;
  border:1px solid var(--accent) !important;
  border-radius:4px;
}
.btn-secondary{
  background:transparent;
  color:var(--text-primary);
  border:1px solid var(--border-color);
}

/* tables */
table{color:var(--text-primary)}
table th{
  background:var(--bg-secondary);
  color:var(--text-muted);
  font-family:'JetBrains Mono', monospace;
  font-weight:500;
  letter-spacing:0.12em;
  text-transform:uppercase;
  font-size:11px;
  border-bottom:1px solid var(--border-color);
}
table td{
  background:transparent;
  border-bottom:1px solid var(--border-color);
}

/* modals (tracker, etc.) */
.modal-overlay{background:rgba(8,7,5,0.78) !important;backdrop-filter:blur(6px)}
.modal{
  background:var(--bg-card) !important;
  border:1px solid var(--border-color) !important;
  color:var(--text-primary);
}
.modal h2,.modal h3{color:var(--text-primary)}

/* toasts already styled by ui_dialogs partial — dark themed by default */

/* page-level hero / breadcrumb / lead text */
.breadcrumb a{color:var(--text-muted);text-decoration:none}
.breadcrumb a:hover{color:var(--v3-acid)}

/* ━━━━━━━━━━━━━━━ ACCESSIBILITY ━━━━━━━━━━━━━━━ */

@media (prefers-reduced-motion: reduce){
  body::before,body::after{animation:none}
}

/* ━━━━━━━━━━━━━━━ PAGE SUBCOMPONENTS — hardcoded light bg overrides ━━━━━━━━━━━━━━━
   vakansii_hub / blog_hub / press_kit / trust_page have nested cards/boxes/
   share-buttons with hardcoded #fbfdff / #f8fafc / light gradients. Force dark. */

.category-card,
.box,
.pitch .box,
.share-button,
.link-card,
.nav-button,
.topic,
.keyword-col,
.model-item,
.calendar-week,
.calendar-slot,
.kpi-list,
.kpi-list li,
.plan-row,
.plan-day,
.tag-list .tag,
.event-card,
.feature-card{
  background:var(--bg-input) !important;
  color:var(--text-primary) !important;
  border-color:var(--border-color) !important;
}

.share-button,
.link-card,
.nav-button{
  border:1px solid var(--border-color) !important;
  background:var(--bg-input) !important;
  color:var(--text-primary) !important;
}
.share-button strong,
.link-card strong,
.nav-button strong{color:var(--text-primary) !important}
.share-button small,
.link-card small,
.nav-button small{color:var(--text-muted) !important}
.share-button:hover,
.link-card:hover,
.nav-button:hover,
.category-card:hover{
  border-color:var(--v3-acid) !important;
  background:var(--bg-card) !important;
  box-shadow:none !important;
}

/* stage-tag badges in blog (--tofu/mofu/bofu) — keep semantic, just adjust intensity */
.stage-tag,
.stage-tag--tofu,
.stage-tag--mofu,
.stage-tag--bofu{
  background:var(--bg-secondary) !important;
  color:var(--text-secondary) !important;
  border:1px solid var(--border-color) !important;
}
.stage-tag--tofu{color:var(--v3-ice) !important;border-color:var(--v3-ice) !important}
.stage-tag--mofu{color:var(--v3-warm) !important;border-color:var(--v3-warm) !important}
.stage-tag--bofu{color:var(--v3-acid) !important;border-color:var(--v3-acid) !important}

/* recruiters-hub: kicker pill with hardcoded teal */
.kicker{
  background:var(--bg-secondary) !important;
  color:var(--v3-acid) !important;
  font-family:'JetBrains Mono', monospace !important;
  letter-spacing:0.18em !important;
  text-transform:uppercase !important;
  font-size:10.5px !important;
  font-weight:500 !important;
  border:1px solid var(--border-color);
  padding:6px 11px !important;
  border-radius:0 !important;
}

/* recruiters-hub:  hero h1 — make editorial */
.hero h1{
  font-family:'Instrument Serif', 'EB Garamond', Georgia, serif !important;
  font-weight:400;
  letter-spacing:-0.025em;
}

/* vakansii preview boxes — Step 2 of index, and on vakansii pages
   (index.css ~2657 .vacancy-text-wrap has white→light-blue gradient
    that blows out on dark; toggle button is white-with-green-border) */
.vacancy-text-wrap,
.vacancy-text-preview,
.vacancy-text-full{
  background:var(--bg-input) !important;
  border:1px solid var(--border-color) !important;
  box-shadow:none !important;
  color:var(--text-primary) !important;
}
.vacancy-text,
.vacancy-text-wrap p,
.vacancy-text-wrap li,
.vacancy-text-wrap span,
.vacancy-text-wrap strong,
.vacancy-text-wrap a{color:var(--text-primary) !important}
.vacancy-text-wrap .label,
.vacancy-text-wrap b{color:var(--v3-acid) !important}

.vacancy-toggle-text{
  background:var(--bg-secondary) !important;
  color:var(--text-primary) !important;
  border-color:var(--border-color) !important;
  font-family:'JetBrains Mono', monospace !important;
  letter-spacing:0.06em !important;
  font-size:11px !important;
  text-transform:uppercase !important;
}
.vacancy-toggle-text:hover{
  background:var(--bg-card) !important;
  border-color:var(--v3-acid) !important;
  color:var(--v3-acid) !important;
}

.vacancy-link-result.success{
  background:rgba(196,255,61,0.10) !important;
  border-color:var(--v3-acid) !important;
  color:var(--text-primary) !important;
}
.vacancy-link-result.error{
  background:rgba(255,86,48,0.10) !important;
  border-color:var(--v3-fire) !important;
  color:var(--text-primary) !important;
}

/* vacancy chips (role/type) — index Step 2 list */
.vacancy-chip{
  background:var(--bg-secondary) !important;
  border:1px solid var(--border-color) !important;
  color:var(--text-secondary) !important;
}
.vacancy-chip.role{color:var(--v3-acid) !important;border-color:var(--v3-acid) !important;background:transparent !important}
.vacancy-chip.type{color:var(--v3-ice) !important;border-color:var(--v3-ice) !important;background:transparent !important}

.vacancy-item{background:transparent !important;border-color:var(--border-color) !important}
.vacancy-item:hover{background:var(--bg-secondary) !important}
.vacancy-item.selected{
  background:rgba(217,119,87,0.08) !important;
  border-color:var(--accent) !important;
}

/* ━━━━━━━━━━━━━━━━━━ APP PAGES — match index §01/§03 mockup look ━━━━━━━━━━━━━━━━━━
   tracker / autopilot / history / settings share .stats/.stat/.filter-tab/
   .app-card/.status-badge/.section conventions. Rewrite them to the
   editorial mock-style: serif numbers, mono labels, boxy filter tabs with
   acid green underline, dark cards with status pills like the index mock. */

/* ── stats grid (tracker.css/.stats, autopilot.css/.stats, history) ── */
.stats{
  display:grid;gap:0 !important;
  border:1px solid var(--border-color);
  margin-bottom:32px;
}
.stats > .stat,
.stats > .stat-card{
  background:var(--bg-card) !important;
  border:none !important;
  border-right:1px solid var(--border-color) !important;
  border-radius:0 !important;
  padding:22px 24px !important;
  text-align:left !important;
}
.stats > .stat:last-child,
.stats > .stat-card:last-child{border-right:none !important}

.stat-value,
.stat-card .stat-value{
  font-family:'Instrument Serif', 'EB Garamond', Georgia, serif !important;
  font-size:42px !important;
  line-height:1 !important;
  letter-spacing:-0.025em !important;
  font-weight:400 !important;
  /* kill webkit gradient text — show as solid */
  background:none !important;
  -webkit-text-fill-color:var(--text-primary) !important;
  -webkit-background-clip:initial !important;
  background-clip:initial !important;
  color:var(--text-primary) !important;
  margin-bottom:6px !important;
}
.stat-value.accent,
.stat-value.success{color:var(--v3-acid) !important;-webkit-text-fill-color:var(--v3-acid) !important}
.stat-value.warning{color:var(--v3-warm) !important;-webkit-text-fill-color:var(--v3-warm) !important}

.stat-label{
  font-family:'JetBrains Mono', monospace !important;
  font-size:10px !important;
  letter-spacing:0.16em !important;
  text-transform:uppercase !important;
  color:var(--text-muted) !important;
  margin-top:0 !important;
}

/* ── tracker insights / scoreboard panel ── */
.insights{
  background:var(--bg-card) !important;
  border:1px solid var(--border-color) !important;
  border-radius:0 !important;
  padding:24px !important;
}
.insights-head h2{
  font-family:'Instrument Serif', 'EB Garamond', Georgia, serif !important;
  font-size:24px !important;
  font-weight:400 !important;
  letter-spacing:-0.018em !important;
  color:var(--text-primary) !important;
}
.insights-head p{
  font-family:'JetBrains Mono', monospace !important;
  font-size:11px !important;
  color:var(--text-muted) !important;
}
.insight-card{
  background:var(--bg-input) !important;
  border:1px solid var(--border-color) !important;
  border-radius:0 !important;
}
.insight-card-title{
  font-family:'Instrument Serif', 'EB Garamond', Georgia, serif !important;
  font-size:20px !important;font-weight:400 !important;letter-spacing:-0.015em !important;
  color:var(--text-primary) !important;
}
.insight-card-subtitle{
  font-family:'JetBrains Mono', monospace !important;
  font-size:10px !important;letter-spacing:0.12em !important;text-transform:uppercase !important;
  color:var(--text-muted) !important;
}
.insight-chip{
  background:var(--bg-secondary) !important;
  border:1px solid var(--border-color) !important;
  color:var(--text-secondary) !important;
  border-radius:0 !important;
  font-family:'JetBrains Mono', monospace !important;
  font-size:10.5px !important;
  letter-spacing:0.04em !important;
  padding:4px 9px !important;
}
.insight-chip:first-child:not(.muted){
  background:rgba(196,255,61,0.10) !important;
  border-color:var(--v3-acid) !important;
  color:var(--v3-acid) !important;
}

/* ── filter tabs (tracker) → boxy editorial ── */
.filter-tabs{
  display:flex !important;
  gap:0 !important;
  padding:0 !important;
  border:1px solid var(--border-color);
  background:var(--bg-secondary);
  overflow-x:auto;margin-bottom:24px;
}
.filter-tab{
  padding:11px 16px !important;
  border:none !important;
  border-radius:0 !important;
  background:transparent !important;
  color:var(--text-muted) !important;
  font-family:'JetBrains Mono', monospace !important;
  font-size:11px !important;
  letter-spacing:0.12em !important;
  text-transform:uppercase !important;
  border-right:1px solid var(--border-color) !important;
  border-bottom:2px solid transparent !important;
}
.filter-tab:last-child{border-right:none !important}
.filter-tab:hover{
  color:var(--text-primary) !important;
  background:var(--bg-card) !important;
  border-color:transparent var(--border-color) !important;
}
.filter-tab.active{
  background:var(--bg-card) !important;
  color:var(--text-primary) !important;
  border-bottom-color:var(--v3-acid) !important;
}
.filter-tab .count{
  margin-left:6px !important;
  padding:0 !important;
  background:transparent !important;
  color:var(--text-muted) !important;
  border-radius:0 !important;
}
.filter-tab.active .count{color:var(--v3-acid) !important}

/* ── application cards (tracker) → mock-style grid rows ── */
.app-list{gap:0 !important;border:1px solid var(--border-color)}
.app-card{
  background:transparent !important;
  border:none !important;
  border-bottom:1px solid var(--v3-line-soft) !important;
  border-radius:0 !important;
  padding:16px 20px !important;
  transition:background .2s !important;
}
.app-card:last-child{border-bottom:none !important}
.app-card:hover{background:var(--bg-secondary) !important;border-color:var(--v3-line-soft) !important}
.app-card.needs-followup{
  border-left:3px solid var(--v3-warm) !important;
  padding-left:17px !important;
}
.app-card-title{
  font-family:'Inter', sans-serif !important;
  font-size:14px !important;font-weight:600 !important;
  color:var(--text-primary) !important;
}
.app-card-meta{
  font-family:'JetBrains Mono', monospace !important;
  font-size:11px !important;color:var(--text-muted) !important;
  letter-spacing:0.04em !important;
}
.app-template-chip{
  background:var(--bg-secondary) !important;
  border:1px solid var(--border-color) !important;
  color:var(--text-secondary) !important;
  border-radius:0 !important;
  font-family:'JetBrains Mono', monospace !important;
  font-size:10px !important;
  letter-spacing:0.08em !important;
  padding:3px 7px !important;
}

/* ── status badges → mock-style colored pills ── */
.status-badge{
  font-family:'JetBrains Mono', monospace !important;
  font-size:9px !important;
  letter-spacing:0.14em !important;
  text-transform:uppercase !important;
  padding:4px 8px !important;
  border-radius:0 !important;
  font-weight:600 !important;
  border:none !important;
}
.status-badge[data-status="drafted"]{background:var(--bg-secondary) !important;color:var(--text-muted) !important}
.status-badge[data-status="sent"]{background:#1a2638 !important;color:var(--v3-ice) !important}
.status-badge[data-status="waiting"]{background:#332715 !important;color:var(--v3-warm) !important}
.status-badge[data-status="replied"]{background:var(--v3-acid) !important;color:var(--bg-primary) !important;font-weight:700 !important}
.status-badge[data-status="interview"]{background:#2c1b3a !important;color:#d486ff !important}
.status-badge[data-status="offer"]{background:var(--v3-fire) !important;color:var(--bg-primary) !important;font-weight:700 !important}
.status-badge[data-status="rejected"]{background:#2a1818 !important;color:#9c5050 !important}
.status-badge[data-status="archived"]{background:var(--bg-input) !important;color:var(--text-muted) !important}

/* ── autopilot specific ── */
.section-title{
  font-family:'JetBrains Mono', monospace !important;
  font-size:11px !important;letter-spacing:0.16em !important;text-transform:uppercase !important;
  color:var(--text-muted) !important;margin-bottom:18px !important;
}
.session-warning{
  background:rgba(255,182,39,0.06) !important;
  border:1px solid var(--v3-warm) !important;
  color:var(--text-primary) !important;
  border-radius:0 !important;
  font-family:'JetBrains Mono', monospace !important;
  font-size:12px !important;
  letter-spacing:0.04em !important;
}
.session-warning a{color:var(--v3-warm) !important;font-weight:600 !important}
.sub-card{
  background:var(--bg-card) !important;
  border:1px solid var(--border-color) !important;
  border-radius:0 !important;
}
.sub-type{
  font-family:'Instrument Serif', 'EB Garamond', Georgia, serif !important;
  font-size:18px !important;font-weight:400 !important;letter-spacing:-0.015em !important;
}
.sub-meta{
  font-family:'JetBrains Mono', monospace !important;
  font-size:10.5px !important;letter-spacing:0.04em !important;color:var(--text-muted) !important;
}
.sub-toggle{background:var(--border-color) !important}
.sub-toggle.active{background:var(--v3-acid) !important}
.sub-toggle::after{background:var(--text-primary) !important}
.sub-toggle.active::after{background:var(--bg-primary) !important}
.sub-count{
  background:var(--bg-secondary) !important;color:var(--text-muted) !important;
  border:1px solid var(--border-color) !important;border-radius:0 !important;
  font-family:'JetBrains Mono', monospace !important;font-size:10px !important;
}

.add-form{
  background:var(--bg-card) !important;
  border:1px solid var(--border-color) !important;
  border-radius:0 !important;
}
.add-form h2{
  font-family:'Instrument Serif', 'EB Garamond', Georgia, serif !important;
  font-size:22px !important;font-weight:400 !important;letter-spacing:-0.02em !important;
  color:var(--text-primary) !important;
}
.form-hint{
  font-family:'JetBrains Mono', monospace !important;font-size:11px !important;
  color:var(--text-muted) !important;letter-spacing:0.04em !important;
}
.consent-row{
  border-top:1px dashed var(--border-color) !important;
  font-family:'JetBrains Mono', monospace !important;font-size:11px !important;
  color:var(--text-secondary) !important;
}

.queue-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--border-color)}
.queue-list > *{border-bottom:1px solid var(--v3-line-soft)}
.queue-list > *:last-child{border-bottom:none}

.recent-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--border-color)}
.recent-list > *{
  background:transparent !important;
  border:none !important;
  border-bottom:1px solid var(--v3-line-soft) !important;
  padding:14px 18px !important;
  border-radius:0 !important;
}
.recent-list > *:last-child{border-bottom:none !important}

/* ── settings sections ── */
.section{
  background:var(--bg-card) !important;
  border:1px solid var(--border-color) !important;
  border-radius:0 !important;
}
.section-header .section-title{
  font-family:'Instrument Serif', 'EB Garamond', Georgia, serif !important;
  font-size:22px !important;font-weight:400 !important;
  text-transform:none !important;letter-spacing:-0.015em !important;
  color:var(--text-primary) !important;
}

/* ── back-link in app pages ── */
.back-link{
  color:var(--text-muted) !important;
  text-decoration:none !important;
  font-family:'JetBrains Mono', monospace !important;
  font-size:11px !important;
  letter-spacing:0.12em !important;
  text-transform:uppercase !important;
}
.back-link:hover{color:var(--v3-acid) !important}

/* btn-primary on auth pages uses --gradient-1 — neutralize */
.btn-primary{
  background:var(--accent) !important;
  background-image:none !important;
  color:#fff !important;
  border:1px solid var(--accent) !important;
  border-radius:4px !important;
}
.btn-primary:hover{
  background:var(--accent-hover) !important;
  box-shadow:none !important;
  transform:none !important;
}
.btn-secondary{
  background:transparent !important;
  color:var(--text-primary) !important;
  border:1px solid var(--border-color) !important;
  border-radius:4px !important;
}
.btn-secondary:hover{
  border-color:var(--v3-acid) !important;
  color:var(--v3-acid) !important;
}
.btn-danger{
  background:rgba(255,86,48,0.10) !important;
  color:var(--v3-fire) !important;
  border:1px solid transparent !important;
  border-radius:4px !important;
}
.btn-danger:hover{border-color:var(--v3-fire) !important}

/* header .h1 on app pages → editorial serif */
main > .header h1,
.container > .header h1{
  font-family:'Instrument Serif', 'EB Garamond', Georgia, serif !important;
  font-weight:400 !important;
  font-size:clamp(28px, 3.4vw, 44px) !important;
  letter-spacing:-0.025em !important;
  line-height:1 !important;
}

/* selection */
::selection{background:var(--v3-acid);color:var(--bg-primary)}
::-moz-selection{background:var(--v3-acid);color:var(--bg-primary)}

/* scrollbar */
::-webkit-scrollbar{width:10px;height:10px}
::-webkit-scrollbar-track{background:var(--bg-secondary)}
::-webkit-scrollbar-thumb{background:var(--border-color);border:2px solid var(--bg-secondary)}
::-webkit-scrollbar-thumb:hover{background:var(--v3-mute)}
