/* Short feedback transitions, without intercepting native touch or wheel scrolling. */
body.warm-modern :is(button,a.fileLabel,input,select,textarea){
 transition:background-color 140ms ease,border-color 140ms ease,color 140ms ease,box-shadow 140ms ease,opacity 140ms ease;
}
body.warm-modern :is(button,a.fileLabel){touch-action:manipulation;-webkit-tap-highlight-color:transparent}
body.warm-modern button:enabled:active{filter:brightness(.92)}
body.warm-modern button[aria-busy=true]{cursor:progress;opacity:.72}
body.warm-modern :is(button,a,input,select,textarea):focus-visible{outline:2px solid var(--workspace-accent,#bd9866);outline-offset:3px}
body.warm-modern :is(.chat-scroll,#view,aside nav,dialog){overscroll-behavior-y:contain;scrollbar-gutter:stable}
body.warm-modern dialog[open]{animation:psk-panel-in 180ms cubic-bezier(.2,.7,.2,1)}
body.warm-modern :is(.psk-context-menu,.vs-menu-panel){animation:psk-menu-in 120ms ease-out}
@keyframes psk-panel-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}
@keyframes psk-menu-in{from{opacity:0}to{opacity:1}}
@media(max-width:1050px){
 body.warm-modern>aside{transition:transform 220ms cubic-bezier(.2,.7,.2,1),visibility 220ms!important}
}
@media(max-width:650px){
 body.warm-modern :is(nav button,.voice-output,.mobile-priority,.phone-home-actions button,dialog button){min-height:44px!important}
 body.warm-modern[data-screen=chats] .composer{grid-template-columns:44px minmax(0,1fr) 44px 44px!important;gap:4px!important}
 body.warm-modern[data-screen=chats] .composer :is(button,.voice-button){width:44px!important;min-width:44px!important;height:44px!important;min-height:44px!important}
 body.warm-modern[data-screen=chats] .composer textarea{font-size:16px!important}
}
@media(prefers-reduced-motion:reduce){
 body.warm-modern :is(button,a,input,select,textarea,aside,dialog,.psk-context-menu,.vs-menu-panel){animation:none!important;transition:none!important;scroll-behavior:auto!important}
}
