/* ==============================================================================
   Test Arena — International Non-Profit 14-Day Google Play Closed Testing Platform
   Master Stylesheet: Professional Elite SaaS Template, Refined Weight Typography,
   High-Legibility Digit 1 & Ultra-Polished App Shell UX
   ============================================================================== */

@import url('https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Noto+Sans+Bengali:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&family=IBM+Plex+Sans:wght@400;500;600;700&family=Anek+Bangla:wght@400;500;600;700&family=Baloo+Da+2:wght@400;500;600;700&display=swap');

:root {
  /* Dynamic CSS Theme Variables (Live Customizable via Admin CMS) */
  --primary-color: #5577b6;
  --primary-hover: #405f98;
  --primary-light: rgba(85, 119, 182, 0.12);
  --secondary-color: #6c907d;
  --secondary-hover: #557661;
  --accent-color: #b78d50;
  --danger-color: #ef4444;
  --bg-color: #111821;
  --surface-color: #19222f;
  --surface-hover: #222e3e;
  --card-bg: rgba(25, 34, 47, 0.96);
  --border-color: rgba(255, 255, 255, 0.08);
  --border-hover: rgba(111, 140, 189, 0.42);
  --text-primary: #f8fafc;
  --text-secondary: #94a3b8;
  --text-muted: #64748b;
  --text-color: #f8fafc;
  --glass-blur: 16px;
  --card-radius: 14px;
  --btn-radius: 10px;
  --font-scale: 1;

  /* Typography Font Stacks (Strict Web Fonts: No system/device fonts) */
  --font-ui-en: 'Inter', 'Plus Jakarta Sans', 'IBM Plex Sans';
  --font-ui-bn: 'Noto Sans Bengali', 'Anek Bangla', sans-serif;
  --font-num: 'IBM Plex Sans', 'Baloo Da 2';
}

/* Light Mode Overrides when enabled */
[data-theme="light"] {
  --bg-color: #f8fafc;
  --surface-color: #ffffff;
  --surface-hover: #f1f5f9;
  --card-bg: rgba(255, 255, 255, 0.95);
  --border-color: rgba(0, 0, 0, 0.08);
  --border-hover: rgba(59, 130, 246, 0.4);
  --text-primary: #0f172a;
  --text-secondary: #475569;
  --text-muted: #94a3b8;
  --text-color: #0f172a;
}

/* Base Reset & Core Body */
*, *::before, *::after {
  box-sizing: border-box;
  margin: 0;
  padding: 0;
}

html {
  font-size: 16px;
  scroll-behavior: smooth;
  -webkit-text-size-adjust: 100%;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
}

body {
  background-color: var(--bg-color);
  color: var(--text-primary);
  font-family: var(--font-ui-en);
  font-weight: 400;
  letter-spacing: -0.011em;
  line-height: 1.6;
  overflow-x: hidden;
  min-height: 100vh;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
  text-rendering: optimizeLegibility;
  transition: background-color 0.25s ease, color 0.25s ease;
}

body.lang-bn {
  font-family: var(--font-ui-bn);
  letter-spacing: 0;
}

/* Global Font Smoothing & Typography Refinements */
h1, h2, h3, h4, h5, h6 {
  font-family: inherit;
  letter-spacing: -0.025em;
  line-height: 1.25;
}

/* Tabular & Ultra-Legible Digit "1" / "১" Font System */
.num-font,
.font-num,
[data-num] {
  font-family: var(--font-num) !important;
  font-variant-numeric: tabular-nums;
  letter-spacing: -0.015em;
  font-feature-settings: "tnum" 1, "cv01" 1, "cv02" 1;
}

/* Ensure no text selection on touch UI controls */
.no-select,
button,
nav,
.tab-item,
.badge-fluid {
  user-select: none;
  -webkit-user-select: none;
}

/* Typography Gradient Utilities */
.text-gradient {
  background: linear-gradient(180deg, #f1f4f8 20%, #b1bdce 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

.text-gradient-brand {
  background: linear-gradient(135deg, #91a9d0 0%, #6684b5 50%, #8094b7 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
}

/* ==============================================================================
   CRITICAL RESPONSIVE & FLUID NOWRAP RULES
   ZERO awkward 2-line wraps across 320px, 480px, 768px, 1024px, 1440px+
   ============================================================================== */

/* Buttons Fluid Single-Line */
.btn-fluid {
  white-space: nowrap !important;
  font-size: clamp(0.72rem, 1.8vw, 0.875rem);
  padding: clamp(0.42rem, 1.2vw, 0.65rem) clamp(0.75rem, 2vw, 1.15rem);
  border-radius: var(--btn-radius);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0.45rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
  border: 1px solid transparent;
  flex-shrink: 0;
}

.btn-fluid:active {
  transform: scale(0.97);
}

.btn-primary {
  background: #5577b6;
  color: #ffffff;
  border: 1px solid rgba(255, 255, 255, 0.15);
  box-shadow: 0 2px 5px rgba(17, 24, 39, 0.16);
}

.btn-primary:hover {
  background: #405f98;
  box-shadow: 0 3px 8px rgba(17, 24, 39, 0.2);
}

.btn-secondary {
  background: rgba(255, 255, 255, 0.04);
  color: #e2e8f0;
  border: 1px solid rgba(255, 255, 255, 0.09);
  box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.05);
}

.btn-secondary:hover {
  background: rgba(255, 255, 255, 0.08);
  border-color: rgba(255, 255, 255, 0.18);
  color: #ffffff;
}

/* Tabs Fluid Single-Line */
.tab-fluid {
  white-space: nowrap !important;
  font-size: clamp(0.72rem, 1.6vw, 0.85rem);
  padding: clamp(0.38rem, 1vw, 0.55rem) clamp(0.65rem, 1.6vw, 1rem);
  border-radius: var(--btn-radius);
  display: inline-flex;
  align-items: center;
  gap: 0.4rem;
  font-weight: 500;
  letter-spacing: -0.01em;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  cursor: pointer;
  flex-shrink: 0;
}

/* Badges Fluid Single-Line */
.badge-fluid {
  white-space: nowrap !important;
  font-size: clamp(0.62rem, 1.5vw, 0.75rem);
  padding: clamp(0.2rem, 0.6vw, 0.3rem) clamp(0.45rem, 1.2vw, 0.7rem);
  border-radius: 9999px;
  display: inline-flex;
  align-items: center;
  gap: 0.3rem;
  font-weight: 500;
  letter-spacing: -0.005em;
  flex-shrink: 0;
}

/* Single-Line Fluid Headings and Truncation */
.title-fluid {
  font-size: clamp(1.05rem, 2.5vw, 1.45rem);
  font-weight: 550;
  letter-spacing: -0.025em;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}

.hero-title {
  font-size: clamp(1.95rem, 5.2vw, 3.4rem);
  font-weight: 600;
  line-height: 1.15;
  letter-spacing: -0.035em;
}

.hero-subtitle {
  font-size: clamp(0.95rem, 1.8vw, 1.15rem);
  line-height: 1.65;
  font-weight: 400;
  color: var(--text-secondary);
  letter-spacing: -0.01em;
}

/* Fluid Auto Grid */
.fluid-grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(clamp(270px, 100%, 340px), 1fr));
  gap: clamp(1rem, 2vw, 1.5rem);
  width: 100%;
}

/* Bento Grid */
.bento-grid {
  display: grid;
  grid-template-columns: repeat(1, 1fr);
  gap: 1.25rem;
}

@media (min-width: 640px) {
  .bento-grid {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 1024px) {
  .bento-grid {
    grid-template-columns: repeat(3, 1fr);
  }
  .bento-span-2 {
    grid-column: span 2;
  }
}

/* Professional Glassmorphic Card */
.glass-card {
  background: var(--card-bg);
  backdrop-filter: blur(var(--glass-blur, 16px));
  -webkit-backdrop-filter: blur(var(--glass-blur, 16px));
  border: 1px solid var(--border-color);
  border-radius: var(--card-radius);
  box-shadow: 0 3px 12px -3px rgba(0, 0, 0, 0.24);
  transition: transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), border-color 0.2s ease, box-shadow 0.2s ease;
}

.glass-card:hover {
  border-color: var(--border-hover);
  box-shadow: 0 8px 20px -5px rgba(0, 0, 0, 0.3);
  transform: translateY(-2px);
}

/* Ambient SaaS Background Accents */
.hero-glow {
  position: absolute;
  width: 700px;
  height: 450px;
  background: radial-gradient(circle at center, rgba(112, 132, 166, 0.08) 0%, rgba(112, 132, 166, 0.035) 45%, transparent 70%);
  filter: blur(72px);
  pointer-events: none;
  z-index: -10;
}

.bg-dot-pattern {
  background-image: radial-gradient(rgba(255, 255, 255, 0.035) 1px, transparent 1px);
  background-size: 24px 24px;
  mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, #000 60%, transparent 100%);
  -webkit-mask-image: radial-gradient(ellipse 70% 60% at 50% 30%, #000 60%, transparent 100%);
}

/* ==============================================================================
   NATIVE MOBILE APP SHELL UX (< 768px)
   ============================================================================== */

/* Mobile Bottom Navigation Bar */
.mobile-bottom-nav {
  position: fixed;
  bottom: 0;
  left: 0;
  right: 0;
  z-index: 50;
  background: rgba(14, 21, 38, 0.94);
  backdrop-filter: blur(18px);
  -webkit-backdrop-filter: blur(18px);
  border-top: 1px solid var(--border-color);
  display: flex;
  align-items: center;
  justify-content: space-around;
  padding: 0.45rem 0.5rem calc(0.45rem + env(safe-area-inset-bottom, 0px));
  box-shadow: 0 -4px 25px rgba(0, 0, 0, 0.5);
}

@media (min-width: 768px) {
  .mobile-bottom-nav {
    display: none !important;
  }
}

.mobile-nav-item {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  padding: 0.25rem 0.5rem;
  border-radius: 10px;
  color: var(--text-muted);
  text-decoration: none;
  font-size: clamp(0.65rem, 1.8vw, 0.75rem);
  font-weight: 500;
  transition: all 0.15s ease;
  white-space: nowrap;
  flex: 1;
}

.mobile-nav-item.active {
  color: #3b82f6;
  font-weight: 500;
  transform: translateY(-1px);
}

.mobile-nav-item svg,
.mobile-nav-item i {
  width: 20px;
  height: 20px;
  margin-bottom: 2px;
}

/* Safe padding container for pages on mobile so bottom bar does not block content */
.mobile-content-pad {
  padding-bottom: clamp(4.5rem, 12vw, 5.5rem);
}

@media (min-width: 768px) {
  .mobile-content-pad {
    padding-bottom: 2.5rem;
  }
}

/* Slide-up Bottom Sheet for Modals on Mobile & Centered Dialog on Desktop */
.bottom-sheet {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 60;
  background: var(--surface-color);
  border-top-left-radius: 20px;
  border-top-right-radius: 20px;
  border-top: 1px solid var(--border-color);
  max-height: 90vh;
  overflow-y: auto;
  box-shadow: 0 -10px 40px rgba(0, 0, 0, 0.6);
  transform: translateY(100%);
  visibility: hidden;
  pointer-events: none;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.28s;
}

.bottom-sheet.open {
  transform: translateY(0);
  visibility: visible;
  pointer-events: auto;
}

@media (min-width: 768px) {
  .bottom-sheet {
    top: 50% !important;
    left: 50% !important;
    right: auto !important;
    bottom: auto !important;
    transform: translate(-50%, -46%) scale(0.96) !important;
    border-radius: var(--card-radius);
    max-height: 85vh;
    border: 1px solid var(--border-color);
    box-shadow: 0 20px 50px rgba(0, 0, 0, 0.6), inset 0 1px 0 0 rgba(255, 255, 255, 0.08);
    opacity: 0;
    visibility: hidden;
    pointer-events: none;
    transition: opacity 0.2s ease, transform 0.2s cubic-bezier(0.16, 1, 0.3, 1), visibility 0.2s;
  }

  .bottom-sheet.open {
    transform: translate(-50%, -50%) scale(1) !important;
    opacity: 1;
    visibility: visible;
    pointer-events: auto;
  }
}

/* Modal Overlay */
.modal-overlay {
  position: fixed;
  inset: 0;
  z-index: 55;
  background: rgba(4, 7, 14, 0.75);
  backdrop-filter: blur(6px);
  -webkit-backdrop-filter: blur(6px);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s ease;
}

.modal-overlay.open {
  opacity: 1;
  pointer-events: auto;
}

/* Custom Scrollbars */
::-webkit-scrollbar {
  width: 5px;
  height: 5px;
}

::-webkit-scrollbar-track {
  background: rgba(0, 0, 0, 0.15);
}

::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.15);
  border-radius: 9999px;
}

::-webkit-scrollbar-thumb:hover {
  background: rgba(255, 255, 255, 0.28);
}

/* Pulsing Timer Ring */
@keyframes timerPulse {
  0% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0.55); }
  70% { box-shadow: 0 0 0 14px rgba(59, 130, 246, 0); }
  100% { box-shadow: 0 0 0 0 rgba(59, 130, 246, 0); }
}

.timer-active {
  animation: timerPulse 1.5s infinite;
}

/* Progress Bar Day Step */
.step-day-bar {
  display: flex;
  gap: 3px;
  width: 100%;
  height: 6px;
  border-radius: 9999px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.08);
}

.step-day-seg {
  flex: 1;
  background: rgba(255, 255, 255, 0.1);
  transition: background-color 0.3s ease;
}

.step-day-seg.done {
  background: #10b981;
}

.step-day-seg.active {
  background: #3b82f6;
  animation: pulse 1s infinite alternate;
}

/* Language Toggle Pill */
.lang-toggle-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.3rem 0.65rem;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--border-color);
  font-size: clamp(0.72rem, 1.8vw, 0.82rem);
  font-weight: 500;
  color: var(--text-primary);
  cursor: pointer;
  transition: all 0.2s ease;
  white-space: nowrap;
}

.lang-toggle-btn:hover {
  background: rgba(255, 255, 255, 0.12);
  border-color: rgba(255, 255, 255, 0.2);
}

/* Toast Notification */
.toast-msg {
  position: fixed;
  top: 1.25rem;
  right: 1.25rem;
  z-index: 9999;
  display: flex;
  align-items: center;
  gap: 0.6rem;
  padding: 0.7rem 1.2rem;
  border-radius: 12px;
  background: rgba(14, 21, 38, 0.96);
  border: 1px solid rgba(255, 255, 255, 0.15);
  color: #fff;
  box-shadow: 0 10px 30px rgba(0, 0, 0, 0.5), inset 0 1px 0 0 rgba(255, 255, 255, 0.1);
  font-size: 0.85rem;
  font-weight: 500;
  backdrop-filter: blur(12px);
  transform: translateY(-20px);
  opacity: 0;
  pointer-events: none;
  transition: transform 0.28s cubic-bezier(0.16, 1, 0.3, 1), opacity 0.28s ease;
}

.toast-msg.show {
  transform: translateY(0);
  opacity: 1;
  pointer-events: auto;
}

/* ==============================================================================
   DESKTOP COLLAPSIBLE SAAS SIDEBAR (Tablet & Desktop >= 768px)
   ============================================================================== */
.desktop-sidebar {
  display: none;
  flex-direction: column;
  justify-content: space-between;
  width: 250px;
  min-width: 250px;
  background: var(--surface-color);
  border-right: 1px solid var(--border-color);
  transition: width 0.25s cubic-bezier(0.16, 1, 0.3, 1), min-width 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  overflow-x: hidden;
  position: sticky;
  top: 0;
  height: 100vh;
  z-index: 30;
}

@media (min-width: 768px) {
  .desktop-sidebar {
    display: flex;
  }
}

.desktop-sidebar.collapsed {
  width: 72px;
  min-width: 72px;
}

.desktop-sidebar.collapsed .sidebar-label,
.desktop-sidebar.collapsed .sidebar-user-info,
.desktop-sidebar.collapsed .sidebar-badge-count,
.desktop-sidebar.collapsed .sidebar-brand-text,
.desktop-sidebar.collapsed .sidebar-section-title {
  display: none !important;
}

.desktop-sidebar.collapsed .sidebar-nav-btn {
  justify-content: center;
  padding: 0.65rem 0;
}

.sidebar-nav-btn {
  display: flex;
  align-items: center;
  gap: 0.65rem;
  width: 100%;
  padding: 0.55rem 0.75rem;
  border-radius: 9px;
  font-size: clamp(0.75rem, 1.4vw, 0.83rem);
  font-weight: 500;
  color: var(--text-secondary);
  background: transparent;
  border: 1px solid transparent;
  cursor: pointer;
  transition: all 0.18s ease;
  white-space: nowrap !important;
}

.sidebar-nav-btn:hover {
  background: rgba(255, 255, 255, 0.05);
  color: var(--text-primary);
}

.sidebar-nav-btn.active {
  background: rgba(59, 130, 246, 0.15);
  color: #60a5fa;
  border-color: rgba(59, 130, 246, 0.3);
  font-weight: 500;
  box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.05);
}

.sidebar-toggle-btn {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  padding: 0.45rem;
  border-radius: 8px;
  background: rgba(255, 255, 255, 0.04);
  border: 1px solid var(--border-color);
  color: var(--text-muted);
  font-size: 0.72rem;
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s ease;
}

.sidebar-toggle-btn:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #fff;
}

/* ==============================================================================
   TOP ANNOUNCEMENT BAR
   ============================================================================== */
.announcement-bar {
  background: linear-gradient(90deg, rgba(37, 99, 235, 0.15) 0%, rgba(99, 102, 241, 0.15) 100%);
  border-bottom: 1px solid rgba(59, 130, 246, 0.2);
  padding: 0.35rem 1rem;
  text-align: center;
  font-size: clamp(0.7rem, 1.8vw, 0.8rem);
  font-weight: 500;
  color: #bfdbfe;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 0.6rem;
  position: relative;
  z-index: 45;
}

.announcement-bar.hidden {
  display: none !important;
}

/* Template UI Component Enhancements */
.hero-badge-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  padding: 0.35rem 0.85rem;
  border-radius: 9999px;
  background: rgba(59, 130, 246, 0.08);
  border: 1px solid rgba(59, 130, 246, 0.25);
  font-size: clamp(0.72rem, 1.6vw, 0.82rem);
  font-weight: 500;
  color: #93c5fd;
  box-shadow: 0 0 15px -3px rgba(59, 130, 246, 0.25);
}

.feature-icon-box {
  width: 44px;
  height: 44px;
  border-radius: 12px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid rgba(255, 255, 255, 0.1);
  box-shadow: inset 0 1px 0 0 rgba(255, 255, 255, 0.08);
}

.window-mockup {
  border-radius: 14px;
  border: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(14, 21, 38, 0.9);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  box-shadow: 0 25px 60px -15px rgba(0, 0, 0, 0.7), inset 0 1px 0 0 rgba(255, 255, 255, 0.1);
  overflow: hidden;
}

.window-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  padding: 0.65rem 1rem;
  background: rgba(255, 255, 255, 0.03);
  border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.window-dots {
  display: flex;
  gap: 6px;
}

.window-dot {
  width: 10px;
  height: 10px;
  border-radius: 50%;
}

/* ==============================================================================
   CLEAN ENTERPRISE SINGLE-LANGUAGE SELECTOR (Dropdown menu without language collisions)
   ============================================================================== */
.lang-selector-dropdown {
  position: relative;
  display: inline-block;
  user-select: none;
}

.lang-selector-btn {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.35rem 0.75rem;
  border-radius: 9999px;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--border-color);
  color: var(--text-primary);
  font-size: clamp(0.72rem, 1.4vw, 0.8rem);
  font-weight: 500;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  white-space: nowrap !important;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}

.lang-selector-btn:hover {
  background: rgba(255, 255, 255, 0.1);
  border-color: rgba(255, 255, 255, 0.25);
  color: #ffffff;
}

.lang-dropdown-panel {
  position: absolute;
  top: calc(100% + 6px);
  right: 0;
  min-width: 140px;
  background: #0e1526;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 12px;
  padding: 5px;
  box-shadow: 0 16px 36px rgba(0, 0, 0, 0.65), 0 0 0 1px rgba(255, 255, 255, 0.06);
  backdrop-filter: blur(20px);
  -webkit-backdrop-filter: blur(20px);
  z-index: 9999;
  display: flex;
  flex-direction: column;
  gap: 2px;
}

.lang-dropdown-panel.hidden {
  display: none !important;
}

.lang-dropdown-option {
  display: flex;
  align-items: center;
  gap: 0.5rem;
  width: 100%;
  padding: 0.45rem 0.7rem;
  border-radius: 8px;
  background: transparent;
  border: none;
  color: var(--text-secondary);
  cursor: pointer;
  text-align: left;
  transition: all 0.15s ease;
}

.lang-dropdown-option:hover {
  background: rgba(255, 255, 255, 0.08);
  color: #ffffff;
}

.lang-dropdown-option.active {
  background: rgba(59, 130, 246, 0.15);
  color: #60a5fa;
  font-weight: 600;
}

.lang-opt-dot {
  width: 6px;
  height: 6px;
  border-radius: 50%;
  background: transparent;
  transition: background-color 0.15s ease;
}

.lang-dropdown-option.active .lang-opt-dot {
  background: #3b82f6;
  box-shadow: 0 0 6px #3b82f6;
}

.lang-switcher-wrap {
  display: inline-flex;
  align-items: center;
  background: rgba(255, 255, 255, 0.05);
  border: 1px solid var(--border-color);
  border-radius: 9999px;
  padding: 2px 4px;
  gap: 2px;
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
  transition: all 0.2s ease;
  user-select: none;
}

.lang-switcher-wrap:hover {
  border-color: rgba(255, 255, 255, 0.2);
  background: rgba(255, 255, 255, 0.08);
}

.lang-opt-btn {
  background: transparent;
  border: none;
  border-radius: 9999px;
  color: var(--text-secondary);
  font-size: clamp(0.7rem, 1.4vw, 0.78rem);
  font-weight: 600;
  padding: 3px 9px;
  cursor: pointer;
  transition: all 0.2s cubic-bezier(0.16, 1, 0.3, 1);
  white-space: nowrap !important;
  line-height: 1.3;
}

.lang-opt-btn:hover {
  color: #fff;
}

.lang-opt-btn.active {
  background: var(--primary-color);
  color: #ffffff;
  box-shadow: 0 2px 8px rgba(59, 130, 246, 0.4);
}

.lang-opt-divider {
  color: rgba(255, 255, 255, 0.2);
  font-size: 0.65rem;
  padding: 0 1px;
}

/* ==============================================================================
   USER PROFILE — ENTERPRISE DEVELOPER IDENTITY & PERFORMANCE KPIS
   ============================================================================== */
.profile-hero-banner {
  height: 130px;
  background: linear-gradient(135deg, #1e3a8a 0%, #312e81 40%, #1e1b4b 100%);
  border-radius: var(--card-radius) var(--card-radius) 0 0;
  position: relative;
  overflow: hidden;
}

.profile-hero-banner::after {
  content: '';
  position: absolute;
  inset: 0;
  background-image: radial-gradient(rgba(255, 255, 255, 0.15) 1px, transparent 1px);
  background-size: 16px 16px;
  opacity: 0.6;
}

.profile-avatar-wrapper {
  position: relative;
  margin-top: -46px;
  display: block;
  width: 88px;
  height: 88px;
  flex: 0 0 88px;
  aspect-ratio: 1 / 1;
}

.profile-hero-header { position:relative; z-index:1; }

.profile-avatar-img {
  display: block;
  width: 100%;
  height: 100%;
  box-sizing: border-box;
  flex: none;
  aspect-ratio: 1 / 1;
  border-radius: 50%;
  border: 4px solid var(--surface-color);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5);
  object-fit: cover;
  object-position: center;
  overflow: hidden;
  background: #1e293b;
}

.avatar-online-dot {
  position: absolute;
  bottom: 6px;
  right: 6px;
  width: 14px;
  height: 14px;
  border-radius: 50%;
  background: #10b981;
  border: 2px solid var(--surface-color);
  box-shadow: 0 0 8px #10b981;
}

