.studio{--studio-panel-gutter: .7rem;--studio-panel-width: min(19rem, calc(100% - 1.4rem) );position:relative;box-sizing:border-box;height:100dvh;overflow:hidden;background:#e8e4dc}.studio-stage{position:absolute;inset:0;background:#e8e4dc}.studio-stage-empty,.studio-stage-status{position:absolute;inset:0;right:calc(var(--studio-panel-gutter) + var(--studio-panel-width));z-index:1;display:grid;place-items:center;margin:0;padding:1rem;color:#3f3a36;font-size:.85rem;text-align:center;text-shadow:0 1px 2px rgb(255 255 255 / 75%);pointer-events:none}.studio-stage-status{background:#d5d5d56b}.studio-stage-hint{position:absolute;top:1rem;left:calc((100% - var(--studio-panel-gutter) - var(--studio-panel-width)) / 2);z-index:3;max-width:min(24rem,calc(100% - 2rem));margin:0;padding:.55rem .8rem;border-radius:.35rem;background:#fff;box-shadow:0 8px 24px #0000001f;transform:translate(-50%);color:#3f3a36;font-size:.78rem;text-align:center;pointer-events:none}.studio-stage-error{position:absolute;top:1rem;left:calc((100% - var(--studio-panel-gutter) - var(--studio-panel-width)) / 2);z-index:3;display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:.45rem .7rem;max-width:min(22rem,calc(100% - 2rem));margin:0;padding:.55rem .75rem;border-radius:.35rem;background:#fff;box-shadow:0 8px 24px #0000001f;transform:translate(-50%);font-size:.78rem}.studio-stage-retry{padding:.2rem .55rem;border:1px solid rgb(0 0 0 / 16%);border-radius:.25rem;background:#f4f4f4;font-size:.72rem}.studio-panel{position:absolute;top:1.15rem;right:var(--studio-panel-gutter);bottom:1.15rem;z-index:1;display:flex;flex-direction:column;gap:.5rem;box-sizing:border-box;width:var(--studio-panel-width);overflow:auto;padding:.55rem .5rem;border:1px solid rgb(255 255 255 / 45%);border-radius:.5rem;background:#ffffff85;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.studio-sheet-handle{display:none}.studio-panel-body{display:flex;flex-direction:column;gap:.75rem;min-height:0}.studio-status{margin:0;color:#555;font-size:.75rem}.continue-device{padding:.45rem .45rem .5rem;border-radius:.35rem;background:#ffffff61}.continue-device-help{margin:0 0 .4rem;color:#555;font-size:.65rem;line-height:1.4}.continue-device-qr{display:grid;place-items:center;margin-bottom:.4rem;padding:.35rem;border-radius:.25rem;background:#fff}.continue-device-qr svg{width:7.5rem;height:7.5rem}.continue-device-copy{width:100%;padding:.28rem .4rem;border:1px solid rgb(0 0 0 / 12%);border-radius:.25rem;background:#ffffffb3;font-size:.68rem}.studio-panel [role=alert]{margin:0;font-size:.72rem}.panel-section{display:flex;flex-direction:column;gap:.4rem;padding:.55rem .45rem .6rem;border:1px solid #b4b0a8;border-radius:.35rem}.panel-section+.panel-section{margin-top:.35rem}.panel-section-title{margin:0;font-size:.72rem;font-weight:650}.panel-empty{margin:0;color:#666;font-size:.68rem}.booth-toggle{display:flex;align-items:center;justify-content:space-between;gap:.7rem}.booth-toggle-copy{min-width:0}.booth-toggle-name,.booth-toggle-state{margin:0}.booth-toggle-name{color:#3f3a36;font-size:.72rem;font-weight:600}.booth-toggle-state{margin-top:.12rem;color:#666;font-size:.62rem}.booth-switch{position:relative;flex:0 0 auto;width:2.35rem;height:1.35rem;padding:0;border:0;border-radius:999px;background:#c5c0b8;cursor:pointer}.booth-switch--on{background:#2b2b2b}.booth-switch-thumb{position:absolute;top:.14rem;left:.14rem;width:1.07rem;height:1.07rem;border-radius:999px;background:#fff;box-shadow:0 1px 2px #0000002e;transition:transform .16s ease}.booth-switch--on .booth-switch-thumb{transform:translate(1rem)}.product-grid{display:grid;grid-template-columns:1fr 1fr;gap:.45rem}.added-card,.catalog-card{display:flex;flex-direction:column;gap:.22rem;min-width:0}.added-card{cursor:pointer}.added-card-frame,.catalog-card-frame{position:relative;aspect-ratio:1;overflow:hidden;border:1.5px solid transparent;border-radius:.28rem;background:#a0a0a061}.added-card--active .added-card-frame,.added-card:hover .added-card-frame,.added-card:focus-within .added-card-frame{border-color:#e23b3b}.added-card-edit{position:absolute;right:.28rem;bottom:.28rem;left:.28rem;z-index:1;padding:.22rem .3rem;border:0;border-radius:.2rem;background:#e23b3beb;color:#fff;font-size:.62rem;opacity:0;pointer-events:none}.added-card--active .added-card-edit,.added-card:hover .added-card-edit,.added-card:focus-within .added-card-edit{opacity:1;pointer-events:auto}.added-card-caption,.catalog-card-caption{margin:0;color:#3f3a36;font-size:.62rem;line-height:1.3}.added-card-pose{display:grid;grid-template-columns:1fr 1fr 1fr;gap:.2rem}.added-card-pose-field{display:flex;flex-direction:column;gap:.1rem;min-width:0;color:#5c574f;font-size:.55rem}.added-card-pose-field input{box-sizing:border-box;width:100%;padding:.18rem .2rem;border:1px solid rgb(0 0 0 / 14%);border-radius:.2rem;background:#fff;color:#3f3a36;font-size:.62rem}.catalog-card-image{width:100%;height:100%;object-fit:cover}.catalog-card-placeholder{display:grid;place-items:center;height:100%;color:#5c574f;font-size:.62rem;text-align:center;padding:.3rem}.catalog-card-add{position:absolute;right:.22rem;bottom:.22rem;display:grid;place-items:center;width:1.55rem;height:1.55rem;padding:0;border:0;border-radius:999px;background:#282828d1;color:#fff;font-size:.95rem;line-height:1}.cart-button{width:100%;margin-top:.15rem;padding:.55rem .6rem;border:0;border-radius:.3rem;background:#2b2b2b;color:#fff;font-size:.78rem;font-weight:600}.edit-modal-backdrop{position:fixed;inset:0;z-index:20;display:grid;place-items:center;padding:1rem;background:#1e1a166b}.edit-modal{position:relative;box-sizing:border-box;width:min(28rem,100%);max-height:min(90dvh,42rem);overflow:auto;padding:1.1rem 1rem 1rem;border-radius:.6rem;background:#fff;box-shadow:0 16px 48px #0000002e}.edit-modal-close{position:absolute;top:.45rem;right:.45rem;display:grid;place-items:center;width:2rem;height:2rem;padding:0;border:0;border-radius:999px;background:transparent;color:#333;font-size:1.35rem;line-height:1}.edit-modal-header{margin:0 1.6rem .7rem 0}.edit-modal-title{margin:0;font-size:1rem}.edit-modal-meta{margin:.15rem 0 0;color:#666;font-size:.75rem}.edit-modal-field{display:flex;flex-direction:column;gap:.25rem;margin:0 0 .7rem;font-size:.75rem}.edit-modal-field select{width:100%;padding:.35rem .45rem;border:1px solid rgb(0 0 0 / 14%);border-radius:.25rem;background:#fff}.edit-modal-print{margin:0 0 .8rem;padding:0;border:0}.edit-modal-print legend{padding:0;margin-bottom:.35rem;font-size:.75rem}.edit-modal-print-options{display:flex;flex-wrap:wrap;gap:.45rem .8rem}.edit-modal-print-option{display:flex;flex-direction:row;align-items:center;gap:.3rem;margin:0;font-size:.75rem}.edit-modal-print-option input{width:auto}.choose-wall-groups{display:grid;gap:.7rem}.choose-wall-group-label{margin:0 0 .3rem;color:#6a6460;font-size:.7rem}.choose-wall-button{min-width:6.5rem;padding:.55rem .8rem;border:1px solid rgb(0 0 0 / 16%);border-radius:.3rem;background:#f7f5f1;color:#3f3a36;font-size:.8rem;font-weight:600}.choose-wall-button:hover,.choose-wall-button:focus-visible{border-color:#3f3a36;background:#fff}.edit-modal-slots{display:grid;gap:.7rem}.edit-modal-slot-name{margin:0 0 .3rem;font-size:.72rem;color:#555}.edit-modal-delete{width:100%;margin-top:.95rem;padding:.5rem;border:1px solid rgb(176 0 32 / 28%);background:#fff5f5;color:#b00020;font-size:.75rem}.image-slot-wrap{min-width:0}.image-slot-wrap [role=alert]{margin:.25rem 0 0;font-size:.65rem}.image-slot{position:relative;display:grid;place-items:center;width:4.4rem;height:4.4rem;margin:0;overflow:hidden;border:0;border-radius:.18rem;background:#a0a0a08c;color:#3a3a3a;cursor:pointer}.image-slot--wide{width:100%;height:2.85rem}.image-slot--busy{cursor:progress}.image-slot--over{outline:2px dashed #3f3a36;outline-offset:2px}.image-slot-clear{margin-top:.3rem;padding:.2rem .45rem;border:1px solid rgb(0 0 0 / 14%);border-radius:.2rem;background:#fff;font-size:.68rem}.edit-modal-slots .image-slot{width:100%;height:6.5rem}.edit-modal-slots--wide .image-slot{min-height:8.5rem;height:auto}.image-slot-input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.image-slot-preview{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}.image-slot--filled:after{content:"";position:absolute;inset:0;background:#00000047}.image-slot-content{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.1rem;padding:.2rem;pointer-events:none}.image-slot--filled .image-slot-content{color:#fff;text-shadow:0 1px 2px rgb(0 0 0 / 55%)}.image-slot-plus{font-size:1.05rem;font-weight:300;line-height:1}.image-slot-label,.image-slot-status{font-size:.65rem}@media(max-width:720px){.studio-panel{inset:auto 0 0;width:100%;height:100px;max-height:none;overflow:hidden;padding:.2rem 0 0;border-bottom:0;border-radius:.5rem .5rem 0 0;transition:height .28s ease}.studio-panel--expanded{height:90dvh}.studio-panel--dragging{transition:none}.studio-sheet-handle{display:flex;flex:0 0 auto;align-items:center;justify-content:center;padding:.1rem 0 .15rem;touch-action:none;-webkit-user-select:none;user-select:none;cursor:grab}.studio-sheet-toggle{display:grid;place-items:center;width:2.25rem;height:1.5rem;padding:0;border:0;border-radius:999px;background:#ffffff8c;color:#444}.studio-stage{--model-viewer-ar-bottom: calc(100px + .85rem) ;--model-viewer-ar-hint-bottom: calc(100px + 3.1rem) }.studio-stage-empty,.studio-stage-status{right:0;bottom:100px}.studio-stage-error,.studio-stage-hint{left:50%}.studio-panel-body{flex:1;overflow:auto;padding:0 .5rem .55rem;overscroll-behavior:contain}}@media(max-width:420px){.image-slot:not(.image-slot--wide){width:4rem;height:4rem}}*,*:before,*:after{box-sizing:border-box}html,body,#root{margin:0;min-height:100%}body{line-height:1.5;font-family:system-ui,sans-serif}img,picture,video,canvas,svg{display:block;max-width:100%}input,button,textarea,select{font:inherit}p,h1,h2,h3,h4,h5,h6{overflow-wrap:break-word}h1{margin:0 0 .5rem;font-size:1.25rem;font-weight:650}p{margin:0 0 1rem}.page{max-width:28rem;margin:0 auto;padding:1.5rem 1rem}label{display:flex;flex-direction:column;align-items:flex-start;gap:.25rem;margin:.75rem 0}input{width:100%;padding:.4rem .5rem;border:1px solid #ccc;border-radius:4px}button{padding:.4rem .75rem;border:1px solid #ccc;border-radius:4px;background:#f4f4f4;cursor:pointer}button:disabled{opacity:.6;cursor:not-allowed}[role=alert]{color:#b00020}header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1rem}
