body.objects-colors{--paper:var(--object-paper);--muted:var(--object-muted);--ink:var(--object-ink);--accent:var(--object-accent);--line:var(--object-line);--soft:var(--object-soft);--on-ink:var(--object-on-ink)}
[data-page="objects"] :is(figcaption,.object-meta,.eyebrow,.project-facts dt,.section-nav a,.objects-index small),body.objects-colors .site-footer{transition:color 800ms cubic-bezier(.22,.61,.36,1)}
/* Scroll sets the destination; time-based easing softens even abrupt jumps. */
body,.site-header{transition:background-color 800ms cubic-bezier(.22,.61,.36,1)}
@media(prefers-reduced-motion:reduce){body,.site-header{transition:none}}
@media(prefers-reduced-motion:reduce){[data-page="objects"] :is(figcaption,.object-meta,.eyebrow,.project-facts dt,.section-nav a,.objects-index small),body.objects-colors .site-footer{transition:none}}

/* The overview and project sections switch the complete interface theme together. */
body.objects-colors .objects-index>a{color:var(--ink)}
body.objects-colors .objects-index>a>small{color:var(--muted)}
body.objects-colors ::selection{background:var(--accent);color:var(--on-ink)}
body.objects-light-scheme .appearance{background:var(--paper);color:var(--ink);border-color:var(--line)}
body.objects-light-scheme .appearance :is(input,button){background:var(--soft);color:var(--ink);border-color:var(--line)}
body.objects-light-scheme .appearance button[aria-pressed=true]{background:var(--accent);color:var(--on-ink);border-color:var(--accent)}
body.objects-light-scheme .appearance-hint{color:var(--muted)}
body.objects-light-scheme .appearance :is(summary,input,button):focus-visible{outline-color:var(--accent)}
