:root {
  --ts-font-sans: 'Inter', system-ui, -apple-system, sans-serif;
  --ts-font-mono: 'JetBrains Mono', monospace;
  --ts-bg-panel: #f8fafc;
  --ts-border: #e2e8f0;
  --ts-text-primary: #0f172a;
  --ts-text-secondary: #64748b;
  --ts-accent: #2563eb;
  --ts-bg-dark: #0f172a;
}

body {
  font-family: var(--ts-font-sans) !important;
  font-feature-settings: "cv11", "ss01";
  -webkit-font-smoothing: antialiased;
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--ts-font-sans);
  font-weight: 600;
  letter-spacing: -0.025em;
}

h1 {
  font-size: 2.5rem;
}

h2 {
  font-size: 1.75rem;
  border-bottom: 1px solid var(--ts-border);
  padding-bottom: 0.5rem;
}


code {
  font-family: var(--ts-font-mono) !important;
}

.site-title {
  font-weight: 700;
  letter-spacing: -0.05em;
}

/* Language Switcher Styling */
.lang-switcher {
  display: flex;
  background-color: var(--ts-bg-panel);
  border-radius: 6px;
  padding: 4px;
  margin-bottom: 2rem;
  width: fit-content;
  border: 1px solid var(--ts-border);
}

.lang-btn {
  background-color: transparent;
  border: none;
  padding: 6px 16px;
  border-radius: 4px;
  color: var(--ts-text-secondary);
  font-family: var(--ts-font-sans);
  font-weight: 500;
  font-size: 0.9em;
  cursor: pointer;
  transition: all 0.2s ease;
}

.lang-btn:hover {
  color: var(--ts-text-primary);
  background-color: rgba(0, 0, 0, 0.05);
}

.lang-btn.active {
  background-color: white;
  color: var(--ts-accent);
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
  font-weight: 600;
}

/* Language Content Visibility */
.lang-content {
  display: none;
}

.lang-content.active {
  display: block;
  animation: fadeIn 0.3s ease;
}

@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(4px);
  }

  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* Custom Header Link Styling */
.aux-nav .site-button {
  /* background-color: var(--ts-text-primary) !important; */
  background-color: dimgray !important;
  /* GitHub Black/Dark */
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 98 96' width='98' height='96'%3E%3Cpath fill-rule='evenodd' clip-rule='evenodd' d='M48.854 0C21.839 0 0 22 0 49.217c0 21.756 13.993 40.172 33.405 46.69 2.427.49 3.316-1.059 3.316-2.362 0-1.141-.08-5.052-.08-9.127-13.59 2.934-16.42-5.867-16.42-5.867-2.184-5.704-5.42-7.17-5.42-7.17-4.448-3.015.324-3.015.324-3.015 4.934.326 7.523 5.052 7.523 5.052 4.367 7.496 11.404 5.378 14.235 4.074.404-3.178 1.699-5.378 3.074-6.6-10.839-1.141-22.243-5.378-22.243-24.283 0-5.378 1.94-9.778 5.014-13.2-.485-1.222-2.184-6.275.486-13.038 0 0 4.125-1.304 13.426 5.052a46.97 46.97 0 0 1 12.214-1.63c4.125 0 8.33.571 12.213 1.63 9.302-6.356 13.427-5.052 13.427-5.052 2.67 6.763.97 11.816.485 13.038 3.155 3.422 5.015 7.822 5.015 13.2 0 18.905-11.404 23.06-22.324 24.283 1.78 1.548 3.316 4.481 3.316 9.126 0 6.6-.08 11.897-.08 13.526 0 1.304.89 2.853 3.316 2.364 19.412-6.52 33.405-24.935 33.405-46.691C97.707 22 75.788 0 48.854 0z' fill='%23ffffff'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: 12px center;
  background-size: 20px;
  color: white !important;
  padding: 8px 16px 8px 42px;
  /* Left padding for icon */
  font-weight: 600;
  transition: all 0.2s ease;
  display: inline-flex;
  align-items: center;
  line-height: 1.5;
  box-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}

.aux-nav .site-button:hover {
  filter: brightness(120%);
  text-decoration: none;
  transform: translateY(-1px);
  background-color: var(--ts-text-primary) !important;
}

/* Base style for mobile only elements - hidden by default */
.mobile-only {
  display: none !important;
}

#ts-flow-diagram {
  width: 70%;
}

/* Force Aux Nav to be visible on mobile */
@media (max-width: 50rem) {
  .aux-nav {
    display: none !important;
  }

  #ts-flow-diagram {
    width: 90%;
  }

  /* Show mobile-only elements on small screens */
  .mobile-only {
    display: inline-block !important;
  }

  footer {
    display: none !important;
  }
}

.site-footer {
  display: none !important;
}

.table-wrapper {
  width: fit-content;
}