:root{--line: #e2e5ea;--card: #fff;--accent: #1d4ed8;color-scheme:light}*{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,PingFang TC,Noto Sans TC,Helvetica Neue,Arial,sans-serif;font-size:15px;color:#1a1c20;background:#f5f6f8;-webkit-font-smoothing:antialiased}h2{font-size:18px;margin:0 0 10px}h3{font-size:15px;margin:0 0 10px}p{margin:0 0 8px}.muted{opacity:.6}.small{font-size:12px}.error{color:#b91c1c;font-size:13px}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px 16px}input:not([type=range]):not([type=checkbox]):not([type=color]),select{font:inherit;padding:8px 10px;border:1px solid #cfd3da;border-radius:8px;background:#fff;width:100%}input[type=color]{width:40px;height:32px;padding:0;border:1px solid #cfd3da;border-radius:6px;background:none}button,.btn{font:inherit;font-size:14px;padding:8px 14px;border-radius:8px;border:1px solid #cfd3da;background:#fff;cursor:pointer;color:inherit;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:default}button.primary{background:var(--accent);color:#fff;border-color:var(--accent)}button.ghost{background:transparent}button.small{font-size:12px;padding:4px 10px}button.danger{color:#b91c1c}code{font-size:12px;background:#0000000d;padding:1px 5px;border-radius:4px}.stage.svelte-1l6dv1b{position:relative;width:100%;touch-action:none;user-select:none;-webkit-user-select:none;overflow:hidden}canvas.svelte-1l6dv1b{position:absolute;top:0;right:0;bottom:0;left:0;display:block;width:100%;height:100%}canvas.hidden.svelte-1l6dv1b{visibility:hidden}.placeholder.svelte-1l6dv1b{position:absolute;object-fit:fill;filter:saturate(.6) brightness(.8);border-radius:4px}.note.svelte-1l6dv1b{position:absolute;top:8px;left:10px;right:10px;font-size:12px;color:#fbbf24;text-align:left;pointer-events:none}.bar.svelte-1l6dv1b{width:60%;max-width:220px;height:4px;background:#ffffff40;border-radius:2px;overflow:hidden;margin-bottom:10px}.fill.svelte-1l6dv1b{height:100%;background:#fff;transition:width .2s}.overlay.svelte-1l6dv1b button:where(.svelte-1l6dv1b){margin-top:10px;font:inherit;font-size:13px;padding:6px 14px;border-radius:8px;border:1px solid rgba(255,255,255,.4);background:#ffffff1a;color:#fff;cursor:pointer}.overlay.svelte-1l6dv1b{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#ddd;font-size:14px;background:#00000059;padding:12px;text-align:center}.overlay.error.svelte-1l6dv1b{color:#ffb4b4}.spec.svelte-1vcxsu8{display:flex;flex-wrap:wrap;gap:8px 18px;margin:0;font-size:14px}.spec.svelte-1vcxsu8 div:where(.svelte-1vcxsu8){display:flex;gap:6px;align-items:center}dt.svelte-1vcxsu8{opacity:.6}dd.svelte-1vcxsu8{margin:0;font-weight:600;display:flex;align-items:center;gap:6px}.swatch.svelte-1vcxsu8{width:14px;height:14px;border-radius:3px;border:1px solid rgba(128,128,128,.5);display:inline-block}.toggle.svelte-15l8qqs{display:inline-flex;padding:3px;border-radius:999px;background:#ffffff1a;gap:2px}button.svelte-15l8qqs{font:inherit;font-size:13px;padding:5px 16px;border:0;border-radius:999px;background:transparent;color:#ddd;cursor:pointer}button.active.svelte-15l8qqs{background:#fff;color:#111;font-weight:600}.viewer.svelte-813ja8{min-height:100dvh;background:radial-gradient(120% 80% at 50% 0%,#34373d,#1b1d21 60%,#131417);color:#eee;display:flex;flex-direction:column;align-items:center;padding:20px 0 32px;box-sizing:border-box}header.svelte-813ja8{text-align:center;padding:0 16px}h1.svelte-813ja8{font-size:20px;margin:0 0 4px;font-weight:600}.size.svelte-813ja8{margin:0;font-size:13px;opacity:.6}.stage-wrap.svelte-813ja8{width:min(100%,560px);text-align:center}.shape.svelte-813ja8{margin:10px 0 8px}.pager.svelte-813ja8{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:-8px}.pager.svelte-813ja8>button:where(.svelte-813ja8){background:#ffffff14;color:#fff;border:0;width:36px;height:36px;border-radius:50%;font-size:22px;line-height:1;cursor:pointer}.dots.svelte-813ja8{display:flex;gap:8px}.dots.svelte-813ja8 button:where(.svelte-813ja8){width:9px;height:9px;border-radius:50%;border:0;background:#ffffff4d;padding:0;cursor:pointer}.dots.svelte-813ja8 button.active:where(.svelte-813ja8){background:#fff}.title.svelte-813ja8{margin:10px 0 0;font-weight:600}.hint.svelte-813ja8{margin:4px 0 0;font-size:12px;opacity:.5}.specs.svelte-813ja8{margin-top:18px;padding:14px 18px;background:#ffffff0f;border-radius:12px;width:min(calc(100% - 32px),520px);box-sizing:border-box;display:flex;justify-content:center}footer.svelte-813ja8{margin-top:auto;padding:28px 16px 0;text-align:center}.disclaimer.svelte-813ja8{font-size:13px;opacity:.75;margin:0 0 6px}.meta.svelte-813ja8{font-size:12px;opacity:.45;margin:0}.notice.svelte-813ja8{margin:auto;text-align:center;padding:40px 24px;font-size:16px}.notice.svelte-813ja8 .sub:where(.svelte-813ja8){opacity:.6;font-size:14px}.login.svelte-1428x5h{min-height:100dvh;display:grid;place-items:center;padding:16px;box-sizing:border-box}form.svelte-1428x5h{width:min(100%,340px);display:flex;flex-direction:column;gap:12px}h1.svelte-1428x5h{margin:0;font-size:22px}.sub.svelte-1428x5h{margin:-6px 0 8px;opacity:.6}label.svelte-1428x5h{display:flex;flex-direction:column;gap:4px;font-size:14px}.page.svelte-drod6w{display:grid;gap:24px}.upload.svelte-drod6w{display:grid;gap:10px;max-width:520px}label.svelte-drod6w{display:flex;flex-direction:column;gap:4px;font-size:14px}.help.svelte-drod6w{font-size:12px;opacity:.6;margin:0}.list.svelte-drod6w{list-style:none;padding:0;margin:0;display:grid;gap:10px}.list.svelte-drod6w a:where(.svelte-drod6w){display:flex;gap:14px;align-items:center;padding:10px;border:1px solid var(--line);border-radius:10px;text-decoration:none;color:inherit;background:var(--card)}.list.svelte-drod6w img:where(.svelte-drod6w),.thumb-empty.svelte-drod6w{width:84px;height:64px;object-fit:contain;background:#ddd;border-radius:6px;flex:none}.thumb-empty.svelte-drod6w{display:grid;place-items:center;font-size:12px;color:#666}.info.svelte-drod6w{display:flex;flex-direction:column;gap:2px;font-size:13px}.warn.svelte-drod6w{color:#c2410c}.busy.svelte-drod6w{color:#1d4ed8}.confirm.svelte-p383oz{display:inline-flex;align-items:center;gap:6px;padding:4px 8px;border-radius:8px;background:#fef3c7;border:1px solid #fcd34d;font-size:13px}.q.svelte-p383oz{color:#92400e}button.primary.danger.svelte-p383oz{background:#b91c1c;border-color:#b91c1c;color:#fff}.ws.svelte-zfecqg{position:fixed;top:0;right:0;bottom:0;left:0;z-index:50;display:grid;grid-template-columns:minmax(0,1fr) 380px;background:#f5f6f8}.stage.svelte-zfecqg{background:radial-gradient(120% 80% at 50% 0%,#34373d,#1b1d21 60%,#131417);color:#eee;display:flex;flex-direction:column;min-height:0}.stagehead.svelte-zfecqg{display:flex;align-items:center;gap:12px;padding:10px 14px}.stagehead.svelte-zfecqg button:where(.svelte-zfecqg){margin-left:auto;color:#fff;border-color:#ffffff4d}.stagebody.svelte-zfecqg{flex:1;min-height:0;display:grid;place-items:center;overflow:hidden}.fit.svelte-zfecqg{max-width:100%}.stagefoot.svelte-zfecqg{display:flex;align-items:center;justify-content:center;gap:12px;padding:6px}.panel.svelte-zfecqg{overflow-y:auto;padding:12px 16px 24px;border-left:1px solid var(--line);background:#fff}.pick.svelte-zfecqg{display:grid;grid-template-columns:1fr 1fr;gap:8px 10px;padding-bottom:12px;border-bottom:1px solid var(--line);margin-bottom:8px}.pick.svelte-zfecqg label:where(.svelte-zfecqg){display:flex;flex-direction:column;gap:3px;font-size:13px}.pick.svelte-zfecqg label.check:where(.svelte-zfecqg){flex-direction:row;align-items:center;gap:6px;align-self:end}section.svelte-zfecqg{padding:10px 0;border-bottom:1px solid var(--line)}section.dim.svelte-zfecqg{opacity:.55}section.svelte-zfecqg header:where(.svelte-zfecqg){display:flex;align-items:center;justify-content:space-between;margin-bottom:4px}h4.svelte-zfecqg{margin:0;font-size:13px}.hint.svelte-zfecqg{font-size:12px;opacity:.6;margin:0 0 6px}.slider.svelte-zfecqg{display:grid;grid-template-columns:1fr 64px;grid-template-areas:"lab out" "in in";gap:2px 8px;align-items:center;font-size:13px;margin:6px 0}.lab.svelte-zfecqg{grid-area:lab;display:flex;flex-direction:column}.lab.svelte-zfecqg em:where(.svelte-zfecqg){font-style:normal;font-size:11px;opacity:.55}.slider.svelte-zfecqg input[type=range]:where(.svelte-zfecqg){grid-area:in;width:100%;margin:0}output.svelte-zfecqg{grid-area:out;text-align:right;font-variant-numeric:tabular-nums;font-size:12px;opacity:.8}.actions.svelte-zfecqg{position:sticky;bottom:-24px;background:#fff;padding:12px 0 8px;display:flex;flex-wrap:wrap;gap:8px;align-items:center;border-top:1px solid var(--line);margin-top:8px}.msg.svelte-zfecqg{width:100%;font-size:12px;margin:4px 0 0;opacity:.75}@media(max-width:860px){.ws.svelte-zfecqg{grid-template-columns:1fr;grid-template-rows:46vh 1fr}.panel.svelte-zfecqg{border-left:0;border-top:1px solid var(--line)}}.head.svelte-13ono6h{display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.head.svelte-13ono6h h2:where(.svelte-13ono6h){margin:6px 0 2px}.processing.svelte-13ono6h{border-color:#93c5fd;background:#eff6ff;margin-top:12px}.failed.svelte-13ono6h{border-color:#fca5a5;background:#fef2f2;margin-top:12px}.warnings.svelte-13ono6h{background:#fff7ed;border:1px solid #fdba74;color:#9a3412;border-radius:8px;padding:8px 12px 8px 28px;font-size:13px;margin:12px 0}.layout.svelte-13ono6h{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(300px,1fr);gap:20px;margin-top:12px}@media(max-width:860px){.layout.svelte-13ono6h{grid-template-columns:1fr}}.preview-col.svelte-13ono6h{background:radial-gradient(120% 80% at 50% 0%,#34373d,#1b1d21 60%,#131417);border-radius:12px;color:#eee;padding:10px 0 14px;align-self:start}.tabs.svelte-13ono6h{display:flex;gap:6px;padding:0 12px;flex-wrap:wrap}.tabs.svelte-13ono6h button:where(.svelte-13ono6h){background:#ffffff14;color:#ddd;border:0}.tabs.svelte-13ono6h button.active:where(.svelte-13ono6h){background:#fff;color:#111}.shape.svelte-13ono6h{text-align:center;margin:8px 0 6px}.pagetitle.svelte-13ono6h{text-align:center;display:flex;justify-content:center;gap:8px;align-items:center}.pagetitle.svelte-13ono6h input:where(.svelte-13ono6h){max-width:240px}.spec-col.svelte-13ono6h{display:grid;gap:14px;align-content:start}.card.svelte-13ono6h label:where(.svelte-13ono6h){display:flex;flex-direction:column;gap:4px;font-size:14px;margin-bottom:10px}.card.svelte-13ono6h label.check:where(.svelte-13ono6h){flex-direction:row;align-items:center;gap:8px}.bg.svelte-13ono6h{display:flex;align-items:center;gap:8px}.note.svelte-13ono6h{font-size:12px;color:#92400e;margin:0 0 10px}.newlink.svelte-13ono6h{margin-top:12px;padding:12px;background:#f0fdf4;border:1px solid #86efac;border-radius:8px;display:grid;gap:8px}.row.svelte-13ono6h{display:flex;gap:6px;align-items:center;flex-wrap:wrap}.row.svelte-13ono6h input[readonly]:where(.svelte-13ono6h){flex:1;min-width:160px;font-size:12px}.links.svelte-13ono6h{list-style:none;padding:0;margin:0;display:grid;gap:10px}.links.svelte-13ono6h li:where(.svelte-13ono6h){border:1px solid var(--line);border-radius:8px;padding:10px;display:grid;gap:6px}.links.svelte-13ono6h li.dead:where(.svelte-13ono6h){opacity:.55}.linkhead.svelte-13ono6h{display:flex;justify-content:space-between;gap:8px;flex-wrap:wrap}.state.svelte-13ono6h{font-size:12px;font-weight:600;padding:2px 8px;border-radius:999px;background:#e5e7eb}.state.active.svelte-13ono6h{background:#dcfce7;color:#166534}.mapping.svelte-13ono6h label.row:where(.svelte-13ono6h){flex-direction:row;justify-content:space-between;align-items:center;margin-bottom:8px}.mapping.svelte-13ono6h label.row:where(.svelte-13ono6h) select:where(.svelte-13ono6h){max-width:200px}.calline.svelte-13ono6h{text-align:right;margin:0}.extend.svelte-13ono6h{display:inline-flex;align-items:center;gap:6px;font-size:13px}.extend.svelte-13ono6h input:where(.svelte-13ono6h){width:64px;padding:4px 6px}.shell.svelte-1n46o8q{max-width:1100px;margin:0 auto;padding:0 16px 40px}nav.svelte-1n46o8q{display:flex;align-items:center;gap:12px;padding:14px 0;border-bottom:1px solid var(--line);margin-bottom:18px}nav.svelte-1n46o8q a:where(.svelte-1n46o8q){text-decoration:none;color:inherit;margin-right:auto}.center.svelte-1n46o8q{text-align:center;padding:40px}
