@layer theme {
  :root[data-theme="light"] {
    color-scheme: light;
    --page: #f4f6f9;
    --surface: #ffffff;
    --line: #d9dfe8;
    --line-soft: #e6eaf0;
    --text: #1c2636;
    --muted: #58677c;
    --subtle: #65758a;
    --mint: #168465;
    --brand-wordmark: #283448;
  }

  :root[data-theme="light"] body { background: radial-gradient(ellipse at 45% -25%, #e5ebf680, transparent 65%), var(--page); }
  :root[data-theme="light"] body::before { opacity: .045; }
  :root[data-theme="light"] ::selection { color: #173653; background: #d0e1f7; }
  :root[data-theme="light"] :is(button:focus-visible, a:focus-visible, .project-card:focus-visible, .project-card:has(.project-link:focus-visible)) { outline-color: #3269ad; }
  :root[data-theme="light"] :is(.eyebrow, .learning, .learning-arrow) { color: var(--subtle); }
  :root[data-theme="light"] .count-dot { background: #7289a9; }
  :root[data-theme="light"] .filter { color: #596a80; background: #ffffff80; }
  :root[data-theme="light"] .filter:hover { color: var(--text); border-color: #acbbcf; background: #e8edf5; }
  :root[data-theme="light"] .filter.is-active { color: #fff; border-color: #25354c; background: #25354c; box-shadow: 0 3px 12px #25354c1a; }
  :root[data-theme="light"] :is(.search-trigger, .view-trigger, .category-more) { background: #ffffffa8; }
  :root[data-theme="light"] :is(.search-trigger:hover, .view-trigger:hover, .view-trigger[aria-expanded="true"], .category-more:hover, .category-more[aria-expanded="true"]) { background: #e9eef6; border-color: #aabbd2; }
  :root[data-theme="light"] kbd { background: #f4f6fa; border-color: #d6deea; color: #64748a; }

  :root[data-theme="light"] .project-card { background: var(--surface); box-shadow: 0 2px 5px #24395103; }
  :root[data-theme="light"] .project-card:hover { border-color: #a6b7cc; box-shadow: 0 8px 25px #253b5310; }
  :root[data-theme="light"] .project-card.is-highlighted { border-color: #5888c3; box-shadow: 0 0 0 3px #5488c322, 0 8px 30px #5488c311; }
  :root[data-theme="light"] .project-description { color: #5b6c82; }
  :root[data-theme="light"] :is(.tech-chip, .tool-chip) { color: #40516a; background: #f5f7fb; }
  :root[data-theme="light"] .learning > span:first-child { background: #15956d; box-shadow: 0 0 9px #15956d26; }

  :root[data-theme="light"] .toggle-track { border-color: #b5c1d0; background: #dfe5ee; }
  :root[data-theme="light"] .toggle-track > span { background: #7a8ba2; }
  :root[data-theme="light"] .deployed-toggle[aria-pressed="true"] { color: #217252; }
  :root[data-theme="light"] :is(.deployed-toggle[aria-pressed="true"], .detail-toggle[aria-checked="true"]) .toggle-track { border-color: #237e5f; background: #278868; }
  :root[data-theme="light"] :is(.deployed-toggle[aria-pressed="true"], .detail-toggle[aria-checked="true"]) .toggle-track > span { background: #f2fff9; }
  :root[data-theme="light"] :is(.view-panel, .category-panel) { background: #fff; border-color: #cbd5e3; box-shadow: 0 15px 45px #243b5726, 0 1px 3px #243b5708; }
  :root[data-theme="light"] .category-search { background: #f5f7fb; border-color: #d2dce9; }
  :root[data-theme="light"] .category-search:focus-within { border-color: #708eb9; }
  :root[data-theme="light"] .category-option:hover { background: #f0f4fa; }
  :root[data-theme="light"] .category-option[aria-pressed="true"] { background: #edf3fb; border-color: #cad9ec; }
  :root[data-theme="light"] .category-option-check { color: #3e6c9f; }
  :root[data-theme="light"] :is(.column-options, .density-options, .theme-options) { background: #edf1f6; }
  :root[data-theme="light"] .view-setting button { color: #586b84; }
  :root[data-theme="light"] .view-setting button:hover { color: var(--text); background: #e0e7f1; }
  :root[data-theme="light"] .view-setting button[aria-pressed="true"] { color: #253953; background: #fff; border-color: #c5d1e2; box-shadow: 0 1px 4px #3448670d; }
  :root[data-theme="light"] .view-setting .detail-toggle:hover { background: transparent; }

  :root[data-theme="light"] .gallery-empty { border-color: #c7d3e3; background: #ffffff70; }
  :root[data-theme="light"] .gallery-empty-icon { color: #71849e; background: #eaf0f8; border-color: #d5dfeb; }
  :root[data-theme="light"] .gallery-empty button { background: #fff; border-color: #c4d1e2; color: #355477; }
  :root[data-theme="light"] .gallery-empty button:hover { background: #e6edf7; border-color: #93accb; }

  :root[data-theme="light"] .command-dialog { background: #fff; border-color: #c8d3e2; box-shadow: 0 30px 100px #23374e35, 0 2px 6px #23374e08; }
  :root[data-theme="light"] .command-dialog::backdrop { background: #d9e1edaa; }
  :root[data-theme="light"] .command-input-row { border-color: var(--line-soft); }
  :root[data-theme="light"] :is(.command-input-row > span, .command-results-heading, .command-project-description, .command-project-category, .command-result-action, .command-empty > span) { color: #65768e; }
  :root[data-theme="light"] #command-input { caret-color: #3269ad; }
  :root[data-theme="light"] #command-input::placeholder { color: #748298; }
  :root[data-theme="light"] .command-close:hover kbd { color: #2c4868; background: #e8edf6; }
  :root[data-theme="light"] .command-results { scrollbar-color: #c0cddd transparent; }
  :root[data-theme="light"] .command-result[aria-selected="true"] { background: #edf3fb; border-color: #cad9ec; }
  :root[data-theme="light"] .command-project-icon { background: #e8eff9; border-color: #d7e1ef; }
  :root[data-theme="light"] .command-tone-green { background: #e6f4ec; border-color: #d4e8dc; }
  :root[data-theme="light"] .command-tone-amber { background: #f8efe2; border-color: #eddfc9; }
  :root[data-theme="light"] .command-tone-purple { background: #eee9f9; border-color: #dfd7f1; }
  :root[data-theme="light"] .command-tone-rose { background: #f9e9ed; border-color: #efd6dd; }
  :root[data-theme="light"] .command-tone-neutral { background: #f4f6f9; border-color: var(--line); }
  :root[data-theme="light"] .command-footer { color: #65758b; background: #f7f9fc; border-color: var(--line-soft); }

  /* Dark artwork keeps its original colors; topic icons get stronger contrast. */
  :root[data-theme="light"] :is(.project-tags, .command-project-icon) .icon-globe { color: #087f82; }
  :root[data-theme="light"] .project-tags .icon-chart { color: #387faa; }
  :root[data-theme="light"] .project-tags .icon-palette { color: #8151ba; }
  :root[data-theme="light"] .project-tags :is(.icon-cloud, .icon-users, .icon-graduation) { color: #157daf; }
  :root[data-theme="light"] :is(.project-tags, .command-project-icon) :is(.icon-phone, .icon-sparkles, .icon-flask) { color: #7759c2; }
  :root[data-theme="light"] .project-tags :is(.icon-heart, .icon-pin) { color: #b24073; }
  :root[data-theme="light"] .project-tags .icon-database { color: #337fca; }
  :root[data-theme="light"] .project-tags .icon-lock { color: #5a6a80; }
  :root[data-theme="light"] :is(.project-tags, .command-project-icon) .icon-desktop { color: #c44664; }
  :root[data-theme="light"] [data-project="visionlab"] .project-tags .icon-sparkles { color: #a9407b; }
}
