/* Shared dark-theme tokens and the theme toggle. Each page stylesheet ends with its own dark overrides. */
:root{color-scheme:light}
:root[data-theme=dark]{color-scheme:dark;--theme-bg:#121815;--theme-surface:#19211d;--theme-raised:#202a25;--theme-soft:#1d2d25;--theme-line:#2d3a33;--theme-line-strong:#3d4e45;--theme-ink:#e4ece7;--theme-muted:#a2b2a8;--theme-accent:#2f7a58;--theme-accent-hover:#3a8c67;--theme-accent-soft:#1f3a2d;--theme-accent-ink:#9fdcbb;--theme-link:#84cfa8;--theme-link-hover:#b4e8cb}
.themeToggle{display:inline-flex;align-items:center;gap:7px;padding:8px 12px;border:1px solid #cfdad3;border-radius:999px;background:transparent;color:inherit;font:inherit;font-size:13px;font-weight:600;line-height:1.2;cursor:pointer;white-space:nowrap}
.themeToggle:hover{background:#eaf1ec;border-color:#a9c2b2}
.themeToggle:focus-visible{outline:3px solid #688eaf;outline-offset:2px}
.themeToggleIcon{font-size:15px;line-height:1}
.themeToggleFloating{position:fixed;top:14px;right:16px;z-index:50;background:#fff;box-shadow:0 2px 8px #182d2214}
[data-theme=dark] .themeToggle{background:transparent;border-color:var(--theme-line-strong);color:var(--theme-ink)}
[data-theme=dark] .themeToggle:hover{background:var(--theme-raised);border-color:#5b7467}
[data-theme=dark] .themeToggleFloating{background:var(--theme-surface);box-shadow:0 2px 10px #0006}
@media(max-width:560px){.themeToggle{padding:8px 10px}.themeToggleLabel{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}}
