.UploadZone-module__1ujwBG__zone{cursor:pointer;background:var(--surface);min-height:17.5rem;box-shadow:inset 0 0 0 1px var(--border),var(--shadow-sm),0 0 2.5rem -.5rem #b76e790f;transition:box-shadow var(--duration-normal)var(--ease-out),background var(--duration-normal)var(--ease-out),transform var(--duration-normal)var(--ease-out);z-index:1;border:none;border-radius:1rem;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;width:100%;display:flex;position:relative}.UploadZone-module__1ujwBG__zone:hover{box-shadow:inset 0 0 0 1.5px var(--accent),var(--shadow-md),0 0 3rem -.25rem #b76e791a;transform:translateY(-.125rem)}.UploadZone-module__1ujwBG__zone:focus-visible{box-shadow:inset 0 0 0 1.5px var(--accent),var(--shadow-md);outline:none}.UploadZone-module__1ujwBG__dragging{box-shadow:inset 0 0 0 2px var(--brand),var(--shadow-lg),0 0 3.5rem -.25rem #c347181f;background:var(--brand-light);transform:translateY(-.125rem)scale(1.005)}.UploadZone-module__1ujwBG__uploadIcon{opacity:0;width:3rem;height:3rem;animation:UploadZone-module__1ujwBG__fadeSlideUp var(--duration-normal)var(--ease-out)both;transition:transform var(--duration-normal)var(--ease-out);margin-bottom:.4rem}.UploadZone-module__1ujwBG__zone:hover .UploadZone-module__1ujwBG__uploadIcon{transform:translateY(-2px)}.UploadZone-module__1ujwBG__label{color:var(--ink);animation:UploadZone-module__1ujwBG__fadeSlideUp var(--duration-normal)var(--ease-out)40ms both;font-size:.95rem;font-weight:400}.UploadZone-module__1ujwBG__hint{gap:calc(var(--unit)*.5);opacity:0;animation:UploadZone-module__1ujwBG__fadeSlideUp var(--duration-normal)var(--ease-out)60ms forwards;justify-content:center;align-items:center;display:flex}@keyframes UploadZone-module__1ujwBG__fadeSlideUp{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.UploadZone-module__1ujwBG__processing{color:var(--accent);font-size:.85rem;animation:1.2s ease-in-out infinite UploadZone-module__1ujwBG__processingPulse}@keyframes UploadZone-module__1ujwBG__processingPulse{0%,to{opacity:.6}50%{opacity:1}}.UploadZone-module__1ujwBG__dropText{color:var(--brand);animation:UploadZone-module__1ujwBG__fadeSlideUp var(--duration-normal)var(--ease-out)forwards;font-size:.85rem;font-weight:500}.UploadZone-module__1ujwBG__formatBadge{background:var(--surface-2);color:var(--muted);letter-spacing:.06em;border:none;border-radius:100px;margin:0 .125rem;padding:.125rem .5rem;font-size:.62rem;font-weight:500;display:inline-block}.UploadZone-module__1ujwBG__formatMore{color:var(--muted);letter-spacing:.04em;font-size:.62rem;font-weight:400}.UploadZone-module__1ujwBG__stitchOut{pointer-events:none;animation:.6s cubic-bezier(.4,0,0,1) forwards UploadZone-module__1ujwBG__zoneExit}.UploadZone-module__1ujwBG__transitionWrap{animation:UploadZone-module__1ujwBG__transitionIn .3s var(--ease-out)both;flex-direction:column;align-items:center;gap:.75rem;display:flex}.UploadZone-module__1ujwBG__progressRing{width:3rem;height:3rem}.UploadZone-module__1ujwBG__ringFill{transform-origin:50%;animation:.5s cubic-bezier(.4,0,.2,1) 50ms forwards UploadZone-module__1ujwBG__ringSweep;transform:rotate(-90deg)}.UploadZone-module__1ujwBG__transitionLabel{color:var(--accent);letter-spacing:.02em;font-size:.82rem;font-weight:500;animation:1s ease-in-out infinite UploadZone-module__1ujwBG__labelPulse}@keyframes UploadZone-module__1ujwBG__ringSweep{to{stroke-dashoffset:0}}@keyframes UploadZone-module__1ujwBG__transitionIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes UploadZone-module__1ujwBG__labelPulse{0%,to{opacity:.7}50%{opacity:1}}@keyframes UploadZone-module__1ujwBG__zoneExit{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.95)translateY(-8px)}}.UploadZone-module__1ujwBG__error{color:var(--danger);margin-top:calc(var(--unit)*1);animation:UploadZone-module__1ujwBG__errorFadeIn var(--duration-normal)var(--ease-out)forwards,UploadZone-module__1ujwBG__errorFadeOut .4s var(--ease-out)3.5s forwards;font-size:.72rem}@keyframes UploadZone-module__1ujwBG__errorFadeIn{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes UploadZone-module__1ujwBG__errorFadeOut{0%{opacity:1}to{opacity:0}}.UploadZone-module__1ujwBG__hidden{display:none}@media (prefers-reduced-motion:reduce){.UploadZone-module__1ujwBG__uploadIcon,.UploadZone-module__1ujwBG__label,.UploadZone-module__1ujwBG__hint,.UploadZone-module__1ujwBG__processing,.UploadZone-module__1ujwBG__error{opacity:1;animation:none}.UploadZone-module__1ujwBG__stitchOut{opacity:0;animation:none}.UploadZone-module__1ujwBG__transitionWrap{animation:none}.UploadZone-module__1ujwBG__ringFill{stroke-dashoffset:0;animation:none}.UploadZone-module__1ujwBG__transitionLabel{opacity:1;animation:none}}
.OptionControls-module__uPiqkq__controls{gap:calc(var(--unit)*2);flex-direction:column;display:flex}.OptionControls-module__uPiqkq__row{gap:calc(var(--unit)*1.5);flex-wrap:wrap;align-items:center;display:flex}.OptionControls-module__uPiqkq__chip{background:var(--surface-3);-webkit-backdrop-filter:blur(8px);border:1.5px solid var(--border);padding:calc(var(--unit)*.75)calc(var(--unit)*2.5);color:var(--ink-2);transition:background var(--duration-normal),color var(--duration-normal),border-color var(--duration-normal),box-shadow var(--duration-normal),transform var(--duration-fast);border-radius:100px;font-size:.82rem;font-weight:400}.OptionControls-module__uPiqkq__chip:hover{border-color:var(--accent);color:var(--ink);background:var(--accent-light)}.OptionControls-module__uPiqkq__chip:active{transform:scale(.96)}.OptionControls-module__uPiqkq__chip:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.OptionControls-module__uPiqkq__chip.OptionControls-module__uPiqkq__active{background:var(--accent);border-color:var(--accent);color:#fff;box-shadow:0 0 0 3px var(--accent-light),var(--shadow-sm);font-weight:500}@media (max-width:680px){.OptionControls-module__uPiqkq__chip{min-height:44px;padding:calc(var(--unit)*1.25)calc(var(--unit)*2.5);font-size:.85rem}}
.PatternView-module__P__5hW__wrapper{border:1px solid var(--border);border-radius:var(--radius-sm);transition:box-shadow var(--duration-fast);position:relative;overflow:auto}.PatternView-module__P__5hW__wrapper:hover{box-shadow:var(--shadow-sm)}.PatternView-module__P__5hW__canvas{touch-action:pan-x pan-y;display:block}
.PatternCard-module__deXXKq__card{gap:calc(var(--unit)*1.5);text-align:center;animation:PatternCard-module__deXXKq__cardEntrance var(--duration-slow)var(--ease-out)both;flex-direction:column;display:flex}.PatternCard-module__deXXKq__card:nth-child(2){animation-delay:60ms}.PatternCard-module__deXXKq__card:nth-child(3){animation-delay:.12s}@keyframes PatternCard-module__deXXKq__cardEntrance{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}.PatternCard-module__deXXKq__preview{border:2px dashed var(--border);border-radius:var(--radius);background:var(--surface);height:240px;box-shadow:var(--shadow-sm),0 0 2.5rem -.5rem #b76e790f;transition:box-shadow var(--duration-fast)var(--ease-out),transform var(--duration-fast)var(--ease-out);justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.PatternCard-module__deXXKq__preview:has(.PatternCard-module__deXXKq__miniPattern):hover{box-shadow:var(--shadow-lg),0 0 3rem -.25rem #b76e791a;transform:scale(1.015)}.PatternCard-module__deXXKq__preview:has(.PatternCard-module__deXXKq__miniPattern):active{transform:scale(.98)}.PatternCard-module__deXXKq__spinner{color:var(--muted);letter-spacing:.06em;font-size:.75rem;font-weight:300}.PatternCard-module__deXXKq__loading{background:linear-gradient(90deg,var(--surface)25%,var(--brand-light)50%,var(--surface)75%);background-size:200% 100%;animation:1.5s infinite PatternCard-module__deXXKq__shimmer}@keyframes PatternCard-module__deXXKq__shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.PatternCard-module__deXXKq__retry{color:var(--danger);text-underline-offset:3px;background:0 0;border:none;padding:0;font-size:.75rem;font-weight:400;text-decoration:underline}.PatternCard-module__deXXKq__error .PatternCard-module__deXXKq__preview{border:1px solid var(--danger);animation:PatternCard-module__deXXKq__errorShake .3s var(--ease-out)}@keyframes PatternCard-module__deXXKq__errorShake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.PatternCard-module__deXXKq__miniPattern{cursor:pointer;max-width:100%;max-height:100%;transition:opacity var(--duration-normal);background:0 0;border:none;justify-content:center;align-items:center;padding:0;line-height:0;display:flex}.PatternCard-module__deXXKq__miniPattern canvas{max-width:100%;max-height:100%;display:block}.PatternCard-module__deXXKq__miniPattern:hover{opacity:.9}.PatternCard-module__deXXKq__pick{letter-spacing:.06em;text-transform:uppercase;color:var(--accent);background:var(--accent-light);border-radius:999px;padding:2px 8px;font-size:.65rem;font-weight:600;position:absolute;top:8px;right:8px}.PatternCard-module__deXXKq__label{color:var(--ink);font-size:.85rem;font-weight:500}.PatternCard-module__deXXKq__dims{color:var(--muted);font-size:.7rem;font-weight:300}.PatternCard-module__deXXKq__optimal .PatternCard-module__deXXKq__preview{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent),var(--shadow-md),0 0 2.5rem -.5rem #b76e791a;transform:scale(1.02)}.PatternCard-module__deXXKq__optimal .PatternCard-module__deXXKq__preview:has(.PatternCard-module__deXXKq__miniPattern):hover{box-shadow:0 0 0 1px var(--accent),var(--shadow-lg),0 0 3rem -.25rem #b76e7924;transform:scale(1.02)}.PatternCard-module__deXXKq__optimal .PatternCard-module__deXXKq__label{color:var(--accent);font-weight:600}@media (max-width:680px){.PatternCard-module__deXXKq__preview{height:300px}}@media (prefers-reduced-motion:reduce){.PatternCard-module__deXXKq__card{animation:none}.PatternCard-module__deXXKq__loading{background:var(--surface-2);animation:none}.PatternCard-module__deXXKq__error .PatternCard-module__deXXKq__preview{animation:none}}
.ZoomPatternView-module__rgh0iG__container{cursor:grab;border-radius:var(--radius);background:var(--surface-2);outline:none;width:100%;height:100%;position:relative;overflow:hidden}.ZoomPatternView-module__rgh0iG__container:active{cursor:grabbing}.ZoomPatternView-module__rgh0iG__transformLayer{position:absolute;top:0;left:0}.ZoomPatternView-module__rgh0iG__canvas{display:block}.ZoomPatternView-module__rgh0iG__zoomIndicator{bottom:calc(var(--unit)*2);right:calc(var(--unit)*2);background:var(--surface-3);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--border);padding:calc(var(--unit)*.5)calc(var(--unit)*1.5);color:var(--muted);cursor:pointer;opacity:0;min-height:28px;transition:opacity var(--duration-normal)var(--ease-out),background var(--duration-fast),color var(--duration-fast);z-index:10;-webkit-user-select:none;user-select:none;border-radius:100px;justify-content:center;align-items:center;font-size:.7rem;font-weight:500;display:flex;position:absolute}.ZoomPatternView-module__rgh0iG__zoomIndicatorVisible{opacity:1}.ZoomPatternView-module__rgh0iG__zoomIndicator:hover{background:var(--accent-light);color:var(--ink);border-color:var(--accent)}.ZoomPatternView-module__rgh0iG__zoomIndicator:active{transform:scale(.95)}.ZoomPatternView-module__rgh0iG__zoomHint{top:calc(var(--unit)*2);background:var(--surface-3);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--border);padding:calc(var(--unit)*.5)calc(var(--unit)*2);color:var(--muted);opacity:0;transition:opacity var(--duration-slow)var(--ease-out);pointer-events:none;z-index:10;white-space:nowrap;border-radius:100px;font-size:.65rem;position:absolute;left:50%;transform:translate(-50%)}.ZoomPatternView-module__rgh0iG__zoomHintVisible{opacity:1}@media (prefers-reduced-motion:reduce){.ZoomPatternView-module__rgh0iG__zoomIndicator,.ZoomPatternView-module__rgh0iG__zoomHint{transition:none}}
.Legend-module__oIjfNa__heading{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:calc(var(--unit)*2);font-size:.68rem;font-weight:400}.Legend-module__oIjfNa__list{gap:calc(var(--unit)*1.5);flex-direction:column;list-style:none;display:flex}.Legend-module__oIjfNa__item{align-items:center;gap:calc(var(--unit)*1.5);padding:calc(var(--unit)*.5)calc(var(--unit)*1);border-radius:var(--radius-sm);transition:background var(--duration-fast);font-size:.78rem;display:flex}.Legend-module__oIjfNa__item:hover{background:var(--surface-2)}.Legend-module__oIjfNa__swatch{-webkit-print-color-adjust:exact;print-color-adjust:exact;width:16px;height:16px;transition:transform var(--duration-fast)var(--ease-out);border:1px solid #0000000f;border-radius:3px;flex-shrink:0}.Legend-module__oIjfNa__item:hover .Legend-module__oIjfNa__swatch{transform:scale(1.15)}.Legend-module__oIjfNa__symbol{text-align:center;width:16px;color:var(--muted);font-size:.72rem}.Legend-module__oIjfNa__code{color:var(--ink);min-width:68px;font-weight:500}.Legend-module__oIjfNa__name{color:var(--muted);flex:1;font-weight:300}.Legend-module__oIjfNa__count{color:var(--muted);margin-left:auto;font-size:.7rem;font-weight:300}.Legend-module__oIjfNa__iconBtn{cursor:pointer;opacity:.35;transition:opacity var(--duration-fast),transform var(--duration-fast);background:0 0;border:none;flex-shrink:0;padding:2px;font-size:.68rem;line-height:1}.Legend-module__oIjfNa__iconBtn:hover{opacity:.7;transform:scale(1.1)}.Legend-module__oIjfNa__active{opacity:1;color:var(--accent)}.Legend-module__oIjfNa__activeExclude{opacity:1;color:var(--danger,#dc2626)}.Legend-module__oIjfNa__excluded{opacity:.4}
.ThemeToggle-module__3b5zuq__toggle{border:1.5px solid var(--border);background:var(--surface);width:2.75rem;height:2.75rem;color:var(--ink-2);cursor:pointer;transition:border-color var(--duration-fast),background var(--duration-fast),color var(--duration-fast),transform var(--duration-fast);border-radius:50%;justify-content:center;align-items:center;display:flex}.ThemeToggle-module__3b5zuq__toggle:hover{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.ThemeToggle-module__3b5zuq__toggle:active{transform:scale(.92)}
.PrintDialog-module__4KKo0a__backdrop{z-index:30;animation:PrintDialog-module__4KKo0a__fadeIn var(--duration-normal)ease-out;background:#0000004d;position:fixed;inset:0}@keyframes PrintDialog-module__4KKo0a__fadeIn{0%{opacity:0}to{opacity:1}}.PrintDialog-module__4KKo0a__panel{background:var(--bg);border-left:1px solid var(--border);width:360px;box-shadow:var(--shadow-lg);z-index:31;animation:PrintDialog-module__4KKo0a__slideRight .28s var(--ease-out);flex-direction:column;display:flex;position:fixed;top:0;bottom:0;right:0;overflow-y:auto}@keyframes PrintDialog-module__4KKo0a__slideRight{0%{transform:translate(100%)}to{transform:translate(0)}}.PrintDialog-module__4KKo0a__sheet{background:var(--bg);border-top:1px solid var(--border);border-radius:var(--radius)var(--radius)0 0;z-index:31;max-height:80vh;animation:PrintDialog-module__4KKo0a__slideUp .28s var(--ease-out);flex-direction:column;display:flex;position:fixed;bottom:0;left:0;right:0;overflow-y:auto;box-shadow:0 -4px 20px #0000001f}@keyframes PrintDialog-module__4KKo0a__slideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.PrintDialog-module__4KKo0a__header{padding:calc(var(--unit)*2.5)calc(var(--unit)*3);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.PrintDialog-module__4KKo0a__title{color:var(--ink);font-size:.92rem;font-weight:600}.PrintDialog-module__4KKo0a__closeBtn{width:32px;height:32px;color:var(--muted);cursor:pointer;border-radius:var(--radius-sm);transition:background var(--duration-fast),color var(--duration-fast),transform var(--duration-fast);background:0 0;border:none;justify-content:center;align-items:center;font-size:1.2rem;display:flex}.PrintDialog-module__4KKo0a__closeBtn:hover{background:var(--surface-2);color:var(--ink)}.PrintDialog-module__4KKo0a__closeBtn:active{transform:scale(.92)}.PrintDialog-module__4KKo0a__content{padding:calc(var(--unit)*3);gap:calc(var(--unit)*3);flex-direction:column;display:flex}.PrintDialog-module__4KKo0a__thumbnail{aspect-ratio:4/3;border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface-2);width:100%;overflow:hidden}.PrintDialog-module__4KKo0a__thumbnailCanvas{object-fit:contain;width:100%;height:100%}.PrintDialog-module__4KKo0a__nameInput{width:100%;padding:calc(var(--unit)*1.5)calc(var(--unit)*2);border:1.5px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);transition:border-color var(--duration-fast),box-shadow var(--duration-fast);font-size:.85rem;font-weight:500}.PrintDialog-module__4KKo0a__nameInput:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light);outline:none}.PrintDialog-module__4KKo0a__breakdown{gap:calc(var(--unit)*.5);flex-direction:column;display:flex}.PrintDialog-module__4KKo0a__breakdownLabel{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);margin-bottom:calc(var(--unit)*.5);font-size:.72rem;font-weight:400}.PrintDialog-module__4KKo0a__breakdownRow{color:var(--ink-2);padding:calc(var(--unit)*.25)0;justify-content:space-between;align-items:center;font-size:.8rem;display:flex}.PrintDialog-module__4KKo0a__breakdownDivider{background:var(--border);height:1px;margin:calc(var(--unit)*.5)0}.PrintDialog-module__4KKo0a__breakdownTotal{color:var(--ink);padding:calc(var(--unit)*.25)0;justify-content:space-between;align-items:center;font-size:.82rem;font-weight:600;display:flex}.PrintDialog-module__4KKo0a__section{gap:calc(var(--unit)*1);flex-direction:column;display:flex}.PrintDialog-module__4KKo0a__sectionLabel{color:var(--ink-2);font-size:.75rem;font-weight:500}.PrintDialog-module__4KKo0a__paperToggle{gap:calc(var(--unit)*.75);display:flex}.PrintDialog-module__4KKo0a__paperBtn{padding:calc(var(--unit)*1.25);border:1.5px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast),border-color var(--duration-fast);color:var(--ink-2);background:0 0;flex:1;font-size:.78rem;font-weight:500}.PrintDialog-module__4KKo0a__paperBtn:hover{border-color:var(--accent)}.PrintDialog-module__4KKo0a__paperBtnActive{background:var(--accent);color:#fff;border-color:var(--accent)}.PrintDialog-module__4KKo0a__checkRow{align-items:center;gap:calc(var(--unit)*1.5);cursor:pointer;display:flex}.PrintDialog-module__4KKo0a__checkbox{width:18px;height:18px;accent-color:var(--accent);cursor:pointer}.PrintDialog-module__4KKo0a__checkLabel{color:var(--ink-2);cursor:pointer;-webkit-user-select:none;user-select:none;font-size:.8rem}.PrintDialog-module__4KKo0a__saveBtn{width:100%;padding:calc(var(--unit)*2.25);background:var(--accent);border-radius:var(--radius-sm);letter-spacing:.03em;color:#fff;cursor:pointer;min-height:48px;transition:background var(--duration-normal),transform var(--duration-fast),box-shadow var(--duration-normal);border:none;font-size:.88rem;font-weight:600}.PrintDialog-module__4KKo0a__saveBtn:hover:not(:disabled){background:var(--accent-hover);box-shadow:var(--shadow-md)}.PrintDialog-module__4KKo0a__saveBtn:active:not(:disabled){transform:scale(.98)}.PrintDialog-module__4KKo0a__saveBtnLoading{opacity:.7;cursor:wait}.PrintDialog-module__4KKo0a__progressWrap{background:var(--surface-2);border-radius:2px;width:100%;height:4px;overflow:hidden}.PrintDialog-module__4KKo0a__progressBar{background:var(--accent);border-radius:2px;height:100%;transition:width .3s ease-out}.PrintDialog-module__4KKo0a__progressLabel{color:var(--muted);text-align:center;font-size:.72rem}.PrintDialog-module__4KKo0a__errorMsg{color:var(--danger);text-align:center;padding:calc(var(--unit)*1.5);background:color-mix(in srgb,var(--danger)6%,transparent);border-radius:var(--radius-sm);font-size:.75rem}@media (prefers-reduced-motion:reduce){.PrintDialog-module__4KKo0a__backdrop,.PrintDialog-module__4KKo0a__panel,.PrintDialog-module__4KKo0a__sheet{animation:none}}
.ColorSwapPopover-module__dUR61a__popover{z-index:20;background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:calc(var(--unit)*2.5);min-width:200px;animation:ColorSwapPopover-module__dUR61a__popIn var(--duration-fast)var(--ease-bounce);position:absolute}@keyframes ColorSwapPopover-module__dUR61a__popIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}.ColorSwapPopover-module__dUR61a__current{align-items:center;gap:calc(var(--unit)*2);display:flex}.ColorSwapPopover-module__dUR61a__swatch{border-radius:var(--radius-sm);border:1px solid #0000000f;flex-shrink:0;width:28px;height:28px}.ColorSwapPopover-module__dUR61a__info{flex-direction:column;gap:2px;display:flex}.ColorSwapPopover-module__dUR61a__code{color:var(--ink);font-size:.8rem;font-weight:600}.ColorSwapPopover-module__dUR61a__name{color:var(--muted);font-size:.7rem;font-weight:300}.ColorSwapPopover-module__dUR61a__divider{background:var(--border);height:1px;margin:calc(var(--unit)*2)0}.ColorSwapPopover-module__dUR61a__swapSection{gap:calc(var(--unit)*1.5);flex-direction:column;display:flex}.ColorSwapPopover-module__dUR61a__swapLabel{color:var(--muted);text-transform:uppercase;letter-spacing:.08em;font-size:.68rem;font-weight:400}.ColorSwapPopover-module__dUR61a__alternatives{gap:calc(var(--unit)*1.5);display:flex}.ColorSwapPopover-module__dUR61a__altItem{align-items:center;gap:calc(var(--unit)*.5);flex-direction:column;display:flex}.ColorSwapPopover-module__dUR61a__altCode{color:var(--muted);font-size:.6rem;line-height:1}.ColorSwapPopover-module__dUR61a__altSwatch{cursor:pointer;width:32px;height:32px;transition:transform var(--duration-fast)var(--ease-out),border-color var(--duration-fast),box-shadow var(--duration-fast);box-shadow:var(--shadow-sm);border:2px solid #0000;border-radius:50%}.ColorSwapPopover-module__dUR61a__altSwatch:hover{border-color:var(--accent);box-shadow:var(--shadow-md);transform:scale(1.15)}.ColorSwapPopover-module__dUR61a__altSwatch:active{transform:scale(.92)}@media (max-width:680px){.ColorSwapPopover-module__dUR61a__altSwatch{width:40px;height:40px}}@media (prefers-reduced-motion:reduce){.ColorSwapPopover-module__dUR61a__popover{animation:none}}
.CraftSlider-module__hegOOG__wrapper{gap:calc(var(--unit)*1.5);flex-direction:column;display:flex}.CraftSlider-module__hegOOG__labelRow{justify-content:space-between;align-items:center;display:flex}.CraftSlider-module__hegOOG__label{color:var(--ink);transition:color var(--duration-fast);font-size:.82rem;font-weight:500}.CraftSlider-module__hegOOG__tooltipTrigger{border:1px solid var(--border);width:18px;height:18px;color:var(--muted);cursor:help;transition:border-color var(--duration-fast),color var(--duration-fast),background var(--duration-fast);border-radius:50%;justify-content:center;align-items:center;font-size:.65rem;font-weight:600;display:inline-flex;position:relative}.CraftSlider-module__hegOOG__tooltipTrigger:hover,.CraftSlider-module__hegOOG__tooltipTrigger:focus-visible{border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.CraftSlider-module__hegOOG__tooltipContent{min-width:180px;max-width:240px;padding:calc(var(--unit)*1)calc(var(--unit)*1.5);background:var(--surface-3);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--ink-2);white-space:normal;z-index:25;box-shadow:var(--shadow-md);animation:CraftSlider-module__hegOOG__tooltipFadeIn var(--duration-fast)var(--ease-out)forwards;font-size:.7rem;font-weight:400;line-height:1.4;position:fixed}@keyframes CraftSlider-module__hegOOG__tooltipFadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.CraftSlider-module__hegOOG__value{color:var(--accent);text-align:right;min-width:28px;transition:transform var(--duration-fast),color var(--duration-fast);font-size:.82rem;font-weight:600}.CraftSlider-module__hegOOG__valueDragging{transform:scale(1.15)}.CraftSlider-module__hegOOG__trackWrapper{align-items:center;height:24px;display:flex;position:relative}.CraftSlider-module__hegOOG__input{appearance:none;background:var(--border);cursor:pointer;z-index:2;border-radius:3px;outline:none;width:100%;height:6px;position:relative}.CraftSlider-module__hegOOG__input::-webkit-slider-thumb{appearance:none;background:var(--accent);width:24px;height:24px;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--duration-fast)var(--ease-out),box-shadow var(--duration-fast)var(--ease-out);border-radius:50%}.CraftSlider-module__hegOOG__input::-webkit-slider-thumb:hover{box-shadow:0 0 0 4px var(--accent-light),var(--shadow-md);transform:scale(1.12)}.CraftSlider-module__hegOOG__input:active::-webkit-slider-thumb{box-shadow:0 0 0 6px var(--accent-light);transform:scale(1.15)}.CraftSlider-module__hegOOG__input:active::-moz-range-thumb{box-shadow:0 0 0 6px var(--accent-light);transform:scale(1.15)}.CraftSlider-module__hegOOG__input::-moz-range-thumb{background:var(--accent);width:24px;height:24px;box-shadow:var(--shadow-sm);cursor:pointer;transition:transform var(--duration-fast)var(--ease-out),box-shadow var(--duration-fast)var(--ease-out);border:none;border-radius:50%}.CraftSlider-module__hegOOG__input::-moz-range-thumb:hover{box-shadow:0 0 0 4px var(--accent-light),var(--shadow-md);transform:scale(1.12)}.CraftSlider-module__hegOOG__trackFill{background:linear-gradient(90deg,var(--accent),var(--accent-hover));pointer-events:none;z-index:1;border-radius:3px;height:6px;position:absolute;top:50%;left:0;transform:translateY(-50%)}.CraftSlider-module__hegOOG__input:focus-visible{outline:2px solid var(--accent);outline-offset:4px;border-radius:3px}.CraftSlider-module__hegOOG__trackPulse{animation:CraftSlider-module__hegOOG__fillPulse .3s var(--ease-out)}@keyframes CraftSlider-module__hegOOG__fillPulse{0%{filter:brightness()}50%{filter:brightness(1.3)}to{filter:brightness()}}@media (prefers-reduced-motion:reduce){.CraftSlider-module__hegOOG__tooltipContent,.CraftSlider-module__hegOOG__trackPulse{animation:none}}
.ImageEditor-module__QF0bsG__editor{gap:calc(var(--unit)*2);opacity:0;flex-direction:column;display:flex;transform:scale(.95)}.ImageEditor-module__QF0bsG__enter{animation:ImageEditor-module__QF0bsG__editorFadeIn var(--duration-slow)var(--ease-out)forwards}.ImageEditor-module__QF0bsG__exit{animation:ImageEditor-module__QF0bsG__editorFadeOut var(--duration-normal)ease-out forwards}@keyframes ImageEditor-module__QF0bsG__editorFadeIn{to{opacity:1;transform:scale(1)}}@keyframes ImageEditor-module__QF0bsG__editorFadeOut{0%{opacity:1;transform:scale(1)}to{opacity:0;transform:scale(.98)}}.ImageEditor-module__QF0bsG__canvasContainer{aspect-ratio:4/3;border-radius:var(--radius);background:var(--ink);width:100%;min-height:200px;max-height:500px;overflow:hidden}.ImageEditor-module__QF0bsG__canvas{width:100%;height:100%;display:block}.ImageEditor-module__QF0bsG__toolbar{gap:calc(var(--unit)*2);padding:calc(var(--unit)*2)calc(var(--unit)*2.5);background:var(--surface-3);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--border);border-radius:var(--radius);opacity:0;flex-direction:column;display:flex;transform:translateY(10px)}.ImageEditor-module__QF0bsG__toolbarEnter{animation:ImageEditor-module__QF0bsG__toolbarSlideUp var(--duration-slow)var(--ease-out)50ms forwards}@keyframes ImageEditor-module__QF0bsG__toolbarSlideUp{to{opacity:1;transform:translateY(0)}}.ImageEditor-module__QF0bsG__toolRow{align-items:center;gap:calc(var(--unit)*1);justify-content:center;display:flex}.ImageEditor-module__QF0bsG__toolBtn{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-sm);cursor:pointer;width:40px;height:40px;color:var(--ink);transition:border-color var(--duration-fast),background var(--duration-fast),transform var(--duration-fast);justify-content:center;align-items:center;font-size:1.1rem;display:flex}.ImageEditor-module__QF0bsG__toolBtn:hover{border-color:var(--accent);background:var(--accent-light)}.ImageEditor-module__QF0bsG__toolBtn:active{transform:scale(.9)}.ImageEditor-module__QF0bsG__toolDivider{background:var(--border);width:1px;height:24px;margin:0 calc(var(--unit)*.5)}.ImageEditor-module__QF0bsG__gridInfo{text-align:center;color:var(--muted);margin-top:calc(var(--unit)*-1);font-size:.72rem;font-weight:300}.ImageEditor-module__QF0bsG__actionRow{justify-content:space-between;gap:calc(var(--unit)*2);display:flex}.ImageEditor-module__QF0bsG__skipBtn{padding:calc(var(--unit)*1.5);border:1px solid var(--border);border-radius:var(--radius-sm);color:var(--muted);cursor:pointer;min-height:44px;transition:border-color var(--duration-fast),color var(--duration-fast),transform var(--duration-fast);background:0 0;flex:1;font-size:.82rem;font-weight:500}.ImageEditor-module__QF0bsG__skipBtn:hover{border-color:var(--accent);color:var(--ink)}.ImageEditor-module__QF0bsG__skipBtn:active{transform:scale(.96)}.ImageEditor-module__QF0bsG__applyBtn{padding:calc(var(--unit)*1.5);background:var(--accent);border-radius:var(--radius-sm);letter-spacing:.04em;color:var(--surface);cursor:pointer;min-height:44px;transition:background var(--duration-normal),transform var(--duration-fast),box-shadow var(--duration-normal);border:none;flex:2;font-size:.82rem;font-weight:600}.ImageEditor-module__QF0bsG__applyBtn:hover{background:var(--accent-hover);box-shadow:var(--shadow-md)}.ImageEditor-module__QF0bsG__applyBtn:active{transform:scale(.98)}@media (hover:hover){.ImageEditor-module__QF0bsG__toolBtn:hover{border-color:var(--accent);background:var(--accent-light)}}@media (prefers-reduced-motion:reduce){.ImageEditor-module__QF0bsG__enter,.ImageEditor-module__QF0bsG__exit,.ImageEditor-module__QF0bsG__toolbarEnter{opacity:1;animation:none;transform:none}}
.StepperInput-module__MksV-W__wrapper{align-items:center;gap:calc(var(--unit)*.5);flex-direction:column;display:flex}.StepperInput-module__MksV-W__label{color:var(--ink);letter-spacing:.04em;text-transform:uppercase;font-size:.72rem;font-weight:500}.StepperInput-module__MksV-W__stepper{border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-sm);align-items:center;display:flex;overflow:hidden}.StepperInput-module__MksV-W__btn{background:var(--surface-2);width:36px;height:36px;color:var(--ink);cursor:pointer;transition:background var(--duration-fast),color var(--duration-fast),transform var(--duration-fast);-webkit-user-select:none;user-select:none;border:none;justify-content:center;align-items:center;font-size:.95rem;font-weight:400;display:flex}.StepperInput-module__MksV-W__btn:hover{background:var(--accent-light);color:var(--accent)}.StepperInput-module__MksV-W__btn:active{background:var(--accent);color:var(--surface);transform:scale(.92)}.StepperInput-module__MksV-W__btn:disabled{opacity:.45;cursor:not-allowed;pointer-events:auto}.StepperInput-module__MksV-W__input{text-align:center;border:none;border-left:1px solid var(--border);border-right:1px solid var(--border);width:56px;height:36px;color:var(--ink);-moz-appearance:textfield;transition:background var(--duration-normal)var(--ease-out);background:0 0;font-size:.9rem;font-weight:600}.StepperInput-module__MksV-W__input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.StepperInput-module__MksV-W__input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.StepperInput-module__MksV-W__input:focus{outline:none}.StepperInput-module__MksV-W__input:focus-visible{outline:2px solid var(--accent);outline-offset:-2px;background:var(--accent-light)}.StepperInput-module__MksV-W__unit{color:var(--muted);letter-spacing:.06em;font-size:.65rem;font-weight:300}.StepperInput-module__MksV-W__atLimit{border-color:var(--danger);animation:.3s ease-out StepperInput-module__MksV-W__limitShake}@keyframes StepperInput-module__MksV-W__limitShake{0%,to{transform:translate(0)}25%{transform:translate(-2px)}75%{transform:translate(2px)}}.StepperInput-module__MksV-W__rangeHint{color:var(--muted);text-align:center;opacity:0;max-height:0;transition:opacity var(--duration-fast)var(--ease-out),max-height var(--duration-fast)var(--ease-out);font-size:.6rem;overflow:hidden}.StepperInput-module__MksV-W__rangeHintVisible{opacity:1;max-height:20px;margin-top:calc(var(--unit)*.5)}@media (prefers-reduced-motion:reduce){.StepperInput-module__MksV-W__atLimit{animation:none}}
.PaletteSelect-module__GTHY8a__wrapper{gap:calc(var(--unit)*1);flex-direction:column;display:flex}.PaletteSelect-module__GTHY8a__label{text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:.72rem;font-weight:500}.PaletteSelect-module__GTHY8a__select{width:100%;padding:calc(var(--unit)*1.2)calc(var(--unit)*2);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);font-family:var(--font);appearance:none;cursor:pointer;transition:border-color var(--duration-fast),box-shadow var(--duration-fast);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='%239C8072'%3E%3Cpath d='M2 4l4 4 4-4'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;font-size:.82rem}.PaletteSelect-module__GTHY8a__select:hover{border-color:var(--accent)}.PaletteSelect-module__GTHY8a__select:focus-visible{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light);outline:none}.PaletteSelect-module__GTHY8a__tagWrapper{animation:PaletteSelect-module__GTHY8a__slideDown var(--duration-normal)var(--ease-out)forwards;position:relative}@keyframes PaletteSelect-module__GTHY8a__slideDown{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.PaletteSelect-module__GTHY8a__tagArea{gap:calc(var(--unit)*.75);padding:calc(var(--unit)*1);border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);cursor:text;min-height:44px;transition:border-color var(--duration-fast),box-shadow var(--duration-fast);flex-wrap:wrap;display:flex}.PaletteSelect-module__GTHY8a__tagArea:focus-within{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-light)}.PaletteSelect-module__GTHY8a__tag{align-items:center;gap:calc(var(--unit)*.5);padding:2px calc(var(--unit)*1)2px calc(var(--unit)*.5);border:1px solid var(--accent);background:var(--accent-light);color:var(--ink);animation:PaletteSelect-module__GTHY8a__tagPop var(--duration-fast)var(--ease-bounce)forwards;border-radius:100px;font-size:.7rem;font-weight:500;display:inline-flex}.PaletteSelect-module__GTHY8a__tagInvalid{align-items:center;gap:calc(var(--unit)*.5);padding:2px calc(var(--unit)*1)2px calc(var(--unit)*.5);border:1px solid var(--danger);color:var(--danger);animation:PaletteSelect-module__GTHY8a__tagPop var(--duration-fast)var(--ease-bounce)forwards;background:#a5292814;border-radius:100px;font-size:.7rem;font-weight:500;display:inline-flex}@keyframes PaletteSelect-module__GTHY8a__tagPop{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}.PaletteSelect-module__GTHY8a__tagSwatch{border:1px solid #0000001a;border-radius:50%;flex-shrink:0;width:14px;height:14px}.PaletteSelect-module__GTHY8a__tagQuestion{border:1px solid var(--danger);width:14px;height:14px;color:var(--danger);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:.55rem;font-weight:700;display:flex}.PaletteSelect-module__GTHY8a__tagCode{line-height:1}.PaletteSelect-module__GTHY8a__tagRemove{width:16px;height:16px;color:var(--muted);cursor:pointer;transition:color var(--duration-fast),background var(--duration-fast);background:0 0;border:none;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.7rem;display:flex}.PaletteSelect-module__GTHY8a__tagRemove:hover{color:var(--danger);background:#a529281a}.PaletteSelect-module__GTHY8a__tagInput{min-width:80px;font-family:var(--font);color:var(--ink);background:0 0;border:none;outline:none;flex:1;padding:2px 0;font-size:.75rem}.PaletteSelect-module__GTHY8a__tagInput::placeholder{color:var(--muted)}.PaletteSelect-module__GTHY8a__status{margin-top:calc(var(--unit)*.5);font-size:.65rem}.PaletteSelect-module__GTHY8a__statusValid{color:var(--accent)}.PaletteSelect-module__GTHY8a__statusMixed{color:var(--muted)}.PaletteSelect-module__GTHY8a__suggestions{margin-top:calc(var(--unit)*.5);background:var(--surface-3);-webkit-backdrop-filter:var(--panel-blur);border:1px solid var(--border);border-radius:var(--radius-sm);box-shadow:var(--shadow-lg);z-index:20;animation:PaletteSelect-module__GTHY8a__suggestionsIn var(--duration-fast)var(--ease-out)forwards;position:absolute;top:100%;left:0;right:0;overflow:hidden}@keyframes PaletteSelect-module__GTHY8a__suggestionsIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.PaletteSelect-module__GTHY8a__suggestion{align-items:center;gap:calc(var(--unit)*1);width:100%;padding:calc(var(--unit)*1)calc(var(--unit)*1.5);cursor:pointer;font-family:var(--font);text-align:left;transition:background var(--duration-fast);background:0 0;border:none;display:flex}.PaletteSelect-module__GTHY8a__suggestion:hover{background:var(--accent-light)}.PaletteSelect-module__GTHY8a__suggestion:focus-visible{background:var(--accent-light);outline:none}.PaletteSelect-module__GTHY8a__suggestionSwatch{border:1px solid #0000001a;border-radius:50%;flex-shrink:0;width:18px;height:18px}.PaletteSelect-module__GTHY8a__suggestionCode{color:var(--ink);min-width:32px;font-size:.75rem;font-weight:600}.PaletteSelect-module__GTHY8a__suggestionName{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:.7rem;overflow:hidden}@media (prefers-reduced-motion:reduce){.PaletteSelect-module__GTHY8a__tagWrapper,.PaletteSelect-module__GTHY8a__tag,.PaletteSelect-module__GTHY8a__tagInvalid,.PaletteSelect-module__GTHY8a__suggestions{animation:none}}
.CraftBackground-module__PlAYYG__backdrop{z-index:0;pointer-events:none;animation:CraftBackground-module__PlAYYG__backdropFadeIn .8s var(--ease-out)both;position:fixed;inset:0;overflow:hidden}.CraftBackground-module__PlAYYG__blob{filter:blur(5rem);will-change:opacity;border-radius:50%;position:absolute}.CraftBackground-module__PlAYYG__blobRose{opacity:.09;background:#d4607a;width:26rem;height:26rem;top:-6rem;left:8%}.CraftBackground-module__PlAYYG__blobGold{opacity:.08;background:#d4a843;width:22rem;height:22rem;top:15%;right:-4rem}.CraftBackground-module__PlAYYG__blobPlum{opacity:.07;background:#8b5e9b;width:20rem;height:20rem;bottom:5%;left:15%}.CraftBackground-module__PlAYYG__blobSage{opacity:.07;background:#6b9e7a;width:18rem;height:18rem;bottom:-4rem;right:20%}.CraftBackground-module__PlAYYG__embroidery{width:100%;height:100%;position:absolute;inset:0}.CraftBackground-module__PlAYYG__emStitch{animation:20s ease-in-out infinite CraftBackground-module__PlAYYG__stitchFloat}.CraftBackground-module__PlAYYG__em1{animation-delay:0s}.CraftBackground-module__PlAYYG__em2{animation-delay:2.5s}.CraftBackground-module__PlAYYG__em3{animation-delay:5s}.CraftBackground-module__PlAYYG__em4{animation-delay:7.5s}.CraftBackground-module__PlAYYG__em5{animation-delay:1.5s}.CraftBackground-module__PlAYYG__em6{animation-delay:4s}.CraftBackground-module__PlAYYG__em7{animation-delay:6s}.CraftBackground-module__PlAYYG__em8{animation-delay:8s}.CraftBackground-module__PlAYYG__em9{animation-delay:3s}.CraftBackground-module__PlAYYG__em10{animation-delay:5.5s}.CraftBackground-module__PlAYYG__em11{animation-delay:9s}.CraftBackground-module__PlAYYG__em12{animation-delay:7s}@keyframes CraftBackground-module__PlAYYG__stitchFloat{0%,to{transform:translate(0)}25%{transform:translate(4px,-3px)}50%{transform:translate(-2px,5px)}75%{transform:translate(3px,2px)}}@keyframes CraftBackground-module__PlAYYG__backdropFadeIn{0%{opacity:0}to{opacity:1}}[data-theme=dark] .CraftBackground-module__PlAYYG__blobRose{opacity:.06}[data-theme=dark] .CraftBackground-module__PlAYYG__blobGold,[data-theme=dark] .CraftBackground-module__PlAYYG__blobPlum{opacity:.05}[data-theme=dark] .CraftBackground-module__PlAYYG__blobSage{opacity:.04}[data-theme=dark] .CraftBackground-module__PlAYYG__emStitch{opacity:.15}@media (prefers-reduced-motion:reduce){.CraftBackground-module__PlAYYG__backdrop,.CraftBackground-module__PlAYYG__emStitch{animation:none}}
.NeedleStreak-module__uFgjwq__streak{z-index:0;pointer-events:none;opacity:.22;width:100%;height:100%;animation:NeedleStreak-module__uFgjwq__fadeIn .8s var(--ease-out)forwards;position:absolute;inset:0}@keyframes NeedleStreak-module__uFgjwq__fadeIn{0%{opacity:0}to{opacity:.22}}[data-theme=dark] .NeedleStreak-module__uFgjwq__streak{opacity:.15;animation-name:NeedleStreak-module__uFgjwq__fadeInDark}@keyframes NeedleStreak-module__uFgjwq__fadeInDark{0%{opacity:0}to{opacity:.15}}@media (prefers-reduced-motion:reduce){.NeedleStreak-module__uFgjwq__streak{animation:none}}
.DesktopLayout-module__g-GNCG__main{max-width:960px;padding:calc(var(--unit)*5)calc(var(--unit)*5);justify-content:center;gap:calc(var(--unit)*4);flex-direction:column;min-height:100dvh;margin:0 auto;display:flex}.DesktopLayout-module__g-GNCG__mainExpanded{flex-direction:column;height:100vh;display:flex}.DesktopLayout-module__g-GNCG__header{padding:calc(var(--unit)*2.5)calc(var(--unit)*4);z-index:10;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.DesktopLayout-module__g-GNCG__header>*{pointer-events:auto}.DesktopLayout-module__g-GNCG__headerExpanded{padding:calc(var(--unit)*2)calc(var(--unit)*3);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:center;display:flex}.DesktopLayout-module__g-GNCG__logo{align-items:baseline;gap:.1em;display:flex}.DesktopLayout-module__g-GNCG__logoText{font-family:var(--font-logo);letter-spacing:.06em;color:var(--ink);font-size:1.65rem;font-style:normal;font-weight:400}.DesktopLayout-module__g-GNCG__uploadArea{position:relative}.DesktopLayout-module__g-GNCG__headerActions{gap:calc(var(--unit)*2);align-items:center;display:flex}.DesktopLayout-module__g-GNCG__navAction{background:var(--accent);border-radius:var(--radius-sm);padding:calc(var(--unit)*1)calc(var(--unit)*2.5);letter-spacing:.04em;color:var(--surface);transition:background var(--duration-normal),transform var(--duration-fast);border:none;font-size:.75rem;font-weight:500}.DesktopLayout-module__g-GNCG__navAction:hover{background:var(--accent-hover)}.DesktopLayout-module__g-GNCG__navAction:active{transform:scale(.96)}.DesktopLayout-module__g-GNCG__printBtn{background:var(--accent);color:#fff;letter-spacing:.02em;cursor:pointer;transition:background var(--duration-fast),box-shadow var(--duration-fast),transform var(--duration-fast);border:none;border-radius:999px;align-items:center;gap:6px;padding:6px 16px;font-size:.78rem;font-weight:600;display:inline-flex}.DesktopLayout-module__g-GNCG__printBtn:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:scale(1.03)}.DesktopLayout-module__g-GNCG__printBtn:active{transform:scale(.97)}.DesktopLayout-module__g-GNCG__printIcon{border:1.5px solid;border-radius:1px;width:12px;height:14px;display:inline-block;position:relative}.DesktopLayout-module__g-GNCG__printIcon:before{content:"";background:var(--accent);border-bottom:1.5px solid;border-left:1.5px solid;width:5px;height:5px;position:absolute;top:-1.5px;right:-1.5px}.DesktopLayout-module__g-GNCG__printBtn:hover .DesktopLayout-module__g-GNCG__printIcon:before{background:var(--accent-hover)}.DesktopLayout-module__g-GNCG__workspace{flex:1;grid-template-columns:1fr 300px;display:grid;overflow:hidden}.DesktopLayout-module__g-GNCG__canvasArea{flex:1;padding:0;position:relative;overflow:hidden}.DesktopLayout-module__g-GNCG__sidePanel{background:var(--surface-3);-webkit-backdrop-filter:var(--panel-blur);border-left:1px solid var(--border);animation:DesktopLayout-module__g-GNCG__panelSlideIn var(--duration-slow)var(--ease-out)both;overflow:hidden auto}@keyframes DesktopLayout-module__g-GNCG__panelSlideIn{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.DesktopLayout-module__g-GNCG__panelContent{padding:calc(var(--unit)*3);gap:calc(var(--unit)*3);flex-direction:column;display:flex}.DesktopLayout-module__g-GNCG__divider{background:var(--border);height:1px;animation:DesktopLayout-module__g-GNCG__dividerDraw var(--duration-normal)var(--ease-out)both}@keyframes DesktopLayout-module__g-GNCG__dividerDraw{0%{opacity:0;transform:scaleX(0)}to{opacity:1;transform:scaleX(1)}}.DesktopLayout-module__g-GNCG__section{gap:calc(var(--unit)*1.5);animation:DesktopLayout-module__g-GNCG__sectionFadeIn var(--duration-normal)var(--ease-out)both;flex-direction:column;display:flex}.DesktopLayout-module__g-GNCG__section:nth-child(2){animation-delay:40ms}.DesktopLayout-module__g-GNCG__section:nth-child(3){animation-delay:80ms}.DesktopLayout-module__g-GNCG__section:nth-child(4){animation-delay:.12s}.DesktopLayout-module__g-GNCG__section:nth-child(5){animation-delay:.16s}.DesktopLayout-module__g-GNCG__section:nth-child(6){animation-delay:.2s}@keyframes DesktopLayout-module__g-GNCG__sectionFadeIn{0%{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.DesktopLayout-module__g-GNCG__sectionTitle{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.72rem;font-weight:400}.DesktopLayout-module__g-GNCG__stepperRow{justify-content:center;align-items:center;gap:calc(var(--unit)*2);display:flex}.DesktopLayout-module__g-GNCG__times{color:var(--muted);padding-top:calc(var(--unit)*2);font-size:1rem}.DesktopLayout-module__g-GNCG__totalStitches{text-align:center;color:var(--muted);font-size:.72rem;font-weight:300}.DesktopLayout-module__g-GNCG__generateBtn{width:100%;padding:calc(var(--unit)*2);background:var(--accent);border-radius:var(--radius-sm);letter-spacing:.04em;color:var(--surface);cursor:pointer;min-height:44px;transition:background var(--duration-normal),transform var(--duration-fast),box-shadow var(--duration-normal);border:none;font-size:.85rem;font-weight:600}.DesktopLayout-module__g-GNCG__generateBtn:hover{background:var(--accent-hover);box-shadow:var(--shadow-md)}.DesktopLayout-module__g-GNCG__generateBtn:active{transform:scale(.97)}.DesktopLayout-module__g-GNCG__generateDirty{animation:1.5s ease-in-out infinite DesktopLayout-module__g-GNCG__dirtyPulse}@keyframes DesktopLayout-module__g-GNCG__dirtyPulse{0%,to{box-shadow:0 0 0 0 var(--accent-light,#c0845e4d)}50%{box-shadow:0 0 0 6px var(--accent-light,#c0845e4d)}}.DesktopLayout-module__g-GNCG__legendSection{flex:1;overflow-y:auto}.DesktopLayout-module__g-GNCG__cards{gap:calc(var(--unit)*4);grid-template-columns:1fr 1fr 1fr;display:grid}.DesktopLayout-module__g-GNCG__hidden{display:none}.DesktopLayout-module__g-GNCG__adjustPreview{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);width:100%;height:80px}.DesktopLayout-module__g-GNCG__resetBtn{border:1px solid var(--border);border-radius:var(--radius-sm);padding:calc(var(--unit)*.75)calc(var(--unit)*2);color:var(--muted);cursor:pointer;transition:border-color var(--duration-fast),color var(--duration-fast),transform var(--duration-fast);background:0 0;align-self:flex-start;font-size:.72rem;font-weight:400}.DesktopLayout-module__g-GNCG__resetBtn:hover{border-color:var(--accent);color:var(--accent)}.DesktopLayout-module__g-GNCG__resetBtn:active{transform:scale(.96)}.DesktopLayout-module__g-GNCG__cardsFadeOut,.DesktopLayout-module__g-GNCG__expandedFadeOut{opacity:0;transition:opacity .15s var(--ease-out),transform .15s var(--ease-out);pointer-events:none;transform:scale(.98)}.DesktopLayout-module__g-GNCG__historyBtn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:32px;height:32px;color:var(--ink);cursor:pointer;transition:background var(--duration-fast),border-color var(--duration-fast);justify-content:center;align-items:center;font-size:.85rem;display:inline-flex}.DesktopLayout-module__g-GNCG__historyBtn:hover:not(:disabled){background:var(--surface-2);border-color:var(--accent)}.DesktopLayout-module__g-GNCG__historyDisabled{opacity:.3;cursor:not-allowed}.DesktopLayout-module__g-GNCG__fineTuneToggle{width:100%;padding:calc(var(--unit)*1.5)0;color:var(--muted);cursor:pointer;transition:color var(--duration-fast);background:0 0;border:none;justify-content:space-between;align-items:center;font-size:.78rem;font-weight:500;display:flex}.DesktopLayout-module__g-GNCG__fineTuneToggle:hover{color:var(--ink)}.DesktopLayout-module__g-GNCG__chevron{transition:transform var(--duration-normal)var(--ease-out);font-size:.6rem}@media (prefers-reduced-motion:reduce){.DesktopLayout-module__g-GNCG__sidePanel,.DesktopLayout-module__g-GNCG__divider,.DesktopLayout-module__g-GNCG__section,.DesktopLayout-module__g-GNCG__generateDirty{animation:none}}
.ImagePreview-module__hyRh1G__preview{align-items:center;gap:calc(var(--unit)*2);padding:calc(var(--unit)*1.5)0;display:flex}.ImagePreview-module__hyRh1G__thumbnail{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);width:56px;height:56px;box-shadow:var(--shadow-sm);transition:transform var(--duration-fast)var(--ease-out),box-shadow var(--duration-fast);flex-shrink:0}.ImagePreview-module__hyRh1G__thumbnail:hover{box-shadow:var(--shadow-md);transform:scale(1.03)}.ImagePreview-module__hyRh1G__info{color:var(--ink-2);font-size:.82rem;font-weight:400}
.MobileLayout-module__1JiQmW__main{padding:calc(var(--unit)*2.5);gap:calc(var(--unit)*3);flex-direction:column;display:flex}.MobileLayout-module__1JiQmW__header{padding:calc(var(--unit)*2)calc(var(--unit)*2.5);z-index:10;pointer-events:none;justify-content:space-between;align-items:center;display:flex;position:fixed;top:0;left:0;right:0}.MobileLayout-module__1JiQmW__header>*{pointer-events:auto}.MobileLayout-module__1JiQmW__stickyHeader{padding:calc(var(--unit)*2)calc(var(--unit)*2.5);background:var(--surface-3);-webkit-backdrop-filter:var(--panel-blur);border-bottom:1px solid var(--border);z-index:10;margin:calc(var(--unit)*-2.5);box-shadow:var(--shadow-sm);justify-content:space-between;align-items:center;margin-bottom:0;display:flex;position:sticky;top:0}.MobileLayout-module__1JiQmW__logo{align-items:baseline;gap:.1em;display:flex}.MobileLayout-module__1JiQmW__logoText{font-family:var(--font-logo);letter-spacing:.06em;color:var(--ink);font-size:1.4rem;font-style:normal;font-weight:400}.MobileLayout-module__1JiQmW__uploadArea{position:relative}.MobileLayout-module__1JiQmW__headerActions{gap:calc(var(--unit)*1.5);align-items:center;display:flex}.MobileLayout-module__1JiQmW__navAction{background:var(--accent);border-radius:var(--radius-sm);padding:calc(var(--unit)*1.25)calc(var(--unit)*2.5);letter-spacing:.04em;color:var(--surface);min-height:44px;transition:background var(--duration-normal),transform var(--duration-fast);border:none;font-size:.82rem;font-weight:500}.MobileLayout-module__1JiQmW__navAction:hover{background:var(--accent-hover)}.MobileLayout-module__1JiQmW__navAction:active{transform:scale(.96)}.MobileLayout-module__1JiQmW__printBtn{background:var(--accent);color:#fff;letter-spacing:.02em;cursor:pointer;transition:background var(--duration-fast),box-shadow var(--duration-fast),transform var(--duration-fast);border:none;border-radius:999px;align-items:center;gap:6px;padding:6px 16px;font-size:.78rem;font-weight:600;display:inline-flex}.MobileLayout-module__1JiQmW__printBtn:hover{background:var(--accent-hover);box-shadow:var(--shadow-md);transform:scale(1.03)}.MobileLayout-module__1JiQmW__printBtn:active{transform:scale(.97)}.MobileLayout-module__1JiQmW__printIcon{border:1.5px solid;border-radius:1px;width:12px;height:14px;display:inline-block;position:relative}.MobileLayout-module__1JiQmW__printIcon:before{content:"";background:var(--accent);border-bottom:1.5px solid;border-left:1.5px solid;width:5px;height:5px;position:absolute;top:-1.5px;right:-1.5px}.MobileLayout-module__1JiQmW__printBtn:hover .MobileLayout-module__1JiQmW__printIcon:before{background:var(--accent-hover)}.MobileLayout-module__1JiQmW__collapsible{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow:visible}.MobileLayout-module__1JiQmW__collapseToggle{width:100%;padding:calc(var(--unit)*2)calc(var(--unit)*2.5);background:var(--surface-2);border-radius:var(--radius)var(--radius)0 0;color:var(--ink);min-height:44px;transition:background var(--duration-fast)var(--ease-out);border:none;justify-content:space-between;align-items:center;font-size:.82rem;font-weight:500;display:flex}.MobileLayout-module__1JiQmW__collapseToggle:hover{background:var(--surface)}.MobileLayout-module__1JiQmW__chevron{color:var(--muted);transition:transform var(--duration-normal)var(--ease-out);font-size:.68rem}.MobileLayout-module__1JiQmW__historyBtn{border:1px solid var(--border);border-radius:var(--radius-sm);background:var(--surface);width:36px;height:36px;color:var(--ink);cursor:pointer;min-width:44px;min-height:44px;transition:background var(--duration-fast),border-color var(--duration-fast);justify-content:center;align-items:center;font-size:.85rem;display:inline-flex}.MobileLayout-module__1JiQmW__historyBtn:hover:not(:disabled){background:var(--surface-2);border-color:var(--accent)}.MobileLayout-module__1JiQmW__historyDisabled{opacity:.3;cursor:not-allowed}.MobileLayout-module__1JiQmW__fineTuneToggle{width:100%;padding:calc(var(--unit)*1.5)0;color:var(--muted);cursor:pointer;min-height:44px;transition:color var(--duration-fast);background:0 0;border:none;justify-content:space-between;align-items:center;font-size:.78rem;font-weight:500;display:flex}.MobileLayout-module__1JiQmW__fineTuneToggle:hover{color:var(--ink)}.MobileLayout-module__1JiQmW__divider{background:var(--border);height:1px}.MobileLayout-module__1JiQmW__collapseContent{padding:calc(var(--unit)*3);gap:calc(var(--unit)*3);border-radius:0 0 var(--radius)var(--radius);animation:MobileLayout-module__1JiQmW__collapseOpen var(--duration-normal)var(--ease-out)both;flex-direction:column;display:flex;overflow:hidden}@keyframes MobileLayout-module__1JiQmW__collapseOpen{0%{opacity:0}to{opacity:1}}.MobileLayout-module__1JiQmW__section{gap:calc(var(--unit)*1.5);flex-direction:column;display:flex}.MobileLayout-module__1JiQmW__sectionTitle{text-transform:uppercase;letter-spacing:.1em;color:var(--muted);font-size:.72rem;font-weight:400}.MobileLayout-module__1JiQmW__stepperRow{justify-content:center;align-items:center;gap:calc(var(--unit)*2);display:flex}.MobileLayout-module__1JiQmW__times{color:var(--muted);padding-top:calc(var(--unit)*2);font-size:1rem}.MobileLayout-module__1JiQmW__totalStitches{text-align:center;color:var(--muted);font-size:.72rem;font-weight:300}.MobileLayout-module__1JiQmW__generateBtn{width:100%;padding:calc(var(--unit)*2);background:var(--accent);border-radius:var(--radius-sm);letter-spacing:.04em;color:var(--surface);cursor:pointer;min-height:48px;transition:background var(--duration-normal),transform var(--duration-fast),box-shadow var(--duration-normal);border:none;font-size:.85rem;font-weight:600}.MobileLayout-module__1JiQmW__generateBtn:hover{background:var(--accent-hover);box-shadow:var(--shadow-md)}.MobileLayout-module__1JiQmW__generateBtn:active{transform:scale(.98)}.MobileLayout-module__1JiQmW__generateDirty{animation:1.5s ease-in-out infinite MobileLayout-module__1JiQmW__dirtyPulse}@keyframes MobileLayout-module__1JiQmW__dirtyPulse{0%,to{box-shadow:0 0 0 0 var(--accent-light,#c0845e4d)}50%{box-shadow:0 0 0 6px var(--accent-light,#c0845e4d)}}.MobileLayout-module__1JiQmW__cards{gap:calc(var(--unit)*3);flex-direction:column;display:flex}.MobileLayout-module__1JiQmW__hidden{display:none}.MobileLayout-module__1JiQmW__adjustPreview{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border);width:100%;height:80px}.MobileLayout-module__1JiQmW__resetBtn{border:1px solid var(--border);border-radius:var(--radius-sm);padding:calc(var(--unit)*.75)calc(var(--unit)*2);color:var(--muted);cursor:pointer;transition:border-color var(--duration-fast),color var(--duration-fast),transform var(--duration-fast);background:0 0;align-self:flex-start;font-size:.72rem;font-weight:400}.MobileLayout-module__1JiQmW__resetBtn:hover{border-color:var(--accent);color:var(--accent)}.MobileLayout-module__1JiQmW__resetBtn:active{transform:scale(.96)}.MobileLayout-module__1JiQmW__zoomWrapper{border:1px solid var(--border);border-radius:var(--radius);width:100%;height:50vh;min-height:250px;overflow:hidden}.MobileLayout-module__1JiQmW__cardsFadeOut,.MobileLayout-module__1JiQmW__expandedFadeOut{opacity:0;transition:opacity .15s var(--ease-out),transform .15s var(--ease-out);pointer-events:none;transform:scale(.98)}@media (prefers-reduced-motion:reduce){.MobileLayout-module__1JiQmW__collapseContent,.MobileLayout-module__1JiQmW__generateDirty{animation:none}}
