/* A small shared rhythm; the existing ORBE surfaces and palette stay unchanged. */
:root{--motion-response:120ms;--motion-enter:220ms;--motion-exit:140ms;--motion-ease:cubic-bezier(.16,1,.3,1)}


 body.space-motion :is(.primary,.secondary,.text-button,.icon-button,.theme-toggle,.notifications-trigger,.sidebar nav a,.identity-profile,.identity-settings){
  transition:background-color var(--motion-response) ease,color var(--motion-response) ease,border-color var(--motion-response) ease,transform var(--motion-response) var(--motion-ease);
 }
 body.space-motion :is(.primary,.secondary,.text-button,.icon-button,.theme-toggle,.notifications-trigger):not(:disabled):active{transform:translateY(1px)}
 body.space-motion :is(input,select,textarea){transition:border-color var(--motion-response) ease,background-color var(--motion-response) ease}
 body.space-motion #notice:not([hidden]){animation:orbe-notice-in 180ms var(--motion-ease)}
 @keyframes orbe-notice-in{from{opacity:.65;transform:translateY(-3px)}to{opacity:1;transform:none}}

 /* Native close/focus remain synchronous. Unsupported browsers simply open/close normally. */
 @supports(transition-behavior:allow-discrete){
  body.space-motion #panel{
   opacity:0;transform:translateY(6px) scale(.99);
   transition:opacity var(--motion-exit) ease,transform var(--motion-exit) ease,display var(--motion-exit) allow-discrete,overlay var(--motion-exit) allow-discrete;
  }
  body.space-motion #panel[open]{
   opacity:1;transform:none;
   transition-duration:var(--motion-enter);
   transition-timing-function:var(--motion-ease);
  }
  body.space-motion #panel:not([open]),body.space-motion #panel:not([open])::backdrop{pointer-events:none}
  body.space-motion #panel::backdrop{
   opacity:0;
   transition:opacity var(--motion-exit) ease,display var(--motion-exit) allow-discrete,overlay var(--motion-exit) allow-discrete;
  }
  body.space-motion #panel[open]::backdrop{opacity:1;transition-duration:var(--motion-enter)}
  @starting-style{
   body.space-motion #panel[open]{opacity:0;transform:translateY(10px) scale(.99)}
   body.space-motion #panel[open]::backdrop{opacity:0}
  }
 }

/* Also stop earlier onboarding / account effects when the user asks for calm. */
body.space-reduced *,body.space-reduced *::before,body.space-reduced *::after,body.space-reduced dialog::backdrop{animation:none!important;transition:none!important;scroll-behavior:auto!important}
body.space-reduced .account-card:hover{transform:none}
@media(prefers-reduced-motion:reduce){
 body:not(.space-motion) *,body:not(.space-motion) *::before,body:not(.space-motion) *::after,body:not(.space-motion) dialog::backdrop{animation:none!important;transition:none!important;scroll-behavior:auto!important}
 .account-card:hover{transform:none}
}
