/* Shared feedback: quick presses, quiet hover, readable state changes. */
:root{--ease:cubic-bezier(0.23,1,0.32,1);--motion-press:160ms;--motion-state:200ms}
:is(.button,.header-action,.situation-action,.menu-toggle,.a-back,.diploma-controls button,.dv-controls button,.dv-close,.dv-thumb){transition:none}
.button:active,.button:hover svg{transform:none}
html[data-motion-input="pointer"] :is(.button,.header-action,.situation-action,.menu-toggle,.a-back,.diploma-controls button,.dv-controls button,.dv-close,.dv-thumb){transition:transform var(--motion-press) var(--ease),opacity var(--motion-press) var(--ease),background-color var(--motion-press) ease,color var(--motion-press) ease}
html[data-motion-input="pointer"] :is(.button,.header-action,.situation-action,.menu-toggle,.a-back,.diploma-controls button,.dv-controls button,.dv-close,.dv-thumb):active:not(:disabled):not([aria-disabled="true"]){transform:scale(.97);opacity:.9}
html[data-motion-input="pointer"] :is(.a-option span,.disclosure-icon,.menu-toggle svg){transition:transform var(--motion-press) var(--ease),opacity var(--motion-press) var(--ease)}
html[data-motion-input="pointer"] .a-option:active span{transform:scale(.99)}
dialog[open]{animation:none}
html:not([data-motion-input="keyboard"]) dialog{opacity:0;transform:scale(.96);transition:opacity 250ms var(--ease),transform 250ms var(--ease),display 250ms allow-discrete,overlay 250ms allow-discrete}
html:not([data-motion-input="keyboard"]) dialog[open]{opacity:1;transform:none}
html:not([data-motion-input="keyboard"]) dialog::backdrop{opacity:0;transition:opacity 250ms var(--ease),display 250ms allow-discrete,overlay 250ms allow-discrete}
html:not([data-motion-input="keyboard"]) dialog[open]::backdrop{opacity:1}
@starting-style{
  html:not([data-motion-input="keyboard"]) dialog[open]{opacity:0;transform:scale(.96)}
  html:not([data-motion-input="keyboard"]) dialog[open]::backdrop{opacity:0}
}
@media(hover:hover) and (pointer:fine){
  html:not([data-motion-input="keyboard"]) :is(.button,.header-action,.situation-action) svg{transition:transform var(--motion-press) var(--ease)}
  html:not([data-motion-input="keyboard"]) :is(.button,.header-action,.situation-action):hover:not(:disabled) svg{transform:translateX(3px)}
  html:not([data-motion-input="keyboard"]) :is(.button,.menu-toggle):hover:not(:disabled):not(:active){transform:translateY(-2px)}
  html:not([data-motion-input="keyboard"]) :is(.button,.menu-toggle){transition:transform var(--motion-press) var(--ease),opacity var(--motion-press) var(--ease),background-color var(--motion-press) ease}
}
/* Existing navigation panel grows from the burger; discrete display preserves exit. */
@media(max-width:800px){
  html:not([data-motion-input="keyboard"]) .site-header .mobile-navigation{opacity:0;transform:translateY(-8px) scale(.97);transform-origin:top right;transition:opacity var(--motion-state) var(--ease),transform var(--motion-state) var(--ease),display var(--motion-state) allow-discrete}
  html:not([data-motion-input="keyboard"]) .site-header .mobile-navigation:not([hidden]){opacity:1;transform:none}
  @starting-style{html:not([data-motion-input="keyboard"]) .site-header .mobile-navigation:not([hidden]){opacity:0;transform:translateY(-8px) scale(.97)}}
}
html[data-motion-input="keyboard"]{scroll-behavior:auto}
html[data-motion-input="keyboard"] :is(.button,.button svg,.header-action,.situation-action,.menu-toggle,.a-back,.a-option span,.disclosure-icon,.mobile-navigation,.diploma-controls button,.dv-controls button,.dv-close,.dv-thumb){transition:none!important}
html[data-motion-input="keyboard"] dialog,html[data-motion-input="keyboard"] dialog::backdrop{transition:none!important}
@media(prefers-reduced-motion:reduce){
  html :is(.button,.button svg,.header-action,.header-action svg,.situation-action,.situation-action svg,.menu-toggle,.a-back,.a-option span,.diploma-controls button,.dv-controls button,.dv-close,.dv-thumb){transform:none!important;transition:opacity var(--motion-press) var(--ease),background-color var(--motion-press) ease,color var(--motion-press) ease!important}
  html .site-header .mobile-navigation{transform:none!important;transition:opacity var(--motion-state) var(--ease),display var(--motion-state) allow-discrete!important}
  html dialog{transform:none!important;transition:opacity 200ms var(--ease),display 200ms allow-discrete,overlay 200ms allow-discrete!important}
  html dialog::backdrop{transition:opacity 200ms var(--ease),display 200ms allow-discrete,overlay 200ms allow-discrete!important}
  html[data-motion-input="keyboard"] :is(.button,.button svg,.header-action,.situation-action,.menu-toggle,.a-back,.a-option span,.mobile-navigation,.diploma-controls button,.dv-controls button,.dv-close,.dv-thumb){transition:none!important}
}
