:root{--ease-out:cubic-bezier(0.23,1,0.32,1);--ease-in-out:cubic-bezier(0.77,0,0.175,1);--motion-press:160ms;--motion-detail:240ms}
.theme-orbit{position:relative;display:block;width:24px;height:24px;flex-shrink:0}
.theme-orbit svg{position:absolute;inset:0;width:24px;height:24px;transition:transform var(--motion-detail) var(--ease-out),opacity var(--motion-detail) ease}
.theme-moon{opacity:0;transform:rotate(-35deg) scale(.9)}
.theme-stars{position:absolute;right:-7px;top:-4px;width:13px;height:14px;opacity:0;transition:opacity var(--motion-detail) ease}
[data-theme="dark"] .theme-sun{opacity:0;transform:rotate(35deg) scale(.9)}
[data-theme="dark"] .theme-moon{opacity:1;transform:rotate(0) scale(1)}
[data-theme="dark"] .theme-stars{opacity:1}
.theme-toggle{min-width:128px;gap:13px;transition:transform var(--motion-press) var(--ease-out)}
.theme-toggle:active{transform:scale(.97)}
.theme-reveal::view-transition-old(root),.theme-reveal::view-transition-new(root){animation:none;mix-blend-mode:normal}
.theme-reveal::view-transition-image-pair(root){isolation:auto}
.theme-reveal::view-transition-new(root){z-index:2}
.theme-reveal::view-transition-old(root){z-index:1}
::view-transition{pointer-events:none}
nav>a{position:relative}
nav>a:after{content:'';position:absolute;bottom:-6px;left:0;right:0;height:1px;background:currentColor;transform:scaleX(0);transform-origin:left;transition:transform var(--motion-detail) var(--ease-out)}
@media(hover:hover) and (pointer:fine){
 nav>a:hover:after{transform:scaleX(1)}
 .theme-toggle:hover{background:transparent;color:var(--ink)}
 .theme-toggle:hover .theme-sun{transform:rotate(30deg)}
 [data-theme="dark"] .theme-toggle:hover .theme-sun{transform:rotate(35deg) scale(.9)}
 .brand img{transition:transform var(--motion-detail) var(--ease-out)}
 .brand:hover img{transform:translate3d(2px,-2px,0)}
}
@media(max-width:760px){.theme-toggle{min-width:44px;width:44px;height:44px;padding:9px;gap:0}.theme-label{display:none}.theme-orbit{width:22px;height:22px}.theme-orbit svg{width:22px;height:22px}}
@media(prefers-reduced-motion:reduce){
 .theme-toggle,.theme-orbit svg,.theme-stars,nav>a:after,.brand img{transition:none!important}
 .theme-toggle:active,.brand:hover img{transform:none}
}
