/* Text links use accessible foreground oranges; filled actions independently use the brighter toggle orange. */
:root{--link-default:#a84000;--link-visited:#a84000;--link-hover:#8f3600;--link-active:#762d00;--link-focus:#a84000;--link-focus-ring:var(--edu-orange-light-glow,rgb(252 115 3 / 28%))}
html[data-theme=dark]{--link-default:#ffad78;--link-visited:#ffad78;--link-hover:#ffc29d;--link-active:#ff9557;--link-focus:#ffb17a;--link-focus-ring:rgb(255 177 122 / 36%)}
@media(prefers-color-scheme:dark){html[data-theme=system]{--link-default:#ffad78;--link-visited:#ffad78;--link-hover:#ffc29d;--link-active:#ff9557;--link-focus:#ffb17a;--link-focus-ring:rgb(255 177 122 / 36%)}}

/* Deliberately do not reset text-decoration: links retain their accessibility affordance. */
:where(a[href]){color:var(--link-default)}
:where(a[href]):visited{color:var(--link-visited)}
:where(a[href]):hover{color:var(--link-hover)}
:where(a[href]):active{color:var(--link-active)}
:where(a[href]):focus-visible{color:var(--link-focus);outline:3px solid var(--link-focus);outline-offset:3px;box-shadow:0 0 0 5px var(--link-focus-ring)}

/* Registered module/entity artwork keeps its own identity colour. */
:where([data-visual-area] a){color:var(--card-accent,var(--link-default))}
:where([data-visual-area] a):visited{color:var(--card-accent,var(--link-visited))}
