/* One contour owns the press: preserve brand material and hit geometry. */
body :is(a[href],button,summary,input:is([type="button"],[type="submit"],[type="reset"]),[role="button"],[role="tab"]) {
 touch-action:manipulation;-webkit-tap-highlight-color:transparent;
 transition-property:filter,box-shadow,background-color,border-color,color,transform,scale,translate;
 transition-duration:var(--motion-fast,180ms);
 transition-timing-function:var(--ease-standard,cubic-bezier(.22,1,.36,1));
}
body :is(a[href],button,summary,input:is([type="button"],[type="submit"],[type="reset"]),[role="button"],[role="tab"]):is(:active,.is-glass-pressed):not(:disabled):not([aria-disabled="true"]) {
 box-shadow:inset 0 2px 6px #102b3833,inset 0 -1px 1px #ffffff33;
 filter:brightness(.94) saturate(1.04);
 transform:none;scale:1;translate:none;
 transition-duration:var(--motion-instant,90ms);
}
body .is-control-contact-host {position:relative}
body .glass-reflection {
 position:absolute;display:block;pointer-events:none;overflow:hidden;inset:0;border-radius:inherit;scale:1!important;translate:none!important;transform:none;box-shadow:none;
 background:radial-gradient(circle at var(--touch-x,50%) var(--touch-y,50%),#ffffff20,transparent 70%);
 animation:yl-control-contact 280ms var(--ease-standard,cubic-bezier(.22,1,.36,1)) both;
}
body .glass-reflection::after {content:none}
@keyframes yl-control-contact {from{opacity:.8}to{opacity:0}}
@media(prefers-reduced-motion:reduce){
 body :is(a[href],button,summary,input:is([type="button"],[type="submit"],[type="reset"]),[role="button"],[role="tab"]){transition:none}
 body .glass-reflection{animation:none}
}
@media(forced-colors:active){
 body :is(a[href],button,summary,input:is([type="button"],[type="submit"],[type="reset"]),[role="button"],[role="tab"]):is(:active,.is-glass-pressed){filter:none;box-shadow:none;border-color:Highlight;outline:2px solid Highlight;outline-offset:-3px}
 body :is(a[href],button,summary,input:is([type="button"],[type="submit"],[type="reset"]),[role="button"],[role="tab"]):focus-visible{outline:3px solid Highlight;outline-offset:3px}
 body .glass-reflection{display:none}
}
/* Tactile return spring: CSS provides immediate contact; the existing delegate owns release.
   Keep the hit target stationary, including its hover state, until native activation completes. */
:root{--yl-tactile-return:280ms;--yl-tactile-ease:cubic-bezier(.2,1.45,.35,1)}
body :is(.button,.menu-trigger,.nav-search,.icon-button,.studio-submit,.studio-close,.search-topic,.yl-act):is(:hover,:active,.is-glass-pressed){transform:none;scale:1;translate:none}
@media (hover:hover) and (pointer:fine) and (prefers-reduced-motion:no-preference) and (forced-colors:none){
 html:not([data-yl-motion="off"]):not([data-yl-tactile="off"]) body:not([data-ann-motion="off"]) :is(.button,.menu-trigger,.nav-search,.icon-button,.studio-submit,.studio-close,.search-topic,.yl-act):hover:not(:active):not(.is-glass-pressed):not(:disabled):not([aria-disabled="true"]):not([aria-busy="true"]){
  box-shadow:inset 0 1px 0 #ffffffa8,0 4px 14px #102b3826;
 }
}
/* Disable spatial animation without disabling native controls or their focus rings. */
html:is([data-yl-motion="off"],[data-yl-tactile="off"]) body .glass-reflection,
body[data-ann-motion="off"] .glass-reflection{display:none}
html:is([data-yl-motion="off"],[data-yl-tactile="off"]) body :is(a[href],button,summary,input,[role="button"],[role="tab"]),
body[data-ann-motion="off"] :is(a[href],button,summary,input,[role="button"],[role="tab"]){scale:1!important;translate:none!important;transition:none!important}
/* Existing native dialog owns focus/close; entry never defers an operation. */
@media(prefers-reduced-motion:no-preference) and (forced-colors:none){
 html:not([data-yl-motion="off"]):not([data-yl-tactile="off"]) #search-studio[open] .studio-shell{
  transform-origin:50% 12%;animation:yl-search-tactile-enter 280ms cubic-bezier(.2,1.3,.35,1) both;
 }
}
@keyframes yl-search-tactile-enter{from{opacity:.5;translate:0 8px;scale:.985}to{opacity:1;translate:0 0;scale:1}}
@media(prefers-reduced-motion:reduce),(forced-colors:active){
 body :is(a[href],button,summary,input,[role="button"],[role="tab"]){scale:1!important;translate:none!important;transition:none!important}
 #search-studio[open] .studio-shell{animation:none}
}
html:is([data-yl-motion="off"],[data-yl-tactile="off"]) #search-studio[open] .studio-shell{animation:none}


