.studio-custom-art .studio-art{aspect-ratio:1.21;transform:none}
.studio-custom-art .studio-photo{border-radius:var(--custom-photo-radius,50%);mask-image:none;outline:.65cqw solid rgba(255,255,255,.92);box-shadow:0 0 0 1cqw #89868329,0 2px 8px #332d2417}
#editorView .studio-custom-art button.studio-photo{border-radius:var(--custom-photo-radius,50%)}
.studio-design-upload{display:flex;align-items:center;justify-content:center;flex-direction:column;gap:7px;background:linear-gradient(145deg,#ffffffd9,#f2efecc9)!important;border:1px dashed #a3a09d5c!important;color:#ad5b45;box-shadow:inset 0 1px 0 #fff}
.studio-design-upload b{display:grid;place-items:center;width:30px;height:30px;border-radius:50%;background:#ffffffb0;font:300 26px/1 var(--studio-font);box-shadow:0 2px 7px #ad5b4512}
.studio-design-upload small{font:400 10px/1.4 var(--studio-font);text-align:center}
.studio-design-dialog{width:min(420px,calc(100vw - 24px));max-height:calc(100dvh - 24px - var(--app-safe-top,0px) - var(--app-safe-bottom,0px));padding:16px;border:1px solid #e8e5dc;border-radius:25px;background:#faf9f6;color:#575451;box-shadow:0 20px 70px #332d2433;overflow-y:auto;overscroll-behavior:contain;font-family:var(--studio-font)}
.studio-design-dialog::backdrop{background:#3b383547;backdrop-filter:blur(5px)}
.studio-design-dialog header{display:flex;align-items:start;gap:8px;justify-content:space-between;margin-bottom:12px}
.studio-design-dialog h2{font:400 20px/1.2 var(--studio-font);margin:0 0 5px}
.studio-design-dialog header p{font:400 12px/1.4 var(--studio-font);color:#777471;margin:0;max-width:260px}
.studio-design-close{flex:0 0 44px;width:44px;height:44px;border:0;border-radius:50%;background:#eeede7;color:#777471;font:300 26px/1 var(--studio-font)}
.studio-design-canvas{width:min(100%,286px);margin:0 auto}
.studio-design-canvas .studio-invitation{width:100%}
.studio-design-stage{touch-action:none;user-select:none;-webkit-user-select:none;overscroll-behavior:none;cursor:grab}
.studio-design-stage:active{cursor:grabbing}
.studio-design-stage:focus-visible{outline:2px solid #8d8a87;outline-offset:-3px}
.studio-design-stage .studio-art-image{position:absolute;left:50%;top:50%;max-width:none;object-fit:fill;pointer-events:none;will-change:transform}
.studio-design-stage .studio-photo{pointer-events:none}
.studio-design-zoom{display:flex;justify-content:center;gap:8px;margin:12px 0 8px}
.studio-design-zoom button{min-width:44px;min-height:44px;padding:5px 13px;border:1px solid #e6e3e0;border-radius:999px;background:#ffffffba;color:#ad5b45;font:400 13px var(--studio-font);box-shadow:inset 0 1px 0 #fff,0 2px 6px #332d2408}
.studio-design-zoom button[data-design-zoom=in],.studio-design-zoom button[data-design-zoom=out]{font-size:22px}
.studio-design-dialog button:disabled{opacity:.55;cursor:default}
.studio-design-dialog footer .btn{width:100%;min-height:44px;border-radius:999px;font-size:14px}
.studio-design-error{font:400 12px/1.4 var(--studio-font);color:#ae5340;margin:8px 0}
#coverCropModal.crop-custom-mode .crop-stage{aspect-ratio:1.21}
#coverCropModal.crop-custom-mode .crop-photo-window,#coverCropModal.crop-custom-mode .crop-frame{border-radius:var(--custom-photo-radius,50%)!important;outline:2px solid #ffffffdb}
@media(max-width:350px){.studio-design-dialog{padding:12px}.studio-design-canvas{width:240px}.studio-design-upload small{font-size:9px}}
@media(prefers-reduced-motion:reduce){.studio-design-dialog *{transition:none!important;animation:none!important}}


/* Personal artwork has a neutral UI palette, independent of the last collection. */
body.theme-custom,.studio-design-dialog{--primary:#3e3e3a;--primary-hover:#292926;--primary-soft:#ebebe8;--coral:var(--primary);--coral-dark:var(--primary-hover);--peach:#e9e8e3;--lavender:#e8e7e4}
body.theme-custom .btn-accent,body .studio-design-dialog .btn-accent{background:linear-gradient(135deg,#494945,#343431);box-shadow:inset 0 1px 0 #ffffff26,0 4px 12px #34343118}
body.theme-custom .btn-accent:hover,body .studio-design-dialog .btn-accent:hover{background:linear-gradient(135deg,#3b3b37,#292926)}
.studio-invitation.studio-guest-paper[data-theme=custom]{--paper-accent:#4b4b45;--paper-wash:#f5f5f2}
.preview-flow-actions[data-theme=custom]{--preview-accent:#4b4b45}

.studio-design-dialog .studio-design-zoom button{color:#575451}

/* Shape choice follows the accepted coral capsule and uses the same photo glass. */
.studio-design-dialog [hidden]{display:none!important}
.studio-design-shape{position:relative;isolation:isolate;display:flex;width:min(50%,143px);height:36px;box-sizing:border-box;padding:0;margin:9px auto 6px;border-radius:999px;background:#F47B5C;box-shadow:inset 0 1px 1px #ffffff60}
.studio-design-shape::before{content:'';position:absolute;z-index:-1;left:3px;top:3px;bottom:3px;width:calc((100% - 6px)/2);border-radius:999px;background:#fff;box-shadow:0 1px 3px #0002;transform:translateX(calc(var(--choice,0)*100%));transition:transform 140ms ease}
.studio-design-shape button{position:absolute;left:0;top:-4px;width:50%;height:44px;min-width:0;min-height:44px;padding:0 8px;border:0;border-radius:999px;background:none;box-shadow:none;color:#3a312b;font:400 13px/1.2 Onest,system-ui,sans-serif;cursor:pointer}
.studio-design-shape button+button{left:50%}
.studio-design-shape button[aria-pressed=true]{font-weight:500}
.studio-design-shape button:focus-visible{outline:0;box-shadow:inset 0 0 7px #f47b5c35}
.studio-design-dialog .studio-design-stage:focus-visible{outline:0;box-shadow:inset 0 0 7px #f47b5c24}
:is(.studio-own-select,.studio-design-dialog) .studio-photo:has(.studio-add-photo){isolation:isolate;background:linear-gradient(145deg,#fff 2%,#fdfcfb 50%,#f5f3f1 100%);box-shadow:inset 0 2px 2px #ffffffee,inset 0 -3px 5px #b6b0a527,0 10px 20px #5b524817,0 2px 4px #5b52480d;border:1px solid #ffffffec;outline:0;mask-image:none;backdrop-filter:blur(8px) saturate(1.1)}
:is(.studio-own-select,.studio-design-dialog) .studio-add-photo{position:absolute;inset:0;display:block;width:100%;height:100%;min-height:0;padding:0;container-type:size}
:is(.studio-own-select,.studio-design-dialog) .studio-add-photo::before{content:'';position:absolute;inset:0;background:radial-gradient(ellipse at 14% 2%,#ffffffc4,transparent 44%);pointer-events:none}
:is(.studio-own-select,.studio-design-dialog) .studio-add-photo::after{content:'';position:absolute;inset:5%;border-radius:inherit;border:1px solid #ffffffa6;box-shadow:inset 0 1px 1px #ffffffe0,0 1px 2px #8d837315;pointer-events:none;z-index:2}
:is(.studio-own-select,.studio-design-dialog) .studio-add-photo[data-glass-shape=circle]::after{border-radius:50%}
:is(.studio-own-select,.studio-design-dialog) .studio-add-photo[data-glass-shape=square]::after{border-radius:12%}
:is(.studio-own-select,.studio-design-dialog) .studio-add-photo>b{position:absolute;left:50%;top:50%;display:block;transform:translate(-50%,-50%);width:clamp(5px,18cqi,24px);height:clamp(5px,18cqi,24px);border:0;border-radius:0;background:none;box-shadow:none;color:#78736c;padding:0;z-index:3;pointer-events:none}
:is(.studio-own-select,.studio-design-dialog) .studio-add-photo>b>svg{display:block;width:100%;height:100%;fill:none;stroke:currentColor;stroke-width:2.2;stroke-linecap:round;filter:drop-shadow(0 1px 0 #ffffffcc) drop-shadow(0 -.35px .25px #625b5540)}
:is(.studio-own-select,.studio-design-dialog) .studio-add-photo>span{position:absolute;left:3%;right:3%;top:calc(50% + clamp(4px,15cqi,20px));margin:0;text-align:center;white-space:nowrap;font:400 clamp(2.5px,8cqi,10.5px)/1.25 Onest,system-ui,sans-serif;color:#575451;z-index:3;pointer-events:none}
body #editorView.active .studio-shell[data-step] .studio-own-select .studio-photo .studio-add-photo>b{width:18cqi;height:18cqi}
body #editorView.active .studio-shell[data-step] .studio-own-select .studio-photo .studio-add-photo>span{top:calc(50% + 15cqi);font-size:8cqi}
@media(prefers-reduced-motion:reduce){.studio-design-shape::before{transition:none}}

/* The saved crop sits at the top edge and keeps the invitation's fade. */
.studio-own-tile{position:relative;min-width:0;aspect-ratio:6/5}
#editorView .studio-own-select{position:absolute;inset:0;width:100%;height:100%;display:block;padding:0;container-type:inline-size}
.studio-own-art{position:absolute;left:0;top:0;width:100%;aspect-ratio:var(--art-ratio,1.21);overflow:hidden}
.studio-own-art img{position:absolute;inset:0;width:100%;height:100%;display:block;object-fit:fill}
.studio-own-art i{position:absolute;inset:auto 0 -1px;height:max(16%,calc(var(--art-copy-overlap) + 3cqw));background:linear-gradient(to bottom,#ffffff00,#fff calc(100% - var(--art-copy-overlap)),#fff);pointer-events:none}
#editorView .studio-own-menu-trigger{position:absolute;right:0;top:0;z-index:3;display:grid;place-items:center;width:44px;height:44px;min-height:44px;padding:0;border:0;background:transparent;box-shadow:none;color:#58584f;cursor:pointer}
.studio-own-menu-trigger>span{position:absolute;right:6px;top:6px;display:grid;place-items:center;width:24px;height:24px;border:1px solid #dddcd28c;border-radius:50%;background:#ffffffdb;backdrop-filter:blur(6px);font:500 17px/1 var(--studio-font);box-shadow:inset 0 1px 0 #fff,0 2px 6px #332d2410}
.studio-own-menu{position:fixed;z-index:1200;box-sizing:border-box;min-width:160px;max-width:calc(100vw - 24px);padding:5px;border:1px solid #e4e0d5b3;border-radius:17px;background:#fffdf9f5;backdrop-filter:blur(14px);box-shadow:inset 0 1px 0 #fff,0 7px 24px #473e281f;font:400 13px/1.2 var(--studio-font)}
.studio-own-menu button{display:block;width:100%;min-height:44px;text-align:left;padding:8px 13px;border:0;border-radius:12px;background:transparent;color:#575451;font:inherit;cursor:pointer}
.studio-own-menu [data-own-action=delete]{color:#a65340}
.studio-own-menu button:hover,.studio-own-menu button:focus-visible{background:#efeee780}
.studio-own-menu button:focus-visible,.studio-own-menu-trigger:focus-visible{outline:0;box-shadow:inset 0 0 7px #f47b5c24}
.studio-design-remove-dialog{width:min(320px,calc(100vw - 32px));box-sizing:border-box;padding:23px 20px 18px;border:1px solid #e4e0d5;border-radius:24px;background:#fffdf9;color:#575451;box-shadow:0 12px 45px #473e2830;font:400 13px/1.5 var(--studio-font)}
.studio-design-remove-dialog::backdrop{background:#37343147;backdrop-filter:blur(4px)}
.studio-design-remove-dialog h2{font:400 23px/1.15 'Cormorant Garamond',Georgia,serif;margin:0 0 9px}
.studio-design-remove-dialog p{margin:0 0 18px;color:#848277;font-size:12px}
.studio-design-remove-dialog>div{display:flex;gap:8px}
.studio-design-remove-dialog button{flex:1;min-height:44px;padding:8px 12px;border:1px solid #e4e0d5;border-radius:999px;background:#ffffffba;color:#575451;font:400 13px var(--studio-font);cursor:pointer}
.studio-design-remove-dialog [data-remove-confirm]{background:#a85c49;color:#fff;border-color:#a85c49}
.studio-design-remove-dialog button:focus-visible{outline:2px solid #7f7c79;outline-offset:2px}

/* Photo mode stays available even when the catalog started without photos. */
.studio-design-controls{display:flex;align-items:center;justify-content:center;gap:8px;margin:9px 0 6px}
.studio-design-controls .studio-design-shape{flex:0 1 auto;width:min(50%,143px);margin:0}
.studio-design-controls:has(.studio-design-frame-shape:not([hidden])) .studio-design-shape{flex:1 1 0;width:auto;min-width:0}
.studio-design-mode button{padding:0 4px;font-size:12px}
.studio-design-shape[data-choice]::before{transition:none}
.studio-design-shape[data-choice="0"]::before{transform:translateX(0)}
.studio-design-shape[data-choice="1"]::before{transform:translateX(100%)}
