/* Valerion brand tokens — dark-first. Sampled from X avatar/banner + AA-tuned.
 * Source art: brand/x/avatar.jpg, brand/x/banner.jpg
 * Visual: black marble, sapphire→amethyst faceted V, chrome lettering, diamond tip.
 *
 * WCAG 2.2 AA contrast ratios (≥4.5:1 for normal text):
 * diamond on obsidian: 18.43:1 (PASS)
 * chrome on obsidian: 12.29:1 (PASS)
 * muted on obsidian: 7.74:1 (PASS)
 * chrome-dim on obsidian: 6.88:1 (PASS)
 * diamond on graphite: 17.09:1 (PASS)
 * chrome on graphite: 11.39:1 (PASS)
 * muted on graphite: 7.17:1 (PASS)
 * diamond on sapphire: 6.18:1 (PASS)
 * diamond on amethyst: 4.65:1 (PASS)
 * obsidian on diamond: 18.43:1 (PASS)
 * sapphire on obsidian (large/UI only): 2.98:1 (FAIL)
 * amethyst on obsidian (large/UI only): 3.96:1 (PASS-large)
 * diamond on sapphire-btn: 6.18:1
 * diamond on amethyst-btn: 4.65:1
 * diamond on graphite: 17.09:1
 * chrome on surface-2: 10.48:1
 */

:root {
  /* Core surfaces */
  --v-obsidian: #0A0A0F;
  --v-graphite: #14141C;
  --v-surface: #1C1C28;
  --v-border: #2A2A3A;

  /* Jewel accents */
  --v-sapphire: #3047E6;
  --v-sapphire-btn: #3047E6;
  --v-amethyst: #8B3DFF;
  --v-amethyst-btn: #8B3DFF;
  --v-gradient: linear-gradient(135deg, var(--v-sapphire-btn) 0%, var(--v-amethyst-btn) 100%);
  --v-gradient-soft: linear-gradient(135deg, color-mix(in srgb, var(--v-sapphire) 70%, transparent), color-mix(in srgb, var(--v-amethyst) 70%, transparent));

  /* Type colors */
  --v-diamond: #F5F7FC;
  --v-chrome: #C8CCD6;
  --v-muted: #9CA2B2;
  --v-chrome-dim: #9498A8;

  /* Semantic aliases */
  --v-bg: var(--v-obsidian);
  --v-fg: var(--v-diamond);
  --v-fg-muted: var(--v-muted);
  --v-primary: var(--v-sapphire);
  --v-accent: var(--v-amethyst);
  --v-focus: var(--v-amethyst);
  --v-ring: 0 0 0 3px color-mix(in srgb, var(--v-amethyst) 55%, transparent);

  /* Fonts (self-hosted) */
  --font-heading: "Saira Semi Condensed", "SairaSemiCondensed", ui-sans-serif, sans-serif;
  --font-sans: "Manrope", ui-sans-serif, sans-serif;
  --font-mono: "JetBrains Mono", ui-monospace, monospace;

  /* Spacing scale (4px base) */
  --v-space-1: 0.25rem;
  --v-space-2: 0.5rem;
  --v-space-3: 0.75rem;
  --v-space-4: 1rem;
  --v-space-5: 1.25rem;
  --v-space-6: 1.5rem;
  --v-space-8: 2rem;
  --v-space-10: 2.5rem;
  --v-space-12: 3rem;

  /* Radius + motion */
  --v-radius-sm: 0.5rem;
  --v-radius: 0.75rem;
  --v-radius-lg: 1rem;
  --v-radius-xl: 1.25rem;
  --v-ease: cubic-bezier(0.22, 1, 0.36, 1);
  --v-duration: 180ms;

  /* Shadows */
  --v-shadow: 0 12px 40px rgba(0,0,0,.45);
  --v-glow-sapphire: 0 8px 28px color-mix(in srgb, var(--v-sapphire) 35%, transparent);
  --v-glow-amethyst: 0 8px 28px color-mix(in srgb, var(--v-amethyst) 30%, transparent);
}

@media (prefers-reduced-motion: reduce) {
  :root {
    --v-duration: 0ms;
  }
}


/* Valerion brand layer — injected after SPA CSS. Dark-first. */

