:root{--link-hover:#0066cc;--link-pressed:#004f9e;--cta-surface:#edf5ff}
[data-theme=dark]{--link-hover:#75b6ff;--link-pressed:#b2d6ff;--cta-surface:#223145}
:where(nav a,.intro-aside a,.back,.next,.resume-download,.resume aside a,footer a,.name){transition:color .2s ease,text-decoration-color .2s ease,background-color .2s ease,box-shadow .2s ease,transform .2s ease;text-decoration-thickness:1px}
:where(nav a,.intro-aside a,.back,.next,.resume-download,footer a,.name){display:inline-block}
@media(hover:hover){
 :where(nav a,.intro-aside a,.back,.next,.resume-download,.resume aside a,footer a,.name):hover{color:var(--link-hover);text-decoration:underline;text-underline-offset:6px;text-decoration-thickness:2px}
 .resume-download:hover{background:var(--cta-surface);border-color:var(--link-hover);text-decoration:none;box-shadow:0 4px 14px rgba(0,102,204,.1)}
 #theme-toggle:hover,[data-theme=dark] #theme-toggle:hover{color:var(--link-hover);background:var(--cta-surface)}
 #theme-toggle:hover svg{transform:rotate(-10deg);filter:drop-shadow(0 0 3px rgba(75,150,255,.25))}
}
:where(nav a,.intro-aside a,.back,.next,.resume-download,.resume aside a,footer a,.name):active{color:var(--link-pressed);text-decoration-thickness:2px}
:where(nav a,.intro-aside a,.back,.next,.resume-download,footer a,.name):active{transform:translateY(1px)}
#theme-toggle svg{transition:transform .2s ease,filter .2s ease}
#theme-toggle:active,[data-theme=dark] #theme-toggle:active{color:var(--link-pressed);background:var(--cta-surface);transform:scale(.92)}
#theme-toggle:active svg{transform:rotate(8deg)}
:where(nav a,.intro-aside a,.back,.next,.resume-download,.resume aside a,footer a,.name):focus-visible{color:var(--link-hover);outline:2px solid var(--link-hover);outline-offset:5px;border-radius:3px}
.project:active{transform:scale(.99)}
@media(prefers-reduced-motion:reduce){a,button,#theme-toggle svg{transition:none!important}#theme-toggle:hover svg,#theme-toggle:active svg{transform:none}:where(nav a,.intro-aside a,.back,.next,.resume-download,footer a,.name):active,.project:active,#theme-toggle:active{transform:none}}
