.Canvas-module__09yLxq__canvasContainer{background-color:var(--background);touch-action:none;width:100vw;height:100dvh;position:relative;overflow:hidden}.Canvas-module__09yLxq__gridOverlay{pointer-events:none;background-image:radial-gradient(var(--border)1px,transparent 1px);will-change:background-position,background-size;background-position:0 0;background-size:20px 20px;position:absolute;inset:0}.Canvas-module__09yLxq__contentLayer{transform-origin:0 0;will-change:transform;position:absolute;top:0;left:0}
.Toolbar-module__cTID5a__toolbarWrapper{pointer-events:none;z-index:100;justify-content:center;width:100%;display:flex;position:absolute;bottom:32px;left:0}.Toolbar-module__cTID5a__dock{-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);pointer-events:auto;background:#ffffffbf;border-radius:24px;align-items:flex-end;gap:8px;height:60px;padding:8px 12px;display:flex;box-shadow:0 8px 32px #0000001f,0 1px 2px #00000014}@media (prefers-color-scheme:dark){.Toolbar-module__cTID5a__dock{background:#282828bf;box-shadow:0 8px 32px #0000004d,0 1px 2px #0003}}.Toolbar-module__cTID5a__dockItem{color:var(--foreground);cursor:pointer;transform-origin:bottom;--scale:1;width:calc(44px*var(--scale));height:calc(44px*var(--scale));will-change:width,height;background:0 0;border:none;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:2px;transition:width .15s ease-out,height .15s ease-out,background .2s cubic-bezier(.25,1,.5,1);display:flex;position:relative}.Toolbar-module__cTID5a__dockItem:hover{background:#0000000d}@media (prefers-color-scheme:dark){.Toolbar-module__cTID5a__dockItem:hover{background:#ffffff1a}}.Toolbar-module__cTID5a__dockItem svg{width:calc(20px*var(--scale));height:calc(20px*var(--scale));stroke-width:2.2px;transition:width .15s ease-out,height .15s ease-out}.Toolbar-module__cTID5a__scaleText{font-size:calc(.875rem*var(--scale));font-variant-numeric:tabular-nums;font-weight:500;transition:font-size .15s ease-out}.Toolbar-module__cTID5a__toolbarBtnText{opacity:.9;font-size:10px;font-weight:500;line-height:1}.Toolbar-module__cTID5a__divider{background:var(--border);opacity:.6;align-self:flex-end;width:1px;height:32px;margin:0 4px 6px}.Toolbar-module__cTID5a__fileInput{display:none}.Toolbar-module__cTID5a__tooltip{background:var(--foreground);color:var(--background);opacity:0;visibility:hidden;pointer-events:none;white-space:nowrap;z-index:10;border-radius:8px;padding:6px 12px;font-size:.75rem;font-weight:600;transition:all .2s cubic-bezier(.25,1,.5,1);position:absolute;bottom:calc(100% + 8px);left:50%;transform:translate(-50%)scale(.8);box-shadow:0 4px 12px #00000026}.Toolbar-module__cTID5a__tooltip:after{content:"";border-style:solid;border-width:5px 5px 0;border-color:var(--foreground)transparent transparent transparent;position:absolute;top:100%;left:50%;transform:translate(-50%)}.Toolbar-module__cTID5a__dockItem:hover .Toolbar-module__cTID5a__tooltip{opacity:1;visibility:visible;transform:translate(-50%)scale(1)}@media (hover:none),(pointer:coarse){.Toolbar-module__cTID5a__dockItem{width:44px!important;height:44px!important}.Toolbar-module__cTID5a__dockItem svg{width:20px!important;height:20px!important}.Toolbar-module__cTID5a__scaleText{font-size:.875rem!important}}
.CanvasImageNode-module__neiDzq__nodeWrapper{box-shadow:none;transition:box-shadow var(--transition-fast);cursor:pointer;position:absolute;top:0;left:0}.CanvasImageNode-module__neiDzq__nodeWrapper:hover{box-shadow:0 0 0 2px #3b82f6}.CanvasImageNode-module__neiDzq__nodeWrapperSelected{box-shadow:0 0 0 3px #3b82f6}.CanvasImageNode-module__neiDzq__image{object-fit:contain;-webkit-user-select:none;user-select:none;width:100%;height:100%;display:block}.CanvasImageNode-module__neiDzq__nodeToolbar{-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);z-index:1000;background:#282828bf;border-radius:9999px;align-items:center;gap:4px;padding:6px 10px;display:flex;position:absolute;top:-16px;left:50%;box-shadow:0 8px 32px #0000004d,0 1px 2px #0003}@media (prefers-color-scheme:light){.CanvasImageNode-module__neiDzq__nodeToolbar{background:#ffffffd9;box-shadow:0 8px 32px #0000001f,0 1px 2px #00000014}}.CanvasImageNode-module__neiDzq__toolbarBtn{color:var(--foreground);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;width:44px;height:48px;padding:4px;transition:background .15s ease-out,color .15s ease-out;display:flex;position:relative}.CanvasImageNode-module__neiDzq__toolbarBtnText{opacity:.9;font-size:10px;font-weight:500;line-height:1}.CanvasImageNode-module__neiDzq__toolbarBtn:hover:not(:disabled){background:#0000000d}@media (prefers-color-scheme:dark){.CanvasImageNode-module__neiDzq__toolbarBtn:hover:not(:disabled){background:#ffffff1a}}.CanvasImageNode-module__neiDzq__toolbarBtn:disabled{opacity:.5;cursor:not-allowed}.CanvasImageNode-module__neiDzq__toolbarBtnDanger{color:#ef4444}.CanvasImageNode-module__neiDzq__toolbarBtnDanger:hover:not(:disabled){color:#fff;background:#ef4444}.CanvasImageNode-module__neiDzq__toolbarSeparator{background:var(--border);opacity:.6;width:1px;height:20px;margin:0 4px}.CanvasImageNode-module__neiDzq__tooltip{background:var(--foreground);color:var(--background);opacity:0;visibility:hidden;pointer-events:none;white-space:nowrap;z-index:1010;border-radius:6px;padding:6px 10px;font-size:.75rem;font-weight:600;transition:all .2s cubic-bezier(.25,1,.5,1);position:absolute;top:calc(100% + 8px);left:50%;transform:translate(-50%)scale(.8);box-shadow:0 4px 12px #00000026}.CanvasImageNode-module__neiDzq__tooltip:after{content:"";border-style:solid;border-width:0 5px 5px;border-color:transparent transparent var(--foreground)transparent;position:absolute;bottom:100%;left:50%;transform:translate(-50%)}.CanvasImageNode-module__neiDzq__toolbarBtn:hover .CanvasImageNode-module__neiDzq__tooltip{opacity:1;visibility:visible;transform:translate(-50%)scale(1)}@keyframes CanvasImageNode-module__neiDzq__spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.CanvasImageNode-module__neiDzq__spin{animation:1s linear infinite CanvasImageNode-module__neiDzq__spin}
.AIGenerateModal-module__nAGgXq__modalOverlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.AIGenerateModal-module__nAGgXq__modalContainer{background-color:var(--background);border-radius:var(--radius-lg);width:90%;max-width:500px;color:var(--foreground);box-shadow:var(--shadow-lg);border:none;flex-direction:column;gap:20px;padding:24px;display:flex}.AIGenerateModal-module__nAGgXq__modalHeader{justify-content:space-between;align-items:center;display:flex}.AIGenerateModal-module__nAGgXq__modalHeader h2{margin:0;font-size:1.25rem;font-weight:600}.AIGenerateModal-module__nAGgXq__closeBtn{color:var(--foreground);opacity:.6;cursor:pointer;transition:opacity var(--transition-fast);background:0 0;border:none;font-size:1.25rem}.AIGenerateModal-module__nAGgXq__closeBtn:hover{opacity:1}.AIGenerateModal-module__nAGgXq__inputArea{background-color:var(--background);border:1px solid var(--border);border-radius:var(--radius-md);flex-direction:column;gap:16px;padding:16px;display:flex}.AIGenerateModal-module__nAGgXq__imagePreviewContainer{border:1px dashed var(--border);border-radius:var(--radius-sm);background-color:var(--background);justify-content:center;align-items:center;width:80px;height:80px;display:flex;overflow:hidden}.AIGenerateModal-module__nAGgXq__imagePreview{object-fit:cover;width:100%;height:100%}.AIGenerateModal-module__nAGgXq__noImagePlaceholder{color:var(--foreground);opacity:.5;font-size:.75rem}.AIGenerateModal-module__nAGgXq__promptInput{color:var(--foreground);resize:none;background:0 0;border:none;outline:none;min-height:80px;font-size:1rem}.AIGenerateModal-module__nAGgXq__promptInput::placeholder{color:var(--foreground);opacity:.4}.AIGenerateModal-module__nAGgXq__styleSection h3{color:var(--foreground);margin:0 0 12px;font-size:1rem;font-weight:500}.AIGenerateModal-module__nAGgXq__styleListContainer{align-items:center;width:100%;display:flex;position:relative}.AIGenerateModal-module__nAGgXq__scrollBtn{background:var(--background);border:1px solid var(--border);width:32px;height:32px;color:var(--foreground);cursor:pointer;z-index:10;opacity:.9;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:all .2s;display:flex;position:absolute;top:50%;transform:translateY(-50%);box-shadow:0 4px 12px #0000001a}.AIGenerateModal-module__nAGgXq__scrollBtn:hover{opacity:1;background:var(--surface);transform:translateY(-50%)scale(1.05);box-shadow:0 6px 16px #00000026}.AIGenerateModal-module__nAGgXq__scrollBtn:active{transform:translateY(-50%)scale(.95)}.AIGenerateModal-module__nAGgXq__scrollLeftBtn{left:-16px}.AIGenerateModal-module__nAGgXq__scrollRightBtn{right:-16px}@media (max-width:768px){.AIGenerateModal-module__nAGgXq__scrollBtn{display:none}}.AIGenerateModal-module__nAGgXq__styleGrid{scrollbar-width:none;-ms-overflow-style:none;gap:8px;padding-bottom:8px;display:flex;overflow-x:auto}.AIGenerateModal-module__nAGgXq__styleGrid::-webkit-scrollbar{display:none}.AIGenerateModal-module__nAGgXq__styleCard{border-radius:var(--radius-lg);cursor:pointer;min-width:80px;transition:all var(--transition-fast);color:var(--foreground);opacity:.8;background:0 0;border:1px solid #0000;flex-direction:column;align-items:center;gap:6px;margin-top:8px;padding:8px;display:flex;position:relative}.AIGenerateModal-module__nAGgXq__styleCard:hover{opacity:1}.AIGenerateModal-module__nAGgXq__styleCardActive{opacity:1;background:0 0;border-color:#0000}.AIGenerateModal-module__nAGgXq__styleIconWrapper{width:64px;height:64px;transition:transform var(--transition-fast);border-radius:16px;justify-content:center;align-items:center;display:flex;position:relative}.AIGenerateModal-module__nAGgXq__styleCardActive .AIGenerateModal-module__nAGgXq__styleIconWrapper{transform:scale(.95)}.AIGenerateModal-module__nAGgXq__styleIcon{background:var(--background);border:1px solid var(--border);width:100%;height:100%;transition:all var(--transition-fast);box-shadow:var(--shadow-sm);z-index:1;border-radius:16px;justify-content:center;align-items:center;font-size:2.5rem;display:flex;position:relative}.AIGenerateModal-module__nAGgXq__styleImage{object-fit:cover;border-radius:15px;width:100%;height:100%}.AIGenerateModal-module__nAGgXq__styleCard:hover .AIGenerateModal-module__nAGgXq__styleIcon{box-shadow:var(--shadow-md);border-color:#aaa}.AIGenerateModal-module__nAGgXq__animatedDraw{pointer-events:none;z-index:2;width:72px;height:72px;position:absolute;top:-4px;left:-4px}.AIGenerateModal-module__nAGgXq__animatedDraw rect{fill:none;stroke:#85ff75;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:280;stroke-dashoffset:280px;animation:1.2s ease-in-out forwards AIGenerateModal-module__nAGgXq__drawBorder}@keyframes AIGenerateModal-module__nAGgXq__drawBorder{to{stroke-dashoffset:0}}.AIGenerateModal-module__nAGgXq__styleName{white-space:nowrap;font-size:.8rem}.AIGenerateModal-module__nAGgXq__newBadge{-webkit-backdrop-filter:blur(50px);color:var(--primary-foreground);border-radius:var(--radius-full);z-index:10;background:#85ff7599;border:1px solid #85ff7566;padding:2px 6px;font-size:.65rem;font-weight:600;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 4px #0000001a}.AIGenerateModal-module__nAGgXq__footer{flex-direction:column;gap:12px;margin-top:8px;display:flex}.AIGenerateModal-module__nAGgXq__topupSection{border-radius:var(--radius-md);border:1px solid var(--border);background:#8080800d;flex-direction:column;gap:8px;padding:12px;display:flex}.AIGenerateModal-module__nAGgXq__topupHint{opacity:.8;text-align:center;font-size:.85rem}.AIGenerateModal-module__nAGgXq__successText{color:#059669;text-align:center;font-size:.85rem}.AIGenerateModal-module__nAGgXq__generateBtn{color:var(--foreground);border-radius:var(--radius-full);cursor:pointer;width:100%;transition:opacity var(--transition-fast);text-align:center;background:#85ff75;border:none;justify-content:center;align-items:center;padding:12px 32px;font-size:1rem;font-weight:500;display:flex}.AIGenerateModal-module__nAGgXq__generateBtn:hover:not(:disabled){opacity:.9}.AIGenerateModal-module__nAGgXq__generateBtn:disabled{opacity:.5;cursor:not-allowed}.AIGenerateModal-module__nAGgXq__creditsInfo{border-radius:var(--radius-full);color:#92400e;background:linear-gradient(135deg,#fef3c7,#fde68a);align-items:center;gap:4px;padding:4px 12px;font-size:.9rem;font-weight:600;display:flex}.AIGenerateModal-module__nAGgXq__creditsIcon{font-size:.85rem}.AIGenerateModal-module__nAGgXq__loginSection{flex-direction:column;gap:12px;padding:20px 0;display:flex}.AIGenerateModal-module__nAGgXq__loginHint{text-align:center;opacity:.7;font-size:.9rem}.AIGenerateModal-module__nAGgXq__loginRow{gap:8px;display:flex}.AIGenerateModal-module__nAGgXq__loginInput{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--background);color:var(--foreground);outline:none;flex:1;padding:10px 14px;font-size:.9rem}.AIGenerateModal-module__nAGgXq__loginInput:focus{border-color:#3b82f6}.AIGenerateModal-module__nAGgXq__loginBtn{background:var(--accent);color:var(--accent-foreground);border-radius:var(--radius-md);white-space:nowrap;transition:opacity var(--transition-fast);padding:10px 20px;font-size:.9rem;font-weight:500}.AIGenerateModal-module__nAGgXq__loginBtn:hover:not(:disabled){opacity:.8}.AIGenerateModal-module__nAGgXq__errorText{color:#e53e3e;text-align:center;padding:0 4px;font-size:.85rem}.AIGenerateModal-module__nAGgXq__sectionHeader{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.AIGenerateModal-module__nAGgXq__sectionHeader h3{margin-bottom:0}
.PatternConfigModal-module__kvmeLW__modalOverlay{z-index:9999;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background-color:#0006;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.PatternConfigModal-module__kvmeLW__modalContainer{background-color:var(--background);border-radius:var(--radius-lg);width:90%;max-width:440px;color:var(--foreground);box-shadow:var(--shadow-lg);border:none;flex-direction:column;gap:20px;padding:24px;display:flex}.PatternConfigModal-module__kvmeLW__modalHeader{justify-content:space-between;align-items:center;display:flex}.PatternConfigModal-module__kvmeLW__modalHeader h2{margin:0;font-size:1.25rem;font-weight:600}.PatternConfigModal-module__kvmeLW__closeBtn{color:var(--foreground);opacity:.6;cursor:pointer;transition:opacity var(--transition-fast);border-radius:var(--radius-md);background:0 0;border:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:1.25rem;display:flex}.PatternConfigModal-module__kvmeLW__closeBtn:hover{opacity:1;background-color:var(--border)}.PatternConfigModal-module__kvmeLW__section{flex-direction:column;gap:12px;display:flex}.PatternConfigModal-module__kvmeLW__sectionTitle{color:var(--foreground);margin:0;font-size:.9rem;font-weight:500}.PatternConfigModal-module__kvmeLW__brandGroup{gap:8px;display:flex}.PatternConfigModal-module__kvmeLW__brandBtn{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--background);color:var(--foreground);cursor:pointer;transition:all var(--transition-fast);text-align:center;flex:1;padding:8px 16px;font-size:.9rem}.PatternConfigModal-module__kvmeLW__brandBtn:hover{background:#0000000d}.PatternConfigModal-module__kvmeLW__brandBtnActive{color:#3b82f6;background:#eef2ff;border-color:#3b82f6;font-weight:500}.PatternConfigModal-module__kvmeLW__selectInput{border-radius:var(--radius-md);border:1px solid var(--border);background-color:var(--background);width:100%;color:var(--foreground);cursor:pointer;appearance:none;outline:none;padding:10px 12px;font-size:.9rem}.PatternConfigModal-module__kvmeLW__selectInput:focus{border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.PatternConfigModal-module__kvmeLW__sizeHeader{justify-content:space-between;align-items:center;display:flex}.PatternConfigModal-module__kvmeLW__sizeMeta{align-items:center;gap:12px;display:flex}.PatternConfigModal-module__kvmeLW__aspectRatioText{color:var(--foreground);opacity:.6;font-size:.75rem}.PatternConfigModal-module__kvmeLW__linkBtn{cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;border-radius:4px;justify-content:center;align-items:center;padding:4px;display:flex}.PatternConfigModal-module__kvmeLW__linkBtn:hover{background:#0000000d}.PatternConfigModal-module__kvmeLW__linkBtnActive svg{stroke:#3b82f6}.PatternConfigModal-module__kvmeLW__linkBtnInactive svg{stroke:var(--foreground);opacity:.5}.PatternConfigModal-module__kvmeLW__sliderRow{flex-direction:column;gap:8px;display:flex}.PatternConfigModal-module__kvmeLW__sliderHeader{justify-content:space-between;align-items:center;display:flex}.PatternConfigModal-module__kvmeLW__sliderLabel{color:var(--foreground);opacity:.8;font-size:.85rem}.PatternConfigModal-module__kvmeLW__numberInputWrapper{align-items:center;gap:8px;display:flex}.PatternConfigModal-module__kvmeLW__numberInput{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--background);width:60px;color:var(--foreground);text-align:right;outline:none;padding:4px 8px;font-size:.85rem}.PatternConfigModal-module__kvmeLW__numberInput:focus{border-color:#3b82f6}.PatternConfigModal-module__kvmeLW__unit{color:var(--foreground);opacity:.6;font-size:.85rem}.PatternConfigModal-module__kvmeLW__rangeInput{appearance:none;background:var(--border);border-radius:3px;outline:none;width:100%;height:6px}.PatternConfigModal-module__kvmeLW__rangeInput::-webkit-slider-thumb{appearance:none;cursor:pointer;border:2px solid var(--background);background:#3b82f6;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0000004d}.PatternConfigModal-module__kvmeLW__rangeInput::-moz-range-thumb{cursor:pointer;border:2px solid var(--background);background:#3b82f6;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 3px #0000004d}.PatternConfigModal-module__kvmeLW__hintText{color:var(--foreground);opacity:.6;margin-top:4px;font-size:.75rem}.PatternConfigModal-module__kvmeLW__footer{border-top:1px solid var(--border);gap:12px;margin-top:8px;padding-top:20px;display:flex}.PatternConfigModal-module__kvmeLW__btn{border-radius:var(--radius-full);cursor:pointer;text-align:center;transition:all var(--transition-fast);border:none;flex:1;padding:10px 0;font-size:1rem;font-weight:500}.PatternConfigModal-module__kvmeLW__cancelBtn{border:1px solid var(--border);color:var(--foreground);background:0 0}.PatternConfigModal-module__kvmeLW__cancelBtn:hover{background:#0000000d}.PatternConfigModal-module__kvmeLW__confirmBtn{color:#111;background:#85ff75}.PatternConfigModal-module__kvmeLW__confirmBtn:hover{opacity:.9}
.PatternEditorModal-module__eI2uBa__overlay{background:var(--background);z-index:9999;flex-direction:column;animation:.2s ease-out PatternEditorModal-module__eI2uBa__fadeIn;display:flex;position:fixed;inset:0}@keyframes PatternEditorModal-module__eI2uBa__fadeIn{0%{opacity:0}to{opacity:1}}.PatternEditorModal-module__eI2uBa__modalViewport{border-radius:0;flex-direction:column;width:100%;height:100%;display:flex}.PatternEditorModal-module__eI2uBa__editorArea{background:#f3f4f6;flex:1;display:flex;position:relative;overflow:hidden}@media (prefers-color-scheme:dark){.PatternEditorModal-module__eI2uBa__editorArea{background:#111827}}.PatternEditorModal-module__eI2uBa__bottomToolbarContainer{pointer-events:none;z-index:100;justify-content:center;width:100%;display:flex;position:absolute;bottom:32px;left:0}.PatternEditorModal-module__eI2uBa__bottomToolbar{-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);pointer-events:auto;background:#ffffffd9;border-radius:9999px;align-items:center;gap:8px;height:60px;padding:8px 12px;display:flex;box-shadow:0 8px 32px #00000014,0 2px 8px #0000000a}@media (prefers-color-scheme:dark){.PatternEditorModal-module__eI2uBa__bottomToolbar{background:#1e1e1ed9;box-shadow:0 8px 32px #0000004d,0 2px 8px #0003}}@media (max-width:640px){.PatternEditorModal-module__eI2uBa__bottomToolbarContainer{padding-bottom:env(safe-area-inset-bottom,0px);justify-content:flex-start;bottom:0}.PatternEditorModal-module__eI2uBa__bottomToolbar{-webkit-overflow-scrolling:touch;scrollbar-width:none;touch-action:pan-x;border-bottom:none;border-left:none;border-right:none;border-radius:0;flex-wrap:nowrap;gap:4px;width:100%;padding:8px 16px;overflow:auto hidden}.PatternEditorModal-module__eI2uBa__bottomToolbar::-webkit-scrollbar{display:none}.PatternEditorModal-module__eI2uBa__bottomToolbar>*{flex-shrink:0}}.PatternEditorModal-module__eI2uBa__toolbarSeparator{background:var(--border);width:1px;height:32px;margin:0 4px}.PatternEditorModal-module__eI2uBa__left{align-items:center;gap:16px;display:flex}.PatternEditorModal-module__eI2uBa__iconBtn{width:44px;height:48px;color:var(--foreground);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;padding:4px;transition:all .2s;display:flex}.PatternEditorModal-module__eI2uBa__toolbarBtnText{opacity:.9;font-size:10px;font-weight:500;line-height:1}.PatternEditorModal-module__eI2uBa__iconBtn:hover:not(:disabled):not([data-active=true]){background:#0000000d}.PatternEditorModal-module__eI2uBa__iconBtn[data-active=true]:hover{background:#2563eb}.PatternEditorModal-module__eI2uBa__iconBtn[data-active=true]{color:#fff;background:#3b82f6}.PatternEditorModal-module__eI2uBa__iconBtn:disabled{opacity:.4;cursor:not-allowed}@media (prefers-color-scheme:dark){.PatternEditorModal-module__eI2uBa__iconBtn{color:var(--foreground)}.PatternEditorModal-module__eI2uBa__iconBtn:hover:not(:disabled):not([data-active=true]){background:#ffffff1a}}.PatternEditorModal-module__eI2uBa__title{margin:0;font-size:1.125rem;font-weight:600}.PatternEditorModal-module__eI2uBa__subtitle{color:#6b7280;font-size:.875rem;font-weight:500}@media (prefers-color-scheme:dark){.PatternEditorModal-module__eI2uBa__subtitle{color:#9ca3af}}.PatternEditorModal-module__eI2uBa__saveBtn{background:var(--foreground);color:var(--background);cursor:pointer;border:none;border-radius:9999px;align-items:center;gap:6px;padding:8px 16px;font-size:.875rem;font-weight:600;transition:transform .1s,opacity .2s;display:flex}.PatternEditorModal-module__eI2uBa__saveBtn:hover{opacity:.9;transform:scale(1.02)}.PatternEditorModal-module__eI2uBa__saveBtn:active{transform:scale(.98)}.PatternEditorModal-module__eI2uBa__canvasContainer{background:#f3f4f6;flex:1;position:relative;overflow:hidden;box-shadow:inset 0 0 20px #0000000d}@media (prefers-color-scheme:dark){.PatternEditorModal-module__eI2uBa__canvasContainer{background:#111827;box-shadow:inset 0 0 20px #00000080}}.PatternEditorModal-module__eI2uBa__canvasPlaceholder{color:#9ca3af;font-weight:500}.PatternEditorModal-module__eI2uBa__secondaryToolbarWrapper{-webkit-backdrop-filter:blur(16px);border:1px solid var(--border);z-index:110;background:#fffffff2;border-radius:12px;width:max-content;max-width:360px;padding:12px 4px 12px 12px;position:absolute;bottom:calc(100% + 16px);left:50%;transform:translate(-50%);box-shadow:0 4px 24px #0000001f}@media (max-width:640px){.PatternEditorModal-module__eI2uBa__secondaryToolbarWrapper{width:90vw;max-width:90vw;position:fixed;bottom:80px;left:50%;transform:translate(-50%)}}@media (prefers-color-scheme:dark){.PatternEditorModal-module__eI2uBa__secondaryToolbarWrapper{background:#1e1e1ef2;box-shadow:0 4px 24px #0006}}.PatternEditorModal-module__eI2uBa__paletteMenu{flex-direction:column;max-height:400px;display:flex}.PatternEditorModal-module__eI2uBa__paletteScrollArea{scrollbar-width:thin;scrollbar-color:#0003 transparent;padding-right:8px;overflow:hidden auto}.PatternEditorModal-module__eI2uBa__paletteScrollArea::-webkit-scrollbar{width:6px}.PatternEditorModal-module__eI2uBa__paletteScrollArea::-webkit-scrollbar-track{background:0 0}.PatternEditorModal-module__eI2uBa__paletteScrollArea::-webkit-scrollbar-thumb{background-color:#0003;border-radius:10px}@media (prefers-color-scheme:dark){.PatternEditorModal-module__eI2uBa__paletteScrollArea{scrollbar-color:#fff3 transparent}.PatternEditorModal-module__eI2uBa__paletteScrollArea::-webkit-scrollbar-thumb{background-color:#fff3}}.PatternEditorModal-module__eI2uBa__paletteColorBtn{cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000001a;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;padding:0;font-size:10px;font-weight:600;transition:transform .15s,box-shadow .15s;display:flex}.PatternEditorModal-module__eI2uBa__paletteColorBtn:hover{z-index:10;transform:scale(1.1)}.PatternEditorModal-module__eI2uBa__paletteColorBtn[data-active=true]{border-color:#0000;outline:none;box-shadow:0 0 0 3px #3b82f6}@media (prefers-color-scheme:dark){.PatternEditorModal-module__eI2uBa__paletteColorBtn{border:1px solid #ffffff1a}}.PatternEditorModal-module__eI2uBa__colorFilterBar{z-index:110;pointer-events:auto;animation:.2s ease-out PatternEditorModal-module__eI2uBa__filterSlideIn;position:absolute;top:0;left:0;right:0}@keyframes PatternEditorModal-module__eI2uBa__filterSlideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.PatternEditorModal-module__eI2uBa__colorFilterInner{-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);scrollbar-width:none;-webkit-overflow-scrolling:touch;background:#ffffffeb;align-items:center;gap:10px;padding:8px 16px;display:flex;overflow-x:auto;box-shadow:0 2px 12px #0000000f}.PatternEditorModal-module__eI2uBa__colorFilterInner::-webkit-scrollbar{display:none}@media (prefers-color-scheme:dark){.PatternEditorModal-module__eI2uBa__colorFilterInner{background:#1e1e1eeb;box-shadow:0 2px 12px #0000004d}}.PatternEditorModal-module__eI2uBa__colorFilterLabel{color:#6b7280;white-space:nowrap;flex-shrink:0;font-size:.75rem;font-weight:600}@media (prefers-color-scheme:dark){.PatternEditorModal-module__eI2uBa__colorFilterLabel{color:#9ca3af}}.PatternEditorModal-module__eI2uBa__colorFilterChips{flex-shrink:0;gap:6px;display:flex}.PatternEditorModal-module__eI2uBa__colorFilterChip{cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;border:2px solid #0000001f;border-radius:9999px;flex-shrink:0;align-items:center;gap:4px;padding:4px 10px;font-size:.7rem;font-weight:700;transition:all .15s;display:flex}.PatternEditorModal-module__eI2uBa__colorFilterChip:hover{transform:scale(1.05)}.PatternEditorModal-module__eI2uBa__colorFilterCount{opacity:.7;font-size:.65rem;font-weight:500}.PatternEditorModal-module__eI2uBa__opacitySlider{appearance:none;background:var(--border);cursor:pointer;border-radius:2px;outline:none;flex-shrink:0;width:80px;height:4px}.PatternEditorModal-module__eI2uBa__opacitySlider::-webkit-slider-thumb{appearance:none;cursor:pointer;background:#3b82f6;border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #0003}.PatternEditorModal-module__eI2uBa__opacitySlider::-moz-range-thumb{cursor:pointer;background:#3b82f6;border:2px solid #fff;border-radius:50%;width:16px;height:16px;box-shadow:0 1px 4px #0003}.PatternEditorModal-module__eI2uBa__refPickerOverlay{z-index:200;background:#0006;justify-content:center;align-items:center;animation:.15s ease-out PatternEditorModal-module__eI2uBa__fadeIn;display:flex;position:absolute;inset:0}.PatternEditorModal-module__eI2uBa__refPickerPanel{background:var(--background);border:1px solid var(--border);border-radius:12px;flex-direction:column;width:90%;max-width:400px;max-height:60vh;display:flex;overflow:hidden;box-shadow:0 16px 48px #0003}.PatternEditorModal-module__eI2uBa__refPickerHeader{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:12px 16px;font-size:.85rem;font-weight:600;display:flex}.PatternEditorModal-module__eI2uBa__refPickerClose{color:var(--foreground);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;width:24px;height:24px;display:flex}.PatternEditorModal-module__eI2uBa__refPickerClose:hover{background:#0000000d}.PatternEditorModal-module__eI2uBa__refPickerGrid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:8px;padding:12px;display:grid;overflow-y:auto}.PatternEditorModal-module__eI2uBa__refPickerItem{aspect-ratio:1;cursor:pointer;background:0 0;border:2px solid #0000;border-radius:8px;padding:0;transition:all .15s;overflow:hidden}.PatternEditorModal-module__eI2uBa__refPickerItem:hover{border-color:#3b82f6;transform:scale(1.03)}.PatternEditorModal-module__eI2uBa__refPickerThumb{object-fit:cover;width:100%;height:100%;display:block}.PatternEditorModal-module__eI2uBa__refPickerEmpty{text-align:center;color:#9ca3af;grid-column:1/-1;padding:24px;font-size:.8rem}.PatternEditorModal-module__eI2uBa__refFloatingPanel{z-index:120;background:var(--background);border:1px solid var(--border);resize:both;border-radius:10px;width:200px;min-width:120px;min-height:100px;position:absolute;overflow:hidden;box-shadow:0 8px 32px #00000026}.PatternEditorModal-module__eI2uBa__refFloatingHeader{border-bottom:1px solid var(--border);cursor:grab;-webkit-user-select:none;user-select:none;touch-action:none;background:#00000008;align-items:center;gap:4px;padding:6px 8px;display:flex}.PatternEditorModal-module__eI2uBa__refFloatingHeader:active{cursor:grabbing}@media (prefers-color-scheme:dark){.PatternEditorModal-module__eI2uBa__refFloatingHeader{background:#ffffff0d}}.PatternEditorModal-module__eI2uBa__refDragHandle{color:#9ca3af;flex-shrink:0}.PatternEditorModal-module__eI2uBa__refFloatingTitle{color:#6b7280;flex:1;font-size:.7rem;font-weight:600}.PatternEditorModal-module__eI2uBa__refFloatingActions{gap:2px;display:flex}.PatternEditorModal-module__eI2uBa__refFloatingBtn{color:var(--foreground);cursor:pointer;background:0 0;border:none;border-radius:5px;justify-content:center;align-items:center;width:24px;height:24px;transition:background .15s;display:flex}.PatternEditorModal-module__eI2uBa__refFloatingBtn:hover{background:#00000014}@media (prefers-color-scheme:dark){.PatternEditorModal-module__eI2uBa__refFloatingBtn:hover{background:#ffffff1a}}.PatternEditorModal-module__eI2uBa__refFloatingBody{padding:0;overflow:hidden}.PatternEditorModal-module__eI2uBa__refFloatingImage{object-fit:contain;width:100%;display:block}.PatternEditorModal-module__eI2uBa__refOverlayControls{z-index:120;-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);color:var(--foreground);background:#ffffffeb;border-radius:8px;align-items:center;gap:8px;padding:6px 12px;display:flex;position:absolute;top:12px;right:12px;box-shadow:0 2px 8px #00000014}@media (prefers-color-scheme:dark){.PatternEditorModal-module__eI2uBa__refOverlayControls{background:#1e1e1eeb;box-shadow:0 2px 8px #0000004d}}.PatternEditorModal-module__eI2uBa__refOverlayLabel{color:#6b7280;min-width:30px;font-size:.7rem;font-weight:600}
.CropModal-module__i2UGsG__overlay{z-index:9999;background:#000000d9;flex-direction:column;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.CropModal-module__i2UGsG__header{color:#fff;z-index:10;justify-content:space-between;align-items:center;padding:12px 20px;display:flex;position:absolute;top:0;left:0;right:0}.CropModal-module__i2UGsG__title{font-size:.9rem;font-weight:600}.CropModal-module__i2UGsG__headerActions{gap:8px;display:flex}.CropModal-module__i2UGsG__headerBtn{cursor:pointer;border:none;border-radius:8px;align-items:center;gap:6px;padding:8px 16px;font-size:.8rem;font-weight:600;transition:all .15s;display:flex}.CropModal-module__i2UGsG__cancelBtn{color:#fff;background:#ffffff1a}.CropModal-module__i2UGsG__cancelBtn:hover{background:#fff3}.CropModal-module__i2UGsG__confirmBtn{color:#fff;background:#3b82f6}.CropModal-module__i2UGsG__confirmBtn:hover{background:#2563eb}.CropModal-module__i2UGsG__confirmBtn:disabled{opacity:.5;cursor:not-allowed}.CropModal-module__i2UGsG__canvasArea{-webkit-user-select:none;user-select:none;touch-action:none;cursor:crosshair;max-width:90vw;max-height:80vh;position:relative}.CropModal-module__i2UGsG__sourceImage{object-fit:contain;max-width:90vw;max-height:80vh;display:block}.CropModal-module__i2UGsG__cropOverlay{pointer-events:none;position:absolute;inset:0}.CropModal-module__i2UGsG__cropSelection{pointer-events:none;z-index:2;border:2px solid #fff;position:absolute;box-shadow:0 0 0 9999px #0000008c}.CropModal-module__i2UGsG__cropSelection:before{content:"";background:linear-gradient(90deg,#ffffff4d 1px,#0000 1px) 33.33% 0/33.33% 100%,linear-gradient(#ffffff4d 1px,#0000 1px) 0 33.33%/100% 33.33%;position:absolute;inset:0}.CropModal-module__i2UGsG__cropHandle{pointer-events:auto;z-index:3;cursor:grab;background:#fff;border-radius:50%;width:20px;height:20px;position:absolute;transform:translate(-50%,-50%);box-shadow:0 1px 4px #0006}.CropModal-module__i2UGsG__cropHandle:active{cursor:grabbing;transform:translate(-50%,-50%)scale(1.2)}.CropModal-module__i2UGsG__handleTL{cursor:nw-resize;top:0;left:0}.CropModal-module__i2UGsG__handleTR{cursor:ne-resize;top:0;right:0;transform:translate(50%,-50%)}.CropModal-module__i2UGsG__handleBL{cursor:sw-resize;bottom:0;left:0;transform:translate(-50%,50%)}.CropModal-module__i2UGsG__handleBR{cursor:se-resize;bottom:0;right:0;transform:translate(50%,50%)}.CropModal-module__i2UGsG__handleTR:active{transform:translate(50%,-50%)scale(1.2)}.CropModal-module__i2UGsG__handleBL:active{transform:translate(-50%,50%)scale(1.2)}.CropModal-module__i2UGsG__handleBR:active{transform:translate(50%,50%)scale(1.2)}.CropModal-module__i2UGsG__sizeIndicator{color:#fff;white-space:nowrap;pointer-events:none;z-index:3;background:#000000b3;border-radius:4px;padding:3px 8px;font-size:.7rem;position:absolute;bottom:-28px;left:50%;transform:translate(-50%)}.CropModal-module__i2UGsG__hint{color:#ffffff80;pointer-events:none;font-size:.8rem;position:absolute;bottom:20px;left:50%;transform:translate(-50%)}
.UserBadge-module__i9mXgq__badge{background:var(--background);border:1px solid var(--border);border-radius:var(--radius-full);box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none;align-items:center;gap:8px;padding:6px 14px;font-size:.8rem;font-weight:600;display:flex}.UserBadge-module__i9mXgq__tool,.UserBadge-module__i9mXgq__credits{align-items:center;gap:4px;display:flex}.UserBadge-module__i9mXgq__divider{opacity:.3;font-weight:300}
.Header-module__ldgnoG__header{z-index:50;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:0 0;justify-content:space-between;align-items:center;width:100%;height:60px;padding:0 24px;display:flex;position:fixed;top:0;left:0}.Header-module__ldgnoG__logoContainer{align-items:center;gap:12px;display:flex}.Header-module__ldgnoG__title{letter-spacing:-.025em;font-size:1.25rem;font-weight:700}.Header-module__ldgnoG__nav{gap:16px;display:flex}.Header-module__ldgnoG__link{transition:opacity var(--transition-fast);font-size:.875rem;font-weight:500}.Header-module__ldgnoG__link:hover{opacity:.7}.Header-module__ldgnoG__earLeft{transform-origin:-15px -35px;animation:4s ease-in-out infinite Header-module__ldgnoG__twitchLeft}.Header-module__ldgnoG__earRight{transform-origin:15px -35px;animation:5s ease-in-out infinite Header-module__ldgnoG__twitchRight}.Header-module__ldgnoG__eye{transform-origin:50%;animation:4s infinite Header-module__ldgnoG__blink}.Header-module__ldgnoG__tail{transform-origin:15px 30px;animation:3s ease-in-out infinite Header-module__ldgnoG__wag}@keyframes Header-module__ldgnoG__twitchLeft{0%,90%,to{transform:rotate(0)}92%{transform:rotate(-10deg)}94%,96%{transform:rotate(5deg)}98%{transform:rotate(-5deg)}}@keyframes Header-module__ldgnoG__twitchRight{0%,80%,to{transform:rotate(0)}82%,86%{transform:rotate(10deg)}84%{transform:rotate(-5deg)}}@keyframes Header-module__ldgnoG__blink{0%,96%,to{transform:scaleY(1)}98%{transform:scaleY(.1)}}@keyframes Header-module__ldgnoG__wag{0%,to{transform:rotate(0)}50%{transform:rotate(15deg)}}
.page-module___8aEwW__pageWrapper{background-color:var(--background);min-height:100vh;color:var(--foreground);font-family:var(--font-departure),var(--font-geist-sans),sans-serif;flex-direction:column;display:flex;position:relative;overflow:hidden}@keyframes page-module___8aEwW__softFadeUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.page-module___8aEwW__animate1,.page-module___8aEwW__animate2,.page-module___8aEwW__animate3{opacity:0;animation:1s cubic-bezier(.2,.8,.2,1) forwards page-module___8aEwW__softFadeUp}.page-module___8aEwW__animate1{animation-delay:.1s}.page-module___8aEwW__animate2{animation-delay:.3s}.page-module___8aEwW__animate3{animation-delay:.5s}.page-module___8aEwW__mainContainer{text-align:center;z-index:10;flex-direction:column;flex:1;justify-content:center;align-items:center;max-width:800px;margin:0 auto;padding:0 24px;display:flex;position:relative}.page-module___8aEwW__animationWrapper{width:100%;margin-bottom:32px}.page-module___8aEwW__hugeTitle{letter-spacing:-.02em;color:var(--foreground);margin:0 0 24px;font-size:clamp(2.5rem,6vw,4.5rem);font-weight:500;line-height:1.2}.page-module___8aEwW__description{color:var(--foreground);opacity:.6;max-width:600px;margin:0 0 48px;font-size:clamp(1.1rem,2vw,1.25rem);font-weight:400;line-height:1.6}.page-module___8aEwW__ctaButton{background-color:var(--foreground);color:var(--background);border-radius:9999px;justify-content:center;align-items:center;gap:12px;padding:16px 36px;font-size:1.125rem;font-weight:500;text-decoration:none;transition:all .3s;display:inline-flex;box-shadow:0 4px 14px #0000001a}.page-module___8aEwW__ctaButton:hover{background-color:#333;transform:translateY(-2px);box-shadow:0 6px 20px #0003}.page-module___8aEwW__ctaButton:active{transform:translateY(0)}.page-module___8aEwW__arrowIcon{transition:transform .3s}.page-module___8aEwW__ctaButton:hover .page-module___8aEwW__arrowIcon{transform:translate(4px)}.page-module___8aEwW__ambientGlow{pointer-events:none;z-index:1;background:radial-gradient(circle,#00000008 0%,#fff0 70%);width:600px;height:600px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}@media (prefers-color-scheme:dark){.page-module___8aEwW__ambientGlow{background:radial-gradient(circle,#ffffff0d 0%,#0000 70%)}.page-module___8aEwW__ctaButton:hover{background-color:#e0e0e0}}
.AnimatedBeads-module__evrlsG__svgContainer{width:100%;max-width:600px;height:auto;margin:0 auto;display:block;overflow:visible}.AnimatedBeads-module__evrlsG__beadCircle{fill:var(--background);stroke:none;opacity:0;cursor:pointer;transform-box:fill-box;transform-origin:50%;transition:filter .2s,stroke .2s;animation:.5s cubic-bezier(.34,1.56,.64,1) forwards AnimatedBeads-module__evrlsG__popInSvg}.AnimatedBeads-module__evrlsG__beadCircle:hover{filter:brightness(1.2);stroke:#fff;stroke-width:3px}.AnimatedBeads-module__evrlsG__dragging{z-index:100;transition:none}@keyframes AnimatedBeads-module__evrlsG__popInSvg{0%{opacity:0;transform:scale(0)}40%{opacity:1;transform:scale(1.3)}to{opacity:1;transform:scale(1)}}