/* One file per family — avoids late bold/medium fetches that shift layout */
@font-face {
  font-family: "Saira Semi Condensed";
  src: url("/brand/fonts/saira-sc-semibold.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  size-adjust: 100%;
  ascent-override: 90%;
  descent-override: 22%;
  line-gap-override: 0%;
  unicode-range: U+0020-007E, U+00A0-00FF, U+2010-203A, U+20AC, U+2212;
}
@font-face {
  font-family: "Manrope";
  src: url("/brand/fonts/manrope-regular.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  size-adjust: 102%;
  ascent-override: 92%;
  descent-override: 24%;
  line-gap-override: 0%;
  unicode-range: U+0020-007E, U+00A0-00FF, U+2010-203A, U+20AC, U+2212;
}
@font-face {
  font-family: "JetBrains Mono";
  src: url("/brand/fonts/jetbrains-mono-regular.woff2") format("woff2");
  font-weight: 100 900;
  font-style: normal;
  font-display: swap;
  size-adjust: 100%;
  ascent-override: 88%;
  descent-override: 22%;
  line-gap-override: 0%;
  unicode-range: U+0020-007E, U+00A0-00FF, U+2010-203A, U+20AC, U+2212;
}

/* Force brand fonts (override Tailwind font-sans / Inter defaults) */
html, body, .font-sans {
  font-family: var(--font-sans) !important;
  background-color: var(--v-obsidian) !important;
  color: var(--v-diamond) !important;
}
h1, h2, h3, h4, h5, h6,
.font-black, .font-extrabold, .font-bold,
[class*="tracking-tight"] {
  font-family: var(--font-heading) !important;
  letter-spacing: 0.01em;
}
code, kbd, pre, .font-mono, [class*="font-mono"] {
  font-family: var(--font-mono) !important;
}

/* Surfaces: map slate/white light theme to brand dark */
body,
body.bg-white,
.min-h-screen.bg-white,
.dark\:bg-slate-950,
[class*="bg-white"],
[class*="dark:bg-slate-950"],
[class*="dark:bg-slate-900"],
[class*="bg-slate-950"],
[class*="bg-slate-900"],
[class*="bg-[#060913]"] {
  background-color: var(--v-obsidian) !important;
  color: var(--v-diamond) !important;
}

header.sticky,
header[class*="bg-white"],
header[class*="dark:bg-slate"] {
  background: color-mix(in srgb, var(--v-obsidian) 88%, transparent) !important;
  border-color: var(--v-border) !important;
  backdrop-filter: blur(12px);
}
footer {
  background: var(--v-graphite) !important;
  border-color: var(--v-border) !important;
  color: var(--v-chrome) !important;
}

/* Text */
.text-slate-900, .text-slate-950, .dark\:text-white, .text-white { color: var(--v-diamond) !important; }
.text-slate-700, .text-slate-600, .text-slate-300, .dark\:text-slate-300, .dark\:text-slate-200 { color: var(--v-chrome) !important; }
.text-slate-500, .text-slate-400, .dark\:text-slate-400 { color: var(--v-muted) !important; }

/* Cyan → sapphire/amethyst brand accents */
.text-cyan-400, .text-cyan-300, .dark\:text-cyan-300, .dark\:text-cyan-200,
.text-blue-600, .text-blue-500, .text-blue-400, .dark\:text-blue-400 {
  color: #7EA0FF !important;
}
.border-cyan-500\/40, .border-cyan-800\/60, .border-blue-500\/40,
[class*="border-cyan"], [class*="border-blue-5"], [class*="border-blue-9"] {
  border-color: color-mix(in srgb, var(--v-sapphire) 45%, var(--v-border)) !important;
}
.bg-cyan-950\/60, .bg-cyan-950\/40, .bg-blue-950\/40, .bg-blue-950\/80,
[class*="bg-cyan-950"], [class*="bg-blue-950"] {
  background-color: color-mix(in srgb, var(--v-sapphire) 18%, var(--v-graphite)) !important;
}

/* Gradient text headings */
.bg-gradient-to-r.from-cyan-400,
[class*="from-cyan-400"][class*="bg-clip-text"],
[class*="from-blue-"][class*="bg-clip-text"] {
  background-image: linear-gradient(90deg, #7EA0FF 0%, var(--v-sapphire) 45%, var(--v-amethyst) 100%) !important;
  -webkit-background-clip: text !important;
  background-clip: text !important;
  color: transparent !important;
}

/* ========== COMPONENTS ========== */

/* Primary buttons — sapphire→amethyst gradient + facet sheen */
button.bg-blue-600,
button[class*="bg-blue-600"],
a.bg-blue-600,
a[class*="from-blue-600"],
button[class*="from-blue-600"],
button[class*="from-cyan-500"][class*="to-blue"],
a[class*="from-blue-600"][class*="to-cyan"],
button[class*="from-blue-600"][class*="to-indigo"],
.v-btn-primary {
  position: relative;
  overflow: hidden;
  background-image: var(--v-gradient) !important;
  background-color: var(--v-sapphire-btn) !important;
  color: var(--v-diamond) !important;
  border: 1px solid color-mix(in srgb, var(--v-diamond) 18%, transparent) !important;
  border-radius: var(--v-radius) !important;
  box-shadow: var(--v-glow-sapphire) !important;
  transition: transform var(--v-duration) var(--v-ease), box-shadow var(--v-duration) var(--v-ease), filter var(--v-duration) var(--v-ease) !important;
}
button.bg-blue-600::before,
button[class*="bg-blue-600"]::before,
button[class*="from-cyan-500"][class*="to-blue"]::before,
button[class*="from-blue-600"]::before,
a[class*="from-blue-600"]::before,
.v-btn-primary::before {
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(115deg, transparent 0%, rgba(255,255,255,.22) 42%, transparent 58%);
  transform: translateX(-120%);
  transition: transform 420ms var(--v-ease);
  pointer-events: none;
}
button.bg-blue-600:hover::before,
button[class*="bg-blue-600"]:hover::before,
button[class*="from-cyan-500"]:hover::before,
button[class*="from-blue-600"]:hover::before,
a[class*="from-blue-600"]:hover::before,
.v-btn-primary:hover::before {
  transform: translateX(120%);
}
button.bg-blue-600:hover,
button[class*="bg-blue-600"]:hover,
button[class*="from-cyan-500"]:hover,
button[class*="from-blue-600"]:hover,
a[class*="from-blue-600"]:hover,
.v-btn-primary:hover {
  filter: brightness(1.08);
  box-shadow: var(--v-glow-amethyst) !important;
}
button.bg-blue-600:focus-visible,
button[class*="bg-blue-600"]:focus-visible,
button[class*="from-blue-600"]:focus-visible,
a[class*="from-blue-600"]:focus-visible,
.v-btn-primary:focus-visible,
button:focus-visible,
a:focus-visible,
input:focus-visible,
textarea:focus-visible,
select:focus-visible {
  outline: none !important;
  box-shadow: var(--v-ring) !important;
}

/* Secondary — chrome outline */
button[class*="border-slate"],
button[class*="bg-slate-900"]:not([class*="from-"]),
button[class*="bg-slate-50"],
.v-btn-secondary {
  background: transparent !important;
  color: var(--v-chrome) !important;
  border: 1px solid var(--v-chrome) !important;
  border-radius: var(--v-radius) !important;
  transition: background var(--v-duration) var(--v-ease), border-color var(--v-duration) var(--v-ease), color var(--v-duration) var(--v-ease) !important;
}
button[class*="border-slate"]:hover,
.v-btn-secondary:hover {
  background: color-mix(in srgb, var(--v-chrome) 10%, transparent) !important;
  color: var(--v-diamond) !important;
  border-color: var(--v-diamond) !important;
}

/* Cyan CTA chips → brand secondary accent */
button[class*="bg-cyan-400"],
a[class*="bg-cyan-400"] {
  background: var(--v-gradient) !important;
  color: var(--v-diamond) !important;
  border-radius: var(--v-radius) !important;
}

/* Inputs */
input, textarea, select,
[role="searchbox"],
[class*="rounded-2xl"][class*="border"][class*="bg-slate-900"] {
  background: var(--v-graphite) !important;
  border-color: var(--v-border) !important;
  color: var(--v-diamond) !important;
  border-radius: var(--v-radius) !important;
}
input::placeholder, textarea::placeholder { color: var(--v-muted) !important; }

/* Cards */
[class*="rounded-2xl"][class*="border"][class*="bg-slate"],
[class*="rounded-3xl"][class*="border"],
.v-card {
  background: var(--v-graphite) !important;
  border-color: var(--v-border) !important;
  border-radius: var(--v-radius-xl) !important;
  box-shadow: var(--v-shadow);
}

/* Tables / tool result tables */
table, .v-table {
  width: 100%;
  border-collapse: collapse;
  font-family: var(--font-mono);
  font-size: 0.85rem;
}
table th, .v-table th {
  text-align: left;
  color: var(--v-chrome);
  border-bottom: 1px solid var(--v-border);
  padding: var(--v-space-3) var(--v-space-4);
  font-family: var(--font-heading);
  letter-spacing: 0.04em;
  text-transform: uppercase;
  font-size: 0.7rem;
}
table td, .v-table td {
  border-bottom: 1px solid color-mix(in srgb, var(--v-border) 70%, transparent);
  padding: var(--v-space-3) var(--v-space-4);
  color: var(--v-diamond);
}
table tr:hover td, .v-table tr:hover td {
  background: color-mix(in srgb, var(--v-amethyst) 8%, transparent);
}

/* Tags / pills */
[class*="rounded-full"][class*="bg-"],
span[class*="rounded"][class*="font-mono"][class*="text-xs"],
.v-tag {
  border-radius: 999px !important;
  border: 1px solid color-mix(in srgb, var(--v-sapphire) 35%, var(--v-border)) !important;
  background: color-mix(in srgb, var(--v-sapphire) 14%, var(--v-graphite)) !important;
  color: #B8C6FF !important;
}

/* Cookie banner */
aside[aria-label*="Kakor"],
aside[aria-label*="kakor"],
aside[aria-label*="Privacy"],
aside[data-valerion-en-cookie-banner] {
  font-family: var(--font-sans) !important;
}
aside[aria-label*="Kakor"] > div,
aside[aria-label*="kakor"] > div,
aside[data-valerion-en-cookie-banner] > div {
  background: color-mix(in srgb, var(--v-graphite) 96%, transparent) !important;
  border: 1px solid var(--v-border) !important;
  border-radius: var(--v-radius-xl) !important;
  color: var(--v-chrome) !important;
  box-shadow: var(--v-shadow) !important;
}
aside[aria-label*="Kakor"] button[class*="bg-blue"],
aside[data-valerion-en-cookie-banner] button:last-child {
  background-image: var(--v-gradient) !important;
  color: var(--v-diamond) !important;
  border-radius: var(--v-radius) !important;
}

/* ⌘K / search modal affordances */
[class*="fixed"][class*="inset-0"][class*="z-"],
[role="dialog"] {
  --tw-ring-color: var(--v-amethyst);
}
[role="dialog"] input,
kbd {
  font-family: var(--font-mono) !important;
}
kbd {
  background: var(--v-surface) !important;
  border: 1px solid var(--v-border) !important;
  color: var(--v-chrome) !important;
  border-radius: 0.375rem !important;
}

/* Hero banner image */
.v-hero-banner {
  display: block;
  width: 100%;
  max-width: 72rem;
  margin: 0 auto 1.75rem;
  border-radius: var(--v-radius-xl);
  overflow: hidden;
  border: 1px solid var(--v-border);
  box-shadow: var(--v-shadow);
  aspect-ratio: 1500 / 500;
  background: var(--v-graphite);
}
.v-hero-banner img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 1500 / 500;
  object-fit: cover;
}

/* Logo in header */
img[alt*="Valerion"][src*="valerion-icon"],
img[alt*="Valerion"][src*="valerion-logo"],
img[src="/valerion-icon.svg"],
img[src="/valerion-logo.svg"],
img[src="/brand/logo/valerion-icon.svg"] {
  filter: none !important;
}

/* Ad slots: reserve space, no layout jump */
ins.adsbygoogle {
  display: block;
  min-height: 90px;
  background: transparent !important;
}

/* Selection */
::selection {
  background: color-mix(in srgb, var(--v-amethyst) 55%, transparent);
  color: var(--v-diamond);
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    animation-iteration-count: 1 !important;
    transition-duration: 0.01ms !important;
    scroll-behavior: auto !important;
  }
  button.bg-blue-600::before,
  button[class*="bg-blue-600"]::before,
  button[class*="from-blue-600"]::before,
  button[class*="from-cyan-500"]::before,
  a[class*="from-blue-600"]::before,
  .v-btn-primary::before {
    display: none !important;
  }
}

/* Preview ribbon — reserved via html scroll-padding to limit CLS */
.v-brand-preview-ribbon {
  position: sticky;
  top: 0; left: 0; right: 0;
  z-index: 2147483000;
  background: var(--v-gradient);
  color: var(--v-diamond);
  font-family: var(--font-mono);
  font-size: 11px;
  font-weight: 600;
  letter-spacing: 0.06em;
  text-align: center;
  padding: 4px 8px;
  pointer-events: none;
  height: 22px;
  box-sizing: border-box;
}


/* Social links (footer Telegram / GitHub / X) */
.v-social-link:hover {
  border-color: var(--v-amethyst) !important;
  color: var(--v-diamond) !important;
  background: color-mix(in srgb, var(--v-amethyst) 14%, var(--v-graphite)) !important;
}
.v-telegram-icon { color: var(--v-amethyst); width: 1rem; height: 1rem; }
.v-footer-social { font-family: var(--font-sans); }

/* ===== Site header/footer chrome (tools + shared) ===== */
.v-site-header {
  position: sticky; top: 0; z-index: 40;
  background: color-mix(in srgb, var(--v-obsidian) 90%, transparent);
  backdrop-filter: blur(12px);
  border-bottom: 1px solid var(--v-border);
}
.v-site-header-inner {
  max-width: 80rem; margin: 0 auto;
  display: flex; align-items: center; justify-content: space-between; gap: 1rem;
  padding: 0.65rem 1rem; min-height: 4rem;
}
.v-brand-mark {
  display: inline-flex; align-items: center; gap: 0.65rem;
  text-decoration: none !important; color: var(--v-diamond) !important; flex-shrink: 0;
}
.v-brand-mark img {
  width: 40px; height: 40px; border-radius: 0.75rem;
  border: 1px solid color-mix(in srgb, var(--v-sapphire) 35%, var(--v-border));
  background: var(--v-graphite);
}
.v-brand-text { display: flex; flex-direction: column; line-height: 1.15; }
.v-brand-name {
  font-family: var(--font-heading) !important;
  font-weight: 800; font-size: 0.95rem; letter-spacing: 0.04em;
  color: var(--v-diamond) !important;
}
.v-brand-tld {
  font-family: var(--font-mono) !important;
  font-size: 0.65rem; margin-left: 0.25rem;
  padding: 0.1rem 0.35rem; border-radius: 0.35rem;
  background: color-mix(in srgb, var(--v-sapphire) 22%, transparent);
  color: #B8C6FF !important; vertical-align: middle;
}
.v-brand-sub {
  font-family: var(--font-mono) !important;
  font-size: 0.58rem; font-weight: 600; letter-spacing: 0.08em;
  color: var(--v-muted) !important; text-transform: uppercase;
}
.v-site-nav {
  display: none; flex-wrap: wrap; align-items: center; gap: 0.15rem 0.35rem;
  font-family: var(--font-sans) !important;
  font-size: 0.8rem; font-weight: 600;
}
.v-site-nav a {
  color: var(--v-chrome) !important; text-decoration: none !important;
  padding: 0.35rem 0.55rem; border-radius: 0.5rem;
  transition: background var(--v-duration) var(--v-ease), color var(--v-duration) var(--v-ease);
}
.v-site-nav a:hover {
  color: var(--v-diamond) !important;
  background: color-mix(in srgb, var(--v-amethyst) 14%, transparent);
  text-decoration: none !important;
}
.v-nav-lang { border: 1px solid var(--v-border); }
@media (min-width: 1024px) {
  .v-site-nav { display: flex; }
}

.v-site-footer {
  margin-top: 3rem;
  border-top: 1px solid var(--v-border);
  background: var(--v-graphite) !important;
  color: var(--v-chrome) !important;
  padding: 2.5rem 1rem 1.5rem;
}
.v-site-footer-inner {
  max-width: 80rem; margin: 0 auto;
  display: grid; gap: 2rem;
  grid-template-columns: 1fr;
}
@media (min-width: 900px) {
  .v-site-footer-inner { grid-template-columns: 1.4fr 1fr; }
}
.v-footer-blurb { margin-top: 0.75rem; font-size: 0.85rem; line-height: 1.55; max-width: 28rem; color: var(--v-muted) !important; }
.v-footer-cols { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: 1rem; }
.v-footer-cols h4 {
  font-family: var(--font-heading) !important;
  font-size: 0.7rem; letter-spacing: 0.08em; text-transform: uppercase;
  color: var(--v-diamond) !important; margin-bottom: 0.75rem;
}
.v-footer-cols ul { list-style: none; padding: 0; margin: 0; }
.v-footer-cols li { margin: 0.4rem 0; }
.v-footer-cols a { color: var(--v-chrome) !important; text-decoration: none !important; font-size: 0.85rem; }
.v-footer-cols a:hover { color: var(--v-diamond) !important; }
.v-footer-base {
  max-width: 80rem; margin: 1.75rem auto 0; padding-top: 1rem;
  border-top: 1px solid var(--v-border);
  font-size: 0.75rem; color: var(--v-muted) !important;
}
.v-footer-social {
  margin-top: 1rem; display: flex; flex-wrap: wrap; align-items: center; gap: 0.6rem;
}
.v-social-label {
  font-family: var(--font-mono) !important;
  font-size: 10px; letter-spacing: 0.06em; text-transform: uppercase; color: var(--v-muted);
}
.v-social-link {
  display: inline-flex !important; align-items: center; gap: 0.4rem;
  border: 1px solid var(--v-border) !important;
  background: var(--v-obsidian) !important;
  color: var(--v-chrome) !important;
  border-radius: 0.75rem !important;
  padding: 0.45rem 0.75rem !important;
  font-family: var(--font-mono) !important;
  font-size: 0.75rem !important; font-weight: 700 !important;
  text-decoration: none !important;
}
.v-social-link:hover {
  border-color: var(--v-amethyst) !important;
  color: var(--v-diamond) !important;
  background: color-mix(in srgb, var(--v-amethyst) 14%, var(--v-graphite)) !important;
}

/* Tool page: map legacy CSS vars + buttons to brand */
:root {
  --color-bg: var(--v-obsidian) !important;
  --color-surface: var(--v-graphite) !important;
  --color-border: var(--v-border) !important;
  --color-text-main: var(--v-diamond) !important;
  --color-text-muted: var(--v-muted) !important;
  --color-accent: var(--v-sapphire-btn) !important;
  --color-accent-hover: var(--v-amethyst) !important;
}
body {
  font-family: "Manrope", var(--font-sans), ui-sans-serif, sans-serif !important;
  background: var(--v-obsidian) !important;
  color: var(--v-diamond) !important;
}
h1, h2, h3, .heg-logo {
  font-family: "Saira Semi Condensed", var(--font-heading), sans-serif !important;
}
.btn-primary, button.btn-primary, .v-btn-primary {
  position: relative; overflow: hidden;
  background-image: var(--v-gradient) !important;
  background-color: var(--v-sapphire-btn) !important;
  color: var(--v-diamond) !important;
  border: 1px solid color-mix(in srgb, var(--v-diamond) 18%, transparent) !important;
  border-radius: var(--v-radius) !important;
  box-shadow: var(--v-glow-sapphire) !important;
}
.btn-primary:hover, .v-btn-primary:hover { filter: brightness(1.08); }
.btn-secondary, .btn-tiny {
  background: transparent !important;
  color: var(--v-chrome) !important;
  border: 1px solid var(--v-chrome) !important;
  border-radius: var(--v-radius) !important;
}
.btn-primary:focus-visible, .btn-secondary:focus-visible, .v-btn-primary:focus-visible,
.tool-row input:focus-visible {
  outline: none !important;
  box-shadow: var(--v-ring) !important;
}
.panel, .heg-todo {
  background: var(--v-graphite) !important;
  border-color: var(--v-border) !important;
  border-radius: var(--v-radius-xl) !important;
}
.v-contact-telegram {
  border-color: var(--v-border) !important;
  background: var(--v-graphite) !important;
  color: var(--v-chrome) !important;
}
/* Hide old slim tool header if replace failed */
header.heg-header .heg-logo:not(.v-brand-mark) { /* kept for non-tool */ }