.carousel-wrapper{position:relative;width:100%;overflow:visible;--gap:20px;display:grid}.carousel-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;box-sizing:border-box}.carousel-title{height:30px;font-style:normal;font-weight:600;font-size:24px;line-height:125%;letter-spacing:.02em;color:var(--text-primary);margin:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex-shrink:0}.carousel-title em{font-style:italic;padding-right:.1em}.carousel-title-skeleton{height:30px;width:180px;border-radius:6px;background:linear-gradient(90deg,var(--skeleton-base) 0,var(--skeleton-shine) 50%,var(--skeleton-base) 100%);background-size:200% 100%;animation:carousel-shimmer 1.5s ease-in-out infinite}@keyframes carousel-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.show-all-btn{margin-top:10px;width:60px;height:18px;background:none;border:none;color:#acaaaf;letter-spacing:.4px;cursor:pointer;padding:0;font-style:normal;font-weight:600;font-size:14px;line-height:125%}.carousel-progress{display:flex;gap:2px;opacity:1;transition:opacity .3s ease;margin-top:20px}.progress-bar{width:16px;height:2px;background-color:var(--text-tertiary);border-radius:1px;transition:background-color .3s ease}.progress-bar.active{background-color:var(--text-primary)}.carousel-container{position:relative;display:flex;align-items:center;width:100%;overflow:visible;min-width:0}.carousel-container.at-start:before{opacity:0}.carousel-container:before{content:"";position:absolute;top:0;left:0;width:200px;height:100%;background:linear-gradient(to right,var(--overlay-heavy) 0,var(--overlay-scrim) 50%,transparent 100%);transition:opacity .3s ease-out;pointer-events:none;z-index:2;opacity:0}.carousel-container:hover:before{opacity:1}.carousel-container.at-end:after{opacity:0}.carousel-container:after{content:"";position:absolute;top:0;right:0;width:200px;height:100%;background:linear-gradient(to left,var(--overlay-heavy) 0,var(--overlay-scrim) 50%,transparent 100%);transition:opacity .3s ease-out;pointer-events:none;z-index:2;opacity:0}.carousel-container:hover:after{opacity:1}.carousel-window{display:flex;flex-wrap:nowrap;flex-direction:row;gap:var(--gap);overflow-x:auto;overflow-y:hidden;flex:1;position:relative;width:100%;padding:0 80px;margin-left:-80px;margin-right:-80px;scrollbar-width:none;-ms-overflow-style:none;scroll-padding:0;-webkit-overflow-scrolling:touch;min-width:0;align-items:flex-start}.carousel-window::-webkit-scrollbar{display:none}.carousel-item{flex:0 0 auto;flex-shrink:0;border-radius:8px;overflow:hidden;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.carousel-btn{position:absolute;top:50%;transform:translateY(-50%);color:var(--text-on-primary);background-color:var(--surface-inverse-default);border:1px solid var(--border-strong);cursor:pointer;z-index:3;opacity:0;transition:opacity .2s cubic-bezier(.4,0,.2,1),transform .2s cubic-bezier(.4,0,.2,1),background-color .2s;border-radius:50%;width:40px;height:40px;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 8px rgba(0,0,0,.3);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);pointer-events:auto;user-select:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;-webkit-user-drag:none;-khtml-user-drag:none;-moz-user-drag:none;-o-user-drag:none}.carousel-btn:not(:disabled){opacity:0;transition:opacity .15s ease-out}.carousel-container:hover .carousel-btn.left:not(:disabled),.carousel-container:hover .carousel-btn.right:not(:disabled),.carousel-wrapper:hover .carousel-btn:not(:disabled){opacity:1}.carousel-btn:hover:not(:disabled){background-color:var(--text-primary);color:var(--surface-1);border-color:var(--text-primary);transform:translateY(-50%) scale(1.1);box-shadow:0 4px 12px rgba(0,0,0,.4)}.carousel-btn:active:not(:disabled){transform:translateY(-50%) scale(1.05)}.carousel-btn.left{left:10px}.carousel-btn.right{right:10px}.carousel-btn.at-edge:disabled,.carousel-btn:disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.carousel-container:hover .carousel-btn.at-edge:not(:disabled){opacity:1}.carousel-btn svg{width:24px;height:24px;flex-shrink:0}@media (max-width:1024px){.carousel-title{font-size:22px;height:28px}}@media (max-width:900px){.carousel-header{padding:0 clamp(12px,5vw,24px)}.carousel-title-skeleton{height:26px;width:160px}.carousel-btn.left{left:0;width:36px;height:36px}.carousel-btn.right{right:0;width:36px;height:36px}.carousel-btn svg{width:20px;height:20px}.carousel-window{padding-left:clamp(12px,5vw,24px);padding-right:clamp(12px,5vw,24px);margin-left:calc(-1 * clamp(12px, 5vw, 24px));margin-right:calc(-1 * clamp(12px, 5vw, 24px))}.carousel-container:after,.carousel-container:before{width:150px}}@media (max-width:820px){.carousel-title{font-size:20px;height:auto}.carousel-window{padding-left:24px;padding-right:24px;margin-left:-24px;margin-right:-24px}}@media (max-width:640px){.carousel-title{font-size:18px;height:auto}.carousel-header{padding:0 clamp(12px,5vw,16px)}.carousel-title-skeleton{height:22px;width:120px}.carousel-btn.left{left:0;width:32px;height:32px}.carousel-btn.right{right:0;width:32px;height:32px}.carousel-btn svg{width:18px;height:18px}.carousel-window{gap:16px;padding-left:16px;padding-right:16px;margin-left:-16px;margin-right:-16px}.carousel-container:after,.carousel-container:before{width:120px}}@media (max-width:420px){.carousel-title{font-size:16px}}