.pzc-root{--pz-ink:#18181b;--pz-muted:#71717a;--pz-line:#e4e4e7;--pz-bg:#fafafa;--pz-accent:#2563eb;--pz-accent-ink:#fff;--pz-danger:#dc2626;--pz-ok:#16a34a;--pz-warn:#b45309}.pzc-root{container-type:inline-size;position:relative;left:50%;transform:translate(-50%);width:min(1440px,calc(100vw - 32px));max-width:none!important}.pzc-app{font:14px/1.45 system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--pz-ink);background:#fff;border:1px solid var(--pz-line);border-radius:12px;overflow:hidden;position:relative}.pzc-app *,.pzc-app *:before,.pzc-app *:after{box-sizing:border-box}.pzc-app h1,.pzc-app h3,.pzc-app h4,.pzc-app p{font-family:inherit}.pzc-app h4{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:var(--pz-muted);margin:14px 0 8px;font-weight:600}.pzc-app h4:first-child{margin-top:0}.pzc-app button{font:inherit;cursor:pointer;margin:0}.pzc-app button:disabled{opacity:.45;cursor:default}.pzc-app input,.pzc-app select{font:inherit;padding:7px 9px;border:1px solid var(--pz-line);border-radius:8px;background:#fff;color:var(--pz-ink);min-width:0;margin:0;box-shadow:none}.pzc-top{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;border-bottom:1px solid var(--pz-line)}.pzc-title strong{display:block;font-size:15px}.pzc-title span{color:var(--pz-muted);font-size:12px}.pzc-top-actions{display:flex;gap:6px;align-items:center}.pzc-app .pzc-icon{width:34px;height:34px;border:1px solid var(--pz-line);background:#fff;color:var(--pz-ink);border-radius:8px;font-size:17px;padding:0}.pzc-app .pzc-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:8px 14px;border-radius:8px;border:1px solid var(--pz-accent);background:var(--pz-accent);color:var(--pz-accent-ink);font-weight:600;text-decoration:none;white-space:nowrap}.pzc-app .pzc-btn.ghost{background:#fff;color:var(--pz-ink);border-color:var(--pz-line);font-weight:500}.pzc-app .pzc-btn.danger{background:#fff;color:var(--pz-danger);border-color:#fecaca}.pzc-app .pzc-btn.big{padding:12px;font-size:15px}.pzc-body{display:grid;grid-template-columns:76px 240px minmax(0,1fr) 290px;min-height:620px}.pzc-rail{border-right:1px solid var(--pz-line);padding:8px 6px;display:flex;flex-direction:column;gap:4px;background:var(--pz-bg)}.pzc-app .pzc-rail button{border:0;background:#fff0;color:var(--pz-muted);border-radius:8px;padding:8px 2px;font-size:11px;display:flex;flex-direction:column;align-items:center;gap:2px}.pzc-app .pzc-rail button.on{background:#fff;color:var(--pz-ink);box-shadow:0 0 0 1px var(--pz-line)}.pzc-rail-ico{font-size:18px;font-weight:700;line-height:1.2}.pzc-panel{border-right:1px solid var(--pz-line);padding:14px;overflow:auto}.pzc-stage{min-width:0;background:var(--pz-bg);padding:16px;display:flex;flex-direction:column;align-items:center;gap:10px}.pzc-canvas-wrap{position:relative;width:100%;max-width:560px;min-width:0;overflow:hidden}.pzc-canvas-wrap .canvas-container{max-width:100%}.pzc-canvas-wrap .canvas-container{margin:0 auto;border-radius:10px;overflow:hidden;box-shadow:0 1px 3px #00000014}.pzc-loading{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;color:var(--pz-muted)}.pzc-views{display:flex;gap:6px}.pzc-app .pzc-views button{border:1px solid var(--pz-line);background:#fff;color:var(--pz-ink);padding:6px 16px;border-radius:999px;position:relative}.pzc-app .pzc-views button.on{border-color:var(--pz-ink);background:var(--pz-ink);color:#fff}.pzc-dot{display:inline-block;width:6px;height:6px;border-radius:50%;background:var(--pz-ok);margin-left:6px;vertical-align:middle}.pzc-hint{color:var(--pz-muted);font-size:12px;margin:0}.pzc-side{border-left:1px solid var(--pz-line);padding:14px;display:flex;flex-direction:column;gap:12px;overflow:auto}.pzc-card{border:1px solid var(--pz-line);border-radius:10px;padding:12px}.pzc-muted{color:var(--pz-muted);font-size:13px}.pzc-row{display:flex;gap:6px;align-items:center;margin-bottom:8px}.pzc-row>input:not([type=color]):not([type=range]),.pzc-row>select{flex:1}.pzc-row input[type=number]{width:70px;flex:0 0 70px}.pzc-row input[type=range]{flex:1}.pzc-wrap{flex-wrap:wrap}.pzc-full{width:100%;display:block;margin-bottom:8px}.pzc-lbl{display:block;font-size:12px;color:var(--pz-muted);margin:4px 0 2px}.pzc-color{width:36px;height:34px;border:1px solid var(--pz-line);border-radius:8px;overflow:hidden;display:inline-block;flex:0 0 36px}.pzc-app .pzc-color input{width:150%;height:150%;margin:-25%;padding:0;border:0;cursor:pointer}.pzc-app .pzc-tog{width:34px;height:34px;border:1px solid var(--pz-line);background:#fff;color:var(--pz-ink);border-radius:8px;padding:0}.pzc-app .pzc-tog.on{background:var(--pz-ink);color:#fff;border-color:var(--pz-ink)}.pzc-presets{display:grid;grid-template-columns:1fr 1fr;gap:6px}.pzc-app .pzc-presets button{border:1px solid var(--pz-line);background:#fff;color:var(--pz-ink);padding:14px 4px;border-radius:8px;font-size:18px}.pzc-swatches{display:flex;flex-wrap:wrap;gap:8px}.pzc-app .pzc-swatches button{width:34px;height:34px;border-radius:50%;border:1px solid #d4d4d8;padding:0}.pzc-app .pzc-swatches button.on{box-shadow:0 0 0 2px #fff,0 0 0 4px var(--pz-accent)}.pzc-product-img{width:100%;border-radius:8px;margin-top:12px}.pzc-app .pzc-drop{width:100%;border:2px dashed #d4d4d8;background:var(--pz-bg);color:var(--pz-ink);border-radius:10px;padding:22px 10px;font-weight:600;display:flex;flex-direction:column;gap:4px;align-items:center}.pzc-drop small{font-weight:400;color:var(--pz-muted);font-size:11px}.pzc-thumbs{display:grid;grid-template-columns:repeat(4,1fr);gap:6px}.pzc-app .pzc-thumbs button{aspect-ratio:1;border:1px solid var(--pz-line);background:#fff;border-radius:6px;padding:3px}.pzc-thumbs img{width:100%;height:100%;object-fit:contain}.pzc-layers{list-style:none;margin:0 0 10px;padding:0}.pzc-app .pzc-layers button{width:100%;text-align:left;border:1px solid #fff0;background:#fff0;color:var(--pz-ink);padding:7px 8px;border-radius:6px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pzc-app .pzc-layers li.on button{background:#eff6ff;border-color:#bfdbfe}.pzc-warn{color:var(--pz-warn);font-size:12px;background:#fffbeb;padding:6px 8px;border-radius:6px}.pzc-ok{color:var(--pz-ok);font-size:12px}.pzc-sizes{display:grid;grid-template-columns:repeat(auto-fill,minmax(52px,1fr));gap:6px}.pzc-sizes label{display:flex;flex-direction:column;align-items:center;gap:3px;font-size:12px;font-weight:600}.pzc-app .pzc-sizes input{width:100%;text-align:center;padding:6px 2px}.pzc-tiers{width:100%;border-collapse:collapse;margin:12px 0 6px;font-size:12px}.pzc-tiers td{padding:4px 6px;border-bottom:1px solid var(--pz-line)}.pzc-tiers td:last-child{text-align:right}.pzc-tiers tr.on td{background:#eff6ff;font-weight:600}.pzc-nudge{font-size:12px;color:var(--pz-accent);margin:4px 0}.pzc-total{display:flex;justify-content:space-between;align-items:baseline;margin:10px 0}.pzc-total span{color:var(--pz-muted);font-size:12px}.pzc-total strong{font-size:20px}.pzc-toast{position:absolute;left:50%;bottom:18px;transform:translate(-50%);background:var(--pz-ink);color:#fff;padding:10px 16px;border-radius:8px;font-size:13px;z-index:5;max-width:90%}.pzc-modal{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000073;display:grid;place-items:center;z-index:99999;padding:16px}.pzc-modal-box{background:#fff;border-radius:12px;padding:22px;max-width:440px;width:100%}.pzc-modal-box h3{margin:0 0 6px}.pzc-modal-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:16px}.pzc-error{padding:20px;color:var(--pz-danger)}@container (max-width:1100px){.pzc-body{grid-template-columns:76px 220px minmax(0,1fr)}.pzc-side{grid-column:1 / -1;border-left:0;border-top:1px solid var(--pz-line);display:grid;grid-template-columns:1fr 1fr}}@container (max-width:720px){.pzc-body{grid-template-columns:minmax(0,1fr)}.pzc-rail{flex-direction:row;border-right:0;border-bottom:1px solid var(--pz-line)}.pzc-app .pzc-rail button{flex:1}.pzc-panel{border-right:0;border-bottom:1px solid var(--pz-line);order:2}.pzc-stage{order:1;padding:10px}.pzc-side{order:3;grid-template-columns:1fr}.pzc-top{flex-wrap:wrap}}.pzc-app .pzc-opt small{display:block;font-size:11px;opacity:.7;font-weight:400}.pzc-app .pzc-tog.pzc-opt{width:auto;min-width:92px;padding:6px 10px;height:auto}.pzc-app .pzc-sizes label.off{opacity:.4}.pzc-app .pzc-canvas-wrap.pzc-wide{overflow-x:auto;overflow-y:hidden;display:block;max-width:100%}.pzc-app .pzc-canvas-wrap.pzc-wide .canvas-container{max-width:none}.pzc-app .pzc-canvas-wrap.pzc-wide .canvas-container{margin:0}.pzc-app .pzc-zoom{display:flex;gap:6px;align-items:center;font-size:13px;margin-bottom:8px;flex-wrap:wrap}.pzc-app .pzc-zoom button{border:1px solid var(--pz-line);background:#fff;border-radius:6px;padding:2px 10px;cursor:pointer}.pzc-app .pzc-zoom button.on{background:var(--pz-ink);color:#fff;border-color:var(--pz-ink)}.pzc-app .pzc-qty-single{display:flex;align-items:center;gap:10px}.pzc-app .pzc-qty-single input{width:90px}.pzc-app .pzc-free-color{align-items:center;gap:8px}.pzc-app .pzc-free-color input[type=color]{width:48px;height:40px;padding:0;border:1px solid var(--pz-line);border-radius:8px;background:#fff;cursor:pointer}.pzc-app .pzc-hex{width:110px;font-family:ui-monospace,monospace;text-transform:uppercase}.pzc-app .pzc-rot{align-items:center;gap:8px}.pzc-app .pzc-rot input[type=range]{flex:1;min-width:0}.pzc-app .pzc-rot .pzc-angle{width:72px;text-align:right}.pzc-app .pzc-panel>.pzc-card{margin-bottom:14px;border-color:var(--pz-ink)}.pzc-app .pzc-panel .pzc-card .pzc-row{flex-wrap:wrap}.pzc-app .pzc-optgroup h4{margin-top:0}.pzc-app .pzc-optgroup{margin-bottom:10px}