/* geist layout continuation */
/* ── Dark-only baseline (locked) ── */
html,
body{
  background: var(--design-canvas) !important;
  color: var(--design-body) !important;
  color-scheme: dark;
}
.tabs-nav,
.nav-glass-panel{
  background: rgba(37,35,32,0.96) !important;
  border-color: rgba(250,249,245,0.10) !important;
}
.tabs-section.is-header-merged{
  background: transparent !important;
  border-bottom: none !important;
  box-shadow: none !important;
}
.tabs-section.is-header-merged .tabs-nav{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}

/* Website status in dark mode */
.website-card--featured .website-card-status{
  color: var(--design-on-dark) !important;
}
.profile-info-fact{
  background: rgba(37,35,32,0.8) !important;
  border-color: rgba(250,249,245,0.08) !important;
}
.website-card--featured:hover .website-card-inner{
  transform: translateY(-5px) !important;
  border-left-color: rgba(204, 120, 92, 0.80) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,0.7) inset,
    0 14px 32px rgba(20, 20, 19, 0.10) !important;
}

/* ╔══════════════════════════════════════════════════════════╗
   ║  UI SYNC — Card contrast,
header anchors,
typography     ║
   ║  White cards on cream canvas = clear visual hierarchy    ║
   ╚══════════════════════════════════════════════════════════╝ */
/* ── 0. Page body — tech grid canvas ────────────────────────── */
body{
  background-color: #181715 !important;
  /* Modern tech intersecting grid */
  background-image:
    radial-gradient(circle, rgba(93,184,166,0.28) 1px, transparent 1px),
    linear-gradient(rgba(250,249,245,0.060) 1px, transparent 1px),
    linear-gradient(90deg, rgba(250,249,245,0.060) 1px, transparent 1px),
    linear-gradient(rgba(250,249,245,0.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(250,249,245,0.028) 1px, transparent 1px) !important;
  background-size:
    64px 64px,
    64px 64px, 64px 64px,
    16px 16px, 16px 16px !important;
  background-attachment: scroll !important;
}

/* Website cards */
.website-card-inner{
  background: #ffffff !important;
  border: 1px solid #e6dfd8 !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,1) inset,
    0 1px 3px rgba(20,20,19,0.06),
    0 4px 16px rgba(20,20,19,0.04) !important;
}

/* Featured website card */
.website-card--featured .website-card-inner{
  background: #ffffff !important;
  border: 1px solid #e6dfd8 !important;
  border-left: 3px solid rgba(204,120,92,0.60) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,1) inset,
    0 2px 8px rgba(204,120,92,0.08),
    0 6px 24px rgba(20,20,19,0.06) !important;
}

/* Profile info facts: white */
.profile-info-fact{
  background: #ffffff !important;
  border: 1px solid #e6dfd8 !important;
  box-shadow: 0 1px 3px rgba(20,20,19,0.04) !important;
}
.website-card:hover .website-card-inner{
  background: #ffffff !important;
  border-color: #ddd5c9 !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,1) inset,
    0 6px 24px rgba(20,20,19,0.10),
    0 12px 40px rgba(20,20,19,0.06) !important;
  transform: translateY(-4px) !important;
}

/* ── 3. TABS NAV — white pill for contrast ── */
.tabs-nav{
  background: #ffffff !important;
  border: 1px solid #e6dfd8 !important;
  box-shadow:
    0 2px 12px rgba(20,20,19,0.08),
    0 1px 0 rgba(255,255,255,0.9) inset !important;
}
.tabs-section.is-header-merged .tabs-nav{
  background: #ffffff !important;
  border-color: #e6dfd8 !important;
  box-shadow: none !important;
}

/* ── 4. NAV GLASS PANEL — clean white pill ── */
.nav-glass-panel{
  background: rgba(255,255,255,0.98) !important;
  border: 1px solid #e6dfd8 !important;
  box-shadow: 0 2px 12px rgba(20,20,19,0.07) !important;
}

/* ── 5. SECTION HEADING — editorial anchoring ── */
.profile-section-heading{
  padding-bottom: 20px !important;
  margin-bottom: 28px !important;
  border-bottom: 1px solid #ebe6df !important;
}

/* Kicker label: coral pill */
.profile-section-label{
  display: inline-flex !important;
  align-items: center !important;
  gap: 8px !important;
  margin-bottom: 10px !important;
}
.profile-section-kicker{
  display: inline-block !important;
  padding: 3px 10px !important;
  border-radius: 999px !important;
  background: rgba(204,120,92,0.10) !important;
  border: 1px solid rgba(204,120,92,0.22) !important;
  color: var(--design-primary) !important;
  font-size: 10.5px !important;
  font-weight: 700 !important;
  letter-spacing: 1.6px !important;
  text-transform: uppercase !important;
}
.profile-section-icon{
  background: rgba(204,120,92,0.10) !important;
  border: 1px solid rgba(204,120,92,0.18) !important;
  color: var(--design-primary) !important;
}

/* Overrides for specific section icons */
#info .profile-section-icon{
  background: rgba(93,184,114,0.10) !important;
  border-color: rgba(93,184,114,0.20) !important;
  color: var(--design-success) !important;
}
#websites .profile-section-icon{
  background: rgba(232,165,90,0.10) !important;
  border-color: rgba(232,165,90,0.20) !important;
  color: var(--design-accent-amber) !important;
}

/* Section title */
.section-title{
  color: #141413 !important;
  font-family: var(--design-font-display) !important;
  font-size: clamp(32px, 4.5vw, 46px) !important;
  font-weight: 500 !important;
  letter-spacing: -0.03em !important;
  line-height: 1.05 !important;
}

/* Section subtitle */
.section-subtitle{
  margin-top: 6px !important;
  color: #b8b4a8 !important;
  font-size: 14.5px !important;
  font-weight: 400 !important;
  line-height: 1.5 !important;
}

/* Section count chip */
.profile-section-count{
  background: rgba(204,120,92,0.08) !important;
  border: 1px solid rgba(204,120,92,0.18) !important;
  color: var(--design-primary) !important;
  font-size: 12px !important;
  font-weight: 600 !important;
  font-family: var(--design-font-code) !important;
  padding: 0 10px !important;
}
.website-card-index{
  background: #f5f0e8 !important;
  border: 1px solid #e6dfd8 !important;
  color: #c4c0b6 !important;
  font-family: var(--design-font-code) !important;
  font-size: 11px !important;
  font-weight: 600 !important;
}
.website-domain{
  color: #141413 !important;
  font-size: 16px !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
}
.website-provide{
  color: #b8b4a8 !important;
  font-size: 12.5px !important;
  line-height: 1.4 !important;
}

/* Card meta */
.website-card-meta{
  color: #c4c0b6 !important;
  font-size: 12.5px !important;
}
.qr-badge:hover{
  background: #ebe6df !important;
  border-color: #ddd5c9 !important;
}

/* Website status pill */
.website-card-status{
  background: rgba(93,184,114,0.10) !important;
  border: 1px solid rgba(93,184,114,0.22) !important;
  color: #3d6b47 !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
}

/* ── 7. HERO SECTION — stronger editorial feel ── */
.hero-profile{
  background: transparent !important;  /* let body grid show through */
}
.hero-profile::before{
  opacity: 1 !important;  /* already set to full opacity in base rule */
}

/* Hero name */
.hero-name{
  color: #141413 !important;
}

/* Username handle */
.username-handle{
  background: #f5f0e8 !important;
  border: 1px solid #e6dfd8 !important;
  color: #b8b4a8 !important;
}