.trust-gauge-circle {
  width: 90px;
  height: 90px;
  min-width: 90px;
  min-height: 90px;
  max-width: 90px;
  max-height: 90px;
  aspect-ratio: 1 / 1;
  flex: 0 0 90px;
  box-sizing: border-box;
  border-radius: 50%;
  background: conic-gradient(#10b981 var(--trust-deg, 360deg), rgba(255, 255, 255, 0.08) 0deg);
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 8px;
  box-shadow: 0 0 20px rgba(16, 185, 129, 0.2);
}

.trust-gauge-inner {
  width: 100%;
  height: 100%;
  border-radius: 50%;
  background: var(--surface-color);
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
}

.streak-calendar-grid {
  display: flex;
  gap: 6px;
  align-items: center;
  justify-content: space-between;
}

.streak-day-box {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 4px;
}

.streak-dot {
  width: 22px;
  height: 22px;
  border-radius: 6px;
  background: rgba(255, 255, 255, 0.06);
  border: 1px solid var(--border-color);
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 10px;
  color: var(--text-muted);
  transition: all 0.2s ease;
}

.streak-dot.active {
  background: #f59e0b;
  border-color: #f59e0b;
  color: #000;
  box-shadow: 0 0 10px rgba(245, 158, 11, 0.4);
  font-weight: 700;
}

.streak-dot.today {
  border-color: #60a5fa;
  box-shadow: 0 0 8px rgba(96, 165, 250, 0.5);
}

/* ==============================================================================
   SVG ANALYTICS CHARTS & ADMIN DATA VISUALIZATIONS
   ============================================================================== */
.chart-card {
  background: var(--card-bg);
  border: 1px solid var(--border-color);
  border-radius: var(--card-radius);
  padding: 1.25rem;
}

.tp-chart {
  width: 100%;
  height: 200px;
  overflow: visible;
}

.chart-legend {
  display: flex;
  gap: 1.2rem;
  flex-wrap: wrap;
  align-items: center;
  font-size: 0.76rem;
  color: var(--text-secondary);
  margin-top: 0.8rem;
  padding-top: 0.6rem;
  border-top: 1px solid rgba(255, 255, 255, 0.06);
}

.chart-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.chart-legend .sw {
  width: 12px;
  height: 12px;
  border-radius: 3px;
  display: inline-block;
}

/* ==============================================================================
   LEGAL DOCUMENT & HELP PAGES STYLING (100% PURE SEPARATION)
   ============================================================================== */
.legal-body {
  max-width: 820px;
  margin: 0 auto;
  line-height: 1.75;
}

.legal-body h1 {
  font-size: clamp(1.6rem, 3.5vw, 2.2rem);
  font-weight: 700;
  margin-bottom: 0.5rem;
}

.legal-body h2 {
  font-size: clamp(1.1rem, 2vw, 1.3rem);
  font-weight: 600;
  color: #ffffff;
  margin-top: 2rem;
  margin-bottom: 0.75rem;
  padding-bottom: 0.35rem;
  border-bottom: 1px solid rgba(255, 255, 255, 0.08);
}

.legal-body p {
  color: var(--text-secondary);
  font-size: clamp(0.85rem, 1.6vw, 0.95rem);
  margin-bottom: 1rem;
}

.legal-body ul, .legal-body ol {
  color: var(--text-secondary);
  font-size: clamp(0.85rem, 1.6vw, 0.95rem);
  margin-left: 1.5rem;
  margin-bottom: 1.25rem;
}

.legal-body li {
  margin-bottom: 0.5rem;
}

.legal-body strong, .legal-body b {
  color: #ffffff;
}

/* Table scroll wrapper with sleek custom scrollbar */
.table-responsive-box {
  width: 100%;
  overflow-x: auto;
  scrollbar-width: thin;
  scrollbar-color: rgba(255, 255, 255, 0.2) transparent;
}

.table-responsive-box::-webkit-scrollbar {
  height: 6px;
}

.table-responsive-box::-webkit-scrollbar-thumb {
  background: rgba(255, 255, 255, 0.18);
  border-radius: 9999px;
}

/* ==============================================================================
   ENTERPRISE CUSTOM MODALS (Zero browser prompt / confirm dialogs)
   ============================================================================== */
.custom-modal-backdrop {
  position: fixed;
  inset: 0;
  background: rgba(8, 12, 20, 0.85);
  backdrop-filter: blur(12px);
  -webkit-backdrop-filter: blur(12px);
  z-index: 100;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1rem;
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.25s cubic-bezier(0.16, 1, 0.3, 1);
}

.custom-modal-backdrop.active {
  opacity: 1;
  pointer-events: auto;
}

.custom-modal-box {
  width: 100%;
  max-width: 520px;
  background: #0e1526;
  border: 1px solid rgba(255, 255, 255, 0.14);
  border-radius: 20px;
  padding: 1.5rem;
  box-shadow: 0 24px 64px rgba(0, 0, 0, 0.75), 0 0 0 1px rgba(255, 255, 255, 0.05);
  transform: translateY(12px) scale(0.98);
  transition: transform 0.25s cubic-bezier(0.16, 1, 0.3, 1);
  max-height: 90vh;
  overflow-y: auto;
}

.custom-modal-backdrop.active .custom-modal-box {
  transform: translateY(0) scale(1);
}

/* Duration compliance indicator */
.duration-compliance-pill {
  display: inline-flex;
  align-items: center;
  gap: 0.35rem;
  padding: 0.25rem 0.65rem;
  border-radius: 9999px;
  font-size: 0.72rem;
  font-weight: 600;
}

.duration-compliance-pill.verified {
  background: rgba(16, 185, 129, 0.15);
  color: #34d399;
  border: 1px solid rgba(16, 185, 129, 0.3);
}

.duration-compliance-pill.warning {
  background: rgba(245, 158, 11, 0.15);
  color: #fbbf24;
  border: 1px solid rgba(245, 158, 11, 0.3);
}

.duration-compliance-pill.cheat {
  background: rgba(239, 68, 68, 0.15);
  color: #f87171;
  border: 1px solid rgba(239, 68, 68, 0.3);
}

/* Telemetry Duration Meter Bar */
.telemetry-meter-bar {
  display: flex;
  height: 8px;
  border-radius: 9999px;
  overflow: hidden;
  background: rgba(255, 255, 255, 0.08);
  gap: 2px;
}

.telemetry-meter-bar .seg-pass {
  background: #10b981;
}

.telemetry-meter-bar .seg-warn {
  background: #f59e0b;
}

.telemetry-meter-bar .seg-fail {
  background: #ef4444;
}



/* Test Arena landing refresh: calm, readable surfaces with one restrained blue accent. */
.site-header {
  position: sticky;
  top: 0;
  z-index: 40;
  background: rgba(255, 255, 255, 0.94);
  border-bottom: 1px solid #e7eaf0;
  backdrop-filter: blur(16px);
  -webkit-backdrop-filter: blur(16px);
}
.site-header-inner, .site-footer-inner {
  width: min(100% - 2.5rem, 1180px);
  margin: 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 1.5rem;
}
.site-header-inner { min-height: 76px; }
.site-content-page > header { padding:0 !important; }
.site-content-page > header > .site-header-inner { width:min(100% - 2.5rem,1380px); min-height:76px; }
.site-content-page > footer > .site-footer-inner { width:min(100% - 2.5rem,1380px); }
.site-brand { display: inline-flex; align-items: center; gap: .7rem; color: #17233b; text-decoration: none; flex-shrink: 0; }
.site-brand-mark { width: 38px; height: 38px; display: grid; place-items: center; border-radius: 12px; color: #fff; background: #315fba; font: 600 1rem var(--font-num); }
.site-brand-mark-small { width: 28px; height: 28px; border-radius: 9px; font-size: .75rem; }
.site-brand-copy { display: grid; line-height: 1.1; }
.site-brand-copy strong { font-size: .98rem; letter-spacing: -.03em; }
.site-brand-copy small { margin-top: 4px; color: #788399; font-size: .61rem; letter-spacing: .09em; text-transform: uppercase; }
.site-nav, .site-actions { display: flex; align-items: center; gap: 1.25rem; }
.site-nav a, .site-link-button { color: #526078; text-decoration: none; font-size: .82rem; font-weight: 500; transition: color .15s ease; }
.site-nav a:hover, .site-link-button:hover { color: #315fba; }
.site-home .site-nav,
.site-content-page > header nav { gap:.22rem; }
.site-home .site-nav a,
.site-content-page > header nav a { display:inline-flex; align-items:center; justify-content:center; min-height:36px; padding:.42rem .66rem; border:1px solid transparent; border-radius:9px; background:transparent; color:#53627a; font-size:.77rem; font-weight:500; line-height:1.1; text-decoration:none; white-space:nowrap; transition:background .16s ease,border-color .16s ease,color .16s ease,box-shadow .16s ease; }
.site-home .site-nav a:hover,
.site-home .site-nav a:focus-visible,
.site-content-page > header nav a:hover,
.site-content-page > header nav a:focus-visible { border-color:#dce5f1; background:#f2f6fb; color:#315fba; outline:none; }
.site-content-page > header nav a.text-white.font-semibold { border-color:#d8e4f4; background:#edf3fb; color:#315fba !important; font-weight:600; }
.site-home .site-nav a:focus-visible,
.site-content-page > header nav a:focus-visible { box-shadow:0 0 0 3px rgba(49,95,186,.16); }
.site-actions { gap: .55rem; }
.site-link-button, .site-button { display: inline-flex; align-items: center; justify-content: center; gap: .5rem; min-height: 40px; padding: .55rem .85rem; border: 1px solid transparent; border-radius: 9px; background: transparent; text-decoration: none; font: 500 .82rem var(--font-ui-en); white-space: nowrap; cursor: pointer; transition: background .16s ease, border-color .16s ease, color .16s ease, transform .16s ease; }
.site-link-button { color: #526078; }
.site-button svg, .site-link-button svg { width: 16px; height: 16px; }
.site-button:hover { transform: translateY(-1px); }
.site-button-primary { color: #fff; background: #315fba; border-color: #315fba; }
.site-button-primary:hover { color: #fff; background: #264f9e; border-color: #264f9e; }
.site-button-quiet, .site-button-outline { color: #34435b; background: #fff; border-color: #dce2eb; }
.site-button-quiet:hover, .site-button-outline:hover { background: #f4f6fa; border-color: #c8d1df; }
.site-button-large { min-height: 48px; padding: .75rem 1.1rem; font-size: .9rem; }
.site-points { gap: .5rem; color: #68758b; font-size: .7rem; }
.site-points > span { display: grid; text-align: center; }
.site-points b { color: #315fba; }
.site-main { color: #28344a; background: #f7f8fa; }
.site-hero { padding: clamp(4.4rem, 9vw, 7.25rem) 1.25rem clamp(4.25rem, 8vw, 6.75rem); background: linear-gradient(180deg, #fff 0%, #f7f8fa 100%); text-align: center; }
.site-hero-inner { max-width: 790px; margin: 0 auto; }
.site-eyebrow, .site-kicker { margin: 0; color: #315fba; font-size: .7rem; font-weight: 650; letter-spacing: .12em; text-transform: uppercase; }
.site-eyebrow { display: inline-flex; align-items: center; gap: .55rem; padding: .48rem .75rem; border: 1px solid #e2e8f2; border-radius: 999px; background: #fff; }
.site-eyebrow-dot { width: 7px; height: 7px; border-radius: 50%; background: #5c8cdb; }
.site-hero h1 { max-width: 760px; margin: 1.3rem auto 1rem; color: #17233b; font-size: clamp(2.7rem, 6.5vw, 4.8rem); font-weight: 600; line-height: 1.04; letter-spacing: -.065em; }
.site-hero-copy { max-width: 630px; margin: 0 auto; color: #68758b; font-size: clamp(1rem, 2vw, 1.16rem); line-height: 1.75; }
.site-hero-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: .65rem; margin-top: 1.75rem; }
.site-honest-note { margin: 1rem 0 0; color: #8a94a5; font-size: .74rem; }
.site-section { width: min(100% - 2.5rem, 1080px); margin: 0 auto; padding: clamp(3.75rem, 7vw, 5.5rem) 0; }
.site-section-heading { max-width: 650px; margin-bottom: 1.6rem; }
.site-section-heading h2, .site-group-callout h2, .site-final-cta h2 { margin: .4rem 0 .5rem; color: #17233b; font-size: clamp(1.65rem, 3vw, 2.1rem); font-weight: 600; line-height: 1.2; letter-spacing: -.04em; }
.site-section-heading > p:last-child, .site-group-callout > div:nth-child(2) > p:last-child, .site-final-cta > div > p:last-child { margin: 0; color: #6d788b; font-size: .92rem; line-height: 1.7; }
.site-steps { display: grid; grid-template-columns: repeat(3, 1fr); gap: .9rem; }
.site-step { display: flex; gap: .95rem; min-height: 160px; padding: 1.2rem; border: 1px solid #e5e8ee; border-radius: 14px; background: #fff; }
.site-step-number { color: #8391a8; font: 500 .8rem var(--font-num); }
.site-step h3 { margin: 0 0 .4rem; color: #27354b; font-size: .94rem; font-weight: 600; }
.site-step p { margin: 0; color: #748095; font-size: .8rem; line-height: 1.65; }
.site-inline-link { display: inline-flex; align-items: center; gap: .35rem; margin-top: 1.25rem; color: #315fba; font-size: .82rem; font-weight: 550; text-decoration: none; }
.site-inline-link:hover { color: #234d9b; }
.site-inline-link svg { width: 15px; height: 15px; }
.site-apps-section { border-top: 1px solid #e7eaf0; }
.site-apps-heading { max-width: none; display: flex; align-items: end; justify-content: space-between; gap: 1rem; }
.site-apps-heading .site-inline-link { flex-shrink: 0; margin: 0 0 .2rem; }
.site-search { display: flex; align-items: center; gap: .65rem; width: min(100%, 440px); min-height: 45px; margin: 1.25rem 0; padding: 0 .75rem; border: 1px solid #dfe4ec; border-radius: 10px; background: #fff; color: #8a96a8; }
.site-search svg { width: 17px; height: 17px; flex-shrink: 0; }
.site-search input { width: 100%; border: 0; outline: 0; background: transparent; color: #26344b; font: 400 .82rem var(--font-ui-en); }
.site-search input::placeholder { color: #9aa4b3; }
.site-search:focus-within { border-color: #7c9ed8; box-shadow: 0 0 0 3px rgba(49,95,186,.1); }
.site-search kbd { padding: .12rem .38rem; border: 1px solid #e1e5ec; border-radius: 5px; background: #f7f8fa; color: #8792a3; font: 500 .7rem var(--font-num); }
.site-apps-note { margin: -.35rem 0 1rem; color: #8792a3; font-size: .72rem; }
.site-app-grid { display: grid; grid-template-columns: repeat(3, minmax(0,1fr)); gap: .9rem; }
.site-app-card { display: flex; flex-direction: column; justify-content: space-between; min-width: 0; padding: 1.05rem; border: 1px solid #e5e8ee; border-radius: 13px; background: #fff; box-shadow: 0 2px 8px rgba(25,39,65,.035); }
.site-app-card:hover { border-color: #ced8e9; box-shadow: 0 7px 20px rgba(25,39,65,.07); transform: translateY(-1px); }
.site-app-card-head { display: flex; align-items: center; gap: .7rem; min-width: 0; margin-bottom: .95rem; }
.site-app-card-head img { width: 42px !important; height: 42px !important; border: 1px solid #e8ebf0 !important; border-radius: 11px !important; }
.site-app-card-head h3 { overflow: hidden; margin: 0; color: #28364c; font-size: .86rem; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.site-app-card-head p { overflow: hidden; margin: .2rem 0 0; color: #8a95a6; font: 400 .65rem var(--font-num); text-overflow: ellipsis; white-space: nowrap; }
.site-app-card-meta { display: flex; align-items: center; justify-content: space-between; gap: .35rem; padding: .6rem .65rem; border-radius: 8px; background: #f6f8fb; color: #69778d; font-size: .68rem; }
.site-app-card-meta strong { color: #34435a; font-weight: 600; }
.site-app-slots { color: #476ba7; white-space: nowrap; }
.site-app-action { display: flex; align-items: center; justify-content: space-between; margin-top: .75rem; color: #315fba; font-size: .75rem; font-weight: 550; text-decoration: none; }
.site-app-action:hover { color: #234d9b; }
.site-empty-state { padding: 1.5rem; border: 1px dashed #d7deea; border-radius: 12px; color: #78859a; font-size: .85rem; text-align: center; }
.site-group-callout { width: min(100% - 2.5rem, 1080px); display: grid; grid-template-columns: auto 1fr auto; align-items: center; gap: 1rem; margin: 0 auto; padding: 1.35rem; border: 1px solid #dfe5ee; border-radius: 15px; background: #fff; }
.site-group-icon { width: 42px; height: 42px; display: grid; place-items: center; border-radius: 11px; background: #f0f4fa; color: #476ba7; }
.site-group-icon svg { width: 20px; height: 20px; }
.site-group-callout h2 { margin: .2rem 0; font-size: 1.1rem; }
.site-group-callout > div:nth-child(2) > p:last-child { font-size: .78rem; }
.site-faq { max-width: 810px; }
.site-faq-list { border-top: 1px solid #e4e8ef; }
.site-faq-list details { padding: 1rem 0; border-bottom: 1px solid #e4e8ef; }
.site-faq-list summary { display: flex; align-items: center; justify-content: space-between; gap: 1rem; color: #344158; cursor: pointer; font-size: .88rem; font-weight: 550; list-style: none; }
.site-faq-list summary::-webkit-details-marker { display: none; }
.site-faq-list summary::after { content: '+'; color: #78859a; font-size: 1.15rem; font-weight: 400; }
.site-faq-list details[open] summary::after { content: '−'; }
.site-faq-list details p { max-width: 680px; margin: .7rem 0 0; color: #718096; font-size: .82rem; line-height: 1.7; }
.site-final-cta { width: min(100% - 2.5rem, 1080px); display: flex; align-items: center; justify-content: space-between; gap: 1.5rem; margin: 0 auto 4.5rem; padding: 1.75rem; border-radius: 15px; background: #eef2f7; }
.site-final-cta h2 { font-size: clamp(1.35rem, 3vw, 1.8rem); }
.site-final-cta > div > p:last-child { font-size: .82rem; }
.site-footer { padding: 1.5rem 0; border-top: 1px solid #e7eaf0; background: #fff; color: #79859a; }
.site-footer-inner { flex-wrap: wrap; min-height: 44px; font-size: .74rem; }
.site-footer-brand { display:flex; align-items:center; gap:.55rem; min-width:0; }
.site-footer-brand > strong { color:#27354b; font-size:.83rem; font-weight:600; white-space:nowrap; }
.site-footer-separator { color:#a2acba; }
.site-footer-tagline { color: #8792a3; }
.site-footer-links { display: flex; justify-content: center; flex-wrap: wrap; gap: 1rem; }
.site-footer-links a { color: #647188; text-decoration: none; }
.site-footer-links a:hover { color: #315fba; }
.sr-only { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); white-space: nowrap; clip-path: inset(50%); }
#landing-preview-grid [hidden], #landing-app-empty[hidden] { display: none !important; }
@media (max-width: 1050px) {
  .site-header-inner { flex-wrap: wrap; padding: .75rem 0; }
  .site-nav { order: 3; width: 100%; justify-content: center; padding: .35rem 0 0; }
  .site-actions { margin-left: auto; }
}
@media (max-width: 760px) {
  .site-header-inner, .site-footer-inner { width: min(100% - 1.5rem, 1180px); }
  .site-content-page > header > .site-header-inner { width:calc(100% - 1.25rem); min-height:66px; flex-wrap:nowrap; gap:.5rem; padding:.4rem 0; }
  .site-content-page > header .site-brand { gap:.45rem; min-width:0; }
  .site-content-page > header .site-brand-mark { width:32px; height:32px; flex:0 0 32px; border-radius:10px; }
  .site-content-page > header .site-brand-copy strong { font-size:.88rem; }
  .site-content-page > header .site-brand-copy small { font-size:.56rem; }
  .site-content-page > header .site-nav { display:none !important; }
  .site-content-page > header .site-actions { flex:0 0 auto; gap:.3rem; }
  .site-content-page > header .site-actions .lang-selector-btn { min-height:36px; gap:.3rem; padding:.35rem .45rem; }
  .site-content-page > header .site-actions .lang-active-name { max-width:3.2rem; font-size:.72rem; }
  .site-content-page > header .site-actions .site-button { min-height:36px; gap:.3rem; padding:.4rem .55rem; font-size:.72rem; }
  .site-content-page > header .site-actions .site-button span { display:none; }
  .site-content-page > header .site-actions .tp-theme-toggle { min-height:36px; gap:.3rem; padding:.4rem .5rem; font-size:.7rem; box-shadow:none; }
  .site-footer-inner { flex-direction:column; justify-content:center; gap:1rem; padding:.3rem 0; text-align:center; }
  .site-content-page > footer > .site-footer-inner { width:calc(100% - 1.5rem); }
  .site-footer-brand { justify-content:center; flex-wrap:wrap; row-gap:.35rem; }
  .site-footer-links { gap:.55rem .9rem; font-size:.72rem; }
  .site-footer-inner .developer-credit { align-self:center; margin:0; }
  .site-nav { justify-content: flex-start; overflow-x: auto; gap: 1rem; }
  .site-nav a { flex-shrink: 0; font-size: .75rem; }
  .site-actions { gap: .25rem; }
  .site-points, .site-link-button { display: none; }
  .site-actions .lang-selector-btn { min-height: 36px; padding: .35rem .45rem; }
  .site-actions .lang-active-name { font-size: .72rem; }
  .site-actions .site-button { min-height: 36px; padding: .45rem .6rem; font-size: .72rem; }
  .site-hero { padding-top: 4rem; padding-bottom: 4rem; }
  .site-hero h1 { font-size: clamp(2.45rem, 11vw, 3.6rem); }
  .site-section, .site-group-callout, .site-final-cta { width: min(100% - 1.5rem, 1080px); }
  .site-steps { grid-template-columns: 1fr; }
  .site-step { min-height: auto; }
  .site-app-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .site-group-callout { grid-template-columns: auto 1fr; }
  .site-group-callout > .site-button { grid-column: 1 / -1; justify-self: start; }
  .site-final-cta { align-items: flex-start; flex-direction: column; margin-bottom: 3rem; }
  .site-footer-inner { justify-content: center; text-align: center; }
  .site-footer-inner > div:first-child { justify-content: center; flex-wrap: wrap; }
}
@media (max-width: 440px) {
  .site-header-inner { gap: .55rem; }
  .site-brand-mark { width: 34px; height: 34px; }
  .site-brand-copy strong { font-size: .85rem; }
  .site-actions .site-button-quiet { display: none; }
  .site-nav { gap: .8rem; }
  .site-nav a { font-size: .69rem; }
  .site-button-large { width: 100%; }
  .site-hero-actions { flex-direction: column; }
  .site-app-grid { grid-template-columns: 1fr; }
  .site-apps-heading { align-items: flex-start; flex-direction: column; }
  .site-apps-heading .site-inline-link { margin: 0; }
}
@media (prefers-reduced-motion: reduce) {
  .site-main *, .site-header * { scroll-behavior: auto !important; transition-duration: .01ms !important; }
}

.site-actions .lang-selector-btn { min-height: 38px; border-color: #e1e6ee; border-radius: 9px; background: #fff; color: #526078; backdrop-filter: none; }
.site-actions .lang-selector-btn:hover { border-color: #cbd4e2; background: #f4f6fa; color: #34435b; }
.site-actions .lang-selector-btn svg:first-child { width: 15px; height: 15px; color: #687d9e; }
.site-actions .lang-selector-btn svg:last-child { width: 12px; height: 12px; color: #8792a3; }
.site-actions .lang-dropdown-panel { border-color: #e1e6ee; border-radius: 10px; background: #fff; box-shadow: 0 10px 26px rgba(25,39,65,.12); backdrop-filter: none; }
.site-actions .lang-dropdown-option { color: #526078; }
.site-actions .lang-dropdown-option:hover { background: #f4f6fa; color: #34435b; }
.site-actions .lang-dropdown-option.active { background: #eef2f8; color: #315fba; }
.site-actions .lang-dropdown-option.active .lang-opt-dot { background: #5577b6; box-shadow: none; }


/* --------------------------------------------------------------------------
   Shared product design system — member workspace, staff consoles and content
   -------------------------------------------------------------------------- */
:root {
  --primary-color: #4f6fa8;
  --primary-hover: #405d91;
  --primary-light: rgba(79,111,168,.1);
  --secondary-color: #628270;
  --secondary-hover: #4f6d5b;
  --accent-color: #aa8148;
  --danger-color: #b35e61;
  --bg-color: #f4f6f9;
  --surface-color: #ffffff;
  --surface-hover: #f5f7fa;
  --card-bg: #ffffff;
  --border-color: #e5e9ef;
  --border-hover: #cbd5e2;
  --text-primary: #1e2c42;
  --text-secondary: #66758b;
  --text-muted: #8b96a7;
  --text-color: #1e2c42;
  --glass-blur: 0px;
  --card-radius: 14px;
  --btn-radius: 9px;
}

body.site-page {
  min-height: 100vh;
  color: #26354b !important;
  background: #f4f6f9 !important;
  font-family: var(--font-ui-en), sans-serif;
  letter-spacing: -.008em;
}
body.site-page.lang-bn { font-family: var(--font-ui-bn), sans-serif; letter-spacing: 0; }
body.site-page h1, body.site-page h2, body.site-page h3, body.site-page h4 { color: #1d2a40; }
body.site-page .text-white, body.site-page .text-slate-100, body.site-page .text-slate-200 { color: #24334a !important; }
body.site-page .text-slate-300 { color: #536279 !important; }
body.site-page .text-slate-400 { color: #718097 !important; }
body.site-page .text-slate-500 { color: #8d98a8 !important; }
body.site-page .text-blue-300, body.site-page .text-blue-400, body.site-page .text-indigo-300, body.site-page .text-indigo-400 { color: #4f6fa8 !important; }
body.site-page .text-emerald-300, body.site-page .text-emerald-400 { color: #507860 !important; }
body.site-page .text-amber-300, body.site-page .text-amber-400 { color: #96713e !important; }
body.site-page .text-purple-300, body.site-page .text-purple-400 { color: #746790 !important; }
body.site-page .text-red-300, body.site-page .text-red-400, body.site-page .text-rose-300, body.site-page .text-rose-400 { color: #a85c61 !important; }
body.site-page [class*="bg-[#080c14]"], body.site-page [class*="bg-[#0e1526]"], body.site-page [class*="bg-black/"] { background-color: #f3f5f8 !important; }
body.site-page [class*="bg-white/[0.03]"], body.site-page [class*="bg-white/[0.04]"], body.site-page [class*="bg-white/[0.06]"], body.site-page [class*="bg-white/[0.08]"] { background-color: #f6f8fb !important; }
body.site-page [class*="bg-blue-500/10"], body.site-page [class*="bg-blue-600/10"], body.site-page [class*="bg-blue-600/20"], body.site-page [class*="bg-blue-500/15"] { background-color: #eef3fa !important; }
body.site-page [class*="bg-emerald-500/15"], body.site-page [class*="bg-emerald-500/10"] { background-color: #eef5f0 !important; }
body.site-page [class*="bg-amber-500/15"], body.site-page [class*="bg-amber-500/10"], body.site-page [class*="bg-amber-500/20"] { background-color: #f8f3e9 !important; }
body.site-page [class*="bg-purple-500/15"], body.site-page [class*="bg-purple-500/20"] { background-color: #f3f0f7 !important; }
body.site-page [class*="bg-red-500/15"], body.site-page [class*="bg-rose-500/15"], body.site-page [class*="bg-red-500/10"] { background-color: #faf0f0 !important; }
body.site-page .bg-blue-600, body.site-page .bg-blue-700 { background-color: #4f6fa8 !important; }
body.site-page .bg-purple-600 { background-color: #71658d !important; }
body.site-page .border-white\/\[0\.06\], body.site-page .border-white\/\[0\.07\], body.site-page .border-white\/\[0\.08\], body.site-page .border-white\/10, body.site-page .border-white\/15 { border-color: #e4e8ef !important; }
body.site-page .glass-card {
  color: #26354b;
  background: #fff !important;
  border: 1px solid #e4e8ef;
  border-radius: 14px;
  box-shadow: 0 2px 6px rgba(23,37,59,.025), 0 8px 22px rgba(23,37,59,.035);
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
}
body.site-page .glass-card:hover { border-color: #d2dbe7; box-shadow: 0 5px 18px rgba(23,37,59,.07); }
body.site-page .btn-primary, body.site-page .bg-blue-600 { color: #fff !important; background: #4f6fa8 !important; border-color: #4f6fa8 !important; box-shadow: 0 2px 5px rgba(45,65,100,.12); }
body.site-page .btn-primary:hover, body.site-page .hover\:bg-blue-500:hover { background: #405d91 !important; border-color: #405d91 !important; }
body.site-page .btn-secondary { color: #43536b; background: #fff; border: 1px solid #dce2ea; box-shadow: none; }
body.site-page .btn-secondary:hover { color: #293a54; background: #f6f8fb; border-color: #cbd5e2; }
body.site-page button, body.site-page a { -webkit-tap-highlight-color: transparent; }
body.site-page button:focus-visible, body.site-page a:focus-visible, body.site-page input:focus-visible, body.site-page select:focus-visible, body.site-page textarea:focus-visible, body.site-home button:focus-visible, body.site-home a:focus-visible, body.site-home input:focus-visible { outline: 3px solid rgba(79,111,168,.28); outline-offset: 2px; }
body.site-page input:not([type="checkbox"]):not([type="radio"]), body.site-page select, body.site-page textarea {
  color: #29374d !important;
  background-color: #fff !important;
  border-color: #dce2ea !important;
  border-radius: 9px;
}
body.site-page input::placeholder, body.site-page textarea::placeholder { color: #98a2b1 !important; }
body.site-page table { color: #394860; border-collapse: separate; border-spacing: 0; }
body.site-page thead, body.site-page thead[class*="bg-white"] { background: #f5f7fa !important; }
body.site-page th { color: #64738a !important; font-size: .69rem; letter-spacing: .06em; }
body.site-page th, body.site-page td { border-bottom: 1px solid #edf0f4; }
body.site-page tbody tr:hover { background: #f8f9fb; }
body.site-page .table-responsive-box, body.site-page .overflow-x-auto { max-width: 100%; }
body.site-page .bottom-sheet, body.site-page .custom-modal-box { color: #26354b; background: #fff !important; border: 1px solid #e2e7ee !important; box-shadow: 0 24px 70px rgba(25,39,63,.18) !important; }
body.site-page .bottom-sheet h1, body.site-page .bottom-sheet h2, body.site-page .bottom-sheet h3, body.site-page .custom-modal-box h2, body.site-page .custom-modal-box h3 { color: #1d2a40 !important; }
body.site-page .modal-overlay, body.site-page .custom-modal-backdrop { background: rgba(23,35,54,.42); backdrop-filter: blur(5px); }
body.site-page .mobile-bottom-nav { background: rgba(255,255,255,.97); border-top-color: #e3e7ee; box-shadow: 0 -4px 20px rgba(26,39,61,.08); }
body.site-page .mobile-nav-item.active { color: #4f6fa8; }
body.site-page .lang-selector-btn { color: #53637b; border-color: #dce2ea; background: #fff; }
body.site-page .lang-dropdown-panel { background: #fff; border-color: #dce2ea; box-shadow: 0 12px 28px rgba(24,39,64,.15); }
body.site-page .lang-dropdown-option { color: #53637b; }
body.site-page .lang-dropdown-option.active { color: #4f6fa8; background: #eef3fa; }
body.site-page .announcement-bar { color: #4b5d77; background: #edf2f8; border-color: #dbe4f0; }
body.site-page .telemetry-meter-bar { background: #e9edf2; }
body.site-page .step-day-bar { background: #e9edf2; }
body.site-page .step-day-seg { background: #e4e8ee; }
body.site-page .step-day-seg.active { background: #6e8dbb; }
body.site-page .timer-active { animation: none; box-shadow: 0 0 0 4px rgba(79,111,168,.13); }
body.site-page .custom-scrollbar::-webkit-scrollbar-track, body.site-page ::-webkit-scrollbar-track { background: #edf0f4; }
body.site-page ::-webkit-scrollbar-thumb { background: #cbd3de; }

/* Member dashboard and developer profile */
.site-dashboard .desktop-sidebar {
  width: 258px;
  min-width: 258px;
  padding: 1.1rem .9rem;
  background: #fff !important;
  border-right: 1px solid #e6eaf0;
  box-shadow: 3px 0 14px rgba(28,42,65,.025);
}
.site-dashboard .desktop-sidebar.collapsed { width: 92px; min-width: 92px; padding-left:.45rem; padding-right:.45rem; }
.site-dashboard .desktop-sidebar > div:first-child > div:first-child { padding: .35rem .45rem .9rem; border-color: #edf0f4; }
.site-dashboard .sidebar-section-title { padding: .65rem .7rem .35rem; color: #909bad; font-size: .62rem; letter-spacing: .1em; }
.site-dashboard .sidebar-nav-btn { margin: .13rem 0; padding: .68rem .72rem; color: #65738a; font-size: .8rem; border-radius: 9px; }
.site-dashboard .sidebar-nav-btn:hover { background: #f5f7fa; color: #30425e; }
.site-dashboard .sidebar-nav-btn.active { color: #3e5e96; background: #eef3fa; border-color: #e3eaf4; box-shadow: none; }
.site-dashboard .sidebar-user-info { background: #f8f9fb !important; border-color: #e7ebf1 !important; }
.site-dashboard .sidebar-toggle-btn { color: #75839a; background: transparent; border-color: #e4e8ef; }
.site-dashboard .sidebar-toggle-btn:hover { background: #f4f6f9; color: #33455f; }
.site-dashboard .desktop-sidebar.collapsed > div:first-child > div:first-child { justify-content:center; gap:.25rem; padding-left:.1rem; padding-right:.1rem; }
.site-dashboard .desktop-sidebar.collapsed > div:first-child > div:first-child > a { gap:0; }
.site-dashboard .desktop-sidebar.collapsed .sidebar-top-toggle { flex-basis:32px; width:32px; height:32px; }
.site-dashboard .desktop-sidebar.collapsed > div:first-child > div:nth-child(3) { display:grid; justify-items:center; }
.site-dashboard .desktop-sidebar.collapsed > div:first-child > div:nth-child(3) > button { width:48px; min-width:48px; height:44px; justify-content:center; gap:0; margin-inline:auto; padding:0; font-size:0; }
.site-dashboard .desktop-sidebar.collapsed > div:first-child > div:nth-child(3) > button > .sidebar-label { display:none !important; }
.site-dashboard .desktop-sidebar.collapsed > div:first-child > div:nth-child(3) > button > svg { display:block; flex:0 0 18px; width:18px; height:18px; margin:0 auto; }
.site-dashboard .desktop-sidebar.collapsed > div:last-child { display:flex; justify-content:center; padding-top:.55rem; }
.site-dashboard .desktop-sidebar.collapsed .sidebar-user-info { display:flex !important; justify-content:center; width:100%; padding:0 !important; border:0 !important; background:transparent !important; }
.site-dashboard .desktop-sidebar.collapsed .sidebar-user-info > :not(button) { display:none !important; }
.site-dashboard .desktop-sidebar.collapsed .sidebar-user-info > button { width:48px; min-width:48px; height:44px; justify-content:center; gap:0; margin-inline:auto; padding:0; font-size:0; }
.site-dashboard .desktop-sidebar.collapsed .sidebar-user-info > button > svg { display:block; flex:0 0 16px; width:16px; height:16px; margin:0 auto; }
.site-dashboard .desktop-sidebar.collapsed .sidebar-user-info > button > span { display:none !important; }
.site-dashboard > div.flex-grow > header { background: rgba(255,255,255,.95) !important; border-color: #e7ebf1 !important; box-shadow: 0 2px 8px rgba(20,32,51,.025); }
.site-dashboard > div.flex-grow > header nav { background: #f6f8fa !important; border-color: #e7ebf1 !important; }
.site-dashboard .tab-fluid { color: #627189; }
.site-dashboard .tab-fluid.active, .site-dashboard .tab-fluid.bg-blue-600 { color: #fff !important; background: #4f6fa8 !important; }
.site-dashboard main { width: min(100%, 1450px); padding: 1.65rem clamp(1rem,3vw,2.5rem) 6rem; }
.site-dashboard #view-feed > div:first-child, .site-dashboard #view-queue > div:first-child { padding: 1.2rem 1.35rem; border: 1px solid #e6eaf0; border-radius: 14px; background: linear-gradient(110deg,#fff,#f8fafc); }
.site-dashboard #view-profile .profile-hero-banner { height: 145px; background: linear-gradient(110deg,#dce5f0,#e8edf4 58%,#e7e9ef); }
.site-dashboard #view-profile .profile-hero-banner::after { background-image: radial-gradient(rgba(82,104,140,.13) 1px, transparent 1px); opacity: .45; }
.site-dashboard .profile-avatar-img { border: 5px solid #fff; box-shadow: 0 4px 14px rgba(29,44,69,.12); background: #e6ebf2; }
.site-dashboard .avatar-online-dot { border-color: #fff; box-shadow: none; }
.site-dashboard .trust-gauge-circle { box-shadow: none; }
.site-dashboard .streak-dot { background: #f0f3f7; }
.site-dashboard #view-profile .streak-calendar-grid { display: grid; grid-template-columns: repeat(7, minmax(0, 1fr)); gap: .45rem .25rem; justify-items: center; align-items: start; }
.site-dashboard #view-profile .streak-day-box { width: 100%; min-width: 0; gap: .25rem; font-size: .62rem; }
.site-dashboard #view-profile .streak-dot { width: min(100%, 28px); height: auto; aspect-ratio: 1; border-radius: 7px; }
.site-dashboard #view-profile .grid > [class*="bg-white/[0.03]"], .site-dashboard #view-profile .grid > [class*="bg-white/[0.06]"] { border-color: #e6eaf0; background: #f8fafc !important; }
.site-dashboard #view-profile .border-t, .site-dashboard #view-my-apps .border-t { border-color: #e5e9ef !important; }
.site-dashboard #view-profile code { color: #4d6a9b !important; background: #eef2f7 !important; }
.site-dashboard .trust-gauge-inner { background: #fff; }

/* Admin console */
.site-admin { flex-direction: row; }
.site-admin > aside {
  position: sticky;
  top: 0;
  align-self: flex-start;
  width: 260px;
  min-width: 260px;
  height: 100vh;
  padding: 1.2rem .95rem;
  overflow-y: auto;
  background: #fff !important;
  border-right: 1px solid #e5e9ef !important;
  box-shadow: 3px 0 14px rgba(28,42,65,.025);
}
.site-admin > aside > div:first-child > div:first-child { margin-bottom: 1.2rem; padding: .35rem .3rem 1rem; border-color: #edf0f4 !important; }
.site-admin > aside nav { display: grid; gap: .25rem; }
.site-admin > aside nav > button { min-height: 42px; padding: .65rem .72rem; color: #66758b !important; border: 1px solid transparent; border-radius: 9px; background: transparent; font-size: .78rem; }
.site-admin > aside nav > button:hover { color: #30425e !important; background: #f6f8fb !important; }
.site-admin > aside nav > button.bg-blue-600 { color: #3e5e96 !important; border-color: #e3eaf4; background: #eef3fa !important; box-shadow: none; }
.site-admin > aside nav > button > div { display: flex; align-items: center; }
.site-admin > aside > div:last-child { border-color: #e7ebf1 !important; }
.site-admin main { width: min(100%, 1500px); max-width: none; padding: clamp(1.25rem,3vw,2.65rem); }
.site-admin .admin-panel-section > div:first-child h1 { font-size: clamp(1.25rem,2vw,1.55rem); letter-spacing: -.035em; }
.site-admin .admin-panel-section > div:first-child p { margin-top: .15rem; font-size: .8rem; line-height: 1.6; }
.site-admin .admin-panel-section .glass-card { padding: 1.1rem; }
.site-admin #section-analytics > .grid:first-of-type .glass-card { min-height: 92px; padding: 1rem 1.05rem; }
.site-admin #section-analytics > .grid:first-of-type .num-font { margin-top: .3rem; font-size: 1.55rem; }
.site-admin .admin-panel-section h3 { letter-spacing: -.02em; }
.site-admin .admin-panel-section .bg-gradient-to-r { color: #25364e; background: #eef3f9 !important; border-color: #dfe7f1 !important; }
.site-admin [data-admin-section] i { flex: 0 0 auto; }
.site-admin .admin-panel-section .border-l-4 { border-left-color: #8095b4 !important; }
.site-admin .tp-chart { min-height: 210px; }
.site-admin .chart-legend { color: #66758b; }
.site-admin .chart-legend .sw { border-radius: 2px; }

/* Supervisor console */
.site-supervisor > header { background: rgba(255,255,255,.96) !important; border-color: #e5e9ef !important; box-shadow: 0 2px 8px rgba(20,32,51,.025); }
.site-supervisor > header > div { width: min(100%, 1450px); }
.site-supervisor > header > div > div:first-child > div:first-child > div:first-child { width: 38px; height: 38px; border-radius: 11px; background: #eef3fa !important; border-color: #e2e9f2 !important; box-shadow: none; }
.site-supervisor main { padding: 1.75rem clamp(1rem,3vw,2.5rem); }
.site-supervisor main > .grid:first-child .glass-card { min-height: 116px; padding: 1.1rem 1.2rem; }
.site-supervisor main > .grid:first-child .text-2xl { margin-top: .3rem; font-size: 1.7rem; letter-spacing: -.04em; }
.site-supervisor main > .glass-card { padding: 1.15rem 1.3rem; }
.site-supervisor .telemetry-filter-btn { border-color: #e1e6ed; color: #66758b; background: #fff; }
.site-supervisor .telemetry-filter-btn.active { border-color: #dce5f1; color: #3f5f97; background: #edf3fa; }

/* FAQ, legal, ledger and leaderboard pages */
.site-content-page > header, .site-content-page > footer { background: rgba(255,255,255,.96) !important; border-color: #e5e9ef !important; }
.site-content-page > header > div, .site-content-page > footer > div { width: min(100% - 2rem, 1180px); }
.site-content-page main { padding-top: clamp(2rem,5vw,3.75rem); padding-bottom: 6rem; }
.site-content-page main > h1, .site-content-page main h1 { font-size: clamp(1.7rem,4vw,2.4rem); letter-spacing: -.045em; }
.site-content-page .legal-body { line-height: 1.8; }
.site-content-page .legal-body h2 { margin-top: 2rem; font-size: 1.12rem; }
.site-content-page .legal-body p, .site-content-page .legal-body li { color: #65748b; }
.site-content-page details.glass-card { padding: 1.1rem 1.2rem; }
.site-content-page #leaderboard-table-body tr:nth-child(even) { background: #f9fafc; }
.site-content-page #leaderboard-table-body tr:hover { background: #f1f5fa; }
.site-content-page footer { margin-top: auto; }

/* --------------------------------------------------------------------------
   Public home page: split hero, real interface preview and concise information
   -------------------------------------------------------------------------- */
.site-home { background: #f5f7fa !important; color: #26354b !important; }
.site-home .site-hero { padding: clamp(2.5rem,5vw,4rem) 1.25rem 2.25rem; background: linear-gradient(180deg,#fff 0%,#f6f8fb 100%); text-align: left; }
.site-home .site-hero-inner { display: grid; grid-template-columns: minmax(0,.94fr) minmax(460px,1.06fr); align-items: center; gap: clamp(2rem,5vw,4.5rem); width: min(100%,1210px); max-width: none; margin: 0 auto; }
.site-home .site-hero-copy-block { max-width: 570px; }
.site-home .site-eyebrow { padding: .47rem .7rem; color: #516b98; border-color: #e3e8ef; background: #fff; font-size: .66rem; letter-spacing: .07em; }
.site-home .site-eyebrow-dot { background: #6e8dbb; box-shadow: 0 0 0 3px #edf2f8; }
.site-home .site-hero h1 { margin: 1.25rem 0 1rem; color: #1b2a41; font-size: clamp(2.8rem,5.2vw,4.4rem); line-height: 1.06; letter-spacing: -.06em; }
.site-home .site-hero-copy { max-width: 520px; margin: 0; color: #69778c; font-size: clamp(1rem,1.4vw,1.12rem); line-height: 1.75; }
.site-home .site-hero-actions { justify-content: flex-start; margin-top: 1.6rem; gap: .6rem; }
.site-home .site-button-large { min-height: 48px; }
.site-home .site-product-preview { max-width: 600px; width: 100%; padding: 1.25rem; border: 1px solid #e2e7ee; border-radius: 17px; background: #fff; box-shadow: 0 20px 50px rgba(37,54,80,.1),0 3px 10px rgba(37,54,80,.035); }
.site-home .site-preview-topline, .site-home .site-preview-brand, .site-home .site-preview-heading, .site-home .site-preview-stats, .site-home .site-preview-card-title, .site-home .site-preview-progress-label, .site-home .site-preview-foot { display:flex; align-items:center; }
.site-home .site-preview-topline { justify-content:space-between; padding-bottom:1rem; border-bottom:1px solid #edf0f4; color:#607089; font-size:.72rem; font-weight:550; }
.site-home .site-preview-brand { gap:.55rem; }
.site-home .site-preview-mark { width:27px;height:27px;display:grid;place-items:center;border-radius:8px;background:#edf2f8;color:#526f9f;font-size:.66rem;font-weight:700; }
.site-home .site-preview-tag { padding:.27rem .45rem;border:1px solid #e6ebf1;border-radius:999px;color:#7c8899;font-size:.54rem;font-weight:650;letter-spacing:.08em; }
.site-home .site-preview-heading { justify-content:space-between; padding:1.1rem 0 .9rem; }
.site-home .site-preview-overline { color:#8793a4;font-size:.56rem;font-weight:650;letter-spacing:.1em; }
.site-home .site-preview-heading h2 { margin:.25rem 0 0;color:#26364e;font-size:1.05rem;font-weight:600;letter-spacing:-.025em; }
.site-home .site-preview-avatar { width:31px;height:31px;display:grid;place-items:center;border-radius:50%;background:#e9eef5;color:#526b93;font-size:.7rem;font-weight:650; }
.site-home .site-preview-stats { gap:.7rem; margin-bottom:.8rem; }
.site-home .site-preview-stats > div { flex:1;padding:.7rem .8rem;border:1px solid #e9edf2;border-radius:10px;background:#fafbfd; }
.site-home .site-preview-stats > div > span { display:block;color:#78869b;font-size:.63rem; }
.site-home .site-preview-stats strong { display:block;margin-top:.25rem;color:#2c3d56;font:600 1.25rem var(--font-num); }
.site-home .site-preview-stats small { color:#7b8799;font:500 .63rem var(--font-ui-en); }
.site-home .site-preview-card { padding:.9rem;border:1px solid #e7ebf1;border-radius:12px;background:#fff; }
.site-home .site-preview-card-title { gap:.65rem; }
.site-home .site-preview-app-icon { width:36px;height:36px;display:grid;place-items:center;border-radius:10px;background:#eef2f8;color:#5c779f; }
.site-home .site-preview-app-icon svg { width:17px;height:17px; }
.site-home .site-preview-card-title > span:nth-child(2) { display:grid;gap:.12rem;min-width:0; }
.site-home .site-preview-card-title strong { color:#32425a;font-size:.73rem;font-weight:600; }
.site-home .site-preview-card-title small { color:#8994a4;font-size:.59rem; }
.site-home .site-preview-status { margin-left:auto;padding:.25rem .4rem;border-radius:6px;background:#eef4ef;color:#587763;font-size:.52rem;font-weight:650;letter-spacing:.06em; }
.site-home .site-preview-progress-label { justify-content:space-between;gap:.5rem;margin:1rem 0 .45rem;color:#78859a;font-size:.61rem; }
.site-home .site-preview-progress { height:6px;overflow:hidden;border-radius:999px;background:#edf0f4; }
.site-home .site-preview-progress span { display:block;width:43%;height:100%;border-radius:inherit;background:#7c96b9; }
.site-home .site-preview-days { display:grid;grid-template-columns:repeat(14,1fr);gap:.28rem;margin-top:.65rem; }
.site-home .site-preview-days span { display:grid;place-items:center;min-height:22px;border-radius:5px;background:#f3f5f8;color:#8c97a8;font:500 .49rem var(--font-num); }
.site-home .site-preview-days .is-done { background:#e9f0eb;color:#597763; }
.site-home .site-preview-days .is-current { background:#eaf0f7;color:#526e98;box-shadow:inset 0 0 0 1px #ccd8e7; }
.site-home .site-preview-foot { justify-content:space-between;gap:.5rem;margin-top:.9rem;color:#7c899b;font-size:.59rem; }
.site-home .site-preview-foot span:first-child { display:flex;align-items:center;gap:.35rem; }
.site-home .site-preview-foot svg { width:13px;height:13px; }
.site-home .site-preview-foot span:last-child { color:#9aa4b2;font-size:.5rem;font-weight:600;letter-spacing:.09em; }
.site-home .site-hero-disclaimer { display:flex;align-items:center;justify-content:center;gap:.4rem;margin:1.2rem auto 0;color:#8995a6;font-size:.68rem;text-align:center; }
.site-home .site-hero-disclaimer svg { width:14px;height:14px;flex-shrink:0; }
.site-home .site-value-strip { display:grid;grid-template-columns:repeat(3,1fr);gap:.6rem;width:min(100% - 2.5rem,1150px);margin:0 auto;padding:1.1rem 0 1.25rem;border-top:1px solid #e5e9ef;border-bottom:1px solid #e5e9ef; }
.site-home .site-value-strip > div { display:flex;align-items:center;gap:.7rem;padding:.5rem .8rem; }
.site-home .site-value-icon { width:34px;height:34px;display:grid;place-items:center;flex-shrink:0;border-radius:10px;background:#edf2f8;color:#58749e; }
.site-home .site-value-icon svg { width:17px;height:17px; }
.site-home .site-value-strip strong, .site-home .site-value-strip small { display:block; }
.site-home .site-value-strip strong { color:#34445c;font-size:.71rem;font-weight:600; }
.site-home .site-value-strip small { margin-top:.18rem;color:#8591a2;font-size:.63rem; }
.site-home .site-section { padding-top:clamp(3rem,5vw,4rem);padding-bottom:clamp(3rem,5vw,4rem); }
.site-home .site-section-heading h2 { font-size:clamp(1.6rem,3vw,2rem); }
.site-home .site-step { min-height:145px; }
.site-home .site-apps-section { margin-top:.5rem; }
.site-home .site-group-callout { margin-top:.4rem; }
.site-home .site-final-cta { background:#eaf0f6;border:1px solid #e0e7ef; }
.site-home .site-footer { background:#fff; }

@media (max-width:1100px) {
  .site-home .site-hero-inner { grid-template-columns:minmax(0,.9fr) minmax(390px,1.1fr);gap:2rem; }
  .site-home .site-hero h1 { font-size:clamp(2.55rem,5.3vw,3.8rem); }
  .site-admin > aside { width:230px;min-width:230px; }
}
@media (max-width:850px) {
  .site-home .site-hero-inner { grid-template-columns:1fr;max-width:680px;gap:2rem; }
  .site-home .site-hero-copy-block { max-width:650px; }
  .site-home .site-product-preview { justify-self:center; }
  .site-home .site-hero h1 { max-width:650px;font-size:clamp(2.7rem,8vw,4rem); }
  .site-admin { flex-direction:column; }
  .site-admin > aside { position:relative;align-self:stretch;width:100%;min-width:0;height:auto;max-height:none;padding:.8rem 1rem;overflow:visible;border-right:0 !important;border-bottom:1px solid #e5e9ef !important; }
  .site-admin > aside nav { grid-template-columns:repeat(4,minmax(0,1fr)); }
  .site-admin > aside nav > button { justify-content:flex-start;min-width:0; }
  .site-admin > aside > div:last-child { display:flex;gap:1rem;flex-wrap:wrap;margin-top:.8rem;padding-top:.8rem; }
  .site-admin main { width:100%; }
}
@media (max-width:650px) {
  .site-home .site-hero { padding:2.6rem 1rem 1.8rem; }
  .site-home .site-hero-inner { width:min(100%,560px);gap:1.5rem; }
  .site-home .site-hero h1 { margin:1rem 0 .8rem;font-size:clamp(2.4rem,10vw,3.25rem); }
  .site-home .site-hero-actions { flex-direction:row;justify-content:flex-start; }
  .site-home .site-hero-actions .site-button { width:auto; }
  .site-home .site-product-preview { padding:.9rem;border-radius:14px; }
  .site-home .site-preview-days { gap:.16rem; }
  .site-home .site-preview-days span { min-height:19px;font-size:.43rem; }
  .site-home .site-value-strip { grid-template-columns:1fr;width:calc(100% - 2rem);gap:0;padding:.65rem 0; }
  .site-home .site-value-strip > div { padding:.65rem .25rem; }
  .site-home .site-section, .site-home .site-group-callout, .site-home .site-final-cta { width:calc(100% - 2rem); }
  .site-home .site-app-grid { grid-template-columns:1fr; }
  .site-home .site-group-callout { grid-template-columns:auto 1fr;padding:1rem; }
  .site-home .site-group-callout > .site-button { grid-column:1/-1;width:100%; }
  .site-dashboard .desktop-sidebar { display:none; }
  .site-dashboard main { padding:.9rem .8rem 6rem; }
  .site-dashboard > div.flex-grow > header { padding:.55rem .7rem; }
  .site-dashboard > div.flex-grow > header nav { gap:.05rem; }
  .site-dashboard .site-points, .site-dashboard .header-points { font-size:.64rem; }
  .site-dashboard #view-profile .glass-card { padding:1rem; }
  .site-dashboard #view-profile .profile-hero-banner { height:110px; }
  .site-dashboard #view-profile .profile-avatar-wrapper { width:72px;height:72px;flex-basis:72px; }
  .site-dashboard #view-profile .profile-avatar-img { width:100%;height:100%; }
  .site-dashboard #view-profile .trust-gauge-circle { width:70px;height:70px;min-width:70px;min-height:70px;max-width:70px;max-height:70px;flex-basis:70px; }
  .site-admin > aside nav { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .site-admin > aside nav > button { min-height:40px; }
  .site-admin main { padding:1rem .8rem 5.5rem; }
  .site-admin #section-analytics > .grid:first-of-type { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .site-supervisor > header > div { align-items:flex-start;flex-direction:column; }
  .site-supervisor > header > div > div:last-child { margin-left:0; }
  .site-supervisor > header p { max-width:70vw;line-height:1.4; }
  .site-supervisor main { padding:1rem .8rem 5rem; }
  .site-supervisor main > .grid:first-child { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .site-content-page > header nav { display:none; }
  .site-content-page main { padding-left:1rem;padding-right:1rem; }
  .site-content-page .site-footer-inner { gap:1.1rem; }
}
@media (max-width:390px) {
  .site-home .site-hero-actions { flex-direction:column;align-items:stretch; }
  .site-home .site-hero-actions .site-button { width:100%; }
  .site-home .site-preview-card { padding:.7rem; }
  .site-home .site-preview-days span { min-height:17px;font-size:.39rem; }
  .site-dashboard .site-actions, .site-dashboard .site-nav { gap:.2rem; }
  .site-dashboard .lang-active-name { max-width:3rem;overflow:hidden; }
}
@media (prefers-reduced-motion:reduce) {
  body.site-page *, body.site-home * { scroll-behavior:auto !important;animation-duration:.01ms !important;transition-duration:.01ms !important; }
}

/* Landing page refinements: compact points, visible support action and warmer section accents. */
.site-home .site-header-inner { width:min(100% - 2.5rem,1380px);gap:1rem; }
.site-home .site-nav { gap:clamp(.55rem,1vw,1rem); }
.site-home .site-points { display:flex;align-items:center;flex:0 0 auto;gap:.55rem;white-space:nowrap; }
.site-home .site-points > span { display:flex;align-items:baseline;justify-content:center;gap:.22rem;white-space:nowrap; }
.site-home .site-points > span > span { white-space:nowrap; }
.site-home .site-points b { font-variant-numeric:tabular-nums; }
.site-home .site-actions .btn-open-donate { color:#91451f;background:#fff0e4;border:1px solid #f0cfb5;font-weight:650; }
.site-home .site-actions .btn-open-donate svg { color:#be6339;fill:rgba(190,99,57,.12); }
.site-home .site-actions .btn-open-donate:hover { color:#763817;background:#ffe5d1;border-color:#e8b492; }
.site-home .site-section { padding-top:2.3rem;padding-bottom:2.3rem; }
.site-home .site-section-heading { margin-bottom:1.1rem; }
.site-home .site-process { margin-top:1.5rem;padding:1.6rem;border:1px solid #e1e9f3;border-radius:18px;background:linear-gradient(125deg,#edf3fa,#f5f7fb 70%); }
.site-home .site-step { min-height:132px; }
.site-home .site-step:nth-child(1) .site-step-number { color:#4c6c9c;background:#e7eef8;border-color:#d8e3f2; }
.site-home .site-step:nth-child(2) .site-step-number { color:#44766d;background:#e8f3ef;border-color:#d6e8e1; }
.site-home .site-step:nth-child(3) .site-step-number { color:#775e91;background:#f0eafa;border-color:#e4d9f2; }
.site-home .site-apps-section { margin-top:1rem;padding:1.6rem;border:1px solid #dfece8;border-radius:18px;background:linear-gradient(130deg,#edf6f2,#f6f8f7 70%); }
.site-home .site-apps-section .site-app-card { border-color:#e0e9e5; }
.site-home .site-group-callout { margin-top:1rem;background:linear-gradient(110deg,#f0f5ed,#fff 75%);border-color:#e1e9dc; }
.site-home .site-group-icon { color:#4c7660;background:#e5f0e7; }
.site-home .site-faq { padding-top:2.8rem;padding-bottom:2.8rem; }
.site-home .site-faq-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;border-top:0; }
.site-home .site-faq-list details { padding:.9rem 1rem;border:1px solid #e2e7ee;border-radius:11px;background:#fff;transition:border-color .16s ease,box-shadow .16s ease; }
.site-home .site-faq-list details:hover { border-color:#cbd8e9;box-shadow:0 4px 14px rgba(39,59,89,.045); }
.site-home .site-faq-list details[open] { padding-bottom:.9rem;border-color:#c7d5e8;background:#fafdff; }
.site-home .site-faq-list details p { margin-top:.6rem; }
.site-home .site-final-cta { background:linear-gradient(115deg,#263953,#354c6b);border:1px solid #344a67; }

@media (max-width:1200px) {
  .site-home .site-header-inner { width:calc(100% - 1.5rem);gap:.55rem; }
  .site-home .site-nav { gap:.58rem; }
  .site-home .site-nav a { flex-shrink:0;white-space:nowrap;font-size:.7rem; }
  .site-home .site-actions { gap:.25rem; }
  .site-home .site-points { font-size:.62rem; }
  .site-home .site-link-button.btn-open-donate { display:inline-flex; }
  .site-home .site-link-button { padding:.4rem .55rem; }
  .site-home .site-actions .site-button { min-height:37px;padding:.45rem .6rem;font-size:.7rem; }
}
@media (max-width:760px) {
  .site-home .site-actions .btn-open-donate { display:inline-flex;width:36px;min-width:36px;height:36px;padding:.4rem; }
  .site-home .site-actions .btn-open-donate span { position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0; }
  .site-home .site-process,.site-home .site-apps-section { padding:1rem; }
  .site-home .site-process { margin-top:1rem; }
  .site-home .site-apps-section { margin-top:.75rem; }
  .site-home .site-faq-list { grid-template-columns:1fr; }
}

/* Keep the shared footer readable on dashboard and staff workspaces too. */
body.site-admin { flex-wrap:wrap; }
body.site-admin > .site-footer { flex:1 0 100%; width:100%; }
html[data-theme="dark"] body.site-dashboard .site-footer,
html[data-theme="dark"] body.site-admin .site-footer,
html[data-theme="dark"] body.site-supervisor .site-footer { border-color:#2b3a4f !important; background:#111c2b !important; color:#aab8ca !important; }
html[data-theme="dark"] body.site-dashboard .site-footer-main,
html[data-theme="dark"] body.site-admin .site-footer-main,
html[data-theme="dark"] body.site-supervisor .site-footer-main { border-color:#29374b; }
html[data-theme="dark"] body.site-dashboard .site-footer-brand-copy strong,
html[data-theme="dark"] body.site-admin .site-footer-brand-copy strong,
html[data-theme="dark"] body.site-supervisor .site-footer-brand-copy strong { color:#f3f6fb; }
html[data-theme="dark"] body.site-dashboard .site-footer-brand-copy small,
html[data-theme="dark"] body.site-admin .site-footer-brand-copy small,
html[data-theme="dark"] body.site-supervisor .site-footer-brand-copy small,
html[data-theme="dark"] body.site-dashboard .site-footer-description,
html[data-theme="dark"] body.site-admin .site-footer-description,
html[data-theme="dark"] body.site-supervisor .site-footer-description,
html[data-theme="dark"] body.site-dashboard .site-footer-community > p,
html[data-theme="dark"] body.site-admin .site-footer-community > p,
html[data-theme="dark"] body.site-supervisor .site-footer-community > p { color:#aab8ca; }
html[data-theme="dark"] body.site-dashboard .site-footer-tagline,
html[data-theme="dark"] body.site-admin .site-footer-tagline,
html[data-theme="dark"] body.site-supervisor .site-footer-tagline { border-color:#344a67; background:#1b2d46; color:#c5d8f4; }
html[data-theme="dark"] body.site-dashboard .site-footer-group h2,
html[data-theme="dark"] body.site-admin .site-footer-group h2,
html[data-theme="dark"] body.site-supervisor .site-footer-group h2 { color:#e7edf6; }
html[data-theme="dark"] body.site-dashboard .site-footer-group > a:not(.site-footer-community-link),
html[data-theme="dark"] body.site-admin .site-footer-group > a:not(.site-footer-community-link),
html[data-theme="dark"] body.site-supervisor .site-footer-group > a:not(.site-footer-community-link) { color:#bdc9d9; }
html[data-theme="dark"] body.site-dashboard .site-footer-community-link,
html[data-theme="dark"] body.site-admin .site-footer-community-link,
html[data-theme="dark"] body.site-supervisor .site-footer-community-link { border-color:#34445c; background:#172438; color:#c8d7eb; }
html[data-theme="dark"] body.site-dashboard .site-footer-bottom,
html[data-theme="dark"] body.site-admin .site-footer-bottom,
html[data-theme="dark"] body.site-supervisor .site-footer-bottom { color:#94a5ba; }
@media (max-width:760px) {
  body.site-dashboard .site-footer { padding-bottom:calc(5.5rem + env(safe-area-inset-bottom, 0px)); }
  html[data-theme="dark"] body.site-dashboard .site-footer-community,
  html[data-theme="dark"] body.site-admin .site-footer-community,
  html[data-theme="dark"] body.site-supervisor .site-footer-community { border-color:#293a52; background:#142136; }
  html[data-theme="dark"] body.site-dashboard .site-footer-brand,
  html[data-theme="dark"] body.site-admin .site-footer-brand,
  html[data-theme="dark"] body.site-supervisor .site-footer-brand,
  html[data-theme="dark"] body.site-dashboard .site-footer-bottom,
  html[data-theme="dark"] body.site-admin .site-footer-bottom,
  html[data-theme="dark"] body.site-supervisor .site-footer-bottom { border-color:#293a52; }
}

/* Distinguish Android and web test destinations on each available-app card. */
.app-platform-actions { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.55rem; width:100%; }
.app-platform-actions[data-count="1"] { grid-template-columns:minmax(0,1fr); }
.app-platform-actions[data-count="0"] { display:block; }
.platform-test-btn { display:inline-flex; align-items:center; justify-content:center; gap:.48rem; width:100%; min-width:0; min-height:42px; padding:.6rem .7rem; border:1px solid transparent; border-radius:10px; color:#fff; font-size:.76rem; font-weight:600; line-height:1.2; text-align:center; transition:background-color .16s ease,border-color .16s ease,transform .16s ease; }
.platform-test-btn:hover { transform:translateY(-1px); }
.platform-test-btn-android { background:#31835a; border-color:#31835a; }
.platform-test-btn-android:hover { background:#276d49; border-color:#276d49; }
.platform-test-btn-web { background:#4f6fa8; border-color:#4f6fa8; }
.platform-test-btn-web:hover { background:#405f98; border-color:#405f98; }
.app-platform-empty { display:block; padding:.65rem .75rem; border:1px dashed #cbd5e2; border-radius:10px; color:#8b96a7; font-size:.75rem; text-align:center; }
@media (max-width:420px) {
  .app-platform-actions { gap:.4rem; }
  .platform-test-btn { gap:.35rem; padding:.55rem .45rem; font-size:.71rem; }
}

/* Keep the landing content aligned to the wider public header; let FAQ cards size independently. */
.site-home .site-hero-inner { width:min(100%,1380px); }
.site-home .site-value-strip,
.site-home .site-section,
.site-home .site-group-callout,
.site-home .site-final-cta,
.site-home .site-footer-inner { width:min(100% - 2.5rem,1380px); }
.site-home .site-section { max-width:none; }
.site-home .site-faq-list { align-items:start; }
.site-home .site-faq-list details { align-self:start; }
@media (max-width:1200px) {
  .site-home .site-value-strip,
  .site-home .site-section,
  .site-home .site-group-callout,
  .site-home .site-final-cta,
  .site-home .site-footer-inner { width:calc(100% - 1.5rem); }
}
@media (max-width:760px) {
  .site-home .site-value-strip,
  .site-home .site-section,
  .site-home .site-group-callout,
  .site-home .site-final-cta,
  .site-home .site-footer-inner { width:min(100% - 1.5rem,1380px); }
  .site-home .site-faq-list { grid-template-columns:1fr; }
}


/* High contrast finishing pass for the public landing experience. */
.site-home .announcement-bar {
  color: #d9e2f0 !important;
  background: #263954 !important;
  border-color: #3a4d6a !important;
}
.site-home .announcement-bar a, .site-home .announcement-bar button { color: #eef3f9 !important; }
.site-home .site-hero {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  color: #f5f7fb;
  background: radial-gradient(ellipse at 81% 25%, rgba(91,119,159,.28), transparent 37%), linear-gradient(112deg,#142137 0%,#19283d 54%,#22354f 100%);
}
.site-home .site-hero::before {
  position: absolute;
  z-index: -1;
  inset: 0;
  content: "";
  opacity: .16;
  background-image: linear-gradient(rgba(210,222,239,.14) 1px,transparent 1px),linear-gradient(90deg,rgba(210,222,239,.14) 1px,transparent 1px);
  background-size: 46px 46px;
  mask-image: linear-gradient(90deg,transparent 8%,#000 75%);
}
.site-home .site-hero-inner { position: relative; z-index: 1; }
.site-home .site-eyebrow { color: #d9e3f1; border-color: rgba(220,231,245,.2); background: rgba(255,255,255,.07); }
.site-home .site-eyebrow-dot { background: #91accd; box-shadow: 0 0 0 3px rgba(173,194,222,.12); }
.site-home .site-hero h1 { color: #f7f9fc; }
.site-home .site-hero-copy { color: #c3cedc; }
.site-home .site-hero .site-button-primary { color: #fff; background: #7894bc; border-color: #7894bc; box-shadow: 0 5px 14px rgba(4,12,24,.2); }
.site-home .site-hero .site-button-primary:hover { background: #8aa3c7; border-color: #8aa3c7; }
.site-home .site-hero .site-button-outline { color: #f0f3f8; border-color: rgba(223,232,243,.3); background: rgba(255,255,255,.055); }
.site-home .site-hero .site-button-outline:hover { border-color: rgba(223,232,243,.55); background: rgba(255,255,255,.1); }
.site-home .site-hero-disclaimer { color: #c4cede; }
.site-home .site-hero-disclaimer svg { color: #b9c8dc; }
.site-home .site-product-preview { border-color: rgba(231,237,246,.72); box-shadow: 0 26px 62px rgba(4,11,22,.3),0 5px 14px rgba(4,11,22,.12); }
.site-home .site-preview-mark { color: #fff; background: #617d9f; }
.site-home .site-preview-app-icon { color: #fff; background: #6a83a5; }
.site-home .site-preview-progress span { background: #708bad; }
.site-home .site-value-strip { width: min(100% - 2.5rem,1150px); margin-top: -1px; padding-top: 1.3rem; padding-bottom: 1.3rem; border: 1px solid #e4e9f0; border-top: 0; border-radius: 0 0 14px 14px; background: #fff; box-shadow: 0 12px 30px rgba(29,44,67,.045); }
.site-home .site-section-heading h2 { color: #1e2d43; }
.site-home .site-process { padding-top: 3.75rem; }
.site-home .site-step { position: relative; overflow: hidden; min-height: 154px; border-color: #e1e6ed; box-shadow: 0 4px 15px rgba(28,42,64,.035); }
.site-home .site-step-number { width: 31px;height:31px;display:grid;place-items:center;flex:0 0 auto;border:1px solid #dfe6ef;border-radius:9px;background:#f1f5f9;color:#59759c;font-size:.7rem;font-weight:650; }
.site-home .site-step h3 { color:#283a53;font-size:.96rem; }
.site-home .site-step p { color:#718096;font-size:.81rem; }
.site-home .site-apps-section { border-top:0; background:linear-gradient(180deg,transparent,#f9fafc 20%,#f9fafc 82%,transparent); }
.site-home .site-app-card { box-shadow:0 4px 16px rgba(28,42,64,.045); }
.site-home .site-group-callout { box-shadow:0 8px 24px rgba(28,42,64,.045); }
.site-home .site-faq-list details[open] { padding-bottom:1.2rem; }

/* Global appearance, accessible contrast and staff portal layout */
.tp-theme-toggle { position:fixed;right:1rem;bottom:1rem;z-index:1000;display:inline-flex;align-items:center;gap:.45rem;min-height:42px;padding:.55rem .8rem;border:1px solid #cbd5e1;border-radius:999px;background:#fff;color:#26364d;font-family:inherit;font-size:.78rem;font-weight:600;line-height:1;box-shadow:0 8px 26px rgba(15,23,42,.14);cursor:pointer; }
.tp-theme-toggle span:first-child { font-size:1.05rem;line-height:1; }
.tp-theme-toggle:focus-visible { outline:3px solid #4381db;outline-offset:2px; }
.donation-methods { display:grid;gap:.65rem;margin:1rem 0; }
.donation-method-card { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:.85rem 1rem;border:1px solid #dce3ed;border-radius:12px;background:#fff;color:#21304a; }
.donation-method-card strong { display:block;font-size:.88rem;color:inherit; }
.donation-reference { margin-top:.25rem;font-family:ui-monospace,monospace;font-size:.82rem;overflow-wrap:anywhere; }
.donation-note { margin:.4rem 0 0;color:#56647a;font-size:.78rem;line-height:1.5; }
.donation-qr { width:104px;height:104px;object-fit:contain;border-radius:8px;background:#fff; }
.donation-empty { padding:.9rem 1rem;border:1px solid #dce3ed;border-radius:12px;background:#f5f7fa;color:#526078;font-size:.82rem;line-height:1.6; }
.donation-admin-card { padding:1rem;border:1px solid #d7dfeb;border-radius:14px;background:#fff;color:#24334a; }
.donation-admin-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.8rem; }
.donation-admin-fields label { display:grid;gap:.35rem;color:#42516a;font-size:.75rem;font-weight:600; }
.donation-admin-fields input,.donation-admin-fields textarea { width:100%;min-height:38px;padding:.55rem .65rem;border:1px solid #c8d2e0;border-radius:8px;background:#fff;color:#18263c;font-family:inherit;font-size:.8rem;font-weight:400;line-height:1.4; }
.site-brand-mark { background-image:url('../brand/test-arena-mark.svg?v=20261108');background-position:center;background-repeat:no-repeat;background-size:cover;color:transparent !important; }
.donation-admin-actions { display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-top:.8rem;padding-top:.8rem;border-top:1px solid #e4e9f0;color:#34435b;font-size:.78rem; }
.access-denied { display:grid;min-height:100vh;place-items:center;padding:1.25rem;background:#f4f6fa;color:#1b2940;font-family:Inter,system-ui,sans-serif; }
.access-denied-card { width:min(100%,440px);padding:2rem;border:1px solid #dce3ed;border-radius:18px;background:#fff;box-shadow:0 18px 50px rgba(20,37,62,.1); }
.access-denied-mark { display:block;width:42px;height:42px;object-fit:cover;border-radius:12px; }
.access-denied-card h1 { margin:1.1rem 0 .35rem;font-size:1.35rem; }
.access-denied-card p { margin:.4rem 0 1.2rem;color:#526078;line-height:1.55; }
.access-denied-card a { display:inline-flex;padding:.65rem .9rem;border-radius:9px;background:#315fba;color:#fff;text-decoration:none;font-weight:650; }

html[data-theme="day"] .site-admin { background:#f3f5f9 !important;color:#1c2a40 !important; }
html[data-theme="day"] .site-admin aside { background:#fff !important;border-color:#dce3ed !important; }
html[data-theme="day"] .site-admin main { background:#f3f5f9 !important; }
html[data-theme="day"] .site-admin .glass-card,html[data-theme="day"] .site-admin .bg-\[\#0e1526\],html[data-theme="day"] .site-admin .bg-\[\#111827\] { background:#fff !important;border-color:#dce3ed !important;color:#24334a !important; }
html[data-theme="day"] .site-admin .text-white,html[data-theme="day"] .site-admin .text-slate-100,html[data-theme="day"] .site-admin .text-slate-200,html[data-theme="day"] .site-admin .text-gray-200,html[data-theme="day"] .site-admin .text-gray-300 { color:#26364d !important; }
html[data-theme="day"] .site-admin .text-slate-400,html[data-theme="day"] .site-admin .text-slate-300,html[data-theme="day"] .site-admin .text-gray-400,html[data-theme="day"] .site-admin .text-gray-500 { color:#526078 !important; }
html[data-theme="day"] .site-admin .text-amber-200,html[data-theme="day"] .site-admin .text-amber-300,html[data-theme="day"] .site-admin .text-amber-400,html[data-theme="day"] .site-admin .text-yellow-300,html[data-theme="day"] .site-admin .text-yellow-400 { color:#784900 !important; }
html[data-theme="day"] .site-admin .text-emerald-300,html[data-theme="day"] .site-admin .text-emerald-400 { color:#17633d !important; }
html[data-theme="day"] .site-admin .text-rose-200,html[data-theme="day"] .site-admin .text-rose-300,html[data-theme="day"] .site-admin .text-red-300,html[data-theme="day"] .site-admin .text-red-400 { color:#a32936 !important; }
html[data-theme="day"] .site-admin input:not([type="checkbox"]):not([type="color"]),html[data-theme="day"] .site-admin textarea,html[data-theme="day"] .site-admin select { background:#fff !important;color:#1c2a40 !important;border-color:#c7d1df !important; }
html[data-theme="day"] .site-admin .bg-black\/30,html[data-theme="day"] .site-admin .bg-black\/40,html[data-theme="day"] .site-admin .bg-black\/50 { background:#f3f5f9 !important; }
html[data-theme="day"] .site-admin .border-white\/\[0\.07\],html[data-theme="day"] .site-admin .border-white\/10,html[data-theme="day"] .site-admin .border-white\/15 { border-color:#dce3ed !important; }
html[data-theme="day"] .site-admin .bg-blue-600.text-white,html[data-theme="day"] .site-admin button.bg-blue-600,html[data-theme="day"] .site-admin button.bg-rose-600,html[data-theme="day"] .site-admin button.bg-emerald-600 { color:#fff !important; }
html[data-theme="day"] .site-admin .hover\:text-white:hover { color:#1c2a40 !important; }
html[data-theme="day"] body.site-page:not(.site-home) { background:#f3f5f9 !important;color:#1c2a40 !important; }
html[data-theme="day"] body.site-page:not(.site-home) [class*="bg-[#0e1526]"],html[data-theme="day"] body.site-page:not(.site-home) [class*="bg-[#111827]"],html[data-theme="day"] body.site-page:not(.site-home) [class*="bg-[#080c14]"] { background:#fff !important;color:#26364d !important;border-color:#dce3ed !important; }
html[data-theme="day"] body.site-page:not(.site-home) .text-white,html[data-theme="day"] body.site-page:not(.site-home) .text-slate-100,html[data-theme="day"] body.site-page:not(.site-home) .text-slate-200,html[data-theme="day"] body.site-page:not(.site-home) .text-slate-300,html[data-theme="day"] body.site-page:not(.site-home) .text-gray-300 { color:#26364d !important; }
html[data-theme="day"] body.site-page:not(.site-home) .text-slate-400,html[data-theme="day"] body.site-page:not(.site-home) .text-slate-500,html[data-theme="day"] body.site-page:not(.site-home) .text-gray-400,html[data-theme="day"] body.site-page:not(.site-home) .text-gray-500 { color:#526078 !important; }
html[data-theme="day"] body.site-page:not(.site-home) .text-amber-200,html[data-theme="day"] body.site-page:not(.site-home) .text-amber-300,html[data-theme="day"] body.site-page:not(.site-home) .text-amber-400,html[data-theme="day"] body.site-page:not(.site-home) .text-yellow-300,html[data-theme="day"] body.site-page:not(.site-home) .text-yellow-400 { color:#784900 !important; }
html[data-theme="day"] body.site-page:not(.site-home) .text-emerald-300,html[data-theme="day"] body.site-page:not(.site-home) .text-emerald-400 { color:#17633d !important; }
html[data-theme="day"] body.site-page:not(.site-home) .text-rose-200,html[data-theme="day"] body.site-page:not(.site-home) .text-rose-300,html[data-theme="day"] body.site-page:not(.site-home) .text-red-300,html[data-theme="day"] body.site-page:not(.site-home) .text-red-400 { color:#a32936 !important; }
html[data-theme="day"] body.site-page:not(.site-home) .text-blue-100,html[data-theme="day"] body.site-page:not(.site-home) .text-blue-200,html[data-theme="day"] body.site-page:not(.site-home) .text-blue-300,html[data-theme="day"] body.site-page:not(.site-home) .text-blue-400,html[data-theme="day"] body.site-page:not(.site-home) .text-cyan-300,html[data-theme="day"] body.site-page:not(.site-home) .text-cyan-400,html[data-theme="day"] body.site-page:not(.site-home) .text-indigo-300,html[data-theme="day"] body.site-page:not(.site-home) .text-indigo-400 { color:#244f91 !important; }
html[data-theme="day"] body.site-page:not(.site-home) .text-purple-200,html[data-theme="day"] body.site-page:not(.site-home) .text-purple-300,html[data-theme="day"] body.site-page:not(.site-home) .text-purple-400,html[data-theme="day"] body.site-page:not(.site-home) .text-pink-200,html[data-theme="day"] body.site-page:not(.site-home) .text-pink-300,html[data-theme="day"] body.site-page:not(.site-home) .text-pink-400 { color:#793c72 !important; }
html[data-theme="day"] body.site-page:not(.site-home) input:not([type="checkbox"]):not([type="color"]),html[data-theme="day"] body.site-page:not(.site-home) textarea,html[data-theme="day"] body.site-page:not(.site-home) select { background:#fff !important;color:#1c2a40 !important;border-color:#c7d1df !important; }
html[data-theme="day"] body.site-page:not(.site-home) button.bg-blue-600,html[data-theme="day"] body.site-page:not(.site-home) button.bg-indigo-600,html[data-theme="day"] body.site-page:not(.site-home) button.bg-rose-600 { color:#fff !important; }
html[data-theme="dark"] body { background:#0d1421 !important;color:#e6edf7 !important; }
html[data-theme="dark"] .site-home,html[data-theme="dark"] .site-content-page,html[data-theme="dark"] .site-dashboard { background:#0d1421 !important;color:#e6edf7 !important; }
html[data-theme="dark"] .site-home .site-header,html[data-theme="dark"] .site-home .site-footer,html[data-theme="dark"] .site-home .site-nav-panel { background:#121c2b !important;border-color:#29374b !important; }
html[data-theme="dark"] .site-home .site-section,html[data-theme="dark"] .site-home .site-faq-list details,html[data-theme="dark"] .site-home .site-steps article,html[data-theme="dark"] .site-home .site-feature-item { background:#121c2b !important;border-color:#29374b !important;color:#e6edf7 !important; }
html[data-theme="dark"] .site-home h1,html[data-theme="dark"] .site-home h2,html[data-theme="dark"] .site-home h3,html[data-theme="dark"] .site-home .site-nav a { color:#f2f6fc !important; }
html[data-theme="dark"] .site-home p,html[data-theme="dark"] .site-home .site-faq-list details p,html[data-theme="dark"] .site-home .site-muted { color:#aab8ca !important; }
html[data-theme="dark"] .tp-theme-toggle { border-color:#35445a;background:#182438;color:#eaf1fb; }
html[data-theme="dark"] .donation-method-card,html[data-theme="dark"] .donation-empty { background:#172438;border-color:#33435a;color:#e7eef8; }
html[data-theme="dark"] .donation-note { color:#b4c2d5; }
html[data-theme="dark"] .donation-admin-card { background:#111c2b;border-color:#33435a;color:#e7eef8; }
html[data-theme="dark"] .donation-admin-fields label,html[data-theme="dark"] .donation-admin-actions { color:#c6d2e2; }
html[data-theme="dark"] .donation-admin-fields input,html[data-theme="dark"] .donation-admin-fields textarea { background:#0d1624;color:#edf3fb;border-color:#3a4a60; }
html[data-theme="dark"] .access-denied { background:#0d1421;color:#e6edf7; }
html[data-theme="dark"] .access-denied-card { background:#121c2b;border-color:#29374b; }
html[data-theme="dark"] .access-denied-card p { color:#b4c2d5; }

/* Dedicated three-factor admin sign-in gate. */
body.site-admin.admin-gated { display:grid !important; min-height:100vh; place-items:center; padding:1.25rem; background:#0b1220; }
body.site-admin.admin-gated > :not(#admin-login-gate) { display:none !important; }
.admin-login-gate { display:none; width:100%; min-height:calc(100vh - 2.5rem); place-items:center; }
body.site-admin.admin-gated #admin-login-gate { display:grid; }
.admin-login-card { width:min(100%,430px); padding:2rem; border:1px solid #26384e; border-radius:22px; background:linear-gradient(155deg,#121e31 0%,#0f1929 72%); box-shadow:0 28px 80px rgba(0,0,0,.4); color:#edf3fc; }
.admin-login-brand { display:inline-flex; align-items:center; gap:.7rem; color:#f2f6fc; text-decoration:none; font-size:1rem; font-weight:700; letter-spacing:-.02em; }
.admin-login-brand img { width:40px; height:40px; border-radius:12px; }
.admin-login-brand small { display:block; margin-top:.14rem; color:#95a9c3; font-size:.57rem; font-weight:650; letter-spacing:.12em; }
.admin-login-heading { margin:2rem 0 1.4rem; }
.admin-login-kicker { color:#8fb4ff; font-size:.66rem; font-weight:700; letter-spacing:.14em; }
.admin-login-heading h1 { margin:.5rem 0 .4rem; color:#f4f7fc; font-size:1.55rem; font-weight:700; letter-spacing:-.04em; }
.admin-login-heading p { margin:0; color:#a5b4c8; font-size:.84rem; line-height:1.6; }
.admin-login-form { display:grid; gap:.55rem; }
.admin-login-form label { margin-top:.35rem; color:#d5dfec; font-size:.76rem; font-weight:600; }
.admin-login-form input { width:100%; min-height:44px; padding:.7rem .8rem; border:1px solid #33475f; border-radius:10px; outline:none; background:#0b1423; color:#f0f5fb; font:inherit; font-size:.86rem; }
.admin-login-form input::placeholder { color:#8293aa; }
.admin-login-form input:focus { border-color:#6e9cff; box-shadow:0 0 0 3px rgba(87,137,232,.18); }
.admin-login-submit { display:flex; min-height:46px; align-items:center; justify-content:center; gap:.55rem; margin-top:.75rem; border:1px solid #5686df; border-radius:11px; background:#3e6fc2; color:#fff; font-size:.85rem; font-weight:650; cursor:pointer; transition:background .15s ease,transform .15s ease; }
.admin-login-submit:hover { transform:translateY(-1px); background:#4b7ed2; }
.admin-login-submit:disabled { cursor:wait; opacity:.65; transform:none; }
.admin-login-submit svg,.admin-login-note svg,.admin-logout-btn svg { width:16px; height:16px; }
.admin-login-feedback { min-height:1.25rem; margin:.1rem 0 0; color:#fda4af; font-size:.76rem; line-height:1.5; }
.admin-login-feedback[data-state="success"] { color:#86efac; }
.admin-login-note { display:flex; align-items:center; gap:.45rem; margin:1rem 0 0; padding-top:.9rem; border-top:1px solid #26384e; color:#8fa1b8; font-size:.69rem; line-height:1.5; }
.admin-logout-btn { display:flex; width:100%; align-items:center; gap:.55rem; margin-top:.75rem; padding:.65rem .7rem; border:1px solid #354860; border-radius:9px; background:#111c2c; color:#c4d1e1; font-size:.75rem; cursor:pointer; }
.admin-logout-btn:hover { border-color:#6888b6; color:#fff; }
@media (max-width:480px) {
  body.site-admin.admin-gated { padding:.8rem; }
  .admin-login-gate { min-height:calc(100vh - 1.6rem); }
  .admin-login-card { padding:1.4rem; border-radius:18px; }
  .admin-login-heading { margin-top:1.5rem; }
}
.copy-group-email-btn { display:inline-flex;flex:0 0 auto;align-items:center;justify-content:center;gap:.45rem;min-height:36px;padding:.45rem .75rem;white-space:nowrap;font-size:.74rem;font-weight:650; }
.app-cost-card { display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.1rem;border:1px solid #d8e0eb;border-radius:14px;background:#f7f9fc;color:#26364d; }
.app-cost-input-wrap { display:grid;gap:.3rem;min-width:0; }
.app-cost-input-wrap label { color:#33445f; }
.app-cost-input-wrap small { color:#53637b;font-size:.7rem;line-height:1.4; }
.app-target-testers-input { width:min(100%,190px);min-height:42px;padding:.55rem .7rem;border:1px solid #bcc9da;border-radius:9px;background:#fff;color:#18263c;font-size:.95rem;font-weight:650; }
.app-target-testers-input:focus-visible,.verification-question-fields input:focus-visible { outline:3px solid rgba(49,95,186,.22);border-color:#315fba; }
.app-target-testers-input[aria-invalid="true"],.verification-question-fields input[aria-invalid="true"] { border-color:#c2414b;box-shadow:0 0 0 2px rgba(194,65,75,.12); }
.verification-heading { display:flex;align-items:flex-start;justify-content:space-between;gap:1rem; }
.verification-heading h4 { margin:0;color:#25364f;font-size:.88rem;font-weight:700; }
.verification-heading p { max-width:590px;margin:.3rem 0 0;color:#53637b;font-size:.75rem;line-height:1.55; }
.verification-day-count { flex:none;padding:.3rem .55rem;border-radius:999px;background:#e8eef8;color:#315fba;font-size:.72rem;font-weight:700; }
.verification-questions-list { display:grid;gap:.65rem; }
.verification-question-card { padding:.8rem;border:1px solid #d5deea;border-radius:12px;background:#fff; }
.verification-question-card-head { display:flex;align-items:center;justify-content:space-between;gap:.8rem;margin-bottom:.65rem; }
.verification-day-label { color:#315fba;font-size:.76rem;font-weight:700; }
.verification-remove-btn { display:inline-flex;align-items:center;gap:.3rem;padding:.25rem .4rem;border:0;background:transparent;color:#a32936;font-size:.7rem;font-weight:600;cursor:pointer; }
.verification-remove-btn[hidden] { display:none; }
.verification-question-fields { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem; }
.verification-question-fields label { display:grid;gap:.35rem;color:#33445f;font-size:.72rem;font-weight:650; }
.verification-question-fields input { width:100%;min-height:40px;padding:.55rem .65rem;border:1px solid #c5d0df;border-radius:8px;background:#fff;color:#18263c;font-size:.78rem;font-weight:400; }
.verification-question-fields input::placeholder { color:#728198;opacity:1; }
.add-verification-question { display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:40px;padding:.55rem .8rem;border-color:#b8c8df;background:#fff;color:#315fba;font-size:.76rem;font-weight:650; }
.add-verification-question:hover:not(:disabled) { background:#eff4fb;border-color:#90a9cf; }
.add-verification-question:disabled { cursor:not-allowed;opacity:.55; }
.group-confirm-label { color:#34435b !important; }
html[data-theme="dark"] .app-cost-card,html[data-theme="dark"] .verification-question-card { border-color:#33435a;background:#111c2b;color:#e7eef8; }
html[data-theme="dark"] .app-cost-input-wrap label,html[data-theme="dark"] .verification-question-fields label,html[data-theme="dark"] .verification-heading h4 { color:#dce6f3; }
html[data-theme="dark"] .app-cost-input-wrap small,html[data-theme="dark"] .verification-heading p { color:#acbbcf; }
html[data-theme="dark"] .app-target-testers-input,html[data-theme="dark"] .verification-question-fields input { border-color:#3a4a60;background:#0d1624;color:#edf3fb; }
html[data-theme="dark"] .verification-question-fields input::placeholder { color:#9aaac0; }
html[data-theme="dark"] .verification-day-count { background:#1d3150;color:#bcd2f4; }
html[data-theme="dark"] .add-verification-question { border-color:#3b5272;background:#172438;color:#c6d9f6; }
html[data-theme="dark"] .group-confirm-label { color:#cbd8ea !important; }
@media(max-width:640px) { .tp-theme-toggle { right:.7rem;bottom:.7rem;min-height:40px; }.site-dashboard .tp-theme-toggle { bottom:calc(env(safe-area-inset-bottom) + 76px); }.donation-method-card { align-items:flex-start;flex-wrap:wrap; }.donation-admin-fields { grid-template-columns:1fr; } }
@media(max-width:520px) { .copy-group-email-btn { min-height:34px;padding:.4rem .55rem;font-size:.7rem; }.app-cost-card { align-items:flex-start;flex-direction:column; }.app-cost-card .text-right { text-align:left; }.verification-question-fields { grid-template-columns:1fr; } }
.site-home .site-final-cta { color:#f2f5f9;background:linear-gradient(115deg,#263953,#354c6b);border-color:#344a67;box-shadow:0 14px 36px rgba(26,42,64,.12); }
.site-home .site-final-cta h2, .site-home .site-final-cta .site-kicker { color:#f2f5f9; }
.site-home .site-final-cta > div > p:last-child { color:#ccd5e1; }
.site-home .site-final-cta .site-button-primary { color:#263953;background:#f6f8fb;border-color:#f6f8fb; }
.site-home .site-final-cta .site-button-primary:hover { background:#e7edf5;border-color:#e7edf5; }
.site-home .site-footer { margin-top:0; }
.site-home .site-nav a { color:#526179; }
.site-home .site-nav a:hover { color:#2e4f7e; }
.site-home .site-header { box-shadow:0 2px 10px rgba(25,39,61,.025); }
.site-home .site-brand-mark { background-color:#536f96; }
.site-home .site-actions .site-button-primary { color:#fff;background:#506e9c;border-color:#506e9c; }
.site-home .site-actions .site-button-primary:hover { color:#fff;background:#415c85;border-color:#415c85; }
.site-home .site-button-quiet { border-color:#dfe5ec; }
.site-page .site-button-quiet { color:#46566e;background:#fff;border:1px solid #dce2ea; }
.site-page .site-button-quiet:hover { color:#2e405a;background:#f6f8fa; }
.site-page .desktop-sidebar .text-white, .site-admin > aside .text-white { color:#26364e !important; }
.site-admin > aside > div:first-child a > div:first-child { border-radius:9px;background:#e9eff6 !important;color:#4e6c98 !important;box-shadow:none; }
.site-admin > aside .text-purple-400 { color:#6e6688 !important; }
.site-admin > aside .badge-fluid { color:#6d6683 !important; background:#f2f0f6 !important; }
.site-admin > aside > div:last-child a { font-size:.75rem; }
.site-admin #section-analytics > .glass-card.border-l-4 { background:linear-gradient(105deg,#fff,#f8fafc) !important; }
.site-admin .admin-panel-section input[type="color"] { min-height:40px;padding:3px; }
.site-dashboard .desktop-sidebar .text-blue-400 { color:#4f6fa8 !important; }
.site-dashboard .desktop-sidebar .text-white { color:#26364e !important; }
.site-dashboard .mobile-bottom-nav { padding-top:.55rem; }
.site-dashboard #view-profile .glass-card { border-color:#e2e7ed; }
.site-dashboard #view-profile .profile-hero-banner { background:linear-gradient(105deg,#cad7e7,#e6ebf2 55%,#dbe3ed); }
.site-dashboard #view-profile .grid > [class*="bg-white/"] { box-shadow:0 2px 9px rgba(30,45,66,.025); }
.site-supervisor .badge-fluid { border:1px solid #e4e8ef; }
.site-supervisor main > .grid:first-child .glass-card:nth-child(1) { border-top:3px solid #748baa; }
.site-supervisor main > .grid:first-child .glass-card:nth-child(2) { border-top:3px solid #78917e; }
.site-supervisor main > .grid:first-child .glass-card:nth-child(3) { border-top:3px solid #b78180; }
.site-supervisor main > .grid:first-child .glass-card:nth-child(4) { border-top:3px solid #897e9d; }
@media(max-width:850px) {
  .site-home .site-hero { padding-top:2.7rem;padding-bottom:2rem; }
  .site-home .site-product-preview { box-shadow:0 16px 38px rgba(4,11,22,.24); }
}

@media (max-width:1200px) {
  .site-home .site-header-inner { width:calc(100% - 1.5rem);gap:.75rem; }
  .site-home .site-nav { gap:.58rem; }
  .site-home .site-nav a { flex-shrink:0;white-space:nowrap;font-size:.7rem; }
  .site-home .site-actions { gap:.25rem; }
  .site-home .site-link-button { display:none; }
  .site-home .site-actions .site-button { min-height:37px;padding:.45rem .6rem;font-size:.7rem; }
}
@media (max-width:1200px) and (min-width:851px) {
  .site-home .site-header-inner { flex-wrap:wrap;padding:.55rem 0; }
  .site-home .site-nav { order:3;width:100%;justify-content:center;padding:.2rem 0 .25rem; }
  .site-home .site-actions { margin-left:auto; }
}

/* Final landing alignment and independent FAQ columns. */
.site-home .site-value-strip { width:min(100% - 2.5rem,1380px); }
.site-home .site-faq-list { display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:.65rem; }
.site-home .site-faq-column { min-width:0;display:flex;flex-direction:column;align-items:stretch;gap:.65rem; }
.site-home .site-faq-column details { width:100%;flex:0 0 auto; }
@media (max-width:1200px) {
  .site-home .site-value-strip { width:calc(100% - 1.5rem); }
}
@media (max-width:760px) {
  .site-home .site-faq-list { grid-template-columns:1fr; }
}

/* Keep the credential gate legible even when the site preference is Day. */
html[data-theme="day"] body.site-admin.admin-gated { background:#0b1220 !important;color:#edf3fc !important; }
html[data-theme="day"] body.site-admin.admin-gated .admin-login-card { background:linear-gradient(155deg,#121e31 0%,#0f1929 72%) !important;border-color:#26384e !important;color:#edf3fc !important; }
html[data-theme="day"] body.site-admin.admin-gated .admin-login-brand,
html[data-theme="day"] body.site-admin.admin-gated .admin-login-heading h1 { color:#f4f7fc !important; }
html[data-theme="day"] body.site-admin.admin-gated .admin-login-brand small,
html[data-theme="day"] body.site-admin.admin-gated .admin-login-heading p,
html[data-theme="day"] body.site-admin.admin-gated .admin-login-note { color:#a5b4c8 !important; }
html[data-theme="day"] body.site-admin.admin-gated .admin-login-form label { color:#d5dfec !important; }
html[data-theme="day"] body.site-admin.admin-gated #admin-login-gate .admin-login-form input { background:#0b1423 !important;color:#f0f5fb !important;border-color:#33475f !important; }
html[data-theme="day"] body.site-admin.admin-gated #admin-login-gate .admin-login-form input::placeholder { color:#8293aa !important; }
html[data-theme="day"] body.site-admin.admin-gated .admin-login-feedback { color:#fda4af !important; }
html[data-theme="day"] body.site-admin.admin-gated .admin-login-feedback[data-state="success"] { color:#86efac !important; }
/* Complete cross-site theme overrides. Keep this block last so page-specific light defaults never leak into dark mode. */
html[data-theme="dark"] {
  color-scheme: dark;
  --bg-color:#0b1220;
  --surface-color:#111c2b;
  --surface-hover:#18263a;
  --card-bg:#111c2b;
  --border-color:#2b3a4f;
  --text-primary:#e7edf6;
  --text-secondary:#b5c2d4;
  --text-muted:#91a0b5;
}
html[data-theme="dark"] body,
html[data-theme="dark"] body.site-page,
html[data-theme="dark"] body.site-home {
  background:#0b1220 !important;
  color:#e7edf6 !important;
}
html[data-theme="dark"] body.site-page h1,
html[data-theme="dark"] body.site-page h2,
html[data-theme="dark"] body.site-page h3,
html[data-theme="dark"] body.site-page h4,
html[data-theme="dark"] body.site-home h1,
html[data-theme="dark"] body.site-home h2,
html[data-theme="dark"] body.site-home h3,
html[data-theme="dark"] body.site-home h4 { color:#f1f5fb !important; }
html[data-theme="dark"] body.site-page p,
html[data-theme="dark"] body.site-page li,
html[data-theme="dark"] body.site-page label,
html[data-theme="dark"] body.site-page th,
html[data-theme="dark"] body.site-page td,
html[data-theme="dark"] body.site-home p { color:#bdc9d9; }
html[data-theme="dark"] body.site-page .text-white,
html[data-theme="dark"] body.site-page .text-slate-100,
html[data-theme="dark"] body.site-page .text-slate-200,
html[data-theme="dark"] body.site-page .text-gray-100,
html[data-theme="dark"] body.site-page .text-gray-200,
html[data-theme="dark"] body.site-page .text-gray-900,
html[data-theme="dark"] body.site-page .text-slate-900,
html[data-theme="dark"] body.site-page .text-black { color:#f1f5fb !important; }
html[data-theme="dark"] body.site-page .text-slate-300,
html[data-theme="dark"] body.site-page .text-gray-300 { color:#bdc9d9 !important; }
html[data-theme="dark"] body.site-page .text-slate-400,
html[data-theme="dark"] body.site-page .text-slate-500,
html[data-theme="dark"] body.site-page .text-slate-600,
html[data-theme="dark"] body.site-page .text-gray-400,
html[data-theme="dark"] body.site-page .text-gray-500,
html[data-theme="dark"] body.site-page .text-gray-600 { color:#9eacc0 !important; }
html[data-theme="dark"] body.site-page .text-blue-300,
html[data-theme="dark"] body.site-page .text-blue-400,
html[data-theme="dark"] body.site-page .text-indigo-300,
html[data-theme="dark"] body.site-page .text-indigo-400 { color:#9dbcf0 !important; }
html[data-theme="dark"] body.site-page .text-emerald-300,
html[data-theme="dark"] body.site-page .text-emerald-400 { color:#83d4a7 !important; }
html[data-theme="dark"] body.site-page .text-amber-200,
html[data-theme="dark"] body.site-page .text-amber-300,
html[data-theme="dark"] body.site-page .text-amber-400,
html[data-theme="dark"] body.site-page .text-yellow-300,
html[data-theme="dark"] body.site-page .text-yellow-400 { color:#f1ca78 !important; }
html[data-theme="dark"] body.site-page .text-rose-200,
html[data-theme="dark"] body.site-page .text-rose-300,
html[data-theme="dark"] body.site-page .text-rose-400,
html[data-theme="dark"] body.site-page .text-red-300,
html[data-theme="dark"] body.site-page .text-red-400 { color:#f29aa0 !important; }
html[data-theme="dark"] body.site-page .text-purple-200,
html[data-theme="dark"] body.site-page .text-purple-300,
html[data-theme="dark"] body.site-page .text-purple-400 { color:#c5afea !important; }

/* App shells: admin, supervisor, member workspace, public pages and profile cards. */
html[data-theme="dark"] body.site-page .glass-card,
html[data-theme="dark"] body.site-page .bottom-sheet,
html[data-theme="dark"] body.site-page .custom-modal-box,
html[data-theme="dark"] body.site-page .donation-method-card,
html[data-theme="dark"] body.site-page .donation-empty,
html[data-theme="dark"] body.site-page .donation-admin-card,
html[data-theme="dark"] body.site-page .access-denied-card,
html[data-theme="dark"] body.site-page [class*="bg-white"],
html[data-theme="dark"] body.site-page [class*="bg-gray-50"],
html[data-theme="dark"] body.site-page [class*="bg-gray-100"],
html[data-theme="dark"] body.site-page [class*="bg-slate-50"],
html[data-theme="dark"] body.site-page [class*="bg-slate-100"],
html[data-theme="dark"] body.site-page [class*="bg-[#0e1526]"],
html[data-theme="dark"] body.site-page [class*="bg-[#111827]"],
html[data-theme="dark"] body.site-page [class*="bg-[#080c14]"] {
  background-color:#111c2b !important;
  border-color:#2b3a4f !important;
  color:#e7edf6 !important;
}
html[data-theme="dark"] body.site-dashboard .desktop-sidebar,
html[data-theme="dark"] body.site-dashboard > div.flex-grow > header,
html[data-theme="dark"] body.site-dashboard > div.flex-grow > header nav,
html[data-theme="dark"] body.site-dashboard .mobile-bottom-nav,
html[data-theme="dark"] body.site-admin > aside,
html[data-theme="dark"] body.site-supervisor > header,
html[data-theme="dark"] body.site-content-page header,
html[data-theme="dark"] body.site-content-page footer {
  background:#111c2b !important;
  border-color:#2b3a4f !important;
  color:#e7edf6 !important;
}
html[data-theme="dark"] body.site-dashboard #view-feed > div:first-child,
html[data-theme="dark"] body.site-dashboard #view-queue > div:first-child,
html[data-theme="dark"] body.site-dashboard #view-profile .profile-hero-banner,
html[data-theme="dark"] body.site-admin #section-analytics > .glass-card.border-l-4 {
  background:#152237 !important;
  border-color:#2b3a4f !important;
}
html[data-theme="dark"] body.site-dashboard .profile-avatar-img { border-color:#24344b !important;background:#263852 !important; }
html[data-theme="dark"] body.site-dashboard .sidebar-nav-btn,
html[data-theme="dark"] body.site-admin > aside nav > button { color:#aebbd0 !important; }
html[data-theme="dark"] body.site-dashboard .sidebar-nav-btn:hover,
html[data-theme="dark"] body.site-admin > aside nav > button:hover { background:#1b2a40 !important;color:#f1f5fb !important; }
html[data-theme="dark"] body.site-dashboard .sidebar-nav-btn.active,
html[data-theme="dark"] body.site-admin > aside nav > button.bg-blue-600 { background:#203657 !important;color:#c5d8f7 !important;border-color:#35537c !important; }
html[data-theme="dark"] body.site-dashboard .sidebar-user-info { background:#152237 !important;border-color:#2b3a4f !important; }
html[data-theme="dark"] body.site-dashboard .trust-gauge-inner { background:#111c2b !important; }
html[data-theme="dark"] body.site-dashboard .streak-dot,
html[data-theme="dark"] body.site-dashboard .step-day-seg { background:#26364c !important; }
html[data-theme="dark"] body.site-dashboard .step-day-seg.active { background:#6386bb !important; }
html[data-theme="dark"] body.site-dashboard .code,
html[data-theme="dark"] body.site-dashboard code { color:#b7cdf0 !important;background:#1a2b43 !important; }
html[data-theme="dark"] body.site-supervisor .badge-fluid,
html[data-theme="dark"] body.site-admin .badge-fluid { border-color:#35445b !important; }
html[data-theme="dark"] body.site-page .site-final-cta { background:linear-gradient(115deg,#1b2c43,#243a56) !important;border-color:#304663 !important; }

/* Controls, tables, dividers and secondary actions. */
html[data-theme="dark"] body.site-page input:not([type="checkbox"]):not([type="radio"]):not([type="color"]),
html[data-theme="dark"] body.site-page select,
html[data-theme="dark"] body.site-page textarea,
html[data-theme="dark"] body.site-page option,
html[data-theme="dark"] body.site-page .donation-admin-fields input,
html[data-theme="dark"] body.site-page .donation-admin-fields textarea {
  color:#edf3fb !important;
  background:#0d1726 !important;
  border-color:#35465d !important;
}
html[data-theme="dark"] body.site-page input::placeholder,
html[data-theme="dark"] body.site-page textarea::placeholder { color:#91a0b5 !important; }
html[data-theme="dark"] body.site-page [class*="border-white"],
html[data-theme="dark"] body.site-page .border-slate-100,
html[data-theme="dark"] body.site-page .border-slate-200,
html[data-theme="dark"] body.site-page .border-gray-100,
html[data-theme="dark"] body.site-page .border-gray-200,
html[data-theme="dark"] body.site-page .border-t,
html[data-theme="dark"] body.site-page .border-b,
html[data-theme="dark"] body.site-page .border-r { border-color:#2b3a4f !important; }
html[data-theme="dark"] body.site-page thead,
html[data-theme="dark"] body.site-page thead[class*="bg-white"] { background:#172438 !important; }
html[data-theme="dark"] body.site-page th { color:#aebbd0 !important; }
html[data-theme="dark"] body.site-page td { color:#d6dfeb; }
html[data-theme="dark"] body.site-page tbody tr:hover { background:#172438 !important; }
html[data-theme="dark"] body.site-page .btn-secondary,
html[data-theme="dark"] body.site-page .site-button-quiet,
html[data-theme="dark"] body.site-page .lang-selector-btn,
html[data-theme="dark"] body.site-page .lang-dropdown-panel,
html[data-theme="dark"] body.site-page .lang-dropdown-menu {
  color:#dbe5f2 !important;background:#172438 !important;border-color:#35465d !important;
}
html[data-theme="dark"] body.site-page .lang-dropdown-option { color:#c1cddd !important; }
html[data-theme="dark"] body.site-page .lang-dropdown-option.active { color:#b9d0f7 !important;background:#203657 !important; }
html[data-theme="dark"] body.site-page .announcement-bar { color:#c6d5e8 !important;background:#152237 !important;border-color:#2b3a4f !important; }
html[data-theme="dark"] body.site-page [class*="bg-blue-500/"],
html[data-theme="dark"] body.site-page [class*="bg-blue-600/"],
html[data-theme="dark"] body.site-page [class*="bg-emerald-500/"],
html[data-theme="dark"] body.site-page [class*="bg-amber-500/"],
html[data-theme="dark"] body.site-page [class*="bg-purple-500/"],
html[data-theme="dark"] body.site-page [class*="bg-red-500/"],
html[data-theme="dark"] body.site-page [class*="bg-rose-500/"] { border-color:#35465d; }
html[data-theme="dark"] body.site-page button.bg-blue-600,
html[data-theme="dark"] body.site-page .btn-primary,
html[data-theme="dark"] body.site-page .site-button-primary { color:#fff !important;background:#315fba !important;border-color:#315fba !important; }
html[data-theme="dark"] body.site-page .site-header,
html[data-theme="dark"] body.site-page .site-footer,
html[data-theme="dark"] body.site-page .site-nav-panel,
html[data-theme="dark"] body.site-page .site-section,
html[data-theme="dark"] body.site-page .site-steps article,
html[data-theme="dark"] body.site-page .site-feature-item,
html[data-theme="dark"] body.site-page .site-faq-list details,
html[data-theme="dark"] body.site-page .site-app-card,
html[data-theme="dark"] body.site-page .site-value-strip { background:#111c2b !important;border-color:#2b3a4f !important;color:#e7edf6 !important; }
html[data-theme="dark"] body.site-page .site-nav a,
html[data-theme="dark"] body.site-home .site-nav a { color:#bdc9d9 !important; }
html[data-theme="dark"] body.site-page .site-kicker,
html[data-theme="dark"] body.site-page .site-step-number { color:#b8cff3 !important; }
html[data-theme="dark"] body.site-page .site-step-number { background:#1b2d46 !important;border-color:#344b69 !important; }
html[data-theme="dark"] body.site-page .tp-theme-toggle { color:#edf3fb !important;background:#18263a !important;border-color:#35465d !important; }
html[data-theme="dark"] body.site-page .app-cost-card,
html[data-theme="dark"] body.site-page .verification-question-card,
html[data-theme="dark"] body.site-page .donation-method-card,
html[data-theme="dark"] body.site-page .donation-empty,
html[data-theme="dark"] body.site-page .donation-admin-card { background:#111c2b !important;border-color:#2b3a4f !important;color:#e7edf6 !important; }
/* Semantic tinted surfaces retain their accent in dark mode instead of the day-mode pastel. */
html[data-theme="dark"] body.site-page [class*="bg-blue-500/"],
html[data-theme="dark"] body.site-page [class*="bg-blue-600/"],
html[data-theme="dark"] body.site-page [class*="bg-indigo-500/"],
html[data-theme="dark"] body.site-page [class*="bg-indigo-600/"] { background-color:#1b2d46 !important;border-color:#354e70 !important; }
html[data-theme="dark"] body.site-page [class*="bg-emerald-500/"],
html[data-theme="dark"] body.site-page [class*="bg-green-500/"] { background-color:#173329 !important;border-color:#2f5946 !important; }
html[data-theme="dark"] body.site-page [class*="bg-amber-500/"],
html[data-theme="dark"] body.site-page [class*="bg-yellow-500/"] { background-color:#342b1b !important;border-color:#5c4928 !important; }
html[data-theme="dark"] body.site-page [class*="bg-rose-500/"],
html[data-theme="dark"] body.site-page [class*="bg-red-500/"] { background-color:#39232a !important;border-color:#61404a !important; }
html[data-theme="dark"] body.site-page [class*="bg-purple-500/"],
html[data-theme="dark"] body.site-page [class*="bg-violet-500/"] { background-color:#2d2540 !important;border-color:#4e3d6b !important; }
html[data-theme="dark"] body.site-page .site-dashboard .sidebar-nav-btn.active { background:#203657 !important; }
html[data-theme="dark"] body.site-page .site-dashboard .desktop-sidebar .sidebar-user-info { background:#152237 !important; }
html[data-theme="dark"] body.site-page .site-admin > aside .text-white,
html[data-theme="dark"] body.site-page .site-dashboard .desktop-sidebar .text-white { color:#f1f5fb !important; }
html[data-theme="dark"] body.site-page .site-admin #section-analytics > .glass-card.border-l-4 { background:#152237 !important; }
html[data-theme="dark"] body.site-page .site-supervisor main .glass-card { background:#111c2b !important; }
html[data-theme="dark"] body.site-home { color:#e7edf6 !important;background:#0b1220 !important; }
html[data-theme="dark"] body.site-home .site-header,
html[data-theme="dark"] body.site-home .site-footer,
html[data-theme="dark"] body.site-home .site-nav-panel,
html[data-theme="dark"] body.site-home .site-section,
html[data-theme="dark"] body.site-home .site-steps article,
html[data-theme="dark"] body.site-home .site-feature-item,
html[data-theme="dark"] body.site-home .site-faq-list details,
html[data-theme="dark"] body.site-home .site-app-card,
html[data-theme="dark"] body.site-home .site-value-strip { background:#111c2b !important;border-color:#2b3a4f !important;color:#e7edf6 !important; }
html[data-theme="dark"] body.site-home p,
html[data-theme="dark"] body.site-home .site-muted { color:#aebbd0 !important; }
html[data-theme="dark"] body.site-home .site-final-cta { background:linear-gradient(115deg,#1b2c43,#243a56) !important;color:#f1f5fb !important; }
html[data-theme="dark"] body.site-dashboard #view-profile .grid > [class*="bg-white/"] {
  background:#111c2b !important;
  border-color:#2b3a4f !important;
  color:#e7edf6 !important;
}
html[data-theme="dark"] body.site-dashboard #view-profile .grid > [class*="bg-white/"] .text-slate-400,
html[data-theme="dark"] body.site-dashboard #view-profile .grid > [class*="bg-white/"] .text-slate-500 { color:#aebbd0 !important; }
/* Home page has its own design system, so give its preview and header explicit dark surfaces too. */
html[data-theme="dark"] body.site-home .site-product-preview,
html[data-theme="dark"] body.site-home .site-preview-card,
html[data-theme="dark"] body.site-home .site-preview-stats > div { background:#111c2b !important;border-color:#2b3a4f !important;color:#e7edf6 !important; }
html[data-theme="dark"] body.site-home .site-preview-topline { color:#afbed1 !important;border-color:#2b3a4f !important; }
html[data-theme="dark"] body.site-home .site-preview-tag { color:#b3c1d4 !important;border-color:#35465d !important; }
html[data-theme="dark"] body.site-home .site-preview-heading h2,
html[data-theme="dark"] body.site-home .site-preview-stats strong,
html[data-theme="dark"] body.site-home .site-preview-card-title strong { color:#edf3fb !important; }
html[data-theme="dark"] body.site-home .site-preview-overline,
html[data-theme="dark"] body.site-home .site-preview-stats > div > span,
html[data-theme="dark"] body.site-home .site-preview-stats small,
html[data-theme="dark"] body.site-home .site-preview-card-title small,
html[data-theme="dark"] body.site-home .site-preview-progress-label,
html[data-theme="dark"] body.site-home .site-preview-foot { color:#aab9cd !important; }
html[data-theme="dark"] body.site-home .site-preview-avatar,
html[data-theme="dark"] body.site-home .site-preview-mark,
html[data-theme="dark"] body.site-home .site-preview-app-icon { color:#d5e3f5 !important;background:#263c59 !important; }
html[data-theme="dark"] body.site-home .site-preview-status { color:#9dd6b2 !important;background:#18352a !important; }
html[data-theme="dark"] body.site-home .site-preview-progress { background:#2b3a4f !important; }
html[data-theme="dark"] body.site-home .site-preview-days span { background:#1d2c42 !important;color:#aab9cd !important; }
html[data-theme="dark"] body.site-home .site-preview-days .is-done { background:#1c372c !important;color:#a5d7b6 !important; }
html[data-theme="dark"] body.site-home .site-preview-days .is-current { background:#203657 !important;color:#c4d8f7 !important;box-shadow:inset 0 0 0 1px #42638e !important; }
html[data-theme="dark"] body.site-home .site-actions .lang-selector-btn,
html[data-theme="dark"] body.site-home .site-actions .btn-open-donate,
html[data-theme="dark"] body.site-home .site-actions .site-button-quiet { background:#172438 !important;color:#dbe5f2 !important;border-color:#35465d !important; }
html[data-theme="dark"] body.site-home .site-actions .btn-open-donate svg { color:#efc98a !important; }
html[data-theme="dark"] body.site-home .site-actions .site-button-primary { background:#315fba !important;color:#fff !important;border-color:#315fba !important; }
html[data-theme="dark"] body.site-home .site-actions .site-points { color:#c4d0df !important; }
html[data-theme="dark"] body.site-home .site-process,
html[data-theme="dark"] body.site-home .site-apps-section { background:#0e1726 !important;border-color:#2b3a4f !important; }
html[data-theme="dark"] body.site-home .site-group-callout { background:#152237 !important;border-color:#2b3a4f !important; }
html[data-theme="dark"] body.site-home .site-faq-list details[open] { background:#152237 !important;border-color:#3a526f !important; }
html[data-theme="dark"] body.site-home .site-value-icon { background:#1d2c42 !important;color:#b8cff3 !important; }
html[data-theme="dark"] body.site-home .site-brand { color:#edf3fb !important; }
html[data-theme="dark"] body.site-home .site-brand-copy small { color:#aab9cd !important; }
html[data-theme="dark"] body.site-home .site-value-strip strong { color:#e2eaf4 !important; }
html[data-theme="dark"] body.site-home .site-value-strip small { color:#aab9cd !important; }
html[data-theme="dark"] body.site-admin .admin-panel-section .bg-gradient-to-r { color:#e2eaf4 !important;background:#172438 !important;border-color:#2b3a4f !important; }
html[data-theme="dark"] body.site-admin > aside > div:first-child a > div:first-child { background:#1b2d46 !important;color:#b9cff2 !important; }
html[data-theme="dark"] body.site-admin > aside .badge-fluid { color:#c7b8e8 !important;background:#2d2540 !important; }
html[data-theme="dark"] body.site-admin .chart-legend { color:#b5c2d4 !important; }
html[data-theme="dark"] body.site-supervisor > header > div > div:first-child > div:first-child > div:first-child { background:#1b2d46 !important;border-color:#354e70 !important; }
html[data-theme="dark"] body.site-supervisor .telemetry-filter-btn { color:#bdc9d9 !important;background:#172438 !important;border-color:#35465d !important; }
html[data-theme="dark"] body.site-supervisor .telemetry-filter-btn.active { color:#c5d8f7 !important;background:#203657 !important;border-color:#42638e !important; }
/* The landing hero also follows day mode instead of keeping its legacy navy treatment. */
html[data-theme="day"] body.site-home .site-hero {
  color:#24344d !important;
  background:radial-gradient(ellipse at 82% 22%,rgba(96,132,184,.09),transparent 38%),linear-gradient(180deg,#fff 0%,#f3f6fa 100%) !important;
}
html[data-theme="day"] body.site-home .site-hero::before { opacity:.12;background-image:linear-gradient(rgba(60,80,110,.08) 1px,transparent 1px),linear-gradient(90deg,rgba(60,80,110,.08) 1px,transparent 1px); }
html[data-theme="day"] body.site-home .site-eyebrow { color:#4b6591 !important;border-color:#dce5f1 !important;background:#fff !important; }
html[data-theme="day"] body.site-home .site-eyebrow-dot { background:#6e8dbb !important;box-shadow:0 0 0 3px #edf2f8 !important; }
html[data-theme="day"] body.site-home .site-hero h1 { color:#1b2a41 !important; }
html[data-theme="day"] body.site-home .site-hero-copy { color:#56667d !important; }
html[data-theme="day"] body.site-home .site-hero .site-button-primary { color:#fff !important;background:#4f6fa8 !important;border-color:#4f6fa8 !important; }
html[data-theme="day"] body.site-home .site-hero .site-button-outline { color:#34435b !important;background:#fff !important;border-color:#d7e0eb !important; }
html[data-theme="day"] body.site-home .site-hero-disclaimer,
html[data-theme="day"] body.site-home .site-hero-disclaimer svg { color:#687991 !important; }
html[data-theme="dark"] body.site-page [class*="bg-black/"] { background-color:#111c2b !important;border-color:#2b3a4f !important; }
html[data-theme="dark"] body.site-home .site-main {
  color:#e7edf6 !important;
  background:#0b1220 !important;
}
/* Dark-mode polish for the landing-page listings, FAQ and search controls. */
html[data-theme="dark"] body.site-home .site-app-card-meta {
  background:#172438 !important;
  border-color:#2b3a4f !important;
  color:#bdc9d9 !important;
}
html[data-theme="dark"] body.site-home .site-app-slots {
  color:#b5cdf2 !important;
  background:#203657 !important;
  border-color:#36567d !important;
}
html[data-theme="dark"] body.site-home .site-search input,
html[data-theme="dark"] body.site-home input,
html[data-theme="dark"] body.site-home select,
html[data-theme="dark"] body.site-home textarea {
  background:#0d1726 !important;
  color:#edf3fb !important;
  border-color:#35465d !important;
}
html[data-theme="dark"] body.site-home .site-search input::placeholder { color:#9baac0 !important; }
html[data-theme="dark"] body.site-home .site-search kbd {
  color:#bdc9d9 !important;
  background:#172438 !important;
  border-color:#35465d !important;
}
html[data-theme="dark"] body.site-home .site-group-callout .site-button-outline,
html[data-theme="dark"] body.site-home .site-button-outline {
  background:#172438 !important;
  color:#e3ebf6 !important;
  border-color:#3a4f6b !important;
}
html[data-theme="dark"] body.site-home .site-faq-list { border-color:#2b3a4f !important; }
html[data-theme="dark"] body.site-home .site-faq-list details {
  padding:1.05rem 1.15rem !important;
  background:#111c2b !important;
  border-color:#2b3a4f !important;
}
html[data-theme="dark"] body.site-home .site-faq-list details:hover,
html[data-theme="dark"] body.site-home .site-faq-list details[open] {
  background:#172438 !important;
  border-color:#3a526f !important;
}
html[data-theme="dark"] body.site-home .site-faq-list summary {
  color:#e4ebf5 !important;
  line-height:1.55 !important;
}
html[data-theme="dark"] body.site-home .site-faq-list summary::after { color:#a9bdd8 !important; }
html[data-theme="dark"] body.site-home .site-faq-list details p {
  margin:.75rem 0 0 !important;
  color:#b7c4d5 !important;
  line-height:1.7 !important;
}
@media(max-width:640px) {
  html[data-theme="dark"] body.site-home .site-faq-list details { padding:.9rem 1rem !important; }
}
html[data-theme="dark"] body.site-home .site-search {
  background:#0d1726 !important;
  color:#aebbd0 !important;
  border-color:#35465d !important;
}
html[data-theme="dark"] body.site-home .site-search input {
  background:transparent !important;
  color:#edf3fb !important;
}
html[data-theme="dark"] body.site-home .site-app-card-meta strong { color:#e4ebf5 !important; }
html[data-theme="dark"] body.site-home .site-app-action,
html[data-theme="dark"] body.site-home .site-inline-link { color:#a9c6f6 !important; }

/* Test Arena identity and the right-aligned developer credit. */
.site-brand-mark { background-image:url('../brand/test-arena-mark.svg?v=20261108'); background-position:center; background-repeat:no-repeat; background-size:cover; color:transparent !important; }
.developer-credit { display:inline-flex; align-items:center; justify-content:center; gap:.32rem; margin-left:auto; color:#536b95; font-size:.74rem; font-weight:600; line-height:1.3; text-decoration:none; white-space:nowrap; transition:color .18s ease; }
.developer-credit:hover { color:#315fba; }
.developer-credit span { font-size:.9em; }
html[data-theme="dark"] .developer-credit { color:#b8cff3; }
html[data-theme="dark"] .developer-credit:hover { color:#fff; }
@media (max-width:760px) { .developer-credit { margin-left:0; } }

/* Donation modal follows the selected theme as a complete surface. */
html[data-theme="day"] body.site-home #modal-donation { color:#26354b !important; background:#fff !important; border:1px solid #dce3ed !important; box-shadow:0 24px 70px rgba(25,39,63,.2) !important; }
html[data-theme="day"] body.site-home #modal-donation h1,
html[data-theme="day"] body.site-home #modal-donation h2,
html[data-theme="day"] body.site-home #modal-donation h3 { color:#1d2a40 !important; }
html[data-theme="day"] body.site-home #modal-donation p,
html[data-theme="day"] body.site-home #modal-donation [data-i18n="donate_thank_you"] { color:#64738a !important; }
html[data-theme="day"] body.site-home #modal-donation [data-close-modal] { color:#78869a !important; }
html[data-theme="day"] body.site-home #modal-donation .donation-empty { background:#f5f7fa !important; border-color:#dce3ed !important; color:#526078 !important; }
html[data-theme="day"] body.site-home #modal-donation .site-button-outline { color:#fff !important; background:#4f6fa8 !important; border-color:#4f6fa8 !important; }
html[data-theme="day"] body.site-home #modal-donation .site-button-outline:hover { background:#405d91 !important; border-color:#405d91 !important; }
html[data-theme="day"] body.site-home #modal-overlay.open { background:rgba(23,35,54,.28) !important; }
html[data-theme="dark"] body.site-home #modal-donation { color:#e7edf6 !important; background:#0e1526 !important; border-color:#35445b !important; }
html[data-theme="dark"] body.site-home #modal-donation h1,
html[data-theme="dark"] body.site-home #modal-donation h2,
html[data-theme="dark"] body.site-home #modal-donation h3 { color:#f1f5fb !important; }
html[data-theme="dark"] body.site-home #modal-donation p,
html[data-theme="dark"] body.site-home #modal-donation [data-i18n="donate_thank_you"] { color:#aebbd0 !important; }
html[data-theme="dark"] body.site-home #modal-donation .site-button-outline { color:#e3ebf6 !important; background:#172438 !important; border-color:#3a4f6b !important; }
html[data-theme="dark"] body.site-home #modal-overlay.open { background:rgba(4,7,14,.72) !important; }

/* Mobile dashboard: keep the workspace usable at phone widths without squeezed header controls. */
.site-dashboard .mobile-profile-trigger { display:none; }
@media (max-width: 767px) {
  html, body.site-dashboard { max-width:100%; overflow-x:clip; }
  .site-dashboard { min-height:100svh; }
  .site-dashboard header { padding:.55rem .75rem; }
  .site-dashboard header > div.max-w-7xl { display:flex; align-items:center; justify-content:space-between; gap:.5rem; width:100%; }
  .site-dashboard header > div.max-w-7xl > a.md\:hidden { display:flex; flex:0 1 auto; min-width:0; width:max-content; max-width:100%; white-space:nowrap; }
  .site-dashboard header > div.max-w-7xl > a.md\:hidden > span { white-space:nowrap; }
  .site-dashboard header > div.max-w-7xl > div:last-child { display:flex; width:auto; min-width:0; margin:0; justify-content:flex-end; gap:.4rem; }
  .site-dashboard header > div.max-w-7xl > div:last-child > div:first-child:not(.dashboard-account-actions) { display:none !important; }
  .site-dashboard .dashboard-account-actions { position:relative; flex:0 0 auto; }
  .site-dashboard .mobile-profile-trigger { display:inline-flex; width:36px; height:36px; align-items:center; justify-content:center; border:1px solid rgba(148,163,184,.35); border-radius:999px; background:rgba(255,255,255,.08); color:#e5edf8; }
  .site-dashboard .mobile-profile-trigger.has-avatar { padding:2px; overflow:hidden; }
  .site-dashboard .mobile-profile-trigger.has-avatar > i { display:none; }
  .site-dashboard .mobile-profile-trigger #user-avatar-img:not(.hidden) { display:block; width:30px; height:30px; border-radius:50%; object-fit:cover; object-position:center; }
  .site-dashboard .mobile-profile-trigger #user-avatar-img.hidden { display:none !important; }
  .site-dashboard .mobile-profile-menu { position:absolute; top:calc(100% + .6rem); right:0; z-index:80; display:grid; gap:.65rem; width:min(17rem,calc(100vw - 1.5rem)); padding:.8rem; border:1px solid rgba(148,163,184,.3); border-radius:14px; background:#111c2e; color:#e7edf6; box-shadow:0 18px 40px rgba(0,0,0,.32); }
  .site-dashboard .mobile-profile-menu[hidden] { display:none !important; }
  .site-dashboard .mobile-profile-menu-title { padding:0 0 .45rem; border-bottom:1px solid rgba(148,163,184,.2); color:#f3f6fb; font-size:.78rem; font-weight:650; }
  .site-dashboard #mobile-profile-controls { display:grid; gap:.55rem; }
  .site-dashboard #mobile-profile-controls .lang-selector-dropdown { width:100%; }
  .site-dashboard #mobile-profile-controls .lang-selector-btn,
  .site-dashboard #mobile-profile-controls .tp-theme-toggle { width:100%; justify-content:space-between; }
  .site-dashboard .announcement-bar { padding:.45rem .75rem; font-size:.68rem; line-height:1.4; }
  .site-dashboard .announcement-bar > span { min-width:0; }
  .site-dashboard .lang-selector-btn { min-height:38px; padding:.45rem .55rem; gap:.35rem; }
  .site-dashboard #btn-auth-action { min-width:40px; min-height:36px; padding:.4rem .6rem; justify-content:center; white-space:nowrap; }
  .site-dashboard main { width:100%; max-width:100%; padding:.75rem .7rem calc(6.5rem + env(safe-area-inset-bottom)); }
  .site-dashboard main > div:first-child { gap:.65rem; margin-bottom:1rem; }
  .site-dashboard main > div:first-child > div:first-child { display:grid; grid-template-columns:minmax(0,1fr); gap:.65rem; min-width:0; padding:.75rem; }
  .site-dashboard main > div:first-child > div:first-child > div:first-child { min-width:0; white-space:normal; line-height:1.45; }
  .site-dashboard main > div:first-child > div:first-child > div:last-child { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem; }
  .site-dashboard main > div:first-child > div:first-child > div:last-child > button,
  .site-dashboard main > div:first-child > div:first-child > div:last-child > a { min-width:0; min-height:38px; justify-content:center; white-space:nowrap; }
  .site-dashboard #btn-open-add-app { width:100%; min-height:46px; justify-content:center; }
  .site-dashboard #view-feed, .site-dashboard #view-queue, .site-dashboard #view-my-apps, .site-dashboard #view-profile { min-width:0; }
  .site-dashboard #view-feed .app-card, .site-dashboard #view-my-apps .app-card { min-width:0; }
  .site-dashboard .mobile-bottom-nav { padding-bottom:calc(.55rem + env(safe-area-inset-bottom)); }
  .site-dashboard .mobile-bottom-nav button { min-width:0; min-height:54px; padding:.45rem .25rem; }
  .site-dashboard .mobile-bottom-nav button span { overflow:hidden; max-width:100%; text-overflow:ellipsis; white-space:nowrap; }
}
@media (max-width: 390px) {
  .site-dashboard header > div.max-w-7xl > div:last-child { gap:.35rem; }
  .site-dashboard .lang-active-name { max-width:2.7rem; }
  .site-dashboard #view-profile .grid { gap:.55rem; }
  .site-dashboard #view-profile .grid > [class*="bg-white/"] { min-width:0; padding:.7rem; }
}

/* Consistent mobile shell on the landing page and dashboard profile menu. */
.mobile-home-nav { display:none; }
@media (max-width: 650px) {
  body.site-home { padding-bottom:calc(4.6rem + env(safe-area-inset-bottom, 0px)); }
  .site-home .site-header { position:sticky; top:0; z-index:80; }
  .site-home main [id] { scroll-margin-top:115px; }
  .site-home .site-nav { display:none !important; }
  .mobile-home-nav {
    position:fixed; inset:auto 0 0; z-index:100;
    display:flex; align-items:stretch; justify-content:space-around; gap:.25rem;
    padding:.38rem .4rem calc(.42rem + env(safe-area-inset-bottom, 0px));
    border-top:1px solid #dce3ed; background:rgba(255,255,255,.97);
    box-shadow:0 -5px 22px rgba(25,39,61,.1); backdrop-filter:blur(18px); -webkit-backdrop-filter:blur(18px);
  }
  .mobile-home-nav-item {
    display:flex; min-width:0; flex:1; flex-direction:column; align-items:center; justify-content:center; gap:.18rem;
    padding:.3rem .12rem; border-radius:10px; color:#6b7a90; text-decoration:none; font-size:.62rem; line-height:1.1; font-weight:550;
  }
  .mobile-home-nav-item i { width:19px; height:19px; }
  .mobile-home-nav-item span { max-width:100%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
  .mobile-home-nav-item.active { color:#315fba; background:#edf3fc; }
  html[data-theme="dark"] .mobile-home-nav { background:rgba(14,21,36,.97); border-color:#29374b; box-shadow:0 -5px 22px rgba(0,0,0,.28); }
  html[data-theme="dark"] .mobile-home-nav-item { color:#aab8cc; }
  html[data-theme="dark"] .mobile-home-nav-item.active { color:#b9d0ff; background:#1e304a; }
}

@media (max-width: 1023px) {
  body.site-dashboard .mobile-profile-menu {
    position:fixed !important; z-index:10000 !important; display:grid; gap:.7rem;
    width:min(18rem,calc(100vw - 1.5rem)); max-height:min(70dvh,32rem); overflow:visible;
    padding:.9rem; border:1px solid #d8e1ee; border-radius:16px;
    background:#fff !important; color:#26354b !important;
    box-shadow:0 20px 55px rgba(20,35,58,.24); isolation:isolate;
  }
  body.site-dashboard .mobile-profile-menu[hidden] { display:none !important; }
  body.site-dashboard .mobile-profile-menu-title { color:#1d2a40 !important; border-color:#e4eaf2 !important; }
  body.site-dashboard #mobile-profile-controls { display:grid; gap:.6rem; }
  body.site-dashboard #mobile-profile-controls .lang-selector-dropdown { position:relative; width:100%; }
  body.site-dashboard #mobile-profile-controls .lang-selector-btn,
  body.site-dashboard #mobile-profile-controls .tp-theme-toggle {
    position:static !important; inset:auto !important; width:100%; min-height:42px; justify-content:space-between;
    margin:0 !important; padding:.6rem .7rem; border:1px solid #d8e1ee !important; border-radius:10px;
    background:#f7f9fc !important; color:#344761 !important; box-shadow:none !important;
  }
  body.site-dashboard #mobile-profile-controls .lang-dropdown-panel {
    position:relative; inset:auto; width:100%; margin-top:.35rem;
    border:1px solid #d8e1ee; border-radius:10px; background:#fff; color:#26354b; box-shadow:0 8px 24px rgba(20,35,58,.12);
  }
  body.site-dashboard #mobile-profile-controls .lang-dropdown-option { color:#344761; }
  body.site-dashboard #mobile-profile-controls .lang-dropdown-option:hover,
  body.site-dashboard #mobile-profile-controls .lang-dropdown-option.active { background:#edf3fc; color:#244f99; }
  html[data-theme="dark"] body.site-dashboard .mobile-profile-menu {
    border-color:#34445c; background:#111c2e !important; color:#e7edf6 !important; box-shadow:0 20px 55px rgba(0,0,0,.5);
  }
  html[data-theme="dark"] body.site-dashboard .mobile-profile-menu-title { color:#f3f6fb !important; border-color:#31425b !important; }
  html[data-theme="dark"] body.site-dashboard #mobile-profile-controls .lang-selector-btn,
  html[data-theme="dark"] body.site-dashboard #mobile-profile-controls .tp-theme-toggle {
    border-color:#34445c !important; background:#19273b !important; color:#e7edf6 !important;
  }
  html[data-theme="dark"] body.site-dashboard #mobile-profile-controls .lang-dropdown-panel {
    border-color:#34445c; background:#172438; color:#e7edf6; box-shadow:0 8px 24px rgba(0,0,0,.35);
  }
  html[data-theme="dark"] body.site-dashboard #mobile-profile-controls .lang-dropdown-option { color:#d5deeb; }
  html[data-theme="dark"] body.site-dashboard #mobile-profile-controls .lang-dropdown-option:hover,
  html[data-theme="dark"] body.site-dashboard #mobile-profile-controls .lang-dropdown-option.active { background:#243955; color:#dce9ff; }
}

/* Use the dashboard's exact account header, profile popover and bottom bar on mobile home. */
.site-home .mobile-profile-trigger { display:none; }
.site-home .site-actions #user-avatar-img:not(.hidden) { width:30px; height:30px; border-radius:50%; object-fit:cover; object-position:center; border:1px solid rgba(148,163,184,.45); }
@media (max-width: 767px) {
  body.site-home { padding-bottom:calc(6rem + env(safe-area-inset-bottom, 0px)); }
  .site-home .site-header { position:sticky; top:0; z-index:80; }
  .site-home .site-header-inner { display:flex; flex-wrap:nowrap; align-items:center; justify-content:space-between; gap:.5rem; width:calc(100% - 1.5rem); padding:.55rem 0; }
  .site-home .site-brand { flex:0 1 auto; min-width:0; gap:.5rem; white-space:nowrap; }
  .site-home .site-brand-mark { width:36px; height:36px; flex:0 0 36px; border-radius:11px; }
  .site-home .site-brand-copy strong { font-size:.9rem; }
  .site-home .site-brand-copy small { font-size:.58rem; }
  .site-home .site-nav { display:none !important; }
  .site-home .site-actions { display:flex; flex:0 0 auto; align-items:center; justify-content:flex-end; gap:.4rem; margin-left:auto; }
  .site-home .site-actions > .site-points,
  .site-home .site-actions > .lang-selector-dropdown,
  .site-home .site-actions > .btn-open-donate,
  .site-home .site-actions > .site-button-primary,
  .site-home .site-actions > .tp-theme-toggle { display:none !important; }
  .site-home .mobile-profile-trigger { display:inline-flex; position:relative; flex:0 0 36px; width:36px; height:36px; align-items:center; justify-content:center; overflow:hidden; padding:2px; border:1px solid #d8e1ee; border-radius:50%; background:#f6f8fb; color:#536f96; }
  .site-home .mobile-profile-trigger.has-avatar > i,
  .site-home .mobile-profile-trigger.has-avatar > svg,
  .site-dashboard .mobile-profile-trigger.has-avatar > i,
  .site-dashboard .mobile-profile-trigger.has-avatar > svg { display:none !important; }
  .site-home .mobile-profile-trigger #user-avatar-img:not(.hidden),
  .site-dashboard .mobile-profile-trigger #user-avatar-img:not(.hidden) { display:block; flex:0 0 30px; width:30px; min-width:30px; height:30px; aspect-ratio:1; border:0; border-radius:50%; object-fit:cover; object-position:center; }
  .site-home .mobile-profile-trigger #user-avatar-img.hidden { display:none !important; }
  .site-home #btn-auth-action { display:inline-flex; min-height:36px; flex:0 0 auto; align-items:center; justify-content:center; gap:.35rem; padding:.4rem .65rem; white-space:nowrap; font-size:.72rem; }
  .site-home .mobile-bottom-nav { padding:.45rem .5rem calc(.45rem + env(safe-area-inset-bottom, 0px)); }
  .site-home .mobile-nav-item { min-width:0; min-height:54px; padding:.45rem .25rem; }
  .site-home .mobile-nav-item span { overflow:hidden; max-width:100%; text-overflow:ellipsis; white-space:nowrap; }
  html[data-theme="day"] body.site-home .mobile-bottom-nav { background:rgba(255,255,255,.97); border-top-color:#e3e7ee; box-shadow:0 -4px 20px rgba(26,39,61,.08); }
  html[data-theme="day"] body.site-home .mobile-nav-item { color:#8190a5; }
  html[data-theme="day"] body.site-home .mobile-nav-item.active { color:#4f6fa8; }
  html[data-theme="dark"] body.site-home .mobile-bottom-nav { background:rgba(14,21,36,.97); border-top-color:#29374b; box-shadow:0 -5px 22px rgba(0,0,0,.35); }
  html[data-theme="dark"] body.site-home .mobile-nav-item { color:#aab8cc; }
  html[data-theme="dark"] body.site-home .mobile-nav-item.active { color:#b9d0ff; }
  body.site-home .mobile-profile-menu { position:fixed !important; z-index:10000 !important; display:grid; gap:.7rem; width:min(18rem,calc(100vw - 1.5rem)); max-height:min(70dvh,32rem); padding:.9rem; border:1px solid #d8e1ee; border-radius:16px; background:#fff !important; color:#26354b !important; box-shadow:0 20px 55px rgba(20,35,58,.24); isolation:isolate; }
  body.site-home .mobile-profile-menu[hidden] { display:none !important; }
  body.site-home .mobile-profile-menu-title { padding:0 0 .45rem; border-bottom:1px solid #e4eaf2; color:#1d2a40 !important; font-size:.78rem; font-weight:650; }
  body.site-home #mobile-profile-controls { display:grid; gap:.6rem; }
  body.site-home #mobile-profile-controls .lang-selector-dropdown { position:relative; width:100%; }
  body.site-home #mobile-profile-controls .lang-selector-btn,
  body.site-home #mobile-profile-controls .tp-theme-toggle { position:static !important; inset:auto !important; width:100%; min-height:42px; justify-content:space-between; margin:0 !important; padding:.6rem .7rem; border:1px solid #d8e1ee !important; border-radius:10px; background:#f7f9fc !important; color:#344761 !important; box-shadow:none !important; }
  body.site-home #mobile-profile-controls .lang-dropdown-panel { position:relative; inset:auto; width:100%; margin-top:.35rem; border:1px solid #d8e1ee; border-radius:10px; background:#fff; color:#26354b; box-shadow:0 8px 24px rgba(20,35,58,.12); }
  body.site-home #mobile-profile-controls .lang-dropdown-option { color:#344761; }
  body.site-home #mobile-profile-controls .btn-open-donate { display:flex; width:100%; min-height:42px; align-items:center; justify-content:center; gap:.45rem; margin:0; padding:.6rem .7rem; border:1px solid #f0cfb5; border-radius:10px; background:#fff5ec; color:#91451f; }
  body.site-home #mobile-profile-controls #header-points-pill,
  body.site-dashboard #mobile-profile-controls #header-points-pill { display:grid !important; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem !important; padding:0 !important; border:0 !important; border-radius:0; background:transparent !important; color:#526078 !important; font-size:.72rem; }
  body.site-home #mobile-profile-controls #header-points-pill > span,
  body.site-dashboard #mobile-profile-controls #header-points-pill > div { display:flex !important; min-width:0; min-height:44px; align-items:center; justify-content:center; gap:.3rem; padding:.45rem .35rem; border:1px solid #e0e7f0; border-radius:10px; background:#f7f9fc; color:#53647b !important; white-space:nowrap; }
  body.site-home #mobile-profile-controls #header-points-pill > span { flex:initial; }
  body.site-dashboard #mobile-profile-controls #header-points-pill > span { display:none !important; }
  body.site-home #mobile-profile-controls #header-points-pill [data-i18n="badge_available"],
  body.site-home #mobile-profile-controls #header-points-pill [data-i18n="badge_pending"],
  body.site-dashboard #mobile-profile-controls #header-points-pill [data-i18n="badge_available"],
  body.site-dashboard #mobile-profile-controls #header-points-pill [data-i18n="badge_pending"] { display:inline !important; color:#53647b !important; }
  body.site-home #mobile-profile-controls #header-points-pill.hidden,
  body.site-dashboard #mobile-profile-controls #header-points-pill.hidden { display:none !important; }
  body.site-home #mobile-profile-controls #header-points-pill b { color:#315fba !important; }
  body.site-home #mobile-profile-controls #header-points-pill > span:nth-of-type(2) b { color:#b7791f !important; }
  body.site-dashboard #mobile-profile-controls #header-points-pill #badge-avail-points { color:#16845f !important; }
  body.site-dashboard #mobile-profile-controls #header-points-pill #badge-pend-points { color:#b7791f !important; }
  body.site-dashboard .mobile-profile-donate { display:flex; width:100%; min-height:42px; align-items:center; justify-content:center; gap:.45rem; margin:0; padding:.6rem .7rem; border:1px solid #f0cfb5; border-radius:10px; background:#fff5ec; color:#91451f; }
  html[data-theme="dark"] body.site-home .mobile-profile-menu { border-color:#34445c; background:#111c2e !important; color:#e7edf6 !important; box-shadow:0 20px 55px rgba(0,0,0,.5); }
  html[data-theme="dark"] body.site-home .mobile-profile-menu-title { color:#f3f6fb !important; border-color:#31425b !important; }
  html[data-theme="dark"] body.site-home #mobile-profile-controls .lang-selector-btn,
  html[data-theme="dark"] body.site-home #mobile-profile-controls .tp-theme-toggle { border-color:#34445c !important; background:#19273b !important; color:#e7edf6 !important; }
  html[data-theme="dark"] body.site-home #mobile-profile-controls .lang-dropdown-panel { border-color:#34445c; background:#172438; color:#e7edf6; box-shadow:0 8px 24px rgba(0,0,0,.35); }
  html[data-theme="dark"] body.site-home #mobile-profile-controls .lang-dropdown-option { color:#d5deeb; }
  html[data-theme="dark"] body.site-home #mobile-profile-controls .btn-open-donate { border-color:#5d4b35; background:#2b241d; color:#f2ce9e; }
  html[data-theme="dark"] body.site-dashboard .mobile-profile-donate { border-color:#5d4b35; background:#2b241d; color:#f2ce9e; }
  html[data-theme="dark"] body.site-home #mobile-profile-controls #header-points-pill,
  html[data-theme="dark"] body.site-dashboard #mobile-profile-controls #header-points-pill { color:#c4d0df !important; }
  html[data-theme="dark"] body.site-home #mobile-profile-controls #header-points-pill > span,
  html[data-theme="dark"] body.site-dashboard #mobile-profile-controls #header-points-pill > div { border-color:#34445c; background:#19273b; color:#d5deeb !important; }
  html[data-theme="dark"] body.site-home #mobile-profile-controls #header-points-pill [data-i18n="badge_available"],
  html[data-theme="dark"] body.site-home #mobile-profile-controls #header-points-pill [data-i18n="badge_pending"],
  html[data-theme="dark"] body.site-dashboard #mobile-profile-controls #header-points-pill [data-i18n="badge_available"],
  html[data-theme="dark"] body.site-dashboard #mobile-profile-controls #header-points-pill [data-i18n="badge_pending"] { color:#b8c6d9 !important; }
  html[data-theme="dark"] body.site-home #mobile-profile-controls #header-points-pill b { color:#a9c6f6 !important; }
  html[data-theme="dark"] body.site-home #mobile-profile-controls #header-points-pill > span:nth-of-type(2) b { color:#f2c17b !important; }
  html[data-theme="dark"] body.site-dashboard #mobile-profile-controls #header-points-pill #badge-avail-points { color:#5ee0ae !important; }
  html[data-theme="dark"] body.site-dashboard #mobile-profile-controls #header-points-pill #badge-pend-points { color:#ffd084 !important; }
}

/* Tablet dashboard header: rely on the sidebar for tabs and keep actions out of the tab bar. */
@media (min-width: 768px) and (max-width: 1023px) {
  .site-dashboard header.sticky { padding:.55rem .9rem !important; }
  .site-dashboard header.sticky > div.max-w-7xl { display:flex; width:100%; max-width:none; align-items:center; justify-content:space-between; gap:.65rem; }
  .site-dashboard header.sticky > div.max-w-7xl > a[class~="md:hidden"] { display:flex !important; flex:0 1 auto; min-width:0; width:max-content; white-space:nowrap; }
  .site-dashboard header.sticky > div.max-w-7xl > nav { display:none !important; }
  .site-dashboard header.sticky > div.max-w-7xl > div:last-child { display:flex; width:auto; min-width:0; flex:0 0 auto; margin:0; justify-content:flex-end; gap:.45rem; }
  .site-dashboard .mobile-profile-trigger { display:inline-flex; width:36px; height:36px; flex:0 0 36px; align-items:center; justify-content:center; overflow:hidden; padding:2px; border:1px solid #d8e1ee; border-radius:50%; background:#f6f8fb; color:#536f96; }
  .site-dashboard .mobile-profile-trigger.has-avatar > i,
  .site-dashboard .mobile-profile-trigger.has-avatar > svg { display:none !important; }
  .site-dashboard .mobile-profile-trigger #user-avatar-img:not(.hidden) { display:block; flex:0 0 30px; width:30px; min-width:30px; height:30px; aspect-ratio:1; border:0; border-radius:50%; object-fit:cover; object-position:center; }
  .site-dashboard #btn-auth-action { min-height:36px; flex:0 0 auto; padding:.4rem .65rem; white-space:nowrap; }
  .site-dashboard #mobile-profile-controls #header-points-pill { display:grid !important; width:100%; grid-template-columns:repeat(2,minmax(0,1fr)); gap:.5rem !important; padding:0 !important; border:0 !important; background:transparent !important; }
  .site-dashboard #mobile-profile-controls #header-points-pill > div { display:flex !important; min-width:0; min-height:44px; align-items:center; justify-content:center; gap:.3rem; padding:.45rem .35rem; border:1px solid #e0e7f0; border-radius:10px; background:#f7f9fc; color:#53647b !important; white-space:nowrap; }
  .site-dashboard #mobile-profile-controls #header-points-pill > span { display:none !important; }
  .site-dashboard #mobile-profile-controls #header-points-pill [data-i18n="badge_available"],
  .site-dashboard #mobile-profile-controls #header-points-pill [data-i18n="badge_pending"] { display:inline !important; color:#53647b !important; }
  .site-dashboard #mobile-profile-controls #header-points-pill.hidden { display:none !important; }
  .site-dashboard #mobile-profile-controls #header-points-pill #badge-avail-points { color:#16845f !important; }
  .site-dashboard #mobile-profile-controls #header-points-pill #badge-pend-points { color:#b7791f !important; }
  .site-dashboard .mobile-profile-donate { display:flex; width:100%; min-height:42px; align-items:center; justify-content:center; gap:.45rem; margin:0; padding:.6rem .7rem; border:1px solid #f0cfb5; border-radius:10px; background:#fff5ec; color:#91451f; }
  html[data-theme="dark"] .site-dashboard .mobile-profile-donate { border-color:#5d4b35; background:#2b241d; color:#f2ce9e; }
}

@media (max-width: 1023px) {
  body.site-dashboard #mobile-profile-controls .theme-selector-dropdown,
  body.site-home #mobile-profile-controls .theme-selector-dropdown { position:relative; width:100%; }
  body.site-dashboard #mobile-profile-controls .tp-theme-toggle,
  body.site-home #mobile-profile-controls .tp-theme-toggle { width:100%; }
  body.site-dashboard #mobile-profile-controls .theme-dropdown-panel,
  body.site-home #mobile-profile-controls .theme-dropdown-panel { display:grid; gap:.3rem; width:100%; margin-top:.35rem; padding:.35rem; border:1px solid #d8e1ee; border-radius:11px; background:#fff; box-shadow:0 8px 24px rgba(20,35,58,.12); }
  body.site-dashboard #mobile-profile-controls .theme-dropdown-panel.hidden,
  body.site-home #mobile-profile-controls .theme-dropdown-panel.hidden { display:none !important; }
  body.site-dashboard #mobile-profile-controls .theme-dropdown-option,
  body.site-home #mobile-profile-controls .theme-dropdown-option { display:flex; min-height:40px; align-items:center; gap:.55rem; padding:.55rem .65rem; border:0; border-radius:8px; background:transparent; color:#43556e; text-align:left; }
  body.site-dashboard #mobile-profile-controls .theme-dropdown-option.active,
  body.site-home #mobile-profile-controls .theme-dropdown-option.active { background:#edf3fc; color:#244f99; font-weight:650; }
  body.site-dashboard #mobile-profile-controls .theme-dropdown-option.active::after,
  body.site-home #mobile-profile-controls .theme-dropdown-option.active::after { content:'✓'; margin-left:auto; color:#315fba; }
  html[data-theme="dark"] body.site-dashboard #mobile-profile-controls .theme-dropdown-panel,
  html[data-theme="dark"] body.site-home #mobile-profile-controls .theme-dropdown-panel { border-color:#34445c; background:#172438; box-shadow:0 8px 24px rgba(0,0,0,.35); }
  html[data-theme="dark"] body.site-dashboard #mobile-profile-controls .theme-dropdown-option,
  html[data-theme="dark"] body.site-home #mobile-profile-controls .theme-dropdown-option { color:#d5deeb; }
  html[data-theme="dark"] body.site-dashboard #mobile-profile-controls .theme-dropdown-option.active,
  html[data-theme="dark"] body.site-home #mobile-profile-controls .theme-dropdown-option.active { background:#243955; color:#dce9ff; }
  html[data-theme="dark"] body.site-dashboard #mobile-profile-controls .theme-dropdown-option.active::after,
  html[data-theme="dark"] body.site-home #mobile-profile-controls .theme-dropdown-option.active::after { color:#a9c6f6; }
}

/* Keep compact information pages readable on phone widths. */
@media (max-width: 650px) {
  body.site-page:not(.site-home):not(.site-dashboard):not(.site-admin) > header.sticky > div.max-w-6xl {
    width:100%; max-width:none; gap:.5rem;
  }
  body.site-page:not(.site-home):not(.site-dashboard):not(.site-admin) > header.sticky > div.max-w-6xl > a:first-child {
    flex:0 0 auto; min-width:max-content; white-space:nowrap;
  }
  body.site-page:not(.site-home):not(.site-dashboard):not(.site-admin) > header.sticky > div.max-w-6xl > a:first-child > div:last-child,
  body.site-page:not(.site-home):not(.site-dashboard):not(.site-admin) > header.sticky > div.max-w-6xl > a:first-child [data-i18n="nav_brand"],
  body.site-page:not(.site-home):not(.site-dashboard):not(.site-admin) > header.sticky > div.max-w-6xl > a:first-child [data-i18n="closed_testing_badge"] {
    flex-shrink:0; white-space:nowrap;
  }
  body.site-page:not(.site-home):not(.site-dashboard):not(.site-admin) > header.sticky > div.max-w-6xl > div:last-child {
    flex:0 0 auto; gap:.25rem; margin-left:auto;
  }
  body.site-page:not(.site-home):not(.site-dashboard):not(.site-admin) > header.sticky .lang-selector-btn {
    min-height:34px; gap:.25rem; padding:.35rem .4rem;
  }
  body.site-page:not(.site-home):not(.site-dashboard):not(.site-admin) > header.sticky .lang-active-name {
    max-width:2.9rem; font-size:.68rem;
  }
  body.site-page:not(.site-home):not(.site-dashboard):not(.site-admin) > header.sticky > div.max-w-6xl > div:last-child > .btn-fluid {
    gap:.3rem; padding:.4rem .48rem; font-size:.68rem; white-space:nowrap;
  }
  .site-dashboard #view-profile .glass-card > .px-6.pb-6.pt-0 { padding-left:.85rem; padding-right:.85rem; }
  .site-dashboard #view-profile .profile-avatar-wrapper { width:72px; height:72px; flex-basis:72px; }
  .site-dashboard #view-profile .profile-hero-identity { min-width:0; flex:1 1 auto; }
  .site-dashboard #view-profile .profile-hero-identity > .flex { flex-wrap:wrap; align-items:baseline; gap:.25rem .45rem; }
  .site-dashboard #view-profile .profile-hero-identity h2 { font-size:1rem; line-height:1.25; overflow-wrap:anywhere; }
  .site-dashboard #view-profile .profile-hero-identity .badge-fluid { font-size:.65rem; white-space:normal; }
  .site-dashboard #view-profile .profile-hero-identity p { overflow-wrap:anywhere; }
}

/* Keep the dashboard theme switch in the app bar so it never covers mobile cards. */
.site-dashboard header .tp-theme-toggle { position:static; inset:auto; flex:0 0 auto; margin:0; min-height:38px; padding:.45rem .6rem; box-shadow:none; }
.site-dashboard header .tp-theme-toggle:hover { box-shadow:none; }
.site-dashboard header .theme-selector-dropdown,
.site-home header .theme-selector-dropdown { position:relative; display:flex; flex:0 0 auto; align-items:center; }

/* Desktop account menu: keep locale and theme choices under the profile avatar. */
.site-dashboard .dashboard-account-actions { position:relative; }
.site-home .site-actions { position:relative; }
.site-dashboard .mobile-profile-trigger,
.site-home .mobile-profile-trigger { display:inline-flex; flex:0 0 36px; width:36px; height:36px; align-items:center; justify-content:center; overflow:hidden; padding:2px; border:1px solid #d8e1ee; border-radius:50%; background:#f6f8fb; color:#536f96; }
.site-dashboard .mobile-profile-trigger.has-avatar > i,
.site-dashboard .mobile-profile-trigger.has-avatar > svg,
.site-home .mobile-profile-trigger.has-avatar > i,
.site-home .mobile-profile-trigger.has-avatar > svg { display:none !important; }
.site-dashboard .mobile-profile-trigger #user-avatar-img:not(.hidden),
.site-home .mobile-profile-trigger #user-avatar-img:not(.hidden) { display:block; flex:0 0 30px; width:30px; min-width:30px; height:30px; aspect-ratio:1; border:0; border-radius:50%; object-fit:cover; object-position:center; }
.site-dashboard .mobile-profile-menu,
.site-home .mobile-profile-menu { position:absolute; top:calc(100% + .55rem); right:0; z-index:1000; display:grid; gap:.7rem; width:18rem; padding:1rem; border:1px solid #d8e1ee; border-radius:16px; background:#fff; color:#26354b; box-shadow:0 20px 55px rgba(20,35,58,.2); }
.site-dashboard .mobile-profile-menu[hidden],
.site-home .mobile-profile-menu[hidden] { display:none !important; }
.site-dashboard .mobile-profile-menu-title,
.site-home .mobile-profile-menu-title { padding:0 0 .55rem; border-bottom:1px solid #e4eaf2; color:#1d2a40; font-size:.82rem; font-weight:650; }
.site-dashboard #mobile-profile-controls,
.site-home #mobile-profile-controls { display:grid; gap:.6rem; }
.site-dashboard #mobile-profile-controls .lang-selector-dropdown,
.site-home #mobile-profile-controls .lang-selector-dropdown { position:relative; width:100%; }
.site-dashboard #mobile-profile-controls .lang-selector-btn,
.site-home #mobile-profile-controls .lang-selector-btn,
.site-dashboard #mobile-profile-controls .tp-theme-toggle,
.site-home #mobile-profile-controls .tp-theme-toggle { width:100%; min-height:42px; justify-content:space-between; margin:0; padding:.6rem .7rem; border:1px solid #d8e1ee !important; border-radius:10px; background:#f7f9fc !important; color:#344761 !important; box-shadow:none !important; }
.site-dashboard #mobile-profile-controls .lang-dropdown-panel,
.site-home #mobile-profile-controls .lang-dropdown-panel { position:relative; inset:auto; width:100%; margin-top:.35rem; border:1px solid #d8e1ee; border-radius:10px; background:#fff; color:#26354b; box-shadow:0 8px 24px rgba(20,35,58,.12); }
.site-dashboard #mobile-profile-controls .theme-selector-dropdown,
.site-home #mobile-profile-controls .theme-selector-dropdown { position:relative; display:grid; width:100%; }
.site-dashboard #mobile-profile-controls .theme-dropdown-panel,
.site-home #mobile-profile-controls .theme-dropdown-panel { display:grid; gap:.3rem; width:100%; margin-top:.35rem; padding:.35rem; border:1px solid #d8e1ee; border-radius:11px; background:#fff; box-shadow:0 8px 24px rgba(20,35,58,.12); }
.site-dashboard #mobile-profile-controls .theme-dropdown-panel.hidden,
.site-home #mobile-profile-controls .theme-dropdown-panel.hidden { display:none !important; }
.site-dashboard #mobile-profile-controls .theme-dropdown-option,
.site-home #mobile-profile-controls .theme-dropdown-option { display:flex; min-height:40px; align-items:center; gap:.55rem; padding:.55rem .65rem; border:0; border-radius:8px; background:transparent; color:#43556e; text-align:left; }
.site-dashboard #mobile-profile-controls .tp-theme-toggle > svg:first-child,
.site-home #mobile-profile-controls .tp-theme-toggle > svg:first-child,
.site-dashboard #mobile-profile-controls .theme-dropdown-option > svg,
.site-home #mobile-profile-controls .theme-dropdown-option > svg { display:block; flex:0 0 16px; width:16px; height:16px; stroke-width:1.8; }
.site-dashboard #mobile-profile-controls .tp-theme-toggle > svg:last-child,
.site-home #mobile-profile-controls .tp-theme-toggle > svg:last-child { display:block; flex:0 0 14px; width:14px; height:14px; stroke-width:1.8; }
.site-dashboard #mobile-profile-controls .tp-theme-toggle,
.site-home #mobile-profile-controls .tp-theme-toggle { font-family:inherit; font-size:.78rem; font-weight:500 !important; letter-spacing:normal; }
.site-dashboard #mobile-profile-controls .lang-dropdown-option,
.site-home #mobile-profile-controls .lang-dropdown-option { font-family:inherit; font-size:.78rem; font-weight:400 !important; }
.site-dashboard #mobile-profile-controls .lang-dropdown-option.active,
.site-home #mobile-profile-controls .lang-dropdown-option.active { font-weight:400 !important; }
.site-dashboard #mobile-profile-controls .theme-dropdown-option,
.site-home #mobile-profile-controls .theme-dropdown-option { font-family:inherit; font-size:.78rem; font-weight:400 !important; }
.site-dashboard #mobile-profile-controls .theme-dropdown-option.active,
.site-home #mobile-profile-controls .theme-dropdown-option.active { background:#edf3fc; color:#244f99; font-weight:400 !important; }
.site-dashboard #mobile-profile-controls .theme-dropdown-option.active::after,
.site-home #mobile-profile-controls .theme-dropdown-option.active::after { content:'✓'; margin-left:auto; color:#315fba; }
.site-dashboard .mobile-profile-donate { display:none; }
@media (min-width: 1024px) {
  .site-dashboard .mobile-profile-menu,
  .site-home .mobile-profile-menu { width:22rem; }
  .site-dashboard #mobile-profile-controls,
  .site-home #mobile-profile-controls { grid-template-columns:repeat(2,minmax(0,1fr)); align-items:start; gap:.55rem; }
  .site-dashboard #mobile-profile-controls .lang-selector-btn,
  .site-home #mobile-profile-controls .lang-selector-btn,
  .site-dashboard #mobile-profile-controls .tp-theme-toggle,
  .site-home #mobile-profile-controls .tp-theme-toggle { min-width:0; gap:.4rem; padding:.55rem .6rem; font-size:.76rem; }
  .site-dashboard #mobile-profile-controls .lang-dropdown-panel,
  .site-home #mobile-profile-controls .lang-dropdown-panel { position:absolute; top:calc(100% + .35rem); right:0; z-index:1010; min-width:100%; margin:0; }
  .site-dashboard #mobile-profile-controls .theme-dropdown-panel,
  .site-home #mobile-profile-controls .theme-dropdown-panel { position:absolute; top:calc(100% + .35rem); left:0; z-index:1010; width:max-content; min-width:100%; margin:0; }
}
html[data-theme="dark"] .site-dashboard .mobile-profile-menu,
html[data-theme="dark"] .site-home .mobile-profile-menu { border-color:#34445c; background:#111c2e; color:#e7edf6; box-shadow:0 20px 55px rgba(0,0,0,.48); }
html[data-theme="dark"] .site-dashboard .mobile-profile-menu-title,
html[data-theme="dark"] .site-home .mobile-profile-menu-title { border-color:#31425b; color:#f3f6fb; }
html[data-theme="dark"] .site-dashboard #mobile-profile-controls .lang-selector-btn,
html[data-theme="dark"] .site-home #mobile-profile-controls .lang-selector-btn,
html[data-theme="dark"] .site-dashboard #mobile-profile-controls .tp-theme-toggle,
html[data-theme="dark"] .site-home #mobile-profile-controls .tp-theme-toggle { border-color:#34445c !important; background:#19273b !important; color:#e7edf6 !important; }
html[data-theme="dark"] .site-dashboard #mobile-profile-controls .lang-dropdown-panel,
html[data-theme="dark"] .site-home #mobile-profile-controls .lang-dropdown-panel,
html[data-theme="dark"] .site-dashboard #mobile-profile-controls .theme-dropdown-panel,
html[data-theme="dark"] .site-home #mobile-profile-controls .theme-dropdown-panel { border-color:#34445c; background:#172438; color:#e7edf6; box-shadow:0 8px 24px rgba(0,0,0,.35); }
html[data-theme="dark"] .site-dashboard #mobile-profile-controls .theme-dropdown-option,
html[data-theme="dark"] .site-home #mobile-profile-controls .theme-dropdown-option { color:#d5deeb; }
html[data-theme="dark"] .site-dashboard #mobile-profile-controls .theme-dropdown-option.active,
html[data-theme="dark"] .site-home #mobile-profile-controls .theme-dropdown-option.active { background:#243955; color:#dce9ff; }
html[data-theme="dark"] .site-dashboard #mobile-profile-controls .theme-dropdown-option.active::after,
html[data-theme="dark"] .site-home #mobile-profile-controls .theme-dropdown-option.active::after { color:#a9c6f6; }

/* Keep sidebar collapse controls beside the brand, always within reach. */
.sidebar-top-toggle { display:inline-flex; flex:0 0 34px; width:34px; height:34px; align-items:center; justify-content:center; padding:0; border-radius:9px; }
.site-dashboard .sidebar-top-toggle { color:#71819a; background:#fff; border-color:#e1e7ef; }
.site-dashboard .sidebar-top-toggle:hover { color:#315fba; background:#f3f6fa; }
.site-admin .sidebar-top-toggle { color:#71819a; background:#fff; border-color:#e1e7ef; }
.site-admin .sidebar-top-toggle:hover { color:#315fba; background:#f3f6fa; }
@media (min-width: 901px) {
  .site-admin > aside.admin-sidebar.collapsed { width:104px !important; min-width:104px !important; }
  .site-admin > aside.admin-sidebar.collapsed > div:first-child > div:first-child { justify-content:center; gap:.45rem; }
  .site-admin > aside.admin-sidebar.collapsed > div:first-child > div:first-child > a > div:last-child,
  .site-admin > aside.admin-sidebar.collapsed > div:first-child > div:first-child > div > .badge-fluid { display:none !important; }
  .site-admin > aside.admin-sidebar.collapsed nav > button { min-height:42px; justify-content:center; padding:.5rem; font-size:0 !important; }
  .site-admin > aside.admin-sidebar.collapsed nav > button > div { justify-content:center; font-size:0 !important; }
  .site-admin > aside.admin-sidebar.collapsed nav > button > span { display:none !important; }
  .site-admin > aside.admin-sidebar.collapsed > div:last-child { display:none !important; }
}
@media (max-width: 900px) {
  .site-admin .sidebar-top-toggle { display:none; }
}
html[data-theme="dark"] .site-dashboard .sidebar-top-toggle,
html[data-theme="dark"] .site-admin .sidebar-top-toggle { color:#c2cee0; background:#172438; border-color:#34445c; }
html[data-theme="dark"] .site-dashboard .sidebar-top-toggle:hover,
html[data-theme="dark"] .site-admin .sidebar-top-toggle:hover { color:#fff; background:#20324b; }

/* Keep the homepage theme switch in the app bar so it never covers mobile content. */
.site-home header .tp-theme-toggle { position:static; inset:auto; flex:0 0 auto; margin:0; min-height:38px; padding:.45rem .6rem; box-shadow:none; }
.site-home header .tp-theme-toggle:hover { box-shadow:none; }
.site-content-page > header .theme-selector-dropdown { position:relative; display:flex; flex:0 0 auto; align-items:center; }
.site-content-page > header .tp-theme-toggle { position:static; inset:auto; flex:0 0 auto; margin:0; min-height:38px; padding:.45rem .6rem; box-shadow:none; }
.site-content-page > header .tp-theme-toggle:hover { box-shadow:none; }

@media (max-width: 760px) {
  .site-home .site-actions > .site-points { display:none !important; }
}

/* Public navigation uses compact, consistent button-shaped links. */
.site-home .site-nav a,
.site-content-page > header nav a { border-color:#e3e9f1; background:#f8fafd; color:#53627a; }
.site-home .site-nav a:hover,
.site-home .site-nav a:focus-visible,
.site-content-page > header nav a:hover,
.site-content-page > header nav a:focus-visible { border-color:#cfdbed; background:#edf3fb; color:#315fba; }
html[data-theme="dark"] .site-home .site-nav a,
html[data-theme="dark"] .site-content-page > header nav a { border-color:#2d3d54; background:#172438; color:#bdc9d9 !important; }
html[data-theme="dark"] .site-home .site-nav a:hover,
html[data-theme="dark"] .site-home .site-nav a:focus-visible,
html[data-theme="dark"] .site-content-page > header nav a:hover,
html[data-theme="dark"] .site-content-page > header nav a:focus-visible { border-color:#405a7c; background:#20324b; color:#f3f6fb !important; }
html[data-theme="dark"] .site-content-page > header nav a.text-white.font-semibold { border-color:#42618a; background:#243a59; color:#f3f6fb !important; }
html[data-theme="dark"] .site-content-page .site-footer-brand > strong { color:#f3f6fb; }
html[data-theme="dark"] .site-content-page .site-footer-tagline { color:#aab8ca; }
@media (min-width:768px) and (max-width:1100px) {
  .site-home .site-nav,
  .site-content-page > header nav { gap:.12rem; }
  .site-home .site-nav a,
  .site-content-page > header nav a { padding:.38rem .46rem; font-size:.71rem; }
}

/* Structured multi-row public footer shared across all public pages. */
.site-footer { padding:3.1rem 0 1.25rem; border-top:1px solid #e3e9f1; background:#fff; color:#65748b; }
.site-footer-inner { display:block; width:min(100% - 2.5rem,1380px); min-height:0; margin:0 auto; font-size:.82rem; }
.site-footer-main { display:grid; grid-template-columns:minmax(15rem,1.55fr) repeat(3,minmax(0,1fr)); gap:2.2rem; padding:0 0 2.3rem; border-bottom:1px solid #e7ecf3; }
.site-footer-brand { display:flex; flex-direction:column; align-items:flex-start; gap:.85rem; min-width:0; }
.site-footer-brand-top { display:flex; align-items:center; gap:.7rem; color:#17233b; text-decoration:none; }
.site-footer-brand-top .site-brand-mark { width:40px; height:40px; flex:0 0 40px; border-radius:12px; }
.site-footer-brand-copy { display:grid; gap:.2rem; }
.site-footer-brand-copy strong { color:#1d2a40; font-size:1rem; font-weight:650; letter-spacing:-.025em; }
.site-footer-brand-copy small { color:#78869b; font-size:.63rem; font-weight:550; letter-spacing:.1em; text-transform:uppercase; }
.site-footer-tagline { display:inline-flex; align-items:center; min-height:30px; padding:.38rem .62rem; border:1px solid #dce6f3; border-radius:999px; background:#f3f7fc; color:#385b8e; font-size:.72rem; font-weight:600; line-height:1.3; }
.site-footer-description { max-width:19rem; margin:0; color:#758197; font-size:.8rem; line-height:1.65; }
.site-footer-group { display:flex; flex-direction:column; align-items:flex-start; gap:.65rem; min-width:0; padding-top:.25rem; }
.site-footer-group h2 { margin:0 0 .25rem; color:#2a3a53; font-size:.73rem; font-weight:700; letter-spacing:.09em; text-transform:uppercase; }
.site-footer-group > a:not(.site-footer-community-link) { color:#66758b; font-size:.8rem; line-height:1.4; text-decoration:none; transition:color .16s ease; }
.site-footer-group > a:hover { color:#315fba; }
.site-footer-community > p { max-width:16rem; margin:0; color:#7b879a; font-size:.78rem; line-height:1.6; }
.site-footer-community-link { display:inline-flex; align-items:center; gap:.5rem; min-height:38px; margin-top:.2rem; padding:.5rem .7rem; border:1px solid #dce5f1; border-radius:9px; background:#f8fafd; color:#385b8e; font-size:.76rem; font-weight:600; text-decoration:none; transition:background .16s ease,border-color .16s ease,color .16s ease; }
.site-footer-community-link:hover { border-color:#c6d5ea; background:#eef4fb; color:#244f99; }
.site-footer-community-link svg:first-child { width:16px; height:16px; flex:0 0 16px; }
.site-footer-community-link svg:last-child { width:13px; height:13px; flex:0 0 13px; }
.site-footer-bottom { display:flex; align-items:center; justify-content:space-between; gap:1rem; padding-top:1.15rem; color:#8a95a6; font-size:.72rem; }
.site-footer-bottom .developer-credit { margin-left:auto; }
html[data-theme="dark"] body.site-home .site-footer,
html[data-theme="dark"] body.site-content-page .site-footer { border-color:#2b3a4f !important; background:#111c2b !important; color:#aab8ca !important; }
html[data-theme="dark"] body.site-home .site-footer-main,
html[data-theme="dark"] body.site-content-page .site-footer-main { border-color:#29374b; }
html[data-theme="dark"] body.site-home .site-footer-brand-copy strong,
html[data-theme="dark"] body.site-content-page .site-footer-brand-copy strong { color:#f3f6fb; }
html[data-theme="dark"] body.site-home .site-footer-brand-copy small,
html[data-theme="dark"] body.site-content-page .site-footer-brand-copy small,
html[data-theme="dark"] body.site-home .site-footer-description,
html[data-theme="dark"] body.site-content-page .site-footer-description,
html[data-theme="dark"] body.site-home .site-footer-community > p,
html[data-theme="dark"] body.site-content-page .site-footer-community > p { color:#aab8ca; }
html[data-theme="dark"] body.site-home .site-footer-tagline,
html[data-theme="dark"] body.site-content-page .site-footer-tagline { border-color:#344a67; background:#1b2d46; color:#c5d8f4; }
html[data-theme="dark"] body.site-home .site-footer-group h2,
html[data-theme="dark"] body.site-content-page .site-footer-group h2 { color:#e7edf6; }
html[data-theme="dark"] body.site-home .site-footer-group > a:not(.site-footer-community-link),
html[data-theme="dark"] body.site-content-page .site-footer-group > a:not(.site-footer-community-link) { color:#bdc9d9; }
html[data-theme="dark"] body.site-home .site-footer-community-link,
html[data-theme="dark"] body.site-content-page .site-footer-community-link { border-color:#34445c; background:#172438; color:#c8d7eb; }
html[data-theme="dark"] body.site-home .site-footer-bottom,
html[data-theme="dark"] body.site-content-page .site-footer-bottom { color:#94a5ba; }
@media (max-width:760px) {
  .site-footer { padding:2.2rem 0 1rem; }
  .site-footer-inner { width:calc(100% - 1.5rem); }
  .site-footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:1.65rem 1rem; padding-bottom:1.5rem; }
  .site-footer-brand { grid-column:1 / -1; gap:.7rem; }
  .site-footer-brand-top .site-brand-mark { width:36px; height:36px; flex-basis:36px; }
  .site-footer-brand-copy strong { font-size:.95rem; }
  .site-footer-description { max-width:23rem; }
  .site-footer-group { gap:.58rem; }
  .site-footer-group h2 { font-size:.68rem; }
  .site-footer-group > a:not(.site-footer-community-link) { font-size:.76rem; }
  .site-footer-community { grid-column:1 / -1; padding:.95rem; border:1px solid #e5ebf3; border-radius:12px; background:#f8fafd; }
  .site-footer-community-link { width:100%; justify-content:center; }
  .site-footer-bottom { flex-direction:column; align-items:flex-start; gap:.75rem; padding-top:1rem; }
  .site-footer-bottom .developer-credit { align-self:flex-end; margin:0; }
  html[data-theme="dark"] body.site-home .site-footer-community,
  html[data-theme="dark"] body.site-content-page .site-footer-community { border-color:#293a52; background:#142136; }
}

/* Mobile footer layout: intentional link panels and a centered sign-off. */
@media (max-width:760px) {
  body.site-home,
  body.site-content-page { overflow-x:clip; }
  body.site-home .site-header,
  body.site-content-page > header { position:sticky; top:0; z-index:120; }
  .site-footer { padding:1.5rem 0 calc(1.15rem + env(safe-area-inset-bottom, 0px)); }
  .site-footer-inner { width:calc(100% - 1.5rem); }
  .site-footer-main { grid-template-columns:repeat(2,minmax(0,1fr)); gap:.8rem; padding-bottom:1rem; }
  .site-footer-brand { align-items:center; gap:.65rem; padding:.15rem .1rem .9rem; border-bottom:1px solid #e5ebf3; text-align:center; }
  .site-footer-brand-top { gap:.6rem; }
  .site-footer-brand-top .site-brand-mark { width:34px; height:34px; flex-basis:34px; border-radius:10px; }
  .site-footer-tagline { min-height:28px; padding:.35rem .58rem; font-size:.68rem; }
  .site-footer-description { font-size:.76rem; line-height:1.5; }
  .site-footer-group:not(.site-footer-community) { min-height:100%; gap:.48rem; padding:.35rem .75rem .8rem; background:transparent; }
  .site-footer-group:nth-of-type(2) { border-right:1px solid #e5ebf3; }
  .site-footer-group:nth-of-type(3) { align-items:flex-end; padding-left:1rem; text-align:right; }
  .site-footer-group:nth-of-type(3) > a:not(.site-footer-community-link) { justify-content:flex-end; text-align:right; }
  .site-footer-group h2 { margin-bottom:.12rem; font-size:.64rem; letter-spacing:.08em; }
  .site-footer-group > a:not(.site-footer-community-link) { display:flex; align-items:center; min-height:30px; font-size:.72rem; line-height:1.3; }
  .site-footer-community { display:grid; grid-column:1 / -1; justify-items:center; gap:.55rem; padding:1rem .25rem .25rem; border-top:1px solid #e5ebf3; background:transparent; text-align:center; }
  .site-footer-inner { text-align:center; }
  .site-footer-community h2,
  .site-footer-community > p { text-align:center; }
  .site-footer-community > p { max-width:20rem; font-size:.74rem; }
  .site-footer-community-link { width:auto; min-width:min(100%,17rem); min-height:40px; margin:.05rem auto 0; }
  .site-footer-bottom { align-items:center; gap:.55rem; padding-top:.85rem; border-top:1px solid #e5ebf3; text-align:center; font-size:.68rem; }
  .site-footer-bottom .developer-credit { align-self:center; margin:0; }
  html[data-theme="dark"] body.site-home .site-footer-group:not(.site-footer-community),
  html[data-theme="dark"] body.site-content-page .site-footer-group:not(.site-footer-community) { border-color:#293a52; background:#142136; }
  html[data-theme="dark"] body.site-home .site-footer-group:not(.site-footer-community),
  html[data-theme="dark"] body.site-content-page .site-footer-group:not(.site-footer-community) { background:transparent; }
  html[data-theme="dark"] body.site-home .site-footer-brand,
  html[data-theme="dark"] body.site-content-page .site-footer-brand,
  html[data-theme="dark"] body.site-home .site-footer-community,
  html[data-theme="dark"] body.site-content-page .site-footer-community,
  html[data-theme="dark"] body.site-home .site-footer-bottom,
  html[data-theme="dark"] body.site-content-page .site-footer-bottom { border-color:#293a52; }
}
