/* Loaf Animator V110 — smoother motion + pro export */
.motion-preview-stage,.motion-stage{transform:translateZ(0);backface-visibility:hidden}
.motion-preview-content-v20,[class^="anim-v18-"],.anim-v20,.anim-v20-label,.anim-title,.anim-pill,.anim-rings,.anim-bars,.anim-orbit{will-change:transform,opacity,filter;backface-visibility:hidden;transform-style:preserve-3d}
.motion-preview-content-v20{transition:transform .34s cubic-bezier(.16,1,.3,1),filter .28s ease,opacity .24s ease!important}
.motion-preview-stage{box-shadow:inset 0 0 0 1px rgba(255,255,255,.045),0 28px 90px rgba(0,0,0,.32)!important}
.motion-preview-stage .motion-v110-atmosphere{position:absolute;inset:0;z-index:1;pointer-events:none;overflow:hidden;mix-blend-mode:screen;transition:opacity .3s ease}
.motion-v110-atmosphere i{position:absolute;width:105px;height:105px;border-radius:50%;filter:blur(34px);opacity:.34;animation:motionV110Orb 5.8s ease-in-out infinite alternate}
.motion-v110-atmosphere i:nth-child(1){left:8%;top:10%;background:var(--motion-primary,#8f5cff)}
.motion-v110-atmosphere i:nth-child(2){right:8%;top:24%;background:var(--motion-secondary,#61e7ff);animation-delay:-1.8s}
.motion-v110-atmosphere i:nth-child(3){left:45%;bottom:6%;background:var(--motion-accent,#91ff15);animation-delay:-3s}
.motion-v110-atmosphere b{position:absolute;left:-40%;top:-30%;width:35%;height:160%;transform:rotate(18deg);background:linear-gradient(90deg,transparent,rgba(255,255,255,.12),transparent);filter:blur(8px);animation:motionV110Sweep 4.4s cubic-bezier(.2,.75,.25,1) infinite}
@keyframes motionV110Orb{0%{transform:translate3d(-10px,10px,0) scale(.8)}100%{transform:translate3d(18px,-12px,0) scale(1.18)}}
@keyframes motionV110Sweep{0%,18%{transform:translateX(-30%) rotate(18deg);opacity:0}35%{opacity:1}62%,100%{transform:translateX(460%) rotate(18deg);opacity:0}}

.motion-export-v110{position:relative;border:1px solid rgba(145,255,21,.10)!important;background:linear-gradient(180deg,rgba(145,255,21,.035),rgba(126,76,255,.035))!important;overflow:hidden}
.motion-export-v110:before{content:"";position:absolute;inset:0;background:radial-gradient(circle at 10% 0,rgba(145,255,21,.07),transparent 32%),radial-gradient(circle at 90% 100%,rgba(97,231,255,.07),transparent 34%);pointer-events:none}
.motion-export-grid-v110{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-top:10px}
.motion-export-grid-v110 label{display:grid;gap:6px;min-width:0;padding:9px;border:1px solid rgba(255,255,255,.06);border-radius:12px;background:rgba(8,8,13,.58);color:#8e8798;font-size:8px;font-weight:750}
.motion-export-grid-v110 select,.motion-export-grid-v110 input[type=text]{height:34px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:#0c0d13;color:#fff;padding:0 9px;outline:none;font-size:9px}
.motion-export-grid-v110 input[type=range]{accent-color:#91ff15;width:100%}.motion-export-grid-v110 label>b{color:#fff;float:right;font-size:8px;margin-left:auto}
.motion-export-summary-v110{position:relative;display:flex;justify-content:space-between;gap:10px;align-items:center;margin-top:9px;padding:9px 10px;border-radius:11px;background:rgba(255,255,255,.025);border:1px solid rgba(255,255,255,.05);color:#7f7988;font-size:8px}
.motion-export-summary-v110>span:first-child{display:flex;align-items:center;gap:6px;color:#bcb5c7}.motion-export-summary-v110 svg{width:13px;height:13px;color:#91ff15}.motion-export-summary-v110 b{font-size:8px;color:#fff}
.motion-download-actions{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px!important;margin-top:10px!important}
.motion-download-actions .btn{position:relative!important;min-height:46px!important;border-radius:14px!important;transition:transform .16s cubic-bezier(.2,.9,.2,1),box-shadow .16s cubic-bezier(.2,.9,.2,1),filter .16s ease!important;box-shadow:0 9px 0 rgba(0,0,0,.28),0 14px 26px rgba(0,0,0,.24)!important}
.motion-download-actions .btn.primary{background:linear-gradient(180deg,#b6ff4a,#91ff15)!important;color:#071006!important;border-color:#caff82!important;box-shadow:0 9px 0 rgba(70,124,12,.42),0 16px 30px rgba(145,255,21,.12)!important}
.motion-download-actions .btn:hover{transform:translateY(-2px)!important;filter:brightness(1.05)}
.motion-download-actions .btn:active{transform:translateY(6px) scale(.99)!important;box-shadow:0 3px 0 rgba(0,0,0,.28),0 7px 12px rgba(0,0,0,.2)!important}
.motion-download-actions .btn.primary:active{box-shadow:0 3px 0 rgba(70,124,12,.4),0 7px 12px rgba(145,255,21,.10)!important}
#loafExportProgress{overflow:hidden!important}#loafExportProgress:after{content:"";position:absolute;inset:0 auto 0 -30%;width:26%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.08),transparent);transform:skewX(-16deg);animation:motionV110ProgressSweep 1.5s linear infinite;pointer-events:none}@keyframes motionV110ProgressSweep{to{left:120%}}

/* polish the dedicated editor without changing structure */
.motion-editor-page .motion-editor-shell{background:radial-gradient(circle at 50% 0,rgba(126,76,255,.05),transparent 24%),#05060a!important}
.motion-editor-page .motion-preview-stage{border-color:rgba(255,255,255,.075)!important;background:radial-gradient(circle at 50% 110%,rgba(126,76,255,.15),transparent 52%),#06070b!important}
.motion-editor-page .motion-preview-info{scrollbar-width:thin;scrollbar-color:#6541bd transparent}
.motion-editor-page .motion-editor-timeline{box-shadow:0 -20px 50px rgba(0,0,0,.16)}
.motion-editor-page .motion-timeline-play{transition:.18s cubic-bezier(.16,1,.3,1)}.motion-editor-page .motion-timeline-play:hover{transform:scale(1.08)}.motion-editor-page .motion-timeline-play:active{transform:scale(.94)}

@media(max-width:760px){.motion-export-grid-v110{grid-template-columns:1fr}.motion-export-summary-v110{align-items:flex-start;flex-direction:column}.motion-download-actions{grid-template-columns:1fr!important}}
@media(prefers-reduced-motion:reduce){.motion-v110-atmosphere i,.motion-v110-atmosphere b,#loafExportProgress:after{animation:none!important}}

/* animation catalog V110 */
.animations-page .motion-card{position:relative;transition:transform .34s cubic-bezier(.16,1,.3,1),border-color .34s ease,box-shadow .34s ease!important;transform-origin:center;overflow:hidden!important}
.animations-page .motion-card:before{content:"";position:absolute;inset:-1px;background:linear-gradient(135deg,rgba(143,92,255,.16),transparent 36%,rgba(97,231,255,.10));opacity:0;transition:opacity .3s ease;pointer-events:none;z-index:3}
.animations-page .motion-card:hover{transform:translateY(-7px) scale(1.018)!important;border-color:rgba(143,92,255,.30)!important;box-shadow:0 30px 72px rgba(0,0,0,.38),0 0 0 1px rgba(143,92,255,.06) inset!important}
.animations-page .motion-card:hover:before{opacity:1}
.animations-page .motion-card .motion-stage{transition:transform .42s cubic-bezier(.16,1,.3,1),filter .42s ease!important;transform-origin:center}
.animations-page .motion-card:hover .motion-stage{transform:scale(1.025);filter:brightness(1.05) saturate(1.06)}
.animations-page .motion-meta{position:relative;z-index:4;background:linear-gradient(180deg,rgba(9,8,14,.7),rgba(9,8,14,.96));backdrop-filter:blur(10px)}
.animations-page .motion-meta b{letter-spacing:-.02em}.animations-page .motion-tier{box-shadow:inset 0 1px rgba(255,255,255,.12)}
.motion-export-presets-v110{display:flex;gap:6px;flex-wrap:wrap;margin-top:9px}.motion-export-presets-v110 button{height:29px;padding:0 10px;border:1px solid rgba(255,255,255,.07);border-radius:9px;background:#0d0e14;color:#918a9b;font-size:7px;font-weight:850;cursor:pointer;transition:.18s ease}.motion-export-presets-v110 button:hover{color:#fff;border-color:rgba(145,255,21,.24);transform:translateY(-1px)}.motion-export-presets-v110 button:nth-child(2),.motion-export-presets-v110 button:nth-child(3){color:#b9ff67;background:rgba(145,255,21,.045)}