/* Hero action buttons */
.hero-action-btn--tg,
.hero-action-btn--mail{
  background: #f5f0e8 !important;
  border: 1px solid #e6dfd8 !important;
  color: #3d3d3a !important;
}
.hero-action-btn--tg:hover,
.hero-action-btn--mail:hover{
  background: #ebe6df !important;
  border-color: #ddd5c9 !important;
  color: #141413 !important;
}

/* View count button */
.view-count-btn{
  background: #f5f0e8 !important;
  border: 1px solid #e6dfd8 !important;
  color: #b8b4a8 !important;
}
.view-count-btn:hover{
  background: #ebe6df !important;
  border-color: #ddd5c9 !important;
  color: #141413 !important;
}
.view-count-btn i{
  color: var(--design-primary) !important;
}

/* ── 8. INFO CARD ── */
.profile-info-card{
  background: #ffffff !important;
  border: 1px solid #e6dfd8 !important;
  box-shadow: 0 1px 3px rgba(20,20,19,0.05) !important;
}
.profile-info-card--hero{
  background: linear-gradient(135deg, #cc785c 0%, #a9583e 100%) !important;
  border-color: transparent !important;
  box-shadow: 0 6px 24px rgba(204,120,92,0.22) !important;
}

/* Info fact hover */
.profile-info-fact:hover{
  background: #faf9f5 !important;
  border-color: #ddd5c9 !important;
  transform: translateX(3px) !important;
}

/* Fact text */
.profile-info-fact span{
  color: #c4c0b6 !important;
  font-size: 12px !important;
  font-weight: 500 !important;
  text-transform: uppercase !important;
  letter-spacing: 0.08em !important;
}
.profile-info-fact strong{
  color: #141413 !important;
  font-size: 15px !important;
  font-weight: 500 !important;
}

/* ── 9. MODALS / POPUPS — white on dark overlay ── *//* ── 10. TOAST — dark card matching terminal style ── */
.copy-toast,
.view-toast{
  background: #181715 !important;
  color: #faf9f5 !important;
  border: 1px solid rgba(250,249,245,0.12) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}

/* ── 11. override basic-theme.css purple ghost styles ── */
body::before{
  content: none !important;
  display: none !important;
}
body .logo-text{
  font-family: var(--design-font-display) !important;
  color: var(--design-ink) !important;
  background: none !important;
  -webkit-text-fill-color: unset !important;
  background-clip: unset !important;
}

/* ── 12. SCROLL-BAR ── */
*{
  scrollbar-color: rgba(250,249,245,0.15) #181715 !important;
  scrollbar-width: thin !important;
}
::-webkit-scrollbar{ width: 6px; height: 6px; }
::-webkit-scrollbar-track{ background: #181715; }
::-webkit-scrollbar-thumb{ background: rgba(250,249,245,0.15); border-radius: 99px; }
::-webkit-scrollbar-thumb:hover{ background: rgba(204,120,92,0.6); }

/* ── 13. DARK MODE — full sync ── */
body{
  background: #181715 !important;
}
.tabs-nav,
.nav-glass-panel{
  background: rgba(37,35,32,0.98) !important;
  border-color: rgba(250,249,245,0.10) !important;
}
.website-card-index{
  background: rgba(250,249,245,0.06) !important;
  border-color: rgba(250,249,245,0.08) !important;
  color: #ccc9c0 !important;
}
.website-domain{
  color: #faf9f5 !important;
}
.website-provide,
.website-card-meta{
  color: #ccc9c0 !important;
}
.username-handle,
.view-count-btn{
  background: rgba(250,249,245,0.06) !important;
  border-color: rgba(250,249,245,0.10) !important;
  color: #ccc9c0 !important;
}
.hero-action-btn--tg,
.hero-action-btn--mail{
  background: rgba(250,249,245,0.06) !important;
  border-color: rgba(250,249,245,0.10) !important;
  color: rgba(250,249,245,0.85) !important;
}
.profile-section-kicker{
  background: rgba(204,120,92,0.12) !important;
  border-color: rgba(204,120,92,0.24) !important;
  color: rgba(204,120,92,0.9) !important;
}
.profile-section-count{
  background: rgba(204,120,92,0.10) !important;
  border-color: rgba(204,120,92,0.20) !important;
  color: rgba(204,120,92,0.9) !important;
}
.section-title{
  color: #faf9f5 !important;
}
.section-subtitle{
  color: #ccc9c0 !important;
}
.website-card-status{
  background: rgba(93,184,114,0.12) !important;
  border-color: rgba(93,184,114,0.20) !important;
  color: rgba(93,184,200,0.9) !important;
}
.profile-info-fact span{ color: #c4c0b6 !important; }
.profile-info-fact strong{ color: #faf9f5 !important; }
*{
  scrollbar-color: rgba(250,249,245,0.15) #181715 !important;
}
::-webkit-scrollbar-track{ background: #181715; }
::-webkit-scrollbar-thumb{ background: rgba(250,249,245,0.15); }
::-webkit-scrollbar-thumb:hover{ background: rgba(204,120,92,0.6); }

/* ════════════════════════════════════════════════════════════════
   DARK MODE FINAL WINS — html prefix gives (0,x,1) specificity
   that beats all (0,x,0) light-mode rules and basic-theme.css.
   This block MUST stay at the very bottom of this file.
════════════════════════════════════════════════════════════════ */
/* body background */
html body{
  background-color: #181715 !important;
  color: #ccc9c0 !important;
  /* Dark mode tech grid:
     • Teal dots @ 64px intersections
     • Fine light grid lines  */
  background-image:
    radial-gradient(circle, rgba(93,184,166,0.28) 1px, transparent 1px),
    linear-gradient(rgba(250,249,245,0.060) 1px, transparent 1px),
    linear-gradient(90deg, rgba(250,249,245,0.060) 1px, transparent 1px),
    linear-gradient(rgba(250,249,245,0.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(250,249,245,0.028) 1px, transparent 1px) !important;
  background-size:
    64px 64px,
    64px 64px, 64px 64px,
    16px 16px, 16px 16px !important;
  background-attachment: scroll !important;
}

/* ── Hero section ── */
html .hero-profile{
  background: transparent !important;  /* let dark body grid show through */
  border-bottom-color: rgba(250,249,245,0.08) !important;
}
html .hero-profile::before{
  opacity: 1 !important;
  background-image:
    radial-gradient(circle, rgba(93,184,166,0.28) 1px, transparent 1px),
    linear-gradient(rgba(250,249,245,0.060) 1px, transparent 1px),
    linear-gradient(90deg, rgba(250,249,245,0.060) 1px, transparent 1px),
    linear-gradient(rgba(250,249,245,0.028) 1px, transparent 1px),
    linear-gradient(90deg, rgba(250,249,245,0.028) 1px, transparent 1px) !important;
  background-size:
    64px 64px,
    64px 64px, 64px 64px,
    16px 16px, 16px 16px !important;
  background-color: transparent !important;
}
html .website-card:hover .website-card-inner{
  background: #2a2825 !important;
  border-color: rgba(250,249,245,0.16) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.22) !important;
}

/* ── Typography ── */
html .hero-name,
html .section-title{ color: #faf9f5 !important; }
html .section-subtitle{ color: #c4c0b6 !important; }
html .website-domain{ color: #faf9f5 !important; }
html .website-provide,
html .website-card-meta{ color: #c4c0b6 !important; }

/* ── Tabs nav ── */
html .tabs-nav{
  background: rgba(37,35,32,0.98) !important;
  border-color: rgba(250,249,245,0.10) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2) !important;
}
html .tabs-section.is-header-merged .tabs-nav{
  /* pill chrome handled by site-tabs.css */
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
html .tabs-section.is-header-merged{
  background: transparent !important;
  border-bottom: none !important;
  box-shadow: none !important;
}

/* ── Nav panel ── */
html .nav-glass-panel{
  background: rgba(37,35,32,0.98) !important;
  border-color: rgba(250,249,245,0.10) !important;
  box-shadow: 0 2px 8px rgba(0,0,0,0.2) !important;
}
html .modern-nav.scrolled .nav-glass-panel{
  background: rgba(37,35,32,0.98) !important;
  border-color: rgba(250,249,245,0.16) !important;
  box-shadow: 0 8px 24px rgba(0,0,0,0.25) !important;
}

/* ── Hero handles ── */
html .username-handle,
html .view-count-btn{
  background: rgba(250,249,245,0.06) !important;
  border-color: rgba(250,249,245,0.10) !important;
  color: #ccc9c0 !important;
}
html .hero-action-btn--fb{
  background: #cc785c !important;
  border-color: transparent !important;
  color: #fff !important;
}
html .hero-action-btn--tg,
html .hero-action-btn--mail{
  background: rgba(250,249,245,0.06) !important;
  border-color: rgba(250,249,245,0.10) !important;
  color: rgba(250,249,245,0.85) !important;
}

/* ── Section header ── */
html .profile-section-heading{
  border-bottom-color: rgba(250,249,245,0.08) !important;
}

/* Beat inline .content-section .section-title (0,2,0) with (0,2,1) */
html .content-section .section-title,
html .profile-section .section-title{
  color: #faf9f5 !important;
  font-family: var(--design-font-display) !important;
}
html .content-section .section-subtitle,
html .profile-section .section-subtitle{
  color: #c4c0b6 !important;
}
html .profile-section-kicker{
  background: rgba(204,120,92,0.12) !important;
  border-color: rgba(204,120,92,0.24) !important;
  color: rgba(204,120,92,0.9) !important;
}
html .profile-section-count{
  background: rgba(204,120,92,0.10) !important;
  border-color: rgba(204,120,92,0.20) !important;
  color: rgba(204,120,92,0.9) !important;
}
html .profile-section-icon{
  background: rgba(204,120,92,0.10) !important;
  border-color: rgba(204,120,92,0.20) !important;
  color: rgba(204,120,92,0.85) !important;
}

/* ── Info facts ── */
html .profile-info-fact{
  background: #252320 !important;
  border-color: rgba(250,249,245,0.08) !important;
}
html .profile-info-fact span{ color: #b8b4a8 !important; }
html .profile-info-fact strong{ color: #faf9f5 !important; }
html .profile-info-card{
  background: #252320 !important;
  border-color: rgba(250,249,245,0.08) !important;
}
html .profile-info-card--hero{
  background: linear-gradient(135deg, #cc785c 0%, #a9583e 100%) !important;
  border-color: transparent !important;
}

/* ── Website status ── */
html .website-card-status{
  background: rgba(93,184,114,0.12) !important;
  border-color: rgba(93,184,114,0.20) !important;
  color: rgba(93,210,160,0.9) !important;
}

/* ── Modals ── *//* ── Toasts ── */
html .copy-toast,
html .view-toast{
  background: #181715 !important;
  color: #faf9f5 !important;
  border-color: rgba(250,249,245,0.12) !important;
}

/* ════════════════════════════════════════════════════════════════
   TYPOGRAPHY FINAL WINS — html body .xxx beats basic-theme (0,2,0)
════════════════════════════════════════════════════════════════ */
/* Section title — soft rounded display */
html body .section-title{
  font-family: var(--design-font-display) !important;
  font-size: clamp(30px, 4.6vw, 48px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.01em !important;
  line-height: 1.1 !important;
  margin: 0 !important;
}
html body .section-subtitle{
  font-family: var(--design-font-body) !important;
  font-size: 15px !important;
  font-weight: 500 !important;
  line-height: 1.55 !important;
  letter-spacing: 0.01em !important;
  margin-top: 6px !important;
}

/* Hero name */
html body .hero-name{
  font-family: var(--design-font-display) !important;
  font-size: clamp(42px, 6.5vw, 68px) !important;
  font-weight: 600 !important;
  letter-spacing: -0.015em !important;
}

@media (max-width: 767px) {
  html body .section-title {
    font-size: clamp(26px, 8vw, 38px) !important;
  }
  html body .hero-name {
    font-size: clamp(36px, 12vw, 56px) !important;
  }
}

/* ════════════════════════════════════════════════════════════════
   TAB TOOLS UI - COHERENT AND PREMIUM STYLING
════════════════════════════════════════════════════════════════ */
/* Search input style */
.tool-search-wrap{
  margin-bottom: 24px !important;
}
.tool-search-input{
  width: 100% !important;
  padding: 12px 16px 12px 46px !important;
  font-family: var(--design-font-body) !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  color: var(--design-ink) !important;
  background: #ffffff !important;
  border: 1px solid var(--design-hairline) !important;
  border-radius: var(--design-radius-lg) !important;
  outline: none !important;
  box-shadow: var(--design-shadow-soft) !important;
  transition: border-color 200ms var(--design-ease), box-shadow 200ms var(--design-ease), background 200ms var(--design-ease) !important;
}
.tool-search-input::placeholder{
  color: var(--design-muted) !important;
  font-weight: 400 !important;
}
.tool-search-input:focus{
  background: #ffffff !important;
  border-color: var(--design-primary) !important;
  box-shadow: var(--design-focus) !important;
}
.tool-search-icon{
  color: var(--design-muted-soft) !important;
  font-size: 16px !important;
  transition: color 200ms var(--design-ease) !important;
}
.tool-search-input:focus ~ .tool-search-icon{
  color: var(--design-primary) !important;
}
.tool-search-clear{
  color: var(--design-muted-soft) !important;
}
.tool-search-clear:hover{
  color: var(--design-error) !important;
  background: rgba(198, 69, 69, 0.08) !important;
}

/* Tool card structure */
.tool-card{
  background: #ffffff !important;
  border: 1px solid var(--design-hairline) !important;
  border-radius: var(--design-radius-xl) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,1) inset,
    0 1px 3px rgba(20,20,19,0.06),
    0 4px 16px rgba(20,20,19,0.04) !important;
  transition: border-color 200ms var(--design-ease), box-shadow 200ms var(--design-ease), transform 200ms var(--design-ease), background 200ms var(--design-ease) !important;
}
.tool-card:hover{
  transform: translateY(-3px) !important;
  border-color: var(--design-primary-disabled) !important;
  box-shadow: var(--design-shadow-soft) !important;
}

/* Clean title style */
.tool-header-title{
  font-family: var(--design-font-body) !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: var(--design-ink) !important;
}

/* Accent top bar opacity alignment */
.tool-card::before{
  height: 4px !important;
  border-radius: var(--design-radius-xl) var(--design-radius-xl) 0 0 !important;
}

/* Card inner */
.tool-card-inner{
  padding: var(--design-space-md) !important;
  background: transparent !important;
}

/* Form controls */
.tool-card .form-label{
  font-family: var(--design-font-body) !important;
  color: var(--design-body-strong) !important;
  font-weight: 600 !important;
  font-size: 13px !important;
  margin-bottom: 6px !important;
}
.tool-card .form-control{
  font-family: var(--design-font-body) !important;
  background: #ffffff !important;
  color: var(--design-ink) !important;
  border: 1px solid var(--design-hairline) !important;
  border-radius: var(--design-radius-md) !important;
  padding: 10px 14px !important;
  font-size: 13.5px !important;
  box-shadow: none !important;
  transition: border-color 160ms var(--design-ease), box-shadow 160ms var(--design-ease), background 160ms var(--design-ease) !important;
}
.tool-card .form-control:focus{
  background: #ffffff !important;
  color: var(--design-ink) !important;
  border-color: var(--design-primary) !important;
  box-shadow: var(--design-focus) !important;
}
.tool-card .form-select{
  font-family: var(--design-font-body) !important;
  background-color: #ffffff !important;
  color: var(--design-ink) !important;
  border: 1px solid var(--design-hairline) !important;
  border-radius: var(--design-radius-md) !important;
  padding: 10px 14px !important;
  font-size: 13.5px !important;
  box-shadow: none !important;
  transition: border-color 160ms var(--design-ease), box-shadow 160ms var(--design-ease) !important;
}
.tool-card .form-select:focus{
  border-color: var(--design-primary) !important;
  box-shadow: var(--design-focus) !important;
}

/* Buttons in tool cards */
.tool-card .btn{
  font-family: var(--design-font-body) !important;
  border: none !important;
  border-radius: var(--design-radius-md) !important;
  padding: 10px 16px !important;
  font-size: 13.5px !important;
  font-weight: 600 !important;
  box-shadow: none !important;
  transition: background 160ms var(--design-ease), transform 160ms var(--design-ease), filter 160ms var(--design-ease) !important;
}
.tool-card .btn-primary,
.tool-card .btn-info,
.tool-card .btn-success,
.tool-card .btn-warning,
.tool-card .btn-danger{
  background: var(--design-primary) !important;
  color: var(--design-on-primary) !important;
}
.tool-card .btn-primary:hover,
.tool-card .btn-info:hover{
  background: var(--design-primary-active) !important;
}
.tool-card .btn:active{
  transform: scale(0.98) !important;
}

/* Secondary/outline style panels inside results */
.tool-card .card-section{
  background: var(--design-surface-soft) !important;
  border: 1px solid var(--design-hairline-soft) !important;
  border-radius: var(--design-radius-lg) !important;
  box-shadow: none !important;
}

/* Loading animations */
.tool-loader-spinner .dot{
  background-color: var(--design-primary) !important;
}
.tool-loader-text{
  color: var(--design-muted) !important;
  font-size: 13px !important;
  font-weight: 500 !important;
}
.usage-count{
  font-family: var(--design-font-body) !important;
  font-size: 12px !important;
  color: var(--design-muted) !important;
  background: var(--design-surface-soft) !important;
  border-top: 1px solid var(--design-hairline-soft) !important;
}

/* ── Dark Mode Overrides for Tools ── */
html .tool-search-input{
  background: var(--design-surface-card) !important;
  color: var(--design-ink) !important;
  border-color: var(--design-hairline) !important;
  box-shadow: none !important;
}
html .tool-search-input:focus{
  background: var(--design-surface-card) !important;
  border-color: var(--design-primary) !important;
}
html .tool-card{
  background: #252320 !important;
  border-color: rgba(250, 249, 245, 0.10) !important;
  box-shadow: none !important;
}
html .tool-card:hover{
  background: #2a2825 !important;
  border-color: rgba(250, 249, 245, 0.16) !important;
}
html .tool-card .form-control{
  background: var(--design-surface-dark-soft) !important;
  color: var(--design-ink) !important;
  border-color: var(--design-hairline) !important;
}
html .tool-card .form-control:focus{
  background: var(--design-surface-dark-soft) !important;
  border-color: var(--design-primary) !important;
}
html .tool-card .form-select{
  background-color: var(--design-surface-dark-soft) !important;
  color: var(--design-ink) !important;
  border-color: var(--design-hairline) !important;
}
html .tool-card .form-select:focus{
  border-color: var(--design-primary) !important;
}
html .tool-card .card-section{
  background: var(--design-surface-dark-soft) !important;
  border-color: var(--design-hairline-soft) !important;
}

/* Dark mode overrides for History,
Tables and Alerts */
html .fps-history-wrap{
  background: var(--design-surface-dark-soft) !important;
  border-color: rgba(250, 249, 245, 0.10) !important;
}
html .fps-history-item{
  background: var(--design-surface-card) !important;
  color: var(--design-body) !important;
  border-color: rgba(250, 249, 245, 0.10) !important;
}
html .fps-history-item:hover{
  background: var(--design-surface-cream-strong) !important;
  color: var(--design-ink) !important;
  border-color: rgba(250, 249, 245, 0.16) !important;
}
html .tool-card .list-unstyled{
  border-color: rgba(250, 249, 245, 0.10) !important;
}
html .tool-card .list-unstyled li{
  background: var(--design-surface-dark-soft) !important;
  border-bottom-color: rgba(250, 249, 245, 0.06) !important;
  color: var(--design-body) !important;
}
html .violation-card{
  background: var(--design-surface-dark-soft) !important;
  border-color: rgba(250, 249, 245, 0.10) !important;
}
html .violation-header{
  background: var(--design-surface-card) !important;
  border-bottom-color: rgba(250, 249, 245, 0.10) !important;
}
html .violation-stat{
  background: var(--design-surface-dark-soft) !important;
  border-color: rgba(250, 249, 245, 0.10) !important;
  color: var(--design-body) !important;
}
html .violation-stat.total{
  border-color: rgba(99, 102, 241, 0.3) !important;
  color: #58a6ff !important;
  background: rgba(99, 102, 241, 0.1) !important;
}
html .violation-stat.unpaid{
  border-color: rgba(198, 69, 69, 0.3) !important;
  color: var(--design-error) !important;
  background: rgba(198, 69, 69, 0.1) !important;
}
html .violation-stat.paid{
  border-color: rgba(93, 184, 114, 0.3) !important;
  color: var(--design-success) !important;
  background: rgba(93, 184, 114, 0.1) !important;
}
html .tool-card .alert-success{
  background: rgba(93, 184, 114, 0.1) !important;
  border-color: rgba(93, 184, 114, 0.25) !important;
  color: #5db872 !important;
}
html .tool-card .alert-danger{
  background: rgba(198, 69, 69, 0.1) !important;
  border-color: rgba(198, 69, 69, 0.25) !important;
  color: #c64545 !important;
}

/* ── History,
Tables and Result Panels (Light mode & Shared) ── */
/* History FPS Make styling */
.fps-history-wrap{
  display: flex !important;
  flex-wrap: wrap !important;
  gap: 8px !important;
  background: var(--design-surface-soft) !important;
  border: 1px solid var(--design-hairline) !important;
  border-radius: var(--design-radius-md) !important;
  padding: 10px !important;
  margin-top: 6px !important;
}
.fps-history-item{
  background: #ffffff !important;
  color: var(--design-body) !important;
  border: 1px solid var(--design-hairline) !important;
  border-radius: var(--design-radius-pill) !important;
  font-family: var(--design-font-body) !important;
  font-size: 11.5px !important;
  font-weight: 500 !important;
  padding: 4px 10px !important;
  cursor: pointer !important;
  transition: all 160ms var(--design-ease) !important;
}
.fps-history-item:hover{
  background: var(--design-surface-cream-strong) !important;
  color: var(--design-ink) !important;
  border-color: var(--design-primary-disabled) !important;
}

/* Key-value lists inside result panels (e.g. Account details) */
.tool-card h3{
  font-family: var(--design-font-body) !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: var(--design-ink) !important;
  margin-top: 14px !important;
  margin-bottom: 10px !important;
}
.tool-card .list-unstyled{
  margin: 8px 0 14px 0 !important;
  padding: 0 !important;
  border-radius: var(--design-radius-md) !important;
  border: 1px solid var(--design-hairline) !important;
  overflow: hidden !important;
}
.tool-card .list-unstyled li{
  padding: 8px 12px !important;
  font-size: 13px !important;
  color: var(--design-body) !important;
  border-bottom: 1px solid var(--design-hairline-soft) !important;
  background: #ffffff !important;
}
.tool-card .list-unstyled li:last-child{
  border-bottom: none !important;
}
.tool-card .list-unstyled li strong{
  color: var(--design-body-strong) !important;
  font-weight: 600 !important;
}

/* Phạt Nguội tables and grids */
.violation-card{
  background: #ffffff !important;
  border: 1px solid var(--design-hairline) !important;
  border-radius: var(--design-radius-lg) !important;
  box-shadow: var(--design-shadow-soft) !important;
  margin-bottom: 12px !important;
  overflow: hidden !important;
}
.violation-header{
  background: var(--design-surface-soft) !important;
  border-bottom: 1px solid var(--design-hairline) !important;
  padding: 10px 14px !important;
}
.violation-badge{
  border-radius: var(--design-radius-pill) !important;
  font-weight: 600 !important;
  font-size: 11px !important;
  padding: 3px 9px !important;
}
.violation-badge.unpaid{
  background: rgba(198, 69, 69, 0.1) !important;
  color: var(--design-error) !important;
  border: 1px solid rgba(198, 69, 69, 0.2) !important;
}
.violation-badge.paid{
  background: rgba(93, 184, 114, 0.1) !important;
  color: var(--design-success) !important;
  border: 1px solid rgba(93, 184, 114, 0.2) !important;
}
.violation-plate{
  color: var(--design-ink) !important;
  font-family: var(--design-font-body) !important;
  font-size: 13.5px !important;
  font-weight: 700 !important;
}
.violation-body{
  padding: 12px 14px !important;
  gap: 8px 12px !important;
}
.violation-row{
  font-size: 12px !important;
  color: var(--design-body) !important;
}
.violation-row strong{
  color: var(--design-body-strong) !important;
  font-weight: 600 !important;
}
.violation-summary{
  display: flex !important;
  gap: 10px !important;
  margin-bottom: 14px !important;
}
.violation-stat{
  background: var(--design-surface-soft) !important;
  border: 1px solid var(--design-hairline) !important;
  border-radius: var(--design-radius-md) !important;
  color: var(--design-body) !important;
  padding: 10px !important;
}
.violation-stat.total{
  border-color: rgba(99, 102, 241, 0.25) !important;
  color: #1d4ed8 !important;
  background: rgba(99, 102, 241, 0.05) !important;
}
.violation-stat.unpaid{
  border-color: rgba(198, 69, 69, 0.25) !important;
  color: var(--design-error) !important;
  background: rgba(198, 69, 69, 0.05) !important;
}
.violation-stat.paid{
  border-color: rgba(93, 184, 114, 0.25) !important;
  color: var(--design-success) !important;
  background: rgba(93, 184, 114, 0.05) !important;
}
.violation-stat .vnum{
  font-size: 22px !important;
  font-weight: 800 !important;
}

/* Tool alerts formatting (2FA, Love, etc.) */
.tool-card .alert{
  border-radius: var(--design-radius-md) !important;
  padding: 12px 14px !important;
  font-size: 13.5px !important;
  font-family: var(--design-font-body) !important;
}
.tool-card .alert-success{
  background: #f0fdf4 !important;
  border: 1px solid rgba(93, 184, 114, 0.3) !important;
  color: #166534 !important;
}
.tool-card .alert-danger{
  background: #fef2f2 !important;
  border: 1px solid rgba(198, 69, 69, 0.3) !important;
  color: #991b1b !important;
}

/* Tool header and subheader alignment */
.tool-header{
  background: transparent !important;
  border: none !important;
  border-bottom: 1px solid var(--design-hairline-soft) !important;
  border-radius: 0 !important;
  padding: 16px 18px 12px 18px !important;
  display: flex !important;
  align-items: center !important;
  box-shadow: none !important;
  backdrop-filter: none !important;
  -webkit-backdrop-filter: none !important;
}
.tool-icon-wrap{
  width: 38px !important;
  height: 38px !important;
  border-radius: var(--design-radius-md) !important;
  background: var(--tool-icon-bg) !important;
  color: var(--tool-icon-color) !important;
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 18px !important;
  box-shadow: none !important;
}
.tool-header-title{
  font-family: var(--design-font-body) !important;
  font-size: 14.5px !important;
  font-weight: 700 !important;
  color: var(--design-ink) !important;
  margin-left: 4px !important;
}
.tool-toggle,
.tool-share{
  width: 32px !important;
  height: 32px !important;
  border-radius: var(--design-radius-md) !important;
  background: var(--design-surface-soft) !important;
  border: 1px solid var(--design-hairline) !important;
  color: var(--design-muted) !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-size: 12px !important;
  cursor: pointer !important;
  transition: all 160ms var(--design-ease) !important;
}
.tool-toggle:hover,
.tool-share:hover{
  background: var(--design-surface-cream-strong) !important;
  color: var(--design-primary) !important;
  border-color: var(--design-primary-disabled) !important;
}

/* Thẻ lượt dùng tinh tế hơn */
.usage-count{
  display: inline-flex !important;
  align-items: center !important;
  gap: 5px !important;
  padding: 4px 10px !important;
  border-radius: var(--design-radius-pill) !important;
  font-family: var(--design-font-body) !important;
  font-size: 11px !important;
  font-weight: 500 !important;
  color: var(--design-muted) !important;
  background: var(--design-surface-soft) !important;
  border: 1px solid var(--design-hairline) !important;
  margin: 12px 18px 0 !important;
  width: fit-content !important;
  box-shadow: none !important;
}
.usage-count .badge-icon{
  color: var(--design-primary) !important;
  font-size: 11px !important;
  margin-right: 2px !important;
}
.usage-count .count-num{
  color: var(--design-primary-active) !important;
  font-weight: 700 !important;
}

/* Dark Mode equivalents */
html .tool-toggle,
html .tool-share{
  background: var(--design-surface-dark-soft) !important;
  border-color: rgba(250, 249, 245, 0.10) !important;
  color: var(--design-muted) !important;
}
html .tool-toggle:hover,
html .tool-share:hover{
  background: var(--design-surface-card) !important;
  color: var(--design-primary) !important;
  border-color: rgba(250, 249, 245, 0.16) !important;
}
html .usage-count{
  background: var(--design-surface-dark-soft) !important;
  border-color: rgba(250, 249, 245, 0.10) !important;
  color: var(--design-muted) !important;
}
html .usage-count .count-num{
  color: var(--design-primary) !important;
}
html .qr-style-option{
  background: var(--design-surface-dark-soft) !important;
  border-color: rgba(250, 249, 245, 0.10) !important;
}
html .qr-style-option:hover{
  background: var(--design-surface-card) !important;
  border-color: rgba(250, 249, 245, 0.16) !important;
}
html .qr-style-option.selected{
  border-color: var(--design-primary) !important;
  background: rgba(204, 120, 92, 0.1) !important;
}
html .qr-style-name{
  color: var(--design-muted) !important;
}
html .qr-style-option.selected .qr-style-name{
  color: var(--design-primary) !important;
}
html #lovePreviewCard{
  background: var(--design-surface-dark-soft) !important;
  border-color: rgba(250, 249, 245, 0.10) !important;
}
html #lovePreviewList{
  color: var(--design-body) !important;
}

/* QR Style Picker styling */
.qr-style-picker{
  display: grid !important;
  grid-template-columns: repeat(auto-fit, minmax(80px, 1fr)) !important;
  gap: 10px !important;
  margin-top: 10px !important;
}
.qr-style-option{
  cursor: pointer !important;
  border-radius: var(--design-radius-md) !important;
  border: 1px solid var(--design-hairline) !important;
  padding: 8px !important;
  text-align: center !important;
  transition: all 160ms var(--design-ease) !important;
  background: #ffffff !important;
}
.qr-style-option:hover{
  border-color: var(--design-primary-disabled) !important;
  background: var(--design-surface-soft) !important;
}
.qr-style-option.selected{
  border-color: var(--design-primary) !important;
  box-shadow: var(--design-focus) !important;
  background: rgba(204, 120, 92, 0.04) !important;
}
.qr-style-name{
  font-family: var(--design-font-body) !important;
  font-size: 11.5px !important;
  font-weight: 600 !important;
  color: var(--design-muted) !important;
  display: block !important;
  margin-top: 6px !important;
}
.qr-style-option.selected .qr-style-name{
  color: var(--design-primary) !important;
}

/* Love Link Preview Card */
#lovePreviewCard{
  margin-bottom: 16px !important;
  padding: 14px !important;
  background: var(--design-surface-soft) !important;
  border: 1px solid var(--design-hairline) !important;
  border-radius: var(--design-radius-lg) !important;
  box-shadow: none !important;
}
#lovePreviewList{
  font-family: var(--design-font-body) !important;
  font-size: 13.5px !important;
  color: var(--design-body) !important;
  padding-left: 20px !important;
  margin: 0 !important;
}
#lovePreviewList li{
  margin-bottom: 4px !important;
}
#lovePreviewList li:last-child{
  margin-bottom: 0 !important;
}
.love-line-row{
  display: flex !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
}

/* ── BANKING PAGE SYNC STYLING ── */
.banking-page .page-title{
  color: var(--design-ink) !important;
  font-family: var(--design-font-body) !important;
  font-size: 1.25rem !important;
  font-weight: 800 !important;
  letter-spacing: -0.02em !important;
}
.transfer-note{
  background: #ffffff !important;
  border: 1px solid var(--design-hairline) !important;
  border-radius: var(--design-radius-xl) !important;
  box-shadow: var(--design-shadow-soft) !important;
  transition: border-color 200ms var(--design-ease), box-shadow 200ms var(--design-ease) !important;
}
.transfer-note:hover{
  border-color: var(--design-primary-disabled) !important;
  box-shadow: var(--design-shadow-soft) !important;
}
.transfer-note .content-label{
  color: var(--design-muted) !important;
  font-family: var(--design-font-body) !important;
  font-size: 11px !important;
}
.transfer-note .content-value{
  color: var(--design-ink) !important;
  font-family: var(--design-font-body) !important;
  font-size: 14.5px !important;
}
.bank-card{
  background: #ffffff !important;
  border: 1px solid var(--design-hairline) !important;
  border-radius: var(--design-radius-xl) !important;
  box-shadow: var(--design-shadow-soft) !important;
  transition: transform 200ms var(--design-ease), border-color 200ms var(--design-ease), box-shadow 200ms var(--design-ease) !important;
}
.bank-card:hover{
  transform: translateY(-3px) !important;
  border-color: var(--design-primary-disabled) !important;
  box-shadow: var(--design-shadow-soft) !important;
}
.bank-logo{
  border: 1px solid var(--design-hairline) !important;
  background: #ffffff !important;
}
.btn-qr{
  background: var(--design-primary) !important;
  color: #ffffff !important;
  box-shadow: 0 2px 8px rgba(204, 120, 92, 0.3) !important;
}
.btn-qr:hover{
  background: var(--design-primary-active) !important;
  box-shadow: 0 4px 12px rgba(204, 120, 92, 0.4) !important;
}
.bank-meta{
  color: var(--design-muted) !important;
  font-family: var(--design-font-body) !important;
  font-size: 10.5px !important;
}
.bank-name{
  color: var(--design-ink) !important;
  font-family: var(--design-font-body) !important;
  font-size: 15px !important;
  font-weight: 700 !important;
}
.account-number{
  background: var(--design-surface-soft) !important;
  border: 1px solid var(--design-hairline) !important;
  color: var(--design-ink) !important;
  font-size: 13.5px !important;
}
.copy-btn,
.copy-content-btn{
  background: var(--design-surface-cream-strong) !important;
  color: var(--design-body-strong) !important;
  border-radius: var(--design-radius-sm) !important;
  font-family: var(--design-font-body) !important;
  transition: background 160ms var(--design-ease), color 160ms var(--design-ease) !important;
}
.copy-btn:hover,
.copy-content-btn:hover{
  background: var(--design-primary-disabled) !important;
  color: var(--design-ink) !important;
}

/* Dark Mode Overrides for Banking */
html .transfer-note{
  background: var(--design-surface-dark-soft) !important;
  border-color: rgba(250, 249, 245, 0.10) !important;
  box-shadow: none !important;
}
html .transfer-note:hover{
  border-color: rgba(250, 249, 245, 0.16) !important;
}
html .bank-card{
  background: #252320 !important;
  border-color: rgba(250, 249, 245, 0.10) !important;
  box-shadow: none !important;
}
html .bank-card:hover{
  background: #2a2825 !important;
  border-color: rgba(250, 249, 245, 0.16) !important;
}
html .bank-logo{
  border-color: rgba(250, 249, 245, 0.10) !important;
  background: #ffffff !important;
}
html .account-number{
  background: var(--design-surface-dark-elevated) !important;
  border-color: rgba(250, 249, 245, 0.08) !important;
  color: var(--design-ink) !important;
}
html .copy-btn,
html .copy-content-btn{
  background: var(--design-surface-dark-elevated) !important;
  color: var(--design-body-strong) !important;
}
html .copy-btn:hover,
html .copy-content-btn:hover{
  background: var(--design-surface-cream-strong) !important;
  color: var(--design-ink) !important;
}

/* ── BLOGS & BLOG POST PAGE SYNC STYLING ── */
.blog-card{
  background: #ffffff !important;
  border: 1px solid var(--design-hairline) !important;
  border-radius: var(--design-radius-xl) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,1) inset,
    0 1px 3px rgba(20,20,19,0.06),
    0 4px 16px rgba(20,20,19,0.04) !important;
  transition: transform 220ms var(--design-ease), border-color 220ms var(--design-ease), box-shadow 220ms var(--design-ease) !important;
}
.blog-card:hover{
  transform: translateY(-6px) !important;
  border-color: var(--design-primary-disabled) !important;
  box-shadow: var(--design-shadow-soft) !important;
}
.blog-card-title{
  color: var(--design-ink) !important;
  font-family: var(--design-font-body) !important;
  font-size: 16px !important;
  font-weight: 700 !important;
}
.blog-card:hover .blog-card-title{
  color: var(--design-primary) !important;
}
.blog-card-badge{
  background: rgba(204, 120, 92, 0.1) !important;
  color: var(--design-primary) !important;
  border: 1px solid rgba(204, 120, 92, 0.2) !important;
}
.blog-card-meta{
  border-top: 1px solid var(--design-hairline-soft) !important;
  color: var(--design-muted) !important;
}
.blog-post{
  background: #ffffff !important;
  border: 1px solid var(--design-hairline) !important;
  border-radius: var(--design-radius-xl) !important;
  box-shadow:
    0 1px 0 rgba(255,255,255,1) inset,
    0 4px 24px rgba(20,20,19,0.04) !important;
}
.blog-post-back{
  color: var(--design-primary) !important;
  font-family: var(--design-font-body) !important;
}
.blog-post-back:hover{
  color: var(--design-primary-active) !important;
}
.blog-post-title{
  color: var(--design-ink) !important;
  font-family: var(--design-font-display) !important;
  font-size: 28px !important;
  font-weight: 700 !important;
  letter-spacing: -0.02em !important;
}
.blog-post-meta{
  color: var(--design-muted) !important;
}
.blog-post-author{
  color: var(--design-body-strong) !important;
}
.blog-post-content{
  color: var(--design-body) !important;
  font-family: var(--design-font-body) !important;
}
.blog-post-content h2,
.blog-post-content h3{
  color: var(--design-ink) !important;
  font-family: var(--design-font-display) !important;
  font-weight: 700 !important;
}
.blog-post-content a{
  color: var(--design-primary) !important;
}
.blog-post-content a:hover{
  color: var(--design-primary-active) !important;
}
.blog-post-content blockquote{
  border-left: 3px solid var(--design-primary) !important;
  background: rgba(204, 120, 92, 0.04) !important;
  color: var(--design-body) !important;
}

/* Dark Mode Overrides for Blogs */
html .blog-card{
  background: #252320 !important;
  border-color: rgba(250, 249, 245, 0.10) !important;
  box-shadow: none !important;
}
html .blog-card:hover{
  background: #2a2825 !important;
  border-color: rgba(250, 249, 245, 0.16) !important;
}
html .blog-card-badge{
  background: rgba(204, 120, 92, 0.15) !important;
  border-color: rgba(204, 120, 92, 0.25) !important;
  color: var(--design-primary) !important;
}
html .blog-post{
  background: #252320 !important;
  border-color: rgba(250, 249, 245, 0.10) !important;
  box-shadow: none !important;
}
html .blog-post-content blockquote{
  border-left-color: var(--design-primary) !important;
  background: rgba(204, 120, 92, 0.08) !important;
  color: var(--design-body) !important;
}

/* ── PREMIUM SCROLL REVEAL ANIMATIONS ── */

@media (prefers-reduced-motion: no-preference){
  .scroll-reveal {
    opacity: 0 !important;
    transform: translate3d(0, 18px, 0) !important;
    transition:
      opacity 560ms var(--design-ease),
      transform 560ms var(--design-ease) !important;
    transition-delay: var(--reveal-delay, 0ms) !important;
  }

  .scroll-reveal.is-visible {
    opacity: 1 !important;
    transform: translate3d(0, 0, 0) !important;
  }

  [data-aos] {
    transition-duration: 560ms !important;
    transition-timing-function: cubic-bezier(0.22, 1, 0.36, 1) !important;
  }

  [data-aos="fade-up"] {
    transform: translate3d(0, 18px, 0) !important;
    opacity: 0 !important;
    transition-property: transform, opacity !important;
  }
  [data-aos="fade-up"].aos-animate {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
  }

  [data-aos="fade-right"] {
    transform: translate3d(-16px, 0, 0) !important;
    opacity: 0 !important;
    transition-property: transform, opacity !important;
  }
  [data-aos="fade-right"].aos-animate {
    transform: translate3d(0, 0, 0) !important;
    opacity: 1 !important;
  }

  [data-aos="zoom-in"] {
    transform: scale(0.97) translate3d(0, 8px, 0) !important;
    opacity: 0 !important;
    transition-property: transform, opacity !important;
  }
  [data-aos="zoom-in"].aos-animate {
    transform: scale(1) translate3d(0, 0, 0) !important;
    opacity: 1 !important;
  }
}

@media (max-width: 1023px) and (prefers-reduced-motion: no-preference) {
  .scroll-reveal {
    transform: translate3d(0, 10px, 0) !important;
    transition:
      opacity 340ms var(--design-ease),
      transform 340ms var(--design-ease) !important;
  }

  .char-slot {
    transition:
      opacity 340ms var(--design-ease),
      transform 340ms var(--design-ease) !important;
  }
}

/* ── Tabs/Header alignment fixes ─────────────────────── */
.tabs-section{
  top: var(--tabs-sticky-top, 78px) !important;
  z-index: 1029 !important;
  padding-top: 6px !important;
  padding-bottom: 8px !important;
}
.tabs-section.is-header-merged{
  z-index: 1032 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.tabs-nav{
  min-height: 46px !important;
  padding: 4px !important;
  gap: 4px !important;
  align-items: center !important;
}
.tabs-link{
  height: 38px !important;
  min-height: 38px !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 7px !important;
  border-radius: var(--design-radius-md) !important;
  line-height: 1 !important;
}
.tabs-link-i{
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  width: 18px !important;
  height: 18px !important;
  line-height: 1 !important;
  transform: translateY(-1px) !important;
}
.tabs-link.current .tabs-link-i{
  transform: translateY(-1px) !important;
}
.tabs-section.is-header-merged .tabs-nav{
  min-height: 46px !important;
  padding: 4px !important;
  gap: 5px !important;
}
.tabs-section.is-header-merged .tabs-link{
  flex: 0 0 36px !important;
  width: 36px !important;
  min-width: 36px !important;
  height: 36px !important;
  padding: 0 !important;
  border-radius: 999px !important;
  aspect-ratio: 1 / 1 !important;
}
.tabs-section.is-header-merged .tabs-link.current{
  background: #cc785c !important;
  color: #fff !important;
  box-shadow: 0 4px 14px rgba(204, 120, 92, 0.32) !important;
}
.tabs-section.is-header-merged .tabs-link-i{
  margin: 0 !important;
  transform: none !important;
  border-radius: 0 !important;
  background: transparent !important;
}
.tabs-section.is-header-merged .tabs-link-s{
  display: none !important;
  width: 0 !important;
  max-width: 0 !important;
  opacity: 0 !important;
  transform: none !important;
}

@media (max-width: 767px) {
  .tabs-section {
    top: var(--tabs-sticky-top, 66px) !important;
    z-index: 1029 !important;
  }

  .tabs-section.is-header-merged {
    z-index: 1032 !important;
  }

  .tabs-nav {
    min-height: 44px !important;
  }

  .tabs-link {
    height: 36px !important;
    min-height: 36px !important;
  }

  .tabs-section.is-header-merged .tabs-link {
    flex-basis: 34px !important;
    width: 34px !important;
    min-width: 34px !important;
    height: 34px !important;
    border-radius: 999px !important;
    aspect-ratio: 1 / 1 !important;
    padding: 0 !important;
  }
}

/* ═══════════════════════════════════════════════════════════════
   SCROLL SYSTEM — modern progress,
drag feel,
polished chrome
═══════════════════════════════════════════════════════════════ */
html{
  scroll-behavior: smooth !important;
}

@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto !important; }
}

/* Top progress line */
.scroll-progress{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  height: 2px;
  z-index: 100050;
  pointer-events: none;
  background: transparent;
  opacity: 0;
  transition: opacity 220ms var(--design-ease, cubic-bezier(0.22, 1, 0.36, 1));
}
.scroll-progress.is-active{
  opacity: 1;
}
.scroll-progress__bar{
  display: block;
  height: 100%;
  width: 100%;
  transform-origin: left center;
  transform: scaleX(var(--scroll-progress, 0));
  background: linear-gradient(90deg, #cc785c 0%, #e8a55a 55%, #5db8a6 100%);
  box-shadow: 0 0 12px rgba(204, 120, 92, 0.35);
  will-change: transform;
}

/* Soft edge vignette while scrolling */
.scroll-edge{
  position: fixed;
  inset: 0 0 auto 0;
  height: 72px;
  z-index: 1028;
  pointer-events: none;
  opacity: 0;
  background: linear-gradient(180deg, rgba(24, 23, 21, 0.55), transparent);
  transition: opacity 240ms var(--design-ease, cubic-bezier(0.22, 1, 0.36, 1));
}
html.is-scrolled .scroll-edge{
  opacity: 1;
}
html.is-scrolling .scroll-progress{
  opacity: 1;
}

/* Fancy scrollbar */
*{
  scrollbar-width: thin;
  scrollbar-color: rgba(204, 120, 92, 0.45) rgba(250, 249, 245, 0.04);
}
::-webkit-scrollbar{
  width: 8px;
  height: 8px;
}
::-webkit-scrollbar-track{
  background: rgba(24, 23, 21, 0.9);
}
::-webkit-scrollbar-thumb{
  background: linear-gradient(180deg, rgba(204, 120, 92, 0.55), rgba(168, 88, 62, 0.4));
  border-radius: 99px;
  border: 2px solid #181715;
}
::-webkit-scrollbar-thumb:hover{
  background: linear-gradient(180deg, rgba(204, 120, 92, 0.85), rgba(232, 165, 90, 0.55));
}
::-webkit-scrollbar-corner{
  background: #181715;
}

/* Hero subtle parallax layer */
.hero-profile{
  --hero-parallax: 0px;
}
.hero-profile::before{
  transform: translate3d(0, var(--hero-parallax), 0) !important;
  transition: none !important;
}
html.is-scroll-down .sticky-navbar:not(.is-merged){
  transform: none;
  opacity: 1;
}
.sticky-navbar{
  transition:
    transform 280ms var(--design-ease, cubic-bezier(0.22, 1, 0.36, 1)),
    opacity 280ms var(--design-ease, cubic-bezier(0.22, 1, 0.36, 1)) !important;
}

/* Horizontal tabs — drag only when overflowing; never block link clicks */
.tabs-nav.is-drag-scroll{
  cursor: grab;
  scroll-behavior: auto;
  -webkit-overflow-scrolling: touch;
  overscroll-behavior-x: contain;
  mask-image: linear-gradient(90deg, transparent, #000 12px, #000 calc(100% - 12px), transparent);
  -webkit-mask-image: linear-gradient(90deg, transparent, #000 12px, #000 calc(100% - 12px), transparent);
}
.tabs-nav.is-drag-scroll.is-dragging{
  cursor: grabbing;
  user-select: none;
}
.tabs-nav .tabs-link{
  pointer-events: auto !important;
  cursor: pointer;
}

/* Back to top — circular progress ring */
.ta-backto-top{
  position: fixed !important;
  right: 18px !important;
  bottom: 18px !important;
  z-index: 100040 !important;
  width: 48px !important;
  height: 48px !important;
  opacity: 0;
  visibility: hidden;
  transform: translate3d(0, 12px, 0) scale(0.92);
  transition:
    opacity 260ms var(--design-ease, cubic-bezier(0.22, 1, 0.36, 1)),
    transform 260ms var(--design-ease, cubic-bezier(0.22, 1, 0.36, 1)),
    visibility 260ms !important;
  pointer-events: none;
}
.ta-backto-top.is-visible{
  opacity: 1 !important;
  visibility: visible !important;
  transform: translate3d(0, 0, 0) scale(1) !important;
  pointer-events: auto !important;
}
.ta-backto-top .scroll-top-btn{
  position: relative;
  width: 48px;
  height: 48px;
  padding: 0;
  border: 0;
  border-radius: 50%;
  background: #252320;
  color: #faf9f5;
  box-shadow: 0 10px 28px rgba(0, 0, 0, 0.35);
  display: grid;
  place-items: center;
  cursor: pointer;
  overflow: visible;
}
.ta-backto-top .scroll-top-btn:hover{
  background: #2d2b27;
  color: #fff;
}
.ta-backto-top .scroll-top-btn:focus-visible{
  outline: none;
  box-shadow: 0 0 0 3px rgba(204, 120, 92, 0.28), 0 10px 28px rgba(0, 0, 0, 0.35);
}
.ta-backto-top .scroll-top-ring{
  position: absolute;
  inset: 0;
  transform: rotate(-90deg);
  pointer-events: none;
}
.ta-backto-top .scroll-top-ring circle{
  fill: none;
  stroke-width: 2.5;
  stroke-linecap: round;
}
.ta-backto-top .scroll-top-ring .ring-track{
  stroke: rgba(250, 249, 245, 0.1);
}
.ta-backto-top .scroll-top-ring .ring-value{
  stroke: #cc785c;
  stroke-dasharray: 113.1;
  stroke-dashoffset: 113.1;
  transition: stroke-dashoffset 120ms linear;
}
.ta-backto-top .scroll-top-btn i,
.ta-backto-top .scroll-top-btn .ph,
.ta-backto-top .scroll-top-icon{
  position: relative;
  z-index: 1;
}
.ta-backto-top .scroll-top-icon{
  width: 16px;
  height: 16px;
  display: block;
}

/* Section scroll cue */
.profile-section{
  scroll-margin-top: 96px;
}

@media (max-width: 1023px) {
  .scroll-progress {
    height: 1.5px;
  }

  .scroll-edge {
    height: 48px;
    opacity: 0 !important;
  }

  .hero-profile::before {
    transform: none !important;
  }

  html.is-scroll-down .sticky-navbar {
    transform: none;
    opacity: 1;
  }

  .ta-backto-top {
    right: 14px !important;
    bottom: 14px !important;
    width: 44px !important;
    height: 44px !important;
  }

  .ta-backto-top .scroll-top-btn {
    width: 44px;
    height: 44px;
  }
}

@media (prefers-reduced-motion: reduce) {
  .scroll-progress,
  .scroll-edge,
  .ta-backto-top,
  .sticky-navbar {
    transition: none !important;
  }

  .hero-profile::before {
    transform: none !important;
  }

  html.is-scroll-down .sticky-navbar {
    transform: none;
  }
}

/* Base CTA buttons */
.hero-action-btn,
.website-btn,
.qr-modal-btn,
.qr-modal-copy,
.social-popup-btn,
.social-popup-copy,
.footer-action-link {
  min-height: 40px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 8px !important;
  padding: 0 18px !important;
  border-radius: var(--design-radius-md) !important;
  border: 1px solid transparent !important;
  font-size: 14px !important;
  font-weight: 500 !important;
  text-decoration: none !important;
  box-shadow: none !important;
  transition: color 160ms var(--design-ease), background 160ms var(--design-ease), border-color 160ms var(--design-ease), transform 160ms var(--design-ease) !important;
}

.hero-action-btn--fb,
.website-btn,
.qr-modal-btn,
.social-popup-btn,
.footer-action-link {
  background: var(--design-primary) !important;
  color: var(--design-on-primary) !important;
}

.hero-action-btn--tg,
.hero-action-btn--mail,
.qr-modal-copy,
.social-popup-copy {
  background: var(--design-canvas) !important;
  color: var(--design-ink) !important;
  border-color: var(--design-hairline) !important;
}

.hero-action-btn:hover,
.website-btn:hover,
.qr-modal-btn:hover,
.qr-modal-copy:hover,
.social-popup-btn:hover,
.social-popup-copy:hover,
.footer-action-link:hover {
  transform: translateY(-1px) !important;
  color: var(--design-on-primary) !important;
  background: var(--design-primary-active) !important;
  border-color: transparent !important;
}

.hero-action-btn--tg:hover,
.hero-action-btn--mail:hover,
.qr-modal-copy:hover,
.social-popup-copy:hover {
  color: var(--design-ink) !important;
  background: var(--design-surface-card) !important;
  border-color: var(--design-primary-disabled) !important;
}

/* == readable helper text (dark) == */
html .form-text,
html .text-muted,
html .section-subtitle,
html .profile-section-kicker {
  color: #c4c0b6 !important;
  opacity: 1 !important;
}
html .form-control::placeholder,
html .form-select::placeholder,
html textarea.form-control::placeholder {
  color: #b8b4a8 !important;
  opacity: 1 !important;
}
html .form-control,
html .form-select,
html textarea.form-control {
  color: var(--design-ink, #faf9f5) !important;
  caret-color: var(--design-ink, #faf9f5) !important;
}
