.trace-fabs[data-v-83d36796]{z-index:5;pointer-events:none;align-items:flex-start;gap:10px;display:flex;position:absolute;top:12px;right:12px}.fab-col[data-v-83d36796]{pointer-events:auto;flex-direction:column;gap:8px;display:flex}.fab[data-v-83d36796]{border:1px solid var(--ui-border);background:var(--ui-surface);width:42px;height:42px;color:var(--text-primary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;transition:border-color .12s,background .12s;display:flex;box-shadow:0 2px 8px #0000002e}.fab[data-v-83d36796]:hover{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 12%, var(--ui-surface))}.fab.toggle[data-v-83d36796]{background:color-mix(in srgb, var(--accent) 18%, var(--ui-surface));border-color:var(--accent)}.fab.ok[data-v-83d36796]{border-color:var(--accent);color:var(--accent)}.fab.cancel[data-v-83d36796]:hover{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, var(--ui-surface))}.toast[data-v-83d36796]{color:var(--text-primary);background:var(--ui-surface);border:1px solid var(--ui-border);pointer-events:auto;border-radius:8px;align-items:center;gap:8px;max-width:200px;margin-top:4px;padding:8px 12px;font-size:12.5px;display:flex;box-shadow:0 2px 8px #0000002e}.toast .arrow[data-v-83d36796]{color:var(--accent);font-weight:700}.tile-canvas-wrapper[data-v-3dc20be7]{width:100%;height:100%;position:relative;overflow:hidden}.tile-canvas[data-v-3dc20be7]{touch-action:none;cursor:crosshair;display:block}.tile-canvas.inking[data-v-3dc20be7]{cursor:default}.zoom-slider[data-v-3dc20be7]{writing-mode:vertical-lr;appearance:slider-vertical;width:28px;height:min(45%,260px);accent-color:var(--accent);cursor:pointer;opacity:.65;z-index:5;direction:rtl;position:absolute;top:50%;left:10px;transform:translateY(-50%)}.zoom-slider[data-v-3dc20be7]:hover{opacity:1}.app-logo[data-v-63a13b2a]{color:var(--text-primary);display:block}.toolbar[data-v-8fccc4ad]{background:var(--ui-surface);border-bottom:1px solid var(--ui-border);flex-wrap:wrap;align-items:center;gap:8px;padding:6px 10px;display:flex}.brand[data-v-8fccc4ad]{align-items:center;gap:8px;display:flex}.brand-name[data-v-8fccc4ad]{font-family:var(--font-mono);letter-spacing:.06em;color:var(--text-primary);font-size:13px}.sketch-name[data-v-8fccc4ad]{width:130px;min-height:30px;color:var(--text-primary);border:1px solid #0000;border-color:var(--ui-border);opacity:.8;background:0 0;border-radius:7px;padding:3px 9px;font-size:15px;font-weight:700;transition:border-color .12s,background .12s}.sketch-name[data-v-8fccc4ad]:hover{opacity:1}.sketch-name[data-v-8fccc4ad]:focus{opacity:1;border-color:var(--accent);background:var(--canvas-bg);outline:none}.group[data-v-8fccc4ad]{align-items:center;gap:6px;display:flex}.group.seg[data-v-8fccc4ad]{background:color-mix(in srgb, var(--ui-border) 35%, transparent);border:1px solid var(--ui-border);border-radius:9px;gap:2px;padding:2px}.group.seg .tb-btn[data-v-8fccc4ad]{border:none;border-radius:7px}.group.right[data-v-8fccc4ad]{margin-left:auto}.tb-btn[data-v-8fccc4ad]{min-height:32px;color:var(--text-primary);border:1px solid var(--ui-border);cursor:pointer;background:0 0;border-radius:8px;align-items:center;gap:6px;padding:5px 11px;font-size:12.5px;transition:border-color .12s,background .12s;display:inline-flex}.tb-btn.icon-only[data-v-8fccc4ad]{padding:5px 8px}.tb-btn[data-v-8fccc4ad]:hover:not(:disabled){border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.tb-btn.active[data-v-8fccc4ad]{background:color-mix(in srgb, var(--accent) 22%, transparent);color:var(--text-primary)}.tb-btn.danger[data-v-8fccc4ad]{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.tb-btn[data-v-8fccc4ad]:disabled{opacity:.35;cursor:default}.lock[data-v-8fccc4ad]{color:var(--text-muted)}.control[data-v-8fccc4ad]{color:var(--text-muted);font-family:var(--font-mono);align-items:center;gap:5px;font-size:10px;display:flex}.control input[type=color][data-v-8fccc4ad]{cursor:pointer;background:0 0;border:none;width:30px;height:30px;padding:0}.control.slider input[data-v-8fccc4ad]{width:76px;accent-color:var(--accent)}.control.dim[data-v-8fccc4ad],.size-seg.dim[data-v-8fccc4ad]{opacity:.4}.count-btn[data-v-8fccc4ad]{min-width:22px;font-family:var(--font-mono);justify-content:center;align-items:center;font-size:11px;display:inline-flex}.extra-swatches[data-v-8fccc4ad]{align-items:center;gap:3px;display:flex}.swatch-chip[data-v-8fccc4ad]{border:1px solid var(--ui-border);cursor:pointer;border-radius:6px;width:22px;height:22px;padding:0}.swatch-chip[data-v-8fccc4ad]:hover{border-color:var(--accent)}.size-btn[data-v-8fccc4ad]{justify-content:center;align-items:center;min-width:28px;display:inline-flex}.size-dot[data-v-8fccc4ad]{background:currentColor;border-radius:50%;display:inline-block}.dot-S[data-v-8fccc4ad]{width:4px;height:4px}.dot-M[data-v-8fccc4ad]{width:8px;height:8px}.dot-L[data-v-8fccc4ad]{width:12px;height:12px}.more-btn[data-v-8fccc4ad]{display:none}@media (width<=730px){.toolbar[data-v-8fccc4ad]{gap:6px;padding:4px 8px}.toolbar .extra[data-v-8fccc4ad]{display:none}.toolbar.more-open .extra[data-v-8fccc4ad]{display:flex}.toolbar.more-open .sketch-name.extra[data-v-8fccc4ad]{display:block}.more-btn[data-v-8fccc4ad]{display:inline-flex}.brand-name[data-v-8fccc4ad],.tb-btn span[data-v-8fccc4ad]{display:none}.control.slider input[data-v-8fccc4ad]{width:64px}}.layer-panel[data-v-8e0337b6]{padding:12px}header[data-v-8e0337b6]{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.clear-all-btn[data-v-8e0337b6]{border:1px solid var(--ui-border);min-height:24px;color:var(--text-muted);cursor:pointer;background:0 0;border-radius:6px;align-items:center;gap:5px;padding:4px 8px;font-size:10px;display:flex}.clear-all-btn[data-v-8e0337b6]:hover{color:var(--text-primary);border-color:var(--accent)}.clear-all-btn.danger[data-v-8e0337b6]{border-color:var(--danger);color:var(--danger);background:color-mix(in srgb, var(--danger) 12%, transparent)}.icon-stack[data-v-8e0337b6]{flex-shrink:0;width:15px;height:13px;position:relative}.icon-stack .icon-back[data-v-8e0337b6],.icon-stack .icon-front[data-v-8e0337b6]{position:absolute;top:0}.icon-stack .icon-back[data-v-8e0337b6]{opacity:.5;left:2px}.icon-stack .icon-front[data-v-8e0337b6]{left:0}h2[data-v-8e0337b6]{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin:0;font-size:11px;font-weight:500}.group-head[data-v-8e0337b6]{justify-content:space-between;align-items:center;margin-top:4px;padding:2px 2px 0;display:flex}.group-head span[data-v-8e0337b6]{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);font-size:10px;font-weight:500}.empty-hint[data-v-8e0337b6]{color:var(--text-muted);opacity:.7;padding:2px 4px;font-size:11px}.add-btn[data-v-8e0337b6]{width:22px;height:22px;color:var(--text-primary);border:1px solid var(--ui-border);cursor:pointer;background:0 0;border-radius:6px;justify-content:center;align-items:center;display:flex}.add-btn[data-v-8e0337b6]:hover:not(:disabled){border-color:var(--accent)}.add-btn[data-v-8e0337b6]:disabled{opacity:.35;cursor:default}ul[data-v-8e0337b6]{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.layer-row[data-v-8e0337b6]{border:1px solid var(--ui-border);cursor:pointer;border-radius:8px;padding:7px 8px}.layer-row.active[data-v-8e0337b6]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 10%, transparent)}.layer-row.trace-layer[data-v-8e0337b6]{cursor:default;background:color-mix(in srgb, var(--accent) 6%, transparent)}.row-top[data-v-8e0337b6]{align-items:center;gap:6px;margin-bottom:5px;display:flex}.icon-btn[data-v-8e0337b6]{width:22px;height:22px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.icon-btn[data-v-8e0337b6]:hover:not(:disabled){color:var(--text-primary)}.icon-btn[data-v-8e0337b6]:disabled{opacity:.3;cursor:default}.layer-name[data-v-8e0337b6]{color:var(--text-primary);flex:1;font-size:12px}.trace-name[data-v-8e0337b6]{align-items:center;gap:8px;display:flex}.trace-label[data-v-8e0337b6]{color:var(--text-primary);font-size:12px;font-weight:500}.trace-color[data-v-8e0337b6]{border:1px solid color-mix(in srgb, currentColor 30%, transparent);border-radius:2px;flex-shrink:0;width:12px;height:12px}.opacity-slider[data-v-8e0337b6]{width:100%;accent-color:var(--accent);margin:0}.wpg-thumb[data-v-063e0718]{display:block}.wpg-thumb--fill[data-v-063e0718]{width:100%;height:100%;position:absolute;inset:0;background-color:red!important}.thumb-outline[data-v-063e0718]{fill:none;stroke:#00000059;stroke-width:.8px}.pattern-panel[data-v-98de4be2]{padding:12px;overflow-y:auto}.panel-section[data-v-98de4be2]{margin-bottom:14px}.pattern-panel h2[data-v-98de4be2]{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.12em;color:var(--text-muted);margin:0 0 8px;font-size:11px;font-weight:500}.pill-grid[data-v-98de4be2]{grid-template-columns:repeat(auto-fill,minmax(78px,1fr));gap:6px;display:grid}.pill[data-v-98de4be2]{border:1px solid var(--ui-border);color:var(--text-primary);cursor:pointer;aspect-ratio:1;background:0 0;border-radius:8px;flex-direction:column;justify-content:flex-end;align-items:stretch;gap:0;min-height:72px;padding:0;display:flex;position:relative;overflow:hidden}.pill[data-v-98de4be2]:disabled{cursor:not-allowed}.pill[data-v-98de4be2]:hover{background:#7a7acc14}.pill.active[data-v-98de4be2]{border-color:var(--accent);background:#7a7acc1f}.pill.locked[data-v-98de4be2]{color:var(--text-muted)}.pill.locked[data-v-98de4be2]:after{content:"";backdrop-filter:blur(3px);pointer-events:none;z-index:3;background:#ffffff1f;border-radius:7px;position:absolute;inset:0}.pill.deferred[data-v-98de4be2]{color:var(--text-muted)}.pill.deferred[data-v-98de4be2]:after{content:"";backdrop-filter:blur(5px);pointer-events:none;z-index:2;background:#c8b4ff14;border-radius:7px;position:absolute;inset:0}.pill-name[data-v-98de4be2]{z-index:5;text-align:center;word-break:break-word;color:#fff;backdrop-filter:blur(2px);background:#0000008c;flex-shrink:0;width:100%;padding:3px 6px 4px;font-size:10.5px;line-height:1.2;position:relative}.pill-star[data-v-98de4be2]{z-index:2;color:var(--accent);position:absolute;top:4px;right:4px}.pill-delete[data-v-98de4be2]{z-index:6;color:#fff;cursor:pointer;background:#00000080;border-radius:50%;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;top:4px;left:4px}.pill-delete[data-v-98de4be2]:hover,.pill-delete[data-v-98de4be2]:focus-visible{background:var(--danger);outline:none}.pill-lock[data-v-98de4be2]{z-index:5;color:#fdfaf1;position:absolute;top:4px;right:4px}.pill-badge[data-v-98de4be2]{z-index:4;letter-spacing:.05em;text-transform:uppercase;color:#c4b4ff;backdrop-filter:blur(2px);background:#9682c859;border-radius:3px;padding:2px 5px;font-size:8px;font-weight:600;position:absolute;top:4px;left:4px}.sort-toggle[data-v-98de4be2]{background:var(--ui-border);border:1px solid var(--ui-border);color:var(--text-secondary);cursor:pointer;border-radius:4px;align-items:center;gap:4px;padding:4px 8px;font-size:11px;font-weight:600;transition:all .2s;display:flex}.sort-toggle[data-v-98de4be2]:hover{background:var(--accent);border-color:var(--accent);color:#fff}.shape-group[data-v-98de4be2]{margin-bottom:8px}.group-head[data-v-98de4be2]{width:100%;min-height:32px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:4px 6px;font-size:12px;display:flex}.group-head-label[data-v-98de4be2]{align-items:center;gap:7px;display:flex}.group-icon[data-v-98de4be2]{width:16px;height:16px;color:var(--text-muted);flex-shrink:0}.group-count[data-v-98de4be2]{font-family:var(--font-mono);color:var(--text-muted);font-size:10px}.configure-header[data-v-98de4be2]{align-items:stretch;gap:6px;margin-top:4px;display:flex}.configure-btn[data-v-98de4be2]{border:1px dashed var(--accent);min-height:40px;color:var(--accent);cursor:pointer;background:0 0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;font-size:13px;display:flex}.configure-btn[data-v-98de4be2]:hover{background:#7a7acc14}.heart-btn[data-v-98de4be2]{border:1px solid var(--ui-border);width:40px;min-height:40px;color:var(--text-primary);cursor:pointer;background:0 0;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:flex}.heart-btn[data-v-98de4be2]:hover{background:#7a7acc14}.heart-btn.active[data-v-98de4be2]{border-color:var(--accent);color:var(--accent)}.configure-body[data-v-98de4be2]{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:8px;margin-top:10px;padding:10px}.shape-choice[data-v-98de4be2]{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.shape-choice-label[data-v-98de4be2]{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:12px;font-weight:600}.shape-buttons[data-v-98de4be2]{flex-wrap:wrap;gap:6px;display:flex}.shape-btn[data-v-98de4be2]{background:var(--ui-border);border:1px solid var(--ui-border);color:var(--text-secondary);cursor:pointer;border-radius:4px;padding:6px 12px;font-size:12px;transition:all .2s}.shape-btn[data-v-98de4be2]:hover{border-color:var(--accent);color:var(--text-primary)}.shape-btn.active[data-v-98de4be2]{background:var(--accent);border-color:var(--accent);color:#fff}.slider-row[data-v-98de4be2],.name-row[data-v-98de4be2]{flex-direction:column;gap:4px;margin-bottom:12px;display:flex}.slider-label[data-v-98de4be2]{color:var(--text-muted);font-size:12px}.slider-label em[data-v-98de4be2]{color:var(--text-primary);font-style:normal;font-family:var(--font-mono)}.slider-row input[type=range][data-v-98de4be2]{width:100%;accent-color:var(--accent)}.name-input[data-v-98de4be2]{background:var(--ui-surface);border:1px solid var(--ui-border);width:100%;color:var(--text-primary);border-radius:6px;padding:7px 9px;font-size:13px}.name-input.amber[data-v-98de4be2]{border-color:#d9a441}.name-input.red[data-v-98de4be2]{border-color:#d35858}.name-warn[data-v-98de4be2]{font-size:11px}.name-warn.amber[data-v-98de4be2]{color:#d9a441}.name-warn.red[data-v-98de4be2]{color:#d35858}.no-params[data-v-98de4be2]{color:var(--text-muted);margin:0 0 12px;font-size:12px}.quota-warn[data-v-98de4be2]{color:#d35858;margin:0 0 8px;font-size:12px}.dialog-backdrop[data-v-98de4be2]{z-index:100;background:#00000073;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.dialog[data-v-98de4be2]{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;width:100%;max-width:320px;padding:18px}.dialog h3[data-v-98de4be2]{margin:0 0 8px;font-size:15px}.dialog p[data-v-98de4be2]{color:var(--text-primary);margin:0 0 12px;font-size:13px;line-height:1.45}.dialog-actions[data-v-98de4be2]{flex-direction:column;gap:8px;display:flex}.dialog-primary[data-v-98de4be2]{background:var(--accent);color:#fff;cursor:pointer;border:none;border-radius:8px;min-height:40px;font-size:13px;font-weight:600}.dialog-secondary[data-v-98de4be2]{border:1px solid var(--ui-border);min-height:40px;color:var(--text-primary);cursor:pointer;background:0 0;border-radius:8px;font-size:13px}.store-wrap[data-v-c7e1bbe8]{gap:8px;display:flex;position:relative}.store-btn[data-v-c7e1bbe8]{background:var(--accent);color:var(--accent-contrast);opacity:.35;pointer-events:none;cursor:default;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;font-weight:600;text-decoration:none;display:flex}.md .store-btn[data-v-c7e1bbe8]{min-height:42px;font-size:13px}.sm .store-btn[data-v-c7e1bbe8]{min-height:36px;font-size:12px}.ribbon[data-v-c7e1bbe8]{z-index:2;width:max-content;height:max-content;font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--accent-contrast);background:var(--text-primary);cursor:pointer;border:none;border-radius:4px;margin:auto;padding:5px 16px;font-size:11px;font-weight:700;transition:transform .12s;position:absolute;inset:0;transform:rotate(-5deg);box-shadow:0 2px 10px #00000059}.ribbon[data-v-c7e1bbe8]:hover{transform:rotate(-5deg)scale(1.05)}.notify-backdrop[data-v-c7e1bbe8]{z-index:300;background:#080810b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.notify-modal[data-v-c7e1bbe8]{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;width:min(380px,100vw - 32px);padding:22px;position:relative}.notify-modal h3[data-v-c7e1bbe8]{font-family:var(--font-mono);letter-spacing:.12em;text-transform:uppercase;color:var(--text-primary);margin:0 0 8px;font-size:12px;font-weight:600}.close-btn[data-v-c7e1bbe8]{width:28px;height:28px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex;position:absolute;top:10px;right:10px}.close-btn[data-v-c7e1bbe8]:hover{color:var(--text-primary)}.notify-lead[data-v-c7e1bbe8]{color:var(--text-muted);margin:0 0 14px;font-size:13px;line-height:1.55}.notify-form[data-v-c7e1bbe8]{flex-direction:column;gap:6px;display:flex}.notify-form input[data-v-c7e1bbe8]{min-height:32px;color:var(--text-primary);background:var(--canvas-bg);border:1px solid var(--ui-border);border-radius:8px;padding:0 10px;font-size:12.5px}.notify-form input[data-v-c7e1bbe8]:focus{border-color:var(--accent);outline:none}.notify-form button[data-v-c7e1bbe8]{min-height:32px;color:var(--accent-contrast);background:var(--accent);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:600;display:flex}.notify-form button[data-v-c7e1bbe8]:disabled{opacity:.6;cursor:default}.notify-note[data-v-c7e1bbe8]{color:var(--text-muted);margin:6px 0 0;font-size:10.5px;line-height:1.5}.notify-error[data-v-c7e1bbe8]{color:var(--danger);margin:6px 0 0;font-size:11.5px}.notify-done[data-v-c7e1bbe8]{color:var(--text-primary);align-items:center;gap:6px;margin:0;font-size:12px;display:flex}.sheet-backdrop[data-v-21a97723]{z-index:100;background:#080810b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sheet[data-v-21a97723]{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;width:min(420px,100vw - 32px);padding:24px}.sheet h2[data-v-21a97723]{color:var(--text-primary);margin:0 0 12px;font-size:18px}.features[data-v-21a97723]{color:var(--text-muted);margin:0 0 20px;padding-left:18px;font-size:13px;line-height:1.7}.buy-btn[data-v-21a97723]{background:var(--accent);width:100%;min-height:44px;color:var(--accent-contrast);cursor:pointer;border:none;border-radius:8px;margin-bottom:8px;font-size:15px;font-weight:600;display:block}.buy-btn[data-v-21a97723]:disabled{opacity:.6}.web-note[data-v-21a97723]{color:var(--text-muted);margin:0 0 12px;font-size:13px}.coming-soon-stores[data-v-21a97723]{margin-bottom:12px}.link-btn[data-v-21a97723]{width:100%;min-height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;gap:5px;font-size:13px;display:flex}.link-btn[data-v-21a97723]:hover{color:var(--text-primary)}.get-app-cta[data-v-15b68121]{border:1px solid var(--ui-border);background:#7a7acc12;border-radius:10px;margin:8px;padding:12px}.cta-head[data-v-15b68121]{font-family:var(--font-mono);letter-spacing:.08em;text-transform:uppercase;color:var(--text-primary);align-items:center;gap:7px;margin-bottom:6px;font-size:11px;display:flex}p[data-v-15b68121]{color:var(--text-muted);margin:0 0 10px;font-size:12px;line-height:1.5}.sheet-backdrop[data-v-cc7a71dc]{z-index:100;background:#080810b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sheet[data-v-cc7a71dc]{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;width:min(560px,100vw - 32px);max-height:calc(100vh - 64px);padding:20px;overflow-y:auto}header[data-v-cc7a71dc]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}h2[data-v-cc7a71dc]{margin:0;font-size:18px}.new-btn[data-v-cc7a71dc]{background:var(--accent);color:#0f0f1a;cursor:pointer;border:none;border-radius:6px;min-height:36px;padding:4px 14px;font-weight:600}.new-btn.danger[data-v-cc7a71dc]{background:var(--danger);color:var(--canvas-bg)}.new-btn[data-v-cc7a71dc]:disabled{opacity:.5;cursor:default}.header-actions[data-v-cc7a71dc]{align-items:center;gap:8px;display:flex}.link-action[data-v-cc7a71dc]{min-height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:13px}.link-action[data-v-cc7a71dc]:hover{color:var(--text-primary)}.card.selected[data-v-cc7a71dc]{border-color:var(--accent);background:color-mix(in srgb, var(--accent) 14%, var(--canvas-bg))}.select-check[data-v-cc7a71dc]{z-index:2;border:2px solid var(--accent);background:var(--ui-surface);width:22px;height:22px;color:var(--accent-contrast);border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:12px;left:12px}.select-check.on[data-v-cc7a71dc]{background:var(--accent)}.empty[data-v-cc7a71dc]{color:var(--text-muted);font-size:13px}.grid[data-v-cc7a71dc]{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;margin:0 0 12px;padding:0;list-style:none;display:grid}.grid li[data-v-cc7a71dc]{position:relative}.card[data-v-cc7a71dc]{background:var(--canvas-bg);border:1px solid var(--ui-border);cursor:pointer;width:100%;color:var(--text-primary);text-align:left;border-radius:8px;flex-direction:column;gap:4px;padding:8px;display:flex}.card.current[data-v-cc7a71dc]{border-color:var(--accent)}.card img[data-v-cc7a71dc],.thumb-fallback[data-v-cc7a71dc]{aspect-ratio:4/3;object-fit:cover;border-radius:4px;width:100%}.thumb-fallback[data-v-cc7a71dc]{background:var(--tile-fill-active);color:var(--text-muted);font-family:var(--font-mono);justify-content:center;align-items:center;font-size:11px;display:flex}.card-name[data-v-cc7a71dc]{font-size:13px}.name-input[data-v-cc7a71dc]{width:100%;min-height:24px;color:var(--text-primary);background:var(--ui-surface);border:1px solid var(--accent);border-radius:4px;padding:1px 5px;font-size:13px}.name-input[data-v-cc7a71dc]:focus{outline:none}.card-meta[data-v-cc7a71dc]{font-family:var(--font-mono);color:var(--text-muted);font-size:10px}.corner-btn[data-v-cc7a71dc]{width:32px;height:32px;color:var(--text-muted);cursor:pointer;background:#0f0f1ad1;border:none;border-radius:50%;justify-content:center;align-items:center;display:flex;position:absolute;top:6px}.corner-btn[data-v-cc7a71dc]:hover{color:var(--text-primary)}.delete-btn[data-v-cc7a71dc]{right:6px}.rename-btn[data-v-cc7a71dc]{right:42px}.confirm-backdrop[data-v-cc7a71dc]{z-index:120;background:#08081099;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.confirm-box[data-v-cc7a71dc]{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;width:min(320px,100vw - 48px);padding:18px}.confirm-box p[data-v-cc7a71dc]{color:var(--text-primary);margin:0 0 14px;font-size:13.5px;line-height:1.5}.confirm-actions[data-v-cc7a71dc]{gap:8px;display:flex}.confirm-actions button[data-v-cc7a71dc]{cursor:pointer;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;min-height:38px;font-size:13px;font-weight:600;display:flex}.cancel-btn[data-v-cc7a71dc]{color:var(--text-primary);border:1px solid var(--ui-border);background:0 0}.danger-btn[data-v-cc7a71dc]{background:var(--danger);color:var(--canvas-bg);border:none}.link-btn[data-v-cc7a71dc]{width:100%;min-height:36px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;display:block}.storage-banner[data-v-b9ed28ce]{color:var(--text-primary);background:#3a2a1a;border-bottom:1px solid #6a4a2a;flex-wrap:wrap;align-items:center;gap:10px;padding:8px 12px;font-size:13px;display:flex}.storage-banner button[data-v-b9ed28ce]{border:1px solid var(--ui-border);min-height:30px;color:var(--text-primary);cursor:pointer;background:0 0;border-radius:6px;padding:2px 10px}.onb-backdrop[data-v-55ecf85b]{z-index:400;padding:max(16px, var(--safe-top)) 16px max(16px, var(--safe-bottom));background:#080810c7;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.onb[data-v-55ecf85b]{background:var(--ui-surface);border:1px solid var(--ui-border);text-align:center;border-radius:16px;width:min(440px,100%);padding:28px 24px 22px;position:relative}.onb-skip[data-v-55ecf85b]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;padding:4px 8px;font-size:12px;display:inline-flex;position:absolute;top:12px;right:12px}.onb-skip[data-v-55ecf85b]:hover{color:var(--text-primary)}.onb-art[data-v-55ecf85b]{height:72px;color:var(--accent);justify-content:center;align-items:center;margin-bottom:14px;display:flex}.mode-row[data-v-55ecf85b]{color:var(--accent);gap:14px;display:flex}.sym-grid[data-v-55ecf85b]{grid-template-rows:repeat(2,26px);grid-template-columns:repeat(2,26px);gap:3px;display:grid}.sym-grid span[data-v-55ecf85b]{border:1.5px solid var(--accent);border-radius:3px}.sym-grid span[data-v-55ecf85b]:nth-child(2){transform:rotate(90deg)}.sym-grid span[data-v-55ecf85b]:nth-child(3){transform:rotate(270deg)}.sym-grid span[data-v-55ecf85b]:nth-child(4){transform:rotate(180deg)}.onb h2[data-v-55ecf85b]{color:var(--text-primary);margin:0 0 10px;font-size:19px}.onb-body[data-v-55ecf85b]{color:var(--text-muted);margin:0 0 10px;font-size:14px;line-height:1.6}.onb-hint[data-v-55ecf85b]{color:var(--accent);margin:0 0 4px;font-size:12.5px;font-style:italic}.onb-dots[data-v-55ecf85b]{justify-content:center;gap:6px;margin:16px 0;display:flex}.onb-dots span[data-v-55ecf85b]{background:var(--ui-border);border-radius:50%;width:7px;height:7px;transition:background .15s}.onb-dots span.on[data-v-55ecf85b]{background:var(--accent)}.onb-nav[data-v-55ecf85b]{gap:10px;display:flex}.onb-btn[data-v-55ecf85b]{cursor:pointer;border-radius:9px;flex:1;justify-content:center;align-items:center;gap:5px;min-height:44px;font-size:14px;font-weight:600;display:inline-flex}.onb-btn.ghost[data-v-55ecf85b]{color:var(--text-primary);border:1px solid var(--ui-border);background:0 0}.onb-btn.ghost[data-v-55ecf85b]:disabled{opacity:.35;cursor:default}.onb-btn.primary[data-v-55ecf85b]{background:var(--accent);color:var(--accent-contrast);border:none}.sheet-backdrop[data-v-c55d476b]{z-index:100;padding:max(16px, var(--safe-top)) 16px max(16px, var(--safe-bottom));background:#080810b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sheet[data-v-c55d476b]{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;width:min(440px,100%);max-height:100%;padding:20px 22px;overflow-y:auto}header[data-v-c55d476b]{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.title[data-v-c55d476b]{align-items:center;gap:8px;display:flex}.title h2[data-v-c55d476b]{color:var(--text-primary);margin:0;font-size:18px}.icon-close[data-v-c55d476b]{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:flex}.icon-close[data-v-c55d476b]:hover{color:var(--text-primary)}.lead[data-v-c55d476b]{color:var(--text-muted);margin:0 0 16px;font-size:13.5px;line-height:1.6}section[data-v-c55d476b]{margin-bottom:14px}h3[data-v-c55d476b]{font-family:var(--font-mono);text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:0 0 6px;font-size:11px;font-weight:500}ul[data-v-c55d476b]{color:var(--text-primary);margin:0;padding-left:18px;font-size:13px;line-height:1.65}ul b[data-v-c55d476b]{font-weight:600}.replay-btn[data-v-c55d476b]{width:100%;min-height:40px;color:var(--accent-contrast);background:var(--accent);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;margin-top:4px;font-size:13px;font-weight:600;display:flex}.panel[data-v-12210937]{flex-direction:column;gap:14px;display:flex}.back-link[data-v-12210937]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:4px;padding:0;font-size:12.5px;display:inline-flex}.back-link[data-v-12210937]:hover{color:var(--text-primary)}.empty[data-v-12210937]{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.region-list[data-v-12210937]{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.region-row[data-v-12210937]{background:var(--canvas-bg);border:1px solid var(--ui-border);color:var(--text-primary);cursor:pointer;border-radius:8px;align-items:center;gap:10px;padding:8px 10px;font-size:13.5px;display:flex}.resolution-row[data-v-12210937]{justify-content:space-between;align-items:center;gap:10px;display:flex}.label[data-v-12210937]{color:var(--text-muted);font-size:12px}.seg[data-v-12210937]{background:color-mix(in srgb, var(--ui-border) 35%, transparent);border:1px solid var(--ui-border);border-radius:9px;gap:2px;padding:2px;display:flex}.seg-btn[data-v-12210937]{min-height:30px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:4px 10px;font-size:12px}.seg-btn.active[data-v-12210937]{background:color-mix(in srgb, var(--accent) 22%, transparent)}.primary-btn[data-v-12210937]{background:var(--accent);min-height:42px;color:var(--accent-contrast);cursor:pointer;border:none;border-radius:8px;font-size:14px;font-weight:600}.primary-btn[data-v-12210937]:disabled{opacity:.5;cursor:default}.panel[data-v-0ad11d0b]{flex-direction:column;gap:14px;display:flex}.back-link[data-v-0ad11d0b]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:4px;padding:0;font-size:12.5px;display:inline-flex}.back-link[data-v-0ad11d0b]:hover{color:var(--text-primary)}.lead[data-v-0ad11d0b]{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.seg[data-v-0ad11d0b]{background:color-mix(in srgb, var(--ui-border) 35%, transparent);border:1px solid var(--ui-border);border-radius:9px;gap:2px;padding:2px;display:flex}.seg-btn[data-v-0ad11d0b]{min-height:34px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:7px;padding:4px 14px;font-size:13px}.seg-btn.active[data-v-0ad11d0b]{background:color-mix(in srgb, var(--accent) 22%, transparent)}.custom-row[data-v-0ad11d0b]{color:var(--text-primary);justify-content:space-between;align-items:center;font-size:13px;display:flex}.custom-row input[data-v-0ad11d0b]{background:var(--canvas-bg);border:1px solid var(--ui-border);width:64px;min-height:32px;color:var(--text-primary);border-radius:6px;padding:4px 8px}.primary-btn[data-v-0ad11d0b]{background:var(--accent);min-height:42px;color:var(--accent-contrast);cursor:pointer;border:none;border-radius:8px;font-size:14px;font-weight:600}.panel[data-v-da82739e]{flex-direction:column;gap:12px;display:flex}.back-link[data-v-da82739e]{color:var(--text-muted);cursor:pointer;background:0 0;border:none;align-self:flex-start;align-items:center;gap:4px;padding:0;font-size:12.5px;display:inline-flex}.back-link[data-v-da82739e]:hover{color:var(--text-primary)}.empty[data-v-da82739e],.lead[data-v-da82739e]{color:var(--text-muted);margin:0;font-size:13px;line-height:1.5}.picker[data-v-da82739e]{background:var(--canvas-bg);border:1px solid var(--ui-border);border-radius:10px;width:100%;height:260px}.copy[data-v-da82739e]{fill:color-mix(in srgb, var(--accent) 8%, transparent);stroke:var(--ui-border);stroke-width:.01px;cursor:pointer}.copy[data-v-da82739e]:hover{stroke:var(--accent)}.copy.selected[data-v-da82739e]{fill:color-mix(in srgb, var(--accent) 35%, transparent);stroke:var(--accent)}.copy.main[data-v-da82739e]{fill:color-mix(in srgb, var(--accent) 55%, transparent);stroke:var(--accent);cursor:default}.count[data-v-da82739e]{color:var(--text-muted);margin:0;font-size:12px}.primary-btn[data-v-da82739e]{background:var(--accent);min-height:42px;color:var(--accent-contrast);cursor:pointer;border:none;border-radius:8px;font-size:14px;font-weight:600}.sheet-backdrop[data-v-d21eb718]{z-index:100;background:#080810b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sheet[data-v-d21eb718]{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;width:min(520px,100vw - 32px);max-height:calc(100vh - 64px);padding:20px;overflow-y:auto}header[data-v-d21eb718]{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}h2[data-v-d21eb718]{color:var(--text-primary);margin:0;font-size:18px}.icon-close[data-v-d21eb718]{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.icon-close[data-v-d21eb718]:hover{color:var(--text-primary)}.menu[data-v-d21eb718]{flex-direction:column;gap:8px;display:flex}.mode-btn[data-v-d21eb718]{text-align:left;background:var(--canvas-bg);border:1px solid var(--ui-border);color:var(--text-primary);cursor:pointer;border-radius:10px;align-items:flex-start;gap:12px;padding:12px;display:flex}.mode-btn[data-v-d21eb718]:hover{border-color:var(--accent)}.mode-text[data-v-d21eb718]{flex-direction:column;gap:2px;display:flex}.mode-text strong[data-v-d21eb718]{font-size:14px}.mode-text span[data-v-d21eb718]{color:var(--text-muted);font-size:12px}.sheet-backdrop[data-v-cd0a6853]{z-index:100;background:#080810b3;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.sheet[data-v-cd0a6853]{background:var(--ui-surface);border:1px solid var(--ui-border);border-radius:12px;width:min(440px,100vw - 32px);max-height:calc(100vh - 64px);padding:20px;overflow-y:auto}header[data-v-cd0a6853]{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}h2[data-v-cd0a6853]{color:var(--text-primary);margin:0;font-size:18px}.icon-close[data-v-cd0a6853]{width:30px;height:30px;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;display:flex}.icon-close[data-v-cd0a6853]:hover{color:var(--text-primary)}.lead[data-v-cd0a6853]{color:var(--text-muted);margin:0 0 14px;font-size:13px;line-height:1.5}.hidden-input[data-v-cd0a6853]{display:none}.primary-btn[data-v-cd0a6853]{background:var(--accent);width:100%;min-height:42px;color:var(--accent-contrast);cursor:pointer;border:none;border-radius:8px;justify-content:center;align-items:center;gap:6px;margin-top:10px;font-size:14px;font-weight:600;display:flex}.primary-btn[data-v-cd0a6853]:disabled{opacity:.6}.seg[data-v-cd0a6853]{background:color-mix(in srgb, var(--ui-border) 35%, transparent);border:1px solid var(--ui-border);border-radius:9px;gap:2px;padding:2px;display:flex}.seg-btn[data-v-cd0a6853]{min-height:34px;color:var(--text-primary);cursor:pointer;background:0 0;border:none;border-radius:7px;flex:1;padding:4px 14px;font-size:13px}.seg-btn.active[data-v-cd0a6853]{background:color-mix(in srgb, var(--accent) 22%, transparent)}.custom-row[data-v-cd0a6853]{color:var(--text-primary);justify-content:space-between;align-items:center;margin-top:10px;font-size:13px;display:flex}.custom-row input[data-v-cd0a6853]{background:var(--canvas-bg);border:1px solid var(--ui-border);width:64px;min-height:32px;color:var(--text-primary);border-radius:6px;padding:4px 8px}.error[data-v-cd0a6853]{color:var(--danger);margin:10px 0 0;font-size:13px}.warn-msg[data-v-cd0a6853]{color:#d9a441;margin:0 0 12px;font-size:13px;line-height:1.45}.result-block[data-v-cd0a6853]{margin-bottom:14px}.result-block h3[data-v-cd0a6853]{color:var(--text-primary);align-items:center;gap:6px;margin:0 0 6px;font-size:13px;display:flex}.result-block.warn h3[data-v-cd0a6853]{color:#d9a441}.result-block ul[data-v-cd0a6853]{color:var(--text-muted);margin:0;padding-left:20px;font-size:12.5px}.note[data-v-cd0a6853]{color:var(--text-muted);margin:0 0 12px;font-size:12.5px}.app-shell[data-v-20fd155d]{height:100%;padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);padding-left:var(--safe-left);padding-right:var(--safe-right);background:var(--ui-surface);flex-direction:column;display:flex}.app-body[data-v-20fd155d]{flex:1;grid-template:"left canvas right"minmax(0,1fr)/260px 1fr 190px;min-height:0;display:grid}.left-panel[data-v-20fd155d]{background:var(--ui-surface);border-right:1px solid var(--ui-border);grid-area:left;min-height:0;overflow-y:auto}.canvas-area[data-v-20fd155d]{grid-area:canvas;min-width:0;min-height:0}.right-panel[data-v-20fd155d]{background:var(--ui-surface);border-left:1px solid var(--ui-border);grid-area:right;min-height:0;overflow-y:auto}.panel-toggle[data-v-20fd155d]{width:100%;min-height:34px;font-family:var(--font-mono);letter-spacing:.1em;text-transform:uppercase;color:var(--text-muted);cursor:pointer;background:0 0;border:none;justify-content:space-between;align-items:center;padding:4px 14px;font-size:11px;display:none}@media (orientation:portrait) and (width>=768px){.app-body[data-v-20fd155d]{grid-template:"canvas canvas"minmax(0,1fr)"left right"/1fr 1fr}.left-panel[data-v-20fd155d]{border-right:1px solid var(--ui-border);border-top:1px solid var(--ui-border);max-height:32vh}.right-panel[data-v-20fd155d]{border-left:none;border-top:1px solid var(--ui-border);max-height:32vh}}@media (width<=767px){.app-body[data-v-20fd155d]{grid-template:"canvas"minmax(0,1fr)"right""left"/1fr}.panel-toggle[data-v-20fd155d]{display:flex}.left-panel[data-v-20fd155d],.right-panel[data-v-20fd155d]{border-left:none;border-right:none;border-top:1px solid var(--ui-border)}.left-panel .panel-content[data-v-20fd155d],.right-panel .panel-content[data-v-20fd155d]{display:none}.left-panel.open .panel-content[data-v-20fd155d],.right-panel.open .panel-content[data-v-20fd155d]{max-height:38vh;display:block;overflow-y:auto}}:root,:root[data-theme=dark]{--canvas-bg:#14121b;--tile-fill-active:#1c1925;--tile-fill-ghost:#5f507812;--tile-border-active:#7a80c2;--tile-border-ghost:#393146;--ui-surface:#221d30;--ui-border:#383454;--accent:#8f8bd6;--accent-contrast:#14121b;--text-primary:#ece7db;--text-muted:#998fab;--danger:#c47a7a}:root[data-theme=light]{--canvas-bg:#f6efdf;--tile-fill-active:#fdfaf1;--tile-fill-ghost:#967d460d;--tile-border-active:#4c4170;--tile-border-ghost:#d9cdaf;--ui-surface:#faf4e6;--ui-border:#e2d7bc;--accent:#564878;--accent-contrast:#fdfaf1;--text-primary:#3e342c;--text-muted:#837660;--danger:#a05050}:root{--font-mono:"JetBrains Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-ui:-apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--safe-top:max(env(safe-area-inset-top,0px), var(--android-safe-top,0px));--safe-bottom:max(env(safe-area-inset-bottom,0px), var(--android-safe-bottom,0px));--safe-left:max(env(safe-area-inset-left,0px), var(--android-safe-left,0px));--safe-right:max(env(safe-area-inset-right,0px), var(--android-safe-right,0px))}*{box-sizing:border-box}html,body{overscroll-behavior:none;background:var(--canvas-bg);height:100%;color:var(--text-primary);font-family:var(--font-ui);margin:0;padding:0}#app{height:100%}
