@font-face{font-family:DM Sans;src:url(/fonts/dm-sans-latin.woff2)format("woff2");font-weight:100 1000;font-style:normal;font-display:swap}:root{--paper:#fff;--ink:#242424;--muted:#929292;--line:#efefef;--hover:#f5f5f5;--selection:#b6b6b6;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light}*{box-sizing:border-box}html,body{overscroll-behavior:none;width:100%;height:100%;margin:0;overflow:hidden}body,button,input{color:var(--ink);-webkit-font-smoothing:antialiased;font-family:DM Sans,Arial,sans-serif;font-size:13px}button,a,input{-webkit-tap-highlight-color:transparent}button{cursor:pointer;background:0 0;border:0;padding:0}button:disabled{opacity:.35;cursor:default}button,a{touch-action:manipulation}button:focus-visible,a:focus-visible{outline-offset:4px;border-radius:5px;outline:2px solid #777}input:focus{outline:none}svg{flex-shrink:0}.canvas{background-color:var(--paper);background-image:linear-gradient(to right, var(--line) 1px, transparent 1px), linear-gradient(to bottom, var(--line) 1px, transparent 1px);touch-action:none;-webkit-user-select:none;user-select:none;cursor:default;background-size:256px 256px;position:fixed;inset:0;overflow:clip;container-type:inline-size}.canvas.hand-mode{cursor:grab}.canvas.is-panning,.canvas.is-panning *{cursor:grabbing!important}.world,.details-world{transform-origin:0 0;will-change:transform;width:0;height:0;position:absolute;top:0;left:0}.details-world{z-index:4;pointer-events:none}.product-tile{--tile-unit:calc(var(--grid-size) / 256);width:var(--grid-size);height:var(--grid-size);padding:calc(21 * var(--tile-unit));cursor:grab;transform-origin:0 0;isolation:isolate;justify-content:center;align-items:center;transition:transform .2s cubic-bezier(.2,.75,.25,1);display:flex;position:absolute;top:0;left:0}.product-image{pointer-events:none;width:100%;height:100%;transition:scale .18s;display:block;position:relative}.product-tile img{object-fit:contain;pointer-events:none;mix-blend-mode:multiply;width:100%;height:100%;position:absolute;inset:0}.product-image img[data-image-ready=false]{opacity:0}.read-only .product-tile,.arranged-view .product-tile{cursor:pointer}.read-only .image-indicator{display:none}.product-tile:hover .product-image{scale:1.025}.product-tile.has-processed-image img{mix-blend-mode:normal}.image-indicator{right:calc(18 * var(--tile-unit));bottom:calc(18 * var(--tile-unit));color:var(--muted);pointer-events:none;display:flex;position:absolute}.image-indicator>svg{width:calc(13 * var(--tile-unit));height:calc(13 * var(--tile-unit))}.connection-page{background:var(--paper);place-items:center;min-height:100%;padding:28px;display:grid;overflow:auto}.connection-panel{width:min(100%,350px)}.connection-back{color:var(--muted);align-items:center;gap:8px;margin-bottom:40px;font-size:12px;text-decoration:none;display:inline-flex}.connection-panel h1{letter-spacing:-.7px;margin:0 0 14px;font-size:23px;font-weight:500}.connection-panel p{color:var(--muted);margin:0 0 26px;font-size:12px;line-height:1.7}.connection-panel label{margin-bottom:10px;font-size:11px;display:block}.connection-panel input{background:var(--paper);border:1px solid var(--selection);border-radius:7px;width:100%;padding:13px 14px}.connection-panel input:focus-visible{outline:2px solid var(--selection);outline-offset:3px}.connection-submit{background:var(--ink);width:100%;color:var(--paper);border-radius:7px;justify-content:center;align-items:center;gap:8px;margin-top:14px;padding:13px;font-size:12px;text-decoration:none;display:flex}.connection-panel .connection-error{color:var(--ink);margin-top:18px}.product-tile.is-selected{z-index:2}.product-tile.is-dragging{z-index:5;transition:none}.product-tile.is-dragging .product-image{filter:drop-shadow(0 calc(10 * var(--tile-unit)) calc(12 * var(--tile-unit)) #0000000a);scale:1.045}.image-failed{justify-content:center;align-items:center;gap:calc(16 * var(--tile-unit));color:#999;width:100%;height:100%;padding:calc(20 * var(--tile-unit));font-size:calc(11 * var(--tile-unit));background:#fafafa;flex-direction:column;display:flex}.image-failed>svg{width:calc(26 * var(--tile-unit));height:calc(26 * var(--tile-unit))}.bottom-bar{bottom:max(28px, env(safe-area-inset-bottom));z-index:10;pointer-events:none;justify-content:center;align-items:center;height:48px;display:flex;position:absolute;left:12px;right:12px}.bottom-bar>*{pointer-events:auto}.toolbar{-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#ffffffed;border:0;border-radius:12px;align-items:center;gap:2px;height:48px;padding:6px;display:flex;box-shadow:0 18px 80px 8px #00000024,0 6px 30px #0000000a}.toolbar-brand img{pointer-events:none;display:block}.collection-controls>button{position:relative}.filter-dot{background:#555;border-radius:50%;width:4px;height:4px;position:absolute;top:5px;right:5px}.collection-panel{cursor:default;touch-action:pan-y;overscroll-behavior:contain;background:#fff;border-radius:14px;width:min(340px,100vw - 32px);max-height:calc(100dvh - 116px);padding:16px;animation:.14s ease-out both appear;position:absolute;bottom:60px;left:50%;overflow-y:auto;transform:translate(-50%);box-shadow:0 16px 60px #0000001a,0 2px 12px #00000006}.collection-search{color:#999;align-items:center;gap:9px;margin:-5px -5px 16px 0;display:flex}.collection-search input{background:0 0;border:0;flex:1;width:0;padding:7px 0;font-size:12px}.collection-fields{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px 14px;display:grid}.collection-fields label{color:#929292;flex-direction:column;gap:6px;font-size:10px;display:flex}.collection-fields select{color:#444;text-overflow:ellipsis;cursor:pointer;background:#f6f6f6;border:0;border-radius:6px;width:100%;min-width:0;padding:9px 7px;font:11px DM Sans,Arial,sans-serif}.collection-fields select:focus-visible,.collection-search input:focus-visible{outline-offset:3px;outline:1px solid #999}.collection-sort{grid-column:1/-1}.collection-summary{color:#999;justify-content:space-between;align-items:center;margin-top:20px;font-size:10px;display:flex}.collection-summary button,.collection-hint button,.collection-empty button{font-size:inherit;color:#555;text-underline-offset:3px;text-decoration:underline}.collection-hint{color:#999;justify-content:space-between;gap:12px;margin:14px 0 0;font-size:10px;line-height:1.5;display:flex}.collection-empty{text-align:center;z-index:5;color:#888;font-size:12px;position:absolute;top:45%;left:50%;translate:-50% -50%}.collection-empty button{font-size:11px}.icon-button{color:#777;border-radius:7px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;text-decoration:none;transition:color .12s,background .12s;display:inline-flex}.icon-button:hover{color:#222;background:#f1f1f1}.icon-button.active{color:#333;background:#f1f1f1}.tool-divider{background:#eaeaea;width:1px;height:16px;margin:0 5px}.zoom-step{width:25px}.zoom-label{font-variant-numeric:tabular-nums;color:#606060;width:44px;height:34px;font-size:10px}.zoom-label span{color:#a1a1a1;margin-left:1px}.product-error a{width:fit-content;color:inherit;text-underline-offset:3px;align-items:center;gap:3px;margin-top:5px;display:flex}.image-processing-failed{color:#a56a46}.toast>a{color:inherit;white-space:nowrap;text-underline-offset:3px}.toast{z-index:50;background:#fff;border:1px solid #e9e9e9;border-radius:8px;align-items:center;gap:10px;width:max-content;max-width:calc(100% - 32px);padding:6px 8px 6px 16px;font-size:11px;line-height:1.6;display:flex;position:absolute;top:28px;left:50%;transform:translate(-50%);box-shadow:0 4px 16px #00000005}.visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.spin{animation:.9s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}@keyframes appear{0%{opacity:0;translate:0 4px}to{opacity:1;translate:0}}@media (max-width:640px){.bottom-bar{left:16px;right:16px;bottom:max(22px, env(safe-area-inset-bottom))}.toolbar{gap:0}.tool-divider{margin:0 3px}.icon-button{width:32px}.zoom-step{width:22px}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition:none!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.product-tile{content-visibility:auto;contain-intrinsic-size:var(--grid-size) var(--grid-size)}.product-tile.has-render{padding:calc(24 * var(--tile-unit))}.product-tile.has-render img{mix-blend-mode:normal;border-radius:calc(3 * var(--tile-unit))}.help-button{font-size:15px;font-weight:400}.icon-button:active{scale:.95}.edge-blur{z-index:3;pointer-events:none;opacity:0;width:100%;height:100%;position:absolute;inset:0}.edge-blur[data-ready=true]{opacity:1}.help-dialog{width:min(360px,100vw - 40px);max-height:calc(100dvh - 40px);color:var(--ink);cursor:default;touch-action:pan-y;-webkit-user-select:text;user-select:text;overscroll-behavior:contain;background:#fff;border:1px solid #eaeaea;border-radius:16px;margin:auto;padding:22px 26px 24px;box-shadow:0 16px 72px #00000008,0 2px 8px #00000003}.help-dialog[open]{animation:.18s cubic-bezier(.2,.75,.25,1) both dialog-appear}.help-dialog::backdrop{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#ffffffa8}.help-heading{justify-content:space-between;align-items:center;margin:0 -7px 18px 0;display:flex}.help-heading h2{letter-spacing:-.2px;margin:0;font-size:14px;font-weight:500}.help-dialog dl{margin:22px 0;font-size:11px}.help-dialog dl div{justify-content:space-between;gap:12px;margin:16px 0;display:flex}.help-dialog dt{color:#777}.help-dialog dd{color:#999;text-align:right;margin:0;font-size:10px}.extension-download{color:var(--ink);border:1px solid var(--line);border-radius:7px;justify-content:space-between;align-items:center;gap:12px;padding:13px 14px;font-size:12px;text-decoration:none;transition:background .12s;display:flex}.extension-download:hover{background:var(--hover)}.help-storage{border-top:1px solid var(--line);padding-top:16px}.help-storage p{color:var(--muted);margin:0 0 12px;font-size:10px}.backup-actions{justify-content:space-between;gap:16px;display:flex}.backup-actions button{color:#666;align-items:center;gap:7px;padding:5px 0;font-size:11px;display:flex}.publish-collection{align-items:center;gap:8px;padding:10px 0 20px;font-size:11px;display:flex}.toast-action{white-space:nowrap;text-underline-offset:3px;font-size:inherit;text-decoration:underline}.gateway-link{color:var(--muted);align-items:center;gap:6px;width:fit-content;margin-top:24px;font-size:10px;text-decoration:none;display:flex}.gateway-link:hover{color:var(--ink)}@keyframes dialog-appear{0%{opacity:0;transform:translateY(5px)scale(.985)}to{opacity:1;transform:none}}.product-details{--inverse-zoom:1;--cell-width:1200px;z-index:4;pointer-events:none;transition:transform .2s cubic-bezier(.2,.75,.25,1);position:absolute;top:0;left:0}.details-corner{width:min(260px, calc((var(--cell-width) - 64px) / 2));transform:scale(var(--inverse-zoom));pointer-events:auto;cursor:default;-webkit-user-select:text;user-select:text;animation:.18s ease-out both details-appear;position:absolute}.product-details.is-closing .details-corner{pointer-events:none;animation:.14s ease-out both details-disappear}.details-top-left{top:calc(20px * var(--inverse-zoom));left:calc(20px * var(--inverse-zoom));transform-origin:0 0}.details-top-right{top:calc(15px * var(--inverse-zoom));right:calc(15px * var(--inverse-zoom));transform-origin:100% 0;justify-content:flex-end;align-items:center;gap:14px;display:flex}.details-bottom-left{bottom:calc(20px * var(--inverse-zoom));left:calc(20px * var(--inverse-zoom));transform-origin:0 100%}.details-bottom-right{bottom:calc(15px * var(--inverse-zoom));right:calc(15px * var(--inverse-zoom));transform-origin:100% 100%;text-align:right}.details-brand{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin:0 0 6px;font-size:10px;overflow:hidden}.details-top-left h1{letter-spacing:-.15px;overflow-wrap:anywhere;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:13px;font-weight:450;line-height:1.45;display:-webkit-box;overflow:hidden}.details-price{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;margin:0;font-size:12px;line-height:1.4}.details-variant,.details-category{white-space:nowrap;text-overflow:ellipsis;margin:0 0 4px;font-size:10px;line-height:1.5;overflow:hidden}.details-category{color:var(--muted)}.product-source{color:#777;align-items:center;gap:5px;max-width:100%;margin-top:4px;font-size:10px;text-decoration:none;display:inline-flex}.product-source span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.product-source:hover{color:var(--ink)}.details-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:4px;display:flex}.details-corner .icon-button{color:#999;width:28px;height:28px}.details-corner .icon-button:hover{color:var(--ink);background:0 0}.image-working{width:28px;height:28px;color:var(--muted);place-items:center;display:grid}.product-error{margin:0 5px 10px;font-size:10px;line-height:1.55}.product-error a{margin-left:auto}@keyframes details-appear{0%{opacity:0}to{opacity:1}}@keyframes details-disappear{0%{opacity:1}to{opacity:0}}@container (max-width:360px){.tool-select,.tool-pan,.zoom-step,.tool-divider{display:none}}@media (prefers-reduced-transparency:reduce){.edge-blur{display:none}.help-dialog::backdrop{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fffffff5}.toolbar{-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff}}
