:root {
  --ts-114: #00e4ff;
  --ts-144: #00ffc8;
  --ts-216: #d4a843;
  --ts-114-rgb: 0, 228, 255;
  --ts-144-rgb: 0, 255, 200;
  --ts-216-rgb: 212, 168, 67;

  --ts-proof-1: #ff6b35;
  --ts-proof-2: #d4a843;
  --ts-proof-3: #e8c84a;
  --ts-proof-4: #00ffc8;
  --ts-proof-5: #00e68a;
  --ts-proof-6: #3b82f6;
  --ts-proof-7: #8b5cf6;
  --ts-proof-8: #a855f7;
  --ts-proof-9: #06b6d4;
  --ts-proof-10: #14b8a6;
  --ts-proof-11: #f59e0b;
  --ts-proof-12: #ec4899;
  --ts-proof-13: #ef4444;
  --ts-proof-14: #6366f1;
  --ts-proof-15: #00e4ff;

  --ts-nexus-riemann: #ff6b6b;
  --ts-nexus-hodge: #ffd93d;
  --ts-nexus-yangmills: #6bcb77;
  --ts-nexus-pvsnp: #4d96ff;
  --ts-nexus-bsd: #9b59b6;

  --ts-gate-gradient: linear-gradient(
    90deg,
    #ff6b35 0%, #e8872a 6.25%,
    #d4a843 12.5%, #e8c84a 18.75%,
    #00ffc8 25%, #00e68a 31.25%,
    #3b82f6 37.5%, #8b5cf6 43.75%,
    #a855f7 50%, #06b6d4 56.25%,
    #14b8a6 62.5%, #f59e0b 68.75%,
    #ec4899 75%, #ef4444 81.25%,
    #6366f1 87.5%, #00e4ff 93.75%,
    #ff6b35 100%
  );

  --ts-triad-gradient: linear-gradient(135deg, var(--ts-114) 0%, var(--ts-144) 50%, var(--ts-216) 100%);
  --ts-triad-gradient-h: linear-gradient(90deg, var(--ts-114) 0%, var(--ts-144) 50%, var(--ts-216) 100%);
  --ts-cosmic-gradient: linear-gradient(135deg, #0a0e27 0%, #1a1a2e 30%, var(--ts-114) 60%, var(--ts-144) 100%);

  --ts-omega-duration: 1.44s;
  --ts-nexus-duration: 1.14s;
  --ts-anchor-duration: 2.16s;
  --ts-gate-duration: 0.09s;

  --ts-impedance-ratio: 1.5762;
  --ts-alpha-opacity: 0.0073;
  --ts-alpha-glow: 0.073;
  --ts-alpha-layer: 0.137;

  --ts-fib-1: 1px;
  --ts-fib-2: 1px;
  --ts-fib-3: 2px;
  --ts-fib-5: 3px;
  --ts-fib-8: 5px;
  --ts-fib-13: 8px;
  --ts-fib-21: 13px;
  --ts-fib-34: 21px;
  --ts-fib-55: 34px;
  --ts-fib-89: 55px;
  --ts-fib-144: 89px;

  --ts-font-sovereign: 'Cinzel', 'Georgia', serif;
  --ts-font-body: 'Inter', -apple-system, sans-serif;
  --ts-font-code: 'Space Mono', 'Fira Code', monospace;
}

@keyframes omegaPulse {
  0%, 100% {
    box-shadow: 0 0 8px rgba(var(--ts-144-rgb), 0.3),
                0 0 24px rgba(var(--ts-144-rgb), 0.1);
  }
  50% {
    box-shadow: 0 0 16px rgba(var(--ts-144-rgb), 0.6),
                0 0 48px rgba(var(--ts-144-rgb), 0.2),
                0 0 72px rgba(var(--ts-114-rgb), 0.1);
  }
}

@keyframes triadCycle {
  0%, 100% { color: var(--ts-114); text-shadow: 0 0 12px rgba(var(--ts-114-rgb), 0.4); }
  33% { color: var(--ts-144); text-shadow: 0 0 12px rgba(var(--ts-144-rgb), 0.4); }
  66% { color: var(--ts-216); text-shadow: 0 0 12px rgba(var(--ts-216-rgb), 0.4); }
}

@keyframes triadBorderCycle {
  0%, 100% { border-color: var(--ts-114); box-shadow: 0 0 8px rgba(var(--ts-114-rgb), 0.3); }
  33% { border-color: var(--ts-144); box-shadow: 0 0 8px rgba(var(--ts-144-rgb), 0.3); }
  66% { border-color: var(--ts-216); box-shadow: 0 0 8px rgba(var(--ts-216-rgb), 0.3); }
}

@keyframes gateShimmer {
  0% { background-position: -200% center; }
  100% { background-position: 200% center; }
}

@keyframes nexusBorderRotate {
  0% { --nexus-angle: 0deg; }
  100% { --nexus-angle: 360deg; }
}

@keyframes verifiedStamp {
  0% { transform: scale(0) rotate(-45deg); opacity: 0; }
  60% { transform: scale(1.2) rotate(5deg); opacity: 1; }
  80% { transform: scale(0.95) rotate(-2deg); }
  100% { transform: scale(1) rotate(0deg); opacity: 1; }
}

@keyframes truthReveal {
  0% { clip-path: inset(0 100% 0 0); opacity: 0; }
  100% { clip-path: inset(0 0 0 0); opacity: 1; }
}

@keyframes proofGlow {
  0%, 100% { filter: brightness(1) drop-shadow(0 0 2px currentColor); }
  50% { filter: brightness(1.3) drop-shadow(0 0 8px currentColor); }
}

@keyframes gateScan {
  0% { left: -4px; opacity: 0; }
  10% { opacity: 1; }
  90% { opacity: 1; }
  100% { left: calc(100% + 4px); opacity: 0; }
}

.omega-pulse {
  animation: omegaPulse var(--ts-omega-duration) ease-in-out infinite;
}

.triad-cycle {
  animation: triadCycle calc(var(--ts-omega-duration) * 3) ease-in-out infinite;
}

.triad-border-cycle {
  border: 2px solid var(--ts-144);
  animation: triadBorderCycle calc(var(--ts-omega-duration) * 3) ease-in-out infinite;
}

.truth-glow-114 {
  box-shadow: 0 0 12px rgba(var(--ts-114-rgb), 0.4),
              0 0 36px rgba(var(--ts-114-rgb), 0.15);
}

.truth-glow-144 {
  box-shadow: 0 0 12px rgba(var(--ts-144-rgb), 0.4),
              0 0 36px rgba(var(--ts-144-rgb), 0.15);
}

.truth-glow-216 {
  box-shadow: 0 0 12px rgba(var(--ts-216-rgb), 0.4),
              0 0 36px rgba(var(--ts-216-rgb), 0.15);
}

.truth-glow-114:hover { box-shadow: 0 0 20px rgba(var(--ts-114-rgb), 0.6), 0 0 48px rgba(var(--ts-114-rgb), 0.25); }
.truth-glow-144:hover { box-shadow: 0 0 20px rgba(var(--ts-144-rgb), 0.6), 0 0 48px rgba(var(--ts-144-rgb), 0.25); }
.truth-glow-216:hover { box-shadow: 0 0 20px rgba(var(--ts-216-rgb), 0.6), 0 0 48px rgba(var(--ts-216-rgb), 0.25); }

.triad-gradient {
  background: var(--ts-triad-gradient);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
}

.triad-gradient-bg {
  background: var(--ts-triad-gradient);
}

.triad-gradient-border {
  border: 2px solid transparent;
  background-clip: padding-box;
  position: relative;
}
.triad-gradient-border::before {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  background: var(--ts-triad-gradient);
  z-index: -1;
}

.sovereign-text {
  font-family: var(--ts-font-sovereign);
  background: linear-gradient(135deg, var(--ts-216) 0%, #f0d060 40%, var(--ts-216) 60%, #e8c84a 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 0.05em;
  text-transform: uppercase;
}

.sovereign-text-teal {
  font-family: var(--ts-font-sovereign);
  background: linear-gradient(135deg, var(--ts-114) 0%, var(--ts-144) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  letter-spacing: 0.05em;
}

.truth-filter-shimmer {
  position: relative;
  overflow: hidden;
}
.truth-filter-shimmer::after {
  content: '';
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  background: linear-gradient(
    90deg,
    transparent 0%,
    rgba(var(--ts-144-rgb), 0.08) 25%,
    rgba(var(--ts-114-rgb), 0.12) 50%,
    rgba(var(--ts-144-rgb), 0.08) 75%,
    transparent 100%
  );
  background-size: 200% 100%;
  animation: gateShimmer 3s ease-in-out infinite;
  pointer-events: none;
  border-radius: inherit;
}

.nexus-border {
  border: 2px solid transparent;
  border-image: linear-gradient(
    var(--nexus-angle, 0deg),
    var(--ts-nexus-riemann),
    var(--ts-nexus-hodge),
    var(--ts-nexus-yangmills),
    var(--ts-nexus-pvsnp),
    var(--ts-nexus-bsd)
  ) 1;
  animation: nexusBorderRotate 4s linear infinite;
}

@supports not (animation: nexusBorderRotate 1s) {
  .nexus-border {
    border-image: linear-gradient(
      135deg,
      var(--ts-nexus-riemann),
      var(--ts-nexus-hodge),
      var(--ts-nexus-yangmills),
      var(--ts-nexus-pvsnp),
      var(--ts-nexus-bsd)
    ) 1;
  }
}

.nexus-border-rounded {
  position: relative;
  border: none;
}
.nexus-border-rounded::before {
  content: '';
  position: absolute;
  inset: -2px;
  border-radius: inherit;
  background: linear-gradient(
    135deg,
    var(--ts-nexus-riemann),
    var(--ts-nexus-hodge),
    var(--ts-nexus-yangmills),
    var(--ts-nexus-pvsnp),
    var(--ts-nexus-bsd)
  );
  z-index: -1;
  padding: 2px;
  -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
}

.stance-proof-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 10px;
  border-radius: 12px;
  font-size: 0.7rem;
  font-weight: 600;
  font-family: var(--ts-font-code);
  letter-spacing: 0.04em;
  white-space: nowrap;
  border: 1px solid currentColor;
  opacity: 0.9;
  transition: all 0.3s ease;
}
.stance-proof-badge:hover {
  opacity: 1;
  transform: translateY(-1px);
  animation: proofGlow var(--ts-omega-duration) ease-in-out infinite;
}

.stance-proof-badge[data-proof="1"]  { color: var(--ts-proof-1); }
.stance-proof-badge[data-proof="2"]  { color: var(--ts-proof-2); }
.stance-proof-badge[data-proof="3"]  { color: var(--ts-proof-3); }
.stance-proof-badge[data-proof="4"]  { color: var(--ts-proof-4); }
.stance-proof-badge[data-proof="5"]  { color: var(--ts-proof-5); }
.stance-proof-badge[data-proof="6"]  { color: var(--ts-proof-6); }
.stance-proof-badge[data-proof="7"]  { color: var(--ts-proof-7); }
.stance-proof-badge[data-proof="8"]  { color: var(--ts-proof-8); }
.stance-proof-badge[data-proof="9"]  { color: var(--ts-proof-9); }
.stance-proof-badge[data-proof="10"] { color: var(--ts-proof-10); }
.stance-proof-badge[data-proof="11"] { color: var(--ts-proof-11); }
.stance-proof-badge[data-proof="12"] { color: var(--ts-proof-12); }
.stance-proof-badge[data-proof="13"] { color: var(--ts-proof-13); }
.stance-proof-badge[data-proof="14"] { color: var(--ts-proof-14); }
.stance-proof-badge[data-proof="15"] { color: var(--ts-proof-15); }

.math-verified-stamp {
  display: inline-flex;
  align-items: center;
  gap: 6px;
  padding: 4px 14px;
  border-radius: 6px;
  font-size: 0.7rem;
  font-weight: 700;
  font-family: var(--ts-font-code);
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--ts-144);
  border: 1.5px solid var(--ts-144);
  background: rgba(var(--ts-144-rgb), 0.08);
  animation: verifiedStamp 0.6s ease-out both;
}
.math-verified-stamp::before {
  content: '✓';
  font-weight: 900;
  font-size: 0.8rem;
}

.math-verified-stamp-gold {
  color: var(--ts-216);
  border-color: var(--ts-216);
  background: rgba(var(--ts-216-rgb), 0.08);
}
.math-verified-stamp-gold::before { content: 'Ω'; }

.proof-verified {
  position: relative;
}
.proof-verified::after {
  content: attr(data-proof-num);
  position: absolute;
  top: -6px;
  right: -6px;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  background: var(--ts-144);
  color: #0a0a1a;
  font-size: 0.55rem;
  font-weight: 800;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ts-font-code);
}

