/* Feedback and state transitions. Reading and navigation stay still. */
:root{--ui-duration-press:120ms;--ui-duration-popover:160ms;--ui-duration-dialog:240ms;--ui-ease-out:cubic-bezier(.23,1,.32,1);--ui-ease-move:cubic-bezier(.77,0,.175,1)}
button,.button,.v2-button{transition:background var(--ui-duration-press) ease,border-color var(--ui-duration-press) ease,color var(--ui-duration-press) ease,transform var(--ui-duration-press) var(--ui-ease-out)}
@media(hover:hover) and (pointer:fine){button:active:not(:disabled),.button:active,.v2-button:active{transform:translateY(1px)}}
dialog{opacity:0;transform:translateY(8px);transition:opacity var(--ui-duration-dialog) var(--ui-ease-out),transform var(--ui-duration-dialog) var(--ui-ease-out),display var(--ui-duration-dialog) allow-discrete,overlay var(--ui-duration-dialog) allow-discrete}
dialog[open]{opacity:1;transform:none}dialog::backdrop{opacity:0;transition:opacity var(--ui-duration-dialog) var(--ui-ease-out),display var(--ui-duration-dialog) allow-discrete,overlay var(--ui-duration-dialog) allow-discrete}dialog[open]::backdrop{opacity:1}
@starting-style{dialog[open]{opacity:0;transform:translateY(8px)}dialog[open]::backdrop{opacity:0}}
#toast,#kit-toast{display:flex;align-items:center;gap:20px;opacity:0;visibility:hidden;transform:translateY(8px);pointer-events:none;transition:opacity 200ms var(--ui-ease-out),transform 200ms var(--ui-ease-out),visibility 200ms}
#toast.show,#kit-toast.show{display:flex;opacity:1;visibility:visible;transform:none;pointer-events:auto}.toast-message{flex:1;overflow-wrap:anywhere}.toast-dismiss{border:0;background:transparent;padding:8px;min-width:44px;min-height:44px;flex-shrink:0}
.locale-options,.kit-dropdown-panel{transform-origin:top right;opacity:1;transform:none;transition:opacity var(--ui-duration-popover) var(--ui-ease-out),transform var(--ui-duration-popover) var(--ui-ease-out)}
@starting-style{details[open]>.locale-options,details[open]>.kit-dropdown-panel{opacity:0;transform:translateY(-4px)}}
.ui-switch:before{transition:transform var(--ui-duration-popover) var(--ui-ease-out)}
.ui-motion-track{height:4px;background:var(--ui-border);overflow:hidden}.ui-motion-track>i{display:block;height:100%;width:100%;background:var(--ui-success);transform:scaleX(0);transform-origin:left;transition:transform 240ms var(--ui-ease-out)}
.kit-pipeline .current .icon,.is-loading .icon{animation:ui-spin 1.2s linear infinite}.kit-pipeline .done .icon{color:var(--ui-success)}
html[data-input=keyboard] dialog,html[data-input=keyboard] dialog::backdrop,html[data-input=keyboard] .locale-options,html[data-input=keyboard] .kit-dropdown-panel{transition:none;transform:none}
html[data-motion=reduce] *,html[data-motion=reduce] *::before,html[data-motion=reduce] *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}
@media(prefers-reduced-motion:reduce){dialog,dialog[open],#toast,#kit-toast,.locale-options,.kit-dropdown-panel{transform:none!important}*,*::before,*::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
