@charset "UTF-8";
/* Light moves over registered material masks; the print itself never slides. */
:is(#main-card,#wish-pool .card,#detail-dialog .card,#palette-study .palette-card-button .card){
 --tilt-x:0deg;--tilt-y:0deg;--light-x:50%;--light-y:40%;--light-angle:118deg;--light-power:0;--depth-x:0px;--depth-y:0px;
 transform:perspective(1100px) rotateX(var(--tilt-x)) rotateY(var(--tilt-y));
 transform-origin:50% 50%;transition:transform .65s cubic-bezier(.2,.75,.25,1),box-shadow .4s;
 touch-action:pan-y pinch-zoom;user-select:none;-webkit-user-select:none;cursor:grab;
}
#detail-dialog .card{touch-action:pinch-zoom}
:is(#main-card,#wish-pool .card,#detail-dialog .card,#palette-study .palette-card-button .card)[data-interacting="true"]{transition:transform .08s linear;cursor:grabbing;will-change:transform}
:is(#main-card,#wish-pool .card,#detail-dialog .card,#palette-study .palette-card-button .card) .garment{-webkit-user-drag:none;pointer-events:none}
/* A sub-pixel relief cue, without separating the drawing from its border. */
:is(#main-card,#wish-pool .card,#detail-dialog .card,#palette-study .palette-card-button .card) .dress-window{transform:translate(var(--depth-x),var(--depth-y));transition:transform .65s cubic-bezier(.2,.75,.25,1)}
:is(#main-card,#wish-pool .card,#detail-dialog .card,#palette-study .palette-card-button .card)[data-interacting="true"] .dress-window{transition:transform .08s linear}
/* Sensor control has a quiet visible face and a full touch target. */
.motion-toggle{position:relative;display:flex;align-items:center;justify-content:center;gap:7px;height:36px;min-height:36px;margin:14px auto 0;padding:0 15px;border:1px solid #fff4;border-radius:20px;color:#f4f2e7;background:linear-gradient(120deg,#ffffff12,#c5d8cf22);box-shadow:inset 0 1px #fff2;font:11px/1 var(--ui);letter-spacing:.04em;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.motion-toggle[hidden]{display:none}.motion-toggle:after{content:"";position:absolute;inset:-4px 0}.motion-toggle svg{width:15px;height:15px;stroke-width:1.2}
.motion-toggle[aria-pressed="true"]{background:linear-gradient(120deg,#eff9f030,#a3c6b940);border-color:#dcebe06b}
.motion-toggle:focus-visible{outline:1px solid #f7f3e5;outline-offset:4px}
.detail-dialog:has(.motion-toggle:not([hidden])){width:min(640px,calc((100dvh - 138px)*5/7 + 64px))}
@media(max-width:740px){.detail-dialog:has(.motion-toggle:not([hidden])){width:min(calc(100% - 24px),calc((100dvh - 134px)*5/7 + 24px))}}
@media(prefers-reduced-motion:reduce){
 :is(#main-card,#wish-pool .card,#detail-dialog .card,#palette-study .palette-card-button .card){transform:none!important;cursor:auto;transition:none}
 :is(#main-card,#wish-pool .card,#detail-dialog .card,#palette-study .palette-card-button .card) .dress-window{transform:none!important;transition:none}
 .card.custom-frame[data-style][data-stage] :is(.craft-foil,.craft-pearl,.craft-sparkle):after{display:none}.motion-toggle{display:none}
}
@media(forced-colors:active){.motion-toggle{color:ButtonText;background:ButtonFace;border:1px solid ButtonText}}

:is(#main-card,#wish-pool .card,#detail-dialog .card,#palette-study .palette-card-button .card) .garment-embroidery{transform:translate(var(--depth-x),calc(var(--depth-y) + .525%)) scale(1.054545);transition:transform .65s cubic-bezier(.2,.75,.25,1)}
:is(#main-card,#wish-pool .card,#detail-dialog .card,#palette-study .palette-card-button .card)[data-interacting="true"] .garment-embroidery{transition:transform .08s linear}
@media(prefers-reduced-motion:reduce){.card.custom-frame[data-style] .garment-embroidery{transform:translateY(.525%) scale(1.054545)!important;transition:none}}

/* Gallery cards use the same registered light and touch controls as the atelier. */
.gallery-motion-controls{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:7px;margin:12px auto 0}
.gallery-motion-controls .motion-toggle{margin:0;color:var(--ink);border-color:#ffffffa6;background:linear-gradient(130deg,#ffffffb0,#d3e1da55);box-shadow:inset 0 1px #ffffffb3,0 3px 12px #67545b0a;font-size:10px;letter-spacing:.04em}
.gallery-motion-controls .motion-toggle[aria-pressed="true"]{background:linear-gradient(130deg,#fcfff5d9,#b6d3c680);border-color:#f6fff3c4}
.gallery-motion-controls .motion-toggle:disabled{cursor:default;opacity:.72}
.motion-hint{font:10px/1.7 var(--ui);letter-spacing:.15px;text-align:center;margin:7px auto 0;max-width:34em;color:var(--muted)}
.motion-hint[hidden]{display:none}
.gallery-motion-controls .motion-hint{flex-basis:100%;margin:0}
.detail-dialog .motion-hint{color:#f5f0e5d6;font-size:10px;max-width:30em;margin-top:8px}
:root[data-theme="dark"] .gallery-motion-controls .motion-toggle{border-color:#ffffff20;background:linear-gradient(130deg,#ffffff13,#b4d1c51a);box-shadow:inset 0 1px #ffffff13;color:var(--ink)}
@media(max-width:740px){.detail-dialog:has(.motion-toggle:not([hidden])){width:min(calc(100% - 24px),calc((100dvh - 178px)*5/7 + 24px))}.gallery-motion-controls .motion-hint{max-width:29em}}
@media(forced-colors:active){.gallery-motion-controls .motion-toggle{color:ButtonText;background:ButtonFace;border-color:ButtonText}.motion-hint{color:CanvasText}}
