/* Light motion: page entrance, scroll reveal, overlays. Transform/opacity only; nothing is left transformed once an animation ends. */
@keyframes tc-rise{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@keyframes tc-fade{from{opacity:0}to{opacity:1}}
@keyframes tc-pop{from{opacity:0;transform:translateY(10px) scale(.98)}to{opacity:1;transform:none}}
@keyframes tc-toast{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}

@media(prefers-reduced-motion:no-preference){
  .main.tc-hold{opacity:0}
  .tc-enter,.main.mobile-page-enter>.tc-enter{animation:tc-rise .34s cubic-bezier(.2,.7,.2,1) backwards;animation-delay:calc(var(--tc-i,0)*28ms)}
  /* the legacy sideways page slide is replaced by the soft entrance above */
  .main.mobile-page-enter>*:not(.tc-enter){animation:none!important}
  .tc-reveal{opacity:0;transform:translateY(8px);transition:opacity .4s cubic-bezier(.2,.7,.2,1),transform .4s cubic-bezier(.2,.7,.2,1);transition-delay:calc(var(--tc-i,0)*24ms)}
  .tc-reveal.tc-shown{opacity:1;transform:none}

  .modal-backdrop{animation:tc-fade .18s ease-out backwards}
  .modal{animation:tc-pop .24s cubic-bezier(.2,.7,.2,1) backwards}
  .search-pop,.cal-menu{animation:tc-pop .16s ease-out backwards}
  .toast{animation:tc-toast .22s ease-out backwards}

  .btn,.seg,.request-chip,.stage-tab{transition-property:background-color,border-color,color,box-shadow,transform,opacity;transition-duration:.16s;transition-timing-function:ease}
  .btn:active,.seg:active{transform:scale(.97)}

  .mobile-nav button{transition:color .16s ease,background-color .16s ease,transform .16s ease}
  .mobile-nav button:active{transform:scale(.94)}
}
/* Tabs: sliding indicator + content swap (driven by motion-tabs.js) */
@keyframes tc-swap{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
@media(prefers-reduced-motion:no-preference){
  .tc-ink-on{isolation:isolate}
  .tc-ink-on::before{content:"";position:absolute;z-index:0;left:0;top:0;width:var(--ink-w);height:var(--ink-h);transform:translate(var(--ink-x),var(--ink-y));background:var(--ink-bg);box-shadow:var(--ink-shadow);border:var(--ink-border);border-radius:var(--ink-radius);box-sizing:border-box;pointer-events:none;transition:transform .34s cubic-bezier(.34,1.25,.64,1),width .34s cubic-bezier(.34,1.25,.64,1),height .2s ease}
  .tc-ink-on.tc-ink-init::before{transition:none}
  .tc-ink-on>*{position:relative;z-index:1}
  .tc-ink-on :is(.seg.active,.seg[aria-pressed="true"],.stage-tab.active,.stage-tab[aria-pressed="true"],.settings-nav-item.active,.sidebar .nav-item.active,.tw-step-btn.viewing,.doc-folder.active),.mobile-date-strip.tc-ink-on>button.active{background:transparent!important;box-shadow:none!important;border-color:transparent!important}
  .tc-swap{animation:tc-swap .32s cubic-bezier(.2,.7,.2,1) backwards}
}
@media(prefers-reduced-motion:reduce){.tc-enter,.tc-reveal{animation:none!important;transition:none!important;opacity:1!important;transform:none!important}}
