/* Screen-only motion. No application state, layout or output changes. */
@media screen {
  .theme-launcher .launcher-grid .tool{isolation:isolate}
  .theme-launcher .launcher-grid .tool::before{
    content:'';position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:-1;
    background:radial-gradient(ellipse at 85% 5%,rgba(205,188,240,.27),transparent 65%);
    opacity:0;
  }
  .theme-launcher .launcher-grid .tool:focus-within{
    border-color:#b7a5d8;box-shadow:0 10px 30px rgba(116,98,173,.12);
  }
  .theme-launcher .launcher-grid .tool:focus-within::before{opacity:1}
  .theme-launcher .launcher-search:focus-within{
    box-shadow:0 0 0 5px rgba(217,207,238,.3),0 14px 35px rgba(116,98,173,.09);
  }
  .theme-launcher .tool-link svg{transform-origin:center}
  .theme-launcher .login:hover{box-shadow:0 4px 15px rgba(116,98,173,.1);border-color:#bcaad9}
  .theme-launcher .filters button:focus-visible{outline:2px solid #7462ad;outline-offset:3px}
  @media(prefers-reduced-motion:no-preference){
    .theme-launcher:before{animation:pearl-aurora 20s ease-in-out infinite alternate;will-change:transform}
    .theme-launcher .launcher-hero h1{animation:pearl-arrive .7s both}
    .theme-launcher .launcher-hero p{animation:pearl-arrive .7s .08s both}
    .theme-launcher .launcher-search{animation:pearl-arrive .7s .15s both;transition:box-shadow .25s,border-color .25s}
    .theme-launcher .launcher-grid .tool{animation:pearl-arrive .48s both;animation-delay:calc(var(--i,0)*35ms);transition:transform .25s,border-color .25s,box-shadow .25s,background .25s}
    .theme-launcher .launcher-grid .tool::before{transition:opacity .3s}
    .theme-launcher .app-icon{transition:transform .3s,box-shadow .3s}
    .theme-launcher .tool-link svg{transition:transform .25s}
    .theme-launcher .filters button,.theme-launcher .login{transition:background .22s,color .22s,border-color .22s,box-shadow .22s,transform .15s}
    .theme-launcher .filters button[aria-pressed=true]{animation:pearl-select .24s}
    .theme-launcher .filters button:active,.theme-launcher .login:active{transform:scale(.97)}
    /* Tool forms stay still while the user reads or edits them. */
    body:not(.theme-launcher){background-size:115% 115%;animation:pearl-tool-light 24s ease-in-out infinite alternate}
    .pbar,.pbar-home,.drop,.btn,.tool-btn{transition:background .2s,border-color .2s,box-shadow .2s}
    .drop:focus-within,.drop.dragover,.drop.over{box-shadow:0 0 0 4px rgba(217,207,238,.3)}
    @keyframes pearl-aurora{from{transform:translate3d(-1%,-1%,0) scale(1.02)}to{transform:translate3d(2%,1%,0) scale(1.08)}}
    @keyframes pearl-tool-light{from{background-position:0% 0%}to{background-position:65% 35%}}
    @keyframes pearl-arrive{from{opacity:0;translate:0 12px}to{opacity:1;translate:0 0}}
    @keyframes pearl-select{from{box-shadow:0 0 0 0 rgba(137,116,189,.15)}to{box-shadow:0 0 0 7px rgba(137,116,189,0)}}
    @media(hover:hover) and (pointer:fine){
      .theme-launcher .launcher-grid .tool:hover{transform:translateY(-5px);box-shadow:0 16px 35px rgba(116,98,173,.12)}
      .theme-launcher .launcher-grid .tool:hover::before{opacity:1}
      .theme-launcher .launcher-grid .tool:hover .app-icon{transform:translateY(-2px) rotate(-5deg);box-shadow:0 5px 13px rgba(116,98,173,.09)}
      .theme-launcher .tool-link:hover svg{transform:translateX(4px)}
    }
  }
  @media(prefers-reduced-motion:reduce){
    .theme-launcher:before,.theme-launcher .hero-art,.theme-launcher .launcher-orb,
    .theme-launcher .launcher-hero h1,.theme-launcher .launcher-hero p,.theme-launcher .launcher-search,
    .theme-launcher .launcher-grid .tool,.theme-launcher .app-icon,.theme-launcher .filters button,
    body:not(.theme-launcher){animation:none!important;translate:none!important}
    .theme-launcher .launcher-grid .tool,.theme-launcher .app-icon,.theme-launcher .tool-link svg{transform:none!important;transition:none!important}
  }
  @media(max-width:650px){
    body:not(.theme-launcher){animation:none!important}
    .theme-launcher:before{will-change:auto}
  }
}
