/* Theme Variables Base */
body { background-color: var(--color-canvas-deep); color: var(--color-text-primary); }

.login-bg {
  background: linear-gradient(135deg, var(--color-primary) 0%, var(--color-primary-hover) 100%);
  background-size: 200% 200%; animation: gradientShift 15s ease infinite;
}
.login-card { background: rgba(255, 255, 255, 0.95); backdrop-filter: blur(20px); -webkit-backdrop-filter: blur(20px); }
.dark .login-card { background: rgba(31, 41, 55, 0.95); }
.login-card input::placeholder { color: var(--color-text-faint); }

.auth-btn-primary {
  background-color: var(--color-primary) !important;
  color: #fff;
}
.auth-btn-primary:hover:not(:disabled) {
  background-color: var(--color-primary-hover) !important;
}
.auth-btn-primary:disabled {
  opacity: 0.6;
  cursor: not-allowed;
}
.auth-spinner {
  width: 1.5rem; height: 1.5rem;
  border: 2px solid color-mix(in srgb, var(--color-primary) 30%, transparent);
  border-top-color: var(--color-primary);
  border-radius: 50%;
  animation: spin 0.6s linear infinite;
}

.scrollbar-thin { scrollbar-color: var(--color-hairline) transparent; }

.markdown-content a { color: var(--color-primary); }
.dark .markdown-content a { color: var(--color-primary-text); }
.markdown-content blockquote { border-left-color: var(--color-primary); color: var(--color-text-muted); }

button:focus-visible, a:focus-visible, input:focus-visible,
select:focus-visible, textarea:focus-visible, [tabindex]:focus-visible {
  outline: 2px solid var(--color-primary-ring); outline-offset: 2px;
}

[data-theme="stripe"] {
  --font-sans: 'Inter', -apple-system, BlinkMacSystemFont, 'Segoe UI', Roboto, sans-serif;
  --letter-spacing-body: -0.01em;
}
[data-theme="stripe"] body, [data-theme="stripe"] .font-sans {
  font-family: var(--font-sans); letter-spacing: var(--letter-spacing-body, 0);
}
