.ecPage .pp-head{margin-bottom:14px}.ecPage .pp-head h1{margin:0 0 8px;font-size:clamp(22px,2.6vw,30px);font-weight:800}.ecPage .pp-head p{margin:0;color:#4d5b6e;line-height:1.8;font-size:14px;max-width:68em}.ecPage .pp-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:20px;align-items:start}.ecPage .pp-editor.embed .pp-layout{grid-template-columns:minmax(0,1fr) 300px;gap:14px}.ecPage .pp-left{min-width:0}.ecPage .pp-block{background:#fff;border:1px solid var(--line);border-radius:10px;padding:12px;margin-bottom:14px}.ecPage .pp-blockhead{display:flex;flex-wrap:wrap;align-items:center;gap:10px 12px;margin-bottom:6px}.ecPage .pp-step{display:flex;align-items:center;gap:6px;min-width:0}.ecPage .pp-step:first-child{flex:1 1 210px}.ecPage .pp-stepbadge{flex:0 0 22px;width:22px;height:22px;border-radius:999px;background:var(--navy);color:#fff;font-size:12px;font-weight:900;display:inline-flex;align-items:center;justify-content:center}.ecPage .pp-garment{flex:1;min-width:0}.ecPage .pp-tintsel{flex:0 1 170px}.ecPage .pp-garment-fixed{display:flex;flex-direction:column;justify-content:center;gap:1px;background:#f3f5f8;font-weight:800;line-height:1.3}.ecPage .pp-garment,.ecPage .pp-tintsel{border:1px solid var(--line);border-radius:7px;padding:4px 9px;min-height:31px;font-size:12px;font-family:inherit;background:#fff;color:var(--ink)}.ecPage .pp-methods{display:flex;align-items:center;gap:6px}.ecPage .pp-m{display:inline-flex;align-items:center;gap:5px;padding:5px 10px;min-height:31px;border:1.5px solid var(--line);border-radius:7px;background:#fff;cursor:pointer;font-size:12px;font-weight:800;color:#555}.ecPage .pp-dot{width:10px;height:10px;border-radius:3px}.ecPage .pp-m-emb .pp-dot{background:#2563eb}.ecPage .pp-m-prn .pp-dot{background:#16a34a}.ecPage .pp-m-emb.active{border-color:#2563eb;background:#eff4ff;color:#2563eb}.ecPage .pp-m-prn.active{border-color:#16a34a;background:#eefaf1;color:#16a34a}.ecPage .pp-addshape{display:inline-flex;align-items:center;gap:6px;border:1.5px dashed var(--navy);color:var(--navy);background:#fff;border-radius:7px;padding:5px 11px;min-height:31px;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}.ecPage .pp-addshape:hover{background:#eef5ff}.ecPage .pp-addshape:disabled{border-color:#cfd6df;color:#98a2b3;background:#f3f4f6;cursor:not-allowed}.ecPage .pp-garment-note{margin:0 0 8px;color:#4a525c;font-size:11.5px;line-height:1.45}.ecPage .pp-delblock{margin-top:10px}.ecPage .pp-stage-wrap{position:relative;background:#f8fafc;border:1px solid #e6ebf1;border-radius:10px;padding:14px}.ecPage .pp-stage{position:relative;width:100%;margin:0 auto;border-radius:8px;touch-action:none;isolation:isolate;background-repeat:no-repeat;background-position:50%;background-size:contain}.ecPage .pp-stage.has-img{background-color:#fff;border:1px solid #e6ebf1}.ecPage .pp-stage.empty{display:flex;align-items:center;justify-content:center;min-height:200px;color:#94a3b8;font-size:14px;border:2px dashed #cbd5e1}.ecPage .pp-tint{mix-blend-mode:multiply;z-index:1}.ecPage .pp-placeholder,.ecPage .pp-tint{position:absolute;inset:0;border-radius:8px;pointer-events:none}.ecPage .pp-placeholder{margin:0;display:grid;place-content:center;text-align:center;gap:6px;color:#94a3b8;font-size:14px;font-weight:800;padding:20px;background:repeating-linear-gradient(135deg,#f2f5f9,#f2f5f9 12px,#eef2f7 0,#eef2f7 24px)}.ecPage .pp-placeholder small{font-weight:500;font-size:12px;line-height:1.6}.ecPage .pp-shape{position:absolute;z-index:2;display:flex;align-items:center;justify-content:center;border:1.5px dashed transparent;background:transparent;cursor:move;padding:0}.ecPage .pp-shape.circle{border-radius:50%}.ecPage .pp-shape.invtriangle,.ecPage .pp-shape.triangle{border:0;background:transparent}.ecPage .pp-shape.dragging{border-color:currentColor}.ecPage .pp-shape:focus-visible{outline:2px solid var(--navy);outline-offset:2px}.ecPage .pp-poly{position:absolute;inset:0;width:100%;height:100%;overflow:visible;pointer-events:none}.ecPage .pp-poly polygon{fill:rgba(5,69,141,.08);stroke:currentColor;stroke-width:2;vector-effect:non-scaling-stroke}.ecPage .pp-shape-num{position:relative;z-index:1;padding:2px;font-weight:800;line-height:1.15;word-break:break-all;overflow:hidden;text-align:center;pointer-events:none}.ecPage .pp-h{position:absolute;width:12px;height:12px;background:#fff;border:2px solid var(--navy);border-radius:2px;z-index:3}.ecPage .pp-h.nw{left:-7px;top:-7px;cursor:nwse-resize}.ecPage .pp-h.ne{right:-7px;top:-7px;cursor:nesw-resize}.ecPage .pp-h.sw{left:-7px;bottom:-7px;cursor:nesw-resize}.ecPage .pp-h.se{right:-7px;bottom:-7px;cursor:nwse-resize}.ecPage .pp-rot{position:absolute;left:50%;top:-30px;width:16px;height:16px;margin-left:-8px;background:#fff;border:2px solid var(--navy);border-radius:50%;cursor:grab;z-index:3}.ecPage .pp-rot:after{content:"";position:absolute;left:50%;top:16px;width:2px;height:14px;background:var(--navy);transform:translateX(-1px)}.ecPage .pp-addblock{width:100%;border:1.5px dashed var(--navy);color:var(--navy);background:#fff;border-radius:10px;padding:14px;font-size:14px;font-weight:800;cursor:pointer}.ecPage .pp-addblock:hover{background:#eef5ff}.ecPage .pp-side{position:sticky;top:calc(var(--nav-h) + 16px);display:grid;gap:14px}.ecPage .pp-editor.embed .pp-side{position:static}.ecPage .pp-panel{background:#fff;border:1px solid var(--line);border-radius:12px;padding:12px}.ecPage .pp-panel h2{margin:0 0 10px;font-size:14px;font-weight:800;display:flex;align-items:center;gap:8px}.ecPage .pp-badge{width:22px;height:22px;background:var(--navy);color:#fff;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:12px;font-weight:800}.ecPage .pp-panel input[type=number],.ecPage .pp-panel input[type=text],.ecPage .pp-panel select{border:1px solid var(--line);border-radius:6px;background:#fff;color:var(--ink);padding:6px 9px;font-size:12px;font-family:inherit}.ecPage .pp-row{margin-bottom:8px}.ecPage .pp-rlabel{display:block;font-size:11.5px;font-weight:800;margin-bottom:4px;color:#444}.ecPage .pp-shapes{display:flex;flex-wrap:wrap;gap:6px}.ecPage .pp-shp{flex:1;border:1.5px solid var(--line);border-radius:7px;background:#fff;padding:6px 0;min-height:34px;cursor:pointer;position:relative}.ecPage .pp-shp:after{content:"";position:absolute;inset:8px;background:#7a8699}.ecPage .pp-shp.circle:after{border-radius:50%}.ecPage .pp-shp.triangle:after{clip-path:polygon(50% 0,100% 100%,0 100%)}.ecPage .pp-shp.invtriangle:after{clip-path:polygon(0 0,100% 0,50% 100%)}.ecPage .pp-shp.active{border-color:var(--navy);background:#eef5ff}.ecPage .pp-shp.active:after{background:var(--navy)}.ecPage .pp-sizerow{display:flex;align-items:center;gap:5px;flex-wrap:wrap}.ecPage .pp-sizerow label{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:800;color:#384150}.ecPage .pp-sizerow input{width:60px}.ecPage .pp-angrow{display:flex;align-items:center;gap:10px}.ecPage .pp-angrow input[type=range]{flex:1;accent-color:var(--navy)}.ecPage .pp-angrow output{min-width:48px;text-align:right;font-weight:800;font-size:13px}.ecPage .pp-proclist{list-style:none;margin:0 0 8px;padding:0;display:flex;flex-direction:column;gap:8px}.ecPage .pp-proclist li{position:relative;display:flex;align-items:flex-start;gap:10px;border:1px solid var(--line);border-radius:8px;padding:8px 10px;font-size:12.5px}.ecPage .pp-pn{width:24px;height:24px;border-radius:6px;flex-shrink:0;display:flex;align-items:center;justify-content:center;font-weight:800;color:#fff}.ecPage .pp-pt{flex:1;min-width:0;line-height:1.4}.ecPage .pp-pt b{display:block;padding-right:22px}.ecPage .pp-pt small{color:var(--muted)}.ecPage .pp-pinputs{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}.ecPage .pp-ptext{flex:2 1 0;min-width:0}.ecPage .pp-pcolor{flex:1 1 0;min-width:0}.ecPage .pp-pfont-wrap{flex:1 1 100%;min-width:0;display:flex;align-items:center;border:1px solid var(--line);border-radius:6px;background:#fff}.ecPage .pp-pfont-label{flex:0 0 auto;padding-left:9px;font-size:12px;font-weight:700;color:var(--ink);white-space:nowrap}.ecPage .pp-pfont-wrap .pp-pfont{flex:1;min-width:0;border:0;background:transparent;padding:6px 6px 6px 3px;font-size:12px;font-family:inherit}.ecPage .pp-px{position:absolute;top:6px;right:8px;border:none;background:none;color:#c0392b;cursor:pointer;font-size:16px;line-height:1;padding:2px 4px}.ecPage .pp-px:hover{color:#a01f14}.ecPage .pp-attach-row{display:grid;gap:5px;margin-top:6px}.ecPage .pp-attach{position:relative;min-height:34px;border:1px dashed #b8c4d3;border-radius:6px;background:#f8fbff;color:var(--navy);display:flex;align-items:center;gap:7px;justify-content:center;cursor:pointer;font-size:12px;font-weight:700;padding:0 8px}.ecPage .pp-attach:hover{background:#eef5ff;border-color:var(--navy)}.ecPage .pp-attach svg{width:15px;height:15px;flex-shrink:0}.ecPage .pp-pfile{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none}.ecPage .pp-attach-help{color:var(--muted);font-size:11px;line-height:1.45}.ecPage .pp-file-error{color:#c0392b;font-size:11px;font-weight:700;line-height:1.45}.ecPage .pp-file-chip{display:flex;align-items:center;gap:6px;min-width:0;color:var(--muted);font-size:11px;line-height:1.45}.ecPage .pp-file-clear{width:18px;height:18px;flex:0 0 auto;border:1px solid #e5b0b0;border-radius:50%;background:#fff;color:#c0392b;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:1;padding:0}.ecPage .pp-file-clear:hover{background:#fdecec}.ecPage .pp-file-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecPage .pp-tip{margin:0;color:#6a7686;font-size:12px;line-height:1.7}.ecPage .pp-actions{display:grid;gap:8px}.ecPage .pp-confirm{min-height:48px;border:0;border-radius:8px;background:var(--navy);color:#fff;font-size:14px;font-weight:800;cursor:pointer}.ecPage .pp-confirm:hover{background:#063a76}.ecPage .pp-confirm:disabled{background:#c9c9c9;cursor:not-allowed}.ecPage .pp-reset{min-height:42px;border:1px solid var(--line);border-radius:8px;background:#fff;color:#30343b;font-weight:800;font-size:13px;cursor:pointer}.ecPage .pp-reset:hover{text-decoration:underline}.ecPage .pp-resetrow{border:1px solid #f3c7c3;background:#fff7f6;border-radius:6px;padding:10px;display:flex;flex-wrap:wrap;align-items:center;gap:8px;font-size:12.5px;font-weight:800;color:#9b211a}.ecPage .pp-mini{min-height:32px;padding:0 10px;border:1px solid var(--line);border-radius:6px;background:#fff;color:#475467;font-size:12px;font-weight:800;cursor:pointer;white-space:nowrap}.ecPage .pp-mini.danger{border-color:#f3c7c3;color:#9b211a}.ecPage .pp-done{border:1px solid #b7e4c7;background:#f0fff4;border-radius:8px;padding:14px 16px;color:#14532d}.ecPage .pp-done h2{margin:0 0 8px;font-size:15px}.ecPage .pp-done p{margin:0;font-size:13px;line-height:1.8}.ecPage .pp-done a{color:#14532d;font-weight:800;text-decoration:underline;text-underline-offset:2px}@media (max-width:980px){.ecPage .pp-editor.embed .pp-layout,.ecPage .pp-layout{grid-template-columns:1fr}.ecPage .pp-side{position:static}}@media (hover:none) and (pointer:coarse){.ecPage .pp-h{width:22px;height:22px;border-radius:3px;touch-action:none}.ecPage .pp-h.nw{left:-12px;top:-12px}.ecPage .pp-h.ne{right:-12px;top:-12px}.ecPage .pp-h.sw{left:-12px;bottom:-12px}.ecPage .pp-h.se{right:-12px;bottom:-12px}.ecPage .pp-rot{width:26px;height:26px;top:-40px;margin-left:-13px;touch-action:none}.ecPage .pp-rot:after{top:26px;height:14px}}.ecPage .pp-preview-note{margin:0 0 10px;padding:8px 10px;border-left:3px solid #f59f00;background:#fff9db;color:#664d03}.ecPage .pp-font-warn,.ecPage .pp-preview-note{border-radius:4px;font-size:12px;font-weight:700;line-height:1.6}.ecPage .pp-font-warn{margin:6px 0 0;padding:6px 8px;background:#fff5f5;color:#c92a2a}.ecPage .pp-pfont-wrap{position:relative}.ecPage .pp-pfont-btn{display:flex;align-items:center;justify-content:space-between;gap:6px;width:100%;text-align:left;cursor:pointer;color:var(--ink);-moz-appearance:none;appearance:none;-webkit-appearance:none}.ecPage .pp-pfont-value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecPage .pp-pfont-caret{flex:0 0 auto;width:12px;height:12px;color:#868e96;transition:transform .12s ease}.ecPage .pp-pfont-btn[aria-expanded=true] .pp-pfont-caret{transform:rotate(180deg)}.ecPage .pp-fontlist{position:absolute;z-index:30;top:calc(100% + 4px);left:0;right:0;margin:0;padding:4px;list-style:none;max-height:min(240px,55vh);overflow-y:auto;-webkit-overflow-scrolling:touch;-ms-scroll-chaining:none;overscroll-behavior:contain;touch-action:pan-y;background:#fff;border:1px solid var(--line);border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.14)}.ecPage .pp-fontopt{padding:8px 10px;border-radius:6px;font-size:13px;color:var(--ink);cursor:pointer}.ecPage .pp-fontopt[data-active=true]{background:#eef4ff}.ecPage .pp-fontopt[aria-selected=true]{font-weight:700}.ecPage .pp-preset-save{display:flex;gap:8px;align-items:center;margin:8px 0}.ecPage .pp-preset-save .pp-ptext{flex:1}.ecPage .pp-preset-list{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:6px}.ecPage .pp-preset-list li{display:flex;gap:8px;align-items:center;border:1px solid var(--line,#d9e1ea);border-radius:8px;padding:8px 10px}.ecPage .pp-preset-name{font-weight:800;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ecPage .pp-preset-sub{color:#607086;font-size:12px}.ecPage .pp-sronly{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}