.theme-controls { display: grid; gap: 12px; }
.page-navigation-control { display: flex; align-items: center; justify-content: space-between; gap: 12px; font-size: 13px; font-weight: 600; }
.settings-toggle-button { min-width: 112px; font-size: 13px; }
/* One button shows the active language; the other choices live in a popup. */
.settings-language-picker { position: relative; display: inline-flex; }
.settings-language-picker > button::after { content: "\25be"; margin-left: 6px; font-size: 11px; }
.settings-language-picker > button[aria-expanded="true"] { border-color: var(--accent); color: var(--accent); }
.settings-language-menu { position: absolute; top: calc(100% + 4px); right: 0; z-index: 40; display: grid; gap: 4px; padding: 6px; border: 1px solid var(--line); border-radius: 6px; background: var(--panel); box-shadow: 0 10px 24px rgb(0 0 0 / 18%); }
.settings-language-menu[hidden] { display: none; }
.settings-language-menu button { min-width: 132px; justify-content: flex-start; text-align: left; white-space: nowrap; }
.settings-language-menu button[aria-checked="true"] { border-color: var(--accent-strong); background: var(--accent-strong); color: #fff; }
.misc-settings-controls { display: grid; gap: 18px; }
.misc-setting-group { display: grid; gap: 8px; }
.misc-setting-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.misc-setting-group h3 { margin: 0; font-size: 14px; }
.theme-controls label { display: grid; gap: 6px; font-size: 13px; font-weight: 600; }
#themeModeSelect { width: 112px; min-width: 112px; min-height: 38px; padding: 0 10px; border: 1px solid var(--line); color: var(--accent); font-size: 13px; font-weight: 600; text-align: center; text-align-last: center; }
#themeModeSelect option { color: var(--accent); font-size: 13px; font-weight: 600; text-align: center; }
.theme-mode-row { display: grid; grid-template-columns: max-content 112px; justify-content: space-between; gap: 12px; align-items: center; }
.theme-controls .theme-mode-row label { display: block; white-space: nowrap; }
.theme-controls .theme-mode-row select { width: 100%; }
.theme-custom-controls { display: grid; grid-template-columns: 44px minmax(0, 1fr); gap: 12px; align-items: end; }
.theme-custom-controls[hidden] { display: none; }
.theme-controls input[type="color"] { width: 44px; height: 40px; padding: 3px; cursor: pointer; }
.theme-rgb { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.theme-rgb input { width: 100%; min-width: 0; }
.theme-note { color: var(--muted); font-size: 12px; line-height: 1.6; }
body[data-theme-module="technology"] :is(.topbar, .tab, .tool-btn, .tool-check, .search, .cycle-select, .account-select, .tree-wrap) { background: var(--panel); }
body[data-theme-module="technology"] :is(.tab.active, .tool-btn.active, .tool-btn.return-main) { background: var(--accent-strong); border-color: var(--accent-strong); color: #fff; }
body[data-theme-module="technology"] .tool-btn.return-main:hover { background: var(--accent); }
body[data-theme-dark] { background: var(--bg); }
body[data-theme-dark] .story-view { background: var(--bg); }
body[data-theme-dark] .story-card { background: var(--panel); border-color: var(--line); }
body[data-theme-dark] .story-card-head { border-color: var(--line); }
body[data-theme-dark] :is(.story-book-title, .story-section, .story-entry-id) { color: var(--accent); }
