.ie-backdrop{z-index:1000;font-family:var(--font,Inter, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif);color:#111827;background:#0f172a8c;justify-content:center;align-items:center;font-size:14px;line-height:1.4;display:flex;position:fixed;inset:0}.ie-backdrop *,.ie-backdrop :before,.ie-backdrop :after{box-sizing:border-box}.ie-modal{background:#fff;border-radius:12px;flex-direction:column;width:calc(100vw - 48px);max-width:1600px;height:calc(100vh - 48px);display:flex;position:relative;overflow:hidden;box-shadow:0 24px 64px #00000047}@media (width<=720px){.ie-modal{border-radius:0;width:100vw;height:100vh}}.ie-header{border-bottom:1px solid #e5e7eb;flex:none;justify-content:space-between;align-items:center;height:56px;padding:0 12px 0 20px;display:flex}.ie-title{letter-spacing:-.01em;margin:0;font-size:17px;font-weight:700}.ie-hgroup{align-items:center;gap:2px;display:flex}.ie-divider{background:#e5e7eb;width:1px;height:22px;margin:0 8px}.ie-icon{color:#374151;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.ie-icon:hover:not(:disabled){background:#f3f4f6}.ie-icon:disabled{color:#cbd5e1;cursor:default}.ie-icon.is-on{color:#111;background:#e5e7eb}.ie-zoomtext{min-width:52px;height:30px;font:inherit;color:#374151;cursor:pointer;font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:6px;font-size:13px;font-weight:600}.ie-zoomtext:hover:not(:disabled){background:#f3f4f6}.ie-body{flex:1;min-height:0;display:flex}.ie-rail{background:#f9fafb;border-right:1px solid #e5e7eb;flex-direction:column;flex:none;gap:6px;width:92px;padding:12px 8px;display:flex;overflow-y:auto}.ie-rail-slot{flex-direction:column;gap:6px;display:flex}.ie-rail-div{background:#e5e7eb;height:1px;margin:4px 6px}.ie-rail-btn{cursor:pointer;color:#475569;background:0 0;border:0;border-left:3px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:6px;width:100%;padding:12px 2px 10px;display:flex}.ie-rail-btn span{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;font-size:11px;font-weight:700}.ie-rail-btn:hover:not(:disabled){background:#f1f5f9}.ie-rail-btn.is-on{color:#111;background:#fff;border-left-color:#111;box-shadow:0 1px 3px #0f172a1f}.ie-rail-btn:disabled{opacity:.5;cursor:default}.ie-panel{border-right:1px solid #e5e7eb;flex-direction:column;flex:none;gap:12px;width:300px;padding:20px;display:flex;overflow-y:auto}.ie-section{letter-spacing:.08em;text-transform:uppercase;color:#94a3b8;margin-top:6px;font-size:11px;font-weight:700}.ie-readout{text-align:center;color:#111827;font-variant-numeric:tabular-nums;background:#f3f4f6;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;font-size:15px;font-weight:600}.ie-sub{color:#6b7280;text-align:center;font-variant-numeric:tabular-nums;margin-top:-6px;font-size:12px}.ie-grid{gap:8px;display:grid}.ie-subtabs{grid-template-columns:repeat(2,1fr)}.ie-tile{cursor:pointer;min-height:40px;font:inherit;color:#334155;background:#fff;border:2px solid #e5e7eb;border-radius:8px;justify-content:center;align-items:center;padding:6px;font-size:13px;font-weight:600;display:inline-flex}.ie-grid[style*=repeat\(2]>.ie-tile:has(svg:only-child){aspect-ratio:1.6}.ie-tile:hover:not(:disabled){border-color:#cbd5e1}.ie-tile.is-on{color:#0f172a;background:#f1f5f9;border-color:#94a3b8}.ie-tile:disabled{opacity:.45;cursor:not-allowed}.ie-tile-sm{min-height:34px;font-size:12px}.ie-tile-icon{flex-direction:column;align-items:center;gap:4px;font-size:12px;display:inline-flex}.ie-btn{width:100%;min-height:40px;font:inherit;cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:8px 12px;font-size:14px;font-weight:600;display:inline-flex}.ie-btn:disabled{opacity:.5;cursor:not-allowed}.ie-btn-outline{color:#111827;background:#fff;border-color:#d1d5db}.ie-btn-outline:hover:not(:disabled){background:#f9fafb}.ie-btn-blue{background:var(--primary,#4a9fe3);color:var(--primary-text,#fff)}.ie-btn-blue:hover:not(:disabled){filter:brightness(1.12)}.ie-btn-red{background:var(--danger,#e53935);color:#fff}.ie-btn-ghost{color:#475569;background:0 0}.ie-btn-ghost:hover:not(:disabled){background:#f3f4f6}.ie-btn-sm{min-height:34px;font-size:13px}.ie-row{gap:8px;display:flex}.ie-link{color:var(--accent,#2c66c9);font:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;font-weight:600}.ie-slider{flex-direction:column;gap:6px;display:flex}.ie-slider-label{color:#1f2937;font-variant-numeric:tabular-nums;font-size:13px;font-weight:600}.ie-slider input[type=range]{accent-color:#111827;width:100%}.ie-slider-ends{color:#94a3b8;justify-content:space-between;margin-top:-4px;font-size:11px;display:flex}.ie-hint{color:#6b7280;align-items:center;gap:4px;margin:0;font-size:12px;display:flex}.ie-hint-warn{color:#b45309}.ie-warn{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:8px;margin:0;padding:10px 12px;font-size:13px}.ie-toggles{flex-direction:column;gap:10px;margin-top:4px;display:flex}.ie-toggle{cursor:pointer;align-items:center;gap:10px;font-size:13px;font-weight:500;display:flex}.ie-toggle input{opacity:0;width:1px;height:1px;position:absolute}.ie-toggle-track{background:#d1d5db;border-radius:10px;flex:none;width:34px;height:20px;transition:background .15s;position:relative}.ie-toggle-thumb{background:#fff;border-radius:50%;width:16px;height:16px;transition:left .15s;position:absolute;top:2px;left:2px;box-shadow:0 1px 2px #00000040}.ie-toggle input:checked+.ie-toggle-track{background:var(--primary,#111827)}.ie-toggle input:checked+.ie-toggle-track .ie-toggle-thumb{left:16px}.ie-toggle input:focus-visible+.ie-toggle-track{outline:2px solid var(--accent,#4a9fe3);outline-offset:2px}.ie-picked{align-items:center;gap:10px;display:flex}.ie-picked-swatch{cursor:pointer;color:#94a3b8;background:#fff;border:1px solid #d1d5db;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.ie-picked-hex{font-variant-numeric:tabular-nums;text-transform:uppercase;font-weight:600}.ie-hidden-input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.ie-colorfield{align-items:center;gap:8px;display:flex}.ie-colorfield input[type=color]{cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;width:40px;height:36px;padding:2px}.ie-colorfield input[type=text]{height:36px;font:inherit;text-transform:uppercase;border:1px solid #d1d5db;border-radius:8px;flex:1;padding:0 10px}.ie-presets{grid-template-columns:repeat(7,1fr);gap:6px;display:grid}.ie-preset{aspect-ratio:1;cursor:pointer;border:1px solid #d1d5db;border-radius:50%;padding:0}.ie-preset.is-on{box-shadow:0 0 0 2px #fff,0 0 0 4px #111827}.ie-fine{font:inherit;color:#374151;cursor:pointer;text-align:left;background:0 0;border:0;padding:0;font-size:13px;font-weight:600}.ie-dpi{font-variant-numeric:tabular-nums;align-items:baseline;gap:8px;font-size:34px;font-weight:800;line-height:1;display:flex}.ie-dpi span{text-transform:uppercase;letter-spacing:.06em;font-size:13px;font-weight:700}.ie-proj{color:#374151;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:10px 12px;font-size:13px}.ie-status{color:#1f2937;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;font-weight:600;display:flex}.ie-progress{background:#e5e7eb;border-radius:3px;width:100%;height:6px;overflow:hidden}.ie-progress-bar{background:var(--accent,#4a9fe3);border-radius:3px;height:100%;transition:width .3s}.ie-progress-bar.is-indet{width:35%;animation:1.1s ease-in-out infinite ie-indet}@keyframes ie-indet{0%{transform:translate(-100%)}to{transform:translate(300%)}}.ie-spinner{border:2px solid;border-right-color:#0000;border-radius:50%;flex:none;width:14px;height:14px;animation:.7s linear infinite ie-spin;display:inline-block}@keyframes ie-spin{to{transform:rotate(360deg)}}.ie-error{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;padding:8px 10px;font-size:13px}.ie-error-inline{max-width:420px;padding:6px 10px}.ie-canvas-wrap{background:#f3f4f6;flex:1;min-width:0;position:relative}.ie-stage{position:absolute;inset:0;overflow:hidden}.ie-view{touch-action:none;display:block}.ie-loading{color:#475569;justify-content:center;align-items:center;gap:8px;font-weight:600;display:flex;position:absolute;inset:0}.ie-notice{color:#fff;cursor:pointer;background:#111827e0;border-radius:8px;max-width:80%;padding:8px 12px;font-size:12px;position:absolute;top:12px;left:50%;transform:translate(-50%)}.ie-busy-chip{background:#fff;border:1px solid #e5e7eb;border-radius:999px;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:600;display:flex;position:absolute;bottom:14px;left:50%;transform:translate(-50%);box-shadow:0 4px 14px #0000001f}.ie-footer{border-top:1px solid #e5e7eb;flex:none;justify-content:space-between;align-items:center;gap:16px;height:72px;padding:0 20px;display:flex}.ie-swatches{align-items:center;gap:10px;display:flex}.ie-swatch{cursor:pointer;color:#475569;background:#fff;border:1px solid #d1d5db;border-radius:50%;justify-content:center;align-items:center;width:32px;height:32px;padding:0;display:inline-flex;position:relative}.ie-swatch.is-checker{background-color:#fff;background-image:linear-gradient(45deg,#d1d5db 25%,#0000 25%),linear-gradient(-45deg,#d1d5db 25%,#0000 25%),linear-gradient(45deg,#0000 75%,#d1d5db 75%),linear-gradient(-45deg,#0000 75%,#d1d5db 75%);background-position:0 0,0 5px,5px -5px,-5px 0;background-size:10px 10px}.ie-swatch.is-on{box-shadow:0 0 0 2px #fff,0 0 0 4px #111827}.ie-swatch:disabled{opacity:.5;cursor:default}.ie-swatch-plus{border-style:dashed}.ie-footer-right{align-items:center;gap:12px;display:flex}.ie-apply{border:2px solid var(--primary,#4caf50);min-width:120px;height:42px;color:var(--primary,#4caf50);font:inherit;cursor:pointer;background:#fff;border-radius:999px;justify-content:center;align-items:center;gap:8px;padding:0 28px;font-size:15px;font-weight:700;display:inline-flex}.ie-apply:hover:not(:disabled){background:var(--primary,#4caf50);color:var(--primary-text,#fff)}.ie-apply:disabled{opacity:.55;cursor:default}.ie-confirm-backdrop{z-index:5;background:#fff9;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ie-confirm{background:#fff;border:1px solid #e5e7eb;border-radius:12px;width:340px;padding:20px;box-shadow:0 16px 48px #00000038}.ie-confirm h3{margin:0 0 6px;font-size:16px}.ie-confirm p{color:#4b5563;margin:0 0 16px;font-size:13px}@media (width<=900px){.ie-panel{width:240px;padding:14px}.ie-rail{width:76px}}:root{--primary:#1b3b43;--primary-text:#fff;--sidebar:#1b3b43;--sidebar-active:#2a5560;--accent:#2c66c9;--danger:#e53935;--canvas-bg:#f3f4f6;--header-bg:#fff;--text:#1f2933;--muted:#6b7280;--border:#e2e5e8;--radius:8px;--font:Inter, system-ui, sans-serif;--heading-font:Georgia, "Times New Roman", serif;--accent-tint:color-mix(in srgb, var(--accent) 9%, #fff);--accent-tint2:color-mix(in srgb, var(--accent) 16%, #fff);--primary-tint:color-mix(in srgb, var(--primary) 10%, #fff);--danger-tint:color-mix(in srgb, var(--danger) 10%, #fff);--navy:var(--primary);--blue:var(--accent);--red:var(--danger);--canvas:var(--canvas-bg);--black:#111;--panel-w:280px;--rail-w:62px;--right-w:260px;font-family:var(--font);color:var(--text);font-size:14px}*{box-sizing:border-box}html,body,#root{background:#fff;height:100%;margin:0;overflow:hidden}button{font:inherit;cursor:pointer;color:inherit}button:disabled{cursor:not-allowed;opacity:.45}input,select,textarea{font:inherit;color:var(--text)}a{color:var(--accent)}.boot{height:100%;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.boot img{height:44px}.app{flex-direction:column;height:100%;display:flex}.main{flex:1;min-height:0;display:flex}.numfield{text-align:center;background:#fff;border:1px solid #555;border-radius:4px;padding:7px 8px}.numfield[readonly]{background:#f9fafb;border-color:#9ca3af}.numfield:disabled{color:var(--muted);background:#f3f4f6}.save-state{color:var(--muted);text-align:right;min-width:52px;font-size:12px}.link-btn{color:var(--accent);background:0 0;border:0;align-items:center;gap:4px;padding:6px;display:inline-flex}.btn{border-radius:var(--radius);white-space:nowrap;border:1px solid #0000;justify-content:center;align-items:center;gap:6px;padding:9px 14px;font-weight:600;line-height:1.1;display:inline-flex}.btn-navy{background:var(--primary);color:var(--primary-text)}.btn-navy:hover:not(:disabled){filter:brightness(1.15)}.btn-red{background:var(--danger);color:#fff}.btn-red:hover:not(:disabled){filter:brightness(1.08)}.btn-black{background:var(--black);color:#fff}.btn-blue{background:var(--accent);color:#fff}.btn-blue:hover:not(:disabled){filter:brightness(1.1)}.btn-outline{border-color:var(--text);color:var(--text);background:#fff}.btn-outline.danger{border-color:var(--red);color:var(--red)}.btn-block{width:100%}.icon-btn{color:#374151;background:0 0;border:0;border-radius:4px;align-items:center;padding:4px;display:inline-flex}.icon-btn:hover{background:var(--accent-tint)}.icon-btn.danger{color:var(--red)}.rail{width:var(--rail-w);background:var(--sidebar);flex-direction:column;flex:none;align-items:center;gap:4px;padding:8px 0;display:flex}.rail-btn{border-radius:var(--radius);width:54px;height:56px;color:var(--primary-text);opacity:.85;background:0 0;border:0;flex-direction:column;justify-content:center;align-items:center;gap:3px;font-size:11px;display:flex}.rail-btn.active{background:var(--sidebar-active);opacity:1}.rail-btn:hover{opacity:1}.left-panel{width:var(--panel-w);border-right:1px solid var(--border);background:#fff;flex:none;overflow-y:auto}.egs-scroll-thin{scrollbar-width:thin}.panel-body{flex-direction:column;gap:12px;padding:14px;display:flex}.panel-title{justify-content:space-between;align-items:center;font-size:15px;font-weight:700;display:flex}.muted{color:var(--muted);margin:0}.small{font-size:12px}.error-text{color:var(--red);margin:0}.hint{color:var(--primary);background:var(--accent-tint);border-radius:6px;padding:6px 8px;font-size:12px}.dropzone{border-radius:calc(var(--radius) + 2px);text-align:center;cursor:pointer;background:#fafbfc;border:2px dashed #9ca3af;flex-direction:column;align-items:center;gap:8px;padding:16px 10px;display:flex}.dropzone.over{border-color:var(--accent);background:var(--accent-tint)}.dropzone.pulse{animation:1.2s ease-in-out 2 gs-pulse}@keyframes gs-pulse{50%{border-color:var(--accent);background:var(--accent-tint2)}}.btn-upload{position:relative;overflow:hidden}.btn-upload input{opacity:0;cursor:pointer;position:absolute;inset:0}.dz-text{color:#374151;font-size:13px}.dz-sub{color:var(--muted);font-size:11px}.upload-queue{flex-direction:column;gap:6px;margin-top:8px;display:flex}.uq-item{border:1px solid var(--border);border-radius:6px;padding:6px 8px;font-size:12px}.uq-item.error{background:#fef2f2;border-color:#f5c2c0}.uq-name{white-space:nowrap;text-overflow:ellipsis;font-weight:600;overflow:hidden}.uq-err{color:var(--red)}.uq-bar{background:#e5e7eb;border-radius:3px;height:5px;margin:4px 0 2px;overflow:hidden}.uq-bar>div{background:var(--accent);height:100%;transition:width .2s}.uq-bar.big{width:100%;height:8px}.uq-status{color:var(--muted)}.thumbs{flex-wrap:wrap;gap:8px;display:flex}.thumb{background:#f5f5f5 repeating-conic-gradient(#eef0f3 0 25%, #fff 0 50%) 0 0 / 10px 10px;cursor:pointer;border:1px solid #e0e0e0;border-radius:8px;width:56px;height:56px;position:relative;overflow:visible}.thumb img{object-fit:contain;border-radius:8px;width:100%;height:100%}.thumb:hover{border-color:var(--accent)}.thumb-x{background:var(--danger);color:#fff;border:0;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;padding:0;font-size:13px;line-height:18px;display:flex;position:absolute;top:-5px;right:-5px}.thumb-count{background:var(--accent);color:#fff;border-radius:9px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:11px;font-weight:700;display:flex;position:absolute;bottom:-5px;right:-5px}.props{border-top:1px solid var(--border);flex-direction:column;gap:10px;padding-top:12px;display:flex}.props-multi{font-weight:600}.prop-row{justify-content:space-between;align-items:center;gap:8px;display:flex}.prop-row>label{color:#374151;white-space:nowrap;font-size:13px}.stepper-row{align-items:center;gap:6px;display:flex}.stepper{background:#fff;border:1px solid #555;border-radius:4px;align-items:center;display:flex;overflow:hidden}.stepper button{color:#374151;background:#f3f4f6;border:0;width:24px;height:30px;padding:0;font-size:10px}.stepper button:hover:not(:disabled){background:#e5e7eb}.stepper input{text-align:center;border:0;outline:none;height:30px;padding:0 4px}.stepper.disabled{opacity:.5}.stepper-suffix{color:var(--muted);min-width:18px;font-size:13px}.dpi-val{font-size:15px;font-weight:700}.ratio{align-items:center;gap:6px;display:flex}.ratio input{text-align:center;background:#f9fafb;border:1px solid #d1d5db;border-radius:4px;width:64px;padding:6px}.lock{color:#9ca3af;background:#fff;border:1px solid #d1d5db;border-radius:4px;justify-content:center;align-items:center;width:30px;height:30px;display:flex}.lock.on{color:#fff;background:var(--accent);border-color:var(--accent)}.grid2{grid-template-columns:1fr 1fr;gap:8px;display:grid}.grid2 .btn{padding:9px 6px;font-size:13px}.warnings{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.warnings li{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;align-items:flex-start;gap:6px;padding:6px 8px;font-size:12px;display:flex}.warnings li svg{flex:none;margin-top:1px}.field-label{color:#374151;margin-bottom:4px;font-size:12px;font-weight:600;display:block}.text-form{flex-direction:column;gap:10px;display:flex}.text-form textarea,.text-form select{border:1px solid #9ca3af;border-radius:6px;width:100%;padding:8px}.tf-row{align-items:flex-end;gap:6px;display:flex}.toggle{background:#fff;border:1px solid #d1d5db;border-radius:6px;justify-content:center;align-items:center;width:34px;height:32px;display:flex}.toggle.on{background:var(--primary);color:var(--primary-text);border-color:var(--navy)}.sep{width:8px}.color-field{flex:1}.color-field input{background:#fff;border:1px solid #d1d5db;border-radius:6px;width:100%;height:32px;padding:2px}.range-row{align-items:center;gap:8px;display:flex}.range-row input{accent-color:var(--accent);flex:1}.range-val{color:var(--muted);text-align:right;min-width:48px;font-size:12px}.seg{border:1px solid var(--navy);border-radius:6px;display:inline-flex;overflow:hidden}.seg button{color:var(--navy);background:#fff;border:0;padding:7px 18px;font-weight:600}.seg button.on{background:var(--navy);color:var(--primary-text)}.checks{flex-direction:column;gap:8px;display:flex}.check{white-space:nowrap;cursor:pointer;align-items:center;gap:6px;font-size:13px;display:inline-flex}.check input{accent-color:var(--accent)}.center{flex-direction:column;flex:1;min-width:0;display:flex}.toolbar{border-bottom:1px solid var(--border);background:var(--header-bg);flex:none;padding:4px 10px 2px;container-type:inline-size}.tb-row1{flex-wrap:wrap;align-items:center;gap:6px 22px;min-height:28px;display:flex}.tb-group{flex-wrap:wrap;align-items:center;gap:10px;min-width:0;display:flex}.zoom{flex:none;align-items:center;gap:4px;margin-left:auto;padding-left:10px;display:flex}.zoom button{background:#fff;border:1px solid #d1d5db;border-radius:4px;min-width:28px;height:26px}.zoom .fit{padding:0 10px}.zoom span{text-align:center;min-width:46px;font-size:13px}.legend{color:#374151;flex-wrap:wrap;gap:2px 10px;font-size:11.5px;transition:opacity .15s;display:inline-flex}.legend.off{opacity:.4}.lg-word{margin-right:3px}.tb-sep{background:var(--border);flex:none;align-self:stretch;width:1px;margin:4px 3px}.lg{white-space:nowrap;align-items:center;gap:5px;display:inline-flex}.lg i{border-radius:2px;width:12px;height:12px;display:inline-block}.lg i.lg-overlap{background:#2b5fd92e;border:2px dashed #2b5fd9;width:14px;height:12px}.tb-row3{flex-wrap:wrap;align-items:center;gap:2px 8px;padding:2px 0 1px;display:flex}.tb-tools{flex-wrap:wrap;flex:auto;gap:2px;min-width:0;display:flex}.tb{min-width:52px;color:var(--text);background:0 0;border:0;border-radius:6px;flex-direction:column;flex:none;align-items:center;gap:2px;padding:3px 4px 2px;font-size:10.5px;display:flex}.tb:hover:not(:disabled):not(.is-disabled){background:#f3f4f6}.tb.is-disabled{cursor:not-allowed}.tb.is-disabled>svg,.tb.is-disabled>span{opacity:.45}.tb.active{background:var(--accent-tint2);color:var(--primary)}.tb.danger{color:var(--danger);background:var(--danger-tint)}.tb span{white-space:nowrap}.tb-gap{cursor:default}.tb[data-tip]{position:relative}@container (width<=1340px){.tb:not(.tb-gap)>span{display:none}.tb-tools{gap:1px}.tb-sep{margin:4px 2px}.tb:not(.tb-gap){justify-content:center;min-width:30px;height:34px}.tb.tb-gap{flex-direction:row-reverse;gap:5px;height:34px}.tb.tb-gap>span{color:#374151;font-size:11.5px}.tb[data-tip]:hover:after,.tb[data-tip]:focus-visible:after{content:attr(data-tip);color:#fff;white-space:nowrap;pointer-events:none;z-index:30;background:#1f2937;border-radius:5px;padding:5px 7px;font-size:11.5px;font-weight:500;line-height:1;position:absolute;top:calc(100% + 4px);left:50%;transform:translate(-50%);box-shadow:0 2px 8px #0000002e}}@container (width<=760px){.lg-word{display:none}}.gap-input .numfield{height:22px;padding:2px;font-size:12px}.canvas-area{flex:1;min-height:0;position:relative}.canvas-wrap{background:var(--canvas-bg);touch-action:none;position:absolute;inset:0;overflow:hidden}.margin-tip{z-index:5;pointer-events:none;background:var(--text,#1f2937);color:#fff;border-radius:6px;max-width:230px;padding:7px 10px;font-size:12px;line-height:1.4;position:absolute;box-shadow:0 4px 14px #0000002e}.margin-tip b{margin-bottom:2px;font-weight:650;display:block}.vscroll{z-index:4;cursor:default;touch-action:none;background:#00000009;border-radius:7px;width:14px;transition:background .15s;position:absolute;right:2px}.vscroll:hover,.vscroll.dragging{background:#00000014}.vscroll-thumb{background:#00000052;border-radius:4px;transition:background .15s,left .15s,right .15s;position:absolute;left:3px;right:3px}.vscroll:hover .vscroll-thumb,.vscroll.dragging .vscroll-thumb{background:var(--accent);left:2px;right:2px}@media (pointer:coarse){.vscroll{width:22px}.vscroll-thumb{background:#00000061;left:5px;right:5px}}.canvas-size-tag{color:var(--muted);pointer-events:none;background:#fffc;border-radius:4px;padding:2px 6px;font-size:11px;position:absolute;bottom:8px;right:10px}.floating{z-index:3;align-items:center;gap:8px;display:flex;position:absolute;bottom:16px;left:34px}.fab{background:var(--primary);width:40px;height:40px;color:var(--primary-text);border:0;border-radius:50%;justify-content:center;align-items:center;display:flex;box-shadow:0 2px 6px #0003}.pill{background:var(--primary);color:var(--primary-text);border:0;border-radius:999px;padding:10px 18px;font-weight:600;box-shadow:0 2px 6px #0003}.right{width:var(--right-w);border-left:1px solid var(--border);background:#fff;flex-direction:column;flex:none;min-height:0;display:flex}.right.collapsed{align-items:center;width:34px;padding-top:8px}.vert-label{writing-mode:vertical-rl;color:#374151;white-space:nowrap;margin-top:12px;font-size:12px}.collapse-btn{border:1px solid var(--border);background:#fff;border-radius:4px;justify-content:center;align-items:center;width:24px;height:24px;padding:0;display:flex}.right-head{align-items:center;gap:8px;padding:12px;font-weight:700;display:flex}.right-list{flex-direction:column;flex:1;gap:10px;padding:0 12px 12px;display:flex;overflow-y:auto}.sheet-card{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:#fff;flex-direction:column;gap:5px;padding:10px;display:flex}.sheet-card.active{background:var(--accent-tint);border:2px solid var(--accent);padding:9px}.sc-size{color:#374151;font-size:12px}.sc-name{align-items:center;gap:4px;min-height:24px;display:flex}.sc-name b{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sc-name input{border:1px solid var(--accent);border-radius:4px;width:100%;padding:3px 6px}.sc-count{color:var(--muted);font-size:12px}.sc-warn{color:#92400e;align-items:center;gap:4px;font-size:11px;display:flex}.sc-row{align-items:center;gap:6px;font-size:13px;display:flex}.sc-row .stepper button{width:20px;height:26px}.sc-row .stepper input{height:26px}.sc-actions{gap:2px;margin-left:auto;display:flex}.sc-price{color:#374151;border-top:1px dashed #cbd5e1;justify-content:space-between;padding-top:5px;font-size:13px;display:flex}.sc-amt{white-space:nowrap}.sc-was{color:var(--muted);margin-right:6px;font-size:12px;font-weight:400}.vol-tag{color:var(--accent);font-weight:600}.vol-tag.small{font-size:11.5px}.vol-note{color:var(--text);background:color-mix(in srgb, var(--accent) 8%, #fff);border:1px solid color-mix(in srgb, var(--accent) 25%, transparent);border-radius:var(--radius);flex-direction:column;gap:3px;margin:10px 0 4px;padding:7px 9px;font-size:12.5px;display:flex}.vol-note.compact{margin:4px 0;font-size:12px}.vol-line{align-items:flex-start;gap:6px;display:flex}.vol-line svg{color:var(--accent);flex:none;margin-top:1px}.vol-line b{color:var(--accent)}.vol-next{color:var(--muted)}.vol-save{padding-left:20px;font-weight:600}.list-btn{color:var(--primary);text-align:left;background:0 0;border:0;align-items:center;gap:6px;padding:6px 2px;font-weight:600;display:flex}.list-btn:hover{text-decoration:underline}.right-foot{border-top:1px solid var(--border);flex-direction:column;gap:6px;padding:10px 12px;font-size:12px;display:flex}.problem{color:var(--danger);text-align:left;background:0 0;border:0;align-items:center;gap:5px;padding:0;font-size:12px;text-decoration:none;display:flex}.powered{color:var(--muted)}.modal-back{z-index:50;background:#11182773;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{border-radius:calc(var(--radius) + 4px);color:var(--text);background:#fff;flex-direction:column;width:100%;max-height:calc(100vh - 32px);display:flex;box-shadow:0 20px 50px #00000040}.modal-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.modal-head h2{margin:0;font-size:17px}.modal-body{flex-direction:column;gap:12px;padding:16px;display:flex;overflow-y:auto}.modal-body p{margin:0}.modal-foot{border-top:1px solid var(--border);justify-content:flex-end;gap:8px;padding:12px 16px;display:flex}.sum-table{border-collapse:collapse;width:100%;font-size:13px}.sum-table th,.sum-table td{text-align:left;border-bottom:1px solid var(--border);vertical-align:top;padding:6px 4px}.sum-table .num{text-align:right}.sum-table tfoot td{border-bottom:0;font-weight:600}.checks-list{flex-direction:column;gap:6px;display:flex}.chk{border-radius:6px;align-items:flex-start;gap:6px;padding:7px 9px;font-size:13px;display:flex}.chk svg{flex:none;margin-top:1px}.chk.bad{color:#b91c1c;background:#fef2f2}.chk.warn{color:#92400e;background:#fffbeb}.chk.ok{color:#166534;background:#f0fdf4}.progress-box{text-align:center;flex-direction:column;align-items:center;gap:12px;padding:10px 0;display:flex}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.designs-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:12px;display:grid}.design-tile{border:1px solid var(--border);border-radius:var(--radius);text-align:left;background:#fff;flex-direction:column;gap:4px;padding:8px;display:flex}.design-tile.current{border:2px solid var(--accent)}.dt-thumb{height:120px;color:var(--muted);background:#f3f4f6;border-radius:6px;justify-content:center;align-items:center;font-size:12px;display:flex;overflow:hidden}.dt-thumb img{max-width:100%;max-height:100%}.dt-name{font-size:13px;font-weight:600}.dt-meta{color:var(--muted);font-size:11px}.help-list{flex-direction:column;gap:10px;margin:0;display:flex}.help-list dt{font-weight:700}.help-list dd{color:#374151;margin:2px 0 0}.ab-gap{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ab-rows{flex-direction:column;gap:8px;display:flex}.ab-row{border:1px solid var(--border);border-radius:8px;flex-wrap:wrap;align-items:center;gap:12px;padding:8px;display:flex}.ab-thumb{background:repeating-conic-gradient(#eef0f3 0 25%, #fff 0 50%) 0 0 / 10px 10px;border-radius:6px;justify-content:center;align-items:center;width:56px;height:56px;display:flex}.ab-thumb img{max-width:100%;max-height:100%}.ab-dims{align-items:flex-end;gap:8px;display:flex}.ab-dims label{color:var(--muted);flex-direction:column;gap:2px;font-size:11px;display:flex}.ab-dims label.check{flex-direction:row}.ab-dpi{min-width:64px;font-size:13px;font-weight:700}.ab-qty{align-items:center;gap:4px;margin-left:auto;display:flex}.toasts{z-index:60;flex-direction:column;gap:8px;max-width:min(380px,100vw - 32px);display:flex;position:fixed;bottom:16px;right:16px}.toast{color:#fff;cursor:pointer;background:#1f2937;border-radius:8px;padding:10px 14px;font-size:13px;box-shadow:0 6px 20px #0003}.toast.success{background:#166534}.toast.error{background:#b91c1c}@media (width<=1180px){:root{--panel-w:250px;--right-w:220px}}.app.mobile .main{flex-direction:column-reverse}.app.mobile .rail{flex-direction:row;justify-content:space-around;width:100%;height:60px;padding:2px 4px}.app.mobile .rail-btn{width:60px;height:54px}.app.mobile .tb-row1{display:none}.app.mobile .tb{min-width:50px}.app.mobile .tb:not(.tb-gap)>span{display:inline}.app.mobile .tb:not(.tb-gap){min-width:50px;height:auto}.app.mobile .tb.tb-gap{flex-direction:column;gap:2px;height:auto}.app.mobile .tb[data-tip]:after{display:none}.app.mobile .tb-tools{scrollbar-width:thin;flex-wrap:nowrap;overflow-x:auto}.app.mobile .tb-row3{flex-wrap:nowrap}.app.mobile .floating{bottom:10px;left:10px}.bottom-sheet{z-index:20;background:#fff;border-top-left-radius:14px;border-top-right-radius:14px;max-height:62vh;position:fixed;bottom:60px;left:0;right:0;overflow-y:auto;box-shadow:0 -8px 24px #0000002e}.bottom-sheet .right{border:0;width:100%}.bs-close{z-index:2;background:#f3f4f6;border:0;border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;display:flex;position:absolute;top:8px;right:8px}.app.mobile .toolbar{padding:4px 6px 2px}.bgwarn-alert{color:#b54708;background:#fff4e5;border:1px solid #f5c99b;border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;font-size:14px;line-height:1.45;display:flex}.bgwarn-i{background:var(--accent);color:#fff;text-align:center;border-radius:4px;flex:none;width:18px;height:18px;margin-top:1px;font:700 12px/18px Georgia,serif}.bgwarn-preview{background:#fff repeating-conic-gradient(#eef0f3 0 25%, #fff 0 50%) 0 0 / 16px 16px;border:1px solid #e5e7eb;border-radius:8px;justify-content:center;margin-top:14px;padding:10px;display:flex;position:relative}.bgwarn-preview img{object-fit:contain;max-width:100%;max-height:340px}.proc-overlay{color:var(--primary);background:#ffffffc7;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:8px;font-weight:600;display:flex;position:absolute;inset:0}.proc-bar{background:#e5e7eb;border-radius:3px;width:60%;height:6px;overflow:hidden}.proc-bar>div{background:var(--primary);height:100%;transition:width .3s}.thumb-proc{color:var(--primary);background:#fffc;border-radius:8px;flex-direction:column;justify-content:center;align-items:center;gap:2px;font-size:10px;font-weight:700;display:flex;position:absolute;inset:0}.spinner{border:2px solid #cbd5e1;border-top-color:var(--primary);border-radius:50%;flex:none;width:14px;height:14px;animation:.8s linear infinite gs-spin;display:inline-block}.spin{vertical-align:-2px;animation:.8s linear infinite gs-spin}@keyframes gs-spin{to{transform:rotate(360deg)}}.uq-row{align-items:center;gap:6px;display:flex}.uq-actions{gap:6px;margin-top:4px;display:flex}.btn-xs{padding:2px 8px;font-size:11px}.uq-bar.indeterminate>div{background:linear-gradient(90deg, var(--primary) 0 30%, color-mix(in srgb, var(--primary) 40%, #fff) 30% 60%, var(--primary) 60%) 0 0 / 200% 100%;animation:1s linear infinite gs-ind}@keyframes gs-ind{to{background-position:-200% 0}}.announce{text-align:center;flex:none;justify-content:center;align-items:center;gap:10px;padding:7px 40px;font-size:13px;display:flex;position:relative}.announce.info{color:#1e4e8c;background:#e8f1fd}.announce.warning{color:#8a5a00;background:#fff4db}.announce.success{color:#1c6b3a;background:#e7f6ec}.announce-x{color:inherit;opacity:.7;background:0 0;border:0;border-radius:4px;padding:4px;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.announce-x:hover{opacity:1}.studio-hdr{background:var(--header-bg);z-index:5;flex:none}.sh-band1{border-bottom:1px solid var(--border);align-items:center;gap:20px;min-height:60px;padding:8px 20px;display:flex}.sh-brand{flex:none;align-items:center;gap:18px;min-width:0;max-width:40%;display:flex}.sh-logo{flex-direction:column;flex:none;align-items:center;gap:4px;text-decoration:none;display:flex}.sh-logo img{object-fit:contain;max-width:150px;max-height:44px;display:block}.sh-version{color:var(--muted);white-space:nowrap}.sh-title{min-width:0}.sh-app{letter-spacing:.2em;text-transform:uppercase;color:#3f454d;white-space:nowrap;font-size:14px;font-weight:600}.sh-brandname{color:var(--muted);white-space:nowrap;text-overflow:ellipsis;margin-top:3px;font-size:11px;overflow:hidden}.sh-tagline{color:#666;text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:1 1 0;min-width:0;font-size:15px;overflow:hidden}.sh-actions{flex:none;align-items:center;gap:14px;min-width:0;margin-left:auto;display:flex}.sh-project{color:var(--muted);flex-direction:column;align-items:flex-end;gap:2px;min-width:0;max-width:220px;font-size:12px;display:flex}.sh-pname{color:var(--text);text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;align-items:center;gap:4px;max-width:100%;padding:0;font-size:12px;font-weight:600;display:inline-flex;overflow:hidden}.sh-pname:hover{color:var(--accent)}.sh-project .save-state{min-width:0}.sh-buttons{align-items:center;gap:10px;display:flex}.sh-obtn{border:1px solid var(--border);border-radius:var(--radius);height:38px;color:var(--text);white-space:nowrap;background:#fff;align-items:center;gap:7px;padding:0 14px;font-weight:600;display:inline-flex}.sh-obtn:hover:not(:disabled){border-color:var(--primary);color:var(--primary)}.sh-primary,.sh-close{height:38px;padding:0 14px}.sh-primary .sh-price{border-left:1px solid color-mix(in srgb, var(--primary-text) 35%, transparent);margin-left:2px;padding-left:10px;font-weight:700}.sh-ico{display:none}.save-state{color:var(--muted);font-size:12px}.save-state.error{color:var(--danger)}.sh-band2{border-bottom:1px solid var(--border);align-items:center;gap:14px;min-height:58px;padding:6px 20px;display:flex;overflow:auto hidden}.sh-q{flex:none;margin-right:6px}.sh-kicker{letter-spacing:.16em;text-transform:uppercase;color:var(--muted);font-size:10px;font-weight:600}.sh-heading{font-family:var(--heading-font);color:var(--text);white-space:nowrap;margin-top:2px;font-size:17px}.sh-types{flex:none;gap:8px;display:flex}.sh-presets{scrollbar-width:thin;flex:auto;gap:8px;min-width:0;display:flex;overflow-x:auto}.sh-sep{background:var(--border);flex:none;align-self:stretch;width:1px;margin:4px 2px}.sh-type{border:1px solid var(--border);border-radius:var(--radius);width:100px;height:46px;color:var(--text);text-align:left;background:#fff;flex-direction:column;flex:none;justify-content:center;align-items:flex-start;gap:2px;padding:5px 12px;display:flex}.sh-type b{font-size:14px}.sh-type span{color:var(--muted);white-space:nowrap;font-size:10px}.sh-preset{border:1px solid var(--border);border-radius:var(--radius);min-width:92px;max-width:140px;height:46px;color:var(--text);background:#fff;flex-direction:column;flex:140px;justify-content:center;align-items:center;gap:1px;padding:3px 8px;line-height:1.15;display:flex}.sh-preset b{white-space:nowrap;font-size:13px}.sh-dims{color:var(--muted);white-space:nowrap;font-size:9.5px}.sh-pprice{color:var(--primary);font-size:10px;font-weight:600}.sh-type:hover:not(.on),.sh-preset:hover:not(.on){border-color:var(--primary)}.sh-type.on,.sh-preset.on{background:var(--primary);border-color:var(--primary);color:var(--primary-text)}.sh-type.on span,.sh-preset.on .sh-dims,.sh-preset.on .sh-pprice{color:color-mix(in srgb, var(--primary-text) 82%, transparent)}.sh-custom{flex:none;align-items:flex-end;gap:8px;display:flex}.sh-custom label{color:var(--muted);letter-spacing:.04em;flex-direction:column;gap:2px;font-size:10px;display:flex}.sh-custom input{border:1px solid var(--border);border-radius:calc(var(--radius) * .75);text-align:center;background:#fff;width:70px;height:30px;padding:0 6px}.sh-custom input:focus{outline:2px solid color-mix(in srgb, var(--accent) 35%, transparent);border-color:var(--accent)}.sh-x{height:30px;color:var(--muted);align-items:center;display:flex}.sh-apply{height:30px;padding:0 14px}@media (width<=1280px){.sh-tagline{display:none}}@media (width<=1440px){.sh-q{display:none}}@media (height<=760px){.sh-tagline{display:none}.sh-band1{min-height:52px;padding-top:5px;padding-bottom:5px}.sh-logo img{max-height:38px}.sh-band2{min-height:52px;padding-top:4px;padding-bottom:4px}.sh-type,.sh-preset{height:42px}}@media (width<=1080px){.sh-obtn .sh-lbl,.sh-close .sh-lbl{display:none}.sh-close .sh-ico{display:block}.sh-obtn{padding:0 12px}.sh-band1,.sh-band2{padding-left:16px;padding-right:16px}}@media (width<=860px){.sh-primary .sh-lbl{display:none}.sh-primary .sh-ico{display:block}.sh-title .sh-brandname{display:none}}.app.mobile .sh-band1{gap:8px;min-height:0;padding:8px 10px}.app.mobile .sh-logo img{max-width:110px;max-height:36px}.app.mobile .sh-title,.app.mobile .sh-project{display:none}.app.mobile .sh-buttons{gap:6px}.app.mobile .sh-obtn,.app.mobile .sh-primary,.app.mobile .sh-close{height:38px;padding:0 10px}.app.mobile .sh-band2{gap:8px;min-height:0;padding:8px 10px}.app.mobile .sh-q{display:none}.app.mobile .sh-type{width:84px;height:48px}.app.mobile .sh-preset{flex:none;width:104px;min-width:0;height:48px}.canvas-empty{pointer-events:none;z-index:2;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.ce-card{pointer-events:auto;border:1px dashed var(--border);border-radius:calc(var(--radius) + 4px);color:var(--text);background:#fffffff0;align-items:center;gap:14px;padding:16px 22px;display:flex;box-shadow:0 6px 22px #00000014}.ce-arrow{color:var(--accent);animation:1.4s ease-in-out infinite gs-nudge;display:flex}@keyframes gs-nudge{50%{transform:translate(-6px)}}.ce-title{font-family:var(--heading-font);font-size:18px}.ce-sub{color:var(--muted);margin-top:2px;font-size:12px}.app.mobile .ce-arrow{animation:none;transform:rotate(-90deg)}.md p{margin:0 0 8px;line-height:1.5}.md ul{margin:0 0 8px;padding-left:20px;line-height:1.5}.contact-btns{flex-wrap:wrap;gap:8px;display:flex}.contact-btns .btn{text-decoration:none}.btn-wa{color:#fff;background:#25d366}.kbd-table{border-collapse:collapse;width:100%;font-size:13px}.kbd-table td{border-bottom:1px solid var(--border);padding:4px 6px}.kbd-table td:first-child{white-space:nowrap;width:1%}kbd{font:600 11px/1 var(--font);color:#374151;background:#f3f4f6;border:1px solid #d1d5db;border-bottom-width:2px;border-radius:4px;padding:3px 6px}details.terms summary{cursor:pointer;color:var(--accent);font-size:13px}.terms-text{color:#374151;border:1px solid var(--border);white-space:pre-wrap;background:#f9fafb;border-radius:6px;max-height:180px;margin-top:6px;padding:8px 10px;font-size:12px;overflow:auto}.welcome-body p{margin:0 0 8px;line-height:1.55}.text-input{border:1px solid var(--border);border-radius:var(--radius);width:100%;height:38px;padding:0 10px}.text-input:focus{outline:2px solid color-mix(in srgb, var(--accent) 35%, transparent);border-color:var(--accent)}.right-project{color:var(--muted);align-items:center;gap:6px;padding:0 12px 8px;font-size:12px;display:flex}.right-project b{color:var(--text);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.modal-head h2{font-family:var(--heading-font);font-weight:600}.sc-count{justify-content:space-between;align-items:center;gap:6px;min-height:20px;display:flex}.pc-pill{font:inherit;color:#7a5300;cursor:pointer;background:#fff6dd;border:1px solid #f3dda0;border-radius:999px;align-items:center;gap:3px;padding:3px 7px;font-size:11px;line-height:1;display:inline-flex}.pc-pill:hover,.pc-pill.open{background:#ffefc2}.pc-list{flex-direction:column;gap:5px;margin:0;padding:0;list-style:none;display:flex}.pc-tip{color:var(--text);border:1px solid var(--border);background:#f6f8fb;border-left:3px solid #8fa8c9;border-radius:6px;align-items:flex-start;gap:7px;padding:6px 8px;font-size:12px;line-height:1.35;display:flex}.pc-tip.warn{background:#fffbf0;border-left-color:#e0a93b}.pc-tip>svg{color:#6e87a8;flex:none;margin-top:1px}.pc-tip.warn>svg{color:#c48a12}.pc-tip.clickable{cursor:pointer}.pc-tip.clickable:hover{filter:brightness(.985);border-color:#c9d3e0}.pc-body{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.pc-title{font-weight:600}.pc-sheet{color:var(--muted);font-weight:500}.pc-detail{color:var(--muted)}.pc-actions{flex-wrap:wrap;align-items:center;gap:8px;margin-top:3px;display:flex}.pc-btn{font:inherit;color:var(--primary);border:1px solid var(--border);cursor:pointer;background:#fff;border-radius:5px;padding:3px 9px;font-size:11.5px;font-weight:600}.pc-btn:hover{border-color:var(--primary)}.pc-link{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:0;align-items:center;gap:1px;padding:0;font-size:11.5px;display:inline-flex}.pc-head{color:var(--text);margin-bottom:5px;font-size:12px;font-weight:700}.pc-item{flex-direction:column;display:flex}.pc-order{border-top:1px solid var(--border);padding-top:10px}.sheet-card .pc-list{cursor:default}.pc-sub{color:var(--muted);margin-left:4px;font-weight:400}
