/* Loaded last: the daytime palette stays in the original stylesheets. */
.theme-toggle{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-width:36px;min-height:36px;padding:8px 10px;border:1px solid var(--line);border-radius:6px;background:var(--paper);color:var(--ink);font-size:12px;white-space:nowrap;flex-shrink:0}
.theme-toggle svg{width:17px;height:17px;fill:none;stroke:currentColor;stroke-width:1.6;stroke-linecap:round;stroke-linejoin:round}
.theme-sun{display:none}
[data-theme="dark"] .theme-moon{display:none}
[data-theme="dark"] .theme-sun{display:block}
.auth-screen>.theme-toggle{position:absolute;top:18px;right:18px}
.auth-screen{padding-top:76px}
@media(max-width:1180px){.topbar .theme-toggle [data-theme-label]{display:none}.topbar .theme-toggle{padding:7px;width:36px}}
@media(max-width:680px){.topbar .theme-toggle{width:34px;min-width:34px;min-height:36px;padding:6px}}

/* Warm text on charcoal, with the novel's green and brass accents. */
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#141917;--paper:#1c221f;--panel:#181d1b;--ink:#dedfd5;--muted:#a6afa0;
  --line:#364239;--green:#a9c6ad;--green-soft:#293b2d;--gold:#d1b477;--highlight:#5a4a29;
  --night-raised:#242c26;--night-active:#36523d;--night-on-active:#eef3e6;
  --night-warm:#342f24;--night-warm-ink:#ddc493;
  --night-red:#e4b5a3;--night-red-bg:#392b27;--night-blue:#b7cbe8;--night-blue-bg:#273340;
}
[data-theme="dark"] :is(button,a):hover{filter:brightness(1.12)}
[data-theme="dark"] :is(button,a,summary,input,select,textarea):focus-visible{outline-color:var(--gold)}
[data-theme="dark"] :is(input,select,textarea){accent-color:var(--green)}
[data-theme="dark"] :is(input,textarea)::placeholder{color:#939e8f;opacity:1}
[data-theme="dark"] ::selection{background:#526644;color:#fff4d9}
[data-theme="dark"] :is(dialog,.auth-card){border-color:var(--line);box-shadow:0 25px 90px #0007}
[data-theme="dark"] dialog::backdrop{background:#080e0bb5}
[data-theme="dark"] :is(.auth-card input,[id="password-form"] input,[id="new-account-password"],.reward-progress input[type=datetime-local],.reward-recipients select){background:var(--paper);color:var(--ink);border-color:var(--line)}
[data-theme="dark"] :is(.auth-card small,.team-metrics dt){color:var(--muted)}
[data-theme="dark"] #login-error{color:#efac99}
[data-theme="dark"] :is(.button.primary,.chapter-item.active,.wb-tabs button[aria-current=page],.board-tags button.active){background:var(--night-active);border-color:#57755b;color:var(--night-on-active)}
[data-theme="dark"] :is(.button.outline,.help-button,.paragraph-note,.notes-filters select,.reader-menu[open]>summary,.reader-popover,.reader-popover .font-controls button,.reader-workflow button){border-color:var(--line)}
[data-theme="dark"] :is(.chapter-item.active .number,.chapter-item.active small){color:#d0dfc6}
[data-theme="dark"] :is(.chapter-item:hover:not(.active),.reader-popover,.workflow-note,.diff-summary span,.comparison-controls,.team-summary,.wb-context,.wb-locked,.wb-suggestions button,.wb-comment-options,.wb-task-chapter,[id="task-command"],.reward-document>summary){background:var(--night-raised)}
[data-theme="dark"] :is(.pill,.tag,.notes-heading h2 span,.global-nav b){background:var(--night-raised);color:var(--muted);border-color:var(--line)}
[data-theme="dark"] .chapter-kicker #variant-label{background:var(--night-warm);color:var(--night-warm-ink);border-color:#69593b}
[data-theme="dark"] :is(.prose,.chapter-ending h2,.section-heading h2,.stop-copy strong,.achievement-card h3,.team-editor strong,.completion-stats strong,.completion-award strong,.search-result span,.wb-diary-entry p){color:var(--ink)}
[data-theme="dark"] :is(blockquote,.comment-card blockquote,.diff-source-comment blockquote,.comparison-comment blockquote){color:#bdc6b5;border-left-color:#9f8859}
[data-theme="dark"] :is(.quiet,.connection,.sidebar-footer,.sidebar-footer small,.chapter-item .number,.chapter-item small,.view-tabs button,.view-tabs span,.reader-options button,.chapter-kicker .eyebrow,.chapter-meta,.review-button,.reader-hint,.reader-hint span,.reading-progress,.scene-break,.paragraph-number,.paragraph-note,.empty-notes,.empty-notes h3,.empty-notes .empty-icon,.workflow-note,.composer label,.composer-heading strong,.composer .draft-state,.comment-type,.comment-related,.comment-anchor,.comment-response strong,.comment-footer,.comment-actions button,.comment-card .history,.impact-check p,.impact-check button,.impact-checks>strong,.diff-context,.diff-context p,.diff-identical,.diff-labels,.diff-paragraph-label,.board-heading p,.board-view .muted,.stat span,.board-comment-header,.revision-row span,.close-notes,.profile-switch .icon-button,.notes-filters select,[id="note-position"]){color:var(--muted)}
[data-theme="dark"] :is(.global-nav button,.workbench-nav,.wb-tabs button,.reader-workflow label,.reader-workflow button,.reader-popover button,.reader-mode-label,.wb-process,.wb-content label,.wb-dialog label,.wb-dialog summary,.wb-content summary,.wb-actions>button:not(.button),.search-result strong,.comment-related button,.workflow-note strong){color:var(--green)}
[data-theme="dark"] :is(.global-nav button.active,.workbench-nav.active,.view-tabs button[aria-selected=true],.review-button.is-reviewed){color:var(--green)}
[data-theme="dark"] :is(.reading-progress>div,.mini-track,.achievement-track){background:var(--line)}
[data-theme="dark"] .reading-progress i{background:var(--green)}
[data-theme="dark"] :is(.composer,.comment-card.selected){border-color:#718563;box-shadow:0 0 0 2px #4c654035}
[data-theme="dark"] :is(.comment-response,.comparison-response,.wb-evidence-node.checked,.wb-comment-options label:has(input:checked),.wb-task-chapter-heading:has(input:checked),.wb-task-chapter-heading:has(input:indeterminate)){background:var(--green-soft);color:var(--ink);border-color:var(--line)}
[data-theme="dark"] .status{background:var(--night-warm);color:var(--night-warm-ink)}
[data-theme="dark"] .status.new{color:var(--night-warm-ink)}
[data-theme="dark"] .status.in_progress{background:var(--night-blue-bg);color:var(--night-blue)}
[data-theme="dark"] .status.discussion{background:var(--night-red-bg);color:var(--night-red)}
[data-theme="dark"] :is(.status.revised,.status.accepted){background:var(--green-soft);color:#bbd6ab}
[data-theme="dark"] :is(.board-tags button,.search-result mark,.prose .search-hit){background:var(--green-soft);color:var(--green);border-color:var(--line)}
[data-theme="dark"] .stat strong{color:var(--green)}
[data-theme="dark"] .prose mark{background:#514829;box-shadow:0 1px 0 #a18b4f}
[data-theme="dark"] .prose mark.resolved{background:#34462c;box-shadow:0 1px 0 #7e995e}
[data-theme="dark"] .prose mark.active{background:#6a542b}

/* Comparisons keep distinct, readable colours for removals and additions. */
[data-theme="dark"] :is(.comparison-dialog,.comparison-dialog .diff-labels,.comparison-controls select,.revision-note,.comparison-comment){background:var(--paper);color:var(--ink)}
[data-theme="dark"] :is(.comparison-controls,.comparison-controls select,.comparison-notes,.comparison-dialog .diff-summary,.comparison-dialog .diff-labels,.revision-note,.comparison-comment,.comparison-checks,.comparison-footer,.diff-reason-entry+.diff-reason-entry){border-color:var(--line)}
[data-theme="dark"] :is(.diff-side:first-child,.wb-pair>div){background:var(--night-red-bg)}
[data-theme="dark"] :is(.diff-side:last-child,.wb-pair>div+div){background:#283426}
[data-theme="dark"] .diff-side del{background:#634239;text-decoration-color:#dc9f89}
[data-theme="dark"] .diff-side ins{background:#425b35}
[data-theme="dark"] :is(.diff-revision-reason,.diff-reasons){background:#263027;color:var(--ink);border-color:var(--line);border-left-color:#8fae7c}
[data-theme="dark"] :is(.diff-revision-reason strong,.diff-reasons>strong,.comparison-response strong){color:var(--green)}
[data-theme="dark"] :is(.diff-source-comment,.diff-reasons>small,.comparison-controls label,.comparison-context,.comparison-dialog .diff-summary,.comparison-dialog .diff-context p,.comparison-notes summary,.comparison-notes small,.comparison-notes .muted){color:var(--muted)}
[data-theme="dark"] :is(.revision-note.selected,.variant-changes-banner,.wb-warning){background:var(--night-warm);color:var(--night-warm-ink);border-color:#69593b}
[data-theme="dark"] :is(.revision-note button,.variant-changes-banner button){color:var(--night-red)}

/* Workshop, reading progress and achievements. Artwork keeps its colours. */
[data-theme="dark"] .journey-view{background:var(--bg)}
[data-theme="dark"] :is(.route-stop,.achievement-card,.team-editor,.wb-hunk){background:var(--paper);border-color:var(--line)}
[data-theme="dark"] :is(.achievement-card.locked,.wb-diary-entry,.completion-dialog,.completion-award){background:var(--night-raised);border-color:var(--line)}
[data-theme="dark"] :is(.route-stop.complete,.team-editor.active){background:var(--green-soft);border-color:#718563}
[data-theme="dark"] .route-stop.started{background:var(--night-warm);border-color:#9f8859}
[data-theme="dark"] :is(.route-stop.started .stop-number,.route-complete){color:var(--gold)}
[data-theme="dark"] :is(.stop-number,.route-dot>span){background:var(--night-raised);border-color:#69735e;color:#bbc2ae}
[data-theme="dark"] :is(.route-stop.complete .stop-number,.route-dot.done>span){background:var(--night-active);color:var(--night-on-active);border-color:#718563}
[data-theme="dark"] .achievement-card{--rarity:#c4ab78}
[data-theme="dark"] .achievement-card.rare{--rarity:#98c1cc}
[data-theme="dark"] .achievement-card.epic{--rarity:#baa8d2}
[data-theme="dark"] .achievement-card.legendary{--rarity:#e1bd76}
[data-theme="dark"] .achievement-card.unlocked{border-color:color-mix(in srgb,var(--rarity) 55%,var(--line))}
[data-theme="dark"] :is(.journey-caption,.journey-now p,.journey-now small,.featured-relic span span,.stop-copy small,.achievement-card p,.achievement-card small,.team-editor span,.team-editor small,.team-totals,.team-summary .section-heading>span,.chapter-ending>p,.chapter-ending>small,.chapter-ending .ending-legend,.ending-route-label,.completion-stats span,.completion-stats strong small,.completion-award-description,.completion-award small.completion-award-date,.wb-hero p,.wb-heading p,.wb-empty,.wb-hint,.wb-hero-seal small,.wb-inbox-card p,.wb-inbox-card small,.reader-workflow small,[id="reader-mode-caption"],.wb-candidate-tools>span,.wb-hunk>header span,.wb-history p,.wb-evidence p,.wb-evidence small,.wb-evidence-path small,.wb-comment-options q,.wb-comment-options>p,.wb-discussion small,.wb-task p,.wb-task small,.wb-diary-entry small,.wb-recovery p){color:var(--muted)}
[data-theme="dark"] :is(.journey-mini small,.featured-relic small,.collection-count,.team-totals b,.unique-section .eyebrow,.ending-ornament,.chapter-ending>.eyebrow,.completion-awards>.eyebrow,.completion-award-description .achievement-explanation-label,.completion-award small.completion-award-meta,.wb-story-thread header small,.wb-thread>header small,.wb-task-kind,.wb-pair small,.wb-evidence-node,.wb-chapter-number){color:var(--gold)}
[data-theme="dark"] .journey-mini .badge-art{background:var(--night-warm);color:var(--gold);border-color:#69593b}
[data-theme="dark"] :is(.wb-pair,.wb-pair>div+div,.wb-suggestions button,.wb-comment-options label,.wb-diary-entry,.chapter-ending,.completion-stats,.completion-award,.completion-footer){border-color:var(--line)}
[data-theme="dark"] .completion-award.unique{background:linear-gradient(var(--night-raised),var(--night-raised)) padding-box,conic-gradient(from var(--foil-angle),#c5a56b,#8cb3bd,#ad93b6,#d9c49a,#c5a56b) border-box;border-color:transparent}
[data-theme="dark"] :is(.completion-route-note,.completion-draft-note){color:var(--night-warm-ink)!important}
[data-theme="dark"] .telegram-connected{color:var(--green)}

/* In-app documents adapt too; exported letters have separate styles. */
[data-theme="dark"] :is(.reward-document,.reward-progress input[type=datetime-local],.reward-recipients select){border-color:#69593b}
[data-theme="dark"] :is(.reward-conditions span,.reward-status){color:var(--night-warm-ink)}
[data-theme="dark"] .reward-status{background:var(--night-warm)}
[data-theme="dark"] .reward-paper{background:var(--paper);color:var(--ink)}
[data-theme="dark"] .ceremonial-letter{background:radial-gradient(ellipse at 20% 0,#5a493b44,transparent 60%),#28261f;color:#e4d8bc;box-shadow:0 12px 38px #0004}
[data-theme="dark"] :is(.ceremonial-letter>h1,.ceremonial-letter>h2,.ceremonial-letter>p:first-of-type,.ceremonial-letter>p:nth-last-of-type(3)){color:#dfc493}
[data-theme="dark"] .ceremonial-letter>p:nth-of-type(2)::first-letter{color:#e3a995}
[data-theme="dark"] :is(.ceremonial-letter>p:nth-last-of-type(2),.ceremonial-letter>p:last-of-type){color:#b9ad93}

[data-theme="dark"] .ceremonial-letter::before{color:#dfc493}
[data-theme="dark"] #task-command{background:var(--night-raised);color:var(--ink)}
[data-theme="dark"] #note-position{color:var(--muted)}
[data-theme="dark"] #password-form input,[data-theme="dark"] #new-account-password{background:var(--paper);color:var(--ink);border-color:var(--line)}
[data-theme="dark"] .notes-heading .add-note{color:var(--green)}
[data-theme="dark"] .diff-comment{background:var(--night-raised)}
