/* resellx · compositor fades, continuous hover, one entrance per surface. */
:root{--motion-ease:cubic-bezier(.25,.1,.25,1)}
.lab .center{min-width:0}
.motion-enhanced .view{animation:none}
.motion-enhanced .card,.motion-enhanced .card.pre{opacity:1;translate:none;filter:none;transition:background .3s,color .3s}
.motion-enhanced [data-motion-pending],.motion-enhanced .card[data-motion-pending],.motion-enhanced .card.pre[data-motion-pending]{opacity:0}
.motion-enhanced .ln.swap>span{animation:none}
.motion-enhanced .co-pane,.motion-enhanced .co-pane>*{animation:none}
/* The shell stays still: only the destination's sections fade into place. */
.js.motion-enhanced .app,.js.motion-enhanced body:not(.ready) .app{opacity:1;transform:none;filter:none;transition:none}
.js.motion-enhanced body:not(.ready) .fade,.js.motion-enhanced body:not(.ready) .ln>span{opacity:1;transform:none}
.motion-enhanced .fade,.motion-enhanced .ln>span{transition:none}
.motion-enhanced .rv,.motion-enhanced .rv:not(.in){opacity:1;transform:none;transition:none}
/* Two solid compositor layers preserve the centre split without a full-page clip repaint. */
.js #intro{clip-path:none;background:transparent;opacity:1;transition:none}
.js #intro::before,.js #intro::after{content:"";position:absolute;left:0;right:0;height:calc(50% + .5px);background:#000;transform:scaleY(1);transition:transform 1.08s cubic-bezier(.65,0,.25,1) .08s;will-change:transform}
.js #intro::before{top:0;transform-origin:center bottom}
.js #intro::after{bottom:0;transform-origin:center top}
.js #intro.out{clip-path:none;opacity:1}
.js #intro.out::before,.js #intro.out::after{transform:scaleY(0)}
.js .scan{display:block;margin:0;padding:0;border:0;border-radius:0;min-height:0;height:1px;background:var(--ink)}
.js .scan.is-opening{animation:intro-scan 1.2s cubic-bezier(.4,0,.2,1) both;will-change:transform,opacity}
@keyframes intro-scan{0%{transform:scaleX(0);opacity:0}10%{opacity:.85}40%{transform:scaleX(1);opacity:1}75%{opacity:.45}100%{transform:scaleX(1);opacity:0}}
/* Fixed raster layers crossfade; blur and image dimensions never animate. */
.motion-enhanced .vmedia img{inset:0;width:100%;height:100%;transform:none;transition:none}
.motion-enhanced .card .vmedia .media-soft,.motion-enhanced .card:hover .vmedia .media-soft,.motion-enhanced .card.hot .vmedia .media-soft,.motion-enhanced .card:focus-within .vmedia .media-soft{filter:blur(12px) grayscale(.4) brightness(.45);transform:scale(1.07)}
.motion-enhanced .card .vmedia .media-sharp,.motion-enhanced .card:hover .vmedia .media-sharp,.motion-enhanced .card.hot .vmedia .media-sharp,.motion-enhanced .card:focus-within .vmedia .media-sharp{filter:brightness(.62);transform:none;opacity:0;transition:opacity .5s var(--motion-ease)}
.motion-enhanced .card:hover .vmedia .media-sharp,.motion-enhanced .card.hot .vmedia .media-sharp,.motion-enhanced .card:focus-within .vmedia .media-sharp{opacity:1}
.motion-enhanced .card .vmedia,.motion-enhanced .card:hover .vmedia,.motion-enhanced .card:focus-within .vmedia{transform:none;box-shadow:16px 22px 38px -16px rgba(0,0,0,.85);transition:none}
.motion-enhanced .vtitle{transition:opacity .45s var(--motion-ease)}
.motion-enhanced .card:hover .vtitle,.motion-enhanced .card.hot .vtitle,.motion-enhanced .card:focus-within .vtitle{opacity:.3}
.motion-enhanced .vtitle .l,.motion-enhanced .card:hover .vtitle .l,.motion-enhanced .card.hot .vtitle .l,.motion-enhanced .card:focus-within .vtitle .l{opacity:1;filter:none;transform:none;transition:none;will-change:auto}
.motion-enhanced .modes button,.motion-enhanced .tiles button,.motion-enhanced .co-curs button,.motion-enhanced .co-methods button{transition:background .3s var(--motion-ease),border-color .3s,color .3s,box-shadow .3s}
.motion-enhanced .modes button::before{transition:transform .35s var(--motion-ease)}
.motion-enhanced .co-methods button[aria-checked=true]{box-shadow:inset 0 0 0 1px rgba(244,167,110,.14)}
.motion-enhanced .pillbtn,.motion-enhanced .go,.motion-enhanced .go-alt,.motion-enhanced .cbtn{transition:scale .2s var(--motion-ease),transform .3s var(--motion-ease),background .25s,box-shadow .3s}
.motion-enhanced .pillbtn:active:not(:disabled),.motion-enhanced .go:active:not(:disabled),.motion-enhanced .go-alt:active:not(:disabled),.motion-enhanced .cbtn:active:not(:disabled){scale:.985}
.motion-enhanced .pillbtn:focus-visible,.motion-enhanced .go:focus-visible{box-shadow:0 0 0 4px rgba(234,146,87,.22)}
.motion-enhanced dialog.sheet[open]{animation:fluid-sheet .36s var(--motion-ease)}
@keyframes fluid-sheet{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}
.motion-enhanced .currency-menu{animation-duration:.24s;animation-timing-function:var(--motion-ease)}
.motion-enhanced .currency-option{transition:background .2s,border-color .2s}
.motion-enhanced .co .panel{-webkit-backdrop-filter:none;backdrop-filter:none}
@media(min-width:821px) and (hover:hover) and (pointer:fine){
  .motion-enhanced .card,.motion-enhanced .viewer,.motion-enhanced .game{transform:perspective(1000px) translateY(var(--depth-lift,0px)) rotateX(var(--depth-x,0deg)) rotateY(var(--depth-y,0deg));transition:transform .48s cubic-bezier(.2,.7,.25,1),background .3s,color .3s,border-color .3s}
  .motion-enhanced .depth-active{will-change:transform}
  .motion-enhanced .card::after,.motion-enhanced .viewer::after{content:"";position:absolute;inset:0;border-radius:inherit;pointer-events:none;z-index:4;opacity:0;background:linear-gradient(145deg,rgba(255,230,205,.09),transparent 65%);transition:opacity .48s var(--motion-ease)}
  .motion-enhanced .card.depth-active::after,.motion-enhanced .viewer.depth-active::after{opacity:1}
}
@media(max-width:1180px){.hero .side{gap:18px}}
.motion-enhanced body.still .card,.motion-enhanced body.still .viewer,.motion-enhanced body.still .game{transform:none!important}
.motion-enhanced body.still .card::after,.motion-enhanced body.still .viewer::after{display:none}
.motion-enhanced body.still [data-motion-pending]{opacity:1!important}
@media(prefers-reduced-motion:reduce){
  .motion-enhanced .card,.motion-enhanced .viewer,.motion-enhanced .game{transform:none!important}
  .motion-enhanced .card::after,.motion-enhanced .viewer::after{display:none}
  .motion-enhanced .card.pre,.motion-enhanced .rv{opacity:1;translate:none;filter:none;transform:none}
  .motion-enhanced body::after{animation:none}
  .motion-enhanced [data-motion-pending]{opacity:1!important}
}