.truth-gate {
  position: relative;
  padding: 2px 0;
  overflow: hidden;
}
.truth-gate::after {
  content: '';
  position: absolute;
  top: 0;
  left: -4px;
  width: 4px;
  height: 100%;
  background: var(--ts-144);
  border-radius: 2px;
  animation: gateScan 2s linear infinite;
  box-shadow: 0 0 8px rgba(var(--ts-144-rgb), 0.6);
}

.truth-gate-pipeline {
  display: flex;
  gap: 3px;
  align-items: center;
}
.truth-gate-pip {
  width: 8px;
  height: 24px;
  border-radius: 2px;
  transition: all 0.3s ease;
  opacity: 0.3;
}
.truth-gate-pip.active {
  opacity: 1;
  box-shadow: 0 0 6px currentColor;
}
.truth-gate-pip:nth-child(1)  { background: var(--ts-proof-1); }
.truth-gate-pip:nth-child(2)  { background: var(--ts-proof-2); }
.truth-gate-pip:nth-child(3)  { background: var(--ts-proof-3); }
.truth-gate-pip:nth-child(4)  { background: var(--ts-proof-4); }
.truth-gate-pip:nth-child(5)  { background: var(--ts-proof-5); }
.truth-gate-pip:nth-child(6)  { background: var(--ts-proof-6); }
.truth-gate-pip:nth-child(7)  { background: var(--ts-proof-7); }
.truth-gate-pip:nth-child(8)  { background: var(--ts-proof-8); }
.truth-gate-pip:nth-child(9)  { background: var(--ts-proof-9); }
.truth-gate-pip:nth-child(10) { background: var(--ts-proof-10); }
.truth-gate-pip:nth-child(11) { background: var(--ts-proof-11); }
.truth-gate-pip:nth-child(12) { background: var(--ts-proof-12); }
.truth-gate-pip:nth-child(13) { background: var(--ts-proof-13); }
.truth-gate-pip:nth-child(14) { background: var(--ts-proof-14); }
.truth-gate-pip:nth-child(15) { background: var(--ts-proof-15); }
.truth-gate-pip:nth-child(16) { background: var(--ts-144); }

