/* Foreground and surface tokens stay separate in both palettes. */
:root{--muted:#60695b;--surface:#e9ece1;--raised:#e7e9da;--accent-text:#526332;--accent-ink:#1d241e;--on-dark:#f4f2e9;--control-border:#858d7b;--button-bg:#1d241e;--button-text:#f4f2e9}
:root[data-theme="dark"]{--paper:#121b16;--ink:#edf1e5;--muted:#b4bead;--line:#3f5043;--surface:#1b281f;--raised:#29382b;--acid:#dff36c;--accent-text:#bad98a;--control-border:#8b9c83;--button-bg:#dff36c;--button-text:#1d241e}
.header-actions{display:flex;align-items:center;gap:22px}
.theme-toggle{width:40px;height:40px;flex:none;display:grid;place-items:center;background:transparent;color:var(--ink);border:1px solid var(--control-border);border-radius:50%;padding:9px;transition:transform .2s,background .2s}
.theme-toggle:hover{background:var(--raised);transform:rotate(-12deg)}
.theme-toggle svg{width:19px;height:19px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}
.theme-sun{display:none}:root[data-theme="dark"] .theme-sun{display:block}:root[data-theme="dark"] .theme-moon{display:none}
::selection{background:var(--acid);color:var(--accent-ink)}
:focus-visible{outline-color:var(--accent-text)}
.brand-dot,.hero h1 .serif,nav a:hover,.project:hover .project-destination{color:var(--accent-text)}
nav .nav-contact,.discipline-strip,.gallery{background:var(--surface)}
.discipline-strip span{color:var(--accent-text)}
.dark{background:var(--button-bg);color:var(--button-text)}.dark:hover{background:var(--button-bg);filter:brightness(1.12)}
.accent,.accent:hover,.skip-link,.portrait-index,.portrait-sticker{color:var(--accent-ink)}
.project-filters button{border-color:var(--control-border)}
.project-filters button[aria-pressed="true"]{background:#314d39;border-color:#314d39;color:#f4f2e9}
:root[data-theme="dark"] .project-filters button[aria-pressed="true"]{background:var(--acid);border-color:var(--acid);color:var(--accent-ink)}
.project-arrow{background:#f4f2e9;color:#1d241e}.award-number>span{background:var(--raised)}
.about,.contact,.playbook{color:var(--on-dark)}
.about-story .large-copy,.playbook-copy .text-link,.contact input,.contact textarea{color:var(--on-dark)}
.contact input,.contact textarea{border-bottom-color:#8b9c83}
.playbook-steps span,.visual-caption{color:#a6b59a}.line-number{color:#98ad91}
dialog{background:#18231e;color:var(--on-dark);border:1px solid #8b9c83}dialog p,.viewer-close{color:var(--on-dark)}
.viewer-close{border-color:#8b9c83}
:root[data-theme="dark"] .about{background:#1b251c}
:root[data-theme="dark"] .contact{background:#18231c}
:root[data-theme="dark"] .text-link{border-color:var(--control-border)}
@media(max-width:1100px){.header-actions{gap:15px}nav{gap:20px}}
@media(max-width:900px) and (min-width:761px){nav{gap:14px}.header-actions{gap:12px}nav .nav-contact{padding-inline:13px}}
@media(max-width:760px){.header-actions{gap:12px}.theme-toggle{width:36px;height:36px;padding:8px}.menu-toggle{border-color:var(--control-border)}}
/* Honor the device's higher contrast setting without another menu. */
@media(prefers-contrast:more){:root{--muted:#424c3b;--line:#858d7b;--control-border:#526332}:root[data-theme="dark"]{--muted:#dde5d6;--line:#8b9c83;--control-border:#bad98a}.about p,.contact p,.contact-details,.experience-row>.mono,.toolkit>div>.mono,.playbook-description,.playbook-phase,.playbook-scroll,.chapter-companion>.mono{color:#dde5d6}.toolkit>div,.experience-row{border-color:#8b9c83}}
@media(forced-colors:active){.theme-toggle{border:1px solid ButtonText}.theme-toggle svg{stroke:ButtonText}}
