/* Emil Kowalski: immediate feedback, restrained motion, explicit properties. */
:root{--ease-out:cubic-bezier(.23,1,.32,1);--preview-accent:#087f65}
button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}
button{transition:transform 140ms var(--ease-out),background-color 140ms ease,color 140ms ease,border-color 140ms ease;touch-action:manipulation}
button:active:not(:disabled){transform:scale(.97)}
button:focus-visible,a:focus-visible,summary:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #29a887;outline-offset:3px}
button:disabled{cursor:default}
input,select,textarea{accent-color:var(--preview-accent)}
dialog{box-shadow:0 24px 100px #101c2933!important}
dialog::backdrop{background:#101c2966!important;backdrop-filter:blur(3px)}
body:not([data-keyboard=true]) dialog[open]{animation:preview-dialog 210ms var(--ease-out)}
@keyframes preview-dialog{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
body[data-keyboard=true] button,body[data-keyboard=true] a{transition:none}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
