.theme-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  min-width: 79px;
  padding: 8px 10px;
  border: 1px solid var(--line);
  border-radius: 5px;
  background: var(--paper);
  color: var(--ink);
  font: 600 11px/1.2 'DM Sans', Arial, sans-serif;
  white-space: nowrap;
}
.theme-toggle:hover { background: var(--soft); }
.theme-icon { font: 20px/1 Arial, sans-serif; width: 20px; text-align: center; }
:root[data-theme="light"] { color-scheme: light; }
@media (max-width: 700px) {
  .theme-toggle { min-width: 34px; width: 34px; height: 34px; padding: 0; }
  .theme-label { display: none; }
}

:root[data-theme="dark"] {
  color-scheme: dark;
  --bg: #151c18;
  --paper: #1d2620;
  --ink: #edf3ec;
  --muted: #a7b5a9;
  --line: #3a493e;
  --accent: #ff9674;
  --soft: #28362d;
  --sage: #2d4032;
  --salmon: #49322d;
}
[data-theme="dark"] body { background: var(--bg); }
[data-theme="dark"] .side-link { color: #b9c7ba; }
[data-theme="dark"] .side-link:hover { background: #243129; color: var(--ink); }
[data-theme="dark"] .side-link.active { background: #342d27; color: var(--accent); }
[data-theme="dark"] .side-link .check { color: #9fc78e; }
[data-theme="dark"] .progress-track { background: #3a493e; }
[data-theme="dark"] .btn { background: var(--accent); border-color: var(--accent); color: #1b211d; }
[data-theme="dark"] .btn:hover { background: #ffad91; }
[data-theme="dark"] .btn.secondary { background: transparent; color: var(--ink); border-color: #627466; }
[data-theme="dark"] .btn.secondary:hover { background: var(--soft); }
[data-theme="dark"] .brand-icon { color: #1b211d; }
[data-theme="dark"] .architecture { background-image: radial-gradient(#b4756260 .7px, transparent .7px); }
[data-theme="dark"] .system-frame { background: #342822; border-color: #936e5c; }
[data-theme="dark"] .frame-label { background: #49322d; }
[data-theme="dark"] .diagram-node { background: #2d332b; border-color: #8e806c; box-shadow: 0 3px 0 #080b0826; }
[data-theme="dark"] .diagram-node:hover { background: #3d463a; }
[data-theme="dark"] .diagram-node.model { background: #f0c3aa; border-color: #f0c3aa; color: #20261f; }
[data-theme="dark"] .connector, [data-theme="dark"] .diagram-caption { color: #d3aa98; }
[data-theme="dark"] .diagram-small { border-color: #896454; }
[data-theme="dark"] .chapter, [data-theme="dark"] .project-card, [data-theme="dark"] .calculator { background: var(--paper); }
[data-theme="dark"] .chapter-number { border-color: var(--line); }
[data-theme="dark"] .feature { background: #26352b; color: var(--ink); border: 1px solid #3d5743; }
[data-theme="dark"] .feature .eyebrow, [data-theme="dark"] .feature p { color: #bdcbbb; }
[data-theme="dark"] .feature .btn { background: #eab79a; color: #1c241e; border-color: #eab79a; }
[data-theme="dark"] .badge, [data-theme="dark"] .steps li:before { background: #29382e; border-color: var(--line); }
[data-theme="dark"] .article p, [data-theme="dark"] .steps li, [data-theme="dark"] .tip-list { color: #c1cec2; }
[data-theme="dark"] .analogy, [data-theme="dark"] .mentor-walkthrough, [data-theme="dark"] .project-mentor { background: #26372b; border-color: #66836b; }
[data-theme="dark"] .analogy .eyebrow, [data-theme="dark"] .analogy p { color: #c4d7c0; }
[data-theme="dark"] .mentor-verify { border-color: #49644f; }
[data-theme="dark"] .apply-box, [data-theme="dark"] .playground { background: #202b24; border-color: var(--line); }
[data-theme="dark"] .quiz { background: #382d26; border-color: #755b4c; }
[data-theme="dark"] .quiz-option { background: #2b2e29; border-color: #71695b; color: var(--ink); }
[data-theme="dark"] .quiz-option:hover { border-color: #b89a7c; }
[data-theme="dark"] .quiz-option.correct { background: #294832; border-color: #78a985; }
[data-theme="dark"] .quiz-option.wrong { background: #4d302c; border-color: #df927b; }
[data-theme="dark"] .source-list a, [data-theme="dark"] .usecase dd { color: #c1cec2; }
[data-theme="dark"] .filter.active, [data-theme="dark"] .art-node.dark { background: var(--accent); color: #1b211d; border-color: var(--accent); }
[data-theme="dark"] .project-visual { background: #304033; }
[data-theme="dark"] .project-card:nth-child(3n+2) .project-visual { background: #4b362f; }
[data-theme="dark"] .project-card:nth-child(3n) .project-visual { background: #2e3f3c; }
[data-theme="dark"] .art-node { background: #26342c; border-color: #708472; }
[data-theme="dark"] .banner, [data-theme="dark"] .team-home-callout { background: #28392d; border-color: #526851; }
[data-theme="dark"] .banner p { color: #c4d5c2; }
[data-theme="dark"] .calc-grid input, [data-theme="dark"] .playground select { background: #18211b; color: var(--ink); border-color: #5a6f5d; }
[data-theme="dark"] .calc-result { background: #2d4032; color: var(--ink); }
[data-theme="dark"] .calc-result span { color: #c5d4c2; }
[data-theme="dark"] .route-links a { background: #243429; border-color: #5a715a; }
[data-theme="dark"] th { background: #28372d; }
[data-theme="dark"] td { border-color: var(--line); }
[data-theme="dark"] .skip { background: var(--paper); }
[data-theme="dark"] dialog { border-color: var(--line); }
[data-theme="dark"] #search-input { color: var(--ink); }
[data-theme="dark"] .toast { background: #eac1aa; color: #1b211d; }
[data-theme="dark"] .team-principle { background: #46322d; border-color: #785444; }
[data-theme="dark"] .team-principle p { color: #e6c4b5; }
[data-theme="dark"] .team-flow span { background: #342e27; border-color: #8d725e; }
[data-theme="dark"] .team-flow span.dark { background: #eac1aa; color: #1b211d; border-color: #eac1aa; }
[data-theme="dark"] .team-flow b { color: #d6a88d; }
[data-theme="dark"] .playground label, [data-theme="dark"] .pipeline-node>span { color: #a8bca9; }
[data-theme="dark"] .pipeline-node { background: #28372d; border-color: #526b54; }
[data-theme="dark"] .pipeline-node.ok, [data-theme="dark"] .evolution-verdict.ok { background: #294732; border-color: #78a985; }
[data-theme="dark"] .pipeline-node.error { background: #49312d; border-color: #c78270; }
[data-theme="dark"] .pipeline-node.waiting { background: #4b3e2a; border-color: #b89b60; }
[data-theme="dark"] .event-log, [data-theme="dark"] .npc-observations .event-log, [data-theme="dark"] .npc-observations ol { background: #19251e; border-color: #4b5c4e; }
[data-theme="dark"] .log-entry strong { color: #a6d198; }
[data-theme="dark"] .log-entry.error strong { color: #ffa58d; }
[data-theme="dark"] .log-entry p, [data-theme="dark"] .world-event, [data-theme="dark"] .npc-observations ol, [data-theme="dark"] .evolution-box>p { color: #c3d0bd; }
[data-theme="dark"] .playground-foot, [data-theme="dark"] .evolution-box { border-color: var(--line); }
[data-theme="dark"] .npc-playground { background: #2f2925; border-color: #645044; }
[data-theme="dark"] .world-map { background-color: #413b2b; border-color: #81775d; background-image: radial-gradient(#d1c09144 .7px, transparent .7px); }
[data-theme="dark"] .world-place>span { background: #302f25; border-color: #8a8265; color: #d9d0a6; }
[data-theme="dark"] .world-place.occupied>span { background: var(--accent); color: #1b211d; border-color: var(--accent); }
[data-theme="dark"] .world-place small { color: #d0c2a1; }
[data-theme="dark"] .character-glyph { background: #46553a; border-color: #83916c; }
[data-theme="dark"] .world-event { border-color: #5a5448; }
[data-theme="dark"] .evolution-verdict { background: #49352c; border-color: #ad8168; }
