:root{color-scheme:light;--bg:#f6f6f6;--ink:#161616;--muted:#7e7e7e;--line:#dedede;--lime:#b4b4b4;--sans:Inter,-apple-system,BlinkMacSystemFont,"Helvetica Neue","PingFang SC","Microsoft YaHei",sans-serif}*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--sans);-webkit-font-smoothing:antialiased}button,input,select,textarea{font:inherit}button,a,input,select{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer;color:inherit}a{color:inherit;text-decoration:none}svg{width:22px;height:22px;fill:none;stroke:currentColor;stroke-width:1.65;stroke-linecap:round;stroke-linejoin:round;flex:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,pre:focus-visible{outline:3px solid #838383;outline-offset:5px}button:disabled{cursor:default;opacity:.4}[hidden]{display:none!important}.site-shell{max-width:1600px;margin:0 auto;padding:0 42px}.site-header{height:78px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.brand{display:flex;align-items:center;gap:24px}.brand strong{font-size:32px;letter-spacing:-1.4px;font-weight:750}.brand span{font-size:17px;letter-spacing:.7px;border-left:1px solid #cacaca;padding-left:24px;color:#484848}.index-link{display:flex;align-items:center;gap:9px;font-size:15px}.index-link svg{width:17px;height:17px}.intro{padding:39px 0 29px}.intro h1{font-size:clamp(30px,3.35vw,52px);font-weight:750;line-height:1.22;letter-spacing:-1.7px;margin:0 0 12px}.intro p{font-size:20px;line-height:1.55;color:#7e7e7e;margin:0}.workspace{display:grid;grid-template-columns:250px minmax(0,1fr);gap:28px;align-items:start}.library{min-height:100%;border-right:1px solid var(--line);padding-right:0}.search-box{height:48px;border:1px solid var(--line);border-radius:7px;margin:0 17px 22px 0;display:flex;align-items:center;gap:12px;padding:0 12px;color:#7e7e7e}.search-box input{min-width:0;width:100%;border:0;outline:none!important;background:transparent;font-size:14px;color:var(--ink)}.search-box:focus-within{outline:2px solid #989898;outline-offset:2px}.search-box svg{width:20px;height:20px}.demo-item{border:0;border-bottom:1px solid var(--line);background:transparent;width:100%;min-height:70px;padding:16px 20px 16px 16px;display:flex;align-items:center;gap:25px;text-align:left;font-size:16px;position:relative}.demo-item:last-child{border-bottom-color:transparent}.demo-item .number{color:#888888;font-size:16px;font-variant-numeric:tabular-nums}.demo-item .name{font-weight:550;letter-spacing:.4px}.demo-item::after{content:"";width:11px;height:11px;margin-left:auto;border-radius:50%;background:transparent;flex-shrink:0}.demo-item[aria-current="true"]{background:#e9e9e9}.demo-item[aria-current="true"]::after{background:var(--lime)}.demo-item:hover{background:#eeeeee}#empty-state{font-size:14px;line-height:1.7;padding:12px 18px;color:var(--muted)}#clear-search{display:block;border:0;background:none;padding:9px 0;text-decoration:underline}.viewer{min-width:0}.stage{width:100%;aspect-ratio:16/9;background:#1c1c1c;border-radius:6px;overflow:hidden;position:relative}.stage canvas{display:block;width:100%;height:100%;object-fit:contain}.stage:fullscreen{background:#191919;border-radius:0;aspect-ratio:auto;display:flex;align-items:center;justify-content:center}.stage:fullscreen canvas{width:100%;height:100%;object-fit:contain}.fullscreen-hint{display:none;position:absolute;bottom:20px;left:50%;transform:translateX(-50%);padding:8px 14px;background:#0009;border-radius:4px;color:white;font-size:13px}.stage:fullscreen .fullscreen-hint{display:block}.transport{display:flex;align-items:center;gap:16px;padding:15px 10px 23px}.icon-button{border:1px solid var(--line);background:transparent;display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:50%;padding:0;flex:none}.icon-button:hover{background:#e8e8e8}.icon-button svg{width:22px;height:22px}.icon-button.primary{background:#1e1e1e;border-color:#1e1e1e;color:#f6f6f6;width:46px;height:46px}.primary svg{fill:currentColor;stroke:none}.scrubber{flex:1;display:flex;align-items:center;min-width:35px;margin:0 8px}input[type=range]{--progress:50.33%;appearance:none;-webkit-appearance:none;width:100%;height:5px;margin:0;border-radius:9px;cursor:pointer;background:linear-gradient(to right,var(--lime) var(--progress),#d5d5d5 var(--progress));outline-offset:8px}input[type=range]::-webkit-slider-thumb{appearance:none;-webkit-appearance:none;width:19px;height:19px;border-radius:50%;background:var(--lime);border:0}input[type=range]::-moz-range-thumb{width:19px;height:19px;border-radius:50%;background:var(--lime);border:0}output{font-variant-numeric:tabular-nums;font-size:14px;white-space:nowrap;letter-spacing:-.3px}.speed-label select{border:1px solid #cecece;background:transparent;border-radius:4px;min-width:75px;height:36px;padding:0 10px;font-size:14px;cursor:pointer}.fullscreen-button{border:0;border-radius:4px;width:36px}.detail-heading{display:flex;align-items:center;justify-content:space-between;gap:18px}.detail-heading h2{font-size:29px;letter-spacing:-.5px;margin:0;font-weight:720;line-height:1.4}.copy-button{display:inline-flex;align-items:center;justify-content:center;gap:10px;padding:9px 13px;background:transparent;border:1px solid #cdcdcd;border-radius:5px;font-size:13px;min-height:37px;white-space:nowrap}.copy-button svg{width:17px;height:17px}.copy-button:hover,.text-button:hover{background:#e8e8e8}.tabs{display:flex;gap:30px;border-bottom:1px solid var(--line);margin-top:7px}.tabs button{border:0;border-bottom:3px solid transparent;background:none;color:var(--muted);font-size:16px;padding:12px 3px 11px;font-weight:550}.tabs button[aria-selected=true]{border-bottom-color:var(--lime);color:var(--ink);font-weight:650}.guide{display:grid;grid-template-columns:1fr 1.15fr;gap:22px;padding:20px 4px 0}.guide>div:nth-child(2){border-left:1px solid var(--line);padding-left:28px}.guide h3{font-weight:450;font-size:14px;color:var(--muted);margin:0 0 8px}.guide p{font-size:16px;margin:0;line-height:1.65}.guide .parameter-row{grid-column:1/-1;border-top:1px solid var(--line);padding-top:17px;display:flex;gap:20px;align-items:start}.parameter-row #parameters{display:flex;gap:16px;flex-wrap:wrap;flex-shrink:0}.parameter-row #parameters span{font-size:12px;color:#6b6b6b;font-family:ui-monospace,"SFMono-Regular",monospace;padding-right:16px;border-right:1px solid var(--line)}.parameter-row #parameters span:last-child{border:0}.guide #demo-note{font-size:12px;color:var(--muted);line-height:1.6}.keyboard-help{display:flex;justify-content:space-between;gap:20px;font-size:12px;color:#8c8c8c;margin:22px 4px 20px}.keyboard-help i{font-style:normal;padding:0 5px}.source-toolbar{display:flex;align-items:center;gap:20px;padding:18px 0 0;font-size:13px}.source-toolbar label{flex:1}.source-toolbar select{font-size:13px;margin-left:8px;background:transparent;padding:6px;border:1px solid #cdcdcd;border-radius:4px}.text-button{border:0;background:transparent;padding:6px}.source-toolbar a{text-decoration:underline;text-underline-offset:3px}.source-description{font-size:13px;line-height:1.7;color:var(--muted);margin:12px 0}.source pre{margin:0;background:#ececec;border:1px solid #dfdfdf;border-radius:5px;padding:22px;max-height:410px;overflow:auto;tab-size:2}.source code{font:12px/1.8 ui-monospace,SFMono-Regular,Menlo,monospace;color:#3c3c3c;white-space:pre}footer{border-top:1px solid var(--line);margin-top:10px;padding:18px 0 22px;display:flex;gap:24px;justify-content:space-between;font-size:12px;color:var(--muted)}footer a{text-decoration:underline;text-underline-offset:3px}.toast{position:fixed;bottom:28px;left:50%;transform:translate(-50%,12px);padding:12px 20px;background:#202020;color:#f5f5f5;border-radius:7px;font-size:14px;pointer-events:none;opacity:0;z-index:20}.toast.visible{opacity:1;transform:translate(-50%,0)}dialog{width:min(580px,90vw);border:1px solid var(--line);border-radius:10px;background:var(--bg);padding:26px}dialog::backdrop{background:#1116}.dialog-heading{display:flex;align-items:center;justify-content:space-between}.dialog-heading h2{margin:0;font-size:22px}.dialog-heading button{border:0;background:transparent;font-size:28px}dialog p{font-size:14px;color:var(--muted);line-height:1.7}dialog textarea{width:100%;height:230px;resize:vertical;border:1px solid #bbb;padding:12px;margin-bottom:15px;font-size:12px;line-height:1.6;background:white}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap}
@media(min-width:1700px){.site-shell{padding:0 52px}.intro{padding-top:48px;padding-bottom:34px}.workspace{grid-template-columns:280px minmax(0,1fr);gap:32px}}
@media(max-width:1050px){.site-shell{padding:0 26px}.workspace{grid-template-columns:200px minmax(0,1fr);gap:22px}.demo-item{gap:16px;padding-left:12px;font-size:14px}.intro h1{letter-spacing:-1px}.intro p{font-size:17px}.transport{gap:10px;padding-left:0;padding-right:0}.scrubber{margin:0 3px}.icon-button{width:36px;height:36px}.icon-button.primary{width:39px;height:39px}output{font-size:12px}.speed-label select{min-width:65px;padding:0 5px}.guide{grid-template-columns:1fr;gap:18px}.guide>div:nth-child(2){border-left:0;padding-left:0}.guide .parameter-row{flex-direction:column;gap:12px}.keyboard-help span:last-child{display:none}}
@media(max-width:700px){.site-shell{padding:0 18px}.site-header{height:67px}.brand{gap:13px}.brand strong{font-size:27px}.brand span{font-size:13px;padding-left:13px;letter-spacing:0}.index-link{font-size:12px;gap:4px}.index-link svg{width:14px}.intro{padding:29px 0 23px}.intro h1{font-size:clamp(25px,5.6vw,36px);letter-spacing:-1px;line-height:1.4;white-space:normal}.intro p{font-size:14px;max-width:300px}.workspace{display:block}.library{border-right:0;min-height:0;margin-bottom:18px}.search-box{height:42px;margin:0 0 14px;font-size:13px}.library nav{display:flex;gap:7px;overflow-x:auto;padding:2px 0 9px;scrollbar-width:thin}.demo-item{border:1px solid var(--line)!important;border-radius:4px;min-height:42px;width:auto;flex-shrink:0;padding:11px 12px;gap:9px;font-size:13px}.demo-item .number{font-size:12px}.demo-item::after{width:7px;height:7px;margin-left:1px}.stage{border-radius:5px}.transport{gap:9px;padding:13px 0 18px;flex-wrap:wrap}.icon-button{width:33px;height:33px}.icon-button.primary{width:36px;height:36px}.icon-button svg{width:18px;height:18px}.scrubber{order:6;flex-basis:100%;margin:7px 0 0}output{margin-left:auto;font-size:12px}.speed-label select{height:32px;font-size:12px;min-width:62px}.fullscreen-button{width:28px}.detail-heading h2{font-size:25px}.copy-button{padding:8px 10px;font-size:12px;gap:6px;min-height:34px}.copy-button svg{width:14px}.tabs{gap:25px}.tabs button{font-size:15px;padding-top:13px}.guide{padding-top:17px;gap:17px}.guide h3{font-size:13px;margin-bottom:5px}.guide p{font-size:14px}.parameter-row #parameters{gap:9px}.parameter-row #parameters span{font-size:11px;padding-right:9px}.keyboard-help{font-size:11px;margin-top:18px}footer{font-size:10px;line-height:1.8;gap:10px;flex-direction:column;margin-top:0;padding-top:14px}.source-toolbar{gap:9px;flex-wrap:wrap;font-size:12px}.source-toolbar select{font-size:12px;margin-left:3px;max-width:130px}.source-toolbar label{flex-basis:100%}.source pre{padding:15px;max-height:340px}.source code{font-size:11px}.source-description{font-size:12px}}
@media(prefers-reduced-motion:no-preference){.toast{transition:opacity .16s ease,transform .16s ease}.demo-item,.icon-button,.copy-button{transition:background .15s ease}}
/* A page-local fullscreen preview also works inside embedded browsers. */
.immersive-control{display:none}.preview-open{overflow:hidden}.stage.immersive{position:fixed;inset:0;width:100vw;height:100dvh;z-index:50;border-radius:0;aspect-ratio:auto;display:flex;align-items:center;justify-content:center;background:#191919;outline:none}.stage.immersive canvas{width:100%;height:100%;object-fit:contain}.stage.immersive .fullscreen-hint{display:block}.stage.immersive .immersive-control{display:block;position:absolute;color:#f6f6f6;border:1px solid #ffffff55;background:#222a;border-radius:5px;padding:10px 16px;font-size:14px}.immersive-close{right:22px;top:22px}.immersive-play{left:22px;bottom:22px}

/* Catalog view: shared neutral motion samples, five columns on desktop. */
.site-shell{max-width:1920px;padding:0 36px}.intro{padding:38px 0 30px}.intro h1{font-size:36px;letter-spacing:-1px}.intro p{font-size:16px}.workspace{display:block}.library{border:0}.search-box{max-width:340px;margin:0 0 26px}.library nav{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:24px 18px;overflow:visible;padding:0}.motion-card{padding:0;background:transparent;border:0;text-align:left;min-width:0;border-radius:5px}.card-preview{position:relative;display:block;aspect-ratio:16/9;overflow:hidden;background:#202020;border-radius:5px;border:1px solid #dedede}.card-preview canvas{display:block;width:100%;height:100%}.card-action{position:absolute;right:10px;bottom:10px;padding:5px 8px;background:#000b;color:#fff;font-size:11px;border-radius:3px;opacity:0}.motion-card:hover .card-action,.motion-card:focus-visible .card-action{opacity:1}.card-heading{display:flex;justify-content:space-between;gap:8px;align-items:center;margin:14px 0 7px}.card-heading strong{font-size:15px;font-weight:600}.card-heading small{font-size:11px;color:#777;font-variant-numeric:tabular-nums}.card-description{display:block;color:#777;font-size:12px;line-height:1.7}.motion-card:hover .card-preview{border-color:#888}.site-shell>footer{margin-top:55px}.detail-dialog{width:min(1040px,94vw);max-height:94dvh;overflow:auto;padding:20px 28px 14px}.detail-top{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px;font-size:13px;color:#777}.detail-top button{background:none;border:0;padding:8px;font-size:13px}.detail-dialog::backdrop{background:#0008}.detail-dialog .stage{border-radius:4px}.detail-dialog .detail-heading h2{font-size:25px}.detail-dialog .guide p{font-size:14px}.detail-dialog .transport{padding-bottom:17px}.detail-dialog .keyboard-help{margin-bottom:5px}.detail-dialog .stage.immersive{position:fixed}.preview-open .detail-dialog{max-height:100dvh}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible{outline-color:#555}.search-box:focus-within{outline-color:#777}
@media(max-width:1199px){.library nav{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:760px){.site-shell{padding:0 20px}.intro h1{font-size:29px}.intro p{font-size:14px;max-width:none}.library nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px 14px}.library{margin-bottom:0}.card-heading{margin-top:10px;align-items:start}.card-heading strong{font-size:14px}.card-description{font-size:11px}.detail-dialog{padding:12px 16px}.search-box{max-width:none}.brand span{font-size:12px}}
@media(max-width:420px){.library nav{grid-template-columns:1fr}.card-heading strong{font-size:16px}.card-description{font-size:12px}.intro h1{font-size:26px}.card-action{opacity:1}}

/* Full catalog: lazy static covers and one live recipe per active preview. */
.catalog-tools{display:flex;gap:12px;align-items:start;margin-bottom:26px}.catalog-tools .search-box{flex:1;width:340px;margin:0}.category-filter select{height:48px;padding:0 30px 0 12px;border:1px solid var(--line);border-radius:6px;background:transparent;font-size:13px;color:#555}.card-preview img{display:block;width:100%;height:100%;object-fit:contain;filter:grayscale(1)}.motion-live{position:absolute;inset:0;width:100%;height:100%;border:0;pointer-events:none;filter:grayscale(1);background:#1c1c1c}.card-preview .motion-live{z-index:1}.card-action{z-index:2}.card-description{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;min-height:3.4em}.card-heading strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.detail-dialog .stage>canvas[hidden]{display:none}.stage.immersive .motion-live{object-fit:contain}.detail-dialog .stage.immersive .immersive-control{z-index:3}.fullscreen-hint{z-index:3}@media(max-width:700px){.catalog-tools{gap:8px}.catalog-tools .search-box{width:auto;min-width:0}.category-filter select{height:42px;max-width:135px;padding-right:6px}}
