.photoStudio{border:0;padding:0;width:min(760px,100vw);height:min(900px,100dvh);max-width:100vw;max-height:100dvh;background:#fffaf6;color:#261d2e;border-radius:24px;font-family:'Plus Jakarta Sans',sans-serif}
.photoStudio::backdrop{background:#1d152abf}.photoStudio[open]{display:flex;flex-direction:column}.photoStudio *{box-sizing:border-box}.photoStudio [hidden]{display:none!important}
.photoStudio header{display:flex;justify-content:space-between;align-items:center;padding:18px 20px;border-bottom:1px solid #e9e0eb;background:#fffaf6}.photoStudio h2{font:700 25px Georgia;margin:4px 0}.photoStudio small{color:#715591;font-size:11px;text-transform:uppercase;letter-spacing:2px}.photoStudio button{font:600 14px inherit;border:1px solid #dfd5e8;background:#fff;border-radius:12px;min-height:46px;padding:10px 15px;cursor:pointer;color:inherit}.photoStudio button:focus-visible{outline:3px solid #be9fff}.photoStudio button:disabled{opacity:.4;cursor:default}
.photoStudio__body{flex:1;min-height:0;overflow:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.photoStudio__stage{flex:1;min-height:210px;background:#eee7f0;border-radius:16px;display:flex;align-items:center;justify-content:center;overflow:hidden;position:relative;padding:12px}.photoStudio canvas{max-width:100%;max-height:100%;object-fit:contain;touch-action:none;box-shadow:0 8px 25px #30223c33}.photoStudio video{width:100%;height:100%;max-height:420px;object-fit:contain}.photoStudio__empty{text-align:center;padding:28px;color:#746781}.photoStudio__empty strong{display:block;font:700 27px Georgia;color:#31243c;margin:15px}.photoStudio__tools{display:flex;justify-content:center;gap:8px;flex-wrap:wrap}.photoStudio__zoom{display:flex;align-items:center;gap:14px;font-size:13px}.photoStudio__zoom input{width:100%;accent-color:#7153aa}.photoStudio__zoom output{min-width:44px;text-align:right;font-weight:700}.photoStudio__notice{margin:0;font-size:13px;text-align:center;color:#746781;min-height:20px}.photoStudio footer{display:flex;gap:12px;padding:14px 18px calc(14px + env(safe-area-inset-bottom));border-top:1px solid #e4dce8;background:#fffaf6}.photoStudio footer button{flex:1}.photoStudio .photoStudio__primary{background:#6c4da1;color:white;border-color:#6c4da1}.photoStudio__sources{display:flex;gap:8px;justify-content:center}.photoStudio__sources button{background:#ef4f91;color:#fff;border-color:#ef4f91;font-weight:700}.photoStudio__sources button:hover{background:#dc3f80;border-color:#dc3f80}.photoStudioLauncher{margin-top:12px}
.photoStudio__notice[data-attention="warning"],.photoStudio__notice[data-attention="error"]{color:#c92534;font-weight:800;animation:photoAttention .65s ease-in-out 3}
.photoStudio__qualityAck{display:flex;align-items:flex-start;gap:10px;margin:0 auto;padding:11px 14px;max-width:680px;border:1px solid #e34a55;border-radius:12px;background:#fff1f2;color:#8f2029;font-size:13px;font-weight:700;line-height:1.45;cursor:pointer}.photoStudio__qualityAck[hidden]{display:none}.photoStudio__qualityAck input{margin:3px 0 0;accent-color:#c92534;flex:0 0 auto}
@keyframes photoAttention{0%,100%{opacity:1}50%{opacity:.3}}
@media(prefers-reduced-motion:reduce){.photoStudio__notice[data-attention]{animation:none}}
body.hasPhotoStudio .photoTools,body.hasPhotoStudio [data-cover-editor]{display:none!important}
body.hasPhotoStudio [data-photo-overlay]{pointer-events:none}
.photoStudio__shape{display:flex;gap:8px;margin-bottom:8px}
.photoStudio__shape button{flex:1}
.photoStudio__shape button[aria-pressed="true"]{background:#6c4da1;color:#fff;border-color:#6c4da1}
@media(max-width:650px){.photoStudio{width:100vw;height:100dvh;border-radius:0;margin:0}.photoStudio header{padding-top:calc(14px + env(safe-area-inset-top))}.photoStudio__stage{min-height:180px}.photoStudio__body{padding:12px}.photoStudio__tools button{padding:8px 11px;font-size:12px}.photoStudio__sources button{flex:1}.photoStudio__sources{width:100%}}
.photoStudio header,.photoStudio footer{position:static;flex-shrink:0}
.photoStudio__body{overscroll-behavior:contain}
/* A rotated phone needs space for the preview beside the controls. */
@media (orientation:landscape) and (max-height:600px){
 .photoStudio{width:100vw;height:100dvh;max-width:100vw;border-radius:0;margin:0}
 .photoStudio header{padding:6px max(14px,env(safe-area-inset-right)) 6px max(14px,env(safe-area-inset-left))}
 .photoStudio header small{display:none}.photoStudio h2{font-size:20px;margin:0}
 .photoStudio header [data-close]{min-height:40px;padding:6px 12px}
 .photoStudio__body{display:grid;grid-template-columns:minmax(0,1fr) minmax(240px,32%);grid-template-rows:auto auto minmax(0,1fr);gap:8px 14px;padding:8px max(12px,env(safe-area-inset-right)) 8px max(12px,env(safe-area-inset-left));overflow:auto}
 .photoStudio__stage{grid-column:1;grid-row:1/4;min-height:0;min-width:0;height:100%;padding:8px}
 .photoStudio__sources{grid-column:2;grid-row:1;display:grid;grid-template-columns:1fr 1fr;gap:6px}
 .photoStudio__notice{grid-column:2;grid-row:2;font-size:12px;line-height:1.3}
 .photoStudio [data-camera-tools],.photoStudio [data-edit-tools]{grid-column:2;grid-row:3;align-self:start;min-height:0}
 .photoStudio__tools{gap:6px;display:grid;grid-template-columns:1fr 1fr}
 .photoStudio button{min-height:42px;padding:7px 8px;font-size:12px}
 .photoStudio__zoom{margin-top:8px;gap:6px}
 .photoStudio video{max-height:100%;min-height:0}
 .photoStudio footer{padding:6px max(12px,env(safe-area-inset-right)) max(6px,env(safe-area-inset-bottom)) max(12px,env(safe-area-inset-left))}
 .photoStudio__empty{padding:8px;font-size:12px}.photoStudio__empty strong{font-size:21px;margin:8px}
}
