/* Dark Mode Global */
.dark body { background: #121212; color: #e0e0e0; }
.dark nav { background: #161616; border-bottom-color: #333; }
.dark .nav-links a { color: #aaa; }
.dark .nav-links a:hover { color: #b85c38; }
.dark .models, .dark .safety, .dark .abstract { background: #1a1a1a; }
.dark .model-card, .dark .paper, .dark .job, .dark .safety-pledge, .dark .chat-box, .dark .chat-input-area { background: #1e1e1e; border-color: #333; }
.dark .model-card h3 { color: #b85c38; }
.dark h1, .dark .paper h3, .dark .job-info h3, .dark .customers h2, .dark .safety h2, .dark .models h2, .dark .research h2, .dark .careers h2, .dark .chat-section h2, .dark .api-section h2, .dark h2, .dark h3 { color: #e0e0e0; }
.dark .hero p, .dark .model-card p, .dark .models-sub, .dark .paper p, .dark .job-desc, .dark .safety-item p, .dark .customers .sub, .dark .chat-section .sub, .dark .api-section .sub, .dark .research .sub, .dark .safety .sub, .dark .careers .sub, .dark p, .dark li { color: #999; }
.dark .chat-messages { background: #121212; }
.dark .msg.bot { background: #2a2a2a; color: #ddd; }
.dark .msg.bot.typing { background: transparent; color: #ff8e8e; }
.dark .msg.bot code, .dark .msg.bot pre { background: rgba(255,255,255,0.1); }
.dark .chat-input-area { border-top-color: #333; }
.dark .chat-input-area input { background: #121212; color: #fff; border-color: #444; }
.dark .chat-input-area input:focus { border-color: #b85c38; }
.dark .chat-header { border-bottom-color: #333; }
.dark .paper .tag { background: #2a2a2a; }
.dark .marquee-wrapper { background: #0a0a0a; }
.dark footer { border-top-color: #222; }
.dark .nav-logo { color: #b85c38; }
.dark .job-meta .location, .dark .job-info .dept { color: #888; }
.dark .safety-item h3 { color: #cc9966; }
.dark .safety-pledge p { color: #aaa; }
.dark blockquote { background: #161616; border-left-color: #8b4513; color: #aaa; }
.dark table th { background: #8b4513; color: #e0e0e0; }
.dark table td { border-bottom-color: #333; }
.dark .incident { background: #2a1111; border-color: #552222; }
.dark .incident-title { color: #ff6666; }
.dark .footnote { border-top-color: #333; color: #777; }
.dark .reviews-section { background: #1a1a1a; }
.dark .reviews-section h2 { color: #e0e0e0; }
.dark .reviews-section .sub { color: #666; }
.dark .review-card { background: #1e1e1e; border-color: #333; }
.dark .review-card .body { color: #bbb; }
.dark .review-card .reviewer { color: #777; }
.dark .review-card .reviewer strong { color: #999; }
.dark .review-card.bad { background: #1e1616; border-color: #3a2222; }
.dark .review-card.mid { background: #1e1c16; border-color: #3a3422; }
.dark .chat-readonly { background: #1e1e1e; border-top-color: #333; }
.dark .new-convo-btn { border-color: #b85c38; color: #b85c38; }
.dark .new-convo-btn:hover { background: #b85c38; color: white; }

/* Error Pages */
.dark .sub,
.dark .sub-header,
.dark .note,
.dark .verified-badge,
.dark .uptime-label,
.dark .service-detail,
.dark .terminal-title,
.dark .incident-counter .label,
.dark .theories h3,
.dark .thank-you .team {
  color: #9a9a9a;
}

.dark .terminal-line.system,
.dark .stacktrace .path,
.dark .helpful p,
.dark .review p,
.dark .review .author,
.dark .theories li,
.dark .thank-you p,
.dark .result-text,
.dark .option,
.dark .round2 .choice {
  color: #c5c5c5;
}

.dark .terminal,
.dark .stacktrace {
  background: #111111;
  border: 1px solid #2d2d2d;
}

.dark .terminal-header,
.dark .progress-bar {
  background: #202020;
}

.dark .captcha-box,
.dark .eval-card,
.dark .status-page {
  border-color: #323232;
}

.dark .review,
.dark .captcha-header,
.dark .captcha-prompt,
.dark .result-text,
.dark .round2 .choice,
.dark .option,
.dark .thank-you,
.dark .incident-counter,
.dark .theories,
.dark .helpful {
  background: #1b1b1b;
}

.dark .captcha-header,
.dark .captcha-prompt,
.dark .question,
.dark .status-header,
.dark .service-row {
  border-color: #323232;
}

.dark .question,
.dark .question-text,
.dark .captcha-prompt,
.dark .status-header h2,
.dark .service-name {
  color: #e6e6e6;
}

.dark .option:hover,
.dark .round2 .choice:hover,
.dark a.btn.secondary:hover {
  background: #242424;
}

.dark .option.selected,
.dark .round2 .choice.selected {
  background: #261e1a;
  border-color: #b85c38;
}

.dark .incident-counter .number,
.dark .stacktrace .error,
.dark .terminal-line.error {
  color: #ff7b68;
}

.dark .terminal-line.success {
  color: #62c37e;
}

.dark .terminal-line.warning {
  color: #f0b35d;
}

.dark .terminal-line.aside {
  color: #7d7d7d;
}

.dark .stacktrace .fn,
.dark .option-label,
.dark .captcha-prompt em,
.dark .theories li::before,
.dark .helpful a {
  color: #d7a06f;
}

.dark .helpful a {
  border-bottom-color: #d7a06f;
}

.dark a.btn.secondary {
  background: #242424;
  color: #d0d0d0;
}

.dark .service-status.operational {
  background: #14301e;
  color: #82d39b;
}

.dark .service-status.degraded {
  background: #352711;
  color: #f0bf73;
}

.dark .service-status.outage {
  background: #361818;
  color: #f28d8d;
}

#themeToggle {
  background: none;
  border: none;
  cursor: pointer;
  font-size: 16px;
  padding: 0;
  color: inherit;
  transition: transform 0.2s;
  display: flex;
  align-items: center;
}
#themeToggle:hover {
  transform: scale(1.1);
}

.dark .theme-dropdown { background: #1e1e1e; border-color: #333; box-shadow: 0 4px 20px rgba(0,0,0,0.4); }
.dark .theme-opt { color: #aaa; }
.dark .theme-opt:hover, .dark .theme-opt.active { background: #2a2a2a; color: #b85c38; }

/* Theme Transitions */
html.slow-theme, html.slow-theme * {
  transition: background-color 4s ease-in-out, color 4s ease-in-out, border-color 4s ease-in-out, background 4s ease-in-out, box-shadow 4s ease-in-out !important;
}
html.fast-theme, html.fast-theme * {
  transition: background-color 0.15s ease-in-out, color 0.15s ease-in-out, border-color 0.15s ease-in-out, background 0.15s ease-in-out, box-shadow 0.15s ease-in-out !important;
}

/* Wacky Transitions */
html.wacky-chaos, html.wacky-manual, html.wacky-manual-light {
  overflow-x: hidden;
}

html.wacky-chaos {
  animation: wackyChaos 5s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes wackyChaos {
  0% { filter: none; transform: scale(1) rotate(0deg); }
  20% { filter: sepia(0.8) hue-rotate(45deg); transform: scale(1.02) rotate(1deg); }
  45% { filter: invert(0.8) hue-rotate(180deg) saturate(4) contrast(2); transform: scale(0.95) rotate(-2deg); }
  55% { filter: invert(1) hue-rotate(270deg) saturate(5) blur(2px); transform: scale(1.05) rotate(3deg); }
  80% { filter: sepia(0.5) hue-rotate(330deg); transform: scale(1.01) rotate(-0.5deg); }
  100% { filter: none; transform: scale(1) rotate(0deg); }
}

html.wacky-manual {
  animation: wackyManualDark 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes wackyManualDark {
  0% { filter: none; transform: scale(1) rotate(0deg); }
  50% { filter: sepia(1) hue-rotate(120deg) saturate(3) invert(0.2); transform: scale(0.97) rotate(1.5deg); }
  100% { filter: none; transform: scale(1) rotate(0deg); }
}

html.wacky-manual-light {
  animation: wackyManualLight 0.6s cubic-bezier(0.4, 0, 0.2, 1) forwards;
}
@keyframes wackyManualLight {
  0% { filter: none; transform: scale(1) rotate(0deg); }
  50% { filter: invert(0.9) hue-rotate(-90deg) saturate(2); transform: scale(1.03) rotate(-1.5deg); }
  100% { filter: none; transform: scale(1) rotate(0deg); }
}
