vorug-infinite-collection{--vic-paper:#fff;--vic-ink:#272820;--vic-muted:#e6e3dc;position:fixed;inset:0;z-index:1000;display:block;background:var(--vic-paper);color:var(--vic-ink);font-family:var(--accent-font-family,Manrope,sans-serif);font-size:13px;isolation:isolate}
.vic-viewport{position:absolute;inset:0;z-index:0;overflow:clip;touch-action:pinch-zoom;cursor:grab;outline-offset:-5px}
.vic-viewport.is-dragging{cursor:grabbing}
.vic-field{position:absolute;inset:0;user-select:none}
.vic-image{position:absolute;top:0;left:0;display:block;border:0;border-radius:0;background:transparent;color:inherit;-webkit-user-drag:none}
.vic-image img{width:100%;height:100%;display:block;object-fit:contain;pointer-events:none;}
.vic-image:focus-visible{outline:2px solid var(--vic-ink);outline-offset:-6px;z-index:2}
.vic-filters{position:absolute;z-index:2;bottom:max(24px,env(safe-area-inset-bottom));left:50%;transform:translateX(-50%);display:flex;flex-direction:column;align-items:center;gap:8px;max-width:calc(100% - 240px);pointer-events:none}
.vic-row{display:flex;align-items:center;gap:4px;padding:5px;max-width:100%;overflow-x:auto;scrollbar-width:none;background:#faf9f6;border-radius:32px;box-shadow:0 3px 18px #27282012;pointer-events:auto}
.vic-row::-webkit-scrollbar{display:none}
vorug-infinite-collection button{appearance:none;flex-shrink:0;border:0;border-radius:24px;min-height:40px;padding:0 17px;background:transparent;color:var(--vic-ink);font:inherit;line-height:1.3;cursor:pointer;white-space:nowrap;transition:background-color 160ms ease-out,color 160ms ease-out}
vorug-infinite-collection button:hover{background:var(--vic-muted)}
vorug-infinite-collection button[aria-pressed=true]{background:var(--vic-ink);color:#fff}
vorug-infinite-collection button:focus-visible,.vic-viewport:focus-visible{outline:2px solid var(--vic-ink);outline-offset:3px}
.vic-shapes{position:absolute;z-index:2;left:24px;bottom:max(24px,env(safe-area-inset-bottom));display:flex;flex-direction:column;gap:4px;padding:5px;background:#faf9f6;border-radius:28px;box-shadow:0 3px 18px #27282012}
.vic-shapes button{min-width:76px}
.vic-notice{position:absolute;z-index:3;left:50%;top:45%;transform:translate(-50%,-50%);text-align:center;width:min(90%,360px)}
.vic-notice[hidden],[data-load-error][hidden]{display:none}
.vic-notice p{margin-bottom:16px}.vic-notice button{background:var(--vic-muted)}
.vic-error{position:absolute;z-index:3;top:20px;left:50%;transform:translateX(-50%);background:#faf9f6;padding:12px 18px;border-radius:24px;color:var(--vic-ink)}
.vic-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:700px){.vic-filters{left:110px;right:12px;transform:none;max-width:none;align-items:flex-start;bottom:max(16px,env(safe-area-inset-bottom))}.vic-row{width:100%;box-sizing:border-box}.vic-shapes{left:12px;bottom:max(16px,env(safe-area-inset-bottom))}.vic-shapes button{min-width:70px;padding:0 12px}vorug-infinite-collection button{min-height:44px;padding:0 14px}}
@media(prefers-reduced-motion:reduce){vorug-infinite-collection button{transition:none}}
@media(forced-colors:active){.vic-row,.vic-shapes{border:1px solid CanvasText}vorug-infinite-collection button[aria-pressed=true]{outline:2px solid Highlight}}
/* Round color samples and botanical rug emblems, informed by the Vorug peacock. */
.vic-row[data-filter=color]{gap:3px;padding:5px 8px}
vorug-infinite-collection .vic-swatch-button{position:relative;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border-radius:50%}
vorug-infinite-collection .vic-swatch-button[aria-pressed=true]{background:transparent;color:var(--vic-ink)}
.vic-swatch{position:relative;display:block;width:28px;height:28px;border-radius:50%;background-color:var(--sample-color);box-shadow:inset 0 0 0 1px #27282020;overflow:hidden}
.vic-swatch::after{content:"";position:absolute;inset:0;border-radius:inherit;background-image:repeating-linear-gradient(0deg,transparent 0 2px,#fff3 2px 3px),repeating-linear-gradient(90deg,transparent 0 2px,#27282014 2px 3px);pointer-events:none}
.vic-swatch--multi{background:conic-gradient(#728caa 0deg 90deg,#c9834e 90deg 180deg,#7d8a64 180deg 270deg,#d4b259 270deg)}
.vic-swatch--all{background:conic-gradient(#d4c3a6 0deg 90deg,#728caa 90deg 180deg,#806044 180deg 270deg,#f0e7d6 270deg)}
.vic-swatch--all::after{inset:7px;background:#faf9f6;box-shadow:0 0 0 1px #27282012}
.vic-swatch-button[aria-pressed=true]::before{content:"";position:absolute;inset:3px;border:1.5px solid #69724D;border-radius:50%}
vorug-infinite-collection .vic-shape-button{display:grid;place-items:center;min-width:54px;width:54px;height:62px;padding:3px 8px;color:#69724D;border-radius:24px}
.vic-shape-button svg{display:block;width:40px;height:48px}
vorug-infinite-collection .vic-shape-button[aria-pressed=true]{background:#69724D;color:#faf9f6}
@media(max-width:700px){.vic-filters{left:88px}.vic-shapes{border-radius:30px}.vic-row[data-filter=color]{width:auto;max-width:100%;box-sizing:border-box}}
@media(forced-colors:active){.vic-swatch{forced-color-adjust:none}.vic-swatch-button[aria-pressed=true]::before{border-color:Highlight}.vic-shape-button svg{forced-color-adjust:auto}}
/* Filter swaps use a short, interruptible crossfade; dragging remains direct. */
.vic-departing{pointer-events:none!important;z-index:1}
.vic-image img{transition:opacity 180ms ease-out}
.vic-image img.vic-image-pending{opacity:0}
@media(prefers-reduced-motion:reduce){.vic-image img{transition:none}}