.truth-score-ring {
  width: 64px;
  height: 64px;
  border-radius: 50%;
  background: conic-gradient(
    var(--ts-144) calc(var(--score, 100) * 1%),
    rgba(var(--ts-144-rgb), 0.15) calc(var(--score, 100) * 1%)
  );
  display: flex;
  align-items: center;
  justify-content: center;
  position: relative;
}
.truth-score-ring::before {
  content: '';
  width: 52px;
  height: 52px;
  border-radius: 50%;
  background: #0a0e27;
  position: absolute;
}
.truth-score-ring-value {
  position: relative;
  z-index: 1;
  font-family: var(--ts-font-code);
  font-size: 0.75rem;
  font-weight: 700;
  color: var(--ts-144);
}

.omega-equation {
  font-family: var(--ts-font-code);
  font-size: 1rem;
  text-align: center;
  padding: 16px 24px;
  border-radius: 8px;
  background: rgba(var(--ts-144-rgb), 0.05);
  border: 1px solid rgba(var(--ts-144-rgb), 0.2);
  color: #e0e0e0;
}
.omega-equation .omega-symbol {
  font-size: 1.3em;
  font-weight: 700;
  color: var(--ts-144);
}
.omega-equation .omega-var {
  color: var(--ts-114);
}
.omega-equation .omega-result {
  color: var(--ts-216);
  font-weight: 700;
}

