.motion-library{--motion-icon-tone:var(--color-primary);--motion-icon-ink:var(--color-primary-active);--motion-icon-size:64px;--motion-glass-top:rgb(250 253 255 / 78%);--motion-glass-bottom:rgb(229 239 248 / 64%);--motion-glass-blur:var(--glass-blur-compact)}
.motion-library[data-tone=graphite]{--motion-icon-tone:var(--color-text-secondary);--motion-icon-ink:var(--color-text-primary)}
.motion-library[data-tone=teal]{--motion-icon-tone:var(--node-extract);--motion-icon-ink:color-mix(in srgb,var(--node-extract) 40%,var(--color-text-primary))}
.motion-page{max-width:1240px;margin:0 auto;padding:56px 28px 64px;display:grid;gap:24px}
.motion-library .topbar{gap:16px;flex-wrap:wrap}
.motion-intro{display:grid;grid-template-columns:1fr 280px;align-items:center;padding:40px;gap:32px}
.motion-eyebrow{color:var(--color-primary);font-size:12px;letter-spacing:.12em;font-weight:600}
.motion-intro :is(h1,h3){font-size:40px;line-height:1.25;margin:16px 0;letter-spacing:-.035em}
.motion-intro p:not(.motion-eyebrow){max-width:580px;font-size:15px;line-height:1.8;color:var(--color-text-secondary)}
.motion-feature{display:grid;justify-items:center;gap:20px}
.motion-feature__icon{--motion-icon-size:112px!important}
.motion-feature p{font-size:12px!important;text-align:center}
.motion-controls{padding:24px;display:flex;align-items:flex-end;gap:24px;flex-wrap:wrap}
.motion-controls>label{display:grid;gap:8px;flex:1 1 220px;font-size:13px;font-weight:600}
.motion-control-label{display:block;font-size:13px;font-weight:600;margin-bottom:8px}
.motion-controls .row{gap:6px;flex-wrap:wrap}
.motion-categories{display:flex;gap:8px;flex-wrap:wrap}
.motion-results{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;font-size:13px;color:var(--color-text-secondary)}
.motion-results p{margin:0}
.motion-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.motion-card{padding:24px 12px 12px;border:0;border-radius:var(--radius-md);background:transparent;display:grid;justify-items:center;gap:24px;min-width:0}
.motion-card[hidden]{display:none}
.motion-card__info{display:grid;justify-items:center;gap:8px;width:100%;box-sizing:border-box;padding:12px 8px;border-radius:var(--radius-xs);background:var(--surface-ink);color:#fff}
.motion-card h3{font-size:14px;margin:0;font-weight:600}
.motion-card code{font-size:11px;color:inherit}
.motion-card .btn{font-size:11px;min-height:32px;color:inherit;background:transparent;border-color:rgb(255 255 255 / 38%)}
.motion-card .btn:hover{background:rgb(255 255 255 / 12%)}
.motion-icon{display:grid;place-items:center;width:var(--motion-icon-size);height:var(--motion-icon-size);position:relative;isolation:isolate;border:1px solid rgb(255 255 255 / 64%);border-radius:24%;cursor:pointer;color:var(--motion-icon-ink);background:var(--color-surface);box-shadow:inset 1px 2px 2px rgb(255 255 255 / 68%),inset -1px -2px 3px color-mix(in srgb,var(--motion-icon-tone) 8%,transparent),0 2px 3px color-mix(in srgb,var(--motion-icon-tone) 22%,transparent),0 8px 16px rgb(27 55 84 / 18%);transform:perspective(500px) rotateX(5deg) rotateY(-7deg);transition:transform var(--motion-normal) var(--ease-standard),box-shadow var(--motion-normal) var(--ease-standard)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.motion-icon{background:linear-gradient(145deg,var(--motion-glass-top),var(--motion-glass-bottom));backdrop-filter:blur(var(--motion-glass-blur));-webkit-backdrop-filter:blur(var(--motion-glass-blur))}}
.motion-icon::after{content:"";position:absolute;inset:3px;border:1px solid rgb(255 255 255 / 38%);border-radius:inherit;pointer-events:none}
.motion-icon svg{width:48%;height:48%;overflow:visible;stroke-width:1.8;transform-origin:center}
.motion-library[data-presentation=shared] .motion-grid{padding:16px;border-radius:var(--radius-lg);background:var(--color-surface);border:1px solid var(--glass-border)}
@supports ((backdrop-filter:blur(1px)) or (-webkit-backdrop-filter:blur(1px))){.motion-library[data-presentation=shared] .motion-grid{background:linear-gradient(145deg,var(--motion-glass-top),var(--motion-glass-bottom));backdrop-filter:blur(var(--motion-glass-blur));-webkit-backdrop-filter:blur(var(--motion-glass-blur))}}
.motion-library[data-presentation=shared] .motion-grid .motion-icon{background:transparent;border-color:transparent;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}
.motion-library[data-presentation=shared] .motion-grid .motion-icon::after{display:none}
.motion-library[data-presentation=shared] .motion-card__info{background:transparent;color:var(--color-text-primary)}
.motion-library[data-presentation=shared] .motion-card .btn{border-color:var(--color-border)}
.motion-library[data-presentation=shared] .motion-card .btn:hover{background:var(--interaction-hover)}
.motion-icon:focus-visible{outline:2px solid var(--color-primary);outline-offset:6px}
.motion-icon.is-playing{animation:motion-glass-lift var(--motion-icon) var(--ease-standard) both}
.motion-icon[data-motion=rotate].is-playing svg{animation:motion-rotate var(--motion-icon-rotate) var(--ease-standard) both}
.motion-icon[data-motion=bell].is-playing svg{animation:motion-bell var(--motion-icon) var(--ease-standard) both;transform-origin:50% 20%}
.motion-icon[data-motion=layers].is-playing svg path:nth-child(1){animation:motion-layer var(--motion-icon) var(--ease-standard) both}
.motion-icon[data-motion=layers].is-playing svg path:nth-child(2){animation:motion-layer var(--motion-icon) var(--motion-icon-stagger) var(--ease-standard) both}
.motion-icon[data-motion=draw].is-playing svg :is(path,polyline){stroke-dasharray:1;animation:motion-draw var(--motion-icon-draw) var(--ease-standard) both}
@keyframes motion-glass-lift{0%,100%{transform:perspective(500px) rotateX(5deg) rotateY(-7deg) translateY(0)}45%{transform:perspective(500px) rotateX(0) rotateY(5deg) translateY(-4px)}}
@keyframes motion-rotate{to{transform:rotate(360deg)}}
@keyframes motion-bell{0%,100%{transform:rotate(0)}25%{transform:rotate(12deg)}55%{transform:rotate(-9deg)}80%{transform:rotate(4deg)}}
@keyframes motion-layer{0%,100%{transform:translateY(0)}45%{transform:translateY(-2px)}}
@keyframes motion-draw{from{stroke-dashoffset:1}to{stroke-dashoffset:0}}
.motion-rules{padding:28px}
.motion-rules h2{font-size:20px;margin:0 0 24px}
.motion-material-note{font-size:13px;line-height:1.8;color:var(--color-text-secondary);margin:0 0 24px}
.motion-rules>div{display:grid;grid-template-columns:repeat(3,1fr);gap:32px}
.motion-rules h3{font-size:14px;margin:0 0 10px}
.motion-rules p{font-size:13px;line-height:1.8;color:var(--color-text-secondary);margin:0}
@media(max-width:1000px){.motion-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:700px){.motion-page{padding:32px 16px 40px}.motion-intro{grid-template-columns:1fr;padding:24px}.motion-intro :is(h1,h3){font-size:32px}.motion-feature{display:none}.motion-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.motion-rules>div{grid-template-columns:1fr;gap:24px}.motion-controls{padding:20px;gap:16px}.motion-library .topbar{padding:12px 16px}.motion-library .topbar .vline{display:none}}
@media(prefers-reduced-motion:reduce){.motion-icon,.motion-icon svg,.motion-icon svg path{animation:none!important;transition:none!important;transform:none!important;stroke-dasharray:none!important}}
@media(prefers-reduced-transparency:reduce){.motion-icon,.motion-library[data-presentation=shared] .motion-grid{background:var(--color-surface);backdrop-filter:none;-webkit-backdrop-filter:none}.motion-card__info{background:var(--color-text-primary)}}
@media(prefers-contrast:more){.motion-icon{background:var(--color-surface);border:2px solid currentColor;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.motion-icon::after{display:none}.motion-icon svg{filter:none;stroke-width:2}.motion-icon:focus-visible{outline-width:3px}}
@media(prefers-contrast:more){.motion-library[data-presentation=shared] .motion-grid{background:var(--color-surface);backdrop-filter:none;-webkit-backdrop-filter:none}.motion-library[data-presentation=shared] .motion-grid .motion-icon{border-color:currentColor}.motion-card__info{background:var(--color-text-primary)}}
@media(forced-colors:active){.motion-card,.motion-icon,.motion-card__info,.motion-library[data-presentation=shared] .motion-grid,.motion-library[data-presentation=shared] .motion-grid .motion-icon,.motion-library[data-presentation=shared] .motion-card__info{background:Canvas;color:ButtonText;border:1px solid ButtonText;box-shadow:none;backdrop-filter:none;-webkit-backdrop-filter:none}.motion-icon::after{display:none}.motion-icon svg{filter:none}.motion-card .btn{color:ButtonText;border-color:ButtonText}}