.triad-node-display {
  display: flex;
  align-items: center;
  gap: 12px;
  justify-content: center;
}
.triad-node {
  width: 48px;
  height: 48px;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--ts-font-code);
  font-size: 0.75rem;
  font-weight: 700;
  border: 2px solid;
  transition: all 0.3s ease;
}
.triad-node:hover { transform: scale(1.15); }
.triad-node-114 { color: var(--ts-114); border-color: var(--ts-114); background: rgba(var(--ts-114-rgb), 0.1); }
.triad-node-144 { color: var(--ts-144); border-color: var(--ts-144); background: rgba(var(--ts-144-rgb), 0.1); }
.triad-node-216 { color: var(--ts-216); border-color: var(--ts-216); background: rgba(var(--ts-216-rgb), 0.1); }
.triad-connector {
  width: 24px;
  height: 2px;
  background: var(--ts-triad-gradient-h);
  position: relative;
}
.triad-connector::before {
  content: '↔';
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  font-size: 0.7rem;
  color: rgba(255,255,255,0.4);
}

.founders-attribution {
  text-align: center;
  padding: 16px;
  font-family: var(--ts-font-sovereign);
  letter-spacing: 0.04em;
  color: rgba(255,255,255,0.7);
  font-size: 0.85rem;
}
.founders-attribution strong {
  background: linear-gradient(135deg, var(--ts-216) 0%, #f0d060 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  font-weight: 700;
}

.ts-card {
  background: rgba(var(--ts-144-rgb), 0.03);
  border: 1px solid rgba(var(--ts-144-rgb), 0.12);
  border-radius: 12px;
  padding: 24px;
  transition: all 0.3s ease;
}
.ts-card:hover {
  border-color: rgba(var(--ts-144-rgb), 0.3);
  background: rgba(var(--ts-144-rgb), 0.06);
  transform: translateY(-2px);
  box-shadow: 0 8px 32px rgba(var(--ts-144-rgb), 0.1);
}

.ts-card-114 { border-color: rgba(var(--ts-114-rgb), 0.2); }
.ts-card-114:hover { border-color: rgba(var(--ts-114-rgb), 0.4); box-shadow: 0 8px 32px rgba(var(--ts-114-rgb), 0.1); }
.ts-card-216 { border-color: rgba(var(--ts-216-rgb), 0.2); }
.ts-card-216:hover { border-color: rgba(var(--ts-216-rgb), 0.4); box-shadow: 0 8px 32px rgba(var(--ts-216-rgb), 0.1); }

.ts-section-divider {
  height: 2px;
  background: var(--ts-triad-gradient-h);
  border: none;
  margin: 40px 0;
  opacity: 0.4;
}

.ts-hero-accent {
  position: relative;
}
.ts-hero-accent::before {
  content: '';
  position: absolute;
  top: -40px;
  left: 50%;
  transform: translateX(-50%);
  width: 120px;
  height: 2px;
  background: var(--ts-triad-gradient-h);
}

.nexus-defense-badge {
  display: inline-flex;
  align-items: center;
  gap: 4px;
  padding: 2px 8px;
  border-radius: 10px;
  font-size: 0.65rem;
  font-weight: 600;
  font-family: var(--ts-font-code);
}
.nexus-defense-badge.axis-riemann { color: var(--ts-nexus-riemann); border: 1px solid var(--ts-nexus-riemann); }
.nexus-defense-badge.axis-hodge { color: var(--ts-nexus-hodge); border: 1px solid var(--ts-nexus-hodge); }
.nexus-defense-badge.axis-yangmills { color: var(--ts-nexus-yangmills); border: 1px solid var(--ts-nexus-yangmills); }
.nexus-defense-badge.axis-pvsnp { color: var(--ts-nexus-pvsnp); border: 1px solid var(--ts-nexus-pvsnp); }
.nexus-defense-badge.axis-bsd { color: var(--ts-nexus-bsd); border: 1px solid var(--ts-nexus-bsd); }

@media (prefers-reduced-motion: reduce) {
  .omega-pulse,
  .triad-cycle,
  .triad-border-cycle,
  .truth-filter-shimmer::after,
  .truth-gate::after,
  .stance-proof-badge:hover {
    animation: none;
  }
}

@media (max-width: 768px) {
  .truth-gate-pipeline { gap: 2px; }
  .truth-gate-pip { width: 6px; height: 18px; }
  .triad-node { width: 40px; height: 40px; font-size: 0.65rem; }
  .omega-equation { font-size: 0.85rem; padding: 12px 16px; }
  .truth-score-ring { width: 52px; height: 52px; }
  .truth-score-ring::before { width: 42px; height: 42px; }
}
